JP2001082927A - Method and apparatus for processing three-dimensional image and recording medium recording three-dimensional image processing program - Google Patents

Method and apparatus for processing three-dimensional image and recording medium recording three-dimensional image processing program

Info

Publication number
JP2001082927A
JP2001082927A JP26211299A JP26211299A JP2001082927A JP 2001082927 A JP2001082927 A JP 2001082927A JP 26211299 A JP26211299 A JP 26211299A JP 26211299 A JP26211299 A JP 26211299A JP 2001082927 A JP2001082927 A JP 2001082927A
Authority
JP
Japan
Prior art keywords
image
pixel
processing
luminance gradient
unit
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.)
Granted
Application number
JP26211299A
Other languages
Japanese (ja)
Other versions
JP3524826B2 (en
Inventor
Hidekazu Hosoya
英一 細谷
Mamoru Nakanishi
衛 中西
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP26211299A priority Critical patent/JP3524826B2/en
Publication of JP2001082927A publication Critical patent/JP2001082927A/en
Application granted granted Critical
Publication of JP3524826B2 publication Critical patent/JP3524826B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enable a three-dimensional image processing apparatus to determine an optimum block size without decreasing the accuracy of estimating parallax and reduce processing time. SOLUTION: An image input part 11 stores into an image storage part 12 picture element data about a right image and a left image taken by cameras 102, 101 and input to an apparatus. A brightness gradient calculating part 13 calculates a brightness gradient in an area near each picture element through a differential filter process or the like for all the picture elements. A spiral scan process part 15 performs spiral scans about each picture element and reads the brightness gradient value obtained for each picture element being scanned and performs a cumulating (adding) process. A block size calculating part 16 determines an optimum block size for each picture element in accordance with the number (or cycle) of scanned picture elements which is determined for each picture element. A corresponding point searching process part 18 performs a process for searching the corresponding points of the right and left images by use of the block size determined for each picture element.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、例えば、ロボット
の視覚制御、物体の形状認識、物体の動作認識、障害物
認識、空間中の位置認識などの三次元画像処理に利用で
き、異なる視点から撮られた複数枚の画像を入力とし、
画像間で画素の対応点探索を行って得られる視差情報か
ら距離画像を得る方法および装置に関するものである。
The present invention can be used for three-dimensional image processing such as visual control of a robot, shape recognition of an object, motion recognition of an object, obstacle recognition, position recognition in a space, and the like. Input multiple images taken,
The present invention relates to a method and an apparatus for obtaining a distance image from disparity information obtained by searching for corresponding points of pixels between images.

【0002】[0002]

【従来の技術】従来、異なる視点から撮られたステレオ
画像から、距離画像(奥行画像)を得る方法として、第
1の画像上のすべての画素について、各画素に対応する
点を他方の画像中から探し出し、両画素位置の差(視
差)から三角測量の原理により距離画像を求める方法が
ある。対応点を検索する方法としては、両画像の画素間
の相関値を求め、最も相関のあるもの同士を対応付ける
方法が多く用いられる。相関値としては、例えば、第1
の画像の着目画素を含んだ近傍ブロックと、他方の画像
の探索対象の画素を含んだ近傍ブロックとの間で求めた
差分絶対値和を用いることができ、他方の画像上で該差
分値和の値が最小となる画素を探し出すことにより、視
差情報を得て距離画像を求められる。このとき、ブロッ
クサイズが大きいほど、広い範囲の画像情報が得られる
ため、輝度変化の少ない領域に対してもマッチングの精
度の向上が期待できる反面、輝度変化の大きい領域につ
いては細かい輝度変化が平均化され精度が落ちる。これ
に対し、ブロックサイズを小さくすると、逆に輝度変化
の大きい領域に有効である反面、輝度変化の少ない領域
のマッチングが困難になる。
2. Description of the Related Art Conventionally, as a method for obtaining a distance image (depth image) from stereo images taken from different viewpoints, a point corresponding to each pixel in a first image is determined in the other image. And a distance image is obtained from the difference (parallax) between the two pixel positions based on the principle of triangulation. As a method of searching for a corresponding point, a method of obtaining a correlation value between pixels of both images and associating the most correlated with each other is often used. As the correlation value, for example, the first
The sum of absolute differences obtained between the neighboring block including the pixel of interest in the image of interest and the neighboring block including the pixel to be searched for in the other image can be used. By searching for a pixel having the minimum value, the distance image can be obtained by obtaining the parallax information. At this time, as the block size is larger, a wider range of image information can be obtained, so that the accuracy of matching can be expected to be improved even in an area with a small change in luminance. And the accuracy drops. On the other hand, if the block size is reduced, it is effective for an area where the luminance change is large, but it becomes difficult to match an area where the luminance change is small.

【0003】このようなブロックマッチング法を用いた
三次元画像処理の第1の従来方法として、ブロックサイ
ズを固定した方法(蓼沼、湯山、“立体画像の左右対応
点探索法の最適化”、テレビジョン学会誌、Vol.48, N
o.10, pp.1222〜1229, 1994.)がある。この方法では、
前処理として半径3画素の2次元フィルタを用いて輪郭
抽出を行い、これを入力してブロックマッチングを行っ
ている。左画像、右画像のブロック内の輝度値をそれぞ
れPL(i,j)、PR(i,j)としたとき、相関値
としては主に、
As a first conventional method of three-dimensional image processing using such a block matching method, a method in which a block size is fixed (Tatenuma, Yuyama, "Optimization of left-right corresponding point search method of stereoscopic image", TV Journal of the John Society, Vol. 48, N
o.10, pp.1222-1229, 1994.). in this way,
As preprocessing, contour extraction is performed using a two-dimensional filter with a radius of three pixels, and the contour is input to perform block matching. When the luminance values in the blocks of the left image and the right image are PL (i, j) and PR (i, j), respectively, the correlation value is mainly

【0004】[0004]

【数1】 で求められる評価値(残差平方和、SSD)を用いてい
る。フィルタの性質および実験結果から、ブロックサイ
ズは7×7(1≦i≦7,1≦j≦7)が最適としてお
り、全特徴点について固定したブロックサイズでマッチ
ングを行っている。
(Equation 1) (Residual sum of squares, SSD) obtained by From the characteristics of the filter and the experimental results, the optimal block size is 7 × 7 (1 ≦ i ≦ 7, 1 ≦ j ≦ 7), and matching is performed with a fixed block size for all feature points.

【0005】三次元画像処理の第2の従来方法として、
複数のブロックサイズを用いる方法(吾妻、魚森、森
村、“ステレオ画像の中間視点画像生成のためのエッジ
情報を用いた視差推定”、映像情報メディア学会誌、Vo
l.52, No.3, pp.322-330, 1998.)がある。この方法で
は、予め用意した複数のブロックサイズに対してブロッ
クマッチングを行い、各々の場合の視差を推定する。マ
ッチング時の相関値は、前記第1の従来方法の(1)式
と同様な評価値E(X,Y)を用いている。さらに、下
記(2)式で示す信頼性評価値Jを求め、得られた複数
の視差推定値から信頼性評価値Jに基づいて選択し視差
を決定する。
[0005] As a second conventional method of three-dimensional image processing,
A method using multiple block sizes (Azuma, Uomori, Morimura, "Parallax estimation using edge information for generating intermediate viewpoint images of stereo images", Journal of the Institute of Image Information and Television Engineers, Vo
l.52, No.3, pp.322-330, 1998.). In this method, block matching is performed on a plurality of block sizes prepared in advance, and the parallax in each case is estimated. As the correlation value at the time of matching, an evaluation value E (X, Y) similar to the expression (1) of the first conventional method is used. Further, a reliability evaluation value J expressed by the following equation (2) is obtained, and parallax is determined by selecting from a plurality of obtained parallax estimation values based on the reliability evaluation value J.

【0006】[0006]

【数2】 ここで、Sはブロック内の画素数、σn は画像のノイズ
レベル、
(Equation 2) Here, S is the number of pixels in the block, σ n is the noise level of the image,

【0007】[0007]

【外1】 は各々ブロック内の水平垂直方向平均2乗輝度勾配で、
(2)式の値が小さいほど対応付けの信頼性が高いこと
を示す。この値Jはブロックサイズに依存しないので、
異なるブロックサイズにより得られた複数の推定値から
Jが最小になる推定値を選択すればよい。マッチングに
用いるブロックサイズは、10×10、20×20、4
0×40などの大きなブロックを複数用いている。演算
量削減のため、ブロックサイズの種類は少数に絞られて
いるが、最適なブロックサイズを選ぶために、各々のブ
ロックサイズの場合について、(1)式の視差推定値と
(2)式の信頼性評価値を必ず求める必要がある。ま
た、選ばれるブロックサイズの種類が少ないので、最適
なブロックサイズを選択する上では精度が低く、複雑な
後処理によって精度を上げている。
[Outside 1] Is the horizontal and vertical average squared luminance gradient in each block,
The smaller the value of the expression (2), the higher the reliability of the association. Since this value J does not depend on the block size,
An estimated value that minimizes J may be selected from a plurality of estimated values obtained with different block sizes. The block sizes used for matching are 10 × 10, 20 × 20, 4
A plurality of large blocks such as 0 × 40 are used. In order to reduce the amount of computation, the types of block sizes are limited to a small number. However, in order to select the optimal block size, the parallax estimation value of Expression (1) and the disparity estimation value of Expression (2) are calculated for each block size. It is necessary to always obtain the reliability evaluation value. Also, since there are few types of block sizes to be selected, accuracy is low in selecting an optimal block size, and accuracy is increased by complicated post-processing.

【0008】[0008]

【発明が解決しようとする課題】しかしながら、上記従
来の方法では、以下に示す問題があった。
However, the above-mentioned conventional method has the following problems.

【0009】(1)第1の従来方法は、対応付けを行う
すべての特徴点画素に対し、ブロックサイズを同じ大き
さに固定しているため、ブロックサイズが大きい場合
は、輝度変化の大きいブロック領域において細かい輝度
変化が平均化されて視差推定の精度が落ち、またブロッ
クサイズが小さい場合は、逆に輝度変化の少ないブロッ
ク領域のマッチングが困難になる。また、これにより、
ブロックサイズと視差推定の精度の関係は画像によって
異なるため、最適なブロックサイズを決定することが困
難である。
(1) In the first conventional method, the block size is fixed to the same size for all the feature point pixels to be associated. Therefore, when the block size is large, a block having a large luminance change is used. Fine luminance changes are averaged in the region, and the accuracy of parallax estimation is reduced. When the block size is small, matching of a block region with a small luminance change becomes difficult. This also gives
Since the relationship between the block size and the accuracy of parallax estimation differs depending on the image, it is difficult to determine an optimal block size.

【0010】(2)第2の従来方法は、前記(1)の問
題点を解決するため画素毎に最適なブロックサイズを選
んでいるが、その際すべての画素について、(1)式の
視差推定値とさらに(2)式で示される信頼性評価値
を、常に複数のブロックサイズに対して各々求めてお
り、計算量が大きくなる。
(2) In the second conventional method, an optimal block size is selected for each pixel in order to solve the problem (1). At this time, the parallax of the formula (1) is used for all the pixels. The estimated value and the reliability evaluation value represented by the equation (2) are always obtained for each of a plurality of block sizes, which increases the amount of calculation.

【0011】(3)第2の従来方法は、前記(2)の問
題点を鑑みて、計算量を削減するために、処理対象とす
るブロックサイズの種類を間引いているため、最適なブ
ロックサイズを選択する際に、ブロックサイズの候補数
が少なくなる。
(3) In the second conventional method, in consideration of the problem (2), the types of block sizes to be processed are thinned out in order to reduce the amount of calculation. Is selected, the number of block size candidates is reduced.

【0012】(4)第2の従来方法は、画素毎に最適な
ブロックサイズを求める際に、視差推定値を求める処理
と信頼性評価を求める処理は、全画素にわたって逐次的
に実行されるため、画像サイズが大きい場合およびブロ
ックサイズが大きい場合に、処理時間が大きくなる。
(4) In the second conventional method, when an optimum block size is obtained for each pixel, a process of obtaining a parallax estimation value and a process of obtaining a reliability evaluation are sequentially performed over all pixels. When the image size is large and the block size is large, the processing time becomes longer.

【0013】本発明の目的は、前述した従来の方法に対
して、ブロックサイズをすべて同じ大きさに固定するこ
とによる視差推定の精度が低下する問題点と、その場合
最適なブロックサイズの決定が困難である問題点と、画
素毎に最適なブロックサイズを求める場合に計算量(処
理時間)が大きくなる問題点とを解決した三次元画像処
理方法、装置を提供することにある。
An object of the present invention is to reduce the accuracy of parallax estimation by fixing all block sizes to the same size as in the conventional method described above, and to determine an optimal block size in that case. It is an object of the present invention to provide a three-dimensional image processing method and apparatus which solve the difficult problem and the problem that the amount of calculation (processing time) increases when obtaining an optimal block size for each pixel.

【0014】[0014]

【課題を解決するための手段】本発明の三次元画像処理
装置では、異なる視点から撮られた複数枚の画像を入力
とし、第1の画像の各画素について、第1の画像を除く
画像中の最も相応する画素位置を探索し、それらの画素
位置の差分を視差情報として抽出し、該視差情報から距
離画像を得る装置において、輝度分布から求める評価値
に基づき、当該画素の対応点探索に用いるブロックサイ
ズを決定する手段を有し、画素毎に別々に求めたブロッ
クサイズを用いて、画像間でブロックマッチングにより
対応点探索を行う。
According to the three-dimensional image processing apparatus of the present invention, a plurality of images taken from different viewpoints are input, and each pixel of the first image is converted into an image other than the first image. The most corresponding pixel position is searched, the difference between those pixel positions is extracted as disparity information, and in a device for obtaining a distance image from the disparity information, a corresponding point search for the pixel is performed based on an evaluation value obtained from a luminance distribution. There is means for determining a block size to be used, and a corresponding point search is performed between images by block matching using the block size separately obtained for each pixel.

【0015】画素毎に最適なブロックサイズを求めてス
テレオマッチングできるため、輝度変化が大きい近傍ブ
ロック領域を持つ画素にはブロックサイズを小さく、輝
度変化の少ない近傍ブロック領域を持つ画素にはブロッ
クサイズを大きくすることにより、視差推定の精度を向
上させることができる。また、画素毎の最適なブロック
サイズを先にすべて求めてから、決定したブロックサイ
ズを用いてステレオマッチングによる視差推定処理を行
うため、1個の画素に対して複数のブロックサイズの場
合に対する複数回の視差推定処理を行う必要がなく、処
理時間を短くすることができる。
[0015] Since stereo matching can be performed by obtaining an optimum block size for each pixel, the block size is small for pixels having a nearby block region having a large change in luminance, and the block size is small for pixels having a nearby block region having a small change in luminance. By increasing the size, the accuracy of parallax estimation can be improved. In addition, since the optimum block size for each pixel is first obtained, and then the parallax estimation processing by stereo matching is performed using the determined block size, a plurality of times for one pixel in a case of a plurality of block sizes are performed. Does not need to be performed, and the processing time can be shortened.

【0016】本発明の実施態様では、ブロックサイズを
決定する手段は、画素毎に輝度勾配を求める手段と、画
素毎に該画素近傍の前記輝度勾配の累積値をらせん状も
しくは同心円状に画素を走査して求める手段と、前記累
積値を、走査した画素数もしくはらせん走査の周回数を
基に正規化する手段と、前記正規した値からから閾値判
定によりブロックサイズを求める手段とを有し、この画
素毎に別々に求めたブロックサイズを用いて、画像間で
ブロックマッチングにより対応点探索を行う。最適なブ
ロックサイズは、輝度勾配の累積値をらせん走査しなが
ら求めるため、1回のらせん走査処理で求めることがで
き、処理時間を短くすることができる。また、最適なブ
ロックサイズは、近傍画素の輝度勾配の累積処理だけで
求めるため、複数のブロックサイズに対する複数回の視
差推定処理や信頼性評価値算出などの複雑な演算を行う
必要がなく、処理時間を短くすることができる。また、
ブロックサイズを求める際には演算量の大きい視差推定
処理は行わないため、処理対象とするブロックサイズの
種類を間引かずに、大きな演算量なしで最適なブロック
サイズを決定することができる。
In an embodiment of the present invention, the means for determining the block size includes means for calculating a luminance gradient for each pixel, and for each pixel, a pixel in the form of a spiral or concentric circle representing the cumulative value of the luminance gradient in the vicinity of the pixel. Means for scanning, means for normalizing the cumulative value based on the number of pixels scanned or the number of turns of spiral scanning, and means for obtaining a block size by threshold determination from the normalized value, Using the block size obtained separately for each pixel, a corresponding point search is performed between the images by block matching. Since the optimum block size is obtained while performing the spiral scanning on the cumulative value of the luminance gradient, it can be obtained by one spiral scanning process, and the processing time can be shortened. In addition, since the optimal block size is obtained only by the process of accumulating the luminance gradient of the neighboring pixels, there is no need to perform complicated calculations such as a plurality of parallax estimating processes and calculating a reliability evaluation value for a plurality of block sizes. Time can be shortened. Also,
Since the parallax estimation processing with a large amount of calculation is not performed when obtaining the block size, the optimal block size can be determined without a large amount of calculation without thinning out the types of block sizes to be processed.

【0017】本発明のさらに他の実施態様では、三次元
画像処理装置が、画素毎に輝度勾配を求める手段と、画
素毎に該画素近傍の前記輝度勾配の累積値をらせん状も
しくは同心円状に画素を走査して求める手段と、前記累
積値を、走査した画素数もしくはらせん走査の周回数を
基に正規化する手段と、前記正規化した値から閾値判定
によりブロックサイズを求める手段とを含む処理ブロッ
クを第1の画像の1画素毎または複数の画素毎に有し、
輝度勾配を求める際、および該輝度勾配の累積値をらせ
ん走査して求める際に、全処理ブロック間で近傍画素値
を一斉に転送可能な前記処理ブロック間の転送パスを備
えている。
In a still further embodiment of the present invention, the three-dimensional image processing device includes: a means for calculating a luminance gradient for each pixel; and a spiral or concentric cumulative value of the luminance gradient in the vicinity of the pixel for each pixel. Means for scanning a pixel, means for normalizing the accumulated value based on the number of scanned pixels or the number of times of spiral scanning, and means for calculating a block size by threshold determination from the normalized value. Having a processing block for each pixel or for a plurality of pixels of the first image;
A transfer path between the processing blocks capable of simultaneously transferring neighboring pixel values between all the processing blocks when calculating the luminance gradient and when calculating the cumulative value of the luminance gradient by spiral scanning is provided.

【0018】本実施態様によれば、処理ブロックを第1
の画像の1画素毎または複数の画素毎に有し、全処理ブ
ロック間で近傍画素値を一斉に転送可能な転送パスを備
えているため、全画素にわたって逐次的に処理を行う必
要がなく、全処理ブロック一斉に処理を実行可能であ
り、処理時間を短くすることができる。
According to this embodiment, the processing block is the first
It has a transfer path that can transfer neighboring pixel values all at once for every pixel of the image or a plurality of pixels, so that it is not necessary to sequentially process all pixels. Processing can be executed simultaneously for all processing blocks, and processing time can be shortened.

【0019】[0019]

【発明の実施の形態】第1の実施形態 図1は本発明の第1の実施形態の三次元画像処理装置の
構成図である。本実施形態の三次元画像処理装置は、左
画像と右画像を入力し、一方の画像の画素毎に最適なブ
ロックサイズを求めた後、得られたブロックサイズに基
づいたブロックマッチングにより、左右画像間で画素同
士の対応付けを行い、画素毎の視差情報を得ることによ
り、距離画像(奥行き画像)を出力するものである。こ
こでは、2枚の画像(左画像と右画像)を入力として説
明しているが、3個以上の視点から撮られた複数画像の
場合にも、そのうちの任意の2枚の画像に対しては同様
に当該処理を行うことができることは明らかである。以
下、本実施形態の動作を説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment FIG. 1 is a configuration diagram of a three-dimensional image processing apparatus according to the first embodiment of the present invention. The three-dimensional image processing apparatus of the present embodiment receives a left image and a right image, obtains an optimal block size for each pixel of one image, and performs block matching based on the obtained block size. A distance image (depth image) is output by associating pixels with each other and obtaining parallax information for each pixel. Here, two images (a left image and a right image) are described as inputs. However, in the case of a plurality of images taken from three or more viewpoints, any two of the images It is clear that can perform this process as well. Hereinafter, the operation of the present embodiment will be described.

【0020】まず先に、本装置での左右画像上の対応点
探索方法について説明する。本装置では、各画像上の着
目する画素近傍のブロック同士の相関値を求め、最も相
関度の高い画素同士を対応付けするブロックマッチング
法を用いる。対応付けの例を図2に示す。右画像の画素
PRに対応する画素を左画像上から探索する際、左画像
の着目画素PLとの間で、各々の画素の近傍ブロックB
R、BL同士で例えば下記式(3)に示す相関値Eを求
める。
First, a method of searching for corresponding points on the left and right images in the present apparatus will be described. The present apparatus uses a block matching method in which a correlation value between blocks near a pixel of interest on each image is obtained, and pixels having the highest degree of correlation are associated with each other. FIG. 2 shows an example of the association. When searching for a pixel corresponding to the pixel PR of the right image from the left image, the neighboring block B of each pixel is located between the pixel of interest PL of the left image.
For example, a correlation value E shown in the following equation (3) is obtained between R and BL.

【0021】[0021]

【数3】 これは差分絶対値和であるが、相関値としては従来方法
の式(1)で示した残差平方和などのような各種の値を
任意に用いることができる。また、ブロックサイズは3
×3の例を示しているが、任意のサイズと形状に容易に
拡張できる。探索に際しては、右画像のブロックBR
は、左画像上の図に示した探索範囲(BL 0 からBL
max まで)に絞ったエピポーラ線上(もしくはエポピー
ラ線近傍)の範囲のみを探索すればよい。ここで、ma
xは左右画像間の視差の最大値で、前記探索範囲以外に
はPRに対応する点が存在しないため、範囲を絞ること
により処理量を削減し、誤対応を減らすことができる。
(Equation 3)This is the sum of absolute differences, but the correlation
Various values such as the residual sum of squares shown in equation (1)
It can be used arbitrarily. The block size is 3
The example of × 3 is shown, but it can be easily changed to any size and shape.
Can be extended. When searching, block BR of the right image
Is the search range (BL 0 To BL
max On the epipolar line (or
It is sufficient to search only the range (in the vicinity of the line). Where ma
x is the maximum value of the parallax between the left and right images, and
Narrows the range because there is no point corresponding to PR
As a result, the processing amount can be reduced, and erroneous responses can be reduced.

【0022】次に、前記ブロックマッチング法による対
応点探索処理の前に行う、画素毎に最適なブロックサイ
ズを求める方法について説明する。ブロックサイズが大
きいほど、広い範囲の画像情報を得られ、輝度変化の少
ない領域に対してもマッチングの精度の向上が期待でき
る反面、輝度変化の大きい領域については細かい輝度変
化が平均化されて精度が落ちる。これに対し、ブロック
サイズを小さくすると、逆に輝度変化の大きい領域に有
効である反面、輝度変化の少ない領域のマッチングが困
難になる。よって、初めに各画素毎に近傍領域の輝度勾
配を求め、得られた輝度勾配(輝度変化)に基づき、輝
度勾配の緩やかなところはブロックサイズを大きくし、
輝度勾配の急峻なところはブロックサイズを小さくする
ことにより、ステレオマッチングの精度を向上させるこ
とが可能である。例えば図3のような画像の場合、画素
PAでは近傍領域の輝度勾配が少ないため、BAのよう
な大きなブロックを用いるのがよいが、画素PCでは近
傍領域の輝度勾配が大きいため、BCのような小さなブ
ロックを用いるのが望ましい。
Next, a method for obtaining an optimum block size for each pixel, which is performed before the corresponding point search processing by the block matching method, will be described. The larger the block size, the wider the range of image information can be obtained, and the accuracy of matching can be expected to improve even in areas with little change in luminance. Falls. On the other hand, if the block size is reduced, it is effective for an area where the luminance change is large, but it becomes difficult to match an area where the luminance change is small. Therefore, first, the luminance gradient of the neighboring area is obtained for each pixel, and based on the obtained luminance gradient (luminance change), the block size is increased where the luminance gradient is gentle,
Where the luminance gradient is steep, it is possible to improve the accuracy of stereo matching by reducing the block size. For example, in the case of an image as shown in FIG. 3, a large block such as BA is preferably used for the pixel PA because the luminance gradient in the neighboring area is small, but the luminance gradient for the neighboring area is large in the pixel PC, and the pixel PA has a luminance gradient like BC. It is desirable to use a small block.

【0023】本装置では、予め全画素における輝度勾配
を求める。具体的な算出方法については、例えばsobel
フィルタのような微分フィルタを用いることができる
が、輝度変化の度合いを示す値を求めるものであれば、
任意のフィルタなどを用いた方法が容易に実行可能であ
る。また、輝度値としては、白黒の濃淡画像だけでな
く、カラー画像の各カラー成分値でもよい。また、フィ
ルタとして、エピポーラ線に平行な方向に対する微分フ
ィルタを用いることにより、エピポーラ線に平行な線状
の画像が近傍領域に含まれる場合に、誤ったブロックサ
イズが得られる問題を回避できる。
In this apparatus, the luminance gradient in all pixels is obtained in advance. For the specific calculation method, for example,
A differential filter such as a filter can be used, but if a value indicating the degree of luminance change is obtained,
A method using an arbitrary filter or the like can be easily executed. Further, as the luminance value, not only a monochrome gray-scale image but also each color component value of a color image may be used. In addition, by using a differential filter in a direction parallel to the epipolar line as a filter, it is possible to avoid a problem that an erroneous block size is obtained when a linear image parallel to the epipolar line is included in the neighboring area.

【0024】具体的なブロックサイズの求め方について
以下説明する。右画像上の各画素について、図4のよう
に着目画素を中心として、近傍の画素をらせん状に走査
する。走査しながら走査中の画素が持つ輝度勾配値(輝
度勾配の絶対値を意味する。以下も同じ。)を累積し、
予め定めた閾値を超えたら、その画素(またはその周
回)で走査をやめ、そのときまでの走査画素数(または
周回数)を記憶する。こうして各画素毎に得られた該走
査画素数(または周回数)は、近傍領域に輝度変化が少
ない場合、値が大きくなり、また近傍領域の輝度変化が
大きい場合、値が小さくなるので、この値に比例した値
としてブロックサイズを得ることができる。
A specific method for obtaining the block size will be described below. As for each pixel on the right image, as shown in FIG. 4, neighboring pixels are helically scanned around the pixel of interest. While scanning, the luminance gradient value (meaning the absolute value of the luminance gradient; the same applies hereinafter) of the pixel being scanned is accumulated,
If the threshold value is exceeded, scanning is stopped at that pixel (or the number of rotations), and the number of scanned pixels (or number of rotations) up to that point is stored. The value of the number of scanning pixels (or number of rotations) obtained for each pixel in this manner increases when the luminance change in the neighboring area is small, and decreases when the luminance change in the neighboring area is large. The block size can be obtained as a value proportional to the value.

【0025】図1に示した第1の実施形態において、以
上の処理を実行する具体的な動作を説明する。
A specific operation for executing the above processing in the first embodiment shown in FIG. 1 will be described.

【0026】画像入力部11は、カメラ101 ,102
で撮影され、装置に入力された左画像と右画像の画素デ
ータを画像記憶部12へ格納する。
The image input unit 11 includes cameras 10 1 and 10 2
Then, the pixel data of the left image and the right image input to the apparatus are stored in the image storage unit 12.

【0027】輝度勾配算出部13は、前述した微分フィ
ルタ処理などにより、各画素における近傍領域の輝度勾
配を、全画素について求める。
The luminance gradient calculating section 13 obtains a luminance gradient of a neighboring region in each pixel for all pixels by the above-described differential filter processing or the like.

【0028】らせん走査処理部15では、各画素につい
て、図4のような該画素を中心としたらせん状走査を行
い、走査中の画素において前記得られた輝度勾配値を読
み出し、累積(加算)処理を行う。走査中に、累積値が
予め定めた閾値を超えたら、その画素(またはその周
回)で走査をやめ、そのときまでの走査画素数(または
周回数)を記憶する。また、このらせん走査において、
画素毎に閾値判定処理するのではなく、1周回(1同心
円)の走査を終えてから閾値判定することにより、閾値
判定処理の回数を削減する方法も容易に実現可能であ
る。これらの処理を全画素について実行する。
The helical scanning processing section 15 performs helical scanning on each pixel as shown in FIG. 4, centering on the pixel, reads out the obtained luminance gradient value from the pixel being scanned, and accumulates (adds) it. Perform processing. If the accumulated value exceeds a predetermined threshold value during scanning, scanning is stopped at that pixel (or its circumference), and the number of scanned pixels (or the number of rotations) up to that point is stored. Also, in this spiral scan,
A method of reducing the number of times of the threshold determination processing can be easily realized by performing the threshold determination after completing one round of scanning (one concentric circle) instead of performing the threshold determination processing for each pixel. These processes are executed for all pixels.

【0029】ブロックサイズ算出部16では、画素毎に
得られた前記走査画素数(または周回数)に基づき、画
素毎に最適なブロックサイズを求める。求め方としては
得られた周回数を用いて、その周回数に対応した同じ大
きさのブロックサイズとする方法がある。例えば当該画
素を中心に3周回のらせん走査を終えていたら、7×7
のサイズのブロックとする。すなわちn周回ならば、1
辺が(n+1)×2のサイズとする。また、周回数の値
をそのまま使うだけでなく、得られた走査画素数(また
は周回数)に係数をかけるなどの演算を行ってから、そ
の値に基づいてブロックサイズを求める方法も同様に容
易に考えられる。
The block size calculation section 16 calculates an optimum block size for each pixel based on the number of scanning pixels (or the number of rotations) obtained for each pixel. As a method of obtaining the number of turns, there is a method of using the obtained number of turns and setting a block size of the same size corresponding to the number of turns. For example, if helical scanning has been completed three times around the pixel, 7 × 7
Block of size. That is, if n rounds, 1
The side has a size of (n + 1) × 2. In addition to using the value of the number of revolutions as it is, it is also easy to perform a calculation such as multiplying the obtained number of scanning pixels (or the number of revolutions) by a coefficient, and then obtain the block size based on the value. Can be considered.

【0030】前述したらせん走査処理部15で求められ
た走査画素数(または周回数)は、得られた後すぐブロ
ックサイズも求めてしまえば、走査画素数用の記憶部は
必要なく省略できる。
If the block size is obtained immediately after the number of scanning pixels (or the number of revolutions) obtained by the spiral scanning processing unit 15 is obtained, the storage unit for the number of scanning pixels is not necessary and can be omitted.

【0031】対応点探索処理部18は、求められた画素
毎のブロックサイズを用いて、左右画像の対応点探索処
理を行う。具体的な方法としては、本実施形態の初めに
述べたようなブロックマッチングによる左右画像間での
画素同士の対応付け処理を行うものであればよい。得ら
れた画素毎の視差情報から、距離画像(奥行き画像)を
出力する。
The corresponding point search processing unit 18 performs a corresponding point search process on the left and right images using the obtained block size for each pixel. As a specific method, any method may be used as long as it performs a process of associating pixels between left and right images by block matching as described at the beginning of the present embodiment. A distance image (depth image) is output from the obtained parallax information for each pixel.

【0032】第2の実施形態 図5は、本発明の第2の実施形態三次元画像処理装置の
構成図である。
Second Embodiment FIG. 5 is a block diagram of a three-dimensional image processing apparatus according to a second embodiment of the present invention.

【0033】本実施形態の三次元処理装置は、第1の実
施形態と同様に、左画像と右画像を入力し、一方の画像
の画素毎に最適なブロックサイズを求めた後、得られた
ブロックサイズに基づいたブロックマッチングにより、
左右画像間で画素同士の対応付けを行い、画素毎の視差
情報を得ることにより、距離画像(奥行き画像)を出力
するものである。以下、本実施形態の動作を説明する。
As in the first embodiment, the three-dimensional processing apparatus of the present embodiment receives a left image and a right image, obtains an optimal block size for each pixel of one of the images, and obtains the obtained block size. By block matching based on block size,
The distance image (depth image) is output by associating the pixels between the left and right images and obtaining parallax information for each pixel. Hereinafter, the operation of the present embodiment will be described.

【0034】本装置は、後述する処理ブロック(PE)
30を図5(a)のようにNX×NY個の二次元アレイ
状に配置する。処理ブロック30間は転送パス40で接
続される。PEアレイ部20の接続形態は、例えば4隣
接のメッシュ結合で構成する。処理ブロック30の数は
画像の画素数と同じとし、1個の処理ブロック30は、
左画像の1画素と右画像の1画素の情報を格納し、下記
にて説明される輝度勾配算出処理、らせん走査処理、ブ
ロックサイズ算出処理、対応点探索処理などを行う。入
力画像サイズをIX×IYとしたとき、IX=NX,I
Y=NYであり、座標(X,Y)の画素に関わる処理を
行うPEをPE(X,Y)とする。
This apparatus has a processing block (PE) described later.
5 are arranged in a NX × NY two-dimensional array as shown in FIG. The processing blocks 30 are connected by a transfer path 40. The connection form of the PE array unit 20 is configured by, for example, four adjacent mesh connections. The number of processing blocks 30 is the same as the number of pixels of an image, and one processing block 30
The information of one pixel of the left image and the information of one pixel of the right image are stored, and a luminance gradient calculation process, a spiral scan process, a block size calculation process, a corresponding point search process, and the like described below are performed. When the input image size is IX × IY, IX = NX, I
Y = NY, and a PE that performs a process related to a pixel at coordinates (X, Y) is PE (X, Y).

【0035】1個の処理ブロック30は、図5(b)の
ように、データ記憶部39として、左画像の画素データ
PLを記憶するメモリ、右画像の画素データPRを記憶
するメモリ、また当該画素の輝度勾配値G、輝度勾配値
の累積値SG、ブロックサイズBS、視差情報MDを記
憶するメモリ、および必要に応じて演算時や転送時に必
要なワークメモリworkを持つ。また、輝度勾配演算
部33、輝度勾配値累積処理部34、累積値閾値判定処
理部35、ブロックサイズ算出部36、対応点探索処理
部37、および制御命令受信部31、データ受信部3
2、データ送信部38を持つ。以下に示す動作におい
て、データ記憶部39に記憶されているデータと隣接す
る処理ブロック30から受け取るデータを用いた各種演
算およびデータの更新処理を行う。
As shown in FIG. 5B, one processing block 30 includes a memory for storing the pixel data PL of the left image, a memory for storing the pixel data PR of the right image, and It has a luminance gradient value G of pixels, a cumulative value SG of luminance gradient values, a block size BS, a memory for storing disparity information MD, and, if necessary, a work memory required for calculation and transfer. Also, a luminance gradient calculation unit 33, a luminance gradient value accumulation processing unit 34, an accumulation value threshold determination processing unit 35, a block size calculation unit 36, a corresponding point search processing unit 37, a control command reception unit 31, and a data reception unit 3
2. It has a data transmission unit 38. In the operation described below, various calculations and data update processing using data stored in the data storage unit 39 and data received from the processing block 30 adjacent to the data storage unit 39 are performed.

【0036】画像入力初期化部21は、装置に入力され
た左画像と右画像の画素データを全処理ブロック30へ
入力する。このとき、画像上の座標(X,Y)の画素デ
ータは、PE(X,Y)のデータ記憶部PL(X,
Y)、PR(X,Y)に格納する。
The image input initializing section 21 inputs the pixel data of the left image and the right image input to the apparatus to all the processing blocks 30. At this time, the pixel data at the coordinates (X, Y) on the image is stored in the data storage unit PL (X, Y) of the PE (X, Y).
Y) and PR (X, Y).

【0037】輝度勾配算出制御部22は、全処理ブロッ
ク30に対して、画素値PR(X,Y)に対する近傍領
域の輝度勾配を求めるための制御信号をPEアレイ20
へ送る。輝度勾配の具体的な算出方法について以下説明
する。図6に、3×3近傍の微分フィルタの例を示す。
フィルタの係数(重み)について、図6(a),
(b),(c)のような各種のものを容易に適用でき
る。また、大きさについても5×5などさらに大きいサ
イズの任意のフィルタも適用できる。また、複数のフィ
ルタを組み合わせて処理することも可能である。一般に
サイズをm×mとし、フィルタの各係数をW(i,j)
とすると、画素PR(X,Y)に対する輝度勾配値G
(X,Y)は、下記式に基づいてPE(X,Y)におい
て算出される。
The brightness gradient calculation control unit 22 sends a control signal for obtaining a brightness gradient of a neighboring area to the pixel value PR (X, Y) to the PE array 20 for all the processing blocks 30.
Send to A specific calculation method of the luminance gradient will be described below. FIG. 6 shows an example of a differential filter near 3 × 3.
The filter coefficients (weights) are shown in FIG.
Various types such as (b) and (c) can be easily applied. Also, an arbitrary filter having a larger size such as 5 × 5 can be applied. It is also possible to perform processing by combining a plurality of filters. Generally, the size is m × m, and each coefficient of the filter is W (i, j).
Then, the luminance gradient value G for the pixel PR (X, Y)
(X, Y) is calculated in PE (X, Y) based on the following equation.

【0038】[0038]

【数4】 ここで、−(m−1)/2≦i≦(m−1)/2,−
(m−1)/2≦j≦(m−1)/2である。全処理ブ
ロックについて一斉に、隣接処理ブロックからのデータ
転送と、処理ブロック内での演算処理を行わせる。
(Equation 4) Here,-(m-1) / 2≤i≤ (m-1) / 2,-
(M-1) / 2≤j≤ (m-1) / 2. Data transfer from adjacent processing blocks and arithmetic processing within the processing blocks are performed simultaneously for all processing blocks.

【0039】らせん走査処理部23では、全処理ブロッ
クに対して、第1の実施形態と同様に図4のような該画
素を中心としたらせん状走査を行いながら、輝度勾配値
の累積(加算)処理と閾値判定処理を行うための制御信
号をPEアレイ処理部20へ送る。走査は近傍画素に対
応する対象処理ブロックを順次変えながら、その処理ブ
ロックに格納されている輝度勾配値Gを読み出して、着
目している画素PR(X,Y)に対応するPE(X,
Y)へ転送させ、PE(X,Y)内ではこの値を順次S
Gに累積加算していく。走査対象の処理ブロックを予め
決めた順に変えながら転送と累積処理を行わせ、累積値
SGが予め定めた閾値を超えたら、そのときまでの走査
画素数(または周回数)をPE(X,Y)に記憶させ
る。全処理ブロックについて一斉に、近傍の処理ブロッ
クからのデータ転送と、処理ブロック内での演算処理を
行わせる。
The helical scanning processing section 23 performs the helical scanning centering on the pixel as shown in FIG. 4 for all the processing blocks, as in the first embodiment, while accumulating (adding) the luminance gradient values. A) Send a control signal for performing the processing and the threshold determination processing to the PE array processing unit 20. In the scanning, while sequentially changing the target processing block corresponding to the neighboring pixel, the luminance gradient value G stored in the processing block is read, and the PE (X, Y) corresponding to the pixel of interest PR (X, Y) is read.
Y), and in PE (X, Y), this value is sequentially transferred to S
G is cumulatively added. The transfer and accumulation processing are performed while changing the processing block to be scanned in a predetermined order. When the accumulation value SG exceeds a predetermined threshold, the number of scanning pixels (or the number of rotations) up to that time is set to PE (X, Y). ). For all the processing blocks, data transfer from nearby processing blocks and arithmetic processing in the processing blocks are performed simultaneously.

【0040】ブロックサイズ算出制御部24では、画素
毎に得られた前記走査画素数(または周回数)に基づ
き、画素毎に最適なブロックサイズを算出させるための
制御信号をPEアレイ部20へ送る。具体的な求め方
は、第1の実施形態と同様に、得られた周回数を用いて
その周回数に対応した同じ大きさのブロックサイズとす
る方法などがある。例えば当該画素を中心に3周回のら
せん走査を終えていたら、7×7のサイズブロックとす
る。すなわちn周回ならば、1辺が(n+1)×2のサ
イズとする。また、得られた走査画素数(または周回
数)に係数をかけるなどの正規化を行ってブロックサイ
ズを求める方法もある。全処理ブロックについて一斉
に、ブロックサイズの算出処理を行わせる。
The block size calculation control unit 24 sends a control signal for calculating an optimum block size for each pixel to the PE array unit 20 based on the number of scanning pixels (or the number of rounds) obtained for each pixel. . As a specific method of obtaining, as in the first embodiment, there is a method of using the obtained number of rotations to set the same block size corresponding to the number of rotations. For example, if helical scanning has been completed three times around the pixel, a 7 × 7 size block is set. That is, if it is n rounds, one side has a size of (n + 1) × 2. There is also a method of obtaining a block size by performing normalization such as multiplying the obtained number of scanning pixels (or the number of rotations) by a coefficient. Block size calculation processing is performed for all processing blocks at once.

【0041】対応点探索処理制御部25は、前記求めら
れた画素毎のブロックサイズを用いて、左右画像間の対
応点探索処理を行うための制御信号をPEアレイ処理部
20へ送る。右画像上のすべての画素に対して、左画像
上で各々対応する画素を探索する。具体的な方法として
は、第1の実施形態の初めに述べたようなブロックマッ
チングによる左右画像間での画素同士の対応付け処理を
行うものであればよい。得られた画素毎の視差情報から
距離画像(奥行き画像)を出力する。
The corresponding point search processing control unit 25 sends a control signal for performing a corresponding point search process between the left and right images to the PE array processing unit 20 using the obtained block size for each pixel. For all pixels on the right image, search for corresponding pixels on the left image. As a specific method, any method may be used as long as the process of associating pixels between left and right images by block matching as described at the beginning of the first embodiment. A distance image (depth image) is output from the obtained parallax information for each pixel.

【0042】各処理ブロック内での具体的な処理につい
て説明する。データ受信部32は、他の処理ブロックか
ら送られてきたデータをデータ記憶部39に格納する。
データ送信部38は、処理ブロック内で転送が必要なデ
ータを隣接した1個の処理ブロックに送出する。
The specific processing in each processing block will be described. The data receiving unit 32 stores data transmitted from another processing block in the data storage unit 39.
The data transmitting unit 38 transmits data that needs to be transferred in the processing block to one adjacent processing block.

【0043】輝度勾配演算部22は、近傍領域の画素値
を読み出して、PE(X,Y)における輝度勾配を求め
る。輝度勾配の具体的な算出方法について以下説明す
る。例えば図6の3×3近傍の微分フィルタを用いると
すると、近傍領域内の各PEの画素値PR(X+i,Y
+j)(−(m−1)/2≦i≦(m−1)/2,−
(m−1)/2≦j≦(m−1)/2)を転送によって
順に読み出し、各々フィルタの係数W(i,j)を乗算
したものを加算処理していき、輝度勾配値Gを求め、デ
ータ記憶部39に格納する。全処理ブロックが同時にこ
の同じ動作を行うことができるので、全処理ブロック一
斉に輝度勾配を求めることが可能である。
The luminance gradient calculating section 22 reads out the pixel values in the neighboring area and obtains the luminance gradient in PE (X, Y). A specific calculation method of the luminance gradient will be described below. For example, if a 3 × 3 differential filter shown in FIG. 6 is used, the pixel value PR (X + i, Y) of each PE in the nearby area is used.
+ J) (-(m-1) / 2≤i≤ (m-1) / 2,-
(M-1) / 2≤j≤ (m-1) / 2) are sequentially read out by transfer, and the values obtained by multiplying each by the filter coefficient W (i, j) are added, and the luminance gradient value G is calculated. It is obtained and stored in the data storage unit 39. Since all the processing blocks can perform the same operation at the same time, it is possible to obtain the luminance gradient all at once.

【0044】輝度勾配値累積処理部34では、該処理ブ
ロックの対応する画素を中心としたらせん状に沿った近
傍PEについて順次、輝度勾配値Gを読み出してPE
(X,Y)へ転送し、PE(X,Y)内でSGに累積加
算していく。らせん走査の順序は予め決めておけるが、
外部のらせん走査処理制御部23から走査対象PEアド
レスを指示してもよいし、各処理ブロックが走査順序を
覚えていてもよい。全処理ブロックが常に同じ走査順に
処理を行えば、全処理ブロック一斉に累積処理を行うこ
とが可能である。
The luminance gradient value accumulating section 34 sequentially reads out the luminance gradient values G for the neighboring PEs along the spiral with the corresponding pixel of the processing block as the center, and reads out the PEs.
(X, Y) and cumulatively add to SG in PE (X, Y). The order of spiral scanning can be determined in advance,
The external helical scanning control unit 23 may indicate the PE address to be scanned, or each processing block may remember the scanning order. If all the processing blocks always perform the same scanning order, the accumulation processing can be performed simultaneously for all the processing blocks.

【0045】累積値閾値判定処理部35では、処理ブロ
ックに対して実行される転送と累積処理において、累積
値SGが予め定めた閾値を超えたら、そのときまでの走
査画素数(または周回数)をデータ記憶部39に記憶す
る。処理ブロック毎に独立した処理なので全処理ブロッ
ク一斉に処理可能である。SGが閾値を超えた後は、他
の処理ブロックとともに処理を続けてもよいし、その処
理ブロックだけ処理を終らせてもよい。
In the cumulative value threshold determination processing unit 35, when the cumulative value SG exceeds a predetermined threshold value in the transfer and the cumulative processing executed for the processing block, the number of scanning pixels (or the number of rotations) up to that time is obtained. Is stored in the data storage unit 39. Since processing is independent for each processing block, all processing blocks can be processed simultaneously. After the SG exceeds the threshold, the processing may be continued with another processing block, or the processing may be terminated only for that processing block.

【0046】ブロックサイズ算出部36では、画素毎に
得られた前記走査画素数(または周回数)に基づき、ブ
ロックサイズBSを求め、データ記憶部39に記憶す
る。具体的な求め方は、ブロックサイズ算出制御部24
で示したように、得られた周回数を用いて、その周回数
に対応した同じ大きさのブロックサイズとする方法など
がある。閾値判定処理部35と同様に、処理ブロック毎
に独立した処理なので全処理ブロック一斉に処理可能で
ある。
The block size calculation section 36 calculates the block size BS based on the number of scanning pixels (or the number of rotations) obtained for each pixel, and stores it in the data storage section 39. The specific calculation method is as follows.
As shown in the above, there is a method of using the obtained number of rounds to set the same block size corresponding to the number of rounds. Similar to the threshold determination processing unit 35, since the processing is independent for each processing block, all processing blocks can be processed simultaneously.

【0047】対応点探索処理部37は、前記求められた
画素毎のブロックサイズを用いて、左右画像間の対応点
探索処理を行う。具体的な方法としては、第1の実施形
態の初めに述べたようなブロックマッチングによる左右
画像間での画素同士の対応付け処理を行うものであれば
よい。すなわち着目しているPE(X,Y)の対応する
画素の近傍領域ブロックについて、左右画像間でブロッ
ク同士の相関値を求め、最も相関度の高い画素同士を対
応付ける方法である。例えば図2に対して、式(3)の
相関値Eを求める場合、まず全処理ブロックにおいて画
素値PLとPRの差分絶対値を求めて記憶しておき、次
に全処理ブロックにおいて、各々の近傍領域の処理ブロ
ックで求められた差分絶対値を着目しているPE(X,
Y)に転送して和を求め、相関値Eを求める。全処理ブ
ロックについて、同じ処理および同じ方向の転送を行う
ので、全処理ブロック一斉に実行できる。対応点探索処
理により見つけられた左右画像の対応画素の位置から、
その座標値の差分を用いて視差値MDを求めることがで
きる。得られた視差値MDをそのまま、もしくは係数を
変えるなどの正規化を行った値を距離画像(奥行き画
像)として出力できる。
The corresponding point search processing section 37 performs a corresponding point search process between the left and right images by using the obtained block size for each pixel. As a specific method, any method may be used as long as the process of associating pixels between left and right images by block matching as described at the beginning of the first embodiment. That is, a method of calculating the correlation value between blocks between the left and right images for the neighboring area block of the pixel corresponding to the PE (X, Y) of interest and associating the pixels having the highest correlation with each other. For example, when calculating the correlation value E of the equation (3) with respect to FIG. 2, first, the absolute value of the difference between the pixel values PL and PR is calculated and stored in all the processing blocks, and then, in each processing block, The PE (X,
Y), the sum is obtained, and the correlation value E is obtained. The same processing and transfer in the same direction are performed for all processing blocks, so that all processing blocks can be executed simultaneously. From the positions of the corresponding pixels in the left and right images found by the corresponding point search process,
The parallax value MD can be obtained using the difference between the coordinate values. The obtained parallax value MD can be output as it is or as a distance image (depth image) obtained by performing normalization such as changing a coefficient.

【0048】以上の第2の実施形態において、外部のフ
ィルタ処理を行える装置を用いることにより、入力画像
として、カメラからの画像ではなく、予め輝度勾配を求
めた後の画像を入力すれば、PEアレイ処理部20内で
輝度勾配算出処理を行う必要はなくなる。すなわち輝度
勾配算出制御部22や処理ブロック内の輝度勾配演算部
33が省ける。また、対応点探索処理についても、PE
アレイ処理部20内で実行せずに対応点探索が可能で、
画素毎にブロックサイズを変えて処理できる外部の対応
点探索装置に、得られたブロックサイズを入力して用い
ることも可能である。
In the above-described second embodiment, by using an apparatus capable of performing an external filtering process, if an image after obtaining a luminance gradient in advance is input as an input image instead of an image from a camera, PE It is not necessary to perform the brightness gradient calculation processing in the array processing unit 20. That is, the luminance gradient calculation control unit 22 and the luminance gradient calculation unit 33 in the processing block can be omitted. Also, for the corresponding point search processing, PE
Corresponding point search is possible without executing in the array processing unit 20,
It is also possible to input and use the obtained block size to an external corresponding point searching device capable of processing by changing the block size for each pixel.

【0049】第3の実施形態 図7は本発明の第3の実施形態の三次元画像処理装置の
構成図である。
Third Embodiment FIG. 7 is a block diagram of a three-dimensional image processing apparatus according to a third embodiment of the present invention.

【0050】本実施形態では、第2の実施形態で示した
PEアレイ処理部20を、図5で示したような、連想メ
モリ(CAM)50で構成する。CAM50は、画像の
画素数と同じワード数V=NX×NYを持たせ、1ワー
ドは左画像の1画素および右画像の1画素に関わる情報
を格納する。
In this embodiment, the PE array processing unit 20 shown in the second embodiment is constituted by a content addressable memory (CAM) 50 as shown in FIG. The CAM 50 has the same number of words V = NX × NY as the number of pixels of the image, and one word stores information relating to one pixel of the left image and one pixel of the right image.

【0051】ここで用いるCAM50は、既に池永らが
提案している二次元PEアレイ型のCAM(T.Ikenaga,
T.Ogura, “A Fully-Parallel 1Mb CAM LSI for Real-
TimePixel-Parallel Image Processing”,ISSCC, 199
9.、池永、小倉、“超並列型2次元セルラーオートマト
ン:CAM2 ”、信学技報、CPSY-ICDFTS, 1996.) を対
象としている。このCAM50は、1画素を1ワードに
割り当て、論理的に二次元PEアレイ状に配置および接
続されており、外部からの制御により各種並列処理を実
行できる。具体的な並列処理例を図9に示す。図9
(a)は、参照データを入力すると、サーチマスクがの
ビットの部分だけ等しい値を持つワードを、全ワード一
斉に検索し、答えをヒットフラグに格納する処理例を表
している。また、図9(b)はヒットフラグが1になっ
ているワードのみに、ライトマスクでマスクされた入力
データを並列に書き込みする例を表している。このよう
な並列検索と並列書き込み機能を組み合わせることによ
り、CAM50では加算処理などの任意の算術および論
理演算を、全ワード並列に実行することが可能である。
メモリ上で演算するので、演算のための演算器を持つ必
要がないという特徴を持つ。また、ヒットフラグを介し
て上下ワード間の全ワード一斉転送が可能である。ここ
では、上記二次元PEアレイ型のCAM50を例に説明
しているが、通常の一次元アレイ型のCAMで、上下ワ
ード間でデータを転送できる機能を持っていれば、図8
のように画素とワードを割り当てることにより、前記と
同様の方法で容易に実現できる。以下、このような特徴
を持つCAMを用いた実施形態について、具体的な動作
を説明する。
The CAM 50 used here is a two-dimensional PE array type CAM (T. Ikenaga,
T. Ogura, “A Fully-Parallel 1Mb CAM LSI for Real-
TimePixel-Parallel Image Processing ”, ISSCC, 199
9., Ikenaga and Kokura, "Mass-Parallel Two-Dimensional Cellular Automata: CAM 2 ", IEICE Technical Report, CPSY-ICDFTS, 1996.) The CAM 50 allocates one pixel to one word, is logically arranged and connected in a two-dimensional PE array, and can execute various parallel processes by external control. FIG. 9 shows a specific example of parallel processing. FIG.
(A) shows an example of processing in which, when reference data is input, a word having a value equal to only the bit portion of the search mask is searched for all words at once, and the answer is stored in a hit flag. FIG. 9B shows an example in which the input data masked by the write mask is written in parallel only to the word whose hit flag is 1. By combining such a parallel search and a parallel writing function, the CAM 50 can execute arbitrary arithmetic and logical operations such as addition processing in parallel with all words.
Since the operation is performed on the memory, there is no need to have an operation unit for the operation. Further, simultaneous transfer of all words between upper and lower words is possible via a hit flag. Here, the above-described two-dimensional PE array type CAM 50 is described as an example. However, if a normal one-dimensional array type CAM has a function of transferring data between upper and lower words, FIG.
By allocating pixels and words as described above, it can be easily realized by the same method as described above. Hereinafter, a specific operation of the embodiment using the CAM having such characteristics will be described.

【0052】CAM50の1ワードの構成は、図5で示
したように第2の実施形態と同様の情報を記憶する。以
下に示す動作について、CAM50に記憶されているデ
ータと隣接処理ブロックから受け取るデータを用いた各
種演算およびデータの更新処理は、CAM50の持つ並
列演算機能などにより、CAM50のメモリ上で実行で
きる。全体の処理の流れは第1の実施形態とほぼ同じで
あるので、CAM50内での具体的な処理について以下
説明する。
The structure of one word of the CAM 50 stores the same information as in the second embodiment as shown in FIG. Regarding the operations described below, various operations using data stored in the CAM 50 and data received from adjacent processing blocks and data update processing can be executed on the memory of the CAM 50 by the parallel operation function of the CAM 50 and the like. Since the entire processing flow is almost the same as in the first embodiment, a specific processing in the CAM 50 will be described below.

【0053】CAM50は、隣接したワード間でデータ
の転送が可能であり、ワードのデータを近傍画素に対応
したワードへ転送することができる。また、CAM50
内ではワード内の任意のデータ間で、全ワード並列に検
索処理、書き込み処理、加算処理が可能であり、これら
の並列処理機能を利用することにより処理時間を短縮で
きる。
The CAM 50 can transfer data between adjacent words, and can transfer word data to words corresponding to neighboring pixels. In addition, CAM50
The search processing, the writing processing, and the addition processing can be performed in parallel in any word among arbitrary data in a word, and the processing time can be reduced by using these parallel processing functions.

【0054】画像入力初期化部41、輝度勾配算出制御
部42、らせん走査処理制御部43、ブロック算出制御
部44、対応点探索処理制御部45は図5(a)の対応
する各部21〜25と同様の動作をする。
The image input initializing section 41, the luminance gradient calculation control section 42, the helical scanning processing control section 43, the block calculation control section 44, and the corresponding point search processing control section 45 correspond to the corresponding sections 21 to 25 in FIG. Performs the same operation as.

【0055】まず、近傍領域の画素値を転送してきて、
PE(X,Y)における輝度勾配値Gを求める。輝度勾
配値の具体的な算出方法は、第2の実施形態と同等な、
例えば図6の3×3近傍の微分フィルタなどが可能であ
る。求められた輝度勾配値GはCAM50に格納する。
CAM50では、全ワード(PE)が同時に同じ演算処
理を行うことができるので、全ワード一斉に輝度勾配を
求めることが可能である。
First, the pixel value of the neighboring area is transferred,
A luminance gradient value G in PE (X, Y) is obtained. The specific calculation method of the luminance gradient value is the same as that of the second embodiment.
For example, a differential filter near 3 × 3 in FIG. 6 can be used. The obtained luminance gradient value G is stored in the CAM 50.
In the CAM 50, all words (PE) can perform the same arithmetic processing at the same time, so that a luminance gradient can be obtained all at once.

【0056】次に、累積処理を行うが、該PEの対応す
る画素を中心としたらせん状に沿った近傍PEについて
順次、輝度勾配値Gを読み出してPE(X,Y)へ転送
し、PE(X,Y)内でSGに累積加算していく。これ
らの処理もCAM50の全ワードにわたって同時に処理
可能である。
Next, an accumulating process is performed. The luminance gradient value G is sequentially read out from the neighboring PEs along the spiral with the corresponding pixel at the center as the center, and transferred to the PE (X, Y). Cumulative addition to SG is performed within (X, Y). These processes can be simultaneously performed on all words of the CAM 50.

【0057】さらに、累積値の閾値判定処理も、CAM
50の全ワード並列の比較処理・更新処理により、全ワ
ード一斉に実行可能である。
Further, the threshold value judgment processing of the accumulated value is also performed by the CAM.
All 50 words can be simultaneously executed by parallel comparison / update processing of all words.

【0058】ブロックサイズ算出制御部44でのブロッ
クサイズの算出処理は、画素毎に得られた前記走査画素
数(または周回数)に基づき、ブロックサイズBSを求
めCAM50に記憶する。これも同様に全ワード一斉に
処理可能である。
In the process of calculating the block size in the block size calculation control unit 44, the block size BS is obtained based on the number of scanning pixels (or the number of rotations) obtained for each pixel and stored in the CAM 50. This can also be processed simultaneously for all words.

【0059】対応点探索処理部45は、前記求められた
画素毎のブロックサイズを用いて、左右画像間の対応点
探索処理を行う。具体的な方法としては、第1の実施形
態の初めに述べたようなブロックマッチングによる左右
画像間での画素同士の対応付け処理を行うものであれば
よい。すなわち、着目しているPE(X,Y)の対応す
る画素の近傍領域ブロックについて、左右画像間でブロ
ック同士の相関値を求め、最も相関度の高い画素同士を
対応付ける方法である。具体的には2次元PEアレイと
等価の構造を持つCAMでは、第1の実施形態と同様の
実施例を実現できる。
The corresponding point search processing section 45 performs a corresponding point search process between the left and right images by using the obtained block size of each pixel. As a specific method, any method may be used as long as the process of associating pixels between left and right images by block matching as described at the beginning of the first embodiment. In other words, this method is a method of obtaining a correlation value between blocks between left and right images for a neighboring area block of a pixel corresponding to a focused PE (X, Y), and associating pixels having the highest degree of correlation. Specifically, in a CAM having a structure equivalent to a two-dimensional PE array, an example similar to the first embodiment can be realized.

【0060】以上CAM50内での処理(輝度勾配算出
処理、らせん走査処理、ブロックサイズ算出処理、対応
点探索処理)は、いずれも全ワード、すなわち全画素に
おいて一斉に実行される。また、これらの処理はすべて
CAMのメモリ上で演算されるので、そのための専用の
演算器を持つ必要がなく、ハードウェア量も小さくでき
る。
The processes (luminance gradient calculation process, spiral scanning process, block size calculation process, corresponding point search process) in the CAM 50 are all executed simultaneously for all words, that is, for all pixels. In addition, since all of these processes are performed on the memory of the CAM, there is no need to have a dedicated arithmetic unit for that, and the amount of hardware can be reduced.

【0061】第4の実施形態 図10は本発明の第4の実施形態の三次元画像処理装置
の構成図である。
Fourth Embodiment FIG. 10 is a block diagram of a three-dimensional image processing apparatus according to a fourth embodiment of the present invention.

【0062】第1の実施形態では、予め全画素における
輝度勾配値を求め、その値を用いて累積処理を行ってい
たが、本装置では直接入力画像を用いて、以下の累積処
理、閾値判定処理などを行っていくものである。
In the first embodiment, the luminance gradient values of all the pixels are obtained in advance, and the accumulation processing is performed using the values. In this apparatus, however, the following accumulation processing and threshold determination are directly performed using the input image. Processing is performed.

【0063】画像入力部51、画像記憶部52、ブロッ
クサイズ算出部56、ブロックサイズ記憶部57、対応
点探索処理部58については、第1の実施形態の画像入
力部11、画像記憶部12、ブロックサイズ算出部1
6、ブロックサイズ記憶部17、対応点探索処理部18
と同様の動作をする。輝度勾配算出部は必要なく、らせ
ん走査処理部55の動作が第1の実施形態と少し異な
る。以下、本装置のらせん走査処理部55の動作につい
て説明する。
The image input unit 51, the image storage unit 52, the block size calculation unit 56, the block size storage unit 57, and the corresponding point search processing unit 58 are the same as those of the first embodiment. Block size calculator 1
6, block size storage unit 17, corresponding point search processing unit 18
Performs the same operation as. No luminance gradient calculation unit is required, and the operation of the spiral scanning processing unit 55 is slightly different from that of the first embodiment. Hereinafter, the operation of the spiral scan processing unit 55 of the present apparatus will be described.

【0064】らせん走査処理部55では、輝度勾配値と
して、着目画素値PE(X,Y)と走査中の対象画素値
PR(X+i,Y+j)の差分絶対値を求め、この値を
らせん走査しながら累積加算処理していく。閾値判定処
理については、第1の実施形態と同様で、予め定めた閾
値との比較処理により、閾値を超えたら走査をやめ、そ
のときまでの走査画素数(または周回数)を記憶する。
画素毎の輝度勾配値を予め求める必要がないので処理時
間が短縮できるとともに、輝度勾配値を記憶するメモリ
も必要なくなる。この方法、すなわち入力画素値の差分
絶対値を輝度勾配値の代わりに用いる方法では、着目画
素の近傍領域に輝度変化が少ない場合、走査画素数(ま
たは周回数)の値が大きくなり、また近傍領域の輝度変
化が大きい場合、値が小さくなるので、この値に比例し
た値としてブロックサイズを得ることができる。
The helical scanning processing unit 55 calculates the absolute difference between the pixel value of interest PE (X, Y) and the target pixel value PR (X + i, Y + j) as a luminance gradient value, and helically scans this value. While performing the cumulative addition process. As for the threshold determination process, as in the first embodiment, scanning is stopped when the threshold value is exceeded, and the number of scanning pixels (or the number of rotations) up to that point is stored by comparison with a predetermined threshold value.
Since it is not necessary to obtain a luminance gradient value for each pixel in advance, the processing time can be reduced, and a memory for storing the luminance gradient value is not required. In this method, that is, a method in which the absolute value of the difference between the input pixel values is used instead of the luminance gradient value, when the luminance change is small in the vicinity of the target pixel, the value of the number of scanning pixels (or the number of rotations) increases, and When the luminance change of the area is large, the value becomes small, so that the block size can be obtained as a value proportional to this value.

【0065】以上の第4の実施形態においては、第2、
第3の実施形態のようなPEアレイを用いた処理方法に
ついても容易に実現できる。
In the above fourth embodiment, the second,
The processing method using the PE array as in the third embodiment can be easily realized.

【0066】第5の実施形態 図11は、本発明の第5の実施形態の三次元画像処理装
置の構成図である。
Fifth Embodiment FIG. 11 is a block diagram of a three-dimensional image processing apparatus according to a fifth embodiment of the present invention.

【0067】第2、第3の実施形態では、処理ブロック
(PE)の数は画像の画素数と同じとしているが、1個
の処理ブロックPEが複数の近傍画素を処理する実施形
態も実現可能である。この場合、第2の実施形態では、
処理ブロックPEを説明する図5(b)の中で、データ
記憶部39’のワード数を、該処理ブロックPEが扱う
画素数に応じた数のワード数を持たせればよい。第3の
実施形態では、例えば1ワード(PE)で4画素を扱う
場合、画素数と同じにしていたワード数V(=NX×N
Y)を1/4(=V/4ワード)に減らし、1ワードの
ビット数を4倍に拡張すればよく、このとき、1ワード
内に格納される4つの画素のデータは逐次処理すればよ
い。近傍画素値の転送などが異なるが、隣接処理ブロッ
クからの転送処理の一部が処理ブロックPE内のデータ
記憶部からの読み出しに関わるだけであり、全体の構成
は図5(a)と同様で、容易に実現可能である。処理ブ
ロックPE(ワード)内では画素毎に逐次処理される
が、全処理ブロックPE(ワード)は一斉に処理を実行
することができる。第2、第3の実施形態よりも処理時
間が大きくなるが、ハードウェア量は削減できる。
In the second and third embodiments, the number of processing blocks (PE) is the same as the number of pixels of an image. However, an embodiment in which one processing block PE processes a plurality of neighboring pixels can be realized. It is. In this case, in the second embodiment,
In FIG. 5B illustrating the processing block PE, the number of words in the data storage unit 39 ′ may be set to have the number of words corresponding to the number of pixels handled by the processing block PE. In the third embodiment, for example, when four pixels are handled by one word (PE), the number of words V (= NX × N) is the same as the number of pixels.
Y) may be reduced to 1/4 (= V / 4 word), and the number of bits in one word may be extended by four times. At this time, the data of four pixels stored in one word may be sequentially processed. Good. Although the transfer of the neighboring pixel values is different, a part of the transfer processing from the adjacent processing block only relates to reading from the data storage unit in the processing block PE, and the overall configuration is the same as that of FIG. , Is easily feasible. Processing is performed sequentially for each pixel in the processing block PE (word), but all the processing blocks PE (word) can execute the processing at the same time. Although the processing time is longer than in the second and third embodiments, the amount of hardware can be reduced.

【0068】第6の実施形態 以上の実施形態では、らせん走査処理部では、着目画素
PE(X,Y)の近傍画素を走査する際に、PE(X,
Y)を中心としてらせん状に走査対象PEを変えつつ、
転送処理を行っていたが、本実施形態は、画素毎に近傍
領域の範囲を広げるのではなく、周回毎に(同心円上
に)広げる方法とする。
Sixth Embodiment In the embodiments described above, the helical scanning processing unit scans the neighboring pixels of the pixel of interest PE (X, Y) by using PE (X,
Y) While changing the scanning target PE in a spiral around the center,
Although the transfer processing is performed, the present embodiment employs a method of expanding the area (on a concentric circle) for each rotation, instead of expanding the range of the neighboring area for each pixel.

【0069】すなわち、図12で示したように、まず3
×3の領域について周囲の輝度勾配値の累積処理を行っ
てから、閾値判定処理を行う。次に、対象領域を5×5
に拡大してその周囲の輝度勾配値をそれまでの累積に続
けて累積処理し、その後閾値判定処理を行う。このよう
に走査の対象画素領域を拡大させながら走査処理を行う
方法である。これにより、閾値判定処理の回数は、前述
までの実施形態の場合に比べて削減できる。
That is, as shown in FIG.
After performing a process of accumulating surrounding luminance gradient values for the × 3 region, a threshold determination process is performed. Next, the target area is 5 × 5
Then, the surrounding luminance gradient value is subjected to accumulation processing following the accumulation up to that point, and then threshold value determination processing is performed. In this manner, the scanning process is performed while enlarging the scanning target pixel region. As a result, the number of times of the threshold determination process can be reduced as compared with the above-described embodiments.

【0070】第7の実施形態 また、第2、第3の実施形態のようなPEアレイを用い
た場合において、第6の実施形態の走査処理を実行した
場合、累積処理の際に、図13で示すような近傍処理ブ
ロックからのデータ転送手順を行うことにより、累積処
理の処理数を削減できる方法が考えられる。
Seventh Embodiment In the case where the PE array as in the second and third embodiments is used, when the scanning processing of the sixth embodiment is executed, By performing the data transfer procedure from the neighboring processing block as shown by (1), a method that can reduce the number of processes of the accumulation process can be considered.

【0071】図13は、3×3のときの累積処理におい
て、周回して走査するのではなく、まず上下の転送と累
積処理を行い(図13(1)、(2))、次にその値を
用いて左右の転送と累積処理(図13(3)、(4))
を行うことにより、1周回上の全画素について中心の着
目画素の処理ブロックPEへの転送と累積処理を行うこ
とができる。このとき、上下転送と左右転送を全処理ブ
ロックPEに対して一斉に同じ処理を行うことにより、
全処理ブロックPE(画素)に対する近傍の走査処理は
一斉に実行でき、その際の転送回数と累積処理回数を削
減することができる。5×5以上の任意のサイズの場合
の累積処理に対する手順も、容易に実現可能である。
FIG. 13 shows that, in the accumulation processing at the time of 3 × 3, instead of scanning while rotating, upper and lower transfer and accumulation processing are performed first (FIGS. 13 (1) and (2)), and then Left and right transfer and accumulation processing using values (FIGS. 13 (3) and (4))
Is performed, the transfer of the center pixel of interest to the processing block PE and the accumulation processing can be performed for all the pixels on one round. At this time, the same processing is performed for all processing blocks PE in the vertical transfer and the horizontal transfer at the same time,
Neighboring scanning processing for all processing blocks PE (pixels) can be executed simultaneously, and the number of transfers and the number of cumulative processing at that time can be reduced. The procedure for the accumulation process for an arbitrary size of 5 × 5 or more can be easily realized.

【0072】なお、以上に示した各実施形態の三次元画
像処理装置の各部の処理は、三次元画像処理プログラム
として、フロッピィディスク、CD−ROM、光磁気デ
ィスクなどの記録媒体に記録しておき、パソコンなどの
コンピュータ上で実行することもできる。
The processing of each unit of the three-dimensional image processing apparatus of each embodiment described above is recorded as a three-dimensional image processing program on a recording medium such as a floppy disk, CD-ROM, or magneto-optical disk. It can also be executed on a computer such as a personal computer.

【0073】[0073]

【発明の効果】以上述べたように、本発明は下記のよう
な効果がある。
As described above, the present invention has the following effects.

【0074】1)請求項3の発明は、画素毎に最適なブ
ロックサイズを求めてステレオマッチングできるため、
輝度変化が大きい近傍ブロック領域を持つ画素にはブロ
ックサイズを小さく、輝度変化の少ない近傍ブロック領
域を持つ画素にはブロックサイズを大きくすることによ
り、視差推定の精度を向上させることができる。また、
画素毎の最適なブロックサイズを先にすべて求めてか
ら、決定したブロックサイズを用いてステレオマッチン
グによる視差推定処理を行うため、1個の画素に対して
複数のブロックサイズの場合に対する複数回の視差推定
処理を行う必要がなく、処理時間を短くすることができ
る。
1) According to the third aspect of the invention, stereo matching can be performed by obtaining an optimum block size for each pixel.
The accuracy of parallax estimation can be improved by reducing the block size for pixels having a nearby block region with a large change in luminance and increasing the block size for pixels having a nearby block region with a small change in luminance. Also,
Since the optimal block size for each pixel is first obtained, and then the disparity estimation process is performed by stereo matching using the determined block size, multiple parallaxes for one pixel in a case of multiple block sizes are performed. There is no need to perform an estimation process, and the processing time can be shortened.

【0075】2)請求項1と4の発明は、1)記載の効
果に加え、最適なブロックサイズは、輝度勾配の累積値
をらせん走査しながら求めるため、1回のらせん走査処
理で求めることができ、処理時間を短くすることができ
る。また、最適なブロックサイズは、近傍画素の輝度勾
配の累積処理だけで求めるため、複数のブロックサイズ
に対する複数回の視差推定処理や信頼性評価値算出など
の複雑な演算を行う必要がなく、処理時間を短くするこ
とができる。また、ブロックサイズを求める際には演算
量の大きい視差推定処理は行わないため、処理対象とす
るブロックサイズの種類を間引かずに、大きな演算量な
しで最適なブロックサイズを決定することができる。
2) According to the first and fourth aspects of the present invention, in addition to the effect described in 1), since the optimum block size is determined while performing the spiral scanning of the cumulative value of the luminance gradient, it is determined by one spiral scanning process. And the processing time can be shortened. In addition, since the optimal block size is obtained only by the process of accumulating the luminance gradient of the neighboring pixels, there is no need to perform complicated calculations such as a plurality of parallax estimating processes and calculating a reliability evaluation value for a plurality of block sizes. Time can be shortened. Further, when calculating the block size, the parallax estimation processing with a large amount of calculation is not performed, so that the optimal block size can be determined without a large amount of calculation without thinning out the types of block sizes to be processed. .

【0076】3)請求項5の発明は、処理ブロックを第
1の画像の1画素毎または複数の画素毎に有し、全処理
ブロック間で近傍画素値を一斉に転送可能な転送パスを
備えているため、全画素にわたって逐次的に処理を行う
必要がなく、全処理ブロック一斉に処理を実行可能であ
り、処理時間を短くすることができる。
3) The invention according to claim 5 is provided with a transfer path having a processing block for each pixel or a plurality of pixels of the first image, and capable of simultaneously transferring neighboring pixel values among all the processing blocks. Therefore, it is not necessary to perform the processing sequentially for all the pixels, the processing can be executed simultaneously for all the processing blocks, and the processing time can be shortened.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施形態の三次元画像処理装置
の構成図である。
FIG. 1 is a configuration diagram of a three-dimensional image processing apparatus according to a first embodiment of the present invention.

【図2】本発明の第1の実施形態における対応点探索方
法を説明する図である。
FIG. 2 is a diagram illustrating a corresponding point search method according to the first embodiment of the present invention.

【図3】本発明の第1の実施形態におけるブロックサイ
ズを画素毎に変更する説明図である。
FIG. 3 is an explanatory diagram for changing a block size for each pixel according to the first embodiment of the present invention.

【図4】本発明の第1の実施形態におけるらせん走査を
説明する図である。
FIG. 4 is a diagram for explaining spiral scanning in the first embodiment of the present invention.

【図5】本発明の第2の実施形態の三次元画像処理装置
の構成図である。
FIG. 5 is a configuration diagram of a three-dimensional image processing apparatus according to a second embodiment of the present invention.

【図6】本発明の第2の実施形態における輝度勾配算出
のためのフィルタを説明する図である。
FIG. 6 is a diagram illustrating a filter for calculating a luminance gradient according to a second embodiment of the present invention.

【図7】本発明の第3の実施形態の三次元画像処理装置
の構成図である。
FIG. 7 is a configuration diagram of a three-dimensional image processing apparatus according to a third embodiment of the present invention.

【図8】本発明の第3の実施形態における画像とCAM
ワードの関係を説明する図である。
FIG. 8 shows an image and a CAM according to a third embodiment of the present invention.
It is a figure explaining the relation of a word.

【図9】本発明の第3の実施形態におけるCAMの並列
処理例を説明する図である。
FIG. 9 is a diagram illustrating an example of parallel processing of a CAM according to a third embodiment of the present invention.

【図10】本発明の第4の実施形態の三次元画像処理装
置の構成図である。
FIG. 10 is a configuration diagram of a three-dimensional image processing apparatus according to a fourth embodiment of the present invention.

【図11】本発明の第5の実施形態の三次元画像処理装
置の構成図である。
FIG. 11 is a configuration diagram of a three-dimensional image processing apparatus according to a fifth embodiment of the present invention.

【図12】本発明の第6の実施形態を説明する図であ
る。
FIG. 12 is a diagram illustrating a sixth embodiment of the present invention.

【図13】本発明の第7の実施形態を説明する図であ
る。
FIG. 13 is a diagram illustrating a seventh embodiment of the present invention.

【符号の説明】[Explanation of symbols]

101 ,102 カメラ 11,51 画像入力部 12,52 画像記憶部 13 輝度勾配算出部 14 輝度勾配画像記憶部 15,55 らせん走査処理部 16,56 ブロックサイズ算出部 17,57 ブロックサイズ記憶部 18,58 対応点探索処理部 20 PE処理アレイ部 21,41 画像入力初期化部 22,42 輝度勾配算出制御部 23,43 らせん走査処理制御部 24,44 ブロックサイズ算出制御部 25,45 対応点探索処理制御部 30 処理ブロック 31 制御命令受信部 32 データ受信部 33 輝度勾配演算部 34 輝度勾配値累積処理部 35 累積値閾値判定処理部 36 ブロックサイズ算出部 37 対応点探索処理部 38 データ送信部 39,39’ データ記憶部 40 転送パス 50 連想メモリ(CAM)10 1 , 10 2 Camera 11, 51 Image input unit 12, 52 Image storage unit 13 Brightness gradient calculation unit 14 Brightness gradient image storage unit 15, 55 Spiral scan processing unit 16, 56 Block size calculation unit 17, 57 Block size storage unit 18, 58 corresponding point search processing unit 20 PE processing array unit 21, 41 image input initialization unit 22, 42 luminance gradient calculation control unit 23, 43 spiral scanning processing control unit 24, 44 block size calculation control unit 25, 45 corresponding point Search processing control unit 30 Processing block 31 Control command receiving unit 32 Data receiving unit 33 Luminance gradient calculation unit 34 Luminance gradient value accumulation processing unit 35 Cumulative value threshold determination processing unit 36 Block size calculation unit 37 Corresponding point search processing unit 38 Data transmission unit 39, 39 'Data storage unit 40 Transfer path 50 Content addressable memory (CAM)

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 2F065 AA04 AA53 DD06 DD07 FF05 JJ03 JJ05 JJ26 MM00 QQ08 QQ13 QQ14 QQ24 QQ29 QQ31 QQ36 QQ38 QQ42 UU06 2F112 AC06 BA05 CA08 FA03 FA09 FA21 FA27 FA29 FA35 FA38 FA41 FA45 5B050 DA07 EA04 EA07 EA18 5B057 CH11 DA07 DB03 DC22 DC32 ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 2F065 AA04 AA53 DD06 DD07 FF05 JJ03 JJ05 JJ26 MM00 QQ08 QQ13 QQ14 QQ24 QQ29 QQ31 QQ36 QQ38 QQ42 UU06 2F112 AC06 BA05 CA08 FA03 FA09 FA21 FA27 FA29 FA35 FA04 EA07 FA41 FA41 5B057 CH11 DA07 DB03 DC22 DC32

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 異なる視点から撮られた複数枚の画像を
入力とし、第1の画像の各画素について、第1の画像を
除く画像中の最も相応する画素位置を探索し、それらの
画素位置の差分を視差情報として抽出し、該視差情報か
ら距離画像を得る三次元画像処理方法において、 各画素毎に輝度勾配を求める段階と、 画素毎に該画素近傍の前記輝度勾配の累積値を、らせん
状もしくは同心円状に画素を走査して求める段階と、 前記累積値を、走査した画素数もしくはらせん走査の周
回数を基に正規化する段階と、 前記正規化した値から閾値判定によりブロックサイズを
求める段階とを有することを特徴とする三次元画像処理
方法。
1. A plurality of images taken from different viewpoints are input, and for each pixel of a first image, the most corresponding pixel position in an image excluding the first image is searched for, and the pixel positions are searched for. In the three-dimensional image processing method for extracting a difference between the two as parallax information and obtaining a distance image from the parallax information, a step of obtaining a luminance gradient for each pixel; and for each pixel, a cumulative value of the luminance gradient near the pixel is calculated by: Scanning the pixels in a spiral or concentric manner; obtaining the accumulated value; normalizing the accumulated value based on the number of pixels scanned or the number of turns of the spiral scan; and Determining a three-dimensional image processing method.
【請求項2】 前記輝度勾配として、着目画素の画素値
と走査中の対象画素の画素値の差分絶対値和を求める、
請求項1記載の方法。
2. A method for calculating a sum of absolute differences between a pixel value of a pixel of interest and a pixel value of a target pixel being scanned, as the luminance gradient,
The method of claim 1.
【請求項3】 異なる視点から撮られた複数枚の画像を
入力とし、第1の画像の各画素について、第1の画像を
除く画像中の最も相応する画素位置を探索し、それらの
画素位置の差分を視差情報として抽出し、該視差情報か
ら距離画像を得る三次元画像処理装置において、 輝度分布から求める評価値に基づき、当該画素の対応点
探索に用いるブロックサイズを決定する手段と、 画素毎に別々に求めたブロックサイズを用いて画像間で
ブロックマッチングにより対応点探索を行う手段を有す
ることを特徴とする三次元画像処理装置。
3. A plurality of images taken from different viewpoints are input, and for each pixel of the first image, the most corresponding pixel position in the image excluding the first image is searched for, and the pixel positions are searched. A three-dimensional image processing apparatus that extracts a difference between the two as parallax information and obtains a distance image from the parallax information, wherein a means for determining a block size used for searching for a corresponding point of the pixel based on an evaluation value obtained from a luminance distribution; A three-dimensional image processing apparatus, comprising: means for performing a corresponding point search by block matching between images using a block size obtained separately for each image.
【請求項4】 前記ブロックサイズを決定する手段が、
画素毎に輝度勾配を求める手段と、画素毎に該画素近傍
の前記輝度勾配の累積値を、らせん状もしくは同心円状
に画素を走査して求める手段と、前記累積値を、走査し
た画素数もしくはらせん走査の周回数を基に正規化する
手段と、前記正規化した値から閾値判定によりブロック
サイズを求める手段とを有する、請求項3記載の三次元
画像処理装置。
4. The means for determining the block size comprises:
Means for calculating a luminance gradient for each pixel, means for calculating the cumulative value of the luminance gradient in the vicinity of the pixel for each pixel by scanning pixels spirally or concentrically, and means for calculating the cumulative number of pixels or 4. The three-dimensional image processing apparatus according to claim 3, further comprising: means for normalizing based on the number of times of helical scanning, and means for obtaining a block size by threshold determination from the normalized value.
【請求項5】 画素毎に輝度勾配を求める手段と、画素
毎に該画素近傍の前記輝度勾配の累積値を、らせん状も
しくは同心円状に画素を走査して求める手段と、前記累
積値を、走査した画素数もしくはらせん走査の周回数を
基に正規化する手段と、前記正規化した値から閾値判定
によりブロックサイズを求める手段とを含む処理ブロッ
クを第1の画像の1画素毎または複数の画素毎に有し、 前記輝度勾配を求める際、および該輝度勾配の累積値を
らせん状もしくは同心円状に走査して求める際に、全処
理ブロック間で近傍画素値を一斉に転送可能な、前記処
理ブロック間の転送パスを有する、請求項4記載の三次
元画像処理装置。
5. A means for calculating a luminance gradient for each pixel, a means for calculating a cumulative value of the luminance gradient in the vicinity of the pixel by scanning pixels in a spiral or concentric manner for each pixel, and calculating the cumulative value: A processing block including means for normalizing based on the number of scanned pixels or the number of revolutions of spiral scanning, and means for obtaining a block size by threshold determination from the normalized value, for each pixel of the first image or a plurality of processing blocks. Having for each pixel, when determining the luminance gradient, and when calculating the cumulative value of the luminance gradient by scanning spirally or concentrically, it is possible to simultaneously transfer neighboring pixel values between all processing blocks, The three-dimensional image processing apparatus according to claim 4, further comprising a transfer path between processing blocks.
【請求項6】 前記処理ブロックおよび転送パスとして
連想メモリを有する、請求項5記載の装置。
6. The apparatus according to claim 5, comprising an associative memory as said processing block and transfer path.
【請求項7】 異なる視点から撮られた複数枚の画像を
入力し、第1の画像の各画素について、第1の画像を除
く画像中の最も相応する画素位置を探索し、それらの画
素位置の差分を視差情報として抽出し、該視差情報から
距離画像を得る三次元画像処理装置であって、 前記複数枚の画像を入力する手段と、 前記複数枚の各画素毎に輝度勾配を求める手段と、 画素毎に該画素近傍の前記輝度勾配の累積値を、らせん
状もしくは同心円状に画素を走査して求める手段と、 前記累積値を、走査した画素数もしくはらせん走査の周
回数を基に正規化する手段と、 前記正規化した値から閾値判定によりブロックサイズを
求める手段と、 求められた画素毎のブロックサイズを用いて、第1の画
像と他の画像の対応点探索処理を行い、視差情報を抽出
し、距離画像を出力する手段を有する三次元画像処理装
置。
7. A plurality of images taken from different viewpoints are inputted, and for each pixel of the first image, the most corresponding pixel position in the image excluding the first image is searched for, and the pixel positions are searched. A three-dimensional image processing apparatus that extracts a difference between the two images as parallax information and obtains a distance image from the parallax information, the unit that inputs the plurality of images, and the unit that obtains a luminance gradient for each of the plurality of pixels. Means for determining, for each pixel, the cumulative value of the luminance gradient in the vicinity of the pixel by scanning the pixels in a spiral or concentric manner; and determining the cumulative value based on the number of scanned pixels or the number of times of spiral scanning. Means for normalizing, means for obtaining a block size by threshold determination from the normalized value, and using the obtained block size for each pixel, perform a corresponding point search process between the first image and another image, Extract parallax information And a three-dimensional image processing apparatus having means for outputting a distance image.
【請求項8】 第1の画像と他の画像を入力し、第1の
画像と他の画像間で画素同士の対応付けを行い、画素毎
の視差情報を得ることにより、距離画像を出力する三次
元画像処理装置であって、 第1の画像の画素データを記憶するメモリ、他の画像の
画素データを記憶するメモリ、当該画素の輝度勾配値を
記憶するメモリ、輝度勾配値の累積値を記憶するメモ
リ、ブロックサイズを記憶するメモリ、視差情報を記憶
するメモリを含むデータ記憶部と、隣接する処理ブロッ
クからデータを受け取り、前記データ記憶部に格納する
データ受信部と、各画素の輝度勾配を算出し、前記デー
タ記憶部に格納する輝度勾配演算部と、輝度勾配値の累
積処理を行い、前記データ記憶部に格納する輝度勾配値
累積処理部と、輝度勾配値が閾値を越えたかどうか判定
する累積値閾値判定部と、画素毎に得られた走査画素数
または周回数に基づき画素毎に最適なブロックサイズを
算出し、前記データ記憶部に格納するブロックサイズ算
出部と、画素毎の求められたブロックサイズを求めて、
第1の画像と他の画像間の対応点探索処理を行う対応点
探索処理部と、処理ブロック内で転送が必要なデータを
隣接する1個の処理ブロックに転送するデータ送信部
と、命令を受信し、該命令に応じて前記データ受信部、
前記輝度勾配演算部、前記輝度勾配累積処理部、前記累
積値閾値判定処理部、前記ブロックサイズ算出部、前記
対応点探索処理部、前記データ送信部のいずれかを起動
する命令受信部を含む処理ブロックが前記画像データの
各画素に対応して配列されたPEアレイ処理部と、 入力された第1の画像と他の画像の画素データを対応す
る処理ブロックのデータ受信部に送信するとともに、デ
ータ格納を指示する命令を対応する処理ブロックの命令
受信部に送信する画像入力初期化部と、 全処理ブロックの命令受信部に対して、前記輝度勾配演
算部を起動する命令を出す輝度勾配算出制御部と、 らせん状もしくは同心円状に画素を走査しながら、全処
理ブロックの命令受信部に対して、前記輝度勾配値累積
処理部、前記累積値閾値判定処理部を起動する命令を出
すらせん走査処理制御部と、 全処理ブロックの命令受信部に対して、前記ブロックサ
イズ算出部を起動する命令を出すブロックサイズ算出制
御部と、 全処理ブロックの命令受信部に対して、前記対応点探索
処理部を起動する命令を出す対応点探索処理制御部とを
有する三次元画像処理装置。
8. A distance image is output by inputting a first image and another image, associating pixels between the first image and the other image, and obtaining parallax information for each pixel. A three-dimensional image processing apparatus, comprising: a memory that stores pixel data of a first image, a memory that stores pixel data of another image, a memory that stores a luminance gradient value of the pixel, and a memory that stores a cumulative value of the luminance gradient value. A data storage unit including a memory for storing, a memory for storing a block size, and a memory for storing disparity information; a data receiving unit for receiving data from an adjacent processing block and storing the data in the data storage unit; and a luminance gradient of each pixel. And a luminance gradient calculation unit that stores the luminance gradient value in the data storage unit, performs a luminance gradient value accumulation process, and stores a luminance gradient value accumulation processing unit that stores the luminance gradient value in the data storage unit. A cumulative value threshold determining unit for determining, a block size calculating unit that calculates an optimal block size for each pixel based on the number of scanning pixels or the number of rotations obtained for each pixel, and stores the block size in the data storage unit; Find the required block size,
A corresponding point search processing unit that performs a corresponding point search process between the first image and another image, a data transmission unit that transfers data that needs to be transferred within a processing block to one adjacent processing block, Receiving, in response to the command, the data receiving unit,
Processing including an instruction receiving unit that starts one of the luminance gradient calculation unit, the luminance gradient accumulation processing unit, the accumulated value threshold determination processing unit, the block size calculation unit, the corresponding point search processing unit, and the data transmission unit A PE array processing unit in which blocks are arranged corresponding to the respective pixels of the image data, and transmitting the input pixel data of the first image and the other image to the data receiving unit of the corresponding processing block; An image input initializing unit that transmits a command to instruct storage to a command receiving unit of a corresponding processing block; and a brightness gradient calculation control that issues a command to start the brightness gradient calculating unit to the command receiving units of all processing blocks. While scanning pixels spirally or concentrically with the unit, the luminance gradient value accumulating unit and the accumulated value threshold judging unit are activated for the command receiving units of all processing blocks. A spiral scan processing control unit that issues an instruction to execute the command, a block size calculation control unit that issues an instruction to activate the block size calculation unit to an instruction reception unit of all processing blocks, and a command reception unit of all processing blocks. A three-dimensional image processing apparatus having a corresponding point search processing control unit for issuing an instruction to start the corresponding point search processing unit.
【請求項9】 第1の画像と他の画像を入力し、第1の
画像と他の画像間で画素同士の対応付けを行い、画素毎
の視差情報を得ることにより、距離画像を出力する三次
元画像処理装置であって、 画像の画素数と同じワード数を有し、各ワードに第1の
画像の画素データ、他の画像の画素データ、輝度勾配
値、輝度勾配値累積値、ブロックサイズ、視差情報を格
納する連想メモリと、 入力された第1の画像と他の画像の画素データを前記連
想メモリに格納する画像入力初期化部と、 画素毎に輝度勾配を求め、前記連想メモリに格納する輝
度勾配算出制御部と、 当該処理ブロックの対応する画素を中心としたらせん状
に沿った近傍処理ブロックについて順次、輝度勾配値を
読み出し、前記連想メモリへ転送し、前記連想メモリ内
で前記輝度勾配累積値に加算するらせん走査処理制御部
と、 画素毎に得られた走査画素数または周回数に基づきブロ
ックサイズを求め、前記連想メモリに格納するブロック
サイズ算出制御部と、 前記求められた画素毎のブロックサイズを求めて、第1
の画像と他の画像間の対応点探索処理を行う対応点探索
処理制御部を有する三次元画像処理装置。
9. A distance image is output by inputting a first image and another image, associating pixels between the first image and the other image, and obtaining parallax information for each pixel. A three-dimensional image processing apparatus, wherein each word has the same number of words as the number of pixels of an image, and each word includes pixel data of a first image, pixel data of another image, a luminance gradient value, a cumulative luminance gradient value, and a block. An associative memory for storing size and disparity information; an image input initialization unit for storing pixel data of the input first image and other images in the associative memory; a luminance gradient for each pixel; And a luminance gradient calculation control unit that stores the luminance gradient value sequentially for the neighboring processing blocks along the spiral with the corresponding pixel of the processing block as the center, and transfers the luminance gradient value to the associative memory. The brightness gradient A spiral scanning processing control unit for adding to the product value; a block size calculation control unit for obtaining a block size based on the number of scanning pixels or the number of rotations obtained for each pixel and storing the block size in the associative memory; Find the block size of
A three-dimensional image processing apparatus having a corresponding point search processing control unit that performs a corresponding point search process between an image of the image and another image.
【請求項10】 異なる視点から撮られた複数枚の画像
を入力し、第1の画像の各画素について、第1の画像を
除く画像中の最も相応する画素位置を探索し、それらの
画素位置の差分を視差情報として抽出し、該視差情報か
ら距離情報を得る三次元画像処理プログラムであって、 前記複数枚の画像を入力する処理と、 前記複数枚の各画素毎に輝度勾配を求める処理と、 画素毎に該画素近傍の前記輝度勾配の累積値を、らせん
状もしくは同心円状に画素を走査して求める処理と、 前記累積値を、走査した画素数もしくはらせん走査の周
回数を基に正規化する処理と、 前記正規化した値から閾値判定によりブロックサイズを
求める処理と、 求められた画素毎のブロックサイズを用いて、第1の画
像と他の画像の対応点探索処理を行い、視差情報を抽出
し、距離画像を出力する処理をコンピュータに実行させ
るための三次元画像処理プログラムを記録した記録媒
体。
10. A plurality of images taken from different viewpoints are input, and for each pixel of the first image, the most corresponding pixel position in the image excluding the first image is searched for, and the pixel positions are searched. A three-dimensional image processing program for extracting a difference between the two images as disparity information and obtaining distance information from the disparity information, wherein: a process of inputting the plurality of images; and a process of calculating a luminance gradient for each of the plurality of pixels A process of obtaining the cumulative value of the luminance gradient in the vicinity of the pixel for each pixel by scanning the pixels spirally or concentrically; and calculating the cumulative value based on the number of pixels scanned or the number of times of spiral scanning. Normalizing processing, obtaining a block size by threshold determination from the normalized value, and using the obtained block size of each pixel, perform a corresponding point search processing between the first image and another image, Parallax information Recording medium for recording a three-dimensional image processing program for causing a computer to execute a process of extracting a distance and outputting a distance image.
【請求項11】 第1の画像と他の画像を入力し、第1
の画像と他の画像間で画素同士の対応付けを行い、画素
毎の視差情報を得ることにより、距離画像を出力する三
次元画像処理プログラムであって、 第1の画像の画素データを記憶するメモリ、他の画像の
画素データを記憶するメモリ、当該画素の輝度勾配値を
記憶するメモリ、輝度勾配値の累積値を記憶するメモ
リ、ブロックサイズを記憶するメモリ、視差情報を記憶
するメモリを含むデータ記憶部と、隣接する処理ブロッ
クからデータを受け取り、前記データ記憶部に格納する
データ受信部と、各画素の輝度勾配を算出し、前記デー
タ記憶部に格納する輝度勾配演算部と、輝度勾配値の累
積処理を行い、前記データ記憶部に格納する輝度勾配値
累積処理部と、輝度勾配値が閾値を越えたかどうか判定
する累積値閾値判定部と、画素毎に得られた走査画素数
または周回数に基づき画素毎に最適なブロックサイズを
算出し、前記データ記憶部に格納するブロックサイズ算
出部と、画素毎の求められたブロックサイズを求めて、
第1の画像と他の画像間の対応点探索処理を行う対応点
探索処理部と、処理ブロック内で転送が必要なデータを
隣接する1個の処理ブロックに転送するデータ送信部
と、命令を受信し、該命令に応じて前記データ受信部、
前記輝度勾配演算部、前記輝度勾配値累積処理部、前記
累積値閾値判定処理部、前記データ送信部のいずれかを
起動する命令受信部を含む処理ブロックが前記画像デー
タの各画素に対応して配列されたPEアレイ処理部と、 入力された第1の画像と他の画像の画素データを対応す
る処理ブロックのデータ受信部に送信するとともに、デ
ータ格納を指示する命令を対応する処理ブロックの命令
受信部に送信する画像入力初期化処理と、 全処理ブロックの命令受信部に対して、前記輝度勾配演
算部を起動する命令を出す輝度勾配算出処理と、 らせん状もしくは同心円状に画素を走査しながら、全処
理ブロックの命令受信部に対して、前記輝度勾配値累積
処理部、前記累積値閾値判定処理部を起動する命令を出
すらせん走査処理と、 全処理ブロックの命令受信部に対して、前記ブロックサ
イズ算出部を起動する命令を出すブロックサイズ算出処
理と、 全処理ブロックの命令受信部に対して、前記対応点探索
処理部を起動する命令を出す対応点探索処理をコンピュ
ータに実行させるための三次元画像処理プログラムを記
録した記録媒体。
11. A first image and another image are input, and a first image is input.
A three-dimensional image processing program that outputs a distance image by associating pixels between an image of the image and another image and obtaining parallax information for each pixel, and stores pixel data of a first image A memory that stores pixel data of another image, a memory that stores a luminance gradient value of the pixel, a memory that stores a cumulative value of the luminance gradient value, a memory that stores a block size, and a memory that stores parallax information A data storage unit, a data receiving unit that receives data from an adjacent processing block and stores the data in the data storage unit, calculates a luminance gradient of each pixel, and stores the luminance gradient in the data storage unit; A luminance gradient value accumulating unit that performs a value accumulating process and stores the luminance gradient value in the data storage unit; a cumulative value threshold value determining unit that determines whether the luminance gradient value exceeds a threshold value; Calculate the optimal block size for each pixel based on the number of scan pixels or the number of rotations, and calculate the block size calculation unit to be stored in the data storage unit and the block size obtained for each pixel,
A corresponding point search processing unit that performs a corresponding point search process between the first image and another image, a data transmission unit that transfers data that needs to be transferred within a processing block to one adjacent processing block, Receiving, in response to the command, the data receiving unit,
The processing block including the luminance gradient calculation unit, the luminance gradient value accumulation processing unit, the cumulative value threshold determination processing unit, and a command receiving unit that activates one of the data transmission units corresponds to each pixel of the image data. An arrayed PE array processing unit, which transmits the input pixel data of the first image and the other image to the data receiving unit of the corresponding processing block, and issues a data storage instruction to the corresponding processing block instruction. An image input initialization process to be transmitted to the receiving unit; a luminance gradient calculating process for issuing a command to start the luminance gradient calculating unit to the command receiving units of all the processing blocks; and scanning pixels in a spiral or concentric manner. A spiral scanning process for issuing an instruction to activate the luminance gradient value accumulating unit and the accumulative value threshold value judging unit to the instruction receiving units of all the processing blocks; Block size calculation processing for issuing a command to start the block size calculation section to the command reception section of the block, and issuing a command to start the corresponding point search processing section to the command reception sections of all processing blocks. A recording medium that stores a three-dimensional image processing program for causing a computer to execute a point search process.
【請求項12】 第1の画像と他の画像を入力し、第1
の画像と他の画像間で画素同士の対応付けを行い、画素
毎の視差情報を得ることにより、距離画像を出力する三
次元画像処理プログラムであって、 画像の画素数と同じワード数を有し、各ワードに第1の
画像の画素データ、他の画像の画素データ、輝度勾配
値、輝度勾配累積値、ブロックサイズ、視差情報を格納
する連想メモリに、入力された第1の画像と他の画像の
画素データを格納する画像入力初期化処理と、 画素毎に輝度勾配を求め、前記連想メモリに格納する輝
度勾配算出処理と、 当該処理ブロックの対応する画素を中心としたらせん状
に沿った近傍処理ブロックについて順次、輝度勾配値を
読み出し、前記連想メモリへ転送し、前記連想メモリ内
で前記輝度勾配累積値を加算するらせん走査処理と、 画素毎に得られた走査画素数または周回数に基づきブロ
ックサイズを求め、前記連想メモリに格納するブロック
サイズ算出処理と、 前記求められた画素毎のブロックサイズを求めて、第1
の画像と他の画像間の対応点探索処理を行う対応点探索
処理をコンピュータに実行させるための三次元画像処理
プログラムを記録した記録媒体。
12. A first image and another image are input, and a first image is input.
This is a three-dimensional image processing program that outputs a distance image by associating pixels between an image and another image and obtaining disparity information for each pixel, and has the same number of words as the number of pixels of the image. The associative memory stores the pixel data of the first image, the pixel data of another image, the luminance gradient value, the cumulative value of the luminance gradient, the block size, and the disparity information in each word. Image input initialization processing for storing the pixel data of the image, luminance gradient calculation processing for obtaining a luminance gradient for each pixel, and storing the luminance gradient in the associative memory; and spiral processing centering on the corresponding pixel of the processing block. Helical scanning processing for sequentially reading out the luminance gradient values of the neighboring processing blocks, transferring the luminance gradient values to the associative memory, and adding the luminance gradient accumulated value in the associative memory; and the number of scanning pixels obtained for each pixel. Alternatively, a block size is calculated based on the number of revolutions, and a block size calculation process for storing the block size in the associative memory;
The recording medium which recorded the three-dimensional image processing program for making a computer perform the corresponding point search process which performs the corresponding point search process between the image of this and another image.
JP26211299A 1999-09-16 1999-09-16 Three-dimensional image processing method and apparatus, and recording medium storing three-dimensional image processing program Expired - Fee Related JP3524826B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26211299A JP3524826B2 (en) 1999-09-16 1999-09-16 Three-dimensional image processing method and apparatus, and recording medium storing three-dimensional image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26211299A JP3524826B2 (en) 1999-09-16 1999-09-16 Three-dimensional image processing method and apparatus, and recording medium storing three-dimensional image processing program

Publications (2)

Publication Number Publication Date
JP2001082927A true JP2001082927A (en) 2001-03-30
JP3524826B2 JP3524826B2 (en) 2004-05-10

Family

ID=17371217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26211299A Expired - Fee Related JP3524826B2 (en) 1999-09-16 1999-09-16 Three-dimensional image processing method and apparatus, and recording medium storing three-dimensional image processing program

Country Status (1)

Country Link
JP (1) JP3524826B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031423A (en) * 2004-07-16 2006-02-02 Sony Corp Image processing method and image processor
JP2007205767A (en) * 2006-01-31 2007-08-16 Nippon Telegr & Teleph Corp <Ntt> Three-dimensional coordinate measuring device and method
JP2009140243A (en) * 2007-12-06 2009-06-25 Seiko Epson Corp Image processing program and image processor
JP2009141790A (en) * 2007-12-07 2009-06-25 Seiko Epson Corp Image processing program and image processor
US7623700B2 (en) 2002-09-27 2009-11-24 Fuji Jukogyo Kabushiki Kaisha Stereoscopic image processing apparatus and the method of processing stereoscopic images
WO2014069196A1 (en) * 2012-10-29 2014-05-08 日立オートモティブシステムズ株式会社 Stereo image processing device and stereo image processing method
WO2016129875A1 (en) * 2015-02-10 2016-08-18 (주)쓰리디랩스 Method for extracting corresponding point from stereo image
WO2021177163A1 (en) * 2020-03-05 2021-09-10 ファナック株式会社 Three-dimensional measurement device which generates position information for surface of object from image captured by multiple cameras

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7623700B2 (en) 2002-09-27 2009-11-24 Fuji Jukogyo Kabushiki Kaisha Stereoscopic image processing apparatus and the method of processing stereoscopic images
JP2006031423A (en) * 2004-07-16 2006-02-02 Sony Corp Image processing method and image processor
JP4608978B2 (en) * 2004-07-16 2011-01-12 ソニー株式会社 Image processing method and image processing apparatus
JP4651550B2 (en) * 2006-01-31 2011-03-16 日本電信電話株式会社 Three-dimensional coordinate measuring apparatus and method
JP2007205767A (en) * 2006-01-31 2007-08-16 Nippon Telegr & Teleph Corp <Ntt> Three-dimensional coordinate measuring device and method
JP2009140243A (en) * 2007-12-06 2009-06-25 Seiko Epson Corp Image processing program and image processor
JP2009141790A (en) * 2007-12-07 2009-06-25 Seiko Epson Corp Image processing program and image processor
WO2014069196A1 (en) * 2012-10-29 2014-05-08 日立オートモティブシステムズ株式会社 Stereo image processing device and stereo image processing method
JP2014089498A (en) * 2012-10-29 2014-05-15 Hitachi Automotive Systems Ltd Stereo image processing apparatus and stereo image processing method
WO2016129875A1 (en) * 2015-02-10 2016-08-18 (주)쓰리디랩스 Method for extracting corresponding point from stereo image
KR20160098629A (en) * 2015-02-10 2016-08-19 (주)쓰리디랩스 Method for Extracting Corresponding Points from Stereo Images
KR101655164B1 (en) * 2015-02-10 2016-09-08 (주)쓰리디랩스 Method for Extracting Corresponding Points from Stereo Images
WO2021177163A1 (en) * 2020-03-05 2021-09-10 ファナック株式会社 Three-dimensional measurement device which generates position information for surface of object from image captured by multiple cameras
JP7448633B2 (en) 2020-03-05 2024-03-12 ファナック株式会社 A three-dimensional measuring device that generates position information on the surface of an object based on images captured by multiple cameras.

Also Published As

Publication number Publication date
JP3524826B2 (en) 2004-05-10

Similar Documents

Publication Publication Date Title
US9807365B2 (en) System and method for hybrid simultaneous localization and mapping of 2D and 3D data acquired by sensors from a 3D scene
US8903161B2 (en) Apparatus for estimating robot position and method thereof
US9811733B2 (en) Method, apparatus and system for selecting a frame
US9177381B2 (en) Depth estimate determination, systems and methods
JP6253981B2 (en) Autofocus for stereoscopic cameras
JP5682065B2 (en) Stereo image processing apparatus and stereo image processing method
US10621446B2 (en) Handling perspective magnification in optical flow processing
US20170178348A1 (en) Image Alignment Method and Apparatus
CN103279952A (en) Target tracking method and device
CN112132754B (en) Vehicle movement track correction method and related device
CN111295667A (en) Image stereo matching method and driving assisting device
CN111105452A (en) High-low resolution fusion stereo matching method based on binocular vision
US11256949B2 (en) Guided sparse feature matching via coarsely defined dense matches
JP2001082927A (en) Method and apparatus for processing three-dimensional image and recording medium recording three-dimensional image processing program
Ma et al. Object-level proposals
JP4296617B2 (en) Image processing apparatus, image processing method, and recording medium
JP2001266128A (en) Method and device for obtaining depth information and recording medium recording depth information obtaining program
Kruger et al. In-factory calibration of multiocular camera systems
JP6305856B2 (en) Image processing apparatus, image processing method, and program
JP2010055340A (en) Travel path estimation device and program
JP2006113832A (en) Stereoscopic image processor and program
JP5216631B2 (en) Feature extraction device
TWI658431B (en) Image processing method, image processing device and computer readable storage medium
CN113538538B (en) Binocular image alignment method, electronic device, and computer-readable storage medium
Stentoumis et al. Implementing an adaptive approach for dense stereo-matching

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031212

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20031212

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20031212

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040213

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100220

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110220

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees