KR101663593B1 - 가상공간의 네비게이션 방법 및 그 시스템 - Google Patents
가상공간의 네비게이션 방법 및 그 시스템 Download PDFInfo
- Publication number
- KR101663593B1 KR101663593B1 KR1020140004030A KR20140004030A KR101663593B1 KR 101663593 B1 KR101663593 B1 KR 101663593B1 KR 1020140004030 A KR1020140004030 A KR 1020140004030A KR 20140004030 A KR20140004030 A KR 20140004030A KR 101663593 B1 KR101663593 B1 KR 101663593B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- view
- viewpoint
- images
- view image
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Processing Or Creating Images (AREA)
Abstract
가상공간의 네비게이션 방법 및 그 시스템이 제공된다. 상기 가상공간의 네비게이션 방법은 가상공간 네비게이션 시스템이 네비게이션을 수행할 주체의 시점-시점은 상기 주체의 눈의 위치 및 방향에 의해 결정됨-을 기준으로, 상기 복수의 이미지들이 포함된 가상의 공간 상에서의 상대적인 상기 복수의 이미지들 각각의 위치와 방향을 판단하는 단계 및 상기 가상공간 네비게이션 시스템이 상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 제1뷰 이미지를 디스플레이하는 단계를 포함한다.
Description
본 발명은 가상공간의 네비게이션 방법 및 그 시스템에 관한 것으로, 보다 상세하게는 이차원의 복수의 이미지들을 이용하여 상기 복수의 이미지들을 포함하는 가상의 공간을 네비게이션할 수 있는 방법 및 그 시스템에 관한 것이다.
이미지가 이미지 획득 수단(예컨대, 카메라, 캠코더 등)에 의해 획득되면, 상기 이미지에 상응하는 위치(position)와 방향(orientation)을 획득할 수 있다. 하지만, 이러한 위치와 방향을 가지는 이미지를 통해서는 이차원적이 뷰(view)만을 획득할 수 밖에 없다.
하지만 각각이 위치와 방향을 갖는 복수의 이미지가 획득된 경우에는, 상기 복수의 이미지 각각의 위치를 포함하는 가상의 공간을 설정할 수 있고, 이러한 가상의 공간을 네비게이션(navigation)(또는 투어(tour)) 할 수 있는 것은 매우 유용할 수 있다.
이러한 일 예는 미국공개특허 (공개번호 US 2012/0099804, "Generating Three-Dimensional Virtual Tours From Two-Dimensional Images", 이하 '선행기술')에 공개된 바 있다.
선행기술은 복수의 이미지들의 위치와 방향을 설정하고, 네비게이션을 수행하는 주체의 시점(view position)(예컨대, 가상 카메라(virtual camera))을 변경해가면서 가상의 네비게이션을 수행하는 기술적 사상을 개시하고 있다. 또한 특정 시점에서의 뷰 플레인(view plane)에 상응하는 뷰 이미지가 상기 복수의 이미지들로 커버가 되지 않는 경우, 즉, 상기 시점(또는 가상 카메라)의 시야에 아무런 이미지가 표시되지 않는 경우를 방지하기 위해 케이지(cage)라는 개념을 정의하여 상기 시점(또는 가상 카메라)이 움직일 수 있는 영역을 제한하고 있다. 또한, 네비게이션 중에 사용자에게 제공되는 뷰 이미지가 상기 복수의 이미지들 중 어느 하나의 이미지에서 다른 새로운 이미지로 전환하기 위한 파이프라는 개념을 도입하고 있다.
이처럼 선행기술의 경우에는 네비게이션 주체의 시점(예컨대 가상 카메라)의 가상공간상에서 위치 또는 방향을 변화시키면서 상기 네비게이션을 수행하기 때문에, 상기 시점의 움직임의 제한을 위한 개념을 도입하여야 하고 또한 상기 시점의 변환에 의해 뷰 이미지가 다른 이미지로 변경될 경우의 가상의 파이프를 정의하여야 하므로 많은 네비게이션을 수행하기 전에 많은 사전 작업이 필요하게 된다.특히, 각각의 이미지별로 미리 케이지를 설정하여야 하고, 이미지들간의 이동을 위한 파이프라는 가상의 공간을 미리 설정해두어야 하는 문제점이 있다.
따라서 보다 효율적이면서도 적은 연산량을 통해 복수의 이미지들을 포함하는 가상의 공간을 네비게이션할 수 있는 기술적 사상이 요구된다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 복수의 이미지의 물리적 위치를 포함하는 가상공간을 네비게이션하는 방법을 제공하면서, 네비게이션 주체의 시점을 고정하고 상기 복수의 이미지들(즉, 상기 가상공간)을 상기 시점에 상대적인 위치 및 방향으로 설정하거나 변환함으로써 네비게이션하는 방법을 제공하는 것이다.
또한, 시점에 상응하는 뷰 플레인이 뷰 이미지 언커버드가 발생한 경우에, 뷰 이미지를 회복하는 회복 프로세스를 수행함으로써 비현실적인 이미지가 디스플레이되는 것을 방지할 수 있는 방법 및 시스템을 제공하는 것이다.
또한, 뷰 이미지 언커버드가 발생한 경우, 경우에 따라서는 뷰 이미지 회복 프로세스를 수행하는 것이 아니라 차근접 이미지를 디스플레이하도록 함으로써 보다 자연스러운 네비게이션이 수행될 수 있는 방법 및 시스템을 제공하는 것이다.
상기의 기술적 과제를 해결하기 위한 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 방법은 가상공간 네비게이션 시스템이 네비게이션을 수행할 주체의 제1시점-제1시점은 상기 주체의 눈의 위치 및 방향에 의해 결정됨-을 기준으로, 상기 복수의 이미지들이 포함된 가상의 공간 상에서의 상대적인 상기 복수의 이미지들 각각의 위치와 방향을 판단하는 단계 및 상기 가상공간 네비게이션 시스템이 상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 상기 제1시점에 상응하는 제1뷰 이미지를 디스플레이하는 단계를 포함한다.
상기 가상공간의 네비게이션 방법은 상기 가상공간 네비게이션 시스템이 상기 시점의 시점변환에 해당하는 이벤트가 발생하면, 상기 시점을 고정한 채 상기 복수의 이미지들 각각의 상기 위치와 상기 방향을 요청된 상기 시점변환에 상응하도록 상대적으로 변환하는 단계 및 상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 변환된 제2뷰 이미지를 디스플레이하는 단계를 더 포함할 수 있다.
상기 가상공간 네비게이션 시스템이 상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 제1뷰 이미지를 디스플레이하는 단계는, 상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하는 단계 및 판단된 상기 제1최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계를 포함한다.
상기 제1최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계는, 상기 시점의 뷰 플레인(view plane) 전체가 상기 제1최근접 이미지에 포함되는 경우에는 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 단계를 포함할 수 있다.
상기 제1최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계는 상기 시점의 뷰 플레인(view plane) 전체가 상기 제1최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생한 경우에는, 상기 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되도록 상기 제1최근접 이미지 또는 상기 시점을 어파인(affine) 변환했을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 뷰 이미지 회복 프로세스를 수행하는 단계를 포함할 수 있다.
상기 뷰 이미지 회복 프로세스를 수행하는 단계는 상기 제1최근접 이미지 또는 상기 시점의 상기 가상공간 상에서의 실제위치와 실제방향은 변환하지 않고, 상기 제1최근접 이미지 또는 상기 시점을 상기 어파인(affine) 변환했을 때를 가정한 가정위치와 가정방향에 기초하여 판단되는 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 상기 뷰 이미지 회복 프로세스를 수행하는 단계를 포함할 수 있다.
상기 뷰 이미지 회복 프로세스를 수행하는 단계는 상기 제1최근접 이미지 또는 상기 시점의 최소한의 움직임으로 상기 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되도록 하는 최소 어파인 변환을 수행하고, 상기 최소 어파인 변환이 수행되었을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 단계를 포함하는 것을 특징으로 할 수 있다.
상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하는 단계는 상기 시점과 상기 복수의 이미지들 각각의 직선거리 또는 상기 시점의 방향과 상기 복수의 이미지들 각각이 이루는 방향차이 중 적어도 하나에 기초하여 결정될 수 있다.
상기 가상공간 네비게이션 시스템은 다음과 같은 수식을 이용하여 상기 제1최근접 이미지를 판단할 수 있다.
[수학식]
Nearest_Image(eye, I) = min{α×Dist(eye, Ii) + β×Angle(eye, Ii)}
Nearest_Image(eye, I) = min{α×Dist(eye, Ii) + β×Angle(eye, Ii)}
여기서 I는 상기 복수의 이미지들의 집합(S)에 포함되는 특정 이미지, eye는 상기 시점, i는 상기 집합(S)의 인덱스(index), Dist는 파라미터간의 직선거리를 구하는 함수, Angle은 파라미터간의 방향차이를 구하는 함수, α 및 β는 가중치(weight factor)를 나타냄.
삭제
상기 가상공간 네비게이션 시스템이 상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 제1뷰 이미지를 디스플레이하는 단계는, 상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하는 단계, 상기 시점의 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생한 경우, 상기 시점과 두 번째로 근접한 차최근접 이미지를 판단하는 단계, 및 판단된 상기 차최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계를 포함할 수 있다.
상기 판단된 상기 차최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계는 상기 시점의 뷰 플레인 전체가 상기 차최근접 이미지에 포함되도록 상기 차최근접 이미지 또는 상기 시점을 어파인(affine) 변환했을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 단계를 포함할 수 있다.
상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 제2뷰 이미지를 디스플레이하는 단계는 상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하는 단계, 판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 다른 새로운 최근접 이미지인 경우, 상기 가상공간 네비게이션 시스템이 상기 제2최근접 이미지의 적어도 일부를 상기 제2뷰 이미지로 디스플레이하는 단계를 포함할 수 있다.
상기 가상공간의 네비게이션 방법은 상기 제2뷰 이미지가 디스플레이되기 전까지, 상기 가상공간 네비게이션 시스템이 상기 제2뷰 이미지 직전의 뷰 이미지와 상기 제2뷰 이미지에 기초하거나 또는 상기 제1최근접 이미지와 상기 제2최근접 이미지에 기초한 전환 애니메이션(transition animation)을 디스플레이하는 단계를 더 포함할 수 있다.
상기 전환 애니메이션을 디스플레이하는 단계는 상기 가상공간 네비게이션 시스템이 상기 제1최근접 이미지와 상기 제2최근접 이미지 간의 거리 또는 상기 시점변화에 상응하는 속성에 기초하여, 상기 전환 애니메이션의 속성을 결정하는 단계 및 결정된 상기 전환 애니메이션의 속성에 상응하도록 상기 전환 애니메이션을 디스플레이하는 단계를 더 포함할 수 있다.
상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 제2뷰 이미지를 디스플레이하는 단계는 상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하는 단계, 판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 동일하고 뷰 이미지 언커버드가 발생하지 않으면, 상기 가상공간 네비게이션 시스템이 상기 변환 위치와 상기 변환 방향에 상응하는 상기 시점의 제2뷰 플레인에 상응하는 이미지를 상기 제2뷰 이미지로 디스플레이하는 단계를 포함할 수 있다.
상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 제2뷰 이미지를 디스플레이하는 단계는 상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하는 단계, 판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 동일하고 뷰 이미지 언커버드가 발생하면, 상기 가상공간 네비게이션 시스템이 상기 이벤트 발생 전의 상기 제1뷰 이미지를 상기 제2뷰 이미지로써 디스플레이하거나, 상기 제2뷰 플레인의 뷰 이미지 회복 프로세스가 수행된 이미지를 상기 제2뷰 이미지로써 디스플레이하거나, 또는 상기 시점의 차근접 이미지의 적어도 일부를 상기 제2뷰 이미지로써 디스플레이하는 단계를 포함할 수 있다.
상기 가상공간의 네비게이션 방법은 상기 가상공간 네비게이션 시스템이 상기 가상공간 상의 복수의 원본 이미지들 중 적어도 두 개의 피결합 이미지들을 결합한 결합 이미지를 생성하는 단계 및 상기 복수의 원본 이미지들에서 상기 피결합 이미지들을 상기 결합 이미지로 대체한 이미지들을 상기 복수의 이미지들로 설정하는 단계를 더 포함할 수 있다.
상기 가상공간 네비게이션 시스템이 복수의 원본 이미지들 중 적어도 두 개의 피결합 이미지들을 결합한 결합 이미지를 생성하는 단계는 상기 복수의 원본 이미지들 중 상기 가상공간 상에서 서로 겹치는 영역이 존재하는 상기 적어도 두 개의 피결합 이미지들을 탐색하는 단계 및 탐색된 상기 적어도 두 개의 피결합 이미지들을 결합한 결합 이미지를 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 방법은 가상공간 네비게이션 시스템이 네비게이션을 수행할 주체의 시점의 제1뷰 플레인에 상응하며 상기 복수의 이미지들 중 제1이미지의 적어도 일부에 상응하는 제1뷰 이미지를 디스플레이하는 단계, 상기 시점의 시점변화에 상응하는 이벤트가 발생하는 경우, 상기 가상공간 네비게이션 시스템이 전환 애니메이션을 디스플레이하는 단계, 및 상기 가상공간 네비게이션 시스템이 상기 시점의 제2뷰 플레인에 상응하며 상기 복수의 이미지들 중 제1이미지와는 다른 제2이미지의 적어도 일부에 상응하는 제2뷰 이미지를 디스플레이하는 단계를 포함하며, 상기 가상공간 네비게이션 시스템이 전환 애니메이션을 디스플레이하는 단계는 상기 가상공간 네비게이션 시스템이 상기 제1이미지와 상기 제2이미지 간의 거리 또는 상기 시점변화에 상응하는 속성에 기초하여 결정되는 상기 전환 애니메이션-상기 전환 애니메이션은 상기 제1이미지와 상기 제2이미지에 기초하거나 또는 상기 제1뷰 이미지와 상기 제2뷰 이미지에 기초함-의 속성에 상응하도록 상기 전환 애니메이션을 디스플레이하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 방법은 가상공간 네비게이션 시스템에 의해 상기 복수의 이미지들의 위치와 방향 및 네비게이션을 수행할 주체의 시점이 결정되는 단계, 상기 가상공간 네비게이션 시스템에 의해 상기 복수의 이미지들 중 상기 시점의 최근접 이미지가 결정되는 단계, 상기 시점의 뷰 플레인 전체가 결정된 상기 최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생하는 경우, 상기 가상공간 네비게이션 시스템이 상기 시점의 이전 시점의 뷰 이미지를 디스플레이하거나, 상기 뷰 플레인의 뷰 이미지 회복 프로세스가 수행된 회복 이미지를 디스플레이하거나, 또는 상기 시점의 차근접 이미지의 적어도 일부를 디스플레이하는 단계를 포함할 수 있다.
상기 가상공간을 네비게이션 하는 방법은 프로그램을 기록한 컴퓨터 판독가능한 기록매체에 저장될 수 있다.
상기 기술적 과제를 해결하기 위한 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 시스템은 네비게이션을 수행할 주체의 시점-시점은 상기 주체의 눈의 위치 및 방향을 포함함-을 설정하는 시점설정부, 상기 복수의 이미지들이 포함된 가상의 공간 상에서 상기 시점을 기준으로 상대적인 상기 복수의 이미지들 각각의 위치와 방향을 판단하는 이미지 설정부, 및 상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 제1뷰 이미지를 결정하여 소정의 디스플레이 장치에 디스플레이하도록 제어하는 제어부를 포함한다.
상기 이미지 설정부는 상기 시점의 시점변환에 해당하는 이벤트가 발생하면, 상기 시점을 고정한 채 상기 복수의 이미지들 각각의 상기 위치와 상기 방향을 요청된 상기 시점변환에 상응하도록 상대적으로 변환하며, 상기 제어부는 상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 변환된 제2뷰 이미지를 디스플레이하도록 제어할 수 있다.
상기 이미지 설정부는 상기 가상공간 상의 복수의 원본 이미지들 중 적어도 두 개의 피결합 이미지들을 결합한 결합 이미지를 생성하고, 상기 복수의 원본 이미지들에서 상기 피결합 이미지들을 상기 결합 이미지로 대체한 이미지들을 상기 복수의 이미지들로 설정할 수 있다.
상기 제어부는 상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하는 최근접 이미지 판단모듈, 판단된 상기 제1최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 뷰 이미지 결정모듈, 및 뷰 이미지 결정모듈에 의해 결정된 상기 제1뷰 이미지를 상기 디스플레이 장치에 디스플레이하도록 제어하는 디스플레이 제어모듈을 포함한다.
상기 뷰 이미지 결정모듈은 상기 시점의 제1뷰 플레인(view plane) 전체가 상기 제1최근접 이미지에 포함되는 경우에는 상기 제1뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정할 수 있다.
상기 뷰 이미지 결정모듈은 상기 시점의 뷰 플레인(view plane) 전체가 상기 제1최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생한 경우에는, 상기 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되도록 상기 제1최근접 이미지 또는 상기 시점을 어파인(affine) 변환했을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 뷰 이미지 회복 프로세스를 수행할 수 있다.
상기 뷰 이미지 결정모듈은 상기 제1최근접 이미지 또는 상기 시점의 상기 가상공간 상에서의 실제위치와 실제방향은 변환하지 않고, 상기 제1최근접 이미지 또는 상기 시점을 상기 어파인(affine) 변환했을 때를 가정한 가정위치와 가정방향에 기초하여 판단되는 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 상기 뷰 이미지 회복 프로세스를 수행할 수 있다.
상기 뷰 이미지 결정모듈은 상기 제1최근접 이미지 또는 상기 시점의 최소한의 움직임으로 상기 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되도록 하는 최소 어파인 변환을 수행하고, 상기 최소 어파인 변환이 수행되었을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 상기 뷰 이미지 회복 프로세스를 수행할 수 있다.
상기 최근접 이미지 판단모듈은 상기 시점과 상기 복수의 이미지들 각각의 직선거리 또는 상기 시점의 방향과 상기 복수의 이미지들 각각이 이루는 방향차이 중 적어도 하나에 기초하여 결정할 수 있다.
상기 제어부는 상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하고, 상기 시점의 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생한 경우, 상기 시점과 두 번째로 근접한 차최근접 이미지를 판단하는 최근접 이미지 판단모듈, 판단된 상기 차최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 뷰 이미지 결정모듈, 및 뷰 이미지 결정모듈에 의해 결정된 상기 제1뷰 이미지를 상기 디스플레이 장치에 디스플레이하도록 제어하는 디스플레이 제어모듈을 포함할 수 있다.
상기 뷰 이미지 결정모듈은 상기 시점의 뷰 플레인 전체가 상기 차최근접 이미지에 포함되도록 상기 차최근접 이미지 또는 상기 시점을 어파인(affine) 변환했을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정할 수 있다.
상기 제어부는 상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하기 위한 최근접 이미지 판단모듈, 판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 다른 새로운 최근접 이미지인 경우, 상기 가상공간 네비게이션 시스템이 상기 제2최근접 이미지의 적어도 일부를 상기 제2뷰 이미지로 설정하는 뷰 이미지 결정모듈, 및 상기 뷰 이미지 결정모듈에 의해 결정된 상기 제2뷰 이미지를 디스플레이하도록 제어하기 위한 디스플레이 제어모듈을 포함한다.
상기 가상공간 네비게이션 시스템은 상기 제2뷰 이미지가 디스플레이되기 전까지, 상기 제2뷰 이미지 직전의 뷰 이미지와 상기 제2뷰 이미지에 기초하거나 또는 상기 제1최근접 이미지와 상기 제2최근접 이미지에 기초한 전환 애니메이션(transition animation)을 디스플레이하도록 제어하는 전환부를 더 포함할 수 있다.
상기 전환부는 상기 제1최근접 이미지와 상기 제2최근접 이미지 간의 거리 또는 상기 시점변화에 상응하는 속성에 기초하여, 상기 전환 애니메이션의 속성을 결정하고, 결정된 상기 전환 애니메이션의 속성에 상응하도록 상기 전환 애니메이션을 디스플레이하도록 제어할 수 있다.
상기 제어부는 상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하기 위한 최근접 이미지 판단모듈, 판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 동일하고 뷰 이미지 언커버드가 발생하지 않으면, 상기 가상공간 네비게이션 시스템이 상기 변환 위치와 상기 변환 방향에 상응하는 상기 시점의 제2뷰 플레인에 상응하는 이미지를 상기 제2뷰 이미지로 설정하기 위한 뷰 이미지 결정모듈, 및 상기 뷰 이미지 결정모듈에 의해 결정된 상기 제2뷰 이미지를 디스플레이하도록 제어하기 위한 디스플레이 제어모듈을 포함할 수 있다.
상기 제어부는 상기 변환 위치와 상기 변환 방향에 상응하는 시점의 제2최근접 이미지를 판단하기 위한 최근접 이미지 판단모듈, 판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 동일하고 뷰 이미지 언커버드가 발생하면, 상기 이벤트 발생 전의 상기 제1뷰 이미지를 상기 제2뷰 이미지로써 디스플레이하거나, 상기 시점의 뷰 플레인의 뷰 이미지 회복 프로세스가 수행된 이미지를 상기 제2뷰 이미지로써 디스플레이하거나, 또는 상기 시점의 차근접 이미지의 적어도 일부를 상기 제2뷰 이미지 설정하기 위한 뷰 이미지 결정모듈, 및 상기 뷰 이미지 결정모듈에 의해 결정된 상기 제2뷰 이미지를 디스플레이하도록 제어하기 위한 디스플레이 제어모듈을 포함한다.
상기 기술적 과제를 해결하기 위한 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 시스템은 네비게이션을 수행할 주체의 시점의 제1뷰 플레인에 상응하며 상기 복수의 이미지들 중 제1이미지의 적어도 일부에 상응하는 제1뷰 이미지를 소정의 디스플레이장치에 디스플레이하도록 제어하기 위한 제어부, 및 상기 시점의 시점변화에 상응하는 이벤트가 발생하는 경우, 전환 애니메이션을 디스플레이하도록 제어하기 위한 전환부를 포함하며, 상기 제어부는 상기 전환부에 의해 상기 전환 애니메이션이 디스플레이 된 후, 상기 시점의 제2뷰 플레인에 상응하며 상기 복수의 이미지들 중 제1이미지와는 다른 제2이미지의 적어도 일부에 상응하는 제2뷰 이미지를 디스플레이하도록 제어하며, 상기 전환부는 상기 제1이미지와 상기 제2이미지 간의 거리 또는 상기 시점변화에 상응하는 속성에 기초하여 결정되는 상기 전환 애니메이션-상기 전환 애니메이션은 상기 제1이미지와 상기 제2이미지에 기초하거나 또는 상기 제1뷰 이미지와 상기 제2뷰 이미지에 기초함-의 속성에 상응하도록 상기 전환 애니메이션을 디스플레이하도록 제어한다.
상기 기술적 과제를 해결하기 위한 복수의 이미지들이 포함된 가상공간을 네비게이션 시스템은 상기 복수의 이미지들의 위치와 방향 및 네비게이션을 수행할 주체의 시점이 결정되면, 상기 복수의 이미지들 중 상기 시점의 최근접 이미지를 결정하기 위한 최근접 이미지 결정모듈, 상기 시점의 뷰 플레인 전체가 결정된 상기 최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생하는 경우, 상기 시점의 이전 시점의 이전 뷰 이미지를 디스플레이 장치에 디스플레이할 뷰 이미지로 설정하거나, 상기 뷰 플레인의 뷰 이미지 회복 프로세스가 수행된 회복 이미지를 상기 뷰 이미지로 설정하거나, 또는 상기 시점의 차근접 이미지의 적어도 일부를 상기 뷰 이미지로 설정하는 뷰 이미지 결정모듈, 및 상기 뷰 이미지 결정모듈에 의해 결정된 상기 뷰 이미지를 상기 디스플레이 장치에 디스플레이하도록 제어하는 디스플레이 제어모듈을 포함한다.
본 발명의 기술적 사상에 따르면 시점의 변환을 수행해야할 경우, 가상공간에서 시점 자체를 변환하는 것이 아니라 복수의 이미지들(또는 상기 가상공간)을 시점변환에 따라 상대적으로 변환함으로써, 시점의 임의적 변환(위치 및/또는 방향의 변환)과 동일한 효과를 얻을 수 있다. 그러면서도 시점이 일정한 위치에 고정된 채로 복수의 이미지들을 시점 위치에 따라서 상대적으로 변환하면 시점에서 보이지 않는 이미지(즉, 뷰 프러스텀 외부의 이미지)를 제거하는 단계가 단순해져서 연산량이 줄어들고, OpenGL과 같은 범용 그래픽 라이브러리와 같이 시점 변환을 제공하지 않는 라이브러리를 사용해서 구현할 수 있으며, 아울러 OpenGL과 같은 범용 라이브러리를 가속하는 하드웨어의 가속성능을 추가적인 노력 없이 얻을 수 있다는 장점이 있다.
또한, 물리적 공간상에서 획득된 원본 이미지들 중에서 겹치는 영역이 존재하는 원본 이미지들은 미리 상기 원본 이미지들을 결합한 결합 이미지를 생성하고, 생성된 결합 이미지를 네비게이션을 수행할 때 디스플레이되는 상기 복수의 이미지들 중 어느 하나로 이용함으로써, 특정 시점에서 복수의 원본 이미지들(즉, 결합전의 원본 이미지들)이 시야에 존재할 경우에 복수의 원본 이미지들을 모두 디스플레이함으로써 발생하는 부자연스러움을 개선할 수 있는 효과가 있다.
또한, 네비게이션을 수행하는 중에 소정의 시점에서 사용자 또는 디스플레이 장치에 디스플레이될 뷰 이미지를 특정하기 위한 뷰 플레인이 상기 복수의 이미지들이 커버(cover)하는 공간을 벗어나는 뷰 이미지 언커버드(uncovered)가 발생하는 경우에도, 간단하게(예컨대, 최소한의 움직임(예컨대, 시점 또는 이미지들의 변환)을 통해) 상기 뷰 플레인이 상기 복수의 이미지들 중 어느 하나에 의해 커버될 수 있도록 하는 효과가 있다. 또한 이를 통해 시각적 불연속성을 줄일 수 있으며, 가상공간 상에서 공백 이미지가 디스플레이되는 즉, 비현실적인 이미지가 디스플레이 되는 것을 방지할 수 있는 효과가 있다.
또한, 뷰 이미지 언커버드가 발생한 경우, 무조건 최근접 이미지의 일부를 보여주게 되는 경우에는 오히려 부자연스러운 네비게이션이 수행될 염려가 있는데, 이러한 경우에는 차근접 이미지를 디스플레이하도록 함으로써 보다 자연스러운 네비게이션이 수행될 수 있는 효과가 있다. 또한, 이때에도 시점의 위치를 강제로 이동시키는 것이 아니라(예컨대, 선행기술과 같이) 이미지를 소정의 위치로 이동시켰을 때를 가정하고, 상기 가정 하에서 시점에 상응하는 뷰 이미지를 디스플레이 함으로써 현실에 부합하는 네비게이션이 수행될 수 있는 효과가 있다.
또한, 뷰 이미지가 복수의 이미지들 중 어느 하나의 이미지에서 다른 이미지로 전환될 경우, 이미지 전환 시에 전환 애니메이션을 제공함으로써 자연스러운 이미지간의 전환이 가능한 효과가 있다. 또한, 이미지가 전환되는 경우 전환 전의 이미지와 전환 후의 이미지의 속성 또는 네비게이션의 속성(예컨대, 시점변환의 속도 등)에 따라 적응적으로 전환 애니메이션의 속성을 결정함으로써 가상공간을 보다 정확하게 인지할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법의 개념을 설명하기 위한 도면이다.
도 2는 본 발명의 기술적 사상에 따른 가상공간 네비게이션 시스템의 개략적인 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시 예에 따른 시점변환을 위해 복수의 이미지들의 위치 및/또는 방향을 변환하는 개념을 설명하기 위한 도면이다.
도 4는 본 발명의 다른 일 실시예에 따른 시점변환을 위해 이미지의 위치 및/또는 방향을 변환하는 개념을 설명하기 위한 도면이다.
도 5는 본 발명의 기술적 사상에 따라 소정의 시점에서의 최근접 이미지를 결정하기 위한 개념을 설명하기 위한 도면이다.
도 6은 본 발명의 기술적 사상에 따라 임의의 시점에서 뷰 이미지를 설정하는 개념을 설명하기 위한 도면이다.
도 7은 본 발명의 기술적 사상에 따라 시점변환이 수행될 때, 시점변환 후의 뷰 이미지가 설정되는 개념을 설명하기 위한 도면이다.
도 8은 본 발명의 기술적 사상에 따른 전환 애니메이션의 개념을 설명하기 위한 도면이다.
도 9는 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법을 개략적으로 설명하기 위한 플로우 챠트를 나타낸다.
도 10은 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법을 위해 결합 이미지를 이용하는 개념을 설명하기 위한 도면이다.
도 1은 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법의 개념을 설명하기 위한 도면이다.
도 2는 본 발명의 기술적 사상에 따른 가상공간 네비게이션 시스템의 개략적인 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시 예에 따른 시점변환을 위해 복수의 이미지들의 위치 및/또는 방향을 변환하는 개념을 설명하기 위한 도면이다.
도 4는 본 발명의 다른 일 실시예에 따른 시점변환을 위해 이미지의 위치 및/또는 방향을 변환하는 개념을 설명하기 위한 도면이다.
도 5는 본 발명의 기술적 사상에 따라 소정의 시점에서의 최근접 이미지를 결정하기 위한 개념을 설명하기 위한 도면이다.
도 6은 본 발명의 기술적 사상에 따라 임의의 시점에서 뷰 이미지를 설정하는 개념을 설명하기 위한 도면이다.
도 7은 본 발명의 기술적 사상에 따라 시점변환이 수행될 때, 시점변환 후의 뷰 이미지가 설정되는 개념을 설명하기 위한 도면이다.
도 8은 본 발명의 기술적 사상에 따른 전환 애니메이션의 개념을 설명하기 위한 도면이다.
도 9는 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법을 개략적으로 설명하기 위한 플로우 챠트를 나타낸다.
도 10은 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법을 위해 결합 이미지를 이용하는 개념을 설명하기 위한 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법의 개념을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법을 위해서 복수의 이미지들(예컨대, I1 내지 IN)을 포함하는 가상의 공간인 가상공간(1)이 설정될 수 있다.
본 발명의 기술적 사상에 의하면, 상기 가상공간(1)에서 소정의 시점(view position, 10)이 설정될 수 있다. 상기 시점(10)이 설정된다고 함은, 상기 시점(10)의 위치 및 방향이 설정됨을 의미할 수 있다. 그러면, 상기 가상공간(1)에서 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치와 방향이 상기 시점을 기준으로 소정의 위치에 각각 설정될 수 있다.
상기 복수의 이미지들(예컨대, I1 내지 IN) 각각은 물리적인 위치 및 방향 값을 가질 수 있다. 따라서 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 어느 하나의 이미지(예컨대, I1)의 상기 가상공간(1)에서의 위치와 방향이 설정되면, 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 나머지 이미지들(예컨대, I2 내지 IN) 각각의 상기 가상공간(1)에서의 위치와 방향은, 상기 어느 하나의 이미지(예컨대, I1)의 물리적인 위치 및 방향과 상기 나머지 이미지들(예컨대, I2 내지 IN)의 상기 물리적인 위치 및 방향과의 상대적인 위치 및 방향에 기초하여, 자동으로 설정될 수 있다.
따라서 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 어느 하나의 이미지(예컨대, I1)의 위치와 방향이 상기 시점(10)을 기준으로 소정의 위치와 방향을 갖도록 설정됨으로써, 상기 복수의 이미지들(예컨대, I1 내지 IN) 전체의 위치와 방향이 설정될 수 있다. 상기 어느 하나의 이미지(예컨대, I1)의 위치와 방향은 상기 이미지(예컨대, I1)가 상기 시점(10)에 상응하는 뷰 플레인(view plane, 예컨대 11)의 전부 또는 일부를 포함할 수 있도록 상기 가상공간(1)에서 설정될 수 있다.
상기 복수의 이미지들(예컨대, I1 내지 IN) 각각은 상기 가상공간(1)에 상응하는 실제공간에서 소정의 영상획득수단(예컨대, 카메라, 캠코더 등)을 통해 획득된 이미지 즉, 원본 이미지들일 수 있다. 이러한 경우, 상기 원본 이미지들 각각에 대해 상기 실제공간상에서의 위치 및 방향에 대한 정보가 결정될 수 있다. 또한, 구현 예에 따라서는 상기 원본 이미지들 각각을 촬영한 상기 영상획득수단의 위치 및 방향에 대한 정보가 더 결정될 수도 있다. 이러한 정보들은 상기 영상획득수단에 의해 자동으로 결정될 수도 있다. 구현 예에 따라서는 사용자에 의해 이러한 정보들이 결정될 수도 있다. 상기 원본 이미지들 각각의 파일 정보에 이러한 이미지의 위치 및 방향에 대한 정보 또는 영상획득수단의 위치 및 방향에 대한 정보가 포함될 수도 있다. 또는 상기 원본 이미지들과는 별개로 가상공간 네비게이션 시스템에 저장될 수도 있다.
상기 원본 이미지들 각각이 상기 복수의 이미지들(예컨대, I1 내지 IN) 즉, 네비게이션을 수행하면서 사용자(사용자의 단말기)에게 제공될 이미지인 네비게이션 이미지로 설정될 수 있다.
구현 예에 따라 상기 복수의 이미지들(예컨대, I1 내지 IN)은 상기 원본 이미지들 중 일부가 결합된 결합 이미지를 포함할 수도 있다. 예컨대, N 개의 원본 이미지들이 존재하는 경우, 상기 가상공간 네비게이션 시스템은 복수의 원본 이미지들 중 적어도 두 개의 이미지들(즉, 피결합 이미지들)을 결합한 결합 이미지를 생성할 수 있다. 그러면 상기 복수의 원본 이미지들 중에서 상기 피결합 이미지들은 결합 이미지로 대체될 수 있다. 그리고 피결합 이미지들이 결합 이미지로 대체된 이미지들이 상기 복수의 이미지들(예컨대, I1 내지 IN) 즉, 네비게이션 이미지로 설정될 수 있다.
예컨대, 원본 이미지들(예컨대, O1, O2, O3, O4, O5, O6, O7)이 실제의 공간에서 획득될 수 있다. 그러면 상기 가상공간 네비게이션 시스템은 상기 원본 이미지들(예컨대, O1, O2, O3, O4, O5, O6, O7) 중 제1원본이미지(예컨대, O1)와 제2원본 이미지(예컨대, O2)를 결합한 제1결합 이미지(예컨대, I1)를 생성할 수 있다. 또한, 제4원본 이미지(예컨대, O4)와 제5원본 이미지(예컨대, O5)를 결합한 제2결합 이미지(예컨대, I3)를 생성할 수 있다. 그러면, 실제로 가상공간(1)에 포함되어 네비게이션의 대상이 되는 네비게이션 이미지는 상기 원본 이미지들(예컨대, O1, O2, O3, O4, O5, O6, O7, 미도시)에서 제1원본이미지(예컨대, O1)와 제2원본 이미지(예컨대, O2)가 상기 제1결합 이미지(예컨대, I1)로 대체되고, 제4원본 이미지(예컨대, O4)와 제5원본 이미지(예컨대, O5)가 제2결합 이미지(예컨대, I3)로 대체된 이미지들(예컨대, I1, O3, I3, O6, O7)일 수 있다. 그리고 O3, O6, 및 O7은 각각 그 자체로 네비게이션 이미지(예컨대, I2, I4, I5))가 될 수 있다. 그러면 상기 네비게이션 이미지들은 각각 I1 내지 I5 가 될 수 있다.
상기 원본 이미지들 중 적어도 두 개를 결합하여 결합 이미지로 생성하는 프로세스는 상기 가상공간 네비게이션 시스템에 의해 수행될 수도 있다. 물론, 상기 가상공간 네비게이션 시스템과는 별개의 시스템에 의해 상기 결합 이미지가 생성되고, 네비게이션 이미지들 즉, 상기 복수의 이미지들(예컨대, I1 내지 IN)이 특정되어 상기 가상공간 네비게이션 시스템으로 입력될 수도 있다.
상기 결합 이미지에 상응하는 상기 피결합 이미지들은 일부의 영역이 겹치는 이미지일 수 있다. 예컨대, 영상획득수단에 의해 촬영된 제1피결합 이미지와 제2피결합 이미지가 동일한 공간을 일부 포함하고 있는 경우가 존재할 수 있다. 즉, 상기 제1피결합 이미지와 상기 제2피결합 이미지는 실제공간상에서 근소한 위치 또는 방향의 차이가 있는 이미지일 수 있다. 이러한 경우에는 특정 시점에서 상기 제1피결합 이미지의 일부와 제2피결합 이미지의 일부가 시야에 모두 포함될 수 있다. 그러면 상기 가상공간 네비게이션 시스템은 시야에 포함된 제1피결합 이미지의 일부 및 제2피결합 이미지의 일부를 네비게이션을 수행하는 중에 적절히 겹쳐서 사용자에게 제공하여야 하는데, 이러한 경우, 실시간으로 두 이미지들의 전부 또는 일부를 겹쳐서 제공하여야 하므로 정교한 겹침 또는 결합이 수행되기 어려울 수 있다. 또한, 정교하게 겹침 또는 결합이 수행된다고 하더라도, 두 개의 서로 다른 이미지를 겹쳐서 사용자에게 제공할 경우 부자연스러운 이미지가 사용자에게 제공될 수 있다.
따라서 전술한 바와 같이 원본 이미지들 중 적어도 두 개가 겹치는 영역이 존재할 경우에는 미리 적어도 두 개의 이미지를 겹친 이미지 즉, 결합 이미지를 생성하여 가상공간(1)에 포함될 네비게이션 이미지로 설정하는 경우 보다 자연스러운 이미지가 제공될 수 있는 효과가 있다. 또한, 네비게이션의 수행 중에 두 이미지를 겹쳐서 제공하지 않아도 되므로 보다 응답속도가 빠른 네비게이션이 가능할 수 있다. 또한, 임의의 시점에서 사용자에게 제공될 뷰 이미지가 네비게이션 이미지들 중 어느 하나 또는 그 일부로 제한될 수 있는 효과가 있다. 이에 대해서는 도 10에서 보다 구체적으로 설명하기로 한다.
어떠한 경우든 원본 이미지들 자체가 네비게이션 이미지 즉, 상기 복수의 이미지들(예컨대, I1 내지 IN)로 설정될 수도 있고, 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 적어도 하나는 적어도 두 개의 원본 이미지가 결합된 결합 이미지일 수도 있다. 그리고 네비게이션 이미지가 특정된 후 상기 가상공간 네비게이션 시스템에 의해 본 발명의 기술적 사상에 따른 네비게이션이 수행될 수 있다.
한편, 상기 시점(10)에 상응하는 뷰 플레인(11)은 상기 시점(10)에 상응하는 뷰 프러스텀(view frustum) 즉, 상기 시점(10)에서의 시야에 해당하는 영역(예컨대, 도 1에서는 상기 시점(10)과 상기 이미지(예컨대, I1)의 네 꼭지점이 이루는 피라미드)과 특정한 이미지(예컨대, I1)를 포함하는 가상의 평면이 교차하는 영역을 의미할 수 있다. 또한, 상기 뷰 프러스텀은 시야 방향으로 미리 제한된 길이(예컨대, 상기 피라미드의 높이)를 가질 수도 있고, 무한대의 길이를 가지도록 정의될 수도 있다. 그리고 본 발명의 실시 예에서는 상기 뷰 플레인(11)에 상응하는 이미지가 디스플레이 장치에 디스플레이될 뷰 이미지가 될 수 있다.
예컨대, 상기 시점(10)은 상기 가상공간(1)에서 소정의 지점(예컨대, 원점)에 설정될 수 있다. 그러면 상기 복수의 이미지들(예컨대, I1 내지 IN)은 상기 시점(10)을 기준으로 상기 가상공간(1)에서 소정의 상대적인 위치에 설정될 수 있다. 이를 위해 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 어느 하나의 이미지(예컨대, I1)가 상기 시점(10)의 뷰 플레인(11)의 전부 또는 일부를 포함하도록, 상기 이미지(예컨대, I1)의 위치와 방향이 설정될 수 있다. 이처럼 상기 이미지(예컨대, I1)의 위치와 방향이 상기 가상공간(1)에서 설정되면 나머지 이미지들(예컨대, I2 내지 IN)의 위치와 방향 역시 자동으로 설정될 수 있다.
물론, 실시 예에 따라서는, 상기 어느 하나의 이미지(예컨대, I1)의 위치와 방향은 상기 뷰 플레인(11)을 전혀 포함하지 않도록 설정될 수도 있다. 이러한 경우에는 상기 시점(10)의 초기 뷰 이미지는 상기 이미지(예컨대, I1)가 아닌 다른 이미지의 적어도 일부일 수도 있다.
도 1에서는 상기 이미지(예컨대, I1)에 상응하는 공간(영역)이 상기 시점(10)의 뷰 플레인(11)과 동일하도록 설정된 경우를 나타낸다. 하지만, 초기의 시점이 제2시점(예컨대, 10-1)과 같이 설정된 상태에서 상기 이미지(예컨대, I1)의 위치가 도 1에 도시된 바와 같이 설정될 수도 있으며 이러한 경우에는 초기 뷰 이미지는 상기 이미지(예컨대, I1)의 일부(12)만일 수도 있다. 구현 예에 따라서는 소정의 시점의 뷰 플레인(11)의 일부만 상기 이미지(예컨대, I1)에 포함되도록 상기 이미지(예컨대, I1)가 설정될 수도 있다(예컨대, 도 6c 에 도시된 실시 예의 경우).
본 발명의 기술적 사상에 의해 상기 가상공간(1)에서 네비게이션이 수행되면, 초기의 상기 시점(10)에 상응하는 뷰 이미지(즉, 뷰 플레인(11)에 상응하는 이미지인 I1)가 본 발명의 기술적 사상을 구현하기 위한 가상공간 네비게이션 시스템에 포함되거나 상기 가상공간 네비게이션 시스템과 연결된 소정의 디스플레이 장치(예컨대, 사용자의 단말기)에 디스플레이될 수 있다.
이 후 상기 시점(10)에서 제2시점(10-1)으로 시점변환이 요청될 수 있다. 시점변환이 요청되기 위해서는 사용자가 상기 시점변환에 해당하는 컨트롤(예컨대, 키패드 또는 터치스크린 등을 통해 시점변환을 요청하는 소정의 입력)을 수행하는 이벤트 또는 상기 가상공간 네비게이션 시스템에 의해 자동으로 상기 시점변환을 위한 프로세스가 수행되는 등의 이벤트가 발생하는 경우일 수 있다.
예컨대, 상기 시점(10)에서 상기 제2시점(10-1)로 시점변환이 요청되면, 결과적으로 상기 가상공간 네비게이션 시스템은 상기 제2시점(10-1)에서의 뷰 플레인(12)에 상응하는 뷰 이미지(즉, 상기 이미지(예컨대, I1)의 일부)를 상기 디스플레이 장치에 디스플레이할 수 있다. 이때 본 발명의 기술적 사상에 의하면, 상기 가상공간 네비게이션 시스템은 상기 시점의 위치와 방향을 상기 시점변환 요청에 상응하도록 상기 가상공간(1)에서 변환하는 것이 아니라, 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치 및/또는 방향을 상기 가상공간(1)에서 상기 시점변환에 상응하도록 상대적으로 변환함으로써 상기 시점(10) 자체가 상기 시점(10-1)으로 변환되는 것과 동일한 효과를 얻을 수 있다. 상기 복수의 이미지들(예컨대, I1 내지 IN)의 위치 및/또는 방향을 상기 시점변환에 상응하도록 상대적으로 변환한다고 함은, 상기 시점(10) 자체의 위치 및/또는 방향이 상기 가상공산(1)에서 변환되는 것과 동일한 효과를 얻을 수 있도록, 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치 및/또는 방향을 변환하는 것을 의미할 수 있다. 예컨대, 상기 시점(10)의 위치가 z축 방향으로 소정의 값만큼 변환되는 시점변환의 요청이 발생되면, 상기 가상공간 네비게이션 시스템은 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치를 -z축 방향으로 상기 값만큼 변환함으로써 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치 및/또는 방향을 상기 시점변환에 상응하도록 상대적으로 변환할 수 있다.
마찬가지로 상기 제2시점(10-1)에서 제3시점(10-3)으로 시점변환의 요청에 상응하는 이벤트가 발생하면, 상기 가상공간 네비게이션 시스템은 상기 시점(10-1)에서 상기 시점(10-2)로의 시점변환에 상응하도록 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치 및/또는 방향을 변환함으로써 상기 시점(10-1) 자체가 움직이는 것과 동일한 효과를 얻을 수 있다.
한편, 본 발명의 기술적 사상에 의하면, 임의의 시점(예컨대, 10, 10-1, 또는 10-2)에서도 상기 가상공간 네비게이션 시스템은 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 어느 하나의 이미지의 전부 또는 일부를 디스플레이장치에 디스플레이하도록 구현될 수 있다.
이를 위해 임의의 시점(예컨대, 10, 10-1, 또는 10-2)에서 어떤 이미지의 전부 또는 일부를 뷰 이미지 즉, 상기 디스플레이 장치에 디스플레이할 이미지로 설정할지가 상기 가상공간 네비게이션 시스템에 의해 결정될 필요가 있다.
이를 위해 본 발명의 기술적 사상에 의하면, 임의의 시점(예컨대, 10, 10-1, 또는 10-2)별로 대응되는 최근접 이미지라는 개념이 정의될 수 있다. 그리고 상기 최근접 이미지의 전부 또는 일부가 상기 임의의 시점(예컨대, 10, 10-1, 또는 10-2)에서 뷰 이미지로 설정될 수 있다. 상기 최근접 이미지에 대해서는 도 5에서 상세히 후술하도록 한다.
도 1에서는 초기의 시점이 시점(10)으로 설정되면 상기 시점(10)에 대응되는 최근접 이미지는 이미지(예컨대, I1)로 판단될 수 있다. 따라서 상기 시점(10)에서 상기 가상공간 네비게이션 시스템은 상기 이미지(예컨대, I1)의 전부 또는 일부를 디스플레이 장치에 디스플레이하도록 제어할 수 있다.
이러한 경우, 상기 시점(10)의 뷰 플레인(11) 전부가 상기 이미지(예컨대, I1)에 포함되므로, 상기 뷰 플레인(11)에 상응하는 이미지 즉, 뷰 이미지는 그대로 디스플레이될 수 있다. 하지만, 다른 실시 예에 의하면, 특정 시점의 뷰 플레인의 전부가 상기 특정 시점에 대응되는 최근접 이미지에 포함되지 않을 수도 있다. 예컨대, 도 6c에 도시된 바와 같이 특정 시점에서의 뷰 플레인(VP)은 상기 뷰 플레인(VP) 전부가 상기 특정 시점에서 대응되는 최근접 이미지(예컨대, I1)에 포함되지 않을 수 있다. 즉, 상기 뷰 플레인(VP)의 일부만 상기 최근접 이미지(예컨대, I1)에 포함되고, 나머지 일부는 상기 최근접 이미지(예컨대, I1)에 포함되지 않게 된다. 이처럼 특정 시점에 상응하는 뷰 플레인의 일부가 상기 특정 시점에서 최근접 이미지에 포함되지 않게 되는 경우를 본 명세서에서는 뷰 이미지 언커버드(uncovered)로 정의하기로 한다.
뷰 이미지 언커버드가 발생한 경우에 뷰 이미지는 상기 최근접 이미지(예컨대, I1)의 일부(즉, 뷰 플레인(VP)과 최근접 이미지(예컨대, I1)가 겹치는 영역)와 공백(즉, 최근접 이미지(예컨대, I1)와 겹치지 않는 상기 뷰 플레인(VP) 영역))을 포함하게 되므로, 상기 뷰 이미지를 그대로 디스플레이하게 되면 공백을 디스플레이하여야 하므로 비현실적인 네비게이션이 수행되게 된다. 따라서 이러한 경우에는 뷰 이미지의 전체(즉, 뷰 플레인(VP) 전체)가 상기 최근접 이미지(예컨대, I1)에 포함되도록 즉, 뷰 이미지 커버드(covered)가 되도록 뷰 이미지를 변경하여 디스플레이할 필요가 있다. 이처럼 뷰 이미지 언커버드가 발생한 상황에서 뷰 이미지를 뷰 이미지 커버드가 되도록 변경하는 과정을 본 명세서에서는 뷰 이미지 회복 프로세스로 정의할 수 있다. 상기 뷰 이미지 회복 프로세스에 대해서는 상세히 후술하도록 한다.
한편, 네비게이션을 수행하면서, 뷰 이미지 언커버드가 발생하는 경우는, 네비게이션을 시작할 때, 시점변환에 따라 새로운 최근접 이미지가 발견될 때, 또는 시점변환이 요청되어도 시점변환 전과 시점변환 후의 최근접 이미지는 동일하면서 단지 뷰 이미지가 변경될 때 각각 발생할 수 있다.
그리고 마지막의 경우 즉, 시점변환 전과 시점변환 후의 최근접 이미지는 동일하면서 단지 뷰 이미지가 변경됨으로써(즉, 뷰 플레인이 변경됨으로써) 뷰 이미지 언커버드가 발생할 경우에는, 상기 가상공간 네비게이션 시스템은 전술한 바와 같이 뷰 이미지 회복 프로세스를 수행할 수도 있다. 하지만 이러한 경우에는 단순히 시점변환 전의 뷰 이미지를 시점변환 후에도 그대로 유지함으로써 연산량을 줄이면서도 비교적 사실적인 네비게이션을 수행할 수도 있다. 이러한 일 예들은 도 7을 참조하여 후술하도록 한다.
한편, 뷰 이미지 언커버드가 발생하는 경우에 무조건 해당 시점에서의 최근접 이미지로 뷰 이미지 회복 프로세스를 수행하는 것은 오히려 부자연스러운 네비게이션이 수행되는 결과를 얻을 수도 있다. 예컨대, 특정 상황에서 시점의 최근접 이미지는 이미지(예컨대, I1)일 수 있다. 그러면, 뷰 이미지 회복 프로세스는 상기 시점의 뷰 플레인이 상기 최근접 이미지(예컨대, I1)에 포함되도록 소정의 프로세스를 수행한 후, 수행된 결과 즉, 상기 최근접 이미지(예컨대, I1)의 적어도 일부를 뷰 이미지로 결정하는 과정일 수 있다. 하지만, 경우에 따라서는 상기 최근접 이미지(예컨대, I1)를 디스플레이하는 것보다 차근접 이미지를 디스플레이하는 것이 보다 사실적으로 네비게이션을 수행하는 것과 같은 효과를 줄 수도 있다. 예컨대, 특정 시점에서 상기 시점에 상응하는 뷰 플레인은 최근접 이미지에 일부만 포함되고 있다. 이러한 경우, 뷰 이미지 회복 프로세스를 수행하면 뷰 플레인 전체가 상기 최근접 이미지에 포함되도록 뷰 이미지가 변경되므로, 이러한 뷰 이미지 회복 프로세스를 수행하는 것이 오히려 부자연스러운 경우가 존재할 수도 있다. 이러한 경우에는 차근접 이미지를 디스플레이하는 것이 보다 자연스러울 수 있다. 이러한 일 예들은 도 6f 및 도 6g를 통해 보다 상세히 설명하도록 한다.
한편, 본 발명의 기술적 사상은 네비게이션을 수행하면서 시점변환에 따라 뷰 이미지에 상응하는 이미지(예컨대, I1)가 다른 이미지(예컨대, I3)로 변경되는 경우(즉, 최근접 이미지가 변경되는 경우), 변경 전의 뷰 이미지와 변경 후의 뷰 이미지가 각각 디스플레이되는 사이에 소정의 전환 애니메이션을 디스플레이함으로써 보다 사실적인 네비게이션이 수행되도록 할 수 있다. 이때 상기 전환 애니메이션은 상기 변경 전 이미지(예컨대, I1)와 변경 후 이미지(예컨대, I3)의 속성(예컨대, 물리적 거리 등)에 기초하여 적응적으로 다른 속성(예컨대, 전환 애니메이션의 플레이 시간 등)을 갖도록 함으로써 더욱 사실적인 네비게이션이 수행되도록 할 수 있다. 이러한 일 예들은 도 8을 참조하여 후술하도록 한다.
결국, 본 발명의 기술적 사상에 따른 가상공간 네비게이션 시스템 및 가상공간의 네비게이션 방법에 의하면, 시점변환을 위해 시점 자체를 변환하는 것이 아니라 복수의 이미지들(예컨대, I1 내지 IN)(또는 가상공간(1)) 자체를 변환함으로써 효율적으로 네비게이션을 수행할 수 있는 효과가 있다. 즉, 시점은 고정되므로 시점의 움직임(위치 또는 방향의 변환 폭)이 가능한 영역을 미리 복수의 이미지들(예컨대, I1 내지 IN) 각각에 대해 설정할 필요가 없고, 시점이 고정되므로 네비게이션을 수행하면서 미리 상기 복수의 이미지들(예컨대, I1 내지 IN)간에 상기 시점이 움직일 수 있는 가상의 제한된 영역(예컨대, 선행기술의 파이프 등) 등을 설정할 필요가 없는 효과가 있다.
이러한 기술적 사상을 구현하기 위한 본 발명의 일 실시 예에 따른 가상공간 네비게이션 시스템의 개략적인 구성은 도 2에 도시된다.
도 2는 본 발명의 기술적 사상에 따른 가상공간 네비게이션 시스템의 개략적인 구성을 나타내는 도면이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 가상공간 네비게이션 시스템(100)은 제어부(110)를 포함한다. 상기 가상공간 네비게이션 시스템(100)은 시점설정부(120), 이미지 설정부(130), 전환부(140), 및/또는 인터페이스부(150)를 더 포함할 수 있다.
상기 제어부(110)는 최근접 이미지 판단모듈(111), 뷰 이미지 결정모듈(112), 및 디스플레이 제어모듈(113)을 포함할 수 있다.
상기 가상공간 네비게이션 시스템(100)은 소정의 데이터 프로세싱 장치(예컨대, 컴퓨터, 모바일 단말기, 또는 서버 등)에 설치되어, 상기 데이터 프로세싱 장치에 구비된 하드웨어 및 상기 하드웨어를 제어하여 본 발명의 기술적 사상을 구현하도록 정의되는 소정의 소프트웨어 코드와 유기적으로 결합됨으로써 구현될 수 있다.
본 명세서에서 '부' 또는 '모듈'이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 '부' 또는 '모듈'은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
구현 예에 따라, 상기 가상공간 네비게이션 시스템(100)은 어느 하나의 물리적 장치가 아니라, 복수의 물리적 장치에 분산되어 설치될 수도 있다. 필요에 따라, 상기 가상공간 네비게이션 시스템(100)에 포함된 각각의 구성들이 독립적인 물리적 장치들로 구현되면, 이러한 물리적 장치들이 유무선 네트워크를 통해 유기적으로 결합되어 구현되어 본 발명의 기술적 사상에 따른 상기 가상공간 네비게이션 시스템(100)을 구현할 수도 있다.
상기 가상공간 네비게이션 시스템(100)은 소정의 디스플레이 장치(200)에 본 발명의 기술적 사상에 따라 네비게이션을 수행하면서 소정의 시점별 뷰 이미지를 디스플레이하도록 제어할 수 있다. 상기 디스플레이 장치(200)는 상기 가상공간 네비게이션 시스템(100)이 구현되는 물리적 장치(예컨대, PC, 스마트폰, 태블릿 PC, TV 등)에 일체로 결합되어 있거나, 유선 또는 무선 네트워크로 연결된 장치일 수도 있다. 구현 예에 따라서는, 상기 가상공간 네비게이션 시스템(100)은 소정의 웹 서버로 구현되면, 상기 디스플레이 장치(200)는 상기 웹 서버에 연결된 클라이언트 단말(예컨대, 사용자 단말기)의 디스플레이 장치일 수도 있다.
상기 제어부(110)는 상기 가상공간 네비게이션 시스템(100)의 다른 구성들(예컨대, 상기 시점 설정부(1200, 상기 이미지 설정부(130), 상기 전환부(140), 및/또는 상기 인터페이스부(150) 등)의 기능 및/또는 리소스를 제어하여 본 발명의 기술적 사상이 구현되도록 할 수 있다.
상기 시점 설정부(120)는 네비게션을 수행할 주체(예컨대, 가상의 카메라, 가상의 캐릭터 등)의 시점을 설정할 수 있다. 상기 시점은 네비게이션의 시작 시에는 미리 설정된 소정의 위치 및 방향을 가지도록 설정될 수 있다. 물론, 구현 예에 따라서는 상기 가상공간 상의 임의의 위치 및 방향을 가지도록 설정될 수도 있다.
상기 시점 설정부(120)에 의해 시점이 설정되면, 상기 시점에 상응하는 위치와 방향에 대한 정보는 소정의 상기 가상공간 네비게이션 시스템(100)에 구비된 DB(미도시)에 저장될 수 있다.
또한, 상기 시점 설정부(120)는 상기 시점의 뷰 프러스텀(view frustum)을 설정할 수 있다. 상기 시점의 뷰 프러스텀은 시점의 시야각 및/또는 시야거리를 설정함으로써 설정될 수 있다. 상기 뷰 프러스텀은 상기 가상공간상에서 상기 시점을 꼭지점으로 하는 피라미드 형상을 갖는 입체 도형으로 정의될 수 있다.
상기 이미지 설정부(130)는 상기 가상공간 상에서 상기 복수의 이미지들(예컨대, I1 내지 IN)의 위치 및 방향을 설정할 수 있다. 전술한 바와 같이 상기 복수의 이미지들(예컨대, I1 내지 IN)은 서로 물리적으로 상대적인 위치 및 방향이 결정되어 있으므로, 상기 이미지 설정부(130)는 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 어느 하나(예컨대, 이미지(예컨대, I1))만 위치 및 방향을 설정하면, 나머지 이미지들의 위치 및 방향은 자동으로 설정될 수 있다.
상기 이미지 설정부(130)는 소정의 영상획득수단(예컨대, 카메라 또는 캠코더 등)에 의해 획득된 이미지 자체 즉, 원본 이미지를 그대로 상기 복수의 이미지들(예컨대, I1 내지 IN) 즉, 가상공간에 포함될 네비게이션 이미지로 설정할 수도 있다. 구현 예에 따라서는, 전술한 바와 같이 원본 이미지들 중 일부를 결합하여 결합 이미지를 상기 네비게이션 이미지로 설정할 수도 있다.
이러한 일 예는 도 10을 참조하여 설명하도록 한다.
도 10은 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법을 위해 결합 이미지를 이용하는 개념을 설명하기 위한 도면이다.
도 10을 참조하면, 상기 이미지 설정부(130)는 원본 이미지들을 입력받을 수 있다. 상기 원본 이미지들 중에는 제1원본 이미지(예컨대, O1) 및 제2원본 이미지(예컨대,O2)가 포함될 수 있다. 상기 제1원본 이미지(예컨대, O1)와 상기 제2원본 이미지(예컨대,O2)는 도 10에 도시된 바와 같이 일부가 동일한 공간을 촬영한 이미지일 수 있다.
이러한 경우 상기 제1원본 이미지(예컨대, O1)와 상기 제2원본 이미지(예컨대,O2)가 그대로 가상공간(1)에 포함된 네비게이션 이미지로 설정될 경우, 소정의 시점(10)에서 상기 제1원본 이미지(예컨대, O1)와 상기 제2원본 이미지(예컨대,O2)가 모두 시야에 포함될 수 있다. 그러면 상기 가상공간 네비게이션 시스템은 상기 제1원본 이미지(예컨대, O1)와 상기 제2원본 이미지(예컨대,O2)의 겹치는 영역을 실시간으로 적절히 겹쳐서 디스플레이할 수도 있다. 하지만, 이러한 경우에는 전술한 바와 같이 디스플레이되는 뷰 이미지가 자연스럽지 않을 수도 있고, 실시간으로 두 개의 이미들 중 일부를 겹쳐서 디스플레이하는데에 많은 리소스가 소비될 수도 있다. 또한, 이처럼 일부가 겹쳐지는 이미지가 존재하는 경우에는 후술할 바와 같이 소정의 시점에서 최근접 이미지가 복수 개 존재하는 문제점이 발생할 수도 있다.
따라서 본 발명의 기술적 사상에 의하면, 상기 이미지 설정부(130)는 각각의 원본 이미지들의 위치 및 방향(또는 상기 원본 이미지들을 획득한 영상획득수단의 위치 및 방향)을 확인하고, 확인결과 이처럼 일부가 동일한 공간을 촬영한 원본 이미지들이 존재하는 경우, 해당 원본 이미지들을 피결합 이미지들로 특정할 수 있다. 도 10에서는 두 개의 이미지(예컨대, O1 및 O2)가 피결합 이미지들로 특정된 경우를 도시하고 있지만, 그 이상의 이미지들이 피결합 이미지들로 특정될 수도 있음은 물론이다. 즉, 제2원본 이미지(예컨대,O2)와 일부가 겹치는 제3원본 이미지(미도시)가 존재할 경우에는, 제1원본 이미지(예컨대, O1), 제2원본 이미지(예컨대,O2), 및 제3원본 이미지가 모두 하나의 결합 이미지로 결합될 수도 있다.
이러한 경우 상기 이미지 설정부(130)는 상기 제1원본 이미지(예컨대, O1)와 상기 제2원본 이미지(예컨대,O2)를 결합한 결합 이미지(I')를 생성할 수 있다. 예컨대, 제1원본 이미지(예컨대, O1)에 상기 제1원본 이미지(예컨대, O1)와 겹치지 않는 제2원본 이미지(예컨대,O2)의 일부를 겹합하여 상기 결합 이미지(I')를 생성할 수 있다. 또는 상기 제1원본 이미지(예컨대, O1)와 상기 제2원본 이미지(예컨대,O2)가 겹치는 영역을 자연스럽게 보이기 위한 소정의 이미지 프로세싱이 더 수행될 수도 있음은 물론이다. 상기 결합 이미지(I')를 생성할 수 있는 다양한 실시 예가 가능할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
이처럼 상기 이미지 설정부(130)는 원본 이미지들 중에서 적어도 일부를 결합하여 결합 이미지(I')를 생성할 수 있고, 생성된 결합 이미지(I')를 상기 복수의 이미지들(예컨대, I1 내지 IN) 즉, 가상공간(1)에 포함될 네비게이션 이미지로 설정할 수 있다.
이러한 경우, 공간상에서 위치가 근접한(또는 일부가 겹치는) 원본 이미지들이 미리 하나의 결합 이미지(I')로 생성되어 네비게이션 이미지로 설정될 수 있어서, 결합 이미지(I') 자체를 생성할 때에도 정교한 결합이 가능해질 수 있는 효과가 있다. 또한, 임의의 시점에서 어느 하나의 이미지만이 시야에 들어오도록 설정할 수 있어서 보다 용이한 연산이 가능한 효과가 있다.
다시 도 1 및 도 2를 참조하면, 상기 이미지 설정부(130)는 상기 어느 하나의 이미지(예컨대, I1)가 소정의 시점(10)의 최근접 이미지가 되도록 위치 및 방향을 설정할 수 있다. 구현 예에 따라서는 상기 이미지(예컨대, I1)를 상기 시점(10)을 기준으로 특정 위치(예컨대, 초점 거리의 위치) 및 방향(예컨대, 상기 시점의 시야방향과 정면방향)에 위치시킬 수도 있다. 이러한 경우는 도 1에 도시된 바와 같이 시점(10)과 상기 이미지(예컨대, I1)가 배치된 경우일 수 있다. 즉, 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 특정 이미지(예컨대, 이미지(예컨대, I1))는 상기 시점(10)을 기준으로 미리 정해진 위치 및 방향을 갖도록 배치될 수도 있다.
하지만, 본 발명의 기술적 사상에 의하면 상기 시점(10)이 설정되면, 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각은 상기 가상공간 내에서 임의의 위치 및 방향에 설정될 수도 있다.
상기 이미지 설정부(130)은 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치 및 방향을 설정하면, 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 상기 가상공간 내에서의 절대적인 위치 및 방향을 상기 가상공간 네비게이션 시스템(100)에 포함된 DB(미도시)에 저장할 수 있다. 또한, 본 발명의 기술적 사상에 의하면, 시점(10)의 변환이 발생하는 경우, 상기 가상공간 네비게이션 시스템(100)은 상기 변환에 상응하도록 상기 시점(10)의 위치 및 방향을 변환하는 것이 아니라, 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치 및 방향을 상기 시점(10)의 변환에 따라 상대적으로 변환시킬 수 있다.
이때 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 변환(위치 및 방향) 역시 상기 이미지 설정부(130)에 의해 수행될 수 있다. 그리고 상기 이미지 설정부(130)가 변환된 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치 및 방향을 상기 DB(미도시)에 저장할 수 있음은 물론이다.
또한, 상기 이미지 설정부(130)는 후술할 바와 같이 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각의 상기 가상공간 내에서의 절대적인 위치 및 방향은 변경하지 않은 채, 임시로 또는 가정적으로 상기 복수의 이미지들(예컨대, I1 내지 IN)의 위치 및 방향을 변경하여야 할 경우가 있다. 즉, 상기 가상공간 네비게이션 시스템(100)은 상기 복수의 이미지들(예컨대, I1 내지 IN)의 상기 가상공간 내에서의 실제 위치 및 방향은 변경하지 않은 채, 상기 복수의 이미지들(예컨대, I1 내지 IN) 또는 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 어느 하나의 이미지의 위치 및 방향이 변환된 것을 가정한 후, 가정된 위치 및 방향 즉, 가정위치와 가정방향에서 상기 시점(10)에 상응하는 뷰 이미지를 디스플레이할 경우가 존재할 수 있다. 이때 상기 가정위치 및 가정방향 역시 상기 이미지 설정부(130)에 의해 연산되어 결정될 수 있음은 물론이다. 상기 가정위치 및 가정방향이 필요한 경우는 후술할 바와 같이 뷰 이미지 회복 프로세스를 수행하거나, 차근접 이미지를 수용하는 경우일 수 있다.
한편, 상기 시점 설정부(110) 및 상기 이미지 설정부(130)에 의해 각각 시점(예컨대, 10)과 복수의 이미지들(예컨대, I1 내지 IN) 각각이 설정되면, 상기 제어부(110)는 설정된 상기 시점(예컨대, 10)과 상기 복수의 이미지들(예컨대, I1 내지 IN)에 기초하여 사용자에게(즉, 디스플레이 장치(200)에) 디스플레이할 뷰 이미지를 결정하고, 결정된 뷰 이미지를 상기 디스플레이 장치(200)를 통해 디스플레이하는 프로세스를 수행할 수 있다.
그리고 사용자로부터 상기 인터페이스부(150)를 통해 시점변환을 요청하는 시점변환 요청 이벤트가 입력되면, 상기 가상공간 네비게이션 시스템(100)은 시점변환이 수행되었을 때의 상기 시점(예컨대, 10)의 뷰 이미지를 상기 디스플레이 장치(200)를 통해 디스플레이할 수 있다.
이때 본 발명의 기술적 사상에 의하면, 상기 시점변환을 요청하는 이벤트(예컨대, 위치 및/또는 방향을 변환하기 위한 키 입력, 터치입력, 음성명령 등)가 발생하면, 상기 가상공간 네비게이션 시스템(100)은 상기 시점(예컨대, 10)을 변환한 것이 아니라 상기 복수의 이미지들 각각의 위치 및/또는 방향을 변환함으로써 마치 시점(예컨대, 10)이 변환하는 것과 동일한 효과를 얻을 수 있다. 또한, 시점(예컨대, 10) 자체를 변환하지 않음으로써 전술한 바와 같이 뷰 프러스텀에 포함되지 않는 영역을 삭제하는 연산이 용이할 수 있으며, 범용 그래픽 라이브러리를 그대로 이용하면서도 하드웨어 가속을 부수적으로 얻을 수 있는 효과가 있다.
이러한 일 예는 도 3 및 도 4를 참조하여 설명하도록 한다.
도 3은 본 발명의 일 실시 예에 따른 시점변환을 위해 복수의 이미지들의 위치 및/또는 방향을 변환하는 개념을 설명하기 위한 도면이다. 또한, 도 4는 본 발명의 다른 일 실시예에 따른 시점변환을 위해 이미지의 위치 및/또는 방향을 변환하는 개념을 설명하기 위한 도면이다.
도 3 및 도 4는 시점(예컨대, 10) 및 복수의 이미지들(예컨대, I1 내지 In)이 가상공간에 배치된 경우의 평면도를 나타낸다.
우선 도 1 및 도 3a를 참조하면, 제1시점(예컨대, 10)에서 제2시점(예컨대, 10-1)로 시점변환을 요청하는 이벤트가 발생하면, 실제로 상기 제1시점(예컨대, 10)의 위치를 상기 제2시점(예컨대, 10-1)의 위치로 변환함으로써 네비게이션이 수행될 수 있다. 이러한 시점 자체의 변환은 상기 제1시점(예컨대, 10)의 위치 및/또는 방향을 제2시점(예컨대, 10-1)의 위치 및/또는 방향으로 변환하는 어파인 트랜스폼(Affine Transform)을 수행함으로써 구현될 수 있다. 하지만, 본 발명의 기술적 사상에 따른 상기 가상공간 네비게이션 시스템(100)은 상기 시점변환을 요청하는 이벤트가 발생하면, 상기 시점(예컨대, 10)은 고정한 채 상기 시점변환에 상응하도록 상기 복수의 이미지들(예컨대, I1 내지 In)을 상대적으로 변환할 수 있다. 이처럼 상기 복수의 이미지들(예컨대, I1 내지 In)을 상대적으로 변환하면, 도 3b에 도시된 바와 같을 수 있다. 도 3a와 도 3b를 비교하면, 상기 제2시점(예컨대, 10-1)의 위치 및/또는 방향은 상기 제1시점(예컨대, 10)과 동일하고, 상기 복수의 이미지들(예컨대, I1 내지 In) 각각이 상기 시점변환(예컨대, 도 3a에서 우측으로 위치 이동)에 상응하도록 상대적으로 변환(예컨대, 좌측을 위치 이동)된 것을 알 수 있다.
또한, 제2시점(예컨대, 10-1)에서 다시 제3시점(예컨대, 10-2)으로 시점변환에 해당하는 이벤트(예컨대 우측으로 이동)가 발생하면, 상기 가상공간 네비게이션 시스템(100)은 도 3c에 도시된 바와 같이 상기 시점변환에 상응하도록 상대적으로 상기 복수의 이미지들(예컨대, I1 내지 In) 각각의 위치를 변환(예컨대, 좌측으로 이동)할 수 있다. 도 3a 내지 도 3c는 상기 시점의 위치가 변환되는 일 예를 도시하고 있지만, 도 4에 도시된 바와 같이 시점의 방향이 변환되는 경우도 마찬가지로 상기 가상공간 네비게이션 시스템(100)은 상기 복수의 이미지들(예컨대, I1 내지 In) 각각의 방향을 상대적으로 변환할 수 있다.
예컨대, 도 4의 좌측에 도시된 바와 같은 상황에서 시점의 방향을 시계방향으로 15도 변환하는 이벤트가 발생하는 경우, 상기 가상공간 네비게이션 시스템(100)은 상기 시점의 방향자체를 시계방향으로 15도 변환하면 도 4의 우상측에 도시된 바와 같이 시점과 이미지(I1)를 설정할 수도 있다. 하지만, 본 발명의 기술적 사상에 따른 상기 가상공간 네비게이션 시스템(100)은 상기 이미지(I1)을 상대적으로 변환(예컨대, 시계반대방향으로 15도 변환)함으로써 동일한 네비게이션 효과를 얻을 수도 있다.
이를 위해 상기 이미지 설정부(130)는 상기 인터페이스부(150)를 통해 시점변환 요청에 상응하는 이벤트가 감지되면, 상기 DB에 저장된 상기 복수의 이미지들(예컨대, I1 내지 In) 각각의 위치 및/또는 방향을 상기 시점변환에 상응하는 상대적인 변환을 수행함으로써 네비게이션을 수행할 수 있다. 이러한 변환 역시 상기 복수의 이미지들(예컨대, I1 내지 In) 각각의 위치 및/또는 방향을 어파인 트랜스폼함으로써 수행될 수 있다. 변환 후 상기 이미지 설정부(130)는 변환된 위치 및/또는 방향을 상기 DB에 저장함으로써 시점변환을 완료할 수 있다.
한편, 특정 시점(예컨대, 10)에서의 뷰 이미지를 결정하기 위해서는 원칙적으로 시점 설정부(120)에 의해 설정된 시점(예컨대, 10)의 뷰 프러스텀 내에 위치하는 모든 오브젝트는 상기 시점의 시야에 포함된 오브젝트이므로 모두 디스플레이되어야 할 수 있다. 하지만, 본 발명의 실시 예에 의하면 상기 복수의 이미지들이 상기 가상공간 상에서 불연속적으로 배치되고, 상기 복수의 이미지들이 커버하는 공간 외의 공간에 해당하는 이미지 정보는 존재하지 않으므로, 어느 한 시점에서 디스플레이 장치에 디스플레이되는 이미지는 상기 복수의 이미지들 중 어느 하나의 이미지의 전부 또는 일부만 디스플레이될 수 있다. 따라서 상기 가상공간 네비게이션 시스템(100)은 특정한 시점(예컨대, 10)의 뷰 프러스텀에, 상기 가상공간에 배치된 복수의 이미지들(예컨대, 도 1의 I1 및 I3)가 포함된다고 하더라도, 그 중 어느 하나의 이미지(예컨대, I1)만이 상기 특정 시점(예컨대, 10)에 디스플레이될 수 있다.
상기 뷰 프러스텀에 포함된 이미지들 중 어떠한 이미지를 디스플레이할 지를 결정하기 위해 상기 제어부(110)에 포함된 최근접 이미지 판단모듈(111)은 상기 시점(예컨대, 10)에 상응하는 최근접 이미지가 무엇인지를 판단할 수 있다. 상기 최근접 이미지는 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 어느 하나로 결정될 수 있다. 구현 예에 따라서는, 상기 최근접 이미지 판단모듈(111)은 상기 시점(예컨대, 10)의 차근접 이미지를 판단할 수도 있다. 차근접 이미지를 판단하는 경우는, 상기 시점(예컨대, 10)에서 사용자에게 제공될 뷰 이미지가 상기 시점(예컨대, 10)에 상응하는 최근접 이미지의 적어도 일부인 경우보다는, 상기 시점(예컨대, 10)에 상응하는 차근접 이미지인 경우에 보다 자연스러운 네비게이션이 수행될 수 있을 때일 수 있다.
어떠한 경우든 상기 최근접 이미지 판단모듈(111)은 소정의 시점(예컨대, 10)에서 상기 복수의 이미지들(예컨대, I1 내지 IN) 중 최근접 이미지 및/또는 차근접 이미지를 판단할 수 있다. 상기 최근접 이미지 판단모듈(111)이 상기 최근접 이미지 및/또는 상기 차근접 이미지를 판단하기 위한 일 예는 도 5에 도시된다.
도 5는 본 발명의 기술적 사상에 따라 소정의 시점에서의 최근접 이미지를 결정하기 위한 개념을 설명하기 위한 도면이다.
도 5를 참조하면, 상기 최근접 이미지 판단모듈(111)은 DB에 저장된 시점의 위치 및 방향, 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치 및 방향에 기초하여 최근접 이미지를 판단할 수 있다.
상기 최근접 이미지 판단모듈(111)은 상기 시점(예컨대, 10)과 상기 복수의 이미지들(예컨대, I1 내지 IN) 각각간의 각-거리(angular-distance)를 정의하고, 정의된 상기 각-거리에 기초하여 최근접 이미지 및/또는 차근접 이미지를 판단할 수 있다.
각-거리는 다음과 같은 수학식에 의해 정의될 수 있다.
[수학식 1]
Angular-Dist(eye, I) = αㅧDist(eye, I) + βㅧAngle(eye, I)
여기서 eye 는 시점을 나타내고, I는 특정 이미지를 나타내며, Dist(eye, I)는 시점과 이미지 I 간의 직선거리를 나타내며, Angle(eye, I)는 eye의 시야방향과 이미지 I의 정면방향 법선 벡터(normal(I)) 간에 형성되는 각도를 나타낸다. 또한, α 및 β는 각각의 가중치(weight factor)를 나타낸다.
또한, Angle(eye, I)의 값이 일정 값 이상이 되면, 상기 Angle(eye, I)의 값은 무한대의 값을 갖도록 설정될 수 있다. 예컨대, Angle(eye, I)의 값이 90도 이상이 되면, 무한대의 값을 갖도록 설정함으로써 상기 수학식 1의 각-거리의 값도 무한대의 값을 갖도록 설정할 수 있다. 따라서 이러한 경우에는 시점(예컨대, 10)과 이미지(I)의 직선거리가 매우 가깝더라도 상기 이미지(I)는 최근접 이미지가 될 수 없게 되므로, 실제 시점과 이미지 사이의 각도 관계를 더욱 사실적으로 반영할 수 있게 된다.
예컨대, 도 5a 및 도 5b는 시점과 소정의 이미지들(I4, I5)가 가상공간에 배치된 경우의 평면도를 나타내는데, 도 5a에서 시점(예컨대, 10)과 이미지들(I4, I5) 각각 간의 직선거리는 D4 및 D5일 수 있다. 여기서 직선거리는 상기 시점과 상기 이미지에 포함된 공간상의 점들 간의 거리 중 최소거리일 수 있다. 따라서 상기 최근접 이미지 판단모듈(111)은 상기 시점(예컨대, 10)과 상기 이미지들(I4, I5) 각각의 직선거리 즉, Dist(eye, I4) 및 Dist(eye, I5)가 연산될 수 있다.
한편, 도 5b에 도시된 바와 같이 시점(예컨대, 10)의 시야방향(A1)과 이미지들(I4, I5) 각각의 법선벡터(NV4, NV5)가 이루는 각도 즉, Angle(eye, I4) 및 Angle(eye, I5)역시 상기 최근접 이미지 판단모듈(111)에 의해 판단될 수 있다.
도 5a 및 도 5b에 도시된 경우에는 수학식 1의 가중치(weight factor, α 및 β)의 값이 무엇으로 결정되는지에 따라 상기 시점(예컨대, 10)에서 최근접 이미지는 이미지(I4)가 될 수도 있고, 이미지(I5)가 될 수도 있다. 상기 웨이트 팩터(α 및 β) 값을 조절함으로써 네비게이션을 수행할 때 어떠한 뷰 이미지가 디스플레이되는지에 대한 네비게이션 속성이 부여될 수 있음은 물론이다.
이와 같은 방식으로 상기 최근접 이미지 판단모듈(111)은 복수의 이미지들(예컨대, I1 내지 IN) 각각과 시점의 각-거리를 판단할 수 있고, 그에 따라 각-거리가 가장 작은 값을 갖는 이미지를 최근접 이미지로 판단할 수 있다. 또한, 상기 최근접 이미지 다음으로 각-거리가 작은 값을 갖는 이미지를 차근접 이미지로 판단할 수 있다.
다시 도 2를 참조하면, 상기 제어부(110)의 최근접 이미지 판단모듈(111)에 의해 최근접 이미지가 판단되면, 상기 제어부(110)의 뷰 이미지 결정모듈(112)은 사용자에게 제공될 뷰 이미지를 설정할 수 있다.
그리고 상기 뷰 이미지 결정모듈(112)에 의해 설정된 뷰 이미지는 상기 디스플레이 제어모듈(113)에 의해 상기 디스플레이 장치(200)로 출력될 수 있다. 이를 위해 상기 디스플레이 제어모듈(113)은 상기 가상공간 네비게이션 시스템(100)에 구비된 소정의 이미지 버퍼에 뷰 이미지를 저장하고, 이미지 버퍼에 저장된 뷰 이미지는 상기 디스플레이 장치(200)로 출력되도록 소정의 프로세스를 수행할 수 있음은 본 발명의 기술분야의 평균적 전문가에게 용이하게 추론될 수 있을 것이다.
임의의 시점(예컨대, 10)에서 상기 뷰 이미지 결정모듈(112)은 원칙적으로 상기 최근접 이미지 판단모듈(111)에 의해 판단된 상기 시점(예컨대, 10)의 최근접 이미지의 전부 또는 일부를 뷰 이미지로 설정할 수 있다. 그리고 예외적으로 차근접 이미지의 전부 또는 일부를 상기 시점(예컨대, 10)에서의 뷰 이미지로 결정할 수도 있다.
상기 뷰 이미지 결정모듈(112)이 뷰 이미지를 설정하는 과정의 일 예는 도 6을 참조하여 설명하도록 한다.
도 6은 본 발명의 기술적 사상에 따라 임의의 시점에서 뷰 이미지를 설정하는 개념을 설명하기 위한 도면이다.
도 6에 도시된 각각의 상황은 네비게이션의 시작 시에, 즉 상기 시점 설정부(120)와 상기 이미지 설정부(130)에 의해 시점 및 복수의 이미지들(예컨대, I1 내지 IN) 각각의 위치가 최초로 설정되면 발생하는 상황일 수도 있고, 가상공간 네비게이션 시스템(100)이 가상공간을 네비게이션 하는 중에 발생하는 상황일 수도 있다.
우선 시점(예컨대, 10) 및 최근접 이미지(예컨대, I1)가 도 6a에 도시된 바와 같이 설정될 수 있다. 그리고 상기 시점(예컨대, 10)은 시야각(a)을 가질 수 있다. 도 6a에 도시된 바와 같은 상황에서는 상기 시점(예컨대, 10)의 뷰 프러스텀과 상기 최근접 이미지(예컨대, I1)를 포함하는 평면이 교차하는 영역 즉, 뷰 플레인은 상기 최근접 이미지(예컨대, I1)와 일치할 수 있다. 즉, 상기 시점(예컨대, 10)의 뷰 플레인 전체가 상기 최근접 이미지(예컨대, I1)에 포함될 수 있다. 이러한 경우에는 상기 뷰 이미지 결정모듈(112)은 상기 뷰 플레인에 상응하는 이미지(즉, 뷰 플레인에 포함된 이미지) 자체를 뷰 이미지로 결정할 수 있다.
도 6b의 상황 역시 네비게이션의 시작 시에 발생할 수도 있고, 네비게이션 중에 발생할 수도 있다. 구현 예에 따라서는 도 6b의 경우에는 도 6a에서의 시점(예컨대, 10)이 상기 최근접 이미지(예컨대, I1) 방향으로 이동한 시점변환이 수행된 경우일 수도 있다.
이러한 경우에도 상기 시점(예컨대, 10)의 뷰 플레인은 전체가 상기 최근접 이미지(예컨대, I1)에 포함되므로, 상기 뷰 이미지 결정모듈(112)은 상기 뷰 플레인에 상응하는 이미지 자체를 뷰 이미지로 설정할 수 있다.
한편, 도 6c의 상황(예컨대, 네비게이션의 시작 시 또는 도 6b에서 시점변환 시)에서는 시점(예컨대, 10)의 뷰 플레인(VP)은 전체가 상기 최근접 이미지(예컨대, I1)에 의해 커버되지 않을 수 있다. 이러한 경우를 뷰 이미지 언커버드라고 할 수 있다.
뷰 이미지 언커버드가 발생한 경우 상기 뷰 플레인(VP)에 상응하는 이미지를 그대로 뷰 이미지로 설정하게 되면, 공백의 이미지가 사용자에게 제공될 수 있다. 따라서 이러한 경우, 상기 뷰 이미지 결정모듈(112)은, 상기 뷰 플레인(VP)의 전체가 상기 최근접 이미지(예컨대, I1)에 포함될 수 있도록 상기 시점(예컨대, 10) 또는 상기 최근접 이미지(예컨대, I1)의 위치 및/또는 방향을 변환했을 때의, 상기 시점(예컨대, 10)에 상응하는 뷰 플레인(VP)의 이미지를 뷰 이미지로 설정할 수 있다. 즉, 상기 뷰 이미지 결정모듈(112)은 상기 뷰 플레인(VP) 전체가 상기 최근접 이미지(예컨대, I1)에 포함될 수 있도록, 시점(예컨대, 10) 또는 최근접 이미지(예컨대, I1)를 변환하고, 변환 되었을 때의 뷰 이미지를 사용자에게 제공할 수 있다. 이러한 과정을 본 명세서에서는 뷰 이미지 회복 프로세스라고 정의하기로 한다. 뷰 이미지 회복 프로세스를 통해 뷰 이미지로 설정되는 이미지를 회복 이미지로 정의하기로 한다.
예컨대, 도 6c에 도시된 바와 같은 상황은 뷰 이미지 언커버드가 발생한 상황일 수 있다. 그러면, 상기 뷰 이미지 결정모듈(112)은 도 6d와 같이 시점(예컨대, 10)을 변환하여, 상기 시점(예컨대, 10)의 뷰 플레인 전체가 상기 최근접 이미지(예컨대, I1)에 포함될 수 있도록 상기 시점(예컨대, 10)을 변환하고, 변환된 시점(예컨대, 10)에서의 뷰 플레인에 상응하는 이미지 즉, 회복 이미지를 상기 도 6c에서의 뷰 이미지로 설정할 수 있다. 도 6c의 경우에는 시점(예컨대, 10)의 방향을 변환하는 경우의 일 예를 도 시하고 있지만, 시점(예컨대, 10)의 위치를 변환함으로써 뷰 플레인 전체가 상기 최근접 이미지(예컨대, I1)에 포함될 수 있도록 변환이 수행될 수 있음은 물론이다.
이를 위해 상기 뷰 이미지 결정모듈(112)은 상기 시점 설정부(120)를 제어하여 상기 시점(예컨대, 10)을 변환할 수 있다. 그리고 상기 시점(예컨대, 10)의 변환은 가상공간 내에서 상기 시점(예컨대, 10)의 위치 및/또는 방향을 실제로 변경할 수도 있다. 이러한 경우에는 상기 시점(예컨대, 10)은 강제로 위치 및/또는 방향이 변환되게 된다.
하지만, 다른 실시 예에 의하면, 상기 시점 설정부(120)에 의한 상기 시점(예컨대, 10)의 변환은 가상공간에서 상기 시점(예컨대, 10)의 위치 및/또는 방향을 실제로 변환하는 것이 아니라, 이러한 변환이 있다고 가정했을 때의 뷰 이미지를 판단하기 위한 임시의 또는 가정적인 변환일 수 있다. 따라서 뷰 이미지 언커버드가 발생한 경우, 상기 시점 설정부(120)는 실제 상기 시점(예컨대, 10)의 위치 및/또는 방향을 변경하여 변경된 위치 및/또는 방향을 상기 시점(예컨대, 10)의 것으로 상기 DB에 반영하지는 않을 수 있다. 물론, 변경된 위치 및/또는 방향을 가정위치 및/또는 가정방향으로써 상기 DB에 저장할 수는 있다. 상기 가정위치 및/또는 가정방향은 뷰 플레인 전체가 최근접 이미지(예컨대, I1)에 포함되도록 상기 시점(예컨대, 10)을 변환했다고 가정했을 때의 위치 및/또는 방향을 의미할 수 있다.
결국, 본 발명의 기술적 사상에 의하면, 뷰 이미지 언커버드가 발생한 경우에 상기 가상공간 네비게이션 시스템(100)은 뷰 이미지 회복 프로세스를 통한 회복 이미지를 디스플레이할 수 있고, 상기 회복 이미지를 획득하기 위해 상기 시점(예컨대, 10)을 실제로 변환할 수도 있지만 실제의 변환은 수행되지 않고 단지 회복 이미지만을 획득할 수도 있다.
그리고 시점(예컨대, 10)의 실제 변환없이 회복 이미지만을 획득하여 뷰 이미지로써 사용자에게 제공함으로써 보다 사실적인 네비게이션의 시뮬레이션이 가능할 수 있다. 왜냐하면, 사용자에 의해 시점변환에 상응하는 이벤트(예컨대, 시점의 이동 및/또는 방향을 요청하는 키 입력, 터치 입력 등)가 발생하지 않았음에도 시점(예컨대, 10)을 강제로 이동시키는 경우에는 사용자가 원치 않은 네비게이션이 수행될 수도 있기 때문이다.
한편 이러한 뷰 이미지 회복 프로세스는 상기 시점(예컨대, 10)의 변환뿐만 아니라, 상기 최근접 이미지(예컨대, I1)의 변환에 의해서도 수행될 수 있다. 이러한 일 예는 도 6e에 도시된다.
도 6e는 도 6c에 도시된 바와 같은 뷰 이미지 언커버드가 발생한 경우, 시점(예컨대, 10)을 변환하는 것이 아니라 상기 최근접 이미지(예컨대, I1)의 위치 및/또는 방향을 변환함으로써 상기 시점(예컨대, 10)의 뷰 플레인 전체가 상기 최근접 이미지(예컨대, I1)에 포함되도록 하는 뷰 이미지 회복 프로세스를 수행할 수도 있다. 이를 위해 상기 뷰 이미지 결정모듈(112)은 뷰 이미지 언커버드가 발생한 경우, 상기 이미지 설정부(130)를 제어하여 상기 최근접 이미지(예컨대, I1)의 위치 및/또는 방향을 변환할 수 있다.
또한, 최근접 이미지(예컨대, I1)를 변환하는 경우에도 전술한 바와 같이 상기 이미지 설정부(130)는 상기 최근접 이미지(예컨대, I1)를 실제로 변환하지 않고, 단지 회복 이미지를 획득하기 위해서만 가정적으로 상기 최근접 이미지(예컨대, I1)를 변환할 수 있음은 물론이다.
결국, 상기 뷰 이미지 결정모듈(112)은 뷰 이미지 언커버드가 발생한 경우(예컨대, 도 6c), 상기 시점(예컨대, 10) 또는 상기 최근접 이미지(예컨대, I1) 중 어느 하나를 변환하여 뷰 이미지 회복 프로세스(예컨대, 도 6d 또는 도 6e)를 수행할 수 있고, 이때의 회복 이미지를 상기 시점(예컨대, 10)(즉, 도 6c)에서의 뷰 이미지로 결정할 수 있다. 그리고 상기 뷰 이미지 회복 프로세스는 실제로 상기 시점(예컨대, 10) 또는 상기 최근접 이미지(예컨대, I1)의 위치 및/또는 방향을 변환하여 획득하는 것이 아니라, 상기 위치 및/또는 방향으로 변환한 것을 가정했을 때의 회복 이미지만을 획득하는 과정일 수 있다.
한편, 뷰 이미지 회복 프로세스를 수행하기 위해 상기 뷰 이미지 결정모듈(112)은 상기 시점 설정부(120) 또는 상기 이미지 설정부(130)를 통해 시점 또는 이미지를 어파인 트랜스폼(AT)할 수 있다. 이때의 어파인 트랜스폼은 상기 뷰 플레인 전체가 최근접 이미지(예컨대, I1)에 포함될 수 있도록 하는 트랜스폼이면 족하다. 그리고 상기 뷰 플레인 전체가 최근접 이미지(예컨대, I1)에 포함될 수 있도록 하는 어파인 트랜스폼은 그 경우의 수가 많을 수 있다.
본 발명의 기술적 사상에 의하면, 상기 뷰 이미지 결정모듈(112)은 상기 시점(예컨대, 10) 또는 상기 최근접 이미지(예컨대, I1)의 위치 및/또는 방향을 최소한 변환(움직)이면서 뷰 플레인 전체가 상기 최근접 이미지(예컨대, I1)에 포함될 수 있도록 하는 어파인 트랜스폼 즉, 최소 어파인 트랜스폼을 수행하여 상술한 바와 같은 뷰 이미지 회복 프로세스를 수행할 수 있다.
예컨대, 도 6c에 도시된 바와 같은 뷰 이미지 언커버드가 발생한 경우, 상기 뷰 이미지 결정모듈(112)은 상기 시점 설정부(120) 또는 상기 이미지 설정부(130)를 제어하여 뷰 이미지 회복 프로세스를 수행할 수 있다. 이러한 경우, 뷰 이미지 회복 프로세스는 상기 시점 설정부(120) 또는 상기 이미지 설정부(130)는 시점 또는 최근접 이미지(예컨대, I1)를 도 6a 또는 도 6b에 도시된 바와 같은 상황으로 설정함으로써 뷰 이미지 회복 프로세스를 수행할 수도 있다. 하지만, 본 발명의 기술적 사상에 의하면, 상기 시점 설정부(120) 또는 상기 이미지 설정부(130)는 도 6d 또는 도 6e에 도시된 바와 같이 최소 움직임(변환)으로 상기 시점의 뷰 플레인 전체가 상기 최근접 이미지(예컨대, I1)에 포함되도록 최소 어파인 트랜스폼을 수행하여 뷰 이미지 회복 프로세스를 수행할 수 있다.
그리고 이처럼 최소 어파인 트랜스폼을 수행하는 경우, 즉, 도 6c의 우측(하측)시야각을 나타내는 선이 도 6d 또는 도 6e에 도시된 바와 같이 최근접 이미지(예컨대, I1)의 우측 끝을 지나가도록 어파인 트랜스폼이 수행되어야 보다 현실적이 네비게이션이 가능할 수 있다.
물론, 이처럼 최소 어파인 트랜스폼이 수행되는 경우에도, 시점 또는 최근접 이미지(예컨대, I1)의 위치 및/또는 방향을 실제로 변환하는 것은 아닐 수 있음은 전술한 바와 같다.
한편, 뷰 이미지 언커버드가 발생한 경우, 전술한 바와 같은 뷰 이미지 회복 프로세스를 수행하면 최근접 이미지(예컨대, I1)의 적어도 일부가 뷰 이미지로 설정된다. 즉, 뷰 이미지 언커버드가 발생하면 뷰 이미지 회복 프로세스가 수행되는데, 수행결과 회복 이미지는 최근접 이미지(예컨대, I1)의 적어도 일부일 수 있다.
하지만, 뷰 이미지 언커버드가 발생한 경우 최근접 이미지(예컨대, I1)를 사용자에게 제공하는 것이 오히려 부자연스러운 경우가 존재할 수도 있다. 이러한 경우는 도 6f 및 도 6g를 참조하여 설명하도록 한다.
우선 도 6f를 참조하면, 소정의 제1시점(10)에서 제2시점(10-1)으로 시점변환이 요청된 경우, 상기 이미지 설정부(130)는 상기 시점(10)의 최근접 이미지(예컨대, I1)를 포함하는 이미지들 전체를 시점변환에 상응하도록 상대적으로 변환할 수 있다. 그리고 변환된 상태에서 뷰 이미지 결정모듈(112)은 뷰 이미지를 설정할 수 있다. 이때 제2시점(10-1)에서는 뷰 이미지 언커버드가 발생하게 된다. 그러면 상기 뷰 이미지 결정모듈(112)은 뷰 이미지 회복 프로세스를 수행하여 회복 이미지를 뷰 이미지로써 사용자에게 제공할 수 있다. 상기 뷰 이미지 회복 프로세스는 최소 어파인 트랜스폼을 통해 수행될 수 있다. 그러면 상기 제2시점(10-1)에서의 회복 이미지는, 상기 제2시점을 기준으로, 상기 최근접 이미지(예컨대, I1)의 우측 끝에서부터 상기 제2시점(10-1)의 시야각 또는 상기 시야각보다 좁은 소정의 각도에 포함된 이미지일 수 있다.
한편, 상기 제2시점(10-1)에서 제3시점(10-2)로 시점변환이 요청되면, 상기 이미지 설정부(130)에 의해 상기 최근접 이미지(예컨대, I1)의 변환이 수행될 수 있고, 이때에도 역시 뷰 이미지 언커버드가 발생한다. 이때에는 상기 제2시점(10-1)에서의 뷰 이미지 언커버드 보다 넓은 언커버드 영역(즉, 뷰 플레인이 최근접 이미지(예컨대, I1)에 포함되지 않은 영역)이 발생하게 된다. 하지만, 이때에도 상기 뷰 이미지 결정모듈(112)은 뷰 이미지 회복 프로세스를 수행할 수 있다. 제3시점(10-2)에서의 뷰 이미지 회복 프로세스 역시 최소 어파인 트랜스폼에 의해 수행될 수 있다. 그러면, 상기 제3시점(10-2)에서의 회복 이미지 역시 상기 최근접 이미지(예컨대, I1)의 우측 끝으로부터 소정의 각도 내에 포함된 상기 최근접 이미지(예컨대, I1)의 일부에 해당하는 이미지일 수 있다.
그리고 제3시점(10-2)에서 제4시점(10-3)으로 시점변환이 요청될 수 있다. 그러면, 도 6f에 도시된 바와 같이 상기 제4시점(10-3)에서도 뷰 이미지 언커버드가 발생하게 된다. 하지만, 이러한 경우에는 언커버드 영역이 뷰 플레인의 대부분을 차지하게 된다. 이러한 경우에도 상기 제4시점(10-3)에서의 최근접 이미지(예컨대, I1)는 동일하게 이미지(I1)일 수 있다. 하지만 이처럼 언커버드 영역이 뷰 플레인의 대부분이거나 뷰 플레인의 전체인 경우에도 최근접 이미지(예컨대, I1)로 뷰 이미지 회복 프로세스를 수행하는 경우에는, 시점변환이 수행되더라도 강제로 시점을 과도하게 변환하는 것과 같은 부작용을 가져올 수 있다.
따라서 제4시점(10-3)과 같은 경우에는 오히려 최근접 이미지(예컨대, I1)를 뷰 이미지로써 디스플레이하는 것보다, 차근접 이미지(예컨대, I3)를 디스플레이하는 것이 보다 현실적일 수 있다.
이처럼 본 발명의 기술적 사상에 의하면, 상기 뷰 이미지 결정모듈(112)은 뷰 이미지 언커버드가 발생한 경우에는 차근접 이미지(예컨대, I3)의 적어도 일부를 뷰 이미지로써 설정할 수도 있다. 이러한 경우를 본 명세서에서는 차근접 이미지 수용 프로세스로 정의하기로 한다.
결국 본 발명의 기술적 사상에 의하면, 임의의 시점에서 뷰 이미지 언커버드가 발생한 경우, 상기 뷰 이미지 결정모듈(112)은 뷰 이미지 회복 프로세스를 수행할 수도 있고 차근접 이미지 수용 프로세스를 수행할 수도 있다.
어떠한 경우에 뷰 이미지 회복 프로세스를 수행하고, 어떠한 경우에는 차근접 이미지 수용 프로세스를 수행할지는 다양한 실시 예가 가능할 수 있다. 예컨대, 전술한 바와 같이 언 커버드 영역이 뷰 플레인의 일정 비율 이상이 되면, 상기 뷰 이미지 결정모듈(112)은 뷰 이미지 회복 프로세스를 수행하지 않고, 차근접 이미지 수용 프로세스를 수행할 수도 있다. 또는, 소정의 시점(예컨대, 10-3)에서 시야방향으로 차근접 이미지(예컨대, I3)가 존재하고, 상기 시야방향이 최근접 이미지(예컨대, I1)에 의해 가려지지 않는 경우에는 차근접 이미지 수용 프로세스가 수행될 수도 있다. 이외에도 차근접 이미지를 수용 프로세스를 수행할지 최근접 이미지로의 회복 프로세스를 수행할지를 결정하는 기준은 다양하게 설정될 수 있으며, 이러한 기준에 의해 네비게이션을 수행할 때 사용자에게 제공되는 시뮬레이션의 사실감은 조절될 수 있다.
한편, 차근접 이미지 수용 프로세스를 수행할 경우, 상기 뷰 이미지 결정모듈(112)은 차근접 이미지의 적어도 일부를 뷰 이미지로 설정할 수 있다. 그리고 이를 위해 상기 뷰 이미지 결정모듈(112)은 최근접 이미지(예컨대, I1) 및 차근접 이미지(예컨대, I3)를 동시에 어파인 트랜스폼하여 상기 차근접 이미지(예컨대, I3)의 적어도 일부가 뷰 이미지로 설정되도록 할 수 있다. 물론, 이때에도 상기 최근접 이미지(예컨대, I1) 및 상기 차근접 이미지(예컨대, I3)는 실제 위치 및/또는 방향이 변경되는 것이 아니라, 변경된 것으로 가정했을 때의 상기 시점(예컨대, 40-1)의 뷰 플레인에 상응하는 이미지를 획득하기 위해 가정적으로 변환이 수행될 수 있다.
도 6g 역시 차근접 이미지 수용 프로세스를 수행하는 일 예를 나타낸다. 임의의 상황에서 시점 및 이미지들(I1 및 I2)이 도 6g에 도시된 바와 같을 수 있다. 이때 상기 시점에서 최근접 이미지는 이미지(I1)일 수 있고, 차근접 이미지는 이미지(I2)일 수 있다. 도 6g에 도시된 바와 같은 상황은 상기 시점의 뷰 플레인 전체가 상기 최근접 이미지(예컨대, I1)에 포함되지 않으므로, 뷰 이미지 언커버드가 발생한 경우일 수 있다. 그리고 도 6g에 도시된 바를 보면 직관적으로도 최근접 이미지(예컨대, I1)를 상기 시점에서 디스플레이하는 것보다는 차근접 이미지(예컨대, I2)를 디스플레이하는 것이 보다 현실적일 수 있다. 즉, 도 6g에 도시된 바와 같은 상황에서 뷰 이미지 회복 프로세스를 수행하면, 실제로 시야는 차근접 이미지(예컨대, I2)를 향하고 있음에도 강제로 최근접 이미지(예컨대, I1)의 일부를 디스플레이하게 된다.
따라서 이러한 경우에 상기 뷰 이미지 결정모듈(112)은 차근접 이미지 수용 프로세스를 수행할 수 있다. 차근접 이미지 수용 프로세스를 수행할 때에도 상기 뷰 이미지 결정모듈(112)은 상기 시점의 뷰 플레인 전체가 차근접 이미지(예컨대, I2)에 포함될 수 있도록 상기 차근접 이미지(예컨대, I2)를 변환할 수 있다. 그리고 이러한 차근접 이미지(예컨대, I2)의 변환 역시 전술한 바와 같이 상기 차근접 이미지(예컨대, I2)의 실제 위치 및/또는 방향을 변환하는 것이 아니라 가정적인 변환일 수 있다. 이러한 가정적인 변환에 의해 상기 차근접 이미지(예컨대, I2)는 도 6g에 도시된 바와 같이 이미지(I2')의 위치로 변환된 것으로 가정될 수 있다. 그리고 이러한 가정에서 상기 시점의 뷰 플레인에 상응하는 이미지가 상기 시점의 뷰 이미지로 설정될 수 있다. 이처럼 차근접 이미지 수용 프로세스를 통해 설정되는 뷰 이미지를 본 명세서에서는 수용 이미지로 정의하기로 한다.
또한, 뷰 이미지 언커버드가 발생한 경우, 뷰 이미지 회복 프로세스 또는 차근접 이미지 수용 프로세스가 수행될 수 있는데, 이때 시점 또는 소정의 이미지의 위치 및/또는 방향을 실제로 변환하는 것이 아니라 가정적으로 변환함으로써 보다 현실적인 네비게이션이 수행됨을 알 수 있다. 즉, 도 6g에서 차근접 이미지 수용 프로세스가 수행될 때 상기 시점의 위치가 차근접 이미지 방향으로 실제로 변환될 경우(예컨대, 상기 시점이 이미지(I2')의 위치로 변환될 경우)에는, 변환 후에 상기 시점의 방향이 시계반대방향으로 회전하더라도 이미지(I1)은 시야에 보이지 않게 된다. 하지만, 전술한 바와 같이 상기 차근접 이미지(I2)를 가정적으로 변환하는 경우에는 시점은 변환전과 위치 및 방향이 동일하게 유지된다. 따라서 변환 후에 상기 시점이 시계반대방향으로 회전하면 이미지(I1)이 다시 시야에 보이게 됨으로써 보다 가상공간 상에서의 위상관계에 부합하는 현실적인 네비게이션이 수행될 수 있게 된다.
구현 예에 따라서는, 차근접 이미지 수용 프로세스를 수행할 때에는 차근접 이미지(예컨대, I2) 뿐만 아니라 최근접 이미지(예컨대, I1)까지 같이 가정적으로 변환될 필요가 있다. 예컨대, 도 6f의 경우에는 차근접 이미지(예컨대, I3)만 가정적으로 변환하면 해당 시점에서 뷰 플레인에 최근접 이미지(예컨대, I1)의 일부까지 포함될 수도 있다. 따라서 이러한 경우를 방지하기 위해 상기 뷰 이미지 결정모듈(112)은 차근접 이미지 수용 프로세스를 수행할 때에는 최근접 이미지(예컨대, I1)까지 가정적으로 변환할 수 있다.
차근접 이미지 수용 프로세스는 네비게이션이 수행되면서 시점변환이 발생할 경우에 수행될 수도 있지만, 네비게이션의 시작 시에 수행될 수도 있다. 즉, 상기 시점과 상기 복수의 이미지들(예컨대, I1 내지 In)의 위치가 어떻게 설정되는지에 따라 네비게이션의 시작 시에 바로 차근접 이미지 수용 프로세스가 수행될 수도 있다.
또한, 차근접 이미지 수용 프로세스의 경우에도 역시 최소 어파인 트랜스폼이 수행될 수도 있다. 물론, 차근접 이미지 수용 프로세스의 경우에는 최소 어파인 트랜스폼이 수행될 필요 없이 단지 시점의 뷰 플레인 전체가 상기 차근접 이미지에 포함될 수 있도록만 어파인 트랜스폼이 수행될 수도 있다. 네비게이션의 효과를 어떤식으로 설정할 지에 따라 다양한 어파인 트랜스폼을 통해 차근접 이미지 수용 프로세스가 수행될 수 있다.
한편, 도 6a 내지 도 6c에 도시된 상황 각각은 네비게이션 시작시의 상황일 수도 있고, 순차적으로 시점변환이 발생하는 상황일 수도 있다.
예컨대, 도 6a의 상황에서 최근접 이미지 판단모듈(111)은 최근접 이미지를 판단할 수 있다. 그리고 상기 이미지(I1)을 최근접 이미지로 판단할 수 있다. 그러면 상기 뷰 이미지 결정모듈(112)은 상기 시점에서 뷰 이미지를 설정할 수 있다. 상기 시점에서이 뷰 플레인은 전체가 상기 최근접 이미지(예컨대, I1)에 포함되므로, 뷰 플레인에 상응하는 이미지를 그대로 뷰 이미지로 설정할 수 있다.
이후 시점변환이 상기 인터페이스부(150)를 통해 요청되고, 시점과 이미지의 상대적인 위치 및/또는 방향은 도 6b에 도시된 바와 같을 수 있다. 이처럼 시점변환이 발생하면, 상기 최근접 이미지 판단모듈(111)은 다시 상기 시점에서 최근접 이미지를 판단할 수 있다. 판단결과 여전히 상기 이미지(I1)이 최근접 이미지일 수 있다. 그러면, 상기 뷰 이미지 결정모듈(112)은 뷰 이미지를 결정할 수 있다. 상기 시점의 뷰 플레인 전체가 상기 최근접 이미지(예컨대, I1)에 포함되므로 이때에도 여전히 뷰 이미지는 상기 뷰 플레인에 상응하는 이미지가 그대로 설정될 수 있다.
한편, 다시 시점변환이 요청되면, 시점과 이미지의 상대적인 위치 및/또는 방향은 도 6c에 도시된 바와 같을 수 있다. 이처럼 시점변환이 발생하면, 상기 최근접 이미지 판단모듈(111)은 다시 상기 시점에서 최근접 이미지를 판단할 수 있다. 판단결과 여전히 상기 이미지(I1)이 최근접 이미지일 수 있다. 그러면, 상기 뷰 이미지 결정모듈(112)은 뷰 이미지를 결정할 수 있다. 이때에는 상기 시점의 뷰 플레인 전체가 상기 최근접 이미지(예컨대, I1)에 포함되지 않으므로 뷰 이미지 결정모듈(112)은 뷰 이미지 회복 프로세스 또는 전술한 바와 같은 차근접 이미지 수용 프로세스를 수행할 수 있다. 도 6c에서는 뷰 이미지 회복 프로세스가 수행될 수 있으며, 이러한 경우 뷰 이미지는 도 6e에 도시된 바와 같이 최근접 이미지(예컨대, I1)가 가정적으로 변환되었을 때의 뷰 플레인에 상응하는 이미지일 수 있다.
한편, 다른 실시 예에 의하면, 도 6b에서 도 6c로의 시점 변환과 같이 시점변환 후의 최근접 이미지(예컨대, I1)가 시점변환 전의 최근접 이미지(예컨대, I1)와 동일할 경우, 그리고 차근접 이미지 수용 프로세스가 수행되지 않고 뷰 이미지 회복 프로세스가 수행될 경우, 상기 뷰 이미지 결정모듈(112)은 뷰 이미지 회복 프로세스를 수행할 수도 있지만 단순히 시점변환 전의 뷰 이미지를 그대로 시전변환 후의 뷰 이미지로 설정할 수도 있다. 특히, 이러한 경우에는 시점변환 전에도 뷰 이미지 언커버드가 발생한 경우에 더욱 유용할 수 있다. 왜냐하면 최소 어파인 트랜스폼을 통해 뷰 이미지 회복 프로세스가 수행될 경우에는, 뷰 이미지 회복 프로세스의 결과 획득되는 회복 이미지는 동일할 수도 있기 때문이다. 따라서 이러한 경우에는 실제로 뷰 이미지 회복 프로세스를 수행하지 않고 단순히 이전 시점의 뷰 이미지를 그대로 뷰 이미지로 설정하더라도 동일한 결과를 얻을 수도 있다.
한편, 시점변환 후의 최근접 이미지가 시점변환 전의 최근접 이미지와 동일하지 않은 경우, 상기 뷰 이미지 결정모듈(112)은 새로운 최근접 이미지의 적어도 일부를 뷰 이미지로 결정할 수 있다. 또한, 시점변환 후에 최근접 이미지가 변경된 경우, 변환 후의 시점은 새로운 최근접 이미지에 대해 뷰 이미지 언커버드가 발생할 수도 있고 그렇지 않을 수도 있다. 이러한 경우에도 마찬가지로 새로운 최근접 이미지에 대해 뷰 이미지 회복 프로세스를 수행한 회복 이미지를 시점변환 후의 뷰 이미지로 설정할 수 있음은 물론이다. 그리고 새로운 최근접 이미지에 대한 뷰 이미지 회복 프로세스에 대해서도 최소 어파인 트랜스폼이 수행될 수 있음은 물론이다.
또한, 시점변환 후, 최근접 이미지가 변경됨으로써 뷰 이미지 언커버드가 발생하면, 상기 뷰 이미지 결정모듈(112)은 무조건 뷰 이미지 회복 프로세스를 수행하도록 구현될 수도 있다. 즉 이러한 경우에 차근접 이미지 수용 프로세스를 수행하게 되면, 네비게이션을 수행하면서 변경된 최근접 이미지에 해당하는 공간에 대해서 불연속적인 네비게이션이 수행될 우려가 있을 수도 있기 때문이다. 물론, 시점변환에 의해 최근접 이미지가 변경된 경우에도 전술한 바와 같이 뷰 이미지 언커버드가 발생하면 경우에 따라 차근접 이미지 수용 프로세스를 수행할 수도 있다.
도 7은 본 발명의 기술적 사상에 따라 시점변환이 수행될 때, 시점변환 후의 뷰 이미지가 설정되는 개념을 설명하기 위한 도면이다.
먼저 도 7a를 참조하면, 도 7a의 좌측은 시점(10)과 최근접 이미지(예컨대, I1)의 상대적인 위치관계를 나타내고, 우측은 이때 사용자에게 제공되는 이미지를 나타낸다. 도 7a에서는 시점(10)의 뷰 플레인과 최근접 이미지(예컨대, I1)가 동일하므로 상기 최근접 이미지(예컨대, I1) 전체가 제1뷰 이미지(30)로써 디스플레이 장치(200)를 통해 사용자에게 제공될 수 있다.
이후 시점변환이 요청되어 도 7b에 도시된 바와 같은 위치관계가 설정될 수 있다. 이때에도 최근접 이미지(예컨대, I1)는 변경되지 않을 수 있고, 뷰 플레인 전체가 최근접 이미지(예컨대, I1)에 포함되므로, 상기 뷰 플레인에 상응하는 이미지가 그대로 제2뷰 이미지(31)로써 사용자에게 제공될 수 있다. 도 7b는 도 7a에서의 시점(10)이 상기 최근접 이미지(예컨대, I1) 방향으로 이동한 경우일 수 있으며, 이에 따라 상기 제2뷰 이미지(31)는 제1뷰 이미지(30)의 일부가 확대된 이미지일 수 있다.
이후 다시 시점변환이 요청되어 도 7c에 도시된 바와 같은 위치관계가 설정될 수 있다. 이때에도 최근접 이미지(예컨대, I1)는 변경되지 않을 수 있다. 그리고 이때에는 뷰 플레인(VP) 전체가 상기 최근접 이미지(예컨대, I1)에 포함되지 않는 뷰 이미지 언커버드가 발생한 경우일 수 있다. 이러한 경우 상기 뷰 이미지 결정모듈(112)은 뷰 이미지 회복 프로세스를 수행할 수도 있고, 이전 뷰 이미지 즉, 제2뷰 이미지(31)를 그대로 제3뷰 이미지(32)로 설정할 수도 있다. 도 7c은 이전 뷰 이미지 즉, 제2뷰 이미지(31)를 그대로 제3뷰 이미지(32)로 설정한 경우를 도시하고 있으며, 도 7d는 최소 어파인 트랜스폼으로 뷰 이미지 회복 프로세스를 수행한 경우의 제4뷰 이미지(33)를 나타낸다. 제3뷰 이미지(32)와 제4뷰 이미지(33)는 다소 차이가 있음을 알 수 있다.
한편, 다시 시점변환이 요청되면, 시점변환 후의 시점(10)과 복수의 이미지들의 위치관계는 도 7e에 도시된 바와 같을 수도 있고, 도 7f에 도시된 바와 같을 수도 있다. 즉, 이때에는 최근접 이미지가 이미지(I3)으로 변경된 경우를 나타낸다. 상기 이미지(I3)는 이미지(40)에 도시된 바와 같을 수 있다. 시점변환 후에 판단된 최근접 이미지(예컨대, I3)는 이전 최근접 이미지(예컨대, I1)로부터 변경되었으므로, 상기 뷰 이미지 결정모듈(112)은 새로운 최근접 이미지(예컨대, I3)의 적어도 일부를 뷰 이미지로 결정할 수 있다. 도 7e에서는 뷰 이미지 언커버드가 발생하지 않았으므로, 뷰 플레인에 상응하는 이미지가 그대로 제5뷰 이미지(41)로 설정할 수 있다.
만약 도 7f에 도시된 바와 같이 시점전환 후에 최근접 이미지가 변경되고, 변경된 시점(10)에서 새로운 최근접 이미지(예컨대, I3)에 대해 뷰 이미지 언커버드가 발생한 경우에는, 상기 뷰 이미지 결정모듈(112)은 새로운 최근접 이미지(예컨대, I3)에 대해 뷰 이미지 회복 프로세스를 수행할 수 있다. 그리고 뷰 이미지 회복 프로세스는 상기 최근접 이미지(예컨대, I3)를 가정적으로 소정의 어파인 트랜스폼(AT)을 통해 변환함으로써 수행될 수 있다. 그리고 이때의 어파인 트랜스폼(AT)은 전술한 바와 같이 최소 어파인 트랜스폼일 수 있다. 이러한 경우, 상기 시점(10)의 제6뷰 이미지(42)는 도시된 바와 같을 수 있다. 즉, 제6뷰 이미지는 이미지(I3, 40)의 우측 끝으로부터 소정의 각도 내에 포함된 이미지일 수 있다.
한편 본 발명의 기술적 사상에 의하면, 시점변환에 의해 최근접 이미지가 변경된 경우, 상기 가상공간 네비게이션 시스템(100)은 보다 자연스러운 이미지 전환 (즉, 이전 최근접 이미지에서 새로운 최근접 이미지로의 전환)을 위해 전환 애니메이션을 디스플레이 장치(200)를 통해 디스플레이할 수도 있다. 이러한 전환 애니메이션이 제공됨으로써 이미지 전환 시의 갑작스러움이 보다 약화될 수 있으며, 이전 최근접 이미지를 보는 위치에서 새로운 최근접 이미지를 보는 위치로 자연스럽게 시점의 변환이 일어나는 것과 같은 효과를 가질 수 있다.
상기 전환 애니메이션은 상기 가상공간 네비게이션 시스템(100)에 포함된 전환부(140)에 의해 수행될 수 있다. 상기 전환부(140)에 의해 제공되는 전환 애니메이션의 일 예는 도 8을 참조하여 설명하도록 한다.
도 8은 본 발명의 기술적 사상에 따른 전환 애니메이션의 개념을 설명하기 위한 도면이다.
도 8을 참조하면, 상기 전환부(140)는 전환 애니메이션을 생성하기 위한 두 개의 기초 이미지를 특정할 수 있다. 상기 두 개의 기초 이미지는 시점변환 전의 최근접 이미지(예컨대, 50)와 시점변환 후의 최근접 이미지(예컨대, 60)일 수 있다. 구현 예에 따라서는, 시점변환 전의 뷰 이미지(예컨대, 50)와 시점변환 후의 뷰 이미지(예컨대, 60)가 전환 애니메이션을 생성하기 위한 기초 이미지로 설정될 수도 있다. 시점변환 전 또는 후의 뷰 이미지는 시점변환 전 또는 후의 최근접 이미지의 적어도 일부이므로 전환 애니메이션의 차이는 크지 않을 수 있다.
일 실시 예에 의하면, 상기 전환부(140)는 제1기초 이미지(예컨대, 50)을 일정방향(예컨대, 반시계방향)으로 순차적으로 회전시킨 제1복수의 이미지들(예컨대, 51 내지 53)을 생성할 수 있다. 그리고 상기 전환부(140)는 제2기초 이미지(예컨대, 60)을 상기 일정방향과 반대방향(예컨대, 시계방향)으로 순차적으로 회전시킨 제2복수의 이미지들(예컨대, 56, 55, 54)을 생성할 수 있다. 그러면 상기 전환부(140)는 상기 제1복수의 이미지들(예컨대, 51 내지 53)을 순차적으로 디스플레이하고, 상기 제2복수의 이미지들(예컨대, 56, 55, 54)를 역순으로 순차적으로 디스플레이하는 전환 애니메이션을 생성할 수 있다. 그러면, 상기 전환 애니메이션은 이미지들(51 내지 56)이 순차적으로 디스플레이되는 애니메이션일 수 있다.
이러한 전환 애니메이션은 도 8에 도시된 일 예외에도 다양한 방식으로 생성될 수 있다. 예컨대, 제1기초 이미지가 페이드 아웃(fade out)되면서 제2기초 이미지가 페이드 인(fade in)되는 애니메이션이 전환 애니메이션으로써 상기 전환부(140)에 의해 생성될 수도 있다. 기타 다양한 방식으로 제1기초 이미지에서 제2기초 이미지로의 자연스러운 전환이 일어날 수 있도록 하는 애니메이션이 상기 전환부(140)에 의해 생성될 수 있다.
또한, 상기 전환부(140)는 가상공간에서 상기 제1기초 이미지와 상기 제2기초 이미지 간의 거리 또는 시점변화의 속성(예컨대, 시점변화의 속도, 단위 시점변화의 거리 또는 각의 변화 등)에 따라 전환 애니메이션의 속성(예컨대, 전환 애니메이션의 재생시간, 페이드 인 또는 페이드 아웃의 속도 등)을 적응적으로 결정할 수도 있다. 예컨대, 제1기초 이미지 즉, 시점변환 전의 최근접 이미지와 제2기초 이미지 즉, 시점변환 후의 최근접 이미지간의 상기 가상공간에서의 거리가 먼 경우에는, 전환 애니메이션의 속성(예컨대, 전환 애니메이션의 재생시간, 페이드 인 또는 페이드 아웃의 속도 등) 역시 제1기초 이미지에서 제2기초 이미지로의 전환이 오래 걸릴 수 있도록 설정될 수 있다. 따라서 상기 가상공간에서 상기 제1기초 이미지와 상기 제2기초 이미지간의 실제의 위상관계에 부합하게 전환 애니메이션이 디스플레이(재생)될 수 있으며, 이로 인해 실제로 가상공간에서 네비게이션을 수행하는 것과 같은 효과를 얻을 수 있다.
다시 도 2를 참조하면, 상기 인터페이스부(150)는 사용자로부터 입력되는 시점변환 요청 또는 상기 가상공간 네비게이션 시스템(100)에 의해 자동으로 발생하는 시점변환 신호를 감지할 수 있다. 상기 인터페이스부(150)는 일 예에 따라, 상기 가상공간 네비게이션 시스템(100)에 구비된 키 입력 인터페이스, 또는 터치 인터페이스를 통해 입력되는 입력신호를 센싱하고 센싱된 입력신호를 상기 가상공간 네비게이션 시스템(100)에 구비된 프로세서로 전송할 수 있는 수단으로 구현될 수 있다.
상술한 바와 같은 본 발명의 기술적 사상에 따른 가상공간 네비게이션 방법을 정리하면 도 9와 같을 수 있다.
도 9는 본 발명의 기술적 사상에 따른 가상공간의 네비게이션 방법을 개략적으로 설명하기 위한 플로우 챠트를 나타낸다.
도 9를 참조하면, 가상공간 네비게이션 시스템(100)은 임의의 상황에서 시점과 복수의 이미지들 각각의 위치 및/또는 방향을 설정할 수 있다(S100). 상기 임의의 상황은 네비게이션의 시작시일 수도 있고, 네비게이션이 수행되면서 시점이 변환되는 경우일 수 있다. 상기 가상공간 네비게이션 시스템(100)은 상기 시점변환에 따라 복수의 이미지들을 시점변환에 상응하도록 상대적으로 변환할 수 있다. 물론, 시점 자체를 변환시키는 경우에도 본 발명의 기술적 사상은 여전히 뛰어난 네비게이션 효과를 가져다 줄 수 있다.
시점과 복수의 이미지들 각각의 위치 및/또는 방향이 설정되면, 상기 가상공간 네비게이션 시스템(100)은 이때의 뷰 이미지를 설정하기 위해 상기 시점에서의 최근접 이미지 즉, 제1최근접 이미지를 결정할 수 있다(S110).
상기 제1최근접 이미지가 결정되면, 상기 시점의 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되는지 즉, 뷰 이미지 커버드(covered)인지 뷰 이미지 언커버드인지 여부를 판단할 수 있다(S120).
판단결과 뷰 이미지 커버드인 경우(S120), 상기 가상공간 네비게이션 시스템(100)은 상기 시점의 뷰 플레인에 상응하는 이미지를 그대로 뷰 이미지로 설정할 수 있다(S130). 그러며 설정된 뷰 이미지가 디스플레이 장치(200)를 통해 디스플레이될 수 있다(S140).
만약, 판단결과 뷰 이미지 언커버드인 경우(S120), 상기 가상공간 네비게이션 시스템(100)은 뷰 이미지 회복 프로세스를 수행함으로써 현재의 제1최근접 이미지의 적어도 일부를 뷰 이미지로 설정할 수 있다(S160). 경우에 따라서는 상기 가상공간 네비게이션 시스템(100)은 차근접 이미지 수용 프로세스를 수행함으로써 차근접 이미지의 적어도 일부를 뷰 이미지로 설정할 수도 있다(S170). 뷰 이미지 언커버드가 발생한 경우(S120), 뷰 이미지 회복 프로세스를 수행할지 차근접 이미지 수용 프로세스를 수행할지를 판단하기 위한 소정의 기준이 정의될 수 있으며, 상기 기준에 따라 상기 가상공간 네비게이션 시스템(100)은 선택적으로 뷰 이미지 회복 프로세스를 수행할 수도 있고(S160), 차근접 이미지 수용 프로세스를 수행할 수도 있다(S170). 뷰 이미지 회복 프로세스가 수행되면 회복 이미지가 뷰 이미지로써 디스플레이되며, 차근접 이미지 수용 프로세스가 수행되면 수용 이미지가 뷰 이미지로써 디스플레이될 수 있다(S140).
이후 시점전환에 상응하는 이벤트가 감지되면, 상기 가상공간 네비게이션 시스템(100)은 시점전환에 상응하도록 상기 시점 또는 상기 복수의 이미지들 각각의 위치 및/또는 방향을 전환할 수 있다. 그리고 시점전환 후의 최근접 이미지인 제2최근접 이미지를 판단할 수 있다.
그리고 상기 가상공간 네비게이션 시스템(100)은 제2최근접 이미지가 시점변환 전의 제1최근접 이미지와 동일한지 여부를 판단할 수 있다(S120). 시점변환 전과 후의 최근접 이미지가 동일하다고 판단되면, 상기 가상공간 네비게이션 시스템(100)은 다시 시점변환 후에 뷰 이미지 언커버드가 발생했는지 여부를 판단하는 과정을 수행할 수 있다(S120). 그리고 그에 따라 선택적으로 현재의 뷰 플레인에 상응하는 이미지를 그대로 뷰 이미지로 설정하거나(S130), 뷰 이미지 회복 프로세스를 수행하거나(S160), 차근접 이미지 수용 프로세스를 수행할 수 있다(S170). 또한, 실시 예에 따라서는, 시점변환 전과 후의 최근접 이미지가 동일하고 뷰 이미지 언커버드가 발생한 경우, 시점변환 전의 뷰 이미지를 그대로 시점변환 후의 뷰 이미지로 설정할 수도 있다(S230).
만약 시점변환 전과 후의 최근접 이미지가 동일하지 않은 경우(S210), 상기 가상공간 네비게이션 시스템(100)은 시점변환 후의 제2최근접 이미지에 대해 상기 시점이 뷰 이미지 언커버드가 발생하는지를 판단할 수 있다(S220). 그리고 뷰 이미지 언커버드가 발생하지 않은 경우에는(S220), 상기 시점의 뷰 플레인의 이미지 즉, 상기 제2최근접 이미지의 적어도 일부를 그대로 뷰 이미지로 설정할 수 있다(S130).
만약 뷰 이미지 언커버드가 발생한 경우에는(S220), 제2최근접 이미지에 대해 뷰 이미지 회복 프로세스를 수행하여, 상기 제2최근접 이미지의 적어도 일부를 뷰 이미지로 설정할 수 있다(S160). 구현 예에 따라서는, 시점변환에 따라 최근접 이미지가 변경되고 변경된 시점에서 뷰 이미지 언커버드가 발생한 경우, 차근접 이미지 수용 여부를 판단하고(S150), 판단결과에 따라 선택적으로 뷰 이미지 회복 프로세스를 수행하거나 차근접 이미지 수용 프로세스를 수행할 수도 있다(S160 또는 S170).
본 발명의 실시 예에 따른 가상공간의 네비게이션 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (39)
- 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 방법에 있어서,
가상공간 네비게이션 시스템이 네비게이션을 수행할 주체의 시점-시점은 상기 주체의 눈의 위치 및 방향에 의해 결정됨-을 기준으로, 상기 복수의 이미지들이 포함된 가상의 공간 상에서의 상대적인 상기 복수의 이미지들 각각의 위치와 방향을 판단하는 단계; 및
상기 가상공간 네비게이션 시스템이 상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 상기 시점에 상응하는 제1뷰 이미지를 디스플레이하는 단계를 포함하며,
상기 가상공간 네비게이션 시스템이 상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 제1뷰 이미지를 디스플레이하는 단계는,
상기 복수의 이미지들 각각의 상기 가상의 공간 상에서의 위치 및 방향에 기초하여 상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하는 단계; 및
판단된 상기 제1최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제1항에 있어서, 상기 가상공간의 네비게이션 방법은,
상기 가상공간 네비게이션 시스템이 상기 시점의 시점변환에 해당하는 이벤트가 발생하면, 상기 시점을 고정한 채 상기 복수의 이미지들 각각의 상기 위치와 상기 방향을 요청된 상기 시점변환에 상응하도록 상대적으로 변환하는 단계; 및
상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 변환된 제2뷰 이미지를 디스플레이하는 단계를 더 포함하는 가상공간의 네비게이션 방법.
- 삭제
- 제1항에 있어서, 상기 제1최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계는,
상기 시점의 뷰 플레인(view plane) 전체가 상기 제1최근접 이미지에 포함되는 경우에는 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제1항에 있어서, 상기 제1최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계는,
상기 시점의 뷰 플레인(view plane) 전체가 상기 제1최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생한 경우에는, 상기 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되도록 상기 제1최근접 이미지 또는 상기 시점을 어파인(affine) 변환했을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 뷰 이미지 회복 프로세스를 수행하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제5항에 있어서, 상기 뷰 이미지 회복 프로세스를 수행하는 단계는,
상기 제1최근접 이미지 또는 상기 시점의 상기 가상공간 상에서의 실제위치와 실제방향은 변환하지 않고, 상기 제1최근접 이미지 또는 상기 시점을 상기 어파인(affine) 변환했을 때를 가정한 가정위치와 가정방향에 기초하여 판단되는 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 상기 뷰 이미지 회복 프로세스를 수행하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제5항에 있어서, 상기 뷰 이미지 회복 프로세스를 수행하는 단계는,
상기 제1최근접 이미지 또는 상기 시점의 최소한의 움직임으로 상기 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되도록 하는 최소 어파인 변환을 수행하고, 상기 최소 어파인 변환이 수행되었을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 단계를 포함하는 것을 특징으로 하는 가상공간의 네비게이션 방법.
- 제1항에 있어서, 상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하는 단계는,
상기 시점과 상기 복수의 이미지들 각각의 직선거리 및 상기 시점의 방향과 상기 복수의 이미지들 각각이 이루는 방향차이에 기초하여 결정되는 가상공간의 네비게이션 방법.
- 제8항에 있어서, 상기 가상공간 네비게이션 시스템은 다음과 같은 수식을 이용하여 상기 제1최근접 이미지를 판단하는 가상공간의 네비게이션 방법.
[수학식]
Nearest_Image(eye, I) = min{α×Dist(eye, Ii) + β×Angle(eye, Ii)}
여기서 I는 상기 복수의 이미지들의 집합(S)에 포함되는 특정 이미지, eye는 상기 시점, i는 상기 집합(S)의 인덱스(index), Dist는 파라미터간의 직선거리를 구하는 함수, Angle은 파라미터간의 방향차이를 구하는 함수, α 및 β는 가중치(weight factor)를 나타냄.
- 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 방법에 있어서,
가상공간 네비게이션 시스템이 네비게이션을 수행할 주체의 시점-시점은 상기 주체의 눈의 위치 및 방향에 의해 결정됨-을 기준으로, 상기 복수의 이미지들이 포함된 가상의 공간 상에서의 상대적인 상기 복수의 이미지들 각각의 위치와 방향을 판단하는 단계; 및
상기 가상공간 네비게이션 시스템이 상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 상기 시점에 상응하는 제1뷰 이미지를 디스플레이하는 단계를 포함하며,
상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하는 단계;
상기 시점의 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생한 경우, 상기 시점과 두 번째로 근접한 차최근접 이미지를 판단하는 단계; 및
판단된 상기 차최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제10항에 있어서, 상기 판단된 상기 차최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 단계는,
상기 시점의 뷰 플레인 전체가 상기 차최근접 이미지에 포함되도록 상기 차최근접 이미지 또는 상기 시점을 어파인(affine) 변환했을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제2항에 있어서, 상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 제2뷰 이미지를 디스플레이하는 단계는,
상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하는 단계;
판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 다른 새로운 최근접 이미지인 경우, 상기 가상공간 네비게이션 시스템이 상기 제2최근접 이미지의 적어도 일부를 상기 제2뷰 이미지로 디스플레이하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제12항에 있어서, 상기 가상공간의 네비게이션 방법은,
상기 제2뷰 이미지가 디스플레이되기 전까지, 상기 가상공간 네비게이션 시스템이 상기 제2뷰 이미지 직전의 뷰 이미지와 상기 제2뷰 이미지에 기초하거나 또는 상기 제1최근접 이미지와 상기 제2최근접 이미지에 기초한 전환 애니메이션(transition animation)을 디스플레이하는 단계를 더 포함하며,
상기 전환 애니메이션을 디스플레이하는 단계는,
상기 가상공간 네비게이션 시스템이 상기 제1최근접 이미지와 상기 제2최근접 이미지 간의 거리 또는 상기 시점변환에 상응하는 속성에 기초하여, 상기 전환 애니메이션의 속성을 결정하는 단계; 및
결정된 상기 전환 애니메이션의 속성에 상응하도록 상기 전환 애니메이션을 디스플레이하는 단계를 더 포함하는 가상공간의 네비게이션 방법.
- 삭제
- 제2항에 있어서, 상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 제2뷰 이미지를 디스플레이하는 단계는,
상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하는 단계;
판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 동일하고 뷰 이미지 언커버드가 발생하지 않으면, 상기 가상공간 네비게이션 시스템이 상기 변환 위치와 상기 변환 방향에 상응하는 상기 시점의 제2뷰 플레인에 상응하는 이미지를 상기 제2뷰 이미지로 디스플레이하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제2항에 있어서, 상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 제2뷰 이미지를 디스플레이하는 단계는,
상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하는 단계;
판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 동일하고 뷰 이미지 언커버드가 발생하면, 상기 가상공간 네비게이션 시스템이 상기 이벤트 발생 전의 상기 제1뷰 이미지를 상기 제2뷰 이미지로써 디스플레이하거나, 상기 변환 위치와 상기 변환 방향에 상응하는 상기 시점의 제2뷰 플레인의 뷰 이미지 회복 프로세스가 수행된 이미지를 상기 제2뷰 이미지로써 디스플레이하거나, 또는 상기 시점의 차근접 이미지의 적어도 일부를 상기 제2뷰 이미지로써 디스플레이하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제1항에 있어서, 상기 가상공간의 네비게이션 방법은,
상기 가상공간 네비게이션 시스템이 상기 가상공간 상의 복수의 원본 이미지들 중 적어도 두 개의 피결합 이미지들을 결합한 결합 이미지를 생성하는 단계; 및
상기 복수의 원본 이미지들에서 상기 피결합 이미지들을 상기 결합 이미지로 대체한 이미지들을 상기 복수의 이미지들로 설정하는 단계를 더 포함하는 가상공간의 네비게이션 방법.
- 제17항에 있어서, 상기 가상공간 네비게이션 시스템이 복수의 원본 이미지들 중 적어도 두 개의 피결합 이미지들을 결합한 결합 이미지를 생성하는 단계는,
상기 복수의 원본 이미지들 중 상기 가상공간 상에서 서로 겹치는 영역이 존재하는 상기 적어도 두 개의 피결합 이미지들을 탐색하는 단계; 및
탐색된 상기 적어도 두 개의 피결합 이미지들을 결합한 결합 이미지를 생성하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 삭제
- 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 방법에 있어서,
가상공간 네비게이션 시스템에 의해 상기 복수의 이미지들의 위치와 방향 및 네비게이션을 수행할 주체의 시점이 결정되는 단계;
상기 가상공간 네비게이션 시스템에 의해 상기 복수의 이미지들 중 상기 시점의 최근접 이미지가 결정되는 단계-상기 최근접 이미지는 상기 복수의 이미지들 각각의 상기 가상공간 상에서의 위치 및 방향에 기초하여 결정됨-;
상기 시점의 뷰 플레인 전체가 결정된 상기 최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생하는 경우, 상기 가상공간 네비게이션 시스템이 상기 시점의 이전 시점의 뷰 이미지를 디스플레이하거나, 상기 뷰 플레인의 뷰 이미지 회복 프로세스가 수행된 회복 이미지를 디스플레이하거나, 또는 상기 시점의 차근접 이미지의 적어도 일부를 디스플레이하는 단계를 포함하는 가상공간의 네비게이션 방법.
- 제1항, 제2항, 제4항 내지 제13항, 제15항 내지 제18항, 또는 제20항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
- 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 시스템에 있어서,
네비게이션을 수행할 주체의 시점-시점은 상기 주체의 눈의 위치 및 방향을 포함함-을 설정하는 시점설정부;
상기 복수의 이미지들이 포함된 가상의 공간 상에서 상기 시점을 기준으로 상대적인 상기 복수의 이미지들 각각의 위치와 방향을 판단하는 이미지 설정부; 및
상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 제1뷰 이미지를 결정하여 소정의 디스플레이 장치에 디스플레이하도록 제어하는 제어부를 포함하며,
상기 제어부는,
상기 복수의 이미지들 각각의 상기 가상의 공간 상에서의 위치 및 방향에 기초하여 상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하는 최근접 이미지 판단모듈; 및
판단된 상기 제1최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 뷰 이미지 결정모듈; 및
뷰 이미지 결정모듈에 의해 결정된 상기 제1뷰 이미지를 상기 디스플레이 장치에 디스플레이하도록 제어하는 디스플레이 제어모듈을 포함하는 가상공간 네비게이션 시스템.
- 제22항에 있어서, 상기 이미지 설정부는,
상기 시점의 시점변환에 해당하는 이벤트가 발생하면, 상기 시점을 고정한 채 상기 복수의 이미지들 각각의 상기 위치와 상기 방향을 요청된 상기 시점변환에 상응하도록 상대적으로 변환하며,
상기 제어부는,
상기 복수의 이미지들 각각의 변환 위치와 변환 방향에 기초하여 상기 시점의 변환된 제2뷰 이미지를 디스플레이하도록 제어하는 가상공간 네비게이션 시스템.
- 제22항에 있어서, 상기 이미지 설정부는,
상기 가상공간 상의 복수의 원본 이미지들 중 적어도 두 개의 피결합 이미지들을 결합한 결합 이미지를 생성하고, 상기 복수의 원본 이미지들에서 상기 피결합 이미지들을 상기 결합 이미지로 대체한 이미지들을 상기 복수의 이미지들로 설정하는 가상공간 네비게이션 시스템.
- 삭제
- 제22항에 있어서, 상기 뷰 이미지 결정모듈은,
상기 시점의 제1뷰 플레인(view plane) 전체가 상기 제1최근접 이미지에 포함되는 경우에는 상기 제1뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 가상공간 네비게이션 시스템.
- 제22항에 있어서, 상기 뷰 이미지 결정모듈은,
상기 시점의 뷰 플레인(view plane) 전체가 상기 제1최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생한 경우에는, 상기 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되도록 상기 제1최근접 이미지 또는 상기 시점을 어파인(affine) 변환했을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 뷰 이미지 회복 프로세스를 수행하는 가상공간 네비게이션 시스템.
- 제27항에 있어서, 상기 뷰 이미지 결정모듈은,
상기 제1최근접 이미지 또는 상기 시점의 상기 가상공간 상에서의 실제위치와 실제방향은 변환하지 않고, 상기 제1최근접 이미지 또는 상기 시점을 상기 어파인(affine) 변환했을 때를 가정한 가정위치와 가정방향에 기초하여 판단되는 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 상기 뷰 이미지 회복 프로세스를 수행하는 가상공간 네비게이션 시스템.
- 제27항에 있어서, 상기 뷰 이미지 결정모듈은,
상기 제1최근접 이미지 또는 상기 시점의 최소한의 움직임으로 상기 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되도록 하는 최소 어파인 변환을 수행하고, 상기 최소 어파인 변환이 수행되었을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 상기 뷰 이미지 회복 프로세스를 수행하는 가상공간의 네비게이션 시스템.
- 제22항에 있어서, 상기 최근접 이미지 판단모듈은,
상기 시점과 상기 복수의 이미지들 각각의 직선거리 및 상기 시점의 방향과 상기 복수의 이미지들 각각이 이루는 방향차이에 기초하여 결정하는 가상공간 네비게이션 시스템.
- 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 시스템에 있어서,
네비게이션을 수행할 주체의 시점-시점은 상기 주체의 눈의 위치 및 방향을 포함함-을 설정하는 시점설정부;
상기 복수의 이미지들이 포함된 가상의 공간 상에서 상기 시점을 기준으로 상대적인 상기 복수의 이미지들 각각의 위치와 방향을 판단하는 이미지 설정부; 및
상기 시점 및 상기 복수의 이미지들 각각의 위치와 방향을 이용하여 제1뷰 이미지를 결정하여 소정의 디스플레이 장치에 디스플레이하도록 제어하는 제어부를 포함하며,
상기 제어부는,
상기 복수의 이미지들 중 상기 시점과 최근접한 제1최근접(nearest) 이미지를 판단하고, 상기 시점의 뷰 플레인 전체가 상기 제1최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생한 경우, 상기 시점과 두 번째로 근접한 차최근접 이미지를 판단하는 최근접 이미지 판단모듈; 및
판단된 상기 차최근접 이미지의 적어도 일부를 상기 제1뷰 이미지로 설정하는 뷰 이미지 결정모듈; 및
뷰 이미지 결정모듈에 의해 결정된 상기 제1뷰 이미지를 상기 디스플레이 장치에 디스플레이하도록 제어하는 디스플레이 제어모듈을 포함하는 가상공간 네비게이션 시스템.
- 제31항에 있어서, 상기 뷰 이미지 결정모듈은,
상기 시점의 뷰 플레인 전체가 상기 차최근접 이미지에 포함되도록 상기 차최근접 이미지 또는 상기 시점을 어파인(affine) 변환했을 때의 상기 뷰 플레인에 상응하는 이미지를 상기 제1뷰 이미지로 설정하는 가상공간 네비게이션 시스템.
- 제23항에 있어서, 상기 제어부는,
상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하기 위한 최근접 이미지 판단모듈;
판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 다른 새로운 최근접 이미지인 경우, 상기 가상공간 네비게이션 시스템이 상기 제2최근접 이미지의 적어도 일부를 상기 제2뷰 이미지로 설정하는 뷰 이미지 결정모듈; 및
상기 뷰 이미지 결정모듈에 의해 결정된 상기 제2뷰 이미지를 디스플레이하도록 제어하기 위한 디스플레이 제어모듈을 포함하는 가상공간 네비게이션 시스템.
- 제33항에 있어서, 상기 가상공간 네비게이션 시스템은,
상기 제2뷰 이미지가 디스플레이되기 전까지, 상기 제2뷰 이미지 직전의 뷰 이미지와 상기 제2뷰 이미지에 기초하거나 또는 상기 제1최근접 이미지와 상기 제2최근접 이미지에 기초한 전환 애니메이션(transition animation)을 디스플레이하도록 제어하는 전환부를 더 포함하는 가상공간 네비게이션 시스템.
- 제34항에 있어서, 상기 전환부는,
상기 제1최근접 이미지와 상기 제2최근접 이미지 간의 거리 또는 상기 시점변환에 상응하는 속성에 기초하여, 상기 전환 애니메이션의 속성을 결정하고,
결정된 상기 전환 애니메이션의 속성에 상응하도록 상기 전환 애니메이션을 디스플레이하도록 제어하는 가상공간 네비게이션 시스템.
- 제23항에 있어서, 상기 제어부는,
상기 변환 위치와 상기 변환 방향에 상응하는 제2최근접 이미지를 판단하기 위한 최근접 이미지 판단모듈; 및
판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 동일하고 뷰 이미지 언커버드가 발생하지 않으면, 상기 가상공간 네비게이션 시스템이 상기 변환 위치와 상기 변환 방향에 상응하는 상기 시점의 제2뷰 플레인에 상응하는 이미지를 상기 제2뷰 이미지로 설정하기 위한 뷰 이미지 결정모듈; 및
상기 뷰 이미지 결정모듈에 의해 결정된 상기 제2뷰 이미지를 디스플레이하도록 제어하기 위한 디스플레이 제어모듈을 포함하는 가상공간 네비게이션 시스템.
- 제23항에 있어서, 상기 제어부는,
상기 변환 위치와 상기 변환 방향에 상응하는 시점의 제2최근접 이미지를 판단하기 위한 최근접 이미지 판단모듈;
판단된 상기 제2최근접 이미지가 상기 이벤트 발생 전의 상기 시점의 제1최근접 이미지와 동일하고 뷰 이미지 언커버드가 발생하면, 상기 이벤트 발생 전의 상기 제1뷰 이미지를 상기 제2뷰 이미지로써 디스플레이하거나, 상기 시점의 뷰 플레인의 뷰 이미지 회복 프로세스가 수행된 이미지를 상기 제2뷰 이미지로써 디스플레이하거나, 또는 상기 시점의 차근접 이미지의 적어도 일부를 상기 제2뷰 이미지 설정하기 위한 뷰 이미지 결정모듈; 및
상기 뷰 이미지 결정모듈에 의해 결정된 상기 제2뷰 이미지를 디스플레이하도록 제어하기 위한 디스플레이 제어모듈을 포함하는 가상공간 네비게이션 시스템.
- 삭제
- 복수의 이미지들이 포함된 가상공간을 네비게이션 하는 시스템에 있어서,
상기 복수의 이미지들의 위치와 방향 및 네비게이션을 수행할 주체의 시점이 결정되면, 상기 복수의 이미지들 중 상기 시점의 최근접 이미지-상기 최근접 이미지는 상기 복수의 이미지들 각각의 상기 가상공간 상에서의 위치 및 방향에 기초하여 결정됨-를 결정하기 위한 최근접 이미지 결정모듈;
상기 시점의 뷰 플레인 전체가 결정된 상기 최근접 이미지에 포함되지 않는 뷰 이미지 언커버드가 발생하는 경우, 상기 시점의 이전 시점의 이전 뷰 이미지를 디스플레이 장치에 디스플레이할 뷰 이미지로 설정하거나, 상기 뷰 플레인의 뷰 이미지 회복 프로세스가 수행된 회복 이미지를 상기 뷰 이미지로 설정하거나, 또는 상기 시점의 차근접 이미지의 적어도 일부를 상기 뷰 이미지로 설정하는 뷰 이미지 결정모듈; 및
상기 뷰 이미지 결정모듈에 의해 결정된 상기 뷰 이미지를 상기 디스플레이 장치에 디스플레이하도록 제어하는 디스플레이 제어모듈을 포함하는 가상공간 네비게이션 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140004030A KR101663593B1 (ko) | 2014-01-13 | 2014-01-13 | 가상공간의 네비게이션 방법 및 그 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140004030A KR101663593B1 (ko) | 2014-01-13 | 2014-01-13 | 가상공간의 네비게이션 방법 및 그 시스템 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150105993A Division KR20150108033A (ko) | 2015-07-27 | 2015-07-27 | 가상공간의 네비게이션 방법 및 그 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150085160A KR20150085160A (ko) | 2015-07-23 |
KR101663593B1 true KR101663593B1 (ko) | 2016-10-10 |
Family
ID=53875222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140004030A KR101663593B1 (ko) | 2014-01-13 | 2014-01-13 | 가상공간의 네비게이션 방법 및 그 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101663593B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180061984A (ko) | 2016-11-30 | 2018-06-08 | 군산대학교산학협력단 | 아나타제 멀티채널 다공성 구조체 제조방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170056829A (ko) * | 2015-11-16 | 2017-05-24 | (주)케이클라우드 | 가상 주소를 이용한 내비게이션 안내시스템 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133843A (ja) | 2005-11-10 | 2007-05-31 | Eiriaru:Kk | 三次元画像処理プログラム及び装置 |
JP2009015583A (ja) | 2007-07-04 | 2009-01-22 | Nagasaki Univ | 画像処理装置及び画像処理方法 |
JP2012014657A (ja) | 2010-07-05 | 2012-01-19 | Canon Inc | 画像表示装置及びその制御方法、並びにプログラム及び記憶媒体 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2857132A1 (fr) * | 2003-07-03 | 2005-01-07 | Thomson Licensing Sa | Dispositif, systeme et procede de codage d'images numeriques |
-
2014
- 2014-01-13 KR KR1020140004030A patent/KR101663593B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133843A (ja) | 2005-11-10 | 2007-05-31 | Eiriaru:Kk | 三次元画像処理プログラム及び装置 |
JP2009015583A (ja) | 2007-07-04 | 2009-01-22 | Nagasaki Univ | 画像処理装置及び画像処理方法 |
JP2012014657A (ja) | 2010-07-05 | 2012-01-19 | Canon Inc | 画像表示装置及びその制御方法、並びにプログラム及び記憶媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180061984A (ko) | 2016-11-30 | 2018-06-08 | 군산대학교산학협력단 | 아나타제 멀티채널 다공성 구조체 제조방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20150085160A (ko) | 2015-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102177530B (zh) | 在地理信息系统中游历 | |
US20170018121A1 (en) | Predictive virtual reality display system with post rendering correction | |
US20130321593A1 (en) | View frustum culling for free viewpoint video (fvv) | |
CN111771230A (zh) | 多级区块网格简化 | |
KR20170007102A (ko) | 3차원 지도 생성 및 표시 장치 및 방법 | |
KR102546358B1 (ko) | 장면의 타일식 3차원 이미지 표현을 생성하기 위한 장치 및 방법 | |
JP7353782B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
KR20140145217A (ko) | 공간정보를 이용한 3차원 가상 모델링 시스템 및 그 방법 | |
KR20180130504A (ko) | 정보 처리 장치, 정보 처리 방법, 프로그램 | |
CN111466113B (zh) | 图像捕获的装置和方法 | |
US20200013231A1 (en) | 3-d transitions | |
CN111669561B (zh) | 多角度自由视角图像数据处理方法及装置、介质、设备 | |
JP6918648B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
KR101663593B1 (ko) | 가상공간의 네비게이션 방법 및 그 시스템 | |
CN109582134B (zh) | 信息显示的方法、装置及显示设备 | |
CN112206519A (zh) | 实现游戏场景环境变化的方法、装置、存储介质及计算机设备 | |
CA3199128A1 (en) | Systems and methods for augmented reality video generation | |
EP3598392B1 (en) | Traversal selection of components for a geometric model | |
KR20150108033A (ko) | 가상공간의 네비게이션 방법 및 그 시스템 | |
JP2017084215A (ja) | 情報処理システム、その制御方法、及びプログラム | |
JP2005174024A (ja) | 画像生成装置及び方法 | |
JP2015197374A (ja) | 3次元形状推定装置及び3次元形状推定方法 | |
KR20180039954A (ko) | 영상을 처리하는 방법, 디바이스 및 기록매체 | |
JP2022029239A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2022012900A (ja) | 情報処理装置、表示方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |