<画像処理装置の全体構成>
図1は画像処理装置1の構成を示す図である。画像処理装置1は、処理対象画像に対して各種処理を行う装置であって、CPU(Central Processing Unit)2と、システムメモリ3と、画像処理回路4とを備えている。処理対象画像は、例えば、カメラで撮像された撮像画像、あるいは当該撮像画像に対して所定処理を行うことによって得られた画像である。CPU2、システムメモリ3及び画像処理回路4は、例えばバス5を介して相互に接続されている。
<Overall configuration of image processing apparatus>
FIG. 1 is a diagram showing the configuration of the image processing apparatus 1. The image processing apparatus 1 is an apparatus that performs various processes on an image to be processed, and includes a central processing unit (CPU) 2, a system memory 3, and an image processing circuit 4. The processing target image is, for example, a captured image captured by a camera or an image obtained by performing a predetermined process on the captured image. The CPU 2, the system memory 3 and the image processing circuit 4 are mutually connected via, for example, a bus 5.
CPU2は、一種のプロセッサであって、ソフトウェア(プログラム)を使用して動作する。CPU2は、画像処理装置1の他の構成を制御することによって、画像処理装置1全体の動作を統括的に管理する。CPU2が、システムメモリ3内の各種プログラム(各種ソフトウェア)を実行することによって、画像処理装置1には様々な機能が実現される。
The CPU 2 is a kind of processor and operates using software (program). The CPU 2 centrally manages the overall operation of the image processing apparatus 1 by controlling other components of the image processing apparatus 1. The CPU 2 executes various programs (various software programs) in the system memory 3 to realize various functions in the image processing apparatus 1.
システムメモリ3は、例えば、DRAM(Dynamic Random Access Memory)あるいはSRAM(Static Random Access Memory)などで構成されている。システムメモリ3は、処理対象画像及び各種プログラム等を記憶する。
The system memory 3 is configured by, for example, a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory). The system memory 3 stores an image to be processed and various programs.
画像処理回路4は、システムメモリ3から処理対象画像を読み出し、読み出した処理対象画像に対して処理を行う。画像処理回路4は、処理対象画像に対して、例えば、画像の座標変換を行う。そして、画像処理回路4は、処理対象画像に対する処理によって得られた画像をシステムメモリ3に書き込む。画像処理回路4は、例えば、ソフトウェアを使用せずに動作する回路であり、ソフウェアを使用して動作するプロセッサとは異なる。言い換えれば、画像処理回路4は、その機能の実現にソフトウェアを必要としないハードウェアである。以後、処理対象画像を「対象画像110」と呼ぶ。
The image processing circuit 4 reads the processing target image from the system memory 3 and performs processing on the read processing target image. The image processing circuit 4 performs, for example, coordinate conversion of the image on the processing target image. Then, the image processing circuit 4 writes the image obtained by the processing on the processing target image into the system memory 3. The image processing circuit 4 is, for example, a circuit that operates without using software, and is different from a processor that operates using software. In other words, the image processing circuit 4 is hardware that does not require software for realizing its functions. Hereinafter, the processing target image is referred to as “target image 110”.
<画像処理回路の構成>
図2は画像処理回路4の構成を示す図である。図2に示されるように、画像処理回路4は、DMA(Direct Memory Access)コントローラ10と、入力フレームバッファ11と、座標変換回路12と、記憶回路13と、処理回路14とを備えている。画像処理回路4は、DMAコントローラ10の働きにより、CPU2を介さずにシステムメモリ3にアクセスすることが可能である。これにより、画像処理回路4とシステムメモリ3との間では、CPU2を介さずにデータ転送が行われる。
<Configuration of image processing circuit>
FIG. 2 is a diagram showing a configuration of the image processing circuit 4. As shown in FIG. 2, the image processing circuit 4 includes a DMA (Direct Memory Access) controller 10, an input frame buffer 11, a coordinate conversion circuit 12, a storage circuit 13, and a processing circuit 14. The image processing circuit 4 can access the system memory 3 without the CPU 2 by the action of the DMA controller 10. Thereby, data transfer is performed between the image processing circuit 4 and the system memory 3 without going through the CPU 2.
DMAコントローラ10は、システムメモリ3からデータを読み出すことが可能である。またDMAコントローラ10は、システムメモリ3に対してデータを書き込むことが可能である。DMAコントローラ10は、複数の画素データを記憶することが可能なバッファ100を有している。バッファ100は例えばFIFO(first in first out)バッファで構成されている。
The DMA controller 10 can read data from the system memory 3. The DMA controller 10 can write data to the system memory 3. The DMA controller 10 has a buffer 100 capable of storing a plurality of pixel data. The buffer 100 is configured by, for example, a FIFO (first in first out) buffer.
入力フレームバッファ11は、1フレーム分の対象画像110(1枚の対象画像110)を記憶することができる。つまり、入力フレームバッファ11は、1フレーム分の画像データを記憶することができる。DMAコントローラ10は、システムメモリ3内の対象画像110を入力フレームバッファ11に書き込む。具体的には、DMAコントローラ10は、対象画像110の複数の画素データをシステムメモリ3から読み出してバッファ100に一旦記憶する。そして、DMAコントローラ10は、バッファ100内の複数の画素データを入力フレームバッファ11に書き込む。この処理が複数回繰り返されることによって、1フレーム分の対象画像110(1フレーム分の対象画像110の画像データ)が入力フレームバッファ11に書き込まれる。DMAコントローラ10は、システムメモリ3に記憶されている複数枚の対象画像110を順次読み出して入力フレームバッファ11に順次記憶する。
The input frame buffer 11 can store the target image 110 (one target image 110) for one frame. That is, the input frame buffer 11 can store image data for one frame. The DMA controller 10 writes the target image 110 in the system memory 3 in the input frame buffer 11. Specifically, the DMA controller 10 reads a plurality of pixel data of the target image 110 from the system memory 3 and temporarily stores it in the buffer 100. Then, the DMA controller 10 writes a plurality of pixel data in the buffer 100 into the input frame buffer 11. By repeating this processing a plurality of times, the target image 110 for one frame (image data of the target image 110 for one frame) is written to the input frame buffer 11. The DMA controller 10 sequentially reads out a plurality of target images 110 stored in the system memory 3 and sequentially stores them in the input frame buffer 11.
また、DMAコントローラ10は、処理回路14から出力される出力画像をシステムメモリ3に書き込む。具体的には、DMAコントローラ10は、処理回路14から出力される出力画像の複数の画素データを、バッファ100に一旦記憶する。そして、DMAコントローラ10は、バッファ100内の複数の画素データをシステムメモリ3に書き込む。この処理が複数回繰り返されることによって、1フレーム分の出力画像(1フレーム分の出力画像の画像データ)がシステムメモリ3に書き込まれる。
Also, the DMA controller 10 writes the output image output from the processing circuit 14 into the system memory 3. Specifically, the DMA controller 10 temporarily stores the plurality of pixel data of the output image output from the processing circuit 14 in the buffer 100. Then, the DMA controller 10 writes a plurality of pixel data in the buffer 100 to the system memory 3. By repeating this process a plurality of times, an output image for one frame (image data of an output image for one frame) is written in the system memory 3.
座標変換回路12は、入力フレームバッファ11に記憶されている対象画像110に対して画像の座標変換を行う。座標変換が行われた対象画像110は処理回路14に入力される。座標変換回路12は、入力フレームバッファ11に新たな対象画像110が記憶されると、入力フレームバッファ11内の新たな対象画像110に対して画像の座標変換を行う。記憶回路13には、座標変換回路12で使用される各種パラメータが記憶されている。以後、座標変換が行われた対象画像110を「変換後対象画像110」と呼ぶことがある。また、単に「対象画像110」と言えば、座標変換が未だ行われていない対象画像110を意味する。
The coordinate conversion circuit 12 performs image coordinate conversion on the target image 110 stored in the input frame buffer 11. The target image 110 that has undergone coordinate transformation is input to the processing circuit 14. When a new target image 110 is stored in the input frame buffer 11, the coordinate conversion circuit 12 performs image coordinate conversion on the new target image 110 in the input frame buffer 11. The storage circuit 13 stores various parameters used in the coordinate conversion circuit 12. Hereinafter, the target image 110 on which the coordinate conversion has been performed may be referred to as a “post-conversion target image 110”. Moreover, simply speaking "target image 110" means the target image 110 for which coordinate conversion has not been performed yet.
処理回路14は、座標変換回路12で得られる変換後対象画像110に対して所定の処理を行う。例えば、処理回路14は、座標変換回路12で得られる複数枚の変換後対象画像110を合成し、それによって得られた合成画像を出力画像としてDMAコントローラ10に出力する。
The processing circuit 14 performs a predetermined process on the post-conversion target image 110 obtained by the coordinate conversion circuit 12. For example, the processing circuit 14 combines a plurality of post-conversion target images 110 obtained by the coordinate conversion circuit 12 and outputs the combined image obtained thereby to the DMA controller 10 as an output image.
<座標変換回路について>
ここでは、まず座標変換回路12の動作の概要を説明した上で、座標変換回路12の構成及び詳細な動作について説明する。
<Coordinate transformation circuit>
Here, the outline of the operation of the coordinate conversion circuit 12 is first described, and then the configuration and detailed operation of the coordinate conversion circuit 12 are described.
<座標変換回路の動作の概要>
座標変換回路12は、入力フレームバッファ11内の1枚の対象画像110を用いて複数種類の座標変換を行う。具体的には、座標変換回路12は、図3に示されるように、入力フレームバッファ11内の1枚の対象画像110に対して、複数種類の座標変換のそれぞれを別々に行って、複数枚の処理画像115を生成する。処理画像115は変換後対象画像110である。以後、1枚の対象画像110に対して、複数種類の座標変換のそれぞれを別々に行って、複数枚の処理画像115を生成する処理を「個別変換処理」と呼ぶ。
<Outline of operation of coordinate transformation circuit>
The coordinate conversion circuit 12 performs a plurality of types of coordinate conversion using one target image 110 in the input frame buffer 11. Specifically, as shown in FIG. 3, the coordinate conversion circuit 12 separately performs a plurality of types of coordinate conversion on one target image 110 in the input frame buffer 11 to convert a plurality of images. The processed image 115 is generated. The processed image 115 is the converted target image 110. Hereinafter, a process of generating a plurality of processed images 115 by performing each of a plurality of types of coordinate conversion separately on one target image 110 is referred to as an “individual conversion process”.
本例では、座標変換回路12は、画像のアフィン変換を行うための座標変換を対象画像110に対して行う。具体的には、座標変換回路12は、画像の回転を行うための回転用座標変換を対象画像110に対して行う。これにより、座標変換回路12では、対象画像110の回転が行われ、回転された対象画像110が処理画像115(変換後対象画像110)として得られる。ここで、画像の回転とは、画像に映る被写体の回転であって、画像が回転したとしても、画像の外形が変化するのではない。以後、回転された対象画像110を単に「回転画像」と呼ぶことがある。
In this example, the coordinate conversion circuit 12 performs coordinate conversion on the target image 110 to perform affine conversion of the image. Specifically, the coordinate conversion circuit 12 performs rotation coordinate conversion on the target image 110 to rotate the image. Thereby, in the coordinate conversion circuit 12, the target image 110 is rotated, and the rotated target image 110 is obtained as the processed image 115 (the converted target image 110). Here, the rotation of the image means rotation of the subject shown in the image, and even if the image is rotated, the outer shape of the image does not change. Hereinafter, the rotated target image 110 may be simply referred to as a “rotated image”.
座標変換回路12は、入力フレームバッファ11内の1枚の対象画像110を用いて、画像の複数種類の回転をそれぞれ行うための複数種類の回転用座標変換を行う。本例では、座標変換回路12は、入力フレームバッファ11内の1枚の対象画像110に対して、複数種類の回転用座標変換のそれぞれを別々に行って、互いに回転角度が異なる複数枚の回転画像を生成する。座標変換回路12は、入力フレームバッファ11内に対象画像110が書き込まれるたびに、入力フレームバッファ11内の対象画像110に対して、複数種類の回転用座標変換のそれぞれを別々に行う。以後、座標変換回路12において、1枚の対象画像110に基づいて生成された、回転角度が互いに異なる一群の複数枚の回転画像を「回転画像群」と呼ぶことがある。また、1枚の対象画像110に対して、複数種類の回転用座標変換のそれぞれを別々に行うことを「回転画像群生成処理」と呼ぶことがある。回転画像群生成処理は、個別変換処理の一種である。
The coordinate conversion circuit 12 uses a single target image 110 in the input frame buffer 11 to perform a plurality of types of rotation coordinate conversion for performing a plurality of types of rotation of the image. In this example, the coordinate conversion circuit 12 separately performs each of a plurality of types of coordinate conversion for rotation on one target image 110 in the input frame buffer 11, and rotates a plurality of rotations having different rotation angles. Generate an image. Each time the target image 110 is written in the input frame buffer 11, the coordinate conversion circuit 12 separately performs plural types of rotational coordinate conversion on the target image 110 in the input frame buffer 11. Hereinafter, in the coordinate conversion circuit 12, a plurality of rotation images of a group of rotation angles different from one another, which are generated based on one target image 110, may be referred to as "rotation image group". Also, performing each of a plurality of types of rotation coordinate transformations separately on one target image 110 may be referred to as “rotated image group generation processing”. The rotational image group generation process is a type of individual conversion process.
<座標変換回路の詳細>
図4は座標変換回路12の構成を示す図である。図4に示されるように、座標変換回路12は、座標変換を行う変換回路20と、記憶回路13を制御する制御回路21とを備えている。座標変換回路12は、例えば、CPU等とは異なり、ソフトウェアを使用せずに動作するハードウェアである。
<Details of coordinate conversion circuit>
FIG. 4 is a diagram showing a configuration of the coordinate conversion circuit 12. As shown in FIG. 4, the coordinate conversion circuit 12 includes a conversion circuit 20 that performs coordinate conversion, and a control circuit 21 that controls the storage circuit 13. The coordinate conversion circuit 12 is hardware that operates without using software, unlike, for example, a CPU or the like.
図4に示されるように、記憶回路13には、座標変換で使用される変換パラメータリスト130が記憶されている。変換パラメータリスト130には、複数種類の座標変換においてそれぞれ必要な複数種類の変換パラメータ131が含まれている。変換パラメータリスト130は、後述するように、CPU2によって記憶回路13に書き込まれる。
As shown in FIG. 4, the storage circuit 13 stores a conversion parameter list 130 used in coordinate conversion. The conversion parameter list 130 includes a plurality of types of conversion parameters 131 necessary for a plurality of types of coordinate conversion. The conversion parameter list 130 is written into the storage circuit 13 by the CPU 2 as will be described later.
変換回路20は、入力フレームバッファ11内の1枚の対象画像110に対して、複数種類の回転用座標変換のそれぞれを別々に行って回転画像群を生成する。変換パラメータリスト130には、回転用座標変換において必要な回転用変換パラメータ131(以後、「回転パラメータ132」と呼ぶことがある)が含まれる。
The conversion circuit 20 performs a plurality of types of rotation coordinate conversion on the single target image 110 in the input frame buffer 11 to generate a rotation image group. The conversion parameter list 130 includes a rotation conversion parameter 131 (hereinafter also referred to as “rotation parameter 132”) necessary for the rotation coordinate conversion.
図5は、変換パラメータリスト130が記憶回路13に記憶されている様子の一例を示す図である。図5に示されるように、変換パラメータリスト130には、画像の複数種類の回転をそれぞれ行うための複数種類の回転用座標変換においてそれぞれ必要な複数種類の回転パラメータ132が含まれている。変換パラメータリスト130には、例えば、画像を1°から360°まで回転するための360種類の回転パラメータ132が含まれている。記憶回路13では、回転角度が小さい回転パラメータ132ほど、アドレスが小さい記憶領域に記憶される。したがって、記憶回路13に記憶されている360種類の回転パラメータ132を、それが記憶されている記憶領域のアドレスが小さいもの順に見ると、360種類の回転パラメータ132は、回転角度が小さいもの順に並んでいる。
FIG. 5 is a diagram showing an example of how the conversion parameter list 130 is stored in the storage circuit 13. As shown in FIG. 5, the conversion parameter list 130 includes a plurality of types of rotation parameters 132 necessary for a plurality of types of rotation coordinate conversion for respectively performing a plurality of types of rotation of the image. The conversion parameter list 130 includes, for example, 360 types of rotation parameters 132 for rotating the image from 1 ° to 360 °. In the storage circuit 13, the rotation parameter 132 with a smaller rotation angle is stored in a storage area with a smaller address. Accordingly, when viewing the 360 types of rotation parameters 132 stored in the storage circuit 13 in ascending order of addresses of the storage areas in which they are stored, the 360 types of rotation parameters 132 are arranged in ascending order of rotation angle. It is.
変換回路20は、記憶回路13内の回転パラメータ132に基づいて、対象画像110に対して回転用座標変換を行う。これにより、対象画像110は、回転パラメータ132に応じた回転角度だけ回転する。変換回路20は、記憶回路13内の複数種類の回転パラメータ132を使用して、入力フレームバッファ11内の1枚の対象画像110に対して、複数種類の回転用座標変換のそれぞれを別々に行って、互いに回転角度が異なる複数枚の回転画像を生成する。なお本例では、対象画像110は、例えば、その重心の周りに時計回りで回転されるものとする。
The conversion circuit 20 performs rotation coordinate conversion on the target image 110 based on the rotation parameter 132 in the storage circuit 13. Thereby, the target image 110 is rotated by a rotation angle corresponding to the rotation parameter 132. The conversion circuit 20 separately performs each of the plurality of types of rotational coordinate conversion on one target image 110 in the input frame buffer 11 using the plurality of types of rotational parameters 132 in the storage circuit 13. Thus, a plurality of rotated images having different rotation angles are generated. In the present example, for example, the target image 110 is rotated clockwise around its center of gravity.
制御回路21は、記憶回路13から、複数種類の回転パラメータ132を順次読み出す。記憶回路13から読み出された回転パラメータ132は変換回路20に入力される。これにより、変換回路20には、制御回路21の働きにより、記憶回路13内の複数種類の回転パラメータ132が順次入力される。変換回路20は、回転パラメータ132が入力されるたびに、入力された回転パラメータ132に基づいて、入力フレームバッファ11内の対象画像110を回転し、それよって得られた回転画像を処理回路14に出力する。
The control circuit 21 sequentially reads a plurality of types of rotation parameters 132 from the storage circuit 13. The rotation parameter 132 read from the storage circuit 13 is input to the conversion circuit 20. As a result, a plurality of types of rotation parameters 132 in the storage circuit 13 are sequentially input to the conversion circuit 20 by the operation of the control circuit 21. The conversion circuit 20 rotates the target image 110 in the input frame buffer 11 based on the input rotation parameter 132 each time the rotation parameter 132 is input, and outputs the rotation image obtained thereby to the processing circuit 14. Output.
制御回路21はレジスタ22を有している。レジスタ22には、変換パラメータリスト130を構成する複数種類の回転パラメータ(本例では、360種類の回転パラメータ132)のうち、変換回路20で使用される複数種類の使用対象回転パラメータ132を特定するための特定情報220が記憶される。制御回路21は、レジスタ22内の特定情報220に基づいて、複数種類の使用対象回転パラメータ132を記憶回路13から順次読み出す。特定情報220は、後述するように、CPU2によってレジスタ22に設定される。
The control circuit 21 has a register 22. The register 22 identifies a plurality of types of use target rotation parameters 132 used in the conversion circuit 20 among a plurality of types of rotation parameters (in this example, 360 types of rotation parameters 132) constituting the conversion parameter list 130. Specific information 220 is stored. The control circuit 21 sequentially reads out the plurality of types of use target rotation parameters 132 from the storage circuit 13 based on the specific information 220 in the register 22. The specific information 220 is set in the register 22 by the CPU 2 as described later.
図6は特定情報220の一例を示す図である。図6に示されるように、特定情報220には、例えば、使用パラメータ数221、使用開始位置222及び使用間隔223が含まれる。本例では、座標変換回路12は、複数種類の使用対象回転パラメータ132を、それに対応する回転角度が小さいもの順に使用して、回転角度が互いに異なる複数種類の回転用座標変換を1枚の対象画像110に対して連続的に行う。
FIG. 6 shows an example of the identification information 220. As shown in FIG. As shown in FIG. 6, the specific information 220 includes, for example, the number of used parameters 221, the use start position 222, and the use interval 223. In this example, the coordinate conversion circuit 12 uses a plurality of types of use target rotation parameters 132 in the order of smaller corresponding rotation angles, and converts one type of rotation coordinate conversion of different rotation angles to one another The image 110 is continuously performed.
使用パラメータ数221は、回転画像群生成処理において使用される回転パラメータ132の種類の数を示している。本例では、対象画像110に対して、1種類の回転パラメータが使用されて1回の座標変換が行われることから、使用パラメータ数221は、1枚の対象画像110についての座標変換回数を示していると言える。使用パラメータ数221が例えば「180」を示す場合には、変換回路20は、1枚の対象画像110に対して、180種類の回転用座標変換のそれぞれを別々に行って、互いに回転角度が異なる180枚の回転画像を連続的に生成する。
The number of used parameters 221 indicates the number of types of rotation parameters 132 used in the rotation image group generation process. In this example, since one type of rotation parameter is used for the target image 110 and one coordinate conversion is performed, the number of used parameters 221 indicates the number of coordinate conversions for one target image 110. It can be said that In the case where the number of used parameters 221 indicates, for example, "180", the conversion circuit 20 separately performs 180 types of coordinate conversion for rotation on one target image 110, and the rotation angles are different from each other. 180 rotated images are continuously generated.
使用開始位置222は、回転画像群生成処理において、最初に使用される使用対象回転パラメータ132の格納位置、つまり最初に使用される使用対象回転パラメータ132が記憶される記憶領域のアドレスを示している。図5の例において、使用開始位置222が例えば「0001h」を示す場合、回転画像群生成処理では、対象画像110を2°回転させるための回転パラメータ132が最初に使用される。
The use start position 222 indicates the storage position of the first use target rotation parameter 132 used in the rotated image group generation process, that is, the address of the storage area in which the first use target rotation parameter 132 is stored. . In the example of FIG. 5, when the use start position 222 indicates, for example, “0001h”, in the rotational image group generation process, a rotation parameter 132 for rotating the target image 110 by 2 ° is first used.
使用間隔223は、あるタイミングで回転用座標変換を行う場合に、回転角度が小さいもの順に並ぶ複数種類の回転パラメータ132において、前回の回転用座標変換で使用された回転パラメータ132から何個離れた回転パラメータ132を使用するかを示している。例えば、使用間隔223が「2」を示す場合、あるタイミングで回転用座標変換を行う際には、前回の回転用座標変換で使用された回転パラメータ132(例えば、対象画像110を2°回転させるための回転パラメータ132)から2個離れた回転パラメータ132(例えば、対象画像110を4°回転させるための回転パラメータ132)が使用される。
When the rotation coordinate conversion is performed at a certain timing, the use interval 223 is separated from the rotation parameter 132 used in the previous rotation coordinate conversion in a plurality of types of rotation parameters 132 arranged in descending order of rotation angle. It shows whether the rotation parameter 132 is used. For example, when the use interval 223 indicates “2”, when the rotation coordinate conversion is performed at a certain timing, the rotation parameter 132 used in the previous rotation coordinate conversion (for example, the target image 110 is rotated by 2 °). A rotation parameter 132 (for example, a rotation parameter 132 for rotating the target image 110 by 4 °) is used.
以上より、回転画像群生成処理において、入力フレームバッファ11内の1枚の対象画像110を2°から360°まで2°ずつ回転させる場合には、使用パラメータ数221が「180」となり、使用開始位置222が「0001h」となり、使用間隔223が「2」となる。この場合、制御回路21による記憶回路13に対する制御によって、記憶回路13からは、回転角度が2°の回転パラメータ132、回転角度が4°の回転パラメータ132、回転角度が6°の回転パラメータ132、・・・回転角度が360°の回転パラメータ132が順次読み出されて、変換回路20に順次入力される。これにより、変換回路20では、図7に示されるように、回転角度が2°ずつ異なる180枚の回転画像120が順次生成される。
As described above, in the rotated image group generation processing, when one target image 110 in the input frame buffer 11 is rotated by 2 ° from 2 ° to 360 °, the number of used parameters 221 becomes “180” and the use starts. The position 222 is “0001h” and the use interval 223 is “2”. In this case, under control of the storage circuit 13 by the control circuit 21, from the storage circuit 13, a rotation parameter 132 with a rotation angle of 2 °, a rotation parameter 132 with a rotation angle of 4 °, and a rotation parameter 132 with a rotation angle of 6 ° ... The rotation parameters 132 with a rotation angle of 360 ° are sequentially read out and sequentially input to the conversion circuit 20. As a result, as shown in FIG. 7, the conversion circuit 20 sequentially generates 180 rotation images 120 whose rotation angles differ by 2 °.
変換回路20は、回転画像120を1枚ずつ処理回路14に出力する。そして、変換回路20は、回転画像120を構成する複数の画素を1画素ずつ処理回路14に出力する。つまり、変換回路20は、回転画像120の画像データを構成する複数の画素データを1画素分ずつ処理回路14に出力する。変換回路20は、回転画像120の画素データを生成するたびに、生成した画素データを出力する。
The conversion circuit 20 outputs the rotated images 120 one by one to the processing circuit 14. Then, the conversion circuit 20 outputs a plurality of pixels constituting the rotation image 120 to the processing circuit 14 one by one. That is, the conversion circuit 20 outputs a plurality of pixel data constituting the image data of the rotated image 120 to the processing circuit 14 one pixel at a time. Each time the conversion circuit 20 generates pixel data of the rotated image 120, the conversion circuit 20 outputs the generated pixel data.
このように、座標変換回路12では、特定情報220によって、複数種類の使用対象回転パラメータ132が特定されることから、特定情報220によって、座標変換回路12がどのような座標変換を行うかを決定することができる。
As described above, in the coordinate conversion circuit 12, since the plural types of rotation targets 132 to be used are specified by the specific information 220, it is determined by the specific information 220 what kind of coordinate conversion is to be performed by the coordinate conversion circuit 12. can do.
例えば、図5の例において、使用パラメータ数221に「360」を設定し、使用開始位置222に「0000h」を設定し、使用間隔223に「1」を設定すると、入力フレームバッファ11内の1枚の対象画像110が1°から360°まで1°ずつ回転させられて、360枚の回転画像120が生成される。
For example, in the example of FIG. 5, when “360” is set to the number of used parameters 221, “0000h” is set to the use start position 222, and “1” is set to the use interval 223, 1 in the input frame buffer 11 The target image 110 is rotated by 1 ° from 1 ° to 360 ° to generate 360 rotated images 120.
また、使用パラメータ数221を「36」に設定し、使用開始位置222を、回転角度が10°の回転パラメータ132が記憶される記憶領域のアドレスに設定し、使用間隔223を「10」に設定すると、入力フレームバッファ11内の1枚の対象画像110が10°から360°まで10°ずつ回転させられて、36枚の回転画像120が生成される。
In addition, the number of used parameters 221 is set to "36", the use start position 222 is set to the address of the storage area where the rotation parameter 132 with a rotation angle of 10 ° is stored, and the use interval 223 is set to "10" Then, one target image 110 in the input frame buffer 11 is rotated by 10 ° from 10 ° to 360 °, and 36 rotated images 120 are generated.
また、使用パラメータ数221を「18」に設定し、使用開始位置222を、回転角度が270°の回転パラメータ132が記憶される記憶領域のアドレスに設定し、使用間隔223を「5」に設定すると、入力フレームバッファ11内の1枚の対象画像110が270°から360°まで5°ずつ回転させられて、18枚の回転画像120が生成される。
In addition, the number of used parameters 221 is set to "18", the use start position 222 is set to the address of the storage area where the rotation parameter 132 having a rotation angle of 270 ° is stored, and the use interval 223 is set to "5" Then, one target image 110 in the input frame buffer 11 is rotated by 5 ° from 270 ° to 360 ° to generate 18 rotated images 120.
また、特定情報220によって、複数種類の使用対象回転パラメータ132が特定されることから、複数の画像処理装置1の間で、座標変換回路12が使用する特定情報220を異ならせることによって、複数の画像処理装置1の間で互いに異なる座標変換を実行させることができる。
In addition, since the plurality of types of use target rotation parameters 132 are specified by the specific information 220, the specific information 220 used by the coordinate conversion circuit 12 differs among the plurality of image processing apparatuses 1, thereby Different coordinate transformations can be performed between the image processing apparatuses 1.
また、一つの画像処理装置1において、複数種類の特定情報220が使用されても良い。この場合には、座標変換回路12は、ある対象画像110に対して座標変換を行う場合には第1特定情報220を使用し、別の対象画像110に対して座標変換を行う場合には第1特定情報220とは異なる第2特定情報220を使用する。これにより、座標変換回路12は、複数枚の対象画像110に対して、互いに異なる座標変換を行うことができる。
Further, a plurality of types of specific information 220 may be used in one image processing apparatus 1. In this case, the coordinate conversion circuit 12 uses the first specific information 220 when performing coordinate conversion on a certain target image 110, and performs coordinate conversion on another target image 110. The second identification information 220 different from the one identification information 220 is used. Accordingly, the coordinate conversion circuit 12 can perform different coordinate conversions on the plurality of target images 110.
<回転パラメータの一例>
対象画像110の座標変換では、変換後対象画像110における、ある座標Zでの画素として、対象画像110における、当該ある座標Zに対応する座標CZでの画素が採用される。言い換えれば、対象画像110の座標変換では、変換後対象画像110における、ある座標Zでの画素データ(画素値)として、対象画像110における、当該ある座標Zに対応する座標CZでの画素データ(画素値)が採用される。対象画像110において、変換後対象画像110でのある座標Zに対応する座標CZに画素が存在しない場合には、その対応する座標CZでの画素データは、当該対応する座標CZの周辺の複数の座標PCZに存在する複数の画素の画素データを用いた補間によって求められる。この画素補間には、例えば、バイリニア補間あるいはバイキュービック補間などが使用される。
<Example of rotation parameters>
In coordinate conversion of the target image 110, as a pixel at a certain coordinate Z in the converted target image 110, a pixel at a coordinate CZ corresponding to the certain coordinate Z in the target image 110 is adopted. In other words, in coordinate conversion of the target image 110, pixel data (pixel value) at a certain coordinate Z in the target image 110 after conversion, pixel data at a coordinate CZ corresponding to the certain coordinate Z in the target image 110 Pixel value) is adopted. In the target image 110, when there is no pixel at a coordinate CZ corresponding to a certain coordinate Z in the converted target image 110, pixel data at the corresponding coordinate CZ is a plurality of pixel data around the corresponding coordinate CZ. It is obtained by interpolation using pixel data of a plurality of pixels present at coordinates PCZ. For example, bilinear interpolation or bicubic interpolation is used for this pixel interpolation.
図8は回転パラメータ132の一例を説明するための図である。本例では、回転パラメータ132には、回転画像(変換後対応画像)での4隅の画素の座標A1,B1,C1,D1にそれぞれ対応する、対象画像110での4つの座標A0,B0,C0,D0が含まれている。言い換えれば、回転パラメータ132には、回転画像での4隅の画素についての対象画像110での写像元の画素の座標A0,B0,C0,D0が含まれている。
FIG. 8 is a diagram for explaining an example of the rotation parameter 132. In this example, the rotation parameter 132 includes four coordinates A0, B0, and B4 in the target image 110 corresponding to the coordinates A1, B1, C1, and D1 of the four corner pixels in the rotated image (converted corresponding image). C0 and D0 are included. In other words, the rotation parameter 132 includes the coordinates A0, B0, C0, and D0 of the original pixel in the target image 110 for the four corner pixels in the rotated image.
変換回路20は、記憶回路13から回転パラメータ132が入力されると、入力された回転パラメータ132に含まれる4つの座標A0,B0,C0,D0に基づいて、変換後対象画像110を構成する複数の画素の座標にそれぞれ対応する、対象画像110での複数の座標を求める。そして、変換回路20は、対象画像110に関して求めた複数の座標のそれぞれでの画素データを、対象画像110を構成する複数の画素の画素データに基づいて決定する。このとき、必要に応じて画素補間が使用される。その後、変換回路20は、変換後対象画像110における各座標での画素データとして、対象画像110における、対応する座標での画素データを採用する。これにより、変換回路20では、入力された回転パラメータ132に基づいて対象画像110が回転され、回転画像が生成される。つまり、変換回路20では、回転画像の画像データが生成される。変換回路20で生成された、回転画像の画像データは、処理回路14に入力される。
When the rotation parameter 132 is input from the storage circuit 13, the conversion circuit 20 includes a plurality of images constituting the converted target image 110 based on the four coordinates A 0, B 0, C 0, D 0 included in the input rotation parameter 132. A plurality of coordinates in the target image 110 respectively corresponding to the coordinates of the pixel of. Then, the conversion circuit 20 determines pixel data at each of the plurality of coordinates obtained with respect to the target image 110 based on the pixel data of the plurality of pixels constituting the target image 110. At this time, pixel interpolation is used as needed. Thereafter, the conversion circuit 20 employs pixel data at corresponding coordinates in the target image 110 as pixel data at each coordinate in the converted target image 110. Thereby, in the conversion circuit 20, the target image 110 is rotated based on the input rotation parameter 132, and a rotation image is generated. That is, the conversion circuit 20 generates image data of a rotated image. The image data of the rotated image generated by the conversion circuit 20 is input to the processing circuit 14.
なお、対象画像110に対して所定の座標変換を行うことによって、対象画像110に含まれる、たる型歪み等の画像歪みを補正することができる。そこで、変換パラメータ131として、回転用座標変換と歪み補正用座標変換の両方に対応した変換パラメータ131を記憶回路13に記憶し、座標変換回路12は、記憶回路13内の変換パラメータ131に基づいて、対象画像110に対して回転用座標変換と歪み補正を同時に行っても良い。上記の特許文献2及び3には、たる型歪みの補正技術が開示されている。
Note that image distortion such as barrel distortion included in the target image 110 can be corrected by performing predetermined coordinate transformation on the target image 110. Therefore, the conversion parameter 131 corresponding to both the rotation coordinate conversion and the distortion correction coordinate conversion is stored in the storage circuit 13 as the conversion parameter 131, and the coordinate conversion circuit 12 is based on the conversion parameter 131 in the storage circuit 13. Coordinate conversion for rotation and distortion correction may be simultaneously performed on the target image 110. Patent Documents 2 and 3 described above disclose barrel distortion correction techniques.
<処理回路について>
ここでは、まず処理回路14の動作の概要を説明した上で、処理回路14の構成及び詳細な動作について説明する。
<About processing circuit>
Here, the outline of the operation of the processing circuit 14 is first described, and then the configuration and detailed operation of the processing circuit 14 are described.
<処理回路の動作の概要>
処理回路14は、図9に示されるように、座標変換回路12で生成される回転画像群121を構成する複数枚の回転画像120を合成し、それによって得られた合成画像140を出力画像としてDMAコントローラ10に出力する。処理回路14は、1フレーム分の画像を記憶することが可能なフレームメモリを有しており、当該フレームメモリを用いて合成画像140を生成する。
<Outline of processing circuit operation>
As shown in FIG. 9, the processing circuit 14 combines a plurality of rotated images 120 constituting the rotated image group 121 generated by the coordinate conversion circuit 12 and uses a synthesized image 140 obtained thereby as an output image. Output to the DMA controller 10. The processing circuit 14 has a frame memory capable of storing an image for one frame, and generates a composite image 140 using the frame memory.
図10は処理回路14の動作の概要を説明するための図である。処理回路14は、回転画像群121を構成するN枚の回転画像120を順番に積算することによって合成画像140を生成する。
FIG. 10 is a diagram for explaining the outline of the operation of the processing circuit 14. The processing circuit 14 generates a composite image 140 by sequentially integrating the N rotated images 120 constituting the rotated image group 121.
図10に示されるように、処理回路14は、回転画像群121のうち、変換回路20で最初に生成された回転画像120−1(上記の図7の例では回転角度が2°の回転画像)をフレームメモリに記憶する。
As illustrated in FIG. 10, the processing circuit 14 includes a rotated image 120-1 that is first generated by the conversion circuit 20 in the rotated image group 121 (a rotated image having a rotation angle of 2 ° in the example of FIG. 7 described above). ) Is stored in the frame memory.
処理回路14は、回転画像群のうち、変換回路20で2番目に生成された回転画像120−2(上記の図7の例では回転角度が4°の回転画像)を、フレームメモリ内の最初の回転画像120−1に対して加算して1回積算画像150−1を生成する。処理回路は、1回積算画像150−1をフレームメモリに記憶する。
The processing circuit 14 uses the rotation image 120-2 (the rotation image having a rotation angle of 4 ° in the example of FIG. 7) generated second by the conversion circuit 20 in the rotation image group, as the first in the frame memory. Is added to the rotated image 120-1 of 1 to generate a one-time integrated image 150-1. The processing circuit stores the once integrated image 150-1 in the frame memory.
処理回路14は、回転画像群のうち、変換回路20で3番目に生成された回転画像120−3(上記の図7の例では回転角度が6°の回転画像)を、フレームメモリ内の1回積算画像150−1に対して加算して2回積算画像150−2を生成する。処理回路14は、2回積算画像150−2をフレームメモリに記憶する。
The processing circuit 14 uses the rotation image 120-3 (the rotation image having a rotation angle of 6 ° in the example of FIG. 7 described above) generated third by the conversion circuit 20 in the rotation image group as 1 in the frame memory. The accumulated image 150-1 is added twice to generate the accumulated image 150-2 twice. The processing circuit 14 stores the twice-integrated image 150-2 in the frame memory.
以後、処理回路14は同様に動作して、処理回路14は、回転画像群のうち、変換回路20で最後に生成された回転画像120−N(上記の図7の例では回転角度が360°の回転画像)を、フレームメモリ内の(N−2)回積算画像150−(N−2)に対して加算して(N−1)回積算画像150−(N−1)を生成する。この(N−1)回積算画像150−(N−1)が合成画像140となる。処理回路14は、合成画像140をフレームメモリに記憶する。フレームメモリ内の合成画像140はDMAコントローラ10に出力される。以後、1回積算画像150−1、2回積算画像150−2、・・・(N−1)回積算画像150−(N−1)を特に区別する必要がない場合には、それぞれを単に「積算画像150」と呼ぶ。
Thereafter, the processing circuit 14 operates in the same manner, and the processing circuit 14 detects that the rotation image 120-N generated last by the conversion circuit 20 in the rotation image group (the rotation angle is 360 ° in the example of FIG. 7 above). Is added to the (N-2) -times accumulated image 150- (N-2) in the frame memory to generate (N-1) -times accumulated images 150- (N-1). This (N-1) -time integrated image 150- (N-1) becomes the composite image 140. The processing circuit 14 stores the composite image 140 in a frame memory. The composite image 140 in the frame memory is output to the DMA controller 10. Thereafter, when it is not necessary to particularly distinguish the one-time accumulated image 150-1, the two-time accumulated image 150-2,. It is called "integrated image 150".
<処理回路の詳細>
図11は処理回路14の構成を示す図である。図11に示されるように、処理回路14は、フレームメモリ40と、記憶制御部41と、加算処理部42と、ライトバッファ43と、リードバッファ44と、出力制御部45とを備えている。処理回路14は、例えば、CPU等とは異なり、ソフトウェアを使用せずに動作するハードウェアである。したがって、記憶制御部41、加算処理部42及び出力制御部45は、それぞれ、記憶制御回路41、加算処理回路42及び出力制御回路45と呼ぶことができる。処理回路14は、画像データを処理する一種のデータ処理装置である。
<Details of processing circuit>
FIG. 11 is a diagram showing the configuration of the processing circuit 14. As shown in FIG. 11, the processing circuit 14 includes a frame memory 40, a storage control unit 41, an addition processing unit 42, a write buffer 43, a read buffer 44, and an output control unit 45. The processing circuit 14 is hardware that operates without using software, unlike, for example, a CPU or the like. Therefore, the storage control unit 41, the addition processing unit 42, and the output control unit 45 can be referred to as the storage control circuit 41, the addition processing circuit 42, and the output control circuit 45, respectively. The processing circuit 14 is a type of data processing apparatus that processes image data.
フレームメモリ40は、一種の記憶回路であって、例えばSRAMで構成されている。フレームメモリ40は、例えば、1フレーム分の画像(1枚の画像)を記憶することができる。つまり、フレームメモリ40は、1フレーム分の画像データを記憶することができる。フレームメモリ40は、複数フレーム分の画像を記憶することが可能であっても良い。
The frame memory 40 is a kind of storage circuit, and is composed of, for example, an SRAM. The frame memory 40 can store, for example, an image for one frame (one image). That is, the frame memory 40 can store one frame of image data. The frame memory 40 may be capable of storing images for a plurality of frames.
出力制御部45は、フレームメモリ40から読み出されたデータが入力され、当該データについてのDMAコントローラ10への出力を制御する。出力制御部45は、動作モードとして、入力されるデータをDMAコントローラ10に出力する出力モードと、入力されるデータをDMAコントローラ10に出力しない非出力モードとを有している。出力制御部45は、基本的には非出力モードで動作し、フレームメモリ40から出力対象データが読み出されるときにだけ出力モードで動作する。これにより、フレームメモリ40から読み出された出力対象データは、出力制御部45からDMAコントローラ10に出力される。
The output control unit 45 receives the data read from the frame memory 40, and controls the output of the data to the DMA controller 10. The output control unit 45 has, as an operation mode, an output mode for outputting input data to the DMA controller 10, and a non-output mode for not outputting input data to the DMA controller 10. The output control unit 45 basically operates in the non-output mode, and operates in the output mode only when the output target data is read from the frame memory 40. As a result, the output target data read from the frame memory 40 is output from the output control unit 45 to the DMA controller 10.
記憶制御部41は、フレームメモリ40、リードバッファ44、ライトバッファ43及び出力制御部45を制御する。記憶制御部41によるフレームメモリ40に対する制御によって、フレームメモリ40にデータが書き込まれたり、フレームメモリ40からデータが読み出されたりする。出力制御部45は、記憶制御部41による制御に応じて、フレームメモリ40から読み出されたデータについてのDMAコントローラ10への出力を制御する。なお、記憶制御部41については後で詳細に説明する。
The storage control unit 41 controls the frame memory 40, the read buffer 44, the write buffer 43, and the output control unit 45. Data is written to the frame memory 40 or data is read from the frame memory 40 by the storage control unit 41 controlling the frame memory 40. The output control unit 45 controls output of the data read from the frame memory 40 to the DMA controller 10 according to the control by the storage control unit 41. The storage control unit 41 will be described in detail later.
加算処理部42は、変換回路20で生成される回転画像を、記憶制御部41による制御によってフレームメモリ40から読み出される加算対象の画像に対して加算する。つまり、加算処理部42は、変換回路20で生成される、回転画像の画像データを、フレームメモリ40から読み出される、加算対象の画像の画像データに対して加算する。上述の図10に示されるように、回転画像群のうち2番目の回転画像120−2についての加算対象の画像は、最初の回転画像120−1となり、m番目(mは変数で、3≦m≦N)の回転画像120−mについての加算対象の画像は、(m−2)回積算画像150−(m−2)となる。
The addition processing unit 42 adds the rotated image generated by the conversion circuit 20 to the addition target image read from the frame memory 40 under the control of the storage control unit 41. That is, the addition processing unit 42 adds the image data of the rotated image generated by the conversion circuit 20 to the image data of the image to be added which is read from the frame memory 40. As shown in FIG. 10 described above, the image to be added for the second rotation image 120-2 in the rotation image group is the first rotation image 120-1, and the m-th (m is a variable, 3 ≦ 0). The image to be added with respect to the rotated image 120-m with m ≦ N) is the (m−2) times accumulated image 150− (m−2).
ここで、加算される2つの画像データの一方及び他方を「第1画像データ」及び「第2画像データ」とそれぞれ呼ぶ。そして、第1画像データを構成する複数の画素データのそれぞれを「第1画素データ」と呼び、第2画像データを構成する複数の画素データのそれぞれを「第2画素データ」と呼ぶ。加算処理部42は、第1画像データを構成する複数の第1画素データのそれぞれについて、当該第1画素データと、第2画像データにおける、当該第1画素データと同じ位置(座標)での第2画素データとを加算することによって、第1画像データと第2画像データとを加算する。
Here, one and the other of the two image data to be added will be referred to as "first image data" and "second image data", respectively. Then, each of a plurality of pixel data constituting the first image data is referred to as “first pixel data”, and each of a plurality of pixel data constituting the second image data is referred to as “second pixel data”. The addition processing unit 42 sets the first pixel data and the second image data at the same position (coordinates) as the first pixel data, for each of the plurality of first pixel data forming the first image data. By adding the two pixel data, the first image data and the second image data are added.
本例では、座標変換回路12は、上述のように、回転画像120の画像データを構成する複数の画素データを1画素ずつ出力する。加算処理部42は、最初の回転画像120−1の画素データが入力画素データ125として入力されると、加算処理を行わずに、入力画素データ125をそのままライトバッファ43に書き込む。ライトバッファ43は、例えば4画素分の画素データを記憶することが可能である。ライトバッファ43に4画素分の画素データが蓄積されると、記憶制御部41によるフレームメモリ40に対する制御によって、ライトバッファ43内の4画素分の画素データはフレームメモリ40に一度に書き込まれる。これにより、フレームメモリ40に対しては4画素単位で画素データが書き込まれる。つまり、フレームメモリ40に対する1回のライトアクセスで、ライトバッファ43内の4画素分の画素データが書き込まれる。フレームメモリ40では、ライトバッファ43内の4画素分の画素データは、同じアドレスの記憶領域に書き込まれる。ライトバッファ43内のデータがフレームメモリ40に書き込まれると、書き込まれたデータはライトバッファ43から消去される。
In this example, the coordinate conversion circuit 12 outputs a plurality of pixel data constituting the image data of the rotated image 120 pixel by pixel as described above. When the pixel data of the first rotated image 120-1 is input as the input pixel data 125, the addition processing unit 42 writes the input pixel data 125 to the light buffer 43 as it is without performing the addition process. The light buffer 43 can store, for example, pixel data for four pixels. When pixel data for four pixels is stored in the light buffer 43, pixel data for four pixels in the light buffer 43 is written at one time to the frame memory 40 by control of the frame memory 40 by the storage control unit 41. Thus, pixel data is written to the frame memory 40 in units of four pixels. That is, pixel data for four pixels in the write buffer 43 is written by one write access to the frame memory 40. In the frame memory 40, pixel data for four pixels in the write buffer 43 is written to the storage area of the same address. When the data in the write buffer 43 is written to the frame memory 40, the written data is erased from the write buffer 43.
記憶制御部41によるフレームメモリ40に対する制御によって、フレームメモリ40からは、4画素単位で画素データが読み出される。つまり、フレームメモリ40に対する1回のリードアクセスで、フレームメモリ40から、同じアドレスの記憶領域に記憶されている4画素分の画素データが読み出される。フレームメモリ40から一度に読み出された4画素分の画素データはリードバッファ44に書き込まれる。
By control of the frame memory 40 by the storage control unit 41, pixel data is read from the frame memory 40 in units of four pixels. That is, pixel data for four pixels stored in the storage area of the same address is read from the frame memory 40 by one read access to the frame memory 40. The pixel data for four pixels read out at one time from the frame memory 40 is written to the read buffer 44.
加算処理部42は、入力画素データ125が、l番目(lは変数で、2≦l≦N)の回転画像120−lの画素データである場合、リードバッファ44から加算対象の画素データ165を読み出す。そして、加算処理部42は、リードバッファ44から読み出した画素データ165に対して入力画素データ125を加算する。これにより、加算処理部42では、(l−1)回積算画像150−(l−1)の画素データ155が得られる。加算処理部42は、(l−1)回積算画像150−(l−1)の画素データ155を、ライトバッファ43に記憶する。ライトバッファ43内の画素データはフレームメモリ40に記憶される。加算処理部42は、座標変換回路12から画素データが入力されるたびに同様の処理を行う。これにより、フレームメモリ40には、合成画像140((N−1)回積算画像150−(N−1))の画像データが記憶される。リードバッファ44からデータが読み出されると、読み出されたデータはリードバッファ44から消去される。
When the input pixel data 125 is the l-th (l is a variable, 2 ≦ l ≦ N) pixel data of the rotated image 120-1, the addition processing unit 42 receives the pixel data 165 to be added from the read buffer 44. read out. Then, the addition processing unit 42 adds the input pixel data 125 to the pixel data 165 read from the read buffer 44. Thereby, the addition processing unit 42 obtains the pixel data 155 of the (l-1) -time accumulated image 150- (l-1). The addition processing unit 42 stores the pixel data 155 of the (l−1) -time accumulated image 150-(l−1) in the light buffer 43. Pixel data in the write buffer 43 is stored in the frame memory 40. The addition processing unit 42 performs the same processing each time pixel data is input from the coordinate conversion circuit 12. As a result, the frame memory 40 stores the image data of the composite image 140 ((N−1) times accumulated image 150-(N−1)). When data is read from the read buffer 44, the read data is erased from the read buffer 44.
このように、加算処理部42は、l番目の回転画像120の画素データを、リードバッファ44内の加算対象の画素データ165に対して加算して、(l−1)回積算画像150−(l−1)の画素データ155を生成する。例えば、2番目の回転画像120−2の画素データが入力画素データ125である場合、当該入力画素データ125についての加算対象の画素データ165は、最初の回転画像120−lにおける、当該入力画素データ125と同じ位置での画素データとなる。また、3番目の回転画像120−3の画素データが入力画素データ125である場合、当該入力画素データ125についての加算対象の画素データ165は、1回積算画像150−1における、当該入力画素データ125と同じ位置での画素データとなる。入力画素データ125についての加算対象の画素データ165は、記憶制御部41によるフレームメモリ40に対する制御によって、当該入力画素データ125が加算処理部42に入力されるときにはリードバッファ44に記憶されている。
As described above, the addition processing unit 42 adds the pixel data of the l-th rotated image 120 to the pixel data 165 to be added in the read buffer 44, and adds the (l-1) -time accumulated image 150-( l-1) pixel data 155 is generated. For example, when the pixel data of the second rotated image 120-2 is the input pixel data 125, the pixel data 165 to be added for the input pixel data 125 is the input pixel data in the first rotated image 120-1. It becomes pixel data at the same position as 125. When the pixel data of the third rotated image 120-3 is the input pixel data 125, the pixel data 165 to be added to the input pixel data 125 is the input pixel data in the one-time integration image 150-1. It becomes pixel data at the same position as 125. The pixel data 165 to be added with respect to the input pixel data 125 is stored in the read buffer 44 when the input pixel data 125 is input to the addition processing unit 42 under the control of the frame memory 40 by the storage control unit 41.
本例では、フレームメモリ40は、例えば1ポートメモリである。したがって、フレームメモリ40からデータが読み出されているときに、フレームメモリ40に対してデータを書き込むことはできない。
In this example, the frame memory 40 is, for example, a 1-port memory. Therefore, when data is read from frame memory 40, data can not be written to frame memory 40.
また、処理回路14では、フレームメモリ40に対してリードモディファイライトが行われる。具体的には、フレームメモリ40のあるアドレスの記憶領域に記憶されている画素データは、フレームメモリ40から読み出された後、加算処理部42で加算処理が実行される。そして、加算処理された画素データは、当該あるアドレスと同じアドレスの記憶領域に書き戻される。言い換えれば、ライトバッファ43内の積算画像150の画素データ155がフレームメモリ40に対して書き込まれる場合には、加算処理部42において当該画素データ155の生成で使用された加算対象の画素データ165が読み出された記憶領域に対して、当該画素データ155が記憶される。
In the processing circuit 14, read modify write is performed on the frame memory 40. Specifically, after the pixel data stored in the storage area at a certain address of the frame memory 40 is read from the frame memory 40, the addition processing unit 42 executes an addition process. Then, the pixel data subjected to the addition processing is written back to the storage area of the same address as the given address. In other words, when the pixel data 155 of the integrated image 150 in the write buffer 43 is written to the frame memory 40, the pixel data 165 to be added used for generating the pixel data 155 in the addition processing unit 42 is The pixel data 155 is stored in the read storage area.
本例では、フレームメモリ40から一度に4画素分の画素データが読み出されて、リードバッファ44に記憶される。また、ライトバッファ43内の4画素分の画素データがフレームメモリ40に対して一度に書き込まれる。処理回路14では、フレームメモリ40のあるアドレスの記憶領域に記憶されている4画素分の画素データは、フレームメモリ40から読み出されて、一旦リードバッファ44に記憶された後に、加算処理部42で加算処理が実行される。そして、加算処理された4画素分の画素データは、ライトバッファ43に一旦記憶された後に、当該あるアドレスと同じアドレスの記憶領域に書き戻される。
In this example, pixel data for four pixels are read from the frame memory 40 at one time and stored in the read buffer 44. In addition, pixel data for four pixels in the write buffer 43 is written to the frame memory 40 at one time. In the processing circuit 14, pixel data for four pixels stored in a storage area at a certain address of the frame memory 40 is read from the frame memory 40 and temporarily stored in the read buffer 44. The addition process is executed at. Then, the pixel data for the four pixels subjected to the addition process is temporarily stored in the write buffer 43 and then written back to the storage area having the same address as the certain address.
このように、本例では、フレームメモリ40が1ポートメモリであって、フレームメモリ40に対してリードモディファイライトが行われる。したがって、フレームメモリ40の回路規模を小さくすることができる。
As described above, in this example, the frame memory 40 is a one-port memory, and the read modify write is performed on the frame memory 40. Therefore, the circuit scale of the frame memory 40 can be reduced.
フレームメモリ40内の合成画像140の画像データは、出力制御部45からDMAコントローラ10に出力される。記憶制御部41によるフレームメモリ40に対する制御によって、フレームメモリ40から、合成画像140の画素データ(出力対象データ)145が読み出されると、出力制御部45は、読み出された画素データ145をDMAコントローラ10に出力する。フレームメモリ40からは、4画素分の画素データが一度に読み出されることから、出力制御部45は、フレームメモリ40から読み出された、合成画像140の4画素分の画素データ145をDMAコントローラ10に出力する。フレームメモリ40から読み出された合成画像140の画素データ145は、記憶制御部41によるリードバッファ44に対する制御によって、リードバッファ44には記憶されない。
The image data of the composite image 140 in the frame memory 40 is output from the output control unit 45 to the DMA controller 10. When the pixel data (output target data) 145 of the composite image 140 is read from the frame memory 40 by control of the frame memory 40 by the storage control unit 41, the output control unit 45 performs DMA control on the read pixel data 145 Output to 10. Since pixel data for four pixels are read out from the frame memory 40 at one time, the output control unit 45 uses the DMA controller 10 for the pixel data 145 for four pixels of the composite image 140 read from the frame memory 40. Output to The pixel data 145 of the composite image 140 read from the frame memory 40 is not stored in the read buffer 44 due to control of the read buffer 44 by the storage control unit 41.
DMAコントローラ10は、処理回路14から入力される画素データをバッファ100に一旦記憶する。バッファ100は、複数画素分の画素データを記憶することが可能である。DMAコントローラ10は、バッファ100が一杯になると、バッファ100内の複数画素分の画素データをシステムメモリ3に転送する。これにより、システムメモリ3には、画像処理回路4で生成された合成画像140(合成画像140の画像データ)が記憶される。DMAコントローラ10では、バッファ100内のデータがシステムメモリ3に転送されると、転送されたデータはバッファ100から消去される。なお、DMAコントローラ10は、バッファ100内のデータのデータ量が所定以上になると、バッファ100内のデータをシステムメモリ3に転送しても良い。
The DMA controller 10 temporarily stores the pixel data input from the processing circuit 14 in the buffer 100. The buffer 100 can store pixel data for a plurality of pixels. When the buffer 100 is full, the DMA controller 10 transfers pixel data for a plurality of pixels in the buffer 100 to the system memory 3. As a result, the system memory 3 stores the composite image 140 (image data of the composite image 140) generated by the image processing circuit 4. In the DMA controller 10, when the data in the buffer 100 is transferred to the system memory 3, the transferred data is erased from the buffer 100. Note that the DMA controller 10 may transfer the data in the buffer 100 to the system memory 3 when the amount of data in the buffer 100 exceeds a predetermined value.
<記憶制御部の詳細>
記憶制御部41は、加算処理部42で処理される加算対象の画素データ165をフレームメモリ40から読み出す第1読み出し処理(「処理対象読み出し処理」とも言う)を実行する。また、記憶制御部41は、加算処理部42で生成される、積算画像150の画素データ155を、フレームメモリ40に書き込む書込み処理を行う。積算画像150の画素データ155は、加算処理部42で処理された画素データ165であると言える。そして、記憶制御部41は、出力対象データである、合成画像140の画素データ145を、フレームメモリ40から読み出す第2読み出し処理(「出力対象読み出し処理」とも言う)を実行する。
<Details of storage controller>
The storage control unit 41 executes a first reading process (also referred to as “process target reading process”) for reading from the frame memory 40 the pixel data 165 to be added that is processed by the addition processing unit 42. Further, the storage control unit 41 performs a writing process of writing the pixel data 155 of the integrated image 150 generated by the addition processing unit 42 into the frame memory 40. It can be said that the pixel data 155 of the integrated image 150 is the pixel data 165 processed by the addition processing unit 42. Then, the storage control unit 41 executes a second reading process (also referred to as “output target reading process”) for reading from the frame memory 40 the pixel data 145 of the composite image 140, which is output target data.
記憶制御部41は、第1読み出し要求出力部411、書き込み要求出力部412、第2読み出し要求出力部413及び調停部410を備えている。第1読み出し要求出力部411は、第1読み出し処理の実行要求である第1読み出し要求(「処理対象読み出し要求」とも言う)を出力する。書き込み要求出力部412は、書き込み要求の実行要求である書き込み要求を出力する。第2読み出し要求出力部413は、第2読み出し処理の実行要求である第2読み出し要求(「出力対象読み出し要求」とも言う)を出力する。
The storage control unit 41 includes a first read request output unit 411, a write request output unit 412, a second read request output unit 413, and an arbitration unit 410. The first read request output unit 411 outputs a first read request (also referred to as a “processing target read request”) that is an execution request for the first read process. The write request output unit 412 outputs a write request that is an execution request for the write request. The second read request output unit 413 outputs a second read request (also referred to as “output target read request”) that is a request for executing the second read process.
第1読み出し要求出力部411は、第1読み出し要求を示す第1読み出し要求信号を出力する。第1読み出し要求信号には、フレームメモリ40において、読み出し対象の画素データ165が記憶される記憶領域のアドレスが含まれている。
The first read request output unit 411 outputs a first read request signal indicating a first read request. The first read request signal includes the address of the storage area in the frame memory 40 where the pixel data 165 to be read is stored.
書き込み要求出力部412は、書き込み要求を示す書き込み要求信号を出力する。書き込み要求信号には、フレームメモリ40において、書き込み対象の画素データ155を書き込む記憶領域のアドレスが含まれている。
The write request output unit 412 outputs a write request signal indicating a write request. The write request signal includes an address of a storage area in the frame memory 40 in which the pixel data 155 to be written is written.
第2読み出し要求出力部411は、第2読み出し要求を示す第2読み出し要求信号を出力する。第2読み出し要求信号には、フレームメモリ40において、読み出し対象の画素データ145が記憶される記憶領域のアドレスが含まれている。
The second read request output unit 411 outputs a second read request signal indicating a second read request. The second read request signal includes the address of the storage area in the frame memory 40 in which the pixel data 145 to be read is stored.
第1読み出し要求出力部411、書き込み要求出力部412及び第2読み出し要求出力部413は、互いに独立した基準に基づいて、第1読み出し要求、書き込み要求及び第2読み出し要求をそれぞれ出力する。
The first read request output unit 411, the write request output unit 412, and the second read request output unit 413 output the first read request, the write request, and the second read request based on mutually independent criteria.
第1読み出し要求出力部411は、例えば、リードバッファ44が空の場合に、第1読み出し要求(第1読み出し要求信号)を出力する。書き込み要求出力部412は、例えば、ライトバッファ43が一杯の場合に、書き込み要求(書き込み要求信号)を出力する。
For example, when the read buffer 44 is empty, the first read request output unit 411 outputs a first read request (first read request signal). For example, when the write buffer 43 is full, the write request output unit 412 outputs a write request (write request signal).
第2読み出し要求出力部413は、例えば、DMAコントローラ10のバッファ100の空き状況に基づいて、第2読み出し要求(第2読み出し要求信号)を出力する。例えば、第2読み出し要求出力部413は、バッファ100が空の場合、第2読み出し要求を出力する。あるいは、第2読み出し要求出力部413は、バッファ100の空き容量が所定量以上の場合(例えば、4画素分の画素データのデータ量以上の場合)、第2読み出し要求を出力する。言い換えれば、第2読み出し要求出力部413は、バッファ100での空いている記憶領域が記憶することが可能なデータ量が所定量以上の場合、第2読み出し要求を出力する。
The second read request output unit 413 outputs a second read request (second read request signal) based on, for example, the availability of the buffer 100 of the DMA controller 10. For example, the second read request output unit 413 outputs a second read request when the buffer 100 is empty. Alternatively, the second read request output unit 413 outputs the second read request when the free space of the buffer 100 is equal to or more than a predetermined amount (for example, when the amount of pixel data of four pixels is equal to or more). In other words, the second read request output unit 413 outputs the second read request when the amount of data that can be stored in the free storage area in the buffer 100 is equal to or more than the predetermined amount.
ただし、フレームメモリ40内に、出力対象データ、つまり合成画像140の画素データ145が記憶されていない場合には、記憶制御部41は出力対象データをフレームメモリ2から読み出すことができない。したがって、第2読み出し要求出力部413は、フレームメモリ40において、合成画像140の画素データ145が4画素分以上記憶されている場合であって、かつバッファ100が空の場合、第2読み出し要求を出力する。あるいは、第2読み出し要求出力部413は、フレームメモリ40において、合成画像140の画素データ145が4画素分以上記憶されている場合であって、かつバッファ100の空き容量が所定量以上の場合、第2読み出し要求を出力する。
However, when the output target data, that is, the pixel data 145 of the composite image 140 is not stored in the frame memory 40, the storage control unit 41 can not read the output target data from the frame memory 2. Therefore, when the pixel data 145 of the composite image 140 is stored for four or more pixels in the frame memory 40 and the buffer 100 is empty, the second read request output unit 413 outputs the second read request. Output. Alternatively, if the second read request output unit 413 stores four or more pixel data 145 of the composite image 140 in the frame memory 40 and the free space of the buffer 100 is a predetermined amount or more, Output a second read request.
このように、第1読み出し要求出力部411、書き込み要求出力部412及び第2読み出し要求出力部413は、互いに独立した基準に基づいて、第1読み出し要求、書き込み要求及び第2読み出し要求をそれぞれ出力することから、第1読み出し要求、書き込み要求及び第2読み出し要求の少なくとも2つの要求が競合することがある。つまり、第1読み出し要求出力部411、書き込み要求出力部412及び第2読み出し要求出力部413の少なくとも2つから同時に要求が出力されることがある。
As described above, the first read request output unit 411, the write request output unit 412, and the second read request output unit 413 respectively output the first read request, the write request, and the second read request based on the mutually independent criteria. Thus, at least two requests of the first read request, the write request and the second read request may conflict. That is, requests may be simultaneously output from at least two of the first read request output unit 411, the write request output unit 412, and the second read request output unit 413.
そこで、記憶制御部41には、第1読み出し要求、書き込み要求及び第2読み出し要求の少なくとも2つの要求が競合する場合に、競合する少なくとも2つの要求を調停する調停部410が設けられている。
Therefore, the storage control unit 41 is provided with an arbitration unit 410 that arbitrates at least two conflicting requests when at least two requests of the first read request, the write request, and the second read request conflict.
調停部410は、第1読み出し要求、書き込み要求及び第2読み出し要求が競合しない場合には、入力される要求に応じた処理をフレームメモリ2に対して行う。一方で、調停部410は、第1読み出し要求、書き込み要求及び第2読み出し要求の少なくとも2つの要求が競合する場合には、競合する少なくとも2つの要求を調停することによって当該2つの要求の一つを選択する。そして、調停部410は、選択した要求に応じた処理をフレームメモリ2に対して行う。
When the first read request, the write request, and the second read request do not conflict, the arbitration unit 410 performs processing corresponding to the input request on the frame memory 2. On the other hand, when at least two requests, the first read request, the write request, and the second read request, conflict, the arbitration unit 410 arbitrates between at least two conflicting requests, thereby adjusting one of the two requests. Choose Then, the arbitrating unit 410 performs processing corresponding to the selected request on the frame memory 2.
本例では、第1読み出し要求、書き込み要求及び第2読み出し要求に対して、処理の優先度が割り当てられている。例えば、第1読み出し要求に対して最も高い優先度が割てられて、書き込み要求に対して2番目に高い優先度が割り当てられ、第2読み出し要求に対しては最も低い優先度が割り当てられる。そして、調停部410は、競合する少なくとも2つの要求の優先度に基づいて、当該少なくとも2つの要求を調停する。調停部410では、競合する少なくとも2つの要求のうち、優先度が最も高い要求が選択され、選択された要求に応じた処理が行われる。したがって、例えば、第1読み出し要求、書き込み要求及び第2読み出し要求の3つの要求が競合する場合には、第1読み出し要求が選択される。また、書き込み要求及び第2読み出し要求の2つの要求が競合する場合には、書き込み要求が選択される。
In this example, processing priorities are assigned to the first read request, the write request, and the second read request. For example, the highest priority is divided for the first read request, the second highest priority is assigned to the write request, and the lowest priority is assigned to the second read request. Then, the arbitrating unit 410 arbitrates the at least two requests based on the priorities of at least two competing requests. In the arbitration unit 410, a request having the highest priority is selected from at least two competing requests, and processing according to the selected request is performed. Therefore, for example, when the three requests of the first read request, the write request, and the second read request conflict, the first read request is selected. In addition, when the two requests of the write request and the second read request conflict, the write request is selected.
調停部410は、第1読み出し要求に応じた処理を行う場合には、第1読み出し要求出力部411から入力される第1読み出し要求信号に含まれるアドレスと、リード信号とをフレームメモリ40に出力する。これにより、フレームメモリ40における、第1読み出し要求信号に含まれるアドレスの記憶領域から4画素分の画素データが読み出されて、リードバッファ44に書き込まれる。調停部410が第1読み出し要求に応じた処理を行う際には、出力制御部45は非出力モードで動作していることから、フレームメモリ40から読み出されたデータが出力制御部45から出力されない。
When the arbitration unit 410 performs processing according to the first read request, the arbitration unit 410 outputs the address included in the first read request signal input from the first read request output unit 411 and the read signal to the frame memory 40. Do. As a result, the pixel data for four pixels is read from the storage area of the address included in the first read request signal in the frame memory 40 and written to the read buffer 44. When the arbitration unit 410 performs processing in response to the first read request, the output control unit 45 operates in the non-output mode, so that data read from the frame memory 40 is output from the output control unit 45. I will not.
調停部410は、書き込み要求に応じた処理を行う場合には、ライトバッファ43から4画素分の画素データを読み出してフレームメモリ40に入力するとともに、書き込み要求出力部412から入力される書き込み要求信号に含まれるアドレスと、ライト信号とをフレームメモリ40に出力する。これにより、ライトバッファ43から出力される4画素分の画素データが、フレームメモリ40における、書き込み要求信号に含まれるアドレスの記憶領域に対して書き込まれる。
The arbitration unit 410 reads the pixel data for four pixels from the write buffer 43 and inputs the pixel data to the frame memory 40 and performs the write request signal input from the write request output unit 412 when performing processing according to the write request. And the write signal are output to the frame memory 40. As a result, the pixel data for four pixels output from the write buffer 43 is written to the storage area of the address included in the write request signal in the frame memory 40.
調停部410は、第2読み出し要求に応じた処理を行う場合には、第2読み出し要求出力部413から入力される第2読み出し要求信号に含まれるアドレスと、リード信号とをフレームメモリ40に出力するとともに、出力制御部45の動作モードを非出力モードから出力モードに変更する。これにより、フレームメモリ40における、第2読み出し要求信号に含まれるアドレスの記憶領域から4画素分の画素データが読み出され、読み出された4画素分の画素データは、出力制御部45からDMAコントローラ10に出力される。
When the arbitration unit 410 performs processing according to the second read request, the arbitration unit 410 outputs the address included in the second read request signal input from the second read request output unit 413 and the read signal to the frame memory 40. At the same time, the operation mode of the output control unit 45 is changed from the non-output mode to the output mode. Thus, pixel data for four pixels is read out from the storage area of the address included in the second read request signal in the frame memory 40, and the read pixel data for four pixels is output from the output control unit 45 by DMA. It is output to the controller 10.
なお、上記の例では、座標変換回路12での処理時間が比較的大きく、座標変換回路12において回転画像120の画素データがすぐに得られず、その結果、合成画像140の画素データ145(出力対象データ)が得られにくい状況を想定し、画像処理装置1全体での処理速度を向上するために、合成画像140の画素データ145の生成に必要な第1読み出し要求及び書き込み要求の優先度を、第2読み出し要求の優先度よりも高くしている。しかしながら、第1読み出し要求、書き込み要求及び第2読み出し要求に対する優先度の割り当て方はこの限りではない。
In the above example, the processing time in the coordinate conversion circuit 12 is relatively long, and the pixel data of the rotated image 120 cannot be obtained immediately in the coordinate conversion circuit 12, and as a result, the pixel data 145 (output of the composite image 140) Assuming a situation in which it is difficult to obtain target data), the priority of the first read request and the write request necessary for generating the pixel data 145 of the composite image 140 is set to improve the processing speed of the entire image processing apparatus 1. , Higher than the priority of the second read request. However, the priority assignment method for the first read request, the write request, and the second read request is not limited to this.
例えば、バス5の使用率が常に高く、DMAコントローラ10からシステムメモリ3に対してデータを転送しにくく、その結果、DMAコントローラ10のバッファ100に空きが生じにくい場合には、フレームメモリ40内において出力対象データ(合成画像140の画素データ145)が蓄積されやすい。この場合に、第1読み出し要求及び書き込み要求の優先度を、第2読み出し要求の優先度よりも高くすると、フレームメモリ40内の出力対象データはいつまでも処理回路14から出力されない可能性がある。そこで、このような場合には、フレームメモリ40からの出力対象データの読み出しに必要な第2読み出し要求の優先度を、第1読み出し要求及び書き込み要求の優先度よりも高くする。これにより、画像処理装置1全体での処理速度を向上することができる。
For example, when the utilization of the bus 5 is always high and it is difficult to transfer data from the DMA controller 10 to the system memory 3 and as a result, it is difficult to make space in the buffer 100 of the DMA controller 10. The output target data (pixel data 145 of the composite image 140) is likely to be accumulated. In this case, if the priority of the first read request and the write request is higher than the priority of the second read request, the output target data in the frame memory 40 may not be output from the processing circuit 14 indefinitely. Therefore, in such a case, the priority of the second read request necessary for reading the output target data from the frame memory 40 is made higher than the priority of the first read request and the write request. As a result, the processing speed of the entire image processing apparatus 1 can be improved.
このように、記憶制御部41では、第1読み出し要求、書き込み要求及び第2読み出し要求の少なくとも2つの要求が競合する場合には、当該少なくとも2つの要求が調停される。そのため、第1読み出し要求出力部411、書き込み要求出力部412及び第2読み出し要求出力部413は互いに独立して動作することができる。よって、第1読み出し要求出力部411、書き込み要求出力部412及び第2読み出し要求出力部413のうちの特定の出力部での処理がボトルネックになることを抑制することができる。その結果、処理回路14全体の処理速度を向上させることができる。
As described above, in the storage control unit 41, when at least two of the first read request, the write request, and the second read request are in contention, the at least two requests are arbitrated. Therefore, the first read request output unit 411, the write request output unit 412 and the second read request output unit 413 can operate independently of each other. Therefore, it is possible to suppress the processing at a specific output unit among the first read request output unit 411, the write request output unit 412, and the second read request output unit 413 from becoming a bottleneck. As a result, the processing speed of the entire processing circuit 14 can be improved.
なお、処理の優先度は変更可能であって良い。例えば、ユーザが処理の優先度を変更できるように画像処理装置1を構成しても良い。また、処理回路14は、画像処理装置1の動作状況に応じて処理の優先度を変更しても良い。例えば、バス5の使用率を求める回路を画像処理装置1に設けて、処理回路14は、当該回路で得られるバス5の使用率に基づいて処理の優先度を変更しても良い。具体的には、処理回路14は、バス5の使用率が所定値よりも大きい場合には、第2読み出し要求の優先度を、第1読み出し要求及び書き込み要求の優先度よりも高くし、バス5の使用率が所定値以下の場合には、第1読み出し要求及び書き込み要求の優先度を、第2読み出し要求の優先度よりも高くする。このように、処理の優先度を動的に変更することにより、処理回路14全体の処理速度をさらに向上させることができる。
Note that the priority of the process may be changeable. For example, the image processing apparatus 1 may be configured to allow the user to change the priority of processing. Further, the processing circuit 14 may change the priority of processing in accordance with the operation state of the image processing apparatus 1. For example, a circuit for obtaining the usage rate of the bus 5 may be provided in the image processing apparatus 1, and the processing circuit 14 may change the priority of processing based on the usage rate of the bus 5 obtained by the circuit. Specifically, the processing circuit 14 makes the priority of the second read request higher than the priority of the first read request and the write request when the usage rate of the bus 5 is larger than the predetermined value. When the usage rate of 5 is less than or equal to the predetermined value, the priority of the first read request and the write request is made higher than the priority of the second read request. Thus, the processing speed of the entire processing circuit 14 can be further improved by dynamically changing the processing priority.
<対象画像110の読み出しから合成画像の生成までの一連の動作について>
図12は画像処理装置1の動作を示すフローチャートである。画像処理装置1の電源が投入されると、CPU2は画像処理装置1の初期設定を行う。画像処理装置1の初期設定では、画像処理回路4に対する初期設定が行われる(ステップs0)。画像処理回路4には、図示しない各種設定レジスタが設けられている。初期設定において、CPU2は、画像処理回路4内の各種設定レジスタにデータを設定する。例えば、CPU2は、システムメモリ3において対象画像110が記憶される記憶領域のアドレスを第1設定レジスタに設定したり、システムメモリ3において、画像処理回路4で得られる合成画像140の書き込み先の記憶領域のアドレスを第2設定レジスタに設定したり、画像処理回路4が処理する対象画像110の画像サイズを第3設定レジスタに設定する。さらに、画像処理回路4の初期設定では、CPU2は、変換パラメータリスト130を、画像処理回路4の記憶回路13に設定する。これにより、記憶回路13には、変換パラメータリスト130が記憶される。CPU2は、例えば、システムメモリ3内の、変換パラメータリスト130が記述されたプログラムを実行することによって、変換パラメータリスト130を記憶回路13に書き込む。なお、CPU2は、初期設定時に、変換パラメータリスト130を作成し、作成した変換パラメータリスト130を記憶回路13に書き込んでも良い。
<About a series of operations from reading the target image 110 to generating a composite image>
FIG. 12 is a flowchart showing the operation of the image processing apparatus 1. When the power of the image processing apparatus 1 is turned on, the CPU 2 performs initial setting of the image processing apparatus 1. In initial setting of the image processing apparatus 1, initial setting for the image processing circuit 4 is performed (step s0). The image processing circuit 4 is provided with various setting registers (not shown). In the initial setting, the CPU 2 sets data in various setting registers in the image processing circuit 4. For example, the CPU 2 sets the address of the storage area where the target image 110 is stored in the system memory 3 in the first setting register, or stores in the system memory 3 the write destination of the composite image 140 obtained by the image processing circuit 4 The area address is set in the second setting register, and the image size of the target image 110 processed by the image processing circuit 4 is set in the third setting register. Further, in the initial setting of the image processing circuit 4, the CPU 2 sets the conversion parameter list 130 in the storage circuit 13 of the image processing circuit 4. As a result, the conversion parameter list 130 is stored in the storage circuit 13. For example, the CPU 2 writes the conversion parameter list 130 in the storage circuit 13 by executing a program in which the conversion parameter list 130 is described in the system memory 3. Note that the CPU 2 may create the conversion parameter list 130 and write the created conversion parameter list 130 into the storage circuit 13 at the time of initial setting.
初期設定が終了した後、CPU2は、画像処理回路4に対して1枚目の対象画像110に関する設定を行う(ステップs1)。具体的には、CPU2は、1枚目の対象画像110に対する処理で使用される特定情報220を、画像処理回路4の制御回路21が有するレジスタ22に設定する。
After the initial setting is completed, the CPU 2 sets the image processing circuit 4 regarding the first target image 110 (step s1). Specifically, the CPU 2 sets specific information 220 used in processing for the first target image 110 in the register 22 included in the control circuit 21 of the image processing circuit 4.
画像処理回路4では、レジスタ22に特定情報220が設定されると、DMAコントローラ10が、上述の第1設定レジスタに設定されているアドレスに基づいて、システムメモリ3から1枚目の対象画像110を読み出して入力フレームバッファ11に書き込む(ステップs1−1)。座標変換回路12は、レジスタ22内の特定情報220に基づいて、記憶回路13から最初に使用する使用対象回転パラメータ132を読み出して、読み出した使用対象回転パラメータ132に基づいて、入力フレームバッファ11内の対象画像110に対して1回目の回転用座標変換を行う(ステップs1−1)。これにより、最初の回転画像120−1が得られる。この最初の回転画像120−1は処理回路14のフレームメモリ40に記憶される。
In the image processing circuit 4, when the specific information 220 is set in the register 22, the DMA controller 10 counts the first target image 110 from the system memory 3 based on the address set in the first setting register described above. Is written to the input frame buffer 11 (step s1-1). The coordinate conversion circuit 12 reads the target rotation parameter 132 to be used first from the storage circuit 13 based on the specific information 220 in the register 22, and based on the read target rotation parameter 132, the inside of the input frame buffer 11. The first rotation coordinate transformation is performed on the target image 110 (step s1-1). Thereby, the first rotated image 120-1 is obtained. The first rotated image 120-1 is stored in the frame memory 40 of the processing circuit 14.
座標変換回路12は、最初の回転画像120−1を生成すると、特定情報220に基づいて、記憶回路13から2番目に使用する使用対象回転パラメータ132を読み出して、読み出した使用対象回転パラメータ132に基づいて、入力フレームバッファ11内の対象画像110に対して2回目の回転用座標変換を行う(ステップs1−2)。これより、2番目の回転画像120−2が得られる。一方で、処理回路14は、最初の回転画像120−1に対して、2番目の回転画像120−2を加算して、1回積算画像150−1を生成する(ステップs1−2)。
When the coordinate conversion circuit 12 generates the first rotation image 120-1, the coordinate conversion circuit 12 reads out the use target rotation parameter 132 to be used second from the storage circuit 13 based on the specific information 220, and uses it as the read use target rotation parameter 132. The second rotation coordinate conversion is performed on the target image 110 in the input frame buffer 11 (step s1-2). From this, the second rotated image 120-2 is obtained. On the other hand, the processing circuit 14 adds the second rotated image 120-2 to the first rotated image 120-1 to generate a one-time integrated image 150-1 (step s1-2).
ここで、座標変換回路12は、回転画像120の画素データを生成するたびに、生成した画素データを出力する。また、処理回路14は、座標変換回路12から画素データが入力されると、入力された画素データを、リードバッファ44から読み出した加算対象の画素データに加算する。したがって、画像処理回路4では、回転画像120−2が生成された後に、1回積算画像150−1が生成されるのではなく、座標変換回路12での回転画像120−2の生成処理と、処理回路14での1回積算画像150−1の生成処理とは並行して実行される。つまり、画像処理回路4では、座標変換回路12でのl番目の回転画像120−lの生成処理と、処理回路14での(l−1)回積算画像150−(l−1)の生成処理とは並行して実行される。
Here, the coordinate conversion circuit 12 outputs the generated pixel data each time the pixel data of the rotated image 120 is generated. When pixel data is input from the coordinate conversion circuit 12, the processing circuit 14 adds the input pixel data to the pixel data to be added that has been read from the read buffer 44. Therefore, the image processing circuit 4 does not generate the integrated image 150-1 once after the rotation image 120-2 is generated, but generates the rotation image 120-2 in the coordinate conversion circuit 12, The process of generating the one-time accumulated image 150-1 in the processing circuit 14 is performed in parallel. That is, in the image processing circuit 4, the process of generating the l-th rotated image 120-1 in the coordinate conversion circuit 12 and the process of generating the (l−1) -time integrated image 150-(l−1) in the processing circuit 14. And run in parallel.
座標変換回路12は、2番目の回転画像120−2を生成すると、特定情報220に基づいて、記憶回路13から3番目に使用する使用対象回転パラメータ132を読み出して、読み出した使用対象回転パラメータ132に基づいて、入力フレームバッファ11内の対象画像110に対して3回目の回転用座標変換を行う。これより、3番目の回転画像120−3が得られる。一方で、処理回路14は、1回積算画像150−1に対して、3番目の回転画像120−3を加算して、2回積算画像150−2を生成する。
When the coordinate conversion circuit 12 generates the second rotation image 120-2, it reads the use target rotation parameter 132 to be used third from the storage circuit 13 based on the specific information 220 and reads the use target rotation parameter 132. The third rotation coordinate conversion is performed on the target image 110 in the input frame buffer 11 based on the above. Thus, the third rotated image 120-3 is obtained. On the other hand, the processing circuit 14 adds the third rotated image 120-3 to the once accumulated image 150-1 to generate a twice accumulated image 150-2.
以後、画像処理回路4は同様に動作して、座標変換回路12は、N番目の回転画像120−Nを生成する(ステップs1−N)。一方で、処理回路14は、(N−2)回積算画像150−(N−2)に対して、N番目の回転画像120−3を加算して、(N−1)回積算画像150−2、つまり合成画像140を生成する(ステップs1−N)。そして、処理回路14は、合成画像140をDMAコントローラ10に出力する(ステップs1−N)。DMAコントローラ10は、処理回路14から入力された合成画像140を、システムメモリ3における、上述の第2設定レジスタに設定されているアドレスの記憶領域に対して書き込む(ステップs1−N)。上述のように、第1読み出し要求出力部411、書き込み要求出力部412及び第2読み出し要求出力部413は互いに独立して動作することから、加算処理部42での加算処理と、出力制御部45での出力処理とは並行して実行される。したがって、処理回路14では、合成画像140を構成するすべての画素データが生成された後に、合成画像140の画素データが出力されるのではなく、合成画像140の画素データの生成処理と、合成画像140の画素データの出力処理とは並行して実行される。
Thereafter, the image processing circuit 4 operates in the same manner, and the coordinate conversion circuit 12 generates the Nth rotated image 120-N (step s1-N). On the other hand, the processing circuit 14 adds the N-th rotated image 120-3 to the (N-2) -time accumulated image 150- (N-2) to obtain the (N-1) -time accumulated image 150-. 2, that is, a composite image 140 is generated (step s1-N). Then, the processing circuit 14 outputs the composite image 140 to the DMA controller 10 (step s1-N). The DMA controller 10 writes the composite image 140 input from the processing circuit 14 in the storage area of the address set in the above-mentioned second setting register in the system memory 3 (step s1-N). As described above, since the first read request output unit 411, the write request output unit 412, and the second read request output unit 413 operate independently of one another, the addition processing in the addition processing unit 42, the output control unit 45 It is executed in parallel with the output processing in. Therefore, the processing circuit 14 does not output pixel data of the composite image 140 after all pixel data making up the composite image 140 have been generated, but generates pixel data of the composite image 140 and the composite image The process of outputting 140 pixel data is performed in parallel.
画像処理回路4は、システムメモリ3に対する合成画像140の書き込みが終了すると、CPU2に対して、1枚目の対象画像110に対する処理が完了したことを通知する完了通知を行う(ステップs1−e)。画像処理回路4からのCPU2に対する完了通知は、例えばCPU2の割り込み機能が利用される。CPU2は、完了通知を受け取ると、画像処理回路4に対して2枚目の対象画像110に関する設定を行う(ステップs2)。具体的には、CPU2は、2枚目の対象画像110に対する処理で使用される特定情報220を、画像処理回路4の制御回路21が有するレジスタ22に設定する。画像処理回路4は、同様に動作して、2枚目の対象画像110に基づいて合成画像140を生成し、合成画像140をシステムメモリ3に書き込む。以後、画像処理装置1は、3枚目以降の対象画像110に対しても同様に処理を行う。
When the writing of the composite image 140 into the system memory 3 is completed, the image processing circuit 4 notifies the CPU 2 of the completion of the processing on the first target image 110 (step s1-e). . The completion notification from the image processing circuit 4 to the CPU 2 uses, for example, the interrupt function of the CPU 2. When the CPU 2 receives the completion notification, the CPU 2 sets the second target image 110 in the image processing circuit 4 (step s2). Specifically, the CPU 2 sets the specific information 220 used in the process for the second target image 110 in the register 22 of the control circuit 21 of the image processing circuit 4. The image processing circuit 4 operates in the same manner, generates a composite image 140 based on the second target image 110, and writes the composite image 140 in the system memory 3. Thereafter, the image processing apparatus 1 performs the same process on the third and subsequent target images 110.
なお、p枚目(pは変数で、p≧2)の対象画像110に対する処理で使用される特定情報220が、(p−1)枚目の対象画像110に対する処理で使用される特定情報220と同じである場合には、(p−1)枚目の対象画像110についての完了通知を受け取ったCPU2は、p枚目の対象画像110に対する処理で使用する特定情報220をレジスタ22に設定せずに、p枚目の対象画像110に対する処理を開始するように画像処理回路4に指示しても良い。
The specific information 220 used in the process for the p-th (p is a variable, p 、 2) target image 110 is the specific information 220 used in the process for the (p−1) -th target image 110. If the CPU 2 receives the completion notification of the (p-1) th target image 110, the CPU 2 sets the register 22 with the specific information 220 used in the processing for the pth target image 110. Instead, the image processing circuit 4 may be instructed to start processing on the pth target image 110.
このように、座標変換回路12は、複数種類の変換パラメータ131に基づいて、1枚の対象画像110を用いて複数種類の座標変換を連続的に行っている。つまり、座標変換回路12は、複数種類の変換パラメータ131に基づいて、CPU2とデータのやり取りを行わずに1枚の対象画像110を用いて複数種類の座標変換を行っている。したがって、座標変換回路12が、座標変換を行うたびに、その座標変換で使用する変換パラメータ131をCPU2から受け取る場合と比較して、複数種類の座標変換の処理時間を低減することができる。
As described above, the coordinate conversion circuit 12 continuously performs a plurality of types of coordinate conversion using one target image 110 based on a plurality of types of conversion parameters 131. That is, the coordinate conversion circuit 12 performs the plurality of types of coordinate conversion using one target image 110 without exchanging data with the CPU 2 based on the plurality of types of conversion parameters 131. Therefore, each time the coordinate conversion circuit 12 performs coordinate conversion, the processing time for a plurality of types of coordinate conversion can be reduced as compared with the case where the conversion parameter 131 used in the coordinate conversion is received from the CPU 2.
本例では、座標変換回路12は、複数種類の回転パラメータ132に基づいて、1枚の対象画像110に基づいて、互いに回転角度が異なる複数枚の回転画像120を連続的に生成している。したがって、座標変換回路12が、回転画像120を生成するたびに、その回転画像120の生成で使用する回転パラメータ132をCPU2から受け取る場合と比較して、複数枚の回転画像120の生成に必要な処理時間を低減することができる。
In this example, the coordinate conversion circuit 12 continuously generates a plurality of rotated images 120 having different rotation angles based on a single target image 110 based on a plurality of types of rotation parameters 132. Therefore, each time the coordinate conversion circuit 12 generates the rotation image 120, it is necessary to generate a plurality of rotation images 120 as compared to the case where the rotation parameter 132 used in the generation of the rotation image 120 is received from the CPU 2. Processing time can be reduced.
また、座標変換回路12が、複数種類の変換パラメータ131に基づいて、CPU2とデータのやり取りを行わずに1枚の対象画像110を用いて複数種類の座標変換を行うことによって、CPU2の処理負荷を低減することができる。また、本例のように、CPU2と画像処理回路4とがバス5で接続されている場合には、バス5の帯域を低減することが可能となる。
Further, the processing load of CPU 2 is performed by performing coordinate conversion of a plurality of types using a single target image 110 without exchanging data with CPU 2 based on a plurality of types of conversion parameters 131. Can be reduced. Further, when the CPU 2 and the image processing circuit 4 are connected by the bus 5 as in this example, the bandwidth of the bus 5 can be reduced.
また、本例では、画像処理装置1の初期設定の際に、CPU2が変換パラメータリスト130を、画像処理回路4の記憶回路13に設定することから、座標変換回路12は、初期設定の後、記憶回路13から、使用する変換パラメータ131を読み出すことができる。よって、座標変換回路12は、変換パラメータ131を使用するたびに、CPU2から使用する変換パラメータ131を受け取る必要がない。よって、座標変換回路12での処理時間が低減する。
Further, in this example, since the CPU 2 sets the conversion parameter list 130 in the storage circuit 13 of the image processing circuit 4 at the time of initial setting of the image processing apparatus 1, the coordinate conversion circuit 12 performs the initial setting. The conversion parameter 131 to be used can be read from the storage circuit 13. Therefore, the coordinate conversion circuit 12 does not need to receive the conversion parameter 131 to be used from the CPU 2 every time the conversion parameter 131 is used. Thus, the processing time in the coordinate conversion circuit 12 is reduced.
なお、画像処理装置1の変換パラメータリスト130には、その画像処理装置1が使用する変換パラメータ131だけが含まれても良い。例えば、座標変換回路12が、どの対象画像110に対しても、対象画像110を2°から360°まで2°ずつ回転させる場合には、回転角度が1°の回転パラメータ132から回転角度360°の回転パラメータ132のうち、回転角度が偶数の回転パラメータ132だけが、変換パラメータリスト130に含まれても良い。
Note that the conversion parameter list 130 of the image processing apparatus 1 may include only the conversion parameters 131 used by the image processing apparatus 1. For example, when the coordinate conversion circuit 12 rotates the target image 110 by 2 ° from 2 ° to 360 ° for every target image 110, the rotation angle is 360 ° from the rotation parameter 132 whose rotation angle is 1 °. Among the rotation parameters 132 of the above, only the rotation parameter 132 having an even rotation angle may be included in the conversion parameter list 130.
また、対象画像110に対して互いに異なる座標変換を行う複数の画像処理装置1の間で共通の変換パラメータリスト130を、当該複数の画像処理装置1に記憶させても良い。例えば、第1画像処理装置1が、対象画像110を1°から90°まで1°ずつ回転させる処理を行い、第2画像処理装置1が、対象画像110を91°から180°まで1°ずつ回転させる処理を行い、第3画像処理装置1が、対象画像110を181°から270°まで1°ずつ回転させる処理を行い、第4画像処理装置1が、対象画像110を271°から360°まで1°ずつ回転させる処理を行う場合を考える。この場合には、第1〜第4画像処理装置1に共通の変換パラメータリスト130には、上記の例と同様に、画像を1°から360°まで回転するための360種類の回転パラメータ132を含ませる。これにより、画像処理装置1ごとに個別に変換パラメータリスト130を用意する必要がなくなるため、画像処理装置1に誤った変換パラメータリスト130が記憶されることを抑制することができる。
Further, a conversion parameter list 130 common to a plurality of image processing apparatuses 1 that perform coordinate conversion different from each other on the target image 110 may be stored in the plurality of image processing apparatuses 1. For example, the first image processing device 1 performs a process of rotating the target image 110 by 1 ° from 1 ° to 90 °, and the second image processing device 1 performs the processing of the target image 110 by 1 ° from 91 ° to 180 °. The third image processing apparatus 1 rotates the object image 110 by 1 ° from 181 ° to 270 °, and the fourth image processing device 1 rotates the object image 110 from 271 ° to 360 °. Let us consider a case where a process of rotating by 1 ° is performed. In this case, the conversion parameter list 130 common to the first to fourth image processing apparatuses 1 includes 360 kinds of rotation parameters 132 for rotating the image from 1 ° to 360 ° as in the above example. Include. As a result, it is not necessary to prepare the conversion parameter list 130 for each image processing apparatus 1, so that the erroneous conversion parameter list 130 can be prevented from being stored in the image processing apparatus 1.
また上記の例では、処理回路14は、DMAコントローラ10に対して、合成画像140を出力しているが、座標変換回路12で得られる変換後対象画像110、つまり回転画像120を出力しても良い。この場合には、処理回路14では、加算処理部42、リードバッファ44及び第1読み出し要求出力部411が不要となる。そして、座標変換回路12から出力される回転画像120の画素データはライトバッファ43に一旦記憶され、ライトバッファ43内の回転画像120の画素データがフレームメモリ40に書き込まれる。フレームメモリ40内の回転画像120の画素データが出力制御部45からDMAコントローラ10に出力されることによって、回転画像120がDMAコントローラ10に入力される。
In the above example, the processing circuit 14 outputs the composite image 140 to the DMA controller 10. However, even if the converted target image 110 obtained by the coordinate conversion circuit 12, ie, the rotation image 120, is output. good. In this case, the processing circuit 14 does not require the addition processing unit 42, the read buffer 44, and the first read request output unit 411. Then, the pixel data of the rotated image 120 output from the coordinate conversion circuit 12 is temporarily stored in the write buffer 43, and the pixel data of the rotated image 120 in the write buffer 43 is written into the frame memory 40. The pixel data of the rotated image 120 in the frame memory 40 is output from the output control unit 45 to the DMA controller 10, whereby the rotated image 120 is input to the DMA controller 10.
また、変換パラメータリスト130には、回転パラメータ132の替りに、あるいは回転パラメータ132に加えて、回転パラメータ132以外の変換パラメータ131、つまり回転用座標変換以外の座標変換において必要な変換パラメータ131が含まれても良い。
Also, the conversion parameter list 130 includes, in place of or in addition to the rotation parameter 132, conversion parameters 131 other than the rotation parameter 132, that is, conversion parameters 131 necessary for coordinate conversion other than rotation coordinate conversion. It may be.
例えば、変換パラメータリスト130には、画像の拡大を行うための拡大用座標変換において必要な拡大用変換パラメータ(以後、「拡大パラメータ」と呼ぶ)が含まれても良い。この場合に、変換パラメータリスト130には、拡大率が互いに異なる複数種類の拡大用座標変換においてそれぞれ必要な複数種類の拡大パラメータが含まれても良い。座標変換回路12は、拡大パラメータに基づいて対象画像110に対して拡大用座標変換を行うことによって、当該拡大パラメータに応じた拡大率で対象画像110を拡大することができる。例えば、座標変換回路12が、拡大率1.1倍の拡大パラメータに基づいて対象画像110に対して拡大用座標変換を行うと、1.1倍に拡大された対象画像110が得られる。ここで、画像の拡大とは、画像に映る被写体の拡大であって、画像の縦横の画素数の増大ではない。変換パラメータリスト130に、回転パラメータ及び拡大パラメータが含まれる場合には、座標変換回路12は、対象画像110を回転させることによって得られる回転画像と、対象画像110を拡大することによって得られる拡大画像とを生成することができる。拡大パラメータには、回転パラメータと同様に、例えば、拡大画像での4隅の画素についての対象画像110での写像元の4つの画素の座標が含まれている。
For example, the conversion parameter list 130 may include a conversion parameter for enlargement (hereinafter, referred to as “enlargement parameter”) necessary in enlargement coordinate conversion for performing image enlargement. In this case, the conversion parameter list 130 may include a plurality of types of enlargement parameters necessary for the plurality of types of enlargement coordinate conversions having different enlargement ratios. The coordinate conversion circuit 12 can enlarge the target image 110 at an enlargement rate corresponding to the enlargement parameter by performing enlargement coordinate transformation on the target image 110 based on the enlargement parameter. For example, when the coordinate conversion circuit 12 performs the coordinate conversion for enlargement on the target image 110 based on the enlargement parameter of the enlargement ratio of 1.1, the target image 110 enlarged to 1.1 times is obtained. Here, the enlargement of the image means enlargement of the subject shown in the image, and not an increase in the number of pixels in the vertical and horizontal directions of the image. When the conversion parameter list 130 includes the rotation parameter and the enlargement parameter, the coordinate conversion circuit 12 generates a rotated image obtained by rotating the object image 110 and an enlarged image obtained by enlarging the object image 110. And can be generated. Similar to the rotation parameter, the enlargement parameter includes, for example, the coordinates of the four pixels of the mapping source in the target image 110 with respect to the four corner pixels in the enlarged image.
また、変換パラメータリスト130には、画像の縮小を行うための縮小用座標変換において必要な縮小用変換パラメータ(以後、「縮小パラメータ」と呼ぶ)が含まれても良い。この場合に、変換パラメータリスト130には、縮小率が互いに異なる複数種類の縮小用座標変換においてそれぞれ必要な複数種類の縮小パラメータが含まれても良い。座標変換回路12は、縮小パラメータに基づいて対象画像110に対して縮小用座標変換を行うことによって、当該縮小パラメータに応じた縮小率で対象画像110を縮小することができる。例えば、座標変換回路12が、縮小率0.9倍の縮小パラメータに基づいて対象画像110に対して縮小用座標変換を行うと、0.9倍に縮小された対象画像110が得られる。ここで、画像の縮小とは、画像に映る被写体の縮小であって、画像の縦横の画素数の減少ではない。変換パラメータリスト130に、回転パラメータ及び縮小パラメータが含まれる場合には、座標変換回路12は、対象画像110を回転させることによって得られる回転画像と、対象画像110を縮小することによって得られる縮小画像とを生成することができる。縮小パラメータには、回転パラメータと同様に、例えば、縮小画像での4隅の画素についての対象画像110での写像元の4つの画素の座標が含まれている。
In addition, the conversion parameter list 130 may include a conversion parameter for reduction (hereinafter referred to as “reduction parameter”) necessary in coordinate conversion for reduction for image reduction. In this case, the conversion parameter list 130 may include a plurality of types of reduction parameters necessary for each of a plurality of types of reduction coordinate conversions having different reduction ratios. The coordinate conversion circuit 12 can reduce the target image 110 at a reduction rate according to the reduction parameter by performing a reduction coordinate conversion on the target image 110 based on the reduction parameter. For example, when the coordinate conversion circuit 12 performs coordinate conversion for reduction on the target image 110 based on a reduction parameter of reduction ratio 0.9, a target image 110 reduced to 0.9 times is obtained. Here, the reduction of the image is the reduction of the subject appearing in the image, not the reduction of the number of vertical and horizontal pixels of the image. When the conversion parameter list 130 includes a rotation parameter and a reduction parameter, the coordinate conversion circuit 12 generates a rotated image obtained by rotating the object image 110 and a reduced image obtained by reducing the object image 110. And can be generated. Similar to the rotation parameter, the reduction parameter includes, for example, the coordinates of the four pixels that are the mapping source in the target image 110 for the four corner pixels in the reduced image.
また、変換パラメータリスト130には、画像の平行移動を行うための平行移動用座標変換において必要な平行移動用変換パラメータ(以後、「平行移動パラメータ」と呼ぶ)が含まれても良い。この場合に、変換パラメータリスト130には、移動方向が互いに異なる複数種類の平行移動用座標変換においてそれぞれ必要な複数種類の平行移動パラメータが含まれても良い。また、変換パラメータリスト130には、移動量が互いに異なる複数種類の平行移動用座標変換においてそれぞれ必要な複数種類の平行移動パラメータが含まれても良い。座標変換回路12は、平行移動パラメータに基づいて対象画像110に対して平行移動用座標変換を行うことによって、対象画像110を、当該平行移動パラメータに応じた移動方向に、当該平行移動パラメータに応じた移動量だけ平行移動することができる。例えば、座標変換回路12が、移動方向が「右」、移動量が「1画素」の平行移動パラメータに基づいて対象画像110に対して平行移動用座標変換を行うと、右に1画素分平行移動された対象画像110が得られる。ここで、画像の平行移動とは、画像に映る被写体の平行移動である。変換パラメータリスト130に、回転パラメータ及び平行移動パラメータが含まれる場合には、座標変換回路12は、対象画像110を回転させることによって得られる回転画像と、対象画像110を平行移動することによって得られる平行移動画像とを生成することができる。平行移動パラメータには、回転パラメータと同様に、例えば、平行移動画像での4隅の画素についての対象画像110での写像元の4つの画素の座標が含まれている。
In addition, the conversion parameter list 130 may include a conversion parameter for parallel movement (hereinafter referred to as “translation parameter”) necessary for parallel coordinate conversion for parallel movement of an image. In this case, the conversion parameter list 130 may include a plurality of types of parallel movement parameters necessary for the plurality of types of parallel movement coordinate conversion in which the movement directions are different from each other. Further, the conversion parameter list 130 may include a plurality of types of parallel movement parameters required for a plurality of types of parallel movement coordinate conversion with different amounts of movement. The coordinate conversion circuit 12 performs coordinate conversion for parallel movement on the target image 110 based on the parallel movement parameter, thereby moving the target image 110 in the movement direction according to the parallel movement parameter according to the parallel movement parameter. The parallel movement can be performed by the movement amount. For example, when the coordinate conversion circuit 12 performs coordinate conversion for translation on the target image 110 based on the translation parameter with the movement direction “right” and the movement amount “1 pixel”, it is parallel to the right by one pixel. A moved target image 110 is obtained. Here, the parallel movement of the image is a parallel movement of the subject appearing in the image. When the conversion parameter list 130 includes the rotation parameter and the translation parameter, the coordinate conversion circuit 12 is obtained by translating the target image 110 and the rotation image obtained by rotating the target image 110. A translational image can be generated. Similar to the rotation parameter, the translation parameter includes, for example, the coordinates of the four pixels of the mapping source in the target image 110 for the four corner pixels in the translation image.
<画像処理装置の使用例>
画像処理装置1は、様々な用途に使用することができる。以下では、一例として、画像に映る対象物が比較対象に相当するか否かを判定する画像処理システム500において画像処理装置1が使用される場合について説明する。
<Usage example of image processing apparatus>
The image processing apparatus 1 can be used for various purposes. Hereinafter, as an example, a case where the image processing apparatus 1 is used in the image processing system 500 which determines whether an object appearing in an image corresponds to a comparison target will be described.
<画像処理システムの構成>
図13は画像処理システム500の構成を示す図である。画像処理システム500は、画像処理を用いて、対象物が比較対象に相当するか否かを判定するシステムである。画像処理システム500は、例えば、工場内において、クッキーあるいはチョコレートなどの円形のお菓子が製造される製造ラインに導入される。画像処理システム500は、実稼働中の製造ラインにおいて製造されるお菓子が正しく製造されたお菓子に相当するか否かを判定する。言い換えれば、画像処理システム500は、実稼働中の製造ラインで製造されるお菓子が正しく製造されているか否か、つまり当該お菓子の良否を判定する。これにより、画像処理システム500は、お菓子の模様の崩れ及び欠け等を検出することができる。本例の画像処理システム500では、対象物がお菓子となり、対象物と比較される比較対象が、正しく製造されたお菓子(良品のお菓子)となる。なお、対象物はお菓子以外であっても良い。また対象物の外形は円形以外であっても良い。
<Configuration of image processing system>
FIG. 13 shows the configuration of the image processing system 500. As shown in FIG. The image processing system 500 is a system that uses image processing to determine whether an object corresponds to a comparison target. For example, the image processing system 500 is introduced into a production line in which a circular candy such as a cookie or chocolate is manufactured in a factory. The image processing system 500 determines whether or not the confectionery manufactured on the production line in actual operation corresponds to the confectionery manufactured correctly. In other words, the image processing system 500 determines whether the confectionery produced on the production line in operation is correctly manufactured, that is, the quality of the confectionery. As a result, the image processing system 500 can detect the collapse and chipping of the candy pattern. In the image processing system 500 of this example, the object is a candy, and the comparison object to be compared with the object is a correctly produced candy (goods candy). The object may be something other than sweets. The outer shape of the object may be other than a circle.
図13に示されるように、画像処理システム500は、上述のCPU2、システムメモリ3及び画像処理回路4と、撮像装置6と、DSP(Digital Signal Processor)7とを備えている。これらの構成要素は、バス5によって互いに接続されている。
As shown in FIG. 13, the image processing system 500 includes the CPU 2, the system memory 3 and the image processing circuit 4 described above, an imaging device 6, and a DSP (Digital Signal Processor) 7. These components are connected to each other by a bus 5.
撮像装置6は、製造ラインで製造されたお菓子を撮像し、当該お菓子が映った撮像画像510を生成する。この撮像画像510はシステムメモリ3に記憶される。製造ラインでは、搬送コンベアによってお菓子が搬送され、撮像装置6は搬送されるお菓子を撮像する。製造された複数のお菓子は、不揃いな向きで搬送コンベア上を一列で移動する。本例では、撮像装置6で生成される撮像画像510は、カラー画像であるが、グレースケール画像であっても良い。
The imaging device 6 images the candy manufactured on the manufacturing line, and generates a captured image 510 in which the candy is reflected. The captured image 510 is stored in the system memory 3. In the production line, the confectionery is conveyed by the conveyance conveyor, and the imaging device 6 images the confectionery being conveyed. A plurality of manufactured sweets move in a line on the conveyer in an irregular direction. In this example, the captured image 510 generated by the imaging device 6 is a color image, but may be a grayscale image.
図14は撮像装置6で得られる撮像画像510の一例を模式的に示す図である。図14に示される撮像画像510には、正しく製造されたお菓子600、つまり良品のお菓子600が映っている。また撮像画像510には、背景である搬送コンベア601が映っている。良品のお菓子600の一方主面600aには、例えばアルファベット「A」の模様が示されている。なお、良品のお菓子600の模様はこれ以外であっても良い。また、良品のお菓子600の両主面に模様が付されていても良い。
FIG. 14 is a diagram schematically illustrating an example of a captured image 510 obtained by the imaging device 6. In the captured image 510 shown in FIG. 14, a correctly manufactured candy 600, that is, a non-defective candy 600 is shown. Further, in the captured image 510, a transport conveyor 601 which is a background is shown. On one main surface 600a of the non-defective candy 600, for example, a pattern of alphabet “A” is shown. The pattern of the non-defective candy 600 may be other than this. Moreover, the pattern may be attached | subjected to the both main surfaces of the good confectionery 600.
お菓子600は、その一方主面600aを上側にして、搬送コンベア601上を移動する。搬送コンベア601上では、複数のお菓子600が一列になって移動する。そして、撮像装置6は、お菓子600の一方主面600a側から当該お菓子600を撮像する。したがって、撮像画像510には、お菓子600の一方主面600aが映っている。
The sweets 600 move on the conveyer 601 with the one main surface 600 a upward. On the conveyor 601, a plurality of sweets 600 move in a line. Then, the imaging device 6 images the candy 600 from the one main surface 600 a side of the candy 600. Therefore, the picked-up image 510 shows the one main surface 600a of the candy 600.
画像処理システム500では、CPU2、システムメモリ3、画像処理回路4及びDSP7によって、撮像装置6で得られた撮像画像510に映るお菓子600が正しく製造されたものに相当するか否か、つまり当該お菓子600が正しく製造されているか否かを判定し、その判定結果を出力する判定装置8が構成されている。判定装置8で得られる判定結果は、工場内に設けられた、製造ラインの動作を管理する制御装置に入力される。制御装置は、入力された判定結果に基づいて各種動作を行う。以後、判定装置8が、撮像画像510に映るお菓子600が正しく製造されているか否かを判定する処理を「お菓子判定処理」と呼ぶ。
In the image processing system 500, the CPU 2, the system memory 3, the image processing circuit 4 and the DSP 7 determine whether or not the candy 600 shown in the captured image 510 obtained by the imaging device 6 corresponds to that produced correctly. A determination device 8 that determines whether or not the candy 600 is correctly manufactured and outputs the determination result is configured. The determination result obtained by the determination device 8 is input to a control device provided in the factory that manages the operation of the manufacturing line. The control device performs various operations based on the input determination result. Hereinafter, the process in which the determination device 8 determines whether the confectionery product 600 shown in the captured image 510 is correctly manufactured is referred to as “confectionery determination process”.
DSP7はシステムメモリ3に記憶されるプログラムを実行する。CPU2及びDSP7がシステムメモリ3内のプログラムを実行することによって、判定装置8には様々な機能ブロックが形成される。
The DSP 7 executes a program stored in the system memory 3. When the CPU 2 and the DSP 7 execute the program in the system memory 3, various functional blocks are formed in the determination device 8.
図15は判定装置8の構成を示す図である。図15に示されるように、判定装置8は、変換部530、特徴画像生成部531及び判定部532を備えている。変換部530は、撮像装置6で得られた撮像画像510をカラー画像からグレースケール画像に変換し、変換後の撮像画像510を撮像画像511として出力する。
FIG. 15 is a diagram showing the configuration of the determination device 8. As illustrated in FIG. 15, the determination device 8 includes a conversion unit 530, a feature image generation unit 531, and a determination unit 532. The conversion unit 530 converts the captured image 510 obtained by the imaging device 6 from a color image to a grayscale image, and outputs the converted captured image 510 as a captured image 511.
特徴画像生成部531は、お菓子600が映る撮像画像511に基づいて、当該お菓子600の特徴を示す特徴画像520を生成する。判定部532は、特徴画像生成部531で生成された特徴画像520に基づいて、撮像画像511に映るお菓子600が正しいものか否かを判定し、その判定結果521を出力する。判定部532は、特徴画像生成部531が撮像画像511から生成した特徴画像520と、良品のお菓子600の特徴を示すテンプレート特徴画像522とを比較し、その比較結果に基づいて、当該撮像画像511に映るお菓子600が正しいものか否かを判定する。テンプレート特徴画像522はシステムメモリ3に記憶されている。
The feature image generation unit 531 generates a feature image 520 indicating the feature of the candy 600 based on the captured image 511 on which the candy 600 appears. Based on the characteristic image 520 generated by the characteristic image generation unit 531, the determination unit 532 determines whether the candy 600 shown in the captured image 511 is correct, and outputs the determination result 521. The determination unit 532 compares the feature image 520 generated from the captured image 511 by the feature image generation unit 531 with the template feature image 522 indicating the feature of the non-defective candy 600, and based on the comparison result, the captured image It is determined whether or not the candy 600 shown in 511 is correct. The template feature image 522 is stored in the system memory 3.
図16は特徴画像生成部531の構成を示す図である。図16に示されるように、特徴画像生成部531は、第1画像生成部540及び第2画像生成部550を備えている。第1画像生成部540は、撮像画像511に基づいて、お菓子600を示す第1画像524を生成する。第2画像生成部550は、第1画像生成部540で生成された第1画像524を回転して得られる複数の回転画像を合成し、それによって得られる合成画像を特徴画像520として出力する。
FIG. 16 is a diagram illustrating a configuration of the feature image generation unit 531. As illustrated in FIG. 16, the feature image generation unit 531 includes a first image generation unit 540 and a second image generation unit 550. The first image generation unit 540 generates a first image 524 showing the candy 600 based on the captured image 511. The second image generation unit 550 synthesizes a plurality of rotated images obtained by rotating the first image 524 generated by the first image generation unit 540, and outputs a synthesized image obtained thereby as a feature image 520.
第1画像生成部540は、抽出部541及びエッジ画像生成部542を備えている。抽出部541は、撮像画像511からお菓子600が映るお菓子領域523を抽出する。エッジ画像生成部542は、抽出部541で抽出されたお菓子領域523に対してエッジ検出を行って、第1画像524としてのエッジ画像を生成する。
The first image generation unit 540 includes an extraction unit 541 and an edge image generation unit 542. The extraction unit 541 extracts the candy area 523 in which the candy 600 appears from the captured image 511. The edge image generation unit 542 performs edge detection on the candy region 523 extracted by the extraction unit 541 and generates an edge image as the first image 524.
本例では、画像処理回路4が第2画像生成部550として機能する。また、DSP7が、変換部530、第1画像生成部540及び判定部532として機能する。そして、第1画像生成部540で生成される第1画像524(エッジ画像)が、画像処理回路4が処理する上述の対象画像110に相当し、第2画像生成部550が生成する特徴画像520(合成画像)が、画像処理回路4が生成する合成画像140に相当する。
In this example, the image processing circuit 4 functions as the second image generation unit 550. Also, the DSP 7 functions as a conversion unit 530, a first image generation unit 540, and a determination unit 532. The first image 524 (edge image) generated by the first image generation unit 540 corresponds to the above-described target image 110 processed by the image processing circuit 4, and the characteristic image 520 generated by the second image generation unit 550. (Composite image) corresponds to the composite image 140 generated by the image processing circuit 4.
画像処理システム500の電源が投入されると、CPU2は画像処理システム500の初期設定を行う。画像処理システム500の初期設定において、画像処理回路4の初期設定が行われる。画像処理回路4の初期設定では、上述のように、CPU2は、画像処理回路4内の各種設定レジスタにデータを設定する。
When the image processing system 500 is turned on, the CPU 2 performs initial setting of the image processing system 500. In the initial setting of the image processing system 500, the initial setting of the image processing circuit 4 is performed. In the initial setting of the image processing circuit 4, as described above, the CPU 2 sets data in various setting registers in the image processing circuit 4.
画像処理システム500の初期設定が完了すると、撮像装置6は、撮像を開始し、所定のフレームレートで撮像を行う。撮像装置6で順次生成される撮像画像510はシステムメモリ3に記憶される。判定装置8は、システムメモリ3から撮像画像510を読み出して、読み出した撮像画像510に基づいてお菓子判定処理を行う。
When the initial setting of the image processing system 500 is completed, the imaging device 6 starts imaging and performs imaging at a predetermined frame rate. The captured images 510 that are sequentially generated by the imaging device 6 are stored in the system memory 3. The determination device 8 reads the captured image 510 from the system memory 3 and performs a candy determination process based on the read captured image 510.
<お菓子判定処理のフローについて>
次に、製造ラインが実稼働中において、判定装置8がお菓子判定処理を行う際の当該判定装置8の一連の動作について説明する。図17は当該動作を示すフローチャートである。
<About the flow of candy determination processing>
Next, a series of operations of the determination device 8 when the determination device 8 performs the candy determination process while the production line is in actual operation will be described. FIG. 17 is a flowchart showing the operation.
図17に示されるように、ステップs11において、変換部530(DSP7)は、システムメモリ3から撮像画像510を読み出して、読み出した撮像画像510をカラー画像からグレースケール画像に変換し、それによって得られた撮像画像511を判定対象画像511としてシステムメモリ3に記憶する。
As shown in FIG. 17, in step s11, the conversion unit 530 (DSP 7) reads the captured image 510 from the system memory 3 and converts the read captured image 510 from a color image to a grayscale image, thereby obtaining the image The captured image 511 thus obtained is stored in the system memory 3 as the determination target image 511.
次にステップs12において、抽出部541(DSP7)は、システムメモリ3から判定対象画像511を読み出し、読み出した判定対象画像511から、お菓子600が映るお菓子領域523を抽出する。次にステップs13において、エッジ画像生成部542(DSP7)は、抽出部541で抽出されたお菓子領域523に対してエッジ検出を行って、お菓子600を示す第1画像524としてのエッジ画像を生成する。そして、エッジ画像生成部542(DSP7)は、生成したエッジ画像をシステムメモリ3に記憶する。
Next, in step s12, the extraction unit 541 (DSP 7) reads the determination target image 511 from the system memory 3, and extracts the candy area 523 in which the candy 600 appears from the read determination target image 511. Next, in step s13, the edge image generation unit 542 (DSP 7) performs edge detection on the candy area 523 extracted by the extraction unit 541 to obtain an edge image as a first image 524 indicating the candy 600. Generate Then, the edge image generation unit 542 (DSP 7) stores the generated edge image in the system memory 3.
次にステップs14において、第2画像生成部550(画像処理回路4)は、システムメモリ3からエッジ画像を読み出して、読み出したエッジ画像を回転して得られる複数の回転画像(回転画像120)を合成した合成画像(合成画像140)を特徴画像520として生成する。第2画像生成部550は生成した特徴画像520をシステムメモリ3に記憶する。
Next, in step s14, the second image generation unit 550 (image processing circuit 4) reads out the edge image from the system memory 3, and rotates a plurality of rotated images (rotated image 120) obtained by rotating the read edge image. A composite image (composite image 140) synthesized is generated as a feature image 520. The second image generation unit 550 stores the generated feature image 520 in the system memory 3.
次にステップs15において、判定部532(DSP7)は、システムメモリ3から特徴画像520及びテンプレート特徴画像522を読み出す。そして、判定部532は、読み出した特徴画像520及びテンプレート特徴画像522を比較し、その比較結果に基づいて、判定対象画像511に映るお菓子600が正しいものであるかを判定する。言い換えれば、判定部532は、特徴画像520とテンプレート特徴画像522との比較結果に基づいて、撮像装置6で生成された撮像画像510に映るお菓子600が正しいものであるか否かを判定する。そして、判定部532は、ステップs16において、ステップs15での判定結果521を、システムメモリ3に書き込む。システムメモリ3内の判定結果521は、工場内に設けられた制御装置に入力される。制御装置は、撮像画像510に映るお菓子600が正しく製造されていない場合には、言い換えれば、撮像画像510に映るお菓子600が良品に相当しない場合には、例えば、スピーカから警告音を出力したり、ディスプレイに警告情報を表示したりするなどして、外部に警告を発する。
Next, in step s15, the determination unit 532 (DSP 7) reads the feature image 520 and the template feature image 522 from the system memory 3. Then, the determination unit 532 compares the read feature image 520 and the template feature image 522, and determines whether the candy 600 shown in the determination target image 511 is correct based on the comparison result. In other words, based on the comparison result of the characteristic image 520 and the template characteristic image 522, the determination unit 532 determines whether or not the candy 600 shown in the captured image 510 generated by the imaging device 6 is correct. . Then, in step s16, the determination unit 532 writes the determination result 521 in step s15 to the system memory 3. The determination result 521 in the system memory 3 is input to a control device provided in the factory. If the candy 600 reflected in the captured image 510 is not manufactured correctly, in other words, if the candy 600 reflected in the captured image 510 does not correspond to a non-defective product, for example, the control device outputs a warning sound from a speaker. Issue a warning to the outside by displaying warning information on the display, etc.
その後、判定装置8は、ステップs1を実行して、撮像装置6で次に生成された撮像画像510をシステムメモリ3から読み出し、読み出した撮像画像510から得られる撮像画像511を新たな判定対象画像511として、ステップs12〜s16を実行する。以後、判定装置8は同様の動作を行う。
Thereafter, the determination device 8 executes step s1 to read the captured image 510 generated next by the imaging device 6 from the system memory 3, and the captured image 511 obtained from the read captured image 510 is a new determination target image Steps 511 to s12 are executed. Thereafter, the determination device 8 performs the same operation.
<各構成要素の詳細説明>
以下に、抽出部541、エッジ画像生成部542、第2画像生成部550及び判定部532の動作についてさらに詳細に説明する。
<Detailed description of each component>
Hereinafter, operations of the extraction unit 541, the edge image generation unit 542, the second image generation unit 550, and the determination unit 532 will be described in more detail.
<抽出部について>
図18は、抽出部541が撮像画像511から抽出するお菓子領域523の一例を模式的に示す図である。撮像画像511からお菓子領域523を抽出する方法としては様々な方法がある。
<About the extraction unit>
FIG. 18 is a diagram schematically illustrating an example of the candy region 523 that is extracted from the captured image 511 by the extraction unit 541. There are various methods for extracting the candy area 523 from the captured image 511.
例えば、お菓子600の外形が円形であることを利用した第1の抽出方法がある。この第1の抽出方法では、まず、撮像画像511に対してエッジ検出が行われてエッジ画像が生成される。エッジ画像の生成方法としては、例えば、Sobel法、Laplacian法、Canny法などが使用される。次に、生成されたエッジ画像から円形領域が抽出される。円形領域の抽出方法としては、例えばハフ変換が使用される。そして、エッジ画像における当該円形領域の位置と同じ位置に存在する撮像画像511での円形領域が、お菓子領域523とされる。
For example, there is a first extraction method utilizing the fact that the outer shape of the candy 600 is circular. In the first extraction method, first, edge detection is performed on the captured image 511 to generate an edge image. As a method of generating an edge image, for example, the Sobel method, Laplacian method, Canny method or the like is used. Next, a circular area is extracted from the generated edge image. For example, Hough transform is used as a method of extracting a circular area. Then, the circular area in the captured image 511 present at the same position as the position of the circular area in the edge image is taken as the candy area 523.
別の方法としては、背景差分法とラベリングを用いて撮像画像511からお菓子領域523を抽出する第2の抽出方法がある。この第2の抽出方法では、まず、撮像画像511と背景画像(撮像画像511の背景だけが映る画像)との差分を示す背景差分画像が生成され、生成された背景差分画像が2値化される。そして、2値の背景差分画像に対して4連結等のラベリングが行われる。そして、2値の背景差分画像における、ラベリングの結果得られた連結領域(独立領域)の位置と同じ位置に存在する撮像画像511での部分領域が、お菓子領域523とされる。
Another method is a second extraction method of extracting the candy area 523 from the captured image 511 using the background subtraction method and the labeling. In the second extraction method, first, a background difference image indicating a difference between the captured image 511 and a background image (an image showing only the background of the captured image 511) is generated, and the generated background difference image is binarized. Ru. Then, labeling such as 4-connection is performed on the binary background difference image. Then, a partial area in the captured image 511 that exists at the same position as the position of the connected area (independent area) obtained as a result of labeling in the binary background difference image is set as the candy area 523.
本例では、抽出部541は、上記の2つの方法とは異なる方法で、撮像画像511からお菓子領域523を抽出する。以下に抽出部541の動作について説明する。なお、抽出部541は、上記の2つの方法のどちらか一方を用いて撮像画像511からお菓子領域523を抽出しても良い。
In this example, the extraction unit 541 extracts the candy area 523 from the captured image 511 by a method different from the above two methods. The operation of the extraction unit 541 will be described below. The extraction unit 541 may extract the candy area 523 from the captured image 511 using any one of the above two methods.
まず、抽出部541は、撮像画像511と背景画像560(撮像画像511の背景だけが映る画像)との差分を示す背景差分画像を生成し、生成した背景差分画像を2値化する。図19は背景画像560を模式的に示す図であって、図20は2値の背景差分画像561を模式的に示す図である。なお、図20及び後述の図において模式的に示される2値の画像では、画素値が“1”の領域(高輝度領域)は黒色で示され、画素値が“0”の領域(低輝度領域)は白色で示される。背景画像560はシステムメモリ3に予め記憶されている。
First, the extraction unit 541 generates a background difference image indicating the difference between the captured image 511 and the background image 560 (an image showing only the background of the captured image 511), and binarizes the generated background difference image. FIG. 19 is a view schematically showing the background image 560, and FIG. 20 is a view schematically showing the binary background difference image 561. As shown in FIG. In the binary image schematically shown in FIG. 20 and the drawings to be described later, an area where the pixel value is “1” (high luminance area) is shown in black, and an area where the pixel value is “0” (low luminance) The region is shown in white. The background image 560 is stored in the system memory 3 in advance.
次に、抽出部541は、2値の背景差分画像561に対して、お菓子600の外形を示す2値の外形テンプレート562を用いたテンプレートマッチングを行う。つまり、抽出部541は、背景差分画像561において、外形テンプレート562と類似する領域がどこに存在するかを特定する。言い換えると、抽出部541は、背景差分画像561において、外形テンプレート562が示すお菓子600の外形と一致する領域がどこに存在するかを特定する。図21は外形テンプレート562を模式的に示す図である。外形テンプレート562はシステムメモリ3に予め記憶されている。
Next, the extraction unit 541 performs template matching on the binary background difference image 561 using the binary outer shape template 562 indicating the outer shape of the sweet 600. That is, the extraction unit 541 specifies where an area similar to the external shape template 562 exists in the background difference image 561. In other words, the extraction unit 541 specifies where in the background difference image 561 there is an area that matches the outline of the candy 600 indicated by the outline template 562. FIG. 21 schematically shows the outer shape template 562. The outline template 562 is stored in the system memory 3 in advance.
テンプレートマッチングでは、抽出部541は、図22に示されるように、背景差分画像561上で外形テンプレート562をラスタスキャン方向に少しずつ移動させる。言い換えれば、抽出部541は、背景差分画像561上で外形テンプレート562をラスタスキャンさせる。このとき、抽出部541は、外形テンプレート562の各位置において、当該外形テンプレート562と、それに重なる、背景差分画像561の部分領域とのAND画像を生成する。これにより、複数の2値のAND画像が生成される。そして、抽出部541は、生成した複数のAND画像のうち、画素値が“1”の画素(高輝度画素)の数が最も多いAND画像の生成で使用された外形テンプレート562の背景差分画像561上の位置を特定する。この位置は、背景差分画像561において、外形テンプレート562と類似した領域が存在する位置である。そして、抽出部541は、図23に示されるように、特定した位置と同じ位置に存在する撮像画像511での部分領域511aを、お菓子領域523として抽出する。言い換えれば、抽出部541は、特定した位置と同じ位置に外形テンプレート562を撮像画像511に配置した際に、当該外形テンプレート562と重なる、撮像画像511での部分領域511aを、お菓子領域523として抽出する。このとき、当該部分領域511aにおいて、その上の外形テンプレート562が示す円形よりも外側の各画素の画素値を零としたものお菓子領域523としても良い。抽出部541で抽出されるお菓子領域523はグレースケール画像である。
In template matching, the extraction unit 541 moves the outline template 562 little by little in the raster scan direction on the background difference image 561 as shown in FIG. In other words, the extraction unit 541 raster scans the outline template 562 on the background difference image 561. At this time, the extraction unit 541 generates an AND image of the outer shape template 562 and the partial region of the background difference image 561 overlapping the outer shape template 562 at each position of the outer shape template 562. Thereby, a plurality of binary AND images are generated. Then, the extraction unit 541 selects the background difference image 561 of the outer shape template 562 used to generate the AND image with the largest number of pixels (high luminance pixels) having a pixel value of “1” among the plurality of generated AND images. Identify the top position. This position is a position where an area similar to the outline template 562 exists in the background difference image 561. And the extraction part 541 extracts the partial area | region 511a in the captured image 511 which exists in the same position as the specified position as FIG. In other words, when the outer shape template 562 is arranged in the captured image 511 at the same position as the specified position, the extraction unit 541 uses the partial region 511a in the captured image 511 that overlaps the outer shape template 562 as the candy region 523. Extract. At this time, in the partial area 511a, the confectionery area 523 in which the pixel value of each pixel outside the circle indicated by the outer shape template 562 on the partial area 511a is zero may be used. The candy area 523 extracted by the extraction unit 541 is a gray scale image.
<エッジ画像生成部について>
エッジ画像生成部542は、例えば、Sobel法、Laplacian法、Canny法などを使用して、抽出部541で抽出されたお菓子領域523に対してエッジ検出を行ってエッジ画像565を生成する。エッジ画像生成部542は、例えば、処理が軽いSobel法を使用する。エッジ画像565は2値の画像である。図24はエッジ画像565を模式的に示す図である。
<About the edge image generator>
The edge image generation unit 542 performs edge detection on the candy area 523 extracted by the extraction unit 541 using, for example, the Sobel method, Laplacian method, Canny method or the like to generate an edge image 565. The edge image generation unit 542 uses, for example, the Sobel method whose processing is light. The edge image 565 is a binary image. FIG. 24 is a diagram schematically showing the edge image 565.
<第2画像生成部について>
第2画像生成部550は、エッジ画像生成部542で生成されたエッジ画像565を回転して得られる複数の回転画像565aを合成した合成画像570を特徴画像520として生成する。回転画像565aは上述の回転画像120に相当し、合成画像570は上述の合成画像140に相当する。
<About the second image generation unit>
The second image generation unit 550 generates a combined image 570 by combining a plurality of rotated images 565 a obtained by rotating the edge image 565 generated by the edge image generating unit 542 as the feature image 520. The rotated image 565a corresponds to the above-described rotated image 120, and the composite image 570 corresponds to the above-described composite image 140.
図25は上述の図9に対応する図である。第2画像生成部550は、上述の画像処理回路4の座標変換回路12と同様にして、エッジ画像565(対象画像110)に対して、複数種類の回転用座標変換のそれぞれを別々に行うことによって、図25に示されるように、回転角度が互いに異なる複数枚の回転画像565a(複数枚の回転画像120)を生成する。そして、第2画像生成部550は、画像処理回路4の処理回路14と同様にして、生成した複数枚の回転画像565aを合成して合成画像570(合成画像140)を生成する。第2画像生成部550は、生成した合成画像570を、撮像画像511に映るお菓子600の特徴を示す特徴画像520として使用する。
FIG. 25 is a diagram corresponding to FIG. 9 described above. The second image generation unit 550 separately performs a plurality of types of rotation coordinate transformations on the edge image 565 (target image 110) in the same manner as the coordinate transformation circuit 12 of the image processing circuit 4 described above. Thus, as shown in FIG. 25, a plurality of rotation images 565a (a plurality of rotation images 120) having different rotation angles are generated. Then, in the same manner as the processing circuit 14 of the image processing circuit 4, the second image generation unit 550 synthesizes the plurality of generated rotational images 565a to generate a synthesized image 570 (the synthesized image 140). The second image generation unit 550 uses the generated composite image 570 as a feature image 520 indicating the feature of the candy 600 shown in the captured image 511.
上述のように、撮像装置6は、不揃いな向きで搬送されるお菓子600を撮像し、当該お菓子600が映る撮像画像510を生成する。したがって、判定装置8の変換部530が生成する撮像画像511に映るお菓子600の周方向の向きが常に同じであるとは限らない。つまり、撮像画像511に映るお菓子600の周方向の向きは一定せず、ある撮像画像511に映るお菓子600の姿勢が、別の撮像画像511に映るお菓子600の姿勢を、当該お菓子600の両主面の重心(中心)を通る、厚み方向に沿った回転軸の周りに回転させたような姿勢となる可能性がある。したがって、お菓子領域523に映るお菓子600の周方向の向きも一定しない。一方で、合成画像570は、撮像画像511に映るお菓子600を示すエッジ画像565を回転して得られる複数枚の回転画像565aを合成したものである。そのため、撮像画像511に映るお菓子600の周方向の向きが一定でなくても、お菓子600が良品であれば、撮像画像511から得られる合成画像570はほとんど変化しない。よって、合成画像570は、撮像画像511に映るお菓子600の周方向の向きの影響を受けにくい、当該お菓子600の特徴を示す特徴画像520であると言える。
As described above, the imaging device 6 images the candy 600 conveyed in an irregular direction, and generates a captured image 510 on which the candy 600 is displayed. Therefore, the circumferential direction of the candy 600 shown in the captured image 511 generated by the conversion unit 530 of the determination device 8 is not always the same. In other words, the circumferential direction of the candy 600 reflected in the captured image 511 is not constant, and the attitude of the candy 600 reflected in a certain captured image 511 is the orientation of the candy 600 reflected in another captured image 511. There is a possibility that the posture may be rotated around the rotation axis along the thickness direction passing through the center of gravity (center) of both main surfaces of 600. Therefore, the direction of the circumferential direction of the candy 600 reflected in the candy area 523 is not constant. On the other hand, the composite image 570 is a composite of a plurality of rotated images 565a obtained by rotating the edge image 565 showing the candy 600 shown in the captured image 511. Therefore, even if the direction in the circumferential direction of the candy 600 shown in the captured image 511 is not constant, the composite image 570 obtained from the captured image 511 hardly changes if the candy 600 is a non-defective item. Therefore, it can be said that the composite image 570 is a feature image 520 showing the characteristics of the candy 600 that is not easily affected by the circumferential direction of the candy 600 shown in the captured image 511.
<判定部について>
判定部532は、第2画像生成部550で生成された合成画像570(特徴画像520)と、良品のお菓子600の特徴を示すテンプレート特徴画像522とを比較し、その比較結果に基づいて、当該撮像画像511に映るお菓子600が正しく製造されたものか否かを判定する。テンプレート特徴画像522としては、良品のお菓子600が映る撮像画像511から上記と同様にして特徴画像生成部531で生成された、当該良品のお菓子600の特徴を示す特徴画像520(合成画像570)が使用される。製造ラインが実稼働していないときには、テンプレート特徴画像522を得るために、製造ラインに対して良品のお菓子600が投入される。画像処理システム500では、投入された良品のお菓子600が映る撮像画像511が生成される。この撮像画像511を「標準画像511」と呼ぶ。画像処理システム500では、特徴画像生成部531が、標準画像511に基づいて、当該標準画像511に映る良品のお菓子600の特徴を示す特徴画像520(合成画像570)を生成する。この特徴画像520を「標準特徴画像520」と呼ぶと、標準特徴画像520がテンプレート特徴画像522となる。製造ラインが実稼働していないときに生成されたテンプレート特徴画像522はシステムメモリ3に記憶される。以後、製造ラインが実稼働中に生成される特徴画像520(良否判定を行うお菓子600が映る撮像画像511から生成された特徴画像520)を、標準特徴画像520と区別するために、「対象特徴画像520」と呼ぶことがある。
<About the judgment unit>
The determination unit 532 compares the composite image 570 (feature image 520) generated by the second image generation unit 550 with the template feature image 522 indicating the feature of the non-defective candy 600, and based on the comparison result, It is determined whether the sweets 600 shown in the captured image 511 are correctly manufactured. As the template characteristic image 522, a characteristic image 520 (a composite image 570) indicating the characteristic of the good product 600 generated by the characteristic image generation unit 531 in the same manner as described above from the captured image 511 on which the good product 600 is captured. ) Is used. When the production line is not in operation, in order to obtain the template characteristic image 522, good-quality sweets 600 are input to the production line. In the image processing system 500, a picked-up image 511 in which the inputted good confectionery 600 is reflected is generated. This captured image 511 is referred to as a “standard image 511”. In the image processing system 500, the feature image generation unit 531 generates, based on the standard image 511, a feature image 520 (a composite image 570) indicating the features of the non-defective candy 600 shown in the standard image 511. When this feature image 520 is called a “standard feature image 520”, the standard feature image 520 becomes the template feature image 522. A template feature image 522 generated when the production line is not actually operating is stored in the system memory 3. Thereafter, in order to distinguish the characteristic image 520 (the characteristic image 520 generated from the captured image 511 on which the candy 600 to be subjected to the quality judgment is shown) generated while the production line is in operation, from the standard characteristic image 520 It may be called "feature image 520".
判定部532は、例えば、合成画像570(対象特徴画像520)とテンプレート特徴画像522との間の類似度(相違度)を求めることによって、両者を比較する。判定部532は、類似度を示す値として、例えばSAD(Sum of Absolute Difference)を使用する。SADが大きいことは類似度が低いことを意味し、SADが小さいことは類似度が高いことを意味する。類似度を示す値として、SSD(Sum of Squared Difference)あるいはNCC(Normalized Correlation Coffiecient)などの他の値を使用しても良い。
The determination unit 532 compares the composite image 570 (target feature image 520) and the template feature image 522, for example, to obtain a similarity (difference) between them. The determination unit 532 uses, for example, a sum of absolute difference (SAD) as a value indicating the degree of similarity. A large SAD means low similarity, and a small SAD means high similarity. Other values such as SSD (Sum of Squared Difference) or NCC (Normalized Correlation Coffiecient) may be used as a value indicating the degree of similarity.
判定部532は、合成画像570とテンプレート特徴画像522との間の類似度が高い場合には、撮像画像511に映るお菓子600が正しく製造されたものであると判定し、当該類似度が低い場合には、撮像画像511に映るお菓子600が正しく製造されたものではないと判定する。具体的には、判定部532は、合成画像570とテンプレート特徴画像522との間のSADがしきい値以下の場合には、撮像画像511に映るお菓子600が正しく製造されたものであると判定し、当該SADが当該しきい値よりも大きい場合には、撮像画像511に映るお菓子600が正しく製造されたものではないと判定する。そして、判定部532は判定結果521をシステムメモリ3に記憶する。
When the degree of similarity between the composite image 570 and the template characteristic image 522 is high, the determination unit 532 determines that the candy 600 shown in the captured image 511 is correctly manufactured, and the degree of similarity is low. In the case, it is determined that the candy 600 shown in the captured image 511 is not correctly manufactured. Specifically, when the SAD between the composite image 570 and the template characteristic image 522 is equal to or less than the threshold value, the determination unit 532 determines that the candy 600 shown in the captured image 511 is correctly manufactured. If it is determined that the SAD is greater than the threshold value, it is determined that the candy 600 shown in the captured image 511 is not correctly manufactured. Then, the determination unit 532 stores the determination result 521 in the system memory 3.
なお上記の例では、2値のエッジ画像565が、撮像画像511に映るお菓子600を示す第1画像524として使用されたが、グレースケール画像のお菓子領域523が第1画像524として使用されても良い。この場合には、お菓子領域523を回転して得られる複数の回転画像を合成した合成画像が特徴画像520とされる。
In the above example, the binary edge image 565 is used as the first image 524 indicating the candy 600 shown in the captured image 511, but the candy region 523 of the grayscale image is used as the first image 524. It is good. In this case, a combined image obtained by combining a plurality of rotated images obtained by rotating the candy region 523 is used as the feature image 520.
また上記の例では、合成画像570が特徴画像520とされているが、合成画像570の一部が特徴画像520とされても良い。この場合には、標準特徴画像520の一部がテンプレート特徴画像522とされる。
In the above example, the composite image 570 is the feature image 520, but a part of the composite image 570 may be the feature image 520. In this case, a part of the standard feature image 520 is a template feature image 522.
以上のように、画像処理システム500では、お菓子600を示す第1画像524を回転して得られる複数の回転画像を合成した合成画像570の少なくとも一部が、特徴画像520とされている。特徴画像520は、撮像画像511に映るお菓子600の周方向の向きの影響を受けにくい。したがって、撮像画像511に映るお菓子600の周方向の向きが一定しない場合であっても、特徴画像520を用いて、撮像画像511に映るお菓子600が正しく製造されたものであるか否かをより正確に判定することができる。よって、お菓子判定処理の判定精度が向上する。
As described above, in the image processing system 500, at least a part of the combined image 570 obtained by combining the plurality of rotated images obtained by rotating the first image 524 indicating the sweet 600 is used as the feature image 520. The characteristic image 520 is unlikely to be affected by the circumferential direction of the candy 600 shown in the captured image 511. Therefore, even if the circumferential direction of the candy 600 in the captured image 511 is not constant, whether the candy 600 in the captured image 511 is correctly manufactured using the characteristic image 520 Can be determined more accurately. Therefore, the determination accuracy of the sweets determination process is improved.
また本例では、2値のエッジ画像565を第1画像524としているため、グレースケール画像のお菓子領域523を第1画像524とする場合と比較して、撮像装置6での撮像領域の明るさの変化の影響を第1画像524が受けることを抑制することができる。よって、特徴画像520が、お菓子600が撮像される撮像領域の明るさの変化の影響を受けることを抑制することができ、その結果、お菓子600の良否判定の精度が向上する。
In this example, since the binary edge image 565 is the first image 524, the brightness of the imaging region in the imaging device 6 is compared to the case where the candy region 523 of the grayscale image is the first image 524. It is possible to suppress the first image 524 from being affected by the change in height. Therefore, it can suppress that the characteristic image 520 receives to the influence of the brightness change of the imaging area where the candy 600 is imaged, As a result, the precision of the quality determination of the candy 600 improves.
また本例では、抽出部541は、テンプレートマッチングを用いて、撮像画像511からお菓子領域523を抽出しているため、ハフ変換が使用される上述の第1の抽出方法や、ラベリングが使用される第2の抽出方法と比較して、抽出処理が簡素化される。
In this example, since the extraction unit 541 extracts the candy region 523 from the captured image 511 by using template matching, the first extraction method described above using the Hough transform or labeling is used. Compared with the second extraction method, the extraction process is simplified.
また本例では、判定部532は、撮像画像511から生成された特徴画像520と、テンプレート特徴画像522とをSAD等を用いて比較し、その比較結果に基づいて当該撮像画像511に映るお菓子600が良品か否かを判定しているため、判定処理が簡素化される。
In this example, the determination unit 532 compares the feature image 520 generated from the captured image 511 with the template feature image 522 using SAD or the like, and based on the comparison result, the confectionery reflected in the captured image 511 Since it is determined whether 600 is a non-defective product, the determination process is simplified.
なお上記の例では、画像処理装置1を含む画像処理システム500は、お菓子を製造する製造ラインに導入されていたが、他の装置あるいは様々な場所に導入されても良い。
In the above-mentioned example, although image processing system 500 containing image processing device 1 was introduced in a manufacturing line which manufactures sweets, it may be introduced in other devices or various places.
例えば、画像処理システム500は、表面に模様が付された貨幣が投入される自動販売機内に導入されても良い。この場合には、自動販売機内に投入される貨幣が撮像装置6で撮像される。自動販売機内では、例えば、貨幣がレール上を回転しながら移動する。撮像装置6は回転する貨幣を撮像する。特徴画像生成部531は、貨幣が映る撮像画像511に基づいて、当該貨幣の特徴を示す特徴画像を生成する。判定部532は、特徴画像生成部531で生成された特徴画像に基づいて、撮像画像511に映る貨幣が正しいものに相当するか否かを判定する。貨幣表面の模様は、お菓子表面の模様と同じように扱うことができることから、上記と同様にして、画像処理システム500は、撮像画像511に映る貨幣が正しいものに相当するか否かを判定することができる。これにより、自動販売機に投入された貨幣の真偽判定を行うことができる。
For example, the image processing system 500 may be introduced into a vending machine into which money having a pattern on its surface is inserted. In this case, the money inserted into the vending machine is imaged by the imaging device 6. In a vending machine, for example, money moves while rotating on a rail. The imaging device 6 images a rotating coin. The feature image generation unit 531 generates a feature image indicating the feature of the money based on the captured image 511 showing the money. Based on the feature image generated by the feature image generator 531, the determination unit 532 determines whether or not the money shown in the captured image 511 corresponds to the correct one. Since the pattern on the money surface can be handled in the same manner as the pattern on the candy surface, the image processing system 500 determines whether or not the money shown in the captured image 511 corresponds to the correct one in the same manner as described above. can do. Thereby, the authenticity of the money thrown into the vending machine can be determined.
また、画像処理システム500は、工場内で製品を組み立てる製造ラインに導入されても良い。より具体的には、画像処理システム500は、例えば、複数の部品を基板に実装する製造ラインに導入されても良い。この場合には、複数の部品が実装された基板が撮像装置6で撮像される。特徴画像生成部531は、複数の部品が実装された基板が映る撮像画像511に基づいて、当該基板の特徴を示す特徴画像を生成する。判定部532は、特徴画像生成部531で生成された特徴画像に基づいて、撮像画像511に映る、複数の部品が実装された基板が、複数の部品が正しく実装された基板に相当するか否か、つまり、基板に対して複数の部品が正しく実装されているか否かを判定する。基板上での複数の部品は、貨幣表面の模様と同じように扱うことができることから、上記と同様にして、画像処理システム500は、基板に対して複数の部品が正しく実装されているか否かを判定することができる。これにより、部品の実装間違え及び部品の実装もれ等を検出することができる。
In addition, the image processing system 500 may be introduced to a manufacturing line that assembles a product in a factory. More specifically, the image processing system 500 may be introduced into, for example, a manufacturing line for mounting a plurality of components on a substrate. In this case, the imaging device 6 captures an image of a substrate on which a plurality of components are mounted. The feature image generation unit 531 generates a feature image indicating the feature of the substrate based on the captured image 511 in which the substrate on which the plurality of components are mounted is captured. Based on the characteristic image generated by the characteristic image generation unit 531, the determination unit 532 determines whether the substrate on which the plurality of components are mounted, which is shown in the captured image 511, corresponds to the substrate on which the plurality of components are correctly mounted. That is, it is determined whether or not a plurality of components are correctly mounted on the board. Since a plurality of parts on the substrate can be treated in the same manner as the pattern on the coin surface, in the same manner as described above, the image processing system 500 determines whether the plurality of parts are correctly mounted on the substrate Can be determined. As a result, it is possible to detect a mounting error of a part, a mounting omission of a part, and the like.
また、画像処理システム500は、回転寿司店に導入されても良い。回転寿司店では、寿司等の商品の値段として、当該商品がのせられた皿の模様に応じた値段が設定されていることがある。そして、回転寿司店では、客が手に取った各皿の模様に応じた値段の合計が、飲食代として計算されることがある。このような回転寿司店に導入される画像処理システム500は、画像処理によって、客が手に取った皿の模様を特定する。
In addition, the image processing system 500 may be installed in a sushi restaurant. In a sushi restaurant, a price according to the pattern of the plate on which the product is placed may be set as the price of the product such as sushi. And in a conveyor belt sushi restaurant, the sum total of the price according to the pattern of each dish which the customer took in hand may be calculated as food and drink charges. The image processing system 500 introduced to such a spin-roll sushi store specifies the pattern of the plate picked up by the customer by image processing.
具体的には、寿司等をのせた複数の皿が搭載された回転レーンから客が皿を手に取ったとき、当該皿が撮像装置6で撮像される。特徴画像生成部531は、皿が映る撮像画像511に基づいて、当該皿の特徴を示す特徴画像を生成する。
Specifically, when a customer picks a plate from a rotating lane on which a plurality of plates carrying sushi or the like is mounted, the plate is imaged by the imaging device 6. The feature image generation unit 531 generates a feature image indicating the feature of the dish based on the captured image 511 in which the dish is reflected.
ここで、皿の周縁部に模様が付されており、寿司等の商品が皿の中央部(模様が無い部分)にのせられるものとする。特徴画像生成部531の第1画像生成部540で生成されたエッジ画像565のうちの中央部は、商品が映っており、皿の特徴を示すものではないことから、第1画像生成部540は、エッジ画像565のうち、中央部以外の部分を、皿を示す第1画像524とする。特徴画像生成部531の第2画像生成部550は、この第1画像524を回転して得られる複数の回転画像を合成した合成画像の少なくとも一部を特徴画像とする。
Here, a pattern is given to the peripheral part of the plate, and a product such as sushi is placed on the central part (the part without the pattern) of the plate. Since the central portion of the edge image 565 generated by the first image generation unit 540 of the characteristic image generation unit 531 reflects a product and does not indicate the feature of the dish, the first image generation unit 540 The portion of the edge image 565 other than the central portion is taken as a first image 524 showing a plate. The second image generation unit 550 of the feature image generation unit 531 uses at least a part of a composite image obtained by combining a plurality of rotated images obtained by rotating the first image 524 as a feature image.
判定部532は、特徴画像生成部531で生成された特徴画像に基づいて、撮像画像511に映る皿が、所定の模様を有する皿に相当するか否かを判定する。つまり、判定部532は、特徴量に基づいて、撮像画像511に映る皿の模様が、所定の模様に一致するか否かを判定する。皿表面の模様は、貨幣表面の模様と同じように扱うことができることから、上記と同様にして、画像処理システム500は、撮像画像511に映る皿が、所定の模様を有する皿に相当するか否かを判定することができる。判定部532は、回転寿司店で使用される複数種類の皿にそれぞれ付された複数種類の模様のそれぞれについて、当該模様と、撮像画像511に映る皿の模様と一致するか否かを判定する。これにより、撮像画像511に映る皿の模様が特定される。したがって、撮像画像511に映る皿の模様に応じた値段を自動的に特定することができる。よって、客が手に取った各皿の模様に応じた値段の合計、つまり飲食代を自動計算することができる。
The determination unit 532 determines, based on the feature image generated by the feature image generation unit 531, whether or not the plate reflected in the captured image 511 corresponds to a plate having a predetermined pattern. That is, the determination unit 532 determines whether or not the pattern of the dish shown in the captured image 511 matches the predetermined pattern based on the feature amount. Since the pattern on the dish surface can be handled in the same manner as the pattern on the money surface, in the same manner as described above, the image processing system 500 determines whether the dish displayed in the captured image 511 corresponds to a dish having a predetermined pattern. It can be determined whether or not. The determination unit 532 determines, for each of the plurality of types of patterns attached to the plurality of types of dishes used in the sushi restaurant, whether or not the pattern matches the pattern of the dishes shown in the captured image 511. . Thereby, the pattern of the dish reflected in the captured image 511 is specified. Therefore, the price according to the pattern of the dish reflected in the captured image 511 can be specified automatically. Therefore, it is possible to automatically calculate the total price according to the pattern of each dish taken by the customer, that is, the food and beverage charges.
また、画像処理システム500は、物流センターに導入されても良い。物流センターでは、ダンボール等の荷物に対して、郵送先等が記載されたシールが貼られることがある。画像処理システム500は、荷物に貼られたシールが正しいシールに相当するか否か、つまり荷物に正しいシールが貼られているか否かを判定する。この場合には、荷物に貼られたシールが撮像装置6で撮像される。特徴画像生成部531は、シールが映る撮像画像511に基づいて、当該シールの特徴を示す特徴画像を生成する。判定部532は、特徴画像生成部531で生成された特徴画像に基づいて、撮像画像511に映るシールが正しいシールに相当するか否か、つまり、撮像画像511に映るシールが正しいものであるか否かを判定する。シール表面の文字等は、貨幣表面の模様と同じように扱うことができることから、上記と同様にして、画像処理システム500は、荷物に正しいシールが貼られているか否かを判定することができる。これにより、シールの貼り間違え等を検出することができる。
Further, the image processing system 500 may be introduced into a distribution center. In a distribution center, a sticker with a mailing address or the like may be affixed to a package such as cardboard. The image processing system 500 determines whether the sticker affixed to the package corresponds to the correct sticker, that is, whether the package is affixed the correct sticker. In this case, the sticker attached to the luggage is imaged by the imaging device 6. The feature image generation unit 531 generates a feature image indicating the feature of the seal based on the captured image 511 in which the seal is reflected. Based on the feature image generated by the feature image generation unit 531, the determination unit 532 determines whether the seal shown in the captured image 511 corresponds to the correct seal, that is, the seal shown in the captured image 511 is correct. It is determined whether or not. Since the characters on the seal surface can be handled in the same manner as the pattern on the money surface, the image processing system 500 can determine whether the correct seal is affixed to the package in the same manner as described above. . In this way, it is possible to detect a sticking error or the like of the seal.
なお、第2画像生成部550(画像処理回路4)は、合成画像570を生成する際に使用する回転画像の数(Nの値)を、画像処理システム500の動作状況に応じて変化させても良い。例えば、製造ラインでのお菓子の搬送速度が時間帯等に応じて変化する場合を想定する。このような場合には、お菓子の搬送速度が速く、判定結果521をすぐに得る必要がある場合には、第2画像生成部550は、処理時間を判定精度よりも優先させて、合成画像570を生成する際に使用する回転画像の数を少なくする。例えば、第2画像生成部550は、エッジ画像565を10°から360°まで10°ずつ回転させて、36枚の回転画像565aを生成する。そして、第2画像生成部550は、生成した36枚の回転画像565aを合成して合成画像570を生成する。一方で、製造ライン上でのお菓子の搬送速度が遅く、判定結果521をすぐに得る必要は無い場合には、第2画像生成部550は、処理時間よりも判定精度を優先させて、合成画像570を生成する際に使用する回転画像の数を多くする。例えば、第2画像生成部550は、エッジ画像565を0°から360°まで1°ずつ回転させて、360枚の回転画像565aを生成する。そして、第2画像生成部550は、生成した360枚の回転画像565aを合成して合成画像570を生成する。
The second image generation unit 550 (image processing circuit 4) changes the number of rotated images (value of N) used when generating the composite image 570 according to the operation status of the image processing system 500. Also good. For example, the case where the conveyance speed of the sweets in a manufacturing line changes according to a time zone etc. is assumed. In such a case, when the conveyance speed of the sweets is high and it is necessary to obtain the determination result 521 immediately, the second image generation unit 550 gives priority to the processing time over the determination accuracy, and the composite image is generated. The number of rotated images used when generating 570 is reduced. For example, the second image generation unit 550 rotates the edge image 565 by 10 ° from 10 ° to 360 ° to generate 36 rotated images 565a. Then, the second image generation unit 550 generates a combined image 570 by combining the generated 36 rotated images 565a. On the other hand, when the conveyance speed of sweets on the manufacturing line is low and it is not necessary to obtain the determination result 521 immediately, the second image generation unit 550 gives priority to the determination accuracy over the processing time, and combines them. The number of rotated images used in generating the image 570 is increased. For example, the second image generation unit 550 rotates the edge image 565 by 1 ° from 0 ° to 360 ° to generate 360 rotated images 565a. Then, the second image generation unit 550 generates a combined image 570 by combining the generated 360 rotated images 565a.
また、製造ラインでは、製造物がその姿勢を変化させずに搬送コンベア上を移動することがある。このような製造物が撮像装置6で撮像される場合には、撮像画像510において、それに映る製造物の姿勢は一定であるものの、それに映る製造物の左右方向の位置がばらつくことがある。例えば、ある撮像画像510では製造物が左側に映っており、別の撮像画像510では製造物が中央に映っており、さらに別の撮像画像510では製造物が右側に映っていることがある。
In the production line, the product may move on the conveyor without changing its posture. When such a product is picked up by the imaging device 6, the posture of the product shown in the captured image 510 is constant, but the position of the product shown in the left and right direction may vary. For example, in one captured image 510, a product is displayed on the left, in another captured image 510, the product is in the center, and in another captured image 510, the product may be displayed on the right.
このような場合には、変換パラメータリスト130に複数種類の平行移動パラメータを含めて、エッジ画像565ではなく、撮像画像511を対象画像110として第2画像生成部550に入力する。そして、第2画像生成部550は、複数種類の平行移動パラメータに基づいて、撮像画像511に対して、複数種類の平行移動用座標変換のそれぞれを別々に行って、複数枚の平行移動画像を生成する。例えば、第2画像生成部550は、撮像画像511を、右方向に2画素ずつ移動させた複数枚の右平行移動画像を生成するとともに、エッジ画像565を、左方向に2画素ずつ移動させた複数枚の左平行移動画像を生成する。そして、第2画像生成部550は、複数枚の右平行移動画像及び複数枚の左平行移動画像から成る複数枚の平行移動画像を合成して、合成画像を生成する。判定部532は、この合成画像を特徴画像として、撮像画像510に映る商品が正しく製造されているか否かを判定する。これにより、撮像画像510において、それに映る製造物の左右方向の位置がばらつく場合であっても、画像処理システム500は、撮像画像510に映る製造物が正しく製造されているか否かを適切に判定することができる。
In such a case, a plurality of types of parallel movement parameters are included in the conversion parameter list 130, and the captured image 511 is input to the second image generation unit 550 as the target image 110, not the edge image 565. Then, the second image generation unit 550 separately performs each of a plurality of types of parallel movement coordinate transformation on the captured image 511 based on a plurality of types of parallel movement parameters, and obtains a plurality of parallel movement images. Generate For example, the second image generation unit 550 generates a plurality of right parallel movement images in which the captured image 511 is moved by two pixels in the right direction and moves the edge image 565 by two pixels in the left direction. Generate multiple left translation images. Then, the second image generation unit 550 generates a composite image by combining a plurality of parallel displacement images including a plurality of right parallel displacement images and a plurality of left translational images. The determination unit 532 determines whether or not the product shown in the captured image 510 is correctly manufactured using the composite image as a feature image. Thus, even if the position of the product in the lateral direction of the captured image 510 varies, the image processing system 500 appropriately determines whether the product in the captured image 510 is properly manufactured. can do.
また、画像処理システム500が導入される環境によっては、撮像画像510に映る対象物の大きさがばらつくことがある。例えば、対象物の実際の大きさがばらつく場合、あるいは対象物と撮像装置6の撮像レンズとの間の距離がばらつく場合には、撮像画像510に映る対象物の大きさがばらつくことがある。
In addition, depending on the environment in which the image processing system 500 is introduced, the size of the object shown in the captured image 510 may vary. For example, when the actual size of the object varies, or when the distance between the object and the imaging lens of the imaging device 6 varies, the size of the object reflected in the captured image 510 may vary.
このような場合には、変換パラメータリスト130に複数種類の拡大パラメータ及び複数種類の縮小パラメータを含める。そして、第2画像生成部550は、複数種類の拡大パラメータに基づいて、エッジ画像(第1画像524)に対して、複数種類の拡大用座標変換のそれぞれを別々に行って、複数枚の拡大画像を生成する。さらに、第2画像生成部550は、複数種類の縮小パラメータに基づいて、エッジ画像に対して、複数種類の縮小用座標変換のそれぞれを別々に行って、複数枚の縮小画像を生成する。そして、第2画像生成部550は、複数枚の拡大画像及び複数枚の縮小画像から成る複数枚の画像を合成して、合成画像を生成する。判定部532は、この合成画像を特徴画像として、撮像画像510に映る対象物が比較対象(例えば良品)に相当するか否かを判定する。これにより、撮像画像510において、それに映る対象物の大きさがばらつく場合であっても、画像処理システム500は、撮像画像510に映る対象物が比較対象に相当するか否かを適切に判定することができる。
In such a case, the conversion parameter list 130 includes a plurality of types of enlargement parameters and a plurality of types of reduction parameters. Then, the second image generation unit 550 separately performs each of the plurality of types of enlargement coordinate transformations on the edge image (the first image 524) based on the plurality of types of enlargement parameters, thereby enlarging the plurality of sheets. Generate an image. Furthermore, the second image generation unit 550 separately performs a plurality of types of reduction coordinate transformations on the edge image based on the plurality of types of reduction parameters to generate a plurality of reduced images. Then, the second image generation unit 550 combines a plurality of images composed of a plurality of enlarged images and a plurality of reduced images to generate a composite image. The determination unit 532 determines whether the target shown in the captured image 510 corresponds to a comparison target (for example, a non-defective product), using the composite image as a feature image. Thereby, even if the size of the object appearing in the captured image 510 varies, the image processing system 500 appropriately determines whether the object appearing in the captured image 510 corresponds to a comparison target. be able to.
また、同じ製造ラインにおいて、複数種類の製造物が製造される場合には、製造物の種類に応じて、第2画像生成部550(画像処理回路4)で使用される複数種類の変換パラメータの組を変化させても良い。例えば、ある種類の製造物が製造ラインで製造される場合には、第2画像生成部550は、変換パラメータリスト130に含まれる複数種類の回転パラメータを使用して、対象画像110に対して複数種類の回転用座標変換のそれぞれを別々に行う。一方で、別の種類の製造物が製造ラインで製造される場合には、第2画像生成部550は、変換パラメータリスト130に含まれる複数種類の平行移動パラメータを使用して、対象画像110に対して複数種類の平行移動用座標変換のそれぞれを別々に行う。
When a plurality of types of products are produced in the same production line, the conversion parameters of the plurality of types of conversion parameters used in the second image generation unit 550 (image processing circuit 4) are generated according to the types of products. The set may be changed. For example, when a certain type of product is manufactured on the manufacturing line, the second image generation unit 550 uses a plurality of types of rotation parameters included in the conversion parameter list 130 to generate a plurality of target images 110. Perform each kind of rotation coordinate transformation separately. On the other hand, when another type of product is manufactured on the manufacturing line, the second image generation unit 550 uses the plurality of types of translation parameters included in the conversion parameter list 130 to generate the target image 110. On the other hand, each of the plural types of coordinate conversion for parallel movement is performed separately.
<各種変形例>
以下の画像処理回路4の各種変形例について説明する。
<Various modifications>
Various modified examples of the following image processing circuit 4 will be described.
<第1変形例>
図26は、本変形例に係る座標変換回路12の構成を示す図である。本変形例に係る座標変換回路12は、回転画像120に映る被写体のうちの特定の被写体(以後、「特定被写体」と呼ぶ)の位置を調整することが可能である。以下に、本変形例に係る座標変換回路12について、上述の図4の示される座標変換回路12との相違点を中心に説明する。
<First Modification>
FIG. 26 is a diagram showing the configuration of the coordinate conversion circuit 12 according to the present modification. The coordinate conversion circuit 12 according to this modification can adjust the position of a specific subject (hereinafter referred to as “specific subject”) among the subjects shown in the rotated image 120. Hereinafter, the coordinate conversion circuit 12 according to this modification will be described focusing on differences from the coordinate conversion circuit 12 shown in FIG. 4 described above.
本変形例に係る座標変換回路12は加算回路25を備えている。加算回路25は、制御回路21によって記憶回路13から読み出された変換パラメータ131に対して、パラメータオフセット230を加算する。そして、加算回路25は、パラメータオフセット230が加算された変換パラメータ131を変換回路20に出力する。
The coordinate conversion circuit 12 according to this modification includes an addition circuit 25. The adder circuit 25 adds the parameter offset 230 to the conversion parameter 131 read from the storage circuit 13 by the control circuit 21. Then, the addition circuit 25 outputs the conversion parameter 131 added with the parameter offset 230 to the conversion circuit 20.
パラメータオフセット230は、制御回路21のレジスタ22内に記憶される。パラメータオフセット230は、例えば、対象画像110の重心(四角形の対象画像110での対角線の交点)の位置に対する、対象画像110での特定被写体の重心の位置のずれ量を示している。画像処理回路4が、お菓子判定処理を行う上述の画像処理システム500の第2画像生成部550として機能する場合には、特定被写体は、例えば、撮像画像511に映るお菓子600となる。この場合、特定被写体の重心は、お菓子600の重心、つまり円形のお菓子600の中心となる。
The parameter offset 230 is stored in the register 22 of the control circuit 21. The parameter offset 230 indicates, for example, the amount of deviation of the position of the center of gravity of the specific subject in the target image 110 with respect to the position of the center of gravity of the target image 110 (the intersection of diagonals in the target image 110 of quadrilateral). When the image processing circuit 4 functions as the second image generation unit 550 of the above-described image processing system 500 that performs the candy determination process, the specific subject is, for example, the candy 600 shown in the captured image 511. In this case, the center of gravity of the specific subject is the center of gravity of the candy 600, that is, the center of the circular candy 600.
パラメータオフセット230は、対象画像110の重心の位置に対する、対象画像110での特定被写体の重心の位置のx方向(例えば画像の左右方向)のずれ量xoffと、対象画像110の重心の位置に対する、対象画像110での特定被写体の重心の位置のy方向(例えば画像の上下方向)のずれ量yoffとで構成されている。以後、ずれ量xoffを「xオフセットxoff」と呼ぶ。また、ずれ量yoffを「yオフセットyoff」と呼ぶ。
The parameter offset 230 is a displacement amount xoff of the position of the center of gravity of the specific subject in the target image 110 with respect to the position of the center of gravity of the target image 110 in the x direction (for example, the horizontal direction of the image) An offset amount yoff of the position of the center of gravity of the specific subject in the target image 110 in the y direction (for example, the vertical direction of the image) is included. Hereinafter, the shift amount xoff is referred to as “x offset xoff”. The shift amount yoff is referred to as “y offset yoff”.
ここで、対象画像110の重心の座標を(x1,y1)とし、対象画像110での特定被写体の重心の座標を(x2,y2)とする。このとき、xオフセットxoff=x2−x1となり、yオフセットyoff=y2−y1となる。
Here, the coordinates of the center of gravity of the target image 110 are (x1, y1), and the coordinates of the center of gravity of the specific subject in the target image 110 are (x2, y2). At this time, x offset xoff = x2-x1 and y offset yoff = y2-y1.
加算回路25は、変換パラメータ131に対してパラメータオフセット230を加算する際には、変換パラメータ131を構成する4つの座標のそれぞれのx座標に対して、パラメータオフセット230のxオフセットxoffを加算する。そして、加算回路25は、変換パラメータ131を構成する4つの座標のそれぞれのy座標に対して、パラメータオフセット230のyオフセットyoffを加算する。
When the addition circuit 25 adds the parameter offset 230 to the conversion parameter 131, the addition circuit 25 adds the x offset xoff of the parameter offset 230 to each of the four coordinates constituting the conversion parameter 131. Then, the adding circuit 25 adds the y offset yoff of the parameter offset 230 to the y coordinate of each of the four coordinates constituting the conversion parameter 131.
変換回路20は、パラメータオフセット230が加算された変換パラメータ131に基づいて、対象画像110に対して座標変換を行う。変換パラメータ131が回転パラメータ132である場合には、変換回路20は、パラメータオフセット230が加算された回転パラメータ132に基づいて、対象画像110に対して回転用座標変換を行う。これにより、対象画像110での特定被写体の重心の位置が、対象画像110の重心の位置からずれている場合であっても、対象画像110に基づいて生成された回転画像120での特定被写体の重心の位置が、回転画像120の重心の位置と一致するようになる。画像処理回路4が、お菓子判定処理を行う画像処理システム500で使用される場合には、エッジ画像565でのお菓子の重心の位置が、エッジ画像565の重心の位置からずれている場合であっても、エッジ画像565に基づいて生成された回転画像565aでのお菓子の重心の位置が、回転画像565aの重心の位置と一致するようになる。
The conversion circuit 20 performs coordinate conversion on the target image 110 based on the conversion parameter 131 to which the parameter offset 230 is added. When the conversion parameter 131 is the rotation parameter 132, the conversion circuit 20 performs rotation coordinate conversion on the target image 110 based on the rotation parameter 132 to which the parameter offset 230 is added. Thereby, even if the position of the center of gravity of the specific subject in the target image 110 is deviated from the position of the center of gravity of the target image 110, the specific subject in the rotational image 120 generated based on the target image 110 The position of the center of gravity coincides with the position of the center of gravity of the rotated image 120. In the case where the image processing circuit 4 is used in the image processing system 500 that performs the candy determination process, the position of the center of gravity of the candy in the edge image 565 is shifted from the position of the center of gravity of the edge image 565 Even if it exists, the position of the gravity center of the confectionery in the rotation image 565a generated based on the edge image 565 coincides with the position of the gravity center of the rotation image 565a.
パラメータオフセット230は、CPU2が画像処理回路4に対して対象画像110に関する設定を行う際に(上述の図12のステップs1,s2など)、CPU2によって、特定情報220とともに、制御回路21のレジスタ22に設定される。CPU2は、画像処理回路4に対してある対象画像110に関する設定を行う際には、当該ある対象画像110に応じた特定情報220及びパラメータオフセット230をシステムメモリ3から読み出し、読み出した特定情報220及びパラメータオフセット230をレジスタ22に設定する。制御回路21は、加算回路25にレジスタ22内のパラメータオフセット230を出力するとともに、レジスタ22内の特定情報220に基づいて記憶回路13から変換パラメータ131を読み出す。加算回路25は、記憶回路13から読み出される変換パラメータ131に対してパラメータオフセット230を加算し、パラメータオフセット230が加算された変換パラメータ131を変換回路20に出力する。
The parameter offset 230 is set by the CPU 2 together with the specific information 220 when the CPU 2 makes settings for the target image 110 with respect to the image processing circuit 4 (such as steps s1 and s2 in FIG. 12 described above). Set to When setting the target image 110 with respect to the image processing circuit 4, the CPU 2 reads from the system memory 3 the identification information 220 and the parameter offset 230 corresponding to the identification image 110, and The parameter offset 230 is set in the register 22. The control circuit 21 outputs the parameter offset 230 in the register 22 to the addition circuit 25 and reads the conversion parameter 131 from the storage circuit 13 based on the specific information 220 in the register 22. The addition circuit 25 adds the parameter offset 230 to the conversion parameter 131 read from the storage circuit 13 and outputs the conversion parameter 131 to which the parameter offset 230 has been added to the conversion circuit 20.
画像処理回路4が、お菓子判定処理を行う画像処理システム500で使用される場合には、パラメータオフセット230は、例えば、DSP7によって生成される。第1画像生成部540として機能するDSP7は、撮像画像511に基づいてエッジ画像565(第1画像524)を生成する際に、パラメータオフセット230を生成することができる。DSP7は、エッジ画像565(対象画像510)を生成する際に求めたパラメータオフセット230を、当該エッジ画像565と対応付けてシステムメモリ3に記憶する。
When the image processing circuit 4 is used in the image processing system 500 that performs the sweets determination process, the parameter offset 230 is generated by, for example, the DSP 7. The DSP 7 functioning as the first image generation unit 540 can generate the parameter offset 230 when generating the edge image 565 (first image 524) based on the captured image 511. The DSP 7 stores the parameter offset 230 obtained when generating the edge image 565 (target image 510) in the system memory 3 in association with the edge image 565.
このように、本変形例に係る座標変換回路12では、変換回路20は、パラメータオフセット230が加算された変換パラメータ131に基づいて対象画像110に対して座標変換を行う。そのため、対象画像110ごとにパラメータオフセット230を調整することによって、変換回路20で得られる処理画像115(回転画像120)での特定被写体の位置を調整することができる。お菓子判定処理を行う画像処理システム500では、回転画像565aでのお菓子の位置がばらつく場合には、合成画像570にばらつきが生じ、その結果、特徴画像520にばらつきが生じる。特徴画像520がばらつくと、正しく製造されたお菓子が映る撮像画像510に基づいて生成された特徴画像520であっても、テンプレート特徴画像522と大きく異なる可能性がある。その結果、判定部532での判定精度が低下する可能性がある。したがって、本変形例のように、回転画像565aでのお菓子の重心の位置を、回転画像565aの重心の位置に一致させることによって、回転画像565aでのお菓子の位置のばらつきが低減し、その結果、判定部532での判定精度を向上させることができる。
Thus, in the coordinate conversion circuit 12 according to the present modification, the conversion circuit 20 performs coordinate conversion on the target image 110 based on the conversion parameter 131 to which the parameter offset 230 is added. Therefore, by adjusting the parameter offset 230 for each target image 110, it is possible to adjust the position of the specific subject in the processed image 115 (rotation image 120) obtained by the conversion circuit 20. In the image processing system 500 that performs the candy determination process, when the position of the candy in the rotation image 565a varies, the composite image 570 varies, and as a result, the feature image 520 varies. If the feature image 520 is dispersed, even the feature image 520 generated based on the captured image 510 on which the correctly manufactured sweets are reflected may be significantly different from the template feature image 522. As a result, the determination accuracy in the determination unit 532 may be reduced. Therefore, as in this modified example, by matching the position of the center of gravity of the candy in the rotated image 565a with the position of the center of gravity of the rotated image 565a, the variation in the position of the candy in the rotated image 565a is reduced, As a result, the determination accuracy in the determination unit 532 can be improved.
<第2変形例>
本変形例では、図27に示されるように、画像処理回路4は、入力フレームバッファ11内の1枚の対象画像110に対して複数種類の座標変換を重ねて行って、1枚の処理画像215を生成する。以後、1枚の対象画像110に対して複数種類の座標変換を重ねて行って、1枚の処理画像215を生成する処理を「重複変換処理」と呼ぶことがある。
<Second Modification>
In the present modification, as shown in FIG. 27, the image processing circuit 4 superimposes multiple types of coordinate transformation on one target image 110 in the input frame buffer 11 to generate one processed image. Generate 215. Hereinafter, a process of generating a single processed image 215 by overlapping a plurality of types of coordinate conversion on one target image 110 may be referred to as “overlap conversion process”.
図28は本変形例に係る座標変換回路12の構成を示す図である。図29は本変形例に係る処理回路14の構成を示す図である。図29に示されるように、本変形例に係る処理回路14は、上述の図11に示される処理回路14と比較して、加算処理部42を備えていない。処理回路14では、座標変換回路12から出力される画素データがライトバッファ43に書き込まれる。また、リードバッファ44内の画素データが座標変換回路12に出力される。
FIG. 28 is a diagram showing the configuration of the coordinate conversion circuit 12 according to this modification. FIG. 29 is a diagram showing a configuration of the processing circuit 14 according to this modification. As illustrated in FIG. 29, the processing circuit 14 according to the present modification does not include the addition processing unit 42 as compared with the processing circuit 14 illustrated in FIG. 11 described above. In the processing circuit 14, the pixel data output from the coordinate conversion circuit 12 is written into the write buffer 43. Further, the pixel data in the read buffer 44 is output to the coordinate conversion circuit 12.
図28に示されるように、本変形例に係る座標変換回路12は、上述の図4に示される座標変換回路12と比較して、選択回路23をさらに備える。選択回路23は、制御回路21から出力される制御信号CNT1に基づいて、入力フレームバッファ11の出力及び処理回路14の出力のどちらか一方を選択し、選択した出力を変換回路20に接続する。本変形例では、制御信号CNT1が第1状態のとき(例えば“1”を示すとき)、選択回路23は入力フレームバッファ11の出力を選択する。選択回路23が入力フレームバッファ11の出力を選択する場合には、変換回路20は、入力フレームバッファ11内の対象画像110にアクセスすることができる。一方で、制御信号CNT1が第2状態のとき(例えば“0”を示すとき)、選択回路23は処理回路14の出力を選択する。選択回路23が処理回路14の出力を選択する場合には、変換回路20は、処理回路14のリードバッファ44と接続され、リードバッファ44から画素データを読み出すことができる。
As shown in FIG. 28, the coordinate conversion circuit 12 according to the present modification further includes a selection circuit 23 as compared with the coordinate conversion circuit 12 shown in FIG. 4 described above. The selection circuit 23 selects either the output of the input frame buffer 11 or the output of the processing circuit 14 based on the control signal CNT1 output from the control circuit 21 and connects the selected output to the conversion circuit 20. In the present modification, when the control signal CNT1 is in the first state (for example, when it indicates "1"), the selection circuit 23 selects the output of the input frame buffer 11. When the selection circuit 23 selects the output of the input frame buffer 11, the conversion circuit 20 can access the target image 110 in the input frame buffer 11. On the other hand, when the control signal CNT1 is in the second state (for example, when it indicates "0"), the selection circuit 23 selects the output of the processing circuit 14. When the selection circuit 23 selects the output of the processing circuit 14, the conversion circuit 20 is connected to the read buffer 44 of the processing circuit 14 and can read pixel data from the read buffer 44.
図30は本変形例に係る変換パラメータリスト130の一例を示す図である。本変形例に係る変換パラメータリスト130では、複数種類の変換パラメータ131のそれぞれに対して固有のパラメータ番号(識別情報)が対応付けられている。変換パラメータリスト130に、P種類(P≧2)の変換パラメータ131が含まれているとすると、図30の例では、P種類の変換パラメータ131に対して、1番からP番までのパラメータ番号がそれぞれ対応付けられている。
FIG. 30 is a diagram showing an example of the conversion parameter list 130 according to this modification. In the conversion parameter list 130 according to this modification, a unique parameter number (identification information) is associated with each of a plurality of types of conversion parameters 131. Assuming that the conversion parameter list 130 includes P types of conversion parameters 131 (P ≧ 2), in the example of FIG. Are associated with each other.
また図30の例では、変換パラメータリスト130には、複数種類の回転パラメータ132と、複数種類の拡大パラメータ133と、複数種類の縮小パラメータ134と、複数種類の平行移動パラメータ135とが含まれている。具体的には、変換パラメータリスト130には、画像を1°から360°まで回転するための360種類の回転パラメータ132が含まれている。また、変換パラメータリスト130には、画像を1.1倍に拡大するための拡大用座標変換に必要な拡大パラメータ133、画像を1.2倍に拡大するための拡大用座標変換に必要な拡大パラメータ133などが含まれている。また、変換パラメータリスト130には、画像を0.9倍に縮小するための縮小用座標変換に必要な縮小パラメータ134、画像を0.8倍に縮小するための縮小用座標変換に必要な縮小パラメータ134などが含まれている。そして、変換パラメータリスト130には、画像を右方向に1画素分だけ平行移動するための平行移動用座標変換に必要な平行移動パラメータ135、画像を右方向に2画素分だけ平行移動するための平行移動用座標変換に必要な平行移動パラメータ135などが含まれている。
Further, in the example of FIG. 30, the conversion parameter list 130 includes a plurality of types of rotation parameters 132, a plurality of types of enlargement parameters 133, a plurality of types of reduction parameters 134, and a plurality of types of parallel movement parameters 135. There is. Specifically, the conversion parameter list 130 includes 360 kinds of rotation parameters 132 for rotating the image from 1 ° to 360 °. The conversion parameter list 130 also includes an enlargement parameter 133 necessary for enlargement coordinate conversion for enlarging the image by 1.1 times, and an enlargement necessary for enlargement coordinate conversion for enlarging the image by 1.2 times. Parameters 133 and the like are included. The conversion parameter list 130 includes a reduction parameter 134 necessary for coordinate conversion for reduction for reducing the image by 0.9 times, and a reduction necessary for coordinate conversion for reduction for reducing the image to 0.8 times. Parameters 134 and the like are included. Then, in the conversion parameter list 130, a parallel movement parameter 135 necessary for parallel movement coordinate conversion for parallel movement of the image by one pixel in the right direction, and for parallel movement of the image by two pixels in the right direction. A translation parameter 135 and the like necessary for coordinate conversion for translation are included.
図31は本変形例に係る特定情報220の一例を示す図である。図31に示されるように、本変形例に係る特定情報220には、ルックアップテーブル(LUT)240と、参照態様情報250とが含まれている。
FIG. 31 is a diagram showing an example of the specific information 220 according to this modification. As shown in FIG. 31, the identification information 220 according to the present modification includes a look-up table (LUT) 240 and reference mode information 250.
LUT240には、複数のパラメータ番号が記述されている。参照態様情報250は、LUT240に記述された複数のパラメータ番号をどのように参照するかを示す情報である。制御回路21は参照態様情報250に従ってLUT240内のパラメータ番号を1つずつ参照し、パラメータ番号を参照するたびに、参照したパラメータ番号に対応する変換パラメータ131を読み出す。読み出された変換パラメータ131は変換回路20に入力される。
A plurality of parameter numbers are described in the LUT 240. The reference mode information 250 is information indicating how to refer to a plurality of parameter numbers described in the LUT 240. The control circuit 21 refers to the parameter numbers in the LUT 240 one by one in accordance with the reference mode information 250, and reads the conversion parameter 131 corresponding to the referenced parameter number each time the parameter number is referenced. The read conversion parameter 131 is input to the conversion circuit 20.
参照態様情報250には、参照回数251、参照開始位置252及び参照間隔253が含まれる。参照回数251は、LUT240内のパラメータ番号を参照する回数を示している。参照開始位置252は、LUT240において、最初に参照するパラメータ番号の位置を示している。参照間隔253は、あるタイミングで変換パラメータ131を参照する場合に、LUT240において、前回参照した変換パラメータ131から何個離れた変換パラメータ131を参照するかを示している。
The reference mode information 250 includes the number of times of reference 251, the reference start position 252, and the reference interval 253. The number of references 251 indicates the number of references to the parameter number in the LUT 240. The reference start position 252 indicates the position of the parameter number to be referred to first in the LUT 240. The reference interval 253 indicates how many conversion parameters 131 apart from the previously referenced conversion parameter 131 are to be referred to in the LUT 240 when referring to the conversion parameter 131 at a certain timing.
制御回路21は、LUT240内の複数のパラメータ番号を、LUT240の先頭側から末尾側にかけて順に参照する。座標変換回路12において、対象画像110に対してM(≧2)種類の座標変換が重ねて行われる場合には、制御回路21は、まず、LUT240において、参照開始位置252が示す位置のパラメータ番号を参照する。そして、制御回路21は、参照したパラメータ番号に対応する変換パラメータ131を記憶回路13から読み出して変換回路20に入力する。次に、制御回路21は、LUT240において、前回参照したパラメータ番号から、参照間隔253が示す個数だけ末尾側に離れたパラメータ番号を参照する。そして、制御回路21は、参照したパラメータ番号に対応する変換パラメータ131を記憶回路13から読み出して変換回路20に入力する。以後、制御回路21は、同様に動作し、参照回数251が示す回数(M回)だけパラメータ番号を参照する。これにより、記憶回路13に記憶されている複数種類の変換パラメータ131のうち、変換回路20が入力フレームバッファ11内の対象画像110に対する座標変換で使用するM種類の使用対象変換パラメータ131が順に変換回路20に入力される。
The control circuit 21 sequentially refers to a plurality of parameter numbers in the LUT 240 from the top side to the tail side of the LUT 240. When coordinate conversion of M (≧ 2) types is performed on the target image 110 in the coordinate conversion circuit 12 in an overlapping manner, the control circuit 21 first determines the parameter number of the position indicated by the reference start position 252 in the LUT 240. Refer to Then, the control circuit 21 reads out the conversion parameter 131 corresponding to the referred parameter number from the storage circuit 13 and inputs it to the conversion circuit 20. Next, in the LUT 240, the control circuit 21 refers to the parameter number that is separated from the parameter number that was referred to last time by the number indicated by the reference interval 253 toward the end. Then, the control circuit 21 reads the conversion parameter 131 corresponding to the referenced parameter number from the storage circuit 13 and inputs it to the conversion circuit 20. Thereafter, the control circuit 21 operates in the same manner, and refers to the parameter number the number of times (M times) indicated by the number of times of reference 251. Thus, among the plurality of types of conversion parameters 131 stored in the storage circuit 13, M types of use target conversion parameters 131 used by the conversion circuit 20 for coordinate conversion on the target image 110 in the input frame buffer 11 are converted in order Input to the circuit 20.
図30,31の例において、例えば、参照回数251が「3回」、参照開始位置252が「先頭」、参照間隔253が「1」を示す場合、制御回路21は、LUT240に含まれる複数のパラメータ番号のうち、No.1、No.361及びNo.400を順に参照する。これにより、変換回路20には、No.1に対応する、画像を1°回転するための回転パラメータ132と、No.361に対応する、画像を1.1倍で拡大するための拡大パラメータ133と、No.400に対応する、画像を右方向に1画素分だけ平行移動するための平行移動パラメータ135とが順に入力される。
In the example of FIGS. 30 and 31, for example, when the reference frequency 251 indicates “3 times”, the reference start position 252 indicates “head”, and the reference interval 253 indicates “1”, the control circuit 21 includes a plurality of LUTs 240. Among the parameter numbers, No. 1, No. 361 and no. 400 is referred to in order. As a result, the converter circuit 20 receives no. 1 corresponding to the rotation parameter 132 for rotating the image by 1 °; No. 3 corresponding to U.S. Pat. A translation parameter 135 corresponding to 400 for translating the image by one pixel in the right direction is sequentially input.
<画像処理回路の動作>
図32は、本変形例に係る画像処理回路4の動作を説明するための図である。入力フレームバッファ11内に対象画像110が書き込まれると、制御回路21は制御信号CNT1を第1状態に設定するとともに、記憶回路13から、最初に使用される変換パラメータ131を読み出して変換回路20に出力する。変換回路20は、入力フレームバッファ11内の対象画像110に対して、入力された変換パラメータ131に基づいて座標変換を行って、第1中間画像160−1を生成する。制御回路21は、変換回路20で第1中間画像160−1が生成されると、制御信号CNT1を第2状態に設定する。これにより、処理回路14のリードバッファ44は、変換回路20に接続される。
<Operation of image processing circuit>
FIG. 32 is a diagram for explaining the operation of the image processing circuit 4 according to the present modification. When the target image 110 is written in the input frame buffer 11, the control circuit 21 sets the control signal CNT 1 to the first state and reads the conversion parameter 131 used first from the storage circuit 13 to the conversion circuit 20. Output. The conversion circuit 20 performs coordinate conversion on the target image 110 in the input frame buffer 11 based on the input conversion parameter 131 to generate a first intermediate image 160-1. When the conversion circuit 20 generates the first intermediate image 160-1, the control circuit 21 sets the control signal CNT1 to the second state. Thereby, the read buffer 44 of the processing circuit 14 is connected to the conversion circuit 20.
変換回路20は、第1中間画像160−1の画素データを、処理回路14のライトバッファ43に書き込む。ライトバッファ43内の画素データはフレームメモリ40に書き込まれる。これにより、フレームメモリ40に第1中間画像160−1が記憶される。
The conversion circuit 20 writes the pixel data of the first intermediate image 160-1 to the light buffer 43 of the processing circuit 14. Pixel data in the write buffer 43 is written to the frame memory 40. Thereby, the first intermediate image 160-1 is stored in the frame memory 40.
処理回路14は、フレームメモリ40内の、第1中間画像160−1の画素データを、リードバッファ44に書き込む。変換回路20は、リードバッファ44内の第1中間画像160−1画素データを読み出す。これにより、変換回路20には、処理回路14から第1中間画像160−1が入力される。変換回路20は、第1中間画像160−1に対して、制御回路21によって記憶回路13から読み出された、2番目に使用される変換パラメータ131に基づいて座標変換を行って、第2中間画像160−2を生成する。変換回路20は、第2中間画像160−2の画素データを、処理回路14のライトバッファ43に書き込む。ライトバッファ43内の画素データはフレームメモリ40に書き込まれる。これにより、フレームメモリ40に第2中間画像160−2が記憶される。
The processing circuit 14 writes the pixel data of the first intermediate image 160-1 in the frame memory 40 to the read buffer 44. The conversion circuit 20 reads the first intermediate image 160-1 pixel data in the read buffer 44. As a result, the first intermediate image 160-1 is input to the conversion circuit 20 from the processing circuit 14. The conversion circuit 20 performs coordinate conversion on the first intermediate image 160-1 based on the second used conversion parameter 131 read from the storage circuit 13 by the control circuit 21, and the second intermediate image 160-1. An image 160-2 is generated. The conversion circuit 20 writes the pixel data of the second intermediate image 160-2 to the light buffer 43 of the processing circuit 14. Pixel data in the write buffer 43 is written into the frame memory 40. Thereby, the second intermediate image 160-2 is stored in the frame memory 40.
処理回路14は、フレームメモリ40内の、第2中間画像160−2の画素データを、リードバッファ44に書き込む。変換回路20は、リードバッファ44内の第2中間画像160−2の画素データを読み出す。これにより、変換回路20には、処理回路14から第2中間画像160−2が入力される。変換回路20は、第2中間画像160−2に対して、制御回路21によって記憶回路13から読み出された、3番目に使用される変換パラメータ131に基づいて座標変換を行って、第3中間画像160−3を生成する。変換回路20は、第3中間画像160−3の画素データを、処理回路14のライトバッファ43に書き込む。ライトバッファ43内の画素データはフレームメモリ40に書き込まれる。これにより、フレームメモリ40に第3中間画像160−3が記憶される。
The processing circuit 14 writes the pixel data of the second intermediate image 160-2 in the frame memory 40 to the read buffer 44. The conversion circuit 20 reads the pixel data of the second intermediate image 160-2 in the read buffer 44. Thereby, the second intermediate image 160-2 is input to the conversion circuit 20 from the processing circuit 14. The conversion circuit 20 performs coordinate conversion on the second intermediate image 160-2 on the basis of the third used conversion parameter 131 read from the storage circuit 13 by the control circuit 21 to obtain the third intermediate image 160-2. An image 160-3 is generated. The conversion circuit 20 writes the pixel data of the third intermediate image 160-3 to the light buffer 43 of the processing circuit 14. Pixel data in the write buffer 43 is written to the frame memory 40. Thereby, the third intermediate image 160-3 is stored in the frame memory 40.
以後、画像処理回路4は同様に動作して、変換回路20が、第(M−1)中間画像160−(M−1)に対して、制御回路21によって記憶回路13から読み出された、M番目に使用される変換パラメータ131に基づいて座標変換を行って、第M中間画像160−Mを生成する。この第M中間画像160−Mが処理画像215としてフレームメモリ40に書き込まれる。
Thereafter, the image processing circuit 4 operates in the same manner, and the conversion circuit 20 is read from the storage circuit 13 by the control circuit 21 for the (M-1) -th intermediate image 160- (M-1). Coordinate transformation is performed based on the transformation parameter 131 used in the Mth to generate an Mth intermediate image 160-M. The Mth intermediate image 160 -M is written to the frame memory 40 as the processed image 215.
図30,31の例において、例えば、参照回数251が「3回」、参照開始位置252が「先頭」、参照間隔253が「1」を示す場合には、上述のように、変換回路20には、画像を1°回転するための回転パラメータ132と、画像を1.1倍で拡大するための拡大パラメータ133と、画像を右方向に1画素分だけ平行移動するための平行移動パラメータ135とが順に入力される。したがって、この場合には、変換回路20は、1枚の対象画像110に対して、画像を1°回転するための回転用座標変換、画像を1.1倍で拡大するための拡大用座標変換及び画像を右方向に1画素分だけ平行移動するための平行移動用座標変換をこの順で重ねて実行する。つまり、変換回路20は、1枚の対象画像110を1°回転し、それによって得られた回転画像を1.1倍に拡大し、それによって得られた拡大画像を右方向に1画素分だけ平行移動することによって、1枚の処理画像215を生成する。
In the example of FIGS. 30 and 31, for example, when the reference count 251 indicates “3”, the reference start position 252 indicates “first”, and the reference interval 253 indicates “1”, the conversion circuit 20 is informed as described above. The rotation parameter 132 for rotating the image by 1 °, the enlargement parameter 133 for enlarging the image by 1.1 times, and the translation parameter 135 for translating the image by one pixel in the right direction Are entered in order. Therefore, in this case, the conversion circuit 20 performs rotation coordinate conversion for rotating the image by 1 ° with respect to one target image 110, and enlargement coordinate conversion for enlarging the image by 1.1 times. And parallel coordinate transformation for translating the image to the right by one pixel in this order. That is, the conversion circuit 20 rotates one target image 110 by 1 °, enlarges the rotation image obtained thereby by 1.1 times, and enlarges the obtained enlargement image by one pixel in the right direction. By moving in parallel, one processed image 215 is generated.
処理回路14の出力制御部45は、処理画像215を出力画像として、上記と同様にDMAコントローラ10に出力する。出力制御部45は、記憶制御部41によるフレームメモリ40に対する制御によって、フレームメモリ40から、処理画像215の4画素分の画素データが読み出されると、読み出された4画素分の画素データをDMAコントローラ10に出力する。DMAコントローラ10は処理画像215をシステムメモリ3に書き込む。変換回路20は、画素データを生成するたびに、生成した画素データをライトバッファ43に書き込み、書き込み要求出力部412と第2読み出し要求出力部413とは独立して動作する。したがって、処理画像215が生成された後に、処理画像215がDMAコントローラ10に出力されるのではなく、変換回路20での処理画像215の画素データの生成処理と、出力制御部45での処理画像215の画素データの出力処理とは並行して実行される。
The output control unit 45 of the processing circuit 14 outputs the processed image 215 as an output image to the DMA controller 10 as described above. When the storage control unit 41 controls the frame memory 40 to read out the pixel data for four pixels of the processed image 215 from the frame memory 40, the output control unit 45 performs DMA processing on the read pixel data for the four pixels. Output to the controller 10. The DMA controller 10 writes the processed image 215 in the system memory 3. Each time the conversion circuit 20 generates pixel data, the conversion circuit 20 writes the generated pixel data to the write buffer 43, and the write request output unit 412 and the second read request output unit 413 operate independently. Therefore, after the processed image 215 is generated, the processed image 215 is not output to the DMA controller 10, but the process of generating pixel data of the processed image 215 in the conversion circuit 20 and the processed image in the output control unit 45 The process of outputting pixel data 215 is performed in parallel.
このように、本変形例に係る座標変換回路12は、複数種類の変換パラメータ131に基づいて、CPU2とデータのやり取りを行わずに1枚の対象画像110に対して複数種類の座標変換を重ねて行う。したがって、上記と同様に、座標変換回路12が、座標変換を行うたびに、その座標変換で使用する変換パラメータ131をCPU2から受け取る場合と比較して、複数種類の座標変換の処理時間を低減することができる。
As described above, the coordinate conversion circuit 12 according to the present modification superimposes a plurality of types of coordinate conversion on a single target image 110 without exchanging data with the CPU 2 based on a plurality of types of conversion parameters 131. Do. Therefore, in the same way as described above, each time the coordinate conversion circuit 12 performs coordinate conversion, the processing time of a plurality of types of coordinate conversion is reduced as compared with the case where the conversion parameter 131 used in the coordinate conversion is received from the CPU 2. be able to.
また、上記と同様に、記憶制御部41では、第1読み出し要求、書き込み要求及び第2読み出し要求の少なくとも2つの要求が競合する場合には、当該少なくとも2つの要求が調停される。そのため、第1読み出し要求出力部411、書き込み要求出力部412及び第2読み出し要求出力部413は互いに独立して動作することができる。よって、第1読み出し要求出力部411、書き込み要求出力部412及び第2読み出し要求出力部413のうちのある出力部での処理がボトルネックになることを抑制することができる。その結果、処理回路14全体の処理速度を向上させることができる。
Further, as described above, in the storage control unit 41, when at least two requests of the first read request, the write request, and the second read request are in conflict, the at least two requests are arbitrated. Therefore, the first read request output unit 411, the write request output unit 412 and the second read request output unit 413 can operate independently of each other. Therefore, it is possible to suppress the processing at a certain output unit among the first read request output unit 411, the write request output unit 412, and the second read request output unit 413 from becoming a bottleneck. As a result, the processing speed of the entire processing circuit 14 can be improved.
また、本変形例では、特定情報220は、変換パラメータ131に対応するパラメータ番号が記述されたLUT240と、LUT240に記述された複数のパラメータ番号をどのように参照するかを示す参照態様情報250とで構成されている。このため、変換回路20で使用される使用対象変換パラメータ131が、パラメータ番号で指定される。よって、記憶回路13において、複数種類の変換パラメータ131がどのように記憶されているとしても、当該複数種類の変換パラメータ131から、変換回路20で使用される使用対象変換パラメータ131を自由に指定することができる。
Further, in this modification, the specific information 220 includes a LUT 240 in which a parameter number corresponding to the conversion parameter 131 is described, and reference mode information 250 indicating how to refer to a plurality of parameter numbers described in the LUT 240. It consists of For this reason, the target conversion parameter 131 used in the conversion circuit 20 is specified by the parameter number. Therefore, regardless of how a plurality of types of conversion parameters 131 are stored in the memory circuit 13, the target conversion parameters 131 used in the conversion circuit 20 are freely specified from the plurality of types of conversion parameters 131. be able to.
例えば、上述の図5のように、複数種類の回転パラメータ132が記憶回路13に記憶されている場合を考える。この場合、上述の図6に示されるように、特定情報220が使用パラメータ数221、使用開始位置222及び使用間隔223で構成されている場合には、特定情報220によって、画像を1°回転するための回転パラメータ132、画像を2°回転するための回転パラメータ132、画像を4°回転するための回転パラメータ132及び画像を7°回転するための回転パラメータ132だけを指定することができない。これに対して、本変形例では、LUT240に、画像を1°回転するための回転パラメータ132に対応するパラメータ番号と、画像を2°回転するための回転パラメータ132に対応するパラメータ番号と、画像を4°回転するための回転パラメータ132に対応するパラメータ番号と、画像を7°回転するための回転パラメータ132に対応するパラメータ番号とを記述することによって、特定情報220によって、これらの回転パラメータ132だけを指定することが可能となる。
For example, as shown in FIG. 5 described above, it is assumed that a plurality of types of rotation parameters 132 are stored in the storage circuit 13. In this case, as shown in FIG. 6 described above, when the specific information 220 includes the number of used parameters 221, the use start position 222, and the use interval 223, the image is rotated by 1 ° according to the specific information 220. It is not possible to specify only the rotation parameter 132 for rotation, the rotation parameter 132 for rotating the image 2 °, the rotation parameter 132 for rotating the image 4 °, and the rotation parameter 132 for rotating the image 7 °. On the other hand, in the present modification, in the LUT 240, the parameter number corresponding to the rotation parameter 132 for rotating the image by 1 °, the parameter number corresponding to the rotation parameter 132 for rotating the image by 2 °, and the image By specifying information 220 by describing parameter numbers corresponding to the rotation parameter 132 for rotating the image by 4 ° and parameter numbers corresponding to the rotation parameter 132 for rotating the image by 7 °. It is possible to specify only
なお、特定情報220は、LUT240及び参照態様情報250で構成されているが、LUT240のみで構成しても良い。この場合には、制御回路21は、LUT240内の複数のパラメータ番号を、例えば、LUT240の先頭から順に参照する。このような場合であっても、変換回路20で使用される使用対象変換パラメータ131がパラメータ番号で指定されることから、記憶回路13において、複数種類の変換パラメータ131がどのように記憶されているとしても、当該複数種類の変換パラメータ131から、変換回路20で使用される使用対象変換パラメータ131を自由に指定することができる。
The specific information 220 includes the LUT 240 and the reference mode information 250, but may include only the LUT 240. In this case, the control circuit 21 refers to a plurality of parameter numbers in the LUT 240 sequentially from the top of the LUT 240, for example. Even in such a case, since the conversion target parameter 131 to be used in the conversion circuit 20 is designated by the parameter number, in the storage circuit 13, a plurality of types of conversion parameters 131 are stored. However, the target conversion parameter 131 used in the conversion circuit 20 can be freely specified from the plurality of types of conversion parameters 131.
また、本変形例に係る画像処理回路4において、上述の図6に示される特定情報220が使用されても良い。
Further, in the image processing circuit 4 according to the present modification, the specific information 220 shown in FIG. 6 described above may be used.
<第3変形例>
本変形例に係る画像処理回路4は、動作モードとして、対象画像110に対して個別変換処理を行う個別変換処理モードと、対象画像110に対して重複変換処理を行う重複変換処理モードとを備えている。図33,34は、本変形例に係る座標変換回路12及び処理回路14の構成をそれぞれ示す図である。
<Third Modification>
The image processing circuit 4 according to the present modification includes, as operation modes, an individual conversion processing mode for performing individual conversion processing on the target image 110, and an overlap conversion processing mode for performing overlap conversion processing on the target image 110. ing. 33 and 34 are diagrams respectively showing configurations of the coordinate conversion circuit 12 and the processing circuit 14 according to the present modification.
図33に示されるように、本変形例に係る座標変換回路12は、上述の図28に示される座標変換回路12と同様の構成を有している。変形例では、制御回路21のレジスタ22には、画像処理回路4が動作すべき動作モードを示す動作モード情報260が記憶される。動作モード情報260は、例えば、CPU2によってレジスタ22に設定される。CPU2は、特定情報220をレジスタ22に設定する際に、動作モード情報もレジスタ22に設定する。
As shown in FIG. 33, the coordinate conversion circuit 12 according to the present modification has a configuration similar to that of the coordinate conversion circuit 12 shown in FIG. 28 described above. In the modification, the register 22 of the control circuit 21 stores operation mode information 260 indicating an operation mode in which the image processing circuit 4 should operate. The operation mode information 260 is set in the register 22 by the CPU 2, for example. When the CPU 2 sets the specific information 220 in the register 22, the CPU 2 also sets the operation mode information in the register 22.
制御回路21は、動作モード情報260に基づいて制御信号CNT1を制御する。また制御回路21は、処理回路14が有する後述の選択回路46を制御するための制御信号CNT2を出力する。制御回路21は、動作モード情報260に基づいて制御信号CNT2を制御する。
The control circuit 21 controls the control signal CNT1 based on the operation mode information 260. Further, the control circuit 21 outputs a control signal CNT2 for controlling a selection circuit 46 described later included in the processing circuit 14. The control circuit 21 controls the control signal CNT2 based on the operation mode information 260.
図34に示されるように、本変形例に係る処理回路14は、上述の図11に示される処理回路14と比較して、選択回路46をさらに備える。選択回路46は、制御信号CNT2に基づいて、変換回路20の出力及び加算処理部42の出力の一方を選択し、選択した出力をライトバッファ43に接続する。本変形例では、制御信号CNT2が第1状態(例えば、“1”を示す状態)のとき、選択回路46は、加算処理部42の出力を選択してライトバッファ43に接続する。選択回路46が加算処理部42出力を選択する場合には、ライトバッファ43には加算処理部42から出力される画素データが書き込まれる。一方で、制御信号CNT2が第2状態(例えば、“0”を示す状態)のとき、選択回路46は、変換回路20の出力を選択してライトバッファ43に接続する。選択回路46が変換回路20の出力を選択する場合には、ライトバッファ43には変換回路20から出力される画素データが書き込まれる。
As shown in FIG. 34, the processing circuit 14 according to the present modification further includes a selection circuit 46 in comparison with the processing circuit 14 shown in FIG. 11 described above. The selection circuit 46 selects one of the output of the conversion circuit 20 and the output of the addition processing unit 42 based on the control signal CNT2, and connects the selected output to the write buffer 43. In the present modification, when the control signal CNT2 is in the first state (for example, a state indicating “1”), the selection circuit 46 selects the output of the addition processing unit 42 and connects it to the write buffer 43. When the selection circuit 46 selects the output of the addition processing unit 42, the pixel data output from the addition processing unit 42 is written in the write buffer 43. On the other hand, when the control signal CNT2 is in the second state (for example, a state indicating “0”), the selection circuit 46 selects the output of the conversion circuit 20 and connects it to the write buffer 43. When the selection circuit 46 selects the output of the conversion circuit 20, the pixel data output from the conversion circuit 20 is written into the write buffer 43.
<動作モードの設定>
制御回路21は、動作モード情報260が個別変換処理モードを示す場合には、制御信号CNT1,CNT2をともに第1状態に設定する。これにより、本変形例に係る画像処理回路4の動作モードは個別変換処理モードとなり、その構成は、上述の図4,11に示される画像処理回路4の構成と等価となる。個別変換処理モードでの画像処理回路4の動作は、上述の図4,11に示される画像処理回路4の動作と同様である。
<Operation mode setting>
When the operation mode information 260 indicates the individual conversion processing mode, the control circuit 21 sets both the control signals CNT1 and CNT2 to the first state. As a result, the operation mode of the image processing circuit 4 according to the present modification is the individual conversion processing mode, and the configuration thereof is equivalent to the configuration of the image processing circuit 4 shown in FIGS. The operation of the image processing circuit 4 in the individual conversion processing mode is the same as the operation of the image processing circuit 4 shown in FIGS.
一方で、制御回路21は、動作モード情報260が重複変換処理モードを示す場合には、制御信号CNT2を第2状態に設定する。これにより、本変形例に係る画像処理回路4の動作モードは重複変換処理モードとなり、その構成は、上述の図28,29に示される第2変形例に係る画像処理回路4の構成と等価となる。重複変換処理モードでの画像処理回路4の動作は、上述の第2変形例に係る画像処理回路4の動作と同様である。
On the other hand, when the operation mode information 260 indicates the overlap conversion processing mode, the control circuit 21 sets the control signal CNT2 to the second state. As a result, the operation mode of the image processing circuit 4 according to the present modification is the overlap conversion processing mode, and the configuration is equivalent to the configuration of the image processing circuit 4 according to the second modification shown in FIGS. Become. The operation of the image processing circuit 4 in the overlap conversion processing mode is the same as the operation of the image processing circuit 4 according to the second modification described above.
本変形例に係る画像処理回路4を備える画像処理装置1が起動した後、CPU2が、画像処理回路4に対して、q枚目(qは変数で、q≧1)の対象画像110に関する設定を行う場合には(上述の図12のステップs1,s2など)、CPU2は、q枚目の対象画像110に対する処理で使用される特定情報220と、q枚目の対象画像110に対する処理での画像処理回路4の動作モードを示す動作モード情報260とを、画像処理回路4の制御回路21が有するレジスタ22に設定する。画像処理回路4では、レジスタ22に特定情報220及び動作モード情報260が設定されると、DMAコントローラ10が、システムメモリ3からq枚目の対象画像110を読み出して入力フレームバッファ11に書き込む。座標変換回路12では、制御回路21が、制御信号CNT1,CNT2を制御して、画像処理回路4の動作モードを、レジスタ22内の動作モード情報260が示す動作モードに設定する。画像処理回路4は、入力フレームバッファ11内のq枚目の対象画像110に対して、動作モードに応じた処理を行う。
After the image processing apparatus 1 including the image processing circuit 4 according to the present modification is activated, the CPU 2 sets the q-th (q is a variable, q ≧ 1) target image 110 to the image processing circuit 4. When performing the above (steps s1, s2, etc. in FIG. 12 described above), the CPU 2 performs the specific information 220 used in the process for the qth target image 110 and the process for the qth target image 110. The operation mode information 260 indicating the operation mode of the image processing circuit 4 is set in the register 22 included in the control circuit 21 of the image processing circuit 4. In the image processing circuit 4, when the specific information 220 and the operation mode information 260 are set in the register 22, the DMA controller 10 reads the qth target image 110 from the system memory 3 and writes it to the input frame buffer 11. In the coordinate conversion circuit 12, the control circuit 21 controls the control signals CNT1 and CNT2 to set the operation mode of the image processing circuit 4 to the operation mode indicated by the operation mode information 260 in the register 22. The image processing circuit 4 performs processing on the qth target image 110 in the input frame buffer 11 according to the operation mode.
CPU2は、画像処理回路4に対して、(q+1)枚目の対象画像110に関する設定を行う場合には、同様にして、(q+1)枚目の対象画像110に対する処理で使用される特定情報220と、(q+1)枚目の対象画像110に対する処理での画像処理回路4の動作モードを示す動作モード情報260とを、画像処理回路4の制御回路21が有するレジスタ22に設定する。
When setting the (q + 1) -th target image 110 with respect to the image processing circuit 4, the CPU 2 similarly performs specification information 220 used in the processing on the (q + 1) -th target image 110. The operation mode information 260 indicating the operation mode of the image processing circuit 4 in the process for the (q + 1) th target image 110 is set in the register 22 of the control circuit 21 of the image processing circuit 4.
このように、本変形例に係る画像処理回路4は、動作モードとして、個別変換処理モードと重複変換処理モードとを備えていることから、一つの画像処理装置1において個別変換処理と重複変換処理の両方を実行させることができる。あるいは、同じ構成を有する2つの画像処理装置1において、一方の画像処理装置1では個別変換処理だけを実行させ、他方の画像処理装置1では重複変換処理だけを実行させることができる。
As described above, since the image processing circuit 4 according to the present modification includes the individual conversion processing mode and the overlap conversion processing mode as the operation mode, the individual conversion processing and the overlap conversion processing in one image processing apparatus 1 are performed. Can do both. Alternatively, in two image processing apparatuses 1 having the same configuration, only one individual conversion process can be performed in one image processing apparatus 1 and only an overlap conversion process can be performed in the other image processing apparatus 1.
<第4変形例>
図35は本変形例に係る画像処理回路4の処理回路14の構成を示す図である。図35に示されるように、本変形例に係る処理回路14は、上述の図11に示される処理回路14と比較して、第2読み出し要求出力部413を備えていない。したがって、調停部410は、第1読み出し要求出力部411から出力される第1読み出し要求と、書き込み要求出力部412から出力される書き込み要求とを調停して、第1読み出し要求及び書き込み要求のいずれか一方を選択し、選択した要求に応じた処理を行う。
<Fourth Modification>
FIG. 35 is a diagram showing the configuration of the processing circuit 14 of the image processing circuit 4 according to the present modification. As shown in FIG. 35, the processing circuit 14 according to the present modification does not include the second read request output unit 413 as compared to the processing circuit 14 shown in FIG. 11 described above. Therefore, the arbitration unit 410 arbitrates between the first read request output from the first read request output unit 411 and the write request output from the write request output unit 412 to either the first read request or the write request. Either of these is selected, and processing according to the selected request is performed.
また、本変形例に係る処理回路14では、出力制御回路45は、フレームメモリ40から読み出された合成画像140の画素データを出力するのではなく、ライトバッファ43内の合成画像140の画素データを出力する。ライトバッファ43に、合成画像140の4画素分の画素データが記憶されると、出力制御回路45は、ライトバッファ43から4画素分の画素データを読み出してDMAコントローラ10に出力する。本変形例では、書き込み要求出力部412は、ライトバッファ43に合成画像140の画素データが記憶されているときには、ライトバッファ43が一杯なったとしても例外的に書き込み要求を出力しない。
Further, in the processing circuit 14 according to the present modification, the output control circuit 45 does not output pixel data of the composite image 140 read from the frame memory 40, but pixel data of the composite image 140 in the light buffer 43. Output When the pixel data for four pixels of the composite image 140 is stored in the write buffer 43, the output control circuit 45 reads the pixel data for four pixels from the write buffer 43 and outputs it to the DMA controller 10. In the present modification, when the pixel data of the composite image 140 is stored in the write buffer 43, the write request output unit 412 does not output the write request exceptionally even if the write buffer 43 becomes full.
このように、本変形例に係る処理回路14では、第1読み出し要求及び書き込み要求が競合する場合には、その2つの要求が調停されるため、第1読み出し要求出力部411及び書き込み要求出力部412は、互いに独立して動作することができる。よって、第1読み出し要求出力部411及び書き込み要求出力部412のうちの一方の出力部での処理がボトルネックになることを抑制することができる。その結果、処理回路14全体の処理速度が向上することができる。
As described above, in the processing circuit 14 according to the present modification, when the first read request and the write request are in conflict, the two requests are arbitrated, so the first read request output unit 411 and the write request output unit 412 can operate independently of each other. Therefore, it is possible to suppress the processing at one of the first read request output unit 411 and the write request output unit 412 from becoming a bottleneck. As a result, the processing speed of the entire processing circuit 14 can be improved.
さらに、出力制御部45は、フレームメモリ40に書き込まれていない、合成画像140の画素データを、DMAコントローラ10に出力する。したがって、出力制御部45が、フレームメモリ40から読み出された合成画像140の画素データを出力する場合と比較して、DMAコントローラ10は、加算処理部42から出力された出力対象データをすぐに受け取ることができる。よって、出力対象データが生成されてから、それがシステムメモリ3に書き込まれるまでの時間を低減することができる。
Further, the output control unit 45 outputs pixel data of the composite image 140 that has not been written in the frame memory 40 to the DMA controller 10. Therefore, compared with the case where the output control unit 45 outputs the pixel data of the composite image 140 read from the frame memory 40, the DMA controller 10 immediately outputs the output target data output from the addition processing unit 42. Can receive. Thus, it is possible to reduce the time until the output target data is generated and then written to the system memory 3.
<その他の変形例>
上記の例では、座標変換回路12は、1枚の対象画像110を用いて複数種類の座標変換を行っていたが、1枚の対象画像110に対して1種類の座標変換だけを行っても良い。また、座標変換回路12は、1枚の対象画像110に対して1種類の座標変換を繰り返し重ねて行っても良い。例えば、上記の第2変形例において、座標変換回路12は、画像を2°回転するための回転パラメータ132に基づいて、1枚の対象画像110に対して、回転角度が2°の回転用座標変換を90回重ねて行う。これにより、対象画像110を180°回転させた画像が処理画像215として得られる。
<Other Modifications>
In the above example, the coordinate conversion circuit 12 performs a plurality of types of coordinate conversion using one target image 110. However, even if only one type of coordinate conversion is performed on one target image 110 good. The coordinate conversion circuit 12 may repeatedly perform one type of coordinate conversion on one target image 110 repeatedly. For example, in the second modification described above, the coordinate conversion circuit 12 performs rotation coordinates of 2 ° with respect to one target image 110 based on the rotation parameter 132 for rotating the image by 2 °. The conversion is performed 90 times. Thus, an image obtained by rotating the target image 110 by 180 ° is obtained as the processed image 215.
また、座標変換回路12の全部あるいは一部の機能は、プロセッサ(CPUあるいはDSPなど)によって実現されても良い。また、処理回路14の全部あるいは一部の機能は、プロセッサによって実現されても良い。
In addition, all or part of the functions of the coordinate conversion circuit 12 may be realized by a processor (such as a CPU or DSP). Also, all or part of the functions of the processing circuit 14 may be realized by a processor.
また、画像処理回路4には、処理回路14が設けられていなくても良い。この場合には、座標変換回路12から出力されるデータがDMAコントローラ10を通じてシステムメモリ3に書き込まれる。また処理回路14は、画像データ以外のデータを処理しても良い。また、加算処理部42の替りに、加算処理以外の処理を行う処理部が設けられても良い。
The image processing circuit 4 may not include the processing circuit 14. In this case, data output from the coordinate conversion circuit 12 is written to the system memory 3 through the DMA controller 10. The processing circuit 14 may process data other than image data. Further, instead of the addition processing unit 42, a processing unit that performs processing other than addition processing may be provided.
以上のように、画像処理装置1及び画像処理システム500は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
As described above, although the image processing apparatus 1 and the image processing system 500 have been described in detail, the above description is an exemplification in all aspects, and the present invention is not limited thereto. The various modifications described above can be applied in combination as long as they do not contradict each other. And it is understood that the countless modification which is not illustrated can be assumed without deviating from the scope of the present invention.