KR101915729B1 - 360도 전방향 뷰 영상 생성 장치 및 방법 - Google Patents

360도 전방향 뷰 영상 생성 장치 및 방법 Download PDF

Info

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
Application number
KR1020170077815A
Other languages
English (en)
Inventor
김영근
성민제
이완희
오병윤
이현제
Original Assignee
주식회사 아이닉스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이닉스 filed Critical 주식회사 아이닉스
Priority to KR1020170077815A priority Critical patent/KR101915729B1/ko
Application granted granted Critical
Publication of KR101915729B1 publication Critical patent/KR101915729B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio 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/2625Studio 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • H04N5/23296
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-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

본 발명은 복수 개의 카메라로 전방위 영역을 촬영할 때, 복수 개의 카메라 간에 센서의 촬영 동기를 맞추고, 각 카메라 렌즈의 왜곡 보정 및 전체 카메라 위치 및 자세 등의 보정 기능을 수행하여 전방향 뷰 영상을 생성하는 360도 전방향 뷰 영상 생성 장치 및 방법에 관한 것으로 본 발명에 따른 360도 전방향 뷰 영상 생성 장치는 360도 전방향 영역을 분할 촬상할 수 있는 복수 개의 영상 센서를 포함하는 센서부, 상기 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하고, 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상을 수신받아 처리하는 영상처리 프로세서, 및 상기 영상처리 프로세서로부터 수신한 상기 복수 개의 영상을 정합하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는, 다중 디지털 이미지 프로세서를 포함할 수 있다.
본 발명에 의하면, 복수의 카메라에서 촬영한 영상을 바탕으로 360도 전방향 뷰 영상을 합성할 수 있는 효과가 있다.

Description

