KR100934211B1 - How to create a panoramic image on a mobile device - Google Patents

How to create a panoramic image on a mobile device Download PDF

Info

Publication number
KR100934211B1
KR100934211B1 KR1020080033942A KR20080033942A KR100934211B1 KR 100934211 B1 KR100934211 B1 KR 100934211B1 KR 1020080033942 A KR1020080033942 A KR 1020080033942A KR 20080033942 A KR20080033942 A KR 20080033942A KR 100934211 B1 KR100934211 B1 KR 100934211B1
Authority
KR
South Korea
Prior art keywords
image
feature point
matching
panoramic image
camera
Prior art date
Application number
KR1020080033942A
Other languages
Korean (ko)
Other versions
KR20090108495A (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 KR1020080033942A priority Critical patent/KR100934211B1/en
Publication of KR20090108495A publication Critical patent/KR20090108495A/en
Application granted granted Critical
Publication of KR100934211B1 publication Critical patent/KR100934211B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 휴대용 단말기의 파노라마 이미지 생성 방법에 관한 것으로서, 종래의 특징점 추출(SIFT) 과정을 개선하여 촬영 이미지에서 특징점을 빠르게 추출할 수 있도록 하는 동시에 더욱 정확한 이미지 매칭이 이루어질 수 있도록 하며, 또한 렌더링 과정을 개선하여 픽셀 위치값 등의 계산량 감소 및 계산 시간 단축이 가능하도록 함으로써, 휴대용 단말기의 제한된 CPU 성능과 메모리 환경에서도 고속으로 파노라마 이미지를 생성할 수 있도록 한 휴대용 단말기의 파노라마 이미지 생성 방법에 관한 것이다.The present invention relates to a method for generating a panoramic image of a portable terminal, and to improve the conventional feature extraction (SIFT) process to quickly extract the feature point from the captured image and at the same time more accurate image matching, and also the rendering process The present invention relates to a method for generating a panoramic image of a portable terminal, which can generate a panoramic image at a high speed even in a limited CPU performance and a memory environment of the portable terminal by reducing a calculation amount and a calculation time such as a pixel position value.

휴대용 단말기, 휴대폰, 모바일 장치, 파노라마, 특징점 추출, SIFT, RANSAC, 렌더링 Handheld Terminals, Mobile Phones, Mobile Devices, Panoramas, Feature Extraction, SIFT, RANSAC, Rendering

Description

휴대용 단말기의 파노라마 이미지 생성 방법{Panorama Image Generating Method for Portable Terminal}Panorama Image Generating Method for Portable Terminal

본 발명은 휴대용 단말기의 파노라마 이미지 생성 방법에 관한 것으로서, 더욱 상세하게는 휴대용 단말기의 제한된 CPU 성능과 메모리 환경에서도 고속으로 파노라마 이미지를 생성할 수 있는 파노라마 이미지 생성 방법에 관한 것이다.The present invention relates to a panoramic image generating method of a portable terminal, and more particularly, to a panoramic image generating method capable of generating a panoramic image at high speed even in a limited CPU performance and memory environment of the portable terminal.

오늘날 정보통신분야의 눈부신 발전에 따라 이동통신단말기는 현대사회에서 필수품으로 생각될 만큼 많이 사용되고 있다. 아울러 저변확대에 따른 수요자들의 다양한 요구에 따라 일반적 음성통화기능 외에도 새로운 기능들이 이동통신단말기에 부가되고 있다. 최근에는 풍경사진 촬영용으로 각광받고 있는 파노라마(Panorama) 사진을 촬영할 수 있는 카메라가 내장된 이동통신단말기가 소개되고 있다.With the remarkable developments in the information and telecommunications field, mobile communication terminals are used so much that they are considered essential in modern society. In addition, in addition to the general voice call function, new functions are being added to the mobile communication terminal according to various demands of the users due to the expansion of the base. Recently, a mobile communication terminal with a built-in camera capable of taking panorama pictures, which are in the spotlight for landscape photography, has been introduced.

일반적으로 파노라마 사진이라 함은 하나의 사진 속에 많은 풍경을 담기 위해 촬영방향을 회전시키면서 여러 회에 걸쳐 촬영한 다수 장의 부분사진을 길게 연 결한 사진을 말한다. 즉, 한 번의 촬영으로 원하는 화면을 전부 촬영하지 못하는 경우 카메라를 회전시키면서 여러 번 촬영하여 얻은 사진들을 합성하여 얻은 전체 사진을 의미하는 것이다. In general, a panorama photograph refers to a photograph in which a plurality of partial photographs taken a plurality of times while rotating the photographing direction to contain many landscapes in one photograph are long connected. In other words, when a single shot does not capture all the desired screen, it means the entire photo obtained by synthesizing the photos obtained by taking several shots while rotating the camera.

상기와 같이 파노라마 기술은 여러 장의 이미지를 이용해 하나의 전체 장면으로 만들어 내는 기술로서, 동일한 대상을 여러 장의 사진으로 나누어 찍고 이를 연결하여 자연스러운 하나의 큰 영상으로 합성하는 일련의 과정들을 의미하며, 한 장의 사진으로 담기 어려운 넓은 영역의 풍경이나 매우 큰 대상을 분할 촬영 및 합성하여 고해상도의 이미지를 취득할 수 있도록 한다.As described above, panorama technology is a technology that creates a single whole scene using multiple images. It refers to a series of processes of dividing the same object into multiple pictures and combining them into a single natural large natural image. High resolution images can be obtained by segmenting and synthesizing landscapes or very large objects that are difficult to capture in photographs.

하지만 파노라마 기술에서 두 개의 이미지를 정합할 때 생기는 노이즈는 자연스러운 파노라마 이미지의 생성을 어렵게 한다. 즉, 이미지의 연결부분에서 두 개의 접합점이 잘 들어맞지 않아서 생기는 부자연스러움과 이미지 정보 손실 등으로 인해 파노라마 기능이 가지는 다양한 장점들을 제대로 살리지 못하는 것이다. 여러 장의 사진을 하나의 파노라마 이미지로 정합하는 것은 그리 간단하지 않으며, 사진의 연결부분에서 자연스러운 이미지가 손실되어 파노라마의 장점을 충분히 살리지 못하는 문제점이 있다. However, the noise generated when matching two images in panorama technology makes it difficult to produce a natural panorama image. In other words, due to unnaturalness and loss of image information due to misalignment of two junctions in an image connection part, various advantages of the panorama function are not properly utilized. Matching multiple photos into a single panoramic image is not very simple, and there is a problem in that the natural image is lost at the connection part of the photo so that the advantages of the panorama are not fully utilized.

또한 선행 이미지의 잔상과 이어지는 이미지를 비교하기가 매우 힘들고, 사용자가 임의로 설정하여 파노라마를 생성하기 때문에 많은 오류가 생길 수 있으며, 결국 정교한 파노라마 이미지의 생성이 불가능하다.In addition, it is very difficult to compare the afterimage of the preceding image with the subsequent image, and a lot of errors may occur because the user arbitrarily sets the panorama to generate the panorama image, and thus it is impossible to generate a sophisticated panorama image.

이에 따라 다양한 방법 및 기술들이 개발되어 사용되고 있다.Accordingly, various methods and techniques have been developed and used.

예컨대, 이미지들을 합성하는 과정에서 특징 기반 방법(SIFT)을 이용할 수 있는데, 정교한 파노라마 이미지의 생성을 위해 공간 투영 변환 방법인 SIFT(Scale Invariant Feature Transform) 기술, 변환된 영상의 정렬을 위한 특징점 매칭(Feature Match) 기술, RANSAC(Random Sample Consensus) 기술, 정렬된 영상 간의 합성 방법인 번들 조정(Bundle Adjustment), 렌더링(Rendering) 기술 등과 같은 복잡한 계산 및 기술들이 사용되고 있다. For example, a feature-based method (SIFT) may be used in synthesizing images.Scale Invariant Feature Transform (SIFT) technology, which is a spatial projection transformation method for generating a sophisticated panorama image, and feature point matching for aligning the transformed image ( Complex calculations and techniques such as Feature Match (RANDAC) technology, Random Sample Consensus (RANSAC) technology, Bundle Adjustment, Rendering technology, etc.

여기서, SIFT는 이미지에서 특징점 정보를 찾는 파노라마의 핵심기술이라 할 수 있으며, 해당 이미지에서 이미지 합성을 위해 필요한 특정 위치의 정보를 포함하고 있는 특징점 정보를 추출하는 과정이다. SIFT 과정에서 이미지로부터 검출된 특징점 정보는 그래디언트(Gradient) 정보들을 분석하여 얻은 방향정보를 포함한다. Here, SIFT may be referred to as a core technology of a panorama that finds feature point information in an image, and is a process of extracting feature point information including information of a specific position necessary for image synthesis. The feature point information detected from the image in the SIFT process includes direction information obtained by analyzing gradient information.

또한 특징점 매칭은 이미지에서 찾은 특징점들의 정보를 이용하여 두 이미지 간에 일치하는 특징점들을 매칭시킴으로써 이미지를 연결해주는 과정이다. 특징점 매칭 과정에서 특징점의 정보들을 연결해주는 작업을 했다면 RANSAC은 잘못된 연결정보들을 제거하는 과정이며, 번들 조정은 SIFT, 특징점 매칭, RANSAC 과정을 거쳐 얻어진 연결정보(Matches)를 이용하여 각 이미지가 새로운 파노라마 이미지에 위치하게 될 회전각(Rotation), 초점 거리(Focal Length) 정보를 구하는 과정이다. 또한 렌더링은 입력 이미지들을 붙여 합성하는 과정으로, 번들 조정에서 생성된 이미지의 위치정보 값을 이용하여 하나의 파노라마 이미지를 생성하게 된다.Also, feature point matching is a process of connecting images by matching feature points that match between two images using information of feature points found in the image. RANSAC removes the wrong connection information if the feature point matching process is related to the feature point matching process, and bundle adjustment is the new panorama by using the match information obtained through SIFT, feature point matching and RANSAC process. The process of obtaining rotation angle and focal length information to be located in an image. In addition, rendering is a process of combining input images to generate a panoramic image by using the location information value of the image generated by the bundle adjustment.

렌더링 과정에서 SIFT를 이용한 매칭된 이미지를 붙이는 방식이 스티칭(Stitching)이며, 이러한 스티칭 방식은 이미지의 매칭 작업을 수행함으로써 이 미지의 겹쳐보이는 문제를 최소화하면서 더욱 정확한 결과물을 얻을 수 있다는 장점이 있다. 스티칭 과정에서 블렌딩(Blending) 없이 이미지를 단순히 붙이거나(No Blending), 중첩영역에 대한 블렌딩을 수행하여 이미지 간 경계선을 제거하는 작업이 이루어질 수 있다. Stitching is a method of pasting a matched image using SIFT in the rendering process, and this stitching method has an advantage of obtaining more accurate results while minimizing the overlapping problem of images by performing matching of images. In the stitching process, an image may be removed by simply attaching an image without blending (No Blending) or by performing blending on an overlapping region to remove boundary lines between the images.

여러 이미지를 합성하는 렌더링 과정에서 약간의 정렬 오류 또는 노출 차이로 인해 이미지 간 경계부분이 선명하게 드러나게 되는데, 이러한 것을 제거하는 것이 블렌딩이며, 합성하려는 입력 이미지의 컬러값의 평균값으로 두 이미지의 중첩영역을 표현하는 선형 블렌딩(Linear Blending) 방법이 널리 이용되고 있다. In the process of compositing multiple images, a slight misalignment or difference in exposure results in sharp edges between the images. Removing them is blending, and the overlapping area of the two images is the average of the color values of the input image to be synthesized. Linear blending method for expressing is widely used.

결국, 하나의 파노라마 이미지를 생성하기 위하여, 합성하려는 임의의 이미지들이 주어졌을 때 SIFT를 이용해 각 이미지들의 특징점 정보들을 추출하여 어느 영상들이 연결되어야 하는지를 알아내고, RANSAC을 이용해 연결되어야 할 영상들 중 가장 잘 매칭되는 것들을 찾아 두 영상의 일치하는 요소들만을 찾은 뒤 번들 조정을 거쳐 렌더링을 통해 영상들을 합성하게 된다.After all, in order to create a panoramic image, given arbitrary images to be synthesized, SIFT is used to extract feature point information of each image to find out which images should be connected, and the most of the images to be connected using RANSAC. It finds the ones that match well, finds only the matching elements of the two images, adjusts the bundle, and synthesizes the images through rendering.

한편, 상기와 같은 파노라마 생성 과정에서는 복잡한 계산 및 과정을 수행해야 하므로 고성능의 PC를 필요로 하며, 고성능의 PC를 이용하는 경우 촬영방향 및 촬영순서의 제한 없이 카메라에 의해 촬영된 다수의 입력 이미지들을 이용하여 하나의 파노라마 이미지를 무난히 생성할 수 있다.On the other hand, the above-described panorama generation process requires a high-performance PC because complex calculations and processes must be performed, and in the case of using a high-performance PC, a plurality of input images captured by the camera are used without restriction in the shooting direction and shooting order. To create a single panoramic image.

즉, 고성능의 PC를 사용하면 이미지 획득 과정에서 카메라의 촬영방향 및 촬영순서를 단방향 및 특정 순서로 고정하지 않아도 되며, 촬영한 사진들의 겹치는 영역 제한 없이 순서 없는 2차원 이미지 입력 방식의 파노라마 생성 작업을 수행할 수 있다. 또한 고성능으로 인해 스티칭 및 블렌딩 등에서 정교한 영상처리가 가능해진다. In other words, if you use a high-performance PC, you do not need to fix the camera's shooting direction and shooting order in one direction and in a specific order during the image acquisition process. Can be done. High performance also enables sophisticated image processing in stitching and blending.

따라서, 대부분의 경우 고해상도 파노라마 이미지를 얻기 위해 카메라 단말기 자체에서 파노라마를 제작하는 것보다 카메라로 파노라마 제작용 입력 이미지들을 미리 촬영해놓고 이들을 PC로 보내어 PC 프로그램에서 처리하는 것이 이용되고 있다. Therefore, in most cases, in order to obtain a high resolution panoramic image, rather than producing a panorama in the camera terminal itself, it is used to take the input image for making a panorama with the camera in advance and send them to a PC to process in a PC program.

하지만 고사양의 PC가 아닌 저사양의 PPC나 PDA, 스마트폰, 휴대폰 등과 같은 모바일 장치에서는, 일반적인 PC 환경과 달리 제한된 CPU 성능과 메모리를 가지므로, 기기 내에서 자체적으로 PC와 같은 정밀한 파노라마 작업을 수행하는 것은 사실상 불가능하며, 시간 및 속도 등에서 많은 불리함이 있다. However, mobile devices such as low-end PPCs, PDAs, smartphones, mobile phones, etc., which are not high-end PCs, have limited CPU performance and memory, unlike general PC environments. This is virtually impossible and there are many disadvantages in terms of time and speed.

실제로 카메라가 내장된 휴대폰 등에서 파노라마를 구현할 수 있는 제품이 출시되고는 있지만, 모바일 장치에서 제작되는 종래의 파노라마의 경우, 정확한 자동 매칭 기술의 부재로 사용자 촬영 기술에 많이 의존함으로써 사용자 실수가 있으면 이미지 간 정확한 매칭이 잘 되지 않고, 이에 촬영 이미지들을 단순히 스티칭하는 제한된 성능만을 구현할 수 있다. 이와 같이 모바일 장치에서의 파노라마 생성은 수행 시간이 오래 걸린다는 것과 이미지 간의 매칭 정확도가 낮다는 단점이 있다.In fact, there are products that can implement panoramas in mobile phones with built-in cameras, but in the case of conventional panoramas produced in mobile devices, there is a lack of accurate automatic matching technology, so many users rely on user shooting technology. Accurate matching does not work well, and only limited capability of simply stitching the captured images can be realized. As described above, the panorama generation in the mobile device takes a long time to execute and the matching accuracy between images is low.

모바일 장치에서 매칭 정확도와 속도는 반비례하므로 파노라마 기술을 모바일 장치에 적용하기 위해서는 최적의 특징점을 찾아 정확도는 높이면서 속도는 줄이는 기법이 필요하다.Matching accuracy and speed are inversely proportional in mobile devices, so applying panorama technology to mobile devices requires a technique that finds the best feature points and increases accuracy while reducing speed.

이와 별도로 동영상 입력을 통해 실시간으로 파노라마를 제작하는 방법이 있으나, 동영상 사용에 따른 부수적인 요구사항 증가가 불가피하고, 움직임을 이용하는 파노라마 제작 특성상 카메라가 움직이는 동안 발생하는 블러(Blur) 현상으로 인해 선명한 이미지를 얻을 수 없다. 즉, 움직임 벡터를 이용해 이미지를 붙임으로써 초점이 흐려지는 것이다.Separately, there is a method of producing a panorama in real time through video input, but it is inevitable to increase the additional requirements according to the use of the video, and due to the blurring phenomenon that occurs while the camera is moving due to the panorama production characteristics using motion, a clear image Can't get it. In other words, the focus is blurred by pasting an image using a motion vector.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 발명한 것으로서, 종래의 특징점 추출(SIFT) 과정을 개선하여 촬영 이미지에서 특징점을 빠르게 추출할 수 있도록 하는 동시에 더욱 정확한 이미지 매칭이 이루어질 수 있도록 하며, 또한 렌더링 과정을 개선하여 픽셀 위치값 등의 계산량 감소 및 계산 시간 단축이 가능하도록 함으로써, 휴대용 단말기의 제한된 CPU 성능과 메모리 환경에서도 고속으로 파노라마 이미지를 생성할 수 있도록 한 휴대용 단말기의 파노라마 이미지 생성 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention has been invented to solve the above problems, by improving the conventional feature extraction (SIFT) process to be able to quickly extract the feature point in the captured image and at the same time more accurate image matching, In addition, by improving the rendering process, it is possible to reduce the calculation amount and the calculation time of the pixel position value, and so on. The purpose is to provide.

상기한 목적을 달성하기 위해, 본 발명은, 카메라에 의해 이미지들이 촬영되는 이미지 획득 과정, 촬영된 입력 이미지에서 특징점 정보들을 추출하는 특징점 추출 과정, 특징점 정보들을 이용하여 입력 이미지 간 연결 및 정렬을 수행하는 특징점 매칭 과정, 두 입력 이미지 간 연결 오류를 제거하는 매칭 오류 제거 과정, 이미지 간 매칭되는 정보를 이용하여 이미지들을 결합하기 위한 카메라 값을 구하는 번들 조정 과정, 및 카메라 값 데이터를 이용하여 입력 이미지들을 파노라마 이미지 공간에서 정렬하고 중첩영역을 블렌딩하여 하나의 파노라마 이미지를 생성하는 렌더링 과정으로 진행되는 휴대용 단말기의 파노라마 이미지 생성 방법에 있어서,In order to achieve the above object, the present invention, the image acquisition process that the images are taken by the camera, the feature point extraction process for extracting feature point information from the photographed input image, the connection and alignment between the input image using the feature point information A feature point matching process, a matching error elimination process for eliminating a connection error between two input images, a bundle adjustment process for obtaining camera values for combining images using matching information between images, and input image using camera value data In the panoramic image generation method of a portable terminal which is arranged in a panoramic image space and blending the overlapping area to generate a single panoramic image,

상기 렌더링 과정에서, 각 입력 이미지에 대한 파노라마 이미지 공간에서의 렌더링 수행 영역이 설정되면, 설정된 렌더링 수행 영역 내 정해진 픽셀들에 대해서만 카메라 값 데이터를 이용한 매트릭스 계산을 수행하여 입력 이미지 공간에서의 대응 픽셀 위치값을 계산하고, 나머지 픽셀들에 대해서는 계산된 상기 위치값으로부터 선형 보간법을 이용해 입력 이미지 공간에서의 상대적인 대응 픽셀 위치값을 계산하며, 이후 파노라마 이미지 공간의 렌더링 수행 영역에서 각 픽셀 위치값 좌표에 입력 이미지의 대응된 각 픽셀 값을 복사한 뒤 중첩영역의 블렌딩을 수행하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법을 제공한다.In the rendering process, when a rendering region is set in the panoramic image space for each input image, a matrix calculation using camera value data is performed on only predetermined pixels in the set rendering region, thereby corresponding pixel position in the input image space. Calculates a value, and calculates a relative corresponding pixel position value in the input image space using linear interpolation from the calculated position values for the remaining pixels, and then inputs each pixel position value coordinate in the rendering area of the panoramic image space. The present invention provides a method for generating a panoramic image of a portable terminal, characterized by copying corresponding pixel values of an image and performing blending of overlapping regions.

바람직한 실시예에서, 상기 이미지 획득 과정은, In a preferred embodiment, the image acquisition process,

사용자가 카메라로 첫 번째 이미지를 촬영하는 단계와;The user taking a first image with a camera;

상기 첫 번째 촬영 이미지가 입력되면 단말기의 디스플레이부에 촬영방향 결정 화면이 표시되는 단계와;Displaying a shooting direction determination screen on a display unit of the terminal when the first shot image is input;

사용자가 단말기의 좌측 또는 우측 방향키를 조작하여 촬영방향을 결정하는 단계와;Determining a photographing direction by a user operating a left or right arrow key;

촬영방향이 결정되면 단말기의 파노라마 영상처리부가 첫 번째 촬영 이미지에서 다음 이미지가 겹쳐지게 되는 좌측 또는 우측의 정해진 일정 영역을 중첩 윈도우 영역으로 설정하고, 상기 중첩 윈도우 영역의 이미지를 디스플레이부의 화면 좌측 또는 우측에 표시하는 단계와;When the shooting direction is determined, the panoramic image processor of the terminal sets a predetermined predetermined area on the left or right where the next image is superimposed on the first captured image as an overlapping window area, and sets the image of the overlapping window area on the left or right side of the screen of the display unit. Marking on;

사용자가 카메라의 촬영방향을 좌측 또는 우측으로 이동시키되, 디스플레이부에 표시된 중첩 윈도우 영역의 이미지에 촬영 대상 사물의 동일부분을 겹쳐지게 한 뒤 두 번째 이미지를 촬영하는 단계와;The user moving the photographing direction of the camera to the left or the right, and superposing the same portion of the object to be photographed on the image of the overlapping window region displayed on the display unit, and then photographing the second image;

상기한 이미지 촬영 단계를 반복하여 파노라마 이미지 생성에 필요한 이미지 촬영을 완료하는 단계;를 포함하여 이루어지는 것을 특징으로 한다.And repeating the image capturing step to complete image capturing necessary for generating a panoramic image.

또한 상기 특징점 추출 과정에서 각 촬영 이미지의 좌측 및 우측의 일정 영역에 한정하여 특징점의 정보를 추출하는 것을 특징으로 한다.In addition, in the feature point extraction process, information on the feature point is extracted to be limited to a predetermined region on the left and right sides of each captured image.

상기와 같은 본 발명의 파노라마 이미지 생성 방법에 의하면, 종래의 특징점 추출(SIFT) 과정을 개선하여 촬영 이미지에서 특징점을 빠르게 추출할 수 있도록 하는 동시에 더욱 정확한 이미지 매칭이 이루어질 수 있도록 하며, 또한 렌더링 과정을 개선하여 픽셀 위치값 등의 계산량 감소 및 계산 시간 단축이 가능하도록 함으로써, 휴대용 단말기의 제한된 CPU 성능과 메모리 환경에서도 고속으로 파노라마 이미지를 생성할 수 있는 효과가 있다.According to the method for generating a panoramic image of the present invention as described above, the conventional feature point extraction (SIFT) process can be improved to quickly extract feature points from the captured image, and at the same time, more accurate image matching can be achieved, and the rendering process can be performed. As a result, the amount of calculation such as the pixel position value and the like can be reduced and the calculation time can be shortened, so that a panoramic image can be generated at high speed even in a limited CPU performance and a memory environment of the portable terminal.

또한 본 발명에서는 이전 촬영 이미지의 중첩 윈도우 이미지가 디스플레이부를 통해 표시되도록 하여 사용자가 중첩 윈도우 이미지를 이용해 다음 이미지를 보다 쉽고 정확히 촬영할 수 있게 된다.In addition, in the present invention, the overlapped window image of the previous photographed image is displayed through the display unit, so that the user can more easily and accurately photograph the next image using the overlapped window image.

이하, 첨부한 도면을 참조하여 본 발명에 대해 더욱 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in more detail with respect to the present invention.

본 발명은 휴대용 단말기의 파노라마 이미지 생성 방법에 관한 것으로, 동영상을 이용하지 않고 촬영한 사진들에서 특징점을 빠르게 추출하여 정교하게 매칭함으로써 휴대용 단말기에서 빠른 시간에 정확한 파노라마 이미지를 생성할 수 있는 방법에 관한 것이다. The present invention relates to a method of generating a panoramic image of a portable terminal, and to a method of generating a precise panoramic image in a short time by quickly extracting and precisely matching feature points from pictures taken without using a video. will be.

본 발명은 PC 없이 모바일 장치가 기기 자체적으로 실시간 파노라마 이미지를 생성할 수 있도록 제공되는 것으로, 휴대용 단말기의 제한된 CPU 성능과 메모리 환경에서도 고속으로 파노라마 이미지를 생성할 수 있으며, 카메라와 같은 촬영기기뿐만 아니라 카메라를 내장한 휴대폰, PDA(Personal Digital Assistance), 스마트폰, PMP(Portable Multimedia Player), 포켓 PC(Pocket PC), 게임기 등의 다양한 휴대용 단말기에 유용하게 적용될 수 있다.The present invention is provided so that a mobile device can generate a real-time panoramic image itself without a PC, and can generate a panoramic image at high speed even in a limited CPU performance and memory environment of the portable terminal, as well as a photographing device such as a camera It can be usefully applied to various portable terminals such as mobile phones, PDAs (Personal Digital Assistance), smart phones, portable multimedia players (PMPs), pocket PCs, and game machines with built-in cameras.

본 명세서에서는 설명의 간편함을 위해 본 발명이 카메라가 내장된 휴대폰에 적용되는 경우를 상정하여 설명하며, 이하의 설명 및 실시예에 의해 본 발명이 한정되는 것은 아님을 명심해야 한다.In the present specification, for convenience of description, it is assumed that the present invention is applied to a mobile phone with a built-in camera, and it should be noted that the present invention is not limited to the following description and examples.

첨부한 도 1은 본 발명의 파노라마 이미지 생성 방법이 적용될 수 있는 휴대용 단말기의 예를 도시한 도면으로서, 전면에 디스플레이부(예, LCD)(15)와 다수의 입력키(버튼)(11a)을 구비하고 카메라(16)를 내장한 휴대폰(10)의 예를 도시한 것이다.1 is a diagram illustrating an example of a portable terminal to which the method for generating a panoramic image of the present invention can be applied. The display unit (eg, LCD) 15 and a plurality of input keys (buttons) 11a are provided on a front surface thereof. The example of the mobile phone 10 provided with the camera 16 is shown.

첨부한 도 2는 본 발명의 파노라마 이미지 생성 방법이 적용될 수 있는 휴대용 단말기의 내부 구성도로서, 도시된 바와 같이, 파노라마 이미지 생성에 필요한 이미지들을 촬영하기 위한 카메라(16), 상기 카메라(16)에 의해 촬영된 입력 이미 지들로부터 파노라마 이미지를 생성하는 파노라마 영상처리부(13), 단말기(10)의 동작 전반을 제어하는 제어부(12)와, 입력키(도 1에서 도면부호 11a임)를 포함하는 기능조작부(11), 이미지를 표시하기 위한 디스플레이부(15), 및 이미지를 저장하기 위한 메모리부(14)를 주된 구성요소로 한다.2 is a diagram illustrating an internal configuration of a portable terminal to which the method for generating a panoramic image of the present invention can be applied. As shown in FIG. 2, a camera 16 and a camera 16 for capturing images necessary for generating a panoramic image are shown. Function including a panoramic image processing unit 13 for generating a panoramic image from the input images taken by the control unit, a control unit 12 for controlling the overall operation of the terminal 10, and an input key (reference numeral 11a in FIG. 1). The operation unit 11, the display unit 15 for displaying an image, and the memory unit 14 for storing an image are main components.

이러한 기기의 구성은 파노라마 제작이 가능한 기존 기기의 구성과는 큰 차이가 없으나, 기기 내에서 수행되는 본 발명의 파노라마 이미지 생성 과정은 후술하는 바와 같이 종래 과정과 비교하여 분명한 차이를 가진다. The configuration of the device is not significantly different from the configuration of an existing device capable of producing a panorama, but the panorama image generation process of the present invention performed in the device has a clear difference compared with the conventional process as described below.

도시한 휴대용 단말기에서 파노라마 생성 과정은, 카메라(16)로 촬영방향을 변경시키면서 촬영하여 파노라마 이미지 생성을 위한 여러 장의 사진 이미지를 획득하는 이미지 획득 과정, 획득된 이미지에서 이미지 합성을 위해 특정 위치의 정보를 포함하고 있는 특징점 정보들을 추출하는 특징점 추출 과정, 추출된 특징점 정보들을 이용한 두 이미지 간의 연결 및 정렬을 수행하는 특징점 매칭(SIFT) 과정, 두 이미지 간 연결 오류값을 제거하는 매칭 오류 제거(RANSAC) 과정, 이미지 간 연결정보(특징점 매칭으로부터 얻어진 이미지 간 매칭되는 정보)를 이용하여 정렬된 전체 이미지들을 파노라마 이미지 공간에 배치 및 결합하기 위한 각 이미지들의 카메라 값(회전각, 초점 거리 등)을 구하는 번들 조정(Bundle Adjustment) 과정, 상기 번들 조정 과정에서 계산된 카메라 값을 이용해 각 입력 이미지(촬영 이미지)들을 비어있는 파노라마 이미지 공간에 배치시켜 투영하고 블렌딩(Blending) 기법을 이용해 이미지 간 경계선을 부드럽게 해주어 하나의 파노라마 이미지로 합성해주는 렌더링(Rendering) 과정, 및 생성된 파노라마 이미지에서 테두리 부분을 잘라내어 최종의 파노라마 이미지를 획득하는 크롭(Crop) 과정을 포함하여 이루어진다. In the illustrated portable terminal, the panorama generation process includes an image acquisition process of acquiring a plurality of photographic images for generating a panorama image by photographing while changing a photographing direction with a camera 16, and information of a specific location for image synthesis from the acquired image. A feature point extraction process for extracting feature point information including a feature, a feature point matching (SIFT) process for performing linkage and alignment between two images using the extracted feature point information, and a matching error removal (RANSAC) to remove a connection error value between the two images. A bundle that obtains camera values (rotation angle, focal length, etc.) of each image for arranging and combining the entire aligned images in the panoramic image space using the process and the connection information between images (matching information obtained from feature matching). Bundle Adjustment process, calculated in the bundle adjustment process Rendering process that creates each input image (photographed image) in empty panoramic image space by using mera values and projects it, and blends them into one panoramic image by smoothing the boundary between images using blending technique. And a cropping process of cutting the edge portion of the panoramic image to obtain the final panoramic image.

이하, 본 발명의 파노라마 생성 과정에 대해 각 과정별로 상세히 설명하면 다음과 같다. Hereinafter, the panorama generation process of the present invention will be described in detail for each process.

모바일 장치에서는 일반 PC 환경과 달리 매칭 정확도와 속도가 반비례관계가 되며, 이를 해결하기 위해서 최적의 특징점을 찾아 정확도는 높이면서 속도를 줄이는 기법이 필요하다. 그러기 위해서 사용자가 카메라의 촬영방향을 단방향으로 고정하여 촬영하고, 촬영 이미지 간에 겹치는 부분을 정렬하여 스티칭 및 블렌딩하는 기법을 사용한다. Unlike a general PC environment, matching accuracy and speed are inversely related to each other in a general PC environment. To solve this problem, it is necessary to find an optimal feature point and increase the accuracy while reducing the speed. To this end, a user fixes a photographing direction of the camera in a unidirectional direction, and uses a technique of stitching and blending by aligning overlapping portions between photographed images.

여기서 사용하는 정렬 기법은 두 가지 방법을 사용하는데, 첫 번째 방법은 단순히 이미지들의 겹치는 영역을 기준으로 정렬한 뒤 블렌딩을 통해 이미지들의 겹치는 영역에 생기는 경계선을 자연스럽게 하는 것이다. 두 번째 방법은 첫 번째 방법에서 좀더 개선된 방법으로 카메라로 촬영할 경우에 발생하는 카메라 회전각을 계산하여 이미지를 정렬하는 방법이다. 이러한 방법들은 이미지를 단위로 하는 정렬 방법의 파노라마 이미지 촬영 기법이다.The alignment technique used here uses two methods. The first method simply sorts based on the overlapping areas of the images, and blends them to smooth the boundaries of the overlapping areas of the images. The second method is a more improved method of the first method, in which an image is aligned by calculating a camera rotation angle that occurs when shooting with a camera. These methods are panorama image capturing techniques of an image-based alignment method.

본 발명의 기술은 이미지 매칭 기법으로 모바일 환경에 최적화시킨 개선된 SIFT 기술을 이용하여 이미지 내부의 사물에서 특징점을 추출한 뒤 정확한 이미지 매칭 지점을 찾아 스티칭을 하고 블렌딩을 하는 파노라마 제작 기법으로, 파노라마 이미지 생성을 위해 사용자가 카메라의 촬영방향을 단방향으로 고정하여 촬영하는 것을 전제로 한다.The technique of the present invention is a panorama production technique that extracts a feature point from an object in an image using an improved SIFT technique optimized for a mobile environment with an image matching technique, finds an exact image matching point, stitches, and blends the image, and generates a panorama image. For this purpose, it is assumed that the user fixes the photographing direction of the camera in one direction.

즉, 이미지 획득 단계에서, 사용자는 휴대용 단말기에 내장된 카메라의 촬영방향을 좌측 또는 우측의 어느 한 방향으로만 이동시켜 인물 또는 풍경 등의 대상을 촬영해야 하며, 이는 첨부한 도 3에 나타낸 바와 같다. 도 3은 본 발명에서 촬영방향 및 순서를 설명하기 위한 도면으로서, (a)는 종래의 입력 이미지 순서(촬영 이미지의 입력 순서)를, (b)는 본 발명의 입력 이미지 순서를 나타낸 것이다.That is, in the image acquisition step, the user should move the shooting direction of the camera built in the portable terminal only in one direction of the left or right side to shoot a subject such as a person or a landscape, as shown in FIG. . 3 is a view for explaining the shooting direction and order in the present invention, (a) shows a conventional input image order (input order of the captured image), (b) shows the input image order of the present invention.

먼저, (a)를 살펴보면, 종래에는 사용자가 카메라의 촬영방향을 특정하게 정해놓지 않고 상하 좌우 임의의 방향으로 변경하여 촬영함으로써, 상하 좌우의 임의의 방향으로 이동시켜 촬영한 이미지들이 무작위로 입력된다. 또한 종래에는 이렇게 입력된 각 이미지의 모든 영역에서 특징점을 추출하고 입력된 모든 이미지와 매칭이 되는지를 판별하므로 상당한 계산량이 요구되었다. First, referring to (a), in the prior art, a user changes a photographing direction in a random direction up, down, left, and right without setting the photographing direction of the camera, and the images photographed by moving in a random direction in up, down, left, and right are randomly inputted. . In addition, since a feature point is extracted from all regions of each input image and whether it matches with all input images, a considerable amount of computation is required.

반면, 본 발명에서는 (b)에 나타낸 바와 같이 카메라의 촬영방향을 좌측에서 우측(또는 우측에서 좌측)으로의 한 방향으로만 이동시키면서 촬영한다. 이때 좌에서 우로 이동하여 촬영한 이미지들이 순서대로 입력되며, 좌에서 우로의 한 방향성만이 존재하는 1-D 형태로 이미지들이 입력된다. 그리고, 상기와 같이 카메라의 촬영방향을 좌에서 우로 단방향 이동시킴을 전제로 하여, 본 발명에서는 입력 이미지들의 좌우 일정 영역에서만 특징점을 추출한 뒤, 순차적으로 들어온 다음 이미지와의 매칭만을 판별하게 된다.On the other hand, in the present invention, as shown in (b), the camera photographs while moving only one direction from left to right (or right to left). At this time, images taken by moving from left to right are input in order, and images are input in a 1-D form in which only one direction from left to right exists. In addition, in the present invention, a feature point is extracted only in a left and right predetermined area of the input images, and then only the matching with the next image is sequentially determined based on the assumption that the photographing direction of the camera is unidirectionally moved from left to right.

첨부한 도 4는 본 발명에 따른 이미지 획득 과정의 순서도로서, 사용자가 휴대용 단말기의 기능조작부(도 2에서 도면부호 11임)를 조작하여 파노라마 촬영 모드를 설정하면, 카메라 촬영 설정 초기화가 수행되고(S101), 초기화 과정이 끝난 상태에서 사용자가 카메라를 이용해 이미지 촬영을 하게 된다(S102). 4 is a flowchart of an image acquisition process according to the present invention. When a user operates a function control unit (reference numeral 11 in FIG. 2) of a portable terminal and sets a panorama shooting mode, camera shooting setting initialization is performed ( S101), the user takes an image by using the camera in the initialization process (S102).

첫 번째 이미지를 촬영하고 나면 파노라마 생성 방향(카메라 촬영방향이 됨)을 좌측으로 할 것인지 우측으로 할 것인지를 결정해야 하는데, 이는 첨부한 도 5에 나타낸 바와 같다. 도 4의 순서도에서 첫 번째 이미지의 촬영이 있고 나면 촬영된 이미지가 메모리부(도 2에서 도면부호 14임)에 저장되고, 휴대용 단말기의 디스플레이부(도 1 및 도 2에서 도면부호 15임) 화면에는 첫 번째 이미지 중 다음 이미지가 겹쳐질 일부 영역의 이미지가 화면에 표시된다(S104). 즉, 본 발명에서는 파노라마 영상처리부(도 2에서 도면부호 13임)(또는 제어부)에 의해 각 촬영 이미지의 좌측과 우측 일정 영역이 중첩 윈도우 영역으로 설정되고, 다음 이미지 촬영시에 이전 촬영 이미지 중 추출된 중첩 윈도우 영역의 이미지(이하, 중첩 윈도우 이미지)가 디스플레이부 화면에 표시되도록 하는 것이다. After capturing the first image, it is necessary to determine whether the panorama generation direction (which becomes the camera photographing direction) is to the left or to the right, as shown in FIG. After taking the first image in the flowchart of FIG. 4, the captured image is stored in the memory unit (14 in FIG. 2), and the display unit (15 in FIG. 1 and 2) of the portable terminal is displayed. In step S104, an image of a part of the first image to which the next image is overlapped is displayed on the screen. That is, in the present invention, the left and right predetermined regions of each captured image are set as overlapping window regions by the panoramic image processing unit (denoted by reference numeral 13 in FIG. 2) (or the control unit), and are extracted from the previous captured image when the next image is captured. The image of the overlapped window area (hereinafter, referred to as an overlapped window image) is displayed on the display unit screen.

앞서 좌측 이동을 결정한 경우라면 각 이미지 촬영시에 이전 촬영 이미지의 좌측 일부 영역이 중첩 윈도우 영역으로 설정되어 디스플레이부 화면 우측에 표시되고, 우측 이동을 결정한 경우라면 이전 촬영 이미지의 우측 일부 영역이 중첩 윈도우 영역으로 설정되어 디스플레이부 화면 좌측에 표시된다. In the case where the left shift is determined in advance, a partial left region of the previous shot image is set as the overlapping window region at the time of shooting each image and is displayed on the right side of the display screen. It is set to the area and displayed on the left side of the display screen.

이와 같이 첫 번째 이미지의 중첩 윈도우 이미지가 표시된 상태에서, 이후 사용자는 카메라의 촬영방향을 좌측 또는 우측의 어느 한 방향으로 이동시켜 두 번째 이미지를 촬영하며(S105), 이때 디스플레이부에 나타난 촬영 대상의 사물을 첫 번째 이미지의 중첩 윈도우 이미지의 동일 부분에 최대한 일치시킨 뒤 두 번째 이미지를 촬영한다.As described above, while the overlapped window image of the first image is displayed, the user then moves the shooting direction of the camera in either the left or right direction to shoot the second image (S105). Match the object as closely as possible with the same part of the overlapping window image of the first image, then shoot the second image.

이후 두 번째 이미지의 중첩 윈도우 이미지를 추출하고 디스플레이부에 표시하여 세 번째 이미지가 촬영될 수 있도록 하며, 사용자가 세 번째 이미지를 촬영하여 모든 촬영 과정이 완료되면(S107) 세 개의 촬영 이미지를 입력 이미지로 하여 파노라마 영상처리부가 파노라마 제작을 위한 영상 처리를 수행하게 된다(S108).After that, the overlapped window image of the second image is extracted and displayed on the display so that the third image can be taken. When the user shoots the third image and all the shooting processes are completed (S107), input three shot images. As a result, the panoramic image processor performs image processing for producing a panorama (S108).

상기한 이미지 촬영 과정에서 사용자는 각 이미지 촬영시마다 촬영한 이미지를 취소한 뒤 다시 촬영할 수 있다(S103,S106). In the above-described image capturing process, the user may cancel the photographed image for each image capturing and then photograph the image again (S103 and S106).

위에서 사용자가 세 번의 이미지 촬영을 하고 세 이미지를 입력 이미지로 하여 하나의 파노라마 이미지를 생성하는 것으로 설명하였으나, 하나의 파노라마 이미지를 생성하기 위한 사용 이미지 수는 변경이 가능하다. In the above description, the user takes three images and generates one panoramic image using the three images as input images. However, the number of images used to generate one panoramic image can be changed.

도 5는 촬영 이미지의 좌측 또는 우측 일부 영역이 디스플레이부에 표시되도록 하는 동작 순서도로서, 카메라에 의해 촬영된 이미지가 입력되고(S111) 이때의 촬영 이미지가 첫 번째 촬영 이미지인 경우 디스플레이부에 촬영방향 결정 화면이 표시된다(S112,S113). 이후 사용자가 기능조작부의 좌측 방향키 및 우측 방향키 중 어느 하나를 조작하게 되면 촬영방향이 설정된다. 즉, 좌/우측 방향키 입력 대기 상태에서 좌측 방향키 입력이 있게 되면 촬영방향은 좌측으로, 우측 방향키 입력이 있게 되면 촬영방향이 우측으로 설정된다(S114,S115).FIG. 5 is a flowchart illustrating an operation in which a portion of a left or right side of a captured image is displayed on the display unit. When an image captured by the camera is input (S111) and the captured image is the first captured image, the display direction is displayed on the display unit. The determination screen is displayed (S112, S113). Thereafter, when the user manipulates any one of the left direction key and the right direction key of the function operator, the photographing direction is set. That is, when there is a left direction key input in the left / right direction key input standby state, the photographing direction is set to the left, and when there is a right direction key input, the photographing direction is set to the right (S114, S115).

촬영방향이 설정되고 나면, 촬영된 첫 번째 이미지에서 다음 이미지가 겹쳐지게 되는 좌측 또는 우측의 정해진 일정 영역을 중첩 윈도우 영역으로 설정한 뒤, 중첩 윈도우 영역에 해당하는 첫 번째 이미지의 부분 이미지, 즉 중첩 윈도우 이미지라 함를 디스플레이부의 화면 좌측 또는 우측에 표시하고, 첫 번째 이미지를 메 모리부에 저장한다.After the shooting direction is set, a predetermined area on the left or the right where the next image is overlapped in the first image captured is set as the overlapping window area, and then a partial image of the first image corresponding to the overlapping window area, that is, overlapping The window image is displayed on the left or right side of the screen and the first image is stored in the memory.

여기서, 촬영방향이 좌측으로 설정된 상태라면, 첫 번째 이미지의 좌측 일정 영역이 중첩 윈도우 영역으로 설정되어 그로부터 추출된 중첩 윈도우 이미지가 디스플레이부의 화면 우측에 표시된다(S116,S117). 촬영방향이 좌측으로 설정된 상태라면, 첫 번째 이미지의 우측 일정 영역이 중첩 윈도우 영역으로 설정되어 추출된 중첩 윈도우 이미지가 디스플레이부의 우측 화면이 표시된다(S118,119)(도 7 참조). Here, if the photographing direction is set to the left side, a certain left region of the first image is set as the overlapping window region and the overlapping window image extracted therefrom is displayed on the right side of the screen of the display unit (S116 and S117). If the photographing direction is set to the left side, the right predetermined region of the first image is set as the overlapping window region and the extracted overlapping window image is displayed on the right screen of the display unit (S118, 119) (see FIG. 7).

상기와 같이 첫 번째 이미지의 촬영이 있고 난 뒤 사용자가 중첩 윈도우 이미지를 참조하여 두 번째 촬영을 하고, 두 번째 촬영 이미지의 중첩 윈도우 이미지를 참조하여 세 번째 촬영을 하게 된다. 두 번째, 세 번째 촬영시에는 첫 번째 촬영 후 설정한 촬영방향이 그대로 적용되어, 각 촬영시마다 설정된 촬영방향에 따른 중첩 윈도우 영역 설정, 중첩 윈도우 이미지의 표시, 촬영 이미지의 저장 과정이 동일하게 반복 수행된다. After the first image is taken as described above, the user takes a second shot with reference to the overlapped window image, and takes a third shot with reference to the overlapped window image of the second shot image. In the second and third shooting, the shooting direction set after the first shooting is applied as it is, and the overlapping window area setting, display of the overlapping window image, and storage of the captured image are repeated in the same shooting direction. do.

그리고, 중첩 윈도우 영역에서 추출한 이미지, 즉 중첩 윈도우 이미지를 디스플레이부의 화면에 표시하는 방법으로서, 첨부한 도 6과 도 7에 나타낸 바와 같이, 중첩 윈도우 이미지에서 엣지(Edge)만을 추출한 뒤 디스플레이부의 화면에 표시하는 방법(S132), 또는 중첩 윈도우 이미지를 디스플레이부의 화면에 반투명하게 표시하는 방법(S133)이 적용 가능하다.As a method of displaying the image extracted from the overlapped window area, that is, the overlapped window image, on the screen of the display unit, as shown in FIGS. 6 and 7, only an edge is extracted from the overlapped window image and then displayed on the screen of the display unit. A method of displaying (S132) or a method (S133) of displaying a superimposed window image on the screen of the display unit in a translucent manner is applicable.

도 7은 두 개의 이미지를 촬영한 뒤 촬영한 두 개의 입력 이미지로부터 하나의 파노라마 이미지를 생성하는 예를 보여주는 것으로, 도면부호 30은 최종 생성한 파노라마 이미지를 나타내고, 도면부호 22는 먼저 촬영한 첫 번째 이미지를, 도면부호 23은 나중에 촬영한 두 번째 이미지를 각각 나타낸다. FIG. 7 illustrates an example of generating one panoramic image from two input images taken after capturing two images. Reference numeral 30 denotes a final panoramic image, and reference numeral 22 denotes a first photographed image. An image, reference numeral 23 denotes a second image taken later, respectively.

또한 도면부호 21은 디스플레이부의 화면에서 사용자가 설정한 촬영방향을 표시해주는 화살표 기호(방향을 나타내는 기타 그림이나 문자 등이 될 수 있음)를 나타내며, 도면부호 22a는 첫 번째 이미지의 중첩 윈도우 영역을, 도면부호 23a는 두 번째 중첩 윈도우 영역을 나타낸다. In addition, reference numeral 21 denotes an arrow symbol (which may be another picture or text indicating a direction) indicating the shooting direction set by the user on the screen of the display unit, and reference numeral 22a denotes an overlapping window area of the first image. Reference numeral 23a denotes a second overlapping window area.

두 개의 촬영 이미지(22,23)를 입력 이미지로 사용하여 하나의 파노라마 이미지(30)를 생성한다고 할 때, 카메라 촬영방향을 우측으로 설정한 상태에서, 첫 번째 이미지(22)를 촬영하고 나면 촬영된 첫 번째 이미지 영역의 정해진 우측 일정 영역이 중첩 윈도우 영역(22a)으로 설정되고, 이에 파노라마 영상처리부(또는 제어부가 될 수 있음)는 첫 번째 이미지(22)에서 중첩 윈도우 영역(22a)의 이미지, 즉 중첩 윈도우 이미지를 추출한 뒤 이어 도 7의 (a)에 나타낸 바와 같이 중첩 윈도우 이미지의 에지(22c)만을 최종 추출하여 디스플레이부의 화면 좌측에 표시한다.When one panoramic image 30 is generated using two captured images 22 and 23 as input images, the first image 22 is captured after the first image 22 is set with the camera shooting direction set to the right. The predetermined right predetermined area of the first image area is set as the overlapping window area 22a, so that the panoramic image processing unit (or may be a control unit) is an image of the overlapping window area 22a in the first image 22. That is, after the overlapped window image is extracted, only the edge 22c of the overlapped window image is finally extracted and displayed on the left side of the screen of the display unit as shown in FIG.

상기와 같이 첫 번째 이미지의 중첩 윈도우 이미지가 에지 형태로 디스플레이부의 화면 좌측에 표시된 상태에서 사용자는 카메라 촬영방향을 우측으로 이동하여 두 번째 이미지(23)를 촬영하는데, 이때 화면에 표시된 중첩 윈도우 이미지의 에지(22c)에 촬영 대상 사물의 동일 부분을 겹쳐지도록 매칭시킨 뒤 두 번째 이미지(23)를 촬영한다. 이와 같이 촬영된 첫 번째 이미지(22)와 두 번째 이미지(23)가 하나의 파노라마 이미지(30)를 생성하기 위한 입력 이미지로 사용된다. In the state where the overlapped window image of the first image is displayed on the left side of the screen in the form of an edge as described above, the user moves the camera shooting direction to the right to shoot the second image 23. After matching the same part of the object to be photographed to overlap the edge 22c, the second image 23 is taken. The first image 22 and the second image 23 photographed in this way are used as input images for generating one panoramic image 30.

또 다른 예로, 중첩 윈도우 이미지를 반투명하게 표시할 수 있는데, 첫 번째 이미지(22)를 촬영하고 나면 촬영된 첫 번째 이미지 영역의 정해진 우측 일정 영역이 중첩 윈도우 영역(22a)으로 설정되고, 이에 첫 번째 이미지에서 중첩 윈도우 이미지(22c) 추출한 뒤 이를 디스플레이부의 화면 좌측에 반투명하게 표시한다.As another example, the overlapping window image may be displayed semi-transparently. After capturing the first image 22, the predetermined right predetermined area of the first image area photographed is set as the overlapping window area 22a, and thus the first After extracting the overlapped window image 22c from the image, it is displayed semi-transparently on the left side of the screen of the display unit.

상기와 같이 첫 번째 이미지의 중첩 윈도우 이미지(22c)하게 디스플레이부의 화면 좌측에 표시된 상태에서 사용자는 카메라 촬영방향을 우측으로 이동하여 두 번째 이미지(23)를 촬영하며, 이때 화면에서 반투명하게 보이도록 처리된 중첩 윈도우 이미지(22c)에 촬영 대상 사물의 동일 부분을 겹쳐지도록 매칭시킨 뒤 두 번째 이미지(23)를 촬영한다. 이와 같이 촬영된 첫 번째 이미지(22)와 두 번째 이미지(23)가 하나의 파노라마 이미지(30)를 생성하기 위한 입력 이미지로 사용된다. As described above, in the state where the overlapped window image 22c of the first image is displayed on the left side of the screen of the display unit, the user moves the camera shooting direction to the right to shoot the second image 23, and at this time, processes to make the screen appear translucent. The second window 23 is photographed after matching the overlapped window image 22c to overlap the same part of the object to be photographed. The first image 22 and the second image 23 photographed in this way are used as input images for generating one panoramic image 30.

도 7의 예는 명확한 설명을 위해 카메라의 촬영방향을 우측으로 설정한 예 및 두 개의 입력 이미지를 사용하도록 설정됨을 가정한 예이나, 세 개의 입력 이미지를 사용하도록 설정된 예에서 동일한 방법으로 3개의 이미지를 차례로 촬영한 뒤 촬영한 세 개의 입력 이미지를 획득하는 것이 위의 설명으로부터 충분히 이해 가능하다. 또한 카메라의 촬영방향을 좌측으로 설정한 경우라면 위의 설명에 좌우의 방향은 반대가 된다. In the example of FIG. 7, for the sake of clarity, the example assumes that the photographing direction is set to the right and that two input images are set to be used. However, the three images are the same in the example set to use three input images. It is fully understood from the above description that the sequence of photographing and then obtaining the three input images taken. In addition, if the shooting direction of the camera is set to the left side, the left and right directions are reversed in the above description.

한편, 상기와 같이 사용자가 카메라의 촬영방향을 좌측 또는 우측의 단방향으로 단계적으로 이동시켜 파노라마 이미지 생성을 위한 이미지들을 하나씩 촬영 및 획득하는 과정에서, 각 이미지가 촬영 및 획득될 때마다 파노라마 영상처리부는 입력된 이미지에서 특징점 정보를 추출하는 SIFT, 특징점 정보를 이용하여 이미지 간 연결 및 정렬을 수행하는 특징점 매칭, 잘못된 연결 오류를 제거하는 RANSAC 과정을 이미지 촬영 및 획득 후 즉시 실시한다. 즉, 본 발명에서는 이미지 획득 과정에서 파노라마 이미지 생성에 필요한 각 이미지가 촬영될 때마다 해당 입력 이미지에서 특징점 정보를 추출하는 SIFT 과정을 수행하고, 또한 이전 이미지와 다음 이미지 간에 특징점 정보를 연결하는 특징점 매칭 과정, 그리고 특징점 매칭 과정에서의 연결 오류를 제거하는 RANSAC 과정을 수행하게 되는 것이다.Meanwhile, in the process of photographing and acquiring images for generating a panoramic image one by one by moving the photographing direction of the camera in a unidirectional direction to the left or the right as described above, the panorama image processor is configured to capture and acquire each image. SIFT to extract feature point information from input image, feature point matching to perform linkage and alignment between images using feature point information, and RANSAC process to remove erroneous connection error are performed immediately after image capture and acquisition. That is, the present invention performs a SIFT process of extracting feature point information from a corresponding input image each time an image required for generating a panoramic image is captured in the image acquisition process, and also connects the feature point information between the previous image and the next image. The RANSAC process removes the connection error in the process and the feature point matching process.

첨부한 도 8을 참조하여 설명하면, 첫 번째 이미지(22)가 촬영되어 입력되면 첫 번째 이미지에서 파노라마 이미지 생성에 필요한 특징점 정보를 추출(SIFT)하고, 두 번째 이미지(23)가 촬영되어 입력되면 두 번째 이미지의 특징점 정보 추출(SIFT), 첫 번째 이미지(22)와 두 번째 이미지(23)의 특징점 정보 연결(Feature Match) 및 연결 오류 제거(RANSAC)를 수행하며, 세 번째 이미지(24)가 촬영되어 입력되면 세 번째 이미지의 특징점 정보 추출, 두 번째 이미지(23)와 세 번째 이미지(24)의 특징점 정보 연결 및 연결 오류 제거를 수행한다. Referring to FIG. 8, when the first image 22 is captured and inputted, feature point information necessary for generating a panoramic image is extracted from the first image (SIFT), and when the second image 23 is captured and inputted, Feature point information extraction (SIFT) of the second image, feature match and connection error cancellation (RANSAC) of the first image 22 and the second image 23, and the third image 24 When photographed and input, the feature point information extraction of the third image, the connection of the feature point information of the second image 23 and the third image 24, and the removal of the connection error are performed.

그리고, 본 발명에서는 각 입력 이미지의 특징점 정보를 추출하는 SIFT 과정을 개선하여 실행 시간의 단축을 가능하게 하는 바, 이미지의 특징점 정보를 종래와 같이 이미지 전체 영역에서 추출하는 것이 아니라, 이미지 좌우의 일정 부분으로 추출 영역을 축소한다.In addition, the present invention improves the SIFT process of extracting feature point information of each input image to shorten the execution time. Instead, the feature point information of the image is not extracted from the entire image area as in the prior art. Reduce the extraction area to parts.

첨부한 도 9와 도 10은 본 발명에서 수행되는 개선된 SIFT 방법을 설명하기 위한 도면으로서, 도면부호 25는 이미지 내 특징점을 나타낸다.9 and 10 are diagrams for explaining an improved SIFT method performed in the present invention, and reference numeral 25 denotes a feature point in an image.

도시된 바와 같이, 각 이미지(22,23,24)가 입력될 때마다 해당 입력 이미지의 좌측과 우측 정해진 일정 영역에서만 특징점(25) 정보를 추출한다. 여기서, 특 징점 정보가 추출되는 영역은 이미지에 설정된 좌, 우측의 중첩 윈도우 영역(22a,23a,23b,24a)이 된다.As shown, each feature 22, 23, 24 is extracted each feature point (25) information only in a predetermined region of the left and right of the input image. Here, the area from which the feature point information is extracted is the left and right overlapping window areas 22a, 23a, 23b, and 24a set in the image.

우선, 이미지가 촬영되고 나면 기본적으로 그 이미지의 좌측과 우측 정해진 일정 영역이 특징점 정보를 추출하게 되는 중첩 윈도우 영역으로 설정되는데, 카메라가 좌측에서 우측으로 이동하여 촬영하는 경우, 첫 번째 이미지(1st Captured Image)에서는 이미지 내 우측 중첩 윈도우 영역(22a)의 이미지(중첩 윈도우 이미지)에서만 필요한 특정 위치의 특징점 정보가 추출되고, 마지막 이미지(Last Captured Image)에서는 좌측 중첩 윈도우 영역(24a)의 이미지에서만 필요한 특정 위치의 특징점 정보가 추출된다.First, after the image is captured, the left and right predetermined areas of the image are basically set as overlapping window areas where feature point information is extracted. When the camera moves from left to right, the first image (1 st In Captured Image, feature point information of a specific position necessary only in the image (overlapping window image) of the right overlapped window region 22a in the image is extracted, and in the last image (Last Captured Image), only necessary in the image of the left overlapped window region 24a Feature point information of a specific position is extracted.

물론, 카메라가 우측에서 좌측으로 이동하여 촬영하는 경우, 첫 번째 이미지에서는 그 이미지 내 좌측의 중첩 윈도우 이미지에서, 마지막 이미지에서는 이미지 내 우측의 중첩 윈도우 이미지에서만 필요한 특정 위치의 특징점 정보가 추출된다. Of course, when the camera moves from the right side to the left side, in the first image, feature point information of a specific position necessary for only the overlapping window image on the right side in the image is extracted from the left overlapping window image in the image.

그리고, 첫 번째 이미지와 마지막 이미지를 제외하고 그 중간에 촬영된 이미지(1st<n<Last)들에 대해서는 좌측과 우측 중첩 윈도우 영역(23a,23b)의 이미지에서만 특징점 정보가 추출된다. Except for the first image and the last image, the feature point information is extracted only in the images of the left and right overlapping window regions 23a and 23b for the images 1st <n <Last captured in the middle.

이러한 특징점 정보 추출은 각 이미지의 촬영 및 입력시마다 즉시 수행되며, 촬영 후 해당 입력 이미지의 중첩 윈도우 영역이 설정되고 나면, 특징점 추출을 위해 중첩 윈도우 영역의 이미지가 그레이스케일(Grayscale)로 변경되도록 설정되어 있는 바, 중첩 윈도우 영역에서 RGB 픽셀 값에 대해 (R+G+B)/3을 하여 그레이스케 일로 변경하게 되고, SIFT 동작을 통해서 특징점을 찾는 과정을 수행하게 된다. YCbCr 이미지를 입력으로 사용하는 경우에는 Y 데이터를 이용하여 그레이스케일 이미지 변환 없이 사용한다. Such feature point information extraction is performed immediately after each image is taken and inputted.After the overlapping window area of the corresponding input image is set after shooting, the image of the overlapped window area is changed to grayscale for feature point extraction. As a result, in the overlapped window region, the RGB pixel value is changed to grayscale by (R + G + B) / 3, and the process of finding the feature point is performed through the SIFT operation. If YCbCr image is used as input, Y data is used without grayscale image conversion.

상기와 같이 이미지 내에서 특징점 정보를 추출하는 SIFT 과정이 완료되면, 추출된 특징점 정보들을 이용해 이전 이미지와 다음 이미지를 연결 및 정렬하는 통상의 특징점 매칭 과정을 수행하고, 이어 특징점 매칭 과정에서 생성된 매치 값(matches)들 중 오류가 있는 매치 값들을 제거하는 통상의 RANSAC 과정을 수행하여 정확한 값들만 남겨지도록 한다.When the SIFT process of extracting the feature point information from the image is completed as described above, a typical feature point matching process is performed to connect and align the previous image and the next image using the extracted feature point information, and then the match generated in the feature point matching process. Perform the normal RANSAC procedure to remove erroneous match values among the matches so that only the correct values are left.

이와 같이 본 발명에서는 이미지들의 특징점을 찾아내는 과정에서 중첩 윈도우 영역의 이미지 포맷 변환과 더불어 중첩 윈도우 영역(22a,23a,23b,24a)에 한정하여 특징점(25)을 찾게 되므로 실행 속도 개선, 실행 시간 단축, 매칭 정확도 향상 등의 여러 장점이 있다. 또한 카메라로 이미지들을 모두 획득한 후에 이미지 매칭 알고리즘을 수행하는 종래의 과정을 개선하여, 각 이미지의 촬영 단계에서 촬영 이미지의 입력시마다 이미지 매칭 알고리즘(SIFT, 이전 이미지와의 특징점 매칭 및 RANSAC)을 수행함으로써, 더욱 빠른 파노라마 제작이 가능해진다. 또한 두 이미지 간에 중첩 윈도우 영역에서 특징점을 추출하여 처리하므로 RANSAC 과정에서 두 이미지 간의 중첩되는 특징점의 개수를 계산하는 과정을 생략할 수 있는 장점이 있다. As described above, in the present invention, the feature point 25 is found only in the overlapped window areas 22a, 23a, 23b, and 24a as well as the image format conversion of the overlapped window area in the process of finding the feature points of the images. There are several advantages, such as improved matching accuracy. In addition, the conventional process of performing an image matching algorithm after all images have been acquired by the camera is improved, and an image matching algorithm (SIFT, feature point matching with previous image, and RANSAC) is performed for each input of the captured image at the capture stage of each image. This allows for faster panorama production. In addition, since the feature points are extracted from the overlapped window region between the two images, the process of calculating the number of feature points overlapping between the two images in the RANSAC process can be omitted.

이와 같이 본 발명에 따르면 입력 이미지 간의 매칭 영역을 정확히 찾아 정확도 높은 파노라마를 제작할 수 있고, 모바일 환경에서 빠른 시간에 처리가 가능 하다.As described above, according to the present invention, it is possible to precisely find a matching region between input images and to produce a panorama with high accuracy, and to process it in a fast time in a mobile environment.

다음으로, 상기와 같이 RANSAC 과정을 마친 상태에서 파노라마 영상처리부에서는 번들 조정 및 렌더링 과정을 차례로 수행한다. Next, in the state where the RANSAC process is completed as described above, the panorama image processing unit sequentially performs bundle adjustment and rendering processes.

여기서, 번들 조정 과정에서는 정렬된 전체 이미지들을 파노라마 이미지 공간에 배치하고 합성하기 위해서 필요한 카메라 값인 회전각(Rotation)과 초점 거리(Focal Length) 등을 구하게 된다. Here, in the bundle adjustment process, a rotation angle and a focal length, which are camera values necessary for arranging and composing all aligned images in the panoramic image space, are obtained.

또한 렌더링 과정에서는 번들 조정에서 계산된 카메라 값을 이용하여 비어있는 파노라마 이미지 공간에 투영하고 중첩영역에 대해 블렌딩(Linear Blending)을 수행하여 경계선을 부드럽게 한다. 이때 카메라 값(회전각, 초점 거리)을 이용하여 입력 이미지들을 백지 상태의 파노라마 이미지에 복사하게 된다. 첨부한 도 11은 카메라 값을 이용하여 렌더링을 수행한 상태를 나타낸 도면이다. In the rendering process, the camera value calculated in the bundle adjustment is used to project the empty panoramic image space, and the blending of the overlapped areas is performed to smooth the boundary line. At this time, the input images are copied to the panoramic image in a blank state by using camera values (rotation angle and focal length). 11 is a diagram illustrating a state in which rendering is performed using a camera value.

통상의 렌더링 과정에서 각 입력 이미지에 해당하는 카메라 값은 매트릭스(Matrix) 구조로 되어 있어서 '카메라 값 × 픽셀 좌표'의 연산을 통해 입력 이미지들의 픽셀들 각각에 대해서 파노라마 이미지에 대응하는 위치로 값을 복사하기 위한 좌표 계산이 이루어진다. 결과 이미지를 만들기 위해서는 파노라마 이미지 공간에서 렌더링이 수행되는 영역 내의 각 픽셀들에 대해 입력 이미지 공간에서의 위치값을 계산하여야 하고, 이때 상기 렌더링이 수행되는 영역 내의 각 픽셀들에 대해 카메라 값 데이터를 이용한 매트릭스 계산이 필요하다. 이러한 매트릭스 계산은 모바일 장치에서 수행 시간이 많이 걸리는 연산 중의 하나이다.In the normal rendering process, the camera value corresponding to each input image has a matrix structure, and the value of the camera value corresponding to the panorama image is obtained for each pixel of the input image through the calculation of 'camera value × pixel coordinate'. Coordinate calculations are made for copying. In order to create the resultant image, the position value in the input image space must be calculated for each pixel in the region where rendering is performed in the panoramic image space, and the camera value data is used for each pixel in the region in which the rendering is performed. Matrix calculation is required. This matrix calculation is one of the time-consuming operations in mobile devices.

종래의 렌더링 과정에서는 입력 이미지 공간에서의 좌표 계산을 위해서 렌더링이 수행되는 영역 내 모든 픽셀들에 대해서 매트릭스 변환(Matrix Transform)을 하였으며, 모든 픽셀들에 대해 좌표를 매트릭스 계산(파노라마 이미지에서의 대응 위치값 계산)하는 방식을 적용하므로 계산량이 많은 문제점이 있었다. 계산량이 많다는 것은 PC에서는 문제가 되지 않지만 모바일 장치에서는 심각한 문제가 된다. In the conventional rendering process, matrix transformation is performed on all pixels in a region to be rendered to calculate coordinates in an input image space, and coordinates are calculated on all pixels (corresponding positions in a panoramic image). Since the value calculation method is applied, there is a problem in that the calculation amount is large. A lot of computation isn't a problem on PCs, but it's a serious problem on mobile devices.

따라서, 본 발명의 렌더링 과정에서는 렌더링이 수행되는 역역 내 픽셀들에 대해 입력 이미지 공간에서의 픽셀 위치값(좌표값)을 계산함에 있어서 계산량을 줄일 수 있도록 선형 보간법(Linear Interpolation)을 적용한다.Therefore, in the rendering process of the present invention, linear interpolation is applied to reduce the amount of computation in calculating pixel position values (coordinate values) in the input image space for pixels in a region where rendering is performed.

보다 상세히 설명하면, 입력 이미지의 각 픽셀 값을 비어있는 파노라마 이미지 공간의 적절한 대응 픽셀 위치로 복사하기 위하여, 종래에는 카메라 값 데이터를 이용한 매트릭스 계산을 통해 파노라마 이미지 공간의 렌더링이 수행되는 영역 내 모든 픽셀들에 대해서 연산을 수행하여 입력 이미지 공간에서의 픽셀 위치값을 계산한다. 첨부한 도 12는 각 픽셀의 계산(파노라마 이미지 공간에서의 위치 계산)에 사용되는 카메라 값의 매트릭스 구조 및 매트릭스 계산식을 나타낸 도면으로, 트랜스폼(Transform) 매트릭스, 회전(Rotation) 매트릭스, 스케일(Scale) 매트릭스가 모두 사용된 일반적인 매트릭스 계산식을 아래에 나타내었다. 이 계산식을 이용해 모든 픽셀들에 대해서 매트릭스 변환하여 입력 이미지에서의 픽셀 위치를 계산하게 된다. 이와 같이 모든 픽셀들에 대해서 매트릭스 계산을 하게 되면 렌더링 수행에 오랜 시간이 걸리게 된다. 상기 회전 매트릭스는 회전각 정보가 반영될 수 있 도록 구해지는 매트릭스이고, 상기 스케일 매트릭스는 초점 거리 정보가 반영될 수 있도록 구해지는 매트릭스이다.More specifically, in order to copy each pixel value of the input image to an appropriate corresponding pixel position of the empty panoramic image space, all pixels in the region where rendering of the panoramic image space is conventionally performed through matrix calculation using camera value data Are computed to calculate pixel position values in the input image space. 12 is a diagram showing a matrix structure and a matrix calculation formula of camera values used for calculation of each pixel (position calculation in a panorama image space), and a transform matrix, a rotation matrix, and a scale. The general matrix equation using both matrices is shown below. This equation is used to calculate the pixel position in the input image by matrix transforming all pixels. This matrix calculation for all pixels takes a long time to perform rendering. The rotation matrix is a matrix obtained to reflect the rotation angle information, and the scale matrix is a matrix obtained to reflect the focal length information.

반면, 본 발명에서는 모바일 장치를 위해 선형 보간법을 적용한 개선된 렌더링 방식이 적용된다. 즉, 첨부한 도 13에 나타낸 바와 같이, 파노라마 이미지 공간에서 렌더링이 수행되는 영역의 중요 픽셀(도 13에서 점으로 표시하며, 이하 이 점에 해당하는 중요 픽셀을 기준점이라 칭함)에 대해서만 도 12의 매트릭스 계산을 통해 위치값을 계산하고, 기준점들을 제외한 나머지 픽셀들에서는 계산된 기준점들의 위치값에 대한 상대적인 값을 선형 보간법으로 간단히 계산한다. 이와 같이 중요 기준점들에 대해서만 매트릭스 계산을 하고 나머지 픽셀들에 대해서는 선형 보간법으로 픽셀 위치를 구하게 되면 계산량과 시간을 크게 줄일 수 있게 된다. On the other hand, in the present invention, an improved rendering scheme using linear interpolation for mobile devices is applied. That is, as shown in the accompanying FIG. 13, only the important pixels (represented as points in FIG. 13 and referred to as points in FIG. 13) in the region where rendering is performed in the panoramic image space are shown in FIG. 12 only. The position value is calculated through matrix calculation, and in the remaining pixels except the reference points, the relative value of the calculated reference points with respect to the position values is simply calculated by linear interpolation. In this way, if the matrix calculation is performed only for the critical reference points and the pixel positions are obtained by linear interpolation for the remaining pixels, the calculation amount and time can be greatly reduced.

도 13에서 점은 매트릭스 계산을 하는 중요 픽셀들, 즉 기준점들을 나타내고, Nx는 가로 블록의 개수(예, Nx=4)를, Ny는 세로 블록의 개수(Ny=5)를 나타낸다. 도시된 바와 같이, 파노라마 이미지 공간에서의 렌더링 수행 영역(xmin≤x≤xmax, ymin≤y≤ymax의 사각형 공간) 내 정해진 기준점들에 대서만 매트릭스 계산을 통해 입력 이미지 공간(도 14)에서의 정확한 위치값을 계산하고, 이 기준점들의 위치값을 이용해 렌더링 수행 영역의 나머지 픽셀들에 대해서는 기준점들에 대해 계산된 위치값들을 이용해 선형 보간법으로 입력 이미지 공간에서의 위치값을 계산한다. In FIG. 13, points represent important pixels for performing matrix calculation, that is, reference points, Nx represents the number of horizontal blocks (eg, Nx = 4), and Ny represents the number of vertical blocks (Ny = 5). As shown, the input image space (FIG. 14) is obtained through the matrix calculation only for predetermined reference points in the rendering performing region (x min ≤ x x max , y min ≤ y y max ) in the panoramic image space. We calculate the exact position value at), and calculate the position value in the input image space by linear interpolation using the position values calculated for the reference points for the remaining pixels of the rendering area using the position values of these reference points.

본 발명의 렌더링 과정에서 매트릭스 계산을 하는 기준점들로는, 도 13에 도시된 바와 같이, 파노라마 이미지 공간에서의 렌더링 수행 영역 내에서 격자점 위 치의 픽셀들이 설정될 수 있으며, 이때 매트릭스 계산을 하는 기준점들의 수와 위치를 최적화하는 것이 필요하다.As the reference points for performing the matrix calculation in the rendering process of the present invention, as shown in FIG. 13, the pixels of the grid point positions may be set in the rendering area in the panoramic image space, and the number of reference points for the matrix calculation may be set. It is necessary to optimize the position.

도 13과 도 14는 본 발명의 렌더링 과정에서 파노라마 이미지 공간 내 렌더링이 수행되는 영역의 설정, 기준점들의 설정 및 그 위치값 결정, 입력 이미지 공간에서 상기 기준점들에 대응되는 각 점(픽셀)들의 위치값 결정 등을 설명하기 위한 도면으로서, 이를 참조하여 파노라마 이미지를 생성하기 위해 카메라로 촬영된 하나의 입력 이미지(Image 1)를 예로 들어 선형 보간법이 적용되는 본 발명의 렌더링을 설명하기로 한다. 13 and 14 illustrate setting of an area where rendering in the panoramic image space is performed in the rendering process of the present invention, setting reference points and determining their position values, and positions of respective points (pixels) corresponding to the reference points in the input image space. As a figure for explaining value determination and the like, a rendering of the present invention to which linear interpolation is applied will be described with reference to this as an example of one input image (Image 1) photographed by a camera to generate a panoramic image.

입력 이미지(Image 1)는 파노라마 이미지 공간에서 도 13에 나타낸 바와 같이 위치하게 되는데, 우선 입력 이미지에 도 12의 매트릭스 계산을 적용하여, 입력 이미지의 네 모서리 점들에 대한 파노라마 이미지 공간에서의 위치값을 구한다. The input image Image 1 is positioned in the panoramic image space as shown in FIG. 13. First, by applying the matrix calculation of FIG. 12 to the input image, the position value in the panoramic image space with respect to the four corner points of the input image is obtained. Obtain

그리고, 이렇게 매트릭스 계산을 통해 구한 네 모서리점들의 파노라마 이미지 공간에서의 위치값으로부터 파노라마 이미지 공간에서의 렌더링 수행 영역(도 13에서 xmin≤x≤xmax, ymin≤y≤ymax의 사각형 공간)을 설정한다.And, thus in the panorama from the position values at the panoramic image space of the four corner points obtained through matrix calculation space image rendering line region (x min ≤x≤x max, y min rectangular space ≤y≤y max in FIG. 13 ).

이때 입력 이미지의 네 모서리 점들에 대한 파노라마 이미지 공간에서의 위치값(x,y)으로부터 X축 좌표값의 최대값(xmax) 및 최소값(xmin)과, Y축 좌표값의 최대값(ymax) 및 최소값(ymin)을 이용해 파노라마 이미지 공간에서의 렌더링 수행 영역(xmin≤x≤xmax, ymin≤y≤ymax)이 설정될 수 있다. 즉, 파노라마 이미지 공간에서의 입력 이미지의 X축 좌표 최대값과 최소값을 렌더링 수행 영역의 X축 좌표 최대값과 최소값으로 하고, 파노라마 이미지 공간에서의 입력 이미지의 Y축 좌표 최대값과 최소값을 렌더링 수행 영역의 Y축 좌표 최대값과 최소값으로 하여, 렌더링 수행 영역을 설정할 수 있는 것이다.In this case, the maximum value (x max ) and minimum value (x min ) of the X-axis coordinate value and the maximum value (y) of the Y-axis coordinate value are determined from the position value (x, y) in the panoramic image space with respect to the four corner points of the input image. The rendering performing region (x min ≦ x ≦ x max , y min ≦ y ≦ y max ) in the panoramic image space may be set using max ) and a minimum value y min . That is, the maximum and minimum values of the X-axis coordinates of the input image in the panoramic image space are the maximum and minimum values of the X-axis coordinates of the rendering region, and the maximum and minimum values of the Y-axis coordinates of the input image in the panoramic image space are rendered. It is possible to set the rendering area by setting the maximum and minimum values of the Y-axis coordinates of the area.

이와 같이 파노라마 이미지 공간에서의 렌더링 수행 영역이 설정되고 나면, 기준점들을 설정하고, 이 기준점들을 기준으로 렌더링 수행 영역을 복수의 블록으로 구획한다. 이때 도 13과 도 14의 예와 같이 Nx=4, Ny=5로 설정된 경우라면 파노라마 이미지 공간에서 렌더링 수행 영역은 총 20개의 블록들로 구획된다. 상기 기준점은 위에서 언급한 바와 같이 렌더링 수행 영역에서 격자점으로 미리 설정된다.After the rendering execution region in the panoramic image space is set as described above, reference points are set, and the rendering execution region is divided into a plurality of blocks based on the reference points. In this case, as in the example of FIGS. 13 and 14, when Nx = 4 and Ny = 5, the rendering area is divided into 20 blocks in the panoramic image space. As described above, the reference point is preset as a grid point in the rendering area.

도 13에서 렌더링 수행 영역의 기준점들은 P00, P01, P10, P11로 표시되어 있으며, 이 기준점들과 그 외 나머지 모든 픽셀들이 모두 파노라마 이미지 공간에서의 좌표값(P(x,y))을 가진다. In FIG. 13, reference points of the rendering area are denoted by P00, P01, P10, and P11, and these reference points and all other pixels have coordinate values P (x, y) in the panoramic image space.

이후 렌더링 수행 영역 내부의 픽셀들에 대해 입력 이미지 공간에서의 위치값을 구해야 하며, 이때 렌더링 수행 영역 내부의 모든 픽셀들에 대해 도 12의 매트릭스 계산을 이용해 계산하는 경우 많은 연산을 필요로 하게 된다. 이를 해결하기 위해, 각 블록의 모서리 점, 즉 각 기준점들에 대해서는 매트릭스 계산을 통해 입력 이미지 공간에서의 대응 위치값을 구하지만, 렌더링 수행 영역의 나머지 픽셀들에서는 기준점들에 대해 구해진 위치값으로부터 선형 보간법을 이용해 입력 이미지 공간에서의 대응 위치값을 구한다.Subsequently, the position value in the input image space is to be obtained for the pixels in the rendering region. In this case, many calculations are required when calculating the matrix calculation of FIG. 12 for all the pixels in the rendering region. To solve this problem, for each corner point of each block, that is, each reference point, the corresponding position value in the input image space is obtained through matrix calculation, but linearly from the position values obtained for the reference points in the remaining pixels of the rendering area. The interpolation method is used to find the corresponding position values in the input image space.

도 14를 참조하면, 입력 이미지 공간에, 입력 이미지와 더불어, 파노라마 이미지 공간의 렌더링 수행 영역에 해당하는 대응 영역이 함께 표시되어 있는데, 렌 더링 수행 영역에 해당하는 대응 영역이 기울어진 사각형으로 표시되어 있으며, 렌더링 수행 영역의 각 기준점(P00,P01,P10,P11)들이 입력 이미지 공간에서의 상응하는 점들로, 즉 T00, T01, T10, T11로 표시되어 있다. 이 점들의 위치값은 파노라마 이미지 공간에서의 해당 기준점의 위치값으로부터 매트릭스 계산하여 구해지는 것으로, 도 13의 점 P00, P01, P10, P11의 위치값을 매트릭스 계산을 이용해 계산하면 도 14의 점 T00, T01, T10, T11을 구할 수 있다.Referring to FIG. 14, in the input image space, a corresponding region corresponding to the rendering region of the panoramic image space is displayed together with the input image, and the corresponding region corresponding to the rendering region is displayed as an inclined rectangle. Each of the reference points P00, P01, P10, and P11 of the rendering region is represented by corresponding points in the input image space, that is, T00, T01, T10, and T11. The position values of these points are obtained by calculating a matrix from the position values of the corresponding reference points in the panoramic image space. When the position values of the points P00, P01, P10, and P11 in FIG. 13 are calculated by using matrix calculation, the points T00 in FIG. , T01, T10, and T11 can be obtained.

상기와 같이 렌더링 수행 영역의 각 기준점들에 대해 입력 이미지 공간에서의 위치값이 구해지면, 상기 각 기준점들에 대해 구해진 위치값을 이용하여 렌더링 수행 영역의 나머지 픽셀들에 대해서는 선형 보간법으로 입력 이미지 공간에서의 위치값을 구하게 된다.When the position values in the input image space are obtained for each reference point of the rendering region as described above, the input image space is linearly interpolated for the remaining pixels of the rendering region using the position values obtained for the respective reference points. Find the position value at.

이와 같이 본 발명의 렌더링 과정에서는 선형 보간법을 적용하여 위치값 계산량을 크게 줄일 수 있게 된다. As described above, in the rendering process of the present invention, the linear interpolation method is applied to greatly reduce the position value calculation amount.

하기 표 1은 선형 보간법을 적용한 개선된 방식에서 계산량을 얼마나 줄일 수 있는지를 보여주고 있는데, 640×480 사이즈의 입력 이미지 3장을 이용하여 제작된 1520×480 사이즈의 파노라마 이미지를 생성하는데 필요한 매트릭스 계산량을 나타낸 것으로, 종래 방식과 본 발명의 방식에서 상당한 계산량 차이가 있는 것을 알 수 있다. 매트릭스 계산이 필요한 픽셀의 수가 종래 방식에서는 전체 픽셀 수가 되나, 본 발명의 방식에서는 최소 12개(Nx=1,Ny=1일 때, 3개 이미지에서 총 12개임)에서 최대 225개 정도이다. 이와 같이 계산이 필요한 픽셀의 수를 크게 줄임으로써, 렌더링 시간을 크게 단축할 수 있는 것이다. 그러나, 매트릭스 계산을 하는 픽셀의 수 및 Nx, Ny는 파노라마 이미지의 품질과 연관이 있으므로 적절히 설정하는 것이 필요하다. Table 1 below shows how much the computation can be reduced in the improved method using the linear interpolation method. The matrix computation required to generate a 1520 × 480 size panoramic image produced using three input images of 640 × 480 size. It can be seen that there is a significant difference in computation amount between the conventional method and the present invention. The number of pixels for which the matrix calculation is required is the total number of pixels in the conventional method, but in the method of the present invention, at least 12 (up to 12 in three images when Nx = 1 and Ny = 1) are up to 225. By greatly reducing the number of pixels that need to be calculated, rendering time can be greatly reduced. However, the number of pixels for which the matrix calculation and Nx, Ny are related to the quality of the panoramic image, so it is necessary to set them appropriately.

Figure 112008026150679-pat00001
Figure 112008026150679-pat00001

상기와 같이 매트릭스 변환 및 선형 보간법을 적용하여 계산한 픽셀 위치값을 참조하여 렌더링 과정에서는 하나의 파노라마 이미지를 만들어 내는데, 파노라마 이미지 공간에서의 렌더링 수행 영역 내 각 픽셀(기준점 포함)에 대해서 입력 이미지의 대응 픽셀 값을 각각 복사하여 붙인 뒤 이미지 중첩영역에 대해서는 블렌딩을 하여 자연스러운 파노라마 이미지를 만들게 된다.As described above, one panorama image is generated in the rendering process by referring to pixel position values calculated by applying matrix transformation and linear interpolation, and for each pixel (including a reference point) in the rendering area in the panorama image space, After copying and pasting the corresponding pixel values, blending is performed on the image overlap region to create a natural panorama image.

이때 도 14에 나타낸 바와 같이 T00, T01 등은 입력 이미지 공간에 이미지 밖에 위치하는 좌표가 되므로 Tx < 0이거나 이미지 폭(Image Width) < Tx 또는 Ty < 0이거나 이미지 높이(Image Height) < Ty의 값을 가지게 된다.In this case, as shown in FIG. 14, T00, T01, etc. are coordinates located outside the image in the input image space, and thus Tx <0, Image Width <Tx or Ty <0, or Image Height <Ty Will have

이와 같이 파노라마 이미지 공간 좌표 P(x,y)의 픽셀 값은 입력 이미지 공간 좌표 T(x,y)의 값을 가지되, 위와 같이 T(x,y)가 이미지 내부 좌표가 아닌 경우 파노라마 이미지 공간의 대응 좌표 P(x,y)에는 검은색 값을 가지게 된다. As such, the pixel value of the panoramic image space coordinate P (x, y) has the value of the input image space coordinate T (x, y), but if T (x, y) is not the internal coordinate of the image as above, the panoramic image space The corresponding coordinate of P (x, y) has a black value.

마지막으로, 상기와 같은 렌더링 과정이 모두 완료되면, 생성된 파노라마 이미지에서 검은색의 테두리 부분을 잘라내는 크롭 과정을 수행하여 최종의 파노라마 이미지를 획득하게 된다.Finally, when all of the above rendering processes are completed, the final panoramic image is obtained by performing a cropping process that cuts out a black border portion from the generated panoramic image.

첨부한 도 15는 본 발명에서 파노라마 제작 모드에 따른 영상 처리 순서도로서, 파노라마 제작 모드 선택부터 파노라마 이미지 제작, 파노라마 이미지 저장까지의 전 과정을 나타낸 예시도이다. 도시한 예는 파노라마 제작의 다양한 환경에 대비하여 세 가지 제작 모드 중 어느 한 모드가 선택되어 선택된 제작 모드로 최종의 파노라마 이미지가 생성되도록 구성한 예이다.FIG. 15 is a flowchart illustrating an image processing process according to a panorama production mode according to the present invention, and illustrates an entire process from selecting a panorama production mode to producing a panorama image and storing a panorama image. The illustrated example is an example in which any one of three production modes is selected in preparation for various environments of panorama production so that the final panorama image is generated in the selected production mode.

여기서, 파노라마 제작 모드로는, 카메라에 의해 촬영된 입력 이미지들에 대해 이미지 매칭(특징점 추출, 특징점 매칭, 매칭 오류 제거 과정)을 수행하지 않고 파노라마 이미지 공간에서의 단순 복사 및 블렌딩만을 수행하여 파노라마 이미지를 생성하는 제1모드(Normal Quality Mode), 이미지 매칭 및 번들 조정을 수행하고 파노라마 이미지 공간에서 이미지들의 회전 및 스케일 조정 없이 상하 좌우 위치 정렬만을 수행한 뒤 중첩영역을 블렌딩하여 파노라마 이미지를 생성하는 제2모드(Good Quality Mode), 그리고 이미지 매칭 및 번들 조정을 수행하고 이미지들을 파노라마 이미지 공간에서 카메라 촬영시의 초점 거리와 회전각에 따라 보정하여 스티칭한 뒤 중첩영역을 블렌딩함으로써 파노라마 이미지를 생성하는 제3모드(Best Quality Mode)가 제공된다. Here, in the panorama production mode, the panorama image is performed by simply copying and blending in the panorama image space without performing image matching (feature point extraction, feature point matching, elimination of matching error) on the input images photographed by the camera. The first mode for generating a (Normal Quality Mode), the image matching and bundle adjustment, and performs only the vertical and horizontal position alignment without rotating and scaling the image in the panoramic image space and blending the overlapping region to generate a panorama image Two modes (Good Quality Mode) and image matching and bundle adjustment, and stitching by correcting the images according to the focal length and rotation angle during camera shooting in the panoramic image space and blending the overlapped areas to create a panoramic image. Three modes (Best Quality Mode) are provided.

우선, 사용자가 미리 정해진 기능조작부의 특정 입력키(노말 퀄리티 모드 선택키)를 조작하여 제1모드를 선택한 상태에서는, 파노라마 영상 처리부에서, 입력 이미지에 대한 특징점 추출 및 이미지 매칭 연산, 이미지 정렬 및 카메라 값에 따른 보정 등의 복잡한 연산이나 과정 수행 없이, 입력 이미지들을 단순히 촬영 순서대로 파노라마 이미지 공간에 붙인 뒤 중첩영역을 블렌딩함으로써(S142) 보통 품질의 파노라마 이미지를 생성하고 메모리부에 저장한다. First, in the state where the user selects the first mode by operating a specific input key (normal quality mode selection key) of the predetermined function control unit, the panoramic image processing unit extracts a feature point for the input image, an image matching operation, an image alignment and a camera. Without complex operation or process such as correction according to a value, input images are simply pasted into the panoramic image space in the photographing order and blended with overlapping regions (S142) to generate a normal quality panoramic image and store it in the memory unit.

반면, 제1모드가 선택되지 않은 상태에서는, 입력 이미지에서 추출한 특징점을 이용하여 이미지 매칭 연산을 수행하고(S143), 모든 이미지의 매칭이 완료되면 매트릭스 구조의 카메라 값 데이터를 구하는 번들 조정을 수행한 뒤(S147), 회전각을 미리 설정된 임계각과 비교한다(S148). On the other hand, when the first mode is not selected, an image matching operation is performed using the feature points extracted from the input image (S143). When all images are matched, bundle adjustment is performed to obtain camera value data of a matrix structure. Back (S147), the rotation angle is compared with a predetermined threshold angle (S148).

이때, 회전각이 임계각 미만이면, 입력 이미지를 회전이나 스케일 조정 없이 상하 좌우 위치만을 정렬하여 파노라마 이미지 공간에 복사하고 중첩영역을 블렌딩하는 제2모드로 파노라마 이미지를 생성한다(S149). 제2모드는 특징점 추출 및 이미지 매칭을 수행하여 그로부터 구해지는 이미지의 위치값을 토대로 상하 좌우 위치 정렬을 수행하는 것이 제1모드와 차이가 있다. In this case, when the rotation angle is less than the critical angle, the panorama image is generated in a second mode in which the input image is aligned in only the top, bottom, left and right positions without rotation or scale adjustment, copied to the panoramic image space, and blended with the overlapped region (S149). The second mode differs from the first mode by performing feature point extraction and image matching to perform vertical alignment on the basis of the position value of the image obtained therefrom.

상기한 제2모드에서 이미지의 특징점은 전술한 바와 같이 촬영된 입력 이미지의 중첩 윈도우 영역에 한정하여 추출되며, 중첩 윈도우 영역에서 추출된 특징점만을 이용해 이미지 매칭 연산을 수행한다. In the second mode, the feature points of the image are extracted to be limited to the overlapping window region of the input image photographed as described above, and the image matching operation is performed using only the feature points extracted from the overlapping window region.

본 발명에서 사용자가 디스플레이부에 표시된 중첩 윈도우 이미지에 촬영 대상의 사물을 일치시키면서 좌측 또는 우측의 단방향으로 카메라 촬영방향을 이동시켜 촬영하므로, 이때 촬영된 입력 이미지를 이용하여 이미지 매칭 연산을 수행한 뒤 매칭 결과로 얻어지는 위치값에 따라 상하 좌우 정렬을 수행하는 것만으로 우수한 품질의 파노라마 이미지를 생성할 수 있게 된다.In the present invention, since the user moves the camera shooting direction in the unidirectional direction of the left or right while matching the object of the shooting target to the overlapped window image displayed on the display unit, after performing the image matching operation using the input image According to the position value obtained as a result of the matching, it is possible to generate a panoramic image of excellent quality only by performing vertical alignment.

만약, 이미지 매칭 연산을 수행한 후 일부 이미지의 매칭이 이루어지지 않은 경우라면, 매칭 정보를 수정한 뒤(S146) 카메라 값 데이터를 구하고(S147), 이어 다음 단계를 진행한다(제2모드 또는 제3모드 수행).If some images are not matched after performing the image matching operation, after correcting the matching information (S146), the camera value data is obtained (S147), and then the next step is performed (second mode or first). 3 modes performed).

또한 모든 이미지의 매칭이 실패한 경우라면, 제1모드와 같이 이미지의 단순 복사 및 블렌딩을 수행하여(S151) 보통 품질의 파노라마 이미지를 생성한다.In addition, if matching of all images fails, simple copying and blending of the images is performed as in the first mode (S151) to generate a panorama image of normal quality.

그리고, 회전각과 임계각을 비교하는 과정(S148)에서 회전각이 임계각 이상인 경우, 카메라 값 데이터를 토대로 초점 거리와 회전각에 따른 이미지 보정을 수행하고 중첩영역을 블렌딩하는 제3모드로 파노라마 이미지를 생성한다(S150,S151).When the rotation angle is greater than or equal to the critical angle in the process of comparing the rotation angle and the critical angle (S148), the panorama image is generated in the third mode of performing image correction according to the focal length and the rotation angle based on the camera value data and blending the overlapped areas. (S150, S151).

제3모드에서는 전술한 바와 같이 각 입력 이미지의 중요 픽셀에 대해서만 매트릭스 계산을 하여 파노라마 이미지 공간에서의 대응 좌표값(픽셀 위치값)를 계산하고, 나머지 픽셀들에 대해서는 선형 보간법을 이용하여 상대적인 좌표값를 구한 뒤, 파노라마 이미지 공간의 각 좌표에 입력 이미지의 해당 픽셀 값을 복사하는 렌더링이 수행된다. 이러한 렌더링 과정에서는 카메라 값에 따른 보정, 즉 이미지의 회전 및 스케일 조정, 상하 좌우의 위치 정렬을 수행하므로 정교한 이미지 합성이 이루어지고, 고품질의 파노라마 이미지를 생성할 수 있게 된다. In the third mode, as described above, matrix calculation is performed only on the important pixels of each input image to calculate the corresponding coordinate values (pixel position values) in the panoramic image space, and the relative coordinate values are calculated using linear interpolation for the remaining pixels. After obtaining, a rendering is performed to copy corresponding pixel values of the input image to each coordinate of the panoramic image space. In this rendering process, correction is performed according to a camera value, that is, rotation and scale of the image, alignment of the top, bottom, left, and right positions are performed, so that precise image composition is achieved and high quality panorama images can be generated.

상기의 각 모드에서 블렌딩한 파노라마 이미지는 테두리를 잘라내는 크롭 과정을 거쳐서 최종의 파노라마 이미지로 완성된다.The panorama image blended in each of the above modes is completed through the cropping process of cropping the edges to the final panorama image.

첨부한 도 16는 본 발명에 따른 파노라마 이미지 생성 과정에서 각 단계별 결과물을 나타낸 도면으로, (a)는 카메라에 의해 촬영된 입력 이미지를 나타내고, (b)는 이미지 매칭 알고리즘 적용 후 결과물을, (c)는 블렌딩 수행 후 결과물을 각각 나타내며, (d)는 크롭 수행 후 완성된 최종의 파노라마 이미지를 나타낸다. 이미지 특징점 매칭 과정에서 발생하는 이미지 회전으로 인해 검은색 음영 영역이 발생하므로 테두리의 검은 이미지를 잘라내는 크롭 과정을 수행하여 (d)와 같은 결과물을 얻게 된다.FIG. 16 is a diagram illustrating the results of each step in the process of generating a panoramic image according to the present invention. (A) shows an input image captured by a camera, and (b) shows a result after applying an image matching algorithm. ) Represent the results after the blending operation, and (d) represents the final panoramic image completed after the cropping operation. Since the black shadow area is generated due to the image rotation that occurs during the image feature point matching process, the cropping process of cutting the black image of the edge is performed to obtain a result as shown in (d).

한편, 본 발명의 파노라마 이미지 생성 방법에서 파노라마 이미지의 이용 가치를 높이기 위해 단말기에 파노라마 사이즈 설정 옵션을 제공하여, 이 옵션 선택시에 실행 시간을 줄이기 위한 다음의 프로세스를 처리하도록 한다.On the other hand, in the panorama image generation method of the present invention, a panorama size setting option is provided to the terminal in order to increase the utilization value of the panorama image, thereby processing the following process for reducing the execution time when selecting this option.

사용자가 카메라로 이미지를 촬영하게 되면, 촬영된 이미지(VGA 이미지 등)를 QVGA 사이즈로 축소(또는 확대)한 뒤 디스플레이부의 화면에 미리보기로 표시한다. 그리고, QVGA 사이즈의 축소 이미지에 대해 이미지 매칭 연산을 수행하고 오류를 제거하며 정확도를 확인하는 과정, 즉 특징점 추출(SIFT), 특징점 매칭 및 매칭 오류 제거(RANSAC) 과정을 촬영 즉시 수행한다. 이후 입력 이미지를 사용하여 번들 조정 및 렌더링 과정을 수행하여 미리보기 파노라마 이미지를 생성하고, 이어 단말기의 저장 기능이 선택되면 축소 비율 정보를 이용해 특징점 매칭 값을 촬영된 이미지에 맞게 수정하여 실제 촬영 이미지의 사이즈에 비례하는 파노라마 이미지(예, VGA 파노라마 이미지)를 생성한다. When the user captures an image with the camera, the captured image (VGA image, etc.) is reduced (or enlarged) to the QVGA size and displayed as a preview on the screen of the display unit. The image matching operation is performed on the reduced size of the QVGA size, the error is eliminated, and the accuracy is checked, that is, the feature extraction (SIFT), the feature point matching, and the matching error elimination (RANSAC) are performed immediately after photographing. After that, a preview panorama image is generated by performing bundle adjustment and rendering process using the input image, and when the storage function of the terminal is selected, the feature matching value is modified to fit the captured image by using the reduction ratio information. Create a panoramic image (e.g. VGA panoramic image) proportional to size.

첨부한 도 17은 촬영 이미지를 축소한 뒤 축소 이미지로부터 특징점을 추출하고 파노라마 이미지를 생성하는 과정을 나타낸 순서도로서, 이를 참조하여 설명하면 다음과 같다.17 is a flowchart illustrating a process of extracting feature points from a reduced image and generating a panoramic image after reducing a captured image.

우선, 카메라에 의해 촬영된 이미지를 QVGA 사이즈로 축소한 뒤, 축소 이미지로부터 특징점 추출, 특징점 매칭, 매칭 오류 제거를 수행하여 매칭 정보를 생성한다(S161,S162).First, the image captured by the camera is reduced to a QVGA size, and then matching information is generated by performing feature point extraction, feature point matching, and matching error removal from the reduced image (S161 and S162).

이때, 단말기의 미리보기 이미지 생성이 설정되어 있는 경우, 매칭 정보를 적용하되, 축소 이미지를 입력 이미지로 사용하여 번들 조정 및 렌더링을 수행하고(S163), 이로써 작은 사이즈의 파노라마 이미지(미리보기 파노라마 이미지)를 생성하여 디스플레이부의 화면에 표시한다(S164). In this case, when generating the preview image of the terminal is set, the matching information is applied, but the bundle adjustment and rendering is performed using the reduced image as an input image (S163), thereby making a small panoramic image (preview panoramic image). ) Is generated and displayed on the screen of the display unit (S164).

이후 사용자가 이미지 저장 기능을 선택하면, 축소 비율 정보를 이용해 특징점 매칭 값을 촬영 이미지에 맞게 수정하여 실제 촬영 이미지의 사이즈에 비례하는 큰 사이즈의 파노라마 이미지(예, VGA 파노라마 이미지)를 최종 생성하여 저장한다. Then, when the user selects the image saving function, the feature point matching value is adjusted to the captured image using the reduction ratio information to finally generate and save a large panorama image (eg, VGA panoramic image) proportional to the size of the actual captured image. do.

그리고, 미리보기 이미지 생성이 설정되어 있지 않은 경우, 축소 이미지로부터 얻은 매칭 정보를 적용하되(S165), 실제 촬영된 이미지들을 그대로 입력 이미지로 사용하여 촬영 이미지들에 대해 번들 조정 및 렌더링을 수행함으로써(S166) 큰 사이즈의 파노라마 이미지를 생성한다(S167).If the preview image generation is not set, the matching information obtained from the reduced image is applied (S165), and the bundle is adjusted and rendered on the captured images by using the actual captured images as input images (S165). S166) A large panorama image is generated (S167).

상기와 같이 촬영 이미지를 QVGA로 축소하여 특징점을 추출하게 되면 수행 속도를 빠르게 할 수 있고, 시간 단축이 가능해진다.As described above, when the captured image is reduced to QVGA to extract the feature point, the execution speed can be increased and the time can be shortened.

이와 같이 하여, 본 발명에서는 SIFT 과정을 개선하여 촬영 이미지에서 특징점을 빠르게 추출할 수 있도록 하는 동시에 더욱 정확한 이미지 매칭이 이루어질 수 있도록 하며, 또한 렌더링 과정을 개선하여 계산량 감소 및 실행 시간 단축이 가능하도록 함으로써, 휴대용 단말기의 제한된 CPU 성능과 메모리 환경에서도 고속으로 파노라마 이미지를 생성할 수 있게 된다. 또한 이전 촬영 이미지의 중첩 윈도우 이미지가 디스플레이부를 통해 표시되도록 하여 사용자가 중첩 윈도우 이미지를 이용해 다음 이미지를 보다 쉽고 정확히 촬영할 수 있게 된다. In this way, in the present invention, by improving the SIFT process to be able to quickly extract the feature points in the captured image and at the same time more accurate image matching, and also to improve the rendering process to reduce the amount of calculation and execution time by As a result, panoramic images can be generated at high speed even in the limited CPU performance and memory environment of the portable terminal. In addition, the overlapped window image of the previous shot image is displayed on the display unit, so that the user can easily and accurately capture the next image using the overlapped window image.

도 1은 본 발명의 파노라마 이미지 생성 방법이 적용될 수 있는 휴대용 단말기의 예를 도시한 도면,1 is a view showing an example of a portable terminal to which the method for generating a panoramic image of the present invention can be applied;

도 2는 본 발명의 파노라마 이미지 생성 방법이 적용될 수 있는 휴대용 단말기의 내부 구성도,2 is an internal configuration diagram of a portable terminal to which a method for generating a panoramic image of the present invention can be applied;

도 3은 본 발명에서 촬영방향 및 순서를 설명하기 위한 도면,3 is a view for explaining the photographing direction and sequence in the present invention,

도 4는 본 발명에 따른 이미지 획득 과정의 순서도,4 is a flowchart of an image acquisition process according to the present invention;

도 5는 본 발명에서 촬영 이미지의 좌측 또는 우측 일부 영역이 디스플레이부에 표시되도록 하는 동작 순서도,FIG. 5 is a flowchart illustrating an operation in which a partial region of the left side or the right side of the captured image is displayed on the display unit;

도 6과 도 7은 본 발명에서 중첩 윈도우 이미지를 표시하는 방법을 설명하기 위한 도면,6 and 7 are views for explaining a method of displaying an overlapping window image in the present invention;

도 8은 본 발명에서 촬영 즉시 특징점 추출 및 매칭, 연결 오류 제거가 수행됨을 설명하기 위한 도면,8 is a view for explaining that the extraction and matching of the feature point, the removal of the connection error is performed immediately in the present invention,

도 9와 도 10은 본 발명에서 수행되는 개선된 SIFT 방법을 설명하기 위한 도면,9 and 10 are diagrams for explaining the improved SIFT method performed in the present invention,

도 11은 본 발명에서 카메라 값을 이용하여 렌더링을 수행한 상태를 나타낸 도면,11 is a view showing a state in which rendering is performed using a camera value in the present invention,

도 12는 본 발명에서 각 픽셀의 계산에 사용되는 카메라 값의 매트릭스 구조 및 매트릭스 계산식을 나타낸 도면,12 is a view showing a matrix structure and a matrix calculation formula of camera values used in the calculation of each pixel in the present invention;

도 13은 본 발명에서 선형 보간법을 적용한 렌더링 방식을 설명하기 위한 도 면,13 is a view for explaining a rendering method to which linear interpolation is applied in the present invention;

도 14는 본 발명의 선형 보간법에 대해 설명하기 위한 도면,14 is a diagram for explaining a linear interpolation method of the present invention;

도 15는 본 발명에서 파노라마 제작 모드에 따른 영상 처리 순서도,15 is an image processing flowchart according to a panorama production mode in the present invention;

도 16는 본 발명에 따른 파노라마 이미지 생성 과정에서 각 단계별 결과물을 나타낸 도면,16 is a view showing the results of each step in the panorama image generation process according to the present invention,

도 17은 본 발명에 따른 파노라마 이미지 생성 과정에서 입력 이미지를 사이즈 변환하여 사용하는 경우의 과정을 나태는 순서도.FIG. 17 is a flowchart illustrating a process of converting and using an input image in a panorama image generation process according to the present invention. FIG.

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

10 : 휴대용 단말기10: portable terminal

13 : 파노라마 영상처리부13: panorama image processing unit

14 : 메모리부14: memory

15 : 디스플레이부15: display unit

16 : 카메라16: camera

22, 23, 24 : 입력 이미지22, 23, 24: input image

22a, 23a, 23b, 24a : 중첩 윈도우 영역22a, 23a, 23b, 24a: overlapped window area

25 : 특징점25 feature points

Claims (13)

카메라에 의해 이미지들이 촬영되는 이미지 획득 과정, 촬영된 입력 이미지에서 특징점 정보들을 추출하는 특징점 추출 과정, 특징점 정보들을 이용하여 입력 이미지 간 연결 및 정렬을 수행하는 특징점 매칭 과정, 두 입력 이미지 간 연결 오류를 제거하는 매칭 오류 제거 과정, 이미지 간 매칭되는 정보를 이용하여 이미지들을 결합하기 위한 카메라 값을 구하는 번들 조정 과정, 및 카메라 값 데이터를 이용하여 입력 이미지들을 파노라마 이미지 공간에서 정렬하고 중첩영역을 블렌딩하여 하나의 파노라마 이미지를 생성하는 렌더링 과정으로 진행되는 휴대용 단말기의 파노라마 이미지 생성 방법에 있어서,Image acquisition process by which the images are captured by the camera, feature point extraction process to extract feature point information from the captured input image, feature point matching process to perform linkage and alignment between input images using feature point information, and connection error between two input images. A matching error elimination process for eliminating, a bundle adjusting process for obtaining camera values for combining images using matching information between images, and an input image being aligned in a panoramic image space using camera value data, and blending overlapping regions In the panoramic image generation method of a portable terminal which proceeds to a rendering process of generating a panoramic image of, 상기 렌더링 과정에서, 각 입력 이미지에 대한 파노라마 이미지 공간에서의 렌더링 수행 영역이 설정되면, 설정된 렌더링 수행 영역 내 정해진 픽셀들에 대해서만 카메라 값 데이터를 이용한 매트릭스 계산을 수행하여 입력 이미지 공간에서의 대응 픽셀 위치값을 계산하고, 나머지 픽셀들에 대해서는 계산된 상기 위치값으로부터 선형 보간법을 이용해 입력 이미지 공간에서의 상대적인 대응 픽셀 위치값을 계산하며, 이후 파노라마 이미지 공간의 렌더링 수행 영역에서 각 픽셀 위치값 좌표에 입력 이미지의 대응된 각 픽셀 값을 복사한 뒤 중첩영역의 블렌딩을 수행하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.In the rendering process, when a rendering region is set in the panoramic image space for each input image, a matrix calculation using camera value data is performed on only predetermined pixels in the set rendering region, thereby corresponding pixel position in the input image space. Calculates a value, and calculates a relative corresponding pixel position value in the input image space using linear interpolation from the calculated position values for the remaining pixels, and then inputs each pixel position value coordinate in the rendering area of the panoramic image space. A method of generating a panoramic image of a portable terminal, characterized by copying corresponding pixel values of an image and performing blending of overlapping regions. 청구항 1에 있어서,The method according to claim 1, 상기 파노라마 이미지 공간의 렌더링 수행 영역에서 격자점 위치의 정해진 픽셀들에 대해서만 매트릭스 계산을 통한 대응 픽셀 위치값 계산을 수행하고, 상기 격자점 위치의 정해진 픽셀들이 형성하는 사각형 영역 내 픽셀 들에 대해서 선형 보간법을 이용한 대응 픽셀 위치값 계산을 수행하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.In the rendering region of the panoramic image space, a corresponding pixel position value calculation is performed for a predetermined pixel only at a grid point position, and a linear interpolation method is performed for pixels in a rectangular region formed by the pixels of the grid point position. A method of generating a panoramic image of a portable terminal, characterized in that for performing calculation of a corresponding pixel position value. 청구항 1에 있어서,The method according to claim 1, 상기 이미지 획득 과정은, The image acquisition process, 사용자가 카메라로 첫 번째 이미지를 촬영하는 단계와;The user taking a first image with a camera; 상기 첫 번째 촬영 이미지가 입력되면 단말기의 디스플레이부에 촬영방향 결정 화면이 표시되는 단계와;Displaying a shooting direction determination screen on a display unit of the terminal when the first shot image is input; 사용자가 단말기의 좌측 또는 우측 방향키를 조작하여 촬영방향을 결정하는 단계와;Determining a photographing direction by a user operating a left or right arrow key; 촬영방향이 결정되면 단말기의 파노라마 영상처리부가 첫 번째 촬영 이미지에서 다음 이미지가 겹쳐지게 되는 좌측 또는 우측의 정해진 일정 영역을 중첩 윈도우 영역으로 설정하고, 상기 중첩 윈도우 영역의 이미지를 디스플레이부의 화면 좌측 또는 우측에 표시하는 단계와;When the shooting direction is determined, the panoramic image processor of the terminal sets a predetermined predetermined area on the left or right where the next image is superimposed on the first captured image as an overlapping window area, and sets the image of the overlapping window area on the left or right side of the screen of the display unit. Marking on; 사용자가 카메라의 촬영방향을 좌측 또는 우측으로 이동시키되, 디스플레이부에 표시된 중첩 윈도우 영역의 이미지에 촬영 대상 사물의 동일부분을 겹쳐지게 한 뒤 두 번째 이미지를 촬영하는 단계와;The user moving the photographing direction of the camera to the left or the right, and superposing the same portion of the object to be photographed on the image of the overlapping window region displayed on the display unit, and then photographing the second image; 상기한 이미지 촬영 단계를 반복하여 파노라마 이미지 생성에 필요한 이미지 촬영을 완료하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 휴대용 단말기의 파노라마 영상 생성 방법.And repeating the image capturing step to complete the image capturing necessary for generating the panoramic image. 청구항 3에 있어서,The method according to claim 3, 상기 파노라마 영상처리부는 중첩 윈도우 영역의 이미지를 엣지(Edge)만을 추출하여 이미지의 엣지만을 디스플레이부에 표시하는 방법으로 상기 디스플레이부에 표시하는 것을 특징으로 하는 휴대용 단말기의 파노라마 영상 생성 방법.The panoramic image processor extracts an edge of an image of an overlapping window region and displays only the edge of the image on the display unit, and displays the image on the display unit. 청구항 3에 있어서,The method according to claim 3, 상기 파노라마 영상처리부는 중첩 윈도우 영역의 이미지를 디스플레이부에 반투명하게 표시하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.The panoramic image processing unit of the mobile terminal, characterized in that for displaying the image of the overlapping window area on the display unit semi-transparent. 청구항 3에 있어서, The method according to claim 3, 상기 이미지 획득 과정에서 파노라마 이미지 생성을 위한 이미지들이 하나씩 촬영 및 획득될 때마다 상기 파노라마 영상처리부가 특징점 추출, 특징점 매칭, 및 매칭 오류 제거 과정을 각 이미지의 촬영 및 획득 후 즉시 수행하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.Whenever the images for generating a panoramic image are captured and acquired one by one in the image acquisition process, the panoramic image processor performs a feature point extraction, a feature point matching, and a matching error elimination process immediately after the image is taken and acquired. How to create a panoramic image of a mobile terminal. 청구항 1 또는 청구항 6에 있어서,The method according to claim 1 or 6, 상기 특징점 추출 과정에서 각 촬영 이미지의 좌측 및 우측의 일정 영역에 한정하여 특징점의 정보를 추출하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.And extracting information on a feature point from the feature point extracting process by extracting information on the feature point to a certain region on the left and right sides of each captured image. 청구항 7에 있어서,The method according to claim 7, 상기 특징점 추출 과정에서 각 촬영 이미지의 좌측 및 우측의 일정 영역에 대해 RGB 픽셀 값을 이용하여 그레이스케일로 변경한 뒤 특징점의 정보를 추출하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.And extracting the information of the feature point after changing the grayscale to a gray scale for a predetermined area on the left and right sides of each captured image in the feature point extraction process. 청구항 7에 있어서,The method according to claim 7, 상기 좌측 및 우측의 일정 영역은 카메라로 촬영된 이미지 영역에서 사용자의 카메라 촬영시 이미지 간을 중첩시키도록 미리 설정된 중첩 윈도우 영역인 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.The predetermined regions on the left and right sides are overlapping window regions which are preset to overlap images when the camera is photographed by the user in the image region photographed by the camera. 청구항 1에 있어서,The method according to claim 1, 카메라에 의해 촬영된 이미지들에 대해 파노라마 이미지 공간으로의 단순 복사 및 블렌딩만을 수행하는 제1모드와; 특징점 추출, 특징점 매칭, 매칭 오류 제거, 번들 조정 후 파노라마 이미지 공간에서 이미지들의 상하 좌우 위치 정렬만 수행한 뒤 중첩영역을 블렌딩하는 제2모드와; 특징점 추출, 특징점 매칭, 매칭 오류 제거, 번들 조정 후 상기 렌더링 과정을 수행한 뒤 중첩영역을 블렌딩하는 제3모드 중 어느 한 모드로 선택되어 파노라마 이미지가 생성되는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.A first mode for performing only simple copying and blending into the panoramic image space on the images photographed by the camera; A second mode of performing blending of overlapping regions after performing only feature extraction, feature point matching, elimination of matching errors, and bundling of images in the panoramic image space after bundle adjustment; After generating the feature point extraction, feature point matching, elimination of matching errors, bundle adjustment and performing the rendering process, a panorama image is generated by selecting one of the third modes of blending the overlapped regions. Way. 청구항 1에 있어서,The method according to claim 1, 카메라에 의해 촬영된 이미지를 축소한 뒤 축소된 이미지로부터 특징점 추출, 특징점 매칭, 매칭 오류 제거를 수행하여 매칭 정보를 생성하고, 이후 상기 매칭 정보를 이용해 번들 조정 및 상기 렌더링 과정을 수행하여 파노라마 이미지를 생성하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.After the image captured by the camera is reduced, feature information is extracted from the reduced image, feature point matching, and matching error removal are performed to generate matching information, and then the bundle adjustment and the rendering process are performed using the matching information to generate a panorama image. Generating a panoramic image of a portable terminal, characterized in that for generating. 청구항 11에 있어서, The method according to claim 11, 단말기에서 미리보기 이미지 생성이 선택된 상태에서는 축소된 이미지를 디스플레이부에 미리보기로 표시하고, 이어 축소 이미지로부터 얻은 상기 매칭 정보를 적용하여 축소 이미지에 대한 번들 조정 및 렌더링을 수행함으로써 미리보기 파노라마 이미지를 생성하는 동시에 이를 디스플레이부에 표시하며, 이후 단말기의 저장 기능이 선택되면 축소 비율 정보를 이용해 특징점 매칭 값을 촬영된 이미지에 맞게 수정하여 실제 촬영 이미지의 사이즈에 비례하는 파노라마 이미지를 생성 및 저장하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법. In the state where the preview image generation is selected in the terminal, the preview image is displayed by previewing the reduced image on the display unit, and then applying the matching information obtained from the thumbnail image to perform bundle adjustment and rendering on the thumbnail image. When the storage function of the terminal is selected, it generates and saves a panoramic image proportional to the size of the actual captured image by modifying the feature matching value according to the captured image. Method for generating a panoramic image of a portable terminal characterized in that. 청구항 11에 있어서,The method according to claim 11, 단말기에서 미리보기 이미지 생성이 선택되지 않은 경우, 축소 이미지로부터 얻은 상기 매칭 정보를 적용하되, 촬영 이미지를 그대로 입력 이미지로 사용하여 번들 조정 및 렌더링을 수행함으로써 파노라마 이미지를 생성하는 것을 특징으로 하는 휴대용 단말기의 파노라마 이미지 생성 방법.If the preview image generation is not selected in the terminal, the matching information obtained from the reduced image is applied, but the portable terminal is generated by performing a bundle adjustment and rendering using the captured image as an input image. To create a panoramic image of the camera.
KR1020080033942A 2008-04-11 2008-04-11 How to create a panoramic image on a mobile device KR100934211B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080033942A KR100934211B1 (en) 2008-04-11 2008-04-11 How to create a panoramic image on a mobile device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080033942A KR100934211B1 (en) 2008-04-11 2008-04-11 How to create a panoramic image on a mobile device

Publications (2)

Publication Number Publication Date
KR20090108495A KR20090108495A (en) 2009-10-15
KR100934211B1 true KR100934211B1 (en) 2009-12-29

Family

ID=41551874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080033942A KR100934211B1 (en) 2008-04-11 2008-04-11 How to create a panoramic image on a mobile device

Country Status (1)

Country Link
KR (1) KR100934211B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140053885A (en) * 2011-04-18 2014-05-08 아이시360, 인코포레이티드 Apparatus and method for panoramic video imaging with mobile computing devices
US11049218B2 (en) 2017-08-11 2021-06-29 Samsung Electronics Company, Ltd. Seamless image stitching
US11232323B2 (en) 2020-04-29 2022-01-25 Samsung Electronics Co., Ltd. Method of merging images and data processing device

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101146665B1 (en) * 2010-05-13 2012-05-22 주식회사 다음커뮤니케이션 Method of advertising based on location search service, system and method of location search service using the same
KR101049928B1 (en) * 2011-02-21 2011-07-15 (주)올라웍스 Method, terminal and computer-readable recording medium for generating panoramic images
CN106373088B (en) * 2016-08-25 2019-08-06 中国电子科技集团公司第十研究所 The quick joining method of low Duplication aerial image is tilted greatly
CN117221510B (en) * 2023-11-07 2024-03-29 深圳骄阳视觉创意科技股份有限公司 Exhibition display system based on virtual reality technology

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004088678A (en) * 2002-08-29 2004-03-18 Hitachi Ltd Image processing method and apparatus
KR100724134B1 (en) * 2006-01-09 2007-06-04 삼성전자주식회사 Method and apparatus for providing panoramic view with high speed image matching and mild mixed color blending

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004088678A (en) * 2002-08-29 2004-03-18 Hitachi Ltd Image processing method and apparatus
KR100724134B1 (en) * 2006-01-09 2007-06-04 삼성전자주식회사 Method and apparatus for providing panoramic view with high speed image matching and mild mixed color blending

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140053885A (en) * 2011-04-18 2014-05-08 아이시360, 인코포레이티드 Apparatus and method for panoramic video imaging with mobile computing devices
US11049218B2 (en) 2017-08-11 2021-06-29 Samsung Electronics Company, Ltd. Seamless image stitching
US11232323B2 (en) 2020-04-29 2022-01-25 Samsung Electronics Co., Ltd. Method of merging images and data processing device

Also Published As

Publication number Publication date
KR20090108495A (en) 2009-10-15

Similar Documents

Publication Publication Date Title
US10540806B2 (en) Systems and methods for depth-assisted perspective distortion correction
EP1676236B1 (en) Panoramic maker engine for a low profile system
KR100796849B1 (en) Method for photographing panorama mosaics picture in mobile device
KR102013978B1 (en) Method and apparatus for fusion of images
KR100934211B1 (en) How to create a panoramic image on a mobile device
CN109313799B (en) Image processing method and apparatus
US9373187B2 (en) Method and apparatus for producing a cinemagraph
JP4760973B2 (en) Imaging apparatus and image processing method
US20080253685A1 (en) Image and video stitching and viewing method and system
EP2328125A1 (en) Image splicing method and device
KR20090009114A (en) Method for constructing a composite image
KR20100082293A (en) Method for generating combined images from images taken separately with the same or a similar background and apparatus thereof
CN111654624B (en) Shooting prompting method and device and electronic equipment
CN114071010B (en) Shooting method and equipment
Ha et al. Embedded panoramic mosaic system using auto-shot interface
CN117196955A (en) Panoramic image stitching method and terminal
CN114071009B (en) Shooting method and equipment
WO2013072166A1 (en) Rectified stereoscopic 3d panoramic picture
US11010945B2 (en) Augmented reality system and image display method thereof
JP6833772B2 (en) Image processing equipment, imaging equipment, image processing methods and programs
JP2005115711A (en) Image correction device, image correction method, and program
JP5278010B2 (en) Image capturing apparatus, portable terminal, image composition method used therefor, and program thereof
JP5354059B2 (en) Imaging apparatus, image processing method, and program
CN113542625A (en) Image processing method, device, equipment and storage medium
CN112017117A (en) Panoramic image acquisition method and system based on thermal infrared imager

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
LAPS Lapse due to unpaid annual fee