KR101915729B1 - Apparatus and Method for Generating 360 degree omni-directional view - Google Patents
Apparatus and Method for Generating 360 degree omni-directional view Download PDFInfo
- Publication number
- KR101915729B1 KR101915729B1 KR1020170077815A KR20170077815A KR101915729B1 KR 101915729 B1 KR101915729 B1 KR 101915729B1 KR 1020170077815 A KR1020170077815 A KR 1020170077815A KR 20170077815 A KR20170077815 A KR 20170077815A KR 101915729 B1 KR101915729 B1 KR 101915729B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- virtual camera
- degree
- view image
- images
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012545 processing Methods 0.000 claims abstract description 80
- 230000006870 function Effects 0.000 claims abstract description 43
- 238000012937 correction Methods 0.000 claims abstract description 29
- 238000003384 imaging method Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 6
- 230000003287 optical effect Effects 0.000 claims description 64
- 239000011159 matrix material Substances 0.000 claims description 51
- 230000009466 transformation Effects 0.000 claims description 43
- 230000000694 effects Effects 0.000 claims description 27
- 239000013598 vector Substances 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 11
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 230000013011 mating Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 27
- 230000033001 locomotion Effects 0.000 description 12
- 239000003086 colorant Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003702 image correction Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 208000002173 dizziness Diseases 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2625—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of images from a temporal image sequence, e.g. for a stroboscopic effect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/69—Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
-
- H04N5/23296—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
Abstract
Description
본 발명은 360도 전방향 뷰 영상 생성 장치 및 방법에 관한 것으로, 더욱 자세하게는 전방향 뷰 영상 생성을 위하여 복수 개의 카메라로 전방위 영역을 촬영할 때, 복수 개의 카메라 간에 센서의 촬영 동기를 맞추고, 각 카메라 렌즈의 왜곡 보정 및 전체 카메라 위치 및 자세 등의 보정 기능을 수행하여 전방향 뷰 영상을 생성하는 360도 전방향 뷰 영상 생성 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for generating a 360-degree omnidirectional view image, and more particularly, to an apparatus and method for generating 360-degree omnidirectional view image by synchronizing shooting motions of sensors between a plurality of cameras, And more particularly, to a 360-degree omnidirectional view image generating apparatus and method for generating a omnidirectional view image by correcting a distortion of a lens and correcting functions of an entire camera position and posture.
최근 많은 보안 및 감시용 카메라가 감시 시스템용으로 또는 차량의 블랙박스용으로 많이 사용되고 있다. 널리 사용되고 있는 카메라 장치는 기계적인 팬(pan), 틸트(tile), 줌(zoom) 기능을 구비한 PTZ 카메라이다. 그러나 PTZ 카메라는 PTZ 기능을 이용하여 대상물을 명확하게 촬영하는 것을 목적으로 하기에 렌즈의 화각이 넓지 않아 특정 시점에서 촬영할 수 있는 범위가 한정되어 있다.In recent years, many security and surveillance cameras have been widely used for surveillance systems or for black boxes in vehicles. A widely used camera device is a PTZ camera equipped with a mechanical pan, tilt, and zoom function. However, the PTZ camera has a limited range of shooting at a specific point of time because the angle of view of the lens is not wide for the purpose of clearly capturing an object using the PTZ function.
반면에 넓은 범위를 촬영할 수 있도록 하기 위하여 어안(fish-eye)렌즈나 광각 렌즈를 채용할 수 있는데, 이 경우 촬영되는 영상이 둥근 모양으로서 전체적으로 왜곡이 심하게 된다. On the other hand, a fish-eye lens or a wide-angle lens can be employed in order to capture a wide range of images.
또한, 전방향 영상을 촬영하기 위해서는 복수 개의 카메라를 이용할 수밖에 없다. 카메라 수가 많아지면 각 카메라가 촬영할 범위가 좁아지기 때문에 일반적인 PTZ 카메라를 사용하여 왜곡 없이 촬영할 수도 있지만 광각 렌즈를 사용하여 카메라의 수를 줄이고자 하는 경우에는 촬영된 영상에 왜곡이 생기게 된다. 그리고 각 카메라가 독립적으로 촬영을 하기 때문에 각 카메라에서 촬영한 영상을 정합하였을 때에, 겹쳐지는 부분에 이동체 등이 나타날 때나 역광 상황 등에서는 경계부분에서의 모션 발생이나 색상차로 인한 이질감이 상당히 발생하게 된다.In addition, a plurality of cameras can only be used to capture an omnidirectional image. As the number of cameras increases, the range of each camera becomes narrower. Therefore, a normal PTZ camera can be used without distortion. However, when the number of cameras is reduced by using a wide-angle lens, the captured image is distorted. Since each camera shoots independently, when a moving object appears at the overlapping part in the overlapping part, or when there is a backlight situation, there is a considerable sense of motion due to motion or color difference in the boundary part .
본 발명의 목적은 복수 개의 카메라의 동시에 동일하게 동작하도록 제어하여 경계부분에서 발생할 수 있는 이질감을 최소화하고, 복수의 카메라의 렌즈 간 화각 및 왜곡 차이, 카메라 체결시 오차, 렌즈 체결시 오차 등으로 발생할 수 있는 영상의 왜곡 보정을 할 수 있는 가상카메라 기반의 360도 전방향 뷰 영상 생성 장치 및 방법을 제공함에 있다.It is an object of the present invention to provide an image processing apparatus and a method for controlling a plurality of cameras so as to operate at the same time to minimize a degree of heterogeneity that may occur at a boundary portion and to reduce errors in view angle and distortion, And an object of the present invention is to provide an apparatus and method for generating a 360 degree omnidirectional view image based on a virtual camera capable of correcting distortion of an image.
전술한 목적을 달성하기 위한 본 발명에 따른 360도 전방향 뷰 영상 생성 장치는 360도 전방향 영역을 분할 촬상할 수 있는 복수 개의 영상 센서를 포함하는 센서부, 상기 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하고, 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상을 수신받아 처리하는 영상처리 프로세서, 및 상기 영상처리 프로세서로부터 수신한 상기 복수 개의 영상을 정합하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는, 다중 디지털 이미지 프로세서를 포함할 수 있다.According to another aspect of the present invention, there is provided a 360-degree omni-directional view image generating apparatus including a sensor unit including a plurality of image sensors capable of dividing a 360-degree omni-directional area, An image processing processor for controlling the plurality of image sensors to be in the same exposure and same color control, receiving and processing a plurality of images picked up by the plurality of image sensors, To generate a 360 degree omnidirectional view image that is visible at any set point in time.
좀 더 상세히 살펴보면, 상기 영상처리 프로세서는 상기 복수 개의 영상 센서 각각에 대응하는 복수 개의 영상처리 프로세서를 구비하고, 상기 복수 개의 영상처리 프로세서 중 하나는 주 영상처리 프로세서이고, 나머지는 보조 영상처리 프로세서이며, 상기 주 영상처리 프로세서는 상기 복수 개의 영상 센서가 동일 촬상 시간을 가질 수 있도록 상기 복수 개의 영상 센서 및 상기 보조 영상처리 프로세서에 클럭 및 영상 동기 신호를 제공할 수 있다. 그리고 상기 보조 영상처리 프로세서는 대응하는 영상 센서로부터 수신한 영상의 제1 광학적 특성을 검출하여 상기 주 영상처리 프로세서로 전달하고, 상기 주 영상처리 프로세서는 대응하는 영상 센서로부터 수신한 영상의 제2 광학적 특성을 검출하고, 상기 보조 영상처리 프로세서로부터 수신한 상기 제1 광학적 특성 및 상기 제2 광학적 특성을 비교하여 노출 값 및 색상 제어 정보를 결정한 후, 제어 신호로 상기 보조 영상처리 프로세서에 전달하며, 상기 보조 영상처리 프로세서 및 상기 주 영상처리 프로세서는 대응하는 영상 센서의 셔터 속도(Shutter Speed) 및 자동이득제어(automatic gain control) 값을 조정할 수 있다.In more detail, the image processing processor includes a plurality of image processing processors corresponding to each of the plurality of image sensors, one of the plurality of image processing processors is a main image processing processor, and the other is an auxiliary image processing processor The main image processing processor may provide a clock and an image synchronization signal to the plurality of image sensors and the auxiliary image processing processor so that the plurality of image sensors have the same imaging time. The main image processing processor detects a first optical characteristic of an image received from a corresponding image sensor and transmits the first optical characteristic of the image received from the corresponding image sensor to the main image processing processor, And determines the exposure value and the color control information by comparing the first optical characteristic and the second optical characteristic received from the auxiliary image processing processor and then transmits the control signal to the auxiliary image processing processor, The auxiliary image processing processor and the main image processing processor may adjust the shutter speed and automatic gain control value of the corresponding image sensor.
상기 다중 디지털 이미지 프로세서는 설정된 가상 카메라의 위치 및 자세를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계(world coordinate)상의 좌표()로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 영상 효과를 얻기 위해 투영 방식에 따라 장면 좌표계상의 광축 중심(optical center;)을 설정하는 가상 카메라 모델부, 상기 가상 카메라 모델부에 의하여 생성된 장면 좌표계 상의 좌표()를 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑 시에 사용되고, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델()을 생성하는 2차 곡면 모델부, 상기 가상 카메라 모델부에서 획득한 장면 좌표계 상의 좌표(), 장면 좌표계상의 광축 중심(), 및 상기 2차 곡면 모델부에서 생성한 2차 곡면 모델()을 바탕으로 상기 장면 좌표계상의 좌표()를 상기 2차 곡면의 한 점으로 투영하고, 상기 2차 곡면에 투영된 한 점을 다시 상기 복수 개의 영상의 각 영상으로 투영하여 상기 장면 좌표계상의 좌표()를 상기 복수의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표()별로 주변 픽셀들의 픽셀값을 보간(interpolating)하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모델부, 및 상기 전방향 카메라 투영 모델부에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 정합하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값을 결정하는 정합부를 포함할 수 있다. 이에 더하여 상기 다중 디지털 이미지 프로세서의 각 부에서 사용될 파라미터를 사용자로부터 입력받아 설정하는 파라미터 설정부를 더 포함할 수 있다.The multi-digital image processor calculates a coordinate ( u ) of a point of a 360-degree forward view image ( J ) displayed at a viewpoint of the virtual camera on the basis of the set position and posture of the virtual camera, ), Performs perspective compensation through magnitude conversion, and calculates the center of the optical axis on the scene coordinate system according to the projection method to obtain a visual effect. ), Coordinates on the scene coordinate system generated by the virtual camera model unit ( ) Corresponding pixel coordinates of each image of the plurality of images ), And a secondary curved surface model (hereinafter referred to as " secondary curved surface model ") modeled as a secondary curved surface that can insert a video effect into a 360-degree forward view image J A second curved surface model unit for generating coordinates of a scene on the scene coordinate system acquired by the virtual camera model unit ), The center of the optical axis on the scene coordinate system ( ), And a secondary curved surface model generated by the secondary curved surface model unit ( Coordinates on the scene coordinate system ( ) Onto a point on the secondary curved surface, projecting a point projected on the secondary curved surface onto each of the images of the plurality of images, ) Corresponding pixel coordinates of each image of the plurality of images ), And the corresponding pixel coordinates ( ) Interpolating pixel values of neighboring pixels for each of the plurality of images with respect to a coordinate u of a point of a 360-degree forward view image J viewed from the viewpoint of the virtual camera, Directional camera projection modeling unit for acquiring a 360-degree omnidirectional view image from the virtual camera, and acquiring a 360-degree omnidirectional view image ( U ) of a point of the point ( J ). In addition, the image processing apparatus may further include a parameter setting unit for receiving and setting parameters to be used in each unit of the multiple digital image processor.
상기 다중 디지털 이미지 프로세서의 각 부를 좀 더 상세히 살펴보면, Each part of the multiple digital image processor will be described in more detail.
상기 가상 카메라 모델부는 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 가상 카메라 좌표계에서 (x, y)의 직각 좌표 형식의 좌표 또는 (r, ρ)의 극좌표 형식의 좌표로 표시하는 좌표 표시모듈, 상기 가상 카메라의 위치 및 자세 정보를 입력받고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계상의 좌표로 변환하는 변환 행렬()을 생성하는 위치설정 모듈, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정하고, 상기 조정에 따라 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 조정하는 크기 조정 모듈, 상기 위치설정 모듈에서 생성한 변환 행렬()를 바탕으로 상기 좌표 표시모듈 및 상기 크기 조정 모듈에서 생성하고 조정한 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계의 좌표()로 변환하는 변환 모듈, 및 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 광축 중심()을 계산하는 광축 중심 설정모듈을 포함할 수 있다.The virtual camera model unit converts coordinates ( u ) of a point of a 360-degree forward view image ( J ) shown at the viewpoint of the virtual camera into coordinates of a rectangular coordinate system of (x, y) and coordinates of a point of a 360-degree omnidirectional view image ( J ) displayed at the viewpoint of the virtual camera. The coordinates ( u ) Into coordinates on the scene coordinate system ( , A position setting module for adjusting the size ratio of the horizontal axis and the vertical axis of the 360 degrees forward view image J viewed from the viewpoint of the virtual camera, A size adjustment module for adjusting a coordinate u of a point of the forward view image J , a transformation matrix ( U ) of a point of a 360-degree omnidirectional view image ( J ) displayed at the viewpoint of the virtual camera created and adjusted by the coordinate display module and the size adjustment module is calculated based on the coordinate ) And a conversion module for converting the center of the optical axis of the 360-degree forward view image ( J ) shown at the viewpoint of the virtual camera ) Of the optical axis centering module.
그리고 상기 좌표 표시모듈은 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심()을 이용하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 로 계산하여 직각 좌표 형식의 좌표()로 표시하고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 로 계산하여 극좌표 형식의 좌표()로 표시할 수 있다. 여기서The coordinate display module displays the center of the 360-degree forward view image J displayed at the viewpoint of the virtual camera ( U ) of a point of the 360-degree forward view image J shown at the viewpoint of the virtual camera using To the coordinates in the rectangular coordinate form ( ( U ) of a point of the 360-degree forward view image J shown at the viewpoint of the virtual camera is represented by To the coordinates in polar coordinates ( ). here
이고, 은 극좌표 형식에서 사용되는 반지름의 최소값, 는 극좌표 형식에서 사용되는 반지름의 최대값, 은 극좌표 형식에서 사용되는 반지름 방향의 픽셀 수, 은 극좌표 형식에서 사용되는 각도의 최소값, 는 극좌표 형식에서 사용되는 각도의 최대값, 는 극좌표 형식에서 사용되는 각도 방향의 픽셀 수이고, 이다. ego, Is the minimum value of the radius used in the polar coordinate format, Is the maximum value of the radius used in polar form, Is the number of radial pixels used in polar form, Is the minimum value of the angle used in the polar coordinate format, Is the maximum value of the angle used in the polar coordinate format, Is the number of pixels in the angular direction used in the polar coordinate format, to be.
또한, 상기 위치설정모듈은In addition, the positioning module
식을 이용하여 변환행렬()을 구하되, 는 장면 좌표계상에서의 2차 곡면 모델의 중심이며, 상기 가상 카메라의 팬, 틸트 회전의 중심이고, 은 장면 좌표계상에서의 가상 카메라의 위치, φn 및 θn는 각각 상기 가상 카메라의 장면 좌표계의 z축에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)이고, trans()는 3차원 공간상의 이동 행렬을 나타내는 함수이고, rotz()와 rotx()는 3차원 공간상의 각각 z축과 x축에 대한 회전을 나타내는 함수이다. The transformation matrix ( ), Is the center of the quadratic surface model on the scene coordinate system and is the center of the pan and tilt rotation of the virtual camera, Is the position of the virtual camera on the scene coordinate system, phi n And θ n are the azimuth and elevation of the scene coordinate system of the virtual camera with respect to the z axis, trans () is a function representing a moving matrix on the three-dimensional space, and rot z () And rot x () are functions that represent the rotation about the z-axis and the x-axis on the three-dimensional space.
또한, 상기 광축 중심 설정모듈은 가상 카메라의 유형이 원근 투영 카메라인지 직각 투영 카메라인지에 따라 In addition, the optical axis centering module may determine whether the type of virtual camera is a perspective projection camera or a perpendicular projection camera
에 의하여 광축 중심()을 계산하되, 은 초점 거리(focal length)이고, 는 상기 변환모듈에서 생성한 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 좌표이고, 및 은 변환 행렬 () 을 단위 벡터 형태인 으로 표현할 때의 단위 벡터들이다.The center of the optical axis ), Is the focal length, Is a coordinate of a scene coordinate system corresponding to a coordinate ( u ) of a point of a 360-degree forward view image ( J ) viewed from the viewpoint of the virtual camera generated by the conversion module, And Lt; RTI ID = 0.0 > ( ) As a unit vector form Are unit vectors when expressed as a unit vector.
또한, 상기 2차 곡면 모델부는 복수 개의 2차 곡면 모델 중의 하나를 선택하고, 선택된 2차 곡면 모델에 대한 파라미터를 이용하여 선택된 2차 곡면 모델을 표현하는 행렬()을 생성하는 2차 곡면 모델 선정 모듈, 상기 2차 곡면상의 점들을 장면 좌표계상의 좌표들로 변환하기 위한 변환행렬()을 생성하는 좌표설정 모듈, 및 상기 변환행렬()을 이용하여 상기 선택된 2차 곡면 모델을 표현하는 행렬()을 장면 좌표계상에서 상기 선택된 2차 곡면 모델을 표현하는 행렬()로 변환하는 변환 모듈을 포함할 수 있는데, 상기 2차 곡면 모델 선정 모듈은 타원체(Ellipsoid) 모델, 실린더(Cylinder) 모델, 포물면(Paraboloid) 모델, 및 사용자 설정 2차 곡면 모델 중 하나의 모델을 선택하고, 상기 좌표설정 모듈은 식을 이용하여 변환행렬()을 구하되, φn 및 θn는 각각 상기 2차 곡면 모델의 장면 좌표계의 z축에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)이고, rotz()와 rotx()는 3차원 공간상의 각각 z축과 x축에 대한 회전을 나타내는 함수이고, 상기 변환 모듈은 상기 선택된 2차 곡면 모델을 표현하는 행렬() 및 변환행렬()을 바탕으로 장면 좌표계상에서 상기 선택된 2차 곡면 모델을 표현하는 행렬()을 식을 이용하여 계산할 수 있다.The quadric surface modeling unit may be configured to select one of the plurality of quadric surface models and to use the parameters of the selected quadric surface model to express a selected quadric surface model ), A transformation matrix for transforming the points on the quadratic surface into coordinates on the scene coordinate system (" ), And a transformation matrix (" ) To express the selected quadratic surface model ) Representing the selected curved surface model on the scene coordinate system ( The secondary curved surface model selection module may include a transformation module for transforming a model of an Ellipsoid model, a cylinder model, a paraboloid model, and a user- , And the coordinate setting module The transformation matrix ( ), Where φ n And θ n are a horizontal azimuth and a vertical rotation angle of the scene coordinate system of the quadratic curve model with respect to the z axis and rot z () and rot x () And a rotation about the x-axis, and the transformation module is a function for expressing the selected quadratic surface model ) And a transformation matrix ( ) Representing the selected curved surface model on the scene coordinate system )of Can be calculated using an equation.
그리고 상기 전방향 카메라 투영 모델부는 상기 가상 카메라 모델부에서 획득한 장면 좌표계 상의 좌표(), 및 장면 좌표계 상의 광축 중심()을 연결하는 직선인 투영선과 상기 2차 곡면 모델()과의 교차점()을 계산하는 교차점 모듈; 및 상기 교차점()을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표()의 주변 픽셀들의 픽셀값을 보간하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모듈을 포함하고, 좀 더 상세히 보면, 상기 전방향 카메라 투영 모듈은 장면 좌표계로 표현된 상기 교차점()을 카메라 좌표계의 대응하는 좌표()로 변환하는 변환 모듈, 상기 변환 모듈에서 생성되는 상기 교차점의 카메라 좌표계 좌표()로부터 영상의 왜곡을 보정할 수 있는 상기 복수 개의 영상의 각 영상의 실제 픽셀 좌표()를 획득하는 좌표 계산 모듈, 및 상기 좌표 계산 모듈에서 획득한 상기 복수 개의 영상의 각 영상의 실제 픽셀 좌표()별로 주변 픽셀들의 픽셀값들을 획득하고, 상기 주변 픽셀들의 픽셀값들을 바탕으로 보간(interpolation)하여 출력하는 보간 모듈을 포함하고, 상기 좌표계산 모듈은 상기 복수 개의 영상의 각 영상에 존재하는 왜곡에 대하여 수치적으로 근사한 테일러 확장(Taylor expansion series) 기반의 근사 모델을 기반으로 하는 왜곡 보정 매핑 함수()를 이용하여 상기 교차점()의 카메라 좌표계 좌표()를 왜곡 없는 영상 평면상의 한 점()으로 매핑하고, 어파인(affine) 변환 행렬()을 이용하여 상기 왜곡 없는 영상 평면상의 한 점()에 대응되는 상기 복수의 영상의 각 영상의 픽셀 좌표()를 획득할 수 있다.The omnidirectional camera projection model unit may include a coordinate system ), And the center of the optical axis on the scene coordinate system ( ) And the second curved surface model ( ) ≪ / RTI > ); ≪ / RTI > And the intersection point ) Corresponding pixel coordinates of each image of the plurality of images ), And the corresponding pixel coordinates ( ) To obtain a pixel value from each image of the plurality of images with respect to a coordinate u of a point of the 360-degree forward view image J viewed at the viewpoint of the virtual camera The omnidirectional camera projection module comprises an omnidirectional camera projection module for projecting the intersection point ) To the corresponding coordinates of the camera coordinate system ( ), A transformation module for transforming the coordinates of the camera coordinate system of the intersection point generated by the transformation module The actual pixel coordinates of each of the images of the plurality of images that can correct the distortion of the image ) Of the plurality of images obtained by the coordinate calculation module, And an interpolation module for interpolating and outputting pixel values of neighboring pixels on the basis of the pixel values of the neighboring pixels and outputting the interpolated values, A distortion correction mapping function based on an approximate model based on a Taylor expansion series approximated numerically ) At the intersection ( ) Coordinates of the camera coordinate system ( ) To a point on the distortion-free image plane ( ), And an affine transformation matrix ( ), A point on the distortion-free image plane ( ) Of the respective images of the plurality of images corresponding to the pixel coordinates Can be obtained.
그리고 상기 정합부는 상기 전방향 카메라 투영 모델부에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값에 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)로부터 상기 각 영상의 경계까지의 거리에 기반한 가중치를 곱하고 평균하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값으로 결정할 수 있는데, 바람직하게는 식을 이용하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값()을 결정할 수 있다. 여기서, k는 상기 복수 개의 영상의 수이고, 는 상기 전방향 카메라 투영 모델부에서 i번째 영상으로부터 획득한 픽셀값이고, 는 i번째 영상에서 상기 좌표(u)에서 상기 i번째 영상의 경계까지의 거리에 따른 가중치이고, 상기 는The matching unit may multiply the pixel values from the respective images of the plurality of images acquired by the forward direction camera projection model unit by a coordinate u of a point of the 360 degrees forward view image J viewed from the viewpoint of the virtual camera (I) of the 360-degree forward view image J viewed from the viewpoint of the virtual camera, and determines the pixel value as a pixel value with respect to the coordinate u , Preferably ( U ) of a point of a 360-degree forward view image ( J ) shown at the viewpoint of the virtual camera using the equation Can be determined. Here, k is the number of the plurality of images, Is a pixel value obtained from the i-th image in the forward camera projection model unit, Is a weight according to the distance from the coordinate ( u ) to the boundary of the i-th image in the i-th image, The
식을 이용하여 결정하되 Use the formula to determine
θmax는 영상센서의 최대 화각이고, α는 이웃한 영상센서와의 겹치는 각도이고, θ는 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 극좌표 형식으로 표시하였을 때의 각도이다.θ max is the maximum angle of view of the image sensor, α is the overlap angle between adjacent image sensor, θ is the coordinates (u) of a point on the 360-degree omni-directional view image (J) shown in the timing of the virtual camera, This is the angle when displayed in polar coordinate format.
그리고 360도 전방향 뷰 영상 생성 장치는 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상들을 저장하기 위한 저장 장치를 더 포함할 수 있는데, 이때 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상들은 동기화되어 하나의 파일로 저장되고, 그리고 상기 복수 개의 영상과 동시에 획득한 음성 정보 및 GPS 정보를 함께 저장할 수 있다. 그리고 상기 영상처리 프로세서는 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상 대신에 상기 저장 장치에 동기화되어 하나의 파일로 저장된 복수 개의 영상들을 읽어드려 처리하여 360도 전방향 뷰 영상을 생성할 수 있다.The 360 degree omnidirectional view image generation apparatus may further include a storage device for storing a plurality of images captured by the plurality of image sensors, wherein the plurality of images captured by the plurality of image sensors are synchronized with each other, And the voice information and GPS information acquired at the same time as the plurality of images can be stored together. The image processing processor may generate a 360-degree forward view image by reading and processing a plurality of images stored in a file synchronized with the storage device instead of a plurality of images captured by the plurality of image sensors.
전술한 목적을 달성하기 위한 본 발명에 따른 360도 전방향 뷰 영상 생성 방법은 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하는 단계, 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 획득하는 단계, 및 상기 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method of generating a 360-degree omnidirectional view image, the method comprising: controlling the plurality of image sensors so that a plurality of image sensors have the same imaging time, The method of
각 단계를 좀 더 상세히 살펴보면, 상기 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하는 단계는 상기 복수 개의 영상 센서로 동일한 클럭 신호와 영상 동기 신호를 전달하는 단계, 영상처리 프로세서가 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 획득하여 각 영상의 광학적 특성을 검출하는 단계, 검출한 상기 각 영상의 광학적 특성을 비교하여 노출 값 및 색상 보정 정보를 결정하는 단계, 및 결정된 상기 노출값 및 색상 보정 정보를 바탕으로 상기 복수의 영상 센서를 제어하는 단계를 포함할 수 있고, 상기 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계는 설정된 가상 카메라의 위치 및 자세를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점(u)의 좌표를 장면 좌표계(world coordinate)상의 좌표()로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 특수 효과를 얻기 위해 투영 방식에 따라 장면 좌표계 상의 광축 중심(optical center;)을 설정하는 가상 카메라 모델 생성 단계, 상기 가상 카메라 모델 생성 단계에서 생성된 장면 좌표계 상의 좌표()를 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑 시에 사용되고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델()을 생성하는 2차 곡면 모델 생성 단계, 상기 가상 카메라 모델 생성 단계에서 생성한 장면 좌표계 상의 좌표(), 장면 좌표계 상의 광축 중심(), 및 상기 2차 곡면 모델 생성 단계에서 획득한 2차 곡면 모델()을 바탕으로 상기 장면 좌표계 상의 좌표()를 상기 2차 곡면의 한 점으로 투영하고, 상기 2차 곡면에 투영된 한 점을 다시 상기 복수 개의 영상의 각 영상으로 투영하여 상기 장면 좌표계 상의 좌표()를 대응하는 전방향 카메라 영상의 픽셀 좌표()로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표()별로 주변 픽셀들의 픽셀값을 보간(interpolating)하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모델 생성 단계, 및 상기 전방향 카메라 투영 모델 생성 단계에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 정합하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값을 결정함으로써 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)을 생성하는 영상 생성 단계를 포함할 수 있다. 그리고 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계는 원근감 보정을 위하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 크기를 보상하는 단계를 더 포함할 수 있다.Controlling each of the plurality of image sensors so that the plurality of image sensors have the same image sensing time, same exposure, and same color control may be performed by the plurality of image sensors, Acquiring a plurality of images captured by the plurality of image sensors and detecting optical characteristics of the images; comparing the optical characteristics of the detected images to obtain exposure values and color correction information; And controlling the plurality of image sensors based on the determined exposure value and the color correction information. The method may further include removing distortion included in each image based on the plurality of images, Combine the removed images to generate a 360 degree omnidirectional view image that is displayed at a set point. Coordinates on the stage set and the virtual camera position based on the coordinates of the point (u) of 360 ° omni-directional view video (J) as shown from the point of view of the virtual camera, the scene coordinate positions (world coordinate) of ( ), Performs perspective compensation through magnification conversion, and uses an optical center (XYZ) on the scene coordinate system according to the projection method to obtain a special effect. A virtual camera model creation step of creating a virtual camera model, ) Corresponding pixel coordinates of each image of the plurality of images And a secondary curved surface model ( J ) modeled as a secondary curved surface that can be used to insert a video effect into the 360-degree forward view image J , which is used at the time of the virtual camera A second curved surface model generating step of generating a second curved surface model, ), The center of the optical axis on the scene coordinate system ( ), And a secondary curved surface model obtained in the secondary curved surface model generation step ( Coordinates on the scene coordinate system ( ) Onto a point on the secondary curved surface, projecting a point projected on the secondary curved surface onto each of the images of the plurality of images, ) To the pixel coordinate of the corresponding forward camera image ( ), And the corresponding pixel coordinates ( ) Interpolating pixel values of neighboring pixels for each of the plurality of images with respect to a coordinate u of a point of a 360-degree forward view image J viewed from the viewpoint of the virtual camera, And generating an omnidirectional camera projection model by matching the pixel values from the respective images of the plurality of images acquired in the omnidirectional camera projection model generation step and outputting the 360 degrees forward direction by determining the pixel value for the point coordinates (u) of the view image (J) 360 shown in the time point of the virtual camera may also include an image generation step of generating a forward view image (J). The step of generating the 360-degree omnidirectional view image at the set arbitrary time may further include compensating the size of the 360-degree omnidirectional view image J displayed at the viewpoint of the virtual camera for the perspective correction have.
설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계 내의 각 과정을 좀 더 상세히 살펴보면,Each step in the step of generating a 360-degree omnidirectional view image that is displayed at an arbitrary set point will be described in more detail.
상기 가상 카메라 모델 생성 단계는 사용자가 원하는 임의 시점에서의 영상을 생성하고, 기계식 카메라의 디지털 팬(pan), 틸트(tilt), 줌(zoom) 기능을 에뮬레이션할 수 있도록 가상 카메라의 위치 및 자세를 설정하는 단계, 가상 카메라의 유형 및 각 유형별 파라미터들을 설정하는 단계, 및 설정된 상기 가상 카메라의 유형, 위치, 및 자세를 바탕으로 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 장면 좌표계 상의 좌표() 및 광축 중심()을 계산하는 단계를 포함할 수 있는데, 상기 가상 카메라의 위치 및 자세를 설정하는 단계는 장면 좌표계의 x, y, z축의 방향 및 가상 좌표계의 xn, yn, zn의 방향을 설정하는 단계, 장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정하는 단계, 및 장면 좌표계의 중심으로부터의 거리를 설정하는 단계를 포함할 수 있고, 상기 가상 카메라의 유형 및 각 유형별 파라미터들을 설정하는 단계는 일반적인 원근 효과를 갖는 원근 투영 카메라(perspective projection camera), 원근 효과가 제거된 렌즈를 모방하는 직각 투영 카메라(orthographic projection camera), 및 전방향 파노라마 영상을 생성할 수 있는 파노라마 카메라(panorama camera) 중의 하나를 가상 카메라의 유형으로 선택하는 단계 및 선택된 상기 가상 카메라의 유형에 따라 파라미터를 설정하는 단계를 포함할 수 있다.The virtual camera model generation step may include generating a virtual camera image at a desired time point and generating a virtual camera camera position and attitude so as to emulate a digital pan, tilt, and zoom function of the mechanical camera step of setting, in the virtual camera, the method comprising setting the types and each type of parameters of, and set the virtual type of the camera, a position, and a 360-degree omni-directional view image (J) is shown the posture at the time point of the virtual camera on the basis Coordinates on the scene coordinate system for a point ( ) And the center of the optical axis ( The step of setting the position and posture of the virtual camera may include setting directions of x, y, and z axes of the scene coordinate system and directions of x n , y n , and z n of the virtual coordinate system Setting a horizontal rotation angle (azimuth) and a vertical rotation angle (elevation) about the z-axis of the scene coordinate system, and setting a distance from the center of the scene coordinate system, And setting the parameters for each type may be accomplished by a perspective projection camera having a general perspective effect, an orthographic projection camera mimicking a lens with a perspective effect removed, and an omni-directional panoramic image Selecting one of the existing panorama cameras as the type of the virtual camera and selecting the parameter according to the type of the selected virtual camera And a step of setting the step.
또한, 상기 2차 곡면 모델 생성 단계는 2차 곡면 모델의 유형을 설정하는 단계, 설정된 상기 2차 곡면 모델의 자세 및 위치를 설정하는 단계, 설정된 상기 자세 및 위치를 바탕으로 상기 설정된 2차 곡면 모델의 장면 좌표계상의 2차 곡면 모델()을 계산하는 단계를 포함할 수 있는데, 나아가, 상기 2차 곡면 모델의 유형을 설정하는 단계는 가상 카메라의 팬, 틸트, 줌 효과를 얻기 위해 사용될 수 있는 타원체(Ellipsoid) 모델, 광각 영상 생성을 위한 실린더(Cylinder) 모델, 영상의 일정 부분만을 매핑하는 효과를 얻기 위한 포물면 모델, 및 사용자가 임의로 설정할 수 있는 사용자 2차 곡면 모델 중 하나를 선택하는 단계를 포함할 수 있고, 상기 설정된 상기 2차 곡면 모델의 자세 및 위치를 설정하는 단계는 장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정하는 단계를 포함할 수 있다.The generating of the secondary curved surface model may include setting a type of the secondary curved surface model, setting the attitude and position of the set secondary curved surface model, setting the set secondary curved surface model based on the set attitude and position, A quadratic surface model on the scene coordinate system ( The step of setting the type of the secondary curved surface model may include an Ellipsoid model that can be used to obtain the pan, tilt, and zoom effects of the virtual camera, A curved surface model for obtaining an effect of mapping only a certain portion of an image, and a user curved surface model that can be arbitrarily set by the user, Setting the posture and position of the curved surface model may include setting a horizontal azimuth and an elevation about the z-axis of the scene coordinate system.
또한, 상기 전방향 카메라 투영 모델 생성 단계는 상기 가상 카메라 모델 생성 단계에서 획득한 장면 좌표계 상의 좌표(), 및 장면 좌표계 상의 광축 중심()을 연결하는 직선인 투영선과 상기 2차 곡면 모델()과의 교차점()을 계산하는 단계, 상기 교차점()을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑(mapping)하는 단계, 및 상기 각 영상의 대응하는 픽셀 좌표()의 주변 픽셀들의 픽셀값을 보간하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 단계를 포함할 수 있는데, 특히, 상기 교차점()을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑(mapping)하는 단계는 장면 좌표계로 표현된 상기 교차점()을 카메라 좌표계의 대응하는 좌표()로 변환하는 단계, 상기 복수 개의 영상의 각 영상에 존재하는 왜곡에 대하여 수치적으로 근사한 테일러 확장(Taylor expansion series) 기반의 근사 모델을 기반으로 하는 왜곡 보정 매핑 함수()를 이용하여 상기 교차점()의 카메라 좌표계 좌표()를 왜곡 없는 영상 평면상의 한 점()으로 매핑하는 단계, 및 어파인(affine) 변환 행렬()을 이용하여 상기 왜곡 없는 영상 평면 상의 한 점()에 대응되는 상기 복수의 영상의 각 영상의 픽셀 좌표()를 획득하는 단계를 포함할 수 있다.In addition, the omnidirectional camera projection model generation step may include a step of generating coordinates ), And the center of the optical axis on the scene coordinate system ( ) And the second curved surface model ( ) ≪ / RTI > ), Calculating the intersection point ) Corresponding pixel coordinates of each image of the plurality of images ), Mapping the corresponding pixel coordinates (" ) To obtain a pixel value from each image of the plurality of images with respect to a coordinate u of a point of the 360-degree forward view image J viewed at the viewpoint of the virtual camera , And in particular, the intersection ( ) Corresponding pixel coordinates of each image of the plurality of images ) May include mapping the intersection points represented by the scene coordinate system ) To the corresponding coordinates of the camera coordinate system ( ), A distortion correction mapping function based on an approximate model based on a Taylor expansion series that is numerically approximated to distortion existing in each image of the plurality of images ) At the intersection ( ) Coordinates of the camera coordinate system ( ) To a point on the distortion-free image plane ( ), And a step of mapping an affine transformation matrix ( ), A point on the distortion-free image plane ( ) Of the respective images of the plurality of images corresponding to the pixel coordinates ). ≪ / RTI >
또한, 상기 원근감 보정을 위한 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 크기를 보상하는 단계는 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정하는 단계 및 상기 2차 곡면 모델의 유형과 파라미터 설정을 통해 깊이 및 크기를 보상하는 단계를 포함할 수 있다.In addition, the step of compensating for the size of the 360-degree forward view image J displayed at the viewpoint of the virtual camera for correcting the perspective sensation may be performed by using the horizontal axis of the 360-degree forward view image J , And adjusting the size ratio of the vertical axis and the type and parameter setting of the secondary curved surface model to compensate for the depth and the size.
그리고 360도 전방향 뷰 영상 생성 방법은 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 동기화시켜 하나의 파일로 저장하는 단계를 더 포함할 수 있고, 상기 하나의 파일로 저장하는 단계는 상기 복수 개의 영상과 동시에 획득한 음성 정보 및 GPS 정보를 함께 저장하는 단계를 또한 포함할 수 있다.The 360 degree omnidirectional view image generation method may further include synchronizing a plurality of images captured by the plurality of image sensors and storing the images as a single file, And concurrently storing the acquired voice information and GPS information together with the image.
그리고 360도 전방향 뷰 영상을 생성하는 또 다른 방법은 원본 영상으로 복수 개의 영상 센서에서 촬상한 실시간 영상 및 과거에 촬상되어 저장 장치에 저장된 영상 중 하나를 선택하는 단계, 선택된 상기 원본 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계, 생성한 360도 전방향 뷰 영상이 보여지는 시점 또는 가상 카메라의 위치 및 자세를 변경하는 단계, 및 변경된 상기 시점 또는 가상 카메라의 위치 및 자세에 따라 360도 전방향 뷰 영상을 생성하는 단계를 포함할 수 있다.Another method of generating a 360-degree omni-directional view image is to select one of a real-time image captured by a plurality of image sensors and an image captured in the past and stored in a storage device as an original image, Generating a 360-degree omnidirectional view image that is displayed at an arbitrary point in time by synthesizing the distorted images, removing the distortion included in each image, generating a 360-degree omni- Changing a position and a posture of the camera, and generating a 360-degree omni-directional view image according to the changed viewpoint or the position and posture of the virtual camera.
또한, 컴퓨터 또는 프로세서상에서 실행될 때, 상술한 방법 중 어느 하나에 따른 방법을 실행하는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램을 포함할 수 있다.It may also include a computer program stored on a computer readable recording medium that when executed on a computer or processor executes a method according to any of the methods described above.
본 발명에 의하면, 복수의 카메라에서 촬영한 영상을 바탕으로 360도 전방향 뷰 영상을 합성할 수 있는 효과가 있다.According to the present invention, it is possible to synthesize a 360-degree omnidirectional view image based on an image captured by a plurality of cameras.
또한, 복수의 카메라의 촬영 시점을 동기화시킴으로써 합성된 360도 전방향 뷰 영상의 복수의 카메라의 촬영 경계에서 발생할 수 있는 이질감을 최소화할 수 있는 효과가 있다.In addition, there is an effect that a sense of heterogeneity that may occur at the shooting boundary of a plurality of cameras of a 360-degree omnidirectional view image synthesized by synchronizing shooting times of a plurality of cameras can be minimized.
또한, 복수의 카메라에서 촬영한 영상을 합성시, 영상에 포함되는 왜곡을 보정해줌으로써 사용자의 눈에 보이는 실제 공간과의 이질감이 발생하고 공간감이 떨어지는 것을 방지하는 효과가 있다.In addition, when synthesizing images photographed by a plurality of cameras, distortions contained in the images are corrected, thereby providing a feeling of heterogeneity with the actual space seen by the user and preventing the feeling of space from being deteriorated.
도 1은 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치를 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 영상처리 프로세서(200)의 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 가상 카메라 기반의 임의 시점 영상을 생성하기 위한 다중 디지털 이미지 프로세서(300)의 구성을 개략적으로 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 가상 카메라 모델부(310)의 개략적인 구성을 도시한 도면이다.
도 5는 반사 굴절형 거울(mirror) 또는 렌즈를 사용하여 획득된 영상에서 극좌표 형식 영상을 사용하여 전방향 파노라마 영상을 생성하는 가상 카메라를 보여주는 것으로 영상 좌표(u)와 극좌표 (r, θ)의 관계를 도시한다.
도 6은 장면 좌표계(world coordinate)와 비교한 가상 카메라 좌표계 {n}을 도시한다.
도 7은 가상 카메라의 광축 중심을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 2차 곡면 모델부의 개략적인 구성을 도시한 도면이다.
도 9a 및 도 9b는 본 발명의 일 실시 예에 따른 타원체 모델(324), 실린더 모델(325), 및 포물면 모델(326)에 대한 파라미터를 도시하고 있다.
도 10은 본 발명의 일 실시 예에 따른 전방향 카메라 투영 모델부(330)의 개략적인 구성을 도시한 도면이다.
도 11은 2차 곡면 모델과 가상 카메라의 투영선의 교차점()의 일 예를 도시한 도면이다.
도 12는 본 발명의 일 실시 예에 따른 장면 좌표계상의 한 점()을 왜곡 없는 이상적인 영상 평면()의 대응하는 점으로 매핑하는 과정을 도시한다.
도 13은 3대의 카메라들 사이의 위치 및 자세를 나타내고 왜곡을 보정 하기 위한 파라미터를 획득하기 위한 방법의 일 실시 예를 도시한 도면이다.
도 14는 본 발명의 일 실시 예에 따른 가상 카메라의 투영선과 2차 곡면 모델과의 교차점()이 왜곡을 포함하는 이상적인 영상 평면상의 좌표()에 재투영되는 것을 도시한 도면이다.
도 15는 입력 영상 (a)로부터 왜곡이 보정된 영상 (b), (c)를 생성한 일 예를 보여준다.
도 16a 내지 도 16e는 본 발명의 일 실시 예에 따른 180도 이상의 화각을 갖는 2개의 전/후방 카메라를 이용하여 생성한 360도 전방향 뷰 영상을 도시한 것이다.
도 17a 내지 도 17g는 본 발명의 일 실시 예에 따른 가중치를 계산하는 예 및 가중치를 적용한 일 실시 예를 도시한 도면이다.
도 18은 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 방법을 도시한 도면이다.
도 19는 본 발명의 일 실시 예에 따른 복수의 영상 센서를 동기시키는 방법을 도시한 도면이다.
도 20은 본 발명의 일 실시 예에 따른 복수의 영상에 포함된 왜곡을 제거하고 복수의 영상을 정합하여 설정된 임의 시점에서 본 360도 전방향 뷰 영상을 생성하는 방법을 도시한 도면이다.
도 21은 본 발명의 일 실시 예에 따른 가상 카메라 모델 생성 단계(S310)를 구체적으로 도시한 도면이다.
도 22는 본 발명의 일 실시 예에 따른 2차 곡면 모델의 생성 단계(S320)를 구체적으로 도시한 도면이다.
도 23은 본 발명의 일 실시 예에 따른 전방향 카메라 투영 모델의 생성 단계(S330)를 구체적으로 도시한 도면이다.
도 24는 교차점()을 영상 센서에서 촬상한 영상의 대응하는 픽셀 좌표로 매핑하는 단계를 상세히 도시한 도면이다.
도 25는 본 발명의 일 실시 예에 따른 원근감 보정을 위한 크기 보상 단계를 구체적으로 도시한 도면이다.
도 26은 본 발명의 또 다른 일 실시 예에 따른 360도 전방향 뷰 영상을 생성하는 방법을 도시한다.FIG. 1 is a diagram illustrating a 360-degree omnidirectional view image generating apparatus according to an embodiment of the present invention.
2 is a diagram illustrating the structure of an
3 is a diagram schematically illustrating the configuration of a multiple
FIG. 4 is a diagram showing a schematic configuration of a virtual
Figure 5 is a catadioptric type mirror (mirror) or by using a polar coordinate format image showing the virtual camera to generate an omnidirectional image from the panorama image pickup by using the lens image coordinates (u) and And the polar coordinates (r, [theta]).
FIG. 6 shows a virtual camera coordinate system {n} compared with a world coordinate.
7 is a view for explaining the center of the optical axis of the virtual camera.
8 is a view showing a schematic configuration of a quadric surface model unit according to an embodiment of the present invention.
9A and 9B illustrate parameters for the ellipsoidal model 324, the cylinder model 325, and the parabolic model 326 according to an embodiment of the present invention.
FIG. 10 is a diagram showing a schematic configuration of an omnidirectional camera
Fig. 11 is a graph showing the relationship between the intersection of the projection plane of the secondary curved surface model and the virtual camera ).
FIG. 12 is a diagram illustrating a point on a scene coordinate system according to an exemplary embodiment of the present invention ) To the ideal image plane without distortion ( To the corresponding point of the second map.
13 is a diagram showing an embodiment of a method for indicating the position and attitude between three cameras and obtaining a parameter for correcting the distortion.
FIG. 14 is a graph showing the relationship between the intersection of the projection line of the virtual camera and the quadratic surface model according to the embodiment of the present invention ) Coordinates on the ideal image plane including this distortion As shown in FIG.
FIG. 15 shows an example of generating images (b) and (c) in which the distortion is corrected from the input image (a).
FIGS. 16A to 16E illustrate a 360-degree omnidirectional view image generated using two front / rear cameras having an angle of view of 180 degrees or more according to an embodiment of the present invention.
FIGS. 17A to 17G are views illustrating an example of calculating a weight according to an embodiment of the present invention and an embodiment to which weights are applied.
18 is a diagram illustrating a 360-degree forward view image generation method according to an embodiment of the present invention.
19 is a diagram illustrating a method of synchronizing a plurality of image sensors according to an embodiment of the present invention.
20 is a view illustrating a method of generating a 360-degree omnidirectional view image at a predetermined time point by removing a distortion included in a plurality of images and matching a plurality of images according to an embodiment of the present invention.
FIG. 21 is a diagram specifically illustrating a virtual camera model generation step (S310) according to an embodiment of the present invention.
FIG. 22 is a diagram specifically showing a generation step (S320) of a quadric curved surface model according to an embodiment of the present invention.
FIG. 23 is a diagram specifically illustrating a generation step (S330) of an omnidirectional camera projection model according to an embodiment of the present invention.
Fig. 24 is a cross- ) To the corresponding pixel coordinates of the image captured by the image sensor.
25 is a diagram specifically illustrating a size compensation step for perspective image correction according to an embodiment of the present invention.
FIG. 26 illustrates a method of generating a 360-degree forward view image according to another embodiment of the present invention.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다.In order to clearly illustrate the present invention, parts not related to the description are omitted, and the same or similar components are denoted by the same reference numerals throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우 뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when a part is referred to as " including " an element, it does not exclude other elements unless specifically stated otherwise.
어느 부분이 다른 부분의 "위에" 있다고 언급하는 경우, 이는 바로 다른 부분의 위에 있을 수 있거나 그 사이에 다른 부분이 수반될 수 있다. 대조적으로 어느 부분이 다른 부분의 "바로 위에" 있다고 언급하는 경우, 그 사이에 다른 부분이 수반되지 않는다.If any part is referred to as being " on " another part, it may be directly on the other part or may be accompanied by another part therebetween. In contrast, when a section is referred to as being " directly above " another section, no other section is involved.
제1, 제2 및 제3 등의 용어들은 다양한 부분, 성분, 영역, 층 및/또는 섹션들을 설명하기 위해 사용되나 이들에 한정되지 않는다. 이들 용어들은 어느 부분, 성분, 영역, 층 또는 섹션을 다른 부분, 성분, 영역, 층 또는 섹션과 구별하기 위해서만 사용된다. 따라서, 이하에서 서술하는 제1 부분, 성분, 영역, 층 또는 섹션은 본 발명의 범위를 벗어나지 않는 범위 내에서 제2 부분, 성분, 영역, 층 또는 섹션으로 언급될 수 있다.The terms first, second and third, etc. are used to describe various portions, components, regions, layers and / or sections, but are not limited thereto. These terms are only used to distinguish any moiety, element, region, layer or section from another moiety, moiety, region, layer or section. Thus, a first portion, component, region, layer or section described below may be referred to as a second portion, component, region, layer or section without departing from the scope of the present invention.
여기서 사용되는 전문 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분의 존재나 부가를 제외시키는 것은 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. The singular forms as used herein include plural forms as long as the phrases do not expressly express the opposite meaning thereto. Means that a particular feature, region, integer, step, operation, element and / or component is specified and that the presence or absence of other features, regions, integers, steps, operations, elements, and / It does not exclude addition.
"아래", "위" 등의 상대적인 공간을 나타내는 용어는 도면에서 도시된 한 부분의 다른 부분에 대한 관계를 보다 쉽게 설명하기 위해 사용될 수 있다. 이러한 용어들은 도면에서 의도한 의미와 함께 사용 중인 장치의 다른 의미나 동작을 포함하도록 의도된다. 예를 들면, 도면 중의 장치를 뒤집으면, 다른 부분들의 "아래"에 있는 것으로 설명된 어느 부분들은 다른 부분들의 "위"에 있는 것으로 설명된다. 따라서 "아래"라는 예시적인 용어는 위와 아래 방향을 전부 포함한다. 장치는 90˚ 회전 또는 다른 각도로 회전할 수 있고, 상대적인 공간을 나타내는 용어도 이에 따라서 해석된다.Terms indicating relative space such as " below ", " above ", and the like may be used to more easily describe the relationship to other portions of a portion shown in the figures. These terms are intended to include other meanings or acts of the apparatus in use, as well as intended meanings in the drawings. For example, when inverting a device in the figures, certain portions that are described as being " below " other portions are described as being " above " other portions. Thus, an exemplary term " below " includes both up and down directions. The device can be rotated by 90 degrees or rotated at different angles, and terms indicating relative space are interpreted accordingly.
다르게 정의하지는 않았지만, 여기에 사용되는 기술용어 및 과학용어를 포함하는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미와 동일한 의미를 가진다. 보통 사용되는 사전에 정의된 용어들은 관련 기술문헌과 현재 개시된 내용에 부합하는 의미를 가지는 것으로 추가 해석되고, 정의되지 않는 한 이상적이거나 매우 공식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms including technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Commonly used predefined terms are further interpreted as having a meaning consistent with the relevant technical literature and the present disclosure, and are not to be construed as ideal or very formal meanings unless defined otherwise.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.
본 발명에서 제시하는 360도 전방향 뷰 영상 생성 장치는 전후, 좌우, 상하의 모든 전방위 영역을 촬영하기 위한 둘 이상의 카메라를 이용하여, 마치 하나의 카메라로 촬영한 것과 같은 효과를 나타내는 전방향 뷰 영상을 생성하여 제공하는 장치 및 방법을 제시한다. The 360 degree omnidirectional view image generating apparatus proposed in the present invention can generate an omnidirectional view image that has the same effect as that taken by one camera using two or more cameras for photographing all the omnidirectional regions in the front and rear, And provides an apparatus and a method for generating and providing.
도 1은 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치를 도시한 도면이다. FIG. 1 is a diagram illustrating a 360-degree omnidirectional view image generating apparatus according to an embodiment of the present invention.
360도 전방향 뷰 영상 생성 장치를 구성하기 위해 전후, 좌우, 상하의 모든 전방위 영역을 촬영하기 위한 둘 이상의 영상 센서(카메라)가 이용된다. 도 1의 일 실시 예에서는 2개의 영상 센서를 이용한 것으로 도시되어 있지만, 전후 방향을 각각 촬영할 수 있는 두 개의 광각 렌즈를 가진 영상 센서들, 또는 상하 방향을 각각 촬영할 수 있는 두 개의 광각 렌즈를 가진 영상 센서들, 또는 사방을 각각 촬영할 수 있는 4개의 광각 렌즈를 가진 영상 센서들을 이용하여 구성될 수도 있다.Two or more image sensors (cameras) for photographing all the omnidirectional regions are used to constitute the 360-degree omnidirectional view image generating apparatus. In the embodiment shown in FIG. 1, two image sensors are used. However, image sensors having two wide-angle lenses capable of capturing the forward and backward directions respectively, or images having two wide-angle lenses Sensors, or image sensors having four wide-angle lenses capable of photographing four sides, respectively.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치는 전방향 영역을 분할 촬영할 수 있는 복수 개의 영상 센서를 포함하는 센서부(100), 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하고, 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상을 수신받아 처리하는 영상처리 프로세서(200), 및 영상처리 프로세서(200)로부터 각 영상센서에서 촬영한 영상들을 수신하고, 정합하여 사용자가 설정하는 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하여 디스플레이(400)로 출력하는 다중 디지털 이미지 프로세서(300)를 포함한다.Referring to FIG. 1, a 360-degree omnidirectional view image generating apparatus according to an embodiment of the present invention includes a
본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치의 센서부(100)는 360도 전방향 영역을 분할 촬영할 수 있는 복수 개의 영상 센서(S1, S2)를 포함한다. 영상 센서는 일반적인 카메라, 광각 카메라 등을 포함할 수 있다. 도 1에 도시된 것처럼 2개의 영상 센서로 360도 전방향 영역을 촬영하기 위해서는 각 영상 센서의 렌즈 화각(field of view)이 180도 이상이어야 하고, 만약 3개의 영상 센서를 이용하는 경우에는 렌즈 화각이 120도 이상, 4개의 영상 센서를 이용하는 경우에는 렌즈 화각이 90도 이상이어야 한다.The
복수 개의 영상 센서가 촬영한 영상을 정합하여 하나의 영상 센서로 촬영한 것과 같은 영상을 만들 경우, 각 영상 센서가 촬영한 영상의 겹치는 부분에서의 모션 발생이나 이질감 발생을 최소화하기 위해서는 360도 전방향 뷰 영상 생성 장치에 의해 제어되는 모든 영상 센서가 동시에 동일하게 동작하도록 제어되어야 한다. 이를 위해 영상처리 프로세서(200)는 센서부(100)에 포함되어 있는 복수 개의 영상 센서의 동기를 맞춰 동일시간에 촬상하는 기능, 동일한 노출이 이루어지도록 제어하는 기능, 영상 센서가 어떠한 조도에서도 동일한 색상을 유지하도록 하기 위한 화이트 밸런스 및 색상 제어 기능 등을 포함한다. 영상처리 프로세서(200)의 이러한 동일 촬상, 동일 노출 및 색상 제어 기능은 각 영상 센서에서 획득하는 영상의 경계부분에서 이동체들이 나타날 때나 역광 상황 등에서, 정합된 최종 360도 전방향 뷰 영상의 경계부분에서의 모션(motion) 발생이나 색상차로 인한 이질감을 최소화할 수 있다.In order to minimize the occurrence of motions and the occurrence of motion in overlapping portions of the images captured by the respective image sensors, it is necessary to set the 360 degrees forward direction All the image sensors controlled by the view image generating apparatus must be controlled to operate at the same time. For this, the
상술한 기능을 수행하는 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치의 영상처리 프로세서(200)는 도 2에 도시된 것처럼 1개의 주 영상처리 프로세서(Master ISP; 210)와 복수 개의 보조 영상처리 프로세서(Slave ISP; 220, 230, 240)를 포함할 수 있다. The
도 2는 본 발명의 일 실시 예에 따른 영상처리 프로세서(200)의 구조를 도시한 도면이다.2 is a diagram illustrating the structure of an
도 2를 참조하면, 주 영상처리 프로세서(210)와 보조 영상처리 프로세서(220, 230, 240) 각각은 대응되는 센서부(100)의 각 영상 센서로부터 오는 영상을 받아서 다중 디지털 이미지 프로세서(300)로 전달할 수 있다.2, each of the main
그리고 주 영상처리 프로세서(210)는 센서부(100)에 있는 모든 영상 센서가 동일한 시간에 영상을 촬상 및 출력할 수 있도록 동일한 클럭 신호와 영상 동기 신호를 센서부(100)의 각 영상 센서로 전달한다. 또한, 이 클럭 신호와 영상 동기 신호는 보조 영상처리 프로세서(220, 230, 240)로도 전달되어 보조 영상처리 프로세서(220, 230, 240)가 대응되는 영상 센서로부터 오는 영상을 올바르게 수신하도록 할 수 있다. The main
보조 영상처리 프로세서(220, 230, 240)는 광학 검출 장치(Optical Detection Module)를 이용하여 입력된 영상의 광학적 특성을 검출하고 검출된 데이터(ODM 정보)를 주 영상처리 프로세서(210)로 전달할 수 있다. 광학적 특성에는 각 색상 채널인 R, G, B 혹은 Y, Cb, Cr 별로, 검출하고자 하는 색상들의 평균값과 흰색에 대응하는 픽셀들의 평균값 등이 포함될 수 있다. 주 영상처리 프로세서(210)는 각 보조 영상처리 프로세서(220, 230, 240)로부터 오는 ODM 정보(250)들을 수신하고, 자신이 생성한 ODM 정보를 포함하는 모든 ODM 정보를 비교하여 노출값과 색상 보정 정보를 결정한 후 제어 신호(260)로 각 보조 영상처리 프로세서(220, 230, 240)로 전달하고, 보조 영상처리 프로세서(220, 230, 240)는 수신한 제어 신호를 바탕으로 영상 촬상 시의 노출값과 촬상된 영상의 색상 보정 정보를 결정하여 각각 연결된 영상 센서의 셔터 속도(Shutter Speed)와 자동 이득 제어(automatic gain control)값을 조정(211, 221, 231, 241)할 수 있다. 그러면 주 영상처리 프로세서(210) 및 보조 영상처리 프로세서(220, 230, 240)가 동일한 노출값과 색상 보정 정보를 사용할 수 있게 되고, 촬영된 영상은 동일한 노출, 동일한 색상으로 맞춰지게 된다.The auxiliary
이러한 영상처리 프로세서(200)의 동일 촬상, 동일 노출 및 색상 제어 기능은 영상 센서에서 촬상한 영상 간 경계부분에서 이동체들이 나타날 때나 역광 상황 등에서, 정합된 360도 전방향 뷰 영상의 경계부분에서의 모션 발생(동일 시간에 촬상되지 않으면 촬상된 영상에 이동체의 이동이 나타나므로)이나 색상차로 인한 이질감을 최소화하도록 할 수 있다.The same imaging, same exposure, and color control functions of the
본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치의 다중 디지털 이미지 프로세서(300)는 영상처리 프로세서(200)로부터 오는 복수 개의 영상을 바탕으로 하나의 영상 센서로 촬영한 것과 같은 임의 시점 영상을 생성하여 디스플레이(400)로 출력할 수 있다.The
전방위 시야각을 촬영할 때 사용하는 카메라 수가 적어질수록, 각 카메라가 보는 화각(field of view)이 넓어지고, 이에 따른 렌즈 왜곡도 심해지게 된다. 복수 개의 영상 센서를 체결하는 과정에서 발생하는 여러 형태의 오차들도 있다. 즉, 렌즈간 화각 및 왜곡 차이, 카메라 체결시 오차, 각 렌즈 체결시 오차, 센서 위치 오차 등에 의하여 복수의 영상 센서에서 촬영되는 영상에는 서로 다른 왜곡이 포함되어 있을 수 있다. 다중 디지털 이미지 프로세서(300)는 복수의 영상에서 상술한 왜곡을 제거하고, 복수의 영상에서 겹치는 부분에서의 매끄러운 영상 정합을 수행하여 360도 전방향 뷰 영상을 생성할 수 있다.The smaller the number of cameras used for photographing the panoramic view angle, the wider the field of view of each camera, and the more the lens distortion is caused thereby. There are various types of errors that occur in the process of fastening a plurality of image sensors. That is, images captured by a plurality of image sensors may include different distortions due to differences in view angle and distortion between the lenses, errors in camera tightening, errors in tightening each lens, and sensor position errors. The multiple
이를 위하여 다중 디지털 이미지 프로세서(300)는 영상처리 프로세서(200)로부터 입력되는 영상들을 바탕으로 가상 카메라의 시점에서 보여지는 임의 시점 영상을 생성한다.For this purpose, the multiple
도 3은 본 발명의 일 실시 예에 따른 가상 카메라 기반의 임의 시점 영상을 생성하기 위한 다중 디지털 이미지 프로세서(300)의 구성을 개략적으로 도시한 도면이다.3 is a diagram schematically illustrating the configuration of a multiple
도 3을 참조하면, 본 발명의 일 실시 예에 따른 다중 디지털 이미지 프로세서(300)는 가상 카메라 모델부(310), 2차 곡면 모델부(320), 전방향 카메라 투영 모델부(330), 파라미터 설정부(340), 및 정합부(350)를 포함할 수 있다. 3, a multiple
가상 카메라 모델부(310)는 디스플레이(400)에 영상을 사용자가 지정한 임의 시점에서 보는 것처럼 표시되도록 하기 위하여, 가상 카메라가 사용자가 설정한 임의의 위치에 있는 것처럼 모델링을 할 수 있다. 또한, 디지털 PTZ(Pan, Tilt, Zoom) 기능 및 특수 렌즈 효과를 생성할 수 있는데 이를 위하여 일반적인 원근 효과를 갖는 원근 투영 카메라(perspective projection camera), 원근 효과가 제거된 렌즈를 모방할 수 있는 직각 투영 카메라(orthographic projection camera), 전방향 렌즈를 모방하여 극좌표(polar coordinate) 영상 모델을 사용하여 파노라마 영상을 생성하는 파노라마 카메라 모델 등을 포함할 수 있다. 2차 곡면 모델부(320)는 가상 카메라에 의해 생성되는 360도 전방향 뷰 영상에 복수의 영상 센서들로 촬상한 복수의 원본 영상을 매핑(mapping)시 다양한 영상 효과를 추가하기 위하여 사용할 수 있는 거울 기능을 제공하는 2차 곡면을 제공하고, 전방향 카메라 투영 모델부(330)는 복수 개의 영상 센서로 촬상한 영상에 포함되어 있는 왜곡을 제거하면서 가상 카메라에 의해 보여지는 360도 전방향 뷰 영상의 한 점을 복수의 원본 영상의 각 영상의 한 점으로 매핑시킬 수 있고, 파라미터 설정부(340)는 왜곡 보정시 발생하는 원근감 상실을 최소화하기 위해 가상 카메라 모델부(310) 및 2차 곡면 모델부(320)의 파라미터들을 설정할 수 있다. 그리고 정합부(350)는 전방향 카메라 투영 모델부(330)에서 생성한 복수의 원본 영상의 각 영상에 대하여 왜곡을 제거한 복수의 영상들을 정합하여 360도 전방향 뷰 영상을 생성하여 디스플레이(400)에 표시할 수 있다.The virtual
각 부를 좀 더 자세히 살펴보기 전에 먼저 본 발명에서 사용되는 몇 가지 좌표계를 설명한다. 본 발명에서는 가상 카메라에 의해서 보여지는 영상의 한 점 또는 픽셀을 나타내기 위한 가상 카메라 좌표계 {n}, 2차 곡면의 중심을 영점으로 하여 좌표를 나타내는 2차 곡면 좌표계 {q}, 실제 주변을 촬상한 영상 센서들에 의해 찍힌 각 영상 내의 좌표를 나타내기 위한 카메라 좌표계 {1}, {2},?, {c}을 사용한다. 그리고 이러한 좌표계에 의해 표시되는 좌표는 기준 좌표계인 장면 좌표계(Worldwide Coordinate) {0}상의 좌표로 변환될 수 있다.Before explaining each part in more detail, some coordinate systems used in the present invention will be described. In the present invention, a virtual camera coordinate system {n} for representing a point or pixel of an image viewed by a virtual camera, a quadratic curve coordinate system {q} representing a coordinate by using the center of the quadratic curve as a zero point, We use camera coordinate systems {1}, {2},?, And {c} to represent the coordinates in each image captured by one image sensor. The coordinates displayed by this coordinate system can be converted into coordinates on the world coordinate coordinate system (Worldwide Coordinate) {0}.
가상 카메라 모델부(310)는 기계적인 구동부 및 전동 줌 렌즈를 사용하여 팬(pan), 틸트(tilt), 및 줌(zoom) 기능을 갖는 PTZ(pan, tilt, zoom) 카메라와 유사하게 가상 카메라(virtual camera)가 임의의 시점에서 보는 것과 같은 영상을 생성할 수 있도록 가상 카메라의 위치 및 자세를 모델링하고, 그에 따른 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 점(픽셀)을 모델링할 수 있다. 이때 가상 카메라 좌표계가 사용될 수 있다.The virtual
도 4는 본 발명의 일 실시 예에 따른 가상 카메라 모델부(310)의 개략적인 구성을 도시한 도면이다.FIG. 4 is a diagram showing a schematic configuration of a virtual
도 4를 참조하면, 본 발명의 일 실시 예에 따른 가상 카메라 모델부(310)는 직각좌표 표시모듈(311), 극좌표 표시모듈(312), 크기 조정 모듈(313), 위치설정 모듈(314), 변환 모듈(315), 및 광축 중심 설정모듈(316)을 포함할 수 있다. 4, a virtual
직각좌표 표시모듈(311)은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 직각 좌표 형식으로 표시할 수 있다. 직각좌표 표시모듈(311)은 좌표(u)를 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심에 대해 상대 좌표로 나타낼 수 있다. 따라서 직각좌표 표시모듈(311)은 에 의해서 구해지는 의 직각 좌표 형식으로 좌표(u)를 표시할 수 있다. 여기서 는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심을 직각 좌표 형식으로 나타낸 것이고, 설정 가능한 파라미터이다. 이처럼 영상 좌표를 직각 좌표 형식을 이용하여 표시하는 영상은 원근 투영 카메라 또는 직각 투영 카메라에서 사용될 수 있다.The rectangular coordinate
극좌표 표시모듈(312)은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 극좌표 형식으로 표시할 수 있다. 이때 사용되는 파라미터로는 극좌표 형식에서 사용할 반지름의 최소값()과 최대값(), 반지름 방향 픽셀 수(), 각도의 최소값() 과 최대값(), 그리고 가상 카메라상에서의 극좌표 변환을 위한 극좌표 형식에서의 중심 ()을 포함하며, 설정 가능한 파라미터들이다. 그러면 좌표(u)를 나타내는 극좌표 (r, ρ)는 다음과 같이 표현될 수 있다.The polar coordinate
여기서, 이다. 그리고 극좌표 형식으로 표시되는 영상 좌표 는 다음과 같이 표현될 수 있다.here, to be. And image coordinates displayed in the polar coordinate format Can be expressed as follows.
즉, 극좌표 표시모듈(312)은 의 극좌표 형식으로 좌표(u)를 표시할 수 있다. 이러한 극좌표 형식의 표시는 전방향 파노라마 영상을 생성하는데 이용될 수 있다.That is, the polar coordinate display module 312 ( U ) can be displayed in polar coordinate form. This polar coordinate format display can be used to generate an omni-directional panoramic image.
도 5는 반사 굴절형 거울(mirror) 또는 렌즈를 사용하여 획득된 영상에서 극좌표 형식 영상을 사용하여 전방향 파노라마 영상을 생성하는 가상 카메라를 보여주는 것으로 영상 좌표(u)와 극좌표 (r, θ)의 관계를 도시한다.Figure 5 is a catadioptric type mirror (mirror) or by using a polar coordinate format image showing the virtual camera to generate an omnidirectional image from the panorama image pickup by using the lens image coordinates (u) and And the polar coordinates (r, [theta]).
가상 카메라 모델부(310)는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 직각 좌표 형식 또는 극좌표 형식으로 표현할 수 있으며, 사용자의 선택()에 의하여 어떤 표현 방식을 사용할 것인지를 결정할 수 있다.The virtual
크기 조정 모듈(313)은 사용자가 보기 편리한 형태로 가상 카메라 영상의 크기 보상을 수행하는 과정으로, 영상의 가로축과 세로축으로의 크기 비율을 조정할 수 있다. 그리고 이에 따라 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 조정할 수 있다. 즉, 크기 조정 모듈은 가상 카메라에서 생성된 영상과 사용자의 눈에 보이는 실제 공간과의 이질감이 발생하면, 사용자는 그 영상을 보면서 어지러움 등을 느낄 수 있고, 거리감이 없어져 공간적인 감각이 떨어진다. 이러한 이질감을 최소화하기 위하여 크기 조정 모듈(313)을 사용할 수 있다. 즉, 크기 조정 모듈(313)은 사용자의 선택()에 의해 직각 좌표 형식 또는 극좌표 형식으로 표현되는 가상 카메라 영상의 한 점의 좌표 (u')를 크기 보상 행렬과 초점거리를 이용하여 가상 카메라 좌표계 상의 좌표 ()로 표현될 수 있다. 이때의 좌표()는 다음 식을 이용하여 구할 수 있다.The
여기서, 은 가로축과 세로축 크기 보상값들로 구성된 대각행렬(diagonal matrix)이고, 은 가상카메라의 초점 거리(focal length)다.here, Is a diagonal matrix composed of the horizontal axis and vertical axis size compensation values, Is the focal length of the virtual camera.
위치 설정 모듈(314)은 가상 카메라의 위치와 자세를 설정한다.The
가상 카메라 모델부(310)는 기계적인 구동부 및 전동 줌 렌즈를 사용하여 팬(pan), 틸트(tilt), 및 줌(zoom) 기능을 갖는 PTZ(pan, tilt, zoom) 카메라와 유사하게 가상 카메라(virtual camera)가 임의의 시점에서 보는 것과 같은 영상을 생성할 수 있도록 가상 카메라의 위치 및 자세를 모델링할 수 있다. 이때 가상 카메라의 위치와 자세 설정을 위하여 가상 카메라 좌표계가 사용될 수 있다.The virtual
도 6은 장면 좌표계(world coordinate)와 비교한 가상 카메라 좌표계 {n}을 도시한다.FIG. 6 shows a virtual camera coordinate system {n} compared with a world coordinate.
가상 카메라 좌표계 {n}는 팬, 틸트 기능을 위해 장면 좌표계의 중심(10)을 기준으로 상하좌우 회전이 가능하고, 줌 기능을 위해 시점의 위치를 zn 방향으로 이동할 수 있다. 도 6을 참조하면, φn, θn을 각각 가상 카메라의 장면 좌표계의 z축(11)에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)으로 둘 수 있고, 을 장면 좌표계 {0} 상에서의 가상 카메라의 위치, 를 장면 좌표계 {0} 상에서의 2차 곡면모델의 중심 위치이며 가상 카메라의 팬, 틸트 회전의 중심으로 두면, 장면 좌표계 {0} 상에서 2차 곡면모델로 매핑되는 가상 카메라 좌표계 {n}를 표현한 변환 행렬()은 다음과 같이 표현할 수 있다.The virtual camera coordinate system {n} can be rotated vertically and horizontally with respect to the center (10) of the scene coordinate system for the pan and tilt functions, and the position of the viewpoint can be moved in the zn direction for the zoom function. 6, φ n and θ n can be respectively set to a horizontal rotation angle (azimuth) and a vertical rotation angle (elevation) with respect to the
여기서, trans(·)는 3차원 공간상의 이동 행렬(3-D translational matrix)을 나타내고, rotz(·)와 rotx(·)는 각각 z축과 x축을 회전축으로 하는 회전 행렬들(3-D rotational matrices)이다. 그리고 상기 변환 행렬()은 의 단위 벡터 형태로 표현될 수 있다. 여기서, , , 및은 각각 가상 카메라 좌표계 {n} 상에서의 각 단위 벡터({1,0,0}, {0,1,0}, 및 {0,0,1})를 장면 좌표계 {0} 상의 좌표로 변환했을 때의 단위 벡터 표현이고, 은 가상 카메라 좌표계 {n} 상에서의 원점({0,0,0})을 장면 좌표계 {0} 상의 좌표로 변환했을 때의 단위 벡터 표현이다. 상술한 것과 같이 수평 회전각과 수직 회전각을 사용한 가상 좌표계의 표현은 상하가 뒤집히지 않고, 어떤 중심을 기준으로 하여도 회전이 가능하며, 줌 기능을 효과적으로 표현할 수 있으므로 기계적인 구동부를 사용한 PTZ 기능을 거의 흡사하게 동작시킬 수 있는 장점이 있다. 이러한 가상 좌표계의 표현 이외에도 사용자의 설정에 따라 임의 방식으로 가상 좌표계를 표현하는 것도 가능하다.Here, trans (·) represents a 3-D translational matrix on a three-dimensional space, and rot z (·) and rot x (·) represent rotation matrices (3- D rotational matrices. And the transformation matrix ( )silver Can be expressed in unit vector form. here, , , And Have transformed each unit vector ({1,0,0}, {0,1,0}, and {0,0,1}) on the virtual camera coordinate system {n} into coordinates on the scene coordinate system {0} , ≪ / RTI > Is a unit vector representation when the origin ({0,0,0}) on the virtual camera coordinate system {n} is transformed into coordinates on the scene coordinate system {0}. As described above, the expression of the virtual coordinate system using the horizontal rotation angle and the vertical rotation angle can be rotated based on any center without upside down, and the zoom function can be effectively expressed. Therefore, the PTZ function using the mechanical driving unit There is an advantage that it can be operated almost like that. In addition to the expression of the virtual coordinate system, it is also possible to express the virtual coordinate system in an arbitrary manner according to the user's setting.
즉, 위치 설정 모듈(314)은 장면 좌표계상에서의 2차 곡면 모델의 중심(), 장면 좌표계상에서의 가상 카메라의 위치(), 및 가상 카메라의 장면 좌표계의 z축(11)에 대한 수평 회전각(φn) 및 수직 회전각(θn)을 파라미터로 입력받아 장면 좌표계 상에서 가상 좌표계를 표현한 변환 행렬()를 계산한다. 이 변환 행렬에 의하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계의 한 좌표()로 변환할 수 있다.That is, the
변환 모듈(315)은 위치 설정 모듈(314)에서 계산한 변환 행렬()을 이용하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 한 좌표()를 계산한다.The
광축 중심 설정모듈(316)은 가상 카메라의 광축 중심을 설정하기 위한 것이다.The optical axis
도 7은 가상 카메라의 광축 중심을 설명하기 위한 도면이다.7 is a view for explaining the center of the optical axis of the virtual camera.
도 7을 참조하면, 원근 투영 카메라와 직각 투영 카메라는 투영선(projection ray)이 광축 중심점(optical center)으로 모이는지에 따라 달라질 수 있다. 원근 투영 카메라에서는 도 7의 (a)에 도시되어 있는 것처럼 모든 투영선이 하나의 중심점으로 모이고, 직각 투영 카메라에서는 도 7의 (b)에 도시되어 있는 것처럼 모든 투영선이 광축(principal axis)과 평행하게 된다. 따라서 광축 중심()은 다음과 같이 표현될 수 있다. 여기서 의 왼쪽 위에 있는 '0'은 좌표계를 나타내는 것으로 {0}은 장면 좌표계상의 좌표로 표시됨을 나타낸다.Referring to FIG. 7, the perspective projection camera and the right-angle projection camera may vary depending on whether the projection ray is gathered at the optical center. In the perspective projection camera, all the projection lines converge to one central point as shown in Fig. 7 (a), and in a rectangular projection camera, all projection lines are parallel to the principal axis as shown in Fig. 7 (b) do. Therefore, ) Can be expressed as follows. here '0' in the upper left corner of the screen indicates that the coordinate system is represented by {0}, which is represented by coordinates on the scene coordinate system.
여기서, 은 초점 거리(focal length)이고, 는 상술한 바와 같이 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 좌표이고, 및 은 상술한 것처럼 변환 행렬()을 단위 벡터 형태인 으로 표현할 때의 단위 벡터들이다. here, Is the focal length, Is a coordinate of a scene coordinate system corresponding to a coordinate ( u ) of a point of a 360-degree forward view image J viewed from the viewpoint of the virtual camera as described above, And Lt; RTI ID = 0.0 >(" ) As a unit vector form Are unit vectors when expressed as a unit vector.
상술한 바와 같이 가상 카메라 모델부(310)는 가상 카메라의 위치, 직각 좌표 형식을 사용할 것인지 아니면 극좌표 형식을 사용할 것인지에 관한 파라미터를 입력받아 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 좌표() 및 가상 카메라의 광축() 중심에 대한 정보를 계산하여 출력할 수 있다.As described above, the virtual
2차 곡면 모델부(320)에서 생성하는 2차 곡면 모델은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점을 왜곡을 포함하는 복수 개의 영상 센서에서 촬상한 복수 개의 영상의 대응하는 점(픽셀)으로 매핑하는 거울과 같은 기능을 수행할 수 있다. 이때 원하는 효과에 따라 다양한 2차 곡면을 모델링하는 2차 곡면 모델이 사용될 수 있다. 일 예로서, 타원체(Ellipsoid) 모델은 구 형태의 거울 모양으로 표현되어 가상 카메라의 PTZ 효과를 얻기 위해 주로 사용될 수 있고, 실린더(Cylinder) 모델은 실린더 기둥 모양의 거울 형태로 표현되어 광각의 영상 생성시 주로 사용될 수 있으며, 포물면(Paraboloid) 모델은 반구 형태의 거울 모양으로 표현되어 영상의 일정 부분만을 매핑한 효과 생성시 사용될 수 있다. The secondary curved surface model generated by the quadric curved
도 8은 본 발명의 일 실시 예에 따른 2차 곡면 모델부의 개략적인 구성을 도시한 도면이다.8 is a view showing a schematic configuration of a quadric surface model unit according to an embodiment of the present invention.
도 8을 참조하면, 본 발명의 일 실시 예에 따른 2차 곡면 모델부(320)는 2차 곡면 모델 선정 모듈(321), 좌표 설정 모듈(322) 및 변환 모듈(323)을 포함할 수 있다. 8, the
2차 곡면 모델 선정 모듈(321)은 사용자가 원하는 효과를 얻기 위하여 복수 개의 2차 곡면 모델 중에서 하나를 선정하게 할 수 있다. 즉, 도 8에 도시되어 있는 바와 같이 파라미터 qsel을 이용하여 타원체 모델(324), 실린더 모델(325), 포물면 모델(326), 및 사용자 설정 2차 곡면 모델(327) 중의 하나를 선택할 수 있다. The secondary curved surface
3차원 공간상에서의 상술한 2차 곡면 모델들은 다음과 같은 공통된 행렬 형태로 표현이 가능하다.The above quadratic surface models in the three-dimensional space can be expressed in the following common matrix form.
여기서, 는 로 모델링되는 2차 곡면상의 한점이고, 2차 곡면 모델()은 다음과 같이 4x4 대칭 행렬로 표현될 수 있다.here, The , And a quadratic surface model ( ) Can be expressed as a 4x4 symmetric matrix as follows.
이때, 2차 곡면 모델() 행렬 내의 각 값은 2차 곡면별로 다를 수 있는데, 도 9a 및 도 9b는 본 발명의 일 실시 예에 따른 타원체 모델(324), 실린더 모델(325), 및 포물면 모델(326)에 대한 파라미터를 도시하고 있다. 여기서, 도 9a 및 도 9b의 xc, yc, zc는 장면 좌표계 {0} 상에서의 각 모델의 중심 위치를 나타낸다.At this time, the secondary curved surface model ( ) May be different for each quadratic surface. Figures 9a and 9b illustrate parameters for the ellipsoidal model 324, the cylinder model 325, and the parabolic model 326, according to an embodiment of the present invention, Respectively. Here, in Figures 9a and 9b x c, y c, z c denotes the center position of each model on the scene coordinate system {0}.
좌표 설정 모듈(322)은 2차 곡면을 장면 좌표계 {0} 상에서 정의하기 위해 사용되고, 가상 카메라의 위치 설정과 마찬가지로 사용자 설정이 용이한 수평 회전각(φq) 및 수직 회전각(θq)을 이용하여 표현할 수 있다. 즉, 좌표 설정 모듈(322)은 2차 곡면상의 점들을 대응하는 장면 좌표계 상의 점들로 변환하기 위한 변환행렬()을 생성할 수 있고, 이때의 변환행렬()는 다음 식을 이용하여 구할 수 있다. The coordinate
변환 모듈(323)은 타원체 모델(324), 실린더 모델(325), 포물면 모델(326), 또는 사용자 설정 2차 곡면 모델(327)에 의하여 생성되는 2차 곡면을 표현하는 행렬()을 장면 좌표계 상에서의 선택된 2차 곡면 모델을 표현하는 행렬()로 변환할 수 있다. 장면 좌표계에서의 2차 곡면 모델을 표현하는 행렬 ()는 다음 식을 이용하여 구할 수 있다.The
전방향 카메라 투영 모델부(330)는 가상 카메라에서 2차 곡면 모델에 매핑 후 영상 왜곡을 포함하는 복수의 영상 센서에서 촬상한 복수의 영상으로 재투영하는 것으로, 영상 왜곡을 보정하는 카메라 캘리브레이션(calibration)과 카메라 투영 모델을 포함할 수 있다.The omnidirectional camera
도 10은 본 발명의 일 실시 예에 따른 전방향 카메라 투영 모델부(330)의 개략적인 구성을 도시한 도면이다.FIG. 10 is a diagram showing a schematic configuration of an omnidirectional camera
도 10을 참조하면, 본 발명의 일 실시 예에 따른 전방향 카메라 투영 모델부(330)는 교차점 모듈(331), 변환 모듈(332), 좌표 계산 모듈(333), 보간 모듈(334), 및 메모리(335)를 포함할 수 있다.10, an omnidirectional camera
교차점 모듈(331)은 2차 곡면 모델부(320)에서 선정한 2차 곡면 모델과 가상 카메라의 투영선의 교차점을 계산할 수 있다.The
도 11은 2차 곡면 모델과 가상 카메라의 투영선의 교차점()의 일 예를 도시한 도면이다.Fig. 11 is a graph showing the relationship between the intersection of the projection plane of the secondary curved surface model and the virtual camera ).
도 11을 참조하면, 가상 카메라의 광축 중심()과 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점()을 잇는 직선인 투영선(910)이 2차 곡면 모델과 만나기 위하여는 다음 식을 만족하여야 한다.Referring to FIG. 11, the center of the optical axis of the virtual camera ) And a point of a 360-degree forward view image ( J ) shown at the viewpoint of the virtual camera ), The
여기서, 은 가상 카메라의 광축 중심이고, 으로 표현되는데 는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점이다. 그리고 점 는 투영선(910) 상에 존재하는 점이면서, 2차 곡면 모델 상에 존재하는 교차점이 된다. 이 교차점의 위치는 에 의해서 결정되는데, 는 다음과 같이 계산될 수 있다.here, Is the center of the optical axis of the virtual camera, It is expressed as Is a point of the 360-degree forward view image J viewed from the viewpoint of the virtual camera. And point Is a point existing on the
여기서, 이고, 이다.here, ego, to be.
즉, 교차점 모델은 상술한 식을 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점()의 투영선(910)과 교차하는 2차 곡면상의 한 점()을 계산하여 출력할 수 있다.In other words, the intersection model is based on the above-mentioned formula, and a point of a 360-degree forward view image ( J ) A point on the secondary curved surface that intersects with the projection line 910 ) Can be calculated and output.
그리고 상술한 2차 곡면상의 한 점()은 전방향 카메라 모델(336)에 의하여 센서부(100)의 복수의 영상 센서에 의해 촬상된 복수의 영상의 각 영상의 한 점으로 투영될 수 있다.Then, one point on the secondary curved surface ( Can be projected to a point of each image of a plurality of images captured by the plurality of image sensors of the
도 12는 본 발명의 일 실시 예에 따른 장면 좌표계상의 한 점()을 왜곡 없는 이상적인 영상 평면()의 대응하는 점으로 매핑하는 과정을 도시한다.FIG. 12 is a diagram illustrating a point on a scene coordinate system according to an exemplary embodiment of the present invention ) To the ideal image plane without distortion ( To the corresponding point of the second map.
도 12를 참조하면, 장면 좌표계상의 한 점 에서 영상 센서의 광축 중심으로의 투영선(1010) 상에 벡터 가 존재하고, 이는 일반적인 원근 투영 기하를 따르고 다음 식의 관계가 성립된다.12, a point on the scene coordinate system On the
여기서 는 회전 행렬 과 이동 벡터 로 구성된 카메라 투영 행렬(projection matrix)이며, 는 장면 좌표계상의 한 점 의 동차 표현(homogenous representation)이다. here The rotation matrix And motion vectors A camera projection matrix, A point on the scene coordinate system And is a homogenous representation of
상술한 식은 장면 좌표계 {0} 상의 한 점 와 카메라 좌표계 {c} 상의 한 점 를 서로 매핑한 것이다. 그런데 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치는 복수 개의 영상 센서로부터 영상을 획득하고, 각 영상 센서의 광축 중심이 다를 수 있고, 행렬 또한 다를 수 있기 때문에 장면 좌표계 {0} 상의 한 점 에 대하여 복수의 영상 센서의 각 카메라 좌표계 {1}, {2}, {...}, {c} 상의 한 점 을 매핑할 수 있다. 즉, 장면 좌표계 {0} 상의 한 점에 대하여 복수의 점이 매핑될 수 있다.The above-mentioned expression is a point on the scene coordinate system {0} And a point on the camera coordinate system {c} Are mapped to each other. However, the 360 degree omnidirectional view image generation apparatus according to an embodiment of the present invention acquires images from a plurality of image sensors, and the centers of the optical axes of the respective image sensors may be different, Also, a point on the scene coordinate system {0} A point on each camera coordinate system {1}, {2}, {...}, {c} Can be mapped. That is, a plurality of points may be mapped to one point on the scene coordinate system {0}.
상술한 설명을 복수의 영상 센서별로 적용하여 보면, 기준 좌표계 {i} 상의 한 점()와 카메라 좌표계 {ci} 상의 한 점 를 서로 매핑할 수 있다. When the above description is applied to a plurality of image sensors, one point on the reference coordinate system {i} ) And a point on the camera coordinate system {c i } Can be mapped to each other.
여기서, {ci}와 {i}는 각각 i번째 영상 센서의 카메라 좌표계 및 기준 좌표계를 나타내고, 는 회전 행렬()과 이동 백터()로 구성된 i번째 카메라의 투영 행렬(projection matrix)이며, 는 기준 좌표계 {i}상의 한 점 의 동차 표현(homogenous representation)이다. 그리고 절대 좌표계인 장면 좌표계를 {0}으로 표현하고, 장면 좌표계 {0}와 각 기준 좌표계 간의 변환 관계를 나타내는 변환 행렬()을 이미 알고 있다고 하면, 상기 식들은 모두 장면 좌표계 {0}상의 한 점 에 대한 식으로 다음과 같이 표현할 수 있다.Here, {c i } and {i} represent the camera coordinate system and the reference coordinate system of the i-th image sensor, respectively, Is a rotation matrix ( ) And mobile vector ), Which is a projection matrix of the i-th camera, Is a point on the reference coordinate system {i} And is a homogenous representation of A scene coordinate system, which is an absolute coordinate system, is represented by {0}, and a transformation matrix ({0}) representing a transformation relation between a scene coordinate system { ) Are already known, all of the above equations are represented by a point on the scene coordinate system {0} Can be expressed as follows.
여기서, 으로 얻어질 수 있다. 즉, 장면 좌표계 {0} 상의 한 점 이 세 개의 카메라 좌표계의 서로 다른 세 점으로 매핑될 수 있다. 만약 카메라 수가 늘어나면 장면 좌표계 {0} 상의 한 점은 카메라 수만큼의 서로 다른 점들로 매핑될 수 있는 것이다.here, . That is, one point on the scene coordinate system {0} These three camera coordinate systems can be mapped to three different points. If the number of cameras increases, one point on the scene coordinate system {0} can be mapped to different points by the number of cameras.
다시 도 12를 참조하면, 벡터 의 는 장면 좌표계 상의 한 점 를 이상적인 영상 평면() 상의 한 점 으로 매핑하는 왜곡보정 매핑함수이며, 렌즈의 왜곡 현상을 이론적으로 분석한 모델(analytic model) 또는 수치적으로 근사한 모델(approximation model) 등을 사용하여 표현할 수 있다. 이에 의하여 이상적인 영상 평면()은 왜곡이 없는 영상 평면을 의미할 수 있다. 일 실시 예로서 Scaramuzza가 제안한 것과 같은 테일러 확장(Taylor expansion series) 기반의 근사 모델을 사용하여 표현할 수 있다.Referring again to Figure 12, of A point on the scene coordinate system To an ideal image plane ( One point And can be expressed using an analytic model or a numerically approximated model of the distortion phenomenon of the lens. Thus, the ideal image plane ( ) Can mean an image plane without distortion. As an example, an approximate model based on the Taylor expansion series as proposed by Scaramuzza can be used.
이때 는 카메라마다 서로 다른 영상 왜곡을 생성하기 때문에 카메라 좌표계 {ci}별로 서로 다른 값을 가지게 된다.At this time Have different values for each camera coordinate system {c i } because they generate different image distortions for each camera.
그리고 벡터 을 복수의 영상 센서 중 하나의 영상 센서에서 촬상한 왜곡이 포함된 원본 영상(I)에서의 실제 픽셀 좌표라고 가정하면, 원본 영상(I)과 이상적인 영상 평면()의 관계는 어파인(affine) 변환 행렬로 다음과 같이 표현될 수 있다.And vector Is assumed to be the actual pixel coordinates in the original image I including the distortion captured by one of the plurality of image sensors, the original image I and the ideal image plane ( I ) ) Can be expressed as an affine transformation matrix as follows.
여기에서 는 어파인 변환 행렬이고, 는 이동 벡터를 나타낸다. From here Is an affine transformation matrix, Represents a motion vector.
상술한 바와 같이 장면 좌표계 상의 한 점 는 원본 영상(I)에서 픽셀 좌표 으로 매핑되므로, 만약 이 식들이 역변환 관계가 존재한다면, 원본 영상(I)에서 원래 장면 좌표계 상의 한 점 의 픽셀값을 구할 수 있다. As described above, one point on the scene coordinate system In the original image I , , So that if there is an inverse transformation relationship between these equations, a point on the original scene coordinate system in the original image ( I ) Can be obtained.
장면 좌표계 {0} 상의 한 점 을 카메라 좌표계 {c} 상의 한 점 로 왜곡 보정을 하면서 매핑시키기 위하여서는 상술한 바처럼 각 영상 센서의 위치와 자세 및 왜곡보정 매핑함수()의 계수들을 미리 알아야만 한다. One point on the scene coordinate system {0} A point on the camera coordinate system {c} In order to perform the distortion correction, the position, posture, and distortion correction mapping function of each image sensor ) In advance.
도 13은 3대의 카메라들 사이의 위치 및 자세를 나타내고 왜곡을 보정 하기 위한 파라미터를 획득하기 위한 방법의 일 실시 예를 도시한 도면이다.13 is a diagram showing an embodiment of a method for indicating the position and attitude between three cameras and obtaining a parameter for correcting the distortion.
도 13을 참조하면 각각의 영상 센서는 가로, 세로의 격자 크기가 미리 알려진 보정용 차트(calibration chart)를 이용하여 영상 센서의 위치, 자세, 및 촬상한 영상에 포함되어 있는 왜곡을 계산할 수 있다. 일 예로 보정용 차트의 결자 하나의 가로, 세로 크기를 5cm x 5cm로 설정할 수 있고, 촬상된 보정용 차트 영상에서의 각 격자의 교차점들의 위치들을 측정함으로써 촬상된 영상에 포함되어 있는 왜곡을 측정할 수 있다. 그리고 이렇게 측정된 왜곡을 바탕으로 상술한 회전 행렬(), 이동 백터(), 왜곡보정 매핑함수()의 계수, 및 어파인 변환 행렬()를 획득할 수 있다.Referring to FIG. 13, each of the image sensors can calculate a position, an attitude, and a distortion included in the sensed image by using a calibration chart in which a grid size in the horizontal and vertical directions is known in advance. For example, one horizontal and vertical size of a correction sheet for correction can be set to 5 cm x 5 cm, and the distortion included in the sensed image can be measured by measuring the positions of the intersections of the respective grids in the captured correction chart image . Then, based on the measured distortion, the rotation matrix ( ), Mobile vector ), A distortion correction mapping function ( ), And an affine transformation matrix ( Can be obtained.
도 14는 본 발명의 일 실시 예에 따른 가상 카메라의 투영선과 2차 곡면 모델과의 교차점()이 왜곡을 포함하는 이상적인 영상 평면상의 좌표()에 재투영되는 것을 도시한 도면이다.FIG. 14 is a graph showing the relationship between the intersection of the projection line of the virtual camera and the quadratic surface model according to the embodiment of the present invention ) Coordinates on the ideal image plane including this distortion As shown in FIG.
도 14를 참조하면, 2차 곡면은 가상 카메라의 투영선(1110)을 영상 센서의 투영선(1120)으로 반사하는 거울과 같은 역할을 수행할 수 있다. 여기서 영상 센서의 투영선(1120)은 영상 센서의 광축 중심과 교차점()을 연결하는 선이 된다.Referring to FIG. 14, the secondary curved surface may serve as a mirror for reflecting the
가상 카메라의 투영선(1110)과 2차 곡면이 만나는 점이 교차점()이 되고, 교차점()은 다음 식을 이용하여 카메라 좌표계의 좌표()로 변환될 수 있다.The point at which the
여기서, 는 장면 좌표계상에서 표현된 영상 센서의 위치와 자세를 나타내는 변환 행렬로써 카메라 투영행렬()의 과 로 구성될 수 있다. here, Is a transformation matrix representing the position and orientation of the image sensor expressed on the scene coordinate system, )of and ≪ / RTI >
가상 카메라의 투영선(1110)과 2차 곡면과의 교차점()은 도 12에 도시된 한 점()과 마찬가지로 전방향 카메라 광축 중심으로의 투영선(1120) 상에 존재할 수 있고, 이 투영선(1120)은 전방향 카메라의 광축을 중심으로 방사형으로 대칭이므로 이상적인 영상 평면()과 교차점()과의 각도로 표현할 수 있다. 즉, 의 관계식을 얻을 수 있는데 여기서, 는 이상적인 영상 평면()과 교차점()과의 각도로서, 로 표현된다.The intersection of the
그리고 영상 센서의 광축 중심으로의 투영선(1120)과 왜곡 보정 매핑 함수()는 상술한 바처럼 모두 의 함수이므로, 이들의 해를 구하면 이상적인 영상 평면상의 좌표()를 구할 수 있고, 어파인 변환 행렬을 이용하여 원본 영상(I)에서의 픽셀값()을 구할 수 있다. 따라서, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 한 점()의 픽셀값은 영상 센서에서 촬상한 왜곡이 포함된 원본 영상(I)으로부터 얻어지고, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 각 점에 대하여 상술한 기능을 수행하면 최종 결과 영상인 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)을 획득할 수 있고, 이 영상은 임의 시점에서 생성한 렌즈 왜곡이 제거된 영상이 된다. 그리고 상술한 방식을 복수 개의 영상 센서별로 적용하면 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 한 점()에 대하여 복수 개의 영상 센서의 각 영상 센서별로 획득한 픽셀값을 가지게 된다.The projection line 1120 to the center of the optical axis of the image sensor and the distortion correction mapping function ), As described above, Therefore, when these solutions are obtained, the coordinates on the ideal image plane ( ) Can be obtained, and the pixel value (?) In the original image ( I ) can be obtained using the affine transformation matrix ) Can be obtained. Therefore, a point within the 360-degree forward view image J shown at the viewpoint of the virtual camera ( ) Is obtained from the original image I including the distortion imaged by the image sensor, and performs the above-described function on each point in the 360-degree forward view image J viewed at the viewpoint of the virtual camera It is possible to obtain a 360-degree forward view image J viewed from the viewpoint of the virtual camera, which is the final result image, and this image is an image from which the lens distortion generated at a certain point is removed. When the above-described method is applied to each of the plurality of image sensors, a point ( J ) in the 360-degree forward view image J The pixel values of the respective image sensors of the plurality of image sensors are obtained.
상술한 작업을 수행하기 위하여 전방향 카메라 투영 모델부(330)의 변환 모듈(332)은 장면 좌표계상에서 표현된 영상 센서의 위치와 자세를 나타내는 변환 행렬()를 이용하여 교차점()을 카메라 좌표계의 좌표()로 변환한다. In order to perform the above-described operation, the
그리고 좌표 계산 모듈(333)은 어파인 변환 행렬(), 이동 벡터(), 장면 좌표계상의 한 점를 이상적인 영상 평면() 상의 한 점()으로 매핑하는 역할을 수행하는 테일러 확장 기반의 근사 모델의 계수들을 파라미터로 입력받아 가상 카메라의 투영선과 2차 곡면 모델과의 교차점()으로부터 영상 센서에서 획득한 왜곡이 포함된 원본 영상(I)에서의 실제 픽셀 좌표를 나타내는 벡터 를 획득한다. 좌표 계산 모듈(333)에서 사용하는 상술한 테일러 확장 기반의 근사 모델은 렌즈의 왜곡 현상을 이론적으로 분석하고, 이를 해소하기 위하여 수치적으로 근사화한 것으로 이에 의하여 원본 영상에 존재하는 왜곡 현상을 도 15와 같이 제거할 수 있다. 도 15는 입력 영상 (a)로부터 왜곡이 보정된 영상 (b), (c)를 생성한 일 예를 보여준다.Then, the coordinate
그리고 보간 모듈(334)은 실제 픽셀 좌표를 나타내는 벡터 를 이용하여 메모리(335)에 저장된 원본 영상(I)에서 해당 좌표의 주변 픽셀값을 읽어들이고 양선형 보간 (bilinear interpolation) 등의 방법 등으로 해당 좌표의 값을 계산 하여 출력할 수 있다.The
도 15는 원본 영상 및 이에 포함된 왜곡을 보정하여 디스플레이(400)에 표시하는 영상의 일 예를 도시한 도면이다.15 is a view showing an example of an image to be displayed on the
도 15를 참조하면, (a)는 피쉬아이 렌즈를 사용하여 획득한 왜곡을 포함한 원본 영상이고, (b)는 일반적인 방법으로 왜곡이 보정된 영상을 나타낸다. (b)처럼 왜곡 보정된 영상에는 영상의 끝쪽으로 갈수록 실제 크기 및 거리감의 차이가 크게 발생한다. 그 이유는 카메라의 왜곡된 영상의 한 점으로 들어오는 투영선 상에는 공간상의 수많은 점이 존재할 수 있고, 공간 복원(structure reconstruction)을 위해서는 두 개 이상의 투영선이 존재해야 이 점의 실제 공간상의 위치를 알 수 있게 되기 때문이다. 하지만, 본 출원에서 제안하는 방식을 이용하고, 필요한 파라미터들을 적절하게 설정하면 (c)에서 보는 것과 같이 사용자가 보기에 편안한 영상을 생성할 수 있다.Referring to FIG. 15, (a) shows an original image including distortion obtained using a fish eye lens, and (b) shows an image in which distortion is corrected by a general method. (b), there is a large difference between the actual size and the distance feeling toward the end of the image. The reason for this is that there may be a lot of points on the space on the projection line coming into a point of the camera's distorted image and that there are more than two projection lines for the structure reconstruction, Because. However, by using the method proposed in the present application and setting the necessary parameters appropriately, the user can generate a comfortable image as shown in (c).
상술한 전방향 카메라 투영 모델부(330)의 전방향 카메라 모델(336)은 각 영상 센서(S1, S2)에서 획득한 카메라 영상에 대하여 독립적으로 수행될 수 있다. 즉, 복수 개의 영상 센서 각각에 대응하는 전방향 카메라 모델을 두고, 각 영상 센서로부터 오는 영상을 처리하여 임의 시점에서 본 왜곡 없는 영상을 생성할 수 있다. 즉, 도 3에 도시되어 있는 것처럼 전방향 카메라 투영 모델부(330)는 영상 센서로 획득한 각 카메라 영상에 대하여 왜곡을 제거한 복수 개의 영상을 생성하고 이를 정합부(350)로 전달할 수 있다. 이때 카메라들이 서로 다른 영역을 촬상하도록 배치되었기 때문에 대부분은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 한 점()에 대하여 단지 한 개의 영상 센서에서 촬상된 후 왜곡이 보정된 영상의 픽셀값만이 의미를 가질 수 있다. 즉, 정합부(350)에서 영상 정합 시에 대부분의 영역에서 겹쳐지는 부분(overlapping area)이 없다는 것이다. The
하지만, 카메라 간의 화각 겹침(overlap) 없는 정확한 사양의 렌즈를 찾기는 매우 어려우므로, 각 카메라들이 보는 화각은 일정부분 겹칠 수밖에 없다. 그러면, 360도 전방향 뷰 영상을 생성하기 위해 하나의 시점에서 보는 가상 카메라의 투영선은 동시에 복수 개의 카메라의 영상으로 재투영되는 상황이 발생할 수 있다. 즉, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 한 점()에 대하여 의미를 가질 수 있는 픽셀값이 복수 개가 될 수 있고, 최종 영상 합성시(image blending) 겹쳐지는 부분이 발생하게 된다.However, it is very difficult to find a precise specification lens without overlapping angles between cameras. Therefore, the angle of view of each camera has to overlap a certain amount. Then, in order to generate the 360-degree forward view image, the projection line of the virtual camera viewed at one view may be re-projected to the images of the plurality of cameras at the same time. That is, a point within the 360-degree forward view image J shown at the viewpoint of the virtual camera ) May be a plurality of pixel values which may have a meaning with respect to each other, and overlapping portions occur in image blending.
도 16a 내지 도 16e는 본 발명의 일 실시 예에 따른 180도 이상의 화각을 갖는 2개의 전/후방 카메라를 이용하여 생성한 360도 전방향 뷰 영상을 도시한 것이다.FIGS. 16A to 16E illustrate a 360-degree omnidirectional view image generated using two front / rear cameras having an angle of view of 180 degrees or more according to an embodiment of the present invention.
도 16a는 전방 카메라 입력 영상이고, 도 16b는 후방 카메라 입력 영상이며, 각 영상에 표시된 곡선의 그리드(grid)는 360도 전방향 뷰 영상을 생성하기 위해 사용된 영역을 표시한다.16A is a front camera input image, FIG. 16B is a rear camera input image, and a grid of curved lines displayed in each image represents an area used for generating a 360-degree forward view image.
도 16c는 상술한 360도 전방향 뷰 생성 장치를 적용한 일 예를 도시한 도면이다. 도 16c를 참조하면, 두 영상을 가상 카메라 좌표계 {n}에 위치한 임의 시점의 가상 카메라에서 바라볼 때, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)상의 한 점의 투영선과 2차 곡면과의 교차점은 이고, 이 점은 카메라 좌표계 {c}와 {c'}에 위치한 각각의 전방, 후방의 왜곡을 포함하는 카메라들 영상의 와 에 재투영되어 도 16d에 도시된 것과 같이 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에는 밝게 표시된 겹쳐지는 부분 상의 에 위치하게 된다. 도 16d에 도시된 것과 같은 겹쳐지는 경계부분의 폭은 카메라 및 렌즈 체결 시 발생하는 오차 등으로 인해 서로 다르게 나타날 수 있다.16C is a diagram illustrating an example in which the above-described 360-degree forward view generation apparatus is applied. Referring to FIG. 16C, when two images are viewed from a virtual camera at a certain time point located in the virtual camera coordinate system {n}, the projection line of one point on the 360 degrees forward view image J and the 2 The intersection point with the car surface is , Which is the difference between the camera coordinates {c} and {c} Wow As shown in FIG. 16D, the 360-degree omnidirectional view image J shown at the viewpoint of the virtual camera is displayed on the overlapped portion . The width of the overlapping boundary portion as shown in FIG. 16D may be different from each other due to an error occurring when the camera and the lens are fastened.
전방향 카메라 투영 모델부(330)의 정합부(350)는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에서의 겹치는 부분을 매끄럽게 하기 위하여 기울기(gradient) 기반의 영상 정합, 포아송(Poisson) 기반의 영상 정합 방법들을 사용할 수 있다. 일 실시 예로서 실시간 처리가 가능한, 경계까지의 거리를 나타내는 함수를 두 출력 영상의 합성시 가중치로 사용하는 방법을 적용할 수 있다. 이와 같은 가중치 적용 방법의 일 예로서 다음 식이 사용될 수 있다.The
여기서, 과 는 각각 전방과 후방 카메라 영상으로부터 상술한 방법으로 구한 임의 시점의 가상 카메라에 의해서 보여지는 왜곡이 보정된 360도 전방향 뷰 영상의 한 점()에서의 픽셀값들을 나타내고, 는 영상 에서 한 점()의 경계와의 거리에 따른 가중치, 는 영상 에서 동일 점()의 경계와의 거리에 따른 가중치를 나타내며, 가중치 함수는 경계와의 거리가 일정 임계치보다 클 때 1의 값을 갖고, 임계치에서 경계까지는 점점 줄어드는 값을 가지며, 경계를 벗어나면 0의 값을 갖도록 구현될 수 있다. 이러한 함수의 선택과, 임계치 값은 다양한 방식으로 구현될 수 있다.here, and Is a view of a 360-degree omnidirectional view image corrected by the distortion-corrected virtual camera viewed from the forward and backward camera images obtained by the above- ), ≪ / RTI > The image One point in ( ), The weight according to the distance from the boundary, The image The same point ( ), And the weight function has a value of 1 when the distance from the boundary is greater than a certain threshold value, a value that gradually decreases from the threshold to the boundary, and a value of 0 when the boundary is out of the boundary. Can be implemented. The selection of these functions and the threshold value can be implemented in various ways.
도 17a 내지 도 17g는 본 발명의 일 실시 예에 따른 가중치를 계산하는 예 및 가중치를 적용한 일 실시 예를 도시한 도면이다.FIGS. 17A to 17G are views illustrating an example of calculating a weight according to an embodiment of the present invention and an embodiment to which weights are applied.
도17a는 장면 좌표계 상의 한 점 가 각 영상 센서에서 촬상한 영상에 재투영될 때, 첫번째 영상 센서(C1)에 투영되는 투영선(l)과의 각도(ρ)를 가지고 가중치를 계산하는 방법을 보여준다. 여기서 θmax는 렌즈에서 보여지는 최대 화각을 나타내고, α는 이웃한 영상 센서와의 겹치는 각도를 나타낸다. 에 상응하는 가상 카메라 영상에서의 한 점 의 첫번째 카메라에서의 가중치 는 θ의 함수로 표현이 가능하다. 즉, 다음 식으로 표현된 것과 같이 겹치는 부분이 없으면 1, 화각을 벗어나면 0, 겹치는 부분은 각도에 따라 가중치를 가지게 구성할 수 있다.Fig. 17A is a view showing a point on the scene coordinate system ( 1 ) projected on the first image sensor (C1) when the projection image is projected back onto the image captured by each image sensor. Where max denotes the maximum angle of view of the lens, and alpha denotes the angle of overlap with the neighboring image sensor. A point in the virtual camera image corresponding to < RTI ID = 0.0 > Of the first camera Can be expressed as a function of θ. That is, as expressed by the following equation, it can be configured to have 1 if there is no overlapping portion, 0 if it deviates from the view angle, and a weight depending on the angle.
두번째 영상 센서에서의 가중치 또한 동일한 방식으로 구성될 수 있다.The weights in the second image sensor can also be configured in the same way.
도 17b와 도 17c는 각각 전방/후방 카메라에서 생성된 경계면 근처의 국부 영상들인 과 를 도시하고 있고, 도 17d와 도17e는 상기 식으로 계산된 각각의 가중치인 와 를 나타내는데, 흰색은 1을 나타내고, 검정색을 0을 나타내며, 그 중간은 0과 1 사이의 값을 나타낸다. 도 17f와 도 17g는 영상 과 의 동일한 점 각각에 가중치가 곱해져서 생성된 영상이고, 도 17h는 최종 정합된 영상을 도시하고 있다. 17B and 17C show local images near the boundary surface generated by the front / rear cameras, respectively and 17D and 17E show the respective weights calculated in the above equation Wow Where white represents 1, black represents 0, and the middle represents a value between 0 and 1. FIGS. 17F and 17G show the video and , And FIG. 17H shows the final matched image. In FIG.
이와 같은 정합 과정을 거치면서 두 영상 센서에서 촬상한 영상의 겹쳐지는 부분에서 기존에 발생하던 이질감을 제거할 수 있을 것이다.Through this matching process, it is possible to eliminate the existing sense of heterogeneity in the overlapping portion of the images captured by the two image sensors.
상술한 장치를 이용함으로써 본원 발명은 임의 시점에서 보여지는 왜곡 없는 360 전방향 뷰 영상을 생성할 수 있으며, 특히 카메라 영상들 간의 경계영역에서도 이질감없이 매끄럽게 정합된 360도 전방향 뷰를 생성할 수 있다. By using the above-described apparatus, the present invention can generate a 360-omnidirectional view image without distortion, which is seen at a certain point in time, and can generate a 360-degree omnidirectional view smoothly matched without disturbance even in a boundary region between camera images .
본 발명에서 제시하는 360도 전방향 뷰 생성 장치에 의해서 생성된 임의 시점에서 보는 360도 전방향 뷰 영상은 디스플레이(400)에서 바로 플레이될 수 있으며 동시에 생성된 360도 전방향 뷰 영상은 저장장치에 저장될 수 있다. 그뿐만 아니라 복수 개의 카메라에서 촬영된 복수 개의 원본 영상은 하나의 파일에 동기화되어 저장될 수 있다. The 360 degree omnidirectional view image generated by the 360 degree omnidirectional view generating apparatus according to the present invention can be played directly on the
이때, 일반적인 녹화장치에 원본 영상을 저장시, 데이터 크기가 커서 저장장치의 저장 공간 크기가 문제될 수 있으므로, 저장장치의 성능과 저장 공간을 고려하여 비디오 코덱을 통해 압축된 영상 데이터를 저장할 수 있다. 저장된 파일에는 각종 음성정보 및/또는 GPS 정보들이 같이 저장될 수 있다. At this time, when the original image is stored in a general recording apparatus, since the data size is large and the storage space size of the storage device may be a problem, the image data compressed through the video codec can be stored in consideration of the storage capacity and storage space . Various voice information and / or GPS information may be stored in the stored file.
사용자는 설정에 따라 기존에 생성하여 저장해 놓은 360도 전방향 뷰 영상 또는 저장되어 있는 원본 영상을 바탕으로 새로 생성한 360도 전방향 뷰 영상을 디스플레이하거나 다른 장치로 전송할 수 있으며, 실시간으로 사용자 입력을 받아서 가상 카메라의 위치 및 자세 등을 변경함으로써 임의 시점의 영상을 실시간으로 보여줄 수 있다.The user can display the 360-degree omnidirectional view image created based on the 360-degree omnidirectional view image or the stored original image that has been created and stored according to the setting, or transmit the omnidirectional view image to another device. And changing the position and posture of the virtual camera, it is possible to display an image at a certain time in real time.
도 18은 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 방법을 도시한 도면이다.18 is a diagram illustrating a 360-degree forward view image generation method according to an embodiment of the present invention.
도 18을 참조하면, 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 방법은 먼저 복수의 영상 센서가 촬영한 영상을 정합하여 하나의 영상 센서로 촬영한 것과 같은 영상을 만들 때, 각 영상 센서가 촬영한 영상의 겹치는 부분에서의 모션 발생이나 이질감 발생을 최소화하기 위하여 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 복수의 영상 센서를 제어(S100)하고, 복수 개의 영상 센서가 동기되어 촬상한 영상들을 획득(S200)한다. 그리고 획득한 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 사용자에 의해 설정된 임의 시점에서 본 360도 전방향 뷰 영상을 생성(S300)한다.Referring to FIG. 18, a 360-degree omnidirectional view image generating method according to an exemplary embodiment of the present invention includes generating a 360-degree omnidirectional view image by combining images captured by a plurality of image sensors, A plurality of image sensors are controlled (S100) such that a plurality of image sensors have the same imaging time, same exposure, and same color control in order to minimize the occurrence of motion or a sense of heterogeneity in overlapping portions of images captured by the image sensor, The images captured by the image sensor are acquired (S200). Then, the distortion included in each image is removed based on the plurality of acquired images, the distorted images are synthesized, and a 360-degree omnidirectional view image viewed from a certain point of time set by the user is generated (S300).
좀 더 상세히 살펴보면, 360도 전방향 뷰(omni-directional view)를 위하여서는 복수의 영상 센서가 필요하다. 각 영상 센서가 180도의 화각(field of view)을 가지는 경우에는 2대의 영상 센서가 필요하며, 120도의 화각을 가지는 경우에는 3대의 영상 센서가 필요하고, 90도의 화각을 가지는 경우에는 4대의 영상센서가 필요하다. 그리고 복수의 영상 센서가 동일 촬상 시간, 동일 노출, 및 동일 색상 제어가 되지 않는다면, 각 영상 센서에서 촬상한 영상의 경계부분에서 이동체들이 나타날 때나 역광 상황 등에서, 정합된 최종 360도 전방향 뷰 영상의 복수의 영상 센서의 경계부분에서의 모션 발생이나 색상차로 인한 이질감이 발생할 수 있다. 본원 발명을 이러한 이질감 발생을 최소화하기 위하여 복수의 영상 센서가 동기되어 동일한 시간에 동일한 노출로 촬상하도록 제어하고, 또한 어떠한 조도에서도 동일한 색상을 유지하도록 하기 위한 화이트 밸런스 및 색상 제어 기능을 수행한다. 그리고 화각이 커질수록 그리고 끝 부분으로 갈수록 심한 왜곡을 포함하고 있기 때문에 이를 제거하고, 왜곡이 제거된 영상들을 합성함으로써 360도 전방향 뷰 영상을 생성할 수 있다.In more detail, a plurality of image sensors are needed for a 360-degree omni-directional view. In the case where each image sensor has a field of view of 180 degrees, two image sensors are required. In the case where the image sensor has an angle of view of 120 degrees, three image sensors are required. When the image sensor has an angle of view of 90 degrees, . When a plurality of image sensors do not have the same imaging time, same exposure, and same color control, when the moving objects appear at the boundary of the image captured by each image sensor, or in the backlight situation, A motion may be generated at a boundary portion between a plurality of image sensors and a sense of heterogeneity due to a color difference may occur. In order to minimize the occurrence of such a sense of heterogeneity, the present invention performs a white balance and a color control function for controlling a plurality of image sensors to be synchronized and capturing images at the same exposure at the same time, and to maintain the same color at any illumination. As the angle of view increases and as it goes to the end, it contains severe distortion. Therefore, it is possible to generate a 360 degree omnidirectional view image by removing the distortion and synthesizing the distorted images.
도 19는 본 발명의 일 실시 예에 따른 복수의 영상 센서를 동기시키는 방법을 도시한 도면이다.19 is a diagram illustrating a method of synchronizing a plurality of image sensors according to an embodiment of the present invention.
복수의 영상 센서를 동기시키기 위하여 먼저 동일한 클럭 신호와 영상 동기 신호를 모든 영상 센서로 전달(S110)한다. 만약 복수의 영상 센서가 각각에 대응되는 영상처리 프로세서에 의하여 제어되는 경우, 복수의 영상처리 프로세서 중 하나는 주 영상처리 프로세서로 설정될 수 있고, 나머지 영상처리 프로세서는 보조 영상처리 프로세서로 설정되고, 주 영상처리 프로세서에 의해 동일한 클럭 신호와 영상 동기 신호가 모든 영상 센서로 전달될 수 있다. 이에 더하여 동일한 클럭 신호와 영상 동기 신호가 보조 영상처리 프로세서로 전달될 수도 있다. 그러면, 복수의 영상 센서 및 보조 영상처리 프로세서는 주 영상처리 프로세서에 의해 결정된 촬상 시점을 알 수 있고, 동일한 시간에 촬상을 할 수 있다.In order to synchronize a plurality of image sensors, the same clock signal and image synchronization signal are transmitted to all image sensors (S110). If a plurality of image sensors are controlled by corresponding image processors, one of the plurality of image processors may be set as a main image processor, the other image processor may be set as an auxiliary image processor, The same clock signal and image synchronization signal can be transmitted to all image sensors by the main image processing processor. In addition, the same clock signal and image synchronization signal may be transmitted to the auxiliary image processing processor. Then, the plurality of image sensors and the auxiliary image processing processor can recognize the imaging time point determined by the main image processing processor, and can capture images at the same time.
그리고 영상처리 프로세서는 광학 검출 장치를 이용하여 복수의 영상 센서로부터 입력되는 영상들의 광학적 특성을 검출(S120)한다. 만약 복수의 영상 센서에 대응하는 복수의 영상처리 프로세서가 있는 경우, 각 영상처리 프로세서가 입력되는 영상의 광학적 특성을 검출하여 주 영상처리 프로세서로 전달할 수도 있다. 광학적 특성에는 각 색상 채널인 R, G, B 혹은 Y, Cb, Cr 별로, 검출하고자 하는 색상들의 평균값과 흰색에 대응하는 픽셀들의 평균값 등이 포함된다. 그리고 영상처리 프로세서는 복수의 영상 센서들에 의해 촬상된 복수의 영상에서 검출한 광학적 특성들을 비교하여 노출값 및 색상 보정 정보를 결정(S130)한 후, 이를 바탕으로 복수의 영상 센서를 제어(S140)한다. 만약 복수의 영상처리 프로세서가 있는 경우에는 주 영상처리 프로세서에서 노출값 및 색상 보정 정보를 결정하여 보조 영상처리 프로세서로 전달함으로써 모든 영상처리 프로세서가 동일한 노출값 및 색상 보정 정보로 대응하는 영상 센서를 제어할 수 있도록 할 수 있다. Then, the image processing processor detects the optical characteristics of the images input from the plurality of image sensors using the optical detection device (S120). If there are a plurality of image processing processors corresponding to a plurality of image sensors, each image processing processor may detect the optical characteristics of the input image and transmit the optical characteristics to the main image processing processor. The optical characteristics include an average value of colors to be detected and an average value of pixels corresponding to white for each color channel R, G, B or Y, Cb, Cr. Then, the image processing processor compares the optical characteristics detected from the plurality of images captured by the plurality of image sensors to determine the exposure value and the color correction information (S130), and controls the plurality of image sensors based on the determination (S140) do. If there are a plurality of image processing processors, the main image processing processor determines the exposure value and the color correction information and transfers them to the auxiliary image processing processor, so that all the image processing processors can control the corresponding image sensor with the same exposure value and color correction information .
도 20은 본 발명의 일 실시 예에 따른 복수의 영상에 포함된 왜곡을 제거하고 복수의 영상을 정합하여 설정된 임의 시점에서 본 360도 전방향 뷰 영상을 생성하는 방법을 도시한 도면이다.20 is a view illustrating a method of generating a 360-degree omnidirectional view image at a predetermined time point by removing a distortion included in a plurality of images and matching a plurality of images according to an embodiment of the present invention.
도 20을 참조하면, 사용자가 설정한 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하기 위하여 사용자가 설정한 임의 시점에 가상 카메라가 있는 것처럼 가상 카메라 모델을 생성(S310)한다. 이때 가상 카메라 모델은 사용자에 의하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하기 위하여 설정된 임의 시점에 있는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표를 장면 좌표계 상의 좌표()로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 특수 효과를 얻기 위해 투영 방식에 따라 장면 좌표계 상의 광축 중심()을 설정한다. Referring to FIG. 20, a virtual camera model is created (S310) as if a virtual camera existed at an arbitrary time set by the user to create a 360-degree forward view image that is displayed at a user-set arbitrary viewpoint. At this time, the virtual camera model includes coordinates of a point of a 360-degree forward view image ( J ) displayed at a viewpoint of a virtual camera at an arbitrary point set to generate a 360-degree forward view image, Coordinates on the scene coordinate system ( ), Performs perspective compensation through size conversion, and calculates the center of the optical axis on the scene coordinate system according to the projection method ).
그리고 가상 카메라 모델에 의하여 생성된 장면 좌표계 상의 좌표()를 영상 센서에서 촬상한 복수의 영상의 대응하는 픽셀 좌표()로 매핑 시에 사용되고, 가상 카메라의 시점에서 보여지는 영상(J)에 특수한 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델()을 생성(S320)할 수 있다. 생성되는 2차 곡면 모델()은 장면 좌표계상의 4x4 행렬로 표현될 수 있다.And the coordinates on the scene coordinate system generated by the virtual camera model ( ) Corresponding pixel coordinates of a plurality of images captured by the image sensor ( ), And a secondary curved surface model (hereinafter referred to as " secondary curved surface model ") modeled as a secondary curved surface that can insert a special visual effect into an image ( J ) (S320). The generated secondary curved surface model ( ) Can be represented by a 4x4 matrix on the scene coordinate system.
다음으로, 각 영상 센서에서 촬상한 영상별로 전방향 카메라 투영 모델을 생성(S330)할 수 있다. 전방향 카메라 투영 모델은 장면 좌표계상의 좌표(), 장면 좌표계상의 광축 중심(), 및 2차 곡면 모델()을 바탕으로, 장면 좌표계상의 좌표()를 2차 곡면의 한 점으로 투여하고, 그리고 2차 곡면에 투영된 한 점을 다시 복수의 영상 센서에서 촬상한 복수의 영상으로 투영하여 장면 좌표계상의 좌표()를 대응하는 복수의 영상 각각에 존재할 수 있는 픽셀 좌표()로 매핑하고, 이 픽셀 좌표() 주변 픽셀들의 픽셀값을 보간하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 픽셀값으로 설정할 수 있다. 이때 영상 센서에서 촬상한 영상의 대응하는 픽셀 좌표()는 영상에 포함되어 있는 왜곡을 제거할 수 있는 좌표이다.Next, an omnidirectional camera projection model may be generated for each image captured by each image sensor (S330). The omnidirectional camera projection model is a coordinate system on the scene coordinate system ( ), The center of the optical axis on the scene coordinate system ( ), And a quadratic surface model ( ), Coordinates on the scene coordinate system ( Is projected onto a plurality of images picked up by a plurality of image sensors, and the coordinates on the scene coordinate system ( (Pixel coordinates) that may exist in each of a plurality of corresponding images ), And the pixel coordinates ( And interpolates the pixel values of surrounding pixels to set a pixel value of one point of the 360-degree forward view image J to be viewed at the viewpoint of the virtual camera. At this time, the corresponding pixel coordinates of the image captured by the image sensor ) Is a coordinate that can remove the distortion contained in the image.
상술한 각 영상 센서에서 촬상한 영상별로 전방향 카메라 투영 모델을 생성하여 획득한 픽셀값들은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 각 영상 센서의 화각이 미치는 부분으로 한정된다. 일 실시 예로서, 앞과 뒤를 촬영하는 180도의 화각을 가지는 2개의 영상 센서를 사용하는 경우, 앞을 촬상한 영상에 대하여 전방향 카메라 투영 모델을 생성하면 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 앞쪽 영상의 각 점(픽셀)에 대한 픽셀값들을 획득할 수 있고, 뒤를 찰상한 영상에 대하여 전방향 카메라 투영 모델을 생성하면 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 뒤쪽 영상의 각 점(픽셀)에 대한 픽셀값들을 획득할 수 있다. 이처럼 각 영상 센서에서 촬상한 영상별로 전방향 카메라 투영 모델을 생성하여 왜곡이 제거된 복수의 영상을 생성할 수 있고, 왜곡이 제거된 복수의 영상을 정합하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)을 생성(S340)할 수 있다.The pixel values obtained by generating the omnidirectional camera projection model for each image captured by each of the image sensors described above are limited to the portion of the angle of view of each image sensor of the 360-degree forward view image J viewed from the viewpoint of the virtual camera do. In one embodiment, when two image sensors having an angle of view of 180 degrees for photographing the front and the back are used, if an omnidirectional camera projection model is generated for the image taken in the foreground, It is possible to acquire pixel values for each point (pixel) of the front image of the view image J and generate an omnidirectional camera projection model for the backscattered image, Pixel values for each point (pixel) of the rear image of the image J can be obtained. In this way, it is possible to generate a plurality of images from which distortions have been removed by generating an omnidirectional camera projection model for each image captured by each image sensor, and to combine a plurality of images from which distortions have been eliminated, The direction view image J can be generated (S340).
각 단계에 대하여 좀 더 상세히 설명한다.Each step will be described in more detail.
도 21은 본 발명의 일 실시 예에 따른 가상 카메라 모델 생성 단계(S310)를 구체적으로 도시한 도면이다.FIG. 21 is a diagram specifically illustrating a virtual camera model generation step (S310) according to an embodiment of the present invention.
도 21을 참조하면, 본 발명의 일 실시 예에 따른 가상 카메라 모델 생성 단계는 먼저 사용자가 원하는 임의 시점에서의 영상을 생성하고, 기계식 카메라의 디지털 팬(pan), 틸트(tilt), 줌(zoom) 기능을 에뮬레이션할 수 있도록 가상 카메라의 위치 및 자세를 설정(S311)한다. 이때의 위치 및 자세는 팬 및 틸트 기능을 위해 장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정할 수 있고, 줌 기능을 위해 장면 좌표계의 중심으로부터의 거리를 설정할 수 있으며, 가상 카메라의 자세 설정을 위하여 장면 좌표계의 x, y, z축의 방향과 이에 대응하여 가상 좌표계의 xn, yn, zn의 방향을 설정할 수 있다. 사용자는 자신이 원하는 임의 시점의 영상을 보기 위하여 가상 카메라의 위치 및 자세를 상술한 파라미터들을 이용하여 설정할 수 있다.Referring to FIG. 21, the step of generating a virtual camera model according to an exemplary embodiment of the present invention includes generating a virtual camera image at a desired time point, and generating a digital pan, tilt, The virtual camera position and posture are set (S311) so that the function can be emulated. At this time, the azimuth and the vertical rotation angle can be set around the z axis of the scene coordinate system for the pan and tilt function, and the distance from the center of the scene coordinate system for the zoom function can be set In order to set the attitude of the virtual camera, the directions of the x, y, and z axes of the scene coordinate system and the directions of x n , y n , and z n of the virtual coordinate system can be set accordingly. The user can set the position and the posture of the virtual camera using the above-described parameters in order to view an image at a desired time.
그리고 특수 렌즈 효과를 가지도록 가상 카메라의 유형 및 각 유형별 파라미터들을 설정(S312)할 수 있다. 가상 카메라의 유형은 일반적인 원근 효과를 갖는 원근 투영 카메라(perspective projection camera), 원근 효과가 제거된 렌즈를 모방하는 직각 투영 카메라(orthographic projection camera), 또는 반사 굴절형 거울이나 렌즈를 사용하여 획득한 영상에서 극좌표계 영상을 사용하여 전방향 파노라마 영상을 생성할 수 있는 파노라마 카메라(panorama camera) 등을 포함할 수 있다. 그리고 원근 투영 카메라 또는 직각 투영 카메라는 설정된 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심점()을 파라미터로 설정할 수 있고, 파노라마 카메라는 극좌표계에서 사용할 반지름의 최소값()과 최대값(), 극좌표계에서 사용할 각도의 최소값() 과 최대값(), 그리고 가상카메라상에서의 중심 ()을 파라미터로 설정할 수 있다.Then, the type of virtual camera and the parameters for each type can be set (S312) so as to have a special lens effect. The type of virtual camera is a perspective projection camera with a general perspective effect, an orthographic projection camera that mimics a lens with a perspective effect removed, or an image acquired using a refraction refracting mirror or lens A panorama camera capable of generating an omni-directional panoramic image using a polar coordinate system image, and the like. Then, the perspective projection camera or the right-angle projection camera displays the center point of the 360-degree forward view image J shown at the viewpoint of the set virtual camera ) Can be set as a parameter, and the panoramic camera can set the minimum value of the radius to be used in the polar coordinate system ) And the maximum value ( ), The minimum value of the angle to be used in the polar coordinate system ( ) And the maximum value ( ), And center on virtual camera ( ) Can be set as a parameter.
상술한 바처럼 가상 카메라의 유형, 위치, 및 자세에 대한 설정이 완료되면 이를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 장면 좌표계의 좌표() 및 광축 중심()을 계산(S313)할 수 있다. When the setting of the type, position, and posture of the virtual camera is completed as described above, the coordinate (x, y ) of the scene coordinate system with respect to one point of the 360- ) And the center of the optical axis ( Can be calculated (S313).
도 22는 본 발명의 일 실시 예에 따른 2차 곡면 모델의 생성 단계(S320)를 구체적으로 도시한 도면이다.FIG. 22 is a diagram specifically showing a generation step (S320) of a quadric curved surface model according to an embodiment of the present invention.
도 22를 참조하면, 2차 곡면 모델 생성을 위하여 2차 곡면 모델의 유형을 선택(S321)할 수 있다. 2차 곡면 모델은 가상 카메라의 팬, 틸트, 줌 효과를 얻기 위해 사용될 수 있는 타원체(Ellipsoid) 모델, 광각 영상 생성을 위한 실린더(Cylinder) 모델, 영상의 일정 부부만을 매핑한 효과를 얻기 위한 포물면 모델, 그리고 사용자가 임의로 설정할 수 있는 사용자 2차 곡면 모델을 포함할 수 있다. 2차 곡면 모델 선택 시에는 각 모델에 적합한 파라미터를 같이 설정할 수 있다. 이렇게 선택된 2차 곡면 모델은 4x4 행렬()로 표현될 수 있다.Referring to FIG. 22, a type of a quadric surface model may be selected (S321) for generating a quadric surface model. Secondary curved surface models include an ellipsoid model that can be used to obtain the pan, tilt, and zoom effects of a virtual camera, a cylinder model to generate a wide angle image, a parabolic model , And a user secondary surface model that the user can set arbitrarily. When selecting a secondary curved surface model, parameters suitable for each model can be set together. The second curved surface model thus selected is a 4x4 matrix ( ). ≪ / RTI >
다음으로, 2차 곡면 모델의 자세 및 위치를 설정(S322)할 수 있다. 상술한 가상 카메라의 자세 및 위치 설정과 동일하게 2차 곡면 모델의 자세 및 위치도 사용자 설정이 용이한 수평회전각(φq) 및 수직회전각(θq)을 이용하여 설정할 수 있다. 또는 사용자가 임의의 파라미터를 설정하여 2차 곡면 모델의 자세 및 위치를 설정할 수 있다. Next, the attitude and position of the secondary curved surface model can be set (S322). The attitude and position of the quadratic curve model can be set using the horizontal rotation angle? Q and the vertical rotation angle? Q , which can be easily set by the user, in the same manner as the attitude and position setting of the virtual camera. Alternatively, the user can set an arbitrary parameter to set the attitude and position of the quadratic curve model.
상술한 4x4 행렬로 표현되는 2차 곡면 모델()은 설정된 자세 및 위치를 바탕으로 장면 좌표계상의 2차 곡면 모델()로 변환될 수 있다. The quadratic surface model expressed by the above-described 4x4 matrix ( ) Is a quadratic surface model on the scene coordinate system ( ). ≪ / RTI >
도 23은 본 발명의 일 실시 예에 따른 전방향 카메라 투영 모델의 생성 단계(S330)를 구체적으로 도시한 도면이다.FIG. 23 is a diagram specifically illustrating a generation step (S330) of an omnidirectional camera projection model according to an embodiment of the present invention.
도 23을 참조하면, 전방향 카메라 투영 모델을 생성하기 위하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 투영선과 2차 곡면 모델과의 교차점()을 계산(S331)한다. 이때의 투영선은 가상 카메라의 광축 중심()과 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점()을 잇는 직선을 의미한다. Referring to FIG. 23, in order to generate an omnidirectional camera projection model, an intersection point of a projection line and a quadratic surface model with respect to a point of a 360-degree forward view image J , (Step S331). At this time, the projection line is the center of the optical axis of the virtual camera ) And a point of a 360-degree forward view image ( J ) shown at the viewpoint of the virtual camera Quot;).
계산된 교차점()은 각 영상별로 해당하는 전방향 카메라 투영 모델을 이용하여 영상 센서에서 촬상한 영상의 대응하는 픽셀 좌표로 매핑(S332)된다. Computed intersection ( Is mapped to the corresponding pixel coordinates of the image captured by the image sensor using the corresponding omnidirectional camera projection model for each image (S332).
도 24는 교차점()을 영상 센서에서 촬상한 영상의 대응하는 픽셀 좌표로 매핑하는 단계를 상세히 도시한 도면이다.Fig. 24 is a cross- ) To the corresponding pixel coordinates of the image captured by the image sensor.
도 24를 참조하면, 영상 센서의 렌즈의 왜곡 현상을 보상하기 위하여 이론적으로 분석한 모델과 수치적으로 근사한 모델 등에 의하여 구해진 왜곡 보정 매핑 함수를 사용할 수 있는데, 바람직하게는 테일러 확장(Taylor expansion series) 기반의 근사 모델을 사용할 수 있다. 이때의 근사 모델은 각 영상에 포함되어 있는 왜곡이 다르기 때문에 각 영상 센서가 촬상한 영상별로 상이할 수 있다. 상기 매핑을 위하여 교차점의 장면 좌표계상의 좌표를 카메라 좌표계상의 좌표()로 변환(S341)하고, 왜곡 보정 매핑 함수를 이용하여 왜곡 없는 영상 평면상의 한 점으로 매핑(S342)하고, 어파인 변환 행렬을 이용하여 왜곡 없는 영상 평면상의 한 점에 대응하는 각 영상 센서에 의해 촬상된 원본 영상의 픽셀 좌표로 매핑(S343)할 수 있다. 이때 매핑된 픽셀 좌표는 상기 모델에 의하여 왜곡이 제거된 점일 수 있다.Referring to FIG. 24, a distortion correction mapping function obtained by a theoretically analyzed model and a numerically approximated model may be used to compensate for distortion of a lens of an image sensor. Preferably, the Taylor expansion series is used. Based approximate model can be used. The approximate model at this time may be different for each image captured by each image sensor because the distortion included in each image is different. For the mapping, the coordinates on the scene coordinate system of the intersection point are the coordinates ( (S341). Then, the distortion is mapped to a point on the image plane without distortion using the distortion correction mapping function (S342). Then, using the affine transformation matrix, (S343) to the pixel coordinates of the original image captured by the camera. At this time, the mapped pixel coordinates may be a point where distortion is removed by the model.
그리고 매핑된 원본 영상의 픽셀 좌표의 픽셀값을 읽어들이고 보간하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 픽셀값으로 설정(S333)할 수 있다. 이때, 각 영상 센서는 360도 전방향의 특정한 일방향만을 촬상하기 때문에 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대하여 한 영상 센서로부터 오는 하나의 픽셀값만이 대부분의 영역에서 존재한다. 하지만, 영상 센서의 화각이 겹치지 않는 정확한 사양의 렌즈를 찾기는 매우 어려우므로 각 영상 센서에 포함된 카메라의 화각은 일정부분 겹칠 수밖에 없다. 그러면 360도 전방향 뷰 영상을 생성하기 위해 하나의 시점에서 보는 가상 카메라의 투영선은 동시에 복수 개의 영상 센서의 원본 영상으로 재투영되는 상황이 발생할 수 있다. 즉, 가상 카메라의 시점에서 보는 360도 전방향 뷰 영상의 한 점에 대한 픽셀값이 복수 개 존재할 수 있다. 이때 360도 전방향 뷰 영상의 경계부분의 특정 점에 대한 픽셀값을 결정하기 위하여 본원 발명은 단계(S310) 내지 단계(S330)에서 생성된 모델을 바탕으로 생성한 가상 카메라의 시점에서 보는 360도 전방향 뷰 영상의 한 점에 대한 복수의 픽셀값을 정합(S340)하여 영상 센서에 의해 촬상된 영상의 겹치는 부분을 매끄럽게 할 수 있도록 보정한다.Then, the pixel value of the pixel coordinates of the mapped original image is read and interpolated to set the pixel value of one point of the 360-degree forward view image J displayed at the viewpoint of the virtual camera (S333). At this time, since each image sensor captures only one specific direction in 360 degrees forward direction, only one pixel value coming from one image sensor for one point of 360 degree forward view image J shown at the viewpoint of the virtual camera is mostly Lt; / RTI > However, since it is very difficult to find a lens having an exact specification that does not overlap the angle of view of the image sensor, the angle of view of the camera included in each image sensor is inevitably overlapped. Then, in order to generate a 360-degree omnidirectional view image, the projection line of the virtual camera viewed at one view may be re-projected to the original image of the plurality of image sensors at the same time. That is, there may be a plurality of pixel values for one point of the 360-degree forward view image viewed from the viewpoint of the virtual camera. At this time, in order to determine a pixel value for a specific point of the boundary portion of the 360 degree omnidirectional view image, according to the present invention, 360 degrees viewed from the viewpoint of the virtual camera generated based on the model generated in the step S310 to S330 A plurality of pixel values corresponding to one point of the forward view image are matched (S340), and the overlapped portions of the images captured by the image sensor are corrected so as to be smoothed.
도 25는 본 발명의 일 실시 예에 따른 원근감 보정을 위한 크기 보상 단계를 구체적으로 도시한 도면이다.25 is a diagram specifically illustrating a size compensation step for perspective image correction according to an embodiment of the present invention.
도 25를 참조하면, 원근감 보정이 제대로 이루어지지 않는다면 영상의 끝쪽으로 갈수록 실제 크기 및 거리감의 차이가 발생하고, 실제 보여지는 것과 차이가 생겨 사용자가 불편을 겪게 된다. 이를 해소하기 위하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정(S410)할 수 있다. 이러한 조정을 가상 카메라 모델 생성 단계(S310)에서 가상 카메라 좌표계로 표현되는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점을 장면 좌표계의 좌표로 변환하는 단계에서 가상 카메라로 생성되는 영상의 가로축과 세로축의 크기 비율을 조정하여 적용함으로써 실현될 수 있다. Referring to FIG. 25, if the perspective correction is not properly performed, the difference between the actual size and the distance may be generated toward the end of the image, and the user may experience inconvenience due to a difference from the actual size. In order to solve this problem, it is possible to adjust the size ratio of the horizontal axis and the vertical axis of the 360-degree forward view image J displayed at the viewpoint of the virtual camera (S410). In the step of converting the coordinates of one point of the 360-degree forward view image J shown in the virtual camera coordinate system represented by the virtual camera coordinate system into coordinates of the scene coordinate system in the virtual camera model creation step S310, And adjusting the ratio of the size of the horizontal axis and the vertical axis of the generated image.
원근감 보정을 위하여 또한 2차 곡면 모델의 유형과 파라미터 설정을 통해 영상의 깊이 및 크기를 보상할 수 있다. 즉, 2차 곡면 모델의 유형을 선택하고 선택된 유형의 파라미터를 설정하는 단계(S320)에서 깊이 및 크기를 보상할 수 있도록 파라미터를 설정하여 줌으로써 원근감 문제를 해소할 수 있다. For the perspective correction, the depth and size of the image can also be compensated through the type and parameter settings of the secondary surface model. That is, in the step of selecting the type of the quadratic surface model and setting the parameter of the selected type (S320), it is possible to solve the perspective problem by setting the parameters to compensate for the depth and the size.
상술한 360도 전방향 뷰 영상 생성 장치 및 방법을 이용하면 사용자가 원하는 임의 시점에서 보는 것처럼 360도 전방향 뷰 영상을 재생할 수 있다. 특히 영상 내에 존재하는 왜곡을 제거하고, 복수의 영상 센서에 의해 촬상된 영상 간에 겹치는 부분을 매끄럽게 해결함으로써 재생되는 영상에 보이는 이질감을 최소화할 수 있다.The 360 degree omnidirectional view image generating apparatus and method can reproduce a 360 degree omnidirectional view image as seen from a user's desired viewpoint. Particularly, it is possible to eliminate distortions existing in an image and smoothly resolve overlapping portions between images captured by a plurality of image sensors, thereby minimizing a sense of heterogeneity in reproduced images.
그런데 본 발명에서 제시하는 360도 전방향 뷰 생성 장치에 의해서 생성된 임의 시점에서 보는 360도 전방향 뷰 영상은 디스플레이(400)에서 바로 플레이될 수 있으며 동시에 생성된 360도 전방향 뷰 영상은 저장장치에 저장될 수 있다. 그뿐만 아니라 복수 개의 카메라에서 촬영된 복수 개의 원본 영상은 하나의 파일에 동기화되어 저장될 수 있다. 여기서 동기화란 동일 시간에 촬상된 복수의 영상을 서로 관련성을 가지도록 설정하는 것을 의미할 수 있다. 그리고 이렇게 동기화되어 저장된 원본 영상을 바탕으로 완전히 새로운 시점에서의 360도 전방향 뷰 영상을 새롭게 생성할 수도 있다. 즉, 디스플레이에 표시되는 영상은 영상 센서로 현재 촬상한 영상을 실시간으로 보여줄 수도 있지만 저장장치에 저장된 원본 영상을 바탕으로 다양한 시점에서 360도 전방향 뷰 영상을 생성하여 디스플레이에 표시할 수도 있다. However, the 360-degree omni-directional view image generated by the 360-degree omnidirectional view generating apparatus according to the present invention can be directly played on the
도 26은 본 발명의 또 다른 일 실시 예에 따른 360도 전방향 뷰 영상을 생성하는 방법을 도시한다.FIG. 26 illustrates a method of generating a 360-degree forward view image according to another embodiment of the present invention.
도 26을 참조하면 사용자는 원본 영상을 선택(S510)할 수 있다. 이때의 원본 영상은 360도 전방향 뷰 영상 생성 장치에 있는 복수 개의 영상 센서로부터 획득한 실시간 영상일 수도 있고 아니면 과거에 촬상되어 저장 장치에 동기화되어 미리 저장된 원본 영상들일 수도 있다. 그리고 선택된 원본 영상을 바탕으로 상술한 방법에 의하여 360도 전방향 뷰 영상을 생성(S520)할 수 있다. 이때 사용자는 실시간으로 시점 또는 가상 카메라의 위치 및 자세 등을 변경(S530)할 수 있고, 360도 전방향 뷰 생성 장치는 변경된 시점 또는 가상 카메라의 위치 및 자세에 맞춘 새로운 360도 전방향 뷰 영상을 생성(S540)할 수 있다. 생성된 영상은 디스플레이에 표시하거나 또는 장치로 전송할 수 있다.Referring to FIG. 26, the user can select an original image (S510). Here, the original image may be a real-time image obtained from a plurality of image sensors in the 360-degree omnidirectional view image generating apparatus, or may be original images previously captured and stored in synchronization with a storage device. Based on the selected original image, the 360-degree forward view image can be generated (S520) by the above-described method. At this time, the user can change the viewpoint or the position and posture of the virtual camera in real time (S530), and the 360 degree omnidirectional view generating device can display a new 360 degree omnidirectional view image corresponding to the changed point or the position and posture of the virtual camera (S540). The generated image can be displayed on the display or transmitted to the device.
상술한 것처럼 본 발명에서 제시하는 360도 전방향 영상 생성 장치는 동일한 원본 영상을 바탕으로 다양한 시점에서 360도 전방향 영상을 생성할 수 있기 때문에 블랙박스와 같은 감시 장치에서부터 축구 하이라이트의 다양한 각도에서의 골장면 디스플레이하는 것까지 그 적용 분야가 상당히 넓을 수 있다.As described above, the 360-degree omnidirectional image generating apparatus of the present invention can generate a 360-degree omni-directional image at various viewpoints based on the same original image, The application field can be quite wide ranging from displaying a goal scene.
본 발명이 속하는 기술 분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims and their equivalents. Only. It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .
100: 센서부
200: 영상처리 프로세서(ISP)
210: 주 영상처리 프로세서(Master ISP)
220, 230, 240: 보조 영상처리 프로세서(Slave ISP)
300: 다중 디지털 이미지 프로세서(MDIP)
310: 가상 카메라 모델부
320: 2차 곡면 모델부
330: 전방향 카메라 투영 모델부
340: 파라미터 설정부
350: 정합부
400: 디스플레이100:
200: image processing processor (ISP)
210: Main Image Processing Processor (Master ISP)
220, 230, 240: A secondary image processing processor (Slave ISP)
300: Multiple Digital Image Processor (MDIP)
310: Virtual camera model part
320: Second curved surface model part
330: omnidirectional camera projection model unit
340: Parameter setting section
350:
400: Display
Claims (37)
360도 전방향 영역을 분할 촬상할 수 있는 복수 개의 영상 센서를 포함하는 센서부;
상기 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하고, 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상을 수신받아 처리하는 영상처리 프로세서; 및
상기 영상처리 프로세서로부터 수신한 상기 복수 개의 영상을 정합하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는, 다중 디지털 이미지 프로세서;를 포함하고,
상기 영상처리 프로세서는,
상기 복수 개의 영상 센서 각각에 대응하는 복수 개의 영상처리 프로세서를 구비하고,
상기 복수 개의 영상처리 프로세서 중 하나는 주 영상처리 프로세서이고, 나머지는 보조 영상처리 프로세서이며,
상기 주 영상처리 프로세서는 상기 복수 개의 영상 센서가 동일 촬상 시간을 가질 수 있도록 상기 복수 개의 영상 센서 및 상기 보조 영상처리 프로세서에 클럭 및 영상 동기 신호를 제공하고,
상기 보조 영상처리 프로세서는 대응하는 영상 센서로부터 수신한 영상의 제 1 광학적 특성을 검출하여 상기 주 영상처리 프로세서로 전달하고,
상기 주 영상처리 프로세서는 대응하는 영상 센서로부터 수신한 영상의 제2 광학적 특성을 검출하고, 상기 보조 영상처리 프로세서로부터 수신한 상기 제1 광학적 특성 및 상기 제2 광학적 특성을 비교하여 노출값 및 색상 제어 정보를 결정한 후, 제어 신호로 상기 보조 영상처리 프로세서에 전달하며,
상기 보조 영상처리 프로세서 및 상기 주 영상처리 프로세서는 대응하는 영상 센서의 셔터 속도(Shutter Speed) 및 자동이득제어(automatic gain control) 값을 조정하는,
360도 전방향 뷰 영상 생성 장치.A 360 degree omnidirectional view image generation apparatus,
A sensor unit including a plurality of image sensors capable of dividing and imaging a 360-degree omni-directional area;
An image processing processor for controlling the plurality of image sensors so that the plurality of image sensors have the same imaging time, same exposure, and same color control, and receiving and processing a plurality of images picked up by the plurality of image sensors; And
And a multi-digital image processor for matching the plurality of images received from the image processing processor and generating a 360-degree omni-
Wherein the image processing processor comprises:
And a plurality of image processing processors corresponding to each of the plurality of image sensors,
One of the plurality of image processing processors is a main image processing processor, and the other is an auxiliary image processing processor,
Wherein the main image processing processor provides clock and image synchronization signals to the plurality of image sensors and the auxiliary image processing processor so that the plurality of image sensors have the same imaging time,
Wherein the auxiliary image processing processor detects a first optical characteristic of an image received from a corresponding image sensor and transmits the first optical characteristic to the main image processing processor,
Wherein the main image processing processor detects a second optical characteristic of an image received from a corresponding image sensor and compares the first optical characteristic and the second optical characteristic received from the auxiliary image processing processor to obtain an exposure value and color control information And then transmits the control signal to the auxiliary image processing processor,
Wherein the auxiliary image processing processor and the main image processing processor adjust a shutter speed and an automatic gain control value of a corresponding image sensor,
360 degree omnidirectional view image generation device.
설정된 가상 카메라의 위치 및 자세를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계(world coordinate)상의 좌표()로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 영상 효과를 얻기 위해 투영 방식에 따라 장면 좌표계상의 광축 중심(optical center;)을 설정하는 가상 카메라 모델부;
상기 가상 카메라 모델부에 의하여 생성된 장면 좌표계 상의 좌표()를 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑 시에 사용되고, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델()을 생성하는 2차 곡면 모델부;
상기 가상 카메라 모델부에서 획득한 장면 좌표계 상의 좌표(), 장면 좌표계상의 광축 중심(), 및 상기 2차 곡면 모델부에서 생성한 2차 곡면 모델()을 바탕으로 상기 장면 좌표계상의 좌표()를 상기 2차 곡면의 한 점으로 투영하고, 상기 2차 곡면에 투영된 한 점을 다시 상기 복수 개의 영상의 각 영상으로 투영하여 상기 장면 좌표계상의 좌표()를 상기 복수의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표()별로 주변 픽셀들의 픽셀값을 보간(interpolating)하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모델부; 및
상기 전방향 카메라 투영 모델부에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 정합하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값을 결정하는 정합부;를 포함하는,
360도 전방향 뷰 영상 생성 장치.The system of claim 1, wherein the multiple digital image processor comprises:
A coordinate ( u ) of a point of a 360-degree forward view image ( J ) shown at the viewpoint of the virtual camera on the basis of the set virtual camera position and posture, ), Performs perspective compensation through magnitude conversion, and calculates the center of the optical axis on the scene coordinate system according to the projection method to obtain a visual effect. A virtual camera model unit for setting the virtual camera model;
Coordinates on the scene coordinate system generated by the virtual camera model unit ( ) Corresponding pixel coordinates of each image of the plurality of images ), And a secondary curved surface model (hereinafter referred to as " secondary curved surface model ") modeled as a secondary curved surface that can insert a video effect into a 360-degree forward view image J A second curved surface model unit for generating a second curved surface model portion;
Coordinates on the scene coordinate system acquired by the virtual camera model unit ( ), The center of the optical axis on the scene coordinate system ( ), And a secondary curved surface model generated by the secondary curved surface model unit ( Coordinates on the scene coordinate system ( ) Onto a point on the secondary curved surface, projecting a point projected on the secondary curved surface onto each of the images of the plurality of images, ) Corresponding pixel coordinates of each image of the plurality of images ), And the corresponding pixel coordinates ( ) Interpolating pixel values of neighboring pixels for each of the plurality of images with respect to a coordinate u of a point of a 360-degree forward view image J viewed from the viewpoint of the virtual camera, An omnidirectional camera projection model unit for obtaining a value; And
( U ) of a point of a 360-degree omnidirectional view image ( J ) displayed at a viewpoint of the virtual camera by matching pixel values from respective images of the plurality of images acquired by the omnidirectional camera projection modeling unit And a matching unit for determining a pixel value for the pixel,
360 degree omnidirectional view image generation device.
상기 다중 디지털 이미지 프로세서의 각 부에서 사용될 파라미터를 사용자로부터 입력받아 설정하는 파라미터 설정부;를 더 포함하는,
360도 전방향 뷰 영상 생성 장치.5. The method of claim 4,
Further comprising: a parameter setting unit configured to receive and set parameters to be used in each unit of the multiple digital image processor from a user,
360 degree omnidirectional view image generation device.
상기 가상 카메라 모델부는,
상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 가상 카메라 좌표계에서 (x, y)의 직각 좌표 형식의 좌표 또는 (r, θ)의 극 좌표 형식의 좌표로 표시하는 좌표 표시모듈;
상기 가상 카메라의 위치 및 자세 정보를 입력받고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계상의 좌표로 변환하는 변환 행렬()을 생성하는 위치설정 모듈;
상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정하고, 상기 조정에 따라 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 조정하는 크기 조정 모듈;
상기 위치설정 모듈에서 생성한 변환 행렬()를 바탕으로 상기 좌표 표시모듈 및 상기 크기 조정 모듈에서 생성하고 조정한 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계의 좌표()로 변환하는 변환 모듈; 및
상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 광축 중심()을 계산하는 광축 중심 설정모듈; 을 포함하는,
360도 전방향 뷰 영상 생성 장치. 5. The method of claim 4,
The virtual camera model unit includes:
The coordinate u of one point of the 360 degree forward view image J viewed from the viewpoint of the virtual camera is calculated as the coordinate of the rectangular coordinate form of (x, y) or the polar coordinate of (r, A coordinate display module for displaying coordinates in a format;
A transformation matrix (x, y , y , z ) for transforming coordinates ( u ) of a point of a 360-degree forward view image ( J ) into coordinates on a scene coordinate system A location setting module for generating a location setting module;
Of 360 ° omnidirectional view image (J) to adjust the size ratio of the horizontal axis and a vertical axis and 360 ° omnidirectional view image (J) shown in the timing of the virtual camera in accordance with the adjustment shown in the time point of the virtual camera, A size adjustment module for adjusting coordinates ( u ) of a point;
The transformation matrix generated by the position setting module ( ( U ) of a point of a 360-degree omnidirectional view image ( J ) displayed at the viewpoint of the virtual camera created and adjusted by the coordinate display module and the size adjustment module is calculated based on the coordinate ); And
The center of the optical axis of the 360-degree forward view image J shown at the viewpoint of the virtual camera An optical axis center setting module for calculating an optical axis center; / RTI >
360 degree omnidirectional view image generation device.
상기 좌표 표시모듈은,
상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심()을 이용하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 로 계산하여 직각 좌표 형식의 좌표()로 표시하는,
360도 전방향 뷰 영상 생성 장치. The method according to claim 6,
Wherein the coordinate display module comprises:
The center of the 360-degree forward view image J shown at the viewpoint of the virtual camera ( U ) of a point of the 360-degree forward view image J shown at the viewpoint of the virtual camera using To the coordinates in the rectangular coordinate form ( ),
360 degree omnidirectional view image generation device.
상기 좌표 표시모듈은,
상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 로 계산하여 극좌표 형식의 좌표()로 표시하되,
이고,
은 극좌표 형식에서 사용되는 반지름의 최소값, 는 극좌표 형식에서 사용되는 반지름의 최대값, 은 극좌표 형식에서 사용되는 반지름 방향의 픽셀 수, 은 극좌표 형식에서 사용되는 각도의 최소값, 는 극좌표 형식에서 사용되는 각도의 최대값, 는 극좌표 형식에서 사용되는 각도 방향의 픽셀 수이고, 인,
360도 전방향 뷰 영상 생성 장치. The method according to claim 6,
Wherein the coordinate display module comprises:
( U ) of a point of the 360-degree forward view image J shown at the viewpoint of the virtual camera To the coordinates in polar coordinates ( ),
ego,
Is the minimum value of the radius used in the polar coordinate format, Is the maximum value of the radius used in polar form, Is the number of radial pixels used in polar form, Is the minimum value of the angle used in the polar coordinate format, Is the maximum value of the angle used in the polar coordinate format, Is the number of pixels in the angular direction used in the polar coordinate format, sign,
360 degree omnidirectional view image generation device.
상기 위치설정 모듈은,
식을 이용하여 변환행렬()을 구하되,
는 장면 좌표계상에서의 2차 곡면 모델의 중심이며, 상기 가상 카메라의 팬, 틸트 회전의 중심이고, 은 장면 좌표계상에서의 가상 카메라의 위치, φn 및 θn는 각각 상기 가상 카메라의 장면 좌표계의 z축에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)이고, trans()는 3차원 공간상의 이동 행렬을 나타내는 함수이고, rotz()와 rotx()는 3차원 공간상의 각각 z축과 x축에 대한 회전을 나타내는 함수인,
360도 전방향 뷰 영상 생성 장치. The method according to claim 6,
Wherein the positioning module comprises:
The transformation matrix ( ),
Is the center of the quadratic surface model on the scene coordinate system and is the center of the pan and tilt rotation of the virtual camera, Is the position of the virtual camera on the scene coordinate system, phi n And θ n are the azimuth and elevation of the scene coordinate system of the virtual camera with respect to the z axis, trans () is a function representing a moving matrix on the three-dimensional space, and rot z () And rot x () are functions representing the rotation about the z-axis and the x-axis on the three-dimensional space,
360 degree omnidirectional view image generation device.
상기 광축 중심 설정모듈은,
가상 카메라의 유형이 원근 투영 카메라인지 직각 투영 카메라인지에 따라
에 의하여 광축 중심()을 계산하되,
은 초점 거리(focal length)이고, 는 상기 변환 모듈에서 생성한 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 좌표이고, 및 은 변환 행렬 () 을 단위 벡터 형태인 으로 표현할 때의 단위 벡터들인,
360도 전방향 뷰 영상 생성 장치. The method according to claim 6,
The optical axis center setting module includes:
Depending on whether the type of virtual camera is a perspective projection camera or a perpendicular projection camera
The center of the optical axis ),
Is the focal length, Is a coordinate of a scene coordinate system corresponding to a coordinate ( u ) of a point of a 360-degree forward view image ( J ) viewed from the viewpoint of the virtual camera generated by the conversion module, And Lt; RTI ID = 0.0 > ( ) As a unit vector form Which are unit vectors when expressed as < RTI ID = 0.0 >
360 degree omnidirectional view image generation device.
상기 2차 곡면 모델부는,
복수 개의 2차 곡면 모델 중의 하나를 선택하고, 선택된 2차 곡면 모델에 대한 파라미터를 이용하여 선택된 2차 곡면 모델을 표현하는 행렬()을 생성하는 2차 곡면 모델 선정 모듈;
상기 2차 곡면상의 점들을 장면 좌표계상의 좌표들로 변환하기 위한 변환행렬()을 생성하는 좌표설정 모듈; 및
상기 변환행렬()을 이용하여 상기 선택된 2차 곡면 모델을 표현하는 행렬()을 장면 좌표계상에서 상기 선택된 2차 곡면 모델을 표현하는 행렬()로 변환하는 변환 모듈;을 포함하는,
360도 전방향 뷰 영상 생성 장치. 5. The method of claim 4,
Wherein the quadric surface model unit comprises:
A matrix for selecting one of the plurality of secondary curved surface models and expressing the selected secondary curved surface model using the parameters for the selected secondary curved surface model ( A secondary curved surface model selection module for generating a curved surface model;
A transformation matrix for transforming the points on the quadratic surface into coordinates on the scene coordinate system ( A coordinate setting module for generating a coordinate value; And
The transformation matrix ( ) To express the selected quadratic surface model ) Representing the selected curved surface model on the scene coordinate system ( ), ≪ / RTI >
360 degree omnidirectional view image generation device.
상기 2차 곡면 모델 선정 모듈은,
타원체(Ellipsoid) 모델, 실린더(Cylinder) 모델, 포물면(Paraboloid) 모델, 및 사용자 설정 2차 곡면 모델 중 하나의 모델을 선택하는,
360도 전방향 뷰 영상 생성 장치. 12. The method of claim 11,
Wherein the secondary curved surface model selection module comprises:
An Ellipsoid model, a Cylinder model, a Paraboloid model, and a user-set quadric surface model,
360 degree omnidirectional view image generation device.
상기 2차 곡면 모델부의 상기 좌표설정 모듈은,
식을 이용하여 변환행렬()을 구하되,
φn 및 θn는 각각 상기 2차 곡면 모델의 장면 좌표계의 z축에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)이고, rotz()와 rotx()는 3차원 공간상의 각각 z축과 x축에 대한 회전을 나타내는 함수인,
360도 전방향 뷰 영상 생성 장치. 12. The method of claim 11,
Wherein the coordinate setting module of the quadric surface model unit comprises:
The transformation matrix ( ),
φ n And θ n are a horizontal azimuth and a vertical rotation angle of the scene coordinate system of the quadratic curve model with respect to the z axis and rot z () and rot x () And the rotation about the x-axis,
360 degree omnidirectional view image generation device.
상기 2차 곡면 모델부의 상기 변환 모듈은,
상기 선택된 2차 곡면 모델을 표현하는 행렬() 및 변환행렬()을 바탕으로 장면 좌표계상에서 상기 선택된 2차 곡면 모델을 표현하는 행렬()을
식을 이용하여 계산하는,
360도 전방향 뷰 영상 생성 장치. 12. The method of claim 11,
Wherein the conversion module of the quadric surface model unit comprises:
A matrix expressing the selected curved surface model ( ) And a transformation matrix ( ) Representing the selected curved surface model on the scene coordinate system )of
The formula used to calculate,
360 degree omnidirectional view image generation device.
상기 전방향 카메라 투영 모델부는,
상기 가상 카메라 모델부에서 획득한 장면 좌표계 상의 좌표(), 및 장면 좌표계 상의 광축 중심()을 연결하는 직선인 투영선과 상기 2차 곡면 모델()과의 교차점()을 계산하는 교차점 모듈; 및
상기 교차점()을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표()의 주변 픽셀들의 픽셀값을 보간하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모듈;을 포함하는,
360도 전방향 뷰 영상 생성 장치. 5. The method of claim 4,
The omnidirectional camera projection modeling unit,
Coordinates on the scene coordinate system acquired by the virtual camera model unit ( ), And the center of the optical axis on the scene coordinate system ( ) And the second curved surface model ( ) ≪ / RTI > ); ≪ / RTI > And
The intersection ( ) Corresponding pixel coordinates of each image of the plurality of images ), And the corresponding pixel coordinates ( ) To obtain a pixel value from each image of the plurality of images with respect to a coordinate u of a point of the 360-degree forward view image J viewed at the viewpoint of the virtual camera An omni-directional camera projection module,
360 degree omnidirectional view image generation device.
상기 전방향 카메라 투영 모듈은,
장면 좌표계로 표현된 상기 교차점()을 카메라 좌표계의 대응하는 좌표()로 변환하는 변환 모듈;
상기 변환 모듈에서 생성되는 상기 교차점의 카메라 좌표계 좌표()로부터 영상의 왜곡을 보정할 수 있는 상기 복수 개의 영상의 각 영상의 실제 픽셀 좌표()를 획득하는 좌표 계산 모듈; 및
상기 좌표 계산 모듈에서 획득한 상기 복수 개의 영상의 각 영상의 실제 픽셀 좌표()별로 주변 픽셀들의 픽셀값들을 획득하고, 상기 주변 픽셀들의 픽셀값들을 바탕으로 보간(interpolation)하여 출력하는 보간 모듈;을 포함하는,
360도 전방향 뷰 영상 생성 장치. 16. The method of claim 15,
The omnidirectional camera projection module comprises:
The intersection point represented by the scene coordinate system ( ) To the corresponding coordinates of the camera coordinate system ( );
Coordinates of the camera coordinate system of the intersection point generated by the conversion module The actual pixel coordinates of each of the images of the plurality of images that can correct the distortion of the image ); And
And an actual pixel coordinate of each image of the plurality of images acquired by the coordinate calculation module And an interpolation module for interpolating and outputting pixel values of neighboring pixels on the basis of pixel values of the neighboring pixels,
360 degree omnidirectional view image generation device.
상기 좌표 계산 모듈은,
상기 복수 개의 영상의 각 영상에 존재하는 왜곡에 대하여 수치적으로 근사한 테일러 확장(Taylor expansion series) 기반의 근사 모델을 기반으로 하는 왜곡 보정 매핑 함수()를 이용하여 상기 교차점()의 카메라 좌표계 좌표()를 왜곡 없는 영상 평면 상의 한 점()으로 매핑하고, 어파인(affine) 변환 행렬()을 이용하여 상기 왜곡 없는 영상 평면 상의 한 점()에 대응되는 상기 복수의 영상의 각 영상의 픽셀 좌표()를 획득하는,
360도 전방향 뷰 영상 생성 장치. 17. The method of claim 16,
Wherein the coordinate calculation module comprises:
A distortion correction mapping function based on an approximate model based on a Taylor expansion series which is numerically approximated to a distortion existing in each image of the plurality of images ) At the intersection ( ) Coordinates of the camera coordinate system ( ) To a point on the distortion-free image plane ( ), And an affine transformation matrix ( ), A point on the distortion-free image plane ( ) Of the respective images of the plurality of images corresponding to the pixel coordinates ),
360 degree omnidirectional view image generation device.
상기 전방향 카메라 투영 모델부에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값에 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)로부터 상기 각 영상의 경계까지의 거리에 기반한 가중치를 곱하고 평균하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값으로 결정하는,
360도 전방향 뷰 영상 생성 장치. The connector according to claim 4,
From the coordinate ( u ) of a point of a 360-degree forward view image ( J ) displayed at a viewpoint of the virtual camera to a pixel value from each image of the plurality of images acquired by the forward direction camera projection modeling unit ( U ) of a 360-degree forward view image ( J ) displayed at a viewpoint of the virtual camera, and determining a pixel value for a coordinate ( u ) of a point of the 360-
360 degree omnidirectional view image generation device.
식을 이용하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값()을 결정하고,
k는 상기 복수 개의 영상의 수이고, 는 상기 전방향 카메라 투영 모델부에서 i번째 영상으로부터 획득한 픽셀값이고, 는 i번째 영상에서 상기 좌표(u)에서 상기 i번째 영상의 경계까지의 거리에 따른 가중치이고,
상기 는
식을 이용하여 결정하되
θmax는 영상센서의 최대 화각이고, α는 이웃한 영상센서와의 겹치는 각도이고, θ는 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 극좌표 형식으로 표시하였을 때의 각도인,
360도 전방향 뷰 영상 생성 장치. 19. The apparatus of claim 18, wherein the mating portion
( U ) of a point of a 360-degree forward view image ( J ) shown at the viewpoint of the virtual camera using the equation ),
k is the number of the plurality of images, Is a pixel value obtained from the i-th image in the forward camera projection model unit, Is a weight according to the distance from the coordinate ( u ) to the boundary of the i-th image in the i-th image,
remind The
Use the formula to determine
θ max is the maximum angle of view of the image sensor, α is the overlap angle between adjacent image sensor, θ is the coordinates (u) of a point on the 360-degree omni-directional view image (J) shown in the timing of the virtual camera, Which is an angle obtained by displaying in polar coordinate format,
360 degree omnidirectional view image generation device.
상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상들을 저장하기 위한 저장 장치를 더 포함하고,
상기 복수 개의 영상 센서가 촬상한 복수 개의 영상들은 동기화되어 하나의 파일로 저장하는,
360도 전방향 뷰 영상 생성 장치.The method according to claim 1,
Further comprising a storage device for storing a plurality of images captured by the plurality of image sensors,
A plurality of images captured by the plurality of image sensors are synchronized and stored as one file,
360 degree omnidirectional view image generation device.
상기 영상처리 프로세서는 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상 대신에 상기 저장 장치에 동기화되어 하나의 파일로 저장된 복수 개의 영상들을 읽어드려 처리하는,
360도 전방향 뷰 영상 생성 장치.21. The method of claim 20,
Wherein the image processing processor reads and processes a plurality of images stored in a file synchronized with the storage device instead of a plurality of images captured by the plurality of image sensors,
360 degree omnidirectional view image generation device.
복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하는 단계;
상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 획득하는 단계; 및
상기 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계;를 포함하고,
상기 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하는 단계는,
상기 복수 개의 영상 센서로 동일한 클럭 신호와 영상 동기 신호를 전달하는 단계;
영상처리 프로세서가 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 획득하여 각 영상의 광학적 특성을 검출하는 단계;
검출한 상기 각 영상의 광학적 특성을 비교하여 노출값 및 색상 보정 정보를 결정하는 단계; 및
결정된 상기 노출값 및 색상 보정 정보를 바탕으로 상기 복수의 영상 센서를 제어하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법.A 360-degree forward view image generation method,
Controlling the plurality of image sensors so that the plurality of image sensors have the same imaging time, same exposure, and same color control;
Acquiring a plurality of images captured by the plurality of image sensors; And
And generating a 360-degree omnidirectional view image that is displayed at an arbitrary point in time by synthesizing the distorted images, removing distortion included in each image based on the plurality of images,
Controlling the plurality of image sensors so that the plurality of image sensors have the same image sensing time, same exposure, and same color control,
Transmitting an identical clock signal and an image synchronization signal to the plurality of image sensors;
The method comprising: acquiring a plurality of images captured by the plurality of image sensors and detecting optical characteristics of the images;
Comparing the optical characteristics of each of the detected images to determine an exposure value and color correction information; And
And controlling the plurality of image sensors based on the determined exposure value and color correction information.
360 degree front view image generation method.
상기 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계는,
설정된 가상 카메라의 위치 및 자세를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점(u)의 좌표를 장면 좌표계(world coordinate)상의 좌표()로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 특수 효과를 얻기 위해 투영 방식에 따라 장면 좌표계 상의 광축 중심(optical center;)을 설정하는 가상 카메라 모델 생성 단계;
상기 가상 카메라 모델 생성 단계에서 생성된 장면 좌표계 상의 좌표()를 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑 시에 사용되고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델()을 생성하는 2차 곡면 모델 생성 단계;
상기 가상 카메라 모델 생성 단계에서 생성한 장면 좌표계 상의 좌표(), 장면 좌표계 상의 광축 중심(), 및 상기 2차 곡면 모델 생성 단계에서 획득한 2차 곡면 모델()을 바탕으로 상기 장면 좌표계 상의 좌표()를 상기 2차 곡면의 한 점으로 투영하고, 상기 2차 곡면에 투영된 한 점을 다시 상기 복수 개의 영상의 각 영상으로 투영하여 상기 장면 좌표계 상의 좌표()를 대응하는 전방향 카메라 영상의 픽셀 좌표()로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표()별로 주변 픽셀들의 픽셀값을 보간(interpolating)하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모델 생성 단계; 및
상기 전방향 카메라 투영 모델 생성 단계에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 정합하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값을 결정함으로써 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)을 생성하는 영상 생성 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법. 23. The method of claim 22,
Removing the distortion included in each image based on the plurality of images, and synthesizing the distorted images to generate a 360-degree omnidirectional view image that is displayed at a set point,
The coordinates of a point ( u ) of the 360-degree forward view image ( J ) shown at the viewpoint of the virtual camera are plotted on the coordinates ( ), Performs perspective compensation through magnification conversion, and uses an optical center (XYZ) on the scene coordinate system according to the projection method to obtain a special effect. A virtual camera model creation step of setting a virtual camera model;
The coordinates on the scene coordinate system generated in the virtual camera model creation step ( ) Corresponding pixel coordinates of each image of the plurality of images And a secondary curved surface model ( J ) modeled as a secondary curved surface that can be used to insert a video effect into the 360-degree forward view image J , which is used at the time of the virtual camera A second curved surface model generation step of generating a second curved surface model;
The coordinates on the scene coordinate system generated in the virtual camera model creation step ( ), The center of the optical axis on the scene coordinate system ( ), And a secondary curved surface model obtained in the secondary curved surface model generation step ( Coordinates on the scene coordinate system ( ) Onto a point on the secondary curved surface, projecting a point projected on the secondary curved surface onto each of the images of the plurality of images, ) To the pixel coordinate of the corresponding forward camera image ( ), And the corresponding pixel coordinates ( ) Interpolating pixel values of neighboring pixels for each of the plurality of images with respect to a coordinate u of a point of a 360-degree forward view image J viewed from the viewpoint of the virtual camera, An omnidirectional camera projection model generation step of acquiring a value of the forward camera projection model; And
( U ) of a point of a 360-degree forward view image ( J ) displayed at the viewpoint of the virtual camera by matching pixel values from each image of the plurality of images acquired in the forward direction camera projection model generation step, And generating a 360-degree omnidirectional view image J viewed from the viewpoint of the virtual camera by determining a pixel value for the virtual camera.
360 degree front view image generation method.
원근감 보정을 위하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 크기를 보상하는 단계;를 더 포함하는,
360도 전방향 뷰 영상 생성 방법. 25. The method of claim 24,
Compensating a size of a 360-degree forward view image ( J ) displayed at a viewpoint of the virtual camera for perspective correction;
360 degree front view image generation method.
상기 가상 카메라 모델 생성 단계는,
사용자가 원하는 임의 시점에서의 영상을 생성하고, 기계식 카메라의 디지털 팬(pan), 틸트(tilt), 줌(zoom) 기능을 에뮬레이션할 수 있도록 가상 카메라의 위치 및 자세를 설정하는 단계;
가상 카메라의 유형 및 각 유형별 파라미터들을 설정하는 단계; 및
설정된 상기 가상 카메라의 유형, 위치, 및 자세를 바탕으로 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 장면 좌표계 상의 좌표() 및 광축 중심()을 계산하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법. 25. The method of claim 24,
In the virtual camera model generation step,
Setting a position and a posture of a virtual camera so as to generate an image at a desired time and to emulate a digital pan, tilt, and zoom functions of a mechanical camera;
Setting a type of virtual camera and parameters for each type; And
The coordinates on the scene coordinate system for one point of the 360-degree forward view image J shown at the viewpoint of the virtual camera based on the type, position, ) And the center of the optical axis ( ), ≪ / RTI >
360 degree front view image generation method.
상기 가상 카메라의 위치 및 자세를 설정하는 단계는,
장면 좌표계의 x, y, z축의 방향 및 가상 좌표계의 xn, yn, zn의 방향을 설정하는 단계;
장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정하는 단계; 및
장면 좌표계의 중심으로부터의 거리를 설정하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법. 27. The method of claim 26,
Wherein the setting of the position and posture of the virtual camera comprises:
Setting the directions of the x, y, and z axes of the scene coordinate system and the directions of x n , y n , and z n of the virtual coordinate system;
Setting a horizontal rotation azimuth and a vertical rotation angle (elevation) about a z-axis of a scene coordinate system; And
And setting a distance from the center of the scene coordinate system.
360 degree front view image generation method.
상기 가상 카메라의 유형 및 각 유형별 파라미터들을 설정하는 단계는,
일반적인 원근 효과를 갖는 원근 투영 카메라(perspective projection camera), 원근 효과가 제거된 렌즈를 모방하는 직각 투영 카메라(orthographic projection camera), 및 전방향 파노라마 영상을 생성할 수 있는 파노라마 카메라(panorama camera) 중의 하나를 가상 카메라의 유형으로 선택하는 단계; 및
선택된 상기 가상 카메라의 유형에 따라 파라미터를 설정하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법. 27. The method of claim 26,
Wherein the setting of the type of the virtual camera and the parameters of each type includes:
One is a perspective projection camera with a general perspective effect, an orthographic projection camera that mimics a lens with a perspective effect removed, and a panorama camera capable of generating an omni-directional panoramic image As a type of virtual camera; And
And setting a parameter according to the type of the selected virtual camera.
360 degree front view image generation method.
상기 2차 곡면 모델 생성 단계는,
2차 곡면 모델의 유형을 설정하는 단계;
설정된 상기 2차 곡면 모델의 자세 및 위치를 설정하는 단계;
설정된 상기 자세 및 위치를 바탕으로 상기 설정된 2차 곡면 모델의 장면 좌표계상의 2차 곡면 모델()을 계산하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법. 25. The method of claim 24,
Wherein the secondary curved surface model generation step comprises:
Setting a type of the quadric surface model;
Setting a posture and a position of the set secondary curved surface model;
A second curved surface model on the scene coordinate system of the set second curved surface model based on the set attitude and position ), ≪ / RTI >
360 degree front view image generation method.
상기 2차 곡면 모델의 유형을 설정하는 단계는,
가상 카메라의 팬, 틸트, 줌 효과를 얻기 위해 사용될 수 있는 타원체(Ellipsoid) 모델, 광각 영상 생성을 위한 실린더(Cylinder) 모델, 영상의 일정 부분만을 매핑하는 효과를 얻기 위한 포물면 모델, 및 사용자가 임의로 설정할 수 있는 사용자 2차 곡면 모델 중 하나를 선택하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법. 30. The method of claim 29,
Wherein the step of setting the type of the quadric surface model comprises:
An Ellipsoid model that can be used to obtain a pan, tilt, and zoom effect of a virtual camera, a cylinder model for generating a wide-angle image, a parabolic model for obtaining an effect of mapping only a certain portion of an image, And selecting one of the user's quadratic surface models that can be set.
360 degree front view image generation method.
상기 설정된 상기 2차 곡면 모델의 자세 및 위치를 설정하는 단계는,
장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법. 30. The method of claim 29,
Wherein the step of setting the attitude and position of the set secondary curved surface model comprises:
And setting a horizontal azimuth and an elevation around the z-axis of the scene coordinate system.
360 degree front view image generation method.
상기 전방향 카메라 투영 모델 생성 단계는,
상기 가상 카메라 모델 생성 단계에서 획득한 장면 좌표계 상의 좌표(), 및 장면 좌표계 상의 광축 중심()을 연결하는 직선인 투영선과 상기 2차 곡면 모델()과의 교차점()을 계산하는 단계;
상기 교차점()을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑(mapping)하는 단계; 및
상기 각 영상의 대응하는 픽셀 좌표()의 주변 픽셀들의 픽셀값을 보간하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법. 25. The method of claim 24,
Wherein the forward camera projection model generation step comprises:
Coordinates (?) On the scene coordinate system acquired in the virtual camera model creation step ), And the center of the optical axis on the scene coordinate system ( ) And the second curved surface model ( ) ≪ / RTI > ≪ / RTI >
The intersection ( ) Corresponding pixel coordinates of each image of the plurality of images ); And
The corresponding pixel coordinates ( ) To obtain a pixel value from each image of the plurality of images with respect to a coordinate u of a point of the 360-degree forward view image J viewed at the viewpoint of the virtual camera ; ≪ / RTI >
360 degree front view image generation method.
상기 교차점()을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표()로 매핑(mapping)하는 단계는,
장면 좌표계로 표현된 상기 교차점()을 카메라 좌표계의 대응하는 좌표()로 변환하는 단계;
상기 복수 개의 영상의 각 영상에 존재하는 왜곡에 대하여 수치적으로 근사한 테일러 확장(Taylor expansion series) 기반의 근사 모델을 기반으로 하는 왜곡 보정 매핑 함수()를 이용하여 상기 교차점()의 카메라 좌표계 좌표()를 왜곡 없는 영상 평면 상의 한 점()으로 매핑하는 단계; 및
어파인(affine) 변환 행렬()을 이용하여 상기 왜곡 없는 영상 평면 상의 한 점()에 대응되는 상기 복수의 영상의 각 영상의 픽셀 좌표()를 획득하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법.33. The method of claim 32,
The intersection ( ) Corresponding pixel coordinates of each image of the plurality of images ) Comprises the steps of:
The intersection point represented by the scene coordinate system ( ) To the corresponding coordinates of the camera coordinate system ( );
A distortion correction mapping function based on an approximate model based on a Taylor expansion series which is numerically approximated to a distortion existing in each image of the plurality of images ) At the intersection ( ) Coordinates of the camera coordinate system ( ) To a point on the distortion-free image plane ( ); And
Affine transformation matrix ( ), A point on the distortion-free image plane ( ) Of the respective images of the plurality of images corresponding to the pixel coordinates ), ≪ / RTI >
360 degree front view image generation method.
상기 원근감 보정을 위한 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 크기를 보상하는 단계는,
상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정하는 단계; 및
상기 2차 곡면 모델의 유형과 파라미터 설정을 통해 깊이 및 크기를 보상하는 단계;를 포함하는,
360도 전방향 뷰 영상 생성 방법. 26. The method of claim 25,
The step of compensating the size of the 360-degree forward view image ( J ) shown at the viewpoint of the virtual camera for the perspective-
Adjusting a size ratio of a horizontal axis and a vertical axis of the 360-degree forward view image J viewed from the viewpoint of the virtual camera; And
And compensating depth and size through the type and parameter setting of the secondary curved surface model.
360 degree front view image generation method.
상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 동기화시켜 하나의 파일로 저장하는 단계;를 더 포함하는,
360도 전방향 뷰 영상 생성 방법.23. The method of claim 22,
Further comprising: synchronizing a plurality of images captured by the plurality of image sensors and storing the images as one file;
360 degree front view image generation method.
A computer program stored on a computer readable medium for executing a method according to any one of claims 22, 24, and 35 when executed on a computer or a processor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170077815A KR101915729B1 (en) | 2017-06-20 | 2017-06-20 | Apparatus and Method for Generating 360 degree omni-directional view |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170077815A KR101915729B1 (en) | 2017-06-20 | 2017-06-20 | Apparatus and Method for Generating 360 degree omni-directional view |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101915729B1 true KR101915729B1 (en) | 2018-11-06 |
Family
ID=64329770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170077815A KR101915729B1 (en) | 2017-06-20 | 2017-06-20 | Apparatus and Method for Generating 360 degree omni-directional view |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101915729B1 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200055596A (en) * | 2018-11-13 | 2020-05-21 | 삼성전자주식회사 | Image transmitting method of terminal device mounted on vehicle and image receiving method of remote control device controlling vehicle |
CN112037178A (en) * | 2020-08-10 | 2020-12-04 | 泉州市澳莱格电子有限责任公司 | Cylinder two-dimensional image generation method based on multi-view camera |
CN112116530A (en) * | 2019-06-19 | 2020-12-22 | 杭州海康威视数字技术股份有限公司 | Fisheye image distortion correction method and device and virtual display system |
KR102226894B1 (en) | 2019-10-21 | 2021-03-10 | 서울과학기술대학교 산학협력단 | Panorama image generating system and method using crowd sourcing |
KR20210115281A (en) * | 2020-03-12 | 2021-09-27 | 한국전자통신연구원 | Apparatus and Method for Selecting Camera Providing Input Images to Synthesize Virtual View Images |
KR20210123367A (en) * | 2019-03-10 | 2021-10-13 | 구글 엘엘씨 | 360 degree wide angle camera with baseball stitch |
CN114007056A (en) * | 2021-10-28 | 2022-02-01 | 幻境虚拟现实科技(广州)有限公司 | Method and device for generating three-dimensional panoramic image |
CN114549350A (en) * | 2022-02-18 | 2022-05-27 | 深圳Tcl数字技术有限公司 | Image data visual angle correction method, device, equipment and storage medium |
EP4131164A1 (en) * | 2021-08-05 | 2023-02-08 | Hyundai Mobis Co., Ltd. | Method and apparatus for image registration |
KR20230019744A (en) * | 2021-08-02 | 2023-02-09 | 주식회사 휴머놀러지 | Video Finger Printing Learning Method Using Virtual world and system using same |
WO2023183560A1 (en) * | 2022-03-24 | 2023-09-28 | Connaught Electronics Ltd. | Method for reducing a color shift of image pixels of an image for a motor vehicle captured by a camera |
WO2023216822A1 (en) * | 2022-05-13 | 2023-11-16 | 北京字节跳动网络技术有限公司 | Image correction method and apparatus, electronic device, and storage medium |
CN117692609A (en) * | 2024-01-25 | 2024-03-12 | 广州市锐星信息科技有限公司 | Magnetic type wireless data terminal and acquisition method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015046171A (en) * | 2014-09-29 | 2015-03-12 | 株式会社リコー | Apparatus and method for generating image |
-
2017
- 2017-06-20 KR KR1020170077815A patent/KR101915729B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015046171A (en) * | 2014-09-29 | 2015-03-12 | 株式会社リコー | Apparatus and method for generating image |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102704997B1 (en) * | 2018-11-13 | 2024-09-09 | 삼성전자주식회사 | Image transmitting method of terminal device mounted on vehicle and image receiving method of remote control device controlling vehicle |
KR20200055596A (en) * | 2018-11-13 | 2020-05-21 | 삼성전자주식회사 | Image transmitting method of terminal device mounted on vehicle and image receiving method of remote control device controlling vehicle |
KR20210123367A (en) * | 2019-03-10 | 2021-10-13 | 구글 엘엘씨 | 360 degree wide angle camera with baseball stitch |
KR102620783B1 (en) * | 2019-03-10 | 2024-01-04 | 구글 엘엘씨 | 360-degree wide-angle camera with baseball stitching |
CN112116530A (en) * | 2019-06-19 | 2020-12-22 | 杭州海康威视数字技术股份有限公司 | Fisheye image distortion correction method and device and virtual display system |
CN112116530B (en) * | 2019-06-19 | 2023-08-18 | 杭州海康威视数字技术股份有限公司 | Fisheye image distortion correction method, device and virtual display system |
KR102226894B1 (en) | 2019-10-21 | 2021-03-10 | 서울과학기술대학교 산학협력단 | Panorama image generating system and method using crowd sourcing |
KR102522892B1 (en) | 2020-03-12 | 2023-04-18 | 한국전자통신연구원 | Apparatus and Method for Selecting Camera Providing Input Images to Synthesize Virtual View Images |
KR20210115281A (en) * | 2020-03-12 | 2021-09-27 | 한국전자통신연구원 | Apparatus and Method for Selecting Camera Providing Input Images to Synthesize Virtual View Images |
US11706395B2 (en) | 2020-03-12 | 2023-07-18 | Electronics And Telecommunications Research Institute | Apparatus and method for selecting camera providing input images to synthesize virtual view images |
CN112037178A (en) * | 2020-08-10 | 2020-12-04 | 泉州市澳莱格电子有限责任公司 | Cylinder two-dimensional image generation method based on multi-view camera |
KR102509981B1 (en) | 2021-08-02 | 2023-03-14 | 주식회사 휴머놀러지 | Video Finger Printing Learning Method Using Virtual world and system using same |
KR20230019744A (en) * | 2021-08-02 | 2023-02-09 | 주식회사 휴머놀러지 | Video Finger Printing Learning Method Using Virtual world and system using same |
EP4131164A1 (en) * | 2021-08-05 | 2023-02-08 | Hyundai Mobis Co., Ltd. | Method and apparatus for image registration |
US11847787B2 (en) | 2021-08-05 | 2023-12-19 | Hyundai Mobis Co., Ltd. | Method and apparatus for image registration |
CN114007056A (en) * | 2021-10-28 | 2022-02-01 | 幻境虚拟现实科技(广州)有限公司 | Method and device for generating three-dimensional panoramic image |
CN114549350A (en) * | 2022-02-18 | 2022-05-27 | 深圳Tcl数字技术有限公司 | Image data visual angle correction method, device, equipment and storage medium |
WO2023183560A1 (en) * | 2022-03-24 | 2023-09-28 | Connaught Electronics Ltd. | Method for reducing a color shift of image pixels of an image for a motor vehicle captured by a camera |
WO2023216822A1 (en) * | 2022-05-13 | 2023-11-16 | 北京字节跳动网络技术有限公司 | Image correction method and apparatus, electronic device, and storage medium |
CN117692609A (en) * | 2024-01-25 | 2024-03-12 | 广州市锐星信息科技有限公司 | Magnetic type wireless data terminal and acquisition method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101915729B1 (en) | Apparatus and Method for Generating 360 degree omni-directional view | |
KR100799088B1 (en) | Fast digital pan tilt zoom video | |
US7215364B2 (en) | Digital imaging system using overlapping images to formulate a seamless composite image and implemented using either a digital imaging sensor array | |
US20170285455A1 (en) | Digital 3d/360 degree camera system | |
JP4403172B2 (en) | File generation method and apparatus, and stereoscopic image display control method and apparatus | |
EP3016065B1 (en) | Coordinate computation device and method, and image processing device and method | |
US20070248260A1 (en) | Supporting a 3D presentation | |
CN103839227B (en) | Fisheye image correcting method and device | |
CN107113376A (en) | A kind of image processing method, device and video camera | |
JP2003187261A (en) | Device and method for generating three-dimensional image, three-dimensional image processing apparatus, three-dimensional image photographing display system, three-dimensional image processing method and storage medium | |
KR101465112B1 (en) | camera system | |
CN109785390B (en) | Method and device for image correction | |
KR101916419B1 (en) | Apparatus and method for generating multi-view image from wide angle camera | |
JP4403173B2 (en) | 3D display file generation method and apparatus, and display control method and apparatus | |
JP2019164782A (en) | Image processing apparatus, image capturing system, image processing method, and program | |
WO2018052100A1 (en) | Image processing device, image processing method, and image processing program | |
EP3991132B1 (en) | Imaging system, image processing apparatus, imaging device, and recording medium | |
KR101704362B1 (en) | System for real time making of panoramic video base on lookup table and Method for using the same | |
CN109785225B (en) | Method and device for correcting image | |
JP4717853B2 (en) | File generation method and apparatus, and stereoscopic image display control method and apparatus | |
KR20190026507A (en) | Imaging Apparatus and method for Automobile | |
KR20190075034A (en) | Imaging Apparatus and method for Automobile | |
JP2005063041A (en) | Three-dimensional modeling apparatus, method, and program | |
JP2017103695A (en) | Image processing apparatus, image processing method, and program of them | |
JP2019164783A (en) | Image processing apparatus, image capturing system, image processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |