KR100926127B1 - Real-time stereo matching system by using multi-camera and its method - Google Patents

Real-time stereo matching system by using multi-camera and its method Download PDF

Info

Publication number
KR100926127B1
KR100926127B1 KR1020070107551A KR20070107551A KR100926127B1 KR 100926127 B1 KR100926127 B1 KR 100926127B1 KR 1020070107551 A KR1020070107551 A KR 1020070107551A KR 20070107551 A KR20070107551 A KR 20070107551A KR 100926127 B1 KR100926127 B1 KR 100926127B1
Authority
KR
South Korea
Prior art keywords
value
input
pixel
real
flip
Prior art date
Application number
KR1020070107551A
Other languages
Korean (ko)
Other versions
KR20090041843A (en
Inventor
정홍
김영수
박성찬
Original Assignee
포항공과대학교 산학협력단
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 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020070107551A priority Critical patent/KR100926127B1/en
Priority to PCT/KR2008/006267 priority patent/WO2009054683A1/en
Publication of KR20090041843A publication Critical patent/KR20090041843A/en
Application granted granted Critical
Publication of KR100926127B1 publication Critical patent/KR100926127B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/001Constructional or mechanical details

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 발명은 복수 카메라를 이용한 실시간 입체 영상 정합 시스템 및 그 방법에 관한 것으로, 복수의 카메라를 이용하여 배경으로부터 떨어져 있는 얇은 물체에 대해서도 정확하게 3차원 거리정보를 추출하여 실시간으로 입체 영상을 정합시킴으로써, 정합값에 대한 신뢰도를 향상시킬 수 있다. 또한 수평방향의 노이즈를 감소시키어 관측 공간의 3차원 거리 정보와 형태 정보를 보다 정확하게 측정함으로써, 산업 현장에 적용 시 보다 안정적인 거리 영상을 얻을 수 있으며 소형 장치로서 여러 응용 부분에 경쟁력있게 적용될 수 있다. The present invention relates to a real-time three-dimensional image registration system and a method using a plurality of cameras, by matching the three-dimensional image in real time by accurately extracting the three-dimensional distance information even for thin objects away from the background using a plurality of cameras, The reliability of the value can be improved. In addition, by reducing the noise in the horizontal direction to more accurately measure the three-dimensional distance information and shape information of the observation space, it is possible to obtain a more stable distance image when applied to industrial sites, it can be applied to many applications as a compact device.

복수 카메라, 버퍼, 인코더, 프로세싱 엘리먼트 Multiple Cameras, Buffers, Encoders, Processing Elements

Description

복수 카메라를 이용한 실시간 입체 영상 정합 시스템 및 그 방법{REAL-TIME STEREO MATCHING SYSTEM BY USING MULTI-CAMERA AND ITS METHOD} Real-time stereoscopic image registration system using multiple cameras and its method {REAL-TIME STEREO MATCHING SYSTEM BY USING MULTI-CAMERA AND ITS METHOD}

본 발명은 복수 카메라를 이용한 실시간 입체 영상 정합 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 복수 영상의 복수 스캔라인 속에서 실시간으로 대응점을 찾아내어 공간상의 물체 위치 및 형태를 알아내는 계측 시스템에 있어서, 배경으로부터 떨어져 있는 얇은 물체에 대해서도 정확하게 3차원 거리정보를 추출하여 실시간으로 입체 영상을 정합할 수 있는 시스템 및 방법에 관한 것이다.The present invention relates to a real-time stereoscopic image registration system using a plurality of cameras and a method thereof, and more particularly, to a measurement system for finding a corresponding point in real time in a plurality of scan lines of a plurality of images to find the position and shape of an object in space. In addition, the present invention relates to a system and method for accurately matching three-dimensional images in real time by extracting three-dimensional distance information from a thin object away from a background.

주지된 바와 같이, 실시간 입체 영상 처리 시스템은 스테레오 정합(Stereo Matching)이 중심이 되는 프로세서를 채용한다. 이때, 도 1에 도시된 스테레오 정합의 기하학적 구조도에서와 같이 한 쌍의 2차원 이미지로부터 3차원의 공간정보를 재창출하는 과정을 스테레오 정합이라 한다. As is well known, the real time stereoscopic image processing system employs a processor based on stereo matching. In this case, a process of re-creating three-dimensional spatial information from a pair of two-dimensional images, as shown in the geometric matching diagram of the stereo matching, is called stereo matching.

즉, 도 1을 참조하면, 좌우측 영상(Left Image, Right Image)의 에피폴라 선상의 영상 라인에서 삼차원 공간상에 같은 위치(X,Y,Z)에 대응되는 좌우 픽셀을 찾 아내는 방법을 사용한다. 여기서 대응되는 픽셀쌍에 대한 양안차는 수학식 1That is, referring to FIG. 1, a method of finding left and right pixels corresponding to the same position (X, Y, Z) in three-dimensional space in an image line on an epipolar line of left and right images is used. do. The binocular difference for the corresponding pixel pair is represented by Equation 1

d=xr-xl d = x r -x l

과 같이 계산된다.Is calculated as

이러한 양안차로부터 계산된 기하학적 특성을 깊이(Depth), Z라고 한다. 즉, 양안차는 거리 정보를 포함한다. 따라서, 입력 영상으로부터 실시간으로 양안차값을 계산하면 관측 공간의 삼차원 거리 정보와 형태 정보를 측정할 수 있다.The geometrical characteristic calculated from these binocular differences is called Depth, Z. In other words, the binocular car includes distance information. Therefore, when the binocular difference value is calculated in real time from the input image, three-dimensional distance information and shape information of the observation space can be measured.

상술한 바와 같은 프로세서를 채용한 종래의 기술로는 연구 논문[Uemsh R. Dhond and J.K.Aggarwal. Structure from Stereo - a review. IEEE Transactions on Systems, Man, and Cybernetics, 19(6):553-572, nov/dec 1989]를 보면 스테레오 정합에 대한 기본적인 사항이 기술되어 있다. 또한, 이를 구현한 스테레오 정합 기술은 실시간 입체 영상 정합 시스템(한국 특허출원 제2000-41424호)에 개시되어 있다. As a conventional technique employing the processor as described above, a research paper [Uemsh R. Dhond and J. K. Aggarwal. Structure from Stereo-a review. IEEE Transactions on Systems, Man, and Cybernetics, 19 (6): 553-572, nov / dec 1989] describe the basics of stereo matching. In addition, a stereo matching technology implementing the same is disclosed in a real-time stereoscopic image matching system (Korean Patent Application No. 2000-41424).

한편, 이러한 실시간 입체 영상 정합 시스템은 산업분야에서는 로봇의 시각 기능을 하며, 무인자동차에서 도로를 인식하게 되고, 인공위성을 이용해 3차원 지도 제작에 쓰일 수 있으며, 가전 분야에서는 완구 로봇의 시각장치 등에 사용될 수 있다. On the other hand, such a real-time three-dimensional image matching system is a visual function of the robot in the industrial field, it recognizes the road in the driverless car, it can be used for the production of three-dimensional maps using satellite, and in the home appliance field used for the visual device of the toy robot Can be.

하지만, 상기한 바와 같이 동작되는 배경 기술에서와 같은 기존의 시스템을 이용하면 많은 정보를 가진 배경위의 얇은 물체가 거리를 두고 존재할 때 배경의 정보들로 인해 앞 물체의 3차원 거리값이 추출되지 않고 배경의 3차원 거리값만 추출되는 경우가 있다.However, when using a conventional system such as the background technology operated as described above, when a thin object on a background having a lot of information exists at a distance, the background information does not extract the three-dimensional distance value of the front object. In some cases, only the 3D distance value of the background may be extracted.

또한, 두 개의 카메라만을 이용하는 것이기 때문에 정합값의 신뢰도가 높지 않으며, 이것은 수평방향의 노이즈를 생성하게 되는 문제점이 있다. In addition, since only two cameras are used, the reliability of the matching value is not high, which causes a problem of generating horizontal noise.

이에, 본 발명의 기술적 과제는 상술한 바와 같은 문제점을 해결하기 위해 안출한 것으로, 복수의 카메라를 이용하여 배경으로부터 떨어져 있는 얇은 물체에 대해서도 정확하게 3차원 거리정보를 추출하여 실시간으로 입체 영상을 정합시킴으로써, 정합값에 대한 신뢰도를 향상시킬 수 있고, 수평방향의 노이즈를 감소시키어 관측 공간의 3차원 거리 정보와 형태 정보를 보다 정확하게 측정할 수 있는 복수 카메라를 이용한 실시간 입체 영상 정합 시스템 및 그 방법을 제공한다.Accordingly, the technical problem of the present invention is to solve the problems described above, by accurately extracting the three-dimensional distance information even for a thin object away from the background using a plurality of cameras to match the stereoscopic image in real time , Real-time stereoscopic image registration system and method using multiple cameras that can improve the reliability of matching value and reduce noise in horizontal direction to measure 3D distance information and shape information of observation space more accurately. do.

본 발명의 일 관점에 따른 복수 카메라를 이용한 실시간 입체 영상 정합 시스템은, 복수의 카메라 각각에 의해 촬영된 복수 영상 신호를 디지털로 변환시켜 제공하는 영상 처리부와, 영상 처리부로부터 입력되는 복수 디지털 영상에서 사이픽셀 데이터를 추출하고 재배열하는 복수의 입력 버퍼와, 재배열된 사이픽셀 데이 터를 순차적으로 입력받아 이전에 처리한 윗 라인의 양안차값을 이용하여 영상을 정합한 후 결정값이나 양안차값을 출력하는 프로세싱 엘리먼트부와, 양안차값이나 결정값을 입력받아 인코딩하여 사용자 시스템으로 출력하는 인코더부를 포함하는 것을 특징으로 한다. According to an aspect of the present invention, a real-time stereoscopic image matching system using a plurality of cameras includes an image processing unit for digitally converting and providing a plurality of image signals photographed by each of the plurality of cameras, and a plurality of digital images input from the image processing unit. A plurality of input buffers extracting and rearranging pixel data and rearranged cyclic pixel data are sequentially input to match images using the previously processed binocular difference value of the upper line, and then output a decision value or binocular difference value. And an encoder for receiving a binocular difference value or a decision value, encoding the signal, and outputting the encoded signal to a user system.

본 발명의 다른 관점에 따른 복수 카메라를 이용한 실시간 입체 영상 정합 방법은, 복수의 카메라 각각에 의해 촬영되고 디지털로 변환된 복수 디지털 영상에 대하여 복수의 입력 버퍼를 통해 사이픽셀 데이터를 추출하고 재배열하는 단계와, 재배열된 사이픽셀 데이터를 복수의 입력 버퍼로부터 순차적으로 입력받은 프로세싱 엘리먼트에서 이전에 처리한 윗 라인의 양안차값을 이용하여 영상을 정합한 후 결정값이나 양안차값을 출력하는 단계와, 양안차값이나 결정값을 프로세싱 엘리먼트로부터 입력받은 인코더에서 디퍼렌셜 코딩 방식으로 인코딩하여 사용자 시스템으로 출력하는 단계를 포함하는 것을 특징으로 한다. According to another aspect of the present invention, a real-time stereoscopic image matching method using a plurality of cameras extracts and rearranges interpixel data through a plurality of input buffers for a plurality of digital images photographed and digitally converted by each of the plurality of cameras. Outputting a determination value or a binocular difference value after matching an image using the binocular difference value of the upper line previously processed by a processing element sequentially receiving rearranged interpixel data from a plurality of input buffers; And encoding the binocular difference value or the determined value in a differential coding scheme in an encoder received from the processing element and outputting the binocular difference value or the determined value to the user system.

본 발명은 복수의 카메라를 이용하여 배경으로부터 떨어져 있는 얇은 물체에 대해서도 정확하게 3차원 거리정보를 추출하여 실시간으로 입체 영상을 정합시킴으로써, 정합값에 대한 신뢰도를 향상시킬 수 있고, 수평방향의 노이즈를 감소시키어 관측 공간의 3차원 거리 정보와 형태 정보를 보다 정확하게 측정할 수 있다.According to the present invention, by using a plurality of cameras to accurately extract 3D distance information even for a thin object away from the background and matching stereoscopic images in real time, reliability of the matching value can be improved and horizontal noise can be reduced. In this way, three-dimensional distance information and shape information of the observation space can be measured more accurately.

또한, 본 발명은 고속 병렬처리 정합 기법과 높은 압축률의 인코딩 기법을 사용하는 동시에 입력되는 복수 카메라의 에피폴라 선상의 영상 라인들 간의 기하 학적 제약 조건을 이용하여 노이즈에 강인한 삼차원 공간 측정 시스템으로 산업 현장에 적용 시 보다 안정적인 거리 영상을 얻을 수 있으며 소형 장치로서 여러 응용 부분에 경쟁력있게 적용될 수 있는 효과가 있다.In addition, the present invention is a three-dimensional spatial measurement system that is robust against noise by using geometrical constraints between the image lines on the epipolar line of multiple cameras while using high-speed parallel processing matching technique and high compression rate encoding technique. When applied to a more stable distance image can be obtained and as a small device has the effect that can be competitively applied to various applications.

이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, the operating principle of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, when it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.

도 2는 본 발명의 일 실시예에 따른 복수 카메라를 이용한 영상 정합을 위한 시스톨릭 아키텍쳐의 블록도로서, 다수의 카메라(10-1,...,10-n)와 영상 처리부(20)와 멀티 카메라 영상 정합부(30)와 사용자 시스템(40)을 포함한다.2 is a block diagram of a systolic architecture for image registration using a plurality of cameras according to an embodiment of the present invention, and includes a plurality of cameras 10-1,..., 10-n and an image processor 20. The multi-camera image matcher 30 and the user system 40 are included.

다수의 카메라(10-1,...,10-n) 각각은 물체의 영상을 촬영하여 영상 처리부(20)에 제공한다.Each of the plurality of cameras 10-1,..., 10-n photographs an image of an object and provides the image to the image processor 20.

영상 처리부(20)는 다수의 카메라(10-1,...,10-n) 각각으로부터 입력되는 물체의 영상 신호를 디지털로 변환한 복수의 영상 데이터를 멀티 카메라 영상 정합 부(Multi-Camera Stereo Matching Part)(30)에 제공한다. 또한, 영상 처리부(20)는 디지털로 변환된 복수의 영상 데이터를 저장부(S1)에 저장한다.The image processor 20 is a multi-camera stereo matching unit for a plurality of image data obtained by digitally converting an image signal of an object input from each of the plurality of cameras 10-1,..., 10-n. Matching Part 30). In addition, the image processor 20 stores the plurality of digitally converted image data in the storage S1.

멀티 카메라 영상 정합부(30)는 영상 처리부(20)로부터 입력되는 N개의 디지털 영상의 동일한 에피폴라 선상의 영상 라인 픽셀 데이터를 순차적으로 입력받아 연산하여 양안차값을 계산하여 사용자 시스템(40)으로 출력하는 블록으로서, 도 3에 도시된 바와 같이 다수의 입력 버퍼(31-1,...31-n)와 프로세싱 엘리먼트부(33)와 인코더(35)를 구비한다. 여기서, 사용자 시스템(40)은 멀티 카메라 영상 정합부(30)로부터 제공되는 양안차에 의한 거리데이터를 이용한다. 여기서, 계산된 양안차값을 사용자 시스템(40)으로 출력하는 과정은 복수 영상의 모든 에피폴라 선상의 영상 라인에 대하여 반복적으로 수행하게 된다. The multi-camera image matching unit 30 sequentially receives image line pixel data on the same epipolar line of N digital images input from the image processing unit 20, calculates binocular difference values, and outputs the calculated values to the user system 40. As shown in FIG. 3, a plurality of input buffers 31-1, ... 31-n, a processing element unit 33, and an encoder 35 are provided. Here, the user system 40 uses distance data by binocular difference provided from the multi-camera image matching unit 30. Here, the process of outputting the calculated binocular difference value to the user system 40 is repeatedly performed on the image lines on all the epipolar lines of the plurality of images.

다수의 입력 버퍼(31-1,...31-n)는 영상 처리부(20)로부터 입력되는 다수의 디지털 영상에서 사이픽셀(interpixel) 데이터를 추출하고 재배열하는 블록으로서, 도 4에 도시된 바와 같이, 각 플립플롭이 픽셀 데이터를 입력받을지를 결정하는 인에이블(enable) 신호와 픽셀 인덱스를 생성하여 계산부(31d)와 D-플립플롭(31b, 31c) 각각에 제공하는 컨트롤 박스(31a)와, 컨트롤 박스(31a)로부터 입력되는 인에이블 신호에 의거하여 각각 한 개씩의 픽셀값을 저장하고 그 픽셀값을 가진 상태에서 컨트롤 박스(31a)로부터 입력되는 픽셀 인덱스에 맞게 각 픽셀에 가중치를 주고 계산부(31d)에 제공하는 D-플립플롭(Register)(31b, 31c)과, 컨트롤 박스(31a)로부터 입력되는 픽셀 인덱스와 D-플립플롭(31b, 31c)으로부터 입력되는 두 개의 픽셀값을 사용하여 프로세싱 엘리먼트에게 내어줄 픽셀값을 더한 후 나누어(예컨대, 나 눗셈은 앞의 두 가중치의 합으로 나타내며, 2,4,8로 나누는 경우는 LSB로부터 1,2,3 비트를 제거함으로 구현 가능함) 주면서 계산된 결과값을 전방 프로세서(33a)에 제공하는 계산부(31d)로 이루어져 있다. 여기서, D-플립플롭(31b, 31c)은 레지스터(Register)로 이루어져 있고, 계산부(31d)는 배율기(MultiPlier)와 가산기(Adder)와 분배기(Divider)로 이루어져 있다. The plurality of input buffers 31-1,..., 31-n are blocks for extracting and rearranging interpixel data from a plurality of digital images input from the image processor 20. As described above, the control box 31a generates an enable signal and a pixel index for determining whether each flip-flop receives the pixel data and provide them to the calculator 31d and the D-flip-flops 31b and 31c, respectively. And each pixel value is stored based on the enable signal input from the control box 31a and weighted to each pixel according to the pixel index input from the control box 31a while having the pixel value. D-flip-flops (Registers 31b, 31c) provided to the calculation unit 31d, the pixel index input from the control box 31a, and two pixel values input from the D-flip-flops 31b, 31c. To give processing elements to Add the value and divide it (e.g. division is expressed as the sum of the two previous weights, dividing by 2, 4, 8 can be implemented by removing 1, 2, 3 bits from the LSB). It consists of the calculation part 31d provided to the processor 33a. Here, the D-flip flops 31b and 31c are made up of registers, and the calculator 31d is made up of a multiplier, an adder, and a divider.

프로세싱 엘리먼트부(33)는 지정된 최대 양안차까지 선형 어레이 형태로 복제시킬 수 있고 각 프로세싱 엘리먼트는 이웃하는 프로세싱 엘리먼트와 정보를 교환할 수 있으며, 그 구조는 프로세싱 엘리먼트의 갯수에 제한없이 최대 속도로 동작할 수 있게 하며, 재배열된 사이픽셀 데이터를 순차적으로 입력받아 이전에 처리한 윗 라인의 양안차값을 이용하여 영상을 정합한 후 결정값이나 양안차값을 출력하는 블록으로서, 전방 프로세서(33a)와 격자 큐(예컨대, 스택)(33b)와 후방 프로세서(33c)를 포함한다.The processing element unit 33 can replicate in the form of a linear array up to a specified maximum binocular difference, and each processing element can exchange information with neighboring processing elements, and the structure operates at the maximum speed without limit to the number of processing elements. And a block that sequentially receives rearranged interpixel data and matches images using the previously processed binocular difference value of the upper line, and then outputs a determined value or binocular difference value. Lattice queue (eg, stack) 33b and back processor 33c.

전방 프로세서(33a)는 클럭(t)에 의해 복수 영상의 각 에피폴라 선상의 영상 라인에서 적절한 픽셀값을 입력 받아 결정값 Vt,j(여기서, Vt,j는 j번째 프로세싱 엘리먼트의 t번째 클럭에서 전방 프로세서(33a)에서 격자 큐(33b)로 저장된 결정값이다.)를 계산하고 그 결정값 Vt,j를 격자 큐(33b)에 저장하는 블록으로서, 도 5에 도시된 바와 같이 N개 픽셀데이터값들 간 차(예컨대, 뺄셈)의 절대값을 통해 정합코스트를 계산하는 절대값 계산기(33aa)와, 이전의 상, 중, 하 위치인 인접한 프로세싱 엘리먼트가 가지고 있는 누적코스트 Uj+1(t-1), Uj(t-1), Uj-1(t-1)를 받고, 플립플롭(33ad)으로부터 재귀되는 값이 절대값 계산기 데이터에 합산된 데이터 사이에서 최소값을 결정하고 동시에 가장 작은 코스트의 경로가 상(1), 중(0), 하(-1) 중에서 어디에서 온 값 인지를 나타내는 결정값 Vt,j를 얻어 덧셈기(33ac)와 격자 큐(33b)에 각각 제공하는 멀티플렉서(33ab)와, 멀티플렉서(33ab)로부터 입력되는 결과에 절대값 계산기(33aa)로부터 입력되는 현재의 코스트를 합하여 현재 엘리먼트의 누적코스트를 계산하여 플립플롭(33ad)에 제공하는 덧셈기(33ac)와, 덧셈기(33ac)로부터 입력되는 현재의 누적코스트를 다음 클럭까지 내보내지 않고 대기시키는 플립플롭(33ad)으로 이루어져 있다. 여기서, 출력 데이터는 t 시간의 위 아래 엘리먼트에 t-1 시간의 현재 위치 엘리먼트의 누적코스트를 전달하기 위한 Uj(t-1)과 스택인 격자 큐(33b)에 저장되었다가 후방 프로세서(33c)에 전달되는 Vt,j(-1,0,1)이 있다. 그리고 Uj(t)는 j번째 프로세싱 엘리먼트의 t번째 클럭에서의 전방 프로세서(33a)의 코스트 레지스터 값이다. The front processor 33a receives an appropriate pixel value from the image line on each epipolar line of the plurality of images by the clock t, and the determination value V t, j (where V t, j is the t-th of the j-th processing element). Is a block that calculates the decision value stored in the lattice queue 33b in the front processor 33a in the clock and stores the decision value V t, j in the lattice queue 33b, as shown in FIG. An absolute value calculator 33aa that calculates a matching cost based on the absolute value of the difference (e.g. subtraction) between the two pixel data values, and the cumulative cost U j + of the adjacent processing elements of the previous upper, middle and lower positions. Receive 1 (t-1), U j (t-1), U j-1 (t-1), and determine the minimum value between the data recursed from the flip-flop 33ad and summed to the absolute value calculator data And at the same time indicate whether the path of the smallest cost is from upper (1), middle (0), or lower (-1). Is the current that is input from the absolute value calculator (33aa) on the results received from the multiplexer (33ab) and a multiplexer (33ab) to provide each of the determination value V t, the adder takes the j (33ac) and the grid queue (33b) Cost Adder 33ac for calculating the cumulative cost of the current element and providing it to the flip-flop 33ad, and flip-flop 33ad for waiting the current cumulative cost input from the adder 33ac without outputting to the next clock. consist of. Here, the output data is stored in the lattice queue 33b which is a stack and U j (t-1) for delivering the cumulative cost of the current position element of t-1 time to the up and down elements of time t-1, and then the rear processor 33c. ), V t, j (-1,0,1). And U j (t) is the cost register value of the front processor 33a at the t th clock of the j th processing element.

격자 큐(33b)는 전방 프로세서(33a)로부터 입력되는 출력 데이터를 저장하고 있다가 후방 프로세서(33c)에 Vt,j(-1,0,1)를 전달한다. The grid queue 33b stores the output data input from the front processor 33a and then transfers V t, j (−1,0,1) to the rear processor 33c.

후방 프로세서(33c)는 격자 큐(33b)로부터 읽은 결정값을 연산하여 최적의 양안차값을 계산하고 그 양안차값을 클럭에 의해 인코더(35)로 출력하는 블록으로서, 도 6에 도시된 바와 같이 동일 레이어 상의 인접한 프로세싱 엘리먼트로부터 입력되는 t-1 시간의 j+1, j-1 번째 후방 프로세서의 활성화 신호 aj-1(t-1)δ(1-Vt-1,j-1), aj+1(t-1)δ(1+Vt-1,j+1)와 j 번째 후방 프로세서의 디멀티플렉서(33cc) 출력으로부터 재귀되는 활성화 신호(aj(t-1)δ(Vt-1,j)를 입력받아 논리합 특성에 맞게 논리합시킨 aj(t)(여기서, aj(t)는 j번째 프로세싱 엘리먼트의 t번째 클럭에서의 후방 프로세서(33c)의 활성 비트값이다.)를 D-플립플롭(33cb)에 출력하는 논리합 소자(Or Gate)(33ca)와, 논리합 소자(33ca)로부터 입력되는 출력값(aj(t))을 임시 저장하면서 출력되는 출력값(aj(t-1))을 버퍼(33cd)와 디멀티플렉서(33cc)에 각각 제공하는 1비트의 활성 D-플립플롭(33cb)과, D-플립플롭(33cb)으로부터 입력되는 출력값(aj(t-1))을 스택인 격자 큐(33b)로부터 입력되는 결정값((Vt-1,j) : 현재의 정합점에서 저장했던 V를 Vt,j라 함)(즉, 바로 이전의 정합점에 저장되어 있던 패스(path), Vt-1,j를 사용하여 at-1,j를 내어줄 방향을 설정하는 것)에 따라 인접한 후방 프로세서로 후방 프로세싱용 활성화 신호를 출력하는 디멀티플렉서(33cc)와, 양안차의 증감을 나타내는 최적의 결정값(Vt,j)을 D-플립플롭(33cb)으로부터 입력되는 값(aj(t-1))에 따라 인코더(35)로 출력하는 3상태 버퍼(33cd)로 이루어져 있다. 여기서, 3상태 버퍼(33cd)는 입력값이 '1'일 때 그 입력값을 그대로 출력하고 그 이외의 경우에는 하이 임피던스 상태가 되어 어느 것도 출력하지 않도록 구성하는 것이 바람직하다. The rear processor 33c calculates an optimal binocular difference value by calculating a decision value read from the grid queue 33b and outputs the binocular difference value to the encoder 35 by a clock, as shown in FIG. 6. Activation signal a j-1 (t-1) δ (1-V t-1, j-1 ) of the j + 1, j-1 th rear processor input from an adjacent processing element on the layer at time t-1 Activation signal a j (t-1) δ (V t− ) recursed from the output of j + 1 (t-1) δ (1 + V t-1, j + 1 ) and the demultiplexer (33cc) of the j th rear processor 1, j ) receives a j (t) (where a j (t) is the active bit value of the rear processor 33c at the t-th clock of the j-th processing element) that is logically matched to the OR-characteristic. OR gate for outputting a D- flip-flop (33cb) (Or Gate) ( 33ca) and the output value is output as a temporary storage for the output value (a j (t)) input from the OR gate (33ca) (a j (t- 1)) buffer (33cd) 1-bit active D-flip-flop 33cb provided to and demultiplexer 33cc, and output value a j (t-1) input from D-flip-flop 33cb, respectively. Determination value inputted from ((V t-1, j ): V stored at the current matching point is called V t, j ) (that is, the path stored at the previous matching point, V t Demultiplexer (33cc) which outputs an activation signal for rearward processing to an adjacent rear processor according to the direction of giving a t-1, j using -1, j ), It consists of a three-state buffer 33cd outputting the determined value V t, j to the encoder 35 according to the value a j (t-1) input from the D-flip flop 33cb. When the input value is '1', the tri-state buffer 33cd outputs the input value as it is. desirable.

인코더(35)는 도 7에 도시된 바와 같이, 후방 프로세서(33c)로부터 입력되는 결정값을 더하면 앙얀차값이 되는데, 이 앙얀차값은 결정값의 변화분에 의해 천천히 바뀌므로 압축률을 높이기 위해 디퍼렌셜 코딩 방식으로 인코딩(예컨대, 후방 프로세서(33c)로부터 입력되는 결정값을 더한 형태인 양안차값을 출력하지 않고 그 결정값을 그대로 사용하는 것임)을 수행하여 출력한다. As shown in FIG. 7, the encoder 35 adds a determination value input from the rear processor 33c to become an angular difference value. Since the angular difference value is slowly changed by the change of the determined value, differential coding is performed to increase the compression ratio. In this manner, encoding is performed, for example, without using a binocular difference value which is a form of a decision value input from the rear processor 33c, and using the decision value as it is.

즉, 도 7을 참조하면, 2개의 결정값은 4비트(bit)가 필요한데 불필요한 데이터(dummy data)을 처리하여 이를 인코딩하면 3비트만으로 표기가 가능하며, 하나의 수를 플래그(Flag)로 할당하여 사용가능함으로 플래그 데이터로서 허용되는 동시에 양안차 데이터로서도 두개의 양안차를 4비트로 압축시키며, 다시 3비트로 압축하는 높은 압축 효과를 나타낸다. 보다 상세하게 설명하면, 결정값은 패스의 변화분을 나타내는데, 예컨대, 01은 윗방향, 10은 아래방향, 00은 패스 변화 없음과 같이 세가지만 필요하므로 11은 더미 비트(dummy bit)가 된다. 그리고 두개의 결정값을 놓고 보면 0110 과 1001은 기하학적으로 존재가능성이 거의 없는 케이스이므로 0000과 동일시 생각해도 무방하다. 따라서 출력 양안차의 특성을 고려에 의해 디퍼렌셜 코딩 기법과 불필요한 가지수를 줄여서 높은 압축률을 얻을 수 있다.That is, referring to FIG. 7, two determination values require 4 bits, but when unnecessary data is processed and encoded, only 3 bits can be expressed, and one number is assigned as a flag. It is allowed to be used as flag data, and at the same time, the binocular difference data is compressed into two bits, and the two binocular signals are compressed into three bits, and the three-bit difference is further compressed. In more detail, the decision value indicates the change in the path. For example, 01 is a dummy bit because it requires three things such as 01 is upward, 10 is downward, and 00 is no path change. In terms of the two decision values, 0110 and 1001 can be considered as 0000 because they are geometrically unlikely cases. Therefore, the high compression ratio can be obtained by reducing the differential coding technique and unnecessary branch number by considering the characteristics of the output binocular difference.

한편, 도 8을 참조하면, 입력 버퍼를 카메라가 3대 일 때 예제로서 픽셀값은 2 클럭(clock) 마다 한번씩 들어오고, D-플립플롭(31b, 31c)은 항상 인에이블 상태이며, D-플립플롭(31b, 31c)은 픽셀값이 바뀐후 1 클럭후에 인에이블된다. Meanwhile, referring to FIG. 8, as an example, when the camera has three input buffers, the pixel value is input once every two clocks, and the D-flip flops 31b and 31c are always enabled and the D- Flip-flops 31b and 31c are enabled one clock after the pixel value changes.

그리고, 도 9는 도 11의 픽셀 데이터값 입력부분을 카메라가 3대 일 때 예제로서 나타낸 것이다. 즉 각 엘리먼트마다 1,2,3번 카메라의 영상이 들어오며, 1번 카메라의 영상은 낮은 디스페리트(disparity)의 엘리먼트로부터 위로, 3번 카메라 영상은 높은 디스페리트의 엘리먼트부터 아래로 순차적으로 들어오게 된다. 9 illustrates the pixel data value input portion of FIG. 11 as an example when three cameras are used. That is, for each element, images of cameras 1, 2, and 3 are entered, and camera 1's video is sequentially sequentially from the low disparity element, and camera 3's video is sequentially descending from the high discrete element. Will come in.

그리고, 도 10은 도 9에 있는 카메라가 3개 일 때의 전방 프로세서(33a)를 일 예로 나타내는 것이다. 코스트를 계산하는 파트에

Figure 112009033489729-pat00001
와 같은 픽셀값이 들어오고 이 값들 사이에서 차(예컨대, 뺄셈)의 절대값을 코스트로 내어준다.10 shows an example of the front processor 33a when there are three cameras in FIG. To part calculating cost
Figure 112009033489729-pat00001
A pixel value, such as, comes in and gives the cost of the absolute value of the difference (eg, subtraction) between these values.

여기서, 도 11은 프로세싱 엘리먼트 어레이(Processing Element Array) 구조를 도시한 도면이다. 도 11을 참조하면, 임의의 N개 카메라에 대한 프로세싱 엘리먼트 어레이를 나타내는데 전체 엘리먼트는 M개로 구성되며, 각 엘리먼트는 동일한 구조를 가진다. 각 엘리먼트는 전방 프로세서(fp:forward processor), 와 스택(stack), 후방 프로세서(bp:backward processor)로 구성된다. 각 엘리먼트의 전방 프로세서에는 N개 영상의 픽셀이

Figure 112007076350912-pat00002
의 인덱스에 맞추어 들어가게 된다.(여기서, D는 디스페리티 레벨(무한히 멀(z=∞) 경우 D=0이고 가장 가까울 때 D=M(최대 디스페리티 레벨)임)이고, N은 카메라(영상)의 개수이며, xi는 i번째 카메라의 해당 스캔라인에서 어느 픽셀값이 들어가야 할 지를 나타내는 인덱스이며, xc는 중앙 카메라의 인덱스이며, 이 값은 결과 디스페리티의 인덱스와 동일하다.) 이에 따라 중앙카메라가 존재 하지 않더라도 결과 디스페리티의 인덱스를 나타내기 위하여 xc인덱스를 xi인덱스로 구하기 위한 기준으로 사용한다. 이 하드웨어 구조에서는 한 개의 프로세싱 엘리먼트 어레이가 시간(t)에 따라서 병렬 형태로 계 산을 수행하며, 시간(t)이 두번 증가할 때(예컨대, 두 클럭(clk)후에) 하나의 디스페리티 인덱스에 대한 결과를 내어준다. 즉,
Figure 112007076350912-pat00003
와 같이 된다. 이것을 프로세싱 엘리먼트 어레이에 적용시키면 시간(t), j번째 엘리먼트에서 i번째 카메라는
Figure 112007076350912-pat00004
(여기서, xi는 t번째 클럭에서의 i번째 카메라의 j번째 프로세싱 엘리먼트의 영상 레지스터 값 즉, 결과값은 인덱스의 사이픽셀(interpixel) 값이다.) 와 같은 인덱스를 얻을 수 있다. 전방 프로세서(fp)에는 이 인덱스의 픽셀값이 들어가게 된다. 프로세싱 엘리먼트의 동작관계는 N개 카메라영상의 각 에피폴라 선상에서 영상 라인의 픽셀이 각각 하나씩 총 N개가 입력된다. 이웃한 프로세싱 엘리먼트 간에는 코스트 값(U)을 서로 주고 받으며, 스택에게 t-1엘리먼트 중 j-1, j, j+1중 최소코스트를 가진 엘리먼트에 대한 방향값을 -1,0,1로 나누어 내어준다. 즉, 어디에서 코스트를 이어받는지를 알려주는것이다.FIG. 11 is a diagram illustrating a processing element array structure. Referring to FIG. 11, there is shown an array of processing elements for any N cameras in which the entire element consists of M, each element having the same structure. Each element consists of a forward processor (fp), a stack, and a backward processor (bp). The front processor of each element has N pixels of video
Figure 112007076350912-pat00002
(Where D is the disparity level (D = 0 for infinitely far (z = ∞) and D = M (maximum disparity level) when closest), and N is the camera ( X i is an index indicating which pixel value should be included in a corresponding scan line of the i-th camera, x c is an index of the center camera, and this value is equal to the index of the resulting disparity. Therefore, even if the central camera does not exist, the x c index is used as a reference to obtain the x i index to indicate the index of the result disparity. In this hardware architecture, one array of processing elements performs calculations in parallel over time t, and one disparity index when time t increases twice (e.g. after two clocks clk). Gives the result of In other words,
Figure 112007076350912-pat00003
Becomes Applying this to the array of processing elements, time (t), the i th camera in the j th element
Figure 112007076350912-pat00004
Where x i is the image register value of the j th processing element of the i th camera at the t th clock, i.e., the result value is the interpixel value of the index. The front processor fp enters the pixel value of this index. As for the operation relationship of the processing elements, a total of N pixels, one pixel of an image line, is input on each epipolar line of N camera images. The neighboring processing elements exchange cost values (U) with each other and divide the direction value for the element with the lowest cost of j-1, j, j + 1 among t-1 elements into -1, 0, 1 in the stack. Give out. In other words, it tells you where to take over the cost.

한편, 도 12는 클럭 t가 1부터 2(M-1)까지 수행될 때 모든 0부터 M-1까지의 프로세싱 엘리먼트들이 병렬로 수행되는 것을 도시한 도면이다. 즉, 도 12에 도시된 바와 같이 프로세싱 엘리먼트가 초기화(S1201)된 다음에, N개 카메라 영상 픽셀이 순차적으로 입력(S1203)되면, j번째 프로세싱 엘리먼트를 처리(S1205), 예컨대, 프로세싱 엘리먼트 내에서는 현재 입력 되는 영상 라인의 사이픽셀(interpixel) 정보를 처리하는 전방 프로세서(33a)와 이전 라인에 대해 전방 프로세서(33a)에 의해 처리된 결정값을 격자 큐(33b)로부터 읽어 들여 처리하는 후방 프로세서(33c)가 계속적으로 동시에 처리하여 2(M-1)까지 수행되는지를 판단(S1207)하여 수행되지 않 으면 t=t+1로 증가(S1209)되어 단계 S1203으로 진행된다. 반면에, 수행되면, 그 수행된 결과를 인코더(35)에 제공(S1211)한다. Meanwhile, FIG. 12 is a diagram illustrating that all of the processing elements from 0 to M-1 are performed in parallel when the clock t is performed from 1 to 2 (M-1). That is, when the processing elements are initialized (S1201) as shown in FIG. 12 and N camera image pixels are sequentially input (S1203), the j th processing element is processed (S1205), for example, within the processing element. A front processor 33a which processes interpixel information of the currently input image line and a rear processor which reads and processes the decision value processed by the front processor 33a for the previous line from the grid queue 33b ( If it is not performed by determining whether 33c) is continuously performed up to 2 (M-1) (S1207), if it is not performed, it increases to t = t + 1 (S1209) and proceeds to step S1203. On the other hand, if performed, the performed result is provided to the encoder 35 (S1211).

다시 말하여, 전방 프로세서(33a)에서 멀티 카메라 코스트는 수학식 2In other words, the multi-camera cost in the front processor 33a is expressed by Equation 2

Figure 112007076350912-pat00005
Figure 112007076350912-pat00005

에 의해 동작되어 전체 카메라의 영향이 코스트에 균일하게 끼치도록 한다.Is operated so that the influence of the entire camera is evenly applied to the cost.

여기서, Uj(t)는 j번째 프로세싱 엘리먼트의 t번째 클럭에서의 전방 프로세서(33a)의 코스트 레지스터 값이고,

Figure 112009033489729-pat00006
i는 t번째 클럭에서의 i번째 카메라의 j번째 프로세싱 엘리먼트의 영상 레지스터 값 즉, 결과값은 인덱스의 사이픽셀(interpixel) 값이며, Vt,j는 j번째 프로세싱 엘리먼트의 t번째 클럭에서 전방 프로세서(33a)에서 격자 큐(33b)로 저장된 결정값이며, aj(t)는 j번째 프로세싱 엘리먼트의 t번째 클럭에서의 후방 프로세서(33c)의 활성 비트값이며, aj+p(t-1)δ(p+Vt-1,j+p)는 인접한 프로세싱 엘리먼트에 전달되는 후방 프로세서용 활성 신호로서 p=1 이면 상위 프로세싱 엘리먼트, p=-1 이면 하위 프로세싱 엘리먼트 방향을 나타내며,
Figure 112009033489729-pat00007
는 t번째 클럭에서 양안차값을 나타내며, γ는 알고리즘 시작시 셋팅된 어클루젼 코스트값을 나타내며, M은 영상의 열의 픽셀 개수(예컨대, 1024x768의 영상에서 M=1024)이며,
Figure 112009033489729-pat00008
는 함수 func(x)를 최소화하는 파라미터 x를 출력한다. Where U j (t) is the cost register value of the front processor 33a at the t th clock of the j th processing element,
Figure 112009033489729-pat00006
i is the image register value of the j-th processing element of the i-th camera at the t-th clock, that is, the interpixel value of the index, and V t, j is the forward processor at the t-th clock of the j-th processing element. A determination value stored in the lattice queue 33b at 33a, a j (t) is the active bit value of the back processor 33c at the t th clock of the j th processing element, and a j + p (t-1 ) (p + V t-1, j + p ) is an active signal for the rear processor to be transmitted to an adjacent processing element, where p = 1 indicates an upper processing element, p = -1 indicates a lower processing element direction,
Figure 112009033489729-pat00007
Represents a binocular difference value at the t-th clock, γ represents an occlusion cost value set at the start of the algorithm, M is the number of pixels in the column of the image (e.g., M = 1024 in an image of 1024x768),
Figure 112009033489729-pat00008
Outputs a parameter x that minimizes the function func (x).

이상 설명한 바와 같이, 본 발명은 복수의 카메라를 이용하여 배경으로부터 떨어져 있는 얇은 물체에 대해서도 정확하게 3차원 거리정보를 추출하여 실시간으로 입체 영상을 정합시킴으로써, 정합값에 대한 신뢰도를 향상시킬 수 있고, 수평방향의 노이즈를 감소시키어 관측 공간의 3차원 거리 정보와 형태 정보를 보다 정확하게 측정할 수 있으며, 또한 고속 병렬처리 정합 기법과 높은 압축률의 인코딩 기법을 사용하는 동시에 입력되는 복수 카메라의 에피폴라 선상의 영상 라인들 간의 기하학적 제약 조건을 이용하여 노이즈에 강인한 삼차원 공간 측정 시스템으로 산업 현장에 적용 시 보다 안정적인 거리 영상을 얻을 수 있으며 소형 장치로서 여러 응용 부분에 경쟁력있게 적용될 수 있다.As described above, the present invention uses the plurality of cameras to accurately extract three-dimensional distance information even on a thin object away from the background and match stereoscopic images in real time, thereby improving reliability of the matching value and horizontally. By reducing the noise in the direction, it is possible to measure the 3D distance information and the shape information of the observation space more accurately. Also, it uses the high-speed parallel matching method and the high-compression encoding method, and simultaneously inputs the epipolar line of the multiple cameras. It is a noise-resistant three-dimensional spatial measurement system using geometrical constraints between lines to obtain more stable distance images when applied to industrial sites, and it is a compact device that can be competitively applied to various applications.

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다. Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by those equivalent to the scope of the claims.

도 1은 스테레오 정합의 기하학적 구조도, 1 is a structural diagram of stereo matching;

도 2는 본 발명의 일 실시예에 따른 복수 카메라를 이용한 영상 정합을 위한 시스톨릭 아키텍쳐의 블록도,2 is a block diagram of a systolic architecture for image registration using multiple cameras according to an embodiment of the present invention;

도 3은 도 2에 도시된 멀티 카메라 영상 정합부의 상세 블록 구성도,FIG. 3 is a detailed block diagram of a multi-camera image matching unit shown in FIG. 2;

도 4는 도 3에 도시된 다수의 입력 버퍼의 상세 블록 구성도,4 is a detailed block diagram of a plurality of input buffers shown in FIG. 3;

도 5는 도 3에 도시된 전방 프로세서의 상세 블록 구성도,FIG. 5 is a detailed block diagram of the front processor shown in FIG. 3;

도 6은 도 3에 도시된 후방 프로세서의 상세 블록 구성도,6 is a detailed block diagram of a rear processor shown in FIG. 3;

도 7은 도 3에 도시된 인코더를 설명하기 위한 도면,FIG. 7 is a diagram for describing the encoder illustrated in FIG. 3;

도 8은 카메라가 3대 일 때의 예시도, 8 is an exemplary view when there are three cameras;

도 9는 도 11의 픽셀 데이터값 입력부분을 카메라가 3대 일 때 예시도,9 is an exemplary diagram when three cameras use the pixel data value input portion of FIG. 11;

도 10은 도 9에 도시된 카메라가 3개 일 때의 전방 프로세서를 일 예로 나타낸 도면, FIG. 10 is a diagram illustrating an example of a front processor when three cameras are illustrated in FIG. 9;

도 11은 프로세싱 엘리먼트 어레이(Processing Element Array) 구조를 도시한 도면,11 is a diagram illustrating a processing element array structure;

도 12는 클럭 t가 1부터 2(M-1)까지 수행될 때 모든 0부터 M-1까지의 프로세싱 엘리먼트들이 병렬로 수행되는 것을 도시한 도면.FIG. 12 shows that all 0 through M-1 processing elements are performed in parallel when clock t is performed from 1 to 2 (M-1).

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10-1,...,10-n : 다수의 카메라 20 : 영상 처리부10-1, ..., 10-n: Multiple cameras 20: Image processor

30 : 멀티 카메라 영상 정합부 40 : 사용자 시스템30: multi-camera video matching unit 40: user system

S1 : 저장부S1: storage

Claims (14)

복수의 카메라 각각에 의해 촬영된 복수 영상 신호를 디지털로 변환시켜 제공하는 영상 처리부와,An image processing unit for converting and providing a plurality of image signals photographed by each of the plurality of cameras digitally; 상기 영상 처리부로부터 입력되는 복수 디지털 영상에서 사이픽셀(interpixel) 데이터를 추출하고 재배열하는 복수의 입력 버퍼와, A plurality of input buffers for extracting and rearranging interpixel data from a plurality of digital images input from the image processor; 상기 복수 디지털 영상에서 각 에피폴라 선상의 영상 라인에 복수의 픽셀값을 입력받아 결정값을 전방 프로세서를 이용하여 계산하고, 상기 계산된 결정값을 격자 큐에 저장하며, 상기 격자 큐에 저장된 결정값을 읽어와 양안차값을 계산하고 상기 계산된 양안차값을 클럭에 의해 후방 프로세서를 이용하여 출력하는 프로세싱 엘리먼트부와,In the plurality of digital images, a plurality of pixel values are input to an image line on each epipolar line, a decision value is calculated using a front processor, the calculated decision values are stored in a lattice queue, and the decision values stored in the lattice queue. A reading element to calculate a binocular difference value and output the calculated binocular difference value by a clock using a rear processor; 상기 양안차값을 입력받아 인코딩하여 사용자 시스템으로 출력하는 인코더부An encoder unit which receives the binocular difference value, encodes it, and outputs it to a user system. 를 포함하는 복수 카메라를 이용한 실시간 입체 영상 정합 시스템.Real-time stereoscopic image registration system using a plurality of cameras including a. 제 1 항에 있어서, The method of claim 1, 상기 복수의 입력 버퍼 각각에는, Each of the plurality of input buffers, 각 플립플롭이 픽셀 데이터를 입력받을지를 결정하는 인에이블 신호와 픽셀 인덱스를 생성하는 컨트롤 박스와, A control box for generating an enable signal and a pixel index for determining whether each flip-flop receives pixel data; 상기 컨트롤 박스로부터 입력되는 인에이블 신호에 의거하여 각각 한 개씩의 픽셀값을 저장하고 상기 픽셀값을 가진 상태에서 상기 컨트롤 박스로부터 입력되는 픽셀 인덱스에 맞게 각 픽셀에 가중치를 주는 두 개의 D-플립플롭과,Two D-flip-flops that store one pixel value based on the enable signal input from the control box and weight each pixel according to the pixel index input from the control box in the state having the pixel value. and, 상기 컨트롤 박스로부터 입력되는 픽셀 인덱스와 상기 두 개의 D-플립플롭으로부터 입력되는 두 개의 픽셀값을 사용하여 프로세싱 엘리먼트부에게 내어줄 픽셀값을 배율기(MultiPlier)와 가산기(Adder)와 분배기(Divider)를 이용하여 더한 후 나누어 주면서 계산하는 계산부Using a pixel index input from the control box and two pixel values input from the two D-flip-flops, a multiplier, an adder, and a divider are used to give a pixel value to the processing element unit. Calculation unit that calculates by adding and dividing by using 를 포함하는 복수 카메라를 이용한 실시간 입체 영상 정합 시스템.Real-time stereoscopic image registration system using a plurality of cameras including a. 제 2 항에 있어서, The method of claim 2, 상기 D-플립플롭은, 레지스터(Register)로 이루어져 있는 것을 특징으로 하는 복수 카메라를 이용한 실시간 입체 영상 정합 시스템.The D-flip-flop is a real-time stereoscopic image registration system using a plurality of cameras, characterized in that the register (Register). 삭제delete 삭제delete 제 1 항에 있어서, The method of claim 1, 상기 전방 프로세서는,The front processor, 상기 복수의 픽셀값들 간 뺄셈의 절대값을 통해 정합코스트를 계산하는 절대값 계산기와, An absolute value calculator for calculating a matching cost through the absolute value of the subtraction between the plurality of pixel values; 인접한 프로세싱 엘리먼트가 가지고 있는 누적코스트를 상기 절대값 계산기로부터 입력받고, 플립플롭으로부터 재귀되는 값 중 최소값을 결정하고, 가장 작은 코스트의 경로를 나타내는 결정값를 얻어 출력하는 멀티플렉서와,A multiplexer which receives a cumulative cost of adjacent processing elements from the absolute value calculator, determines a minimum value of recursive values from a flip-flop, obtains and outputs a decision value representing a path of least cost, and 상기 멀티플렉서로부터 입력되는 결정값에 상기 절대값 계산기에 의해 계산된 정합코스트를 합하여 누적코스트를 계산하는 덧셈기와, An adder for calculating a cumulative cost by adding a matching cost calculated by the absolute value calculator to a decision value input from the multiplexer; 상기 계산된 누적코스트를 다음 클럭까지 내보내지 않고 대기시키는 플립플롭Flip-flop to wait the calculated cumulative cost without sending out until the next clock 을 포함하는 복수 카메라를 이용한 실시간 입체 영상 정합 시스템.Real-time stereoscopic image registration system using a plurality of cameras including a. 제 1 항에 있어서, The method of claim 1, 상기 후방 프로세서는,The rear processor, 인접한 프로세싱 엘리먼트로부터 입력되는 활성화 신호와 디멀티플렉서로부터 재귀되는 활성화 신호를 입력받아 논리합 특성에 맞게 논리합시켜 출력하는 논리합 소자와,A logic sum element configured to receive an activation signal input from an adjacent processing element and an activation signal recursively received from a demultiplexer, and output the logic sum according to a logic sum characteristic; 상기 논리합 소자로부터 입력되는 출력값을 임시 저장하면서 출력하는 플립플롭과,A flip-flop for temporarily storing and outputting an output value input from the logical sum element; 상기 플립플롭으로부터 입력되는 출력값을 상기 격자 큐로부터 입력되는 결정값에 따라 인접한 후방 프로세싱용 활성화 신호를 출력하는 디멀티플렉서와,A demultiplexer for outputting an activation signal for adjacent rear processing according to the output value input from the flip-flop from the grid queue; 상기 격자 큐로부터 입력되는 결정값을 상기 플립플롭에 의해 출력되는 출력값에 따라 출력하는 버퍼A buffer for outputting a decision value input from the lattice queue according to an output value output by the flip-flop 를 포함하는 복수 카메라를 이용한 실시간 입체 영상 정합 시스템.Real-time stereoscopic image registration system using a plurality of cameras including a. 제 7 항에 있어서, The method of claim 7, wherein 상기 버퍼는, 입력값이 '1'일 때 상기 입력값 "1"을 그대로 출력하고 그 이외의 경우에는 하이 임피던스 상태가 되어 출력하지 않는 것을 특징으로 하는 복수 카메라를 이용한 실시간 입체 영상 정합 시스템.And the buffer outputs the input value &quot; 1 &quot; as it is when the input value is '1', and otherwise does not output the high-impedance state. 제 1 항에 있어서, The method of claim 1, 상기 인코더부는, 디퍼렌셜 코딩 방식을 사용하는 것을 특징으로 하는 복수 카메라를 이용한 실시간 입체 영상 정합 시스템.The encoder unit, real-time stereoscopic image registration system using a plurality of cameras, characterized in that using a differential coding scheme. 복수의 입력 버퍼와 프로세싱 엘리먼트와 인코더를 포함하는 시스템에서의 실시간 입체 영상 정합 방법으로서, A method for real-time stereoscopic image registration in a system comprising a plurality of input buffers, processing elements and encoders, (a)복수의 카메라 각각에 의해 촬영되고 디지털로 변환된 복수 디지털 영상에 대하여 상기 복수의 입력 버퍼를 통해 사이픽셀(interpixel) 데이터를 추출하고 재배열하는 단계와,(a) extracting and rearranging interpixel data through the plurality of input buffers for a plurality of digital images photographed and digitally converted by each of a plurality of cameras; (b)상기 복수 디지털 영상에서 각 에피폴라 선상의 영상 라인에 복수의 픽셀값을 입력받아 결정값을 전방 프로세서를 이용하여 계산하고, 상기 계산된 결정값을 격자 큐에 저장하며, 상기 격자 큐에 저장된 결정값을 읽어와 양안차값을 계산하고 상기 계산된 양안차값을 클럭에 의해 후방 프로세서를 이용하여 출력하는 단계와, (b) receiving a plurality of pixel values from an image line on each epipolar line in the plurality of digital images, calculating a decision value using a front processor, storing the calculated decision value in a lattice queue, and storing the determined value in the lattice queue Reading the stored determination value, calculating a binocular difference value, and outputting the calculated binocular difference value by a clock using a rear processor; (c)상기 양안차값을 디퍼렌셜 코딩 방식으로 인코딩하여 사용자 시스템으로 출력하는 단계(c) encoding the binocular difference value using a differential coding method and outputting the binocular difference value to a user system 를 포함하는 복수 카메라를 이용한 실시간 입체 영상 정합 방법.Real-time stereoscopic image registration method using a plurality of cameras including a. 삭제delete 제 10 항에 있어서, The method of claim 10, 상기 (b)단계는, In step (b), (b11)상기 프로세싱 엘리먼트내 절대값 계산기를 통해 상기 복수의 픽셀값들 간 뺄셈의 절대값을 통해 정합코스트를 계산하는 단계와, (b11) calculating a matching cost through the absolute value of the subtraction between the plurality of pixel values through an absolute value calculator in the processing element; (b12)인접한 프로세싱 엘리먼트가 가지고 있는 누적코스트를 상기 절대값 계산기로부터 입력받은 멀티플렉서에서 플립플롭으로부터 재귀되는 값 중 최소값을 결정하고, 가장 작은 코스트의 경로를 나타내는 결정값를 얻어 덧셈기에 출력하는 단계와, (b12) determining a cumulative cost of the neighboring processing elements from the absolute value calculator and determining the minimum value of the recursive values from the flip-flop, obtaining a decision value representing the smallest cost path, and outputting the determined value to the adder; (b13)상기 덧셈기에서 상기 결정값과 계산된 정합코스트를 합하여 누적코스트를 계산하여 상기 격자 큐에 출력하는 단계(b13) calculating a cumulative cost by adding the determined value and the calculated matching cost in the adder and outputting the cumulative cost to the lattice queue; 를 포함하는 복수 카메라를 이용한 실시간 입체 영상 정합 방법.Real-time stereoscopic image registration method using a plurality of cameras including a. 제 10 항에 있어서, The method of claim 10, 상기 (b)단계는, In step (b), (b31)인접한 프로세싱 엘리먼트로부터 입력되는 활성화 신호와 디멀티플렉서로부터 재귀되는 활성화 신호를 입력받아 논리합 특성에 맞게 논리합시켜 출력하는 단계와, (b31) receiving an activation signal input from an adjacent processing element and an activation signal recursively received from a demultiplexer, and outputting the result of performing an OR operation according to an OR function; (b32)상기 논리합되어 입력되는 출력값을 격자 큐로부터 입력되는 결정값에 따라 인접한 후방 프로세싱용 활성화 신호를 출력하는 단계와, (b32) outputting an activation signal for adjacent rear processing according to the determined value inputted from the grid queue by the output value inputted by the OR; (b33)상기 격자 큐로부터 입력되는 결정값을 상기 논리합되어 입력되는 출력값에 따라 출력하는 단계(b33) outputting the determined value input from the lattice queue according to the output value inputted with the OR; 를 포함하는 복수 카메라를 이용한 실시간 입체 영상 정합 방법.Real-time stereoscopic image registration method using a plurality of cameras including a. 제 10 항에 있어서, The method of claim 10, 상기 (a)단계는, In step (a), (a1)입력 버퍼에 의해 동작되고 각 플립플롭이 픽셀 데이터를 입력받을지를 결정하는 인에이블 신호와 픽셀 인덱스를 생성하는 단계와, (a1) generating an enable signal and a pixel index operated by the input buffer and determining whether each flip-flop receives pixel data; (a2)상기 인에이블 신호에 의거하여 각각 한 개씩의 픽셀값을 저장하고 상기 픽셀값을 가진 상태에서 상기 픽셀 인덱스에 맞게 각 픽셀에 가중치를 주는 단계와,(a2) storing one pixel value based on the enable signal and weighting each pixel according to the pixel index in the state having the pixel value; (a3)상기 픽셀 인덱스와 상기 픽셀값을 사용하여 프로세싱 엘리먼트에게 내어줄 픽셀값을 배율기(MultiPlier)와 가산기(Adder)와 분배기(Divider)를 이용하여 더한 후 나누어 주면서 계산하는 단계(a3) calculating a pixel value to be given to a processing element using the pixel index and the pixel value by adding and dividing the result by using a multiplier, an adder, and a divider 를 포함하는 복수 카메라를 이용한 실시간 입체 영상 정합 방법.Real-time stereoscopic image registration method using a plurality of cameras including a.
KR1020070107551A 2007-10-25 2007-10-25 Real-time stereo matching system by using multi-camera and its method KR100926127B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070107551A KR100926127B1 (en) 2007-10-25 2007-10-25 Real-time stereo matching system by using multi-camera and its method
PCT/KR2008/006267 WO2009054683A1 (en) 2007-10-25 2008-10-23 System and method for real-time stereo image matching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070107551A KR100926127B1 (en) 2007-10-25 2007-10-25 Real-time stereo matching system by using multi-camera and its method

Publications (2)

Publication Number Publication Date
KR20090041843A KR20090041843A (en) 2009-04-29
KR100926127B1 true KR100926127B1 (en) 2009-11-11

Family

ID=40579721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070107551A KR100926127B1 (en) 2007-10-25 2007-10-25 Real-time stereo matching system by using multi-camera and its method

Country Status (2)

Country Link
KR (1) KR100926127B1 (en)
WO (1) WO2009054683A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012047216A1 (en) * 2010-10-06 2012-04-12 Hewlett-Packard Development Company, L.P. Systems and methods for acquiring and processing image data produced by camera arrays
WO2012056437A1 (en) 2010-10-29 2012-05-03 École Polytechnique Fédérale De Lausanne (Epfl) Omnidirectional sensor array system
BR112013013565B1 (en) 2010-12-02 2021-11-23 Ultradent Products Inc SYSTEM AND METHOD OF VIEWING AND TRACKING STEREOSCOPIC VIDEO IMAGES
JP6351579B2 (en) * 2012-06-01 2018-07-04 ウルトラデント プロダクツ インク. Stereoscopic video imaging

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040069623A (en) * 2003-01-30 2004-08-06 학교법인 포항공과대학교 A multilayered real-time stereo matching system using the systolic array and method thereof
JP2005009883A (en) 2003-06-16 2005-01-13 Calsonic Kansei Corp Stereoscopic camera apparatus
KR20060023714A (en) * 2004-09-10 2006-03-15 학교법인 포항공과대학교 System and method for matching stereo image
KR20060041060A (en) * 2004-11-08 2006-05-11 한국전자통신연구원 Apparatus and method for production multi-view contents

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040069623A (en) * 2003-01-30 2004-08-06 학교법인 포항공과대학교 A multilayered real-time stereo matching system using the systolic array and method thereof
JP2005009883A (en) 2003-06-16 2005-01-13 Calsonic Kansei Corp Stereoscopic camera apparatus
KR20060023714A (en) * 2004-09-10 2006-03-15 학교법인 포항공과대학교 System and method for matching stereo image
KR20060041060A (en) * 2004-11-08 2006-05-11 한국전자통신연구원 Apparatus and method for production multi-view contents

Also Published As

Publication number Publication date
WO2009054683A1 (en) 2009-04-30
KR20090041843A (en) 2009-04-29

Similar Documents

Publication Publication Date Title
EP1175104A2 (en) Stereoscopic image disparity measuring system
GB2553782A (en) Predicting depth from image data using a statistical model
US6831684B1 (en) Circuit and method for pixel rearrangement in a digital pixel sensor readout
JP4687772B2 (en) Image processing apparatus, image processing method, and program
CN103220545B (en) Hardware implementation method of stereoscopic video real-time depth estimation system
Perri et al. Adaptive Census Transform: A novel hardware-oriented stereovision algorithm
Ttofis et al. High-quality real-time hardware stereo matching based on guided image filtering
CA2258293A1 (en) Data processing system and method
JPWO2019065536A1 (en) Reconstruction method and reconfiguration device
KR100926127B1 (en) Real-time stereo matching system by using multi-camera and its method
EP1445964A2 (en) Multi-layered real-time stereo matching method and system
CN110462685B (en) Three-dimensional model reconstruction method and system
US8427524B2 (en) Message propagation-based stereo image matching system
Ding et al. Real-time stereo vision system using adaptive weight cost aggregation approach
CN113327318B (en) Image display method, image display device, electronic equipment and computer readable medium
CN104471612A (en) Image processing device and image processing method
Ustukov et al. Implementing one of stereovision algorithms on FPGA
KR20060023714A (en) System and method for matching stereo image
CN115380312A (en) Point cloud data processing method and device, electronic equipment and computer storage medium
CN108965873A (en) A kind of adaptive division methods of pulse array coding
CN101523436A (en) Method and filter for recovery of disparities in a video stream
US20230177771A1 (en) Method for performing volumetric reconstruction
KR100795974B1 (en) Apparatus for realtime-generating a depth-map by processing streaming stereo images
CN116452649A (en) Event data enhancement-based moving object reconstruction method and device
CN114885144B (en) High frame rate 3D video generation method and device based on data fusion

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee