KR101312895B1 - 파노라마 사진 촬영 방법 - Google Patents
파노라마 사진 촬영 방법 Download PDFInfo
- Publication number
- KR101312895B1 KR101312895B1 KR1020070086105A KR20070086105A KR101312895B1 KR 101312895 B1 KR101312895 B1 KR 101312895B1 KR 1020070086105 A KR1020070086105 A KR 1020070086105A KR 20070086105 A KR20070086105 A KR 20070086105A KR 101312895 B1 KR101312895 B1 KR 101312895B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- photographing
- frame
- panoramic
- block
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- 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
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B37/00—Panoramic or wide-screen photography; Photographing extended surfaces, e.g. for surveying; Photographing internal surfaces, e.g. of pipe
- G03B37/04—Panoramic or wide-screen photography; Photographing extended surfaces, e.g. for surveying; Photographing internal surfaces, e.g. of pipe with cameras or projectors providing touching or overlapping fields of view
-
- 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/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/633—Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
-
- 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/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
-
- 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/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- 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/2624—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 whole input images, e.g. splitscreen
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
본 발명에 따른 파노라마 사진 촬영 방법은 파노라마 사진 촬영 방법에 있어서, 파노라마 사진을 구성하는 각 화상을 촬영시에, 미리 정해진 시간단위마다 연속적으로 입력되는 영상을 동일한 초점 거리를 갖는 가상의 면으로 투영하여 투영된 영상을 획득하는 과정과, 투영된 상기 영상에 노출 보정을 적용한 모션 추정 기법을 사용하여 실시간적으로 이전 영상을 비교함으로써 해당 촬영 장치의 움직임을 확인하는 과정과, 상기 확인한 해당 촬영 장치의 움직임에 따라 촬영 방향에 따른 움직임이 미리 설정된 임계값에 도달하였음을 확인함으로써 각 화상의 촬영 시점을 판단하는 과정과, 상기 각 화상의 촬영 시점에서 각 화상을 수동 입력에 따라, 또는 자동으로 촬영하는 과정을 포함한다.
파노라마, 움직임, 모션 벡터, 투영
Description
본 발명은 디지털 카메라를 비롯하여, 카메라 모듈을 구비한 이동통신 단말기와 같이 디지털 영상의 촬영 기능을 구비한 다양한 복합 장치에서 디지털 영상 촬영에 관한 것으로서, 특히 파노라마 사진 촬영 방법에 관한 것이다.
통상적으로 디지털 영상 촬영 장치에서 영상을 획득할 수 있는 촬영부는 렌즈의 초점거리에 맺히는 화상을 획득할 수 있다. 이때 획득한 화상은 사람의 시각범위(약 150 ~ 200 deg.)보다 작은 화각(일반적인 카메라에서는 약 30 ~ 50deg.) 범위이다. 이에, 여러 장의 화상을 촬영 각도를 적당히 변화시켜가며 각각 촬영하고 촬영한 화상들을 순서적으로 연결함으로써 하나의 영상으로 재구성하여 사람의 시야각과 비슷하게 또는 그 이상의 화각에 따른 사진을 얻도록 하는 방식이 제공되고 있으며, 이를 파노라마 사진 촬영 방식이라 한다.
통상적으로 디지털 영상 촬영 장치는 파노라마 사진 촬영 모드시에는 여러 장의 화상들을 가로 또는 세로 방향으로 연이어지도록 촬영하여 메모리에 저장한다. 추후에 메모리에 저장된 영상들은 적절한 내/외부 영상 처리부로 제공되어 하나의 영상으로 연결되는 작업이 이루어진다. 이때 화상간의 경계 부분에서 나타나 는 색상의 차이와 영상의 어긋남을 없애기 위하여, 여러 화상들을 경계 부분이 적절히 겹치게 찍어서, 겹친 부분을 맞추어 영상을 정렬(aligning)하고 스티칭(stitching) 및 블렌딩(blending)과 같은 영상 처리 동작을 수행하여, 결과적으로 여러 화상들이 자연스럽게 연결되는 하나의 영상을 만들게 된다.
이러한 파노라마 사진 촬영을 위해 고려되어야할 중요한 사항은 먼저 각 화상들이 최대한 정확히 정렬되게 촬영하는 것이다. 이를 위해서 삼각대와 같은 보조 장치를 사용하여 사용자가 수동으로 촬영하는 기본적인 방식은 물론이거니와, 최근 들어서는 삼각대 등에 부착되어 해당 촬영 장치를 장착하고, 파노라마 촬영시 장착된 촬영 장치를 각각의 화상 촬영과 맞추어 회전시키는 방안도 제시되고 있다. 그러한 기술의 예로서는 국내 특허출원된 출원번호 제2003-0052444호(명칭: 카메라 및, 그에 의한 파노라마 사진 촬영 방법, 출원인: 삼성테크윈 주식회사, 발명자: 배성철, 출원일: 2003. 07. 29)에 개시된 바를 예로 들 수 있다. 이와 더불어 해당 촬영 장치에 회전각을 검출할 수 있도록 하는 장치를 추가하고, 사용자가 촬영 장치의 회전각을 미리 설정할 수 있도록 하여, 파노라마 촬영시 사용자가 입력한 회전각으로 단말이 회전 이동하였을 경우에 각 화상을 촬영하는 방안도 제시되고 있다.
이외에도, 해당 촬영 장치에 상기한 보조 장치를 병행하거나 별도의 하드웨어를 추가하지 않고서도, 파노라마 사진 촬영시에 각 화상들의 정렬이 보다 잘 이루어지도록 하기 위해, 각각의 화상 촬영시에 이전 촬영한 영상의 가장자리 일부분을 현재 촬영하려는 영상과 적절히 겹쳐서 표시함으로써, 사용자가 이를 통해 이전 촬영한 영상과 현재 촬영하는 영상을 맞추어 적절한 촬영 위치를 조절할 수 있도록 하는 방안도 제공되고 있다. 이러한 기술의 예로서는 미국 공개번호 제2004/0189849호(명칭: PANORAMIC SEQUENCE GUIDE, 발명자: Gregory V. Hofer, 출원일: 2003. 03. 31)에 개시된 바를 예로 들 수 있다.
그러나, 이러한 파노라마 사진 촬영 작업은 일반적인 단일 사진 촬영시보다 사용자에게 조작의 복잡함과 숙달을 요구하므로, 사용상 보다 나은 조작 방안과 효율적인 촬영 방안이 요구되고 있다.
한편, 도 1은 파노라마 사진 촬영시 각 촬영 영상 간의 관계를 나타낸 도면이다. 카메라가 수평방향으로 θ만큼 회전하여 화상을 취득할 경우, 카메라는 3차원으로 이루어진 제1피사체 또는 제2피사체 등의 실상을 2차원의 제1화상 또는 제2화상으로 변환하여 표현하게 된다. 이러한 화상을 조합하여 파노라마 사진을 구현하게 될 경우, 원근법(perspective)에 의한 왜곡이 발생하여 서로 다른 화상의 겹친 부분을 추정하기 어렵게 된다. 결국, 자연스러운 파노라마 사진을 형성하지 못하는 문제가 발생한다. 예컨대, 도 1에 도시된 방법을 통해 획득한 제1화상 및 제2화상이 각각 도 2a 및 도 2b일 경우, 상기 두 개의 영상의 동일한 영역을 촬영한 부분을 겹쳤을 경우, 도 3과 같이 두 화상에서 동일한 영역을 촬영한 부분이 서로 일치하지 않게 된다.
이에 따라, 카메라가 획득한 복수의 화상에서 동일한 영역을 촬영한 부분이 서로 일치하도록 하여 좀 더 정확한 파노라마 사진을 생성하는 방안이 요구되고 있다.
따라서, 본 발명의 목적은 보다 손쉽게 조작할 수 있으며, 별도의 장치나 하드웨어의 추가적인 구비없이 보다 정확하게 촬영할 수 있도록 하기 위한 파노라마 사진 촬영 방법을 제공함에 있다.
본 발명의 다른 목적은 카메라가 획득한 화상을 피사체 실상과의 관계를 고려하여 보정하고, 이를 반영하여 카메라의 이동을 정확하게 파악할 수 있는 방법을 제공함에 있다.
상기한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 파노라마 사진 촬영 방법은 파노라마 사진 촬영 방법에 있어서, 파노라마 사진을 구성하는 각 화상을 촬영시에, 미리 정해진 시간단위마다 연속적으로 입력되는 영상을 동일한 초점 거리를 갖는 가상의 면으로 투영하여 투영된 영상을 획득하는 과정과, 투영된 상기 영상에 노출 보정을 적용한 모션 추정 기법을 사용하여 실시간적으로 이전 영상을 비교함으로써 해당 촬영 장치의 움직임을 확인하는 과정과, 상기 확인한 해당 촬영 장치의 움직임에 따라 촬영 방향에 따른 움직임이 미리 설정된 임계값에 도달하였음을 확인함으로써 각 화상의 촬영 시점을 판단하는 과정과, 상기 각 화상의 촬영 시점에서 각 화상을 수동 입력에 따라, 또는 자동으로 촬영하는 과정을 포함한다.
본 발명의 다른 측면에 따른 파노라마 사진 촬영 방법은 촬영 장치의 이동을 확인하는 파노라마 사진 촬영 방법에 있어서, 실시간적으로 입력되는 영상을 동일 한 초점 거리를 갖는 가상의 면으로 투영하여 투영된 영상을 획득하는 과정과, 투영된 상기 영상의 현재 입력되는 프레임과 이전 프레임간 매칭되는 영상 블록을 확인하는 과정과, 상기 확인 매칭되는 영상 블록간 모션벡터를 구하여 상기 촬영 장치의 이동을 확인하는 과정을 포함하며, 상기 매칭되는 영상 블록을 확인하는 것은 각 프레임들의 상기 영상 블록에서 각 픽셀들을 해당 영상 블록의 평균값에 따라 보정하며, 각 프레임들의 상기 영상 블록간 비교되는 상기 보정된 각 픽셀들간의 오차 정보를 이용하여 매칭하는 영상 블록간의 모션벡터를 구하는 것을 특징으로 한다.
상기한 바와 같이, 본 발명에 따른 파노라마 사진 촬영 방법은 카메라에 입력되는 영상에 투영기법을 적용하고, 투영된 영상을 기준으로 카메라의 움직임을 추정하여 좀 더 정확한 움직임 추정을 수행할 수 있다.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
도 4는 본 발명이 적용되는 휴대용 단말기의 블록 구성도로서, 본 발명에서는 디지털 영상 촬영 기능을 구비할 수 있는 다양한 장치들 중에서 도 4에 도시된 바와 같이, 휴대용 단말기를 예로 들어 본 발명이 적용될 수 있는 하드웨어적인 기반 장치에 대해 먼저 설명하도록 한다.
도 4를 참조하면, 본 발명이 적용되는 디지털 영상 촬영 기능을 구비한 휴대용 단말기는 카메라(20), 영상 처리부(22)를 비롯하여, 표시부(24), 제어부(14), 메모리부(16), 키입력부(18), 무선부(10), 무선데이터 처리부(12)를 포함한다.
무선부(10)는 사용자의 음성, 문자 및 제어 데이터를 무선 신호로 변조하여 이동통신망의 기지국(미도시)으로 송신하고, 기지국으로부터 무선 신호를 수신하여 음성, 문자, 제어 데이터 등으로 복조하여 출력한다. 무선데이터 처리부(12)는 제어부(14)의 제어하에, 상기 무선부(10)에서 수신한 음성 데이터를 디코딩하여 스피커(speaker)를 통해 가청음으로 출력하며, 마이크로폰(microphone)으로부터 입력되는 사용자의 음성신호를 데이터화하여 무선부(10)로 출력하며, 무선부(10)를 통해 입력된 문자, 제어 데이터를 제어부(14)로 제공한다.
카메라(20)는 제어부(14)의 제어하에 일반적인 디지털 카메라 기능을 수행하여, 외부 촬영 대상으로부터 입력되는 가시광을 촬영하게 된다. 이러한 카메라(20)는 CCD 촬상 소자 등으로 구성되는 촬영부(20-2)를 구비하며, 이외에도 조도 측정을 위한 조도 센서(20-4), 피사체와의 초점거리 측정을 위한 거리 센서(20-6) 등을 구비할 수 있다. 영상 처리부(22)는 카메라(20)에 출력되는 영상 데이터를 처리하여 적절한 포맷의 디지털 영상 데이터로 변환한다.
키입력부(18)는 사용자로부터 전화 번호 또는 문자를 입력받기 위한 장치로서, 숫자 및 문자 정보를 입력하기 위한 키들 및 각종 기능을 설정하기 위한 기능키들을 구비하며, 이의 입력 신호를 제어부(14)로 출력한다. 표시부(24)는 액정표시장치(Liquid Crystal Display: LCD) 등과 같은 표시장치로 이루어질 수 있으며, 제어부(14)의 제어하에 해당 단말기의 각종 동작 상태에 대한 메시지를 비롯하여 촬영한 디지털 영상 데이터를 표시한다.
제어부(14)는 상기 각 기능부들의 동작을 총괄적으로 제어하여 이동통신 단말기의 전반적인 동작을 제어하는 기능을 수행한다. 즉, 제어부(14)는 키입력부(18)를 통해 입력된 번호 및 메뉴 선택 신호에 따른 처리를 수행하고, 카메라(20)를 통해 외부 촬영 신호를 입력받고 그에 따른 처리를 수행하며, 카메라 촬영 영상을 비롯한 각종 동작에 필요한 영상 출력 신호를 표시부(24)를 통해 출력하게 된다. 이때 필요에 따라 메모리부(16)에 저장된 출력할 내용을 가지고 오거나, 또는 그 내용을 메모리부(16)에 저장한다. 메모리부(16)는 제어부(14)의 동작 관련된 다수의 프로그램과 데이터를 저장하고 있으며, 또한 휴대용 단말기의 사용시에 필요한 정보 및 카메라 촬영 영상 정보를 저장하는데 사용된다.
이러한 구성을 가지는 휴대용 단말기는 카메라 기능을 포함하여 통상적인 이동통신 서비스 관련 동작을 수행하며, 이때 상기 제어부(14)는 상기의 기능 외에도 본 발명의 특징에 따른 파노라마 사진 촬영 동작을 수행하게 된다. 아울러, 메모리부(16)에는 본 발명의 특징에 따라 제어부(14)에서 파노라마 사진 촬영 동작을 위한 동작 프로그램 및 관련 정보들을 저장하며, 필요시 제어부(16)로 이에 대한 정보를 출력하게 된다.
특히 상기 휴대용 단말기는 본 발명의 특징에 따라 파노라마 사진 촬영시에, 피사체 화상을 실시간으로 마치 동화상처럼 입력받으며, 파노라마 사진 촬영 방향에 따라 휴대용 단말기가 사용자에 의해서 이동할 경우에(또는 해당 휴대용 단말기를 장착시켜 이를 자동으로 회전시키는 별도의 장치에 의해서 이동하는 경우도 물론), 현재 입력되는 영상과 이전 영상을 비교하여 해당 휴대용 단말기의 움직임을 확인하고, 움직임 방향과 이동 정도를 파악한 후 적절한 파노라마 사진을 생성하기 위한 순차적인 화상에 대한 화상을 얻는 동작을 수행하게 된다. 이하 첨부 도면을 참조하여 본 발명에 따른 파노라마 촬영 동작에 대해 보다 상세히 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른 파노라마 사진 촬영 동작의 흐름도이다. 도 5를 참조하면, 먼저 200단계는 실제 파노라마 사진 촬영전에 미리 수행되는 단계로서 파노라마 사진 촬영을 위한 여러 촬영 환경을 설정하는 단계이다. 200단계에는 파노라마 사진을 구성하는 각 화상들의 상, 하, 좌, 우측과 같은 연결 방향, 즉 촬영 방향을 설정한다. 또한 파노라마 사진을 구성하기 위해 연결될 촬영 화상들의 개수를 설정한다.
이와 같은 200단계에서의 파노라마 사진 촬영 환경 설정 동작은 통상적으로 휴대용 단말기에 마련되는 다양한 기능 설정을 위한 메뉴 항목 중에서, 예를 들어 카메라 촬영 메뉴의 하위 메뉴 중 일명 '파노라마 사진 촬영 환경 설정 모드'메뉴의 선택시에 실행되어 사용자로부터 각각의 환경 설정 값을 입력받도록 구성될 수 있다. 물론 이러한 메뉴 선택 동작을 위하여 해당 메뉴 항목을 디스플레이하며 사용자로부터의 키입력부의 키입력을 확인하기 위한 구성과 동작 프로그램이 휴대용 단말기에 미리 마련된다. 또한 이와 같은 200단계에서의 사용자에 의해 설정되는 각각의 파노라마 사진 촬영 환경 항목 중의 일부 또는 전부는 미리 개발자에 의해 적절히 설정된 값으로 고정되어 제공될 수도 있다.
이후, 210단계에서 사용자는 휴대용 단말기의 메뉴 항목 중에서, 예를 들어 카메라 촬영 메뉴의 하위 메뉴 중 일명 '파노라마 사진 촬영 모드'메뉴를 선택하며, 파노라마 사진 중 첫 화상을 촬영하여 파노라마 사진 촬영을 시작할 수 있다. 이때 파노라마 사진의 첫 화상에 대해서는 통상의 사진 촬영과 유사한 방식으로 사용자의 셔터 입력에 의해 저장되며, 이후 화상의 촬영에 대해서는 후술할 본 발명의 파노라마 사진 촬영 방식에 따라 수행될 수 있다. 이와 같이 파노라마 사진 촬영이 시작되면, 그 시점부터 촬영 장치에 입력되는 영상을 미리 정해진 시간 단위(예컨대, 초)마다 실시간으로 메모리에 저장한다. 즉, 촬영 장치로 입력되는 영상을 마치 동영상처럼 입력받아, 영상을 이루는 프레임을 각각 메모리에 저장하게 된다. 여기서, 영상을 이루는 상기 프레임은 카메라의 움직임을 확인하기 위한 용도로 사용되는 영상으로써, 파노라마 사진을 구성하는 화상과는 다른 영상일 수 있다. 따라서, 상기 프레임이 카메라의 움직임을 확인하기 위한 용도로만 사용되는 경우, 상기 프레임의 영상의 질은 하기의 단계에서 수행되는 카메라의 움직임을 확인하는 과정에서 필요한 정도이면 충분하다. 즉, 프레임의 화소는 카메라의 움직임을 확인하는 과정에서 필요한 정도의 화소로 설정될 수 있다.
215단계에서는 촬영 장치로부터 상기 프레임을 입력받으면, 상기 프레임을 초점거리가 동일한 곡면(예컨대, 원통형의 면, 구형의 면 등)으로 투영하는 변환을 수행한다. 즉, 215단계는 영상 투영 알고리즘에 상기 영상 프레임을 구성하는 각 화소의 채도 및 색상 값을 적용함으로써, 원통면 또는 구면 상에 투영된 새로운 영상을 생성한다.예컨대, 210단계를 통해 입력받은 프레임이 도 2a 및 도 2b에 예시된 영상일 경우, 215단계를 통해 생성된 새로운 영상은 도 6a 및 도 6b에 예시된 영상과 같이 변환된 영상일 수 있다.
이후, 220단계에서는 215단계를 통해 생성된 영상을 이용한다. 즉, 미리 정해진 단위 시간마다 순차적으로 입력되는 영상 프레임이 실시간으로 변환되어 생성된 영상들 중, 현재의 단위시간에 입력된 영상과 이전 단위간에 입력된 영상을 이용하여 해당 촬영 장치, 즉 카메라의 움직임을 확인한다. 220단계에서 카메라의 움직임을 확인하는 것은 현재 프레임과 이전 프레임간의 적절히 설정된 크기의 영상 블록을 서로 비교하여 매칭하는(가상 유사도가 높은) 블록간의 모션벡터를 측정하 는 것으로서, 통상적인 동영상 엔코딩 및 디코딩시의 움직임 추정 및 움직임 보상 기술에서 사용하는 방식과 다소 유사한 부분이 있을 수 있다. 본 발명의 설명에서는 가로 방향 즉, x축에 해당하는 모션벡터는 mi ,x, 세로방향 즉, y축에 해당하는 모션벡터는 mi ,y라 정의하기로 한다(상기에서 i는 프레임 번호).
이후 230단계에서는 상기 220단계에서 확인한 카메라의 움직임에 따라 파노라마 사진 촬영을 위해 카메라가 이동해야할 방향을 적절한 UI(User Interface)를 통해 사용자에게 알리게 된다. 이때 사용자에게 현재 카메라를 이동시켜야 하는 방향을 적절한 아이콘 등으로 표시부에 표시할 수 있다.
예를 들어 현재 파노라마 사진 촬영을 좌에서 우측방향으로 진행할 경우에, 상기 x축 모션벡터 mi ,x에 의해, 현재 카메라가 좌측/정지/우측방향으로 움직이고 있는 것을 검출하였을 경우에, 올바른 파노라마 사진 촬영 방향으로 카메라의 이동을 유도하기 위해 우측 방향의 화살표 아이콘을 프리뷰 화면에 표시할 수 있다. 또한, 상기 y축 모션벡터 mi ,y를 하기 수학식 1과 같이 누적시켜, 현재 카메라가 상하측으로 미리 설정된 임계값(하기 수학식 1에서 )을 벗어날 경우에 이를 경고하는 적절한 형태의 아이콘을 프리뷰 화면에 표시할 수 있다.
이후 240단계에서는 상기 220단계에서 확인한 카메라의 움직임에 따라 현재 각 화상 촬영 시점이 되었는지를 확인하여, 각 화상의 촬영시점이 되었을 경우에는 이후 250단계로 진행하고, 그렇지 않을 경우에는 상기 220단계로 진행하여 상기의 과정을 반복진행하게 된다.
예를 들어 현재 파노라마 사진 촬영을 좌에서 우측방향으로 진행할 경우에, 상기 x축 모션벡터 mi ,x를 하기 수학식 2와 같이 누적시키며, 누적된 값이 하기 수학식 2와 같이 미리 설정된 임계값(하기 수학식 2에서 )에 도달하였을 경우에, 현재 화상의 촬영 시점에 도달한 것으로 판단할 수 있다.
이후 250단계에서는 해당 화상을 취득하게 되는데, 이때에는 현재의 위치가 화상 촬영 시점임을 적절한 UI를 통해 사용자에게 알려 줄 수도 있으며, 미리 설정된 촬영 환경, 예를 들어 파노라마 사진 수동/자동 촬영 여부에 따라 사용자에 의한 셔터 입력에 따라 화상 촬영을 수행하여 상기 화상을 취득하거나, 자동으로 촬영 동작을 수행할 수 있다. 물론 상기 파노라마 사진 수동/자동 촬영에 대한 설정은 상기 200단계에서 언급한 파노라마 사진 촬영 환경 설정시에 더불어 설정될 수 있다. 나아가, 자동으로 촬영 동작을 수행하는 경우, 카메라의 움직임을 확인하기 위해 입력된 영상 프레임을 그대로 사용하거나, 상기 영상 프레임을 원통형 또는 구형의 면에 투영한 영상 프레임을 파노라마 사진 구성을 위한 화상으로 취득하는 것도 가능하다. 또한, 파노라마 사진을 구성하는 화상은 촬영을 통해 획득한 화상 을 초점거리가 동일한 곡면에 투영하여 마련하는 것도 가능하다.
이후 250단계에서는 현재 촬영한 화상의 수가 상기 200단계에서 미리 설정된 화상들의 총 개수에 도달하였는지 확인하여, 도달하지 않았을 경우에는 상기 220단계로 진행하여 상기의 과정을 반복 진행하며, 도달하였을 경우에는 파노라마 사진 촬영을 종료하게 된다. 이때 상기 220단계로 되돌아 갈 때, 상기 모션벡터들의 값, 특히 x축 모션벡터 mi ,x의 벡터 합인 은 초기값(0)으로 재설정하게 된다. 또한 파노라마 사진 촬영이 종료되면, 이후에는 촬영된 각 화상들을 연결하여 하나의 파노라마 사진을 생성하게 된다. 여러 화상들을 자연스럽게 연결하기 위하여, 일반적인 영상 정렬(aligning), 스티칭(stitching) 및 블렌딩(blending)과 같은 영상 처리 방식이 적용될 수 있다.
상기 도 5에 도시된 과정을 전체적으로 살펴보면, 먼저 사용자가 파노라마 사진 촬영시에는 촬영 방향에 따라 촬영 장치를 좌에서 우측방향으로 일정하게 이동시키는 것을 예시한다. 본 발명에서는 이를 통해 파노라마 촬영을 진행하는 동안, 일정한 속도로 영상 프레임이 입력되어 원통형 또는 구형의 면에 투영되는 것을 가정한다. 그리고, 입력된 모든 영상 프레임에는 모션블러(motion blur) 같은 현상이 존재하지 않는다고 가정한다. 이에 따라, 카메라는 파노라마 촬영을 진행하는 동안, 좌에서 우측방향으로 일정하게 이동하면서 자동으로 겹쳐지는 폭이 일정한 화상들을 취득하게 된다. 그리고, 촬영 방향(예를 들어 좌에서 우측방향)에 따른 입력 영상들의 모션벡터, 예를 들어 상기 x축 모션벡터 mi ,x를 누적시켜서, 누적 된 값이 미리 설정된 임계값()에 도달할 때마다 각각의 화상을 취득하게 된다. 이에 기초하여, 파노라마 사진 촬영의 환경 설정시 파노라마 사진을 자동으로 촬영하도록 설정하면, 사용자가 촬영 장치를 적절히 이동시킴에 따라 파노라마 사진을 구성하는 각 화상이 적절한 위치(상기 임계값 에 따라)에서 자동으로 획득된다.
한편, 이하에서는 상기 215단계의 구체적인 과정, 즉 입력된 영상 프레임을 투영하여 새로운 영상(이하, 투영된 영상이라 함)을 획득하는 방법을 상세하게 예시한다. 하기에 기술되는 방법에서 영상 프레임을 원통형의 공간에 투영하는 것을 예시하고 있으나, 이는 본 발명의 이해를 돕기 위하여 예시하는 것일 뿐이며, 본 발명이 이를 한정하는 것은 아니다.
도 7은 본 발명의 일 실시예에 따른 영상 프레임과 투영된 영상과 피사체의 관계를 도시하는 개념도이다. 도 7을 참조하면, 피사체의 3차원 공간상의 점은 좌표를 이용하여 표현하고 카메라를 통해 2차원으로 처리된 영상 프레임의 점은 좌표를 이용하여 표현한다. 영상 좌표계는 영상 프레임의 중심을 원점으로 잡은 좌표계이며, 영상 프레임의 폭은 , 높이는 로 정의하며, 카메라를 통해 입력된 영상 프레임의 좌표 점에 대응하는 화소는 정의한다. 가 정수일 때는 정확하게 그 화소의 값을 나타내며 실수일 경우에는 주변 4 화소로부터 선형보간(linear interpolation)한 결과를 이용하여 표현한다.
이때, 카메라의 중심을 3차원 공간 좌표의 기준으로 하여 카메라가 축을 바라보고 있다고 가정하면, 카메라의 축 회전은 원통형 곡면의 수평 방향 평행 이동에 대응되므로, 3차원 상의 점 은 하기의 수학식 4와 같이 영상과 원기둥 좌표의 점에 대응될 수 있다.
따라서, 촬영된 영상 프레임에 위치하는 점은 원기둥 좌표 상의 에 대응되며, 역으로 원기둥 좌표 상의 점 은 촬영된 영상 프레임의 에 대응된다. 결국, 원기둥 상의 점 은 로 나타낼 수 있으며, 이를 반영한 연산을 통해 촬영된 영상 프레임에 위치하는 점을 원기둥 상의 점 으로 변 환할 수 있다. 이에 기초하여, 촬영된 영상 프레임에 위치하는 점을 원기둥 상의 점 으로 변환하여 촬영된 영상 프레임(I)을 원통 공간으로 투영할 수 있다.
나아가, 전술한 방법을 이용하여 촬영된 영상 프레임을 원통 공간으로 투영할 경우 연산량이 많아, 제한된 하드웨어 수준에서는 이러한 연산을 실시간으로 구현하는 것이 어려울 수 있다. 바람직하게, 하기에 기술하는 방법으로 영상 프레임을 원통공간에 투영하는 것이 바람직하다.
원통(cylinder) 공간에 투영된 결과를 백 프로젝션(back-projection) 방법을 사용해서 얻는다면 그 결과는 상기한 바와 같이, 하기 수학식 5와 같이 되어 원통 공간 위의 임의의 점에 대해서 올바른 화소값을 얻을 수 있다.
하지만 상기 수학식 5는 고정 소수점(fixed-point) 연산만으로는 구현하기 힘들다. 따라서 본 발명에서는 기존의 부동소수 연산으로 구현하는 문제를 극복하기 위하여 상기 수학식 5를 하기 수학식 6과 같이 근사화하여 고정 소수점 연산에 적합하도록 변형할 수 있다.
상기 수학식 7과 같은 근사식의 최대 장점은 실수 연산 없이 구현될 수 있다는 점이다. 제곱근 식은 실수연산 없이 계산할 수 있다. 따라서 부동 소수점 연산이 불가능한 경우에 훨씬 경제적으로 구현될 수 있다. 한편 은 출력 이미지의 배율이 입력 영상의 배율과 거의 같도록 하기 수학식 8과 같이 정의할 수 있다.
결국, 원통 공간에 투영된 영상은 대략적으로 가 , 을 만족하는 범위에서 하기 수학식 7의 값을 획득하면 가능하다. 즉, 하기의 수학식 9를 연산하여 원통 공간 위에 투영된 영상을 획득할 수 있다.
나아가, 이를 수행하는 과정을 의사 코드(pseudo-code)로 나타내면 하기 표
하여 이루어진다.
원통 공간에 투영시키는 알고리즘 : Bresenham type algorithm을 사용하여 정수 연산만으로 의 표를 만든다. |
For For Compute using symmetry. End End |
또한, 전술한 바와 같이, 의 연산을 통해 영상의 2차원 평면에서 에 대응하는 화소의 값을 가져오는 것으로써, 원통형 곡면의 에 해당하는 화소값을 획득하는 것이 가능하나, , , 에 해당하는 화소값들은 별도의 연산을 수행하지 않고, 도 8에서와 같이 y축 대칭, x축 대칭, 원점 대칭을 이용하여 , , 에 위치하는 화소 값을 가져오는 것으로써, 획득할 수 있다.
한편, 정수 연산만으로 의 표를 만드는 과정을 간략하게 설명하면 다음과 같다. 라고 놓았을 때 양변을 제곱하면 이 되어 원의 방정식이 된다. 일반적으로 와 는 실수값을 갖을 수 있지만 원을 나타내기 위해서는 도 9에서 보는 것처럼 와 가 항상 정수이어야 한다. 따라서, 이러한 점을 이용하여 본 발명에 브레젠헴 알고리즘(Bresenham type algorithm)을 적용하여 본 발명의 영상 투영에 필요한 제곱근을 구하는 것이 바람직하다.
구체적으로, 브레젠헴 알고리즘(Bresenham type algorithm)을 적용하여 본 발명의 영상 투영에 필요한 제곱근을 구하기 위하여, 우선 에러 함수를 하기 수학식 10과 같이 정의할 수 있다.
u와 z가 원 위에 존재할 경우, 위에서 정의한 에러 함수의 값은 0이 되고, u와 z가 원 위에 있지 않을 경우, 원에 가까울수록 에러 함수의 값은 0에 가까운 값이 된다.
도 9를 참조하면, u의 값은 항상 1씩 증가하는 반면에 z의 값은 이전 값과 같거나 이전 값보다 1이 작은 값을 갖는다. 이러한 특징을 이용하여 u를 1씩 증가시키면서 에러 함수에 z와 z-1 대입하여 두 값을 비교한 후 에러 함수 값을 더 작게 만드는 z값을 취한다. 이러한 방식을 하기 표 2에 개시된 코드(pseudo-code)로 나타낼 수 있다.
와 의 초기값 즉, 와 는 각각 0과 이다. 이는 도 9에서 검은색에 해당하는 위치이다. 다음 픽셀의 위치를 찾기 위해 검은색 픽셀 위와 위의 왼쪽에 해당하는 좌표의 값을 위에서 정의한 에러 함수에 넣어 두 값을 비교한다. 즉, 에는 1을, 에는 과 -1을 넣어 에러 함수의 값을 비교한다. 두 에러 함수의 값 중 더 작은 값의 값을 값으로 취한다. 그림의 경우는 가 이 된다. 이런 방식으로 계속해서 구해 나가다 보면 각 에 해당하는 값이 나오게 된다. 그렇게 되면 square root를 직접적으로 구할 필요 없이 에 들어 있는 값 만 넣어주면 바로 해당하는 값 즉, 값을 획득할 수 있다. 이로써, 본 발명의 영상 투영에 필요한 제곱근을 구하는 것이 가능하다.
한편, 상기 220단계에서 현재 입력된 영상 프레임과 이전에 입력된 영상 프레임을 이용하여 촬영 장치의 움직임을 확인하는 것은 본 발명의 특징에 따른 방식에 따라 프레임간 영상 블록의 모션벡터를 검출하는 것으로서, 이하에서는 이러한 방식에 대해 보다 상세히 설명하기로 한다.
프레임간 영상 블록을 매칭시키고 이들간 모션벡터를 검출하는 방식은 일반적으로 MPEG-4, H.264 등과 같은 동영상(대표적으로 방송 영상) 압축 기술에서 사용하는 모션 추정(Motion Estimation) 기법을 적용할 수 있다. 그런데, 실제 파노라마 사진 촬영은 카메라 프리뷰 영상을 이용하기 때문에 이상적인(ideal) 방송 영상과는 달리 노출 보정이 잘되어있지 않고 프리뷰 프레임별 상관관계(correlation)가 높지 않은 편이다. 따라서 일반적인 모션 추정 기법을 그대로 적용할 경우에는 정확한 매칭 블록을 찾기가 어렵다. 더욱이 일반적인 모션 추정 기법은 효율적인 압축 방식에 주안점을 둔 기술로서, 블록(매크로블록)의 크기를 세분화하는 모션벡터를 검출하는 등 매우 복잡한 계산 기법을 요구한다. 이에 파노라마 사진 촬영이라는 특수 사항을 고려하여 이에 맞는 모션벡터 검출 기법이 요구되고 있다.
따라서, 본 발명에서는 입력되는 영상에서 이전 영상 프레임과 현재 영상 프레임 사이의 움직임을 파악하는데 있어서, 일정 영역의 영상 블록을 사용하여 그 움직임을 파악 하는데 이때 일반적인 모션 추정 방식을 사용하는 것이 아니라 카메 라 촬영이라는 특수한 환경을 고려하여 노출 보정을 고려한 모션 추정 기법을 제안한다. 이때 촬영시 모션벡터를 계산하는 동시에 프리뷰가 정상적으로 동작할 수 있을 만큼 빠르게 계산이 진행되어야 하므로 계산량을 줄이기 위해 누적 영상(Integral image)을 사용할 수 있다. 또한 모션벡터를 찾기 위한 기준 블록은 가능한 프리뷰 속도와 찍는 물체의 상대적인 크기나 거리에 따라 가변적으로 조절하며 프리뷰 영상의 특성상 각 프레임마다의 상관관계가 압축 영상에 비해 높지 않으므로 그 상관관계를 최대화하기 위해서 단일 블록 검색(search) 방식을 사용할 수 있다.
도 10은 도 5 중 카메라 움직임 확인 동작, 즉 220단계의 상세 흐름도로서, 이하 도 10을 참조하여 본 발명의 모션 추정 동작을 보다 상세히 설명하기로 한다. 도 10을 참조하면, 먼저 222단계에서는 현재 프레임과 이전 프레임간의 모션벡터를 구하기 위한 가변크기의 블록을 설정 한다.
프리뷰 영상에서 모션 추정을 하는 경우 특히 모바일 카메라와 같이 센서의 성능이 떨어지고 손떨림이 많은 경우 동영상 압축 방식에서와 같이 작은 블록(일반적으로 4~16 픽셀 크기 정도의 사각형 블록)의 모션 추정을 실시한다면 각 블록간의 벡터 에러가 누적되어 정확한 모션벡터 값을 찾기가 어렵다. 이런 이유로 본 발명의 일 실시예에서는 비교적 큰 크기의 소수의(예를 들어 하나의) 블록을 사용하여 모션벡터를 찾는 방식을 사용한다.
이때 상기 하나의 블록의 크기는 프리뷰 기기의 프리뷰 성능과 찍고자 하는 물체의 크기와 거리, 검색할 공간에 대한 거리 정보를 이용하여 가변적으로 조절한 다. 도 11은 프레임에서 가변적으로 설정되는 블록 크기의 예를 나타낸다. 도 11에서 SR(Search Range)은 검색 영역을 나타내며, Bk(Block size)는 블록 크기를 의미한다.
검색 영역(SR)은 검색할 대상 프레임 내에서 기준 블록과의 매칭 블록을 검색하기 위한 영역으로서, 프레임의 전체 영역을 검색 영역으로 설정할 수도 있다. 그러나, 프레임의 전체 영상을 활용하지 않고 대상 프레임 내에서 기준 블록의 위치를 중심으로 적절한 영역으로 검색 영역을 설정할 수 있다. 이는 프레임의 모서리 부분과 같이 불필요할 것으로 예상되는 부분에 대한 검색 작업을 미리 차단하여 효율성을 높이기 위함이다.
본 발명의 실시예에서는 이러한 검색 영역과 블록 크기를 가변적으로 설정할 수 있다. 예를 들어 근거리나 물체나 상대적으로 큰 객체(Object)를 촬영하고 있는 경우에는 블록 크기를 크게 하고 검색 영역을 줄이면 더 정확한 모션벡터를 얻을 수 있다. 반대로 원거리나 물체가 상대적으로 작은 객체를 촬영할 경우는 블록 크기를 작게 하고 검색 영역을 넓히면 더 정확한 모션벡터를 얻을 수 있다.
또한 촬영 장치의 프리뷰 성능이 좋지 않을 경우 검색 영역을 지나치게 늘리면 계산량이 늘어나므로 모션벡터를 찾는데 시간이 많이 걸려서 상대적으로 프레임 속도가 더 느리게 된다. 정확한 벡터 결과 값을 얻는다고 하더라도 프레임 속도가 느려져 프레임간 영상 차이가 커지면 그 오류가 축척된다. 그러므로 카메라 프리뷰에서 모션벡터를 축출할 때는 객체 검출(Object detector) 등의 방법을 사용하거나, 초점 거리 등과 같은 자동 입력 정보나 사용자의 수동 입력(거리나 물체 정보 로 근거리 촬영 모드나 풍경 모드, 인물 모드 등의 사용자 설정 정보에서 예측할 수도 있음) 정보를 이용하여 촬영하고 있는 기본 정보를 파악하고 이에 따라 촬영 거리나 물체의 크기에 따라 검색 영역을 설정할 수 있다. 이와 더불어 해당 촬영 장치의 프리뷰 성능에 따라 계산량을 고려하여 기본적인 블록 크기를 설정할 수 있다.
이와 같이 222단계에서의 가변크기의 블록 설정 동작은 현재 블록 크기가 설정되어 있지 않은 경우, 즉 모션벡터 추출 동작이 처음 수행될 때 한 번만 수행되며, 이후 해당 파노라마 사진의 촬영 동작이 완료될 때까지 처음 설정된 크기의 블록을 이용하게 된다.
이후 224단계에서는 상기 222단계에서 설정한 크기의 블록을 이용하여 현재 프레임과 이전 프레임간 매칭 블록 확인 동작을 수행한다. 매칭되는 블록을 찾는 방식은 기본적으로 블록간 각 비교되는 픽셀들의 오차 정보를 이용하는 것으로서, 두 블록간 오차가 가장 작을 경우에 해당 블록을 매칭 블록으로 간주한다.
매칭 블록을 찾기 위한 오차 정보로는 일반적으로 SAD(Sum of Absolute Difference: 차의 절대값)나 SSD(Sum of Squared Difference: 차의 제곱값)라는 에러 함수를 사용한다. 하기 수학식 11에는 동영상 압축 기술에서 통상적으로 사용되는 SAD 및 SSD를 나타내었다.
SSD
상기 수학식 11에서 , 는 각 프레임(즉 이전 프레임과 현재 프레임) 내의 블록에서 해당 위치(즉, 이전 프레임에서 기준 블록의 픽셀 위치는 a, b이며, 현재 프레임에서 검색 대상 블록의 픽셀 위치는 a+m, b+n임)의 픽셀값(휘도 혹은 각 색상)을 의미한다.
그런데, 이러한 함수들은 동영상 압축 환경에서와 같이 이웃하는 두 프레임에서 노출 차이가 없을 경우에 적용하는 것은 적절하나, 실제 촬영 환경에서와 같이, 피사체로부터 직접 입력되는 영상의 프레임과 같이 이웃하는 두 프레임에 노출 차이가 존재할 경우에는 정확한 정보로서 이용하기가 어렵다. 이에 본 발명에서는 하기 수학식 12와 같이, 노출 차이를 고려한 에러 함수를 사용한다.
modified SSD
여기서 , 는 각 프레임(즉 이전 프레임과 현재 프레임)내의 블록에 해당하는 픽셀의 평균값을 의미한다. 상기 수학식 12를 살펴보면, 각 프레임의 블록에서 각 픽셀값들을 해당 영상 블록의 평균값에 따라 보정하는 것으로(상기 수학식 12에서는 평균값을 제하는 것으로) 노출 보정을 수행함을 알 수 있다.
한편, 이전 프레임에서 블록의 위치는 고정되어 있기 때문에(즉 기준 블록은 하나이므로) 는 한번만 구하면 된다. 그러나 다음 프레임에서 이전 프레임의 블록과 가장 잘 매치가 되는 블록을 찾기 위해서는 같은 크기의 모든 블록을 검색하여야 하므로, 그 때마다 해당 블록내의 픽셀의 평균값을 구해야 한다. 즉, 는 모든 블록에 대해 구해야 한다.
이때 매번 블록 내의 모든 픽셀을 더하고 평균을 구하는 것은 많은 계산량을 필요로 한다. 따라서 본 발명에서는 누적 영상(integral image)을 이용하여 계산량을 줄인다. 누적 영상은 영상 내에서 어떤 좌표의 픽셀값은 영상의 왼쪽 상단에서부터 그 좌표에 해당하는 픽셀값의 합을 나타내는 영상이다. 즉, 도 12a에서 (a, b)에서의 픽셀값은 점선으로 표시한 블록 영역에 해당하는 픽셀값들의 합을 가리킨다. 즉 은 (0, 0)에서의 픽셀값이고, 는 주어진 영상의 모든 픽셀값의 합이다.
이러한 누적 영상을 이용하면 원하는 영역의 네 꼭짓점에 해당하는 픽셀값 의 합과 차를 이용하여 그 영역 내의 픽셀값들의 합을 구할 수 있다. 도 12b에서 점선으로 표시한 블록 영역에 해당하는 픽셀값들의 합은 네 꼭지점인 (a1, b1), (a2, b2), (a3, b3), (a4, b4)의 픽셀값들을 이용하여 하기 수학식 13과 같이 구할 수 있다.
본 발명의 일 실시예에서는 이와 같이 현재 프레임에 대한 누적 영상을 미리 구하여 마련한 다음에 이후 이러한 누적 영상을 이용하여 는 모든 블록에 대한 픽셀의 평균값을 간단히 구하게 된다.
이와 같은 224단계에서 현재 프레임과 이전 프레임간 매칭 블록을 확인하게 되면, 이후 226단계에서는 두 블록간 모션벡터 즉, x축에 해당하는 모션벡터는 mi ,x와, y축에 해당하는 모션벡터는 mi ,y를 구한다.
상기와 같이 본 발명의 일 실시예에 따른 파노라마 사진 촬영 동작이 수행될 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다.
예를 들어, 통상적으로 모션벡터를 찾을 때는 평면 이미지에 대해서 모션벡터를 찾는 방법을 사용한다. 이는 일반적인 압축 영상이나 방송 영상에 한해서 좋은 결과를 얻을 수 있다. 하지만 파노라마 사진 촬영을 위해서 모션 벡터 정보를 구하는 경우는 모션 벡터를 얻으려는 이유가 보다 정확한 파노라마 사진 이미지를 얻는 것에 있다는 것을 고려해야 한다.
또한, 파노라마가 실시간으로 입력되는 프리뷰 영상 등을 판단하여 모션벡터를 찾고 그 모션벡터 정보는 촬영을 결정하는데 사용된다는 특수성을 감안하여 기기의 프리뷰 속도 특성을 고려하여 프레임 스킵(skip)을 하면서 모션벡터를 찾는 방식을 가질 수 있다. 보통 동영상 압축 같은 경우에는 한 프레임마다의 벡터 정보가 중요하므로 매 프레임마다 모션 추정 작업을 하여야 하지만, 본 발명에서와 같은 파노라마 사진 촬영을 위한 모션 추정 동작에서는 매 프레임마다의 정보가 중요한 것은 아니므로 본 발명의 다른 실시예에서는 프레임을 상황에 맞게 적절히(예를 들어 1, 2 프레임 정도) 스킵(Skip)하여 하면서 모션 추정 작업을 할 수 있다. 그럴 경우에는 그만큼 계산 시간 및 계산량을 줄일 수 있고, 줄여진 시간만큼 더 넓은 검색 영역을 확보할 수도 있는 등 보다 정확한 모션벡터 산출 작업을 할 수도 있다.
그 외에도, 상기의 설명에서는 파노라마 사진 촬영시 본 발명에 따른 촬영 장치가 사용자에 의해 이동되는 것으로 설명하였으나, 본 발명에 따른 촬영 장치가 별도의 이동 기구에 장착되어 자동으로 이동하는 경우에도 본 발명이 그대로 적용될 수 있음은 물론이다. 또한 상기의 설명에서는 파노라마 사진 촬영시 파노라마 사진 촬영 방향이 수평 또는 수직인 것으로 예를 들어 설명하였으나, 이외에도 본 발명은 파노라마 사진의 촬영 방향이 수평 및 수직이 혼합된 경우(파노라마 사진을 구성하는 다수의 화상들이 가로 및 세로로 모자이크 식으로 배열된 경우)에도 적용 가능하다. 또한 상기에서 다양한 UI는 상기의 설명외에도 다양한 방식으로 달리 표현될 수 있음을 이해할 것이다.
이외에도 본 발명의 다양한 실시예 또는 변형예가 있을 수 있으며, 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
도 1은 파노라마 사진 촬영시 각 촬영 영상 간의 관계를 나타낸 도면
도 2는 도 1의 제1화상 및 제2화상을 촬영한 사진의 예시도
도 3은 도 2의 제1화상 및 제2화상을 동일 영역을 고려하여 정렬한 사진의 예시도
도 4는 본 발명이 적용되는 휴대용 단말기의 블록 구성도
도 5는 본 발명의 일 실시예에 따른 파노라마 사진 촬영 방법의 흐름도
도 6은 도 2의 제1화상 및 제2화상을 원통에 투영한 사진의 예시도
도 7은 본 발명의 일 실시예에 따른 파노라마 사진 촬영 방법에 따라 영상 프레임과 투영된 영상과 피사체의 관계를 도시하는 개념도
도 8은 본 발명의 일 실시예에 따른 파노라마 모자이크 사진 촬영시 원통형 곡면위로 투영된 영상의 중심에 따른 대칭 구조를 나타낸 도면
도 9는 본 발명의 일 실시예에 따른 제곱근 연산을 정수연산으로 구현하는 개념도
도 10은 도 5 중 카메라 움직임 확인 동작의 상세 흐름도
도 11은 도 10 중 모션벡터 검출을 위한 가변 크기의 영상 블록의 예시도
도 12a 및 12b는 누적 영상(integral image)을 나타낸 도면
Claims (14)
- 파노라마 사진 촬영 방법에 있어서,미리 정해진 시간단위마다 연속적으로 입력되는 영상을 동일한 초점 거리를 갖는 가상의 면으로 투영하여 투영된 영상을 획득하는 과정과,투영된 상기 영상에 노출 보정을 적용한 모션 추정 기법을 사용하여 실시간적으로 이전 영상을 비교함으로써 해당 촬영 장치의 움직임을 확인하는 과정과,상기 확인한 해당 촬영 장치의 움직임에 따라 촬영 방향에 따른 움직임이 미리 설정된 임계값에 도달하였음을 확인함으로써 파노라마 사진을 구성하는 각 화상의 촬영 시점을 판단하는 과정과,상기 판단된 촬영 시점에서 상기 파노라마 사진을 구성하는 각 화상을 수동 입력에 따라, 또는 자동으로 촬영하는 과정을 포함함을 특징으로 하는 파노라마 사진 촬영 방법.
- 제1항에 있어서, 상기 노출 보정을 적용한 모션 추정 기법은비교하는 프레임들의 영상 블록간 비교되는 각 픽셀들간의 오차 정보를 이용하여 매칭하는 영상 블록간의 모션벡터를 구하는 것으로서, 각 영상 블록에서 각 픽셀들을 해당 영상 블록의 평균값에 따라 보정하여 상기 노출 보정을 적용함을 특징으로 하는 파노라마 사진 촬영 방법.
- 제3항에 있어서, 상기 픽셀의 평균값을 구할 경우에 상기 현재 프레임에 대한 누적 영상(integral image)을 미리 마련하며 이를 이용하여 각 영상 블록에 대한 픽셀의 평균값을 구함을 특징으로 하는 파노라마 사진 촬영 방법.
- 제1항에 있어서, 상기 가상의 면은 기준점으로부터의 초점거리가 동일한 원통형(cylinder) 또는 구형 곡면인 것을 특징으로 하는 파노라마 사진 촬영 방법.
- 제2항 내지 제10항 중 어느 한 항에 있어서, 상기 영상 블록간의 모션벡터를 구할 경우에 단일 블록 검색(search) 방식을 사용함을 특징으로 하는 파노라마 사진 촬영 방법.
- 제2항에 있어서, 상기 영상 블록은 프리뷰 성능, 피사체와의 거리 및 촬영 모드 정보에 따라 가변적으로 설정함을 특징으로 하는 파노라마 사진 촬영 방법.
- 제12항에 있어서, 상기 영상 블록과 더불어 매칭되는 블록을 검색하는 검색 영역도 가변적으로 설정함을 특징으로 하는 파노라마 사진 촬영 방법.
- 촬영 장치의 이동을 확인하는 파노라마 사진 촬영 방법에 있어서,실시간적으로 입력되는 영상을 동일한 초점 거리를 갖는 가상의 면으로 투영하여 투영된 영상을 획득하는 과정과,투영된 상기 영상의 현재 입력되는 프레임과 이전 프레임간 매칭되는 영상 블록을 확인하는 과정과,상기 확인 매칭되는 영상 블록간 모션벡터를 구하여 상기 촬영 장치의 이동을 확인하는 과정과;상기 확인한 상기 촬영 장치의 이동에 따라 촬영 방향에 따른 움직임이 미리 설정된 임계값에 도달하였음을 확인함으로써 파노라마 사진을 구성하는 각 화상의 촬영 시점을 판단하는 과정과,상기 판단된 촬영 시점에서 상기 파노라마 사진을 구성하는 각 화상을 수동 입력에 따라, 또는 자동으로 촬영하는 과정을 포함하며,상기 매칭되는 영상 블록을 확인하는 것은 각 프레임들의 상기 영상 블록에서 각 픽셀들을 해당 영상 블록의 평균값에 따라 보정하며, 각 프레임들의 상기 영상 블록간 비교되는 상기 보정된 각 픽셀들간의 오차 정보를 이용하여 매칭하는 영상 블록간의 모션벡터를 구하는 것임을 특징으로 하는 파노라마 사진 촬영 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070086105A KR101312895B1 (ko) | 2007-08-27 | 2007-08-27 | 파노라마 사진 촬영 방법 |
EP08015116.0A EP2031561B1 (en) | 2007-08-27 | 2008-08-27 | Method for photographing panoramic picture |
CN2008102133587A CN101377616B (zh) | 2007-08-27 | 2008-08-27 | 拍摄全景画面的方法 |
US12/199,007 US8217989B2 (en) | 2007-08-27 | 2008-08-27 | Method for photographing panoramic picture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070086105A KR101312895B1 (ko) | 2007-08-27 | 2007-08-27 | 파노라마 사진 촬영 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090021527A KR20090021527A (ko) | 2009-03-04 |
KR101312895B1 true KR101312895B1 (ko) | 2013-09-30 |
Family
ID=40043997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070086105A KR101312895B1 (ko) | 2007-08-27 | 2007-08-27 | 파노라마 사진 촬영 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8217989B2 (ko) |
EP (1) | EP2031561B1 (ko) |
KR (1) | KR101312895B1 (ko) |
CN (1) | CN101377616B (ko) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5493942B2 (ja) * | 2009-12-15 | 2014-05-14 | ソニー株式会社 | 撮像装置と撮像方法 |
KR101663321B1 (ko) | 2010-07-30 | 2016-10-17 | 삼성전자주식회사 | 파노라마 사진 촬영 방법 |
JP5510238B2 (ja) * | 2010-09-22 | 2014-06-04 | ソニー株式会社 | 画像処理装置、撮像装置、および画像処理方法、並びにプログラム |
ES2556960T3 (es) | 2010-10-08 | 2016-01-21 | Capsugel Belgium Nv | Aparato y método para adquirir una imagen bidimensional de la superficie de un objeto tridimensional |
TW201224996A (en) * | 2010-12-10 | 2012-06-16 | Ind Tech Res Inst | Method and system for producing panoramic image |
US9600863B2 (en) * | 2012-02-13 | 2017-03-21 | Omnivision Technologies, Inc. | Method for combining images |
JP6197749B2 (ja) * | 2014-03-31 | 2017-09-20 | 株式会社Jvcケンウッド | 画像処理装置、画像処理方法、プログラム及びカメラ |
US9724177B2 (en) | 2014-08-19 | 2017-08-08 | Align Technology, Inc. | Viewfinder with real-time tracking for intraoral scanning |
CN104881869A (zh) * | 2015-05-15 | 2015-09-02 | 浙江大学 | 一种移动平台上的实时全景跟踪与拼接方法 |
US9936128B2 (en) | 2015-05-20 | 2018-04-03 | Google Llc | Automatic detection of panoramic gestures |
CN105120229A (zh) * | 2015-09-16 | 2015-12-02 | 温州大学 | 广角镜头全方位监控器及图像匹配的方法 |
CN106815237B (zh) * | 2015-11-30 | 2020-08-21 | 北京睿创投资管理中心(有限合伙) | 搜索方法、搜索装置、用户终端及搜索服务器 |
US10694102B2 (en) | 2016-07-22 | 2020-06-23 | Immervision, Inc. | Method to capture, store, distribute, share, stream and display panoramic image or video |
CN106131498B (zh) * | 2016-07-26 | 2019-03-29 | 中国科学院遥感与数字地球研究所 | 全景视频拼接方法及装置 |
CN106815870B (zh) * | 2016-12-16 | 2020-05-19 | 珠海研果科技有限公司 | 一种机内标定全景摄像装置的方法和系统 |
CN106851117B (zh) | 2017-03-31 | 2020-01-31 | 联想(北京)有限公司 | 一种获得全景照片的方法及电子设备 |
JP6545229B2 (ja) * | 2017-08-23 | 2019-07-17 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム |
CN111415386B (zh) * | 2020-03-16 | 2023-05-26 | 如你所视(北京)科技有限公司 | 拍摄设备位置提示方法、装置、存储介质及电子设备 |
US12051173B2 (en) * | 2020-04-17 | 2024-07-30 | Gopro, Inc. | Methods and apparatus for blending unknown pixels in overlapping images |
US11651547B2 (en) * | 2020-12-10 | 2023-05-16 | Nvidia Corporation | Adaptive temporal image filtering for rendering realistic illumination |
CN113438416B (zh) * | 2021-06-21 | 2022-12-09 | 北京小米移动软件有限公司 | 图像数量获取方法和装置、电子设备、存储介质 |
CN115713700B (zh) * | 2022-11-23 | 2023-07-28 | 广东省国土资源测绘院 | 一种空地协同的典型农作物种植样本采集方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100614004B1 (ko) | 2004-11-19 | 2006-08-21 | 주식회사 일리시스 | 자동화된 360°파노라마 이미지 생성 방법 |
US20070109398A1 (en) | 1999-08-20 | 2007-05-17 | Patrick Teo | Virtual reality camera |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157747A (en) * | 1997-08-01 | 2000-12-05 | Microsoft Corporation | 3-dimensional image rotation method and apparatus for producing image mosaics |
US6009190A (en) * | 1997-08-01 | 1999-12-28 | Microsoft Corporation | Texture map construction method and apparatus for displaying panoramic image mosaics |
US5987164A (en) * | 1997-08-01 | 1999-11-16 | Microsoft Corporation | Block adjustment method and apparatus for construction of image mosaics |
US6097854A (en) * | 1997-08-01 | 2000-08-01 | Microsoft Corporation | Image mosaic construction system and apparatus with patch-based alignment, global block adjustment and pair-wise motion-based local warping |
US6044181A (en) * | 1997-08-01 | 2000-03-28 | Microsoft Corporation | Focal length estimation method and apparatus for construction of panoramic mosaic images |
JP2000125190A (ja) * | 1998-10-16 | 2000-04-28 | Olympus Optical Co Ltd | カメラシステム及び記録媒体 |
US6930703B1 (en) * | 2000-04-29 | 2005-08-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automatically capturing a plurality of images during a pan |
US7006707B2 (en) * | 2001-05-03 | 2006-02-28 | Adobe Systems Incorporated | Projecting images onto a surface |
KR100600711B1 (ko) | 2001-12-21 | 2006-07-14 | 엘지전자 주식회사 | 평면 디스플레이 장치 구동회로부 및 그 구동방법 |
US7400782B2 (en) * | 2002-08-28 | 2008-07-15 | Arcsoft, Inc. | Image warping correction in forming 360 degree panoramic images |
US20040189849A1 (en) | 2003-03-31 | 2004-09-30 | Hofer Gregory V. | Panoramic sequence guide |
US8896660B2 (en) * | 2003-05-30 | 2014-11-25 | Alcatel Lucent | Method and apparatus for computing error-bounded position and orientation of panoramic cameras in real-world environments |
KR100562401B1 (ko) | 2003-07-29 | 2006-03-17 | 삼성테크윈 주식회사 | 카메라 및, 그에 의한 파노라마 사진 촬영 방법 |
US7409105B2 (en) * | 2003-10-22 | 2008-08-05 | Arcsoft, Inc. | Panoramic maker engine for a low profile system |
JP4645452B2 (ja) * | 2006-01-10 | 2011-03-09 | 株式会社デンソー | 車両用表示装置 |
JP4757116B2 (ja) * | 2006-06-30 | 2011-08-24 | キヤノン株式会社 | パラメータ学習方法及びその装置、パターン識別方法及びその装置、プログラム |
KR100796849B1 (ko) * | 2006-09-04 | 2008-01-22 | 삼성전자주식회사 | 휴대 단말기용 파노라마 모자이크 사진 촬영 방법 |
KR100866230B1 (ko) | 2007-04-12 | 2008-10-30 | 삼성전자주식회사 | 파노라마 사진 촬영 방법 |
US8717412B2 (en) * | 2007-07-18 | 2014-05-06 | Samsung Electronics Co., Ltd. | Panoramic image production |
KR101354899B1 (ko) * | 2007-08-29 | 2014-01-27 | 삼성전자주식회사 | 파노라마 사진 촬영 방법 |
-
2007
- 2007-08-27 KR KR1020070086105A patent/KR101312895B1/ko active IP Right Grant
-
2008
- 2008-08-27 US US12/199,007 patent/US8217989B2/en not_active Expired - Fee Related
- 2008-08-27 CN CN2008102133587A patent/CN101377616B/zh not_active Expired - Fee Related
- 2008-08-27 EP EP08015116.0A patent/EP2031561B1/en not_active Not-in-force
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070109398A1 (en) | 1999-08-20 | 2007-05-17 | Patrick Teo | Virtual reality camera |
KR100614004B1 (ko) | 2004-11-19 | 2006-08-21 | 주식회사 일리시스 | 자동화된 360°파노라마 이미지 생성 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN101377616A (zh) | 2009-03-04 |
EP2031561A1 (en) | 2009-03-04 |
US8217989B2 (en) | 2012-07-10 |
KR20090021527A (ko) | 2009-03-04 |
EP2031561B1 (en) | 2016-11-09 |
US20090058991A1 (en) | 2009-03-05 |
CN101377616B (zh) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101312895B1 (ko) | 파노라마 사진 촬영 방법 | |
KR100866230B1 (ko) | 파노라마 사진 촬영 방법 | |
KR101354899B1 (ko) | 파노라마 사진 촬영 방법 | |
KR100796849B1 (ko) | 휴대 단말기용 파노라마 모자이크 사진 촬영 방법 | |
KR100800804B1 (ko) | 파노라마 영상 촬영 방법 | |
KR100800660B1 (ko) | 파노라마 영상 촬영 장치 및 방법 | |
KR101663321B1 (ko) | 파노라마 사진 촬영 방법 | |
KR100657522B1 (ko) | 휴대용 단말기를 이용한 아웃 포커싱 촬영 장치 및 방법 | |
KR20090065914A (ko) | 파노라마 사진 자동 촬영 방법 | |
EP2242252A2 (en) | In-camera generation of high quality composite panoramic images | |
WO2017088678A1 (zh) | 长曝光全景图像拍摄装置和方法 | |
JP2017143390A (ja) | 画像処理装置およびその方法 | |
EP1676236A1 (en) | Panoramic maker engine for a low profile system | |
JP5248951B2 (ja) | カメラ装置、画像撮影支援装置、画像撮影支援方法、及び画像撮影支援プログラム | |
CN107534722A (zh) | 一种终端设备和拍照的方法 | |
JP7458769B2 (ja) | 画像処理装置、撮像装置、画像処理方法、プログラムおよび記録媒体 | |
JP6604998B2 (ja) | 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム | |
JP2024002631A (ja) | 画像処理装置、撮像装置、画像処理方法、コンピュータのプログラムおよび記録媒体 | |
JP2024036872A (ja) | 撮像装置、撮像方法、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160830 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170830 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180830 Year of fee payment: 6 |