360도 전방향 뷰 영상 생성 장치 및 방법{Apparatus and Method for Generating 360 degree omni-directional view}
본 발명은 360도 전방향 뷰 영상 생성 장치 및 방법에 관한 것으로, 더욱 자세하게는 전방향 뷰 영상 생성을 위하여 복수 개의 카메라로 전방위 영역을 촬영할 때, 복수 개의 카메라 간에 센서의 촬영 동기를 맞추고, 각 카메라 렌즈의 왜곡 보정 및 전체 카메라 위치 및 자세 등의 보정 기능을 수행하여 전방향 뷰 영상을 생성하는 360도 전방향 뷰 영상 생성 장치 및 방법에 관한 것이다.
최근 많은 보안 및 감시용 카메라가 감시 시스템용으로 또는 차량의 블랙박스용으로 많이 사용되고 있다. 널리 사용되고 있는 카메라 장치는 기계적인 팬(pan), 틸트(tile), 줌(zoom) 기능을 구비한 PTZ 카메라이다. 그러나 PTZ 카메라는 PTZ 기능을 이용하여 대상물을 명확하게 촬영하는 것을 목적으로 하기에 렌즈의 화각이 넓지 않아 특정 시점에서 촬영할 수 있는 범위가 한정되어 있다.
반면에 넓은 범위를 촬영할 수 있도록 하기 위하여 어안(fish-eye)렌즈나 광각 렌즈를 채용할 수 있는데, 이 경우 촬영되는 영상이 둥근 모양으로서 전체적으로 왜곡이 심하게 된다.
또한, 전방향 영상을 촬영하기 위해서는 복수 개의 카메라를 이용할 수밖에 없다. 카메라 수가 많아지면 각 카메라가 촬영할 범위가 좁아지기 때문에 일반적인 PTZ 카메라를 사용하여 왜곡 없이 촬영할 수도 있지만 광각 렌즈를 사용하여 카메라의 수를 줄이고자 하는 경우에는 촬영된 영상에 왜곡이 생기게 된다. 그리고 각 카메라가 독립적으로 촬영을 하기 때문에 각 카메라에서 촬영한 영상을 정합하였을 때에, 겹쳐지는 부분에 이동체 등이 나타날 때나 역광 상황 등에서는 경계부분에서의 모션 발생이나 색상차로 인한 이질감이 상당히 발생하게 된다.
본 발명의 목적은 복수 개의 카메라의 동시에 동일하게 동작하도록 제어하여 경계부분에서 발생할 수 있는 이질감을 최소화하고, 복수의 카메라의 렌즈 간 화각 및 왜곡 차이, 카메라 체결시 오차, 렌즈 체결시 오차 등으로 발생할 수 있는 영상의 왜곡 보정을 할 수 있는 가상카메라 기반의 360도 전방향 뷰 영상 생성 장치 및 방법을 제공함에 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 360도 전방향 뷰 영상 생성 장치는 360도 전방향 영역을 분할 촬상할 수 있는 복수 개의 영상 센서를 포함하는 센서부, 상기 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하고, 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상을 수신받아 처리하는 영상처리 프로세서, 및 상기 영상처리 프로세서로부터 수신한 상기 복수 개의 영상을 정합하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는, 다중 디지털 이미지 프로세서를 포함할 수 있다.
좀 더 상세히 살펴보면, 상기 영상처리 프로세서는 상기 복수 개의 영상 센서 각각에 대응하는 복수 개의 영상처리 프로세서를 구비하고, 상기 복수 개의 영상처리 프로세서 중 하나는 주 영상처리 프로세서이고, 나머지는 보조 영상처리 프로세서이며, 상기 주 영상처리 프로세서는 상기 복수 개의 영상 센서가 동일 촬상 시간을 가질 수 있도록 상기 복수 개의 영상 센서 및 상기 보조 영상처리 프로세서에 클럭 및 영상 동기 신호를 제공할 수 있다. 그리고 상기 보조 영상처리 프로세서는 대응하는 영상 센서로부터 수신한 영상의 제1 광학적 특성을 검출하여 상기 주 영상처리 프로세서로 전달하고, 상기 주 영상처리 프로세서는 대응하는 영상 센서로부터 수신한 영상의 제2 광학적 특성을 검출하고, 상기 보조 영상처리 프로세서로부터 수신한 상기 제1 광학적 특성 및 상기 제2 광학적 특성을 비교하여 노출 값 및 색상 제어 정보를 결정한 후, 제어 신호로 상기 보조 영상처리 프로세서에 전달하며, 상기 보조 영상처리 프로세서 및 상기 주 영상처리 프로세서는 대응하는 영상 센서의 셔터 속도(Shutter Speed) 및 자동이득제어(automatic gain control) 값을 조정할 수 있다.
상기 다중 디지털 이미지 프로세서는 설정된 가상 카메라의 위치 및 자세를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계(world coordinate)상의 좌표(
Figure 112017058953451-pat00001
)로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 영상 효과를 얻기 위해 투영 방식에 따라 장면 좌표계상의 광축 중심(optical center;
Figure 112017058953451-pat00002
)을 설정하는 가상 카메라 모델부, 상기 가상 카메라 모델부에 의하여 생성된 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00003
)를 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00004
)로 매핑 시에 사용되고, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델(
Figure 112017058953451-pat00005
)을 생성하는 2차 곡면 모델부, 상기 가상 카메라 모델부에서 획득한 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00006
), 장면 좌표계상의 광축 중심(
Figure 112017058953451-pat00007
), 및 상기 2차 곡면 모델부에서 생성한 2차 곡면 모델(
Figure 112017058953451-pat00008
)을 바탕으로 상기 장면 좌표계상의 좌표(
Figure 112017058953451-pat00009
)를 상기 2차 곡면의 한 점으로 투영하고, 상기 2차 곡면에 투영된 한 점을 다시 상기 복수 개의 영상의 각 영상으로 투영하여 상기 장면 좌표계상의 좌표(
Figure 112017058953451-pat00010
)를 상기 복수의 영상의 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00011
)로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00012
)별로 주변 픽셀들의 픽셀값을 보간(interpolating)하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모델부, 및 상기 전방향 카메라 투영 모델부에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 정합하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값을 결정하는 정합부를 포함할 수 있다. 이에 더하여 상기 다중 디지털 이미지 프로세서의 각 부에서 사용될 파라미터를 사용자로부터 입력받아 설정하는 파라미터 설정부를 더 포함할 수 있다.
상기 다중 디지털 이미지 프로세서의 각 부를 좀 더 상세히 살펴보면,
상기 가상 카메라 모델부는 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 가상 카메라 좌표계에서 (x, y)의 직각 좌표 형식의 좌표 또는 (r, ρ)의 극좌표 형식의 좌표로 표시하는 좌표 표시모듈, 상기 가상 카메라의 위치 및 자세 정보를 입력받고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계상의 좌표로 변환하는 변환 행렬(
Figure 112017058953451-pat00013
)을 생성하는 위치설정 모듈, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정하고, 상기 조정에 따라 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 조정하는 크기 조정 모듈, 상기 위치설정 모듈에서 생성한 변환 행렬(
Figure 112017058953451-pat00014
)를 바탕으로 상기 좌표 표시모듈 및 상기 크기 조정 모듈에서 생성하고 조정한 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계의 좌표(
Figure 112017058953451-pat00015
)로 변환하는 변환 모듈, 및 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 광축 중심(
Figure 112017058953451-pat00016
)을 계산하는 광축 중심 설정모듈을 포함할 수 있다.
그리고 상기 좌표 표시모듈은 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심(
Figure 112017058953451-pat00017
)을 이용하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를
Figure 112017058953451-pat00018
로 계산하여 직각 좌표 형식의 좌표(
Figure 112017058953451-pat00019
)로 표시하고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를
Figure 112017058953451-pat00020
로 계산하여 극좌표 형식의 좌표(
Figure 112017058953451-pat00021
)로 표시할 수 있다. 여기서
Figure 112017058953451-pat00022
이고,
Figure 112017058953451-pat00023
은 극좌표 형식에서 사용되는 반지름의 최소값,
Figure 112017058953451-pat00024
는 극좌표 형식에서 사용되는 반지름의 최대값,
Figure 112017058953451-pat00025
은 극좌표 형식에서 사용되는 반지름 방향의 픽셀 수,
Figure 112017058953451-pat00026
은 극좌표 형식에서 사용되는 각도의 최소값,
Figure 112017058953451-pat00027
는 극좌표 형식에서 사용되는 각도의 최대값,
Figure 112017058953451-pat00028
는 극좌표 형식에서 사용되는 각도 방향의 픽셀 수이고,
Figure 112017058953451-pat00029
이다.
또한, 상기 위치설정모듈은
Figure 112017058953451-pat00030
식을 이용하여 변환행렬(
Figure 112017058953451-pat00031
)을 구하되,
Figure 112017058953451-pat00032
는 장면 좌표계상에서의 2차 곡면 모델의 중심이며, 상기 가상 카메라의 팬, 틸트 회전의 중심이고,
Figure 112017058953451-pat00033
은 장면 좌표계상에서의 가상 카메라의 위치, φn 및 θn는 각각 상기 가상 카메라의 장면 좌표계의 z축에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)이고, trans()는 3차원 공간상의 이동 행렬을 나타내는 함수이고, rotz()와 rotx()는 3차원 공간상의 각각 z축과 x축에 대한 회전을 나타내는 함수이다.
또한, 상기 광축 중심 설정모듈은 가상 카메라의 유형이 원근 투영 카메라인지 직각 투영 카메라인지에 따라
Figure 112017058953451-pat00034
에 의하여 광축 중심(
Figure 112017058953451-pat00035
)을 계산하되,
Figure 112017058953451-pat00036
은 초점 거리(focal length)이고,
Figure 112017058953451-pat00037
는 상기 변환모듈에서 생성한 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 좌표이고,
Figure 112017058953451-pat00038
Figure 112017058953451-pat00039
은 변환 행렬 (
Figure 112017058953451-pat00040
) 을 단위 벡터 형태인
Figure 112017058953451-pat00041
으로 표현할 때의 단위 벡터들이다.
또한, 상기 2차 곡면 모델부는 복수 개의 2차 곡면 모델 중의 하나를 선택하고, 선택된 2차 곡면 모델에 대한 파라미터를 이용하여 선택된 2차 곡면 모델을 표현하는 행렬(
Figure 112017058953451-pat00042
)을 생성하는 2차 곡면 모델 선정 모듈, 상기 2차 곡면상의 점들을 장면 좌표계상의 좌표들로 변환하기 위한 변환행렬(
Figure 112017058953451-pat00043
)을 생성하는 좌표설정 모듈, 및 상기 변환행렬(
Figure 112017058953451-pat00044
)을 이용하여 상기 선택된 2차 곡면 모델을 표현하는 행렬(
Figure 112017058953451-pat00045
)을 장면 좌표계상에서 상기 선택된 2차 곡면 모델을 표현하는 행렬(
Figure 112017058953451-pat00046
)로 변환하는 변환 모듈을 포함할 수 있는데, 상기 2차 곡면 모델 선정 모듈은 타원체(Ellipsoid) 모델, 실린더(Cylinder) 모델, 포물면(Paraboloid) 모델, 및 사용자 설정 2차 곡면 모델 중 하나의 모델을 선택하고, 상기 좌표설정 모듈은
Figure 112017058953451-pat00047
식을 이용하여 변환행렬(
Figure 112017058953451-pat00048
)을 구하되, φn 및 θn는 각각 상기 2차 곡면 모델의 장면 좌표계의 z축에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)이고, rotz()와 rotx()는 3차원 공간상의 각각 z축과 x축에 대한 회전을 나타내는 함수이고, 상기 변환 모듈은 상기 선택된 2차 곡면 모델을 표현하는 행렬(
Figure 112017058953451-pat00049
) 및 변환행렬(
Figure 112017058953451-pat00050
)을 바탕으로 장면 좌표계상에서 상기 선택된 2차 곡면 모델을 표현하는 행렬(
Figure 112017058953451-pat00051
)을
Figure 112017058953451-pat00052
식을 이용하여 계산할 수 있다.
그리고 상기 전방향 카메라 투영 모델부는 상기 가상 카메라 모델부에서 획득한 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00053
), 및 장면 좌표계 상의 광축 중심(
Figure 112017058953451-pat00054
)을 연결하는 직선인 투영선과 상기 2차 곡면 모델(
Figure 112017058953451-pat00055
)과의 교차점(
Figure 112017058953451-pat00056
)을 계산하는 교차점 모듈; 및 상기 교차점(
Figure 112017058953451-pat00057
)을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00058
)로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00059
)의 주변 픽셀들의 픽셀값을 보간하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모듈을 포함하고, 좀 더 상세히 보면, 상기 전방향 카메라 투영 모듈은 장면 좌표계로 표현된 상기 교차점(
Figure 112017058953451-pat00060
)을 카메라 좌표계의 대응하는 좌표(
Figure 112017058953451-pat00061
)로 변환하는 변환 모듈, 상기 변환 모듈에서 생성되는 상기 교차점의 카메라 좌표계 좌표(
Figure 112017058953451-pat00062
)로부터 영상의 왜곡을 보정할 수 있는 상기 복수 개의 영상의 각 영상의 실제 픽셀 좌표(
Figure 112017058953451-pat00063
)를 획득하는 좌표 계산 모듈, 및 상기 좌표 계산 모듈에서 획득한 상기 복수 개의 영상의 각 영상의 실제 픽셀 좌표(
Figure 112017058953451-pat00064
)별로 주변 픽셀들의 픽셀값들을 획득하고, 상기 주변 픽셀들의 픽셀값들을 바탕으로 보간(interpolation)하여 출력하는 보간 모듈을 포함하고, 상기 좌표계산 모듈은 상기 복수 개의 영상의 각 영상에 존재하는 왜곡에 대하여 수치적으로 근사한 테일러 확장(Taylor expansion series) 기반의 근사 모델을 기반으로 하는 왜곡 보정 매핑 함수(
Figure 112017058953451-pat00065
)를 이용하여 상기 교차점(
Figure 112017058953451-pat00066
)의 카메라 좌표계 좌표(
Figure 112017058953451-pat00067
)를 왜곡 없는 영상 평면상의 한 점(
Figure 112017058953451-pat00068
)으로 매핑하고, 어파인(affine) 변환 행렬(
Figure 112017058953451-pat00069
)을 이용하여 상기 왜곡 없는 영상 평면상의 한 점(
Figure 112017058953451-pat00070
)에 대응되는 상기 복수의 영상의 각 영상의 픽셀 좌표(
Figure 112017058953451-pat00071
)를 획득할 수 있다.
그리고 상기 정합부는 상기 전방향 카메라 투영 모델부에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값에 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)로부터 상기 각 영상의 경계까지의 거리에 기반한 가중치를 곱하고 평균하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값으로 결정할 수 있는데, 바람직하게는
Figure 112017058953451-pat00072
식을 이용하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값(
Figure 112017058953451-pat00073
)을 결정할 수 있다. 여기서, k는 상기 복수 개의 영상의 수이고,
Figure 112017058953451-pat00074
는 상기 전방향 카메라 투영 모델부에서 i번째 영상으로부터 획득한 픽셀값이고,
Figure 112017058953451-pat00075
는 i번째 영상에서 상기 좌표(u)에서 상기 i번째 영상의 경계까지의 거리에 따른 가중치이고, 상기
Figure 112017058953451-pat00076
Figure 112017058953451-pat00077
식을 이용하여 결정하되
θmax는 영상센서의 최대 화각이고, α는 이웃한 영상센서와의 겹치는 각도이고, θ는 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 극좌표 형식으로 표시하였을 때의 각도이다.
그리고 360도 전방향 뷰 영상 생성 장치는 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상들을 저장하기 위한 저장 장치를 더 포함할 수 있는데, 이때 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상들은 동기화되어 하나의 파일로 저장되고, 그리고 상기 복수 개의 영상과 동시에 획득한 음성 정보 및 GPS 정보를 함께 저장할 수 있다. 그리고 상기 영상처리 프로세서는 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상 대신에 상기 저장 장치에 동기화되어 하나의 파일로 저장된 복수 개의 영상들을 읽어드려 처리하여 360도 전방향 뷰 영상을 생성할 수 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 360도 전방향 뷰 영상 생성 방법은 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하는 단계, 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 획득하는 단계, 및 상기 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계를 포함할 수 있다.
각 단계를 좀 더 상세히 살펴보면, 상기 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하는 단계는 상기 복수 개의 영상 센서로 동일한 클럭 신호와 영상 동기 신호를 전달하는 단계, 영상처리 프로세서가 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 획득하여 각 영상의 광학적 특성을 검출하는 단계, 검출한 상기 각 영상의 광학적 특성을 비교하여 노출 값 및 색상 보정 정보를 결정하는 단계, 및 결정된 상기 노출값 및 색상 보정 정보를 바탕으로 상기 복수의 영상 센서를 제어하는 단계를 포함할 수 있고, 상기 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계는 설정된 가상 카메라의 위치 및 자세를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점(u)의 좌표를 장면 좌표계(world coordinate)상의 좌표(
Figure 112017058953451-pat00078
)로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 특수 효과를 얻기 위해 투영 방식에 따라 장면 좌표계 상의 광축 중심(optical center;
Figure 112017058953451-pat00079
)을 설정하는 가상 카메라 모델 생성 단계, 상기 가상 카메라 모델 생성 단계에서 생성된 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00080
)를 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00081
)로 매핑 시에 사용되고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델(
Figure 112017058953451-pat00082
)을 생성하는 2차 곡면 모델 생성 단계, 상기 가상 카메라 모델 생성 단계에서 생성한 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00083
), 장면 좌표계 상의 광축 중심(
Figure 112017058953451-pat00084
), 및 상기 2차 곡면 모델 생성 단계에서 획득한 2차 곡면 모델(
Figure 112017058953451-pat00085
)을 바탕으로 상기 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00086
)를 상기 2차 곡면의 한 점으로 투영하고, 상기 2차 곡면에 투영된 한 점을 다시 상기 복수 개의 영상의 각 영상으로 투영하여 상기 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00087
)를 대응하는 전방향 카메라 영상의 픽셀 좌표(
Figure 112017058953451-pat00088
)로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00089
)별로 주변 픽셀들의 픽셀값을 보간(interpolating)하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모델 생성 단계, 및 상기 전방향 카메라 투영 모델 생성 단계에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 정합하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값을 결정함으로써 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)을 생성하는 영상 생성 단계를 포함할 수 있다. 그리고 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계는 원근감 보정을 위하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 크기를 보상하는 단계를 더 포함할 수 있다.
설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계 내의 각 과정을 좀 더 상세히 살펴보면,
상기 가상 카메라 모델 생성 단계는 사용자가 원하는 임의 시점에서의 영상을 생성하고, 기계식 카메라의 디지털 팬(pan), 틸트(tilt), 줌(zoom) 기능을 에뮬레이션할 수 있도록 가상 카메라의 위치 및 자세를 설정하는 단계, 가상 카메라의 유형 및 각 유형별 파라미터들을 설정하는 단계, 및 설정된 상기 가상 카메라의 유형, 위치, 및 자세를 바탕으로 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00090
) 및 광축 중심(
Figure 112017058953451-pat00091
)을 계산하는 단계를 포함할 수 있는데, 상기 가상 카메라의 위치 및 자세를 설정하는 단계는 장면 좌표계의 x, y, z축의 방향 및 가상 좌표계의 xn, yn, zn의 방향을 설정하는 단계, 장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정하는 단계, 및 장면 좌표계의 중심으로부터의 거리를 설정하는 단계를 포함할 수 있고, 상기 가상 카메라의 유형 및 각 유형별 파라미터들을 설정하는 단계는 일반적인 원근 효과를 갖는 원근 투영 카메라(perspective projection camera), 원근 효과가 제거된 렌즈를 모방하는 직각 투영 카메라(orthographic projection camera), 및 전방향 파노라마 영상을 생성할 수 있는 파노라마 카메라(panorama camera) 중의 하나를 가상 카메라의 유형으로 선택하는 단계 및 선택된 상기 가상 카메라의 유형에 따라 파라미터를 설정하는 단계를 포함할 수 있다.
또한, 상기 2차 곡면 모델 생성 단계는 2차 곡면 모델의 유형을 설정하는 단계, 설정된 상기 2차 곡면 모델의 자세 및 위치를 설정하는 단계, 설정된 상기 자세 및 위치를 바탕으로 상기 설정된 2차 곡면 모델의 장면 좌표계상의 2차 곡면 모델(
Figure 112017058953451-pat00092
)을 계산하는 단계를 포함할 수 있는데, 나아가, 상기 2차 곡면 모델의 유형을 설정하는 단계는 가상 카메라의 팬, 틸트, 줌 효과를 얻기 위해 사용될 수 있는 타원체(Ellipsoid) 모델, 광각 영상 생성을 위한 실린더(Cylinder) 모델, 영상의 일정 부분만을 매핑하는 효과를 얻기 위한 포물면 모델, 및 사용자가 임의로 설정할 수 있는 사용자 2차 곡면 모델 중 하나를 선택하는 단계를 포함할 수 있고, 상기 설정된 상기 2차 곡면 모델의 자세 및 위치를 설정하는 단계는 장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정하는 단계를 포함할 수 있다.
또한, 상기 전방향 카메라 투영 모델 생성 단계는 상기 가상 카메라 모델 생성 단계에서 획득한 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00093
), 및 장면 좌표계 상의 광축 중심(
Figure 112017058953451-pat00094
)을 연결하는 직선인 투영선과 상기 2차 곡면 모델(
Figure 112017058953451-pat00095
)과의 교차점(
Figure 112017058953451-pat00096
)을 계산하는 단계, 상기 교차점(
Figure 112017058953451-pat00097
)을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00098
)로 매핑(mapping)하는 단계, 및 상기 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00099
)의 주변 픽셀들의 픽셀값을 보간하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 단계를 포함할 수 있는데, 특히, 상기 교차점(
Figure 112017058953451-pat00100
)을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00101
)로 매핑(mapping)하는 단계는 장면 좌표계로 표현된 상기 교차점(
Figure 112017058953451-pat00102
)을 카메라 좌표계의 대응하는 좌표(
Figure 112017058953451-pat00103
)로 변환하는 단계, 상기 복수 개의 영상의 각 영상에 존재하는 왜곡에 대하여 수치적으로 근사한 테일러 확장(Taylor expansion series) 기반의 근사 모델을 기반으로 하는 왜곡 보정 매핑 함수(
Figure 112017058953451-pat00104
)를 이용하여 상기 교차점(
Figure 112017058953451-pat00105
)의 카메라 좌표계 좌표(
Figure 112017058953451-pat00106
)를 왜곡 없는 영상 평면상의 한 점(
Figure 112017058953451-pat00107
)으로 매핑하는 단계, 및 어파인(affine) 변환 행렬(
Figure 112017058953451-pat00108
)을 이용하여 상기 왜곡 없는 영상 평면 상의 한 점(
Figure 112017058953451-pat00109
)에 대응되는 상기 복수의 영상의 각 영상의 픽셀 좌표(
Figure 112017058953451-pat00110
)를 획득하는 단계를 포함할 수 있다.
또한, 상기 원근감 보정을 위한 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 크기를 보상하는 단계는 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정하는 단계 및 상기 2차 곡면 모델의 유형과 파라미터 설정을 통해 깊이 및 크기를 보상하는 단계를 포함할 수 있다.
그리고 360도 전방향 뷰 영상 생성 방법은 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 동기화시켜 하나의 파일로 저장하는 단계를 더 포함할 수 있고, 상기 하나의 파일로 저장하는 단계는 상기 복수 개의 영상과 동시에 획득한 음성 정보 및 GPS 정보를 함께 저장하는 단계를 또한 포함할 수 있다.
그리고 360도 전방향 뷰 영상을 생성하는 또 다른 방법은 원본 영상으로 복수 개의 영상 센서에서 촬상한 실시간 영상 및 과거에 촬상되어 저장 장치에 저장된 영상 중 하나를 선택하는 단계, 선택된 상기 원본 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계, 생성한 360도 전방향 뷰 영상이 보여지는 시점 또는 가상 카메라의 위치 및 자세를 변경하는 단계, 및 변경된 상기 시점 또는 가상 카메라의 위치 및 자세에 따라 360도 전방향 뷰 영상을 생성하는 단계를 포함할 수 있다.
또한, 컴퓨터 또는 프로세서상에서 실행될 때, 상술한 방법 중 어느 하나에 따른 방법을 실행하는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램을 포함할 수 있다.
본 발명에 의하면, 복수의 카메라에서 촬영한 영상을 바탕으로 360도 전방향 뷰 영상을 합성할 수 있는 효과가 있다.
또한, 복수의 카메라의 촬영 시점을 동기화시킴으로써 합성된 360도 전방향 뷰 영상의 복수의 카메라의 촬영 경계에서 발생할 수 있는 이질감을 최소화할 수 있는 효과가 있다.
또한, 복수의 카메라에서 촬영한 영상을 합성시, 영상에 포함되는 왜곡을 보정해줌으로써 사용자의 눈에 보이는 실제 공간과의 이질감이 발생하고 공간감이 떨어지는 것을 방지하는 효과가 있다.
도 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차 곡면 모델과 가상 카메라의 투영선의 교차점(
Figure 112017058953451-pat00111
)의 일 예를 도시한 도면이다.
도 12는 본 발명의 일 실시 예에 따른 장면 좌표계상의 한 점(
Figure 112017058953451-pat00112
)을 왜곡 없는 이상적인 영상 평면(
Figure 112017058953451-pat00113
)의 대응하는 점으로 매핑하는 과정을 도시한다.
도 13은 3대의 카메라들 사이의 위치 및 자세를 나타내고 왜곡을 보정 하기 위한 파라미터를 획득하기 위한 방법의 일 실시 예를 도시한 도면이다.
도 14는 본 발명의 일 실시 예에 따른 가상 카메라의 투영선과 2차 곡면 모델과의 교차점(
Figure 112017058953451-pat00114
)이 왜곡을 포함하는 이상적인 영상 평면상의 좌표(
Figure 112017058953451-pat00115
)에 재투영되는 것을 도시한 도면이다.
도 15는 입력 영상 (a)로부터 왜곡이 보정된 영상 (b), (c)를 생성한 일 예를 보여준다.
도 16a 내지 도 16e는 본 발명의 일 실시 예에 따른 180도 이상의 화각을 갖는 2개의 전/후방 카메라를 이용하여 생성한 360도 전방향 뷰 영상을 도시한 것이다.
도 17a 내지 도 17g는 본 발명의 일 실시 예에 따른 가중치를 계산하는 예 및 가중치를 적용한 일 실시 예를 도시한 도면이다.
도 18은 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 방법을 도시한 도면이다.
도 19는 본 발명의 일 실시 예에 따른 복수의 영상 센서를 동기시키는 방법을 도시한 도면이다.
도 20은 본 발명의 일 실시 예에 따른 복수의 영상에 포함된 왜곡을 제거하고 복수의 영상을 정합하여 설정된 임의 시점에서 본 360도 전방향 뷰 영상을 생성하는 방법을 도시한 도면이다.
도 21은 본 발명의 일 실시 예에 따른 가상 카메라 모델 생성 단계(S310)를 구체적으로 도시한 도면이다.
도 22는 본 발명의 일 실시 예에 따른 2차 곡면 모델의 생성 단계(S320)를 구체적으로 도시한 도면이다.
도 23은 본 발명의 일 실시 예에 따른 전방향 카메라 투영 모델의 생성 단계(S330)를 구체적으로 도시한 도면이다.
도 24는 교차점(
Figure 112017058953451-pat00116
)을 영상 센서에서 촬상한 영상의 대응하는 픽셀 좌표로 매핑하는 단계를 상세히 도시한 도면이다.
도 25는 본 발명의 일 실시 예에 따른 원근감 보정을 위한 크기 보상 단계를 구체적으로 도시한 도면이다.
도 26은 본 발명의 또 다른 일 실시 예에 따른 360도 전방향 뷰 영상을 생성하는 방법을 도시한다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우 뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
어느 부분이 다른 부분의 "위에" 있다고 언급하는 경우, 이는 바로 다른 부분의 위에 있을 수 있거나 그 사이에 다른 부분이 수반될 수 있다. 대조적으로 어느 부분이 다른 부분의 "바로 위에" 있다고 언급하는 경우, 그 사이에 다른 부분이 수반되지 않는다.
제1, 제2 및 제3 등의 용어들은 다양한 부분, 성분, 영역, 층 및/또는 섹션들을 설명하기 위해 사용되나 이들에 한정되지 않는다. 이들 용어들은 어느 부분, 성분, 영역, 층 또는 섹션을 다른 부분, 성분, 영역, 층 또는 섹션과 구별하기 위해서만 사용된다. 따라서, 이하에서 서술하는 제1 부분, 성분, 영역, 층 또는 섹션은 본 발명의 범위를 벗어나지 않는 범위 내에서 제2 부분, 성분, 영역, 층 또는 섹션으로 언급될 수 있다.
여기서 사용되는 전문 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분의 존재나 부가를 제외시키는 것은 아니다.
"아래", "위" 등의 상대적인 공간을 나타내는 용어는 도면에서 도시된 한 부분의 다른 부분에 대한 관계를 보다 쉽게 설명하기 위해 사용될 수 있다. 이러한 용어들은 도면에서 의도한 의미와 함께 사용 중인 장치의 다른 의미나 동작을 포함하도록 의도된다. 예를 들면, 도면 중의 장치를 뒤집으면, 다른 부분들의 "아래"에 있는 것으로 설명된 어느 부분들은 다른 부분들의 "위"에 있는 것으로 설명된다. 따라서 "아래"라는 예시적인 용어는 위와 아래 방향을 전부 포함한다. 장치는 90˚ 회전 또는 다른 각도로 회전할 수 있고, 상대적인 공간을 나타내는 용어도 이에 따라서 해석된다.
다르게 정의하지는 않았지만, 여기에 사용되는 기술용어 및 과학용어를 포함하는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미와 동일한 의미를 가진다. 보통 사용되는 사전에 정의된 용어들은 관련 기술문헌과 현재 개시된 내용에 부합하는 의미를 가지는 것으로 추가 해석되고, 정의되지 않는 한 이상적이거나 매우 공식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 발명에서 제시하는 360도 전방향 뷰 영상 생성 장치는 전후, 좌우, 상하의 모든 전방위 영역을 촬영하기 위한 둘 이상의 카메라를 이용하여, 마치 하나의 카메라로 촬영한 것과 같은 효과를 나타내는 전방향 뷰 영상을 생성하여 제공하는 장치 및 방법을 제시한다.
도 1은 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치를 도시한 도면이다.
360도 전방향 뷰 영상 생성 장치를 구성하기 위해 전후, 좌우, 상하의 모든 전방위 영역을 촬영하기 위한 둘 이상의 영상 센서(카메라)가 이용된다. 도 1의 일 실시 예에서는 2개의 영상 센서를 이용한 것으로 도시되어 있지만, 전후 방향을 각각 촬영할 수 있는 두 개의 광각 렌즈를 가진 영상 센서들, 또는 상하 방향을 각각 촬영할 수 있는 두 개의 광각 렌즈를 가진 영상 센서들, 또는 사방을 각각 촬영할 수 있는 4개의 광각 렌즈를 가진 영상 센서들을 이용하여 구성될 수도 있다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치는 전방향 영역을 분할 촬영할 수 있는 복수 개의 영상 센서를 포함하는 센서부(100), 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하고, 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상을 수신받아 처리하는 영상처리 프로세서(200), 및 영상처리 프로세서(200)로부터 각 영상센서에서 촬영한 영상들을 수신하고, 정합하여 사용자가 설정하는 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하여 디스플레이(400)로 출력하는 다중 디지털 이미지 프로세서(300)를 포함한다.
본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치의 센서부(100)는 360도 전방향 영역을 분할 촬영할 수 있는 복수 개의 영상 센서(S1, S2)를 포함한다. 영상 센서는 일반적인 카메라, 광각 카메라 등을 포함할 수 있다. 도 1에 도시된 것처럼 2개의 영상 센서로 360도 전방향 영역을 촬영하기 위해서는 각 영상 센서의 렌즈 화각(field of view)이 180도 이상이어야 하고, 만약 3개의 영상 센서를 이용하는 경우에는 렌즈 화각이 120도 이상, 4개의 영상 센서를 이용하는 경우에는 렌즈 화각이 90도 이상이어야 한다.
복수 개의 영상 센서가 촬영한 영상을 정합하여 하나의 영상 센서로 촬영한 것과 같은 영상을 만들 경우, 각 영상 센서가 촬영한 영상의 겹치는 부분에서의 모션 발생이나 이질감 발생을 최소화하기 위해서는 360도 전방향 뷰 영상 생성 장치에 의해 제어되는 모든 영상 센서가 동시에 동일하게 동작하도록 제어되어야 한다. 이를 위해 영상처리 프로세서(200)는 센서부(100)에 포함되어 있는 복수 개의 영상 센서의 동기를 맞춰 동일시간에 촬상하는 기능, 동일한 노출이 이루어지도록 제어하는 기능, 영상 센서가 어떠한 조도에서도 동일한 색상을 유지하도록 하기 위한 화이트 밸런스 및 색상 제어 기능 등을 포함한다. 영상처리 프로세서(200)의 이러한 동일 촬상, 동일 노출 및 색상 제어 기능은 각 영상 센서에서 획득하는 영상의 경계부분에서 이동체들이 나타날 때나 역광 상황 등에서, 정합된 최종 360도 전방향 뷰 영상의 경계부분에서의 모션(motion) 발생이나 색상차로 인한 이질감을 최소화할 수 있다.
상술한 기능을 수행하는 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치의 영상처리 프로세서(200)는 도 2에 도시된 것처럼 1개의 주 영상처리 프로세서(Master ISP; 210)와 복수 개의 보조 영상처리 프로세서(Slave ISP; 220, 230, 240)를 포함할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 영상처리 프로세서(200)의 구조를 도시한 도면이다.
도 2를 참조하면, 주 영상처리 프로세서(210)와 보조 영상처리 프로세서(220, 230, 240) 각각은 대응되는 센서부(100)의 각 영상 센서로부터 오는 영상을 받아서 다중 디지털 이미지 프로세서(300)로 전달할 수 있다.
그리고 주 영상처리 프로세서(210)는 센서부(100)에 있는 모든 영상 센서가 동일한 시간에 영상을 촬상 및 출력할 수 있도록 동일한 클럭 신호와 영상 동기 신호를 센서부(100)의 각 영상 센서로 전달한다. 또한, 이 클럭 신호와 영상 동기 신호는 보조 영상처리 프로세서(220, 230, 240)로도 전달되어 보조 영상처리 프로세서(220, 230, 240)가 대응되는 영상 센서로부터 오는 영상을 올바르게 수신하도록 할 수 있다.
보조 영상처리 프로세서(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)가 동일한 노출값과 색상 보정 정보를 사용할 수 있게 되고, 촬영된 영상은 동일한 노출, 동일한 색상으로 맞춰지게 된다.
이러한 영상처리 프로세서(200)의 동일 촬상, 동일 노출 및 색상 제어 기능은 영상 센서에서 촬상한 영상 간 경계부분에서 이동체들이 나타날 때나 역광 상황 등에서, 정합된 360도 전방향 뷰 영상의 경계부분에서의 모션 발생(동일 시간에 촬상되지 않으면 촬상된 영상에 이동체의 이동이 나타나므로)이나 색상차로 인한 이질감을 최소화하도록 할 수 있다.
본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치의 다중 디지털 이미지 프로세서(300)는 영상처리 프로세서(200)로부터 오는 복수 개의 영상을 바탕으로 하나의 영상 센서로 촬영한 것과 같은 임의 시점 영상을 생성하여 디스플레이(400)로 출력할 수 있다.
전방위 시야각을 촬영할 때 사용하는 카메라 수가 적어질수록, 각 카메라가 보는 화각(field of view)이 넓어지고, 이에 따른 렌즈 왜곡도 심해지게 된다. 복수 개의 영상 센서를 체결하는 과정에서 발생하는 여러 형태의 오차들도 있다. 즉, 렌즈간 화각 및 왜곡 차이, 카메라 체결시 오차, 각 렌즈 체결시 오차, 센서 위치 오차 등에 의하여 복수의 영상 센서에서 촬영되는 영상에는 서로 다른 왜곡이 포함되어 있을 수 있다. 다중 디지털 이미지 프로세서(300)는 복수의 영상에서 상술한 왜곡을 제거하고, 복수의 영상에서 겹치는 부분에서의 매끄러운 영상 정합을 수행하여 360도 전방향 뷰 영상을 생성할 수 있다.
이를 위하여 다중 디지털 이미지 프로세서(300)는 영상처리 프로세서(200)로부터 입력되는 영상들을 바탕으로 가상 카메라의 시점에서 보여지는 임의 시점 영상을 생성한다.
도 3은 본 발명의 일 실시 예에 따른 가상 카메라 기반의 임의 시점 영상을 생성하기 위한 다중 디지털 이미지 프로세서(300)의 구성을 개략적으로 도시한 도면이다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 다중 디지털 이미지 프로세서(300)는 가상 카메라 모델부(310), 2차 곡면 모델부(320), 전방향 카메라 투영 모델부(330), 파라미터 설정부(340), 및 정합부(350)를 포함할 수 있다.
가상 카메라 모델부(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)에 표시할 수 있다.
각 부를 좀 더 자세히 살펴보기 전에 먼저 본 발명에서 사용되는 몇 가지 좌표계를 설명한다. 본 발명에서는 가상 카메라에 의해서 보여지는 영상의 한 점 또는 픽셀을 나타내기 위한 가상 카메라 좌표계 {n}, 2차 곡면의 중심을 영점으로 하여 좌표를 나타내는 2차 곡면 좌표계 {q}, 실제 주변을 촬상한 영상 센서들에 의해 찍힌 각 영상 내의 좌표를 나타내기 위한 카메라 좌표계 {1}, {2},?, {c}을 사용한다. 그리고 이러한 좌표계에 의해 표시되는 좌표는 기준 좌표계인 장면 좌표계(Worldwide Coordinate) {0}상의 좌표로 변환될 수 있다.
가상 카메라 모델부(310)는 기계적인 구동부 및 전동 줌 렌즈를 사용하여 팬(pan), 틸트(tilt), 및 줌(zoom) 기능을 갖는 PTZ(pan, tilt, zoom) 카메라와 유사하게 가상 카메라(virtual camera)가 임의의 시점에서 보는 것과 같은 영상을 생성할 수 있도록 가상 카메라의 위치 및 자세를 모델링하고, 그에 따른 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 점(픽셀)을 모델링할 수 있다. 이때 가상 카메라 좌표계가 사용될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 가상 카메라 모델부(310)의 개략적인 구성을 도시한 도면이다.
도 4를 참조하면, 본 발명의 일 실시 예에 따른 가상 카메라 모델부(310)는 직각좌표 표시모듈(311), 극좌표 표시모듈(312), 크기 조정 모듈(313), 위치설정 모듈(314), 변환 모듈(315), 및 광축 중심 설정모듈(316)을 포함할 수 있다.
직각좌표 표시모듈(311)은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 직각 좌표 형식으로 표시할 수 있다. 직각좌표 표시모듈(311)은 좌표(u)를 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심에 대해 상대 좌표로 나타낼 수 있다. 따라서 직각좌표 표시모듈(311)은
Figure 112017058953451-pat00117
에 의해서 구해지는
Figure 112017058953451-pat00118
의 직각 좌표 형식으로 좌표(u)를 표시할 수 있다. 여기서
Figure 112017058953451-pat00119
는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심을 직각 좌표 형식으로 나타낸 것이고, 설정 가능한 파라미터이다. 이처럼 영상 좌표를 직각 좌표 형식을 이용하여 표시하는 영상은 원근 투영 카메라 또는 직각 투영 카메라에서 사용될 수 있다.
극좌표 표시모듈(312)은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 극좌표 형식으로 표시할 수 있다. 이때 사용되는 파라미터로는 극좌표 형식에서 사용할 반지름의 최소값(
Figure 112017058953451-pat00120
)과 최대값(
Figure 112017058953451-pat00121
), 반지름 방향 픽셀 수(
Figure 112017058953451-pat00122
), 각도의 최소값(
Figure 112017058953451-pat00123
) 과 최대값(
Figure 112017058953451-pat00124
), 그리고 가상 카메라상에서의 극좌표 변환을 위한 극좌표 형식에서의 중심 (
Figure 112017058953451-pat00125
)을 포함하며, 설정 가능한 파라미터들이다. 그러면 좌표(u)를 나타내는 극좌표 (r, ρ)는 다음과 같이 표현될 수 있다.
Figure 112017058953451-pat00126
여기서,
Figure 112017058953451-pat00127
이다. 그리고 극좌표 형식으로 표시되는 영상 좌표
Figure 112017058953451-pat00128
는 다음과 같이 표현될 수 있다.
Figure 112017058953451-pat00129
즉, 극좌표 표시모듈(312)은
Figure 112017058953451-pat00130
의 극좌표 형식으로 좌표(u)를 표시할 수 있다. 이러한 극좌표 형식의 표시는 전방향 파노라마 영상을 생성하는데 이용될 수 있다.
도 5는 반사 굴절형 거울(mirror) 또는 렌즈를 사용하여 획득된 영상에서 극좌표 형식 영상을 사용하여 전방향 파노라마 영상을 생성하는 가상 카메라를 보여주는 것으로 영상 좌표(u)와 극좌표 (r, θ)의 관계를 도시한다.
가상 카메라 모델부(310)는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 직각 좌표 형식 또는 극좌표 형식으로 표현할 수 있으며, 사용자의 선택(
Figure 112017058953451-pat00131
)에 의하여 어떤 표현 방식을 사용할 것인지를 결정할 수 있다.
크기 조정 모듈(313)은 사용자가 보기 편리한 형태로 가상 카메라 영상의 크기 보상을 수행하는 과정으로, 영상의 가로축과 세로축으로의 크기 비율을 조정할 수 있다. 그리고 이에 따라 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 조정할 수 있다. 즉, 크기 조정 모듈은 가상 카메라에서 생성된 영상과 사용자의 눈에 보이는 실제 공간과의 이질감이 발생하면, 사용자는 그 영상을 보면서 어지러움 등을 느낄 수 있고, 거리감이 없어져 공간적인 감각이 떨어진다. 이러한 이질감을 최소화하기 위하여 크기 조정 모듈(313)을 사용할 수 있다. 즉, 크기 조정 모듈(313)은 사용자의 선택(
Figure 112017058953451-pat00132
)에 의해 직각 좌표 형식 또는 극좌표 형식으로 표현되는 가상 카메라 영상의 한 점의 좌표 (u')를 크기 보상 행렬과 초점거리를 이용하여 가상 카메라 좌표계 상의 좌표 (
Figure 112017058953451-pat00133
)로 표현될 수 있다. 이때의 좌표(
Figure 112017058953451-pat00134
)는 다음 식을 이용하여 구할 수 있다.
Figure 112017058953451-pat00135
여기서,
Figure 112017058953451-pat00136
은 가로축과 세로축 크기 보상값들로 구성된 대각행렬(diagonal matrix)이고,
Figure 112017058953451-pat00137
은 가상카메라의 초점 거리(focal length)다.
위치 설정 모듈(314)은 가상 카메라의 위치와 자세를 설정한다.
가상 카메라 모델부(310)는 기계적인 구동부 및 전동 줌 렌즈를 사용하여 팬(pan), 틸트(tilt), 및 줌(zoom) 기능을 갖는 PTZ(pan, tilt, zoom) 카메라와 유사하게 가상 카메라(virtual camera)가 임의의 시점에서 보는 것과 같은 영상을 생성할 수 있도록 가상 카메라의 위치 및 자세를 모델링할 수 있다. 이때 가상 카메라의 위치와 자세 설정을 위하여 가상 카메라 좌표계가 사용될 수 있다.
도 6은 장면 좌표계(world coordinate)와 비교한 가상 카메라 좌표계 {n}을 도시한다.
가상 카메라 좌표계 {n}는 팬, 틸트 기능을 위해 장면 좌표계의 중심(10)을 기준으로 상하좌우 회전이 가능하고, 줌 기능을 위해 시점의 위치를 zn 방향으로 이동할 수 있다. 도 6을 참조하면, φn, θn을 각각 가상 카메라의 장면 좌표계의 z축(11)에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)으로 둘 수 있고,
Figure 112017058953451-pat00138
을 장면 좌표계 {0} 상에서의 가상 카메라의 위치,
Figure 112017058953451-pat00139
를 장면 좌표계 {0} 상에서의 2차 곡면모델의 중심 위치이며 가상 카메라의 팬, 틸트 회전의 중심으로 두면, 장면 좌표계 {0} 상에서 2차 곡면모델로 매핑되는 가상 카메라 좌표계 {n}를 표현한 변환 행렬(
Figure 112017058953451-pat00140
)은 다음과 같이 표현할 수 있다.
Figure 112017058953451-pat00141
여기서, trans(·)는 3차원 공간상의 이동 행렬(3-D translational matrix)을 나타내고, rotz(·)와 rotx(·)는 각각 z축과 x축을 회전축으로 하는 회전 행렬들(3-D rotational matrices)이다. 그리고 상기 변환 행렬(
Figure 112017058953451-pat00142
)은
Figure 112017058953451-pat00143
의 단위 벡터 형태로 표현될 수 있다. 여기서,
Figure 112017058953451-pat00144
,
Figure 112017058953451-pat00145
, 및은 각각 가상 카메라 좌표계 {n} 상에서의 각 단위 벡터({1,0,0}, {0,1,0}, 및 {0,0,1})를 장면 좌표계 {0} 상의 좌표로 변환했을 때의 단위 벡터 표현이고,
Figure 112017058953451-pat00147
은 가상 카메라 좌표계 {n} 상에서의 원점({0,0,0})을 장면 좌표계 {0} 상의 좌표로 변환했을 때의 단위 벡터 표현이다. 상술한 것과 같이 수평 회전각과 수직 회전각을 사용한 가상 좌표계의 표현은 상하가 뒤집히지 않고, 어떤 중심을 기준으로 하여도 회전이 가능하며, 줌 기능을 효과적으로 표현할 수 있으므로 기계적인 구동부를 사용한 PTZ 기능을 거의 흡사하게 동작시킬 수 있는 장점이 있다. 이러한 가상 좌표계의 표현 이외에도 사용자의 설정에 따라 임의 방식으로 가상 좌표계를 표현하는 것도 가능하다.
즉, 위치 설정 모듈(314)은 장면 좌표계상에서의 2차 곡면 모델의 중심(
Figure 112017058953451-pat00148
), 장면 좌표계상에서의 가상 카메라의 위치(
Figure 112017058953451-pat00149
), 및 가상 카메라의 장면 좌표계의 z축(11)에 대한 수평 회전각(φn) 및 수직 회전각(θn)을 파라미터로 입력받아 장면 좌표계 상에서 가상 좌표계를 표현한 변환 행렬(
Figure 112017058953451-pat00150
)를 계산한다. 이 변환 행렬에 의하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계의 한 좌표(
Figure 112017058953451-pat00151
)로 변환할 수 있다.
변환 모듈(315)은 위치 설정 모듈(314)에서 계산한 변환 행렬(
Figure 112017058953451-pat00152
)을 이용하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 한 좌표(
Figure 112017058953451-pat00153
)를 계산한다.
광축 중심 설정모듈(316)은 가상 카메라의 광축 중심을 설정하기 위한 것이다.
도 7은 가상 카메라의 광축 중심을 설명하기 위한 도면이다.
도 7을 참조하면, 원근 투영 카메라와 직각 투영 카메라는 투영선(projection ray)이 광축 중심점(optical center)으로 모이는지에 따라 달라질 수 있다. 원근 투영 카메라에서는 도 7의 (a)에 도시되어 있는 것처럼 모든 투영선이 하나의 중심점으로 모이고, 직각 투영 카메라에서는 도 7의 (b)에 도시되어 있는 것처럼 모든 투영선이 광축(principal axis)과 평행하게 된다. 따라서 광축 중심(
Figure 112017058953451-pat00154
)은 다음과 같이 표현될 수 있다. 여기서
Figure 112017058953451-pat00155
의 왼쪽 위에 있는 '0'은 좌표계를 나타내는 것으로 {0}은 장면 좌표계상의 좌표로 표시됨을 나타낸다.
Figure 112017058953451-pat00156
여기서,
Figure 112017058953451-pat00157
은 초점 거리(focal length)이고,
Figure 112017058953451-pat00158
는 상술한 바와 같이 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 좌표이고,
Figure 112017058953451-pat00159
Figure 112017058953451-pat00160
은 상술한 것처럼 변환 행렬(
Figure 112017058953451-pat00161
)을 단위 벡터 형태인
Figure 112017058953451-pat00162
으로 표현할 때의 단위 벡터들이다.
상술한 바와 같이 가상 카메라 모델부(310)는 가상 카메라의 위치, 직각 좌표 형식을 사용할 것인지 아니면 극좌표 형식을 사용할 것인지에 관한 파라미터를 입력받아 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 좌표(
Figure 112017058953451-pat00163
) 및 가상 카메라의 광축(
Figure 112017058953451-pat00164
) 중심에 대한 정보를 계산하여 출력할 수 있다.
2차 곡면 모델부(320)에서 생성하는 2차 곡면 모델은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점을 왜곡을 포함하는 복수 개의 영상 센서에서 촬상한 복수 개의 영상의 대응하는 점(픽셀)으로 매핑하는 거울과 같은 기능을 수행할 수 있다. 이때 원하는 효과에 따라 다양한 2차 곡면을 모델링하는 2차 곡면 모델이 사용될 수 있다. 일 예로서, 타원체(Ellipsoid) 모델은 구 형태의 거울 모양으로 표현되어 가상 카메라의 PTZ 효과를 얻기 위해 주로 사용될 수 있고, 실린더(Cylinder) 모델은 실린더 기둥 모양의 거울 형태로 표현되어 광각의 영상 생성시 주로 사용될 수 있으며, 포물면(Paraboloid) 모델은 반구 형태의 거울 모양으로 표현되어 영상의 일정 부분만을 매핑한 효과 생성시 사용될 수 있다.
도 8은 본 발명의 일 실시 예에 따른 2차 곡면 모델부의 개략적인 구성을 도시한 도면이다.
도 8을 참조하면, 본 발명의 일 실시 예에 따른 2차 곡면 모델부(320)는 2차 곡면 모델 선정 모듈(321), 좌표 설정 모듈(322) 및 변환 모듈(323)을 포함할 수 있다.
2차 곡면 모델 선정 모듈(321)은 사용자가 원하는 효과를 얻기 위하여 복수 개의 2차 곡면 모델 중에서 하나를 선정하게 할 수 있다. 즉, 도 8에 도시되어 있는 바와 같이 파라미터 qsel을 이용하여 타원체 모델(324), 실린더 모델(325), 포물면 모델(326), 및 사용자 설정 2차 곡면 모델(327) 중의 하나를 선택할 수 있다.
3차원 공간상에서의 상술한 2차 곡면 모델들은 다음과 같은 공통된 행렬 형태로 표현이 가능하다.
Figure 112017058953451-pat00165
여기서,
Figure 112017058953451-pat00166
Figure 112017058953451-pat00167
로 모델링되는 2차 곡면상의 한점이고, 2차 곡면 모델(
Figure 112017058953451-pat00168
)은 다음과 같이 4x4 대칭 행렬로 표현될 수 있다.
Figure 112017058953451-pat00169
이때, 2차 곡면 모델(
Figure 112017058953451-pat00170
) 행렬 내의 각 값은 2차 곡면별로 다를 수 있는데, 도 9a 및 도 9b는 본 발명의 일 실시 예에 따른 타원체 모델(324), 실린더 모델(325), 및 포물면 모델(326)에 대한 파라미터를 도시하고 있다. 여기서, 도 9a 및 도 9b의 xc, yc, zc는 장면 좌표계 {0} 상에서의 각 모델의 중심 위치를 나타낸다.
좌표 설정 모듈(322)은 2차 곡면을 장면 좌표계 {0} 상에서 정의하기 위해 사용되고, 가상 카메라의 위치 설정과 마찬가지로 사용자 설정이 용이한 수평 회전각(φq) 및 수직 회전각(θq)을 이용하여 표현할 수 있다. 즉, 좌표 설정 모듈(322)은 2차 곡면상의 점들을 대응하는 장면 좌표계 상의 점들로 변환하기 위한 변환행렬(
Figure 112017058953451-pat00171
)을 생성할 수 있고, 이때의 변환행렬(
Figure 112017058953451-pat00172
)는 다음 식을 이용하여 구할 수 있다.
Figure 112017058953451-pat00173
변환 모듈(323)은 타원체 모델(324), 실린더 모델(325), 포물면 모델(326), 또는 사용자 설정 2차 곡면 모델(327)에 의하여 생성되는 2차 곡면을 표현하는 행렬(
Figure 112017058953451-pat00174
)을 장면 좌표계 상에서의 선택된 2차 곡면 모델을 표현하는 행렬(
Figure 112017058953451-pat00175
)로 변환할 수 있다. 장면 좌표계에서의 2차 곡면 모델을 표현하는 행렬 (
Figure 112017058953451-pat00176
)는 다음 식을 이용하여 구할 수 있다.
Figure 112017058953451-pat00177
전방향 카메라 투영 모델부(330)는 가상 카메라에서 2차 곡면 모델에 매핑 후 영상 왜곡을 포함하는 복수의 영상 센서에서 촬상한 복수의 영상으로 재투영하는 것으로, 영상 왜곡을 보정하는 카메라 캘리브레이션(calibration)과 카메라 투영 모델을 포함할 수 있다.
도 10은 본 발명의 일 실시 예에 따른 전방향 카메라 투영 모델부(330)의 개략적인 구성을 도시한 도면이다.
도 10을 참조하면, 본 발명의 일 실시 예에 따른 전방향 카메라 투영 모델부(330)는 교차점 모듈(331), 변환 모듈(332), 좌표 계산 모듈(333), 보간 모듈(334), 및 메모리(335)를 포함할 수 있다.
교차점 모듈(331)은 2차 곡면 모델부(320)에서 선정한 2차 곡면 모델과 가상 카메라의 투영선의 교차점을 계산할 수 있다.
도 11은 2차 곡면 모델과 가상 카메라의 투영선의 교차점(
Figure 112017058953451-pat00178
)의 일 예를 도시한 도면이다.
도 11을 참조하면, 가상 카메라의 광축 중심(
Figure 112017058953451-pat00179
)과 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점(
Figure 112017058953451-pat00180
)을 잇는 직선인 투영선(910)이 2차 곡면 모델과 만나기 위하여는 다음 식을 만족하여야 한다.
Figure 112017058953451-pat00181
여기서,
Figure 112017058953451-pat00182
은 가상 카메라의 광축 중심이고,
Figure 112017058953451-pat00183
으로 표현되는데
Figure 112017058953451-pat00184
는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점이다. 그리고 점
Figure 112017058953451-pat00185
는 투영선(910) 상에 존재하는 점이면서, 2차 곡면 모델 상에 존재하는 교차점이 된다. 이 교차점의 위치는
Figure 112017058953451-pat00186
에 의해서 결정되는데,
Figure 112017058953451-pat00187
는 다음과 같이 계산될 수 있다.
Figure 112017058953451-pat00188
여기서,
Figure 112017058953451-pat00189
이고,
Figure 112017058953451-pat00190
이다.
즉, 교차점 모델은 상술한 식을 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점(
Figure 112017058953451-pat00191
)의 투영선(910)과 교차하는 2차 곡면상의 한 점(
Figure 112017058953451-pat00192
)을 계산하여 출력할 수 있다.
그리고 상술한 2차 곡면상의 한 점(
Figure 112017058953451-pat00193
)은 전방향 카메라 모델(336)에 의하여 센서부(100)의 복수의 영상 센서에 의해 촬상된 복수의 영상의 각 영상의 한 점으로 투영될 수 있다.
도 12는 본 발명의 일 실시 예에 따른 장면 좌표계상의 한 점(
Figure 112017058953451-pat00194
)을 왜곡 없는 이상적인 영상 평면(
Figure 112017058953451-pat00195
)의 대응하는 점으로 매핑하는 과정을 도시한다.
도 12를 참조하면, 장면 좌표계상의 한 점
Figure 112017058953451-pat00196
에서 영상 센서의 광축 중심으로의 투영선(1010) 상에 벡터
Figure 112017058953451-pat00197
가 존재하고, 이는 일반적인 원근 투영 기하를 따르고 다음 식의 관계가 성립된다.
Figure 112017058953451-pat00198
여기서
Figure 112017058953451-pat00199
는 회전 행렬
Figure 112017058953451-pat00200
과 이동 벡터
Figure 112017058953451-pat00201
로 구성된 카메라 투영 행렬(projection matrix)이며,
Figure 112017058953451-pat00202
는 장면 좌표계상의 한 점
Figure 112017058953451-pat00203
의 동차 표현(homogenous representation)이다.
상술한 식은 장면 좌표계 {0} 상의 한 점
Figure 112017058953451-pat00204
와 카메라 좌표계 {c} 상의 한 점
Figure 112017058953451-pat00205
를 서로 매핑한 것이다. 그런데 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 장치는 복수 개의 영상 센서로부터 영상을 획득하고, 각 영상 센서의 광축 중심이 다를 수 있고, 행렬
Figure 112017058953451-pat00206
또한 다를 수 있기 때문에 장면 좌표계 {0} 상의 한 점
Figure 112017058953451-pat00207
에 대하여 복수의 영상 센서의 각 카메라 좌표계 {1}, {2}, {...}, {c} 상의 한 점
Figure 112017058953451-pat00208
을 매핑할 수 있다. 즉, 장면 좌표계 {0} 상의 한 점에 대하여 복수의 점이 매핑될 수 있다.
상술한 설명을 복수의 영상 센서별로 적용하여 보면, 기준 좌표계 {i} 상의 한 점(
Figure 112017058953451-pat00209
)와 카메라 좌표계 {ci} 상의 한 점
Figure 112017058953451-pat00210
를 서로 매핑할 수 있다.
Figure 112017058953451-pat00211
여기서, {ci}와 {i}는 각각 i번째 영상 센서의 카메라 좌표계 및 기준 좌표계를 나타내고,
Figure 112017058953451-pat00212
는 회전 행렬(
Figure 112017058953451-pat00213
)과 이동 백터(
Figure 112017058953451-pat00214
)로 구성된 i번째 카메라의 투영 행렬(projection matrix)이며,
Figure 112017058953451-pat00215
는 기준 좌표계 {i}상의 한 점
Figure 112017058953451-pat00216
의 동차 표현(homogenous representation)이다. 그리고 절대 좌표계인 장면 좌표계를 {0}으로 표현하고, 장면 좌표계 {0}와 각 기준 좌표계 간의 변환 관계를 나타내는 변환 행렬(
Figure 112017058953451-pat00217
)을 이미 알고 있다고 하면, 상기 식들은 모두 장면 좌표계 {0}상의 한 점
Figure 112017058953451-pat00218
에 대한 식으로 다음과 같이 표현할 수 있다.
Figure 112017058953451-pat00219
여기서,
Figure 112017058953451-pat00220
으로 얻어질 수 있다. 즉, 장면 좌표계 {0} 상의 한 점
Figure 112017058953451-pat00221
이 세 개의 카메라 좌표계의 서로 다른 세 점으로 매핑될 수 있다. 만약 카메라 수가 늘어나면 장면 좌표계 {0} 상의 한 점은 카메라 수만큼의 서로 다른 점들로 매핑될 수 있는 것이다.
다시 도 12를 참조하면, 벡터
Figure 112017058953451-pat00222
Figure 112017058953451-pat00223
는 장면 좌표계 상의 한 점
Figure 112017058953451-pat00224
를 이상적인 영상 평면(
Figure 112017058953451-pat00225
) 상의 한 점
Figure 112017058953451-pat00226
으로 매핑하는 왜곡보정 매핑함수이며, 렌즈의 왜곡 현상을 이론적으로 분석한 모델(analytic model) 또는 수치적으로 근사한 모델(approximation model) 등을 사용하여 표현할 수 있다. 이에 의하여 이상적인 영상 평면(
Figure 112017058953451-pat00227
)은 왜곡이 없는 영상 평면을 의미할 수 있다. 일 실시 예로서 Scaramuzza가 제안한 것과 같은 테일러 확장(Taylor expansion series) 기반의 근사 모델을 사용하여 표현할 수 있다.
Figure 112017058953451-pat00228
이때
Figure 112017058953451-pat00229
는 카메라마다 서로 다른 영상 왜곡을 생성하기 때문에 카메라 좌표계 {ci}별로 서로 다른 값을 가지게 된다.
그리고 벡터
Figure 112017058953451-pat00230
을 복수의 영상 센서 중 하나의 영상 센서에서 촬상한 왜곡이 포함된 원본 영상(I)에서의 실제 픽셀 좌표라고 가정하면, 원본 영상(I)과 이상적인 영상 평면(
Figure 112017058953451-pat00231
)의 관계는 어파인(affine) 변환 행렬로 다음과 같이 표현될 수 있다.
Figure 112017058953451-pat00232
여기에서
Figure 112017058953451-pat00233
는 어파인 변환 행렬이고,
Figure 112017058953451-pat00234
는 이동 벡터를 나타낸다.
상술한 바와 같이 장면 좌표계 상의 한 점
Figure 112017058953451-pat00235
는 원본 영상(I)에서 픽셀 좌표
Figure 112017058953451-pat00236
으로 매핑되므로, 만약 이 식들이 역변환 관계가 존재한다면, 원본 영상(I)에서 원래 장면 좌표계 상의 한 점
Figure 112017058953451-pat00237
의 픽셀값을 구할 수 있다.
장면 좌표계 {0} 상의 한 점
Figure 112017058953451-pat00238
을 카메라 좌표계 {c} 상의 한 점
Figure 112017058953451-pat00239
로 왜곡 보정을 하면서 매핑시키기 위하여서는 상술한 바처럼 각 영상 센서의 위치와 자세 및 왜곡보정 매핑함수(
Figure 112017058953451-pat00240
)의 계수들을 미리 알아야만 한다.
도 13은 3대의 카메라들 사이의 위치 및 자세를 나타내고 왜곡을 보정 하기 위한 파라미터를 획득하기 위한 방법의 일 실시 예를 도시한 도면이다.
도 13을 참조하면 각각의 영상 센서는 가로, 세로의 격자 크기가 미리 알려진 보정용 차트(calibration chart)를 이용하여 영상 센서의 위치, 자세, 및 촬상한 영상에 포함되어 있는 왜곡을 계산할 수 있다. 일 예로 보정용 차트의 결자 하나의 가로, 세로 크기를 5cm x 5cm로 설정할 수 있고, 촬상된 보정용 차트 영상에서의 각 격자의 교차점들의 위치들을 측정함으로써 촬상된 영상에 포함되어 있는 왜곡을 측정할 수 있다. 그리고 이렇게 측정된 왜곡을 바탕으로 상술한 회전 행렬(
Figure 112017058953451-pat00241
), 이동 백터(
Figure 112017058953451-pat00242
), 왜곡보정 매핑함수(
Figure 112017058953451-pat00243
)의 계수, 및 어파인 변환 행렬(
Figure 112017058953451-pat00244
)를 획득할 수 있다.
도 14는 본 발명의 일 실시 예에 따른 가상 카메라의 투영선과 2차 곡면 모델과의 교차점(
Figure 112017058953451-pat00245
)이 왜곡을 포함하는 이상적인 영상 평면상의 좌표(
Figure 112017058953451-pat00246
)에 재투영되는 것을 도시한 도면이다.
도 14를 참조하면, 2차 곡면은 가상 카메라의 투영선(1110)을 영상 센서의 투영선(1120)으로 반사하는 거울과 같은 역할을 수행할 수 있다. 여기서 영상 센서의 투영선(1120)은 영상 센서의 광축 중심과 교차점(
Figure 112017058953451-pat00247
)을 연결하는 선이 된다.
가상 카메라의 투영선(1110)과 2차 곡면이 만나는 점이 교차점(
Figure 112017058953451-pat00248
)이 되고, 교차점(
Figure 112017058953451-pat00249
)은 다음 식을 이용하여 카메라 좌표계의 좌표(
Figure 112017058953451-pat00250
)로 변환될 수 있다.
Figure 112017058953451-pat00251
여기서,
Figure 112017058953451-pat00252
는 장면 좌표계상에서 표현된 영상 센서의 위치와 자세를 나타내는 변환 행렬로써 카메라 투영행렬(
Figure 112017058953451-pat00253
)의
Figure 112017058953451-pat00254
Figure 112017058953451-pat00255
로 구성될 수 있다.
가상 카메라의 투영선(1110)과 2차 곡면과의 교차점(
Figure 112017058953451-pat00256
)은 도 12에 도시된 한 점(
Figure 112017058953451-pat00257
)과 마찬가지로 전방향 카메라 광축 중심으로의 투영선(1120) 상에 존재할 수 있고, 이 투영선(1120)은 전방향 카메라의 광축을 중심으로 방사형으로 대칭이므로 이상적인 영상 평면(
Figure 112017058953451-pat00258
)과 교차점(
Figure 112017058953451-pat00259
)과의 각도로 표현할 수 있다. 즉,
Figure 112017058953451-pat00260
의 관계식을 얻을 수 있는데 여기서,
Figure 112017058953451-pat00261
는 이상적인 영상 평면(
Figure 112017058953451-pat00262
)과 교차점(
Figure 112017058953451-pat00263
)과의 각도로서,
Figure 112017058953451-pat00264
로 표현된다.
그리고 영상 센서의 광축 중심으로의 투영선(1120)과 왜곡 보정 매핑 함수(
Figure 112017058953451-pat00265
)는 상술한 바처럼 모두
Figure 112017058953451-pat00266
의 함수이므로, 이들의 해를 구하면 이상적인 영상 평면상의 좌표(
Figure 112017058953451-pat00267
)를 구할 수 있고, 어파인 변환 행렬을 이용하여 원본 영상(I)에서의 픽셀값(
Figure 112017058953451-pat00268
)을 구할 수 있다. 따라서, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 한 점(
Figure 112017058953451-pat00269
)의 픽셀값은 영상 센서에서 촬상한 왜곡이 포함된 원본 영상(I)으로부터 얻어지고, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 각 점에 대하여 상술한 기능을 수행하면 최종 결과 영상인 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)을 획득할 수 있고, 이 영상은 임의 시점에서 생성한 렌즈 왜곡이 제거된 영상이 된다. 그리고 상술한 방식을 복수 개의 영상 센서별로 적용하면 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 한 점(
Figure 112017058953451-pat00270
)에 대하여 복수 개의 영상 센서의 각 영상 센서별로 획득한 픽셀값을 가지게 된다.
상술한 작업을 수행하기 위하여 전방향 카메라 투영 모델부(330)의 변환 모듈(332)은 장면 좌표계상에서 표현된 영상 센서의 위치와 자세를 나타내는 변환 행렬(
Figure 112017058953451-pat00271
)를 이용하여 교차점(
Figure 112017058953451-pat00272
)을 카메라 좌표계의 좌표(
Figure 112017058953451-pat00273
)로 변환한다.
그리고 좌표 계산 모듈(333)은 어파인 변환 행렬(
Figure 112017058953451-pat00274
), 이동 벡터(
Figure 112017058953451-pat00275
), 장면 좌표계상의 한 점
Figure 112017058953451-pat00276
를 이상적인 영상 평면(
Figure 112017058953451-pat00277
) 상의 한 점(
Figure 112017058953451-pat00278
)으로 매핑하는 역할을 수행하는 테일러 확장 기반의 근사 모델의 계수들을 파라미터로 입력받아 가상 카메라의 투영선과 2차 곡면 모델과의 교차점(
Figure 112017058953451-pat00279
)으로부터 영상 센서에서 획득한 왜곡이 포함된 원본 영상(I)에서의 실제 픽셀 좌표를 나타내는 벡터
Figure 112017058953451-pat00280
를 획득한다. 좌표 계산 모듈(333)에서 사용하는 상술한 테일러 확장 기반의 근사 모델은 렌즈의 왜곡 현상을 이론적으로 분석하고, 이를 해소하기 위하여 수치적으로 근사화한 것으로 이에 의하여 원본 영상에 존재하는 왜곡 현상을 도 15와 같이 제거할 수 있다. 도 15는 입력 영상 (a)로부터 왜곡이 보정된 영상 (b), (c)를 생성한 일 예를 보여준다.
그리고 보간 모듈(334)은 실제 픽셀 좌표를 나타내는 벡터
Figure 112017058953451-pat00281
를 이용하여 메모리(335)에 저장된 원본 영상(I)에서 해당 좌표의 주변 픽셀값을 읽어들이고 양선형 보간 (bilinear interpolation) 등의 방법 등으로 해당 좌표의 값을 계산 하여 출력할 수 있다.
도 15는 원본 영상 및 이에 포함된 왜곡을 보정하여 디스플레이(400)에 표시하는 영상의 일 예를 도시한 도면이다.
도 15를 참조하면, (a)는 피쉬아이 렌즈를 사용하여 획득한 왜곡을 포함한 원본 영상이고, (b)는 일반적인 방법으로 왜곡이 보정된 영상을 나타낸다. (b)처럼 왜곡 보정된 영상에는 영상의 끝쪽으로 갈수록 실제 크기 및 거리감의 차이가 크게 발생한다. 그 이유는 카메라의 왜곡된 영상의 한 점으로 들어오는 투영선 상에는 공간상의 수많은 점이 존재할 수 있고, 공간 복원(structure reconstruction)을 위해서는 두 개 이상의 투영선이 존재해야 이 점의 실제 공간상의 위치를 알 수 있게 되기 때문이다. 하지만, 본 출원에서 제안하는 방식을 이용하고, 필요한 파라미터들을 적절하게 설정하면 (c)에서 보는 것과 같이 사용자가 보기에 편안한 영상을 생성할 수 있다.
상술한 전방향 카메라 투영 모델부(330)의 전방향 카메라 모델(336)은 각 영상 센서(S1, S2)에서 획득한 카메라 영상에 대하여 독립적으로 수행될 수 있다. 즉, 복수 개의 영상 센서 각각에 대응하는 전방향 카메라 모델을 두고, 각 영상 센서로부터 오는 영상을 처리하여 임의 시점에서 본 왜곡 없는 영상을 생성할 수 있다. 즉, 도 3에 도시되어 있는 것처럼 전방향 카메라 투영 모델부(330)는 영상 센서로 획득한 각 카메라 영상에 대하여 왜곡을 제거한 복수 개의 영상을 생성하고 이를 정합부(350)로 전달할 수 있다. 이때 카메라들이 서로 다른 영역을 촬상하도록 배치되었기 때문에 대부분은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 한 점(
Figure 112017058953451-pat00282
)에 대하여 단지 한 개의 영상 센서에서 촬상된 후 왜곡이 보정된 영상의 픽셀값만이 의미를 가질 수 있다. 즉, 정합부(350)에서 영상 정합 시에 대부분의 영역에서 겹쳐지는 부분(overlapping area)이 없다는 것이다.
하지만, 카메라 간의 화각 겹침(overlap) 없는 정확한 사양의 렌즈를 찾기는 매우 어려우므로, 각 카메라들이 보는 화각은 일정부분 겹칠 수밖에 없다. 그러면, 360도 전방향 뷰 영상을 생성하기 위해 하나의 시점에서 보는 가상 카메라의 투영선은 동시에 복수 개의 카메라의 영상으로 재투영되는 상황이 발생할 수 있다. 즉, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J) 내의 한 점(
Figure 112017058953451-pat00283
)에 대하여 의미를 가질 수 있는 픽셀값이 복수 개가 될 수 있고, 최종 영상 합성시(image blending) 겹쳐지는 부분이 발생하게 된다.
도 16a 내지 도 16e는 본 발명의 일 실시 예에 따른 180도 이상의 화각을 갖는 2개의 전/후방 카메라를 이용하여 생성한 360도 전방향 뷰 영상을 도시한 것이다.
도 16a는 전방 카메라 입력 영상이고, 도 16b는 후방 카메라 입력 영상이며, 각 영상에 표시된 곡선의 그리드(grid)는 360도 전방향 뷰 영상을 생성하기 위해 사용된 영역을 표시한다.
도 16c는 상술한 360도 전방향 뷰 생성 장치를 적용한 일 예를 도시한 도면이다. 도 16c를 참조하면, 두 영상을 가상 카메라 좌표계 {n}에 위치한 임의 시점의 가상 카메라에서 바라볼 때, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)상의 한 점의 투영선과 2차 곡면과의 교차점은
Figure 112017058953451-pat00284
이고, 이 점은 카메라 좌표계 {c}와 {c'}에 위치한 각각의 전방, 후방의 왜곡을 포함하는 카메라들 영상의
Figure 112017058953451-pat00285
Figure 112017058953451-pat00286
에 재투영되어 도 16d에 도시된 것과 같이 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에는 밝게 표시된 겹쳐지는 부분 상의
Figure 112017058953451-pat00287
에 위치하게 된다. 도 16d에 도시된 것과 같은 겹쳐지는 경계부분의 폭은 카메라 및 렌즈 체결 시 발생하는 오차 등으로 인해 서로 다르게 나타날 수 있다.
전방향 카메라 투영 모델부(330)의 정합부(350)는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에서의 겹치는 부분을 매끄럽게 하기 위하여 기울기(gradient) 기반의 영상 정합, 포아송(Poisson) 기반의 영상 정합 방법들을 사용할 수 있다. 일 실시 예로서 실시간 처리가 가능한, 경계까지의 거리를 나타내는 함수를 두 출력 영상의 합성시 가중치로 사용하는 방법을 적용할 수 있다. 이와 같은 가중치 적용 방법의 일 예로서 다음 식이 사용될 수 있다.
Figure 112017058953451-pat00288
여기서,
Figure 112017058953451-pat00289
Figure 112017058953451-pat00290
는 각각 전방과 후방 카메라 영상으로부터 상술한 방법으로 구한 임의 시점의 가상 카메라에 의해서 보여지는 왜곡이 보정된 360도 전방향 뷰 영상의 한 점(
Figure 112017058953451-pat00291
)에서의 픽셀값들을 나타내고,
Figure 112017058953451-pat00292
는 영상
Figure 112017058953451-pat00293
에서 한 점(
Figure 112017058953451-pat00294
)의 경계와의 거리에 따른 가중치,
Figure 112017058953451-pat00295
는 영상
Figure 112017058953451-pat00296
에서 동일 점(
Figure 112017058953451-pat00297
)의 경계와의 거리에 따른 가중치를 나타내며, 가중치 함수는 경계와의 거리가 일정 임계치보다 클 때 1의 값을 갖고, 임계치에서 경계까지는 점점 줄어드는 값을 가지며, 경계를 벗어나면 0의 값을 갖도록 구현될 수 있다. 이러한 함수의 선택과, 임계치 값은 다양한 방식으로 구현될 수 있다.
도 17a 내지 도 17g는 본 발명의 일 실시 예에 따른 가중치를 계산하는 예 및 가중치를 적용한 일 실시 예를 도시한 도면이다.
도17a는 장면 좌표계 상의 한 점
Figure 112017058953451-pat00298
가 각 영상 센서에서 촬상한 영상에 재투영될 때, 첫번째 영상 센서(C1)에 투영되는 투영선(l)과의 각도(ρ)를 가지고 가중치를 계산하는 방법을 보여준다. 여기서 θmax는 렌즈에서 보여지는 최대 화각을 나타내고, α는 이웃한 영상 센서와의 겹치는 각도를 나타낸다.
Figure 112017058953451-pat00299
에 상응하는 가상 카메라 영상에서의 한 점
Figure 112017058953451-pat00300
의 첫번째 카메라에서의 가중치
Figure 112017058953451-pat00301
는 θ의 함수로 표현이 가능하다. 즉, 다음 식으로 표현된 것과 같이 겹치는 부분이 없으면 1, 화각을 벗어나면 0, 겹치는 부분은 각도에 따라 가중치를 가지게 구성할 수 있다.
Figure 112017058953451-pat00302
두번째 영상 센서에서의 가중치 또한 동일한 방식으로 구성될 수 있다.
도 17b와 도 17c는 각각 전방/후방 카메라에서 생성된 경계면 근처의 국부 영상들인
Figure 112017058953451-pat00303
Figure 112017058953451-pat00304
를 도시하고 있고, 도 17d와 도17e는 상기 식으로 계산된 각각의 가중치인
Figure 112017058953451-pat00305
Figure 112017058953451-pat00306
를 나타내는데, 흰색은 1을 나타내고, 검정색을 0을 나타내며, 그 중간은 0과 1 사이의 값을 나타낸다. 도 17f와 도 17g는 영상
Figure 112017058953451-pat00307
Figure 112017058953451-pat00308
의 동일한 점 각각에 가중치가 곱해져서 생성된 영상이고, 도 17h는 최종 정합된 영상을 도시하고 있다.
이와 같은 정합 과정을 거치면서 두 영상 센서에서 촬상한 영상의 겹쳐지는 부분에서 기존에 발생하던 이질감을 제거할 수 있을 것이다.
상술한 장치를 이용함으로써 본원 발명은 임의 시점에서 보여지는 왜곡 없는 360 전방향 뷰 영상을 생성할 수 있으며, 특히 카메라 영상들 간의 경계영역에서도 이질감없이 매끄럽게 정합된 360도 전방향 뷰를 생성할 수 있다.
본 발명에서 제시하는 360도 전방향 뷰 생성 장치에 의해서 생성된 임의 시점에서 보는 360도 전방향 뷰 영상은 디스플레이(400)에서 바로 플레이될 수 있으며 동시에 생성된 360도 전방향 뷰 영상은 저장장치에 저장될 수 있다. 그뿐만 아니라 복수 개의 카메라에서 촬영된 복수 개의 원본 영상은 하나의 파일에 동기화되어 저장될 수 있다.
이때, 일반적인 녹화장치에 원본 영상을 저장시, 데이터 크기가 커서 저장장치의 저장 공간 크기가 문제될 수 있으므로, 저장장치의 성능과 저장 공간을 고려하여 비디오 코덱을 통해 압축된 영상 데이터를 저장할 수 있다. 저장된 파일에는 각종 음성정보 및/또는 GPS 정보들이 같이 저장될 수 있다.
사용자는 설정에 따라 기존에 생성하여 저장해 놓은 360도 전방향 뷰 영상 또는 저장되어 있는 원본 영상을 바탕으로 새로 생성한 360도 전방향 뷰 영상을 디스플레이하거나 다른 장치로 전송할 수 있으며, 실시간으로 사용자 입력을 받아서 가상 카메라의 위치 및 자세 등을 변경함으로써 임의 시점의 영상을 실시간으로 보여줄 수 있다.
도 18은 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 방법을 도시한 도면이다.
도 18을 참조하면, 본 발명의 일 실시 예에 따른 360도 전방향 뷰 영상 생성 방법은 먼저 복수의 영상 센서가 촬영한 영상을 정합하여 하나의 영상 센서로 촬영한 것과 같은 영상을 만들 때, 각 영상 센서가 촬영한 영상의 겹치는 부분에서의 모션 발생이나 이질감 발생을 최소화하기 위하여 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 복수의 영상 센서를 제어(S100)하고, 복수 개의 영상 센서가 동기되어 촬상한 영상들을 획득(S200)한다. 그리고 획득한 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 사용자에 의해 설정된 임의 시점에서 본 360도 전방향 뷰 영상을 생성(S300)한다.
좀 더 상세히 살펴보면, 360도 전방향 뷰(omni-directional view)를 위하여서는 복수의 영상 센서가 필요하다. 각 영상 센서가 180도의 화각(field of view)을 가지는 경우에는 2대의 영상 센서가 필요하며, 120도의 화각을 가지는 경우에는 3대의 영상 센서가 필요하고, 90도의 화각을 가지는 경우에는 4대의 영상센서가 필요하다. 그리고 복수의 영상 센서가 동일 촬상 시간, 동일 노출, 및 동일 색상 제어가 되지 않는다면, 각 영상 센서에서 촬상한 영상의 경계부분에서 이동체들이 나타날 때나 역광 상황 등에서, 정합된 최종 360도 전방향 뷰 영상의 복수의 영상 센서의 경계부분에서의 모션 발생이나 색상차로 인한 이질감이 발생할 수 있다. 본원 발명을 이러한 이질감 발생을 최소화하기 위하여 복수의 영상 센서가 동기되어 동일한 시간에 동일한 노출로 촬상하도록 제어하고, 또한 어떠한 조도에서도 동일한 색상을 유지하도록 하기 위한 화이트 밸런스 및 색상 제어 기능을 수행한다. 그리고 화각이 커질수록 그리고 끝 부분으로 갈수록 심한 왜곡을 포함하고 있기 때문에 이를 제거하고, 왜곡이 제거된 영상들을 합성함으로써 360도 전방향 뷰 영상을 생성할 수 있다.
도 19는 본 발명의 일 실시 예에 따른 복수의 영상 센서를 동기시키는 방법을 도시한 도면이다.
복수의 영상 센서를 동기시키기 위하여 먼저 동일한 클럭 신호와 영상 동기 신호를 모든 영상 센서로 전달(S110)한다. 만약 복수의 영상 센서가 각각에 대응되는 영상처리 프로세서에 의하여 제어되는 경우, 복수의 영상처리 프로세서 중 하나는 주 영상처리 프로세서로 설정될 수 있고, 나머지 영상처리 프로세서는 보조 영상처리 프로세서로 설정되고, 주 영상처리 프로세서에 의해 동일한 클럭 신호와 영상 동기 신호가 모든 영상 센서로 전달될 수 있다. 이에 더하여 동일한 클럭 신호와 영상 동기 신호가 보조 영상처리 프로세서로 전달될 수도 있다. 그러면, 복수의 영상 센서 및 보조 영상처리 프로세서는 주 영상처리 프로세서에 의해 결정된 촬상 시점을 알 수 있고, 동일한 시간에 촬상을 할 수 있다.
그리고 영상처리 프로세서는 광학 검출 장치를 이용하여 복수의 영상 센서로부터 입력되는 영상들의 광학적 특성을 검출(S120)한다. 만약 복수의 영상 센서에 대응하는 복수의 영상처리 프로세서가 있는 경우, 각 영상처리 프로세서가 입력되는 영상의 광학적 특성을 검출하여 주 영상처리 프로세서로 전달할 수도 있다. 광학적 특성에는 각 색상 채널인 R, G, B 혹은 Y, Cb, Cr 별로, 검출하고자 하는 색상들의 평균값과 흰색에 대응하는 픽셀들의 평균값 등이 포함된다. 그리고 영상처리 프로세서는 복수의 영상 센서들에 의해 촬상된 복수의 영상에서 검출한 광학적 특성들을 비교하여 노출값 및 색상 보정 정보를 결정(S130)한 후, 이를 바탕으로 복수의 영상 센서를 제어(S140)한다. 만약 복수의 영상처리 프로세서가 있는 경우에는 주 영상처리 프로세서에서 노출값 및 색상 보정 정보를 결정하여 보조 영상처리 프로세서로 전달함으로써 모든 영상처리 프로세서가 동일한 노출값 및 색상 보정 정보로 대응하는 영상 센서를 제어할 수 있도록 할 수 있다.
도 20은 본 발명의 일 실시 예에 따른 복수의 영상에 포함된 왜곡을 제거하고 복수의 영상을 정합하여 설정된 임의 시점에서 본 360도 전방향 뷰 영상을 생성하는 방법을 도시한 도면이다.
도 20을 참조하면, 사용자가 설정한 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하기 위하여 사용자가 설정한 임의 시점에 가상 카메라가 있는 것처럼 가상 카메라 모델을 생성(S310)한다. 이때 가상 카메라 모델은 사용자에 의하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하기 위하여 설정된 임의 시점에 있는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표를 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00309
)로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 특수 효과를 얻기 위해 투영 방식에 따라 장면 좌표계 상의 광축 중심(
Figure 112017058953451-pat00310
)을 설정한다.
그리고 가상 카메라 모델에 의하여 생성된 장면 좌표계 상의 좌표(
Figure 112017058953451-pat00311
)를 영상 센서에서 촬상한 복수의 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00312
)로 매핑 시에 사용되고, 가상 카메라의 시점에서 보여지는 영상(J)에 특수한 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델(
Figure 112017058953451-pat00313
)을 생성(S320)할 수 있다. 생성되는 2차 곡면 모델(
Figure 112017058953451-pat00314
)은 장면 좌표계상의 4x4 행렬로 표현될 수 있다.
다음으로, 각 영상 센서에서 촬상한 영상별로 전방향 카메라 투영 모델을 생성(S330)할 수 있다. 전방향 카메라 투영 모델은 장면 좌표계상의 좌표(
Figure 112017058953451-pat00315
), 장면 좌표계상의 광축 중심(
Figure 112017058953451-pat00316
), 및 2차 곡면 모델(
Figure 112017058953451-pat00317
)을 바탕으로, 장면 좌표계상의 좌표(
Figure 112017058953451-pat00318
)를 2차 곡면의 한 점으로 투여하고, 그리고 2차 곡면에 투영된 한 점을 다시 복수의 영상 센서에서 촬상한 복수의 영상으로 투영하여 장면 좌표계상의 좌표(
Figure 112017058953451-pat00319
)를 대응하는 복수의 영상 각각에 존재할 수 있는 픽셀 좌표(
Figure 112017058953451-pat00320
)로 매핑하고, 이 픽셀 좌표(
Figure 112017058953451-pat00321
) 주변 픽셀들의 픽셀값을 보간하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 픽셀값으로 설정할 수 있다. 이때 영상 센서에서 촬상한 영상의 대응하는 픽셀 좌표(
Figure 112017058953451-pat00322
)는 영상에 포함되어 있는 왜곡을 제거할 수 있는 좌표이다.
상술한 각 영상 센서에서 촬상한 영상별로 전방향 카메라 투영 모델을 생성하여 획득한 픽셀값들은 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 각 영상 센서의 화각이 미치는 부분으로 한정된다. 일 실시 예로서, 앞과 뒤를 촬영하는 180도의 화각을 가지는 2개의 영상 센서를 사용하는 경우, 앞을 촬상한 영상에 대하여 전방향 카메라 투영 모델을 생성하면 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 앞쪽 영상의 각 점(픽셀)에 대한 픽셀값들을 획득할 수 있고, 뒤를 찰상한 영상에 대하여 전방향 카메라 투영 모델을 생성하면 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 뒤쪽 영상의 각 점(픽셀)에 대한 픽셀값들을 획득할 수 있다. 이처럼 각 영상 센서에서 촬상한 영상별로 전방향 카메라 투영 모델을 생성하여 왜곡이 제거된 복수의 영상을 생성할 수 있고, 왜곡이 제거된 복수의 영상을 정합하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)을 생성(S340)할 수 있다.
각 단계에 대하여 좀 더 상세히 설명한다.
도 21은 본 발명의 일 실시 예에 따른 가상 카메라 모델 생성 단계(S310)를 구체적으로 도시한 도면이다.
도 21을 참조하면, 본 발명의 일 실시 예에 따른 가상 카메라 모델 생성 단계는 먼저 사용자가 원하는 임의 시점에서의 영상을 생성하고, 기계식 카메라의 디지털 팬(pan), 틸트(tilt), 줌(zoom) 기능을 에뮬레이션할 수 있도록 가상 카메라의 위치 및 자세를 설정(S311)한다. 이때의 위치 및 자세는 팬 및 틸트 기능을 위해 장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정할 수 있고, 줌 기능을 위해 장면 좌표계의 중심으로부터의 거리를 설정할 수 있으며, 가상 카메라의 자세 설정을 위하여 장면 좌표계의 x, y, z축의 방향과 이에 대응하여 가상 좌표계의 xn, yn, zn의 방향을 설정할 수 있다. 사용자는 자신이 원하는 임의 시점의 영상을 보기 위하여 가상 카메라의 위치 및 자세를 상술한 파라미터들을 이용하여 설정할 수 있다.
그리고 특수 렌즈 효과를 가지도록 가상 카메라의 유형 및 각 유형별 파라미터들을 설정(S312)할 수 있다. 가상 카메라의 유형은 일반적인 원근 효과를 갖는 원근 투영 카메라(perspective projection camera), 원근 효과가 제거된 렌즈를 모방하는 직각 투영 카메라(orthographic projection camera), 또는 반사 굴절형 거울이나 렌즈를 사용하여 획득한 영상에서 극좌표계 영상을 사용하여 전방향 파노라마 영상을 생성할 수 있는 파노라마 카메라(panorama camera) 등을 포함할 수 있다. 그리고 원근 투영 카메라 또는 직각 투영 카메라는 설정된 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심점(
Figure 112017058953451-pat00323
)을 파라미터로 설정할 수 있고, 파노라마 카메라는 극좌표계에서 사용할 반지름의 최소값(
Figure 112017058953451-pat00324
)과 최대값(
Figure 112017058953451-pat00325
), 극좌표계에서 사용할 각도의 최소값(
Figure 112017058953451-pat00326
) 과 최대값(
Figure 112017058953451-pat00327
), 그리고 가상카메라상에서의 중심 (
Figure 112017058953451-pat00328
)을 파라미터로 설정할 수 있다.
상술한 바처럼 가상 카메라의 유형, 위치, 및 자세에 대한 설정이 완료되면 이를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 장면 좌표계의 좌표(
Figure 112017058953451-pat00329
) 및 광축 중심(
Figure 112017058953451-pat00330
)을 계산(S313)할 수 있다.
도 22는 본 발명의 일 실시 예에 따른 2차 곡면 모델의 생성 단계(S320)를 구체적으로 도시한 도면이다.
도 22를 참조하면, 2차 곡면 모델 생성을 위하여 2차 곡면 모델의 유형을 선택(S321)할 수 있다. 2차 곡면 모델은 가상 카메라의 팬, 틸트, 줌 효과를 얻기 위해 사용될 수 있는 타원체(Ellipsoid) 모델, 광각 영상 생성을 위한 실린더(Cylinder) 모델, 영상의 일정 부부만을 매핑한 효과를 얻기 위한 포물면 모델, 그리고 사용자가 임의로 설정할 수 있는 사용자 2차 곡면 모델을 포함할 수 있다. 2차 곡면 모델 선택 시에는 각 모델에 적합한 파라미터를 같이 설정할 수 있다. 이렇게 선택된 2차 곡면 모델은 4x4 행렬(
Figure 112017058953451-pat00331
)로 표현될 수 있다.
다음으로, 2차 곡면 모델의 자세 및 위치를 설정(S322)할 수 있다. 상술한 가상 카메라의 자세 및 위치 설정과 동일하게 2차 곡면 모델의 자세 및 위치도 사용자 설정이 용이한 수평회전각(φq) 및 수직회전각(θq)을 이용하여 설정할 수 있다. 또는 사용자가 임의의 파라미터를 설정하여 2차 곡면 모델의 자세 및 위치를 설정할 수 있다.
상술한 4x4 행렬로 표현되는 2차 곡면 모델(
Figure 112017058953451-pat00332
)은 설정된 자세 및 위치를 바탕으로 장면 좌표계상의 2차 곡면 모델(
Figure 112017058953451-pat00333
)로 변환될 수 있다.
도 23은 본 발명의 일 실시 예에 따른 전방향 카메라 투영 모델의 생성 단계(S330)를 구체적으로 도시한 도면이다.
도 23을 참조하면, 전방향 카메라 투영 모델을 생성하기 위하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 투영선과 2차 곡면 모델과의 교차점(
Figure 112017058953451-pat00334
)을 계산(S331)한다. 이때의 투영선은 가상 카메라의 광축 중심(
Figure 112017058953451-pat00335
)과 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점(
Figure 112017058953451-pat00336
)을 잇는 직선을 의미한다.
계산된 교차점(
Figure 112017058953451-pat00337
)은 각 영상별로 해당하는 전방향 카메라 투영 모델을 이용하여 영상 센서에서 촬상한 영상의 대응하는 픽셀 좌표로 매핑(S332)된다.
도 24는 교차점(
Figure 112017058953451-pat00338
)을 영상 센서에서 촬상한 영상의 대응하는 픽셀 좌표로 매핑하는 단계를 상세히 도시한 도면이다.
도 24를 참조하면, 영상 센서의 렌즈의 왜곡 현상을 보상하기 위하여 이론적으로 분석한 모델과 수치적으로 근사한 모델 등에 의하여 구해진 왜곡 보정 매핑 함수를 사용할 수 있는데, 바람직하게는 테일러 확장(Taylor expansion series) 기반의 근사 모델을 사용할 수 있다. 이때의 근사 모델은 각 영상에 포함되어 있는 왜곡이 다르기 때문에 각 영상 센서가 촬상한 영상별로 상이할 수 있다. 상기 매핑을 위하여 교차점의 장면 좌표계상의 좌표를 카메라 좌표계상의 좌표(
Figure 112017058953451-pat00339
)로 변환(S341)하고, 왜곡 보정 매핑 함수를 이용하여 왜곡 없는 영상 평면상의 한 점으로 매핑(S342)하고, 어파인 변환 행렬을 이용하여 왜곡 없는 영상 평면상의 한 점에 대응하는 각 영상 센서에 의해 촬상된 원본 영상의 픽셀 좌표로 매핑(S343)할 수 있다. 이때 매핑된 픽셀 좌표는 상기 모델에 의하여 왜곡이 제거된 점일 수 있다.
그리고 매핑된 원본 영상의 픽셀 좌표의 픽셀값을 읽어들이고 보간하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 픽셀값으로 설정(S333)할 수 있다. 이때, 각 영상 센서는 360도 전방향의 특정한 일방향만을 촬상하기 때문에 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대하여 한 영상 센서로부터 오는 하나의 픽셀값만이 대부분의 영역에서 존재한다. 하지만, 영상 센서의 화각이 겹치지 않는 정확한 사양의 렌즈를 찾기는 매우 어려우므로 각 영상 센서에 포함된 카메라의 화각은 일정부분 겹칠 수밖에 없다. 그러면 360도 전방향 뷰 영상을 생성하기 위해 하나의 시점에서 보는 가상 카메라의 투영선은 동시에 복수 개의 영상 센서의 원본 영상으로 재투영되는 상황이 발생할 수 있다. 즉, 가상 카메라의 시점에서 보는 360도 전방향 뷰 영상의 한 점에 대한 픽셀값이 복수 개 존재할 수 있다. 이때 360도 전방향 뷰 영상의 경계부분의 특정 점에 대한 픽셀값을 결정하기 위하여 본원 발명은 단계(S310) 내지 단계(S330)에서 생성된 모델을 바탕으로 생성한 가상 카메라의 시점에서 보는 360도 전방향 뷰 영상의 한 점에 대한 복수의 픽셀값을 정합(S340)하여 영상 센서에 의해 촬상된 영상의 겹치는 부분을 매끄럽게 할 수 있도록 보정한다.
도 25는 본 발명의 일 실시 예에 따른 원근감 보정을 위한 크기 보상 단계를 구체적으로 도시한 도면이다.
도 25를 참조하면, 원근감 보정이 제대로 이루어지지 않는다면 영상의 끝쪽으로 갈수록 실제 크기 및 거리감의 차이가 발생하고, 실제 보여지는 것과 차이가 생겨 사용자가 불편을 겪게 된다. 이를 해소하기 위하여 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정(S410)할 수 있다. 이러한 조정을 가상 카메라 모델 생성 단계(S310)에서 가상 카메라 좌표계로 표현되는 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점을 장면 좌표계의 좌표로 변환하는 단계에서 가상 카메라로 생성되는 영상의 가로축과 세로축의 크기 비율을 조정하여 적용함으로써 실현될 수 있다.
원근감 보정을 위하여 또한 2차 곡면 모델의 유형과 파라미터 설정을 통해 영상의 깊이 및 크기를 보상할 수 있다. 즉, 2차 곡면 모델의 유형을 선택하고 선택된 유형의 파라미터를 설정하는 단계(S320)에서 깊이 및 크기를 보상할 수 있도록 파라미터를 설정하여 줌으로써 원근감 문제를 해소할 수 있다.
상술한 360도 전방향 뷰 영상 생성 장치 및 방법을 이용하면 사용자가 원하는 임의 시점에서 보는 것처럼 360도 전방향 뷰 영상을 재생할 수 있다. 특히 영상 내에 존재하는 왜곡을 제거하고, 복수의 영상 센서에 의해 촬상된 영상 간에 겹치는 부분을 매끄럽게 해결함으로써 재생되는 영상에 보이는 이질감을 최소화할 수 있다.
그런데 본 발명에서 제시하는 360도 전방향 뷰 생성 장치에 의해서 생성된 임의 시점에서 보는 360도 전방향 뷰 영상은 디스플레이(400)에서 바로 플레이될 수 있으며 동시에 생성된 360도 전방향 뷰 영상은 저장장치에 저장될 수 있다. 그뿐만 아니라 복수 개의 카메라에서 촬영된 복수 개의 원본 영상은 하나의 파일에 동기화되어 저장될 수 있다. 여기서 동기화란 동일 시간에 촬상된 복수의 영상을 서로 관련성을 가지도록 설정하는 것을 의미할 수 있다. 그리고 이렇게 동기화되어 저장된 원본 영상을 바탕으로 완전히 새로운 시점에서의 360도 전방향 뷰 영상을 새롭게 생성할 수도 있다. 즉, 디스플레이에 표시되는 영상은 영상 센서로 현재 촬상한 영상을 실시간으로 보여줄 수도 있지만 저장장치에 저장된 원본 영상을 바탕으로 다양한 시점에서 360도 전방향 뷰 영상을 생성하여 디스플레이에 표시할 수도 있다.
도 26은 본 발명의 또 다른 일 실시 예에 따른 360도 전방향 뷰 영상을 생성하는 방법을 도시한다.
도 26을 참조하면 사용자는 원본 영상을 선택(S510)할 수 있다. 이때의 원본 영상은 360도 전방향 뷰 영상 생성 장치에 있는 복수 개의 영상 센서로부터 획득한 실시간 영상일 수도 있고 아니면 과거에 촬상되어 저장 장치에 동기화되어 미리 저장된 원본 영상들일 수도 있다. 그리고 선택된 원본 영상을 바탕으로 상술한 방법에 의하여 360도 전방향 뷰 영상을 생성(S520)할 수 있다. 이때 사용자는 실시간으로 시점 또는 가상 카메라의 위치 및 자세 등을 변경(S530)할 수 있고, 360도 전방향 뷰 생성 장치는 변경된 시점 또는 가상 카메라의 위치 및 자세에 맞춘 새로운 360도 전방향 뷰 영상을 생성(S540)할 수 있다. 생성된 영상은 디스플레이에 표시하거나 또는 장치로 전송할 수 있다.
상술한 것처럼 본 발명에서 제시하는 360도 전방향 영상 생성 장치는 동일한 원본 영상을 바탕으로 다양한 시점에서 360도 전방향 영상을 생성할 수 있기 때문에 블랙박스와 같은 감시 장치에서부터 축구 하이라이트의 다양한 각도에서의 골장면 디스플레이하는 것까지 그 적용 분야가 상당히 넓을 수 있다.
본 발명이 속하는 기술 분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 센서부
200: 영상처리 프로세서(ISP)
210: 주 영상처리 프로세서(Master ISP)
220, 230, 240: 보조 영상처리 프로세서(Slave ISP)
300: 다중 디지털 이미지 프로세서(MDIP)
310: 가상 카메라 모델부
320: 2차 곡면 모델부
330: 전방향 카메라 투영 모델부
340: 파라미터 설정부
350: 정합부
400: 디스플레이

Claims (37)

  1. 360도 전방향 뷰 영상 생성 장치로서,
    360도 전방향 영역을 분할 촬상할 수 있는 복수 개의 영상 센서를 포함하는 센서부;
    상기 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하고, 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상을 수신받아 처리하는 영상처리 프로세서; 및
    상기 영상처리 프로세서로부터 수신한 상기 복수 개의 영상을 정합하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는, 다중 디지털 이미지 프로세서;를 포함하고,
    상기 영상처리 프로세서는,
    상기 복수 개의 영상 센서 각각에 대응하는 복수 개의 영상처리 프로세서를 구비하고,
    상기 복수 개의 영상처리 프로세서 중 하나는 주 영상처리 프로세서이고, 나머지는 보조 영상처리 프로세서이며,
    상기 주 영상처리 프로세서는 상기 복수 개의 영상 센서가 동일 촬상 시간을 가질 수 있도록 상기 복수 개의 영상 센서 및 상기 보조 영상처리 프로세서에 클럭 및 영상 동기 신호를 제공하고,
    상기 보조 영상처리 프로세서는 대응하는 영상 센서로부터 수신한 영상의 제 1 광학적 특성을 검출하여 상기 주 영상처리 프로세서로 전달하고,
    상기 주 영상처리 프로세서는 대응하는 영상 센서로부터 수신한 영상의 제2 광학적 특성을 검출하고, 상기 보조 영상처리 프로세서로부터 수신한 상기 제1 광학적 특성 및 상기 제2 광학적 특성을 비교하여 노출값 및 색상 제어 정보를 결정한 후, 제어 신호로 상기 보조 영상처리 프로세서에 전달하며,
    상기 보조 영상처리 프로세서 및 상기 주 영상처리 프로세서는 대응하는 영상 센서의 셔터 속도(Shutter Speed) 및 자동이득제어(automatic gain control) 값을 조정하는,
    360도 전방향 뷰 영상 생성 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 다중 디지털 이미지 프로세서는,
    설정된 가상 카메라의 위치 및 자세를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계(world coordinate)상의 좌표(
    Figure 112017058953451-pat00340
    )로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 영상 효과를 얻기 위해 투영 방식에 따라 장면 좌표계상의 광축 중심(optical center;
    Figure 112017058953451-pat00341
    )을 설정하는 가상 카메라 모델부;
    상기 가상 카메라 모델부에 의하여 생성된 장면 좌표계 상의 좌표(
    Figure 112017058953451-pat00342
    )를 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00343
    )로 매핑 시에 사용되고, 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델(
    Figure 112017058953451-pat00344
    )을 생성하는 2차 곡면 모델부;
    상기 가상 카메라 모델부에서 획득한 장면 좌표계 상의 좌표(
    Figure 112017058953451-pat00345
    ), 장면 좌표계상의 광축 중심(
    Figure 112017058953451-pat00346
    ), 및 상기 2차 곡면 모델부에서 생성한 2차 곡면 모델(
    Figure 112017058953451-pat00347
    )을 바탕으로 상기 장면 좌표계상의 좌표(
    Figure 112017058953451-pat00348
    )를 상기 2차 곡면의 한 점으로 투영하고, 상기 2차 곡면에 투영된 한 점을 다시 상기 복수 개의 영상의 각 영상으로 투영하여 상기 장면 좌표계상의 좌표(
    Figure 112017058953451-pat00349
    )를 상기 복수의 영상의 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00350
    )로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00351
    )별로 주변 픽셀들의 픽셀값을 보간(interpolating)하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모델부; 및
    상기 전방향 카메라 투영 모델부에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 정합하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값을 결정하는 정합부;를 포함하는,
    360도 전방향 뷰 영상 생성 장치.
  5. 제4항에 있어서,
    상기 다중 디지털 이미지 프로세서의 각 부에서 사용될 파라미터를 사용자로부터 입력받아 설정하는 파라미터 설정부;를 더 포함하는,
    360도 전방향 뷰 영상 생성 장치.
  6. 제4항에 있어서,
    상기 가상 카메라 모델부는,
    상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 가상 카메라 좌표계에서 (x, y)의 직각 좌표 형식의 좌표 또는 (r, θ)의 극 좌표 형식의 좌표로 표시하는 좌표 표시모듈;
    상기 가상 카메라의 위치 및 자세 정보를 입력받고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계상의 좌표로 변환하는 변환 행렬(
    Figure 112017058953451-pat00352
    )을 생성하는 위치설정 모듈;
    상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정하고, 상기 조정에 따라 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 조정하는 크기 조정 모듈;
    상기 위치설정 모듈에서 생성한 변환 행렬(
    Figure 112017058953451-pat00353
    )를 바탕으로 상기 좌표 표시모듈 및 상기 크기 조정 모듈에서 생성하고 조정한 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 장면 좌표계의 좌표(
    Figure 112017058953451-pat00354
    )로 변환하는 변환 모듈; 및
    상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 광축 중심(
    Figure 112017058953451-pat00355
    )을 계산하는 광축 중심 설정모듈; 을 포함하는,
    360도 전방향 뷰 영상 생성 장치.
  7. 제6항에 있어서,
    상기 좌표 표시모듈은,
    상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 중심(
    Figure 112017058953451-pat00356
    )을 이용하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를
    Figure 112017058953451-pat00357
    로 계산하여 직각 좌표 형식의 좌표(
    Figure 112017058953451-pat00358
    )로 표시하는,
    360도 전방향 뷰 영상 생성 장치.
  8. 제6항에 있어서,
    상기 좌표 표시모듈은,
    상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를
    Figure 112017058953451-pat00359
    로 계산하여 극좌표 형식의 좌표(
    Figure 112017058953451-pat00360
    )로 표시하되,
    Figure 112017058953451-pat00361
    이고,
    Figure 112017058953451-pat00362
    은 극좌표 형식에서 사용되는 반지름의 최소값,
    Figure 112017058953451-pat00363
    는 극좌표 형식에서 사용되는 반지름의 최대값,
    Figure 112017058953451-pat00364
    은 극좌표 형식에서 사용되는 반지름 방향의 픽셀 수,
    Figure 112017058953451-pat00365
    은 극좌표 형식에서 사용되는 각도의 최소값,
    Figure 112017058953451-pat00366
    는 극좌표 형식에서 사용되는 각도의 최대값,
    Figure 112017058953451-pat00367
    는 극좌표 형식에서 사용되는 각도 방향의 픽셀 수이고,
    Figure 112017058953451-pat00368
    인,
    360도 전방향 뷰 영상 생성 장치.
  9. 제6항에 있어서,
    상기 위치설정 모듈은,
    Figure 112017058953451-pat00369
    식을 이용하여 변환행렬(
    Figure 112017058953451-pat00370
    )을 구하되,
    Figure 112017058953451-pat00371
    는 장면 좌표계상에서의 2차 곡면 모델의 중심이며, 상기 가상 카메라의 팬, 틸트 회전의 중심이고,
    Figure 112017058953451-pat00372
    은 장면 좌표계상에서의 가상 카메라의 위치, φn 및 θn는 각각 상기 가상 카메라의 장면 좌표계의 z축에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)이고, trans()는 3차원 공간상의 이동 행렬을 나타내는 함수이고, rotz()와 rotx()는 3차원 공간상의 각각 z축과 x축에 대한 회전을 나타내는 함수인,
    360도 전방향 뷰 영상 생성 장치.
  10. 제6항에 있어서,
    상기 광축 중심 설정모듈은,
    가상 카메라의 유형이 원근 투영 카메라인지 직각 투영 카메라인지에 따라
    Figure 112017058953451-pat00373

    에 의하여 광축 중심(
    Figure 112017058953451-pat00374
    )을 계산하되,
    Figure 112017058953451-pat00375
    은 초점 거리(focal length)이고,
    Figure 112017058953451-pat00376
    는 상기 변환 모듈에서 생성한 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대응되는 장면 좌표계의 좌표이고,
    Figure 112017058953451-pat00377
    Figure 112017058953451-pat00378
    은 변환 행렬 (
    Figure 112017058953451-pat00379
    ) 을 단위 벡터 형태인
    Figure 112017058953451-pat00380
    으로 표현할 때의 단위 벡터들인,
    360도 전방향 뷰 영상 생성 장치.
  11. 제4항에 있어서,
    상기 2차 곡면 모델부는,
    복수 개의 2차 곡면 모델 중의 하나를 선택하고, 선택된 2차 곡면 모델에 대한 파라미터를 이용하여 선택된 2차 곡면 모델을 표현하는 행렬(
    Figure 112017058953451-pat00381
    )을 생성하는 2차 곡면 모델 선정 모듈;
    상기 2차 곡면상의 점들을 장면 좌표계상의 좌표들로 변환하기 위한 변환행렬(
    Figure 112017058953451-pat00382
    )을 생성하는 좌표설정 모듈; 및
    상기 변환행렬(
    Figure 112017058953451-pat00383
    )을 이용하여 상기 선택된 2차 곡면 모델을 표현하는 행렬(
    Figure 112017058953451-pat00384
    )을 장면 좌표계상에서 상기 선택된 2차 곡면 모델을 표현하는 행렬(
    Figure 112017058953451-pat00385
    )로 변환하는 변환 모듈;을 포함하는,
    360도 전방향 뷰 영상 생성 장치.
  12. 제11항에 있어서,
    상기 2차 곡면 모델 선정 모듈은,
    타원체(Ellipsoid) 모델, 실린더(Cylinder) 모델, 포물면(Paraboloid) 모델, 및 사용자 설정 2차 곡면 모델 중 하나의 모델을 선택하는,
    360도 전방향 뷰 영상 생성 장치.
  13. 제11항에 있어서,
    상기 2차 곡면 모델부의 상기 좌표설정 모듈은,
    Figure 112017058953451-pat00386
    식을 이용하여 변환행렬(
    Figure 112017058953451-pat00387
    )을 구하되,
    φn 및 θn는 각각 상기 2차 곡면 모델의 장면 좌표계의 z축에 대한 수평 회전각(azimuth) 및 수직 회전각(elevation)이고, rotz()와 rotx()는 3차원 공간상의 각각 z축과 x축에 대한 회전을 나타내는 함수인,
    360도 전방향 뷰 영상 생성 장치.
  14. 제11항에 있어서,
    상기 2차 곡면 모델부의 상기 변환 모듈은,
    상기 선택된 2차 곡면 모델을 표현하는 행렬(
    Figure 112017058953451-pat00388
    ) 및 변환행렬(
    Figure 112017058953451-pat00389
    )을 바탕으로 장면 좌표계상에서 상기 선택된 2차 곡면 모델을 표현하는 행렬(
    Figure 112017058953451-pat00390
    )을
    식을 이용하여 계산하는,
    360도 전방향 뷰 영상 생성 장치.
  15. 제4항에 있어서,
    상기 전방향 카메라 투영 모델부는,
    상기 가상 카메라 모델부에서 획득한 장면 좌표계 상의 좌표(
    Figure 112017058953451-pat00392
    ), 및 장면 좌표계 상의 광축 중심(
    Figure 112017058953451-pat00393
    )을 연결하는 직선인 투영선과 상기 2차 곡면 모델(
    Figure 112017058953451-pat00394
    )과의 교차점(
    Figure 112017058953451-pat00395
    )을 계산하는 교차점 모듈; 및
    상기 교차점(
    Figure 112017058953451-pat00396
    )을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00397
    )로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00398
    )의 주변 픽셀들의 픽셀값을 보간하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모듈;을 포함하는,
    360도 전방향 뷰 영상 생성 장치.
  16. 제15항에 있어서,
    상기 전방향 카메라 투영 모듈은,
    장면 좌표계로 표현된 상기 교차점(
    Figure 112017058953451-pat00399
    )을 카메라 좌표계의 대응하는 좌표(
    Figure 112017058953451-pat00400
    )로 변환하는 변환 모듈;
    상기 변환 모듈에서 생성되는 상기 교차점의 카메라 좌표계 좌표(
    Figure 112017058953451-pat00401
    )로부터 영상의 왜곡을 보정할 수 있는 상기 복수 개의 영상의 각 영상의 실제 픽셀 좌표(
    Figure 112017058953451-pat00402
    )를 획득하는 좌표 계산 모듈; 및
    상기 좌표 계산 모듈에서 획득한 상기 복수 개의 영상의 각 영상의 실제 픽셀 좌표(
    Figure 112017058953451-pat00403
    )별로 주변 픽셀들의 픽셀값들을 획득하고, 상기 주변 픽셀들의 픽셀값들을 바탕으로 보간(interpolation)하여 출력하는 보간 모듈;을 포함하는,
    360도 전방향 뷰 영상 생성 장치.
  17. 제16항에 있어서,
    상기 좌표 계산 모듈은,
    상기 복수 개의 영상의 각 영상에 존재하는 왜곡에 대하여 수치적으로 근사한 테일러 확장(Taylor expansion series) 기반의 근사 모델을 기반으로 하는 왜곡 보정 매핑 함수(
    Figure 112017058953451-pat00404
    )를 이용하여 상기 교차점(
    Figure 112017058953451-pat00405
    )의 카메라 좌표계 좌표(
    Figure 112017058953451-pat00406
    )를 왜곡 없는 영상 평면 상의 한 점(
    Figure 112017058953451-pat00407
    )으로 매핑하고, 어파인(affine) 변환 행렬(
    Figure 112017058953451-pat00408
    )을 이용하여 상기 왜곡 없는 영상 평면 상의 한 점(
    Figure 112017058953451-pat00409
    )에 대응되는 상기 복수의 영상의 각 영상의 픽셀 좌표(
    Figure 112017058953451-pat00410
    )를 획득하는,
    360도 전방향 뷰 영상 생성 장치.
  18. 제4항에 있어서, 상기 정합부는,
    상기 전방향 카메라 투영 모델부에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값에 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)로부터 상기 각 영상의 경계까지의 거리에 기반한 가중치를 곱하고 평균하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값으로 결정하는,
    360도 전방향 뷰 영상 생성 장치.
  19. 제18항에 있어서, 상기 정합부는
    Figure 112017058953451-pat00411
    식을 이용하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값(
    Figure 112017058953451-pat00412
    )을 결정하고,
    k는 상기 복수 개의 영상의 수이고,
    Figure 112017058953451-pat00413
    는 상기 전방향 카메라 투영 모델부에서 i번째 영상으로부터 획득한 픽셀값이고,
    Figure 112017058953451-pat00414
    는 i번째 영상에서 상기 좌표(u)에서 상기 i번째 영상의 경계까지의 거리에 따른 가중치이고,
    상기
    Figure 112017058953451-pat00415

    Figure 112017058953451-pat00416
    식을 이용하여 결정하되
    θmax는 영상센서의 최대 화각이고, α는 이웃한 영상센서와의 겹치는 각도이고, θ는 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)를 극좌표 형식으로 표시하였을 때의 각도인,
    360도 전방향 뷰 영상 생성 장치.
  20. 제1항에 있어서,
    상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상들을 저장하기 위한 저장 장치를 더 포함하고,
    상기 복수 개의 영상 센서가 촬상한 복수 개의 영상들은 동기화되어 하나의 파일로 저장하는,
    360도 전방향 뷰 영상 생성 장치.
  21. 제20항에 있어서,
    상기 영상처리 프로세서는 상기 복수 개의 영상 센서에서 촬상한 복수 개의 영상 대신에 상기 저장 장치에 동기화되어 하나의 파일로 저장된 복수 개의 영상들을 읽어드려 처리하는,
    360도 전방향 뷰 영상 생성 장치.
  22. 360도 전방향 뷰 영상 생성 방법으로서,
    복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하는 단계;
    상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 획득하는 단계; 및
    상기 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계;를 포함하고,
    상기 복수 개의 영상 센서가 동일 촬상 시간, 동일 노출, 동일 색상 제어가 되도록 상기 복수 개의 영상 센서를 제어하는 단계는,
    상기 복수 개의 영상 센서로 동일한 클럭 신호와 영상 동기 신호를 전달하는 단계;
    영상처리 프로세서가 상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 획득하여 각 영상의 광학적 특성을 검출하는 단계;
    검출한 상기 각 영상의 광학적 특성을 비교하여 노출값 및 색상 보정 정보를 결정하는 단계; 및
    결정된 상기 노출값 및 색상 보정 정보를 바탕으로 상기 복수의 영상 센서를 제어하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  23. 삭제
  24. 제22항에 있어서,
    상기 복수 개의 영상을 바탕으로 각 영상에 포함되어 있는 왜곡을 제거하고, 왜곡이 제거된 영상들을 합성하여 설정된 임의 시점에서 보여지는 360도 전방향 뷰 영상을 생성하는 단계는,
    설정된 가상 카메라의 위치 및 자세를 바탕으로 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점(u)의 좌표를 장면 좌표계(world coordinate)상의 좌표(
    Figure 112017058953451-pat00417
    )로 변환하고, 크기 변환을 통해 원근감 보상을 수행하며, 특수 효과를 얻기 위해 투영 방식에 따라 장면 좌표계 상의 광축 중심(optical center;
    Figure 112017058953451-pat00418
    )을 설정하는 가상 카메라 모델 생성 단계;
    상기 가상 카메라 모델 생성 단계에서 생성된 장면 좌표계 상의 좌표(
    Figure 112017058953451-pat00419
    )를 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00420
    )로 매핑 시에 사용되고, 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)에 영상 효과를 삽입할 수 있는 2차 곡면을 모델링한 2차 곡면 모델(
    Figure 112017058953451-pat00421
    )을 생성하는 2차 곡면 모델 생성 단계;
    상기 가상 카메라 모델 생성 단계에서 생성한 장면 좌표계 상의 좌표(
    Figure 112017058953451-pat00422
    ), 장면 좌표계 상의 광축 중심(
    Figure 112017058953451-pat00423
    ), 및 상기 2차 곡면 모델 생성 단계에서 획득한 2차 곡면 모델(
    Figure 112017058953451-pat00424
    )을 바탕으로 상기 장면 좌표계 상의 좌표(
    Figure 112017058953451-pat00425
    )를 상기 2차 곡면의 한 점으로 투영하고, 상기 2차 곡면에 투영된 한 점을 다시 상기 복수 개의 영상의 각 영상으로 투영하여 상기 장면 좌표계 상의 좌표(
    Figure 112017058953451-pat00426
    )를 대응하는 전방향 카메라 영상의 픽셀 좌표(
    Figure 112017058953451-pat00427
    )로 매핑하고, 상기 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00428
    )별로 주변 픽셀들의 픽셀값을 보간(interpolating)하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 전방향 카메라 투영 모델 생성 단계; 및
    상기 전방향 카메라 투영 모델 생성 단계에서 획득한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 정합하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 픽셀값을 결정함으로써 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)을 생성하는 영상 생성 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  25. 제24항에 있어서,
    원근감 보정을 위하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 크기를 보상하는 단계;를 더 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  26. 제24항에 있어서,
    상기 가상 카메라 모델 생성 단계는,
    사용자가 원하는 임의 시점에서의 영상을 생성하고, 기계식 카메라의 디지털 팬(pan), 틸트(tilt), 줌(zoom) 기능을 에뮬레이션할 수 있도록 가상 카메라의 위치 및 자세를 설정하는 단계;
    가상 카메라의 유형 및 각 유형별 파라미터들을 설정하는 단계; 및
    설정된 상기 가상 카메라의 유형, 위치, 및 자세를 바탕으로 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점에 대한 장면 좌표계 상의 좌표(
    Figure 112017058953451-pat00429
    ) 및 광축 중심(
    Figure 112017058953451-pat00430
    )을 계산하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  27. 제26항에 있어서,
    상기 가상 카메라의 위치 및 자세를 설정하는 단계는,
    장면 좌표계의 x, y, z축의 방향 및 가상 좌표계의 xn, yn, zn의 방향을 설정하는 단계;
    장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정하는 단계; 및
    장면 좌표계의 중심으로부터의 거리를 설정하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  28. 제26항에 있어서,
    상기 가상 카메라의 유형 및 각 유형별 파라미터들을 설정하는 단계는,
    일반적인 원근 효과를 갖는 원근 투영 카메라(perspective projection camera), 원근 효과가 제거된 렌즈를 모방하는 직각 투영 카메라(orthographic projection camera), 및 전방향 파노라마 영상을 생성할 수 있는 파노라마 카메라(panorama camera) 중의 하나를 가상 카메라의 유형으로 선택하는 단계; 및
    선택된 상기 가상 카메라의 유형에 따라 파라미터를 설정하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  29. 제24항에 있어서,
    상기 2차 곡면 모델 생성 단계는,
    2차 곡면 모델의 유형을 설정하는 단계;
    설정된 상기 2차 곡면 모델의 자세 및 위치를 설정하는 단계;
    설정된 상기 자세 및 위치를 바탕으로 상기 설정된 2차 곡면 모델의 장면 좌표계상의 2차 곡면 모델(
    Figure 112017058953451-pat00431
    )을 계산하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  30. 제29항에 있어서,
    상기 2차 곡면 모델의 유형을 설정하는 단계는,
    가상 카메라의 팬, 틸트, 줌 효과를 얻기 위해 사용될 수 있는 타원체(Ellipsoid) 모델, 광각 영상 생성을 위한 실린더(Cylinder) 모델, 영상의 일정 부분만을 매핑하는 효과를 얻기 위한 포물면 모델, 및 사용자가 임의로 설정할 수 있는 사용자 2차 곡면 모델 중 하나를 선택하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  31. 제29항에 있어서,
    상기 설정된 상기 2차 곡면 모델의 자세 및 위치를 설정하는 단계는,
    장면 좌표계의 z축을 중심으로 수평 회전각(azimuth) 및 수직 회전각(elevation)을 설정하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  32. 제24항에 있어서,
    상기 전방향 카메라 투영 모델 생성 단계는,
    상기 가상 카메라 모델 생성 단계에서 획득한 장면 좌표계 상의 좌표(
    Figure 112017058953451-pat00432
    ), 및 장면 좌표계 상의 광축 중심(
    Figure 112017058953451-pat00433
    )을 연결하는 직선인 투영선과 상기 2차 곡면 모델(
    Figure 112017058953451-pat00434
    )과의 교차점(
    Figure 112017058953451-pat00435
    )을 계산하는 단계;
    상기 교차점(
    Figure 112017058953451-pat00436
    )을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00437
    )로 매핑(mapping)하는 단계; 및
    상기 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00438
    )의 주변 픽셀들의 픽셀값을 보간하여 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 한 점의 좌표(u)에 대한 상기 복수 개의 영상의 각 영상으로부터의 픽셀값을 획득하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  33. 제32항에 있어서,
    상기 교차점(
    Figure 112017058953451-pat00439
    )을 상기 복수 개의 영상의 각 영상의 대응하는 픽셀 좌표(
    Figure 112017058953451-pat00440
    )로 매핑(mapping)하는 단계는,
    장면 좌표계로 표현된 상기 교차점(
    Figure 112017058953451-pat00441
    )을 카메라 좌표계의 대응하는 좌표(
    Figure 112017058953451-pat00442
    )로 변환하는 단계;
    상기 복수 개의 영상의 각 영상에 존재하는 왜곡에 대하여 수치적으로 근사한 테일러 확장(Taylor expansion series) 기반의 근사 모델을 기반으로 하는 왜곡 보정 매핑 함수(
    Figure 112017058953451-pat00443
    )를 이용하여 상기 교차점(
    Figure 112017058953451-pat00444
    )의 카메라 좌표계 좌표(
    Figure 112017058953451-pat00445
    )를 왜곡 없는 영상 평면 상의 한 점(
    Figure 112017058953451-pat00446
    )으로 매핑하는 단계; 및
    어파인(affine) 변환 행렬(
    Figure 112017058953451-pat00447
    )을 이용하여 상기 왜곡 없는 영상 평면 상의 한 점(
    Figure 112017058953451-pat00448
    )에 대응되는 상기 복수의 영상의 각 영상의 픽셀 좌표(
    Figure 112017058953451-pat00449
    )를 획득하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  34. 제25항에 있어서,
    상기 원근감 보정을 위한 상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 크기를 보상하는 단계는,
    상기 가상 카메라의 시점에서 보여지는 360도 전방향 뷰 영상(J)의 가로축과 세로축의 크기 비율을 조정하는 단계; 및
    상기 2차 곡면 모델의 유형과 파라미터 설정을 통해 깊이 및 크기를 보상하는 단계;를 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  35. 제22항에 있어서,
    상기 복수 개의 영상 센서가 촬상한 복수 개의 영상을 동기화시켜 하나의 파일로 저장하는 단계;를 더 포함하는,
    360도 전방향 뷰 영상 생성 방법.
  36. 삭제
  37. 컴퓨터 또는 프로세서 상에서 실행될 때, 제22항, 제24항 내지 제35항의 방법 중 어느 하나에 따른 방법을 실행하는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램.
