JP5708303B2 - Image processing apparatus, image processing method, and image processing program - Google Patents
Image processing apparatus, image processing method, and image processing program Download PDFInfo
- Publication number
- JP5708303B2 JP5708303B2 JP2011144559A JP2011144559A JP5708303B2 JP 5708303 B2 JP5708303 B2 JP 5708303B2 JP 2011144559 A JP2011144559 A JP 2011144559A JP 2011144559 A JP2011144559 A JP 2011144559A JP 5708303 B2 JP5708303 B2 JP 5708303B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- filter
- elements
- calculation
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
本発明は、画像処理装置等に関する。 The present invention relates to an image processing apparatus and the like.
カーナビゲーションシステムなど、モニタを持つ車載装置は、モニタに画像を描画するための描画プロセッサを備える。描画プロセッサは、複数の描画サブプロセッサを構成に含む。描画プロセッサは、描画サブプロセッサに順次処理を割り当て、画像データの全画素を処理する。 A vehicle-mounted device having a monitor, such as a car navigation system, includes a drawing processor for drawing an image on the monitor. The drawing processor includes a plurality of drawing sub-processors. The drawing processor sequentially assigns processing to the drawing sub-processor and processes all pixels of the image data.
描画サブプロセッサは、割り当てられた1つの出力画素値を決定するための演算を行い、演算が終わった後に解放される。描画サブプロセッサは、画素値を構成する各要素を1つのベクトルとして演算を行う。例えば、各要素には、R(Red)、G(Green)、B(Blue)、A(Alpha)の各要素が含まれる。 The drawing sub-processor performs an operation for determining one assigned output pixel value, and is released after the operation is completed. The drawing subprocessor performs an operation using each element constituting the pixel value as one vector. For example, each element includes R (Red), G (Green), B (Blue), and A (Alpha) elements.
また、車載装置には、上記の処理に加えて、画像解析を実行することで、運転者の支援を行うものがある。この画像解析には、画像データに対する平滑化やエッジ検出などのフィルタ処理が含まれる。 Some in-vehicle devices provide driver assistance by performing image analysis in addition to the above processing. This image analysis includes filter processing such as smoothing and edge detection for the image data.
フィルタ処理は、リアルタイムでの処理を実現するために、高速で行うことが望ましい。このため、並列処理が可能な描画プロセッサを利用して、フィルタ処理を行う技術がある。この技術では、カメラ映像を1要素の画像データに変換し、解析を行う。例えば、1要素の画像データは、輝度値からなるグレースケール画像に対応する。 The filter processing is desirably performed at high speed in order to realize real-time processing. For this reason, there is a technique for performing filter processing using a drawing processor capable of parallel processing. In this technique, camera video is converted into one-element image data and analyzed. For example, one element of image data corresponds to a grayscale image composed of luminance values.
ここで、複数の要素に対してベクトル演算を行う描画サブプロセッサが、1要素の画像データに対してそのまま処理を行うと、効率よく演算を行うことができない。このため、従来技術では、1要素の画像データを、描画サブプロセッサ内で並列処理可能なn要素の数だけ分割し、n分割した画像データに対して各描画サブプロセッサが並列的にフィルタ処理を実行する。例えば、nは2以上の自然数である。 Here, if a drawing sub-processor that performs a vector operation on a plurality of elements directly performs processing on image data of one element, the calculation cannot be performed efficiently. For this reason, in the prior art, one element of image data is divided by the number of n elements that can be processed in parallel within the drawing sub-processor, and each drawing sub-processor performs parallel filtering on the n-divided image data. Run. For example, n is a natural number of 2 or more.
しかしながら、上述した従来技術では、画像データに対するフィルタ処理を高速化することができないという問題があった。 However, the above-described conventional technique has a problem that the filter processing for image data cannot be accelerated.
従来技術のように、1要素の画像データを分割してフィルタ処理を行う場合には、画像データを分割する処理、各画像データに対するフィルタ処理、分割した画像データを結合する処理を行うことになる。このため、画像データを分割することなく、画像データに対してフィルタ処理を行った方が、分割する処理や結合する処理を行わなくてよいので、速度面で有利な場合がある。 When the filter processing is performed by dividing one element of image data as in the prior art, the processing for dividing the image data, the filtering processing for each image data, and the processing for combining the divided image data are performed. . For this reason, it is advantageous in terms of speed to perform the filtering process on the image data without dividing the image data because the dividing process and the combining process do not have to be performed.
なお、上記問題は、車載装置に限られるものではなく、画像データに対してフィルタ処理を実行する画像処理装置においても同様に生ずる問題である。 Note that the above problem is not limited to the in-vehicle device, and similarly occurs in an image processing device that performs filter processing on image data.
開示の技術は、上記に鑑みてなされたものであって、画像データに対するフィルタ処理を高速化することができる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。 The disclosed technique has been made in view of the above, and an object thereof is to provide an image processing apparatus, an image processing method, and an image processing program capable of speeding up a filtering process on image data.
開示の画像処理装置は、評価部とフィルタ処理部を有する。評価部は、複数の要素よりも少ない要素を含む画像データのサイズとフィルタサイズに基づいて、各種の分割方法の計算量とを評価する。フィルタ処理部は、評価部の評価結果を基にして、フィルタ処理を実行する。 The disclosed image processing apparatus includes an evaluation unit and a filter processing unit. The evaluation unit evaluates the calculation amount of various division methods based on the size of the image data including fewer elements than the plurality of elements and the filter size. The filter processing unit executes filter processing based on the evaluation result of the evaluation unit.
開示の画像処理装置によれば、画像データに対するフィルタ処理を高速化することができるという効果を奏する。 According to the disclosed image processing apparatus, it is possible to increase the speed of the filtering process on the image data.
以下に、本願の開示する画像処理装置、画像処理方法および画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。 Embodiments of an image processing apparatus, an image processing method, and an image processing program disclosed in the present application will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
本実施例にかかる画像処理装置の説明を行う前に、この画像処理装置が利用する描画プロセッサによる画像処理について説明する。図1Aおよび図1Bは、描画プロセッサの画像処理を説明するための図である。図1Aに示すように、描画プロセッサ10aは、ベクトル演算を行う描画サブプロセッサ1b〜9bを有する。
Before describing the image processing apparatus according to the present embodiment, image processing by a drawing processor used by the image processing apparatus will be described. 1A and 1B are diagrams for explaining image processing of a drawing processor. As illustrated in FIG. 1A, the
描画プロセッサ10aは、各描画サブプロセッサ1b〜9bに順次処理を割り当て、出力画像10cの全画素値を決定する。描画サブプロセッサ1b〜9bは、割り当てられた1つの座標に対する画素値を決定するための演算を行い、終了後に解放される。
The
例えば、図1Bの座標1d=(x1、y1)には、描画サブプロセッサ1bが割り当てられている。また、座標2d=(x2、y2)には、描画サブプロセッサ2bが割り当てられている。座標3d=(x3、y3)には、描画サブプロセッサ3bが割り当てられている。各描画サブプロセッサは、複数の要素に対して同様のベクトル演算を行うことが可能である。各描画サブプロセッサのベクトル演算は、独立して実行される。
For example, the
図1Bにおいて、出力画像10cは、1c〜4cの4要素から成り立っており、画素の各要素に対して1つのベクトル演算命令で処理を行う。例えば、描画サブプロセッサ1bが、入力画像データの座標1dの画素値を2倍にした出力画像データを生成する場合には、1c〜4cの共通の座標1dにおいて、画素値を2倍にする。
In FIG. 1B, the
次に、要素の数について説明する。例えば、1要素から成り立つ画像データは、輝度値で表現される画像である。また、色を持つRGB画像データは、R、G、Bの3要素をもつ。また、色を持つ画像データは、R、G、B、Aの4要素を持つ場合もある。この「A」は、他の画像データとの重ね合わせを考慮したアルファ要素である。 Next, the number of elements will be described. For example, image data composed of one element is an image expressed by a luminance value. Also, RGB image data having a color has three elements of R, G, and B. In addition, image data having a color may have four elements of R, G, B, and A. This “A” is an alpha element in consideration of superposition with other image data.
次に、画像処理装置が行うフィルタ処理の一例について説明する。フィルタ処理は、注目画素および注目画素周辺の画素値を入力とし、フィルタ係数と呼ばれる配列を対応させて積算し、累積値を算出することで、フィルタ処理後の注目画素の画素値を算出する。 Next, an example of filter processing performed by the image processing apparatus will be described. In the filter processing, the pixel value of the target pixel after the filter processing is calculated by inputting the pixel value around the target pixel and the target pixel, accumulating correspondingly called arrays called filter coefficients, and calculating an accumulated value.
図2は、フィルタ処理の一例を示す図である。図2の20aは、フィルタ処理の対象となる画像データである。画像データ20aは、座標(x1、y1)〜(x3、y3)に対応する9つの画素を有する。各座標の画素に含まれる数字は、画素値に対応する。例えば、座標(x1、y1)の画像の画素値は「10」である。図2の20bは、フィルタのデータ構造の一例である。
FIG. 2 is a diagram illustrating an example of filter processing.
ここでは、一例として、画像データ20aにフィルタ20bを適用して、画像データ20aの座標(x2、y2)の画素値を求める場合について説明する。座標(x2、y2)の画素値は、下記の式(1)により求められ、フィルタ処理後の画素値は「50」となる。他の座標の画素についても同様に、フィルタ20bを適用する。このように、座標(x1、y1)〜(x3、y3)に対してフィルタ20bを適用することで、画像データ20aのフィルタ処理が行われる。
Here, as an example, a case where the pixel value of the coordinates (x2, y2) of the
座標(x2、y2)の画素値=10×1/9+20×1/9+30×1/9+40×1/9+90×1/9+60×1/9+70×1/9+80×1/9+50×1/9・・・(1) Pixel value of coordinates (x2, y2) = 10 × 1/9 + 20 × 1/9 + 30 × 1/9 + 40 × 1/9 + 90 × 1/9 + 60 × 1/9 + 70 × 1/9 + 80 × 1/9 + 50 × 1/9. (1)
図2に示したフィルタのように、周辺画素の画素値を含んだ平均値を算出するものを平滑化フィルタと呼ばれる場合がある。この平滑化フィルタは、画像に含まれるノイズを除去する場合などに用いられる。 A filter that calculates an average value including pixel values of surrounding pixels, such as the filter shown in FIG. 2, may be called a smoothing filter. This smoothing filter is used when noise included in an image is removed.
フィルタには目的に応じて様々なサイズのものが存在する。本実施例では、縦、横の矩形からなるフィルタのサイズを(fw、fh)で表す。なお、fw、fhの値は、中心画素から片端までの画素数から、1画素引いた値で表現する。図3、図4は、フィルタのサイズを補足説明するための図である。例えば、図3に示すフィルタ21aのサイズ(fw1、fh1)は(2、2)となる。図4に示すフィルタ21bのサイズ(fw2、fh2)は(3、1)となる。
There are filters of various sizes depending on the purpose. In this embodiment, the size of a filter composed of vertical and horizontal rectangles is represented by (f w , f h ). Note that the values of f w and f h are expressed by a value obtained by subtracting one pixel from the number of pixels from the central pixel to one end. 3 and 4 are diagrams for supplementarily explaining the size of the filter. For example, the size (f w1 , f h1 ) of the
次に、本実施例にかかる画像処理装置の構成について説明する。図5は、本実施例にかかる画像処理装置の構成を示す機能ブロック図である。図5に示すように、この画像処理装置100は、入力部110、出力部120、記憶部130、制御部140を有する。
Next, the configuration of the image processing apparatus according to the present embodiment will be described. FIG. 5 is a functional block diagram of the configuration of the image processing apparatus according to the present embodiment. As illustrated in FIG. 5, the
入力部110は、画像データまたはパラメータを入力する入力装置である。ここで、画像データは、フィルタ処理の適用対象となる画像データである。画像データは、1要素の画像データとする。例えば、画像データは、輝度値で表されるグレースケール画像に対応する。なお、本実施例では一例として、1要素の画像データとするが、これに限定されるものではなく、ベクトル演算数の数よりも少ない要素数の画像データでもよい。
The
パラメータは、各種の方法によってフィルタ処理を実行する場合の計算量を算出する場合に利用するデータである。例えば、このパラメータは、フィルタ処理結果として出力する画像データのサイズ、フィルタのサイズ、描画プロセッサのレジスタに画素値を入出力する時間、フィルタ処理に要する時間を含む。パラメータの詳細は後述する。 The parameter is data used when calculating the amount of calculation when the filtering process is executed by various methods. For example, this parameter includes the size of image data to be output as a filter processing result, the size of the filter, the time for inputting and outputting pixel values to the register of the rendering processor, and the time required for the filter processing. Details of the parameters will be described later.
出力部120は、制御部140によりフィルタ処理が行われた画像データを出力する出力装置である。
The output unit 120 is an output device that outputs image data that has been filtered by the
記憶部130は、画像データ131、パラメータ132、分割画像データ133、フィルタデータ134、合成画像データ135を格納する。記憶部130は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
The
画像データ131は、入力部110から入力される画像データに対応する。パラメータ132は、入力部110から入力されるパラメータに対応する。
The
分割画像データ133は、制御部140によって分割された画像データに対応する。フィルタデータ134は、画像データに対してフィルタ処理を実行した結果となる画像データである。合成画像データ135は、分割画像データ133を合成した画像データである。
The divided
制御部140は、画像データ受付部141、パラメータ受付部142、評価部143、フィルタ処理部144を有する。制御部140は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部140は、例えば、CPUやMPU(Micro Processing Unit)等の電子回路に対応する。また、制御部140は、ベクトル演算を実行するプロセッサを備える。
The
画像データ受付部141は、入力部110から画像データを取得し、取得した画像データを記憶部130に記憶させる。パラメータ受付部142は、入力部110からパラメータを取得し、取得したパラメータを記憶部130に記憶させる。
The image
評価部143は、パラメータ132に基づいて、フィルタ処理を実行した場合の計算量を、各種の分割法毎に評価する処理部である。評価部143は、評価結果をフィルタ処理部144に出力する。評価部143の処理の詳細は後述する。
The
フィルタ処理部144は、評価部143の評価結果に基づいて、フィルタ処理に要する計算量が最も少ない分割法によって、画像データ131を分割し、フィルタ処理を実行する処理部である。フィルタ処理部144は、処理結果を出力部120に出力する。フィルタ処理部144の処理の詳細は後述する。
The
次に、フィルタ処理部144が、画像データ131を分割する場合の分割法について説明する。例えば、画像処理装置100が利用する描画プロセッサが4要素のベクトル演算を実行可能な場合には、画像データ131を4分割することで、効率的にベクトル演算を実行することができる。
Next, a division method when the
画像データを4分割する方法は1通りではなく、図6、図7、図8に示すような3通りの方法がある。図6、図7、図8は、分割法の一例を示す図である。ここでは、各分割法を区別するために、図6に示す22aの分割法を4×1分割とし、図7に示す22bの分割法を1×4分割とし、図8に示す22cの分割法を2×2分割とする。 The method of dividing the image data into four is not one, but there are three methods as shown in FIGS. 6, 7 and 8 are diagrams illustrating an example of the division method. Here, in order to distinguish each division method, the division method of 22a shown in FIG. 6 is 4 × 1 division, the division method of 22b shown in FIG. 7 is 1 × 4 division, and the division method of 22c shown in FIG. Is divided into 2 × 2.
また、本実施例では、画像データを分割しない方法も、分割法の一つとする。このように、画像データを分割しない方法を非分割とする。このため、本実施例の分割法には、4×1分割、1×4分割、2×2分割、非分割の4種類の分割法が存在する。 In this embodiment, a method of not dividing image data is one of the division methods. In this way, the method of not dividing the image data is set as non-division. For this reason, there are four types of division methods of the present embodiment: 4 × 1 division, 1 × 4 division, 2 × 2 division, and non-division.
各分割法によって、フィルタ処理を実行する場合の計算量が異なる。以下において、計算量が異なる理由を説明する。汎用的な2次元フィルタ処理においては、画像データの端部分の画素以外に対して、フィルタを適用する。画像データの端部分の画素にフィルタを適用しようとすると、フィルタの一部が画像データからはみ出てしまうためである。 Depending on each division method, the amount of calculation when performing the filter processing is different. The reason why the calculation amount is different will be described below. In general-purpose two-dimensional filter processing, a filter is applied to pixels other than the end pixel of the image data. This is because if a filter is applied to the pixels at the edge of the image data, part of the filter protrudes from the image data.
図9は、フィルタの適用範囲を説明する図である。図9の画像データ30aは、分割前の画像データである。例えば、画像データ30aが2×2分割されると、分割画像データ31a〜34aとなる。
FIG. 9 is a diagram for explaining the application range of the filter. The
上記のように、フィルタ処理の適用可能範囲は、画像データの端部分の画素以外となる。例えば、フィルタ30cを、図6に示すものとすると、座標30bより上の画素に対して、フィルタを適用することができない。座標30bよりも上の画素に対して、フィルタを適用しようとすると、フィルタ30cが、画像データ30aからはみ出てしまう。このため、画像データ30aにおいて、フィルタ処理が可能な範囲は、網掛け部分で囲まれた内部となる。
As described above, the applicable range of the filter processing is other than the pixels at the end portion of the image data. For example, if the
そして、画像データ30aをそのまま分割すると、フィルタ処理が可能な範囲は更に狭くなってしまう。このため、分割境界付近の画素値にフィルタが適用できるように、重複領域を設けることが好ましい。この重複領域は、分割画像データの境界部分の画素からフィルタサイズの半分だけはみ出た領域の画像に対応する。
Then, if the
図9において、分割画像データ31aは、重複領域31dを有する。この重複領域31dは、分割画像データ31aの境界部分にフィルタのサイズを含めた領域に対応する。例えば、重複領域31dは、分割画像データ31aに隣接する分割画像データ32a、33aの境界付近のデータである。このように、分割画像データ31aに重複領域31dを持たせることで、境界部分の座標30eの画素値に、フィルタ30fを適用することができるようになる。
In FIG. 9, the divided
同様にして、分割画像データ32aは、重複領域32dを有する。分割画像データ33aは、重複領域33dを有する。分割画像データ34aは、重複領域34dを有する。このように、重複領域32d〜34dを持たせることで、画像データ30aを分割しても、
フィルタ処理の適用範囲は狭くならない。
Similarly, the divided
The scope of filter processing is not narrowed.
このため、1要素の画像データを分割してベクトル演算を行う場合には、画像を分割する処理、フィルタ処理、画像を合成する処理を順次実行することになる。また、画像を分割する処理には、重複領域を考慮して、画像データを分割する。これに対して、画像データを分割することなく、そのままフィルタ処理を行うと、画像を分割する処理、画像を合成する処理を実行しなくてよい。 For this reason, when dividing one element of image data and performing a vector operation, an image dividing process, a filter process, and an image synthesizing process are sequentially executed. In the process of dividing the image, the image data is divided in consideration of the overlapping area. On the other hand, if the filter processing is performed as it is without dividing the image data, the processing for dividing the image and the processing for synthesizing the image need not be executed.
次に、評価部143の処理を詳細に説明する。評価部143は、式(2)の評価関数を利用して、各分割法によるフィルタ処理の計算量Tを算出する。式(2)において、「D」は、画像データから分割画像データを作成する計算量である。「F」は、フィルタ処理の計算量である。「C」は、フィルタ処理後に分割画像データを合成する処理の計算量である。各計算量は、処理時間に相当するものである。
Next, the process of the
T=D+F+C・・・(2) T = D + F + C (2)
評価関数の詳細について説明する前に、計算量Tを算出するためのパラメータ132について説明する。図10は、パラメータのデータ構造の一例を示す図である。図10に示すように、パラメータ132は、sw、sh、fw、fh、pi、po、f1、f2を有する。このうち、「sw」は、フィルタ処理として出力する画像の横サイズに対応する。「sh」は、フィルタ処理として出力する画像の縦サイズに対応する。
Before describing the details of the evaluation function, the
「fw」は、フィルタの横サイズである。「fh」は、フィルタの縦サイズである。ただし、既に説明したように、fw、fhの値は、中心画素から片端までの画素数から、1画素引いた値で表現する。 “F w ” is the horizontal size of the filter. “F h ” is the vertical size of the filter. However, as already described, the values of f w and f h are expressed by a value obtained by subtracting one pixel from the number of pixels from the central pixel to one end.
「pi」は、画素値を描画プロセッサのレジスタに転送する時間である。「po」は、描画プロセッサのレジスタから画素値を出力のため転送する時間である。なお、4要素のベクトル演算が可能な描画プロセッサの場合、同一座標に対する入出力の転送においては、1要素のみの転送と4要素の転送は、同一時間の、pi、poで処理可能である。 “P i ” is the time for transferring the pixel value to the register of the drawing processor. “P o ” is the time for transferring the pixel value from the register of the drawing processor for output. In the case of a drawing processor capable of four-element vector calculation, in the input / output transfer with respect to the same coordinates, the transfer of only one element and the transfer of four elements can be processed with p i and p o at the same time. is there.
「f1」は、フィルタサイズに依存するフィルタ処理の時間である。「f2」は、フィルタサイズに依存しないフィルタ処理の時間である。 “F 1 ” is a filter processing time depending on the filter size. “F 2 ” is a filter processing time independent of the filter size.
なお、パラメータ受付部142は、パラメータ「sw、sh、fw、fh、pi、po、f1、f2」の値を、如何なる方法で取得してもよい。例えば、パラメータ受付部142は「sw、sh」の値を、フィルタ処理を必要とするアプリケーションの画像サイズから取得する。パラメータ受付部142は「fw、fh」の値を、目標のフィルタ処理のフィルタサイズから取得する。
The
パラメータ受付部142は「pi、po」の値を、描画プロセッサの仕様、および簡易なベンチマークを実行することで取得する。例えば、パラメータ受付部142は「pi、po」の値を、描画プロセッサの単位画素を取得するサイクル数とする。
The
パラメータ受付部142は「f1、f2」の値を、目的のフィルタ処理の一部を要素毎にベンチマークを実施し、コードの静的解析などを実行することで取得する。なお、パラメータの「pi、po、f1、f2」に関しては、時間単位が同じであればよく、サイクル数以外の尺度を用いてもよい。また、パラメータの各値は、管理者が事前に調査したものを利用してもよい。
The
続いて、式(2)について、「非分割の場合」と、「4×1分割、1×4分割、2×2分割の場合」とに分けて説明する。 Subsequently, the expression (2) will be described separately for “in the case of non-division” and “in the case of 4 × 1 division, 1 × 4 division, and 2 × 2 division”.
まず、非分割の場合には、分割画像データを生成せず、分割画像を合成する処理も実行しないので、式(2)の「D」および「C」の計算量は「0」となる。なお、式(2)の「F」は、式(3)によって表される。 First, in the case of non-division, the divided image data is not generated, and the process of combining the divided images is not executed. Note that “F” in Expression (2) is expressed by Expression (3).
これに対して、「4×1分割、1×4分割、2×2分割の場合」の何れかの場合には、式(2)の「D」、「F」、「C」は、それぞれ、式(4)、(5)、(6)によって表される。式(4)、(5)、(6)において、dwおよびdhは、画像分割時における横分割数並びに縦分割数である。例えば、4×1分割の場合には、dwの値は4となり、dhの値は1となる。dwおよびdhの値は、描画プロセッサのベクトル演算の要素数から事前に設定された値の組み合わせを利用してもよい。 On the other hand, in the case of “4 × 1 division, 1 × 4 division, 2 × 2 division”, “D”, “F”, and “C” in Expression (2) are respectively , (4), (5), and (6). In Expressions (4), (5), and (6), d w and d h are the number of horizontal divisions and the number of vertical divisions at the time of image division. For example, in the case of 4 × 1 division, the value of d w is 4 and the value of d h is 1. As the values of d w and d h , a combination of values set in advance from the number of elements of vector operations of the drawing processor may be used.
図11A〜11Dは、評価関数を補足説明するための図である。図11A〜11Dに含まれるsw、sh、fw、fhに関する説明は、図10で説明したものと同様である。なお、図11Aに示すように、フィルタ41aのサイズをfw、fhを用いて表すと、フィルタの横幅は「2fw+1」となり、縦幅は「2fh+1」となる。
11A to 11D are diagrams for supplementarily explaining the evaluation function. The description regarding s w , s h , f w , and f h included in FIGS. 11A to 11D is the same as that described with reference to FIG. As shown in FIG. 11A, when the size of the
図11Aに示す画像データ40aを、4×1分割すると、図11Bに示す分割画像データ40bが4個生成される。また、図11Aに示す画像データ40aを、1×4分割すると、図11Cに示す分割画像データ40cが4個生成される。また、図11Aに示す画像データ40aを、2×2分割すると、図11Dに示す分割画像データ40dが4個生成される。
When the
式(4)について補足説明する。画像データ40aが分割されると、分割画像データ40b〜40dの何れかのサイズのものが生成される。ここで、1要素の画像データ中から、dw×dh個の異なる座標の画素値を取得し、dw×dh個の画像値を出力するための時間は「pi×dw×dh+po」で表すことができる。このため、分割時において、画像データから分割画像データを作成する計算量は、上記式(4)で表すことができる。
A supplementary explanation will be given for equation (4). When the
式(3)、(5)について補足説明する。1座標の出力に要する時間と、処理対象となる画像データのサイズとを乗算したものが、フィルタ処理の時間に相当する。1座標の出力に要する時間は、入力を含むフィルタサイズに依存の時間と、フィルタサイズに非依存の時間と、処理結果の出力時間とを加算したものとなる。この1座標の出力に要する時間においては、分割時、非分割時による差異はない。 A supplementary explanation will be given of equations (3) and (5). The product of the time required to output one coordinate and the size of the image data to be processed corresponds to the time for the filter processing. The time required to output one coordinate is the sum of the time dependent on the filter size including the input, the time independent of the filter size, and the output time of the processing result. In the time required for outputting one coordinate, there is no difference between division and non-division.
1座標の出力に要する時間に画面サイズを乗算したものが、フィルタ処理時間に対応する。非分割時の処理画面サイズは「sw×sh」となる。分割時の処理画面サイズは「sw×sh/dw/dh」となる。 Multiplying the time required to output one coordinate by the screen size corresponds to the filter processing time. The processing screen size at the time of non-division is “s w × s h ”. The processing screen size at the time of division is “s w × s h / d w / d h ”.
式(6)について補足説明する。分割画像データを合成する処理は、dw×dh要素の画像から、1要素の画像変換を行うための処理時間を要する。1要素の画像データのある1つの座標に対する出力値を決定するために、dw×dh要素の画像データの1座標をpiで読み込み、時間poで出力する。この処理を、出力後の画像データのサイズsw×shに対して行うことになる。このため、分割画像データを合成する処理の計算量は、式(6)で表される。 A supplementary explanation will be given for equation (6). The process of combining the divided image data requires a processing time for performing image conversion of one element from an image of d w × d h elements. In order to determine the output values for one coordinate with the image data of one element, a coordinate of the image data d w × d h elements read by p i, outputs at time p o. This process will be carried out for the size s w × s h of the image data after output. For this reason, the calculation amount of the process of combining the divided image data is expressed by Expression (6).
評価部143は、上記の式(2)〜(6)およびパラメータ132を基にして、各分割法の計算量を算出する。図12は、分割法毎の計算量を示す図である。図12に示す例では、50a〜50fのパラメータについての、各分割法の計算量を示す。
The
例えば、パラメータ50aの値は「sw=636」、「sh=476」、「fw=2」、「fh=2」、「pi=200」、「po=200」、「f1=20」、「f2=20」となる。パラメータ50bの値は「sw=636」、「sh=480」、「fw=2」、「fh=0」、「pi=200」、「po=200」、「f1=20」、「f2=20」となる。パラメータ50cの値は「sw=640」、「sh=476」、「fw=0」、「fh=2」、「pi=200」、「po=200」、「f1=20」、「f2=20」となる。
For example, the value of the parameter 50a is “s w = 636”, “s h = 476”, “f w = 2”, “f h = 2”, “p i = 200”, “p o = 200”, “ f 1 = 20 ”and“ f 2 = 20 ”. The value of the
パラメータ50dの値は「sw=638」、「sh=480」、「fw=1」、「fh=0」、「pi=50」、「po=400」、「f1=20」、「f2=20」となる。パラメータ50eの値は「sw=638」、「sh=480」、「fw=1」、「fh=0」、「pi=50」、「po=400」、「f1=100」、「f2=50」となる。パラメータ50fの値は「sw=638」、「sh=480」、「fw=1」、「fh=0」、「pi=60」、「po=60」、「f1=20」、「f2=20」となる。
The value of the parameter 50d is “s w = 638”, “s h = 480”, “f w = 1”, “f h = 0”, “p i = 50”, “p o = 400”, “f 1 = 20 "and" f 2 = 20 ". The value of the
また、パラメータ50aによる各分割法の計算量は、4×1分割で「632.3」、1×4分割で「632.7」、2×2分割で「631.9」、非分割で「1731.7」となる。このため、パラメータ50aの場合には、2×2分割の計算量が最小となる。 The calculation amount of each division method using the parameter 50a is “632.3” for 4 × 1 division, “632.7” for 1 × 4 division, “631.9” for 2 × 2 division, and “631.9” for non-division. 1731.7 ". For this reason, in the case of the parameter 50a, the calculation amount of 2 × 2 division is minimized.
パラメータ50bによる各分割法の計算量は、4×1分割で「301.1」、1×4分割で「299.7」、2×2分割で「300.1」、非分割で「403.0」となる。このため、パラメータ50bの場合には、1×4分割の計算量が最小となる。
The calculation amount of each division method based on the
パラメータ50cによる各分割法の計算量は、4×1分割で「299.2」、1×4分割で「301.1」、2×2分割で「299.8」、非分割で「402.1」となる。このため、パラメータ50cの場合には、4×1分割の計算量が最小となる。 The calculation amount of each division method based on the parameter 50c is “299.2” for 4 × 1 division, “301.1” for 1 × 4 division, “299.8” for 2 × 2 division, and “402. 1 ". For this reason, in the case of the parameter 50c, the calculation amount of 4 × 1 division is minimized.
パラメータ50dによる各分割法の計算量は、4×1分割で「232.6」、1×4分割で「232.1」、2×2分割で「232.2」、非分割で「193.9」となる。このため、パラメータ50dの場合には、非分割の計算量が最小となる。 The calculation amount of each division method based on the parameter 50d is “232.6” for 4 × 1 division, “232.1” for 1 × 4 division, “232.2” for 2 × 2 division, and “193. 9 ". For this reason, in the case of the parameter 50d, the undivided calculation amount is minimized.
パラメータ50eによる各分割法の計算量は、4×1分割で「253.2」、1×4分割で「252.8」、2×2分割で「252.9」、非分割で「275.6」となる。このため、パラメータ50eの場合には、1×4分割の計算量が最小となる。
The calculation amount of each division method using the
パラメータ50fによる各分割法の計算量は、4×1分割で「84.5」、1×4分割で「84.3」、2×2分割で「84.4」、非分割で「98.0」となる。このため、パラメータ50fの場合には、1×4分割の計算量が最小となる。 The calculation amount of each division method by the parameter 50f is “84.5” for 4 × 1 division, “84.3” for 1 × 4 division, “84.4” for 2 × 2 division, and “98. 0 ". For this reason, in the case of the parameter 50f, the calculation amount of 1 × 4 division is minimized.
評価部143は、パラメータに基づいて算出した、各分割法の計算量の情報を、フィルタ処理部144に出力する。
The
次に、フィルタ処理部144について詳細に説明する。図13は、フィルタ処理部の構成を示す機能ブロック図である。図13に示すように、このフィルタ処理部144は、分割部144a、フィルタ部144b、合成部144c、出力部144dを有する。
Next, the
分割部144aは、評価部143から評価結果に基づいて、画像データ131を分割する処理部である。分割部144aは、実行した分割法の種別を、フィルタ部144b、合成部144c、出力部144dに通知する。
The
例えば、分割部144aは「非分割」の計算量が最小の場合には、分割を行っていない旨をフィルタ部144bに通知する。分割部144aは「4×1分割」の計算量が最小の場合には、4×1分割を行った旨をフィルタ部144bに通知する。分割部144aは「1×4分割」の計算量が最小の場合には、1×4分割を行った旨をフィルタ部144bに通知する。分割部144aは「2×2分割」の計算量が最小の場合には、2×2分割を行った旨をフィルタ部144bに通知する。
For example, the
分割部144aが、画像データ131を分割する場合の処理について説明する。ここでは、一例として、分割部144aが、図12のパラメータ50aの評価結果を評価部143から取得した場合について説明する。パラメータ50aの評価結果において、計算量が最小となるものは「2×2分割」となる。このため、分割部144aは「2×2分割」を選択し、画像データ131の分割を行う。
Processing when the
図14は、分割部の処理を説明するための図である。図14に示すように、分割部144aは、画像データ131を、分割画像データ131a、131b、131c、131dに分割する。なお、図14に示すように、分割画像データ131a〜131dは、重複領域60a〜60dをそれぞれ含む。画像データ131のswを「636」、shを「476」とすると、重複領域を含む分割画像データ131a〜131dの横サイズwは「322」となり、縦サイズhは「242」となる。これは、wは、swを「636」を半分にした値に、フィルタサイズfw×2の値を加算したものに等しい。hは、「476」を半分にした値に、フィルタサイズfw×2の値を加算したものに等しい。
FIG. 14 is a diagram for explaining the processing of the dividing unit. As shown in FIG. 14, the
図15は、分割画像データの開始座標とオフセットとの関係を示す図である。開始座標と、オフセットとを加算した座標が、分割画像データ131a〜131dの実際の開始座標となる。オフセットは、フィルタサイズfw、fhに応じて設定されるものである。例えば、画像データ131をそのまま分割すると、各分割画像データには、重複画像が含まれないが、オフセットを考慮することで、重複画像を含む分割画像データの開始座標を指定できる。
FIG. 15 is a diagram illustrating the relationship between the start coordinates of the divided image data and the offset. The coordinates obtained by adding the start coordinates and the offset are the actual start coordinates of the divided
分割画像データ131bの実際の開始座標は(318、0)となる。この座標(318、0)は、図14の分割画像データ131bの左上の座標となる。分割画像データ131cの実際の開始座標は(0、238)となる。この座標(0、238)は、図14の分割画像データ131cの左上の座標となる。分割画像データ131dの実際の開始座標は(318、238)となる。この座標(318、238)は、図14の分割画像データ131dの左上の座標となる。
The actual start coordinate of the divided
分割部144aは、分割した画像データ131を、分割画像データ133として、記憶部130に記憶させる。分割画像データ133は、図14の分割画像データ131a〜131dに対応する。
The
フィルタ部144bは、画像データに対して、図2に示したフィルタ処理を実行する処理部である。
The
画像データ131が分割部144aに分割されている場合の、フィルタ部144bの処理について説明する。フィルタ部144bは、分割画像データ133に対してフィルタ処理を行い、フィルタ処理した分割画像データを、フィルタデータ134として記憶部130に記憶させる。図14に示した分割画像データ131a〜131dにフィルタ処理を実行する場合には、322×242の内部318×238がフィルタ処理の出力サイズとなる。
A process of the
画像データ131が分割部144aに分割されていない場合の、フィルタ部144bの処理について説明する。フィルタ部144bは、画像データ131に対してフィルタ処理を行い、フィルタ処理した画像データを、フィルタデータ134として記憶部130に記憶させる。図14に示した画像データ131にフィルタ処理を実行する場合には、640×480の内部636×476がフィルタ処理の出力サイズとなる。
A process of the
合成部144cは、分割された画像データを合成する処理部である。なお、合成部144cは、分割部144aが画像データ131を分割した場合に、処理を実行するものとする。合成部144cは、フィルタ処理された各分割画像データを、フィルタデータ134から取得し、各分割画像データを合成したものを、合成画像データ135として、記憶部130に記憶させる。
The combining
例えば、合成部144cは、フィルタ処理後の分割画像データ131a〜131dについて、図15に示した開始座標+オフセットを合成先の開始座標として指定し、各要素の有効領域を318×238とする。このような処理を合成部144cが実行することで、各分割画像データは、元のサイズ636×476の画像データとなる。
For example, for the divided
出力部144dは、フィルタ処理後の画像データを出力する処理部である。画像データ131が分割部144aに分割されていない場合には、出力部144dは、フィルタデータ134を出力する。これに対して、画像データ131が分割部144aに分割されている場合には、合成画像データ135を出力する。
The
次に、本実施例にかかる画像処理装置100の処理手順について説明する。図16は、本実施例にかかる画像処理装置の処理手順を示すフローチャートである。例えば、図16に示す処理は、フィルタ処理対象となる画像データを取得したことを契機にして実行される。
Next, a processing procedure of the
図16に示すように、画像処理装置100は、画像データを取得し(ステップS101)、各分割法の計算量を評価する(ステップS102)。画像処理装置100は、画像データを分割するか否かを判定する(ステップS103)。
As shown in FIG. 16, the
画像処理装置100は、画像データを分割しない場合には(ステップS103,No)、ステップS105に移行する。一方、画像処理装置100は、画像データを分割する場合には(ステップS103,Yes)、画像データを分割する(ステップS104)。
When the
画像処理装置100は、フィルタ処理を実行し(ステップS105)、画像データを分割したか否かを判定する(ステップS106)。画像処理装置100は、画像データを分割していない場合には(ステップS106,No)、ステップS108に移行する。画像処理装置100は、画像データを分割した場合には(ステップS106,Yes)、画像データを合成し(ステップS107)、フィルタ処理を行った画像データを出力する(ステップS108)。
The
次に、本実施例にかかる画像処理装置100の効果について説明する。画像処理装置100は、評価部143が画像を分割してフィルタ処理する処理の計算量と、画像を分割しないでフィルタ処理する場合の計算量を評価し、フィルタ処理部144が計算量の少ない分割法によるフィルタ処理を実行する。このため、画像処理装置100によれば、ベクトル演算可能なプロセッサが実行するフィルタ処理を高速化することができる。
Next, effects of the
また、画像処理装置100は、分割する画像データにフィルタサイズに応じた重複領域を付与する処理を含めて、分割した各画像データに対してフィルタ処理を並列に実行した場合の計算量を評価する。このため、画像処理装置100によれば、各分割法の計算量をより正確に評価することができる。
In addition, the
また、画像処理装置100は、画像データを分割する場合に、ベクトル演算数に応じて、分割する画像データの数を特定する。このため、画像処理装置100によれば、ベクトル演算による演算リソースを無駄なく利用することができる。
Further, when dividing the image data, the
また、画像処理装置100は、画像データのサイズ、プロセッサに対する画素値の入出力時間、フィルタ処理に要する時間、画像データの分割数を基にして、各分割法の計算量を算出する。このため、画像処理装置100によれば、各分割法の計算量を正確に評価することができる。
Further, the
次に、図5に示した画像処理装置100と同様の機能を実現する画像処理プログラムを実行するコンピュータの一例を説明する。図17は、画像処理プログラムを実行するコンピュータの一例を示す図である。
Next, an example of a computer that executes an image processing program that realizes the same function as that of the
図17に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203を有する。また、コンピュータ200は、記憶媒体からプログラム等を読取る読み取り装置204と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207を有する。そして、各装置201〜207は、バス208に接続される。
As illustrated in FIG. 17, the
ハードディスク装置207は、評価プログラム207a、フィルタ処理プログラム207bを記憶する。CPU201は、評価プログラム207a、フィルタ処理プログラム207bを読み出して、RAM206に展開する。評価プログラム207aは、評価プロセス206aとして機能する。フィルタ処理プログラム207bは、フィルタ処理プロセス206bとして機能する。
The hard disk device 207 stores an
例えば、評価プロセス206aは、図5の評価部143に対応する。フィルタ処理プロセス206bは、図5のフィルタ処理部144に対応する。
For example, the
なお、各プログラム207a,207bについては、必ずしも最初からハードディスク装置207に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200がこれらから各プログラム207a,207bを読み出して実行するようにしてもよい。
Note that the
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following supplementary notes are further disclosed with respect to the embodiments including the above examples.
(付記1)複数の要素を含む画像データに対してベクトル演算を実行するプロセッサが、該複数の要素よりも少ない要素を含む画像データに対してフィルタ処理を実行する場合に、
前記複数の要素よりも少ない要素を含む画像データのサイズと前記フィルタ処理にて適用されるフィルタサイズとに基づいて、該画像データを分割した各分割画像データに対してフィルタ処理を並列に実行した場合の計算量を複数の分割方法の各々に対して算出するとともに、各々算出した計算量と、該画像データを分割せずにフィルタ処理を実行する場合の計算量とを評価する評価部と、
前記評価部の評価結果を基にして、前記フィルタ処理を実行するフィルタ処理部と
を有することを特徴とする画像処理装置。
(Supplementary Note 1) When a processor that performs vector operation on image data including a plurality of elements executes filter processing on image data including fewer elements than the plurality of elements,
Based on the size of the image data including the elements smaller than the plurality of elements and the filter size applied in the filtering process, the filtering process is executed in parallel on each divided image data obtained by dividing the image data. An amount of calculation for each of the plurality of division methods, and an evaluation unit for evaluating the calculated amount of calculation and the amount of calculation in the case of executing the filter processing without dividing the image data,
An image processing apparatus comprising: a filter processing unit that executes the filter processing based on an evaluation result of the evaluation unit.
(付記2)前記評価部は、前記複数の要素よりも少ない要素を含む画像データに前記フィルタサイズに応じた重複領域を付与する処理を含めて、分割した各画像データに対して該フィルタ処理を並列に実行した場合の計算量を評価することを特徴とする付記1に記載の画像処理装置。
(Additional remark 2) The said evaluation part performs this filter process with respect to each divided | segmented image data including the process which provides the duplication area | region according to the said filter size to the image data containing an element smaller than the said some element. The image processing apparatus according to
(付記3)前記フィルタ処理部は、前記複数の要素よりも少ない要素を含む画像データを分割する場合に、前記ベクトル演算数に応じて、該画像データの分割数を特定することを特徴とする付記1または2に記載の画像処理装置。
(Additional remark 3) When the said filter process part divides | segments the image data containing an element smaller than the said several element, it specifies the division | segmentation number of this image data according to the said vector operation number, It is characterized by the above-mentioned. The image processing apparatus according to
(付記4)前記評価部は、前記複数の要素よりも少ない要素を含む画像データのサイズ、プロセッサに対する画素値の入出力時間、前記フィルタ処理に要する時間、該画像データの分割数を基にして、計算量を評価することを特徴とする付記1、2または3に記載の画像処理装置。
(Additional remark 4) The said evaluation part is based on the size of the image data containing an element smaller than the said several elements, the input / output time of the pixel value with respect to a processor, the time which the said filter process requires, and the division | segmentation number of this image data The image processing apparatus according to
(付記5)コンピュータが実行する画像処理方法であって、
複数の要素を含む画像データに対してベクトル演算を実行するプロセッサが、該複数の要素よりも少ない要素を含む画像データに対してフィルタ処理を実行する場合に、
前記複数の要素よりも少ない要素を含む画像データのサイズと前記フィルタ処理にて適用されるフィルタサイズとに基づいて、該画像データを分割した各分割画像データに対してフィルタ処理を並列に実行した場合の計算量を複数の分割方法の各々に対して算出するとともに、各々算出した計算量と、該画像データを分割せずにフィルタ処理を実行する場合の計算量とを評価し、
評価した結果を基にして、フィルタ処理を実行する
各処理を実行させることを特徴とする画像処理方法。
(Supplementary Note 5) An image processing method executed by a computer,
When a processor that performs a vector operation on image data including a plurality of elements executes filter processing on image data that includes fewer elements than the plurality of elements,
Based on the size of the image data including the elements smaller than the plurality of elements and the filter size applied in the filtering process, the filtering process is executed in parallel on each divided image data obtained by dividing the image data. Calculating the amount of calculation for each of the plurality of division methods, and evaluating the calculated amount of calculation and the amount of calculation in the case of executing the filter processing without dividing the image data,
An image processing method characterized by causing each process to execute a filter process based on an evaluation result.
(付記6)前記計算量を評価する処理は、前記複数の要素よりも少ない要素を含む画像データに前記フィルタサイズに応じた重複領域を付与する処理を含めて、分割した各画像データに対して該フィルタ処理を並列に実行した場合の計算量を評価することを特徴とする付記5に記載の画像処理方法。 (Additional remark 6) The process which evaluates the said calculation amount is included with respect to each divided | segmented image data including the process which provides the duplication area | region according to the said filter size to the image data containing fewer elements than the said some element The image processing method according to appendix 5, wherein the amount of calculation when the filter processing is executed in parallel is evaluated.
(付記7)前記フィルタ処理を実行する処理は、前記複数の要素よりも少ない要素を含む画像データを分割する場合に、前記ベクトル演算数に応じて、該画像データの分割数を特定することを特徴とする付記5または6に記載の画像処理方法。 (Additional remark 7) The process which performs the said filter process specifies the division | segmentation number of this image data according to the said vector operation number, when dividing | segmenting the image data containing an element smaller than the said several element 7. The image processing method according to appendix 5 or 6, which is a feature.
(付記8)前記計算量を評価する処理は、前記複数の要素よりも少ない要素を含む画像データのサイズ、プロセッサに対する画素値の入出力時間、前記フィルタ処理に要する時間、該画像データの分割数を基にして、計算量を評価することを特徴とする付記5、6または7に記載の画像処理方法。 (Supplementary Note 8) The processing for evaluating the calculation amount includes the size of image data including elements smaller than the plurality of elements, the input / output time of pixel values for the processor, the time required for the filtering process, and the number of divisions of the image data The image processing method according to appendix 5, 6 or 7, wherein the amount of calculation is evaluated based on the above.
(付記9)コンピュータに、
複数の要素を含む画像データに対してベクトル演算を実行するプロセッサが、該複数の要素よりも少ない要素を含む画像データに対してフィルタ処理を実行する場合に、
前記複数の要素よりも少ない要素を含む画像データのサイズと前記フィルタ処理にて適用されるフィルタサイズとに基づいて、該画像データを分割した各分割画像データに対してフィルタ処理を並列に実行した場合の計算量を複数の分割方法の各々に対して算出するとともに、各々算出した計算量と、該画像データを分割せずにフィルタ処理を実行する場合の計算量とを評価し、
評価した結果を基にして、フィルタ処理を実行する
各処理を実行させることを特徴とする画像処理プログラム。
(Appendix 9)
When a processor that performs a vector operation on image data including a plurality of elements executes filter processing on image data that includes fewer elements than the plurality of elements,
Based on the size of the image data including the elements smaller than the plurality of elements and the filter size applied in the filtering process, the filtering process is executed in parallel on each divided image data obtained by dividing the image data. Calculating the amount of calculation for each of the plurality of division methods, and evaluating the calculated amount of calculation and the amount of calculation in the case of executing the filter processing without dividing the image data,
An image processing program for executing each process for executing a filter process based on an evaluation result.
(付記10)前記計算量を評価する処理は、前記複数の要素よりも少ない要素を含む画像データに前記フィルタサイズに応じた重複領域を付与する処理を含めて、分割した各画像データに対して該フィルタ処理を並列に実行した場合の計算量を評価することを特徴とする付記9に記載の画像処理プログラム。 (Additional remark 10) The process which evaluates the said calculation amount is included with respect to each divided | segmented image data including the process which provides the duplication area | region according to the said filter size to the image data containing fewer elements than the said some element The image processing program according to appendix 9, wherein the amount of calculation when the filter processing is executed in parallel is evaluated.
(付記11)前記フィルタ処理を実行する処理は、前記複数の要素よりも少ない要素を含む画像データを分割する場合に、前記ベクトル演算数に応じて、該画像データの分割数を特定することを特徴とする付記9または10に記載の画像処理プログラム。
(Additional remark 11) The process which performs the said filter process specifies the division | segmentation number of this image data according to the said vector operation number, when dividing | segmenting the image data containing an element smaller than the said several element The image processing program according to
(付記12)前記計算量を評価する処理は、前記複数の要素よりも少ない要素を含む画像データのサイズ、プロセッサに対する画素値の入出力時間、前記フィルタ処理に要する時間、該画像データの分割数を基にして、計算量を評価することを特徴とする付記9、10または11に記載の画像処理プログラム。
(Supplementary Note 12) The processing for evaluating the calculation amount includes the size of image data including elements smaller than the plurality of elements, the input / output time of pixel values to the processor, the time required for the filtering process, and the number of divisions of the image data The image processing program according to
100 画像処理装置
110 入力部
120 出力部
130 記憶部
140 制御部
DESCRIPTION OF
Claims (6)
前記複数の要素よりも少ない要素を含む画像データのサイズと前記フィルタ処理にて適用されるフィルタサイズとに基づいて、該画像データを分割した各分割画像データに対してフィルタ処理を並列に実行した場合の計算量を複数の分割方法の各々に対して算出するとともに、各々算出した計算量と、該画像データを分割せずにフィルタ処理を実行する場合の計算量とを評価する評価部と、
前記評価部の評価結果を基にして、前記フィルタ処理を実行するフィルタ処理部と
を有することを特徴とする画像処理装置。 When a processor that performs a vector operation on image data including a plurality of elements executes filter processing on image data that includes fewer elements than the plurality of elements,
Based on the size of the image data including the elements smaller than the plurality of elements and the filter size applied in the filtering process, the filtering process is executed in parallel on each divided image data obtained by dividing the image data. An amount of calculation for each of the plurality of division methods, and an evaluation unit for evaluating the calculated amount of calculation and the amount of calculation in the case of executing the filter processing without dividing the image data,
An image processing apparatus comprising: a filter processing unit that executes the filter processing based on an evaluation result of the evaluation unit.
複数の要素を含む画像データに対してベクトル演算を実行するプロセッサが、該複数の要素よりも少ない要素を含む画像データに対してフィルタ処理を実行する場合に、
前記複数の要素よりも少ない要素を含む画像データのサイズと前記フィルタ処理にて適用されるフィルタサイズとに基づいて、該画像データを分割した各分割画像データに対してフィルタ処理を並列に実行した場合の計算量を複数の分割方法の各々に対して算出するとともに、各々算出した計算量と、該画像データを分割せずにフィルタ処理を実行する場合の計算量とを評価し、
評価した結果を基にして、フィルタ処理を実行する
各処理を実行させることを特徴とする画像処理方法。 An image processing method executed by a computer,
When a processor that performs a vector operation on image data including a plurality of elements executes filter processing on image data that includes fewer elements than the plurality of elements,
Based on the size of the image data including the elements smaller than the plurality of elements and the filter size applied in the filtering process, the filtering process is executed in parallel on each divided image data obtained by dividing the image data. Calculating the amount of calculation for each of the plurality of division methods, and evaluating the calculated amount of calculation and the amount of calculation in the case of executing the filter processing without dividing the image data,
An image processing method characterized by causing each process to execute a filter process based on an evaluation result.
複数の要素を含む画像データに対してベクトル演算を実行するプロセッサが、該複数の要素よりも少ない要素を含む画像データに対してフィルタ処理を実行する場合に、
前記複数の要素よりも少ない要素を含む画像データのサイズと前記フィルタ処理にて適用されるフィルタサイズとに基づいて、該画像データを分割した各分割画像データに対してフィルタ処理を並列に実行した場合の計算量を複数の分割方法の各々に対して算出するとともに、各々算出した計算量と、該画像データを分割せずにフィルタ処理を実行する場合の計算量とを評価し、
評価した結果を基にして、フィルタ処理を実行する
各処理を実行させることを特徴とする画像処理プログラム。 On the computer,
When a processor that performs a vector operation on image data including a plurality of elements executes filter processing on image data that includes fewer elements than the plurality of elements,
Based on the size of the image data including the elements smaller than the plurality of elements and the filter size applied in the filtering process, the filtering process is executed in parallel on each divided image data obtained by dividing the image data. Calculating the amount of calculation for each of the plurality of division methods, and evaluating the calculated amount of calculation and the amount of calculation in the case of executing the filter processing without dividing the image data,
An image processing program for executing each process for executing a filter process based on an evaluation result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011144559A JP5708303B2 (en) | 2011-06-29 | 2011-06-29 | Image processing apparatus, image processing method, and image processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011144559A JP5708303B2 (en) | 2011-06-29 | 2011-06-29 | Image processing apparatus, image processing method, and image processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013012055A JP2013012055A (en) | 2013-01-17 |
JP5708303B2 true JP5708303B2 (en) | 2015-04-30 |
Family
ID=47685884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011144559A Expired - Fee Related JP5708303B2 (en) | 2011-06-29 | 2011-06-29 | Image processing apparatus, image processing method, and image processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5708303B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7337741B2 (en) * | 2020-03-25 | 2023-09-04 | 日立Astemo株式会社 | Information processing equipment, in-vehicle control equipment |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0740252B2 (en) * | 1986-03-08 | 1995-05-01 | 株式会社日立製作所 | Multi-processor system |
JP3305406B2 (en) * | 1993-04-26 | 2002-07-22 | 松下電器産業株式会社 | Program-controlled processor |
JP2752902B2 (en) * | 1994-05-31 | 1998-05-18 | 甲府日本電気株式会社 | Vector processing equipment |
JP3581242B2 (en) * | 1997-10-30 | 2004-10-27 | 株式会社日立製作所 | Charged particle beam device with parallel image processor |
-
2011
- 2011-06-29 JP JP2011144559A patent/JP5708303B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013012055A (en) | 2013-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8248410B2 (en) | Synthesizing detailed depth maps from images | |
EP1843294B1 (en) | Motion vector calculation method, hand-movement correction device using the method, imaging device, and motion picture generation device | |
CN101536078B (en) | Improving image masks | |
US10186068B2 (en) | Method, apparatus and system for rendering an image | |
CN103810728A (en) | System, method, and computer program product for inputting modified coverage data into a pixel shader | |
JP5744574B2 (en) | Image processing apparatus, image processing method, and program | |
JP5939023B2 (en) | Computer program and image extraction apparatus | |
US9542127B2 (en) | Image processing method and image processing apparatus | |
JP5795150B2 (en) | Detection device and data processing method thereof | |
AU2015202359A1 (en) | Parallelising per-pixel compositing | |
JP5708303B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP6009371B2 (en) | Image processing LSI and image processing program | |
JP5754214B2 (en) | Image processing apparatus and image processing program | |
CN106716984A (en) | Image processing apparatus, image processing method, and storage medium | |
US20100020096A1 (en) | Antialiasing apparatus | |
JP7140491B2 (en) | Image processing device, image processing method, and program | |
WO2020166596A1 (en) | Image processing system and program | |
JP5672168B2 (en) | Image processing apparatus, image processing method, and program | |
JP2017111774A (en) | Image processing device and image processing method | |
KR101666131B1 (en) | Vector Font Rendering with considering sub-pixel pattern | |
US9269031B2 (en) | Method of detecting regions in an edge-based representation | |
JP2016115226A (en) | Feature amount extraction device, recognition device, information processing system, feature amount extraction method and program | |
CN111063001A (en) | Picture synthesis method and device, electronic equipment and storage medium | |
WO2019082283A1 (en) | Image interpretation device | |
US8941881B2 (en) | Method and apparatus for rasterizing transparent page |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150216 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5708303 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |