KR20190032788A - 렌즈 파라미터의 보정방법 및 이를 수행하는 단말기 - Google Patents

렌즈 파라미터의 보정방법 및 이를 수행하는 단말기 Download PDF

Info

Publication number
KR20190032788A
KR20190032788A KR1020170121035A KR20170121035A KR20190032788A KR 20190032788 A KR20190032788 A KR 20190032788A KR 1020170121035 A KR1020170121035 A KR 1020170121035A KR 20170121035 A KR20170121035 A KR 20170121035A KR 20190032788 A KR20190032788 A KR 20190032788A
Authority
KR
South Korea
Prior art keywords
parameter
lens
image
terminal
error value
Prior art date
Application number
KR1020170121035A
Other languages
English (en)
Other versions
KR101976843B1 (ko
Inventor
정지욱
Original Assignee
주식회사 쓰리아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 쓰리아이 filed Critical 주식회사 쓰리아이
Priority to KR1020170121035A priority Critical patent/KR101976843B1/ko
Publication of KR20190032788A publication Critical patent/KR20190032788A/ko
Application granted granted Critical
Publication of KR101976843B1 publication Critical patent/KR101976843B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T5/006
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • H04N5/2254
    • H04N5/23238
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Landscapes

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

Abstract

렌즈 파라미터의 보정방법 및 그 단말기가 개시된다. 상기 렌즈 파라미터의 보정방법은 상기 렌즈가 부착된 상태에서 상기 단말기가 제1이미지 및 제2이미지를 촬영하는 단계, 상기 렌즈에 상응하며 상기 제1이미지 및 상기 제2이미지를 각각 목표하는 제1전환 이미지 및 제2전환 이미지로 전환하는데 영향을 미치는 적어도 하나의 파라미터인 추정 파라미터를 설정하는 단계, 상기 추정 파라미터에 대응되는 제1오차 값을 연산하는 단계, -여기서 상기 제1오차 값은 설정된 상기 추정 파라미터를 이용하여 상기 제1이미지 및 상기 제2이미지를 상기 제1전환 이미지 및 상기 제2전환 이미지로 각각 전환하는 경우의 상기 전환의 정확성을 나타낼 수 있는 정보임-, 상기 추정 파라미터에서 상기 추정 파라미터에 포함된 파라미터 중 적어도 한 개의 파라미터 값을 변경한 적어도 하나의 변경 파라미터 각각에 대해 대응되는 변경 오차 값을 연산하는 단계, 및 상기 제1오차 값 및 상기 적어도 하나의 변경 오차 값을 비교하고 비교결과 특정되는 어느 하나의 선택 오차 값에 대응되는 파라미터를 상기 렌즈의 렌즈 파라미터로 특정하는 단계를 포함한다.

Description

렌즈 파라미터의 보정방법 및 이를 수행하는 단말기{Method and apparatus for making stitched image}
본 발명은 정합 이미지를 생성할 수 있는 방법, 렌즈 파라미터의 보정방법, 및 그 시스템에 관한 것으로, 보다 상세하게는 사용자가 소지하는 단말기를 이용하여 전문적인 장비 없이도 상대적으로 정확하고 효과적인 정합 이미지(예컨대, 360도 이미지)를 생성할 수 있는 방법, 이를 위한 렌즈 파라미터의 보정방법, 및 시스템에 관한 것이다.
정합 이미지를 생성하여 가상현실 또는 사실감 높은 시뮬레이션 환경을 제공하고자 하는 시도가 널리 이용되고 있다.
예컨대, 파노라마 이미지는 복수의 이미지들을 가로(좌우)로 결합하여 가로의 시야각이 180도 내지 360도를 커버할 수 있는 이미지를 의미할 수 있다.
또한 360도 이미지는 사용자를 중심으로 상하좌우 모두가 커버될 수 있는 이미지를 의미할 수 있으며 일반적으로 스피어(sphere) 또는 메카토르(mercator)에 여러 이미지를 배치함으로써 획득될 수 있다.
하지만 이러한 파노라마 이미지 또는 360도 이미지를 획득하기 위해서는 전문적인 장비가 필요한 실정이다. 최근에는 사용자가 직접 이동식 단말기(예컨대, 스마트 폰)을 들고 상기 이동식 단말기를 회전시켜가면서 복수의 사진들을 획득하여 획득된 사진들을 정합함으로써 정합 이미지(예컨대, 파노라마 이미지 또는 360도 이미지)를 생성하고자 하는 시도가 존재하였다.
하지만 이러한 경우 복수의 사진들의 시야각 또는 촬영방향이 정확하지 않아서 이미지 스티칭에 상당한 시간이 걸릴 뿐만 아니라 그 정확성도 낮을 수 밖에 없다.
한편, 이미지 특성(예컨대, 시야각 등)을 개선 또는 변경하기 위해 단말기에 별도의 부착형 렌즈(예컨대, 어안렌즈(fisheye lens) 등)를 부착할 경우에는, 렌즈가 부착된 경우의 복합적인 렌즈 특성 즉, 단말기의 렌즈와 부착형 렌즈가 결합된 렌즈의 특성을 단말기가 알 수 없는 문제점이 있다. 그리고 이러한 문제점은 이미지를 정합하는 경우의 정합성능에 영향을 미칠 수 있다.
따라서 이러한 경우에도 정합성능에 부정적인 영향을 제거할 수 있도록 렌즈의 파라미터를 보정할 수 있는 기술적 사상이 요구된다.
한국특허출원 공개번호 10-2002-0078663 "디지털 모자이크 이미지 구성에서 다수의 조각 이미지들을 위치 정합시키는 디지털 조각 이미지 정합처리방법 및 정합처리장치" 한국특허출원 공개번호 10-2014-0147597 "이동 단말기 및 이의 제어방법" 한국특허출원 공개번호 10-2009-0071366 "화상 변환 장치 및 화상 변환 방법"
본 발명이 이루고자 하는 기술적인 과제는 사용자가 휴대하고 있는 단말기를 이용하여 간편하고 상대적으로 정확하게 정합 이미지를 생성할 수 있는 방법 및 그 시스템을 제공하는 것이다.
특히 상기 단말기를 회전시킬 수 있는 구동장치를 이용함으로써 정합할 이미지의 방향을 상대적으로 정확하게 알 수 있고, 이를 통해 이미지의 정합시에 상대적으로 빠르고 정확한 이미지 정합이 가능할 수 있는 방법 및 시스템을 제공하는 것이다.
또한 단말기가 정합할 이미지들 즉, 부분 이미지들을 촬영하기 위해 회전을 수행하는데, 한 번의 회전을 통해 획득된 이미지들만을 정합 이미지의 생성에 이용하는 것이 아니라, 복수의 회전을 통해 각각의 회전들별로 부분 이미지들을 획득하고, 서로 다른 회전으로부터 획득된 부분 이미지를 같이 이용하여 정합 이미지를 생성할 수 있는 방법 및 시스템을 제공하는 것이다.
또한 단말기에 부착형 렌즈를 부착할 경우에 정합성능이 저하되는 문제점을 방지하기 위해 렌즈 파라미터를 효과적으로 보정할 수 있는 방법 및 시스템을 제공하는 것이다.
본 발명의 기술적 사상을 구현하기 위한 단말기에 탈착가능한 렌즈 파라미터의 보정방법은 상기 렌즈가 부착된 상태에서 상기 단말기가 제1이미지 및 제2이미지를 촬영하는 단계, 상기 렌즈에 상응하며 상기 제1이미지 및 상기 제2이미지를 각각 목표하는 제1전환 이미지 및 제2전환 이미지로 전환하는데 영향을 미치는 적어도 하나의 파라미터인 추정 파라미터를 설정하는 단계, 상기 추정 파라미터에 대응되는 제1오차 값을 연산하는 단계; -여기서 상기 제1오차 값은 설정된 상기 추정 파라미터를 이용하여 상기 제1이미지 및 상기 제2이미지를 상기 제1전환 이미지 및 상기 제2전환 이미지로 각각 전환하는 경우의 상기 전환의 정확성을 나타낼 수 있는 정보임-, 상기 추정 파라미터에서 상기 추정 파라미터에 포함된 파라미터 중 적어도 한 개의 파라미터 값을 변경한 적어도 하나의 변경 파라미터 각각에 대해 대응되는 변경 오차 값을 연산하는 단계, 및 상기 제1오차 값 및 상기 적어도 하나의 변경 오차 값을 비교하고 비교결과 특정되는 어느 하나의 선택 오차 값에 대응되는 파라미터를 상기 렌즈의 렌즈 파라미터로 특정하는 단계를 포함한다.
상기 추정 파라미터에 대응되는 제1오차 값을 연산하는 단계는 상기 추정 파라미터를 이용하여 상기 제1이미지 및 상기 제2이미지 각각을 상기 제1전환 이미지 및 상기 제2전환 이미지로 전환하는 단계, 상기 제1전환 이미지로부터 적어도 하나의 제1특징점 및 상기 제2전환 이미지로부터 적어도 하나의 제2특징점을 추출하는 단계,및 추출된 상기 제1특징점 및 상기 제2특징점 간의 전환 오차 값을 상기 제1오차 값으로 연산하는 단계를 포함할 수 있다.
상기 추정 파라미터에서 상기 추정 파라미터에 포함된 파라미터 중 적어도 한 개의 파라미터 값을 변경한 적어도 하나의 변경 파라미터 각각에 대해 대응되는 변경 오차 값을 연산하는 단계는, 상기 추정 파라미터에 포함된 어느 하나인 제1세부 파라미터의 값을 소정의 단위만큼 변경시켜서 제1변경 파라미터를 설정하는 단계, 상기 제1변경 파라미터에 대응되는 제1변경 오차 값을 연산하는 단계, 상기 제1오차 값과 상기 제1변경 오차 값을 비교하여 상기 제1변경 오차 값이 상기 제1오차 값보다 작은 경우는 상기 제1변경 파라미터의 변경시와 동일한 방향으로 상기 제1세부 파라미터의 값을 변경하고, 상기 단말기가 상기 제1오차 값과 상기 제1변경 오차 값을 비교하여 상기 제1변경 오차 값이 상기 제1오차 값보다 큰 경우는 상기 제1변경 파라미터의 변경 시와 반대 방향으로 상기 제1세부 파라미터의 값을 변경하는 단계를 포함할 수 있다.
상기 렌즈 파라미터의 보정방법은 상기 제1세부 파라미터에 대해 최적의 파라미터 값을 탐색하는 단계, 상기 추정 파라미터에 포함되며 상기 제1세부 파라미터가 상기 최적의 파라미터 값인 상태에서 상기 제1세부 파라미터가 아닌 제2세부 파라미터에 대해 최적의 파라미터 값을 탐색하는 단계를 더 포함할 수 있다.
상기 렌즈 파라미터의 보정방법은 상기 단말기가 특정된 상기 렌즈의 파라미터와 상기 렌즈의 식별정보, 및 상기 단말기의 종류 정보를 소정의 서버로 전송하는 단계를 더 포함하며, 상기 서버에는 상기 렌즈의 파라미터, 상기 렌즈의 식별정보, 및 상기 단말기의 종류 정보가 대응되도록 저장된 데이터베이스가 포함되는 것을 특징으로 할 수 있다.
상기 렌즈 파라미터의 보정방법은 제2단말기가 상기 제2단말기에 부착된 제2렌즈의 식별정보를 특정하는 단계, 상기 제2렌즈의 식별정보와 상기 제2단말기의 종류정보를 상기 서버로 전송하고, 상기 서버로부터 수신된 응답정보에 기초하여 상기 제2단말기가 상기 타렌즈의 렌즈 파라미터를 특정하는 단계를 더 포함할 수 있다.
상기 렌즈 파라미터의 보정방법은 제2단말기가 상기 제2단말기에 부착된 제2렌즈의 식별정보를 특정하는 단계, 상기 제2렌즈의 식별정보와 상기 제2단말기의 종류정보를 상기 서버로 전송하고, 상기 서버로부터 수신된 응답정보에 기초하여 상기 제2단말기가 상기 제2렌즈의 렌즈 파라미터를 특정하기 위한 제2추정 파라미터를 특정하는 단계를 더 포함할 수 있다.
상기 제2단말기가 상기 제2렌즈의 렌즈 파라미터를 특정하기 위한 제2추정 파라미터를 특정하는 단계는 상기 데이터베이스로부터 상기 제2렌즈의 식별정보 및 제3단말기 종류정보에 상응하는 렌즈 파라미터 값을 수신하거나, 제2단말기의 종류정보 및 제3렌즈의 식별정보에 상응하는 레즌 파라미터 값을 수신한 경우에 수행되는 것을 특징으로 할 수 있다.
상기 추정 파라미터는 렌즈의 방사왜곡 값(K1, K2, K3) 중 적어도 하나 또는 상기 렌즈의 HFoV(Horizontal field of view)를 파라미터로 포함하는 것을 특징으로 할 수 있다.
상기 제1오차 값 또는 연산되는 상기 변경 오차 값이 미리 정의된 기준 오차 값 이하인 경우에는, 추가적인 파라미터 탐색을 미수행하고 상기 제1오차 값 또는 상기 변경 오차 값을 렌즈 파라미터로 설정하는 것을 특징으로 할 수 있다.
본 발명의 기술적 사상을 구현하기 위한 단말기는 프로세서를 포함하는 제어부, 상기 제어부에 의해 실행되는 프로그램이 기록된 저장매체, 및 단말기에 착탈가능한 렌즈를 통해 영상정보를 획득하는 이미지 센서를 포함하며, 상기 프로그램은 상기 렌즈가 부착된 상태에서 상기 단말기에 의해 촬영된 제1이미지 및 제2이미지를 각각 목표하는 제1전환 이미지 및 제2전환 이미지로 전환하는데 영향을 미치는 적어도 하나의 파라미터인 추정 파라미터를 설정하고, 상기 추정 파라미터에 대응되는 제1오차 값을 연산하며,-여기서 상기 제1오차 값은 설정된 상기 추정 파라미터를 이용하여 상기 제1이미지 및 상기 제2이미지를 상기 제1전환 이미지 및 상기 제2전환 이미지로 각각 전환하는 경우의 상기 전환의 정확성을 나타낼 수 있는 정보임-, 상기 추정 파라미터에서 상기 추정 파라미터에 포함된 파라미터 중 적어도 한 개의 파라미터 값을 변경한 적어도 하나의 변경 파라미터 각각에 대해 대응되는 변경 오차 값을 연산하고, 상기 제1오차 값 및 상기 적어도 하나의 변경 오차 값을 비교하고 비교결과 특정되는 어느 하나의 선택 오차 값에 대응되는 파라미터를 상기 렌즈의 렌즈 파라미터로 특정한다.
본 발명의 기술적 사상에 의하면, 사용자가 휴대하고 있는 단말기를 이용하여 간편하고 상대적으로 정확한 정합 이미지를 생성할 수 있도록 함으로써 누구나 손쉽게 저렴한 비용으로 정합 이미지(예컨대, VR에 활용될 수 있는 360 이미지 등)를 활용할 수 있도록 하는 효과가 있다.
또한 단말기를 회전시킬 수 있는 구동장치를 이용함으로써 정합할 이미지의 방향을 상대적으로 정확하게 알 수 있고, 이를 통해 이미지의 정합 시에 상대적으로 빠르고 정확한 이미지 정합이 가능한 효과가 있으며, 이러한 구동장치의 이용으로 이미지의 촬영시의 방향(로테이션 각도)의 제어가 정확히 이루어질 수 있으므로 단말기가 정합할 이미지들 즉, 부분 이미지들을 촬영하기 위해 한 번의 회전을 통해 획득된 이미지들만을 정합 이미지의 생성에 이용하는 것이 아니라, 복수의 회전을 통해 각각의 회전들별로 부분 이미지들을 획득하고, 서로 다른 회전으로부터 획득된 부분 이미지를 같이 이용하여 정합 이미지를 생성할 수 있는 효과가 있다.
이를 통해 예컨대, 제1회전에서 특정 방향(예컨대, 정면 방향)을 촬영한 부분이미지와 제2회전에서 상기 특정 방향을 촬영한 부분 이미지에 이미지 차이가 존재하는 경우, 원하는 부분 이미지를 다른 회전에서 촬영한 부분 이미지들과 정합하여 사용자가 원하는 효과를 획득할 수 있다. 예컨대 제1회전에서 특정 방향에 해당하는 부분 이미지에는 사용자가 원치 않는 특징(예컨대, 특정 객체(예컨대, 사람 등)가 촬영됨)이 존재하고, 제2회전에서 상기 특정 방향에는 상기 특징이 존재하지 않는 경우(예컨대, 특정 객체(예컨대, 사람 등)가 촬영되지 않음) 경우, 제1회전에서 상기 특정 방향의 부분 이미지를 제외한 이미지들과 제2회전에서 상기 특정 방향의 부분 이미지를 결합함으로써 전체 정합 이미지에는 사용자가 원치 않는 특징이 나타나지 않도록 하는 효과가 있다.
또한 부착형 렌즈(예컨대, 어안렌즈)를 사용하는 경우에 렌즈 파라미터의 변경으로 인한 정합성능의 저하가 발생할 수 있는데, 이러한 정합성능의 저하를 렌즈 파라미터를 보정함으로써 효과적으로 막을 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 정합 이미지 생성방법을 구현하기 위한 장치들을 나타내는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 단말기의 개략적인 구성을 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 정합 이미지 및 부분 이미지를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 정합 이미지 생성방법을 설명하기 위한 흐름도를 나타낸다.
도 5는 본 발명의 일 실시 예에 따른 정합 이미지 생성방법을 이용해 복수의 회전을 수행하여 부분 이미지들을 획득하는 개념을 설명하기 위한 도면이다.
도 6은 본 발명의 일실시 예에 따른 정합 이미지 생성방법을 통해 복수의 회전들 각각으로부터 획득되는 부분 이미지들을 정합하여 정합 이미지를 생성하는 개념을 설명하기 위한 도면이다.
도 7 내지 도 9는 본 발명의 다른 일실시 예에 따른 정합 이미지 생성방법을 통해 복수의 회전들 각각으로부터 획득되는 부분 이미지들을 정합하여 정합 이미지를 생성하는 개념을 설명하기 위한 도면이다.
도 10은 본 발명의 실시 예에 따른 정합 이미지를 생성하기 위한 이미지 전환(transform)을 수행하는 개념을 설명하기 위한 도면이다.
도 11은 본 발명의 실시 예에 따른 렌즈 파라미터의 보정방법을 수행하기 위한 오차 값을 연산하는 개념을 설명하기 위한 도면이다.
도 12는 본 발명의 실시 예에 따른 렌즈 파라미터의 보정방법을 개략적으로 설명하기 위한 플로우 차트를 나타낸다.
도 13은 본 발명의 실시 예에 따른 렌즈 파라미터 및 렌즈 파라미터의 탐색을 위한 탐색기준을 나타내는 도면이다.
도 14는 본 발명의 실시 예에 따른 데이터베이스의 일 예를 나타내는 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시 예에 따른 정합 이미지 생성방법을 구현하기 위한 장치들을 나타내는 도면이다.
도 1을 참조하면, 본 발명의 기술적 사상에 따른 정합 이미지 생성방법 또는 렌즈 파라미터의 보정방법을 구현하기 위해서는 단말기(100)가 구비될 수 있다.
상기 단말기(100)는 사용자가 휴대하고 다닐 수 있으며, 이미지를 획득할 수 있는 이미지 센서를 구비하는 모든 형태의 데이터 처리장치를 포함하는 의미일 수 있다. 일 예에 의하면 상기 단말기(100)는 사용자의 휴대폰일 수 있지만 이에 국한되지는 않는다. 또한 본 발명의 기술적 사상의 일부는 사용자가 휴대하고 다니지 않는 장치에 의해 구현될 수도 있으며, 이러한 경우에도 본 발명의 권리범위에 포함될 수 있음은 물론이다.
상기 단말기(100)는 회전을 수행하면서 이미지들(부분 이미지)을 촬영할 수 있다. 상기 단말기(100)는 상기 단말기(100)를 중심으로 360도를 회전할 수도 있고, 360도를 회전하지 않을 수도 있다. 어떠한 경우든 상기 단말기(100)는 생성하고자 하는 정합 이미지가 커버하고자 하는 각도(예컨대, 360도, 270도, 180도 등)를 모두 커버할 수 있도록 필요한 만큼 회전을 수행할 수 있다. 물론 회전의 정도는 상기 단말기(100)에 구비된 이미지 센서의 시야각의 크기에 따라 달라질 수 있음은 물론이다.
상기 단말기(100)는 상기 단말기(100)를 회전하도록 하는 소정의 구동장치(200)에 부착, 체결, 또는 결합될 수 있다. 그리고 상기 구동장치(200)를 통해 상기 단말기(100)의 움직임이 수행될 수 있다.
상기 단말기(100)는 상기 구동장치(200)를 제어할 수 있다. 일 예에 의하면, 상기 단말기(100)는 상기 구동장치(200)와 소정의 근거리 무선통신(예컨대, 블루투스, NFC, 지그비 통신, WiFi 등)을 수행할 수 있다. 상기 단말기(100)는 상기 구동장치(200)로 소정의 커맨드를 전송할 수 있고, 전송된 커맨드에 응답하여 상기 구동장치(200)는 구동을 할 수 있다. 또한 실시 예에 따라 상기 구동장치(200)는 상기 커맨드에 응답하여 수행된 구동의 구동결과를 상기 단말기(100)로 전송할 수 있다.
상기 구동장치(200)는 적어도 회전운동을 수행하는 장치일 수 있다. 이러한 회전운동을 위한 로테이터가 상기 구동장치(200)에 구비될 수 있다. 또한 상기 구동장치(200)는 상기 단말기(100)를 체결시키기 위한 소정의 체결부(미도시)가 구비될 수 있다.
일 예에 의하면, 상기 구동장치(200)는 미리 정해진 기준 각도단위로 회전을 수행할 수 있는 장치일 수 있으며, 상기 단말기(100)로부터 수신된 커맨드에 응답하여 상기 커맨드에서 원하는 만큼의 각도만큼 회전될 수 있다. 이러한 방식을 통해 상기 구동장치(200) 및/또는 상기 단말기(100)의 회전각도가 제어될 수 있다.
다른 실시 예에 의하면, 상기 구동장치(200)는 단말기(100)로부터 수신된 커맨드에 응답하여 회전을 수행할 수 있다. 그리고 상기 단말기(100)가 상기 구동장치(200)(즉, 상기 단말기(100))의 회전정도를 센싱하고, 필요한 각도가 회전되었다고 센싱되면 상기 구동장치(200)의 회전을 멈추는 커맨드를 전송할 수도 있다. 어떠한 경우든, 상기 단말기(100)는 구동장치(200)의 회전각도의 제어를 통해 자신의 회전각도를 상대적으로 정확하게 제어할 수 있다.
본 명세서에서는 상기 구동장치(200)가 단순히 상기 단말기(100)를 회전시키는 기능만을 구비한 일 예를 설명하지만, 필요에 따라 상기 구동장치(200)는 이동, 상기 단말기(100)의 틸트(tilt) 등을 수행하거나, 상하로 상기 단말기(100)의 위치를 변경하는 등의 기능을 수행하도록 구현될 수도 있다.
한편, 상기 단말기(100)에는 특정 방향(예컨대, 상하방향)의 시야각을 확대하기 위한 소정의 시야각 확대장치 즉, 렌즈(예컨대, 어안렌즈 등, 300)가 부착될 수도 있다. 이러한 경우 상기 렌즈(300)에 의해 상하로 거의 180도 까지의 시야각이 확보될 수도 있으며, 이러한 경우에는 상기 단말기(100)가 좌우 360도의 시야각을 확보할 수 있도록 회전을 수행할 경우 360도 이미지(스피어 이미지)를 생성할 수 있음은 물론이다.
상기 렌즈(300)는 상기 단말기(100)에 구비되어 있는 이미지 센서(예컨대, 카메라 등)와 겹치도록 설치될 수 있다. 이를 통해 상기 이미지 센서는 상기 렌즈(300)를 통해 영상정보를 획득할 수 있다.
상기 렌즈(300)는 상기 단말기(100)에 착탈될 수 있는 장치일 수 있다. 따라서 상기 렌즈(300)는 어느 한 종류의 고정된 장치가 아니라 사용자의 의도에 따라 다양한 렌즈(300)가 상기 단말기(100)에 부착될 수 있다.
이러한 경우 상기 단말기(100)는 상기 단말기(100)에 원래 구비되어 있던 이미지 센서 및 원래의 렌즈에 대한 각종 정보(예컨대, 렌즈 파라미터 등)는 알고 있지만, 상기 렌즈(300)에 대한 정보(예컨대, 렌즈 파라미터)는 알지 못하는 문제점이 있다.
이러한 경우 이미지 정합을 위한 이미지 전환(transformation)이 정확하게 이루어지지 않을 수 있고, 그에 따라 이미지 정합이 부정확하게 되는 문제점이 발생할 수 있다. 특히 360도 이미지와 같이 이미지 전환에 있어서 렌즈 파라미터가 영향을 상대적으로 많이 미치는 경우에 이러한 문제점은 증가할 수 있다.
따라서 상기 단말기(100)는 이러한 문제점을 해결하기 위한 렌즈 파라미터의 보정방법을 후술하는 바와 같이 수행할 수 있다. 그리고 렌즈 파라미터의 보정이 이루어진 후에 이미지 정합이 이루어질 수 있다.
결국, 본 발명의 기술적 사상에 의하면 상기 단말기(100)는 상기 구동장치(200)를 제어하여 원하는 각도만큼 상대적으로 정확하게 회전(즉, 원하는 방향으로 회전)하여 이미지를 촬영한 후, 다시 원하는 각도만큼 회전을 수행하여 이미지를 촬영할 수 있다. 이러한 회전 각도의 제어가 상기 단말기(100)에 의해 상대적으로 정확하게 이루어지는 경우, 단말기(100)는 인접한 이미지의 회전각도(시야각)을 정확하게 알고 있을 수 있으며 이러한 경우 이미지 정합(스티칭)의 정확성 및 신속성이 향상될 수 있는 효과가 있다.
한편, 다른 실시 예에 의하면, 상기 단말기(100)는 단순히 원하는 각도를 커버할 정도의 회전을 한번 수행하고 이러한 회전 동안 획득된 복수의 부분 이미지들을 정합하여 정합 이미지를 생성하는 것이 아니라, 복수의 회전을 수행하면서 각각의 회전별로 적어도 하나의 부분 이미지들을 획득하고 서로 다른 회전에서 획득된 부분 이미지들을 정합하여 하나의 정합 이미지를 생성할 수도 있다.
이러한 기술적 사상은 특정 타임구간에서 획득된 특정 방향의 부분 이미지를 다른 타임구간에서 획득된 상기 특정 방향의 부분 이미지로 대체하여 정합 이미지를 생성할 수 있는 기술적 사상을 제공할 수 있다. 또한 이러한 기술적 사상은 전술한 바와 같이 구동장치(200)를 통해 단말기(100)의 회전이 정확히 제어되는 경우 더욱 그 효과가 커질 수 있다.
이러한 기술적 사상을 구현하기 위한 상기 단말기(100)의 구성은 도 2를 참조하여 설명하도록 한다.
도 2는 본 발명의 일 실시 예에 따른 단말기의 개략적인 구성을 나타낸다.
도 2를 참조하면, 상기 단말기(100)는 제어부(110), A/V(Audio/Video) 입력모듈(120), 및 저장매체(160)를 적어도 포함한다. 상기 단말기(100)는 통신모듈(130), 출려모듈(140), 및 입력모듈(150)을 더 포함할 수 있다. 상기 단말기(100)는 소정의 서비스 서버(400)와 통신을 수행할 수도 있다. 이러한 경우 상기 통신모듈(130)에는 상기 서비스 서버(400)와 통신을 수행하기 위한 무선 인터넷 장치 등이 구비될 수 있음은 물론이다.
또한, 도 2에 도시된 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 이동 단말기가 구현될 수도 있다.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어(예컨대, 상기 제어부(110) 및/또는 저장매체(160)) 및 상기 하드웨어를 구동하기 위한 소프트웨어(예컨대, 본 발명의 기술적 사상을 구현하기 위한 상기 프로그램)의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 각각의 구성들은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류나 특정 개수의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다. 따라서 상기 각각의 구성들은 본 명세서에서 정의되는 기능을 수행하는 하드웨어 및 소프트웨어의 결합을 의미하며 특정 물리적 구성을 의미하는 것은 아니다.
A/V(Audio/Video) 입력모듈(120)은 적어도 이미지 센서(121)를 포함한다. 이미지 센서(121)는 이미지를 촬영/획득할 수 있는 장치를 의미할 수 있으며, 구현 예에 따라 상기 A/V(Audio/Video) 입력모듈(120)은 복수의 이미지 센서(121)들을 구비할 수도 있다.
또한 구현 예에 따라 상기 A/V(Audio/Video) 입력모듈(120)은 오디오 신호 또는 비디오 신호 입력을 위한 다른 구성(예컨대, 마이크 등)을 더 포함할 수 있다.
통신모듈(130)은 근거리 통신모듈(131)을 포함한다. 또한 상술한 바와 같이 필요에 따라 무선 통신 장치(미도시)를 더 구비하여 외부 무선 통신 시스템과 통신을 수행할 수도 있다.
상기 통신모듈(130)에 포함된 상기 근거리 통신모듈(131)을 통해 상기 단말기(100)는 상기 구동장치(200)와 통신을 수행할 수 있다. 근거리 통신모듈(131)이 수행하는 근거리 통신 프로토콜은 예컨대,
블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, WiFi 등이 이용될 수 있다.
출력모듈(140)은 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 구성일 수 있다. 예컨대, 디스플레이 장치, 음향 출력 장치, 알람장치, 및 햅틱 모듈 등이 포함될 수 있다.
입력모듈(150)은 상기 단말기(100)로 사용자가 원하는 입력신호를 입력받을 수 있도록 구현된다. 예컨대, 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(정압/정전), 조그 휠, 조그 스위치 등으로 구성될 수 있다.
상기 저장매체(160)는 본 발명의 기술적 사상을 구현하기 위해 상기 단말기(100)가 생성하거나 외부로부터 입력받은 데이터를 영구적으로 또는 임시적으로 저장할 수 있는 장치일 수 있다.
구현 예에 따라 상기 저장매체(160)는 복수의 서로 다른 물리적 장치로 분할되어 있을 수 있으며, 구현 예에 따라 상기 저장매체(160)의 일부는 상기 제어부(110)의 내부에 존재할 수도 있다. 상기 저장매체(160)는 구현 예에 따라 하드 디스크, SSD(Solid State Disk), 광 디스크, RAM(Random Access Memory), 및/또는 기타 다양한 종류의 기억매체로 구현될 수 있으며, 필요에 따라서는 상기 단말기(100)에 착탈식으로 구현될 수도 있다.
일 예에 의하면, 상기 저장매체(160)에는 본 발명의 기술적 사상을 구현하기 위한 프로그램이 저장될 수 있다. 상기 프로그램은 상기 제어부(110)에 의해 구동(실행)될 수 있으며, 상기 프로그램이 실행됨으로써 본 발명에서 정의되는 기능들이 수행될 수 있다. 이하 본 명세서에서는 특별한 기재가 없는 한 상기 프로그램에 의해 본 명세서에서 정의하는 기능이 수행됨을 의미할 수 있다.
상기 제어부(110)는 프로세서를 포함하며 상기 단말기(100)의 전반적인 동작을 제어할 수 있다. 상기 제어부(110)는 프로세서, 마이크로 프로세스 등을 포함할 수 있으며 전술한 바와 같이 저장매체(160)에 저장된 프로그램을 구동함으로써 본 발명의 기술적 사상을 구현할 수 있다.
또한, 필요에 따라 상기 단말기(100)는 소정의 센싱모듈(미도시)을 구비할 수 있으며, 상기 센싱모듈을 통해 상기 단말기(100)의 개폐 상태, 단말기(100)의 위치, 사용자 접촉 유무, 단말기의 방위, 단말기의 가속/감속 등을 센싱할 수 있다. 또한 전술한 바와 같이 상기 단말기(100)의 회전각도를 센싱하여, 센싱된 정보에 기초하여 상기 단말기(100)가 제어될 수도 있다.
일 예에 의하면, 상기 단말기(100)는 구동장치(200)를 제어하여 회전을 수행하면서 부분 이미지들을 획득할 수 있다. 획득된 부분 이미지들은 정합이 수행될 수 있으며, 상기 부분 이미지들의 정합은 상기 단말기(100)에서 수행될 수도 있다. 하지만 필요에 따라 부분 이미지들의 정합은 상기 단말기(100)와 통신을 수행하는 서비스 서버(400)에서 수행될 수도 있으며, 이러한 경우 상기 단말기(100)는 획득된 부분 이미지들을 상기 서비스 서버(400)로 전송할 수 있다. 그리고 필요한 경우 상기 서비스 서버(400)로부터 정합된 정합 이미지를 수신하여 상기 단말기(100)에서 디스플레이할 수도 있다.
도 3은 본 발명의 일 실시 예에 따른 정합 이미지 및 부분 이미지를 설명하기 위한 도면이다.
이하 본 명세서에서, 명시적으로 달리 설명하지 않은 이상, 단말기(100) 또는 서비스 서버(400)에 의해 정합되는 정합 이미지는 360도 이미지(스피어 이미지)를 의미할 수 있다. 또한 상기 단말기(100)는 60도씩 회전하여 360도를 회전하면서 서로 다른 6장의 부분 이미지들을 촬영하는 경우를 일 예로 설명하기로 한다. 또한 부분 이미지들을 정합하는 기능 역시 상기 단말기(100)가 수행하는 경우를 예시적으로 설명하지만, 부분 이미지들의 정합은 서비스 서버(400)에 의해 수행될 수 있음은 전술한 바와 같다. 또한, 후술할 바와 같은 렌즈 파라미터의 보정 역시 상기 단말기(100)가 수행할 수도 있지만, 필요에 따라 상기 서버(400)가 수행하거나 또는 상기 단말기(100) 및 상기 서버(400)가 같이 수행할 수도 있다.
우선 도 3a를 참조하면, 단말기(100)는 정합 이미지를 생성하기 위해 n(예컨대, 6)개의 부분 이미지들(예컨대, 10-1 내지 15-1)을 촬영할 수 있다. 이를 위해 상기 단말기(100)는 구동장치(200)를 제어하여 n개의 방향(예컨대, 10 내지 15)을 향하도록 회전한 후, 각각의 방향에서 부분 이미지를 촬영할 수 있다.
예컨대, 상기 단말기(100)는 제1방향(10)에서 제1부분 이미지(10-1)를 촬영하고, 제2방향을 향하도록 구동장치(200)를 제어할 수 있다. 그리고 제2방향(11)에서 제2부분 이미지(11-1)를 촬영할 수 있다. 이와 같은 방식으로 상기 단말기(100)는 6개의 부분 이미지들을 순차적으로 획득할 수 있다. 이러한 경우 상기 단말기(100)의 이미지 센서(121)는 적어도 좌우 60도 보다는 큰 시야각을 갖는 것이 바람직할 수 있다. 상기 단말기(100)는 순차적으로 회전 및 촬영을 통해 부분 이미지들(예컨대, 10-1 내지 15-1)을 획득할 수 있으므로, 서로 인접한 부분 이미지들이 무엇인지를 알 수 있다. 더욱이 각 부분 이미지들의 방향을 정확히 알고 있으므로 상대적으로 부분 이미지들 간에 겹치는 영역을 손쉽게 판단할 수 있으며, 이를 통해 상대적으로 빠른 시간 내에 이미지 정합이 이루어질 수 있는 효과가 있다.
상기 단말기(100)가 회전을 수행하기 위해서는, 상기 단말기(100)가 상기 구동장치(200)로 미리 정해진 각도(예컨대, 60도)를 회전하라는 커맨드를 전송할 수 있다. 그리고 커맨드에 응답하여 상기 구동장치(200)로부터 상기 각도만큼 회전이 수행되었다는 신호를 수신하면, 상기 단말기(100)는 부분 이미지를 촬영할 수 있다.
다른 실시 예에 의하면, 상기 단말기(100)는 구동장치(200)를 회전시키라는 커맨드를 구동장치(200)로 출력할 수 있다. 이에 응답하여 상기 구동장치(200)가 회전을 수행하면, 상기 단말기(100)는 회전각도를 센싱할 수 있다. 그리고 회전 각도가 원하는 각도에 상응하면 상기 단말기(100)는 구동장치(200)로 회전 중지를 위한 커맨드를 출력할 수 있다. 그러면 상기 구동장치(200)는 회전을 중지할 수 있고, 그러면 상기 단말기(100)는 부분 이미지를 촬영할 수 있다.
어떠한 방식이든 상기 단말기(100)는 원하는 각도만큼 회전을 수행하여, 수행된 각도(방향)에서 부분 이미지를 촬영할 수 있다.
한편, 반드시 본 발명의 기술적 사상이 상기 단말기(100)가 좌우로 360도 회전되어야 하는 것은 아닐 수 있으며, 미리 정해진 각도를 커버하는 정합 이미지를 생성하기 위해 필요한 각도만 회전할 수도 있다. 이러한 일 예는 도 3b에 도시된 바와 같을 수 있다.
도 3b에 도시된 바와 같이 단말기(100)는 180도를 커버하는 정합 이미지를 생성할 수 있고, 이를 위해 180도를 분할한 n개의 방향(예컨대, 21을 포함하는 12방향)을 향하도록 순차적으로 회전하면서 n방향에서 n개의 부분 이미지(예컨대, 21-1을 포함하는 12개의 부분 이미지)를 촬영할 수 있다. 그리고 상기 부분 이미지들을 정합하여 180도를 커버하는 정합 이미지를 생성할 수도 있다.
이러한 본 발명의 정합 이미지 생성방법을 간략히 정리하면 도 4와 같을 수 있다.
도 4는 본 발명의 일 실시 예에 따른 정합 이미지 생성방법을 설명하기 위한 흐름도를 나타낸다.
도 4를 참조하면, 상기 단말기(100)는 소정의 방향에서 부분 이미지를 획득할 수 있다(S10). 그리고 구동장치(200)를 제어하여 미리 정해진 각도만큼 회전을 수행할 수 있다(S20). 그리고 회전이 수행된 상태에서 해당하는 부분 이미지를 획득할 수 있다(S30). 그리고 원하는 n개의 방향에 상응하는 n개의 부분 이미지들을 획득하였는지 판단할 수 있다(S40). 만약 n개의 부분 이미지들을 모두 획득하지 못했다고 판단되면(S40), 상기 단말기(100)는 다시 구동장치를 제어하여 회전을 수행한 후 부분 이미지를 획득할 수 있다(S20, S30).
만약 n개의 부분 이미지들을 모두 획득했다고 판단되면(S40), 상기 단말기(100)는 획득된 부분 이미지들을 정합하는 정합 프로세스를 수행할 수 있다(S50). 상기 정합 프로세스는 상기 단말기(100)가 직접 이미지 정합을 수행하는 프로세스이거나 또는 상기 단말기(100)가 상기 서비스 서버(400)로 부분 이미지들을 전송하고 상기 서비스 서버(400)가 부분 이미지들을 정합하도록 하는 프로세스를 의미할 수 있음은 전술한 바와 같다.
한편, 본 발명의 기술적 사상은 전술한 바와 같이 상기 단말기(100)가 복수의 회전을 수행함으로써, 서로 다른 회전을 통해 획득된 부분 이미지들을 하나의 정합 이미지를 생성하는데 이용하도록 할 수 있다.
이러한 일 예는 도 5 내지 도 6을 참조하여 설명하도록 한다.
도 5는 본 발명의 일 실시 예에 따른 정합 이미지 생성방법을 이용해 복수의 회전을 수행하여 부분 이미지들을 획득하는 개념을 설명하기 위한 도면이다. 또한, 도 6은 본 발명의 일실시 예에 따른 정합 이미지 생성방법을 통해 복수의 회전들 각각으로부터 획득되는 부분 이미지들을 정합하여 정합 이미지를 생성하는 개념을 설명하기 위한 도면이다.
우선 도 5a를 참조하면, 상기 단말기(100)는 n(예커대, 6)개의 방향(예컨대, 10 내지 15)을 각각 향하도록 회전한 후, 각각의 방향(예컨대, 10 내지 15)에서 부분 이미지들(예컨대, 10-1 내지 15-1)을 촬영할 수 있다. 이러한 회전 및 촬영과정을 기초회전으로 정의하도록 한다.
그러면 상기 단말기(100)는 상기 기초회전을 통해 획득된 부분 이미지들(예컨대, 10-1 내지 15-1)을 정합하여 정합 이미지를 생성하는 것이 아니라, 추가 회전을 수행할 수 있다. 그리고 추가회전을 통해 적어도 하나의 부분 이미지를 획득할 수 있다. 상기 추가회전은 한 번 또는 그 이상일 수 있지만, 설명의 편의를 위해 본 명세서에서는 추가회전은 한 번인 것을 가정하여 설명하도록 한다.
또한 기초회전에서 획득된 부분 이미지를 기초회전 부분 이미지로 정의하기로 하고, 추가회전을 통해 획득된 부분 이미지를 추가회전 부분 이미지로 정의하기로 한다.
그러면 본 발명의 기술적 사상은 기초회전 부분 이미지들 중 일부와 추가회전 부분 이미지 중 전부 또는 일부를 정합하여 정합 이미지를 생성할 수 있다. 이를 통해 서로 다른 시간구간(예컨대, 기초회전에 해당하는 시간구간 및 추가회전에 해당하는 시간구간)에서 촬영된 이미지들이 정합되어 하나의 정합 이미지를 생성하는 개념이 제시된다.
이러한 개념은 촬영대상이 정적인 피사체(예컨대, 풍경, 건물이나 부동산 등) 즉, 시간에 크게 영향을 받지 않는 피사체를 촬영하여 정합 이미지(예컨대, 360도 이미지)를 생성하고자 할 때, 특정방향에 해당하는 기초회전 부분 이미지가 사용자가 원치 않는 특징이 있는 경우 상기 기초회전 부분 이미지를 상기 특징이 없는 추가회전 부분 이미지로 대체할 수 있는 효과를 제공할 수 있다. 이때 대체되는 추가회전 부분 이미지는 대체의 대상이 되는 기초회전 부분 이미지와는 대응되는 부분 이미지(즉, 동일한 방향에 해당하는 부분 이미지)일 수 있다.
예컨대 도 5a에서 제3방향(12)에서 획득한 제3부분 이미지(12-1)에 원치 않는 특징(예컨대, 특정 객체가 촬영)이 존재할 수 있다.
그러면 만약 상기 단말기(100)가 도 5b에 도시된 바와 같이 추가회전을 수행하여 기초회전과 동일한 n개의 방향(예컨대, 10 내지 15)에 대해, n개의 추가회전 부분 이미지들(예컨대, 10-2 내지 15-2)을 획득하였다면, 상기 특징이 존재하지 않는(예컨대, 특정 객체가 촬영되지 않은) 기초회전 제3부분 이미지(12-1)를 대체하여 추가회전 제3부분 이미지(12-2)를 정합에 이용할 수 있다.
즉, 기초회전 부분 이미지들(10-1 내지 15-1) 중 정합의 대상이 되는 기초회전 정합 대상 이미지는 상기 제3부분 이미지(12-1)를 제외한 기초회전 부분 이미지들(예컨대, 10-1, 11-1, 13-1, 14-1, 15-1)이 될 수 있다. 그리고 정합의 대상이 되는 추가회전 부분 이미지는 대체될 기초회전 부분 이미지인 기초회전 제3부분 이미지(12-1)에 대응되는 추가회전 부분 이미지(12-2)일 수 있다.
그러면 상기 기초회전 정합대상 이미지(예컨대, 10-1, 11-1, 13-1, 14-1, 15-1)와 추가회전 정합대상 이미지(예컨대, 12-2)가 정합된 결과 도 6에 도시된 바와 같은 정합 이미지가 생성될 수 있다.
만약 추가회전(예컨대, 두 번째 회전)을 통해 획득된 추가회전 제3부분 이미지(예컨대, 12-2)에도 상기 특징이 여전히 존재한다면 상기 단말기(100)는 다시 추가회전(예컨대, 세 번째 회전)을 수행할 수 있다. 어떠한 경우든 상기 특징이 존재하지 않는 추가회전 제3부분 이미지를 추가회전의 횟수에 무관하게 획득하고 이를 정합대상으로 할 수 있다.
예를 들어 만약 상기 특징이 전술한 바와 같이 특정 객체(예컨대, 사람)이 촬영되는 특징이고, 상기 단말기(100)가 상기 특징이 존재하는 기초회전 부분 이미지는 모두 정합대상에서 제외한다고 가정할 수 있다. 그러면 상기 기초회전 부분 이미지들 중에서 정합의 대상이 되는 부분 이미지들은 모두 상기 특징이 존재하지 않는 이미지들일 수 있다. 그리고 제외된 기초회전 부분 이미지 각각에 대응되는 추가회전 부분 이미지들은 상기 특징이 존재하지 않는 부분 이미지들일 수 있다. 이러한 방식으로 기초회전 부분 이미지들 중 상기 특징이 존재하지 않는 부분 이미지들 즉, 기초회전 정합대상 이미지와 추가회전 부분 이미지들 중 추가회전 정합대상 이미지가 정합되면 정합된 정합 이미지는 전 방향에서 상기 특징이 존재하지 않게 된다.
예를 들어 상기 단말기(100)가 특정 공간을 촬영한다고 가정하고 상기 특징은 사람이 촬영되는 것이라고 가정하면, 기초회전을 통해 특정 방향의 부분 이미지(예컨대, 12-1)에서 사람이 촬영되었다면, 상기 해당 특정 방향에 대해 사람이 촬영되지 않은 추가회전 부분 이미지(예컨대, 12-2)를 촬영하여 상기 추가회전 부분 이미지(예컨대, 12-2)를 사람이 촬영된 상기 기초회전 부분 이미지(예컨대, 12-1)와 대체할 수 있다. 그리고 대체된 기초회전 부분 이미지들(예컨대, 10-1. 11-1, 12-2, 13-1, 14-1, 15-1)을 정합하면, 상기 공간을 전방향 커버하는 정합 이미지가 생성되면서 어떠한 방향에서도 사람이 촬영되지 않는 특징을 갖게 될 수 있다.
기초회전 부분 이미지들 중에서 어떠한 특징을 가지는 부분 이미지가 정합대상에서 제외될지는 다양할 수 있다. 예컨대 전술한 바와 같이 특정 객체가 촬영된 것이 상기 특징일 수도 있고, 이와는 반대로 특정 객체가 촬영되지 않은 것이 상기 특징일 수도 있다. 구현 예에 따라 다양한 특징이 정의될 수 있고, 이러한 특징의 정의에 따라 정합 이미지가 커버하는 모든 방향에서 해당 특징이 존재하지 않는 정합 이미지를 생성할 수 있는 효과가 있다.
또한 상기 정합 이미지는 서로 다른 시간 대의 부분 이미지가 정합되어 새로운 시공간을 생성하는 효과를 가질 수 있다.
한편, 추가회전을 수행하면서, 도 5b에 도시된 바와 같이, 상기 단말기(100)는 추가회전 시에도 기초회전과 마찬가지로 n개의 방향들 각각에 해당하는 n개의 추가회전 부분 이미지들(예컨대, 10-2 내지 15-2)을 모두 촬영할 수도 있다.
그리고 전술한 바와 같이 상기 기초회전 부분 이미지에서 소정의 특징이 존재하는 기초회전 부분 이미지 즉, 제외 대상 부분 이미지(예컨대, 12-1)를 제외한 기초회전 정합대상 이미지(예컨대, 10-1. 11-1, 13-1, 14-1, 15-1)와 상기 n개의 추가회전 부분 이미지들(예컨대, 10-2 내지 15-2) 중에서 상기 제외 대상 부분 이미지(예컨대, 12-1)에 대응되는 이미지(예컨대, 12-2)인 상기 추가회전 정합대상 이미지가 정합될 수 있다.
즉, 추가회전에서도 상기 단말기(100)는 미리 정의된 n개의 방향 각각에 상응하는 n개의 이미지들을 모두 촬영할 수 있다.
그리고 이러한 경우에는 상기 단말기(100)는 기초회전에서 획득된 기초회전 부분 이미지들(예컨대, 10-1 내지 15-1)과 상기 기초회전 부분 이미지들 각각에 대응되는 추가회전 부분 이미지(예컨대, 10-2 내지 15-2)를 비교하여 상기 제외 대상이 되는 부분 이미지를 결정할 수도 있다.
예컨대, 기초회전에서 서로 다른 6개의 방향들에 대해 6개의 기초회전 부분 이미지들을 획득하고, 추가회전에서 서로 다른 6개의 방향들에 대해 6개의 추가회전 부분 이미지를 획득할 수 있다. 그리고 단말기(100)는 대응되는 각각의 부분 이미지들(예컨대, 10-1 및 10-2, 11-1 및 11-2 등)을 서로 비교할 수 있다. 그리고 비교결과가 미리 정해진 기준을 만족하는 경우에는 해당 방향의 기초회전 부분 이미지를 추가회전 부분 이미지로 대체할 수도 있다.
예컨대, 상기 단말기는 서로 대응되는 부분 이미지들의 차영상(differential image)를 획득하고 차영상을 이용하여 부분 이미지들의 차이가 일정 수준 이상인 경우 해당 방향의 기초회전 부분 이미지를 제외대상 부분 이미지로 판단할 수도 있다.
결국 제외대상 부분 이미지를 선택하기 위한 실시 예는 전술한 바와 같이 부분 이미지가 미리 정해진 특징을 가지고 있는지 여부에 기초할 수도 있지만, 대응되는 부분 이미지들의 비교에 의해 결정될 수도 있으며, 사용자가 직접 기초회전 부분 이미지 또는 추가회전 부분 이미지들 중에서 적어도 하나를 대체할(대체될) 부분 이미지로 선택할 수도 있다. 다양한 실시 예가 가능할 수 있다.
한편, 또 다른 실시 예에 의하면, 상기 단말기(100)는 반드시 추가회전을 통해 n방향 모두에 대해 추가회전 부분 이미지를 획득할 필요가 없을 수도 있다. 즉, 실시 예에 따라서는 기초회전 부분 이미지들 중에서 제외대상 부분 이미지에 대응되는 추가회전 부분 이미지만을 추가회전을 통해 획득할 수도 있다.
이러한 제외대상 부분 이미지의 결정은 상기 단말기(100)가 기초회전 부분 이미지들 각각을 분석하여 전술한 바와 같이 미리 정해진 특징을 갖는(만족하는) 부분 이미지가 어떤 것(n개의 방향중 어떤 방향) 인지를 판단함으로써 이루어질 수 있다.
또는 사용자에게 기초회전 부분 이미지들을 제공하고, 이에 응답하여 상기 기초회전 부분 이미지들 중에서 적어도 하나를 선택받을 수도 있다. 그러면 선택받은 기초회전 부분 이미지가 제외대상 부분 이미지로 선택될 수도 있다.
이처럼 제외대상 부분 이미지가 결정되면(즉, n개의 방향 중 제외대상 부분 이미지에 상응하는 방향이 결정되면), 상기 단말기(100)는 상기 단말기(100)가 상기 특정 방향으로 회전되도록 한 후 상기 방향에서의 추가회전 부분 이미지를 획득할 수 있다. 그리고 획득된 상기 추가회전 부분 이미지는 정합 이미지의 생성에 이용되는 상기 추가회전 정합대상 이미지가 될 수 있다.
n개의 방향 중 일부의 방향에서만 추가회전 부분 이미지를 선택적으로 획득하는 개념에 대한 일 예는 도 7 내지 도 9를 참조하여 설명하도록 한다.
도 7 내지 도 9는 본 발명의 다른 일실시 예에 따른 정합 이미지 생성방법을 통해 복수의 회전들 각각으로부터 획득되는 부분 이미지들을 정합하여 정합 이미지를 생성하는 개념을 설명하기 위한 도면이다.
우선 도 7을 참조하면, 상기 단말기(100)는 사용자에게 기초회전 부분 이미지들 중 전부(예컨대, 10-1 내지 15-1) 또는 일부를 제공할 수 있다. 사용자는 제공된 기초회전 부분 이미지들 중에서 적어도 하나를 제외대상 부분 이미지(예컨대, 12-1, 14-1)로 선택할 수 있다. 또는 상기 단말기(100)가 상기 기초회전 부분 이미지들 각각을 분석하여 소정의 특징이 있는 부분 이미지(예컨대, 12-1, 14-1)를 상기 제외대상 부분 이미지로 선택할 수도 있다.
그러면 상기 단말기(100)는 도 8에 도시된 바와 같이, 제외대상 부분 이미지에 상응하는 각각의 방향(예컨대, 12, 14)으로 선택적으로 회전을 수행할 수 있다. 그리고 회전된 각 방향(예컨대, 12, 14)에서만 추가회전 부분 이미지(12-3, 14-3)을 획득할 수도 있다. 즉, 이러한 경우 방향들(10, 11, 13, 15)에서는 추가회전 부분 이미지가 촬영되지 않을 수도 있다.
그러면 기초회전 부분 이미지들 중 제외대상 부분 이미지(12-1, 14-1)을 제외한 기초회전 정합대상 이미지(10-1, 11-1, 13-1, 15-1) 및 상기 제외대상 부분 이미지(12-1, 14-1)에 대응되는 추가회전 부분 이미지(12-3, 14-3)가 정합되어 정합 이미지가 생성될 수 있다.
한편, 정합 이미지가 커버하는 각도 및 n이 서로 다른 실시 예인 도 9에서도 전술한 바와 같은 기술적 사상이 적용되어, 서로 다른 회전에서 획득된 부분 이미지들이 하나의 정합 이미지에 포함될 수 있다.
즉, 도 9에서는 단말기(100)는 기초회전을 통해 12개의 방향에 대해 12개의 부분 이미지들을 획득할 수 있다. 그리고 추가회전을 통해 동일한 12개의 방향에 대해 12개의 추가회전 부분 이미지들을 전부 획득하거나, 기초회전 부분 이미지들 중 제외대상 부분 이미지에 대응되는 추가회전 부분 이미지(예컨대, 24-2, 29-2)만을 획득할 수도 있다.
그리고 기초회전 정합대상 이미지(21-1, 22-1, 23-1, 25-1, 26-1, 27-1, 28-1, 30-1, 31-1, 32-1)와 추가회전 정합대상 이미지(24-2, 29-2)가 정합되어 정합 이미지가 생성될 수 있다.
결국 본 발명의 기술적 사상에 따른 정합 이미지 생성방법에 의하면, 서로 다른 시간 대의 부분 이미지가 하나의 정합 이미지의 구성요소로 포함되어 새로운 시공간을 생성하는 효과를 가질 수 있다. 즉, 정합 이미지의 일부분은 제1시간대(시간구간)의 공간을 나타내고 나머지는 제1시간과는 다른 시간대의 공간을 나타내게 됨으로써 다양한 효과를 가져올 수 있다.
또한, 이처럼 새로운 시공간을 생성하는 효과를 갖는 정합 이미지의 생성방법은 반드시 구동장치(200)가 필요한 것은 아니다. 즉, 사람이 직접 소정의 가이드 또는 인터페이스를 통해 단말기(100)를 회전하는 경우에도 상술한 기술적 사상을 달성할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다. 다만 구동장치(200)를 통해 회전각도의 제어가 정확하게 이루어짐으로써 이미지 정합의 성능(품질과 속도)가 훨씬 높아질 수 있음은 물론이다.
한편, 본 발명의 기술적 사상에 의하면 정합 이미지를 360도 스피어 이미지로 구현하기 위해 또는 기타 다양한 필요에 의해 상기 단말기(100)에 소정의 렌즈(300)가 부착될 수 있다. 상기 렌즈(300)는 임의의 어안렌즈(fisheye lens)일 수 있지만, 이에 한정되지는 않으며 사용자가 원하는 이팩트(effect)를 부여할 수 있는 다양한 렌즈가 상기 단말기(100)에 부착된 채로 전술한 바와 같이 이미지 정합을 수행할 수 있다.
이러한 경우, 전술한 바와 같이, 상기 단말기(100)는 이미지 정합을 위해 알아야하는 상기 렌즈의 속성(예컨대, 렌즈 파라미터 등)를 알지 못하는 문제점이 있고, 이로 인해 이미지 정합의 부정확성이 커질 수 있다.
이를 위해 상기 단말기(100)는 렌즈 파라미터를 후술할 바와 같이 보정하는 프로세스를 수행할 수 있고, 이러한 프로세스를 통해 보정된 렌즈 파라미터를 이용해 이미지 정합을 수행할 수 있다.
도 10은 본 발명의 실시 예에 따른 정합 이미지를 생성하기 위한 이미지 전환(transform)을 수행하는 개념을 설명하기 위한 도면이다.
도 10을 참조하면, 상기 단말기(100)에 구비된 상기 제어부(110)는 상기 저장매체(160)에 구비된 프로그램을 구동하여 본 발명의 기술적 사상에 따른 렌즈 파라미터의 보정방법을 수행할 수 있다.
이러한 렌즈 파라미터의 보정방법은 상기 단말기(100)에 부착되는 렌즈(300)의 속성을 알지 못함으로써 부분이미지들의 정합 전에 이루어지는 이미지 전환(transformation)이 정확하게 이루어지지 못하는 문제점 및/또는 이러한 문제점을 통해 부분이미지들의 정합이 부정확해지는 문제점을 해결할 수 있다.
상기 제어부(110)가 수행하는 이미지 전환은 도 10에 도시된 바와 같이 등장방형 전환(Equirectangular transformation)일 수 있지만, 이미지 정합의 종류 및 정합한 이미지가 어떤 특성을 갖는지(예컨대, 스피어(sphere) 또는 메카토르(mecator), 정사도법(orthographic projection), 평사도법(sterepgraphic projection), 시뉴소이드(sinusoidal projection) 등)에 따라 다양한 전환(transformation)(투영(projection)을 포함하는 의미)이 상기 제어부(110)에 의해 수행될 수 있다.
물론 상기 제어부(110)가 상기 이미지 전환을 수행한 결과가 반드시 도 10에 도시된 바와 같이 이미지 전체의 외형(예컨대, 직사각형 또는 도 10의 우측에 도시된 전환 이미지와 같이 모래시계형)이 변경되는 것을 의미하는 것은 아니다. 즉, 도 10의 경우에는 등장방형(Equirectangular) 전환을 통해 이미지의 상측 및 하측이 중간부분에 비해 상대적으로 길게 늘어지는 효과를 가지는 것을 예시적으로 도시하고 있다.
그리고 이러한 이미지 전환을 위해서는 렌즈 파라미터를 알아야 정확한 이미지 전환이 수행될 수 있다. 상기 렌즈 파라미터는 어느 하나의 파라미터가 아닌 복수의 파라미터들을 포함하는 파라미터 세트일 수 있음은 물론이다. 이하에서 본 명세서에서 렌즈의 파라미터를 나타내는 표현은 당연히 복수의 세부 파라미터들을 포함할 수 있으므로, 단순히 파라미터로 표현하더라도 파라미터 세트를 의미할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
하지만 상기 단말기(100)에 부착된 렌즈(300)는 사용자가 원하는 또는 소지하고 있는 임의의 장치일 수 있고, 이러한 경우 상기 단말기(100)가 상기 렌즈(300)의 렌즈 파라미터를 알지 못할 수 있다.
따라서 상기 제어부(110)는 전술한 바와 같이 상기 렌즈(300)의 렌즈 파라미터를 소정의 초기 값(이하, '추정 파라미터'로 정의하기로 함)으로 설정한 후, 후술할 바와 같은 프로세스를 통해 상기 렌즈 파라미터를 보정할 수 있다.
이러한 렌즈 파라미터의 보정을 위해서 상기 제어부(110)는 현재 추정에 이용되고 있는 렌즈 파라미터에 대응되는 오차 값을 정의할 수 있다. 상기 오차 값은 얼마나 이미지 전환이 정확하게 수행되었는지 또는 이미지 정합이 정확하게 수행될 수 있는지를 나타낼 수 있는 정보일 수 있다.
예컨대, 상기 오차 값은 제1부분 이미지가 전환된 제1전환 이미지 및 제2부분 이미지가 전환된 제2전환 이미지 각각으로부터 추출되는 피쳐 포인트(feature point)들에 의해 정의될 수 있다.
이러한 일 예는 도 11을 참조하여 설명하도록 한다.
도 11은 본 발명의 실시 예에 따른 렌즈 파라미터의 보정방법을 수행하기 위한 오차 값을 연산하는 개념을 설명하기 위한 도면이다.
도 11을 참조하면, 소정의 제1부분 이미지(10-1) 및 제2부분 이미지(11-1) 각각은 소정의 이미지 전환(예컨대, Equirectangular transform)을 통해 제1전환 이미지(t(10-1)) 및 제2전환 이미지(t(11-1))로 전환될 수 있다. 이때의 이미지 전환은 미리 설정된 초기 값으로 추정된 렌즈 파라미터가 이용된 것일 수 있다. 이러한 초기 값으로 설정된 렌즈 파라미터를 추정 파라미터로 정의하기로 한다.
그러면 상기 추정 파라미터에 대응되는 오차 값은 도 11에 도시된 바와 같이 상기 제1전환 이미지(t(10-1))와 상기 제2전환 이미지(t(11-1))의 정합의 정확성(또는 이미지 전환의 정확성)을 나타내는 정보일 수 있다.
그리고 이러한 오차 값은 제1전환 이미지(t(10-1))에서 추출된 적어도 하나의 제1피쳐 포인트들(예컨대, 10-FP) 및 제2전환 이미지(t(11-1))에서 추출된 적어도 하나의 제2피쳐 포인트들(예컨대, 11-FP)을 이용하여 도출될 수 있다. 제1피쳐 포인트들(예컨대, 10-FP) 및 제2피쳐 포인트들(예컨대, 11-FP) 각각은 제1전환 이미지(t(10-1))에 포함되며 미리 정의된 소정의 제1영역(예컨대, t(10-f)) 및 제2전환 이미지(t(11-1))에 포함되며 미리 정의된 소정의 제2영역(예컨대, t(11-f))에서 추출될 수 있다.
상기 제1영역(예컨대, t(10-f)) 및 상기 제2영역(예컨대, t(11-f))은 서로 겹치는 영역일 수 있음은 물론이다.
상기 오차 값은 제1피쳐 포인트들(예컨대, 10-FP)을 제2피쳐 포인트들(예컨대, 11-FP)로 매칭할 때의 전환 오차 값(예컨대, 최소 오차 값)을 의미할 수 있다. 이러한 전환 오차 값을 구하기 위한 알고리즘(예컨대, RANSAC, Hamming Distance 등)은 널리 공지되어 있다. 그리고 일반적으로 이러한 전환 오차 값을 갖도록 상기 제1피쳐 포인트들(예컨대, 10-FP)과 상기 제2피쳐 포인트들(예컨대, 11-FP) 매칭하는 것이 상기 제1전환 이미지(t(10-1)) 및 상기 제2전환 이미지(t(11-1))를 정합하는 프로세스이므로, 이러한 오차 값은 결국 상기 제1전환 이미지(t(10-1))와 상기 제2전환 이미지(t(11-1))의 정합의 정확성을 나타내는 것일 수도 있다.
결국 특정 파라미터에 대응되는 오차 값이라 함은, 상기 특정 파라미터를 이용해 부분 이미지들을 전환한 후 전환된 이미지들을 정합하였을때의 정합의 정확성(정합의 오차)을 나타내는 정보를 의미할 수 있다.
그러면 상기 제어부(110)는 이러한 정합의 정확성을 이용하여 소정의 렌즈 파라미터(예컨대, 정확성이 가장 높도록 하는 렌즈 파라미터 또는 오차 값이 가장 작도록 하는 렌즈 파라미터 등)를 탐색하고, 탐색된 렌즈 파라미터를 최종적으로 상기 렌즈(300)가 부착되었을때의 상기 단말기(100)의 렌즈 파라미터로 설정할 수 있다. 상기 제어부(110)가 탐색하는 렌즈 파라미터는 반드시 가장 오차 값이 작을 경우의 파라미터만은 아닐 수 있으며, 필요에 따라 오차 값이 2번째로 최소인 경우에 대응되는 파라미터 또는 3번째로 최소인 경우에 대응되는 파라미터 등 다양하게 선택될 수도 있음은 물론이다.
또는 실시 예에 따라 미리 정해진 기준 오차 값이 설정되고, 렌즈 파라미터를 탐색하면서 상기 기준 오차 값 이하의 오차 값을 갖는 파라미터가 탐색이 되면, 추가적으로 탐색할 파라미터가 남아있다고 하더라도 탐색을 더 이상 수행하지 않고, 해당 파라미터를 상기 단말기(100)의 렌즈 파라미터로 설정할 수 있다. 이러한 경우 상기 기준 오차 값은 다수의 실험을 통해 이미지 정합의 정확성이 어느 정도 담보된다고 판단된 미리 설정된 값일 수 있음은 물론이다.
이러한 과정을 정리하면 도 12와 같을 수 있다.
도 12는 본 발명의 실시 예에 따른 렌즈 파라미터의 보정방법을 개략적으로 설명하기 위한 플로우 차트를 나타낸다.
도 12를 참조하면, 상기 단말기(100)는 미리 설정된 소정의 파라미터 세트(초기에는 추정 파라미터 세트)를 이용하여 부분 이미지들을 전환할 수 있다(S100). 그리고 이미지를 전환할 때 이용된 상기 파라미터 세트에 대응되는 오차 값을 탐색할 수 있다(S110).
탐색된 오차 값이 만약 기준 오차 값보다 작으면 상기 파라미터 세트를 최종적으로 렌즈 파라미터로 설정할 수 있음은 전술한 바와 같다.
아직 탐색되지 않은 즉, 대응되는 오차 값이 연산되지 않은 새로운 파라미터 세트가 존재하면(S120), 상기 단말기(100)는 현재의 파라미터 세트를 새로운 파라미터 세트로 설정할 수 있다(S140).
그리고 새롭게 설정된 파라미터 세트에 대해 이미지 전환 및 오차 값의 탐색(S100, S110)을 수행할 수 있다.
만약 모든 파라미터 세트에 대한 탐색이 완료되었으면(S120), 상기 단말기(100)는 특정 오차 값(예컨대, 최소 오차 값)을 갖도록 하는 파라미터 세트를 상기 단말기(100)의 렌즈 파라미터로 설정할 수 있다(S130).
한편, 상기 단말기(100) 즉, 상기 제어부(110)가 탐색하는 파라미터 세트는 전술한 바와 같이 복수의 세부 파라미터를 포함할 수 있다.
이처럼 렌즈 파라미터(세트)에 포함될 수 있는 세부 파라미터의 일 예는 도 13에 도시된 바와 같을 수 있다.
도 13은 본 발명의 실시 예에 따른 렌즈 파라미터 및 렌즈 파라미터의 탐색을 위한 탐색기준을 나타내는 도면이다.
도 13을 참조하면, 렌즈 파라미터에 포함되는 세부 파라미터 즉, 이미지 전환에 영향을 미칠 수 있는 파라미터는 HFoV(Holizontal field of view), Pitch, Roll, Yaw와 같이 단말기의 자세와 관련된 파라미터들, Pp point(principal point, 이미지의 포커스(focus)의 위치), 및 렌즈 보정 파라미터(예컨대, radial lens distiortion parameter, K1, K2, K3 중 적어도 하나, 특히 K2) 등이 존재할 수 있다.
그리고 단말기(100)의 렌즈 파라미터를 탐색하는 과정에서 사용되기 위한 각각의 세부 파라미터의 초기 값(초기 값들로 이루어진 세부 파라미터들의 세트가 추정 파라미터)들, 세부 파라미터의 범위(예컨대, Range Min., Range Max), 및 변경 단위(step) 등이 도 13에 도시된 바와 같이 정의되어 있을 수 있다.
예컨대, 도 13에 도시된 바와 같이 HFoV 파라미터의 초기 값은 95도로 설정되어 있고, 최소 값 및 최대 값은 각각 90도 및 100도이며, 1도 단위로 변경하면서 최적의 HFoV 값을 탐색하도록 탐색기준이 정의되어 있을 수 있다.
도 13에는 도시되지 않았지만 각각의 세부 파라미터들에 대해 이와 같은 탐색기준이 미리 설정될 수 있다.
그러면 상기 제어부(110)는 이러한 탐색기준에 따라 파라미터 세트를 변경해가면서 탐색을 수행할 수 있다.
일 예에 의하면, 상기 제어부(110)는 어느 하나의 세부 파라미터(예컨대, HFoV)를 선택하고, 나머지 세부 파라미터들에 대해서는 고정한 채 선택한 세부 파라미터(예컨대, HFoV)에 대해서 순차적으로 파라미터 값을 변경하면서 탐색(즉, 대응되는 오차 값의 연산)을 수행할 수 있다.
예컨대, 상기 제어부(110)는 초기의 값을 각각 갖는 세부 파라미터들의 세트인 추정 파라미터에서, 소정의 세부 파라미터(예컨대, HFoV)의 초기 값을 어느 한 방향(예컨대, 증가(또는 감소))으로 파라미터 값을 변경(예컨대, 95에서 96으로 변경)할 수 있다. 그리고 이때의 파라미터 세트 즉, 변경된 파라미터 세트(즉, 추정 파라미터에서 상기 세부 파라미터(예컨대, HFoV)의 파라미터 값만 96으로 변경된 파라미터 세트)에 대해 오차 값을 탐색하여 변경 전의 오차 값과 비교를 수행할 수 있다.
만약 변경 후의 오차 값이 더 작다면 상기 제어부(110)는 상기 세부 파라미터(예컨대, HFoV)에 대해서 다시 같은 방향(예컨대, 증가(또는 감소)으로 파라미터 값을 변경(예컨대, 96에서 97로 변경)하면서 탐색을 수행할 수 있다.
만약 변경 후의 오차 값이 더 크다면 상기 제어부(110)는 상기 세부 파라미터(예컨대, HFoV)에 대해서 이전 변경 방향과는 반대방향(예컨대, 감소(또는 증가))으로 파라미터 값을 변경(예컨대, 95에서 94로 변경)하면서 탐색을 수행할 수 있다.
그리고 이러한 탐색과정에서 오차 값이 미리 설정된 기준 값보다 작을 경우에는 언제든지 탐색을 종료하고 그때의 오차 값에 대응되는 파라미터 세트를 상기 단말기(100)의 렌즈 파라미터로 설정할 수 있다.
한편, 이러한 렌즈 파라미터의 탐색과정을 보다 효율적으로 수행하기 위해 서버(400)의 데이터베이스를 이용할 수도 있다. 이러한 경우는 도 14를 참조하여 설명하도록 한다.
도 14는 본 발명의 실시 예에 따른 데이터베이스의 일 예를 나타내는 도면이다.
도 14를 참조하면, 상기 단말기(100)는 상기 서버(400)와 통신을 수행하면서 도 14에 도시된 바와 같은 데이터베이스를 구축할 수 있다.
상기 데이터베이스는 렌즈 파라미터(LP1, LP2), 이에 대응되는 렌즈 식별정보(LID1, LID2), 및/또는 이에 대응되는 단말기 종류정보(모델정보, 예컨대, 단말기가 폰인 경우 PM1, PM2)에 대한 정보를 서로 대응되도록 저장할 수 있다.
상기 단말기(100)는 렌즈의 식별정보를 사용자가 직접입력하도록 하거나, 렌즈의 사진을 찍거나, 또는 렌즈와 소정의 근거리 통신을 수행하는 등 다양한 방식으로 렌즈의 식별정보를 획득할 수 있다.
렌즈 파라미터(예컨대, LP1)는 대응되는 렌즈의 식별정보(예컨대, LID1)를 갖는 렌즈가 해당 단말기 모델(PM1)에 부착되었을 때 탐색된 최적의 렌즈 파라미터를 의미할 수 있다.
또한 상기 데이터베이스에 단말기 모델의 식별정보가 포함되는 것은, 동일한 렌즈라 하더라도 단말기에 따라 최적의 렌즈 파라미터는 달라질 수 있음을 의미할 수 있다.
그리고 이러한 데이터베이스가 상기 서버(400)에 구축되는 경우, 상기 단말기(100)는 자신의 단말기 종류정보(예컨대, PM1) 및 렌즈의 식별정보(예컨대, LID1)를 서버(400)로 전송할 수 있다. 그러면 상기 서버(400)는 상기 데이터베이스로부터 수신된 정보에 매칭되는 정보가 존재하는지 검색을 수행할 수 있다. 검색결과 단말기 종류정보 및 렌즈의 식별정보가 모두 일치하는 데이터(예컨대, 도 14의 첫 번째 행)가 존재하는 경우, 상기 서버(400)는 해당 데이터에 포함된 렌즈 파라미터(예컨대, LP1)을 상기 단말기(100)로 전송할 수 있다.
이러한 경우 상기 단말기(100)는 상기 서버(400)로부터 수신된 렌즈 파라미터(예컨대, LP1) 값을 그대로 해당 단말기(100)의 렌즈 파라미터 값으로 설정할 수도 있다. 이러한 경우에는 렌즈 파라미터의 탐색과정이 필요 없는 효과가 있다. 또는 다른 실시 예에 의하면, 이러한 경우에도 적얻 수신된 렌즈 파라미터값을 이용하여 대응되는 오차 값을 연산하고, 연산된 오차 값이 기준 오차 값 이하인지를 확인하는 프로세스가 수행될 수 있다. 기준 오차 값 이하일 경우에는 수신된 렌즈 파라미터를 상기 단말기(100)의 렌즈 파라미터로 설정할 수 있음은 물론이고, 기준 오차 값 초과일 경우에는 탐색 프로세스가 수행될 수 있다. 물론, 기준 오차 값을 이용하지 않는 경우에는, 수신된 렌즈 파라미터 값을 초기 파라미터 세트로 이용하여 렌즈 파라미터의 탐색을 수행할 수도 있다.
하지만 이러한 탐색 프로세스가 수행되는 경우라도, 적어도 서버(400)로부터 수신된 상기 렌즈 파라미터 값이 초기 파라미터 세트로 이용될 수 있으므로, 탐색과정이 상당히 짧아질 수 있는 효과가 있다.
한편, 상기 단말기(100)가 서버(400)로 전송한 정보들(렌즈 식별정보 및 단말기 종류정보)와 모두 매칭되는 데이터가 없이, 어느 하나의 정보만 매칭될 수도 있다. 예컨대, 상기 단말기(100)는 단말기 종류정보(PM2) 및 렌즈 식별정보(LID1)를 상기 서버(400)로 전송할 수 있다.
이때 두 정보 즉, 단말기 종류정보 및 렌즈 식별정보 모두가 매칭되는 데이터는 존재하지 않을 수 있다. 이러한 경우에는 어느 하나만 매칭되는 데이터(예컨대, 도 14의 첫째 행 및 둘째 행)의 렌즈 파라미터 값(예컨대, LP1, LP2)을 상기 단말기(100)가 수신할 수 있다.
그리고 수신된 렌즈 파라미터 값을 초기 파라미터 세트 즉, 추정 파라미터로 설정하고 전술한 바와 같은 렌즈 파라미터의 탐색과정을 수행할 수 있다. 이러한 경우에도 어느 하나의 정보는 매칭된 데이터의 렌즈 파라미터 값을 초기 값으로 설정하여 탐색을 수행하므로 탐색과정이 훨씬 효율적일 수 있다.
본 발명의 기술적 사상에 따라 실험을 수행한 결과, 상기 렌즈 파라미터에 포함된 세부 파라미터들(예컨대, 도 13에 도시된 세부 파라미터들) 중에서 오차 값에 가장 큰 영향을 미치는 세부 파라미터는 HFoV 및 렌즈의 방사왜곡 값 중 K2임을 알 수 있었다.
따라서 상기 렌즈 파라미터에는 HFoV 및 K2만이 파라미터로 포함될 수도 있고, HFoV 및 K2외에 추가로 소정의 세부 파라미터들이 더 이용될 수도 있다.
결국 본 발명의 기술적 사상에 의하면, 단말기(100)에 임의의 렌즈가 부착된 경우에도 렌즈 파라미터가 자동으로 보정되어 정합성능이 저하되는 것을 방지한 채 상기 렌즈가 부여하는 효과를 그대로 누릴 수 있다.
본 발명의 실시 예에 따른 정합 이미지 생성방법 및/또는 렌즈 파라미터의 보정방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (12)

  1. 단말기에 탈착가능한 렌즈 파라미터의 보정방법에 있어서,
    상기 렌즈가 부착된 상태에서 상기 단말기가 제1이미지 및 제2이미지를 촬영하는 단계;
    상기 렌즈에 상응하며 상기 제1이미지 및 상기 제2이미지를 각각 목표하는 제1전환 이미지 및 제2전환 이미지로 전환하는데 영향을 미치는 적어도 하나의 파라미터인 추정 파라미터를 설정하는 단계;
    상기 추정 파라미터에 대응되는 제1오차 값을 연산하는 단계; -여기서 상기 제1오차 값은 설정된 상기 추정 파라미터를 이용하여 상기 제1이미지 및 상기 제2이미지를 상기 제1전환 이미지 및 상기 제2전환 이미지로 각각 전환하는 경우의 상기 전환의 정확성을 나타낼 수 있는 정보임-
    상기 추정 파라미터에서 상기 추정 파라미터에 포함된 파라미터 중 적어도 한 개의 파라미터 값을 변경한 적어도 하나의 변경 파라미터 각각에 대해 대응되는 변경 오차 값을 연산하는 단계; 및
    상기 제1오차 값 및 상기 적어도 하나의 변경 오차 값을 비교하고 비교결과 특정되는 어느 하나의 선택 오차 값에 대응되는 파라미터를 상기 렌즈의 렌즈 파라미터로 특정하는 단계를 포함하는 렌즈 파라미터의 보정방법.
  2. 제1항에 있어서, 상기 추정 파라미터에 대응되는 제1오차 값을 연산하는 단계는,
    상기 추정 파라미터를 이용하여 상기 제1이미지 및 상기 제2이미지 각각을 상기 제1전환 이미지 및 상기 제2전환 이미지로 전환하는 단계;
    상기 제1전환 이미지로부터 적어도 하나의 제1특징점 및 상기 제2전환 이미지로부터 적어도 하나의 제2특징점을 추출하는 단계; 및
    추출된 상기 제1특징점 및 상기 제2특징점 간의 전환 오차 값을 상기 제1오차 값으로 연산하는 단계를 포함하는 렌즈 파라미터의 보정방법.
  3. 제1항에 있어서, 상기 추정 파라미터에서 상기 추정 파라미터에 포함된 파라미터 중 적어도 한 개의 파라미터 값을 변경한 적어도 하나의 변경 파라미터 각각에 대해 대응되는 변경 오차 값을 연산하는 단계는,
    상기 추정 파라미터에 포함된 어느 하나인 제1세부 파라미터의 값을 소정의 단위만큼 변경시켜서 제1변경 파라미터를 설정하는 단계;
    상기 제1변경 파라미터에 대응되는 제1변경 오차 값을 연산하는 단계;
    상기 제1오차 값과 상기 제1변경 오차 값을 비교하여 상기 제1변경 오차 값이 상기 제1오차 값보다 작은 경우는 상기 제1변경 파라미터의 변경시와 동일한 방향으로 상기 제1세부 파라미터의 값을 변경하고, 상기 단말기가 상기 제1오차 값과 상기 제1변경 오차 값을 비교하여 상기 제1변경 오차 값이 상기 제1오차 값보다 큰 경우는 상기 제1변경 파라미터의 변경 시와 반대 방향으로 상기 제1세부 파라미터의 값을 변경하는 단계를 포함하는 렌즈 파라미터의 보정방법.
  4. 제3항에 있어서, 상기 렌즈 파라미터의 보정방법은,
    상기 제1세부 파라미터에 대해 최적의 파라미터 값을 탐색하는 단계;
    상기 추정 파라미터에 포함되며 상기 제1세부 파라미터가 상기 최적의 파라미터 값인 상태에서 상기 제1세부 파라미터가 아닌 제2세부 파라미터에 대해 최적의 파라미터 값을 탐색하는 단계를 더 포함하는 렌즈 파라미터의 보정방법.
  5. 제1항에 있어서, 상기 렌즈 파라미터의 보정방법은,
    상기 단말기가 특정된 상기 렌즈의 파라미터와 상기 렌즈의 식별정보, 및 상기 단말기의 종류 정보를 소정의 서버로 전송하는 단계를 더 포함하며,
    상기 서버에는 상기 렌즈의 파라미터, 상기 렌즈의 식별정보, 및 상기 단말기의 종류 정보가 대응되도록 저장된 데이터베이스가 포함되는 것을 특징으로 하는 렌즈 파라미터의 보정방법.
  6. 제5항에 있어서, 상기 렌즈 파라미터의 보정방법은,
    제2단말기가 상기 제2단말기에 부착된 제2렌즈의 식별정보를 특정하는 단계;
    상기 제2렌즈의 식별정보와 상기 제2단말기의 종류정보를 상기 서버로 전송하고, 상기 서버로부터 수신된 응답정보에 기초하여 상기 제2단말기가 상기 타렌즈의 렌즈 파라미터를 특정하는 단계를 더 포함하는 렌즈 파라미터의 보정방법.
  7. 제5항에 있어서, 상기 렌즈 파라미터의 보정방법은,
    제2단말기가 상기 제2단말기에 부착된 제2렌즈의 식별정보를 특정하는 단계;
    상기 제2렌즈의 식별정보와 상기 제2단말기의 종류정보를 상기 서버로 전송하고, 상기 서버로부터 수신된 응답정보에 기초하여 상기 제2단말기가 상기 제2렌즈의 렌즈 파라미터를 특정하기 위한 제2추정 파라미터를 특정하는 단계를 더 포함하는 렌즈 파라미터의 보정방법.
  8. 제7항에 있어서, 상기 제2단말기가 상기 제2렌즈의 렌즈 파라미터를 특정하기 위한 제2추정 파라미터를 특정하는 단계는,
    상기 데이터베이스로부터 상기 제2렌즈의 식별정보 및 제3단말기 종류정보에 상응하는 렌즈 파라미터 값을 수신하거나, 제2단말기의 종류정보 및 제3렌즈의 식별정보에 상응하는 레즌 파라미터 값을 수신한 경우에 수행되는 것을 특징으로 하는 렌즈 파라미터의 보정방법.
  9. 제1항에 있어서, 상기 추정 파라미터는,
    렌즈의 방사왜곡 값(K1, K2, K3) 중 적어도 하나 또는 상기 렌즈의 HFoV(Horizontal field of view)를 파라미터로 포함하는 것을 특징으로 하는 렌즈 파라미터의 보정방법.
  10. 제1항에 있어서, 상기 제1오차 값 또는 연산되는 상기 변경 오차 값이 미리 정의된 기준 오차 값 이하인 경우에는, 추가적인 파라미터 탐색을 미수행하고 상기 제1오차 값 또는 상기 변경 오차 값을 렌즈 파라미터로 설정하는 것을 특징으로 하는 렌즈 파라미터의 보정방법.
  11. 데이터 처리장치에 설치되며 제1항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 판독가능한 기록매체에 기록된 컴퓨터 프로그램.
  12. 단말기에 있어서,
    프로세서를 포함하는 제어부;
    상기 제어부에 의해 실행되는 프로그램이 기록된 저장매체; 및
    단말기에 착탈가능한 렌즈를 통해 영상정보를 획득하는 이미지 센서; 를 포함하며,
    상기 프로그램은,
    상기 렌즈가 부착된 상태에서 상기 단말기에 의해 촬영된 제1이미지 및 제2이미지를 각각 목표하는 제1전환 이미지 및 제2전환 이미지로 전환하는데 영향을 미치는 적어도 하나의 파라미터인 추정 파라미터를 설정하고,
    상기 추정 파라미터에 대응되는 제1오차 값을 연산하며,-여기서 상기 제1오차 값은 설정된 상기 추정 파라미터를 이용하여 상기 제1이미지 및 상기 제2이미지를 상기 제1전환 이미지 및 상기 제2전환 이미지로 각각 전환하는 경우의 상기 전환의 정확성을 나타낼 수 있는 정보임-
    상기 추정 파라미터에서 상기 추정 파라미터에 포함된 파라미터 중 적어도 한 개의 파라미터 값을 변경한 적어도 하나의 변경 파라미터 각각에 대해 대응되는 변경 오차 값을 연산하고,
    상기 제1오차 값 및 상기 적어도 하나의 변경 오차 값을 비교하고 비교결과 특정되는 어느 하나의 선택 오차 값에 대응되는 파라미터를 상기 렌즈의 렌즈 파라미터로 특정하는 렌즈 파라미터를 보정하는 단말기.
KR1020170121035A 2017-09-20 2017-09-20 렌즈 파라미터의 보정방법 및 이를 수행하는 단말기 KR101976843B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170121035A KR101976843B1 (ko) 2017-09-20 2017-09-20 렌즈 파라미터의 보정방법 및 이를 수행하는 단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170121035A KR101976843B1 (ko) 2017-09-20 2017-09-20 렌즈 파라미터의 보정방법 및 이를 수행하는 단말기

Publications (2)

Publication Number Publication Date
KR20190032788A true KR20190032788A (ko) 2019-03-28
KR101976843B1 KR101976843B1 (ko) 2019-05-15

Family

ID=65908078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170121035A KR101976843B1 (ko) 2017-09-20 2017-09-20 렌즈 파라미터의 보정방법 및 이를 수행하는 단말기

Country Status (1)

Country Link
KR (1) KR101976843B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163647A (ja) * 2000-11-27 2002-06-07 Sanyo Electric Co Ltd レンズ歪み係数算出装置および算出方法、レンズ歪み係数算出プログラムを記録したコンピュータ読み取り可能な記録媒体
KR20020078663A (ko) 2001-04-07 2002-10-19 휴먼드림 주식회사 디지털 모자이크 이미지 구성에서 다수의 조각 이미지들을위치 정합시키는 디지털 조각 이미지 정합처리방법 및정합처리장치
JP2008067176A (ja) * 2006-09-08 2008-03-21 Mitsubishi Electric Corp 画像補正装置および画像補正方法
KR20090071366A (ko) 2007-12-26 2009-07-01 다이니폰 인사츠 가부시키가이샤 화상 변환 장치 및 화상 변환 방법
KR20120131394A (ko) * 2011-05-25 2012-12-05 (주)에이딕 렌즈에 의한 왜곡 영상 보정방법 및 그 장치
KR20140147597A (ko) 2013-06-20 2014-12-30 엘지전자 주식회사 이동 단말기 및 이의 제어방법
JP2017009640A (ja) * 2015-06-17 2017-01-12 キヤノン株式会社 撮像装置および撮像装置の制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163647A (ja) * 2000-11-27 2002-06-07 Sanyo Electric Co Ltd レンズ歪み係数算出装置および算出方法、レンズ歪み係数算出プログラムを記録したコンピュータ読み取り可能な記録媒体
KR20020078663A (ko) 2001-04-07 2002-10-19 휴먼드림 주식회사 디지털 모자이크 이미지 구성에서 다수의 조각 이미지들을위치 정합시키는 디지털 조각 이미지 정합처리방법 및정합처리장치
JP2008067176A (ja) * 2006-09-08 2008-03-21 Mitsubishi Electric Corp 画像補正装置および画像補正方法
KR20090071366A (ko) 2007-12-26 2009-07-01 다이니폰 인사츠 가부시키가이샤 화상 변환 장치 및 화상 변환 방법
KR20120131394A (ko) * 2011-05-25 2012-12-05 (주)에이딕 렌즈에 의한 왜곡 영상 보정방법 및 그 장치
KR20140147597A (ko) 2013-06-20 2014-12-30 엘지전자 주식회사 이동 단말기 및 이의 제어방법
JP2017009640A (ja) * 2015-06-17 2017-01-12 キヤノン株式会社 撮像装置および撮像装置の制御方法

Also Published As

Publication number Publication date
KR101976843B1 (ko) 2019-05-15

Similar Documents

Publication Publication Date Title
US10445898B2 (en) System and method for camera calibration by use of rotatable three-dimensional calibration object
US20150116502A1 (en) Apparatus and method for dynamically selecting multiple cameras to track target object
JP6103948B2 (ja) 撮像装置、遠隔操作端末、カメラシステム、撮像装置の制御方法およびプログラム、遠隔操作端末の制御方法およびプログラム
CN105247859A (zh) 一个或多个卫星设备的主动立体显像
JP6374536B2 (ja) 追尾システム、端末装置、カメラ装置、追尾撮影方法及びプログラム
WO2018088037A1 (ja) 可動型撮像装置の制御装置、可動型撮像装置の制御方法及びプログラム
KR101623642B1 (ko) 로봇 청소기, 단말장치의 제어방법 및 이를 포함하는 로봇 청소기 제어 시스템
TW201738847A (zh) 組裝指示系統及組裝指示方法
CN105282420A (zh) 拍摄的实现方法及装置
KR102300570B1 (ko) 전방위 이미지 촬영 어셈블리 및 이에 의해 수행되는 방법
US20220264004A1 (en) Generation of an image that is devoid of a person from images that include the person
JP2022057771A (ja) 通信管理装置、画像通信システム、通信管理方法及びプログラム
JP2022057800A (ja) 画像通信システム、通信管理装置、通信管理方法及びプログラム
WO2019165613A1 (zh) 移动设备的控制方法、设备和存储装置
KR101976843B1 (ko) 렌즈 파라미터의 보정방법 및 이를 수행하는 단말기
US20200364895A1 (en) Point tracking using a trained network
KR101963449B1 (ko) 360°비디오 생성 시스템 및 방법
KR20190061165A (ko) 광고를 포함하는 360°비디오 생성 시스템 및 방법
KR101936429B1 (ko) 정합 이미지 생성방법 및 이를 수행하는 단말기
KR102096883B1 (ko) 광고 제공방법 및 이를 수행하는 시스템
KR102422127B1 (ko) 감시 방법
KR102483388B1 (ko) 전방위 이미지 처리 방법 및 이를 수행하는 서버
CN114071003B (zh) 一种基于光通信装置的拍摄方法和系统
KR20190061166A (ko) 360도 이미지 생성방법 및 이를 수행하는 단말기
US20200058135A1 (en) System and method of object positioning in space for virtual reality

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