KR1020170077815A 2017-06-20 2017-06-20 360도 전방향 뷰 영상 생성 장치 및 방법 KR101915729B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170077815A KR101915729B1 (ko) 2017-06-20 2017-06-20 360도 전방향 뷰 영상 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170077815A KR101915729B1 (ko) 2017-06-20 2017-06-20 360도 전방향 뷰 영상 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101915729B1 true KR101915729B1 (ko) 2018-11-06

Family

ID=64329770

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170077815A KR101915729B1 (ko) 2017-06-20 2017-06-20 360도 전방향 뷰 영상 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101915729B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112116530A (zh) * 2019-06-19 2020-12-22 杭州海康威视数字技术股份有限公司 鱼眼图像畸变矫正方法、装置和虚拟显示***
KR102226894B1 (ko) 2019-10-21 2021-03-10 서울과학기술대학교 산학협력단 크라우드 소싱을 이용한 파노라마 영상 생성 시스템 및 방법
KR20210115281A (ko) * 2020-03-12 2021-09-27 한국전자통신연구원 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치
KR20210123367A (ko) * 2019-03-10 2021-10-13 구글 엘엘씨 베이스볼 스티치를 갖는 360도 광각 카메라
CN114007056A (zh) * 2021-10-28 2022-02-01 幻境虚拟现实科技(广州)有限公司 一种立体全景图像的生成方法和装置
CN114549350A (zh) * 2022-02-18 2022-05-27 深圳Tcl数字技术有限公司 图像数据视角修正方法、装置、设备及存储介质
EP4131164A1 (en) * 2021-08-05 2023-02-08 Hyundai Mobis Co., Ltd. Method and apparatus for image registration
KR20230019744A (ko) * 2021-08-02 2023-02-09 주식회사 휴머놀러지 가상 세계를 이용한 비디오 핑거프린팅 학습 방법 및 이를 이용한 시스템
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 (zh) * 2022-05-13 2023-11-16 北京字节跳动网络技术有限公司 图像校正方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015046171A (ja) * 2014-09-29 2015-03-12 株式会社リコー 画像を生成する装置および方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015046171A (ja) * 2014-09-29 2015-03-12 株式会社リコー 画像を生成する装置および方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210123367A (ko) * 2019-03-10 2021-10-13 구글 엘엘씨 베이스볼 스티치를 갖는 360도 광각 카메라
KR102620783B1 (ko) * 2019-03-10 2024-01-04 구글 엘엘씨 베이스볼 스티치를 갖는 360도 광각 카메라
CN112116530A (zh) * 2019-06-19 2020-12-22 杭州海康威视数字技术股份有限公司 鱼眼图像畸变矫正方法、装置和虚拟显示***
CN112116530B (zh) * 2019-06-19 2023-08-18 杭州海康威视数字技术股份有限公司 鱼眼图像畸变矫正方法、装置和虚拟显示***
KR102226894B1 (ko) 2019-10-21 2021-03-10 서울과학기술대학교 산학협력단 크라우드 소싱을 이용한 파노라마 영상 생성 시스템 및 방법
KR20210115281A (ko) * 2020-03-12 2021-09-27 한국전자통신연구원 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치
KR102522892B1 (ko) 2020-03-12 2023-04-18 한국전자통신연구원 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치
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
KR20230019744A (ko) * 2021-08-02 2023-02-09 주식회사 휴머놀러지 가상 세계를 이용한 비디오 핑거프린팅 학습 방법 및 이를 이용한 시스템
KR102509981B1 (ko) 2021-08-02 2023-03-14 주식회사 휴머놀러지 가상 세계를 이용한 비디오 핑거프린팅 학습 방법 및 이를 이용한 시스템
US11847787B2 (en) 2021-08-05 2023-12-19 Hyundai Mobis Co., Ltd. Method and apparatus for image registration
EP4131164A1 (en) * 2021-08-05 2023-02-08 Hyundai Mobis Co., Ltd. Method and apparatus for image registration
CN114007056A (zh) * 2021-10-28 2022-02-01 幻境虚拟现实科技(广州)有限公司 一种立体全景图像的生成方法和装置
CN114549350A (zh) * 2022-02-18 2022-05-27 深圳Tcl数字技术有限公司 图像数据视角修正方法、装置、设备及存储介质
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 (zh) * 2022-05-13 2023-11-16 北京字节跳动网络技术有限公司 图像校正方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
KR101915729B1 (ko) 360도 전방향 뷰 영상 생성 장치 및 방법
KR101912396B1 (ko) 가상 카메라 기반의 임의 시점 영상 생성 장치 및 방법
KR100799088B1 (ko) 고속 디지털 팬 틸트 줌 비디오
US9124802B2 (en) Digital 3D/360 degree camera system
US7215364B2 (en) Digital imaging system using overlapping images to formulate a seamless composite image and implemented using either a digital imaging sensor array
EP3016065B1 (en) Coordinate computation device and method, and image processing device and method
CN107113376A (zh) 一种图像处理方法、装置及摄像机
JP2003187261A (ja) 3次元画像生成装置、3次元画像生成方法、立体画像処理装置、立体画像撮影表示システム、立体画像処理方法及び記憶媒体
KR101465112B1 (ko) 카메라 시스템
CN109785390B (zh) 一种用于图像矫正的方法和装置
KR101916419B1 (ko) 광각 카메라용 다중 뷰 영상 생성 장치 및 영상 생성 방법
JP4403173B2 (ja) 立体表示用ファイルの生成方法および装置並びに表示制御方法および装置
CN109785225B (zh) 一种用于图像矫正的方法和装置
KR102235951B1 (ko) 차량용 영상 생성 장치 및 방법
JP4717853B2 (ja) ファイル生成方法および装置並びに立体画像の表示制御方法および装置
WO2018052100A1 (ja) 画像処理装置、画像処理方法、画像処理プログラム
JP2019029721A (ja) 画像処理装置、画像処理方法およびプログラム
JP2019525509A (ja) 水平視差ステレオパノラマ取込方法
CN107743222B (zh) 一种基于采集器的图像数据处理方法及三维全景vr采集器
US20220230275A1 (en) Imaging system, image processing apparatus, imaging device, and recording medium
KR20190026507A (ko) 차량용 영상 생성 장치 및 방법
JP2005063041A (ja) 3次元モデリング装置、方法、及びプログラム
JP2017103695A (ja) 画像処理装置、画像処理方法、及びそのプログラム
JP2019164783A (ja) 画像処理装置、撮影システム、画像処理方法、及びプログラム
JP2011146762A (ja) 立体モデル生成装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant