JP2015005233A - Image data matching processing method, processing device thereof, and image inspection device - Google Patents

Image data matching processing method, processing device thereof, and image inspection device Download PDF

Info

Publication number
JP2015005233A
JP2015005233A JP2013131280A JP2013131280A JP2015005233A JP 2015005233 A JP2015005233 A JP 2015005233A JP 2013131280 A JP2013131280 A JP 2013131280A JP 2013131280 A JP2013131280 A JP 2013131280A JP 2015005233 A JP2015005233 A JP 2015005233A
Authority
JP
Japan
Prior art keywords
block
image
inspection target
target image
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013131280A
Other languages
Japanese (ja)
Inventor
恵一 宮本
Keiichi Miyamoto
恵一 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2013131280A priority Critical patent/JP2015005233A/en
Publication of JP2015005233A publication Critical patent/JP2015005233A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve efficiency and speed of matching process between a master image and an inspection object image.SOLUTION: A master image and an inspection object image G3 are divided into a plurality of blocks. For at least two blocks of G3(n+1, m), G3(n+2, m) of the inspection object image G3, a deviation amount between start point coordinates (n+1, m), (n+2, m) of the respective blocks of the inspection object image G3 and start point coordinates of the respective blocks of the master image corresponding to the respective blocks is acquired by calculation. When respective block data of the inspection object image G3 are memory-mapped in a simultaneous parallel calculation object space, a coordinate which is obtained by shifting the start point coordinate of the inspection object image G3 by an amount corresponding to a deviation amount is defined as load start addresses (n+1', m'), (n+2', m'), and from the load start address, the data of pixels of the respective blocks of the inspection object image G3 are loaded. Then, a matching process is simultaneously performed for the data of the pixels in the respective blocks.

Description

本発明は、画像処理、画像照合、パターンマッチング、画像検査等に用いる画像データのマッチング処理方法及びその処理装置及び画像検査装置に関する。
この技術は画像検査装置、印刷物検査装置、WEB検査装置、液晶検査装置、半導体検査装置等に適用可能である。
The present invention relates to a matching processing method of image data used for image processing, image matching, pattern matching, image inspection, and the like, a processing apparatus therefor, and an image inspection apparatus.
This technique can be applied to an image inspection device, a printed matter inspection device, a WEB inspection device, a liquid crystal inspection device, a semiconductor inspection device, and the like.

印刷物、半導体等の検査対象を撮像し、その検査対象画像をマスター画像と比較して、検査対象画像の各画素のデータとマスター画像の対応する各画素のデータとがマッチングするか否かをデータ処理により行う画像データのマッチング処理方法が知られている。   Image of inspection object such as printed matter, semiconductor, etc., compare the inspection object image with master image, and check whether data of each pixel of inspection object image and corresponding pixel data of master image match A matching processing method for image data performed by processing is known.

この種の画像データのマッチング処理では、マスター画像と、検査対象画像との位置合わせを行う必要がある。例えば、マスター画像と検査対象画像とを四角形の画像として、これらの縦と横の四隅の位置を合わせて、対比する画像同士の各画素毎にデータが一致するか否かを検査する必要がある。   In this type of image data matching processing, it is necessary to perform alignment between the master image and the inspection target image. For example, the master image and the inspection target image are rectangular images, and the positions of the vertical and horizontal four corners are aligned, and it is necessary to inspect whether the data matches for each pixel of the images to be compared. .

しかしながら、マスター画像の一隅と検査対象画像の一隅とを位置合わせしたとしても、残りの三隅は一致しないことが多い。
これは、マスター画像と検査対象画像との間には、検査対象画像の伸び、縮み、歪み等に起因するサイズの相違や、撮像時等の撮影距離の変動に伴って、検査対象画像の大きさが変化するからである。
However, even if one corner of the master image is aligned with one corner of the inspection target image, the remaining three corners often do not match.
This is because there is a difference in size between the master image and the image to be inspected due to the expansion, contraction, distortion, etc. of the image to be inspected, and the variation in the photographing distance during imaging, etc. This is because of changes.

そこで、マスター画像の全体の画像領域と検査対象画像の全体の画像領域とを互いに対応する複数個のブロックに等分割して、そのブロック毎にマスター画像の各画素のデータと検査対象画像の各画素のデータとのマッチング処理を行う技術が開発されている(特許文献1、特許文献2、特許文献3参照。)。   Therefore, the entire image area of the master image and the entire image area of the inspection target image are equally divided into a plurality of blocks corresponding to each other, and each pixel data of the master image and each of the inspection target images are divided for each block. Techniques for performing matching processing with pixel data have been developed (see Patent Document 1, Patent Document 2, and Patent Document 3).

この特許文献1ないし特許文献3では、検査対象画像のマスター画像に対する全体の位置ずれを、各ブロック毎の位置ずれに変換し、ブロック内の各画素の位置ずれ量は等しいと仮定して、並列処理を行うことにより、各画素のデータのマッチング処理を行っている。   In Patent Documents 1 to 3, the entire positional deviation of the inspection target image with respect to the master image is converted into a positional deviation for each block, and the amount of positional deviation of each pixel in the block is assumed to be equal. By performing the processing, matching processing of data of each pixel is performed.

これらの技術によれば、マスター画像と検査対象画像との全体の位置ずれを解消するために、全体の画像領域を複数の画像領域にブロック化して、ブロック毎の位置ずれ量を並列計算機で一括処理して補正しているので、検査処理全体の効率化、高速化を行うことができる。   According to these techniques, in order to eliminate the overall misalignment between the master image and the image to be inspected, the entire image area is divided into a plurality of image areas, and the misalignment amount for each block is collectively processed by a parallel computer. Since the correction is performed by processing, the entire inspection process can be made more efficient and faster.

しかし、実際に利用される並列計算機(例えば、SIMDプロセッサ)の同時並列計算対象空間の大きさは有限である。これは、同時並列計算対象空間の大きさがLSIとして実現されているため、同時並列計算対象空間の大きさがほとんど固定化されているからである。   However, the size of the simultaneous parallel calculation target space of a parallel computer (for example, SIMD processor) actually used is finite. This is because the size of the simultaneous parallel calculation target space is realized as an LSI, and thus the size of the simultaneous parallel calculation target space is almost fixed.

例えば、SIMDプロセッサのプロセッサエレメント(PE)の個数が352個であるとして、マスター画像と検査対象画像の検査の精度の考察上、各ブロックの横方向の画素の個数(主走査方向の画素の個数)が、150画素と定義されていたとする。   For example, assuming that the number of processor elements (PE) of the SIMD processor is 352, the number of pixels in the horizontal direction of each block (the number of pixels in the main scanning direction) is considered in consideration of the accuracy of inspection of the master image and the inspection target image. ) Is defined as 150 pixels.

この場合、SIMDプロセッサの同時並列計算対象空間の大きさ、すなわち、SIMDプロセッサのプロセッサエレメント(PE)の個数が352個であっても、ブロック毎の位置ずれが異なるため、少なくとも2個以上のブロック内の画素のデータを同時並列計算対象空間にメモリマッピングして同時に演算を行うことができない。   In this case, even if the size of the SIMD processor simultaneous parallel calculation target space, that is, the number of processor elements (PE) of the SIMD processor is 352, the positional deviation differs for each block, so at least two or more blocks. The pixel data in the memory cannot be mapped to the simultaneous parallel calculation target space and operated simultaneously.

というのは、ブロック毎に位置ずれが異なると、同時並列計算対象空間内で同時に各ブロックに同一の演算処理を施すことができず、一回の計算では同時に150画素分しか並列演算を行うことができないからである。   This is because if the position shift is different for each block, the same calculation processing cannot be applied to each block at the same time in the simultaneous parallel calculation target space, and only 150 pixels are processed simultaneously in one calculation. It is because it is not possible.

なお、SIMDとは、1つの命令で複数のデータを処理する手法をいい、SIMDプロセッサとはそのような処理を行う並列計算機の一つをいう。
また、メモリマッピングとは、仮想アドレス空間を物理アドレス空間に対応付けるコンピュータ処理の一つをいう
SIMD refers to a method of processing a plurality of data with one instruction, and SIMD processor refers to one of parallel computers that perform such processing.
Memory mapping is one of computer processes for associating a virtual address space with a physical address space.

一般に、N個のプロセッサエレメント(PE)を有するSIMDプロセッサの同時並列計算処理では、N個のプロセッサエレメント(PE)を利用でき、この場合の利用効率が100%である。   Generally, in the simultaneous parallel calculation processing of the SIMD processor having N processor elements (PE), N processor elements (PE) can be used, and the utilization efficiency in this case is 100%.

しかし、上述のような場合、352個のプロセッサエレメント(PE)のうち150個のプロセッサエレメント(PE)しか利用していないため、利用効率は、150/352≒0.43、すなわち、43%程度しか利用していないことになり、マッチング処理の効率化及び高速化のネックとなる。   However, in the above case, only 150 processor elements (PE) are used out of 352 processor elements (PE), so the usage efficiency is 150 / 352≈0.43, that is, about 43%. However, it becomes a bottleneck for improving the efficiency and speed of the matching process.

本発明は、マスター画像の全体の画像領域と検査対象画像の全体の画像領域とを複数のブロックに等分割して、ブロック毎にマスター画像と検査対象画像とのマッチング処理の効率化及び高速化を図ることのできる画像データのマッチング処理方法を提供することにある。   The present invention equally divides the entire image area of the master image and the entire image area of the inspection target image into a plurality of blocks, and increases the efficiency and speed of matching processing between the master image and the inspection target image for each block. It is an object of the present invention to provide a matching processing method for image data that can achieve the above.

本発明に係る画像データのマッチング処理方法は、マスター画像の全体の画像領域とフレームメモリに格納されている検査対象画像の全体の画像領域とを複数のブロックに等分割し、検査対象画像の少なくとも2個以上の各ブロックについて、その検査対象画像の各ブロックの始点座標とその各ブロックにそれぞれ対応するマスター画像の各ブロックの始点座標とのずれ量を演算により求めるステップと、
前記フレームメモリから前記検査対象画像の各ブロックの画素のデータを並列計算機の同時並列計算対象空間にメモリマッピングする際に、前記検査対象画像の各ブロックの始点座標をずれ量に対応する分だけずらした座標をロード開始アドレスとして、このロード開始アドレスから検査対象画像の各ブロックの画素のデータをロードし、検査対象画像の少なくとも2個以上のブロック内の画素のデータについて前記マスター画像の対応する各ブロック内の画素のデータとのマッチング処理を同時に行うステップと、を含むことを特徴とする。
According to the image data matching processing method of the present invention, the entire image area of the master image and the entire image area of the inspection target image stored in the frame memory are equally divided into a plurality of blocks. For two or more blocks, a step of calculating a deviation amount between the start point coordinates of each block of the image to be inspected and the start point coordinates of each block of the master image respectively corresponding to each block;
When the pixel data of each block of the inspection target image is subjected to memory mapping from the frame memory to the simultaneous parallel calculation target space of a parallel computer, the start point coordinates of each block of the inspection target image are shifted by an amount corresponding to the shift amount. The coordinate data is used as a load start address, the pixel data of each block of the inspection target image is loaded from the load start address, and the pixel data in at least two blocks of the inspection target image are each corresponding to the master image. And simultaneously performing matching processing with pixel data in the block.

本発明によれば、検査対象画像の複数個のブロックを同時並列計算対象空間にロードする際に、ブロック毎のロード開始アドレスをそのブロック毎のずれ量に対応したアドレスにシフトさせたので、同時並列計算対象空間に検査対象画像の各ブロック内の画素のデータのメモリマッピングが終わった時点で、マスター画像の各ブロックに対する検査対象画像の対応する各ブロックの位置ずれが解消される。   According to the present invention, when loading a plurality of blocks of the inspection target image into the simultaneous parallel calculation target space, the load start address for each block is shifted to an address corresponding to the shift amount for each block. When the memory mapping of the pixel data in each block of the inspection target image is completed in the parallel calculation target space, the position shift of each block corresponding to the inspection target image with respect to each block of the master image is eliminated.

図1は本発明に係る画像データのマッチング処理方法に用いる処理装置のブロック図であって、印刷物の画像を検査する画像検査装置を有するプリンタを示している。FIG. 1 is a block diagram of a processing apparatus used in the image data matching processing method according to the present invention, and shows a printer having an image inspection apparatus for inspecting an image of a printed matter. 図2はプリンタによって印刷された検査対象画像の一例を示す説明図である。FIG. 2 is an explanatory diagram illustrating an example of an inspection target image printed by a printer. 図3は図2に示す検査対象画像の画像領域を横方向(主走査方向)を8ブロックに等分割し、縦方向(副走査方向)を18ブロックに等分割した例を示す説明図である。FIG. 3 is an explanatory diagram showing an example in which the image area of the inspection target image shown in FIG. 2 is equally divided into 8 blocks in the horizontal direction (main scanning direction) and equally divided into 18 blocks in the vertical direction (sub-scanning direction). . 図4は検査対象画像のマスター画像に対する位置ずれを概念的に示す説明図である。FIG. 4 is an explanatory diagram conceptually showing a positional deviation of the inspection target image with respect to the master image. 図5は、従来の画像データのマッチング処理方法に用いる検査対象画像の各ブロックについてマスター画像の各ブロックに対する位置ずれ補正を概念的に示す説明図である。FIG. 5 is an explanatory diagram conceptually showing misalignment correction for each block of the master image for each block of the inspection target image used in the conventional image data matching processing method. 図6は本発明に係る画像データのマッチング処理方法に用いる検査対象画像の各ブロックについて、マスター画像のブロックに対する位置ずれ補正を概念的に示す説明図であって、同時並列計算対象空間へ検査対象画像のブロック内の画素データをロードすることによるメモリマッピングを概念的に示す説明図である。FIG. 6 is an explanatory view conceptually showing misalignment correction with respect to the block of the master image for each block of the inspection target image used in the image data matching processing method according to the present invention. It is explanatory drawing which shows notionally the memory mapping by loading the pixel data in the block of an image. 図7は本発明に係る画像データのマッチング処理方法に用いる検査対象画像の各ブロックの位置ずれ補正を概念的に示す説明図であって、マスター画像のブロックの始点座標と検査対象画像の始点座標との関係を模式的に示す概念図である。FIG. 7 is an explanatory diagram conceptually showing the positional deviation correction of each block of the inspection target image used in the image data matching processing method according to the present invention, wherein the starting point coordinates of the block of the master image and the starting point coordinates of the inspection target image It is a conceptual diagram which shows typically the relationship. 図8は従来の画像データのマッチング処理方法の一例を示すフローチャート図である。FIG. 8 is a flowchart showing an example of a conventional image data matching processing method. 図9は本発明の画像データのマッチング処理方法の一例を示すフローチャートである。FIG. 9 is a flowchart showing an example of the image data matching processing method of the present invention.

以下に、本発明に係る画像データのマッチング処理方法に用いる処理装置を図1に示すプリンタを参照しつつ説明する。
その図1において、符号1は、プリンタ本体である。このプリンタ本体1は、プリンタ制御部2、プリントエンジン3、メカニカル機構(図示を略す)を備えている。
A processing apparatus used in the image data matching processing method according to the present invention will be described below with reference to the printer shown in FIG.
In FIG. 1, reference numeral 1 denotes a printer body. The printer main body 1 includes a printer control unit 2, a print engine 3, and a mechanical mechanism (not shown).

プリンタ本体1のプリンタ制御部2には、原画像データG1が入力され、プリンタ制御部2は、原画像データG1をプリントエンジン3によって描画されるプリントデータprdに変換する。このプリントデータprdにより、紙に画像が印刷されて、印刷物5が製作される。   The original image data G1 is input to the printer control unit 2 of the printer main body 1, and the printer control unit 2 converts the original image data G1 into print data prd drawn by the print engine 3. With this print data prd, an image is printed on paper, and a printed matter 5 is produced.

そのプリンタ本体1には画像検査装置6が接続されている。画像検査装置6は、マスター画像生成部7、印刷画像読み取り部8、バッファメモリ9、比較検査部10を有している。その印刷画像読み取り部8にはフレームメモリ8’が設けられている。その比較検査部10は、並列計算機としてのSIMD計算機を有している。   An image inspection device 6 is connected to the printer main body 1. The image inspection apparatus 6 includes a master image generation unit 7, a print image reading unit 8, a buffer memory 9, and a comparison inspection unit 10. The print image reading unit 8 is provided with a frame memory 8 '. The comparison inspection unit 10 has a SIMD computer as a parallel computer.

プリントデータprdは画像検査装置6のマスター画像生成部7に送られる。マスター画像生成部7は、マスター画像G2と後述する基準点座標の集合としての基準点情報Refと位置合わせマークとを生成する。このマスター画像G2と基準点情報Refとはバッファリング(一時保存)される。   The print data prd is sent to the master image generation unit 7 of the image inspection apparatus 6. The master image generation unit 7 generates a master image G2, reference point information Ref as a set of reference point coordinates described later, and alignment marks. The master image G2 and the reference point information Ref are buffered (temporarily saved).

その印刷物5は印刷画像読み取り部8によりスキャンされる。このスキャンデータが検査対象画像G3として用いられる。   The printed matter 5 is scanned by the print image reading unit 8. This scan data is used as the inspection target image G3.

この検査対象画像G3とバッファリングされかつ印刷物5のページと同期されたマスター画像G2とは比較検査部10において照合検査される。このマスター画像G2と検査対象画像G3との不一致のデータが検査結果として、例えば、「欠陥」として出力される。   The comparison inspection unit 10 collates and inspects the inspection target image G3 and the master image G2 that is buffered and synchronized with the page of the printed matter 5. The mismatch data between the master image G2 and the inspection target image G3 is output as an inspection result, for example, as “defect”.

図2はその印刷物5に印刷された四角形状の検査対象画像G3を示している。その検査対象画像G3の四隅にはいわゆる「トンボ」等の位置あわせマーク11が印刷されている。この位置合わせマーク11を用いて検査対象画像G3とマスター画像G2との位置合わせが行われる。   FIG. 2 shows a rectangular inspection object image G3 printed on the printed matter 5. Alignment marks 11 such as so-called “register marks” are printed at the four corners of the inspection target image G3. Using this alignment mark 11, alignment between the inspection target image G3 and the master image G2 is performed.

図3はその検査対象画像G3の全体の画像領域を横方向(主走査方向)に8個に等分割し、縦方向(副走査方向)に18個に等分割している。その検査対象画像G3の主走査方向の全画素数は例えば1200個、副走査方向の全画素数例えば1800個である。従って、各ブロックG3(i、j)のサイズは150×100画素である。ここで、符号iは1から8までの正の整数、符号jは1から18までの正の整数である。   In FIG. 3, the entire image area of the inspection target image G3 is equally divided into 8 in the horizontal direction (main scanning direction) and equally divided into 18 in the vertical direction (sub-scanning direction). The total number of pixels in the main scanning direction of the inspection target image G3 is, for example, 1200, and the total number of pixels in the sub-scanning direction, for example, 1800. Therefore, the size of each block G3 (i, j) is 150 × 100 pixels. Here, the symbol i is a positive integer from 1 to 8, and the symbol j is a positive integer from 1 to 18.

検査対象画像G3は、図4に示すように、マスター画像G2に対してその位置がずれている。例えば、符号11’をマスター画像G2の位置合わせマークとすると、検査対象画像G3の位置合わせマーク11は、左上隅の位置合わせマーク11と位置合わせマーク11’との位置を合わせたとしても、検査対象画像G3の歪み等により徐々にずれる。   As shown in FIG. 4, the inspection target image G3 is displaced in position with respect to the master image G2. For example, when the reference mark 11 ′ is the alignment mark of the master image G2, the alignment mark 11 of the inspection target image G3 is inspected even if the alignment mark 11 in the upper left corner is aligned with the alignment mark 11 ′. It gradually shifts due to distortion of the target image G3.

図4には、検査対象画像G3が左上隅から右下隅に向かうに伴って伸長する方向にずれた状態が概念的に示されている。
この検査対象画像G3の全体に対する各ブロックG3(i、j)の位置ずれは線形であると仮定できる。従って、マスター画像G2の対応する各ブロックG2(i、j)に対する位置ずれはこのブロックG2(i、j)に対応する検査対象画像G3のブロックG3(i、j)を線形的にずらすことにより補正できる。すなわち、この検査対象画像G3のブロックG3(i、j)をマスター画像G2の対応するブロックG2(i、j)と合致させることができる。
FIG. 4 conceptually shows a state in which the inspection target image G3 is shifted in the extending direction as it goes from the upper left corner to the lower right corner.
It can be assumed that the positional deviation of each block G3 (i, j) with respect to the entire inspection target image G3 is linear. Therefore, the positional shift of the master image G2 with respect to each corresponding block G2 (i, j) is caused by linearly shifting the block G3 (i, j) of the inspection target image G3 corresponding to the block G2 (i, j). Can be corrected. That is, the block G3 (i, j) of the inspection target image G3 can be matched with the corresponding block G2 (i, j) of the master image G2.

その図4において、符号G3(3、5)、G3(4、5)、G3(5、5)、G3(6、5)は、検査対象画像G3の中央部分のブロックを示している。この例では、左から右に向かうに伴って、マスター画像G2の対応する各ブロックG2(3、5)、G2(4、5)、G2(5、5)、G2(6、5)に対する位置ずれが徐々に大きくなっていることを示している。   In FIG. 4, symbols G3 (3, 5), G3 (4, 5), G3 (5, 5), and G3 (6, 5) indicate blocks in the central portion of the inspection target image G3. In this example, the position of the master image G2 with respect to each corresponding block G2 (3, 5), G2 (4, 5), G2 (5, 5), G2 (6, 5) as it goes from left to right. It shows that the deviation gradually increases.

また、その図4において、符号G2(1、1)、G3(1、1)、G2(8、1)、G3(8、1)、G2(1、18)、G3(1、18)、G2(8、18)、G3(8、18)は位置合わせマーク11を有する四隅のブロックを示している。   In FIG. 4, reference symbols G2 (1,1), G3 (1,1), G2 (8,1), G3 (8,1), G2 (1,18), G3 (1,18), G2 (8, 18) and G3 (8, 18) indicate four corner blocks having the alignment mark 11.

検査対象画像G3の各ブロックG3(i、j)のマスター画像G2の対応するブロックG2(i、j)に対する位置ずれは、例えば、以下の式により算出できる。
横方向をX軸、縦方向をY軸として、例えば、X軸方向のマスター画像G2のブロックG2(1、1)の基準点座標(基準点情報)を(x1、y1)、ブロックG2(8、1)の基準点座標を(x2、y1)、ブロックG2(1、18)の基準点座標を(x1、y2)、ブロックG2(8、18)の基準点座標を(x2、y2)とする。
The displacement of each block G3 (i, j) of the inspection target image G3 with respect to the corresponding block G2 (i, j) of the master image G2 can be calculated by the following equation, for example.
With the horizontal direction as the X axis and the vertical direction as the Y axis, for example, the reference point coordinates (reference point information) of the block G2 (1, 1) of the master image G2 in the X axis direction are (x1, y1), and the block G2 (8 The reference point coordinates of 1) are (x2, y1), the reference point coordinates of block G2 (1, 18) are (x1, y2), and the reference point coordinates of block G2 (8, 18) are (x2, y2). To do.

これに対して、例えば、検査対象画像G3のブロックG3(1、1)のx方向のずれ量をu1、ブロックG3(8、1)のx方向のずれ量をu2、ブロックG3(1、18)のx方向のずれ量をu3、ブロックG3(8、18)のx方向のずれ量をu4とする。   On the other hand, for example, the displacement amount in the x direction of the block G3 (1, 1) of the inspection target image G3 is u1, the displacement amount in the x direction of the block G3 (8, 1) is u2, and the block G3 (1, 18). ) In the x-direction and u4 in the x-direction of the block G3 (8, 18).

ここで、Δ(x、y)を座標位置(x、y)におけるx方向の位置ずれ量として、
第1番目の行の位置xにおける位置ずれ量Δ(x、y1)は、位置ずれが線形であると仮定する。
すると、位置ずれ量Δ(x、y1)は、
Δ(x、y1)={(u2―u1)/(x2−x1)}*(x−x1)+u1=f1(x)
第18番目の行の位置xにおける位置ずれ量Δ(x、y2)は、同様に、
Δ(x、y2)={(u4―u3)/(x2−x1)}*(x−x1)+u3=f2(x)
Here, Δ (x, y) is defined as a positional deviation amount in the x direction at the coordinate position (x, y).
The positional deviation amount Δ (x, y1) at the position x in the first row is assumed to be linear.
Then, the displacement Δ (x, y1) is
Δ (x, y1) = {(u2−u1) / (x2−x1)} * (x−x1) + u1 = f1 (x)
Similarly, the positional deviation amount Δ (x, y2) at the position x of the 18th row is:
Δ (x, y2) = {(u4−u3) / (x2−x1)} * (x−x1) + u3 = f2 (x)

従って、x位置におけるx方向の位置ずれ量は、
Δ(x、y)=[{f2(x)―f1(x))}/(y2−y1)]*(y―y1)+f1(x)
なお、符号「*」は掛け算を意味する。
Therefore, the amount of displacement in the x direction at the x position is
Δ (x, y) = [{f2 (x) −f1 (x))} / (y2−y1)] * (y−y1) + f1 (x)
The symbol “*” means multiplication.

これに対して、y位置におけるy方向の位置ずれ量は、同様にして以下のようにして求める。検査対象画像G3のブロックG3(1、1)のy方向のずれ量をv1、ブロックG3(8、1)のy方向のずれ量をv2、ブロックG3(1、18)のy方向のずれ量をv3、ブロックG3(8、18)のy方向のずれ量をv4とする。   On the other hand, the amount of displacement in the y direction at the y position is similarly determined as follows. The displacement amount in the y direction of the block G3 (1, 1) of the inspection target image G3 is v1, the displacement amount in the y direction of the block G3 (8, 1) is v2, and the displacement amount of the block G3 (1, 18) in the y direction. Is v3, and the shift amount in the y direction of the block G3 (8, 18) is v4.

第1番目の列の位置yにおける位置ずれ量は、位置ずれが線形であると仮定すると、
Δ(x1、y)={(v2―v1)/(y2−y1)}*(y−y1)+v1=f1(y)
第10番目の行の位置xにおける位置ずれ量は、同様に、
Δ(x2、y)={(v4―v3)/(y2−y1)}*(y−y1)+v2=f2(y)
従って、y位置におけるy方向の位置ずれ量は、
Δ(x、y)=[{f2(y)―f1(y))}/(x2−x1)]*(x―x1)+f1(y)
Assuming that the misalignment amount at the position y in the first row is linear, the misalignment is linear.
Δ (x1, y) = {(v2−v1) / (y2−y1)} * (y−y1) + v1 = f1 (y)
Similarly, the amount of misalignment at the position x of the tenth row is
Δ (x2, y) = {(v4−v3) / (y2−y1)} * (y−y1) + v2 = f2 (y)
Therefore, the amount of displacement in the y direction at the y position is
Δ (x, y) = [{f2 (y) −f1 (y))} / (x2−x1)] * (x−x1) + f1 (y)

この線形補間式は、位置合わせマーク11を有しない検査対象画像G3の各ブロックのx方向、y方向の位置ずれ量を求める際に用いられる。
すなわち、マスター画像G2の四隅の基準点座標(x1、y1)、(x2、y2)、(x3、y3)、(x4、y4)を位置合わせマーク11を有する四隅のブロックG2(1、1)、G2(8、1)、G(1、18)、G2(8、18)について求め、印刷物である検査対象画像G3の四隅の基準点座標を位置合わせマーク11を有するブロックG3(1、1)、G3(8、1)、G3(1、18)、G3(8、18)について求めることにより、x方向の位置ずれ量u1、u2、u3、u4、y方向の位置ずれ量v1、v2、v3、v4を求める。
その後、x方向の位置ずれ量を求める線形補間式、y方向の位置ずれ量を求める線形補間式を用いて、位置合わせマーク11を有しない検査対象画像G3の各ブロックについてのx方向の位置ずれ量、y方向の位置ずれ量を求める。
この位置ずれ補正を伴ったマッチング処理は、各画素に対して同じ処理の繰り返しであるので、SIMD構造のプロセッサ等の並列計算機を用いて効率よく実行可能である。
図5は検査対象画像G3の一部のずれとその位置ずれに対する処理の従来例を概念的に示している。
This linear interpolation formula is used when determining the amount of positional deviation in the x and y directions of each block of the inspection target image G3 that does not have the alignment mark 11.
That is, the reference point coordinates (x1, y1), (x2, y2), (x3, y3), (x4, y4) at the four corners of the master image G2 are used as the four-corner block G2 (1, 1) having the alignment mark 11. , G2 (8,1), G (1,18), G2 (8,18), and the reference point coordinates of the four corners of the inspection target image G3, which is a printed matter, are the blocks G3 (1,1, ), G3 (8, 1), G3 (1, 18), and G3 (8, 18), the positional deviation amounts u1, u2, u3, u4 in the x direction, and the positional deviation amounts v1, v2 in the y direction. , V3, v4.
Thereafter, using the linear interpolation formula for obtaining the positional deviation amount in the x direction and the linear interpolation formula for obtaining the positional deviation amount in the y direction, the positional deviation in the x direction for each block of the inspection target image G3 not having the alignment mark 11 is used. The amount of displacement in the y direction is obtained.
Since the matching process with the positional deviation correction is the same process repeated for each pixel, it can be efficiently executed using a parallel computer such as a SIMD-structured processor.
FIG. 5 conceptually shows a conventional example of processing for part of the inspection object image G3 and the positional deviation.

各画素のずれ量Δ(x、y)は、同一の検査対象画像G3のブロックG3(i、j)内の画素では同じと仮定できる。これは、そのずれ量が同じと仮定できるような大きさのブロックを定義することによって成立する。同一のブロックG3(i、j)内での画素の位置ずれが等しいなら同時並列計算を行うことができる。 The shift amount Δ (x, y) of each pixel can be assumed to be the same for the pixels in the block G3 (i, j) of the same inspection target image G3. This is established by defining a block having such a size that the shift amount can be assumed to be the same. Simultaneous parallel calculation can be performed if the pixel position shifts in the same block G3 (i, j) are equal.

従来、この並列計算処理を以下の処理手順で行って、画像データのマッチング処理を行っていた。
すなわち、並列計算機の同時並列計算対象空間(レジスターファイル、プロセッサエレメント)に、マスター画像G2の始点座標(x1、y1)、(x2、y2)、(x3、y3)、(x4、y4)のアドレスに対応する検査対象画像G3のアドレスをロード開始アドレスとして1ブロック分の画素のデータをロードする(図8のS.1’参照)。
Conventionally, this parallel calculation processing is performed according to the following processing procedure, and image data matching processing is performed.
That is, the addresses of the start point coordinates (x1, y1), (x2, y2), (x3, y3), (x4, y4) of the master image G2 are stored in the simultaneous parallel calculation target space (register file, processor element) of the parallel computer. The pixel data for one block is loaded with the address of the inspection target image G3 corresponding to (1) as the load start address (see S.1 ′ in FIG. 8).

ついで、同時並列計算対象空間内で、図5に概念的に示すように、その検査対象画像G3のブロックG3(i、j)、G3(i+1、j)、G3(i+2、j)、G3(i+3、j)の位置ずれ量(Δx1、Δy1)、(Δx2、Δy2)、(Δx3、Δy3)、(Δx4、Δy4)に対応する分だけ画素データをx、y方向に1ブロック毎にシフトさせる(図8のS.2’参照)。   Next, in the simultaneous parallel calculation target space, as conceptually shown in FIG. 5, blocks G3 (i, j), G3 (i + 1, j), G3 (i + 2, j), G3 ( The pixel data is shifted for each block in the x and y directions by an amount corresponding to the positional deviation amounts (Δx1, Δy1), (Δx2, Δy2), (Δx3, Δy3), (Δx4, Δy4) of i + 3, j). (See S.2 ′ in FIG. 8).

ついで、検査対象画像G3のブロックG3(i、j)、G3(i+1、j)、G3(i+2、j)、G3(i+3、j)の各画素のデータとマスター画像G2の対応するブロックG2(i、j)、G2(i+1、j)、G2(i+2、j)、G2(i+3、j)の対応する各画素のデータとを1ブロック毎にマッチング計算する(図8のS3’)。   Next, the data of each pixel of the blocks G3 (i, j), G3 (i + 1, j), G3 (i + 2, j), G3 (i + 3, j) of the inspection target image G3 and the corresponding block G2 ( i, j), G2 (i + 1, j), G2 (i + 2, j), and data of each pixel corresponding to G2 (i + 3, j) are subjected to matching calculation for each block (S3 ′ in FIG. 8).

画素のデータのマッチング処理の手法には、単純差分法、画素中心の小領域を用いた相関計算法等の各種の手法があるが、ここでは、その説明は割愛する。
そのブロックG3(i、j)内の画素のデータのマッチング結果の集積がそのブロックG3(i、j)内の画像全体に対する検査結果である。マスター画像G2と検査対象画像G3の差分が所定値以上であれば、検査失格という判定を行う。
There are various methods of pixel data matching processing, such as a simple difference method and a correlation calculation method using a small area at the center of the pixel, but the description thereof is omitted here.
The accumulation of the matching results of the pixel data in the block G3 (i, j) is the inspection result for the entire image in the block G3 (i, j). If the difference between the master image G2 and the inspection target image G3 is greater than or equal to a predetermined value, it is determined that the inspection is disqualified.

この従来の画像データのマッチング処理方法では、図5に示すように、検査対象画像G3の各ブロックG3(i、j)毎にマスター画像G2の対応する各ブロックG2(i、j)に対する位置ずれ量が異なっている。   In this conventional image data matching processing method, as shown in FIG. 5, for each block G3 (i, j) of the inspection target image G3, a positional shift with respect to each corresponding block G2 (i, j) of the master image G2 The amount is different.

例えば、マスター画像G2のブロックG2(i、j)の始点座標(x1、y1)に対する検査対象画像G3のブロックG3(i、j)の始点座標は(x1+Δx1、y1+Δy1)である。   For example, the start point coordinates of the block G3 (i, j) of the inspection target image G3 with respect to the start point coordinates (x1, y1) of the block G2 (i, j) of the master image G2 are (x1 + Δx1, y1 + Δy1).

また、例えば、マスター画像G2の隣接するブロックG2(i+1、j)の始点座標(x2、y2)に対する検査対象画像G3のブロックG3(i+1、j)の始点座標は(x2+Δx2、y2+Δy2)である。 For example, the start point coordinates of the block G3 (i + 1, j) of the inspection target image G3 with respect to the start point coordinates (x2, y2) of the adjacent block G2 (i + 1, j) of the master image G2 are (x2 + Δx2, y2 + Δy2).

同様に、マスター画像G2のブロックG2(i+2、j)の始点座標(x3、y3)に対する検査対象画像G3のブロックG3(i+2、j)の始点座標は(x3+Δx3、y3+Δy3)である。 Similarly, the start point coordinates of the block G3 (i + 2, j) of the inspection target image G3 with respect to the start point coordinates (x3, y3) of the block G2 (i + 2, j) of the master image G2 are (x3 + Δx3, y3 + Δy3).

マスター画像G2のブロックG2(i+3、j)の始点座標(x4、y4)に対する検査対象画像G3のブロックG3(i+3、j)の始点座標は(x4+Δx4、y4+Δy4)である。すなわち、検査対象画像G3の各ブロックG3(i、j)毎に位置ずれ量(Δx1、Δy1)、(Δx2、Δy2)、(Δx3、Δy3)、(Δx4、Δy4)が異なっている。   The start point coordinates of the block G3 (i + 3, j) of the inspection target image G3 with respect to the start point coordinates (x4, y4) of the block G2 (i + 3, j) of the master image G2 are (x4 + Δx4, y4 + Δy4). That is, the positional deviation amounts (Δx1, Δy1), (Δx2, Δy2), (Δx3, Δy3), (Δx4, Δy4) are different for each block G3 (i, j) of the inspection target image G3.

このため、プロセッサエリメント(PE)の要素数Nに対してロードする検査対象画像G3のブロックG3(i、j)の画素のデータがN/2よりも小さい場合に、検査対象画像G3から位置ずれ量が互いに異なる少なくとも二個のブロックG2(i、j)の画素のデータを同時並列計算対象空間にロードして、同時並列計算対象空間内で位置ずれ量が互いに異なる二個のブロックG3(i、j)に同時に同じ計算処理を施そうとしても、その計算処理を行うことができない。   Therefore, when the pixel data of the block G3 (i, j) of the inspection target image G3 to be loaded with respect to the number N of elements of the processor element (PE) is smaller than N / 2, the position from the inspection target image G3 Data of pixels of at least two blocks G2 (i, j) having different shift amounts are loaded into the simultaneous parallel calculation target space, and two blocks G3 ( Even if the same calculation process is performed simultaneously on i, j), the calculation process cannot be performed.

すなわち、プロセッサエリメント(PE)の要素数Nに対してロードする検査対象画像G3のブロックG3(i、j)の画素のデータがN/2よりも小さい場合に、その同時並列計算対象空間の利用効率が図れない。   That is, when the pixel data of the block G3 (i, j) of the inspection target image G3 to be loaded with respect to the number N of elements of the processor element (PE) is smaller than N / 2, the simultaneous parallel calculation target space Usage efficiency cannot be achieved.

これに対して、本発明に係る実施例では、例えば、カメラ等の撮像装置CAMにより検査対象画像G3を撮像する。その画像データはいったん図6に示すようにフレームメモリ8’にブロックG3(i、j)毎に格納される。   On the other hand, in the Example which concerns on this invention, the test object image G3 is imaged by imaging devices CAM, such as a camera, for example. The image data is temporarily stored in the frame memory 8 'for each block G3 (i, j) as shown in FIG.

その図6においては、フレームメモリ8’に各ブロックG3(i、j)が連続して格納されているが、各ブロックG3(i、j)のアドレスがわかれば、各ブロックG3(i、j)を関連付けることができるので、格納順序はこれに限られないものである。   In FIG. 6, each block G3 (i, j) is continuously stored in the frame memory 8 ′. However, if the address of each block G3 (i, j) is known, each block G3 (i, j) ) Can be associated, the storage order is not limited to this.

フレームメモリ8’に格納されている検査対象画像G3をブロック管理するときに、各ブロックG3(i、j)にはマスター画像G2のブロック分けに対応する開始アドレス(始点座標)が付与される。フレームメモリ8’の大きさ、画像の縦横の画素の個数が決定しているため、開始アドレスの計算は事前に行うことが可能である。   When managing the inspection target image G3 stored in the frame memory 8 ', each block G3 (i, j) is given a start address (starting point coordinate) corresponding to the block division of the master image G2. Since the size of the frame memory 8 'and the number of vertical and horizontal pixels of the image are determined, the start address can be calculated in advance.

これに対して、検査対象画像G3の各ブロックG3(i、j)に対して生じる位置ずれΔ(x、y)を各ブロックG3(i、j)毎に事前に別途計算する。その計算方法は、既述した通りである。この計算により求めた各ブロックG3(i、j)のブロックG2(i、j)に対する位置ずれΔ(xi、xj)から、各ブロックG3(i、j)の位置ずれ後の開始アドレスを計算により求めることができる。   On the other hand, the positional deviation Δ (x, y) generated for each block G3 (i, j) of the inspection target image G3 is separately calculated in advance for each block G3 (i, j). The calculation method is as described above. From the position shift Δ (xi, xj) of each block G3 (i, j) with respect to the block G2 (i, j) obtained by this calculation, the start address after the position shift of each block G3 (i, j) is calculated. Can be sought.

マッチング処理の際にSIMDプロセッサのプロセッサエレメントPEの同時計算対象空間にこのブロックG3(i、j)をロードするとき、この位置ずれ補正後の開始アドレスから読み込んでロードする。これにより、同時並列計算対象空間に画素のデータをメモリマッピングすれば、メモリマッピング終了時点で、ブロックG3(i、j)の位置ずれを補正し終わった位置にロードできる。   When this block G3 (i, j) is loaded into the simultaneous calculation target space of the processor element PE of the SIMD processor during the matching process, the block G3 (i, j) is read and loaded from the start address after this misalignment correction. As a result, if the pixel data is subjected to memory mapping in the simultaneous parallel calculation target space, it can be loaded at the position where the positional deviation of the block G3 (i, j) has been corrected at the end of the memory mapping.

この場合、SIMD空間に検査対象画像G3のもう1個別のブロックG3(i、j)をロードできる分のプロセッサエリメント(PE)の空き空間が存在すれば、続けて別のブロックG3(i+1、j)をロードできる。   In this case, if there is a free space for the processor element (PE) that can load another individual block G3 (i, j) of the inspection target image G3 in the SIMD space, another block G3 (i + 1, j) can be loaded.

この別のブロックG3(i+1、j)をロードするとき、位置ずれ補正後のロード開始アドレスから読み込めば、このブロックG(i+1、j)についても位置ずれを解消した位置でロードを完了できる。   When loading another block G3 (i + 1, j), if loading is performed from the load start address after the positional deviation correction, the loading can be completed at the position where the positional deviation has been eliminated for this block G (i + 1, j).

その後、マスター画像G2のブロックG2(i、j)内の画素のデータと検査対象画像G3のブロックG3(i、j)内の画素のデータとをマッチング処理する。これと同時に、マスター画像G2の別のブロックG2(i+1、j)内の画素のデータと検査対象画像G3の別のブロックG3(i;1、j)内の画素のデータとをマッチング処理する。   Thereafter, the pixel data in the block G2 (i, j) of the master image G2 and the pixel data in the block G3 (i, j) of the inspection target image G3 are matched. At the same time, the pixel data in another block G2 (i + 1, j) of the master image G2 and the pixel data in another block G3 (i; 1, j) of the inspection target image G3 are matched.

これにより、処理すべき画素の要素数がN/2以下の場合に、少なくとも2個以上のブロックに同時にマッチング処理を行うことができるので、並列計算機の利用効率、高速化を図ることができる。   Thereby, when the number of elements of the pixel to be processed is N / 2 or less, matching processing can be performed on at least two or more blocks at the same time, so that the utilization efficiency and speed of the parallel computer can be improved.

以下に、その処理手順を詳細に説明する。
まず、マスター画像G2のブロック分けに対応して検査対象画像G3のブロック分けを行って、マスター画像G2の各ブロックG2(i、j)の開始アドレス(始点座標)と検査対象画像G3の開始アドレスG2(i、j)との対応付けを行う。
The processing procedure will be described in detail below.
First, the inspection target image G3 is divided into blocks corresponding to the block division of the master image G2, and the start address (start point coordinates) of each block G2 (i, j) of the master image G2 and the start address of the inspection target image G3 Association with G2 (i, j) is performed.

図6には、マスター画像G2のブロックG2(n+1、m)、G2(n+2、m)の始点座標(n+1、m)、(n+2、m)にそれぞれ対応する検査対象画像G3のブロックG3(n+1、m)、G3(n+2、m)の始点位置座標(n+1、m)、(n+2、m)が示されている。   FIG. 6 shows a block G3 (n + 1) of the inspection target image G3 corresponding to the start point coordinates (n + 1, m) and (n + 2, m) of the blocks G2 (n + 1, m) and G2 (n + 2, m) of the master image G2. , M), G3 (n + 2, m) start point position coordinates (n + 1, m), (n + 2, m) are shown.

ついで、検査対象画像G3の各ブロックG3(i、j)のマスター画像G2の対応するブロックG2(i、j)に対する位置ずれ量Δ(xi、xj)を演算する(図9のS1参照)。   Next, a positional deviation amount Δ (xi, xj) of each block G3 (i, j) of the inspection target image G3 with respect to the corresponding block G2 (i, j) of the master image G2 is calculated (see S1 in FIG. 9).

ステップS1により求められた検査対象画像G3の各ブロックG3(i、j)の位置ずれ量Δ(xi、xj)から各ブロック毎に同時並列計算対象空間にロードする際のロード開始アドレスを演算する(図9のS2参照)。   A load start address for loading each block into the simultaneous parallel calculation target space is calculated from the positional deviation amount Δ (xi, xj) of each block G3 (i, j) of the inspection target image G3 obtained in step S1. (See S2 in FIG. 9).

図7は、その位置ずれ量補正後のロード開始アドレスの一例を示している。
その図7においては、マスター画像G2のブロックG2(i、j)の始点座標(x1、y1)に対応する検査対象画像G3のブロックG3(i、j)の始点座標(x1’=x1+Δ(x1、y1)、y1’=y1+Δ(y1、x1))、ブロックG2(i+1、j)の始点座標(x2、y2)に対応する検査対象画像G3のブロックG3(i+1、j)の始点座標(x2’=x2+Δ(x2、y2)、y2’=y2+Δ(y2、x2))、マスター画像G2のブロックG(i+2、j)の始点座標(x3、y3)に対応する検査対象画像G3の始点座標(x3’=x3+Δ(x3、y3)、y3’=y3+Δ(y3、x3))、マスター画像G2のブロックG2(i+3、j)の始点座標(x4、y4)に対応する検査対象画像G3のブロックG3(i+1、j)の始点座標(x4’=x4+Δ(x4、y4)、y4’=y4+Δ(y4、x4))である。
FIG. 7 shows an example of the load start address after the positional deviation correction.
In FIG. 7, the start point coordinates (x1 ′ = x1 + Δ (x1) of the block G3 (i, j) of the inspection target image G3 corresponding to the start point coordinates (x1, y1) of the block G2 (i, j) of the master image G2. , Y1), y1 ′ = y1 + Δ (y1, x1)), the start point coordinates (x2) of the block G3 (i + 1, j) of the inspection target image G3 corresponding to the start point coordinates (x2, y2) of the block G2 (i + 1, j) '= X2 + Δ (x2, y2), y2' = y2 + Δ (y2, x2)), the start point coordinates (x3, y3) of the inspection target image G3 corresponding to the start point coordinates (x3, y3) of the block G (i + 2, j) of the master image G2. x3 ′ = x3 + Δ (x3, y3), y3 ′ = y3 + Δ (y3, x3)), block G3 of inspection target image G3 corresponding to start point coordinates (x4, y4) of block G2 (i + 3, j) of master image G2 (I + , The start point coordinates j) (x4 '= x4 + Δ (x4, y4), y4' is = y4 + Δ (y4, x4)).

ついで、検査対象画像G3の1個のブロックG(i、j)を同時並列計算対象空間にロード開始アドレスからロードしてメモリマッピングする(図9のS3参照)。
続けて別のブロックG3(i+1、j)を同時並列計算対象空間にマッピングできるか否かを判断する(図9のS4参照)。別のブロックG3(i+1、j)を同時並列計算対象空間にマッピングできるときにはこのマッピングを続けて実行する(図9のS5参照)。
Next, one block G (i, j) of the inspection target image G3 is loaded from the load start address into the simultaneous parallel calculation target space and memory-mapped (see S3 in FIG. 9).
Subsequently, it is determined whether or not another block G3 (i + 1, j) can be mapped to the simultaneous parallel calculation target space (see S4 in FIG. 9). When another block G3 (i + 1, j) can be mapped to the simultaneous parallel calculation target space, this mapping is continued (see S5 in FIG. 9).

ステップS5を実行した後、ステップS4により別のブロックG3(i+1、j)をマッピングできないと判断されたときには同時並列計算対象空間にマッピングされている2個以上の各ブロックBG(i、j)の画素データについて同時にマッチング処理を行う(図9のS6参照)。   After executing step S5, when it is determined in step S4 that another block G3 (i + 1, j) cannot be mapped, the two or more blocks BG (i, j) mapped in the simultaneous parallel calculation target space Matching processing is simultaneously performed on the pixel data (see S6 in FIG. 9).

この実施例では、SIMDのプロセッサエリメント(PE数)が352個であるのに対して、検査対象画像G3の1ブロックG3(i、j)の主走査幅が150個であるので、図6に示すように2個のブロックG3(n+1、m)、G3(n+2、m)を同時並列計算対象空間にメモリマッピングできる。   In this embodiment, the processor element (number of PEs) of SIMD is 352, whereas the main scanning width of one block G3 (i, j) of the inspection target image G3 is 150, so FIG. As shown in FIG. 2, two blocks G3 (n + 1, m) and G3 (n + 2, m) can be memory-mapped in the simultaneous parallel calculation target space.

2個のブロックの画素のデータを同時並列計算対象空間にメモリマッピングしても300個の画素のデータであり、プロセッサエリメントPEの個数352個よりも少ないからである。   This is because even if the data of the pixels of the two blocks is subjected to memory mapping in the simultaneous parallel calculation target space, the data of 300 pixels is obtained, which is smaller than the number 352 of processor elements PE.

このように、従来のマッチング処理では、SIMDの計算処理効率が約43%だったのに対し、この実施例によれば、検査対象画像G3の2個のブロックG3(i、j)を同時にマッチング処理できるため、その処理効率は85%程度となり、有効に並列計算処理による高速化ができる。   As described above, in the conventional matching processing, the SIMD calculation processing efficiency is about 43%, but according to this embodiment, two blocks G3 (i, j) of the inspection target image G3 are matched simultaneously. Since the processing can be performed, the processing efficiency is about 85%, and the speed can be effectively increased by parallel calculation processing.

この実施例によれば、検査対象画像G3の複数個のブロックG3(i、j)をSIMDプロセッサのプロセッサエリメントPEにロードする際に、ブロックG3(i、j)の開始アドレスをそのブロックG3(i、j)ごとのずれ量に応じた位置にシフトした。   According to this embodiment, when a plurality of blocks G3 (i, j) of the inspection target image G3 are loaded into the processor element PE of the SIMD processor, the start address of the block G3 (i, j) is set to the block G3. It shifted to the position according to the deviation | shift amount for every (i, j).

このため、メモリマッピングが終わった時点で、マスター画像G2のブロックG2(i、j)に対応する位置ずれが解消していることになり、その後の画素ごとにデータのマッチング処理を同時に行うことができる。
つまり、ブロック毎の画素のデータのマッチングを少なくとも検査対象画像の2個以上のブロックについて同時に行うことができ、マッチング処理の効率化、高速化を図ることができる。
For this reason, when the memory mapping is completed, the positional deviation corresponding to the block G2 (i, j) of the master image G2 has been eliminated, and data matching processing can be simultaneously performed for each subsequent pixel. it can.
That is, matching of pixel data for each block can be performed simultaneously for at least two or more blocks of the image to be inspected, and matching processing can be made more efficient and faster.

8’…フレームメモリ
G2…マスター画像
G3…検査対象画像
G2(i、j)、G3(i、j)…ブロック
(n+1、m)、(n+2、m)、(n+1’、m’)、(n+2’、m’)…始点座標
8 '... frame memory G2 ... master image G3 ... inspection object image G2 (i, j), G3 (i, j) ... block (n + 1, m), (n + 2, m), (n + 1', m '), ( n + 2 ', m') ... start point coordinates

特開2001−56301号公報JP 2001-56301 A 特開2001−56302号公報JP 2001-56302 A 特許3299066号Patent No. 3299066

Claims (5)

マスター画像の全体の画像領域とフレームメモリに格納されている検査対象画像の全体の画像領域とを複数のブロックに等分割し、検査対象画像の少なくとも2個以上の各ブロックについて、その検査対象画像の各ブロックの始点座標とその各ブロックにそれぞれ対応するマスター画像の各ブロックの始点座標とのずれ量を演算により求める演算ステップと、
前記フレームメモリから前記検査対象画像の各ブロックの画素のデータを並列計算機の同時並列計算対象空間にメモリマッピングする際に、前記検査対象画像の各ブロックの始点座標をずれ量に対応する分だけずらした位置座標をロード開始アドレスとして、このロード開始アドレスから検査対象画像の各ブロックの画素のデータをロードし、検査対象画像の少なくとも2個以上のブロック内の画素のデータについて前記マスター画像の対応する各ブロック内の画素のデータとのマッチング処理を同時に行うマッチング処理ステップと、を含むことを特徴とする画像データのマッチング処理方法。
The entire image area of the master image and the entire image area of the inspection target image stored in the frame memory are equally divided into a plurality of blocks, and the inspection target image is obtained for each of at least two blocks of the inspection target image. A calculation step for calculating a deviation amount between the start point coordinates of each block and the start point coordinates of each block of the master image respectively corresponding to each block;
When the pixel data of each block of the inspection target image is subjected to memory mapping from the frame memory to the simultaneous parallel calculation target space of a parallel computer, the start point coordinates of each block of the inspection target image are shifted by an amount corresponding to the shift amount. The data of the pixels of each block of the inspection target image is loaded from the load start address using the position coordinates as the load start address, and the data of the pixels in at least two blocks of the inspection target image correspond to the master image. And a matching processing step for simultaneously performing matching processing with pixel data in each block.
前記マッチング処理ステップは、演算ステップにより求められた前記検査対象画像の各ブロックの位置ずれ量から各ブロック毎に同時並列計算対象空間にロードする際に位置ずれ補正後のロード開始アドレスを演算するアドレス演算ステップと、前記検査対象画像の1個のブロックを前記同時並列計算対象空間にメモリマッピングするメモリマッピングステップと、続けて別のブロックを前記同時並列計算対象空間にメモリマッピングできるか否かを判断して、前記別のブロックを前記同時並列計算対象空間にメモリマッピングできるときには当該メモリマッピングを続けて実行する実行ステップとを含み、前記アドレス演算ステップと前記実行ステップとを実行後、該実行ステップにおいて前記別のブロックをメモリマッピングできないと判断されたときには前記同時並列計算対象空間にすでにメモリマッピングされている各ブロックの画素のデータについて同時にマッチング処理を行うことを特徴とする請求項1に記載の画像データのマッチング処理方法。   The matching processing step is an address for calculating a load start address after misalignment correction when loading each block into the simultaneous parallel calculation target space from the misalignment amount of each block of the inspection target image obtained in the calculation step. A calculation step, a memory mapping step of memory mapping one block of the image to be inspected to the simultaneous parallel calculation target space, and subsequently determining whether another block can be memory mapped to the simultaneous parallel calculation target space An execution step of continuously executing the memory mapping when the other block can be memory-mapped to the simultaneous parallel calculation target space, and after executing the address calculation step and the execution step, If the other block cannot be memory mapped Matching an image data processing method according to claim 1, characterized in that simultaneously matching processing for the data of the pixels of each block is already memory mapped to the same time parallel computing target space when it is disconnected. 前記並列計算機がSIMD構造であることを特徴とする請求項2に記載の画像データのマッチング処理方法。   The image data matching processing method according to claim 2, wherein the parallel computer has a SIMD structure. 請求項1ないし請求項3のいずれか1項に記載の画像データのマッチング処理方法を実行可能な処理装置。   A processing apparatus capable of executing the image data matching processing method according to claim 1. 請求項1ないし請求項3の画像データの処理方法を用いた画像検査装置。   An image inspection apparatus using the image data processing method according to claim 1.
JP2013131280A 2013-06-24 2013-06-24 Image data matching processing method, processing device thereof, and image inspection device Pending JP2015005233A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013131280A JP2015005233A (en) 2013-06-24 2013-06-24 Image data matching processing method, processing device thereof, and image inspection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013131280A JP2015005233A (en) 2013-06-24 2013-06-24 Image data matching processing method, processing device thereof, and image inspection device

Publications (1)

Publication Number Publication Date
JP2015005233A true JP2015005233A (en) 2015-01-08

Family

ID=52301042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013131280A Pending JP2015005233A (en) 2013-06-24 2013-06-24 Image data matching processing method, processing device thereof, and image inspection device

Country Status (1)

Country Link
JP (1) JP2015005233A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109733079A (en) * 2018-12-28 2019-05-10 武汉朋谊科技有限公司 Packing box antiforging printing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109733079A (en) * 2018-12-28 2019-05-10 武汉朋谊科技有限公司 Packing box antiforging printing method

Similar Documents

Publication Publication Date Title
US8958659B2 (en) Image registration method and system robust to noise
JP2015198306A (en) Image processing apparatus and computer program
US20160352965A1 (en) Image processing apparatus, method therefor, and image reading apparatus
JP2007335920A (en) Image processing apparatus and image processing program
US9936098B2 (en) Image combination device, image reading device and image combination method
JP2009125986A (en) Image forming apparatus and its calibration method
US10510163B2 (en) Image processing apparatus and image processing method
JP2009171560A5 (en)
JP2009031006A (en) Visual inspection device and method
JP2015005233A (en) Image data matching processing method, processing device thereof, and image inspection device
KR101091054B1 (en) Device for motion search in dynamic image encoding
US20170178351A1 (en) Method for determining missing values in a depth map, corresponding device, computer program product and non-transitory computer-readable carrier medium
JP2001143062A (en) Rotational conversion of image using block transfer
JP2018037869A (en) Image Analyzer
JP6141548B2 (en) Image correction apparatus, image correction system, and image correction method
JP6228382B2 (en) Drawing method and drawing apparatus
JP6468415B2 (en) Image processing apparatus and image processing program
US9122922B2 (en) Information processing apparatus, program, and information processing method
JPWO2014126187A1 (en) Image processing apparatus, image processing method, image reading apparatus, and program
JP7471207B2 (en) Inspection device, inspection method, and inspection program
JPH11258174A (en) Detecting apparatus for composite distortion of imaged image
JP7518741B2 (en) Inspection device, inspection method, and inspection program
JP2018157492A (en) Image processing apparatus, image processing method and program
US20230097831A1 (en) Information processing device, information processing system, and non-transitory computer readable medium
JP2000082141A (en) Picked up image geometric distortion detection device