KR101473215B1 - 파노라마 이미지 생성장치 및 그 방법 - Google Patents

파노라마 이미지 생성장치 및 그 방법 Download PDF

Info

Publication number
KR101473215B1
KR101473215B1 KR1020080036115A KR20080036115A KR101473215B1 KR 101473215 B1 KR101473215 B1 KR 101473215B1 KR 1020080036115 A KR1020080036115 A KR 1020080036115A KR 20080036115 A KR20080036115 A KR 20080036115A KR 101473215 B1 KR101473215 B1 KR 101473215B1
Authority
KR
South Korea
Prior art keywords
sub
processors
image
source
data
Prior art date
Application number
KR1020080036115A
Other languages
English (en)
Other versions
KR20090110550A (ko
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 KR1020080036115A priority Critical patent/KR101473215B1/ko
Priority to US12/350,417 priority patent/US20090262180A1/en
Publication of KR20090110550A publication Critical patent/KR20090110550A/ko
Application granted granted Critical
Publication of KR101473215B1 publication Critical patent/KR101473215B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • 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
    • 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/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Abstract

파노라마 이미지 생성 장치가 개시된다. 본 파노라마 이미지 생성장치는 복수 개의 서브 프로세서, 및, 파노라마 이미지로 처리할 데이터를 복수 개의 영역으로 분할하고, 분할된 데이터를 복수 개의 서브 프로세서에 할당하여 병렬적으로 처리하도록 하는 메인 프로세서를 포함한다. 이에 따라, 파노라마 이미지 생성 시간을 단축할 수 있게 된다.
파노라마 이미지 생성장치, 메인 프로세서, 서브 프로세서

Description

파노라마 이미지 생성장치 및 그 방법{Apparatus for generating panorama image and method therof}
본 발명은 파노라마 이미지 생성장치 및 그 방법에 관한 것으로, 더욱 상세하게는 복수 개의 프로세서를 파노라마 이미지 처리 프로세스의 각 서브 프로세스마다 병렬처리하는 파노라마 이미지 생성장치 및 그 방법에 관한 것이다.
통상의 촬상장치를 이용한 촬영시, 한장의 사진에 담을 수 있는 영상의 크기는 제한되어 있기 때문에, 여러 장의 정지영상을 각각 촬영하여 촬영된 정지영상들을 조합하여 넓은 영상을 생성하여야 할 경우가 발생한다. 이와 같은 촬영기법을 파노라마 영상 촬영이라 한다.
최근에는, 디지털 영상을 촬영하는 디지털 카메라 및 디지털 캠코더 등에서도 파노라마 영상을 생성할 수 있는 기능을 제공한다.
종래의 파노라마 이미지 생성방법에 따르면, 복수 개의 소스 이미지에 대하여 특징점 데이터를 추출하고, 추출된 특징점 데이터를 매칭시키고, 매칭된 특징점 데이터를 이용하여 복수 개의 소스 이미지를 스티칭하고, 스티칭된 복수 개의 소스이미지를 블렌딩하여 파노라마 이미지를 생성한다.
하지만, 각각의 처리과정이 복수 개의 소스 이미지에 대하여 순차적으로 진행되어 처리시 요구되는 데이터량 및 처리 데이터량이 많아 처리시간이 많이 소요된다는 문제점이 있었다.
상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 파노라마 이미지 생성방법은 파노라마 이미지로 처리할 데이터를 복수 개의 영역으로 분할하는 분할 단계, 상기 분할된 데이터를 복수 개의 서브 프로세서에 할당하여 병렬적으로 처리하도록 하는 병렬 처리 단계, 및, 상기 복수 개의 서브 프로세서에 의해 처리된 각 데이터들을 취합하는 취합 단계를 포함한다.
바람직하게는, 상기 분할 단계, 상기 병렬 처리 단계, 상기 취합 단계는, 파노라마 이미지 처리 프로세스의 각 서브 프로세스마다 수행될 수 있다.
바람직하게는, 상기 서브 프로세스는, 복수 개의 소스 이미지에 대한 특징점 데이터들을 산출하는 제1연산처리, 상기 산출된 특징점 데이터들을 매칭시키는 제2연산처리, 상기 매칭된 특징점 데이터들을 이용하여 상기 복수 개의 소스이미지를 스티칭하는 제3연산처리, 및, 상기 스티칭된 소스이미지를 블렌딩하는 제4연산처리 중 하나가 될 수 있다.
바람직하게는, 상기 제1 연산처리는, 상기 소스 이미지를 복수 개의 영역을 분할하는 단계, 상기 분할된 소스 이미지들을 상기 복수 개의 서브프로세서에 할당하여 블러링을 수행하는 단계, 상기 블러링된 소스 이미지들을 복수 개의 영역으로 분할하는 단계, 상기 분할된 소스 이미지들을 상기 복수 개의 서브 프로세서에 할당하여 가우시안 차를 연산하는 단계 및, 상기 연산된 가우시안 차를 이용하여 상기 특징점 데이터를 산출하는 단계를 포함할 수 있다.
바람직하게는, 상기 제2 연산처리는 상기 특징점 데이터들 각각에 대하여 매칭탐색을 위한 탐색트리를 구조화하는 단계, 상기 구조화된 탐색트리를 상기 복수 개의 서브 프로세서에 각각 할당하여 탐색트리의 가지 단위로 순회하는 단계, 및, 상기 순회를 통해 상기 특징점 데이터들을 매칭시키는 단계를 포함할 수 있다.
바람직하게는, 상기 제3 연산처리는, 상기 소스 이미지를 복수 개의 영역으로 분할하는 단계, 상기 분할된 영역 중 상기 특징점 데이터와 관련된 영역을 복수 개의 서브 프로세서에 할당하여 생성될 파노라마 이미지상의 목표 좌표값에 해당하는 소스 좌표값을 산출하는 단계, 상기 목표 좌표값에 산출된 소스좌표값의 소스 이미지를 적용하여 복수 개의 영역으로 분할하는 단계, 상기 분할된 소스 이미지들을 복수 개의 서브 프로세서에 할당하여 보간처리를 수행하는 단계, 및, 상기 보간처리에 의해 스티칭된 소스 이미지를 생성하는 단계를 포함할 수 있다.
바람직하게는, 상기 제4 연산처리는, 상기 스티칭된 소스 이미지를 라인별로 분할하는 단계, 상기 분할된 라인들의 시작어드레스를 복수 개의 서브 프로세서에 할당하여 이미지 축소 또는 확대를 수행하는 단계, 상기 라인별로 이미지 축소 또는 확대된 상기 스티친된 소스 이미지를 취합하여 파노라마 이미지를 생성하는 단계를 포함할 수 있다.
바람직하게는, 상기 분할된 데이터는, 상기 복수 개의 서브 프로세서에 라운 드 로빈 방식에 의해 할당될 수 있다.
한편, 본 발명의 일 실시 예에 따른 파노라마 이미지 생성 장치는 복수 개의 서브 프로세서, 및, 파노라마 이미지로 처리할 데이터를 복수 개의 영역으로 분할하고, 상기 분할된 데이터를 복수 개의 서브 프로세서에 할당하여 병렬적으로 처리하도록 하는 메인 프로세서를 포함한다.
바람직하게는, 상기 메인 프로세서는 파노라마 이미지 처리 프로세스의 각 서브 프로세스마다 상기 분할 및 할당 작업을 수행할 수 있다.
바람직하게는, 상기 서브 프로세스는 복수 개의 소스 이미지에 대한 특징점 데이터들을 산출하는 제1연산처리, 상기 산출된 특징점 데이터들을 매칭시키는 제2연산처리, 상기 매칭된 특징점 데이터들을 이용하여 상기 복수 개의 소스이미지를 스티칭하는 제3연산처리, 및, 상기 스티칭된 소스이미지를 블렌딩하는 제4연산처리 중 하나가 될 수 있다.
바람직하게는, 상기 제1 연산처리는, 상기 메인프로세서에서 상기 소스 이미지를 복수 개의 영역을 분할하여 상기 분할된 소스 이미지들을 상기 복수 개의 서브프로세서에 할당하면, 상기 복수 개의 서브프로세서에서 블러링을 수행하고, 상기 메인프로세서에서 상기 블러링된 소스 이미지들을 복수 개의 영역으로 분할하여 상기 분할된 소스 이미지들을 상기 복수 개의 서브 프로세서에 할당하면, 상기 복수 개의 서브프로세서에서 가우시안 차를 연산하여 상기 특징점 데이터를 산출하는 처리가 될 수 있다.
바람직하게는, 상기 제2 연산처리는, 상기 메인프로세서에서 특징점 데이터 들 각각에 대하여 매칭탐색을 위한 탐색트리를 구조화하여 상기 구조화된 탐색트리를 상기 복수 개의 서브 프로세서에 각각 할당하면, 상기 복수 개의 서브 프로세서에서 탐색트리의 가지 단위로 순회하여 상기 특징점 데이터들을 매칭시키는 처리가 될 수 있다.
바람직하게는, 상기 제3 연산처리는, 상기 메인프로세서에서 상기 소스 이미지를 복수 개의 영역으로 분할하여 상기 분할된 영역 중 상기 특징점 데이터와 관련된 영역을 복수 개의 서브 프로세서에 할당하면, 상기 복수 개의 서브 프로세서에서 상기 파노라마 이미지상의 목표 좌표값에 해당하는 소스 좌표값을 산출하고, 상기 메인프로세서에서 상기 목표 좌표값에 산출된 소스좌표값의 소스 이미지를 적용하여 복수 개의 영역으로 분할하고, 상기 분할된 소스 이미지들을 복수 개의 서브 프로세서에 할당하면, 상기 복수 개의 서브 프로세서에서 보간처리를 수행하여 상기 스티칭된 소스 이미지를 생성하는 처리가 될 수 있다.
바람직하게는, 상기 제4 연산처리는, 상기 메인프로세서에서 상기 스티칭된 소스 이미지를 라인별로 분할하고 상기 분할된 라인들의 시작어드레스를 복수 개의 서브 프로세서에 할당하면, 상기 복수 개의 서브 프로세서에서 이미지 축소 또는 확대를 수행하고, 상기 메인프로세서에서 상기 라인별로 이미지 축소 또는 확대된 상기 스티친된 소스 이미지를 취합하여 파노라마 이미지를 생성하는 처리가 될 수 있다.
바람직하게는, 상기 분할된 데이터는, 상기 복수 개의 서브 프로세서에 라운드 로빈 방식에 의해 할당될 수 있다.
본 발명은 이상과 같은 문제점을 해결하기 위해 제안된 것으로서, 본 발명의 목적은 복수 개의 프로세서를 파노라마 이미지 처리 프로세스의 각 서브 프로세스마다 병렬처리하여 파노라마 이미지 생성 시간을 단축할 수 있는 파노라마 이미지 생성장치 및 그 방법을 제공함에 있다.
본 발명의 다양한 실시 예에 따른 파노라마 이미지 생성장치 및 그 방법은 복수 개의 프로세서를 파노라마 이미지 처리 프로세스의 각 서브 프로세스마다 병렬처리하여 파노라마 이미지 생성 시간을 단축할 수 있는 할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명을 보다 자세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 파노라마 이미지 생성장치를 설명하기 위한 블록도이다. 본 파노라마 이미지 생성장치(100)는 메인 프로세서(110) 및, 복수 개의 서브 프로세서(121 내지 12n)을 포함한다.
메인프로세서(110)는 파노라마 이미지로 처리할 데이터를 복수 개의 영역으로 분할하고, 분할된 데이터를 복수 개의 서브 프로세서(121 내지 12n)에 할당하여 병렬적으로 처리하도록 제어한다. 메인프로세서(110)는 파노라마 이미지 처리 프로세스의 각 서브 프로세스마다 분할 및 할당 작업을 수행한다. 여기서, 할당작업은 라운드 로빈(round robin) 방식에 따라 수행될 수 있다.
여기서, 서브 프로세스는 복수 개의 이미지에 대한 특징점 데이터들을 산출 하는 제1연산처리, 상기 산출된 특징점 데이터들을 매칭시키는 제2연산처리, 상기 매칭된 특징점 데이터들을 이용하여 상기 복수 개의 이미지를 스티칭하는 제3연산처리, 및, 상기 스티칭된 이미지를 블렌딩하는 제4연산처리가 될 수 있다.
또한, 메인프로세서(110)와 서브 프로세서(121 내지 12n) 간의 데이터 전송은 더블 버퍼링 기술을 이용할 수 있으며, 서브 프로세서(121 내지 12n)는 SIMD(Single Instruction, Multiple Data)방식을 이용하여 데이터를 처리할 수 있다. 한편, 메인프로세서(110) 및, 서브 프로세서(121 내지 12n)의 동작에 대한 특징은 도 2a 내지 도 8을 참조하여 구체적으로 설명하도록 한다.
도 2a 내지 도 5는 파노라마 이미지를 생성하는 방법을 설명하기 위한 모식도이다. 도 2a 내지 도2c는 파노라마 이미지로 처리될 소스이미지이다. 메인프로세서(110)는 소스이미지를 복수 개의 서브 프로세서(121 내지 12n)에 각각 할당하여 제1 연산처리를 수행한다.
구체적으로, 메인프로세서(110)는 소스이미지가 입력되면, 소스이미지를 복수 개의 영역으로 분할하고, 분할된 소스이미지를 복수 개의 서브 프로세서(121 내지 12n)에 각각 할당한다. 여기서, 분할된 소스 이미지는 라운드 로빈(round robin) 방식에 따라 서브 프로세서(121 내지 12n)에 할당된다.
서브 프로세서(121 내지 12n)은 메인프로세서(110)로부터 할당된 소스이미지에 대하여 블러링을 수행하며, 블러링 수행이 완료되면 수행결과를 메인 프로세서(110)로 전송한다.
메인 프로세서(110)는 복수 개의 서브 프로세서(121 내지 12n)에 의해 블러 링된 각 소스 이미지를 취합하고, 복수 개의 영역으로 분할하여 서브 프로세서(121 내지 12n)에 각각 할당한다. 서브 프로세서(121 내지 12n)은 가우시안 차를 연산함으로써, 특징점 데이터를 산출한다.
도 3a 및 도 3b에 따르면, 도 2a 및 도 2b의 소스이미지에 대하여 특징점 데이터들의 위치를 확인할 수 있다.
메인 프로세서(110)는 제1연산처리가 완료되면, 산출된 특징점 데이터들의 거리간격 등을 이용하여 각각의 특징점 데이터에 대한 탐색트리를 구조화한다. 즉, 메인 프로세서(110)는 제1 소스이미지의 소정 특징점 데이터와 다른 소스 이미지들의 특징점 데이터를 비교하여 매칭여부를 판단할 수 있도록 소스이미지 내의 각각의 특징점 데이터에 대하여 탐색트리를 구조화한다. 또한, 구조화된 탐색트리 각각을 복수 개의 서브 프로세서에 할당한다.
또한, 메인 프로세서(110)는 각 서브프로세서(121 내지 12n)에서 할당한 탐색트리를 순회할 수 있도록 탐색트리의 가지(branch) 단위로 탐색정보를 제공한다. 여기서, 탐색정보는 트리구조에 대한 정보, 트리를 구성하는 노드들의 특징점 데이터 정보 등이 될 수 있다.
이에 따라, 서브 프로세서(121 내지 12n)는 탐색트리의 가지 단위에 대응하는 탐색정보를 저장함으로써 메모리 사용량이 현저하게 줄어든다.
복수 개의 서브 프로세서(121 내지 12n)는 할당된 탐색트리를 순회하며, 특징점 데이터들을 매칭시킨다. 여기서, 특징점 데이터의 매칭처리는 각각의 소스이미지 내의 오브젝트 중 동일한 픽셀값을 가지는 특징점 데이터들을 산출하는 처리 이다. 그 구체적인 방법은 도 6a 및 도 6b를 통해 설명할 수 있다.
도 6a 및 도 6b는 본 발명의 일 실시 예에 따른 특징점 데이터 매칭 처리를 설명하기 위한 모식도이다. 도 6a은 복수 개의 서브 프로세서(121 내지 12n) 중 하나의 서브프로세서에 할당된 탐색트리 구조이며, 도 6b는 할당된 탐색트리를 가지(branch) 단위로 순회하는 서브프로세서의 동작을 나타낸다.
서브프로세서(121 내지 12n)는 할당되는 탐색트리를 순회하여 특징점 데이터를 매칭시키고, 특징점 데이터의 좌표값을 산출하여 메인프로세서(110)로 제공한다.
메인프로세서(110)는 복수의 서브 프로세서(121 내지 12n)로부터 제공받은 특징점 데이터의 좌표값, 매칭 특징점 데이터 등을 이용하여 제3연산처리를 수행하도록 복수 개의 서브프로세서(121 내지 12n)를 제어한다.
구체적으로, 메인프로세서(110)는 도 2a 내지 도 2c의 소스이미지들을 소정 크기의 영역으로 분할하고, 분할된 영역 중 스티칭에 필요한 영역을 복수 개의 서브 프로세서(121 내지 12n)에 할당한다.
이때, 메인프로세서(110)는 스티칭 수행을 위한 정보로, 특징점 데이터의 좌표값, 매칭된 특징점 데이터 등을 서브 프로세서(121, 12n)에 제공하여 목표 좌표값에 해당하는 소스 좌표값을 산출한다. 여기서, 목표 좌표값은 파노라마 이미지 생성을 위한 이미지영역 상에서 소스이미지가 위치할 좌표값이 된다. 또한, 소스 좌표값은 소스 이미지의 좌표값이다.
메인프로세서(110)는 복수 개의 서브 프로세서(121 내지 12n)로부터 산출된 소스 좌표값을 제공받아 파노라마 이미지 영역상에 소스 이미지를 배치한다. 또한, 좌표값 변환에 의해 소스 이미지가 왜곡되었으므로, 메인프로세서(110)는 보간을 수행한다.
메인프로세서(110)는 파노라마 이미지 영역상에 배치된 소스 이미지를 복수 개로 분할하여 서브 프로세서(121 내지 12n)에 제공한다. 이때, 보간은 보간 대상 픽셀의 주변 픽셀들을 이용하여 수행할 수 있다. 이에 따라, 메인프로세서(110)는 중복되지 않는 최소영역의 픽셀값들을 서브 프로세서(121 내지 12n)에 제공하여 보간을 수행하도록 제어한다.
메인프로세서(110)는 복수 개의 서브 프로세서(121 내지 12n)로부터 보간된 소스 이미지들을 제공받아 도 4와 같은 스티칭된 소스 이미지를 생성하게 된다. 한편, 도 7 및 도 8은 본 발명의 일 실시 예에 따른 스티칭 데이터 처리를 설명하기 위한 모식도이다. 도 7에 따른 소스 이미지를 복수 개로 분할하고, 스티칭 대상영역을 서브프로세서에 할당하는 메인프로세서의 동작을 도시한 도면이다. 도 7에서는 하나의 소스이미지의 일부를 하나의 프로세서에 제공하는 것을 도시하고 있으나, 파노라마 이미지 처리될 소스이미지들에 대하여 각각 수행되며, 복수 개의 서브프로세서에 제공되어 좌표값 변환을 수행할 수 있다.
또한, 도 8은 도 7의 좌표값 변환 과정 이후, 보간처리에 관한 것으로 메인프로세서(110)에서 최소영역의 픽셀값으로, 5개의 픽셀값들을 서브프로세서로 제공하는 것을 도시한 도면이다. 이 경우, 중복된 영역의 최소화로 중복처리에 따른 시간소비를 줄일 수 있다.
메인프로세서(110)는 스티칭된 소스 이미지를 라인별로 분할하고, 분할된 라인들의 시작 어드레스를 복수 개의 서브 프로세서(121 내지 12n)에 할당하여 제4연산처리를 수행하도록 제어한다. 여기서, 분할된 라인의 개수는 서브 프로세서의 개수에 따라 가변적으로 할당될 수 있다.
복수 개의 서브 프로세서(121 내지 12n)은 메인프로세서로부터 할당된 라인의 시작 어드레스에 접근하여 해당 라인에 대한 픽셀정보를 획득하고, 이미지 축소 또는 확대를 수행한다.
메인프로세서(110)는 복수 개의 서브 프로세서(121 내지 12n)로부터 라인별로 이미지 축소 또는 확대된 픽셀값들을 수신하여 취합함으로써, 도 5와 같은 파노라마 이미지를 생성하게 된다.
도 9는 본 발명의 일 실시 예에 따른 파노라마 이미지 생성방법을 설명하기 위한 흐름도이다. 도 9에 따르면, 파노라마 이미지로 처리한 데이터를 복수 개의 영역으로 분할하고(S910), 분할된 데이터를 복수 개의 서브 프로세서에 할당하여 병렬적으로 처리한다(S920). 여기서, 할당방식은 라운드 로빈방식으로 수행될 수 있다. 다음으로, 서브 프로세서에서 할당된 데이터에 대한 처리를 완료한 경우, 복수 개의 서브 프로세서에 의해 처리된 각 데이터를 취합하여 출력한다(S940).
한편, S910 단계 내지 S930단계는 파노라마 이미지 처리 프로세스의 각 서브 프로세스마다 수행될 수 있다. 여기서, 서브 프로세스는 복수 개의 이미지에 대한 특징점 데이터들을 산출하는 제1연산처리, 상기 산출된 특징점 데이터들을 매칭시키는 제2연산처리, 상기 매칭된 특징점 데이터들을 이용하여 상기 복수 개의 이미 지를 스티칭하는 제3연산처리, 및, 상기 스티칭된 이미지를 블렌딩하는 제4연산처리가 될 수 있다.
도 10은 본 발명의 일 실시 예에 따른 특징점 데이터 산출 처리를 설명하기 위한 흐름도이다. 도 10은 제1연산처리를 수행하는 복수 개의 프로세서의 동작에 관한 것이다. 도 10에 따르면, 소스 이미지를 복수 개의 영역을 분할하고(S1010), 분할된 소스 이미지들을 복수 개의 서브프로세서에 할당하는 블러링을 수행한다(S1020).
다음으로, 블러링된 소스 이미지들을 복수 개의 영역으로 분할하고(S1030), 분할된 소스 이미지들을 복수 개의 서브 프로세서에 할당하여 가우시안 차를 연산한다(S1040). 연산된 가우시안 차를 이용하여 특징점 데이터를 산출한다(S1050).
도 11은 본 발명의 일 실시 예에 따른 특징점 데이터 매칭 처리를 설명하기 위한 흐름도이다. 도 11은 제2연산처리를 수행하는 복수 개의 프로세서의 동작에 관한 것으로, 도 10의 S1050의 단계 이후에 수행되는 것이 바람직하다.
도 11에 따르면, 특징점 데이터들 각각에 대하여 매칭탐색을 위한 탐색트리를 구조화한다(S1110). 또한, 구조화된 탐색트리를 복수 개의 서브 프로세서에 각각 할당하여 탐색트리를 순회하여(S1120), 특징점 데이터들을 매칭시킨다(S1130). 여기서, 각 서브 프로세서의 탐색트리 순회는 탐색트리의 가지(branch) 단위로 수행되는 것이 바람직하다.
도 12는 본 발명의 일 실시 예에 따른 스티칭 데이터 처리를 설명하기 위한 흐름도이다. 도 12는 제3연산처리를 수행하는 복수 개의 프로세서의 동작에 관한 것으로, 도 11의 S1130의 단계 이후에 수행되는 것이 바람직하다.
도 12에 따르면, 소스 이미지를 복수 개의 영역으로 분할하고(S1210), 분할된 영역 중 각각의 특징점 데이터와 관련된 영역을 복수 개의 서브 프로세서에 할당하여 생성될 파노라마 이미지상의 목표 좌표값에 해당하는 소스좌표값을 산출한다(S1220).
다음으로, 목표 좌표값에 산출된 소스좌표값의 소스 이미지를 적용하여 복수 개의 영역으로 분할한다(S1230). 분할된 소스 이미지들을 복수 개의 서브 프로세서에 할당하여 보간처리를 수행하여(S1240), 소스 이미지들을 스티칭한다(S1250).
도 13은 본 발명의 일 실시 예에 따른 블렌링 처리를 설명하기 위한 흐름도 이다. 도 13은 제4연산처리를 수행하는 복수 개의 프로세서의 동작에 관한 것으로, 도 12의 S1250의 단계 이후에 수행되는 것이 바람직하다.
도 13에 따르면, 스티칭된 소스 이미지를 라인별로 분할하고(S1310), 분할된 라인들의 시작어드레스를 복수 개의 서브 프로세서에 할당하여 이미지 축소 또는 확대를 수행하여(S1320), 파노라마 이미지를 생성한다(S1330). 이에 따라, 각각의 서브 프로세스 수행시 복수 개의 프로세서를 이용함으로써 처리시간을 단축할 수 있게 된다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 누구든지 본 발명의 기술적 사상 및 범위를 벗어나지 않는 범주 내에서 본 발명의 바람직한 실시 예를 다양하게 변경할 수 있음은 물론이다. 따라서 본 발명은 특허청구범위에서 청구하 는 본 발명의 요지를 벗어나지 않는다면 다양한 변형 실시가 가능할 것이며, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
도 1은 본 발명의 일 실시 예에 따른 파노라마 이미지 생성장치를 설명하기 위한 블록도,
도 2a 내지 도 5는 파노라마 이미지를 생성하는 방법을 설명하기 위한 모식도,
도 6a 및 도 6b는 본 발명의 일 실시 예에 따른 특징점 데이터 매칭 처리를 설명하기 위한 모식도,
도 7 및 도 8은 본 발명의 일 실시 예에 따른 스티칭 데이터 처리를 설명하기 위한 모식도,
도 9는 본 발명의 일 실시 예에 따른 파노라마 이미지 생성방법을 설명하기 위한 흐름도,
도 10은 본 발명의 일 실시 예에 따른 특징점 데이터 산출 처리를 설명하기 위한 흐름도,
도 11은 본 발명의 일 실시 예에 따른 특징점 데이터 매칭 처리를 설명하기 위한 흐름도,
도 12는 본 발명의 일 실시 예에 따른 스티칭 데이터 처리를 설명하기 위한 흐름도, 그리고,
도 13은 본 발명의 일 실시 예에 따른 블렌링 처리를 설명하기 위한 흐름도 이다.
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 파노라마 이미지 생성장치 110 : 메인프로세서
121 내지 12n : 서브프로세서

Claims (16)

  1. 파노라마 이미지 생성 장치의 파노라마 이미지 생성 방법에 있어서,
    파노라마 이미지로 처리할 데이터를 복수 개의 영역으로 분할하는 분할 단계;
    상기 분할된 데이터를 복수 개의 서브 프로세서에 할당하여 병렬적으로 처리하도록 하는 병렬 처리 단계; 및,
    상기 복수 개의 서브 프로세서에 의해 처리된 각 데이터에 대한 소스 이미지들을 제1연산처리를 통해 각각의 소스 이미지별로 산출된 특징점 데이터에 기초하여 취합하는 단계;
    를 포함하는 파노라마 이미지 생성 방법.
  2. 제1항에 있어서,
    상기 분할 단계, 상기 병렬 처리 단계, 상기 취합 단계는, 파노라마 이미지 처리 프로세스의 각 서브 프로세스마다 수행되는 것을 특징으로 하는 파노라마 이미지 생성 방법.
  3. 제2항에 있어서,
    상기 서브 프로세스는,
    상기 산출된 특징점 데이터들을 매칭시키는 제2연산처리, 상기 매칭된 특징점 데이터들을 이용하여 상기 복수 개의 소스이미지를 스티칭하는 제3연산처리, 및, 상기 스티칭된 소스이미지를 블렌딩하는 제4연산처리 중 하나를 더 수행하는 것을 특징으로 하는 파노라마 이미지 생성 방법.
  4. 제3항에 있어서,
    상기 제1 연산처리는,
    상기 소스 이미지를 복수 개의 영역을 분할하는 단계;
    상기 분할된 소스 이미지들을 상기 복수 개의 서브프로세서에 할당하여 블러링을 수행하는 단계;
    상기 블러링된 소스 이미지들을 복수 개의 영역으로 분할하는 단계;
    상기 분할된 소스 이미지들을 상기 복수 개의 서브 프로세서에 할당하여 가우시안 차를 연산하는 단계; 및,
    상기 연산된 가우시안 차를 이용하여 상기 특징점 데이터를 산출하는 단계;를 포함하는 것을 특징으로 파노라마 이미지 생성방법.
  5. 제3항에 있어서,
    상기 제2 연산처리는,
    상기 특징점 데이터들 각각에 대하여 매칭탐색을 위한 탐색트리를 구조화하는 단계;
    상기 구조화된 탐색트리를 상기 복수 개의 서브 프로세서에 각각 할당하여 탐색트리의 가지 단위로 순회하는 단계; 및,
    상기 순회를 통해 상기 특징점 데이터들을 매칭시키는 단계;를 포함하는 것을 특징으로 하는 파노라마 이미지 생성방법.
  6. 제3항에 있어서,
    상기 제3 연산처리는,
    상기 소스 이미지를 복수 개의 영역으로 분할하는 단계;
    상기 분할된 영역 중 상기 특징점 데이터와 관련된 영역을 복수 개의 서브 프로세서에 할당하여 생성될 파노라마 이미지상의 목표 좌표값에 해당하는 소스 좌표값을 산출하는 단계;
    상기 목표 좌표값에 산출된 소스좌표값의 소스 이미지를 적용하여 복수 개의 영역으로 분할하는 단계;
    상기 분할된 소스 이미지들을 복수 개의 서브 프로세서에 할당하여 보간처리를 수행하는 단계; 및,
    상기 보간처리에 의해 스티칭된 소스 이미지를 생성하는 단계;포함하는 것을 특징으로 하는 파노라마 이미지 생성방법.
  7. 제3항에 있어서,
    상기 제4 연산처리는,
    상기 스티칭된 소스 이미지를 라인별로 분할하는 단계;
    상기 분할된 라인들의 시작어드레스를 복수 개의 서브 프로세서에 할당하여 이미지 축소 또는 확대를 수행하는 단계;
    상기 라인별로 이미지 축소 또는 확대된 상기 스티칭된 소스 이미지를 취합하여 파노라마 이미지를 생성하는 단계;를 포함하는 것을 특징으로 하는 파노라마 이미지 생성방법.
  8. 제1항에 있어서,
    상기 분할된 데이터는, 상기 복수 개의 서브 프로세서에 라운드 로빈 방식에 의해 할당되는 것을 특징으로 하는 파노라마 이미지 생성방법.
  9. 파노라마 이미지 생성 장치에 있어서,
    복수 개의 서브 프로세서; 및,
    파노라마 이미지로 처리할 데이터를 복수 개의 영역으로 분할하고, 상기 분할된 데이터를 복수 개의 서브 프로세서에 할당하여 병렬적으로 처리하도록 하는 메인 프로세서;를 포함하며,
    상기 복수 개의 서브 프로세서는,
    상기 메인 프로세서로부터 할당된 각각의 데이터에 대한 처리 및 제1연산처리를 통해 각각의 데이터에 대한 소스 이미지들별 특징점 데이터를 산출하며,
    상기 산출된 각각의 소스 이미지들별 특징점 데이터에 기초하여 상기 처리된 각각의 데이터에 대한 소스 이미지들을 취합하는 것을 특징으로 하는 파노라마 이미지 생성장치.
  10. 제9항에 있어서,
    상기 메인 프로세서는,
    파노라마 이미지 처리 프로세스의 각 서브 프로세스마다 상기 분할 및 할당 작업을 수행하는 것을 특징으로 하는 파노라마 이미지 생성장치.
  11. 제10항에 있어서,
    상기 서브 프로세스는,
    상기 산출된 특징점 데이터들을 매칭시키는 제2연산처리, 상기 매칭된 특징점 데이터들을 이용하여 상기 복수 개의 소스이미지를 스티칭하는 제3연산처리, 및, 상기 스티칭된 소스이미지를 블렌딩하는 제4연산처리 중 하나를 더 수행하는 것을 특징으로 하는 파노라마 이미지 생성장치.
  12. 제11항에 있어서,
    상기 제1 연산처리는,
    상기 메인프로세서에서 상기 소스 이미지를 복수 개의 영역을 분할하여 상기 분할된 소스 이미지들을 상기 복수 개의 서브프로세서에 할당하면, 상기 복수 개의 서브프로세서에서 블러링을 수행하고, 상기 메인프로세서에서 상기 블러링된 소스 이미지들을 복수 개의 영역으로 분할하여 상기 분할된 소스 이미지들을 상기 복수 개의 서브 프로세서에 할당하면, 상기 복수 개의 서브프로세서에서 가우시안 차를 연산하여 상기 특징점 데이터를 산출하는 처리인 것을 특징으로 파노라마 이미지 생성장치.
  13. 제11항에 있어서,
    상기 제2 연산처리는,
    상기 메인프로세서에서 특징점 데이터들 각각에 대하여 매칭탐색을 위한 탐색트리를 구조화하여 상기 구조화된 탐색트리를 상기 복수 개의 서브 프로세서에 각각 할당하면, 상기 복수 개의 서브 프로세서에서 탐색트리의 가지 단위로 순회하여 상기 특징점 데이터들을 매칭시키는 처리인 것을 특징으로 하는 파노라마 이미지 생성장치.
  14. 제11항에 있어서,
    상기 제3 연산처리는,
    상기 메인프로세서에서 상기 소스 이미지를 복수 개의 영역으로 분할하여 상기 분할된 영역 중 상기 특징점 데이터와 관련된 영역을 복수 개의 서브 프로세서에 할당하면, 상기 복수 개의 서브 프로세서에서 상기 파노라마 이미지상의 목표 좌표값에 해당하는 소스 좌표값을 산출하고, 상기 메인프로세서에서 상기 목표 좌표값에 산출된 소스좌표값의 소스 이미지를 적용하여 복수 개의 영역으로 분할하고, 상기 분할된 소스 이미지들을 복수 개의 서브 프로세서에 할당하면, 상기 복수 개의 서브 프로세서에서 보간처리를 수행하여 상기 스티칭된 소스 이미지를 생성하는 처리인 것을 특징으로 하는 파노라마 이미지 생성장치.
  15. 제11항에 있어서,
    상기 제4 연산처리는,
    상기 메인프로세서에서 상기 스티칭된 소스 이미지를 라인별로 분할하고 상기 분할된 라인들의 시작어드레스를 복수 개의 서브 프로세서에 할당하면, 상기 복수 개의 서브 프로세서에서 이미지 축소 또는 확대를 수행하고, 상기 메인프로세서에서 상기 라인별로 이미지 축소 또는 확대된 상기 스티칭된 소스 이미지를 취합하여 파노라마 이미지를 생성하는 처리인 것을 특징으로 하는 파노라마 이미지 생성장치.
  16. 제9항에 있어서,
    상기 분할된 데이터는, 상기 복수 개의 서브 프로세서에 라운드 로빈 방식에 의해 할당되는 것을 특징으로 하는 파노라마 이미지 생성장치.
KR1020080036115A 2008-04-18 2008-04-18 파노라마 이미지 생성장치 및 그 방법 KR101473215B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080036115A KR101473215B1 (ko) 2008-04-18 2008-04-18 파노라마 이미지 생성장치 및 그 방법
US12/350,417 US20090262180A1 (en) 2008-04-18 2009-01-08 Apparatus for generating panoramic images and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080036115A KR101473215B1 (ko) 2008-04-18 2008-04-18 파노라마 이미지 생성장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090110550A KR20090110550A (ko) 2009-10-22
KR101473215B1 true KR101473215B1 (ko) 2014-12-17

Family

ID=41200782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080036115A KR101473215B1 (ko) 2008-04-18 2008-04-18 파노라마 이미지 생성장치 및 그 방법

Country Status (2)

Country Link
US (1) US20090262180A1 (ko)
KR (1) KR101473215B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017142182A1 (ko) * 2016-02-17 2017-08-24 삼성전자 주식회사 이미지 처리 방법 및 이를 지원하는 전자 장치
US10999501B2 (en) 2015-06-24 2021-05-04 Samsung Electronics Co., Ltd. Electronic device and method for controlling display of panorama image

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5218071B2 (ja) * 2009-01-07 2013-06-26 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
TW201215126A (en) * 2010-09-27 2012-04-01 Hon Hai Prec Ind Co Ltd Image dividing system for cameras and using method of the same
US8736695B2 (en) * 2010-11-12 2014-05-27 Qualcomm Incorporated Parallel image processing using multiple processors
CN103150148B (zh) * 2013-03-06 2016-06-01 中国科学院对地观测与数字地球科学中心 一种基于任务树的大尺度遥感影像并行镶嵌方法
KR101464218B1 (ko) * 2014-04-25 2014-11-24 주식회사 이오씨 파노라마 카메라 영상 처리 장치 및 방법
US9881408B2 (en) * 2015-07-30 2018-01-30 David Sarma Digital signal processing for image filtering field
US10319131B2 (en) * 2015-07-30 2019-06-11 David Sarma Digital signal processing for image filtering field
WO2017120379A1 (en) * 2016-01-06 2017-07-13 360fly, Inc. Modular panoramic camera systems
WO2018060334A1 (en) * 2016-09-29 2018-04-05 Koninklijke Philips N.V. Image processing
CN107959769B (zh) * 2016-10-17 2020-03-13 杭州海康威视数字技术股份有限公司 一种摄像机
CN110246081B (zh) * 2018-11-07 2023-03-17 浙江大华技术股份有限公司 一种图像拼接方法、装置及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073538A (ja) * 2000-08-25 2002-03-12 Canon Inc データ処理回路及びそれを用いた電子機器並びに制御方法
JP2004289631A (ja) 2003-03-24 2004-10-14 Fuji Photo Film Co Ltd デジタルカメラ
JP2007503059A (ja) 2003-08-18 2007-02-15 エヌビディア・コーポレーション マルチプロセッサ・グラフィックス処理システムの適応型負荷分散
JP2007267349A (ja) * 2006-03-03 2007-10-11 Victor Co Of Japan Ltd 分割画像処理システム及びそれに用いる固体撮像装置と再生装置並びにプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5025369A (en) * 1988-08-25 1991-06-18 David Schwartz Enterprises, Inc. Computer system
US7382399B1 (en) * 1991-05-13 2008-06-03 Sony Coporation Omniview motionless camera orientation system
US5563650A (en) * 1992-11-24 1996-10-08 Geeris Holding Nederland B.V. Method and device for producing panoramic images, and a method and device for consulting panoramic images
US6549681B1 (en) * 1995-09-26 2003-04-15 Canon Kabushiki Kaisha Image synthesization method
JPH10178564A (ja) * 1996-10-17 1998-06-30 Sharp Corp パノラマ画像作成装置及び記録媒体
US6346998B2 (en) * 1996-11-20 2002-02-12 Fuji Photo Film Co., Ltd. Picture image outputting method and photograph finishing system using the method
US6415373B1 (en) * 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
JP4345937B2 (ja) * 1998-11-10 2009-10-14 キヤノン株式会社 画像拡大処理回路
US7477284B2 (en) * 1999-09-16 2009-01-13 Yissum Research Development Company Of The Hebrew University Of Jerusalem System and method for capturing and viewing stereoscopic panoramic images
US6831677B2 (en) * 2000-02-24 2004-12-14 Yissum Research Development Company Of The Hebrew University Of Jerusalem System and method for facilitating the adjustment of disparity in a stereoscopic panoramic image pair
US6798923B1 (en) * 2000-02-04 2004-09-28 Industrial Technology Research Institute Apparatus and method for providing panoramic images
US7298392B2 (en) * 2003-06-26 2007-11-20 Microsoft Corp. Omni-directional camera design for video conferencing
US7409105B2 (en) * 2003-10-22 2008-08-05 Arcsoft, Inc. Panoramic maker engine for a low profile system
JP4590304B2 (ja) * 2004-08-18 2010-12-01 キヤノン株式会社 画像撮影再生装置及びデータ処理方法
US7239805B2 (en) * 2005-02-01 2007-07-03 Microsoft Corporation Method and system for combining multiple exposure images having scene and camera motion
US7460730B2 (en) * 2005-08-04 2008-12-02 Microsoft Corporation Video registration and image sequence stitching
KR100724134B1 (ko) * 2006-01-09 2007-06-04 삼성전자주식회사 이미지 매칭 속도와 블렌딩 방법을 개선한 파노라마 영상제공 방법 및 장치
GB2444533B (en) * 2006-12-06 2011-05-04 Sony Uk Ltd A method and an apparatus for generating image content
US7969444B1 (en) * 2006-12-12 2011-06-28 Nvidia Corporation Distributed rendering of texture data
US20080180520A1 (en) * 2007-01-26 2008-07-31 Chao-Hung Chang System and method for variable-resolution image saving
JP4377932B2 (ja) * 2007-07-26 2009-12-02 株式会社モルフォ パノラマ画像生成装置およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073538A (ja) * 2000-08-25 2002-03-12 Canon Inc データ処理回路及びそれを用いた電子機器並びに制御方法
JP2004289631A (ja) 2003-03-24 2004-10-14 Fuji Photo Film Co Ltd デジタルカメラ
JP2007503059A (ja) 2003-08-18 2007-02-15 エヌビディア・コーポレーション マルチプロセッサ・グラフィックス処理システムの適応型負荷分散
JP2007267349A (ja) * 2006-03-03 2007-10-11 Victor Co Of Japan Ltd 分割画像処理システム及びそれに用いる固体撮像装置と再生装置並びにプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10999501B2 (en) 2015-06-24 2021-05-04 Samsung Electronics Co., Ltd. Electronic device and method for controlling display of panorama image
WO2017142182A1 (ko) * 2016-02-17 2017-08-24 삼성전자 주식회사 이미지 처리 방법 및 이를 지원하는 전자 장치
KR20170096736A (ko) * 2016-02-17 2017-08-25 삼성전자주식회사 이미지 처리 방법 및 이를 지원하는 전자 장치
US20190037138A1 (en) * 2016-02-17 2019-01-31 Samsung Electronics Co., Ltd. Method for processing image and electronic device for supporting same
US10868959B2 (en) 2016-02-17 2020-12-15 Samsung Electronics Co., Ltd. Method for processing image and electronic device for supporting same
KR102460906B1 (ko) * 2016-02-17 2022-11-01 삼성전자주식회사 이미지 처리 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
KR20090110550A (ko) 2009-10-22
US20090262180A1 (en) 2009-10-22

Similar Documents

Publication Publication Date Title
KR101473215B1 (ko) 파노라마 이미지 생성장치 및 그 방법
EP3457683A1 (en) Dynamic generation of image of a scene based on removal of undesired object present in the scene
EP2403235B1 (en) Image correction device and image correction method
CN104486537B (zh) 光场采集控制方法和装置
CN107077742B (zh) 一种图像处理装置和方法
JP2018174502A (ja) 撮像装置、画像処理装置、撮像装置の制御方法およびプログラム
CN108447105A (zh) 一种全景图像的处理方法及装置
CN106296574A (zh) 三维照片生成方法和装置
JP2013061850A (ja) ノイズ低減のための画像処理装置及び画像処理方法
KR101270173B1 (ko) 디지털 이미지에서 특징점을 추출하는 방법 및 장치
JP2019175112A (ja) 画像処理装置、撮像装置、画像処理方法、及びプログラム
CN112446951A (zh) 三维重建方法、装置、电子设备及计算机存储介质
JP7129201B2 (ja) 画像処理装置、撮像装置、画像処理方法、及びプログラム
TW201732733A (zh) 圖片處理方法和裝置
JP6306952B2 (ja) 中間視点画像生成装置、中間視点画像生成方法及びコンピュータプログラム
KR20160115043A (ko) 영상 촬영 장치의 촬영 속도 증가 방법
WO2017096859A1 (zh) 照片的处理方法及装置
CN111369481B (zh) 图像融合方法、装置、存储介质和电子设备
JP6835227B2 (ja) 画像処理装置、画像処理方法およびコンピュータプログラム
JP6602412B2 (ja) 情報処理装置及び方法、情報処理システム、ならびにプログラム。
CN113837979B (zh) 直播图像合成方法、装置、终端设备以及可读存储介质
KR101920159B1 (ko) 지원점 보간법을 이용한 스테레오 매칭 방법 및 장치
KR101715470B1 (ko) 집적영상 현미경 장치 및 심도범위 개선 방법
JP4539203B2 (ja) 画像処理方法および画像処理装置
JP4624179B2 (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: 20191210

Year of fee payment: 6