KR102138412B1 - 증강현실 및 가상현실 내 투영기하를 사용한 3d 윈도우 관리 기법 - Google Patents
증강현실 및 가상현실 내 투영기하를 사용한 3d 윈도우 관리 기법 Download PDFInfo
- Publication number
- KR102138412B1 KR102138412B1 KR1020170136760A KR20170136760A KR102138412B1 KR 102138412 B1 KR102138412 B1 KR 102138412B1 KR 1020170136760 A KR1020170136760 A KR 1020170136760A KR 20170136760 A KR20170136760 A KR 20170136760A KR 102138412 B1 KR102138412 B1 KR 102138412B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- window
- virtual window
- virtual
- controller
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 24
- 230000003190 augmentative effect Effects 0.000 title claims description 16
- 238000007726 management method Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 18
- 230000003213 activating effect Effects 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 5
- 238000003672 processing method Methods 0.000 abstract description 5
- 210000003811 finger Anatomy 0.000 description 26
- 210000003813 thumb Anatomy 0.000 description 25
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- 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/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- 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
-
- 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/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
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)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
영상 처리 방법 및 영상 처리 장치가 개시된다. 일 실시예에 따른 영상 처리 방법은 사용자의 손의 위치를 획득하는 단계와, 상기 손의 위치에 기초하여 가상 윈도우를 제어하는 단계를 포함한다.
Description
아래 실시예들은 영상 처리 방법 및 영상 처리 장치에 관한 것이다. 예를 들어, 실시예들은 증강현실 및 가상현실 내 투영기하를 사용한 3D 윈도우 관리 기법을 통해 영상을 처리할 수 있다.
우리는 웨어러블 장치가 인터넷과 로컬 노드들로부터 정보를 획득하는 미래를 상상한다. 예를 들어, 사용자는 스마트 안경을 눈에 착용하고, 사물 인터넷(internet of things(IoT))으로부터 정보를 상호적인 가상 요소(interactive virtual elements)로서 사용자 주변의 공간으로 가져오는 풍부한 컴퓨팅 미래를 상상할 수 있다.
여기서, 사용자는 자신의 현실에 얼마나 많은 가상 요소를 포함시킬 지를 자유롭게 선택할 수 있다. 예를 들어, 사용자는 증강 현실(augmented reality(AR))을 통해 주변 환경을 향상시키거나, 또는 가상 현실(virtual reality(VR))을 통해 주변 환경을 완전히 대체시킬 수 있다.
1980년대에 데스크톱 컴퓨터(desktop computer)가 등장했을 때, 또는 2000년대에 스마트 폰(smart phone)이 등장했을 때 등과 같이, 특정 컴퓨팅 폼 팩터(computing form factor)가 보편화될 때마다 이러한 컴퓨팅 폼 팩터를 용이하게 하는 유저 인터페이스(user interface(UI))가 개발되어 왔다.
개발자가 새로운 유저 인터페이스(UI)를 디자인할 때, 개발자는 의도된 목적에 부합하게 적응적으로 작동하는 윈도우들, 아이콘들, 메뉴들, 및 포인터(WIMP)와 터치 사용자 인터페이스(TUI)와 같은 이전 패러다임으로부터 개념을 선택적으로 빌려 디자인할 수 있다. 이전 패러다임에 기초하여 유저 인터페이스(UI)를 디자인하는 것은 친숙하고 익숙한 유저 인터페이스(UI)를 구축하는데 도움이 될 수 있다.
실시예들은 증강 현실(augmented reality(AR)) 또는 가상 현실(virtual reality(VR))에서 사용자의 의도에 적응적으로 작동하는 유저 인터페이스(user interface(UI))를 제공할 수 있다.
또한, 실시예들은 사용자가 증강 현실(AR) 또는 가상 현실(VR)에서 사용자가 손쉽게 가상 윈도우를 제어하는 기술을 제공할 수 있다.
일 실시예에 3D 윈도우 관리 방법은 사용자의 손의 위치를 획득하는 단계와, 상기 손의 위치에 기초하여 가상 윈도우를 제어하는 단계를 포함한다.
상기 제어하는 단계는, 상기 손의 위치에 기초하여 상기 가상 윈도우를 선택, 이동, 크기 조정, 및 배치 중에서 적어도 하나를 수행하는 단계를 포함할 수 있다.
상기 손의 위치를 획득하는 단계는, 상기 사용자의 손가락 끝(fingertip)의 위치를 획득하는 단계를 포함할 수 있다.
상기 손가락 끝의 위치를 획득하는 단계는, 상기 사용자의 엄지의 끝의 위치를 획득하는 단계와, 상기 사용자의 검지의 끝의 위치를 획득하는 단계를 포함할 수 있다.
상기 제어하는 단계는, 상기 엄지의 끝과 상기 검지의 끝 사이의 간격이 기준값(reference value) 이하인 경우, 커서(cursor)를 생성하는 단계와, 상기 커서에 기초하여 상기 가상 윈도우를 선택하는 단계를 포함할 수 있다.
상기 제어하는 단계는, 상기 간격이 상기 기준값을 초과하는 경우, 선택된 가상 윈도우를 선택 해제하여 상기 사용자가 지정하는 면에 겉보기 크기를 유지하면서 배치하는 단계를 더 포함할 수 있다.
상기 커서를 생성하는 단계는, 상기 엄지의 끝과 상기 검지의 끝 사이의 간격을 지름(diameter)으로 하는 원형 커서를 생성하는 단계를 포함할 수 있다.
상기 커서에 기초하여 상기 가상 윈도우를 선택하는 단계는, 상기 원형 커서와 중첩되는 상기 가상 윈도우를 활성화하는 단계를 포함할 수 있다.
상기 커서에 기초하여 상기 가상 윈도우를 선택하는 단계는, 상기 엄지의 끝과 상기 검지의 끝이 일치하는 경우, 활성화된 가상 윈도우를 겉보기 크기(apparent size)를 유지하면서 상기 손의 위치에 배치하는 단계를 더 포함할 수 있다.
상기 적어도 하나를 수행하는 단계는, 상기 사용자의 눈의 위치와 상기 손의 위치에 기초하여 상기 크기 조정을 수행하는 단계를 포함할 수 있다.
상기 크기 조정을 수행하는 단계는, 상기 눈의 위치와 상기 손의 위치가 가까워질수록 상기 가상 윈도우를 확대하는 단계와, 상기 눈의 위치와 상기 손의 위치가 멀어질수록 상기 가상 윈도우를 축소하는 단계를 포함할 수 있다.
상기 크기 조정을 수행하는 단계는, 상기 가상 윈도우를 절대 크기(absolute size)를 유지하면서 확대 또는 축소하는 단계를 포함할 수 있다.
일 실시예에 따른 3D 윈도우 관리 장치는, 사용자의 손의 위치를 획득하는 센서(sensor)와, 상기 가상 현실 또는 상기 증강 현실 상에서, 상기 손의 위치에 기초하여 가상 윈도우를 제어하는 컨트롤러(controller)와, 상기 컨트롤러의 제어에 응답하여, 상기 가상 현실 또는 상기 증강 현실을 구현하는 디스플레이(display)를 포함한다.
상기 컨트롤러는, 상기 손의 위치에 기초하여 상기 가상 윈도우를 선택, 이동, 크기 조정, 및 배치 중에서 적어도 하나를 수행할 수 있다.
상기 센서는, 상기 사용자의 손가락 끝(fingertip)의 위치를 획득할 수 있다.
상기 센서는, 상기 사용자의 엄지의 끝의 위치 및 검지의 끝의 위치를 획득할 수 있다.
상기 컨트롤러는, 상기 엄지의 끝과 상기 검지의 끝 사이의 간격이 기준값(reference value) 이하인 경우, 커서(cursor)를 생성하고, 상기 커서에 기초하여 상기 가상 윈도우를 선택할 수 있다.
상기 컨트롤러는, 상기 간격이 상기 기준값을 초과하는 경우, 선택된 가상 윈도우를 선택 해제하여 상기 사용자가 지정하는 면에 겉보기 크기를 유지하면서 배치할 수 있다.
상기 컨트롤러는, 상기 엄지의 끝과 상기 검지의 끝 사이의 간격을 지름(diameter)으로 하는 원형 커서를 생성할 수 있다.
상기 컨트롤러는, 상기 원형 커서와 중첩되는 상기 가상 윈도우를 활성화할 수 있다.
상기 컨트롤러는, 상기 엄지의 끝과 상기 검지의 끝이 일치하는 경우, 활성화된 가상 윈도우를 겉보기 크기(apparent size)를 유지하면서 상기 손의 위치에 배치할 수 있다.
상기 컨트롤러는, 상기 사용자의 눈의 위치와 상기 손의 위치에 기초하여 상기 크기 조정을 수행할 수 있다.
상기 컨트롤러는, 상기 눈의 위치와 상기 손의 위치가 가까워질수록 상기 가상 윈도우를 확대하고, 상기 눈의 위치와 상기 손의 위치가 멀어질수록 상기 가상 윈도우를 축소할 수 있다.
상기 컨트롤러는, 상기 가상 윈도우를 절대 크기(absolute size)를 유지하면서 확대 또는 축소할 수 있다.
도 1은 일 실시예에 따른 영상 처리 장치의 개략적인 블록도를 나타낸다.
도 2a는 도 1에 도시된 영상 처리 장치의 동작을 설명하기 위한 도면의 일 예이다.
도 2b는 도 1에 도시된 영상 처리 장치의 동작을 설명하기 위한 도면의 다른 예이다.
도 3a는 도 1에 도시된 컨트롤러가 가상 윈도우를 선택하는 동작을 설명하기 위한 도면의 일 예이다.
도 3b는 도 1에 도시된 컨트롤러가 가상 윈도우를 선택하는 동작을 설명하기 위한 도면의 다른 예이다.
도 3c는 도 1에 도시된 컨트롤러가 가상 윈도우를 선택하는 동작을 설명하기 위한 도면의 다른 예이다.
도 4a는 도 3a 내지 도 3c에 대하여 사용자와 영상 처리 장치의 상호 작용을 설명하기 위한 도면의 일 예이다.
도 4b는 도 3a 내지 도 3c에 대하여 사용자와 영상 처리 장치의 상호 작용을 설명하기 위한 도면의 일 예이다.
도 5a는 도 1에 도시된 컨트롤러가 가상 윈도우를 크기 조정 및 위치하는 동작을 설명하기 위한 도면의 일 예이다.
도 5b는 도 1에 도시된 컨트롤러가 가상 윈도우를 크기 조정 및 위치하는 동작을 설명하기 위한 도면의 다른 예이다.
도 6은 도 1에 도시된 컨트롤러가 가상 윈도우를 배치하는 동작을 설명하기 위한 도면의 일 예이다.
도 7은 가상 윈도우의 줌 팩터를 설명하기 위한 도면의 일 예이다.
도 8은가상 윈도우의 줌 팩터를 설명하기 위한 도면의 다른 예이다.
도 9는 일 실시예에 따른 영상 처리 방법의 순서도를 나타낸다.
도 2a는 도 1에 도시된 영상 처리 장치의 동작을 설명하기 위한 도면의 일 예이다.
도 2b는 도 1에 도시된 영상 처리 장치의 동작을 설명하기 위한 도면의 다른 예이다.
도 3a는 도 1에 도시된 컨트롤러가 가상 윈도우를 선택하는 동작을 설명하기 위한 도면의 일 예이다.
도 3b는 도 1에 도시된 컨트롤러가 가상 윈도우를 선택하는 동작을 설명하기 위한 도면의 다른 예이다.
도 3c는 도 1에 도시된 컨트롤러가 가상 윈도우를 선택하는 동작을 설명하기 위한 도면의 다른 예이다.
도 4a는 도 3a 내지 도 3c에 대하여 사용자와 영상 처리 장치의 상호 작용을 설명하기 위한 도면의 일 예이다.
도 4b는 도 3a 내지 도 3c에 대하여 사용자와 영상 처리 장치의 상호 작용을 설명하기 위한 도면의 일 예이다.
도 5a는 도 1에 도시된 컨트롤러가 가상 윈도우를 크기 조정 및 위치하는 동작을 설명하기 위한 도면의 일 예이다.
도 5b는 도 1에 도시된 컨트롤러가 가상 윈도우를 크기 조정 및 위치하는 동작을 설명하기 위한 도면의 다른 예이다.
도 6은 도 1에 도시된 컨트롤러가 가상 윈도우를 배치하는 동작을 설명하기 위한 도면의 일 예이다.
도 7은 가상 윈도우의 줌 팩터를 설명하기 위한 도면의 일 예이다.
도 8은가상 윈도우의 줌 팩터를 설명하기 위한 도면의 다른 예이다.
도 9는 일 실시예에 따른 영상 처리 방법의 순서도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 영상 처리 장치의 개략적인 블록도를 나타내고, 도 2a는 도 1에 도시된 영상 처리 장치의 동작을 설명하기 위한 도면의 일 예이고, 도 2b는 도 1에 도시된 영상 처리 장치의 동작을 설명하기 위한 도면의 다른 예이다.
도 1 내지 도 2b를 참조하면, 영상 처리 장치(100)는 센서(110), 컨트롤러(120), 및 디스플레이(130)를 포함한다.
영상 처리 장치(100)는 증강 현실(augmented reality(AR)) 또는 가상 현실(virtual reality(VR))을 구현할 수 있다. 즉, 사용자(50)는 영상 처리 장치(100)를 사용하여 증강 현실(AR) 또는 가상 현실(VR)을 경험(체험)할 수 있다.
사용자(50)는 영상 처리 장치(100)를 사용하여 가상 윈도우(virtual window; 200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 제어할 수 있다. 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)는 증강 현실(AR) 또는 가상 현실(VR)에서 가상으로 존재하는 윈도우(창)을 의미할 수 있다. 예를 들어, 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)는 원형이거나, 또는 폴리곤(삼각형, 사각형, 또는 오각형 등)으로 구현될 수 있다.
사용자(50)는 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 사용하여 텍스트 문서, 사진, 또는 동영상 등을 시청할 수 있다. 또한, 사용자(50)는 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 사용하여 어플리케이션(application)을 실행할 수 있다. 사용자(50)는 어플리케이션을 사용하여 어플리케이션 고유의 기능을 실행할 수 있다. 예를 들어, 사용자(50)는 어플리케이션을 사용하여 날씨, 달력, 스케줄러(scheduler), 메시지(message), 메일(mail), 게임(game), 음악 감상 등의 기능을 실행할 수 있다.
영상 처리 장치(100)는 휴대용 전자 장치로 구현될 수 있다. 예를 들어, 영상 처리 장치(100)는 스마트 디바이스(smart device)로 구현될 수 있다. 스마트 디바이스는 머리 착용 디스플레이(head mounted display(HMD)), 스마트 안경(smart glasses), 스마트 와치(smart watch watch), 및 스마트 밴드(smart band)를 포함할 수 있다. 즉, 영상 처리 장치(100)는 사용자가 착용할 수 있는 또는 착용하기에 적합한 웨어러블 장치(wearable device)일 수 있다.
센서(110)는 사용자(50)의 시선 벡터를 획득할 수 있다. 예를 들어, 센서(110)는 사용자(50)의 시선을 추적하고, 시선이 향하는 벡터에 기초하여 프러스텀(frustum)을 획득할 수 있다.
센서(110)는 사용자(50)의 손(60)의 위치를 획득할 수 있다. 예를 들어, 센서(110)는 손(60)의 손가락 끝(fingertip)의 위치를 획득할 수 있다.
또한, 센서(110)는 사용자(50)의 눈(70)과 손(60) 사이의 거리를 획득할 수 있다.
센서(100)는 획득한 정보를 컨트롤러(120)로 전송할 수 있다. 예를 들어, 컨트롤러(120)는 센서(100)로부터 사용자(50)의 시선, 눈(70)과 손(60) 사이의 거리, 및 손(60)의 위치를 수신할 수 있다.
컨트롤러(120)는 센서(110)로부터 수신한 정보에 기초하여 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 제어할 수 있다. 즉, 컨트롤러(120)는 눈(70)과 손(60) 사이의 거리 및 손(60)의 위치 중에서 적어도 하나에 기초하여 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 활성화, 선택, 이동, 크기 조정, 및 배치 중에서 적어도 하나를 수행할 수 있다. 예를 들어, 컨트롤러(120)는 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 활성화시키고, 선택하고, 이동시키고 크기를 조정하여 배치할 수 있다. 이때, 활성화는 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)가 선택될 수 있음을 나타내는 상태일 수 있다.
컨트롤러(120)는 사용자(50)의 프러스텀 내에서 위지윅(what you see is what you get(WYSIWYG)) 방식의 투영 기하를 사용하여 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 제어할 수 있다. 예를 들어, 컨트롤러(120)는 사용자(50)의 시선이 향하는 프러스텀 내의 가상 윈도우(200)를 제어할 수 있다.
도 2a를 참조하면, 사용자(50)는 선택하고자 하는 가상 윈도우(200)를 응시하여 프러스텀 내에 손(60)을 위치시킬 수 있다. 이에, 컨트롤러(120)는 가상 윈도우(200)를 활성화시킬 수 있다. 예를 들어, 컨트롤러(120)는 사용자(50)의 손(60)이 가상 윈도우(200) 위에 올라왔을 때, 즉, 사용자(50)의 손(60)과 가상 윈도우(200)가 중첩될 때, 가상 윈도우(200)를 활성화시킬 수 있다.
도 2b를 참조하면, 사용자(50)는 손(60)의 손가락 끝의 동작을 통해 활성화된 가상 윈도우(200)를 선택할 수 있다. 예를 들어, 사용자(50)는 엄지의 끝과 검지의 끝 사이의 간격을 기준값(reference value) 이하로 조절하여 활성화된 가상 윈도우(200)를 선택할 수 있다. 이에, 센서(110)는 사용자(50)의 손(60)의 위치를 컨트롤러(120)로 전송할 수 있다.
컨트롤러(120)는 손(60)의 위치에 기초하여 가상 윈도우(200)를 선택할 수 있다. 컨트롤러(120)는 선택된 가상 윈도우(200)를 손(60)으로 소환시킬 수 있다. 즉, 컨트롤러(120)는 역투영 기하를 사용하여 가상 윈도우(200)를 사용자(50)의 손(60)으로 배치할 수 있다. 이때, 프러스텀 내에서 사용자(50)의 손(60)이 위치하는 면(plane)은 픽처 플레인(picture plane)을 의미할 수 있다. 즉, 컨트롤러(120)는 픽처 플레인으로 가상 윈도우(200)를 역투영할 수 있다. 이때, 컨트롤러(120)는 가상 윈도우(200)에 대하여 역투영 기하를 사용함으로써, 가상 윈도우(200)의 겉보기 크기(apparent size)를 일정하게 유지할 수 있다. 사용자(50)는 선택된 가상 윈도우(200)를 편리하게 이동하거나, 또는 크기를 조정하여 배치할 수 있다.
또한, 컨트롤러(120)는 선택된 가상 윈도우(200)를 선택 해제할 수 있다. 예를 들어, 사용자(50)의 엄지의 끝과 검지의 끝 사이의 간격이 기준값을 초과하는 경우 선택된 가상 윈도우(200)를 선택 해제할 수 있다. 이에, 선택 해제된 가상 윈도우(200)는 겉보기 크기를 유지하면서 상기 사용자가 지정하는 면 위치에 복귀할 수 있다.
컨트롤러(120)는 사용자(50)의 입력에 응답하여, 가상 윈도우(200, 210, 221, 222, 223, 및 224)를 벽면에 수평으로 배치할 수 있다. 또한, 컨트롤러(120)는 사용자(50)의 입력에 응답하여, 가상 윈도우(231, 232, 240, 및 260)가 사용자(50)의 시선 벡터와 직교(orthogonal)하도록 배치할 수 있다. 컨트롤러(120)는 사용자(50)의 입력에 응답하여, 가상 윈도우(250)를 책상 면에 배치할 수 있다.
컨트롤러(120)는 센서(110)로부터 수신한 눈(70)과 손(60) 사이의 거리에 기초하여 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 제어할 수 있다. 예를 들어, 컨트롤러(120)는 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 선택하고, 크기를 조정(확대 또는 축소)하여 배치할 수 있다.
컨트롤러(120)가 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 확대 또는 축소하는 경우, 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)의 절대 크기(absolute size)가 일정하게 유지될 수 있다. 즉, 컨트롤러(120)는 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)의 절대 크기를 일정하게 유지하고, 겉보기 크기를 변화시켜 확대 또는 축소 동작을 수행할 수 있다.
디스플레이(130)는 컨트롤러(120)의 제어에 응답하여 가상 현실(VR) 또는 증강 현실(AR)을 구현할 수 있다. 즉, 디스플레이(130)는 사용자(50)가 가상 현실(VR) 또는 증강 현실(AR)에서 손쉽게 가상 윈도우(200, 210, 221, 222, 223, 224, 231, 232, 240, 250, 및 260)를 제어하는 환경을 제공할 수 있다.
도 3a는 도 1에 도시된 컨트롤러가 가상 윈도우를 선택하는 동작을 설명하기 위한 도면의 일 예이고, 도 3b는 도 1에 도시된 컨트롤러가 가상 윈도우를 선택하는 동작을 설명하기 위한 도면의 다른 예이고, 도 3c는 도 1에 도시된 컨트롤러가 가상 윈도우를 선택하는 동작을 설명하기 위한 도면의 다른 예이고, 도 4a는 도 3a 내지 도 3c에 대하여 사용자와 영상 처리 장치의 상호 작용을 설명하기 위한 도면의 일 예이고, 도 4b는 도 3a 내지 도 3c에 대하여 사용자와 영상 처리 장치의 상호 작용을 설명하기 위한 도면의 일 예이다.
도 3a 내지 도 4b를 참조하면, 사용자(50)는 가상 윈도우(310 및 320)가 존재하는 프러스텀에 손(60)을 위치시킬 수 있다. 사용자(50)는 엄지(61) 및 검지(62)의 위치를 조절하여 가상 현실(VR) 또는 증강 현실(AR) 상에서 커서(cursor)를 생성하고, 가상 윈도우(310 및 320)를 활성화하고, 선택할 수 있다.
예를 들어, 센서(110)는 사용자(50)의 엄지(61)의 끝의 위치와 검지(62)의 끝의 위치를 획득하여 컨트롤러(120)로 전송할 수 있다.
컨트롤러(120)는 엄지(61)의 끝의 위치와 검지(62)의 끝의 위치에 기초하여 커서를 생성할 수 있다. 예를 들어, 컨트롤러(120)는 엄지(61)의 끝과 검지(62)의 끝 사이의 간격이 기준값 이하인 경우, 커서를 생성할 수 있다.
컨트롤러(120)가 생성한 커서는 원형 모양일 수 있다. 예를 들어, 컨트롤러(120)는 엄지(61)의 끝과 검지(62)의 끝 사이의 간격을 커서의 지름(diameter)으로 설정할 수 있다.
컨트롤러(120)는 커서에 기초하여 가상 윈도우(310 및 320)를 활성화하고, 선택할 수 있다. 예를 들어, 컨트롤러(120)는 커서와 중첩되는 가상 윈도우(310 및 320)를 활성화할 수 있다. 컨트롤러(120)는 활성화된 가상 윈도우(310 및 320)에 대하여 선택, 이동, 크기 조정, 및 배치 중에서 적어도 하나를 수행할 수 있다.
도 3a를 참조하면, 사용자(50)는 엄지(61)의 끝과 검지(62)의 끝 사이의 간격(r1)을 크게 할 수 있다. 이에, 컨트롤러(120)는 지름이 r1인 커서를 생성하고, 지름이 r1인 커서와 중첩되는 두 개의 가상 윈도우(310 및 320)를 활성화할 수 있다.
도 3b를 참조하면, 사용자(50)는 엄지(61)의 끝과 검지(62)의 끝 사이의 간격(r2)을 작게 할 수 있다. 이에, 컨트롤러(120)는 지름이 r2인 커서를 생성하고, 지름이 r2인 커서와 중첩되는 한 개의 가상 윈도우(320)를 활성화할 수 있다.
도 3c를 참조하면, 사용자(50)는 엄지(61)의 끝과 검지(62)의 끝을 일치시킬 수 있다. 이에, 컨트롤러(120)는 활성화된 가상 윈도우(320)를 선택할 수 있다. 즉, 컨트롤러(120)는 손(60)의 위치에 해당하는 픽처 플레인에 가상 윈도우(320)를 역투영할 수 있다. 이때, 가상 윈도우(320)는 겉보기 크기를 유지하면서 픽쳐 플레인에 역투영될 수 있다. 컨트롤러(120)는 선택된 가상 윈도우(320)를 이동시킬 수 있다.
사용자(50)와 영상 처리 장치(100)가 서로 상호 작용하여 가상 현실(VR) 또는 증강 현실(AR) 상에서 가상 윈도우(310 및 320)를 활성화하여 선택하는 구성은 도 4a 및 도 4b를 참조하여 설명한다.
도 4a를 참조하면, 사용자(50)는 엄지(61)의 끝과 검지(62)의 끝을 좁힐 수 있다. 컨트롤러(120)는 사용자(50)의 손(60)의 위치에 기초하여 커서를 생성할 수 있다. 컨트롤러(120)는 커서와 중첩하는 가상 윈도우(400)를 활성화할 수 있다.
도 4b를 참조하면, 사용자(50)는 엄지(61)의 끝과 검지(62)의 끝을 일치시킬 수 있다. 이에, 컨트롤러(120)는 가상 윈도우(400)를 선택할 수 있다. 즉, 컨트롤러(120)는 사용자(50)의 손(60)에 해당하는 픽처 플레인으로 가상 윈도우(400)를 역투영할 수 있다. 이때, 가상 윈도우(400)의 겉보기 크기는 동일할 수 있다. 컨트롤러(120)는 사용자(50)의 입력에 응답하여 가상 윈도우(400)를 이동할 수 있다.
도 5a는 도 1에 도시된 컨트롤러가 가상 윈도우를 크기 조정하는 동작을 설명하기 위한 도면의 일 예이고, 도 5b는 도 1에 도시된 컨트롤러가 가상 윈도우를 크기 조정하는 동작을 설명하기 위한 도면의 다른 예이고, 도 6은 도 1에 도시된 컨트롤러가 가상 윈도우를 배치하는 동작을 설명하기 위한 도면의 일 예이다.
도 5a 내지 도 6을 참조하면, 컨트롤러(120)는 사용자(50)의 눈(70)의 위치와 손(60)의 위치에 기초하여 가상 윈도우(511, 511, 520, 521, 530, 531, 540, 541, 600, 및 601)를 활성화하고, 선택하여 크기 조정을 수행할 수 있다.
도 5a를 참조하면, 사용자(50)의 입력에 응답하여 컨트롤러(120)가 가상 윈도우(511)를 확대하여 배치하는 동작을 나타낸다.
사용자(50)는 가상 윈도우(511)를 선택하여 가까이 가져올 수 있다.
즉, 컨트롤러(120)는 사용자(50)의 선택에 응답하여, 가상 윈도우(511)를 선택할 수 있다. 예를 들어, 컨트롤러(120)는 선택된 가상 윈도우(510)를 손(60)에 해당하는 픽처 플레인으로 역투영할 수 있다. 선택된 가상 윈도우(510)는 겉보기 크기를 유지하면서 역투영될 수 있다. 즉, 가상 윈도우(511)와 선택된 가상 윈도우(510)의 겉보기 크기가 동일할 수 있다.
컨트롤러(120)는 사용자(50)의 손 동작에 응답하여, 선택된 가상 윈도우(510)를 가상 윈도우(520)의 위치로 이동할 수 있다. 컨트롤러(120)는 눈(70)의 위치와 손(60)의 위치에 기초하여 가상 윈도우(510)를 확대할 수 있다. 이때, 가상 윈도우(510)와 가상 윈도우(520)의 절대 크기는 동일하지만, 겉보기 크기는 상이할 수 있다. 예를 들어, 가상 윈도우(520)는 가상 윈도우(510)보다 겉보기 크기가 더 클 수 있다. 즉, 컨트롤러(120)는 가상 윈도우(510)를 가상 윈도우(520)로 확대할 수 있다.
사용자(50)는 가상 윈도우(520)의 선택을 해제할 수 있다. 예를 들어, 사용자(50)는 엄지(61)와 검지(62)를 떨어뜨려 가상 윈도우(520)의 선택을 해제할 수 있다. 이에, 컨트롤러(120)는 가상 윈도우(520)를 프러스텀에 위치하는 평면(예를 들어, 벽 등)에 배치할 수 있다. 이때, 가상 윈도우(520)와 가상 윈도우(521)의 겉보기 크기는 동일하지만, 절대 크기는 상이할 수 있다. 예를 들어, 가상 윈도우(521)는 가상 윈도우(520)보다 절대 크기가 더 클 수 있다. 즉, 일련의 과정을 통해 컨트롤러(120)는 가상 윈도우(521)를 가상 윈도우(511)보다 확대된 상태로 평면에 배치할 수 있다.
도 5b를 참조하면, 사용자(50)의 입력에 응답하여 컨트롤러(120)가 가상 윈도우(531)를 축소하여 배치하는 동작을 나타낸다. 사용자(50)는 가상 윈도우(531)를 선택하여 가까이 가져올 수 있다.
즉, 컨트롤러(120)는 사용자(50)의 선택에 응답하여, 가상 윈도우(531)를 선택할 수 있다. 예를 들어, 컨트롤러(120)는 선택된 가상 윈도우(530)를 손(60)에 해당하는 픽처 플레인으로 역투영할 수 있다. 선택된 가상 윈도우(530)는 겉보기 크기를 유지하면서 역투영될 수 있다. 즉, 가상 윈도우(531)와 선택된 가상 윈도우(530)의 겉보기 크기가 동일할 수 있다.
컨트롤러(120)는 사용자(50)의 손 동작에 응답하여, 선택된 가상 윈도우(530)를 가상 윈도우(540)의 위치로 이동할 수 있다. 컨트롤러(120)는 눈(70)의 위치와 손(60)의 위치에 기초하여 가상 윈도우(530)를 축소할 수 있다. 이때, 가상 윈도우(530)와 가상 윈도우(540)의 절대 크기는 동일하지만, 겉보기 크기는 상이할 수 있다. 예를 들어, 가상 윈도우(540)는 가상 윈도우(530)보다 겉보기 크기가 더 작을 수 있다. 즉, 컨트롤러(120)는 가상 윈도우(530)를 가상 윈도우(540)로 축소할 수 있다.
사용자(50)는 가상 윈도우(540)의 선택을 해제할 수 있다. 예를 들어, 사용자(50)는 엄지(61)와 검지(62)를 떨어뜨려 가상 윈도우(540)의 선택을 해제할 수 있다. 이에, 컨트롤러(120)는 가상 윈도우(540)를 프러스텀에 위치하는 평면(예를 들어, 벽 등)에 배치할 수 있다. 이때, 가상 윈도우(540)와 가상 윈도우(541)의 겉보기 크기는 동일하지만, 절대 크기는 상이할 수 있다. 예를 들어, 가상 윈도우(541)는 가상 윈도우(540)보다 절대 크기가 더 클 수 있다. 즉, 일련의 과정을 통해 컨트롤러(120)는 가상 윈도우(541)를 가상 윈도우(531)보다 축소된 상태로 평면에 배치할 수 있다.
도 6을 참조하면, 컨트롤러(120)는 가상 윈도우(600)를 사용자(50)의 시선 벡터와 직교하도록 배치할 수 있다. 예를 들어, 컨트롤러(120)는 사용자(50)의 입력에 응답하여, 가상 윈도우(601)를 배치할 수 있다. 즉, 컨트롤러(120)는 가상 윈도우(601)를 사용자(50)의 시선 벡터와 직교하며 물리적인 평면과 맞닿는 픽처 플레인에 투영할 수 있다. 이때, 가상 윈도우(600)와 가상 윈도우(601)의 겉보기 크기는 동일할 수 있다.
도 7은 가상 윈도우의 줌 팩터를 설명하기 위한 도면의 일 예이고, 도 8은가상 윈도우의 줌 팩터를 설명하기 위한 도면의 다른 예이다.
도 7을 참조하면, 사용자(50)는 D1의 거리의 벽에 위치한 W1의 폭을 갖는 가상 윈도우(711)를 선택할 수 있다. 컨트롤러(120)는 선택된 가상 윈도우(711)를 사용자(50)의 손(60)의 픽처 플레인에 역투영할 수 있다. 즉, 컨트롤러(120)는 가상 윈도우(711)를 소환하여 가상 윈도우(710)로 배치할 수 있다. 이때, 선택된 가상 윈도우(710)는 폭이 w일 수 있다.
사용자(50)는 d1의 거리에 위치한 가상 윈도우(710)를 d2의 거리로 이동시킬 수 있다. 사용자(50)의 눈(70)과 손(60)의 거리가 d1에서 d2로 가까워졌으므로, 컨트롤러(120)는 가상 윈도우(710)를 확대할 수 있다.
사용자(50)가 엄지(61)와 검지(62)를 떨어뜨린 경우, 컨트롤러(120)는 가상 윈도우(720)를 D2의 거리에서 W2의 폭을 갖도록 벽에 배치할 수 있다. 이에, 가상 윈도우(711)는 가상 윈도우(721)로 확대되어 배치될 수 있다.
도 8을 참조하면, 사용자(50)가 눈(70)과 손(60)의 거리를 0.4m에서 0.1m로 가까이 당겼을 때 줌 팩터를 설명한다.
그래프(810)는 D1:D2 가 1:1인 경우의 그래프를 나타내고, 그래프(820)는 D1:D2 가 1:4인 경우의 그래프를 나타낸다. 영역(815 및 825)은 각 그래프(810 및 820)에서 기울기가 부드러운 영역을 의미할 수 있다. 사용자(50)는 영역(815 및 825)에서 세밀하게 가상 윈도우(800)를 제어할 수 있다.
컨트롤러(120)의 크기 조정과 관련하여, 줌 팩터(zoom factor)는 수학식 1과 같이 나타낼 수 있다.
여기서, W1은 D1의 거리에 있는 벽에 위치한 윈도우의 폭이고, W2는 D2의 거리에 있는 벽에 위치한 윈도우의 폭이고, w는 가상 윈도우(720)의 폭이고, d1은 가상 윈도우(710)와 사용자의 눈(70) 사이의 거리이고, d2는 가상 윈도우(710)와 사용자의 눈(70) 사이의 거리일 수 있다.
도 7 및 도 8에서는 설명의 편의를 위해, 사용자(50)와 컨트롤러(120)가 상호 작용하여, 가상 윈도우(710 및 800)를 당겨 확대하는 동작을 설명하고 있으나, 반드시 이에 한정되는 것은 아니고, 아래 표 1과 같이 9 가지의 경우의 수가 존재할 수 있다.
즉, 컨트롤러(120)는 투영 기하를 사용하여 가상 윈도우를 1/16배에서 16배까지 크기 조정을 수행할 수 있다.
도 9는 일 실시예에 따른 영상 처리 방법의 순서도를 나타낸다.
도 9를 참조하면, 영상 처리 장치(100)는 사용자(50)의 손(60)의 위치를 획득할 수 있다(S910). 영상 처리 장치(100)는 사용자(50)의 손가락 끝의 위치를 획득할 수 있다. 이때, 영상 처리 장치(100)는 손가락 끝의 위치에 기초하여 커서를 생성할 수 있다. 영상 처리 장치(100)는 사용자(50)의 눈(70)과 손(60) 사이의 거리를 획득할 수 있다.
영상 처리 장치(100)는 손(60)의 위치에 기초하여 가상 윈도우를 제어할 수 있다(S920). 예를 들어, 영상 처리 장치(100)는 가상 윈도우를 활성화, 선택, 이동, 크기 조정, 및 배치 중에서 적어도 하나를 수행할 수 있다. 영상 처리 장치(100)는 커서와 중첩되는 가상 윈도우를 활성화하고, 선택할 수 있다. 예를 들어, 영상 처리 장치(100)는 손(60)의 엄지의 끝과 검지의 끝 사이의 간격이 기준값 이하인 경우 가상 윈도우를 선택할 수 있다. 영상 처리 장치(100)는 손(60)의 위치에 기초하여 가상 윈도우를 이동하여 배치할 수 있다. 또한, 영상 처리 장치(100)는 눈(70)과 손(60)의 거리에 기초하여 가상 윈도우를 크기 조정하여 배치할 수 있다. 영상 처리 장치(100)는 손(60)의 엄지의 끝과 검지의 끝 사이의 간격이 기준값을 초과하는 경우 선택된 가상 윈도우(200)를 선택 해제할 수 있다. 이에, 선택 해제된 가상 윈도우(200)는 겉보기 크기를 유지하면서 상기 사용자가 지정하는 면 위치에 복귀할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (20)
- 가상 현실(virtual reality(VR)) 또는 증강 현실(augmented reality(AR)) 상에서 영상을 처리하는 방법에 있어서,
사용자를 센싱한 정보를 획득하는 단계; 및
상기 정보에 기초하여 제1 위치에 배치된 가상 윈도우를 겉보기 크기(apparent size)를 유지하면서 절대 크기를 조절하여 제2 위치에 배치하는 단계
를 포함하고,
상기 제1 위치 및 상기 제2 위치는 동일한 사각뿔 형태의 프러스텀(frustum) 내 꼭지점으로부터 거리가 다른 수직 단면인 3D 윈도우 관리 방법.
- 제1항에 있어서,
상기 제2 위치에 배치된 가상 윈도우는 상기 사용자에 의해 제어가 가능한 상태인 3D 윈도우 관리 방법.
- 제1항에 있어서,
상기 배치하는 단계는,
상기 정보에 기초하여 상기 제1 위치에 배치된 가상 윈도우를 활성화하는 단계; 및
상기 정보에 기초하여 활성화된 가상 윈도우를 선택하는 단계
를 포함하는 3D 윈도우 관리 방법.
- 제3항에 있어서,
상기 활성화하는 단계는,
상기 사용자의 눈의 위치 및 상기 사용자의 손의 위치에 기초하여 상기 제1 위치에 배치된 가상 윈도우를 활성화하는 단계
를 포함하는 3D 윈도우 관리 방법.
- 제3항에 있어서,
상기 선택하는 단계는,
상기 사용자의 손의 동작에 기초하여 상기 활성화된 가상 윈도우를 선택하는 단계
를 포함하는 3D 윈도우 관리 방법.
- 제1항에 있어서,
상기 제2 위치는 상기 사용자의 손의 위치인 3D 윈도우 관리 방법.
- 제1항에 있어서,
상기 제1 위치에 배치된 가상 윈도우가 상기 제2 위치에 배치된 후 상기 사용자를 센싱한 정보에 응답하여 상기 가상 윈도우의 절대 크기(absolute size)를 유지하면서 겉보기 크기를 확대 또는 축소하는 단계
를 더 포함하는 3D 윈도우 관리 방법.
- 제7항에 있어서,
확대 또는 축소시킨 가상 윈도우를 겉보기 크기를 유지하면서 상기 제1 위치로 복귀시키는 단계
를 더 포함하는 3D 윈도우 관리 방법.
- 제1항에 있어서,
상기 제1 위치에 배치된 가상 윈도우가 상기 제2 위치에 배치된 후 상기 사용자를 센싱한 정보에 응답하여 상기 가상 윈도우의 절대 크기를 유지하면서 제3 위치로 이동시키는 단계
를 더 포함하는 3D 윈도우 관리 방법.
- 제9항에 있어서,
상기 제3 위치로 이동시킨 가상 윈도우를 겉보기 크기를 유지하면서 상기 사용자의 눈의 위치 및 상기 사용자의 손의 위치에 기초하여 제 4 위치로 배치하는 단계
를 더 포함하는 3D 윈도우 관리 방법.
- 가상 현실(VR) 또는 증강 현실(AR) 상에서 영상을 처리하는 장치에 있어서,
사용자의 정보를 획득하는 센서(sensor); 및
상기 정보에 기초하여 제1 위치에 배치된 가상 윈도우를 겉보기 크기를 유지하면서 절대 크기를 조절하여 제2 위치에 배치하는 컨트롤러(controller)
를 포함하고,
상기 제1 위치 및 상기 제2 위치는 동일한 사각뿔 형태의 프러스텀(frustum) 내 꼭지점으로부터 거리가 다른 수직 단면인 3D 윈도우 관리 장치.
- 제11항에 있어서,
상기 제2 위치에 배치된 가상 윈도우는 상기 사용자에 의해 제어가 가능한 상태인 3D 윈도우 관리 장치.
- 제11항에 있어서,
상기 컨트롤러는,
상기 정보에 기초하여 상기 제1 위치에 배치된 가상 윈도우를 활성화하고, 상기 정보에 기초하여 활성화된 가상 윈도우를 선택하는 3D 윈도우 관리 장치.
- 제13항에 있어서,
상기 컨트롤러는,
상기 사용자의 눈의 위치 및 상기 사용자의 손의 위치에 기초하여 상기 제1 위치에 배치된 가상 윈도우를 활성화하는 3D 윈도우 관리 장치.
- 제13항에 있어서,
상기 컨트롤러는,
상기 사용자의 손의 동작에 기초하여 상기 활성화된 가상 윈도우를 선택하는 3D 윈도우 관리 장치.
- 제11항에 있어서,
상기 제2 위치는 상기 사용자의 손의 위치인 3D 윈도우 관리 장치.
- 제11항에 있어서,
상기 컨트롤러는,
상기 제1 위치에 배치된 가상 윈도우가 상기 제2 위치에 배치된 후 상기 사용자를 센싱한 정보에 응답하여 상기 가상 윈도우의 절대 크기를 유지하면서 겉보기 크기를 확대 또는 축소하는 3D 윈도우 관리 장치.
- 제17항에 있어서,
상기 컨트롤러는,
확대 또는 축소 시킨 가상 윈도우를 겉보기 크기를 유지하면서 상기 제1 위치로 복귀시키는 3D 윈도우 관리 장치.
- 제11항에 있어서,
상기 컨트롤러는,
상기 제1위치에 배치된 가상 윈도우가 상기 제2 위치에 배치된 후 상기 사용자를 센싱한 정보에 응답하여 상기 가상 윈도우의 절대 크기를 유지하면서 제3 위치로 이동시키는 3D 윈도우 관리 장치.
- 제19항에 있어서,
상기 컨트롤러는,
상기 제3 위치로 이동시킨 가상 윈도우를 겉보기 크기를 유지하면서 상기 사용자의 눈의 위치 및 상기 사용자의 손의 위치에 기초하여 제4 위치로 배치하는 3D 윈도우 관리 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170136760A KR102138412B1 (ko) | 2017-10-20 | 2017-10-20 | 증강현실 및 가상현실 내 투영기하를 사용한 3d 윈도우 관리 기법 |
PCT/KR2018/012314 WO2019078632A1 (ko) | 2017-10-20 | 2018-10-18 | 증강현실 및 가상현실 내 투영기하를 사용한 3d 윈도우 관리 기법 |
US16/754,959 US11508129B2 (en) | 2017-10-20 | 2018-10-18 | 3D window management method using projective geometry in augmented reality and virtual reality |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170136760A KR102138412B1 (ko) | 2017-10-20 | 2017-10-20 | 증강현실 및 가상현실 내 투영기하를 사용한 3d 윈도우 관리 기법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190044389A KR20190044389A (ko) | 2019-04-30 |
KR102138412B1 true KR102138412B1 (ko) | 2020-07-28 |
Family
ID=66173263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170136760A KR102138412B1 (ko) | 2017-10-20 | 2017-10-20 | 증강현실 및 가상현실 내 투영기하를 사용한 3d 윈도우 관리 기법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11508129B2 (ko) |
KR (1) | KR102138412B1 (ko) |
WO (1) | WO2019078632A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210405758A1 (en) * | 2019-06-05 | 2021-12-30 | Lg Electronics Inc. | Method of controlling augmented reality electronic device |
US11694413B2 (en) * | 2020-08-25 | 2023-07-04 | Spatial Systems Inc. | Image editing and sharing in an augmented reality system |
WO2022216082A1 (ko) * | 2021-04-07 | 2022-10-13 | 한국과학기술원 | 가상 공간 내 메모 객체를 제어하는 전자 시스템 및 그 동작 방법 |
KR20240082088A (ko) * | 2022-12-01 | 2024-06-10 | 삼성전자주식회사 | 외부 객체에 대한 그립 형태에 기반하여 미디어 콘텐트를 표시하기 위한 웨어러블 장치 및 그 방법 |
FR3143791A1 (fr) * | 2022-12-16 | 2024-06-21 | Orange | Procédé de gestion de fenêtres et gestionnaire de fenêtre d’affichage d’un poste de travail virtuel d’un environnement immersif, procédé de gestion d’environnement immersif et système de réalité immersive |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170060230A1 (en) * | 2015-08-26 | 2017-03-02 | Google Inc. | Dynamic switching and merging of head, gesture and touch input in virtual reality |
JP6093473B1 (ja) * | 2016-08-19 | 2017-03-08 | 株式会社コロプラ | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム |
JP2017102732A (ja) * | 2015-12-02 | 2017-06-08 | 株式会社ソニー・インタラクティブエンタテインメント | 表示制御装置及び表示制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120062170A (ko) * | 2010-12-06 | 2012-06-14 | 삼성전자주식회사 | 가상 모니터 제어장치 및 그 제어방법 |
KR20150032028A (ko) | 2013-09-16 | 2015-03-25 | 유재천 | 3d 공간-터치 스크린 장치 및 이를 이용한 방법 |
US9696795B2 (en) * | 2015-02-13 | 2017-07-04 | Leap Motion, Inc. | Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments |
KR20170096420A (ko) * | 2016-02-16 | 2017-08-24 | 삼성전자주식회사 | 대화형 3차원 디스플레이 장치 및 방법 |
-
2017
- 2017-10-20 KR KR1020170136760A patent/KR102138412B1/ko active IP Right Grant
-
2018
- 2018-10-18 WO PCT/KR2018/012314 patent/WO2019078632A1/ko active Application Filing
- 2018-10-18 US US16/754,959 patent/US11508129B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170060230A1 (en) * | 2015-08-26 | 2017-03-02 | Google Inc. | Dynamic switching and merging of head, gesture and touch input in virtual reality |
JP2017102732A (ja) * | 2015-12-02 | 2017-06-08 | 株式会社ソニー・インタラクティブエンタテインメント | 表示制御装置及び表示制御方法 |
JP6093473B1 (ja) * | 2016-08-19 | 2017-03-08 | 株式会社コロプラ | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2019078632A1 (ko) | 2019-04-25 |
US11508129B2 (en) | 2022-11-22 |
US20200242844A1 (en) | 2020-07-30 |
KR20190044389A (ko) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102138412B1 (ko) | 증강현실 및 가상현실 내 투영기하를 사용한 3d 윈도우 관리 기법 | |
CN109643212B (zh) | 3d文档编辑系统 | |
KR102027612B1 (ko) | 애플리케이션의 썸네일-이미지 선택 기법 | |
CN108319491B (zh) | 管理用户界面中的工作空间 | |
US10747391B2 (en) | Method and device for executing applications through application selection screen | |
US9910584B2 (en) | Method for manipulating folders and apparatus thereof | |
US9927973B2 (en) | Electronic device for executing at least one application and method of controlling said electronic device | |
KR102342282B1 (ko) | 어플리케이션 선택 화면을 통해 어플리케이션들을 실행하는 방법 및 장치 | |
JP5761216B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR101735442B1 (ko) | 표시장치에서 객체의 오리엔테이션을 조작하기 위한 장치 및 방법 | |
US20200275089A1 (en) | Input method and apparatuses performing the same | |
Gugenheimer et al. | FaceTouch: Touch interaction for mobile virtual reality | |
US10769824B2 (en) | Method for defining drawing planes for the design of a 3D object | |
KR102040798B1 (ko) | 연속적인 터치를 이용한 사용자 인터페이스 방법 및 장치 | |
US10754523B2 (en) | Resizing of images with respect to a single point of convergence or divergence during zooming operations in a user interface | |
Plasson et al. | A lens-based extension of raycasting for accurate selection in dense 3d environments | |
US11093117B2 (en) | Method for controlling animation's process running on electronic devices | |
EP3479220B1 (en) | Customizable compact overlay window | |
US10089965B1 (en) | User-controlled movement of graphical objects | |
KR102245042B1 (ko) | 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체 | |
US10552022B2 (en) | Display control method, apparatus, and non-transitory computer-readable recording medium | |
KR20160010993A (ko) | 객체 편집 방법 및 이를 이용한 화상 표시 장치 | |
JP6048450B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
US20170131782A1 (en) | Methods and systems for positioning, navigating, and manipulating documents | |
KR102553661B1 (ko) | 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |