KR101169590B1 - 사용자 스케치를 통한 이동통신 단말기에서의 3차원 파노라마 공간 재구성 방법 - Google Patents

사용자 스케치를 통한 이동통신 단말기에서의 3차원 파노라마 공간 재구성 방법 Download PDF

Info

Publication number
KR101169590B1
KR101169590B1 KR1020110019772A KR20110019772A KR101169590B1 KR 101169590 B1 KR101169590 B1 KR 101169590B1 KR 1020110019772 A KR1020110019772 A KR 1020110019772A KR 20110019772 A KR20110019772 A KR 20110019772A KR 101169590 B1 KR101169590 B1 KR 101169590B1
Authority
KR
South Korea
Prior art keywords
information
image
user
dimensional
boundary
Prior art date
Application number
KR1020110019772A
Other languages
English (en)
Inventor
임순범
김진희
Original Assignee
숙명여자대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숙명여자대학교산학협력단 filed Critical 숙명여자대학교산학협력단
Priority to KR1020110019772A priority Critical patent/KR101169590B1/ko
Application granted granted Critical
Publication of KR101169590B1 publication Critical patent/KR101169590B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof

Abstract

본 발명에 따라서 사용자의 터치 입력에 응답하여 명령을 수행 가능한 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 시스템이 제공된다. 상기 시스템은 상기 이동 통신 단말기의 디스플레이에 표시되는 복수 개의 2차원 사진 이미지 각각에 대하여 사용자가 터치 입력할 수 있도록 해주는 인터페이스를 제공해 주고, 상기 2차원 사진 이미지에 대한 사용자의 터치 입력 방식의 스케치 입력을 수신하여, 그 스케치 입력을 처리하기 위한 스케치 모듈과; 상기 사용자에 의한 2차원 사진 이미지의 스케치 입력 정보 중 불필요한 정보를 자동적으로 보정함과 아울러 사용자에 의한 수동 보정 처리를 수행하는 보정 모듈과; 상기 보정 모듈에 의해 보정 처리된 복수 개의 2차원 사진 이미지들을 연결하여, 3차원 파노라마 구조 정보를 구성하는 파노라마 구조 정보 구성 모듈과; 상기 보정 모듈에 의해 보정 처리된 복수 개의 2차원 사진 이미지 각각의 텍스처를 추출하고, 각 이미지의 바닥면, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성한 후, 상기 추출된 텍스처를 각 바닥면, 벽면 및 천장면에 매핑하여 3차원 파노라마 공간을 생성하는 3차원 파노라마 공간 생성 모듈을 포함하는 것을 특징으로 한다.

Description

사용자 스케치를 통한 이동통신 단말기에서의 3차원 파노라마 공간 재구성 방법{METHOD FOR RECONSTRUCTURING THREE-DIMENSIONAL PANORAMA SPACE WITH USER'S SKETCH IN MOBIL COMMUNICATION TERMINAL}
본 발명은 터치 스크린 방식으로 소정의 입력을 행할 수 있는 이동 통신 단말기에서 3차원 공간을 재구성하는 시스템 및 방법에 관한 것으로서, 특정 공간과 관련하여 촬영한 복수 개의 2차원 이미지를 이동 통신 단말기에서 3차원 공간으로 재구성하는 시스템 및 방법, 상기 방법을 실행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
현재 눈앞에 펼쳐진 공간의 구조를 파악하고, 인테리어를 상상해 보는 경우가 있다. 예컨대, 건축이나 인테리어 분야에서는 시공하고자 하는 현장에서 빠른 시간 내에 3차원 공간을 구축하여야 하는 경우가 있다. 이와 관련하여, 건축 현장에서 공간의 전체 구조를 보며 미리 인테리어를 상상하는 데에는 3차원 파노라마가 많은 도움이 될 수 있다.
파노라마 영상은 카메라와 같은 영상 획득 장비로 얻는 단일 영상과 비교하여, 사용자 주위의 장면에 대한 보다 넓은 시야를 제공한다. 또한, 단일 영상과 비교하여, 사용자에게 사실감뿐만 아니라 보다 큰 몰입감을 제공한다는 점에서 큰 의미를 갖고 있다.
자동으로 파노라마를 생성해 주는 시스템으로서, 애플사의 QuickTime VR과 마이크로소프트사의 Photosynth가 있다. QuickTime VR은 애플사의 QuickTime 프레임 워크 상에서 실행되는 여러 장의 사진을 자동으로 연결하여 파노라마 뷰를 보여주는 시스템이다. 사진이 겹치는 부분을 자동으로 연결해 주어, 사용자는 카메라의 이동, 회전, 확대, 축소를 통해 공간을 살펴볼 수가 있다. 일반적으로, QuickTime VR은 카메라 회전을 위하여 실린더 형식의 파노라마를 제공한다.
마이크로소프트사의 Photosynth는 사진들을 연결하여 링크된 사진을 사용자가 입체감 있게 살펴볼 수 있도록 해주는 서비스이다. 사용자가 선택한 사진들의 특징점을 추출하여 각 사진 간의 연결 관계와 카메라의 위치, 각도 등의 정보를 파악한다. 이러한 특징점들을 Point Cloud 형태로 저장하여 보여준다. 사용자가 원하는 뷰를 선택하면 그에 해당하는 사진을 보여주고 각 사진에 링크된 또 다른 사진을 따라가며 볼 수 있다.
일반적으로, 이미지들의 겹치는 부분을 연결하여 파노라마로 만들어주는 상기 시스템은 이미지의 특징점을 추출하여, 이미지 사이의 겹치는 부분을 파악하고 환경 매핑의 방법을 이용하여 이미지들을 연결해서 사용자에게 제공해준다. 이러한 파노라마 시스템은 데스크톱 환경에서 이루어지고 있기 때문에, 사진을 촬영한 현장에서는 그 현장 공간을 파노라마 형태로 즉각적으로 구현하기가 어렵다는 문제점이 있다.
또한, 상기한 기존의 파노라마 구현 시스템은 환경 매핑의 방법으로 파노라마를 구성하고 있다. 환경 매핑이란 실린더, 구, 큐브 등의 고정된 형태의 표면에 이미지를 배치하여 매핑하는 방법인데, 이와 같이 환경 매핑의 방식을 이용하여 생성된 파노라마는 실제 이미지에 나타난 구조와 동일하지 않은 구조를 가지게 되어, 실제 공간이 왜곡되어 표시되는 문제점이 있고, 사용자가 공간을 추적하면서 살펴볼 때 공간의 정확한 구조를 파악할 수 없으며, 또한 생성된 파노라마를 둘러보기만이 가능하다는 문제점이 있다. 최근 모바일 기기를 이용하여 파노라마를 구현하고자 하는 노력이 있으나, 이 역시 상기와 같은 동일한 문제점을 갖고 있다.
본 발명은 상기 종래 기술에서 나타나는 문제점을 해결하기 위한 것으로서, 실시간 확인이 어렵고 실제 공간의 구조 정보를 포함하지 않는 기존의 파노라마 구현 시스템과는 달리, 모바일 환경에서 실제 현장의 공간 구조를 왜곡 없이 즉각적으로 파노라마 형태로 구현할 수 있는 시스템과 방법 및 상기 방법을 실행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체를 제공하는 것이다.
상기 목적을 달성하기 위하여, 본 발명에 따라서 사용자의 터치 입력에 응답하여 명령을 수행 가능한 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 시스템이 제공된다. 상기 시스템은 상기 이동 통신 단말기의 디스플레이에 표시되는 복수 개의 2차원 사진 이미지 각각에 대하여 사용자가 터치 입력할 수 있도록 해주는 인터페이스를 제공해 주고, 상기 2차원 사진 이미지에 대한 사용자의 터치 입력 방식의 스케치 입력을 수신하여, 그 스케치 입력을 처리하기 위한 스케치 모듈과; 상기 사용자에 의한 2차원 사진 이미지의 스케치 입력 정보 중 사용자가 천장면과 벽면 및 바닥면과 벽면의 경계의 에지 입력시 일부분의 경계에 대해서만 스케치한 경우의 불완전 경계 정보와, 천장면과 벽면 및 바닥면과 벽면의 각 경계가 하나의 교차점에서 종료되지 않게 상기 각 경계를 스케치한 경우의 중복 교차점 정보를 포함하는 불필요한 정보를 자동적으로 보정함과 아울러 사용자에 의한 수동 보정 처리를 수행하는 보정 모듈과; 상기 보정 모듈에 의해 보정 처리된 복수 개의 2차원 사진 이미지들을 연결하여, 3차원 파노라마 구조 정보를 구성하는 파노라마 구조 정보 구성 모듈과; 상기 보정 모듈에 의해 보정 처리된 복수 개의 2차원 사진 이미지 각각의 텍스처를 추출하고, 각 이미지의 바닥면, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성한 후, 상기 추출된 텍스처를 각 바닥면, 벽면 및 천장면에 매핑하여 3차원 파노라마 공간을 생성하는 3차원 파노라마 공간 생성 모듈을 포함하는 것을 특징으로 한다.
한 가지 실시예에 있어서, 상기 스케치 모듈은 사용자가 터치 입력을 통해 상기 시스템을 이용하여 3차원 파노라마 공간을 구성하기 위한 작업을 수행할 수 있도록 해주는 사용자 인터페이스를 제공하는 사용자 인터페이스 처리부와; 상기 사용자 인터페이스 처리부를 통해 제공되는 상기 복수 개의 2차원 사진 이미지를 사용자의 선택에 따라 상기 사용자 인터페이스의 특정 부분에 배열하거나 또는 자동으로 상기 복수 개의 2차원 사진 이미지를 상기 이동 통신 단말기의 저장부로부터 검색하여 상기 사용자 인터페이스의 특정 부분에 배열하는 이미지 처리부와; 상기 각 이미지에 대한 사용자의 공간 정보 입력에 응답하여, 각 이미지에 대해 스케치 처리를 수행하는 스케치 모듈을 포함하고, 상기 스케치 모듈은 상기 단말기의 디스플레이에 표시되는 2차원 사진 이미지의 벽면과 벽면, 바닥면과 벽면, 벽면과 천장면 사이의 경계면인 에지 경계면에 대한 사용자의 터치 입력에 기초하여, 각 이미지의 에지 경계면을 상기 디스플레이에 표시함과 아울러, 각 에지 경계면을 구성하고 또 두 좌표점으로 이루어지는 선분들의 집합을 상기 단말기의 저장부에 일시 저장할 수 있다.
한 가지 실시예에 있어서, 상기 보정 모듈은 자동 보정 처리부를 포함하고, 상기 자동 보정 처리부는 상기 에지 경계면을 구성하는 바닥면과 천장면의 시작점 및 끝점의 좌표점 정보를 상기 단말기의 디스플레이의 사이즈에 따른 경계점 정보와 비교하여, 상기 좌표점 정보를 상기 디스플레이의 경계점 정보에 일치시키는 경계 보정과, 상기 벽면과 천장면의 교차하는 세 점의 좌표점 정보와 벽면과 바닥면의 교차하는 세 점의 좌표점 정보가 각각 동일한 하나의 좌표점 정보를 갖도록 하는 교차점 보정과, 상기 각 2차원 이미지의 촬영시 상기 단말기의 지자기 센서를 이용하여 얻어지는 방향 정보에 기초하여, 각 이미지의 바닥면을 상기 방향 정보의 각도만큼 회전시켜 상기 각 이미지의 바닥면의 방향을 맞추어주는 회전 보정을 수행할 수 있다.
한 가지 실시예에 있어서, 상기 보정 모듈은 수동 보정 처리부를 포함하고, 상기 수동 보정 처리부는 상기 자동 보정 처리부에 의한 자동 보정 후 생성되는 바닥면의 구조를 상기 단말기의 디스플레이를 통해 표시하고, 사용자가 상기 표시된 바닥면의 구조의 각 점을 원하는 위치로 이동시키는 터치 입력에 상응하는 수동 보정을 수행할 수 있다.
한 가지 실시예에 있어서, 상기 파노라마 구조 정보 구성 모듈은 상기 수동 보정이 완료되면, 그에 따른 바닥면 정보를 통해 상기 2차원 사진 이미지들을 연결하여, 3차원 파노라마 구조 정보를 구성하고, 이때 현재 판별 중인 이미지인 현재 이미지의 벽면의 모서리 점과 처음 만나는 바닥면의 점과, 상기 현재 이미지에 이웃하는 이미지로서 직전 단계에서 재구성을 위한 판별이 완료된 이미지인 이전 이미지의 바닥면을 구성하는 모든 점 사이의 거리를 구하여, 가장 최소인 점을 찾는 방식으로 상기 3차원 파노라마 구조 정보를 구성할 수 있다.
한 가지 실시예에 있어서, 상기 3차원 파노라마 공간 생성 모듈은 상기 보정 모듈에 의한 교차점 보정 이후의 벽면, 바닥면 및 천장면의 정보를 이용하여 그 정보의 좌표에 대응하는 이미지 상의 텍스처 좌표값을 저장하는 방식으로 텍스처를 추출하는 텍스처 추출 처리부와, 상기 수동 보정 처리부에 의해 수동 보정된 좌표를 통해 바닥면을 생성하고, 바닥면의 x 좌표 및 z 좌표에 높이값 y를 부가하여, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성하는 공간면 생성 처리부와, 상기 추출된 텍스처를 상기 공간면 생성 처리부에 의해 생성된 벽면, 천장면 및 바닥면에 매핑하여 3차원 파노라마 공간을 생성하는 텍스처 매핑 처리부를 포함할 수 있다.
본 발명의 다른 양태에 따라서, 사용자의 터치 입력에 응답하여 명령을 수행 가능한 이동 통신 단말기에서 복수의 2차원 이미지를 3차원 파노라마 공간으로 재구성하는 방법이 제공된다. 상기 방법은 (A) 사용자의 터치 입력에 응답하여, 상기 이동 통신 단말기의 디스플레이에 표시되는 복수 개의 2차원 사진 이미지 각각에 대하여 사용자가 터치 입력할 수 있도록 해주는 인터페이스를 제공하는 단계와; (B) 상기 2차원 사진 이미지에 대한 사용자의 터치 입력 방식의 스케치 입력을 수신하여, 그 스케치 입력을 처리하는 단계와; (C) 상기 사용자에 의한 2차원 사진 이미지의 스케치 입력 정보 중 사용자가 천장면과 벽면 및 바닥면과 벽면의 경계의 에지 입력시 일부분의 경계에 대해서만 스케치한 경우의 불완전 경계 정보와, 천장면과 벽면 및 바닥면과 벽면의 각 경계가 하나의 교차점에서 종료되지 않게 상기 각 경계를 스케치한 경우의 중복 교차점 정보를 포함하는 불필요한 정보를 자동적으로 보정함과 아울러 사용자의 터치 입력에 기초한 수동 보정 처리를 수행하는 단계와; (D) 상기 보정 모듈에 의해 보정 처리된 복수 개의 2차원 사진 이미지들을 연결하여, 3차원 파노라마 구조 정보를 구성하는 단계와; (E) 상기 보정 처리된 복수 개의 2차원 사진 이미지 각각의 텍스처를 추출하고, 각 이미지의 바닥면, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성한 후, 상기 추출된 텍스처를 각 바닥면, 벽면 및 천장면에 매핑하여 3차원 파노라마 공간을 생성하는 단계을 포함하는 것을 특징으로 한다.
한 가지 실시예에 있어서, 상기 (A) 단계에 있어서, 상기 복수 개의 2차원 사진 이미지를 사용자의 선택에 따라 상기 인터페이스의 특정 부분에 배열하거나 또는 자동으로 상기 복수 개의 2차원 사진 이미지를 상기 단말기의 저장부로부터 검색하여 상기 인터페이스의 특정 부분에 배열하여 표시할 수 있다.
한 가지 실시예에 있어서, 상기 (B) 단계에 있어서, 상기 단말기의 디스플레이에 표시되는 2차원 사진 이미지의 벽면과 벽면, 바닥면과 벽면, 벽면과 천장면 사이의 경계면인 에지 경계면에 대한 사용자의 터치 입력에 기초하여, 각 이미지의 에지 경계면을 상기 디스플레이에 표시함과 아울러, 각 에지 경계면을 구성하고 또 두 좌표점으로 이루어지는 선분들의 집합을 상기 단말기의 저장부에 일시 저장할 수 있다.
한 가지 실시예에 있어서, 상기 (C) 단계에 있어서, 상기 자동 보정은 상기 에지 경계면을 구성하는 바닥면과 천장면의 시작점 및 끝점의 좌표점 정보를 상기 단말기의 디스플레이의 사이즈에 따른 경계점 정보와 비교하여, 상기 좌표점 정보를 상기 디스플레이의 경계점 정보에 일치시키는 경계 보정과, 상기 벽면과 천장면의 교차하는 세 점의 좌표점 정보와 벽면과 바닥면의 교차하는 세 점의 좌표점 정보가 각각 동일한 하나의 좌표점 정보를 갖도록 하는 교차점 보정과, 상기 각 2차원 이미지의 촬영시 상기 단말기의 지자기 센서를 이용하여 얻어지는 방향 정보에 기초하여, 각 이미지의 바닥면을 상기 방향 정보의 각도만큼 회전시켜 상기 각 이미지의 바닥면의 방향을 맞추어주는 회전 보정을 수행하는 것을 포함할 수 있다.
한 가지 실시예에 있어서, 상기 (C) 단계에 있어서, 상기 수동 보정은 상기 자동 보정 후 생성되는 바닥면의 구조를 상기 단말기의 디스플레이를 통해 표시하고, 사용자가 상기 표시된 바닥면의 구조의 각 점을 원하는 위치로 이동시키는 터치 입력에 상응하는 수동 보정을 수행하는 것을 포함할 수 있다.
한 가지 실시예에 있어서, 상기 (D) 단계는 상기 수동 보정이 완료 후 , 그에 따른 바닥면 정보를 통해 상기 2차원 사진 이미지들을 연결하여, 3차원 파노라마 구조 정보를 구성하는 것을 포함하여, 이때 현재 판별 중인 이미지인 현재 이미지의 벽면의 모서리 점과 처음 만나는 바닥면의 점과, 상기 현재 이미지에 이웃하는 이미지로서 직전 단계에서 재구성을 위한 판별이 완료된 이미지인 이전 이미지의 바닥면을 구성하는 모든 점 사이의 거리를 구하여, 가장 최소인 점을 찾는 방식으로 상기 3차원 파노라마 구조 정보를 구성할 수 있다.
한 가지 실시예에 있어서, 상기 (E) 단계는 상기 교차점 보정 이후의 벽면, 바닥면 및 천장면의 정보를 이용하여 그 정보의 좌표에 대응하는 이미지 상의 텍스처 좌표값을 저장하는 방식으로 텍스처를 추출하는 단계와, 상기 수동 보정된 좌표를 통해 바닥면을 생성하고, 바닥면의 x 좌표 및 z 좌표에 높이값 y를 부가하여, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성하는 단계와, 상기 추출된 텍스처를 상기 공간면 생성 처리부에 의해 생성된 벽면, 천장면 및 바닥면에 매핑하여 3차원 파노라마 공간을 생성하는 단계를 포함할 수 있다.
본 발명의 또 다른 양태에 따라서, 사용자의 터치 입력에 응답하여 명령을 수행 가능한 이동 통신 단말기에서 복수의 2차원 이미지를 3차원 파노라마 공간으로 재구성하는 프로그램을 기록한 컴퓨터 판독 가능한 프로그램 제품이 제공되며, 상기 프로그램은 상기 방법의 각 단계를 수행하도록 프로그램된 명령어를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 종래 기술과 달리, 현장에서 촬영한 2차원 사진 이미지들을 이용하여 실시간으로 바로 이동통신 단말기 상에서 3차원 파노라마 공간을 구축할 수 있고, 이때 환경 매핑 방법을 이용하지 않아 공간의 왜곡 없이 실제 공간을 구현할 수 있다.
도 1은 본 발명의 한 가지 실시예에 따른 이동통신 단말기에서의 3차원 파노라마 공간 재구성을 위한 시스템의 구조를 그 기능별로 모듈화한 예를 보여주는 도면이다.
도 2는 사용자 인터페이스 처리부에 의해 제공되는 사용자 인터페이스의 한 가지 예를 보여주는 도면이다.
도 3은 보정 모듈에 의해 수행되는 경계 보정과 교차점 보정의 예를 보여주는 도면이다.
도 4는 자동 보정 처리부에 의해 교차점 보정이 수행될 때 이용되는 벽면, 천장면 및 바닥면의 좌표값 형태를 예시적으로 보여주는 도면이다.
도 5는 자동 보정 처리부에 의해 수행되는 바닥면 회전 보정 방법 및 그 양태를 보여주는 도면이다.
도 6은 사용자에 의해 이루어진 수동 보정 처리의 한 가지 예를 보여주는 도면이다.
도 7은 수동 보정 처리의 과정을 모식적으로 보여주는 도면이다.
도 8은 파노라마 구조 정보 구성 모듈에 의해 이미지 사이의 연결 관계를 구성할 때 현재 이미지의 두 번째 점과 최소의 거리를 가지는 이전 이미지의 점 사이의 관계를 보여주는 도면이다.
도 9 및 도 10은 도 8에 있어서, 파노라마 구조 정보 구성 모듈에 의해 이미지 사이의 연결 관계를 구성할 때 현재 이미지의 두 번째 점과 최소의 거리를 가지는 이전 이미지의 점 사이의 관계 및 그 구성 방법을 모식적으로 보충 설명하는 도면이다.
도 11은 텍스처 추출 처리부에 의한 텍스처 추출 방식을 보여주는 도면이다.
도 12는 공간면 생성 처리부에 의해 생성되는 3차원 공간의 한 가지 예를 보여주는 도면이다.
도 13은 추출한 텍스처를 공간면 생성 처리부에 의해 생성된 벽면, 천장면, 바닥면에 매핑하여 생성된 3차원 파노라마 공간의 한 가지 예를 보여주는 도면이다.
도 14는 본 발명의 한 가지 실시예에 따른 3차원 파노라마 공간 재구성 방법을 흐름도의 형태로 보여주는 도면이다.
도 15 내지 도 20은 본 발명의 실시예에 따라, 실제로 스마트폰에 본 발명을 구현하여, 본 발명에 따른 각 과정에 따라 구현되는 상태를 보여주는 캡처 화면들이다.
이하에서는 첨부 도면을 참조하여, 본 발명의 실시예를 상세하게 설명한다. 한편, 이하의 설명에 있어서 당업계에 이미 널리 알려진 구성에 대한 설명은 생략한다. 이러한 설명을 생략하더라도, 당업자라면 이하의 설명을 통해 본 발명의 특징적 구성을 쉽게 이해할 수 있을 것이다.
도 1은 본 발명의 한 가지 실시예에 따른 이동통신 단말기에서의 3차원 파노라마 공간 재구성을 위한 시스템(100)의 구조가 그 기능별로 모듈화되어 있는 것을 보여준다. 이러한 시스템은 소프트웨어 또는 하드웨어 형태로 구현될 수 있으며, 또한, 각각의 모듈은 별개로 구현되는 것으로 도시되어 있으나, 각 모듈 및 그 모듈에 포함되는 각 처리부는 통합된 형태로도 구현될 수 있으며, 이들은 모두 본 발명의 범위 내에 속하는 것이다.
도 1에 도시한 바와 같이, 본 발명의 3차원 파노라마 공간 재구성 시스템(100)은 크게, 사용자에 의한 스케치 입력을 수신하여 그 스케치 입력을 처리하기 위한 스케치 모듈(110)과, 사용자가 입력한 정보 중 불필요한 정보를 보정하여 그 정보의 정확성을 높이기 위한 보정 모듈(120)과, 2차원 이미지 사이의 연결 관계를 파악하기 위한 파노라마 구조 정보 구성 모듈(130)과, 상기 구조 정보를 바탕으로 3차원 파노라마 공간을 생성하는 3D 파노라마 공간 생성 모듈(140)을 포함한다. 또한, 구체적으로 도시하지 않았지만, 상기 시스템은 생성된 3차원 파노라마 공간을 이동, 회전, 확대 및 축소하면서 상기 공간을 볼 수 있도록 해주는 파노라마 애플리케이션 처리부, 시스템의 전반적인 동작을 제어하기 위한 제어부도 포함한다.
스케치 모듈(110)은 사용자 인터페이스 처리부(112)를 포함한다. 사용자 인터페이스 처리부(112)는 이동 통신 단말기의 입력부(예컨대, 터치 스크린)를 통해, 사용자가 본 발명의 시스템(100)을 구동하면(예컨대, 위젯을 통한 터치 입력), 사용자가 본 발명의 시스템을 이용하여 3차원 파노라마 공간을 구성하기 위한 작업을 수행할 수 있도록 해주는 사용자 인터페이스를 제공한다(예컨대, 도 2 참조).
상기 사용자 인터페이스가 이동 통신 단말기의 디스플레이를 통해 표시되면, 사용자는 3차원 파노라마 공간을 위해 찍은 사진들을 선택한다. 이들 사진은 추후 3차원 파노라마 공간을 구성하는 각각의 2차원 이미지들로서, 사용자가 이들 이미지를 선택하면, 카메라 이미지 처리부(114)는 이들 이미지를 사용자가 후속 처리를 용이하게 수행할 수 있도록 상기 사용자 인터페이스의 한 쪽(예컨대, 좌측면)에 일렬로 나란히 배열하여, 사용자가 쉽게 그 이미지를 파악하여 선택할 수 있도록 한다. 실시예에 따라서는, 카메라 이미지 처리부(114)는 사용자의 이미지 선택 명령 없이도, 상기 시스템이 구동되면, 이동 통신 단말기의 저장부에 저장되어 있는 2차원 이미지를 검색하고 판독하여, 디스플레이의 한 쪽에 상기와 같은 방식으로 배열할 수도 있다.
이어서, 사용자는 여러 이미지 중 하나의 이미지를 선택하고, 그 이미지에 대해 공간 정보를 입력하는 스케치 입력을 수행하며, 이러한 입력에 따라 스케치 입력 처리부(116)가 스케치 처리를 수행한다. 즉 사용자는 복수 개의 이미지 중 하나의 이미지에 포함되어 있는 공간 구조 정보를 터치 스크린 입력 방식으로 입력한다. 즉 디스플레이를 통해 표시되는 사진 위에, 벽면과 벽면, 바닥면과 벽면, 벽면과 천장면 사이의 경계면인 에지 경계면을 터치 입력을 통하여 직접 표시하고, 스케치 입력 처리부(116)는 그 입력 정보에 기초하여, 사진의 각 에지 경계면을 표시한다. 즉 일반적인 파노라마 시스템에서 이미지 정보를 얻을 때에는 이미지에서 특징을 가지고 있는 점을 찾게 된다. 즉 이미지에서 주변과 다르게 뚜렷한 특징을 지닌 점을 찾아내는데, 이때 본 발명에서는 에지 정보를 이용한다. 구체적으로, 하나의 선분은 2개의 점으로 이루어지고, 복수의 선분들이 모여서 천장면, 바닥면, 벽면을 이룬다. 좀 더 구체적으로, 공간 구조 정보는 벽면 V, 바닥면 B, 천장면 C의 세 종류로 구분할 수 있고, 각각 벽면 V={(P1i, P2i)}(0≤i<m-1), 바닥면 B={(Q1i, Q2i)}(0≤i≤m), 천장면 C={(R1i, R2i)}(0≤i≤m)와 같이 두 좌표점으로 이루어진 선분의 집합으로 메모리에 일시적으로 저장된다(상기 좌표식에서, m은 바닥면을 구성하는 점의 갯수이다. 예컨대, 사각형의 바닥면은 4개의 점으로 표시할 수 있다). 상기와 같이, 사용자가 터치 입력을 통해 입력한 에지 정보가 스케치 입력 처리부(116)에 의해 처리된 상태의 한 가지 예가 도 2에 도시되어 있다. 도 2에 도시한 바와 같이, 바닥면, 천장면, 벽면의 경계면(에지)이 구분되어 있음을 알 수 있다. 사용자에 의해 입력되는 이러한 스케치 입력은 복수 장의 이미지 각각에 대해 수행된다.
한편, 상기와 같이 입력된 에지 정보는 그대로 사용하기에는 불필요한 정보를 포함하고 있어 정확성이 떨어지므로, 보정 처리를 할 필요가 있다. 예컨대, 사용자가 입력한 에지 정보는 불완전한 경계 정보(예를 들면, 천장면과 벽면의 경계의 에지 입력시, 사용자가 그 경계 전체가 아닌 일부분의 경계에 대해서만 스케치 입력하는 경우)를 포함할 수 있고, 복수 개의 중복된 교차점 정보(예를 들면, 두 벽면과 천장면의 교차점에서, 각 경계가 하나의 교차점에서 종료되는 것이 아니라, 교차점을 중복하면서 스케치 입력하는 경우)를 포함할 수 있다(도 3의 보정 전 도면 참조). 이를 고려하여, 본 발명의 시스템은 먼저 사용자가 스케치 입력한 경계면의 에지에 대해 자동 보정을 수행한다.
즉, 상기 과정에 따라 스케치 입력 처리를 수행한 후, 사용자가 보정과 관련한 소정의 입력을 터치 방식으로 입력하면, 보정 모듈(120)의 자동 보정 처리부(122)는 먼저 경계 보정을 수행한다. 경계 보정은 각 이미지의 경계와 닿은 바닥면의 양 끝점(Q10, Q2m)과 천장면의 양 끝점(R10, R2m)의 x, y 좌표값을 이미지 경계값과 일치시켜 준다. 구체적으로, 본 발명의 일실시예에서, 화면에 이미지는 640×480의 사이즈로 조정되어 표시된다. 즉 이미지에 나타난 에지 정보의 입력은 x축이 0 ~ 640, y축이 0 ~ -480의 값을 가지게 된다. openGL(opendGL은 2D, 3D 그래픽을 표현할 수 있게 해주는 API(Application Programmable Interface)이다)에서의 좌표는 화면의 왼쪽 위가 (0,0)이고, x축은 오른쪽으로 갈수록 커지고, y축은 아래로 갈수록 작아져 마이너스의 값을 갖는다. 따라서, 바닥면의 시작점은 경계선에 일치되려면 x값이 0이거나 y값이 -480의 값을 가져야 한다. 자동 보정 처리부(122)는 사용자가 입력한 에지 정보에서, 예컨대 바닥면의 시작점의 x 값과 y 값을 각각 0과 -480과 비교하여 차이가 작은값(거리가 가까운 값)을 변화시켜준다. 예컨대, x 값이 더 차이가 작으면, x 값을 0으로, y 값이 차이가 작으면 -480으로 바꾸어준다. 유사하게, 다른 점들에 대해서도 경계값을 보정한다(바닥면의 끝점은 (640, -480) 값과, 천장면의 시작점은 (0,0), 천장면의 끝점은 (640,0)과 비교한다).
예컨대, 도 3의 (a)에 도시한 바와 같이, 사용자가 입력한 경계선 에지가 이미지 경계값과 일치하지 않는다. 따라서, 자동 보정 처리부(122)는 사용자가 입력한 경계선 에지를 이미지의 경계에 해당하는 끝점에 의해 이루어지는 이미지 경계 상에 위치하도록 경계 보정 처리를 수행한다. 또한, 자동 보정 처리부(122)는 교차점 보정을 수행한다. 즉 자동 보정 처리부는 벽면과 천장면의 교차하는 세 점{P1i, R1i+1, R2i}과 벽면과 바닥면의 교차하는 세 점{P2i, Q1i+1, Q2i)이 하나의 좌표값을 가지도록 교차점 보정을 수행한다. 구체적으로, 교차하는 점들은 세점의 평균을 구하여 일치시키는 방법을 이용한다. 세 점 좌표의 첨자는 이전에 바닥면, 천장면, 벽면의 좌표를 표현했던 식과 연결하여, {P1i, R1i+1, R2i}은 벽면의 첫 번째 선분을 이루는 첫 번째 점과 천장면의 첫 번째 선분을 이루는 두 번째 점, 천장면의 두 번째 선분을 이루는 첫 번째 점이 하나의 점을 이루어야 한다는 것을 의미한다(도 4 참조).
예컨대, 도 3의 (b)에서, 두 벽면과 하나의 천장면이 교차하는 교차점에서, 사용자가 입력한 에지 경계선, 즉 제1 벽면과 천장면의 제1 경계선과, 제2 벽면과 천장면의 제2 경계선과, 제1 벽면과 제2 벽면의 제3 경계선이 교차점에서 종결되지 않아, 각 경계선이 하나의 교차점 좌표를 갖고 있지 않다. 따라서, 자동 보정 처리부(122)는 각 경계선의 끝 점이 교차점에서 하나의 좌표값을 가지도록 교차점 보정 처리를 수행한다. 이어서, 자동 보정 처리부(122)는 여러 장의 이미지의 바닥면을 이미지 촬영시 획득한 방향 정보로 회전시키는 회전 보정을 수행한다. 즉 2차원의 사진 이미지에서 바닥면은 아래쪽에 수평으로 표시되는데, 이들을 그대로 모아 놓으면, 모든 바닥면은 아래쪽에서 겹쳐져 나타나게 된다. 그러나, 각 바닥면이 모여서 하나의 공간을 이루는 것이기 때문에, 자동 보정 처리부(122)는 여러 장의 이미지의 바닥면을 이미지 촬영시 획득한 방향 정보를 이용하여 바닥면의 각 방향을 맞추어주는 회전 보정을 자동적으로 수행한다. 한편, 방향 정보가 포함되어 있지 않은 경우에는 일정한 각도로, 즉 이미지 갯수(n)에 따라 360°/n만큼 회전시켜, 후속되는 바닥면 수동 보정에서 사용자에게 편리성을 제공한다.
좀더 구체적으로 설명하면, 방향 정보는 이동 통신 단말기가 갖고 있는 지자기 센서를 이용하여 얻어진다. 예컨대, 현재 대부분의 스마트폰 기기는 지자기 센서를 탑재하고 있다. 지자기 센서를 이용하여 이미지를 촬영하면, 카메라 즉 스마트폰이 향하고 있는 방향을 알 수 있다. 이 방향 정보는 0~360의 값을 갖는데, 0은 정북을 의미하고, 90이 동, 180이 남, 270이 서쪽을 나타낸다. 방향정보는 촬영하여 저장할 때 데이터 형태로 함께 저장된다. 이러한 방향 정보를 이용하여, 자동 보정 처리부(122)는 회전 보정시에 바닥면을 각 이미지의 방향 정보의 각도만큼 회전시키고, 선분의 기울기를 통해 일치하는 점을 찾아낸다. 즉 방향 정보라는 것은 상기한 바와 같이 각도이므로, 자동 보정 처리부(122)는 원점을 기준으로 각 바닥면을 회전 이동시켜 바닥면의 각 방향을 맞추어준다. 예컨대, 도 5(a)에서, G는 기울기를 의미한다. 즉 G0i는 첫 번째 이미지의 i번째 선분의 기울기를 나타낸다. 이러한 방향정보를 이용하여, 자동 보정 처리부(122)는 이미지의 구조를 회전시키고 일치하는 부분을 찾아내어, 일차적으로 전체 공간의 구조를 생성한다. 한편, 자동 보정 처리부(122)가 주어진 정보만을 갖고 상기 이미지 구조를 구성하였기 때문에, 실제 공간과 완벽하게 일치하지 않을 수 있지만, 이러한 보정을 일차적으로 수행해 줌으로써, 사용자가 각 이미지의 바닥면 정보를 일일이 연결하여 공간 구조를 만들어야 하는 번잡성 등을 제거할 수 있다. 즉 바닥면의 구조는 대부분의 이미지에서 화면의 아래에 길게 있으므로, 회전과 이동, 일치하는 점의 연결을 해주어야 하는 단계를 자동으로 수행함으로써, 사용자는 이하에서 설명하는 바와 같이 부분적인 수동 보정만을 수행하면 된다. 도 5(b)는 자동 보정 처리부(122)에 의해 수행된 자동 회전 보정 결과를 보여주는 도면이다.
이어서, 수동 보정 처리부(124)는 사용자 입력에 기초하여, 수동 보정 처리를 수행한다. 즉 상기한 과정을 통해 자동 보정 처리부(122)에 의한 자동 보정이 종료되면, 수동 보정 처리부(124)는 자동 보정 후 점들로 이루어진 바닥면의 구조를 이동 통신 단말기의 디스플레이를 통해 사용자에게 제공한다. 상기 표시된 점들로 이루어진 바닥면의 구조와 관련하여, 사용자는 터치 입력을 통해 각각의 점을 선택한 후 원하는 위치로 이동시키는 터치 입력을 하고(즉 사용자는 원래의 이미지의 공간을 알고 있으므로, 그에 맞춰 개략적으로 각각의 점을 선택하여 원하는 위치로 이동시킨다), 수동 보정 처리부(124)는 바닥면의 구조를 상기 입력에 상응하는 수동 보정 후의 바닥면 구조로 완성한다. 예컨대, 사용자는 원래 공간의 모양과 일치하지 않는 부분을 이동시켜, 바닥면의 구조를 수동 보정할 수 있다. 사용자의 수동 보정을 처리한 예가 도 6에 도시되어 있다. 모든 보정이 완료되면, 바닥면 점들의 집합인 B'[k]={Qi}(0≤k<n, 0≤i≤m+1)가 구성된다(상기한 바와 같이, n개의 이지지들 중 k번째 이미지의 바닥면은 m+1개의 점을 갖고 있으며, 벽면은 m개의 점을 갖고 있다). 즉 상기 보정을 거치면, 처음 바닥면은 두 개의 점으로 이루어진 선분들의 집합이었다면, 보정된 바닥면은 점들의 집합으로 이루어지게 된다. 즉 이전의 바닥면은 점의 갯수가 6개인 3개의 선분이었지만, 겹치는 부분을 제거하고 보정하여 점 4개로 이루어지는 바닥면 정보가 된다. 도 7에 수동 보정의 과정이 도시되어 있다. 도시한 바와 같이, 3개의 선분을 그리려면 6개의 점이 필요한데, 가운데 두 개는 같은 모서리를 터치한 것이고, 따라서 두 점은 4개의 점에서 각각 하나씩으로 합쳐져서 두 개가 되며, 결국 4개의 점이 남는다. 도 7은 터치 입력으로 바닥면을 보정한 예를 보여주는 화면이다. 각 단계에서 다음 단계로 넘어갈 때, 사용자는 터치 입력을 통해 각 점을 이동시키는 수동 보정을 한다.
이어서, 파노라마 구조 정보 구성 모듈(130)은 이미지 사이의 연결 관계를 구성한다. 즉 파노라마 구조 정보 구성 모듈(130)은 이미지 간의 파노라마 구조 정보 관계를 파악하기 위하여 이전 이미지와 현재 이미지의 바닥면 구조 정보(B'[k-1], B'[k])(공간 구성에 사용되는 이미지들 중 연결되는 사진 두 장 간의 관계로서, 첫 번째 사진, 두 번째 사진과 같은 관계이다)를 사용하여 파노라마 구조 정보 Pa[k]를 구성한다. 두 장의 이미지의 연결 관계는 현재 이미지의 두 번째 점과 최소의 거리를 가지는 이전 이미지의 점을 찾아서 구성되는데 이때의 연결 관계는 도 8의 (A)와 같이 두 가지의 유형으로 나누어볼 수 있다. 첫 번째 유형은 도 8의 (B)에서 보듯이 거리가 최소인 점이 마지막 점일 경우이다. 이 경우에는 이전 이미지의 마지막 점과 현재 이미지의 처음 점의 중간 좌표를 기준으로 구조를 분리한다. 두 번째 유형은 도 8의 (C)의 최소인 점이 마지막 점이 아닐 경우로 즉, 모서리에 해당하는 점을 의미하므로 모서리 점을 기준으로 구조를 분리하고 이전 이미지의 모서리 이후의 점, 현재 이미지의 처음 점을 삭제한다. 이를 좀 더 구체적으로 설명하면 다음과 같다.
여러 장의 이미지를 파노라마 형태로 연결하기 위해서는 이웃하는 이미지 간의 연결 관계를 알아야 한다. 본 발명에 따르면, 파노라마 구조정보 구성 모듈(130)은 상기한 보정된 바닥면 정보를 이용하여 연결 정보를 구성한다. 즉 이웃하는 이미지에서 중복되는 정보를 하나의 점으로 일치시켜 주고 불필요한 정보를 제거하여, 공간생성과 텍스처 매핑시 왜곡을 최소화한다. 이 모듈(130)은 구조 정보를 구성할 때 상기 사용자의 수동 보정까지 완료된 바닥면 구조 정보를 이용한다. 즉 상기한 과정에 따라 바닥면의 수동 보정까지 완료되면, 그 바닥면 정보를 통해 파노라마 구조 정보 구성 모듈(130)은 파노라마 구조 정보를 구성한다. 이때, 현재 이미지의 바닥면 정보 B'[k']의 두 번째 점과 이전 이미지의 바닥면 정보 B'[k-1]의 모든 점 사이의 거리를 구하여 가장 최소인 점을 찾는 방식으로 수행한다. 즉 파노라마 구조 정보 구성 모듈(130)은 이웃하는 두 장의 이미지 중 두 번째 이미지의 두 번째 점을 첫 번째 이미지의 모든 바닥면 점들과의 좌표상의 거리를 비교한다. 여기서, 두 번째 점은 벽면의 모서리 점과 만나는 처음의 바닥면의 정보로서 이후 공간 생성이나 텍스처 매핑시 분리되어야 하는 부분이다. 이러한 방식에 따라 계산을 하게 되면, 두 가지 유형의 경우가 나오게 된다.
첫 번째 유형은 두 번째 이미지의 두 번째 바닥면 점과 거리가 최소인 점이 첫 번째 이미지의 마지막 점일 경우로서, 일치하는 벽면의 구조 정보(수직선)가 없다는 것을 의미하기도 한다. 이미지의 마지막 점은 공간의 두 벽면 모서리 사이의 바닥면의 중간점이다. 이 경우는 두 이미지의 겹치는 부분이 벽면의 모서리 부분과 만나지 않으므로, 겹치는 바닥면의 중간에서 분리한다. 예컨대, 도 8의 (B)에서, 현재 이미지 B'[k]의 두 번째 점 Q1과 이전 이미지 B'[k-1]의 마지막 점 Qm+1의 거리 값이 최소이다. 두 이미지 모두 벽면과 만나는 모서리를 포함하지 않고, 이미지의 끝이 겹치게 되므로, 겹치는 부분의 중앙에서 구조를 분리한다. 즉 도 8의 (B)에 나타낸 것처럼, 현재 이미지의 처음 점과 이전 이미지의 마지막 점의 중간 좌표값을 계산하여 두 점을 일치시킨다. 이를 도 9를 참조로 보충 설명하면, 도 9는 3차원 공간을 평면 형태로 펼친 그림이다. 두 이미지가 겹쳐진 부분이 벽면의 모서리 부분과 만나지 않으므로(도 9A), 겹치는 바닥면의 중간에서 분리하여야 하며, 이때 분리하는 점은 첫 번째 이미지의 마지막 점 좌표와 두 번째 이미지의 처음 점 좌표의 가운데로 잡는다(도 9B).
두 번째 유형은 두 번째 이미지의 두 번째 바닥면 점과 거리가 최소인 점이 첫 번째 이미지의 마지막 점 이외의 점인 경우이다. 이것은 두 이미지의 겹치는 부분이 벽면 모서리 부분을 포함하고 있는 경우이다. 예컨대, 도 8의 (C)에서, 현재 이미지 B'[k]의 두 번째 점 Q1과 거리가 최소인 이전 이미지 B'[k-1]의 점이 마지막 점이 아니다. 즉 모서리에 해당하는 두 점이 거리가 최소인 값을 가지는 점에 해당하므로, 두 점의 값을 일치시키고, 현재 이미지의 첫 번째 점과 이전 이미지의 i 이후의 점은 삭제한다. 도 10을 참고하여 보충 설명하면, 도시한 바와 같이, 두 이미지의 겹치는 부분이 벽면 모서리 부분을 포함하고 있다(도 10A). 따라서, 거리가 최소인 두 점을 하나의 좌표로 일치시키고, 첫 번째 이미지에서는 해당 점 이후의 점들을, 두 번째 이미지에서는 두 번째 점 이전의 점을 삭제한다. 이것은 결과적으로 벽면 모서리에서의 분리를 의미한다. 벽면 모서리에서의 분리를 통한 이웃하는 이미지 사이의 연결은 이후에 반드시 분리되는 부분을 접합 부분으로 함으로써, 왜곡을 줄일 수 있게 된다(도 10B).
상기와 같은 과정을 공간을 구성하는 모든 이미지들에 적용함으로써, 파노라마 구조 정보를 구성하게 된다.
상기 구조 정보를 바탕으로 3D 파노라마 공간 생성 모듈(140)은 3차원 파노라마 공간을 생성한다. 먼저, 텍스처 추출 처리부(142)는 상기 보정된 에지 경계면 정보를 이용하여 텍스처를 추출한다. 텍스처는 그래픽에서 모델을 만들고 그 위에 이미지를 입혀서 표현해 주는 것으로서, 컴퓨터 그래픽에서 모델의 표현에는 어느 정도 한계가 있기 때문에, 질감이나 사실적인 표현을 위해 모델 위에 텍스처를 매핑하여 표현하며, 이와 같이 매핑되는 이미지를 텍스처라고 한다. 텍스처의 추출은, 시간이 소모되고 용량이 증가하는 방법, 즉 이미지를 직접 잘라서 분리하는 방법이 아니라, 이미지에 교차점 보정 이후의 벽면, 바닥면, 천장면의 정보를 이용하여 각각의 텍스처를 위한 좌표(스케치 정보에 기초하여 자동 보정 후 이미지의 좌표)를 알아내어 이후의 3D 모델에 대응하는 좌표에 매치시킨다. 즉 텍스처는 3차원 모델의 좌표와 대응하는 이미지 상의 텍스처 좌표값을 저장하는 방식으로 이루어진다(도 11 참조).
이어서, 공간면 생성 처리부(144)는 보정된 좌표들과 텍스처를 이용하여, 3차원 공간을 생성한다. 이 3차원 공간은 바닥면, 벽면 및 천장면으로 이루어진다. 즉 공간면 생성 처리부(144)는 상기 수동 보정 처리부(124)를 통해 이루어지는 수동 보정된 좌표를 통해 바닥면을 생성하고, 바닥면의 x, z 좌표에 높이값 y를 주어, 벽면과 천장면을 생성한다. 구체적으로, 본 발명은 바닥면과 천장면이 평행하다는 전제조건을 이용한다. 상기한 바와 같이, 전체 파노라마 구조 정보를 통해 전체 바닥면의 구조를 얻었으므로, 바닥면은 그에 따라 생성하면 되고, 천장면과 벽면은 바닥면의 정보를 이용하여 생성한다. 즉 현재 바닥면의 정보는 2차원 정보로 xy 평면 위의 점으로 z는 0의 값을 갖는다. 이를 3차원 공간으로 하면, 각 점의 y 좌표 값을 z 좌표값과 교환하여 xz 평면 위에 위치하도록 한다. 천장면은 바닥면과 x, z 값은 동일하지만, y가 다른 값을 가지는 점이다. 이 y축의 값은 사용자가 첫 번째 이미지 위에 입력했던 첫 번째 바닥면 선분과 첫 번째 천장면 선분의 길이 비율을 구하여 현재 대응하는 바닥면 길이를 통해 높이값을 계산한다(즉 y축 값인 높이값을 비율로 계산하면, 두 번째 바닥면 선분 길이:첫 번째 바닥면 선분 길이=구성된 해당 바다면 길이:y축 값). 이 값을 y값으로 하는 점의 구성이 천장면이고, 바닥면과 천장면의 점들의 조합이 벽면을 구성하게 된다. 이와 같은 과정을 통해 구성한 3차원 공간의 한 예를 도 12에 나타내었다. 이어서, 텍스처 매핑 처리부(146)는 상기 추출한 텍스처를 공간면 생성 처리부(144)에 의해 생성된 벽면, 천장면, 바닥면에 매핑하여, 3차원 파노라마 공간을 생성한다. 이와 같이 3차원 공간을 재구성한 예가 도 13에 도시되어 있다.
도 14에는 본 발명의 한 가지 실시예에 따른 3차원 파노라마 공간 재구성 방법이 흐름도의 형태로 도시되어 있다. 도 15 내지 도 20에는 본 발명의 실시예에 따라, 실제로 스마트폰에 본 발명을 구현하여, 후술하는 각 과정에 따라 구현되는 상태를 보여주는 캡처 화면들이 도시되어 있다.
먼저, 본 발명에 따른 시스템이 설치되어 있는 이동 통신 단말기의 터치 스크린을 통해, 본 발명의 시스템을 구동하면, 본 발명을 이용하여 3차원 파노라마를 생성하기 위한 프로그램이 구동된다. 즉 사용자 인터페이스 처리부(112)가 사용자의 구동 명령에 따라 본 발명의 시스템을 이용하여 3차원 파노라마 공간을 구성하기 위한 작업을 수행할 수 있도록 해주는 사용자 인터페이스를 제공한다(S101)(도 15(a) 참조).
이어서, 사용자 인터페이스 처리부(110)는 도 15의 (b) 및 (c)에 도시한 것과 같이, 사용자가 생성하고자 하는 3차원 파노라마 공간을 구성하는 이미지들을 표시하여 주고, 사용자는 원하는 이미지들을 선택한다(S102). 이러한 선택에 따라, 이미지 처리부(114)는 사용자가 후속 처리를 용이하게 수행할 수 있도록 사용자 인터페이스의 예컨대, 좌측에 배열/표시함과 아울러, 첫 번째 화면의 전체 레이아웃을 표시한다(S103)(도 16 참조). 한편, 이미지 처리부(114)는 사용자가 특정 이미지를 선택하는 조작 없이, 본 발명의 시스템이 구동되면, 자동적으로 이동 통신 단말기의 저장부(도시 생략)를 검색하여, 2차원 이미지를 자동적으로 도 16에 도시한 것과 같이 표시할 수도 있다.
다음에, 사용자는 표시된 각각의 이미지에 대해 공간 정보를 입력하는 스케치 입력을 수행한다(S104). 즉 도 17a 내지 도 17d에 나타낸 바와 같이, 사용자는 터치 입력 방식으로, 공간을 구성하는 면, 즉 벽면, 바닥면 및 천장면의 에지를 터치 입력하고, 이러한 입력에 따라 스케치 입력 처리부는 각 면의 에지 경계면을 표시한다. 각 이미지에 대해 이러한 에지 입력 정보가 입력된 상태가 도 18에 도시되어 있다.
한편, 상기와 같은 과정을 통해 입력된 에지 정보는 그대로 사용하기에는 불필요한 정보를 포함하고 있으므로, 자동 보정 처리부(122)가 일차적으로 자동 보정 처리를 수행한다(S105). 즉 상기 과정에 따라 에지 정보 입력이 완료되면, 자동 보정 처리부(122)는, 상기한 알고리즘에 따라 경계 보정과 교차점 보정을 수행한 다음에, 바닥면에 대해 회전 보정을 수행하여, 각 이미지의 바닥면 정보를 연결하여 공간 구조를 생성한다(예컨대, 도 6 참조).
상기한 것과 같이, 자동 보정 처리부(122)에 의해 생성된 바닥면의 구조가 표시되면, 사용자는 터치 입력 방식으로 수동 보정 처리를 수행한다. 즉 도 19에 도시한 바와 같이, 상기 자동 보정 처리부에 의한 바닥면의 구조에서 원하는 점을 선택하여 원하는 위치로 터치 이동시킨다. 수동 보정 처리부(124)는 사용자의 이러한 터치 입력을 처리하여 수동 보정 후의 바닥면 구조를 완성한다(S106).
이어서, 파노라마 구조 정보 구성 모듈(130)은 상기한 것과 같은 과정에 따라 이미지 사이의 연결 관계를 구성하여, 파노라마 구조 정보를 구성한다(S107). 이어서, 텍스처 추출 처리부(142)는 보정된 에지 경계면 정보를 이용하여 텍스처를 추출하고(S108), 공간면 생성 처리부(144)가 바닥면, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성하고(S109), 텍스처 매핑 처리부(146)가 상기 추출된 텍스처를 각 바닥면, 벽면 및 천장면에 매핑하여 3차원 파노라마 공간을 생성한다. 이와 같이 생성된 3차원 파노라마 공간의 구현예가 도 20에 도시되어 있으며, 사용자의 입력에 대응하여 파노라마 애플리케이션 처리부(도시 생략)가 상기 3차원 파노라마 공간을 이동, 회전, 확대 및 축소하면서 표시한다.
이상 본 발명을 바람직한 실시예를 참고하여 설명하였지만, 상기 실시예는 본 발명의 범위를 제한하기 위한 것이 아니라 본 발명의 이해를 돕기 위해 제공된 것이라는 점을 이해하여야 한다. 즉 후술하는 특허청구범위 내에서 상기 실시예는 다양하게 변형, 수정될 수 있으며, 이들은 모두 본 발명의 범위 내에 속하는 것이다. 따라서, 본 발명은 이하의 특허청구범위 및 그 균등물에 의해서만 제한된다.
110: 스케치 모듈
112: 사용자 인터페이스 처리부
114: 카메라 이미지 처리부
116: 스케치 입력 처리부
120: 보정 모듈
122: 자동 보정 처리부
124: 수동 보정 처리부
130: 파노라마 구조 정보 구성 모듈
140: 3D 파노라마 공간 생성 모듈
142: 텍스처 추출 처리부
144: 공간면생성 처리부
146: 텍스처 매핑 처리부

Claims (14)

  1. 사용자의 터치 입력에 응답하여 명령을 수행 가능한 이동 통신 단말기에서 복수의 2차원 이미지를 3차원 파노라마 공간으로 재구성하는 시스템으로서,
    상기 이동 통신 단말기의 디스플레이에 표시되는 복수 개의 2차원 사진 이미지 각각에 대하여 사용자가 터치 입력할 수 있도록 해주는 인터페이스를 제공해 주고, 상기 2차원 사진 이미지에 대한 사용자의 터치 입력 방식의 스케치 입력을 수신하여, 그 스케치 입력을 처리하기 위한 스케치 모듈과;
    상기 사용자에 의한 2차원 사진 이미지의 스케치 입력 정보 중 사용자가 천장면과 벽면 및 바닥면과 벽면의 경계의 에지 입력시 일부분의 경계에 대해서만 스케치한 경우의 불완전 경계 정보와, 천장면과 벽면 및 바닥면과 벽면의 각 경계가 하나의 교차점에서 종료되지 않게 상기 각 경계를 스케치한 경우의 중복 교차점 정보를 포함하는 불필요한 정보를 자동적으로 보정함과 아울러 사용자에 의한 수동 보정 처리를 수행하는 보정 모듈과;
    상기 보정 모듈에 의해 보정 처리된 복수 개의 2차원 사진 이미지들을 연결하여, 3차원 파노라마 구조 정보를 구성하는 파노라마 구조 정보 구성 모듈과;
    상기 보정 모듈에 의해 보정 처리된 복수 개의 2차원 사진 이미지 각각의 텍스처를 추출하고, 각 이미지의 바닥면, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성한 후, 상기 추출된 텍스처를 각 바닥면, 벽면 및 천장면에 매핑하여 3차원 파노라마 공간을 생성하는 3차원 파노라마 공간 생성 모듈
    을 포함하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 시스템.
  2. 청구항 1에 있어서, 상기 스케치 모듈은
    사용자가 터치 입력을 통해 상기 시스템을 이용하여 3차원 파노라마 공간을 구성하기 위한 작업을 수행할 수 있도록 해주는 사용자 인터페이스를 제공하는 사용자 인터페이스 처리부와;
    상기 사용자 인터페이스 처리부를 통해 제공되는 상기 복수 개의 2차원 사진 이미지를 사용자의 선택에 따라 상기 사용자 인터페이스의 특정 부분에 배열하거나 또는 자동으로 상기 복수 개의 2차원 사진 이미지를 상기 이동 통신 단말기의 저장부로부터 검색하여 상기 사용자 인터페이스의 특정 부분에 배열하는 이미지 처리부와;
    상기 각 이미지에 대한 사용자의 공간 정보 입력에 응답하여, 각 이미지에 대해 스케치 처리를 수행하는 스케치 입력 처리부
    를 포함하고,
    상기 스케치 모듈은 상기 단말기의 디스플레이에 표시되는 2차원 사진 이미지의 벽면과 벽면, 바닥면과 벽면, 벽면과 천장면 사이의 경계면인 에지 경계면에 대한 사용자의 터치 입력에 기초하여, 각 이미지의 에지 경계면을 상기 디스플레이에 표시함과 아울러, 각 에지 경계면을 구성하고 또 두 좌표점으로 이루어지는 선분들의 집합을 상기 단말기의 저장부에 일시 저장하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 시스템.
  3. 청구항 2에 있어서, 상기 보정 모듈은 자동 보정 처리부를 포함하고, 상기 자동 보정 처리부는 상기 에지 경계면을 구성하는 바닥면과 천장면의 시작점 및 끝점의 좌표점 정보를 상기 단말기의 디스플레이의 사이즈에 따른 경계점 정보와 비교하여, 상기 좌표점 정보를 상기 디스플레이의 경계점 정보에 일치시키는 경계 보정과, 상기 벽면과 천장면의 교차하는 세 점의 좌표점 정보와 벽면과 바닥면의 교차하는 세 점의 좌표점 정보가 각각 동일한 하나의 좌표점 정보를 갖도록 하는 교차점 보정과, 상기 각 2차원 이미지의 촬영시 상기 단말기의 지자기 센서를 이용하여 얻어지는 방향 정보에 기초하여, 각 이미지의 바닥면을 상기 방향 정보의 각도만큼 회전시켜 상기 각 이미지의 바닥면의 방향을 맞추어주는 회전 보정을 수행하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 시스템.
  4. 청구항 3에 있어서, 상기 보정 모듈은 수동 보정 처리부를 포함하고, 상기 수동 보정 처리부는 상기 자동 보정 처리부에 의한 자동 보정 후 생성되는 바닥면의 구조를 상기 단말기의 디스플레이를 통해 표시하고, 사용자가 상기 표시된 바닥면의 구조의 각 점을 원하는 위치로 이동시키는 터치 입력에 상응하는 수동 보정을 수행하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 시스템.
  5. 청구항 4에 있어서, 상기 파노라마 구조 정보 구성 모듈은 상기 수동 보정이 완료되면, 그에 따른 바닥면 정보를 통해 상기 2차원 사진 이미지들을 연결하여, 3차원 파노라마 구조 정보를 구성하고, 이때 현재 판별 중인 이미지인 현재 이미지의 벽면의 모서리 점과 처음 만나는 바닥면의 점과, 상기 현재 이미지에 이웃하는 이미지로서 직전 단계에서 재구성을 위한 판별이 완료된 이미지인 이전 이미지의 바닥면을 구성하는 모든 점 사이의 거리를 구하여, 가장 최소인 점을 찾는 방식으로 상기 3차원 파노라마 구조 정보를 구성하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 시스템.
  6. 청구항 5에 있어서, 상기 3차원 파노라마 공간 생성 모듈은 상기 보정 모듈에 의한 교차점 보정 이후의 벽면, 바닥면 및 천장면의 정보를 이용하여 그 정보의 좌표에 대응하는 이미지 상의 텍스처 좌표값을 저장하는 방식으로 텍스처를 추출하는 텍스처 추출 처리부와, 상기 수동 보정 처리부에 의해 수동 보정된 좌표를 통해 바닥면을 생성하고, 바닥면의 x 좌표 및 z 좌표에 높이값 y를 부가하여, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성하는 공간면 생성 처리부와, 상기 추출된 텍스처를 상기 공간면 생성 처리부에 의해 생성된 벽면, 천장면 및 바닥면에 매핑하여 3차원 파노라마 공간을 생성하는 텍스처 매핑 처리부를 포함하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 시스템.
  7. 사용자의 터치 입력에 응답하여 명령을 수행 가능한 이동 통신 단말기에서 복수의 2차원 이미지를 3차원 파노라마 공간으로 재구성하는 방법으로서,
    (A) 사용자의 터치 입력에 응답하여, 상기 이동 통신 단말기의 디스플레이에 표시되는 복수 개의 2차원 사진 이미지 각각에 대하여 사용자가 터치 입력할 수 있도록 해주는 인터페이스를 제공하는 단계와;
    (B) 상기 2차원 사진 이미지에 대한 사용자의 터치 입력 방식의 스케치 입력을 수신하여, 그 스케치 입력을 처리하는 단계와;
    (C) 상기 사용자에 의한 2차원 사진 이미지의 스케치 입력 정보 중 사용자가 천장면과 벽면 및 바닥면과 벽면의 경계의 에지 입력시 일부분의 경계에 대해서만 스케치한 경우의 불완전 경계 정보와, 천장면과 벽면 및 바닥면과 벽면의 각 경계가 하나의 교차점에서 종료되지 않게 상기 각 경계를 스케치한 경우의 중복 교차점 정보를 포함하는 불필요한 정보를 자동적으로 보정함과 아울러 사용자의 터치 입력에 기초한 수동 보정 처리를 수행하는 단계와;
    (D) 상기 보정 모듈에 의해 보정 처리된 복수 개의 2차원 사진 이미지들을 연결하여, 3차원 파노라마 구조 정보를 구성하는 단계와;
    (E) 상기 보정 처리된 복수 개의 2차원 사진 이미지 각각의 텍스처를 추출하고, 각 이미지의 바닥면, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성한 후, 상기 추출된 텍스처를 각 바닥면, 벽면 및 천장면에 매핑하여 3차원 파노라마 공간을 생성하는 단계
    을 포함하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 방법.
  8. 청구항 7에 있어서, 상기 (A) 단계에 있어서, 상기 복수 개의 2차원 사진 이미지를 사용자의 선택에 따라 상기 인터페이스의 특정 부분에 배열하거나 또는 자동으로 상기 복수 개의 2차원 사진 이미지를 상기 단말기의 저장부로부터 검색하여 상기 인터페이스의 특정 부분에 배열하여 표시하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 방법.
  9. 청구항 8에 있어서, 상기 (B) 단계에 있어서, 상기 단말기의 디스플레이에 표시되는 2차원 사진 이미지의 벽면과 벽면, 바닥면과 벽면, 벽면과 천장면 사이의 경계면인 에지 경계면에 대한 사용자의 터치 입력에 기초하여, 각 이미지의 에지 경계면을 상기 디스플레이에 표시함과 아울러, 각 에지 경계면을 구성하고 또 두 좌표점으로 이루어지는 선분들의 집합을 상기 단말기의 저장부에 일시 저장하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 방법.
  10. 청구항 9에 있어서, 상기 (C) 단계에 있어서, 상기 자동 보정은 상기 에지 경계면을 구성하는 바닥면과 천장면의 시작점 및 끝점의 좌표점 정보를 상기 단말기의 디스플레이의 사이즈에 따른 경계점 정보와 비교하여, 상기 좌표점 정보를 상기 디스플레이의 경계점 정보에 일치시키는 경계 보정과, 상기 벽면과 천장면의 교차하는 세 점의 좌표점 정보와 벽면과 바닥면의 교차하는 세 점의 좌표점 정보가 각각 동일한 하나의 좌표점 정보를 갖도록 하는 교차점 보정과, 상기 각 2차원 이미지의 촬영시 상기 단말기의 지자기 센서를 이용하여 얻어지는 방향 정보에 기초하여, 각 이미지의 바닥면을 상기 방향 정보의 각도만큼 회전시켜 상기 각 이미지의 바닥면의 방향을 맞추어주는 회전 보정을 수행하는 것을 포함하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 방법.
  11. 청구항 10에 있어서, 상기 (C) 단계에 있어서, 상기 수동 보정은 상기 자동 보정 후 생성되는 바닥면의 구조를 상기 단말기의 디스플레이를 통해 표시하고, 사용자가 상기 표시된 바닥면의 구조의 각 점을 원하는 위치로 이동시키는 터치 입력에 상응하는 수동 보정을 수행하는 것을 포함하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 방법.
  12. 청구항 11에 있어서, 상기 (D) 단계는 상기 수동 보정이 완료 후 , 그에 따른 바닥면 정보를 통해 상기 2차원 사진 이미지들을 연결하여, 3차원 파노라마 구조 정보를 구성하는 것을 포함하여, 이때 현재 판별 중인 이미지인 현재 이미지의 벽면의 모서리 점과 처음 만나는 바닥면의 점과, 상기 현재 이미지에 이웃하는 이미지로서 직전 단계에서 재구성을 위한 판별이 완료된 이미지인 이전 이미지의 바닥면을 구성하는 모든 점 사이의 거리를 구하여, 가장 최소인 점을 찾는 방식으로 상기 3차원 파노라마 구조 정보를 구성하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 방법.
  13. 청구항 12에 있어서, 상기 (E) 단계는 상기 교차점 보정 이후의 벽면, 바닥면 및 천장면의 정보를 이용하여 그 정보의 좌표에 대응하는 이미지 상의 텍스처 좌표값을 저장하는 방식으로 텍스처를 추출하는 단계와, 상기 수동 보정된 좌표를 통해 바닥면을 생성하고, 바닥면의 x 좌표 및 z 좌표에 높이값 y를 부가하여, 벽면 및 천장면으로 이루어지는 3차원 공간을 생성하는 단계와, 상기 추출된 텍스처를 상기 생성된 벽면, 천장면 및 바닥면에 매핑하여 3차원 파노라마 공간을 생성하는 단계를 포함하는 것을 특징으로 하는 이동 통신 단말기에서의 3차원 파노라마 공간 재구성 방법.
  14. 사용자의 터치 입력에 응답하여 명령을 수행 가능한 이동 통신 단말기에서 복수의 2차원 이미지를 3차원 파노라마 공간으로 재구성하는 프로그램을 기록한 컴퓨터 판독 가능한 프로그램 제품으로서, 상기 프로그램은 청구항 7 내지 청구항 13 중 어느 한 항에 따른 방법의 각 단계를 수행하도록 프로그램된 명령어를 포함하는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
KR1020110019772A 2011-03-07 2011-03-07 사용자 스케치를 통한 이동통신 단말기에서의 3차원 파노라마 공간 재구성 방법 KR101169590B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110019772A KR101169590B1 (ko) 2011-03-07 2011-03-07 사용자 스케치를 통한 이동통신 단말기에서의 3차원 파노라마 공간 재구성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110019772A KR101169590B1 (ko) 2011-03-07 2011-03-07 사용자 스케치를 통한 이동통신 단말기에서의 3차원 파노라마 공간 재구성 방법

Publications (1)

Publication Number Publication Date
KR101169590B1 true KR101169590B1 (ko) 2012-08-02

Family

ID=46886787

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110019772A KR101169590B1 (ko) 2011-03-07 2011-03-07 사용자 스케치를 통한 이동통신 단말기에서의 3차원 파노라마 공간 재구성 방법

Country Status (1)

Country Link
KR (1) KR101169590B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101391386B1 (ko) * 2012-11-30 2014-05-07 엔디에스솔루션 주식회사 3d 이미지 모델링 시스템 및 방법
KR101866261B1 (ko) * 2017-10-18 2018-06-11 오렌지몽키코리아 주식회사 이미지 처리를 통한 입체 이미지 표시 방법, 장치 및 컴퓨터-판독가능 매체
CN111784826A (zh) * 2020-07-14 2020-10-16 深圳移动互联研究院有限公司 一种基于全景图像生成三维结构示意图的方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
논문1
논문2
논문3

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101391386B1 (ko) * 2012-11-30 2014-05-07 엔디에스솔루션 주식회사 3d 이미지 모델링 시스템 및 방법
KR101866261B1 (ko) * 2017-10-18 2018-06-11 오렌지몽키코리아 주식회사 이미지 처리를 통한 입체 이미지 표시 방법, 장치 및 컴퓨터-판독가능 매체
CN111784826A (zh) * 2020-07-14 2020-10-16 深圳移动互联研究院有限公司 一种基于全景图像生成三维结构示意图的方法和系统

Similar Documents

Publication Publication Date Title
US11245806B2 (en) Method and apparatus for scanning and printing a 3D object
JP7231306B2 (ja) イメージ内のターゲットオブジェクトに自動的にアノテーションするための方法、装置およびシステム
EP2583449B1 (en) Mobile and server-side computational photography
US20160295108A1 (en) System and method for panoramic imaging
JP6096634B2 (ja) 仮想現実を用いた3次元地図表示システム
WO2017203709A1 (ja) 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
JPH06215097A (ja) 三次元物体cg作成装置
CN106934777A (zh) 扫描图像获取方法及装置
KR101875047B1 (ko) 사진측량을 이용한 3d 모델링 시스템 및 방법
JP3104638B2 (ja) 3次元画像作成装置
JPH1049704A (ja) 画像変換方法
JPH0997355A (ja) モデリング方法およびモデリングシステム
CN114782646A (zh) 房屋模型的建模方法、装置、电子设备和可读存储介质
KR101169590B1 (ko) 사용자 스케치를 통한 이동통신 단말기에서의 3차원 파노라마 공간 재구성 방법
JP6110780B2 (ja) 付加情報表示システム
JP6311372B2 (ja) 画像処理装置および画像処理方法
WO2022141886A1 (zh) 一种家装素材调整方法、装置、计算机设备和存储介质
RU2735066C1 (ru) Способ отображения широкоформатного объекта дополненной реальности
JP2022507714A (ja) 測量用サンプリング点の計画方法、装置、制御端末及び記憶媒体
JP2021152935A (ja) 情報可視化システム、情報可視化方法、及びプログラム
Tingdahl et al. Arc3d: A public web service that turns photos into 3d models
JP2000329552A (ja) 3次元地図作成方法
JP6405539B2 (ja) 多視点画像に対するラベル情報の処理装置及びそのラベル情報の処理方法
JP3309841B2 (ja) 合成動画像生成装置および合成動画像生成方法
CN112070904A (zh) 应用于博物馆的增强现实展示方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160718

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191017

Year of fee payment: 8