KR20150002718A - 터치 감지 사용자 인터페이스 - Google Patents

터치 감지 사용자 인터페이스 Download PDF

Info

Publication number
KR20150002718A
KR20150002718A KR20147030415A KR20147030415A KR20150002718A KR 20150002718 A KR20150002718 A KR 20150002718A KR 20147030415 A KR20147030415 A KR 20147030415A KR 20147030415 A KR20147030415 A KR 20147030415A KR 20150002718 A KR20150002718 A KR 20150002718A
Authority
KR
South Korea
Prior art keywords
user
display
hand
touch
user input
Prior art date
Application number
KR20147030415A
Other languages
English (en)
Other versions
KR102107867B1 (ko
Inventor
앤소니 제이. 앰브루스
압둘와지드 엔. 모하메드
앤드류 디. 윌슨
브라이언 제이. 마운트
조단 디. 앤더센
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20150002718A publication Critical patent/KR20150002718A/ko
Application granted granted Critical
Publication of KR102107867B1 publication Critical patent/KR102107867B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • G06F3/0426Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted

Abstract

전자 디바이스들에 대한 터치 인터페이스를 제공하기 위한 시스템 및 방법이 개시된다. 터치 인터페이스는 임의의 표면일 수 있다. 일 예로서, 테이블 상부가 터치 감지 인터페이스로서 이용될 수 있다. 일 실시예에서, 시스템은 표면의 터치 영역을 결정하고 입력이 제공되는 전자 디바이스의 디스플레이에 그 터치 영역을 상관시킨다. 시스템은 사용자 입력을 허용하기 위해 터치 영역에 대한 사용자의 손들의 상대적 위치를 식별하는 3D 카메라를 가질 수 있다. 사용자의 손들은 디스플레이를 가리지 않는다는 것에 주의한다. 시스템은, 사용자가 디스플레이 스크린 상의 엘리먼트들과 상호작용하기 위해 디스플레이 상에 사용자의 손의 표현을 랜더링할 수 있다.

Description

터치 감지 사용자 인터페이스{TOUCH SENSITIVE USER INTERFACE}
과거에, 컴퓨팅 디바이스들은 입력 디바이스들로서 키보드들 및 마우스들을 이용하였다. 이러한 입력 디바이스들은 잘 작동하지만, 사용자가 키패드를 학습하거나 마우스 동작을 학습하도록 요구한다. 또한, 이러한 입력 디바이스들은 다수의 사용자들이 바라는 만큼 사용하기에 직관적인 것은 아니다.
보다 최근에, 몇몇 컴퓨터 디바이스는 사용자 입력을 허용하는 터치 감지 디스플레이 스크린들을 제공한다. 이들 인터페이스들은 이전의 인터페이스들보다 더 직관적일 수 있다. 그러나 통상적으로 이들은 사용자의 손이 디스플레이 스크린을 가리게 되는 문제가 있다. 또한, 휴대용 디바이스들 또는 디스플레이 스크린이 사용자 근처에 있는 다른 디바이스들에 대해 터치 감지 스크린들이 가장 실용적이다. 그러나 데스크톱 컴퓨터들과 같은 몇몇 디바이스들은 통상적으로 사용자로부터 어느 정도 거리에 있는 디스플레이 스크린을 갖는다. 사용자가 사용자 입력을 제공하기 위해 이러한 디스플레이 스크린에 도달하여 터치하는 것은 비실용적일 수 있다.
디스플레이와 연관된 전자 디바이스에 대한 터치 사용자 입력을 허용하기 위한 시스템들 및 방법들이 본 명세서에서 개시된다. 터치 영역 인터페이스는 임의의 표면일 수 있다. 일 예로서, 테이블 상부가 터치 감지 인터페이스로서 이용될 수 있다. 시스템은 사용자 입력을 허용하기 위해 터치 영역에 대한 사용자의 손들의 상대적 위치를 식별하는 3D 카메라를 가질 수 있다. 따라서 사용자의 손들은 디스플레이를 가리지 않는다. 시스템은 또한 터치 인터페이스 위에 사용자의 손들이 호버링(hovering)하고 있는지를 결정할 수도 있다. 그러므로 시스템은 일 타입의 사용자 입력으로서 호버 이벤트(hover evnet)들을 허용한다.
일 실시예는 디스플레이와 연관되는 전자 디바이스에 대한 사용자 입력을 허용하기 위한 방법을 포함한다. 이 방법은 3-차원(3D) 이미지 데이터에 기초하여 표면에 대한 객체의 3D 위치를 결정하는 단계를 포함한다. 이 방법은 또한 표면에 대한 객체의 3D 위치에 기초하여 디스플레이 상에 사용자 입력 엘리먼트를 랜더링하는 단계를 포함한다. 이 방법은 또한 표면에 대한 객체의 3D 위치에 기초하여 전자 디바이스에 대한 사용자 입력을 수신하는 단계를 포함한다.
일 실시예는 장치를 포함하며, 이 장치는 3D 카메라, 디스플레이, 및 3D 카메라 및 디스플레이에 결합된 프로세싱 로직을 포함한다. 프로세싱 로직은 3D 카메라로부터의 이미지 데이터에 기초하여 표면의 위치를 결정하도록, 그리고 3D 카메라로부터의 이미지 데이터에 기초하여 표면에 대한 사용자의 손의 3D 위치를 결정하도록 구성된다. 프로세싱 로직은 표면에 대한 사용자의 손의 3D 위치에 기초하여 디스플레이 상에 사용자의 손의 투명한 표현을 랜더링하도록 구성된다. 또한, 프로세싱 로직은 표면에 대한 사용자의 손의 3D 위치에 기초하여 사용자 입력을 수신하도록 구성된다.
일 실시예는 디스플레이와 연관되는 전자 디바이스에 대한 사용자 입력을 허용하는 방법을 포함한다. 이 방법은 3D 이미지 데이터에 기초하여 표면의 위치를 결정하는 단계를 포함한다. 표면은 전자 디바이스 또는 디스플레이의 표면이 아니다. 표면 상의 터치 영역이 결정된다. 표면 상의 터치 영역에 대한 사용자의 손의 3D 위치가 3D 이미지 데이터에 기초하여 결정된다. 터치 영역 내의 위치들은 전자 디바이스와 연관되는 디스플레이 상의 위치들에 상관된다(correlated). 사용자의 손의 표현은 터치 영역에 대한 사용자의 손의 3D 위치에 기초하여 디스플레이 상에서 랜더링된다. 사용자 입력은 터치 영역에 대한 사용자의 손의 3D 위치에 기초하여 전자 디바이스에 대해 수신된다.
이 요약은 단순화된 형태로 개념들의 선택을 소개하기 위해 제공되며, 이는 아래의 상세한 설명에서 추가로 설명된다. 이 요약은 청구된 청구 대상의 중요한 특징들 또는 필수적인 특징들을 식별하도록 의도되지 않고, 청구된 청구 대상의 범위를 결정하는데 있어 도움을 주는 것으로서 이용되도록 의도되지도 않는다. 또한, 청구된 청구 대상은 본 개시의 임의의 부분에서 언급되는 임의의 또는 모든 단점들을 해결하는 구현들로 제한되지 않는다.
도 1a는 터치 영역을 통한 사용자 입력을 허용하기 위한 시스템의 일 실시예를 도시한다.
도 1b는 사용자의 손들 중 하나가 테이블의 터치 영역 위에 있을 때 시스템이 디스플레이하는 것의 일 실시예를 도시한다.
도 1c는 디스플레이 없는 사용자 입력 엘리먼트의 일 실시예를 도시한다.
도 1d는 HMD(head mounted display)를 착용한 사용자가 테이블의 표면 위를 호버링하거나 터치함으로써 입력을 제공하도록 허용하는 시스템을 도시한다.
도 1e는 니어-아이 헤드 마운트형 디스플레이 디바이스(near-eye, head mounted display device)로서 씨-쓰루 디스플레이 디바이스(see-through display device)를 도시한다.
도 1f는 통합된 깊이 카메라를 갖는 디스플레이 스크린의 표면 위를 호버링하거나 터치함으로써 사용자가 입력을 제공하도록 허용하는 시스템을 도시한다.
도 2는 전자 디바이스로의 사용자 입력을 허용하는데 이용될 수 있는 캡처 디바이스 및 컴퓨팅 시스템을 포함하는 시스템의 일 실시예를 예시한다.
도 3은 3D 이미지 데이터에 기초하여 디스플레이에 연관되는 전자 디바이스로의 사용자 입력을 수신하는 프로세스의 일 실시예의 흐름도이다.
도 4a는 터치 영역에 대한 사용자의 손들의 위치를 결정하는 프로세스의 일 실시예의 흐름도이다.
도 4b는 사용자의 손과 터치 영역의 맵핑을 예시하기 위한 도면이다.
도 5a는 터치 영역을 결정하는 프로세스의 일 실시예의 흐름도이다.
도 5b는 터치 영역에 대한 평면 방정식을 결정하는 일 실시예의 세부사항들을 도시한다.
도 5c는 터치 영역을 정의하는 프로세스의 일 실시예의 흐름도이다.
도 5d는 터치 영역을 결정하는 일 실시예의 세부사항들을 도시한다.
도 6a는 사용자의 손들 및 터치 영역에 대한 손의 상대적 위치를 식별하는 프로세스의 일 실시예의 흐름도이다.
도 6b는 깊이 픽셀들을 버킷들 내에 배치함으로써 형성되는 예시적인 거리 맵을 도시한다.
도 6c는 손 및 팔의 부분의 포인트 클라우드 모델을 도시한다.
도 6d는 손가락 끝들을 트래킹하는 프로세스의 일 실시예의 흐름도를 도시한다.
도 7은 사용자 입력 엘리먼트들 및 그림자들을 랜더링하는 프로세스의 일 실시예의 흐름도이다.
도 8a는 하드웨어 및 소프트웨어 컴포넌트들에 대한 지원을 제공하는 혼합 현실 디스플레이 디바이스(mixed reality display device)의 안경 실시예에서의 안경 다리의 측면도이다.
도 8b는 마이크로 디스플레이 어셈블리의 하드웨어 및 소프트웨어 컴포넌트들 및 3차원 조정에 대한 지원을 제공하는 혼합 현실 디스플레이 디바이스의 실시예에서 안경 다리의 측면도이다.
도 9a는 시선 검출 엘리먼트들의 배열을 포함하는 씨-쓰루의 니어-아이 혼합 현실 디바이스의 이동 가능한 디스플레이 광학 시스템의 실시예의 상면도이다.
도 9b는 시선 검출 엘리먼트들의 배열을 포함하는 씨-쓰루의 니어-아이 혼합 현실 디바이스의 이동 가능한 디스플레이 광학 시스템의 다른 실시예의 상면도이다.
도 9c는 시선 검출 엘리먼트들의 배열을 포함하는 씨-쓰루의 니어-아이 혼합 현실 디바이스의 이동 가능한 디스플레이 광학 시스템의 제 3 실시예의 상면도이다.
도 9d는 시선 검출 엘리먼트들의 배열을 포함하는 씨-쓰루의 니어-아이 혼합 현실 디바이스의 이동 가능한 디스플레이 광학 시스템의 제 4 실시예의 상면도이다.
도 10a는 하나 이상의 실시예들과 함께 이용될 수 있는 바와 같은 씨-쓰루의 니어-아이 혼합 현실 디스플레이 유닛의 하드웨어 및 소프트웨어 컴포넌트들의 일 실시예의 블록도이다.
도 10b는 씨-쓰루의 니어-아이 혼합 현실 디스플레이 유닛과 연관된 프로세싱 유닛의 하드웨어 및 소프트웨어 컴포넌트들의 일 실시예의 블록도이다.
도 11a는 컴퓨팅 시스템을 구현하는데 이용될 수 있는 멀티미디어 콘솔(또는 게임 콘솔)을 포함하는 컴퓨팅 환경의 예를 예시한다.
도 11b는 컴퓨팅 시스템을 구현하는데 이용될 수 있는 컴퓨팅 환경의 다른 예를 예시한다.
일반적으로 전자 디바이스들에 대한 터치 인터페이스에 관련되는 본 기술의 실시예들이 이제 설명될 것이다. 터치 인터페이스는 임의의 표면을 포함할 수 있다. 일 예로서, 테이블 상부가 터치 감지 인터페이스로서 이용될 수 있다. 일 실시예에서, 시스템은 표면의 터치 영역을 결정하고, 입력이 제공되는 전자 디바이스의 디스플레이에 그 터치 영역을 상관시킨다. 시스템은 사용자 입력을 허용하기 위한 터치 영역에 대한 사용자의 손들의 상대적 위치를 식별하는 3D 카메라를 가질 수 있다. 사용자의 손들은 디스플레이를 가리지 않는다는 것에 주의한다. 시스템은 사용자가 디스플레이 스크린 상에서 엘리먼트들과 상호작용하기 위해 디스플레이 상에 사용자의 손의 표현(representation)을 랜더링한다.
다음을 포함(그러나 이들로 제한되지 않음)하는 매우 다양한 사용자 입력 기능들이 가능하다. 사용자는 디스플레이 상의 엘리먼트를 선택하기 위해 표면(또는 터치 영역)을 터치할 수 있다. 사용자는 디스플레이 상의 엘리먼트를 드레그하기 위해 표면에 걸쳐서 자신의 손가락을 이동시킬 수 있다. 사용자는 줌 아웃(zoom out)하기 위해 표면 상에서 자신의 손가락들을 함께 집고(pinch) 줌 인(zoom in)하기 위해 자신의 손가락들 분리할 수 있다. 일 실시예의 시스템은 3D 이미지 데이터에 기초하여, 왼손과 오른손은 물론 한 손가락과 다른 손가락을 구분할 수 있다는 것에 주의한다. 그러므로, 이 정보는 어느 손가락 또는 손이 디스플레이에 접촉하는지를 알 수 없는 몇몇 종래의 터치 감지 디스플레이들을 통해 가능한 것보다 더 복잡한 사용자 입력을 위해 이용될 수 있다.
다른 가능한 입력은 "호버 이벤트(hover event)"이다. 전자 디바이스들에 대한 인터페이스들의 맥락에서, 호버(hover)한다는 것은 관심이 있지만, 커밋(commit)하지 않았다는 것을 보여준다는 것을 의미한다. 종래의 사용자 인터페이스에서, 사용자는 마우스를 "클릭"함 없이 (하이퍼링크와 같은) 엘리먼트 위에 커서를 위치시킬 수 있었다. 따라서 사용자는 선택 또는 커밋하지 않는다. 그러나 사용자는 엘리먼트에 관심을 보이고 있다. 일 실시예에서, 사용자는 터치 영역 위의 특정한 범위의 거리들 내에(예를 들어, 호버 존(hover 존) 내에) 자신의 손을 둠으로써 호버 이벤트를 야기한다. 호버는 예를 들어, 터치 영역 위의 약 1cm 내지 10cm 범위에 이를 수 있다. 따라서 사용자 관심은 호버 이벤트를 트리거할 수 있다. 호버 이벤트는 또한 "포커스 이벤트"로서 지칭될 수 있다.
일 예로서, 디스플레이는 데스크톱 컴퓨터 시스템과 연관된다. 터치 영역은 컴퓨터 키보드의 바로 우측 및/또는 좌측일 수 있다. 대안적으로, 사용자는, 키보드가 보통 상주하는 곳이 터치 영역이 되지 않도록 하는 방식으로 키보드를 세팅할 수 있다.
도 1a는 터치 영역을 통한 사용자 입력을 허용하는 시스템의 일 실시예를 도시한다. 도 1a는 사용자가 테이블(9) 앞에 앉아있으며 디스플레이(96)는 사용자 앞에 있는 것을 도시한다. 사용자는 테이블(9) 위에 자신의 손들을 내밀고 있다. 디스플레이(96) 위에 캡처 디바이스(20)가 있다. 캡처 디바이스(20)는 테이블(9)에 대해 사용자의 손의 위치를 결정할 수 있는 3D 카메라를 포함할 수 있다. 컴퓨팅 시스템(12)은 디스플레이(96) 및 캡처 디바이스(20)에 통신 가능하게 결합될 수 있다. 일 예로서, 컴퓨팅 시스템(12)은 데스크톱 컴퓨터 시스템의 본체(tower) 부분일 수 있지만, 다른 가능성들도 존재한다. 동시에, 컴퓨팅 시스템(12), 캡처 디바이스(20), 및 디스플레이(96)는 "시스템"으로서 지칭될 수 있다. 시스템은 테이블(9)이 터치 감지 사용자 입력을 컴퓨팅 시스템(12)에 제공하는데 이용되도록 허용한다.
일 실시예에서, 캡처 디바이스(20)는 조준된 광 빔을 방출한다. 조준된 광의 예들은 적외선(R) 및 레이저를 포함(그러나 이들로 제한되지 않음)한다. 시야 내의 객체(8)로부터 반사되는 캡처 디바이스(20)로부터의 광은 캡처 디바이스(20)에 의해 검출된다. 시야는 대략적으로 라인들(12a, 12b)에 의해 도시된다. 이 예에서, 객체(8)는 사용자의 손들 및 팔들을 포함한다. 광은 또한 테이블(9)로부터 반사되어 캡처 디바이스(20)에 되돌아간다. 그러므로, 테이블(9)에 대한 사용자의 손들의 위치가 결정될 수 있다. 이 예에서, 사람은 입력을 위해 자신의 손들을 이용한다. 그러나 일 실시예에서, 시스템은 입력을 허용하기 위해 사용자의 손 이외의 다른 객체를 트래킹한다. 일 예에서, 사용자는 터치 영역(11) 상에 또는 그 위에서 펜 또는 연필을 이동시킴으로써 입력을 야기할 수 있다.
일 실시예에서, 캡처 디바이스(20)는 단일 RGB 카메라를 이용하여 3D 이미지 데이터를 수집한다. 일 실시예에서, RGB 카메라는 깊이를 결정하기 위해 모션 스테레오(motion stereo)를 이용한다. 모션 스테레오를 이용하여 깊이를 결정하는 것은 상이한 시간들에 캡처되는 2개의 RGB 이미지들을 비교하는 것을 포함할 수 있다. 장면 이해(scene understanding)와 같은 기법들은 단일 RGB 카메라를 이용하여 깊이를 결정하는데 도움을 주도록 이용될 수 있다.
터치 영역(11)은 테이블(9) 상의 점선 라인들로 도시된다. 터치 영역(11)은 사용자가 디스플레이(96)와 연관된 전자 디바이스에 대한 터치 감지 입력을 제공하는데 이용하는 테이블(9)의 부분이다. 사용자는 또한 테이블(9)을 터치함 없이 호버 입력을 제공하기 위해 터치 영역(11) 위에서 호버링할 수 있다. 일 실시예에서, 시스템은 터치 영역(11)으로서 이용될 테이블(9)의 적합한 부분을 결정한다. 일 실시예에서, 시스템은 테이블(9)의 어느 부분이 터치 영역(11)으로서 이용되어야 하는지를 사용자가 특정하도록 허용한다. 하나 이상의 터치 영역(11)이 있을 수 있다. 예를 들어, 오른손에 대한 터치 영역 및 왼손에 대한 다른 터치 영역이 있을 수 있다. 터치 영역(11)은 임의의 센서들 또는 임의의 특별한 특성들을 가질 필요가 없다는 것에 주의한다. 따라서 테이블(9)은 임의의 특별한 방식으로 제조될 필요가 없다. 테이블(9) 이외의 다른 표면들이 터치 영역(11)을 위해 이용될 수 있다.
논의를 위해, 테이블(9)의 표면은 x-y 평면으로 고려될 수 있다. 일 실시예에서, 시스템은 테이블(9)(또는 터치 영역(11))에 대한 사용자의 손들에 대한 (x,y,z) 좌표들을 결정한다. 일 실시예에서, 터치 영역(11)의 x-y 좌표들은 디스플레이(96)에 대한 x-y 좌표계에 상관된다. 일 실시예에서, z-축은 테이블(9)의 표면으로부터 떨어진 거리에 대응한다. 다른 좌표계들이 이용될 수 있다. 예를 들어, 좌표들은 아래에서 논의되는 바와 같이, 캡처 디바이스(20)의 관점에서 표현될 수 있다.
도 1b는 사용자의 손 중 하나가 테이블(9)의 터치 영역(11) 위에 있을 때 시스템이 디스플레이하는 것의 일 실시예를 도시한다. 이 예에서, 사용자의 손의 투명 표현(18)은 디스플레이 스크린(96) 상의 다양한 엘리먼트들(23) 위에 디스플레이된다. 표현(18)은 "사용자 입력 엘리먼트"(18)로서 본 명세서에서 지칭될 수 있다. 투명하게 됨으로써, 사용자 입력 엘리먼트(18) 뒤에 또는 아래의 엘리먼트들(23)이 명백하게 보여질 수 있다. 사용자 입력 엘리먼트(18)는 사용자의 손을 닮도록 요구되는 것은 아니다. 또한 손이 랜더링될 때, 이것은 반드시 형상의 견지에서 사용자의 손의 정확한 표현이 아니라는 것에 주의한다.
다양한 랜더링 효과들은 사용자가 직관적으로 사용자 입력을 제어하는 것에 도움을 주는데 이용될 수 있다. 일 실시예에서, 사용자 입력 엘리먼트(18)는 사용자가 테이블(9) 위에서 호버링할 때 몇몇 특별한 방식으로 랜더링된다. 예를 들어, 특정한 컬러가 호버링을 표시하는데 이용될 수 있다. 일 예로서, 사용자 입력 엘리먼트(18)는 호버링을 표시하기 위해 투명한 청색이 될 수 있다. 일 실시예에서, 손가락이 테이블(9) 상의 터치 영역(11)에 근접한 접촉 존(contact zone) 내에 있을 때, 그 손가락은 디스플레이(96) 상에서 하이라이트된다. 이는 손가락 끝들의 에지 상의 하이라이트들(15)에 의해 도시된다. 하이라이트(highlight)들(15)은 손가락 끝들의 에지들이 빛나거나 또는 임의의 다른 효과를 보여줄 수 있다.
다른 효과는 그의 손이 터치 영역(11)으로부터 얼마나 멀리 있는지에 관한 장면을 사용자에게 제공하기 위해 그림자들(21a, 21b)을 보여주는 것이다. 예를 들어, 2개의 그림자들(21a, 21b)이 2개의 허구의(fictitious) 광 소스들에 기초하여 랜더링되면, 그림자들(21a, 21b)이 함께 병합됨에 따라 손이 표면에 더 근접한 것으로 보인다. 2개의 그림자들(21a, 21b)의 병합 영역(27)이 도시된다. 그림자들은 또한 사용자 입력 엘리먼트(18) 아래에서 랜더링될 수 있지만, 이러한 그림자는 도 1b에서 도시되지 않는다.
다른 효과들은 사용자의 손이 터치 영역(11)으로부터 얼마나 멀리 있는지에 대한 느낌(feel)을 사용자에게 제공하는데 이용될 수 있다. 일 실시예에서, 사용자 입력 엘리먼트(18)는 적어도 어느 정도까지, 사용자 입력 엘리먼트(18) 아래에 랜더링되는 것을 왜곡한다. 왜곡의 양은 일 실시예에서, 손이 터치 영역(11)으로부터 더 멀리 이동될 때 증가된다. 예를 들어, "스토어(store)"라는 단어가 다소 왜곡된 채로 나타난다. 일 실시예에서, 사용자가 자신의 손을 터치 영역(11)에 근접하게 이동하면, 왜곡이 더 적게 된다. 어느 정도 레벨의 왜곡이 있는 경우 조차도, 사용자 입력 엘리먼트(18)는 여전히 반투명하게 되거나 불투명하게 되는 것과 대조적으로, 여전히 투명하게 되는 것으로 고려된다는 것에 주의한다.
도 1c는 디스플레이(96) 없이 사용자 입력 엘리먼트(18)의 일 실시예를 도시한다. 사용자 입력 엘리먼트(18)는 에지들(15, 17)에 의해 둘러싸이는 투명한 내부 부분(13)을 갖는다. 에지들 중 일부는 터치 지점들(15)을 표현한다. 이 예에서, 엄지와 손가락들 중 몇 개의 끝들은 터치 지점들(15)이다. 터치 지점들(15)은 다른 에지들과 상이한 방식으로 랜더링되어서, 터치 지점들(15)이 접촉 존 내에 있는 경우 사용자는 알 수 있다. 접촉 존은 터치 영역(11)에 대해 어느 정도 비교적 근접한 거리 내에 있을 수 있다는 것에 주의한다. 그러므로, 터치 지점들(15)은 실제로 터치 영역(11)에 물리적으로 접촉하는 부분들에 반드시 대응할 필요는 없다.
접촉 지점들이 아닌 에지들(17)은 사용자가 사용자 입력 객체(18)의 에지들을 명확하게 보는데 도움을 주기 위해 내부 투명 부분(13)과 상이하게 랜더링될 수 있다는 것에 주의한다. 예를 들어, 에지들(17)은 에지들(17)이 눈에 띄게 하기 위해 투명 영역(13)보다 다소 더 밝게 또는 대안적으로 더 어둡게 랜더링될 수 있다. 다른 효과는 에지들(17)이 눈에 띄게 하는데 이용될 수 있다.
디스플레이(96)는 다른 타입들의 전자 디바이스들과 연관될 수 있다. 다른 예는 "헤드 마운트형 디스플레이(head mounted display)" 또는 "헤드-업 디스플레이(heads-up display)"로서 지칭될 수 있는 것이다. 도 1d는 HMD(head mounted display)(2)를 착용한 사용자가 테이블(9)의 표면 위를 호버링하거나 터치함으로써 입력을 제공하도록 허용하는 시스템을 도시한다. 일 실시예에서, HMD(2)는 테이블(9) 상의 터치 영역(11)에 대한 사용자의 손들의 위치를 결정할 수 있는 3D 카메라를 갖는다. 그러나 상이한 카메라 시스템이 이용될 수 있다. 따라서 HMD는 3D 카메라 시스템을 갖도록 요구되는 것은 아니다.
HMD(2) 디스플레이는 사용자에게 디스플레이(96) 상의 엘리먼트들에 대해 자신의 손이 위치된 곳을 보여주기 위해 도 1b에서 도시된 것과 유사한 이미지를 랜더링할 수 있다. 일 실시예에서, HMD(2)는, 테이블(9) 또는 벽과 같은 몇몇 표면이 디스플레이 표면으로서 작동하는 것으로 사용자에게 보여지도록 이미지를 랜더링한다. 테이블(9)이 이용되는 경우, 이미지는, 사용자의 손이 이미지를 간섭하지 않도록 터치 영역(11)과 상이한 테이블(9) 영역에 나타날 것으로 생각할 수 있다는 것에 주의한다. 그러나 일 옵션은, 디스플레이 이미지가 터치 영역(11)과 대략적으로 일치하도록 디스플레이 이미지를 제시하는 것이다.
도 1e는 배선(6)을 통해 프로세싱 유닛(4)과 통신하는 니어-아이 헤드 마운트형 디스플레이(head mounted display; HMD) 디바이스(2)로서 씨-쓰루 디스플레이 디바이스(see-through display device)를 도시한다. 다른 실시예에서, 헤드 마운트형 디스플레이 디바이스(2)는 무선 통신을 통해 프로세싱 유닛(4)과 통신한다. 프로세싱 유닛(4)은 다양한 실시예들을 가질 수 있다. 몇몇 실시예들에서, 프로세싱 유닛(4)은, 사용자의 신체, 예를 들어, 예시된 예에서 손목에 착용되거나 주머니 내에 있을 수 있는 별개의 유닛이며, 니어-아이 디스플레이 디바이스(2)를 동작시키는데 이용되는 컴퓨팅 전력 대부분을 포함한다. 프로세싱 유닛(4)은 하나 이상의 컴퓨팅 시스템(12), 핫 스폿들, 셀룰러 데이터 네트워크 등과 무선으로(예를 들어, WiFi, 블루투스, 적외선, 또는 다른 무선 통신 수단) 통신할 수 있다. 다른 실시예들에서, 프로세싱 유닛(4)의 기능은 HMD(2)의 소프트웨어 및 하드웨어 컴포넌트들에 통합될 수 있다. 프로세싱 유닛은 또한 "프로세싱 로직"으로서 지칭될 수 있다. 프로세싱 로직은 하드웨어 및/또는 소프트웨어의 임의의 결합을 포함할 수 있다. 예를 들어, 프로세싱 로직은 주문형 집적 회로(application specific integrated circuit; ASIC)를 포함할 수 있다. 프로세싱 로직은 프로세서 실행 가능한 명령어들이 저장되어 있는 컴퓨터 판독 가능한 저장 디바이스 및 명령어들을 실행하는 프로세서를 포함할 수 있다.
일 실시예에서, 프레임(115)에서 안경의 형상인 헤드 마운트형 디스플레이 디바이스(2)는 사용자의 머리에 착용되어서, 사용자는, 각각의 눈에 대한 디스플레이 광학 시스템(96)으로서 이 예에서 실현되는 디스플레이를 통해 볼 수 있고, 그에 의해 사용자 앞의 공간의 실제 다이렉트 뷰(actual direct view)를 갖게 된다. "실제 다이렉트 뷰"란 용어의 이용은 객체들의 생성된 이미지 표현들을 보기 보단 오히려, 사람의 눈을 통해 직접적으로 실세계 객체들을 볼 수 있는 능력을 지칭한다. 예를 들어, 방에서 안경을 통해 보는 것은 사용자가 방의 실제 다이렉트 뷰를 갖도록 허용하는 반면에, 텔레비전을 통해 방의 비디오를 시청하는 것은 방의 실제 다이렉트 뷰가 아니다. 소프트웨어, 예를 들어, 게임 애플리케이션을 실행하는 맥락에 기초하여, 시스템은 씨-쓰루 디스플레이 디바이스를 착용한 사람에 의해 시청 가능한 디스플레이 상에서, 때때로 가상 이미지들로서 지칭되는 가상 객체들의 이미지들을 프로젝팅할 수 있는 반면에, 그 사람은 디스플레이를 통해 실세계 객체들을 또한 시청하고 있다.
프레임(115)은 전기 연결들을 위한 도관은 물론 시스템의 엘리먼트들을 적소에 보유하기 위한 지지부를 제공한다. 이 실시예에서, 프레임(115)은 아래에서 추가로 논의되는 시스템의 엘리먼트들에 대한 지지부로서 간편한 안경 프레임을 제공한다. 다른 실시예들에서, 다른 지지 구조들이 이용될 수 있다. 이러한 구조의 예는 바이저(visor), 모자, 헬멧 또는 고글들이다. 프레임(115)은 사용자의 귀들 각각 상에 걸치기 위한 안경 다리(temple) 또는 사이드 암을 포함한다. 안경 다리(102)는 우측 안경 다리의 실시예를 대표하며, HMD(2)에 대한 제어 회로(136)를 포함한다. 프레임의 코걸이(nose bridge)(104)는 3D 이미징을 이용하여 그의 시야 내의 객체를 검출할 수 있는 캡처 디바이스(20)를 포함할 수 있다.
도 1f는 스크린(67) 내에 또는 뒤에 있는 깊이 카메라 시스템을 이용하여 터치 인터페이스를 제공하는 시스템의 일 실시예를 도시한다. 사용자는 테이블(9) 앞에 앉아있고 스크린 내에 내장되거나 뒤에 있는 깊이 카메라 시스템을 갖는 스크린(67)과 상호작용한다. 깊이 카메라 시스템은 3D 이미지 데이터를 캡처할 수 있다. 깊이 카메라 시스템은 광 소스(68) 및 하나 이상의 (가능하게는 다수의) 광 검출기들을 포함할 수 있다. 일 예로서, 광 소스는 적외선(IR)일 수 있다. 일 실시예에서, 스크린(67)의 각각의 픽셀은 광 검출기로서 역할한다. 그러나 광 검출기들이 픽셀들의 부분이 되도록 요구되는 것은 아니다. 픽셀들은 LCD 스크린의 부분일 수 있지만, 다른 기술들이 이용될 수 있다. 일 실시예에서, 광 소스(68)로부터의 광은 스크린(67)을 통해 이동하며 사용자(8)에 의해 반사된다. 반사된 광은 스크린(67) 내에 또는 그 뒤에 있는 하나 이상의 광 검출기들에 의해 캡처된다. 스크린(67)에 대한 사용자의 손들의 위치가 이에 따라 결정된다. 이것은 x-, y-, 및 z-위치를 포함할 수 있다는 것에 주의한다.
스크린(67)은 또한 디스플레이로서의 사용이 가능하게 될 수 있다. 그러나 스크린(67)은 터치 상호작용 시스템을 이용할 때 디스플레이로서 이용될 필요가 없다. 오히려, 사용자(8)에 의해 착용되는 HMD(2)가 도 1d의 예에서와 유사하게 디스플레이로서 이용될 수 있다. 따라서 시스템은 스크린 뒤에 또는 그 내의 깊이 카메라 시스템을 이용하여 스크린(67)에 대한 사용자의 손들의 위치를 결정한다. 시스템은 HMD(2)(또는 몇몇 다른 디스플레이)에 사용자의 손의 표현을 디스플레이한다. 예를 들어, HMD(2)는 도 1b에서의 이미지와 같은 이미지를 보여줄 수 있다. 사용자는 상호작용할 때, 테이블(9)에서 반드시 아래를 바라볼 필요는 없다는 것에 주의한다. 예를 들어, 사용자는 벽을 바라보게 될 수 있어서, HMD(2)에서 제시되는 이미지가 벽 상의 디스플레이 스크린에 보이게 된다. 따라서 도 1f에서 도시된 실시예와 도 1d의 실시예 간의 차이는 깊이 카메라 시스템의 위치이다. 도 1f의 실시예에서, HMD(2)는 깊이 카메라를 가질 필요가 없다.
도 2는 전자 디바이스로의 사용자 입력을 허용하는데 이용될 수 있는 캡처 디바이스(20) 및 컴퓨팅 시스템(12)을 포함하는 시스템(10)의 일 실시예를 예시한다. 전자 디바이스는 컴퓨팅 시스템(12)을 포함하지만, 그것이 요구되는 것은 아니다. 일 실시예에서, 캡처 디바이스(20)는 정지 이미지들 및 깊이 정보를 갖는 비디오를 포함하는 3D 이미지 데이터를 캡처하도록 구성되는 깊이 카메라(또는 깊이 감지 카메라)이다. 깊이 정보는 다양한 값들을 갖는 깊이 맵을 포함할 수 있다. 깊이 카메라는 비행시간(time-of-flight), 구조화된 광(structured light), 스테레오 이미지 등을 포함(그러나 이들로 제한되지 않음)하는 다양한 기법들을 이용할 수 있다. 일 실시예에서, 캡처 디바이스(20)는 깊이 감지 이미지 센서를 포함한다.
깊이 맵은 캡처된 장면의 2차원(2-D) 픽셀 영역을 포함할 수 있으며, 여기서 2차원(2-D) 픽셀 영역의 각각의 픽셀은 카메라로부터 캡처된 장면의 객체의 (예를 들어, 센티미터들, 밀리미터들의 등) 거리와 같은 깊이 값을 표현할 수 있다. 이미지 카메라 컴포넌트(32)는 초점 길이, 주점(principal point), 렌즈 왜곡 파라미터들 등과 같은 카메라 본연의 파라미터들의 추정들을 획득하도록 사전-교정될 수 있다. 카메라 교정을 위한 기법들은 Z.Zhang의 "Flexible New Technique for Camera Calibration", 패턴 분석 및 기계 지능에 관한 IEEE 트랜잭션, 22(11): 1330-1334, 2000에서 논의되며, 이는 그에 의해 인용에 의해 포함된다.
도 2에서 도시된 바와 같이, 캡처 디바이스(20)는 카메라 영역의 깊이 맵을 캡처하는데 이용될 수 있는 IR 광 컴포넌트(34), 3-차원(3-D) 카메라(36) 및 RGB 카메라(38)를 포함할 수 있다. 예를 들어, 비행시간 분석에서, 캡처 디바이스(20)의 IR 광 컴포넌트(34)는 캡처 영역으로 적외선 광을 방출할 수 있고, 이어서 예를 들어, 3-D 카메라(36) 및/또는 RGB 카메라(38)를 이용하여 캡처 영역내의 하나 이상의 타겟들 및 객체들의 표면으로부터 배면산란된 광(backscattered light)을 검출하기 위해 센서들을 이용할 수 있다. 몇몇 실시예에서, 캡처 디바이스(20)는 IR CMOS 이미지 센서를 포함할 수 있다. 몇몇 실시예들에서, 펄스식 적외선 광이 이용되어서, 나가는(outgoing) 광 펄스와 대응하는 인입하는(incoming) 광 펄스 간의 시간이 측정되고 캡처 디바이스(20)로부터 캡처 영역 내의 타겟들 또는 객체들 상의 특정한 위치까지의 물리적 거리를 결정하는데 이용된다. 부가적으로, 나가는 광파의 위상이 인입하는 광파의 위상에 비교되어 위상 시프트를 결정할 수 있다. 위상 시프트는 이어서 캡처 디바이스로부터 타겟들 또는 객체들 상의 특정한 위치까지의 물리적 거리를 결정하기 위해 이용될 수 있다.
일 실시예에서, 비행시간 분석은 예를 들어, 셔터식 광 펄스 이미징(shuttered light pulse imaging)을 포함하는 다양한 기법들을 통해 시간에 걸쳐서 광의 반사된 빔의 세기를 분석함으로써, 캡처 디바이스(20)로부터 타겟들 또는 객체들 상의 특정한 위치까지의 물리적 거리를 간접적으로 결정하는데 이용될 수 있다.
다른 예에서, 캡처 디바이스(20)는 깊이 정보를 캡처하기 위해 구조화된 광을 이용할 수 있다. 이러한 분석에서, 패터닝된 광(즉, 그리드 패턴 또는 스트라이프 패턴과 같은 알려진 패턴으로서 디스플레이되는 광)이 예를 들어, IR 광 컴포넌트(34)를 통해 캡처 영역으로 프로젝팅될 수 있다. 캡처 영역 내의 하나 이상의 타겟들(또는 객체들)의 표면에 부딪히면, 패턴은 반응하여 변형되게 될 수 있다. 패턴의 이러한 변형은 예를 들어, 3-D 카메라(36) 및/또는 RGB 카메라(38)에 의해 캡처되고 분석되어 캡처 디바이스로부터 타겟들 또는 객체들 상의 특정 위치까지의 물리적 거리를 결정할 수 있다.
몇몇 실시예들에서, 2개 이상의 상이한 카메라들이 통합된 캡처 디바이스 내로 통합될 수 있다. 예를 들어, 깊이 카메라 및 비디오 카메라(예를 들어, RGB 비디오 카메라)가 공통 캡처 디바이스 내로 통합될 수 있다. 몇몇 실시예들에서, 2개 이상의 별개의 캡처 디바이스들이 협동적으로 이용될 수 있다. 예를 들어, 깊이 카메라 및 별개의 비디오 카메라가 이용될 수 있다. 비디오 카메라가 이용될 때, 비디오 카메라는 타겟 트래킹 데이터, 타겟 트래킹의 에러 수정을 위한 확인 데이터, 이미지 캡처, 신체 부분 인식, 손가락들(또는 다른 작은 특징들)의 고-정밀 트래킹, 광 감지 및/또는 다른 기능들을 제공하는데 이용될 수 있다.
일 실시예에서, 캡처 디바이스(20)는 깊이 정보를 생성하기 위해 분해될 수 있는 가시적 스테레오 데이터를 획득하기 위해 상이한 각도들로부터 캡처 영역을 볼 수 있는 2개 이상의 물리적으로 별개의 카메라들을 포함할 수 있다. 깊이는 또한 단색, 적외선, RGB, 또는 임의의 다른 타입의 검출기일 수 있는 복수의 검출기들을 이용하여 이미지를 캡처하고 시차 계산(parallax calculation)을 수행함으로써 결정될 수 있다. 다른 타입들의 깊이 맵 센서들이 또한 깊이 맵을 생성하는데 이용될 수 있다.
도 2에서 도시된 바와 같이, 캡처 디바이스(20)는 마이크(40)를 포함할 수 있다. 마이크(40)는 사운드를 수신하여 이를 전기 신호로 변환하는 트랜스듀서 또는 센서를 포함할 수 있다. 일 실시예에서, 마이크(40)는 타겟 검출 및 트래킹 시스템(10)에서 컴퓨팅 시스템(12)과 캡처 디바이스(20) 간의 피드백을 감소시키는데 이용될 수 있다. 부가적으로, 마이크(40)는 컴퓨터 시스템(12)에 사용자 입력을 제공하기 위해 사용자에 의해 또한 이용될 수 있는 오디오 신호들을 수신하는데 이용될 수 있다. 예를 들어, 사용자가 터치 인터페이스를 이용하여 몇몇 커맨드를 입력한 이후, 시스템(12)은 오디오 입력을 제공함으로써 커맨드를 검증하도록 사용자에게 촉구할 수 있다.
캡처 디바이스(20)는 이미지 카메라 컴포넌트(22)와 통신하는 로직(42)을 포함할 수 있다. 로직(42)은 명령어들을 실행할 수 있는 표준화된 프로세서, 특수화된 프로세서, 마이크로프로세서 등을 포함할 수 있다. 로직(42)은 또한 ASIC, 전자 회로, 로직 게이트들 등과 같은 하드웨어를 포함할 수 있다. 로직(42)이 프로세서인 경우에, 프로세서(42)는 깊이 맵을 결정하고 깊이 맵에서 손과 같은 타겟을 결정하기 위한 명령어들을 포함할 수 있는 명령어들을 실행할 수 있다. 컴퓨팅 시스템(12)은 터치 인터페이스를 통한 사용자 입력을 허용하도록 하나 이상의 단계들을 수행하기 위한 별개의 프로세서를 가질 수 있다는 것에 주의한다. 몇몇 실시예들에서, 깊이 카메라의 로직(42)은 깊이 이미지의 초기 프로세싱을 수행하고, 컴퓨터 시스템(12)의 프로세서는 더 높은 레벨 기능들을 수행한다. 캡처 디바이스(20)의 로직 및 컴퓨터 시스템(12)의 프로세서 간의 작업(labor)의 분할은 임의의 방식으로 분할될 수 있다는 것에 주의한다.
도 2에서 도시된 바와 같이, 캡처 디바이스(20)는 프로세서(42)에 의해 실행될 수 있는 명령어들, 3-D 카메라 또는 RGB 카메라에 의해 캡처된 이미지들 또는 이미지들의 프레임들, 사용자 프로파일들 또는 임의의 다른 적합한 정보, 이미지들 등을 저장할 수 있는 메모리 컴포넌트(44)를 포함할 수 있다. 일 예에서, 메모리 컴포넌트(44)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 캐시, 플래시 메모리, 하드 디스크, 또는 임의의 다른 적합한 저장 컴포넌트를 포함할 수 있다. 메모리 컴포넌트(44)는 또한 컴퓨터 저장 매체 또는 컴퓨터 저장 디바이스로서 지칭될 수 있다. 도 2에서 도시된 바와 같이, 메모리 컴포넌트(44)는 이미지 캡처 컴포넌트(34) 및 프로세서(42)와 통신하는 별개의 컴포넌트일 수 있다. 다른 실시예에서, 메모리 컴포넌트(44)는 프로세서(42) 및/또는 이미지 캡처 컴포넌트(34)에 통합될 수 있다. 일 실시예에서, 도 2에서 예시된 캡처 디바이스(20)의 컴포넌트들(34, 36, 38, 40, 42 및 44) 중 일부 또는 모두 다는 단일 하우징 내에 하우징된다.
도 2에서 도시된 바와 같이, 캡처 디바이스(20)는 통신 링크(46)를 통해 컴퓨팅 시스템(12)과 통신할 수 있다. 통신 링크(46)는 예를 들어, USB 연결, 파이어웨어(Firewire) 연결, 이더넷 케이블 연결을 포함하는 유선 연결 및/또는 무선 802.11b,g.a, 또는 n 연결과 같은 무선 연결일 수 있다. 컴퓨팅 시스템(12)은 예를 들어, 통신 링크(46)를 통해 장면을 캡처할 시기를 결정하는데 이용될 수 있다.
일 실시예에서, 캡처 디바이스(20)는 예를 들어, 3-D 카메라(36) 및/또는 RGB 카메라(38)에 의해 캡처된 이미지 및 깊이 정보를, 통신 링크(46)를 통해 컴퓨팅 시스템(12)에 제공할 수 있다. 컴퓨팅 시스템(12)은 이어서 예를 들어, 가상 스크린을 생성하고, 사용자 인터페이스를 적응시키고, 게임 또는 워드 프로세서와 같은 애플리케이션을 제어하기 위해 깊이 정보 및 캡처된 이미지들을 이용할 수 있다.
도 2에서 도시된 바와 같이, 컴퓨팅 시스템(12)은 UI 커맨드 라이브러리(192), 구조 데이터(198), 사용자 입력 엔진(190), 깊이 맵 프로세싱 및 객체 리포팅 모듈(194) 및 운용 체제(196)를 포함한다. 깊이 맵 프로세싱 및 객체 리포팅 모듈(194)은 사용자 및 다른 객체들과 같은 객체들의 모션을 트래킹하기 위해 깊이 맵들을 이용한다. 객체들의 트래킹을 돕기 위해, 깊이 맵 프로세싱 및 객체 리포팅 모듈(194)은 UI 커맨드(190), 구조 데이터(198) 및 사용자 입력 엔진(190)을 이용한다. 몇몇 실시예들에서, 깊이 맵 프로세싱 및 객체 리포팅 모듈(194)은 객체들을 식별하기 위해 분류자(195) 및 특징 라이브러리(199)를 이용한다.
일 예에서, 구조 데이터(198)는 트래킹될 수 있는 객체에 관한 구조 정보를 포함한다. 예를 들어, 인간의 골격 모델이 사용자의 이동들을 이해하고 신체 부분들을 인지하는 것을 돕기 위해 저장될 수 있다. 일 실시예에서, 사용자의 손들 및 손가락들이 인지될 수 있다. 골격 모델은 오른손이 왼손으로부터 구분되는 것은 물론 다른 손가락들로부터 한 손가락을 구분하도록 허용할 수 있다. 다른 예들에서, 프롭(prop)들과 같은 무생물에 관한 구조 정보가 또한 저장되어 이들 객체들을 인지하는 것을 돕고 이동을 이해하는 것을 도울 수 있다. 일 예에서, 펜들 및 연필들과 같은 사용자 입력을 위해 이용될 수 있는 프롭들이 인지될 수 있다.
일 예에서, UI 커맨드 라이브러리(192)는 사용자 입력 커맨드들의 모음을 포함할 수 있다. 이들 커맨드들은 사용자의 다양한 모션들을 물론, 손/손가락이 수행하고 있는 모션이 무엇인지를 포함할 수 있다. 따라서 UI 커맨드 라이브러리(192)는 일 실시예에서 특정한 신체 부분을 커맨드들에 링크하는 것을 돕기 위한 정보를 갖는다. 예를 들어, UI 커맨드 라이브러리(192)는 (골격 모델에 의해 표현된 바와 같은) 사용자가 하나 이상의 커맨드를 수행할 때 식별하기 위해, 골격 모델의 형태로 캡처 디바이스(20)에 의해 캡처된 데이터 및 그것과 연관된 이동들을 UI 커맨드 라이브러리(192)의 필터들에 비교할 수 있다. 이들 커맨드들은 애플리케이션의 다양한 제어들과 연관될 수 있다.
도 3은 3D 이미지 데이터에 기초하여 디스플레이(96)와 연관되는 전자 디바이스에 대한 사용자 입력을 수신하는 프로세스(300)의 일 실시예의 흐름도이다. 전자 디바이스의 예들은 데스크톱 컴퓨터 시스템 및 HMD(2)를 포함한다. 프로세스(300)는 일 예로서, 사용자가 테이블(9) 위에서 호버링하거나 접촉함으로써 입력을 제공하도록 허용하는데 이용될 수 있다. 프로세스(300)는 데스크톱 컴퓨터, HMD(2) 또는 다른 전자 디바이스를 포함할 수 있는 컴퓨팅 시스템(12)에 의해 수행될 수 있다.
단계(302)에서, 표면에 대한 객체의 3D 위치가 결정된다. 객체는 사용자의 손들일 수 있다. 종종, 표면은 수평 평면일 수 있지만, 이것은 요건이 아니다. 임의의 표면이 이용될 수 있다. 예를 들어, 표면은 수직 평면 또는 임의의 대각 평면일 수 있다. 또한, 표면은 평면이 되도록 요구되는 것은 아니다. 예를 들어, 표면은 파도모양(undulation)들을 가질 수 있다. 표면은 반구(hemisphere)와 같은 임의의 다른 기하학적 형상을 가질 수 있다.
단계(302)는 터치 영역으로의 사용자의 손의 프로젝션을 결정하는 것을 포함할 수 있다. 예를 들어, 터치 영역(11)은 x-y 평면인 것으로 정의될 수 있으며, 여기서 터치 영역(11)에 대한 사용자의 손의 x-y 위치가 결정된다. 단계(302)는 사용자의 손이 터치 영역(11)으로부터 얼마나 멀리 떨어져 있는지를 결정하는 것을 포함할 수 있다. 예를 들어, 시스템은 사용자의 손이 터치 영역(11)의 평면으로부터 얼마나 멀리 떨어져 있는지를 결정한다. 터치 영역(11)이 수평 평면인 경우, 시스템은 손이 얼마나 터치 영역(11) 위에 있는지를 결정한다. 언급된 바와 같이, 터치 영역(11)은 수평 평면이 되도록 요구되는 것은 아니다. 따라서 터치 영역(11)으로부터 떨어진 거리는 수직 거리 또는 몇몇 다른 배향(orientation)일 수 있다. 일 실시예에서, 적어도 하나의 평면이 터치 영역(11)에 대해 정의되며, 여기서 평면으로부터 떨어진 거리는 평면에 대해 수직인 라인에 의해 결정된다. 일 실시예에서, 터치 영역(11)은 캡처 디바이스(20)로부터의 깊이 이미지의 픽셀들과 연관된다. 이 경우에, 평면 방정식이 이들 픽셀들 각각에 대해 정의될 수 있다. 따라서 터치 영역(11)이 다수의 평면들과 연관될 수 있다.
단계(304)에서, 사용자 입력 엘리먼트(18)는 사용자의 손의 3D 위치에 기초하여 전자 디바이스와 연관되는 디스플레이(96) 상에서 랜더링된다. 이는 디스플레이(96)의 적절한 x-y 위치에서 사용자의 손의 투명한 표현을 랜더링하는 것을 포함할 수 있다. 또한, 사용자의 손이 터치 영역(11)을 갖는 표면으로부터 떨어져 있는 거리는 사용자가 접촉 존, 호버 전, 또는 더 멀리 떨어져 있는지를 결정하는데 이용될 수 있다. 이 정보는 사용자가 접촉 존, 호버 존, 또는 더 멀리 떨어져 있는지를 보여주는 방식으로 사용자 입력 엘리먼트(18)를 랜더링하는데 이용될 수 있다.
단계(306)에서, 터치 영역(11)에 대한 사용자의 손의 3D 위치에 기초하여 전자 디바이스에 대한 사용자 입력이 수신된다. 사용자가 터치 영역(11)을 갖는 표면을 터치하거나 또는 거의 터치하는 경우, 입력은 디스플레이(96) 상의 엘리먼트의 선택일 수 있다. 사용자가 표면으로부터 약간 더 멀리 떨어져서 호버링하는 경우, 입력은 호버 또는 포커스 이벤트를 위한 것일 수 있다. 호버 이벤트의 일 예는 디스플레이(96) 상의 엘리먼트에 대한 부가적인 정보를 제시하는 것이다. 예를 들어, 사용자가 디스플레이(96) 상의 전화 번호 위에서 호버링하는 경우, 호버 이벤트는 그 번호에 전화를 걸고, 역방향 조회(reverse lookup)를 수행하고, (이메일 어드레스를 아는 경우) 그 사람에게 이메일을 보내는 것 등을 포함하는 옵션들의 메뉴를 제시하는 것일 수 있다.
도 4a는 터치 영역(11)에 대한 사용자의 손들의 위치를 결정하는 프로세스(400)의 일 실시예의 흐름도이다. 프로세스(400)는 단계(302)의 일 실시예이다. 단계(402)에서, 터치 영역(11)이 결정된다. 일 실시예에서, 단계(402)는 도 4의 다른 단계들 이전에 수행될 수 있는 교정 기간 동안 수행된다. 예를 들어, 단계(402)는 배경을 결정할 때 이용될 수 있다. 일 실시예에서, 터치 영역(11)은 다소간 연속적 토대로(more or less continuous basis) 결정된다. 따라서 캡처 디바이스(20)가 밀쳐지는 경우(jostled), 사용자에 대한 실제 터치 영역(11)을 적소에 유지하면서 밀쳐짐(jostling)에 대해 보상하기 위해 터치 영역(11)의 위치를 정의하는 데이터에 대한 적합한 조정들이 행해질 수 있다.
단계(404)에서, 사용자의 손들이 식별된다. 일 실시예에서, 단계(404)는 교정(calibration) 기간이 종료한 후 수행된다. 따라서 단계(404)는 단계(402)와 상이한 이미지 데이터의 세트를 이용할 수 있다. 그러나 일 실시예에서, 단계들(402 및 404)은 이미지 데이터의 동일한 세트를 이용하여 수행된다. 언급된 바와 같이, 터치 영역(11)은 다소간 연속적 토대로 결정될 수 있으며, 이 경우, 동일한 이미지 데이터가 터치 영역을 결정하고 손들을 식별하는데 이용될 수 있다.
단계(406)에서, 터치 영역(11)에 대한 사용자의 손들의 위치가 결정된다. 단계(406)는 사용자의 손이 접촉 존, 호버 존, 또는 더 멀리 떨어져 있는지를 결정하는 단계를 포함할 수 있다. 단계(406)는 또한 손들이 투영(project)되는 터치 영역(11)의 평면의 부분을 결정하는 단계를 포함할 수 있다.
도 4b는 프로세스(400)의 단계(406) 동안 수행될 수 있는, 사용자의 손과 터치 영역(11)의 맵핑을 예시하기 위한 도면이다. 터치 영역(11) 위에 있는 사용자의 손(8)이 도시된다. 논의를 위해, 터치 영역(11)은 x-y 평면 내에 있으며, z-축은 x-y 평면에 수직이다. 터치 영역(11) 내의 모든 지점들이 동일한 평면 내에 있을 것이 요구되진 않는다는 것에 주의한다. 도 4b는 터치 영역(11)의 x-y 평면으로부터 떨어져서 z-방향으로 연장하는 접촉 존(45)을 도시한다. 호버 존(47)은 접촉 존(45)의 외측 한계(outer extent)에서 시작하여 z-축을 따라 터치 영역(11)으로부터 더 멀리 연장한다. 손(8)이 호버 존(47) 외부(예를 들어, z-축을 따라 더 멀리)에 있는 경우 조차도, 손(8)은 여전히 캡처 디바이스(20)에 의해 검출될 수 있다는 것에 주의한다. 도 4b는 터치 영역(11)의 x-y 평면으로의 사용자의 손의 프로젝션(48)을 또한 보여준다.
사용자의 손들이 식별되고 터치 영역(11)에 맵핑되는 실시예를 도 4a 및 도 4b, 및 본 명세서에서 논의된 다른 예들이 참조하지만, 다른 객체들이 사용자 입력을 위해 이용될 수 있다는 것이 이해될 것이다. 또한, 객체가 특정한 타입의 객체로서 분명히 식별되는 것을 요구하진 않는다는 것에 주의한다. 예를 들어, 객체는 손으로서 식별되도록 요구되는 것은 아니다. 그러나 몇몇 실시예들에서, 객체 인식이 이용된다.
도 5a는 터치 영역(11)을 결정하는 프로세스(500)의 일 실시예의 흐름도이다. 프로세스(500)는 단계(402)의 일 실시예의 세부사항들을 제공한다. 프로세스(500)에서, 터치 영역(11)은 사용자의 손들을 식별하기 이전에 교정 기간 동안 결정될 수 있다. 단계(502)에서, 3D 이미지가 캡처된다. 3D 이미지는 깊이 픽셀들의 어레이를 포함할 수 있다. 논의를 위해, 이 어레이는 (u, v) 어레이로서 지칭될 것이다. 따라서 각각의 깊이 픽셀은 일 실시예에서 (u, v) 좌표와 연관된다. 각각의 깊이 픽셀은 일 실시예에서, 깊이 값을 갖는다. 이 지점에서, 깊이 값들은 카메라로부터의 거리의 견지에 있을 수 있다. 따라서 이들 깊이 값들은 테이블(9)로부터의 거리는 아니라는 것에 주의한다.
단계(504)에서, 표면의 평면이 3D 이미지에 기초하여 결정된다. 일 실시예에서, 깊이 값들이 표면인 것으로 생각되는 픽셀들을 찾기 위해 우선 분석된다. 유사한 깊이 값들을 갖는 이웃하는 픽셀들의 그룹들은 하나의 단서(cue)이다. 표면의 크기는 또한 하나의 단서이다. 하나 이상의 가능한 표면들이 있는 경우, 표면 크기, 기울기, 및 캡처 디바이스(20)로부터의 거리와 같은 팩터들이 이용될 수 있다.
일 실시예에서, 평면 방정식이 깊이 이미지의 각각의 픽셀에 대해 결정된다. 주어진 픽셀에 대한 평면 방정식은 이웃하는 픽셀들에 대한 깊이 값들을 분석함으로써 결정될 수 있다. 각각의 픽셀에 대해, 평면 방정식은 그의 3D 위치 및 그 위치로부터의 법선에 기초하여 정의될 수 있다. 법선은 이웃 픽셀들의 위치들의 상술된 분석에 의해 결정될 수 있다. 따라서 단계(504)는 일 실시예에서, 3D 이미지의 각각의 픽셀에 대한 평면 방정식을 결정하는 것을 포함한다. 3D 이미지의 각각의 픽셀이 고유한 (u, v) 좌표와 연관될 수 있으므로, 단계(504)는 다양한 (u, v) 좌표들에 대한 평면 방정식을 결정한다.
도 5b는 평면 방정식들을 결정하는 일 실시예의 세부사항들을 도시한다. 깊이 카메라(20)가 단계(502)에서 논의된 깊이 이미지를 생성하는데 이용된다. 도 5b에서 도시된 (x,y,z) 좌표계는 터치 영역(11)이 정의되는 x-y 평면에 대한 것이다. 따라서 깊이 카메라(20)에 의해 생성되는 깊이 이미지는 통상적으로 상이한 좌표계를 가질 것이란 것에 주의한다. 또한, (x,y,z) 좌표계에 대한 참조는 논의를 용이하게 하기 위한 것이란 것에 주의한다. 터치 영역(11)은 하나 이상의 평면에 의해 정의될 수 있다.
위에서 언급된 바와 같이, 깊이 이미지의 픽셀들은 (u, v) 좌표들 및 깊이 값의 견지에서 정의될 수 있다. 따라서 깊이 값의 각각의 픽셀은 몇몇 좌표계(반드시 도 5b의 x,y,z 좌표계일 필요는 없음)에 대해, 3D 위치가 할당될 수 있다. 픽셀들(501) 중 소수(few)(이들의 3D 위치는 이들을 터치 영역(11) 상에 있게 함)가 터치 영역(11)의 평면에서 점들로서 표현된다. 단지 소수의 픽셀들(501)이 도면을 모호하게 하지 않도록 도시되었다. 법선(502)은 깊이 픽셀들(501) 중 하나로부터 도시된다. 주어진 픽셀에 대한 법선(502)이 그 픽셀(501) 및 그의 이웃들 중 소수에 의해 정의되는 평면에 수직인 라인이다. 픽셀(501)과 그의 이웃들 간의 외적들이 법선(502)을 결정하는데 이용될 수 있다. 따라서 깊이 픽셀(501)에 대한 평면 방정식은 그 깊이 픽셀의 3D 좌표 및 법선(502)으로서 정의될 수 있다.
단계(506)에서, 터치 영역(11)이 결정된다. 터치 영역(11)은 디스플레이(96)와 대략 동일한 형상을 갖는 사각형 형상 영역으로서 정의될 수 있다. 사각형은 디스플레이(96)보다 더 크거나, 더 작거나, 또는 동일한 크기일 수 있다. 터치 영역(11)은 디스플레이(96)와 동일한 형상이 되도록 요구되는 것은 아니다. 또한, 위에서 언급된 바와 같이, 2개의 별개의 터치 영역(11)이 있을 수 있다. 각각의 영역은 전체 디스플레이 스크린(96)을 제어하는데 이용될 수 있다. 대안적으로, 각각의 터치 영역(11)은 디스플레이(96)의 별개의 부분들을 제어할 수 있다.
도 5b는 디스플레이(96)와 연관되는 x-y 좌표계에 상관될 수 있다. 디스플레이(96)의 x-y 좌표계는 해상도(예를 들어, 1280x800, 1280x960, 1280x720, 1024x768 등)에 상관될 수 있다. 해상도와 같은 디스플레이 파라미터들은 조정 가능할 수 있기 때문에, 터치 영역(11)과 디스플레이(96) 간의 맵핑은 디스플레이 파라미터들의 변화들에 응답하여 변할 수 있다.
일 실시예에서, 교정 기간 동안 터치 영역(11)을 결정하기 보단, 터치 영역(11)은 다소간 연속적으로 결정된다. 도 5c는 임의의 시간에 터치 영역(11)을 정의하는 프로세스(520)의 일 실시예의 흐름도이다. 프로세스(520)는 단계(402)의 일 실시예이다. 터치 영역(11)은 각각의 새로운 3D 이미지 프레임 또는 몇몇 다른 주파수를 통해 결정될 수 있다. 단계(522)에서, 3D 이미지 프레임이 액세스된다. 깊이 클라우드 모델(depth cloud model)이 3D 이미지를 위해 생성될 수 있다. 깊이 클라우드 모델들은 아래에서 보다 완전히 논의된다. 간략히, 깊이 클라우드 모델은 깊이 이미지의 각각의 픽셀에 대한 3D 좌표를 결정함으로써 형성될 수 있다.
단계(524)에서, 평면 방정식이 3D 이미지의 3개의 랜덤 지점들에 대해 결정된다. 평면 방정식은 3개의 지점들의 위치들에 기초하여 외적을 취함으로써 결정될 수 있다. 이들 3개의 지점들은 결국 테이블(9)의 실제 표면 상에 있지 않게 될 수 있으며, 이에 따라 이 평면 방정식은 마침내 반드시 이용되진 않을 것이다.
단계(526)에서, 평면 방정식이 버킷 내에 배치된다. 서로 일치하는(또는 적어도 일치하는 것에 근접하는) 평면들을 표현하는 평면 방정식들이 동일한 버킷에 배치될 수 있다. 단계들(525 및 526)은 모든 원하는 지점들이 분석될 때까지 3개의 랜덤 지점들의 다른 세트들에 대해 반복된다(단계(527)). 테이블(9)의 평면은 꽤 빨리 결정될 수 있다. 사용자가 자신의 손들을 테이블(9) 위에 있게 하더라도, 이 기법은 테이블(9)의 평면을 발견할 수 있다는 것에 주의한다. 따라서 이미지 데이터는 테이블(9)에 대한 사용자의 손들의 위치를 결정하는데 또한 이용될 수 있다는 것에 주의한다.
단계(528)에서, 터치 영역(11)이 정의된다. 일 실시예에서, 결국 버킷들 중 하나 내에 있게 되는 3개의 랜덤 지점들의 모든 그룹들은 터치 영역(11)을 갖는 평면 상에 있는 것으로 결정된다. 버킷은 일 실시예에서, 대부분의 지점들을 갖는 하나로 식별될 수 있다.
도 5d는 3개의 랜덤 지점들의 그룹들에 기초하여 터치 영역(11)을 결정하는 일 실시예의 예를 도시한다. 3개의 랜덤 지점들의 2개의 세트가 각각의 세트에 대한 법선(502)과 함께 도시된다. 프로세스(520) 동안, 3개의 랜덤 지점들의 대부분의 세트들이 대략적으로 동일한 평면에 있어야 한다. 그렇지 않은 그러한 세트들은 결국 폐기된다. 터치 영역(11)은 결정된 평면 내에서 몇 개의 사각형으로서 정의될 수 있다.
도 6a는 사용자의 손들 및 터치 영역(11)에 대한 손의 상대적 위치를 식별하는 프로세스(600)의 일 실시예의 흐름도이다. 프로세스(600)는 도 4a로부터의 단계들(404 및 406)의 일 실시예이다.
단계(602)에서, 3D 이미지 데이터가 캡처 디바이스(20)에 의해 캡처된다. 일 실시예에서, 프로세스(600)는 터치 영역(11)이 식별된 이후 수행된다. 따라서 프로세스(600) 동안 이용되는 이미지 데이터는 이미지 데이터가 터치 영역(11)을 결정하는데 이용된 이후 수집될 수 있다. 또한, 터치 영역(11)이 결정된 이래로, 이 영역(및 테이블과 같은 표면의 다른 부분들)은 배경으로서 분류될 수 있다. 일 실시예에서, 동일한 이미지 데이터가 터치 영역(11) 및 사용자의 손들을 결정하는데 이용된다. 프로세스(500)는 단계(602) 이전에 터치 영역(11)을 식별하는데 이용될 수 있다. 일 실시예에서, 터치 영역(11)을 식별하는데 이용되는 동일한 이미지 데이터가 프로세스(60)에서 이용된다. 프로세스(520)는 프로세스(600)에서 이용된 것과 동일한 이미지 데이터를 이용하여 터치 영역(11)을 식별하는데 이용될 수 있다.
단계(604)에서, 깊이 이미지의 깊이 픽셀들은 표면(예를 들어, 테이블(9))으로부터의 그들의 거리에 기초하여 상이한 버킷들 내로 배치된다. 일 실시예에서, 배경 픽셀들, 터치 픽셀들, 및 호버 픽셀들에 대한 버킷들이 있다. 배경 픽셀들은 표면 상에 있는 것으로 간주되는 모든 픽셀들일 수 있다. 터치 픽셀들은 표면 상의 특정한 거리 내에 있지만, 실제로 표면 상에 있지 않은 모든 것들일 수 있다. 예를 들어, 터치 픽셀들은 표면 상에 있는 것이 아니라 표면으로부터 약 5mm 이내에 있는 픽셀들일 수 있다. 호버 픽셀들은 임의의 미리-정의된 범위 내에 여전히 있지만, 터치 픽셀들보다 표면으로부터 더 떨어진 픽셀들일 수 있다. 예를 들어, 호버 픽셀들은 표면으로부터 5mm 초과 6cm 미만인 픽셀들일 수 있다.
본 명세서에서 언급된 바와 같이, 깊이 이미지의 각각의 픽셀은 일 실시예에서, 고유한 (u, v) 좌표와 연관된다. 깊이 이미지로부터의 각각의 깊이 픽셀은 그 (u, v) 좌표에 대해 이전에 결정되었던 평면 방정식을 룩업(look up)함으로써 프로세싱될 수 있다. 그 평면 방정식에 기초하여, 깊이 픽셀 및 평면으로부터의 거리가 결정될 수 있다. 따라서 사실상, 각각의 깊이 픽셀에는 표면에 대한 거리가 할당된다.
도 6b는 깊이 픽셀들을 버킷들 내에 배치함으로써 형성되는 예시적인 거리 맵(670)을 도시한다. 거리 맵(670) 내의 각각의 픽셀은 배경 버킷(672), 접촉 버킷(674), 또는 호버 버킷(676) 중 어느 하나에 배치된다. 사용자의 왼손은 대부분 호버 존(47)에 있다. 그러므로, 왼손에 대한 깊이 픽셀들은 대부분 호버 버킷(676) 내에 배치된다. 사용자의 오른손의 대부분은 호버 존(67)에 있다. 그러나 손가락 끝들 중 일부는 접촉 존(45)에 있다. 그러므로, 오른손에 대한 깊이 픽셀들 중 다수는 호버 버킷(672)에 배치된다. 그러나 일부는 접촉 버킷(674)에 배치된다. 접촉 존(45)에 있는 것으로 또한 결정되고, 이에 따라 적어도 당분간 접촉 버킷(674) 내에 배치되는, 표면 상의 다른 곳에 있는 픽셀들의 몇몇 랜덤 그룹이 있다. 깊이 이미지의 픽셀들 대부분은 도 6b의 예에서 배경 버킷(672)내에 배치된다.
도 6a의 단계(606)에서, 후보 "얼룩들(blobs)"이 3D 이미지 데이터에서 검출된다. "얼룩"은 그의 위치 및 깊이 값들에 기초하여 동일한 객체의 부분인 것으로 생각되는 픽셀들의 그룹으로서 정의될 수 있다. 일 실시예에서, 제 1 배경 픽셀들이 식별된다. 따라서 전경(foreground)(전경은 배경보다 깊이 카메라에 더 근접한 임의의 것일 수 있음)의 픽셀들만이 단계(606)에서 분석될 필요가 있다. 일 실시예에서, 일련의 플러드 필(flood fill)이 단계(606)에서 수행된다.
다수의 후보 얼룩들을 식별한 이후, 각각의 얼룩은 이어서 다음의 단계들에서 프로세싱될 수 있다. 단계(608)는 프로세싱할 추가의 얼룩들이 있는지를 결정하기 위한 테스트이다. 단계(610)에서, 현재의 후보 얼룩은 팔, 손, 손가락 등과 같이 그것이 관심의 객체인지를 결정하도록 스크리닝(screening)된다. 예를 들어, 얼룩이 너무 크거나 너무 작은 경우, 그것은 거절될 수 있다. 얼룩이 너무 큰 경우, 그것은 무효(invalid) 프레임을 표시할 수 있으며, 이 경우, 프레임은 폐기될 수 있다. 너무 작은 얼룩들은 랜덤 노이즈를 표시할 수 있으며, 이는 무시될 수 있다. 얼룩이 관심 있는 것이 되기에 너무 많은 홀(hole)들을 갖는 경우, 그것은 거절될 수 있다. 얼룩이 거절되는 경우(단계(612)), 프로세싱은 단계(608)로 리턴한다.
얼룩이 거절되지 않는 경우, 그것은 추가의 단계들에서 프로세싱된다. 일 실시예에서, 손을 포함하는 것으로 결정된 얼룩들이 프로세싱된다(단계(612) 참조). 그러나 다른 기준들이 이용될 수 있다. 상기 스크리닝은 신체 부분에 대한 것이 되도록 요구되는 것은 아니다. 일 대안으로서, 사용자는 사용자 입력을 제공하도록 몇몇 객체를 이용할 수 있다. 펜, 연필 등과 같은 임의의 객체가 이용될 수 있다.
일 실시예에서, 추가로 분석될 얼룩에 대해, 포인트 클라우드 모델이 발현된다. 그러나 포인트 클라우드 모델은 앞서 결정될 수 있다는 것에 주의한다. 포인트 클라우드 모델은, 깊이 이미지의 각각의 깊이 픽셀에 3D 공간의 좌표가 할당되는 3D 모델일 수 있다. 포인트 클라우드는 깊이 이미지 내의 각각의 깊이 픽셀에 대해 하나의 지점을 가질 수 있지만, 그것이 절대 요건은 아니다. 일 실시예에서, 포인트 클라우드 내의 각각의 지점은 체적 픽셀(volumetric pixel) 또는 "복셀(voxel)"이다. 논의를 용이하게 하기 위해, 포인트 클라우드 내의 각각의 복셀은 깊이 이미지 내의 대응하는 깊이 픽셀을 갖는다는 것이 가정될 것이다. 그러나 이러한 1대1 대응은 요건이 아니란 것에 주의한다.
도 6c는 손 및 팔의 부분의 포인트 클라우드 모델(605)을 도시한다. 포인트 클라우드 모델(605)은 (a, b, c) 좌표계 내에서 도시된다. 따라서 좌표계의 a-축, b-축, 및 c-축이 도시된다. 몇몇 실시예들에서, 좌표계 내의 축들 중 2개는 깊이 이미지의 u-축 및 v-축에 대응한다. 그러나 이러한 대응이 요건은 아니다. 글로벌 좌표계에서 제 3 축에 따른 위치는 깊이 맵 내의 각각의 픽셀에 대한 깊이 값에 기초하여 결정될 수 있다. 포인트 클라우드 모델(605)이 다른 방식으로 생성될 수 있다는 것에 주의한다.
도 6a의 단계(614)에서, 시스템은 사용자의 손의 적어도 부분이 접촉 존(45) 내에 있는지를 결정한다. 일 실시예에서, 시스템은 얼룩의 부분이 접촉 존(45) 내에 있는지를 결정할 수 있다. 일 실시예에서, 시스템은 손가락 끝들을 트래킹하고 손가락 끝이 접촉 존(45)에 있는지를 결정한다. 추가의 세부사항들은 아래에서 논의된다.
손의 부분이 접촉 존(45) 내에 있는 경우, 일 실시예에서, 터치 이벤트가 단계(616)에서 생성된다. 단계(616)는 손가락 끝들이 접촉 존에 있거나 엘리먼트를 선택하고 있다고 사용자에게 보여주는 방식으로 손가락 끝들을 랜더링하는 것을 포함할 수 있다. 단계(616)는 또한 전자 디바이스에 대한 입력으로서 선택을 수신하는 것을 포함할 수 있다. 추가의 세부사항들이 아래에서 논의된다. 단계(614 또는 616) 이후에, 프로세싱은 단계(618)로 이어진다.
단계(618)에서, 손이 호버 존(47) 내에 있는지에 관한 결정이 내려진다. 호버 존(47)은 터치 영역(11)의 표면으로부터 떨어진 특정한 거리 내에 있는 것으로서 정의될 수 있다. 손이 호버 존(47)에 있는 경우, 단계(620)에서, 일 실시예에서 호버 이벤트가 생성된다. 단계(620)는 손들이 호버 존에 있다고 사용자에게 보여주는 방식으로 호버 존에 있는 손들의 위치를 랜더링하는 것을 포함할 수 있다. 호버 존은 또한 전자 디바이스에 대한 사용자 입력일 수 있다. 위에서 언급된 바와 같이, 사용자 호버링은 디스플레이 상의 엘리먼트에 대한 관심 또는 포커스를 표시할 수 있지만, 이것이 의무적이진 않는다. 추가의 세부사항들은 아래에서 논의된다. 단계(618 또는 620)에서, 프로세싱은 단계(622)로 이어진다.
손이 접촉 존(45) 또는 호버 존(47) 중 어느 하나에 있지 않은 경우, 손은 단계(622)에서 접촉 및 호버 존들 외부에 있는 것으로서 주지된다. 이 정보는 손이 접촉 및 호버 존들(45, 47) 외부에 있는 경우 조차도 그 손의 위치를 사용자에게 보여주는 피드백이 디스플레이(96) 상에 제시될 수 있도록 주지된다. 프로세스(600)는 이어서 프로세싱할 추가의 얼룩들이 있는지를 결정하기 위해 단계(608)로 리턴한다.
도 6d는 손가락 끝들을 트래킹하는 프로세스(680)의 일 실시예의 흐름도를 도시한다. 손가락 끝들을 트래킹하는 것은 접촉 존(45) 내에 얼룩이 있다고 결정될 때 수행될 수 있다. 프로세스(680)는 프로세스(600)의 단계(614)에서, 손의 부분이 접촉 존(45)에 있다고 결정될 때 수행될 수 있다. 단계(682)에서, 터치 영역(11)에 접촉하는 손의 부분들이 검출된다. 일 실시예에서, 터치 얼룩들이 단계(682)에서 검출된다. 일 실시예에서, 일련의 플러드 필들이 접촉 존(45)에 있는 손가락 끝 얼룩들을 식별하도록 수행된다. 이들 플러드 필들은 일 실시예에서, 단지 손/팔 얼룩의 부분인 것으로 식별된 픽셀들과 함께 작동한다. 이는 사용자의 손과 연관되지 않은 랜덤 픽셀들이 터치 지점으로서 잘못 식별되는 것을 방지한다. 도 6b를 다시 참조하면, 접촉 존 버킷(674) 내에 배치되고 손의 부분인, 거리 맵(670) 내의 이들 픽셀들만이 터치 지점으로서 식별된다.
일 실시예에서, 이들 터치 얼룩들 각각은 특정한 손가락 및 손으로서 식별된다. 예를 들어, 주어진 터치 얼룩은 우측 집게 손가락의 부분인 것으로 식별될 수 있다. 이 정보는 사용자가 어느 손가락 및/또는 손이 이용되는지에 의존하는 입력을 허용하기 위해 추후에 이용될 수 있다. 그러나 특정한 손가락/손의 식별이 몇몇 다른 시간에 수행될 수 있다는 것이 주의된다.
얼룩이 접촉 존(45) 내에 있는지를 결정할 때, 프로세싱은 복셀별 단위로 진행될 수 있다. 따라서 단계(682)는 얼룩을 표현하는 포인트 클라우드(605) 내의 임의의 지점이 접촉 존(45)내에 있는지를 결정할 수 있다.
단계(682)는 일 실시예에서 한 번에 하나의 이미지 프레임을 분석한다. 단계(682)는 각각의 새로운 이미지 프레임에 대해 반복될 수 있다. 단계(684)에서, 손가락 끝 얼룩들이 오버타임(overtime) 트래킹될 수 있다. 따라서 단계(684)는 다수의 상이한 이미지 프레임들을 프로세싱한다. 단계(684)는 하나의 프레임으로부터 다음 프레임으로 손가락 끝 얼룩을 매칭하는 것을 포함할 수 있다. 특정한 손/손가락이 이전의 언급된 바와 같이 각각의 손가락 끝 얼룩에 대해 식별되는 것이 요구되는 것은 아니란 것에 주의한다. 일 실시예에서, 에너지 최소화는 현재 프레임으로부터 하나 이상의 지난 프레임들로 손가락 끝 얼룩들을 매칭하도록 이용된다.
단계(686)에서, 사용자 입력은 손가락 끝 얼룩들의 트래킹에 기초하여 결정된다. 일 실시예에서, 하나 이상의 손가락 끝들의 터치 영역(11)의 x-y 좌표가 시간에 따라 트래킹된다. 일 실시예에서, 터치 영역(11)에서 이동하고 있는 손가락 끝들의 수가 사용자 입력의 타입을 결정한다. 예를 들어, 이동중인 하나의 손가락은 사용자가 디스플레이(96) 상에서 엘리먼트를 이동시키길 원한다는 것을 표시할 수 있다. 2개의 손가락들이 동시에 이동중인 경우, 이는 사용자가 줌 인 또는 줌 아웃하기를 원한다는 것을 표시할 수 있다. 하나의 타입의 주밍(zooming)은 랜더링되고 있는 것의 크기를 변경하는 것이다. 예를 들어, 사용자는 맵의 줌 인 또는 줌 아웃을 원할 수 있다. 다른 타입의 주밍은 디렉토리에서 더 높거나 더 낮은 레벨로 이동하는 것이다. 예를 들어, 사용자는 이들이 다음 하향의 디렉토리의 파일들 또는 다른 정보를 보기를 원한다고 표시하도록 그의 손가락들을 펼칠 수 있다(spread apart). 다른 예로서, 자신의 손가락들을 떨어지게 이동시키는 것은 폴더가 그의 콘텐츠들을 드러내도록 열려야 한다고 시그널링하는데 이용될 수 있다. 손가락들을 함께 붙이게 이동시키는 것은 폴더가 닫혀야 한다는 것, 또는 사용자가 계층에서 한 레벨 위로(또는 뒤로) 가기를 원한다는 것을 표시할 수 있다.
일 실시예에서, 사용자 입력은 사용자가 어느 손 및/또는 손가락들을 이용하고 있는지에 의존한다. 몇몇 종래의 터치 인터페이스들과 달리, 실시예들의 터치 인터페이스들은 사용자가 어느 손 및 손가락들을 이용하고 있는지를 결정할 수 있다는 것에 주의한다. 예를 들어, 사용자가 (어느 한 손의) 엄지와 손가락을 함께 쥐는 것에 대조적으로, 한 손의 손가락과 다른 손의 손가락을 쥐게 할 수 있다. 몇몇 종래의 터치 인터페이스들에서, 이들 동작들은 구별될 수 없다. 그러나 일 실시예에서, 상이한 사용자 입력이 이들 2개의 상이한 사용자 동작들에 대해 할당된다. 어느 손 및/또는 손가락들이 이용되고 있는지에 의존하는 사용자 입력을 제공하기 위한 다수의 다른 가능성들이 있다.
하나의 타입의 사용자 입력은 디스플레이(96) 상에 제시되는 엘리먼트의 선택이다. 선택은 사용자가 단순히 엘리먼트를 터치함으로써 표시될 수 있다. 이것이 선택으로서 고려되기 위해 사용자가 엘리먼트를 얼마나 오래 터치해야 하는지를 정의하는 파라미터가 있을 수 있다. 선택은 또한 사용자가 한번 이상 탭핑(tapping)함으로써 또한 표시될 수 있다. 예를 들어, 사용자는 엘리먼트를 선택하기 위해 그것을 단순히 탭핑할 수 있다. 대안적으로, 선택은 더블 탭에 의해 표시될 수 있다. 다수의 다른 타입들의 입력이 이용될 수 있다.
도 6d는 손가락 끝 얼룩들이 트래킹되는 예를 설명한다는 것에 주의한다. 그러나 다른 객체들이 트래킹될 수 있다. 언급된 바와 같이, 터치 입력을 제공하기 위해 신체 부분이 이용되는 것이 요구되는 것은 아니다. 예를 들어, 사용자는 터치 영역(11)과 상호작용하도록 펜과 같은 객체를 이용할 수 있다. 이 예에서, 접촉 존에 있는 펜의 부분들은 사용자 입력을 결정하기 위해 시간에 따라 트래킹될 수 있다.
도 7은 사용자 입력 엘리먼트(18) 및 그림자들(21)을 랜더링하는 프로세스(700)의 일 실시예의 흐름도이다. 단계(702)에서, 손에 대한 포인트 클라우드 모델(605)이 액세스된다. 일 실시예에서, 포인트 클라우드 모델(605)의 각각의 픽셀은 그의 깊이 값에 기초하여 프로세싱되어서, 추가의 랜더링 단계들이 도 1c의 예와 같은 이미지를 생성할 수 있게 된다. 이 예에서 논의된 바와 같이, 사용자 입력 엘리먼트(18)는 투명한 내부 부분(13) 및 에지들(15, 17)을 가질 수 있다. 에지들 중 일부는 이들이 터치 지점들(15)이라는 것을 사용자에게 보여주도록 하이라이트될 수 있다.
단계(704)에서, 사용자 입력 엘리먼트(18)를 랜더링하기 위한 데이터가 생성된다. 단계(704)는 하나 이상의 블렌딩(blending), 쉐도잉(shading) 및 다른 그래픽 프로세싱 단계들을 포함할 수 있다. 일 실시예에서, 포인트 클라우드 모델(605)의 각각의 픽셀은, 직경이 터치 영역(11)으로부터 픽셀의 거리에 의존하는 원 또는 구(sphere)로서 표현된다. 일 실시예에서, 원의 직경은 그것이 터치 영역(11)으로부터 더 멀리 떨어지면 더 크다. 손이 터치 영역(11)으로부터 멀리 있을 때 원들을 더 크게 하는 것은 결과적으로 일 실시예에서 아래 놓이는 이미지의 블러링(blurring)을 더 크게 할 수 있다. 이는 이들이 더 멀리 떨어져서 터치 영역(11)과 상호작용하는 시각적 단서를 사용자에게 제공한다.
일 실시예에서, 단계(704)의 프로세싱은 원들이 블렌딩되도록 블렌딩 동작을 수행한다. 이는 내부 부분(13) 및 에지들(15, 17)이 상이한 밝기 레벨들을 갖는 중간 이미지를 생성한다. 따라서 투명한 내부 부분(13)은, 어느 영역들이 왜곡과 같이 내부 부분(13)과 연관되는 다양한 효과들을 가져야 하는지를 결정하도록 쉽게 식별될 수 있다. 또한, 터치 에지들(15)이 쉽게 식별될 수 있어서, 하이라이트들로서 이들을 랜더링하기 위한 데이터가 생성될 수 있게 된다. 일 실시예에서, 중간 이미지는 쉐이더(shader)내로의 입력이다.
단계(706)에서, 사용자 입력 엘리먼트(18)에 대한 그림자들(21a, 21b)이 생성된다. 일 실시예에서, 그림자들은 2개의 허구의 광 소스들에 기초하여 정의된다. 이 허구의 광 소스들은 터치 영역(11) 내의 사용자의 손들의 그림자들을 표현하기 위한 데이터를 생성하는데 이용될 수 있다. 일 예로서, 허구의 광 소스들은 터치 영역(11)에 대해 약 45도 각도일 수 있다. 위에서 언급된 바와 같이, 포인트 클라우드 모델(605)의 각각의 픽셀은 원 또는 유사한 객체로서 표현될 수 있다. 일 실시예에서, 광 소스들이 그림자들(21a, 21b)에 대한 데이터를 생성하기 위해 터치 영역(11)의 평면으로 이들 원들을 통해 프로젝팅된다.
단계(708)에서, 사용자 입력 엘리먼트(18) 및 그림자들(21a, 21b)은 적절한 위치에서 디스플레이(96) 상에 랜더링된다. 단계(708)는 디스플레이(96)의 x-y 좌표에 대해 터치 영역(11)의 x-y 좌표계를 상관시키는 것을 포함할 수 있다는 것에 주의한다. 디스플레이(96)의 x-y 좌표는 디스플레이 해상도(예를 들어, 1280x600 등)에 기초하여 정의될 수 있다. 입력 객체(18) 및 그림자들(21a, 21b) 둘 다를 랜더링하는 것은 이들 객체들을 표현하는 데이터를, 디스플레이(96) 상에 랜더링되고 있는 것을 표현하는 데이터와 블렌딩하는 것을 포함할 수 있다.
언급된 바와 같이, 디스플레이(96)는 HMD(2)와 연관될 수 있다. 다음은 HMD들(2)의 추가의 세부사항들을 제공한다. 도 8a는 씨-쓰루의 혼합 현실 디스플레이 디바이스의 안경 실시예에서 프레임(115)의 안경 다리(102)의 측면도이다. 비디오 및 정지 이미지들을 캡처할 수 있는, 물리적 환경을 향하는 카메라(physical environment facing video camera)(113)가 프레임(115) 앞에 있다. 특히, 몇몇 실시예들에서, 물리적 환경을 향하는 카메라(113)는 가시광 또는 RGB 카메라는 물론 깊이 카메라일 수 있다. 예를 들어, 깊이 카메라는, 가시광을 통과하게 하고 조명기에 의해 전송되는 미리 결정된 파장 주위 또는 파장 범위 내의 반사된 IR 방사선을 CCD 또는 다른 타입의 깊이 센서로 지향시키는, 가시적 이미지 센서 앞의 핫 미러(hot mirror)와 같은 핫 반사 표면 및 IR 조명기 전송기를 포함할 수 있다. 다른 타입들의 가시광 카메라(RGB 카메라) 및 깊이 카메라들이 이용될 수 있다. 깊이 카메라들에 관한 추가의 정보는 2010년 6월 11일 출원된 미국 공개 특허 출원 번호 제2011/0307260호에서 발견될 수 있으며, 상기 문서는 그 전체가 인용에 의해 본원에 포함된다. 센서들로부터의 데이터는 제어 회로(136)의 프로세서(210) 또는 프로세싱 유닛(4, 5)에 송신될 수 있으나, 이들 둘 다는 이 데이터를 프로세싱할 수 있지만, 유닛(4, 6)은 프로세싱을 위해 허브 컴퓨팅 시스템(12) 또는 네트워크를 통해 컴퓨터 시스템에 또한 송신할 수 있다. 프로세싱은 이미지 단편화 및 에지 검출 기법들을 통해 객체들을 식별하고 깊이를 사용자의 실세계 시야 내의 객체들에 맵핑한다. 부가적으로, 물리적 환경을 향하는 카메라(113)는 또한 주변광을 측정하기 위한 노출계(light meter)를 포함할 수 있다.
제어 회로들(136)은 헤드 마운트형 디스플레이 디바이스(2)의 다른 컴포넌트들을 지원하는 다양한 전자기기들을 제공한다. 제어 회로들(136)의 추가의 세부사항들은 도 10에 관하여 아래에서 제공된다. 이어폰(130), 관성 센서(132), GPS 트랜시버(144) 및 온도 센서(138)가 안경 다리(102)에 장착되거나 내부에 있다. 일 실시예에서, 관성 센서들(132)은 3축 자력계(132A), 3축 자이로(three axis gyro)(132B) 및 3축 가속도계(132C)(도 10A 참조)를 포함한다. 관성 센서들은 헤드 마운트형 디스플레이 디바이스(2)의 위치, 배향 및 갑작스런 가속도를 감지하기 위한 것이다. 이들 이동들로부터, 머리 위치가 또한 결정될 수 있다.
디스플레이 디바이스(2)는 하나 이상의 가상의 객체들을 포함하는 하나 이상의 이미지들을 생성할 수 있는 이미지 생성 유닛을 제공한다. 몇몇 실시예들에서, 마이크로 디스플레이는 이미지 생성 유닛으로서 이용될 수 있다. 이 예에서 마이크로 디스플레이 어셈블리(173)는 광 프로세싱 엘리먼트들 및 가변 포커스 조정기(135)를 포함한다. 광 프로세싱 엘리먼트의 예는 마이크로 디스플레이 유닛(120)이다. 다른 예들은 렌즈 시스템(122)의 하나 이상의 렌즈들과 같은 하나 이상의 광학 엘리먼트들 및 도 9a 및 도 9b에서 표면들(124a 및 124b) 또는 도 9c 및 도 9d의 124와 같은 하나 이상의 반사 엘리먼트들을 포함한다. 렌즈 시스템(122)은 단일 렌즈 또는 복수의 렌즈들을 포함할 수 있다.
안경 다리(102)에 장착되거나 내부에 있는 마이크로 디스플레이 유닛(120)은 이미지 소스를 포함하고 가상의 객체의 이미지를 생성한다. 마이크로 디스플레이 유닛(120)은 다음의 도면들에서 예시되는 바와 같이, 렌즈 시스템(122) 및 반사 표면(124) 또는 반사 표면들(124a 및 124b)과 광학적으로 정렬된다. 광학 정렬은 하나 이상의 광학 축들을 포함하는 광학 축(133) 또는 광학 경로(133)를 따를 수 있다. 마이크로 디스플레이 유닛(120)은, 도 9c 및 도 9d의 도광 광학 엘리먼트(light guide optical element)(112)로 광을 지향시키는 반사 엘리먼트(124)로 또는 도 9a 내지 도 9d에서와 같이 광학 축(142)을 따른 자연적 또는 실제 다이렉트 뷰(direct view)와 경로(133)를 따른 가상 이미지 경로를 결합하는 부분적 반사 엘리먼트(124b)로 가상 이미지의 광을 지향시키는 반사 표면(124a)(예를 들어, 미러 또는 다른 표면)으로 이미지 광을 지향할 수 있는 렌즈 시스템(122)을 통해 가상의 객체의 이미지를 프로젝팅한다. 뷰들의 결합은 사용자의 눈으로 지향된다.
가변 포커스 조정기(135)는 마이크로 디스플레이 어셈블리의 엘리먼트의 광학 전력 또는 마이크로 디스플레이 어셈블리의 광학 경로에서 하나 이상의 광 프로세싱 엘리먼트 간의 변위를 변경한다. 렌즈의 광학 전력은 그의 초점 길이의 역수, 예를 들어, 1/초점 길이로서 정의되며, 이에 따라 하나에서의 변경은 다른 것에 영향을 미친다. 초점 길이의 변경은 시야의 영역, 예를 들어, 특정한 거리의 영역의 변경을 초래하며, 이는 마이크로 디스플레이 어셈블리(173)에 의해 생성된 이미지에 대한 포커스 내에 있다.
변위 변경들을 행하는 마이크로 디스플레이 어셈블리(173)의 일 예에서, 변위 변경들은 이 예에서 렌즈 시스템(122) 및 마이크로 디스플레이(120)와 같은 적어도 하나의 광 프로세싱 엘리먼트를 지원하는 전기자(armature)(137) 내에서 안내된다. 전기자(137)는 선택된 변위 또는 광학 전력을 달성하기 위해 엘리먼트들의 물리적 이동 동안 광학 경로(133)를 따른 정렬을 안정화시키는데 도움을 준다. 몇몇 예들에서, 조정기(135)는 전기자(137) 내에서 렌즈 시스템(122)의 렌즈와 같은 하나 이상의 광학 엘리먼트들을 이동시킬 수 있다. 다른 예들에서, 전기자는 광 프로세싱 엘리먼트 주변 영역에 공간 또는 홈(groove)들을 가질 수 있고, 이에 따라, 전기자는 광 프로세싱 엘리먼트를 이동시키지 않고 엘리먼트, 예를 들어, 마이크로 디스플레이(120) 상에서 슬라이드(slide)한다. 렌즈 시스템(122)과 같은 전기자 내의 다른 엘리먼트가 부착되어, 시스템(122) 또는 그 내부의 렌즈들은 이동하는 전기자(137)와 함께 슬라이드하거나 이동하게 된다. 변위 범위는 통상적으로 대략 몇 밀리미터들(mm) 정도이다. 이 예에서, 범위는 1-2mm이다. 다른 예들에서, 전기자(137)는 변위 이외의 다른 물리적 파라미터들의 조정을 포함하는 초점 조정 기법들을 위해 렌즈 시스템(122)에 대한 지원을 제공할 수 있다. 이러한 파라미터의 예는 극성이다.
마이크로 디스플레이 에셈블리의 초점 거리를 조정하는 것에 관한 추가의 정보를 위해, 발명자들이 Avi Bar-Zeev 및 John Lewis이고 2010년 11월 8일 출원되고, 발명의 명칭이 "Automatic Variable Virtual Focus for Augmented Reality Displays"인 미국 특허 번호 제12/941,825호를 참조하며, 상기 미국 특허는 그에 의해 인용에 의해 포함된다.
일 예에서, 조정기(135)는 압전 모터(piezoelectric motor)와 같은 액추에이터일 수 있다. 액추에이터에 대한 다른 기술들이 또한 이용되고, 이러한 기술들 중 몇몇 예들은 코일 및 영구 자석, 자왜 엘리먼트(magneto striction element) 및 전왜 엘리먼트(electrostriction element)로 형성되는 음성 코일이다.
마이크로 디스플레이(120)를 구현하는데 이용될 수 있는 상이한 이미지 생성 기술들이 있다. 예를 들어, 마이크로 디스플레이(120)는 광 소스가 광학적으로 활성 물질, 백색 광을 갖는 역광으로 변조되는 투과 프로젝션 기술(trans missive projection technology)을 이용하여 구현될 수 있다. 이들 기술들은 보통 강력한 배면광들 및 높은 광학 에너지 밀도들을 갖는 LCD 타입 디스플레이들을 이용하여 구현된다. 마이크로 디스플레이(120)는 외부 광이 반사되고 광학적으로 활성 물질에 의해 변조되는 반사 기술을 이용하여 또한 구현될 수 있다. 조명은 기술에 의존하여 백색 소스 또는 RGB 소스 중 어느 하나에 의해 전방으로 비추게 된다. 디지털 광 프로세싱(DLP), 실리콘 상의 액정(LCOS) 및 콸컴 사로부터의 Mirasol® 디스플레이 기술은, 대부분의 에너지가 변조된 구조로부터 반대로 반사되고 본 명세서에서 설명되는 시스템에서 이용될 수 있을 때 효율적인 반사 기술들의 모든 예들이다. 부가적으로, 마이크로 디스플레이(120)는 광이 디스플레이에 의해 생성되는 발광 기술을 이용하여 구현될 수 있다. 예를 들어, 마이크로 비전 사로부터의 PicoPTM 엔진은 눈으로 직접 비밍(beaming)되거나(예를 들어, 레이저) 투과 엘리먼트로서 작동하는 작은 스크린 상으로 스티어링하는 마이크로 미러를 이용하여 레이저 신호를 방출한다.
위에서 언급된 바와 같이, 마이크로 디스플레이 어셈블리(173)의 광 프로세싱 엘리먼트들의 구성은 가상 객체가 이미지에서 나타나는 초점 거리 또는 초점 영역을 생성한다. 구성의 변경은 가상 객체 이미지에 대한 초점 영역을 변경시킨다. 광 프로세싱 엘리먼트들에 의해 결정된 초점 영역은 수학식 1/Sl + 1/S2 = 1/f에 기초하여 결정되고 변경될 수 있다.
기호(f)는 마이크로 디스플레이 어셈블리(173)에서 렌즈 시스템(122)과 같은 렌즈의 초점 길이를 표현한다. 렌즈 시스템(122)은 앞마디 지점(front nodal point) 및 뒷마디 지점(rear nodal point)을 갖는다. 광선들이 광학 축에 대해 주어진 각도로 어느 하나의 마디 지점 쪽으로 지향되는 경우, 광선들은 광학 축에 대한 등가의 각도로 다른 하나의 마디 지점으로부터 나타날 것이다. 일 예에서, 렌즈 시스템(122)의 뒷마디 지점은 그 자신과 마이크로 디스플레이(120) 간에 있게 될 것이다. 뒷마디 지점으로부터 마이크로 디스플레이(120)까지의 거리는 S2로서 표시될 수 있다. 앞마디 지점은 통상적으로 렌즈 시스템(122)의 몇 mm 내에 있다. 타겟 위치는 3-차원 물리적 공간에서 마이크로 디스플레이(120)에 의해 생성될 가상 객체 이미지의 위치이다. 앞마디 지점으로부터 가상 이미지의 타겟 위치까지의 거리는 S1로서 표시될 수 있다. 이미지가 마이크로 디스플레이(120)와, 렌즈의 동일한 측 상에서 나타나는 가상 이미지가 될 것이기 때문에, 부호 규칙들(sign convention)은 S1이 음의 값을 갖는다는 것을 정의한다.
렌즈의 초점 길이가 고정되는 경우, S1 및 S2는 상이한 깊이들의 가상 객체들을 포커싱하도록 변동된다. 예를 들어, 초기 위치가 무한대로 세팅된 S1 및 렌즈 시스템(122)의 초점 길이와 동일한 S2를 가질 수 있다. 렌즈 시스템(122)이 10mm의 초점 길이를 갖는다고 가정하면, 가상 객체가 사용자의 시야 내로 약 1피트 또는 300mm에 배치되는 예를 고려한다. S1은 이제 -300mm이고, f는 10mm이고, S2는 현재 초점 길이의 초기 위치, 즉 10mm로 세팅되며, 이는 렌즈 시스템(122)의 뒷마디 지점이 마이크로 디스플레이(120)로부터 10mm 떨어져 있다는 것을 의미한다. 렌즈(122)와 마이크로 디스플레이(120) 간의 새로운 거리 또는 새로운 변위는 l/(-300) + 1/S2 = 1/10에 기초하여 결정되며, 여기서 모든 단위들은 mm이다. 결과는 S2에 대해 약 9.67mm이다.
일 예에서, 이를 테면 제어 회로의 하나 이상의 프로세서들, 즉 프로세싱 유닛(4, 5) 또는 둘 다는 S1 및 S2에 대한 변위 값들을 계산하여, 고정된 초점 길이(f)를 남기고, 제어 회로(136)가 가상 조정기 구동기(237)(도 10a 참조)로 하여금, 예를 들어, 가변 가상 초점 조정기(135)가 광학 경로(133)를 따라 렌즈 시스템(122)을 이동시키기 위한 구동 신호들을 송신하도록 하게 할 수 있다. 다른 실시예들에서, 마이크로 디스플레이 유닛(120)은 렌즈 시스템(122)을 이동시키는 대신 또는 거기에 더하여 이동될 수 있다. 다른 실시예들에서, 렌즈 시스템(122)의 적어도 하나의 렌즈의 초점 길이는 또한 광학 경로(133)에 따른 변위의 변경들과 함께 또는 그 대신 변경될 수 있다.
도 8b는 마이크로 디스플레이 어셈블리의 하드웨어 및 소프트웨어 컴포넌트 및 3차원 조정에 대한 지원을 제공하는 혼합 현실 디스플레이 디바이스의 다른 실시예의 안경 다리의 측면도이다. 도 8a에서 예시된 번호들 중 일부는 도면에서 어수선함을 방지하기 위해 제거되었다. 디스플레이 광학 시스템(14)이 3차원 중 임의의 차원으로 이동되는 실시예들에서, 반사 표면(124)에 의해 표현되는 광학 엘리먼트들 및 마이크로 디스플레이 어셈블리(173)의 다른 엘리먼트들, 예를 들어, 120, 122는 또한 디스플레이 광학 시스템으로의 가상 이미지의 광의 광학 경로(133) 유지하기 위해 또한 이동될 수 있다. 이 예에서, 제어 회로(136)(도 10a 참조)의 프로세서(210)의 제어 하에서 모터 블록(203)에 의해 표현되는 하나 이상의 모터들 및 샤프트들(205)로 구성되는 XYZ 이송 매커니즘은 마이크로 디스플레이 어셈블리(173)의 엘리먼트들의 이동을 제어한다. 이용될 수 있는 모터들의 예들은 압전 모터들이다. 예시된 예에서, 하나의 모터가 전기자(137)에 부착되고, 가변 초점 조정기(135)를 또한 이동시키며, 다른 대표적 모터(203)는 반사 엘리먼트(124)의 이동을 제어한다.
도 9a는 시선 검출 엘리먼트들의 배열을 포함하는 씨-쓰루의 니어-아이 혼합 현실 디바이스(2)의 이동 가능한 디스플레이 광학 시스템(14)의 실시예의 상면도이다. 니어-아이 디스플레이 디바이스(2)의 프레임(115)의 부분은 디스플레이 광학 시스템(14)을 둘러쌀 것이고 예시되는 바와 같은 마이크로 디스플레이(120) 및 그의 수반되는 엘리먼트들을 포함하는 마이크로 디스플레이 어셈블리(173)의 실시예의 엘리먼트들에 대한 지원을 제공한다. 디스플레이 시스템(14)의 컴포넌트들, 이 경우에 우측 눈 시스템에 대해 14r을 보여주기 위해, 디스플레이 광학 시스템을 둘러싸는 프레임(115)의 상위 부분은 도시되지 않는다. 부가적으로, 브리지(104)의 마이크(110)는 디스플레이 조정 매커니즘(203)의 동작에 주의를 집중하도록 이 도면에서 도시되지 않는다. 도 4c의 예에서와 같이, 이 실시예에서 디스플레이 광학 시스템(14)은, 이 예에서 마이크로 디스플레이 어셈블리(173)를 또한 둘러싸는 내부 프레임(117r)을 이동시킴으로써 이동된다. 디스플레이 조정 매커니즘은 이 실시예에서, 3축 모터들(203)로서 실현되며, 이 3축 모터들(203)은, 일 실시예에서, 이동의 세(3)개의 축들을 표시하는 기호(144)에 의해 표시되는 바와 같이 3 차원 중 임의의 차원에서, 마이크로 디스플레이 어셈블리(173)를 포함하는 디스플레이 광학 시스템(14)을 이동(translate)시키도록 내부 프레임(117r)에 그의 샤프트들(205)을 부착한다.
이 실시예에서 디스플레이 광학 시스템(14)은 광학 축(142)을 갖고, 사용자가 실세계의 실제 다이렉트 뷰를 보도록 허용하는 씨-쓰루 렌즈(118)를 포함한다. 이 예에서, 씨-쓰루 렌즈(118)는 안경에서 이용되는 표준 렌즈이며, 임의의 처방(무처방을 포함함)에 따라 제조될 수 있다. 다른 실시예에서, 씨-쓰루 렌즈(118)는 가변 처방 렌즈들에 의해 대체될 수 있다. 몇몇 실시예들에서, 씨-쓰루의 니어-아이 디스플레이 디바이스(2)는 부가적인 렌즈들을 포함할 것이다.
디스플레이 광학 시스템(14)은 추가로 반사 표면들(124a 및 124b)을 포함한다. 이 실시예에서, 마이크로 디스플레이(120)로부터의 광은, 광학 경로(133)를 따라 이동하는 가상 객체 이미지 뷰를 광학 축(142)을 따른 자연적 또는 실제 다이렉트 뷰와 결합하는, 렌즈(118)에 임베딩되는 부분 반사 엘리먼트(124b)로, 반사 엘리먼트(124a)를 통해 광학 경로(133)를 따라 지향되어서, 결합된 뷰들은 사용자의 눈, 우측 눈으로, 이 예에서 광학 축에서, 가장 맑은 뷰를 위해 최고 조준된 광을 갖는 위치로 지향된다.
광 센서의 검출 영역(139r)은 또한 디스플레이 광학 시스템(14r)의 부분이다. 광학 엘리먼트(125)는 광학 축(142)을 따라 수신되는 사용자 눈으로부터의 반사된 광을 캡처함으로써 검출 영역(139r)을 실현하고, 이 예에서, 내부 프레임(117r) 내의 렌즈(118)에 위치된 센서(134r)로 캡처된 광을 지향시킨다. 도시된 바와 같이, 이 배열은 센서(134r)의 검출 영역(139)이 디스플레이 광학 시스템(14)의 중심과 정렬되는 그의 중심을 갖도록 허용한다. 예를 들어, 센서(134r)가 이미지 센서인 경우, 센서(134r)는 검출 영역(139)을 캡처하고, 이에 따라 이미지 센서에서 캡처된 이미지는 광학 축 상에서 중심화(centered)되는데, 이는 검출 영역(139)이 있기 때문이다. 이 예에서, 센서(134r)는 가시광 카메라 또는 RGB/IR 카메라의 결합이고, 광학 엘리먼트(125)는 사용자의 눈으로부터 반사된 가시광을 반사하는 광학 엘리먼트, 예를 들어, 부분적 반사 미러를 포함한다.
다른 실시예들에서, 센서(134r)는 IR 카메라와 같은 IR 디바이스이고, 엘리먼트(125)는 가시광이 자신을 통과하게 하고 RF 방사선을 센서(134r)에 반사하는 핫 반사 표면을 포함한다. IR 카메라는 반짝임(glint)들 뿐만 아니라, 눈동자를 포함하는 사용자의 눈의 적외선 또는 적외선에 가까운 이미지를 캡처할 수 있다.
다른 실시예들에서, IR 센서 디바이스(134r)는 광학 위치 센서로서 때때로 지칭되는 위치 감지 디바이스(PSD)이다. 센서의 표면 상의 검출된 광의 위치가 식별된다. 반짝임들에 대한 IR 조명기들의 미리 결정된 파장 주변 또는 파장 범위를 감지하는 PSD가 선택될 수 있다. 위치 감지 디바이스의 미리 결정된 파장 주변 또는 파장 범위 내의 광이 디바이스의 광 감지 부분 또는 센서 상에서 검출될 때, 검출기의 표면 상의 위치를 식별하는 전기 신호가 생성된다. 몇몇 실시예들에서, PSD의 표면은 광의 위치가 결정될 수 있는 픽셀들과 같은 이산(discrete) 센서들로 분할된다. 다른 예들에서, 표면 상의 로컬 저항의 변경이 PSD 상의 광 스팟의 위치를 식별하는데 이용될 수 있는 PSD 등방 센서가 이용될 수 있다. PSD들의 다른 실시예들이 또한 이용될 수 있다. 미리 결정된 시퀀스로 조명기들(153)을 동작시킴으로써, PSD의 반짝임들의 반사의 위치가 식별되고 이에 따라 각막 표면 상의 그의 위치로 역으로 관련될 수 있다.
광 지향 엘리먼트, 이 경우에, 도 9a 내지 도 9d의 반사 엘리먼트들(125, 124, 124a 및 124b)의 도시는 이러한 기능들을 대표한다. 엘리먼트들은 임의의 수의 형태들을 취하며 카메라 센서 또는 사용자의 눈과 같이 그의 의도된 목적지로 광을 지향하기 위한 하나 이상의 배열들로 된 하나 이상의 광학 컴포넌트들을 이용하여 구현될 수 있다. 도시된 바와 같이, 배열은 센서의 검출 영역(139)이 디스플레이 광학 시스템(14)의 중심과 정렬된 그의 중심을 갖도록 허용한다. 이미지 센서(134r)는 검출 영역(139)을 캡처하고, 이에 따라 이미지 센서에서 캡처된 이미지는 광학 축 상에서 중심화되는데, 이는 검출 영역(139)이 있기 때문이다.
사용자가 앞을 똑바로 바라보고, 검출 영역(139) 또는 이미지 센서(134r)가 디스플레이의 광학 축 상에서 유효하게 중심화되면 사용자의 눈동자의 중심이 사용자의 눈의 캡처된 이미지에서 중심화될 때, 디스플레이 광학 시스템(14r)은 눈동자와 정렬된다. 양자의 디스플레이 광학 시스템들(14)이, 각각의 눈동자와 정렬될 때, 광학 중심들 간의 거리는 사용자의 동공간 거리와 정렬되거나 매칭한다. 도 9a의 예에서, 동공간 거리는 3차원으로 디스플레이 광학 시스템(14)과 정렬될 수 있다.
일 실시예에서, 눈동자가 광학 축과 정렬되지 않았다는 것을 센서(134)에 의해 캡처된 데이터가 표시하는 경우, 프로세싱 유닛(4, 5), 또는 제어 회로(136) 또는 둘 다의 하나 이상의 프로세서들은 눈동자의 중심이 광학 축(142)과 얼마나 벗어나 있는지를 결정하기 위해 거리 또는 길이 측정 유닛을 이미지의 픽셀 또는 다른 이상 유닛 또는 영역에 상관시키는 맵핑 기준을 이용한다. 결정된 거리에 기초하여, 하나 이상의 프로세서들은 눈동자와 광학 축(142)을 정렬하기 위해 디스플레이 광학 시스템(14r)이 얼마나 많은 거리를 그리고 어느 방향으로 이동될지에 관한 조정들을 결정한다. 제어 신호들은 하나 이상의 디스플레이 조정 매커니즘 구동기들(245)에 의해, 하나 이상의 디스플레이 조정 매커니즘들(130)을 이루는 각각의 컴포넌트들, 예를 들어, 모터들(203)에 인가된다. 이 예에서 모터들의 경우에, 모터들은 그의 샤프트들(205)을 이동시켜서 제어 신호들에 의해 표시된 적어도 일 방향으로 내부 프레임(117r)을 이동시킨다. 내부 프레임(117r)의 안경 다리 측 상에는 한 단부에 내부 프레임(117r)에 부착되고, 디스플레이 광학 시스템(14)이 각각의 눈동자에 대해 폭, 높이 또는 깊이 변경들에 대한 3 방향 중 임의의 방향으로 이동하면 프레임(115)에 내부 프레임(117)을 고정(anchor)하도록 안경 다리 프레임(115)의 내부 내의 홈들(217a 및 217b) 내로 슬라이딩하는 프레임(115)의 플렉서블 섹션들(215a, 215b)이 있다.
센서 외에, 디스플레이 광학 시스템(14)은 다른 시선 검출 엘리먼트들을 포함한다. 렌즈(118)의 측들 상에 프레임(117r)이 부착된 이 실시예에서, 적어도 두 개(2)(그러나 그 초과일 수 있음)의 적외선(IR) 조명 디바이스들(153)이 있으며, 이 적외선(IR) 조명 디바이스들(153)은 눈의 미리 결정된 파장 주변 또는 특정한 파장 범위 내의 좁은 적외선 광 빔들을 사용자 눈에 지향하여 각각의 각막의 표면 상에서 각각의 반짝임를 각각 생성한다. 다른 실시예들에서, 조명기들 및 임의의 포토다이오드들은 렌즈들 상에, 예를 들어, 코너들 또는 에지들에 있을 수 있다. 일 실시예에서, 적어도 2개의 적외선(IR) 조명 디바이스들(153) 외에, IR 포토 검출기들(152)이 있다. 각각의 포토 검출기(152)는 렌즈(118)에 걸쳐서 그의 대응하는 IR 조명기(153)의 특정한 파장 범위 내의 IR 방사선을 감지하고 각각의 반짝임를 검출하도록 위치된다. 도 4a 내지 도 4c에서 도시된 바와 같이, 조명기 및 포토 검출기는 배리어(154)에 의해 분리되어서, 조명기(153)로부터의 입사 IR 광은 포토검출기(152)에서 수신되는 반사된 IR 광을 간섭하지 않는다. 센서(134)가 IR 센서인 경우에서, 포토 검출기들(152)은 필요하지 않을 수 있거나, 또는 부가적인 반짝임 데이터 캡처 소스일 수 있다. 가시광 카메라에 있어서, 포토 검출기들(152)은 반짝임들로부터 광을 캡처하고 반짝임 세기 값들을 생성한다.
도 9a 내지 도 9d에서, 시선 검출 엘리먼트들, 예를 들어, 검출 영역(139), 조명기들(153) 및 포토 검출기들(152)의 위치는 디스플레이 광학 시스템(14)의 광학 축에 대해 고정된다. 이들 엘리먼트들은 내부 프레임 상의 디스플레이 광학 시스템(14r) 및 이에 따라 그의 광학 축을 따라 이동할 수 있지만, 광학 축(142)에 대한 그의 공간적 관계는 변경되지 않는다.
도 9b는 시선 검출 엘리먼트들의 배열을 포함하는 씨-쓰루의 니어-아이 혼합 현실 디바이스의 이동 가능한 디스플레이 광학 시스템의 다른 실시예의 상면도이다. 이 실시예에서, 광 센서(134r)는 RGB 카메라로서 때때로 지칭되는 가시광 카메라로서 실현될 수 있거나, 또는 이것은 IR 카메라 또는 가시적 및 IR 범위들 둘 다의 광을 프로세싱할 수 있는 카메라, 예를 들어, 깊이 카메라로서 실현될 수 있다. 이 예에서, 이미지 센서(134r)는 검출 영역(139r)이다. 카메라의 이미지 센서(134)는 디스플레이 광학 시스템의 광학 축(142) 상에 수직으로 위치된다. 몇몇 예들에서, 카메라는 프레임(115) 상에서 씨-쓰루 렌즈(118) 위에 또는 아래 위치되거나 렌즈(118)에 임베딩될 수 있다. 몇몇 실시예들에서, 조명기들(153)은 카메라에 대한 광을 제공하고, 다른 실시예들에서, 카메라는 대기광 또는 그 자신의 광 소스로부터의 광을 이용하여 이미지들을 캡처한다. 캡처된 이미지 데이터는 광학 축과 눈동자의 정렬을 결정하기 위해 이용될 수 있다. 이미지, 반짝임 데이터 또는 둘 다에 기초한 시선 결정 기법들은 시선 검출 엘리먼트들의 지오메트리에 기초하여 이용될 수 있다.
이 예에서, 브리지(104)의 모터(203)는 방향 기호(145)에 의해 표시된 바와 같이 사용자의 눈에 대해 수평 방향으로 디스플레이 광학 시스템(14r)을 이동시킨다. 플랙서블 프레임 부분들(215a 및 215b)은 시스템(14)이 이동될 때 홈들(217a 및 217b) 내에서 슬라이딩한다. 이 예에서, 마이크로 디스플레이 어셈블리(173) 실시예의 반사 엘리먼트(124a)는 고정식이다. IPD가 통상적으로 일단 결정되고 저장되기 때문에, 행해질 수 있는, 마이크로 디스플레이(120)와 반사 엘리먼트(124a) 간의 초점 길이의 조정은 예를 들어, 전기자(137) 내의 마이크로 디스플레이 엘리먼트들의 조정을 통해 마이크로 디스플레이 어셈블리에 의해 달성될 수 있다.
도 9c는 시선 검출 엘리먼트들의 배열을 포함하는 씨-쓰루의 니어-아이 혼합 현실 디바이스의 이동 가능한 디스플레이 광학 시스템의 제 3 실시예의 상면도이다. 디스플레이 광학 시스템(14)은 IR 조명기들(153) 및 포토 검출기들(152) 및 프레임(115) 또는 렌즈(118) 상의 광학 축(142) 위 또는 아래에 위치되는 광 센서(134r)를 포함하는 시선 검출 엘리먼트들의 유사한 배열을 갖는다. 이 예에서, 디스플레이 광학 시스템(14)은 이미지들을 사용자의 눈에 지향하기 위한 반사 엘리먼트로서 도광 광학 엘리먼트(112)를 포함하고 부가적인 씨-쓰루 렌즈(116) 및 씨-쓰루 렌즈(118) 간에 안착된다. 반사 엘리먼트(124)가 도광 광학 엘리먼트 내에 있고, 엘리먼트(112)를 따라 이동하기 때문에, 마이크로 디스플레이 어셈블리(173)의 실시예는 이 예에서 안경 다리(102) 상에서, 마이크로 디스플레이 어셈블리를 이동시키기 위한 적어도 하나를 포함하는 샤프트들(205)을 갖는 3-축 모터(203)의 세트로서 실현되는 디스플레이 광학 시스템(14)용 디스플레이 조정 매커니즘(203)에 부착된다. 브리지(104) 상의 하나 이상의 모터들(203)은 이동의 3축들(145)을 제공하는 디스플레이 조정 매커니즘(203)의 다른 컴포넌트들을 대표한다. 다른 실시예에서, 모터들은 수평 방향으로 그의 부착된 샤프트들(205)을 통해 디바이스들을 단지 이동시키도록 동작할 수 있다. 마이크로 디스플레이 어셈블리(173)에 대한 모터(203)는 또한 반사 엘리먼트(124)와 마이크로 디스플레이(120)로부터 나오는 광 간의 정렬을 유지하기 위해 그것을 수평으로 이동시킬 것이다. 제어 회로의 프로세서(210)(도 10a 참조)는 그의 이동을 조정한다.
도광 광학 엘리먼트(112)는 마이크로 디스플레이(120)로부터 헤드 마운트형 디스플레이 디바이스(2)로 광을 투과시킨다. 도광 광학 엘리먼트(112)는 또한 헤드 마운트형 디스플레이 디바이스(2) 앞으로부터의 광이 도광 광학 엘리먼트(112)를 통해 사용자의 눈으로 투과되도록 허용하여서, 마이크로 디스플레이(120)로부터 가상 이미지를 수신하는 것 외에, 헤드 마운트형 디스플레이 디바이스(2) 앞의 공간의 실제 다이렉트 뷰를 사용자가 갖도록 허용한다. 따라서 도광 광학 엘리먼트(112)의 벽들을 씨-쓰루이다. 도광 광학 엘리먼트(112)는 제 1 반사 표면(124)(예를 들어, 미러 또는 다른 표면)을 포함한다. 마이크로 디스플레이(120)로부터의 광은 렌즈(122)를 관통하고 반사 표면(124) 상에 입사된다. 반사 표면(124)은 마이크로 디스플레이(120)로부터 입사 광을 반사시켜서, 광이 내부 반사에 의해 도광 광학 엘리먼트(112)를 포함하는 평면의 기판 내부에 트랩(trap)되게 한다.
기판의 표면들로부터의 몇 개의 반사들 이후에, 트랩된 광 파들이 선택적 반사 표면들(126)의 어레이에 도달한다. 5개의 표면들 중 단지 하나 만이 도면의 과밀을 방지하기 위해 126으로 라벨링된다는 것에 주의한다. 반사 표면들(126)은 기판으로부터 이들 반사 표면들 상에 입사되는 광파들을 사용자의 눈으로 결합한다. 도광 광학 엘리먼트의 추가의 세부사항들은 2008년 11월 20일 공개되고 발명의 명칭이 "Substrate-Guided Optical Devices"인 미국 특허 출원 공개 번호 제2008/0285140호, 출원 번호 제12/214,366호에서 발견될 수 있으며, 상기 문서는 그 전체가 인용에 의해 본원에 포함된다. 일 실시예에서, 각각의 눈은 그 자신의 도광 광학 엘리먼트(112)를 가질 것이다.
도 9d는 시선 검출 엘리먼트들의 배열을 포함하는 씨-쓰루의 니어-아이 혼합 현실 디바이스의 이동 가능한 디스플레이 광학 시스템의 제 4 실시예의 상면도이다. 이 실시예는 도광 광학 엘리먼트(112)를 포함하는 도 9c의 실시예와 유사하다. 그러나 유일한 광 검출기들은 IR 포토 검출기들(152)이어서, 일 실시예는 아래의 예들에서 논의되는 바와 같이 시선 검출을 위해 단지 반짝임 검출에 의존한다.
도 9a 내지 도 9d의 실시예에서, 시선 검출 엘리먼트들, 예를 들어, 검출 영역(139) 및 조명기들(153) 및 포토 검출기들(152)의 위치들은 서로에 대해 고정된다. 이들 예들에서, 이들은 디스플레이 광학 시스템(14)의 광학 축에 관하여 또한 고정된다.
위의 실시예들에서, 도시된 특정 수의 렌즈들은 단지 예들이다. 동일한 원리로 동작하는 다른 수들 및 구성들의 렌즈들이 이용될 수 있다. 부가적으로, 위의 예들에서, 씨-쓰루의 니어-아이 디스플레이(2)의 우측만이 도시되었다. 완전한 니어-아이 혼합 현실 디스플레이 디바이스는 예로서, 렌즈들(116 및/또는 118)의 다른 세트, 도 9c 및 도 9d의 실시예들에 대한 다른 도광 광학 엘리먼트(112), 다른 마이크로 디스플레이(120), 다른 렌즈 시스템(112), 유사하게 다른 환경을 향하는 카메라(113), 도 9a 내지 도 9c의 실시예들에 대한 다른 눈 트래킹 카메라(134), 이어폰들(130), 및 온도 센서들(138)을 포함할 것이다.
도 10a는 하나 이상의 실시예들과 함께 이용될 수 있는 바와 같은 씨-쓰루의 니어-아이 혼합 현실 디스플레이 유닛(2)의 하드웨어 및 소프트웨어 컴포넌트들의 일 실시예의 블록도이다. 도 10b는 프로세싱 유닛(4, 5)의 다양한 컴포넌트들을 설명하는 블록도이다. 이 실시예에서, 니어-아이 디스플레이 디바이스(2)는 프로세싱 유닛(4, 5)으로부터 가상의 이미지에 관한 명령어들을 수신하고 센서 정보를 프로세싱 유닛(4, 5)으로 역으로 제공한다. 도 10b에서 도시된 프로세싱 유닛(4, 5)에서 실현될 수 있는 소프트웨어 및 하드웨어 컴포넌트들은 디스플레이 디바이스(2)로부터 감지 정보를 수신할 것이고, 허브 컴퓨팅 디바이스(12)(도 1a 참조)로부터 감지 정보를 또한 수신할 수 있다. 그 정보에 기초하여, 프로세싱 유닛(4, 5)은 사용자에게 가상 이미지를 언제 그리고 어디로 제공할지를 결정하고 디스플레이 디바이스(2)의 제어 회로(135)에 상응하게 명령어들을 송신할 것이다.
도 10a의 컴포넌트들(예를 들어, 물리적 환경을 향하는 카메라(113), 눈 카메라(134), 가변 가상 포커스 조정기(135), 포토 검출기 인터페이스(139), 마이크로 디스플레이(120), 조명 디바이스(153) 또는 조명기들, 이어폰들(130), 온도 센서(138), 디스플레이 조정 매커니즘(203)) 중 일부는 이들 디바이스들 각각의 적어도 2개, 즉, 헤드 마운트형 디스플레이 디바이스(2)의 우측에 대해 적어도 하나 그리고 좌측에 대해 적어도 하나가 있다는 것을 표시하기 위해 그림자가 있게 도시된다는 것에 주의한다. 도 10a는 전력 관리 회로(202)와 통신하는 제어 회로(200)를 도시한다. 제어 회로(200)는 프로세서(210), 메모리(214)(예를 들어, D-RAM)와 통신하는 메모리 제어기(212), 카메라 인터페이스(216), 카메라 버퍼(218), 디스플레이 구동기(220), 디스플레이 포매터(222), 타이밍 생성기(226), 디스플레이 아웃 인터페이스(228), 및 디스플레이 인 인터페이스(230)를 포함한다. 일 실시예에서, 제어 회로(220)의 모든 컴포넌트들은 하나 이상의 버스들의 전용 라인들을 통해 서로 통신한다. 다른 실시예에서, 제어 회로(200)의 컴포넌트들 각각은 프로세서(210)와 통신한다.
카메라 인터페이스(216)는 2개의 물리적 환경을 향하는 카메라(113) 및 각각의 눈 카메라(134)에 대한 인터페이스를 제공하고, 카메라들(113, 134)로부터 수신된 각각의 이미지들을 카메라 버퍼(218)에 저장한다. 디스플레이 구동기(220)는 마이크로 디스플레이(120)를 구동할 것이다. 디스플레이 포매터(222)는 마이크로 디스플레이(120) 상에 디스플레이되는 가상 이미지에 관한 정보를 하나 이상의 컴퓨터 시스템들의 하나 이상의 프로세서들, 예를 들어, 증강 현실 시스템(augmented reality system)에 대한 프로세싱을 수행하는 4, 5, 12, 210에 제공할 수 있다. 타이밍 생성기(226)는 시스템에 대한 타이밍 데이터를 제공하는데 이용된다. 디스플레이 아웃(228)은 물리적 환경을 향하는 카메라(113) 및 눈 카메라들(134)로부터의 이미지들을 프로세싱 유닛(4, 5)에 제공하기 위한 버퍼이다. 디스플레이 인(230)은 마이크로 디스플레이(120) 상에 디스플레이될 이미지들, 이를 테면 가상 이미지를 수신하기 위한 버퍼이다. 디스플레이 아웃(228) 및 디스플레이 인(230)은 프로세싱 유닛(4, 5)에 대한 인터페이스인 대역 인터페이스(232)와 통신한다.
전력 관리 회로(202)는 전압 레귤레이터(234), 눈 트래킹 조명 구동기(236), 가변 조정기 구동기(237), 포토 검출기 인터페이스(239), 오디오 DAC 및 증폭기(238), 마이크 프리엠프(microphone preamplifier) 및 오디오 ADC(240) 온도 센서 인터페이스(242), 디스플레이 조정 매커니즘 구동기(들)(245) 및 클록 생성기(244)를 포함한다. 전압 레귤레이터(234)는 대역 인터페이스(232)를 통해 프로세싱 유닛(4, 5)으로부터 전력을 수신하고, 헤드 마운트형 디스플레이 디바이스(2)의 다른 컴포넌트들에 그 전력을 제공한다. 조명 구동기(236)는 예를 들어, 구동 전류 또는 전압을 통해, 조명 디바이스(153)를 제어하여 미리 결정된 파장 주변에서 또는 파장 범위 내에서 동작시킨다. 오디오 DAC 및 증폭기(238)는 이어폰들(130)로부터 오디오 정보를 주신한다. 마이크 프리엠프 및 오디오 ADC(240)는 마이크(110)에 대한 인터페이스를 제공한다. 온도 센서 인터페이스(242)는 온도 센서(138)에 대한 인터페이스이다. 하나 이상의 디스플레이 조정 구동기들(245)은 3 방향들 중 적어도 하나의 방향의 이동의 조정 양을 표현하는 제어 신호들을, 각각의 디스플레이 조정 매커니즘(203)을 이루는 하나 이상의 모터들 또는 다른 디바이스들에 제공한다. 전력 관리 유닛(202)은 또한 전력을 제공하고 3축 자력계(132A), 3축 자이로(132B) 및 3축 가속도계(132C)로부터 역으로 데이터를 수신한다. 전력 관리 유닛(202)은 또한 전력을 제공하고 GPS 트랜시버(144)로부터 데이터를 역으로 수신하고 GPS 트랜시버(144)에 데이터를 송신한다.
가변 조정기 구동기(237)는 제어 회로(13)의 프로세서(210), 또는 프로세싱 유닛(4, 5), 또는 허브 컴퓨터(12) 또는 둘 다에서 실행되는 소프트웨어에 의해 계산되는 초점 영역에 대한 변위를 달성하기 위해 마이크로 디스플레이 어셈블리(173)의 하나 이상의 엘리먼트들을 이동시키도록 제어 신호, 예를 들어, 구동 전류 또는 구동 전압을 조정기(135)에 제공한다. 변위들의 범위 및 이에 따른 초점 영역들의 범위를 통한 스위핑(sweeping)의 실시예들에서, 가변 조정기 구동기(237)는 프로그래밍된 레이트 또는 주파수로 동작하도록 타이밍 생성기(226), 또는 대안적으로 클록 생성기(244)로부터 타이밍 신호들을 수신한다.
포토 검출기 인터페이스(239)는 각각의 포토 검출기로부터 전압 또는 전류 판독들을 위해 필요한 아날로그-디지털 변환을 수행하고 메모리 제어기(121)를 통해 메모리에 프로세서 판독 가능한 포맷으로 판독들을 저장하고 온도 및 파장 정확도와 같은 포토 검출기들(152)의 동작 파라미터들을 모니터링한다.
도 10b는 씨-쓰루의 니어-아이 혼합 현실 디스플레이 유닛과 연관되는 프로세싱 유닛(4)의 하드웨어 및 소프트웨어 컴포넌트들의 일 실시예의 블록도이다. 모바일 디바이스(5)는 하드웨어 및 소프트웨어 컴포넌트들은 물론 유사한 기능들을 수행하는 유사한 컴포넌트들의 이러한 실시예를 포함할 수 있다. 도 10b는 전력 관리 회로(307)와 통신하는 제어 회로(305)를 도시한다. 제어 회로(305)는 중앙 처리 장치(CPU)(320), 그래픽 처리 장치(GPU)(322), 캐시(324), RAM(326), 메모리(330)(예를 들어, D-RAM)와 통신하는 메모리 제어(328), 플래시 메모리(324)(또는 다른 타입의 비-휘발성 저장소)와 통신하는 플래시 메모리 제어기(332), 대역 인터페이스(303) 및 대역 인터페이스(232)를 통해 씨-쓰루의 니어-아이 디스플레이 디바이스(2)와 통신하는 디스플레이 아웃 버퍼(336), 대역 인터페이스(303) 및 대역 인터페이스(232)를 통해 니어-아이 디스플레이 디바이스(2)와 통신하는 디스플레이 인 버퍼(338), 마이크에 연결하기 위한 외부 마이크 커넥터(342)와 통신하는 마이크 인터페이스(340), 무선 통신 디바이스(346)에 연결하기 위한 PCI 익스프레스 인터페이스(express interface) 및 USB 포트(들)(348)을 포함한다.
일 실시예에서, 무선 통신 컴포넌트(346)는 Wi-Fi 인에이블 통신 디바이스, 블루투스 통신 디바이스, 적외선 통신 디바이스 등을 포함할 수 있다. USB 포트는 데이터 또는 소프트웨어를, 프로세싱 유닛(4, 5)은 물론 차지(charge) 프로세싱 유닛(4, 5)에 로딩하기 위해 프로세싱 유닛(4, 5)을 허브 컴퓨팅 디바이스(12)에 도킹(dock)하는데 이용될 수 있다. 일 실시예에서, CPU(320) 및 GPU(322)는 이미지들을 사용자의 시야 내로 어디로, 언제 그리고 어떻게 삽입할지를 결정하기 위한 메인 워크호올스들(main workhorses)이다.
전력 관리 회로(307)는 클록 생성기(360), 아날로그-디지털 변환기(362), 배터리 충전기(364), 전압 레귤레이터(366), 씨-쓰루의 니어-아이 디스플레이 전력 소스(376), 온도 센서(374)(프로세싱 유닛(4)의 온도 센서 인터페이스(372)의 손목 밴드 상에 위치됨)와 통신하는 온도 센서 인터페이스(372)를 포함한다. 교류-직류 변환기(362)는 AC 서플라이(supply)를 수신하고 시스템에 대한 DC 서블라이를 생성하기 위해 충전 잭(370)에 연결된다. 전압 레귤레이터(366)는 전력을 시스템에 공급하기 위한 배터리(368)와 통신한다. 배터리 충전기(364)는 충전 잭(370)으로부터 전력의 수신 시에 배터리(368)(전압 레귤레이터(366)를 통해)를 충전하는데 이용된다. 디바이스 전력 인터페이스(376)는 전력을 디스플레이 디바이스(2)에 제공한다.
도 11a는 컴퓨팅 시스템(12)을 구현하는데 이용될 수 있는 멀티미디어 콘솔(또는 게임 콘솔)(900)을 포함하는 컴퓨팅 환경의 예를 예시한다. 캡처 디바이스(20)는 컴퓨팅 시스템(12)에 결합될 수 있다. 도 11a에서 도시된 바와 같이, 멀티미디어 콘솔(900)은 레벨 1 캐시(902), 레벨 2 캐시(904), 및 플래시 ROM(판독 전용 메모리)(906)을 갖는 중앙 처리 장치(CPU)(901)를 갖는다. 레벨 1 캐시(902) 및 레벨 2 캐시(904)는 데이터를 임시로 저장하고, 그에 따라 메모리 액세스 사이클들의 수를 감소시켜서, 프로세싱 속도 및 쓰루풋을 개선한다. 하나 이상의 코어, 이에 따른 부가적인 레벨 1 및 레벨 2 캐시들(902 및 904)을 갖는 CPU(901)가 제공될 수 있다. 플래시 ROM(906)은 멀티미디어 콘솔(900)이 파워 ON될 때 부트 프로세스의 초기 단계 동안 로딩되는 실행 가능한 코드를 저장할 수 있다.
그래픽 프로세싱 유닛(GPU)(908) 및 비디오 인코더/비디오 코덱(코더/디코더)(914)은 고속 및 고해상도 그래픽 프로세싱을 위해 비디오 프로세싱 파이프라인(video processing pipeline)을 형성한다. 데이터는 버스를 통해 그래픽 프로세싱 유닛(908)으로부터 비디오 인코더/비디오 코덱(914)으로 전달된다. 비디오 프로세싱 파이프라인은 데이터를, 텔레비전 또는 다른 디스플레이로의 전송을 위한 A/V(오디오/비디오) 포트(940)로 출력한다. 메모리 제어기(910)는 RAM(랜덤 액세스 메모리)과 같은(그러나 이것으로 제한되지 않음) 다양한 타입의 메모리(912)에 대한 프로세서 액세스를 용이하게 하기 위해 GPU(908)에 연결된다.
멀티미디어 콘솔(900)은 I/O 제어기(920), 시스템 관리 제어기(922), 오디오 프로세싱 유닛(923), 네트워크 인터페이스 제어기(924), 제 1 USB 호스트 제어기(926), 제 2 USB 제어기(928), 및 바람직하게는, 모듈(918) 상에 구현되는 제 1 패널 I/O 서브어셈블리(930)를 포함한다. USB 제어기들(926 및 928)은 주변기기 제어기들(942(1)-942(2)), 무선 어댑터(948) 및 외부 메모리 디바이스(946)(예를 들어, 플래시 메모리, 외부 CD/DVD ROM 드라이브, 착탈식 매체들 등)로서 역할한다. 네트워크 인터페이스(924) 및/또는 무선 어댑터(948)는 네트워크(예를 들어, 인터넷, 홈 네트워크 등)에 대한 액세스를 제공하고 이더넷 카드, 모뎀, 블루투스 모듈, 케이블 모뎀 등을 포함하는 매우 광범위하게 다양한 유선 또는 무선 어댑터 컴포넌트 중 임의의 것일 수 있다.
시스템 메모리(943)는 부트 프로세스 동안 로딩되는 애플리케이션 데이터를 저장하도록 제공된다. 미디어 드라이브(944)가 제공되고, DVD/CD 드라이브, 하드 드라이브 또는 다른 착탈식 미디어 드라이브 등을 포함할 수 있다. 미디어 드라이브(944)는 멀티미디어 콘솔(900) 내부 또는 외부에 있을 수 있다. 애플리케이션 데이터는 멀티미디어 콘솔(900)에 의한 실행, 재생 등을 위해 미디어 드라이브(944)를 통해 액세스될 수 있다. 미디어 드라이브(944)는 직렬 ATA 버스 또는 다른 고속 연결(예를 들어, IEEE 1394)과 같이 버스를 통해 I/O 제어기(920)에 연결된다.
시스템 관리 제어기(922)는 멀티미디어 콘솔(900)의 가용성의 보장과 관련되는 다양한 서비스 기능들을 제공한다. 오디오 프로세싱 유닛(923) 및 오디오 코덱(932)은 높은 신뢰도 및 스테레오 프로세싱을 갖는 대응하는 오디오 프로세싱 파이프라인을 형성한다. 오디오 데이터는 통신 링크를 통해 오디오 프로세싱 유닛(923)과 오디오 코덱(932) 간에 전달된다. 오디오 프로세싱 파이프라인은, 오디오 능력들을 갖는 외부 오디오 재생기 또는 디바이스에 의한 재생을 위해 데이터를 A/V 포트(940)에 출력한다.
전면 패널 I/O 어셈블리(930)는 파워 버튼(950), 꺼내기 버튼(952)은 물론 임의의 LED들(발광 다이오드들) 또는 멀티미디어 콘솔(900)의 외부 표면 상에 노출되는 다른 표시자들의 기능을 지원한다. 시스템 전원 모듈(936)은 멀티미디어 콘솔(900)의 컴포넌트들에 전력을 제공한다. 팬(938)은 멀티미디어 콘솔(900) 내의 회로를 냉각한다.
CPU(901), GPU(908), 메모리 제어기(910) 및 멀티미디어 콘솔(900) 내의 다양한 다른 컴포넌트들은 직렬 및 병렬 버스들, 메모리 버스, 주변기기 버스, 및 임의의 다양한 버스 아키텍처들을 갖는 프로세서 또는 로컬 버스를 포함하는 하나 이상의 버스들을 통해 상호연결된다. 예로서, 이러한 아키텍처들은 주변기기 컴포넌트 상호연결(PCI) 버스, PCI-익스프레스 버스 등을 포함할 수 있다.
멀티미디어 콘솔(900)이 파워 온(ON) 되면, 애플리케이션 데이터는 시스템 메모리(943)로부터 메모리(912) 및/또는 캐시들(902, 904)로 로딩되고 CPU(901) 상에서 실행될 수 있다. 애플리케이션은 멀티미디어 콘솔(900) 상에서 이용 가능한 상이한 미디어 타입들로 네비게이팅할 때 일정한 사용자 경험을 제공하는 그래픽 사용자 인터페이스를 제공한다. 동작에 있어서, 애플리케이션들 및/또는 미디어 드라이브(944) 내에 포함된 다른 미디어는 부가적인 기능을 멀티미디어 콘솔(900)에 제공하기 위해 미디어 드라이브(944)로부터 런칭 또는 재생될 수 있다.
멀티미디어 콘솔(900)은 시스템을 텔레비전 또는 다른 디스플레이에 단순히 연결함으로써 자립형 시스템으로서 동작될 수 있다. 이 자립형 모드에서, 멀티미디어 콘솔(900)은 하나 이상의 사용자들이 시스템과 상호작용하고, 영화를 보거나 음악을 청취하도록 허용한다. 그러나 네트워크 인터페이스(924) 또는 무선 어댑터(948)를 통해 이용 가능하게 되는 광대역 연결의 통합을 통해, 멀티미디어 콘솔(900)은 추가로 더 큰 네트워크 커뮤니티에 참가자로서 동작될 수 있다.
멀티미디어 콘솔(900)이 파워 온될 때, 세팅된 양의 하드웨어 자원들이 멀티미디어 콘솔 운영 체제에 의한 시스템 이용을 위해 예약된다. 이들 자원들은 메모리(예를 들어, 96MB), CPU 및 GPU 사이클들(예를 들어, 5%), 네트워크 대역폭(예를 들어, 8kbs) 등의 예약을 포함할 수 있다. 이들 자원들이 시스템 부트 시간에 예약되기 때문에, 예약된 자원들은 애플리케이션의 뷰에서 존재하지 않는다.
특히, 메모리 예약은 바람직하게는, 런치 커널, 동시성 시스템 애플리케이션들 및 구동기들을 포함하기에 충분히 크다. CPU 예약은 바람직하게는, 예약된 CPU 이용이 시스템 애플리케이션들에 의해 이용되지 않는 경우, 유휴 스레드가 임의의 미사용 사이클들을 소비하게 되도록 일정하다.
GPU 예약에 관해, 팝업이 오버레이로 렌더링되도록 코드를 스케줄링하기 위해 시스템 애플리케이션들에 의해 생성되는 경량의 메시지들(예를 들어, 팝업들)이 GPU 인터럽트를 이용하여 디스플레이된다. 오버레이를 위해 요구되는 메모리의 양은 오버레이 영역 크기, 바람직하게는 스크린 해상도에 따른 오버레이 스케일에 의존한다. 전체 사용자 인터페이스가 동시성 시스템 애플리케이션에 의해 이용되는 경우, 애플리케이션 해상도에 독립적인 해상도를 이용하는 것이 바람직하다. 스케일러(scaler)는 이 해상도를 세팅하도록 이용될 수 있어서, 주파수를 변경하고 TV 재동기화를 할 필요성이 제거되게 된다.
멀티미디어 콘솔(900)이 부팅되고, 시스템 자원들이 예약된 이후, 동시성 시스템 애플리케이션들은 시스템 기능을 제공하도록 실행한다. 시스템 기능들은 위에서 설명된 예약된 시스템 자원 내에서 실행하는 시스템 애플리케이션들의 세트 내에 캡슐화된다. 운영 체제 커널은 시스템 애플리케이션 스레드들 대 게임 애플리케이션 스레드들인 스레드들을 식별한다. 시스템 애플리케이션들은 바람직하게는 일정한 시스템 자원 뷰를 애플리케이션에 제공하기 위해 미리 결정된 시간들 및 인터벌들로 CPU(901) 상에서 실행되도록 스케줄링된다. 스케줄링은 콘솔 상에서 실행되는 게임 애플리케이션에 대한 캐시 중단을 최소화하기 위한 것이다.
동시성 시스템 애플리케이션이 오디오를 요구할 때, 오디오 프로세싱은 시간 민감도로 인해 게임 애플리케이션에 대해 비동기식으로 스케줄링된다. 멀티미디어 콘솔 애플리케이션 관리자는 시스템 애플리케이션들이 활성일 때 게임 애플리케이션 오디오 레벨(예를 들어, 묵음, 약화)을 제어한다.
입력 디바이스들(예를 들어, 제어기들(942(1) 및 942(2))은 게임 애플리케이션들 및 시스템 애플리케이션들에 의해 공유된다. 입력 디바이스들은 자원들을 예약하는 것이 아니라, 시스템 애플리케이션들과 게임 애플리케이션 간에 스위칭될 것이어서, 각각은 디바이스의 포커스를 가질 것이다. 애플리케이션 관리자는 바람직하게는 게임 애플리케이션의 지식을 인지함 없이 입력 스트림의 스위칭을 제어하고, 구동기는 포커스 스위치들에 관한 상태 정보를 유지한다. 몇몇 실시예들에서, 도 2의 캡처 디바이스(20)는 멀티미디어 콘솔(900)에 대한 부가적인 입력 디바이스일 수 있다.
도 11b는 컴퓨팅 시스템(12)을 구현하는데 이용될 수 있는 컴퓨팅 환경의 다른 예를 예시한다. 캡처 디바이스(20)는 컴퓨팅 환경에 결합될 수 있다. 도 11b의 컴퓨팅 시스템은 적합한 컴퓨팅 환경의 단지 일 예일 뿐이며, 현재 개시되는 청구 대상의 기능 또는 이용의 범위에 관한 어떠한 제한도 제안하는 것으로 의도되진 않는다. 도 2의 컴퓨팅 시스템(12)은 도 11b의 예시적인 동작 환경에서 예시되는 컴포넌트들 중 임의의 하나 또는 결합에 관한 어떠한 의존성 또는 요건들도 갖는 것으로서 해석되어선 안 된다. 몇몇 실시예들에서, 다양한 도시된 컴퓨팅 엘리먼트들은 본 개시의 특정한 양상들을 예시하도록 구성된 회로를 포함할 수 있다. 예를 들어, 본 개시에서 이용된 회로란 용어는 펌웨어 또는 스위치들에 의해 기능(들)을 수행하도록 구성된 특별한 하드웨어 컴포넌트들을 포함할 수 있다. 다른 예들에서, 회로란 용어는 기능(들)을 수행하도록 동작 가능한 로직을 실현하는 소프트웨어 명령어들에 의해 구성되는 범용 프로세싱 유닛, 메모리 등을 포함할 수 있다. 회로가 하드웨어 및 소프트웨어의 결합을 포함하는 실시예들에서, 구현자는 로직을 실현하는 소스 코드를 작성할 수 있고, 소스는 범용 프로세싱 유닛에 의해 프로세싱될 수 있는 기계 판독 가능한 코드로 컴파일될 수 있다.
도 11b에서, 컴퓨팅 시스템(1120)은 통상적으로 다양한 컴퓨터 판독 가능한 매체들을 포함하는 컴퓨터(1141)를 포함한다. 컴퓨터 판독 가능한 매체들(또는 프로세서 판독 가능한 저장 디바이스)은 컴퓨터(1141)에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수 있고, 휘발성 및 비휘발성 매체들, 착탈식 및 비착탈식 매체들을 포함한다. 제한이 아닌 예로서, 컴퓨터 판독 가능한 매체들은 컴퓨터 저장 매체들을 포함할 수 있다. 컴퓨터 저장 매체들은 컴퓨터 판독 가능한 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체들을 포함한다. 컴퓨터 저장 매체들은 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다용도 디스크들(DVD) 또는 다른 광학 디스크 저장소, 자기 카세트들, 자기 테이프, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는데 이용될 수 있는 임의의 다른 저장소를 포함하지만 이들로 제한되는 것은 아니다.
컴퓨터(1141)는 다른 착탈식/비착탈식, 휘발/비휘발성 컴퓨터 저장 매체들을 또한 포함할 수 있다. 예로서, 도 11b는 비착탈식 비휘발성 자기 매체에 기록하고 이로부터 판독하는 하드 디스크 드라이브(1138), 착탈식 비휘발성 자기 디스크(1154)에 기록하고 이로부터 판독하는 자기 디스크 드라이브(1139), CD-ROM 또는 광학 매체들과 같은 착탈식 비휘발성 광학 디스크(1153)에 기록하고 이로부터 판독하는 광학 디스크 드라이브(1140)를 예시한다. 예시적인 동작 환경에서 이용될 수 있는 다른 착탈식/비착탈식 휘발성/비휘발성 컴퓨터 저장 매체들은 자기 테이프 카세트들, 플래시 메모리 카드들, 디지털 다용도 디스크들, 디지털 비디오 테이프, 고상 RAM, 고상 ROM 등을 포함(그러나 이들로 제한되지 않음)한다. 하드 디스크 드라이브(1138)는 통상적으로 인터페이스(1134)와 같은 비착탈식 메모리 인터페이스를 통해 시스템 버스(1121)에 연결되고, 자기 디스크 드라이브(1139) 및 광학 디스크 드라이브(1140)는 통상적으로 인터페이스(1135)와 같은 착탈식 메모리 인터페이스에 의해 시스템 버스(1121)에 연결된다.
이를 테면, 시동 동안 컴퓨터(1141) 내의 엘리먼트들 간에 정보를 전달하는데 도움을 주는 기본 루틴들을 포함하는 기본 입력/출력 시스템(1124)(BIOS)은 통상적으로 ROM(1123)에 저장된다. RAM(1160)은 통상적으로 프로세싱 유닛(1159)에 의해 현재 동작되고 있고 및/또는 즉시 액세스 가능한 데이터 및/또는 프로그램 모듈들을 포함한다. 제한이 아닌 예로서, 도 11b는 운영 체제(1125), 애플리케이션 프로그램들(1126), 다른 프로그램 모듈들(1127) 및 프로그램 데이터(1128)를 예시한다.
도 10에서 예시되고 위에서 논의된 드라이브들 및 그의 연관된 컴퓨터 저장 매체들은 컴퓨터 판독 가능한 명령어들, 데이터 구조들, 프로그램 모듈들 및 컴퓨터(1141)에 대한 다른 데이터의 저장을 제공한다. 도 11b에서, 예를 들어, 하드 디스크 드라이브(1138)는 운영 체제(1158), 애플리케이션 프로그램들(1157), 다른 프로그램 모듈들(1156) 및 프로그램 데이터(1155)를 저장하는 것으로서 예시된다. 이들 컴포넌트들이 운영 체제(1125), 애플리케이션 프로그램들(1126), 다른 프로그램 모듈들(1127) 및 프로그램 데이터(1128)와 동일하거나 상이할 수 있다는 것에 주의한다. 운영 체제(1158), 애플리케이션 프로그램들(1157), 다른 프로그램 모듈들(1156) 및 프로그램 데이터(1155)에는 최소한 이들이 상이한 사본들이라는 것을 예시하기 위해 본 명세서에서 상이한 번호들이 주어진다. 사용자는 키보드(1151) 및 흔히 마우스, 트랙볼 또는 터치 패드로서 지칭되는 포인팅 디바이스(1152)와 같은 입력 디바이스들을 통해 컴퓨터(1141)에 커맨드들 및 정보를 입력할 수 있다. 다른 입력 디바이스들(도시되지 않음)은 마이크, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 디바이스들은 종종 시스템 버스에 결합된 사용자 입력 인터페이스(1136)를 통해 프로세싱 유닛(1159)에 연결되지만, 병렬 포트, 게임 포트, 또는 유니버셜 직렬 버스(USB)와 같은 다른 인터페이스 및 버스 구조들에 의해 연결될 수 있다. 카메라들(34, 36) 및 캡처 디바이스(20)는 컴퓨터(1141)에 대한 부가적인 입력 디바이스들을 정의할 수 있다. 모니터(1142) 또는 다른 타입의 디스플레이 디바이스가 또한 비디오 인터페이스(1132)와 같은 인터페이스를 통해 시스템 버스(1121)에 연결된다. 모니터 외에, 컴퓨터들이 또한, 주변기기 인터페이스(1133)를 통해 연결될 수 있는, 스피커들(1144) 및 프린터(1143)와 같은 다른 주변기기 출력 디바이스들을 포함할 수 있다.
컴퓨터(1141)는 원격 컴퓨터(1146)와 같은 하나 이상의 원격 컴퓨터들에 대한 논리적 연결들을 이용하여 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(1146)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 다른 공통 네트워크 노드일 수 있으며, 통상적으로 컴퓨터(1141)에 대해 위에서 설명된 엘리먼트들 대부분 또는 모두 다를 포함하지만, 메모리 저장 디바이스(1147)만이 도 11b에서 예시된다. 논리적 연결들은 로컬 영역 네트워크(LAN)(1145) 및 광역 네트워크(WAN)(1149)를 포함하지만, 다른 네트워크들을 또한 포함할 수 있다. 이러한 네트워킹 환경들은 사무실, 전사적 컴퓨터 네트워크들, 인트라넷들 및 인터넷에서 아주 흔하다.
LAN 네트워킹 환경에서 이용될 때, 컴퓨터(1141)는 네트워크 인터페이스 또는 어댑터(1137)를 통해 LAN(1145)에 연결된다. WAN 네트워킹 환경에서 이용될 때, 컴퓨터(1141)는 통상적으로 모뎀(1150) 또는 인터넷과 같은 WAN(1149) 상의 통신들을 설정하기 위한 다른 수단을 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(1150)은 사용자 입력 인터페이스(1136) 또는 다른 적절한 매커니즘을 통해 시스템 버스(1121)에 연결될 수 있다. 네트워킹된 환경에서, 컴퓨터(1141)에 대해 도시된 프로그램 모듈들 또는 그의 부분들은 원격 메모리 저장 디바이스에 저장될 수 있다. 제한이 아닌 예로서, 도 11b는 메모리 디바이스(1147)에 상주하는 것으로서 원격 애플리케이션 프로그램들(1148)을 예시한다. 도시된 네트워크 연결들은 예시적이며, 컴퓨터들 간의 통신 링크를 설정하기 위한 다른 수단이 이용될 수 있다는 것이 인지될 것이다.
개시된 기술이 다수의 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경들 또는 구성들과 함께 동작한다. 이 기술과 함께 이용하기에 적합할 수 있는 잘-알려진 컴퓨팅 시스템들, 환경들 및/또는 구성들의 예들은 개인용 컴퓨터들, 서버 컴퓨터들, 핸드-핼드 또는 랩톱 컴퓨터들, 멀티프로세서 시스템들, 마이크로프로세서-기반 시스템들, 셋톱 박스들, 프로그래밍 가능한 컴퓨터 전자기기들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들, 위의 시스템들 또는 디바이스들 중 임의의 것을 포함하는 분배식 컴퓨팅 환경들 등을 포함하지만, 이들로 제한되지 않는다.
개시된 기술은 컴퓨터에 의해 실행되는 프로그램 모듈들과 같은 컴퓨터-실행 가능한 명령어들의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 본 명세서에서 설명된 바와 같은 소프트웨어 및 프로그램 모듈들은 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 및 특정한 추상 데이터 타입들을 구현하거나 특정한 작업들을 수행하는 다른 타입들의 구조들을 포함한다. 하드웨어 또는 하드웨어 및 소프트웨어의 결합들은 본 명세서에서 설명된 바와 같은 소프트웨어 모듈들을 위해 교체될 수 있다.
개시된 기술은 또한 작업들이 통신 네트워크를 통해 링크되는 원격 프로세싱 디바이스들에 의해 수행되는 분배식 컴퓨팅 환경들에서 실시될 수 있다. 분배식 컴퓨팅 환경에서, 프로그램 모듈들은 메모리 저장 디바이스들을 포함하는 로컬 및 원격 컴퓨터 저장 매체들에 위치될 수 있다.
본 시스템의 위의 상세한 설명은 예시 및 설명의 목적들을 위해 제시되었다. 본 시스템을 개시된 바로 그 형태로 제한하거나 총망라하는 것으로 의도되진 않는다. 다수의 변형들 및 변동들이 위의 교시의 견지에서 가능하다. 설명된 실시예들은 본 시스템의 원리들 그의 실용적 애플리케이션들을 가장 잘 설명하기 위해 선택되었고 그에 따라 다른 당업자들이 다양한 실시예들에서 그리고 고려되는 특정한 용도에 적합한 것으로서 다양한 변형들과 함께 가장 잘 활용하는 것을 가능하게 한다. 본 시스템의 범위는 본 명세서에 첨부된 청구항들에 의해 정의된다는 것이 의도된다.

Claims (10)

  1. 방법에 있어서,
    3-차원(3D) 이미지 데이터에 기초하여 표면에 대한 객체의 3D 위치를 결정하는 단계;
    상기 표면에 대한 상기 객체의 3D 위치에 기초하여 전자 디바이스와 연관되는 디스플레이 상에 사용자 입력 엘리먼트를 랜더링하는 단계; 및
    상기 표면에 대한 상기 객체의 3D 위치에 기초하여 상기 전자 디바이스에 대한 사용자 입력을 수신하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 사용자 입력 엘리먼트를 랜더링하는 단계는,
    이미지가 사용자의 손의 표현을 통해 보여질 수 있도록 상기 디스플레이 상의 상기 이미지 위에 상기 사용자의 손의 투명한 표현을 디스플레이하는 단계를 포함하는 것인, 방법.
  3. 제1항에 있어서,
    상기 3D 이미지 데이터에 기초하여 표면에 대한 객체의 3D 위치를 결정하는 단계는,
    상기 객체가 상기 표면을 터치하거나 거의 터치하는지 여부를 결정하는 단계를 포함하는 것인, 방법.
  4. 제3항에 있어서,
    상기 사용자 입력은 상기 디스플레이 상에 제시되는 엘리먼트와 연관된 선택인 것인, 방법.
  5. 제4항에 있어서,
    상기 사용자 입력 엘리먼트를 랜더링하는 단계는,
    상기 표면을 터치하거나 거의 터치하는 사용자의 손의 부분을 표현하도록 상기 사용자 입력 엘리먼트의 부분을 하이라이트(highlight)하는 단계를 포함하는 것인, 방법.
  6. 제1항에 있어서,
    상기 3D 이미지 데이터에 기초하여 표면에 대한 객체의 3D 위치를 결정하는 단계는,
    상기 객체가 상기 표면 위의 호버 존(hover zone) 내에서 호버링(hovering)하고 있는지 여부를 결정하는 단계를 포함하는 것인, 방법.
  7. 제6항에 있어서,
    상기 사용자 입력은 상기 사용자 입력 엘리먼트가 상기 디스플레이 상에서 호버링하고 있는 엘리먼트와 연관되는 호버 이벤트(hover event)인 것인, 방법.
  8. 제7항에 있어서,
    상기 사용자 입력 엘리먼트를 랜더링하는 단계는,
    사용자의 손이 상기 표면 위의 호버 존에 있다는 것을 표현하도록 상기 디스플레이 상에서 상기 사용자 입력 엘리먼트를 하이라이트하는 단계를 포함하는 것인, 방법.
  9. 장치에 있어서,
    3D 카메라;
    디스플레이; 및
    상기 3D 카메라 및 상기 디스플레이에 결합된 프로세싱 로직을 포함하고,
    상기 프로세싱 로직은,
    상기 3D 카메라로부터의 이미지 데이터에 기초하여 표면의 위치를 결정하고;
    상기 3D 카메라로부터의 이미지 데이터에 기초하여 상기 표면에 대한 사용자의 손의 3D 위치를 결정하고;
    상기 표면에 대한 상기 사용자의 손의 3D 위치에 기초하여 상기 디스플레이 상에 상기 사용자의 손의 투명한 표현을 랜더링하고;
    상기 표면에 대한 상기 사용자의 손의 3D 위치에 기초하여 사용자 입력을 수신하도록 구성되는 것인, 장치.
  10. 제9항에 있어서,
    상기 프로세싱 로직은,
    상기 표면 상의 터치 영역을 결정하고;
    상기 디스플레이 상의 위치들에 대해 상기 터치 영역 내의 부분을 상관(correlate)시키도록 구성되는 것인, 장치.
KR1020147030415A 2012-04-02 2013-04-02 터치 감지 사용자 인터페이스 KR102107867B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/437,461 US8933912B2 (en) 2012-04-02 2012-04-02 Touch sensitive user interface with three dimensional input sensor
US13/437,461 2012-04-02
PCT/US2013/034868 WO2013151947A1 (en) 2012-04-02 2013-04-02 Touch sensitive user interface

Publications (2)

Publication Number Publication Date
KR20150002718A true KR20150002718A (ko) 2015-01-07
KR102107867B1 KR102107867B1 (ko) 2020-05-07

Family

ID=49095260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147030415A KR102107867B1 (ko) 2012-04-02 2013-04-02 터치 감지 사용자 인터페이스

Country Status (6)

Country Link
US (1) US8933912B2 (ko)
EP (1) EP2834723B1 (ko)
JP (1) JP2015515688A (ko)
KR (1) KR102107867B1 (ko)
CN (1) CN103294260B (ko)
WO (1) WO2013151947A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180025599A (ko) * 2016-09-01 2018-03-09 주식회사 넥슨코리아 게임 키맵 제공 방법 및 장치
KR20180036205A (ko) * 2016-09-30 2018-04-09 주식회사 케이엠씨로보틱스 시뮬레이션용 스마트 테이블 장치
KR20210037759A (ko) * 2015-04-30 2021-04-06 구글 엘엘씨 제스처 추적 및 인식을 위한 rf―기반 마이크로―모션 추적
US11175743B2 (en) 2015-10-06 2021-11-16 Google Llc Gesture recognition using multiple antenna

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477302B2 (en) * 2012-08-10 2016-10-25 Google Inc. System and method for programing devices within world space volumes
FR2976681B1 (fr) * 2011-06-17 2013-07-12 Inst Nat Rech Inf Automat Systeme de colocalisation d'un ecran tactile et d'un objet virtuel et dispostif pour la manipulation d'objets virtuels mettant en oeuvre un tel systeme
US8698901B2 (en) * 2012-04-19 2014-04-15 Hewlett-Packard Development Company, L.P. Automatic calibration
TWI436251B (zh) * 2012-04-30 2014-05-01 Univ Nat Taiwan 觸碰式控制裝置及控制方法
WO2013175389A2 (en) * 2012-05-20 2013-11-28 Extreme Reality Ltd. Methods circuits apparatuses systems and associated computer executable code for providing projection based human machine interfaces
US10114609B2 (en) 2012-05-31 2018-10-30 Opportunity Partners Inc. Computing interface for users with disabilities
KR20140019950A (ko) * 2012-08-07 2014-02-18 성균관대학교산학협력단 단말기의 모노 카메라에 입력된 손가락 영상을 이용한 3차원 좌표 생성 방법 및 모노 카메라에 입력된 손가락 영상을 이용하여 3차원 좌표를 생성하는 이동 단말기
US9978178B1 (en) * 2012-10-25 2018-05-22 Amazon Technologies, Inc. Hand-based interaction in virtually shared workspaces
US10241638B2 (en) 2012-11-02 2019-03-26 Atheer, Inc. Method and apparatus for a three dimensional interface
US20140201685A1 (en) * 2013-01-14 2014-07-17 Darren Lim User input determination
US9041691B1 (en) * 2013-02-11 2015-05-26 Rawles Llc Projection surface with reflective elements for non-visible light
JP6195893B2 (ja) * 2013-02-19 2017-09-13 ミラマ サービス インク 形状認識装置、形状認識プログラム、および形状認識方法
KR102516124B1 (ko) 2013-03-11 2023-03-29 매직 립, 인코포레이티드 증강 및 가상 현실을 위한 시스템 및 방법
US9144905B1 (en) * 2013-03-13 2015-09-29 Hrl Laboratories, Llc Device and method to identify functional parts of tools for robotic manipulation
US10599328B2 (en) * 2013-03-14 2020-03-24 Valve Corporation Variable user tactile input device with display feedback system
NZ751593A (en) 2013-03-15 2020-01-31 Magic Leap Inc Display system and method
US9218090B2 (en) * 2013-04-03 2015-12-22 Dell Products, Lp System and method for controlling a projector via a passive control strip
US20140354602A1 (en) * 2013-04-12 2014-12-04 Impression.Pi, Inc. Interactive input system and method
US9323338B2 (en) 2013-04-12 2016-04-26 Usens, Inc. Interactive input system and method
US9465488B2 (en) * 2013-05-09 2016-10-11 Stephen Howard System and method for motion detection and interpretation
US10891003B2 (en) * 2013-05-09 2021-01-12 Omni Consumer Products, Llc System, method, and apparatus for an interactive container
KR101571096B1 (ko) * 2013-11-11 2015-11-23 주식회사 시공미디어 사용자 적응형 인터페이스 제공 시스템 및 방법
EP3072032B1 (en) * 2013-11-21 2020-01-01 Hewlett-Packard Development Company, L.P. Projection screen for specularly reflecting infrared light
US9875019B2 (en) * 2013-12-26 2018-01-23 Visteon Global Technologies, Inc. Indicating a transition from gesture based inputs to touch surfaces
US9390726B1 (en) 2013-12-30 2016-07-12 Google Inc. Supplementing speech commands with gestures
US9213413B2 (en) 2013-12-31 2015-12-15 Google Inc. Device interaction with spatially aware gestures
US20150205360A1 (en) * 2014-01-20 2015-07-23 Lenovo (Singapore) Pte. Ltd. Table top gestures for mimicking mouse control
US9233469B2 (en) * 2014-02-13 2016-01-12 GM Global Technology Operations LLC Robotic system with 3D box location functionality
CN104850330B (zh) * 2014-02-18 2018-12-14 联想(北京)有限公司 信息处理方法、系统及电子设备
CN104850215B (zh) * 2014-02-18 2018-11-09 联想(北京)有限公司 信息处理方法、系统及电子设备
US9971490B2 (en) * 2014-02-26 2018-05-15 Microsoft Technology Licensing, Llc Device control
CN106255938B (zh) * 2014-02-28 2019-12-17 惠普发展公司,有限责任合伙企业 传感器和投影仪的校准
EP2946266B1 (en) * 2014-03-21 2023-06-21 Samsung Electronics Co., Ltd. Method and wearable device for providing a virtual input interface
US9563956B2 (en) * 2014-03-26 2017-02-07 Intel Corporation Efficient free-space finger recognition
EP2975580B1 (en) * 2014-07-16 2019-06-26 Wipro Limited Method and system for providing visual feedback in a virtual reality environment
US10664090B2 (en) 2014-07-31 2020-05-26 Hewlett-Packard Development Company, L.P. Touch region projection onto touch-sensitive surface
US9952677B2 (en) 2014-09-08 2018-04-24 Atheer, Inc. Method and apparatus for distinguishing features in data
EP3191918B1 (en) * 2014-09-12 2020-03-18 Hewlett-Packard Development Company, L.P. Developing contextual information from an image
CN107003717B (zh) * 2014-09-24 2020-04-10 惠普发展公司,有限责任合伙企业 变换所接收到的触摸输入
CN107077196B (zh) * 2014-09-30 2020-01-21 惠普发展公司,有限责任合伙企业 识别触敏表面上的对象
CN107077195B (zh) * 2014-09-30 2020-09-29 惠普发展公司,有限责任合伙企业 显示对象指示符
KR102029756B1 (ko) * 2014-11-03 2019-10-08 삼성전자주식회사 웨어러블 디바이스 및 그 제어 방법
US9606697B1 (en) 2014-11-11 2017-03-28 Google Inc. Display cursor for motion controller
KR20160063812A (ko) * 2014-11-27 2016-06-07 삼성전자주식회사 화면 구성 방법, 전자 장치 및 저장 매체
US9519360B2 (en) * 2014-12-11 2016-12-13 Synaptics Incorporated Palm rejection visualization for passive stylus
WO2017024181A1 (en) 2015-08-06 2017-02-09 Pcms Holdings, Inc. Methods and systems for providing haptic feedback for virtual 3d objects
US10067569B2 (en) * 2015-08-14 2018-09-04 Fresenius Medical Care Holdings, Inc. Touchless interface for a medical treatment system
GB2541730B (en) * 2015-08-28 2020-05-13 Samsung Electronics Co Ltd Displaying graphical user interface elements on a touch screen
US10503265B2 (en) * 2015-09-08 2019-12-10 Microvision, Inc. Mixed-mode depth detection
CN106550206A (zh) * 2015-09-18 2017-03-29 三亚中兴软件有限责任公司 视频会议的视频显示方法及装置
WO2017104272A1 (ja) * 2015-12-18 2017-06-22 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
EP3396499A4 (en) * 2015-12-21 2018-12-05 Sony Corporation Information processing device and information processing method
US20180239417A1 (en) * 2015-12-30 2018-08-23 Shenzhen Royole Technologies Co. Ltd. Head-mounted display device, head-mounted display system, and input method
US10025492B2 (en) * 2016-02-08 2018-07-17 Microsoft Technology Licensing, Llc Pointing detection
KR102568710B1 (ko) 2016-03-30 2023-08-21 삼성전자주식회사 전자장치 및 그 동작 방법
US20170336918A1 (en) * 2016-05-22 2017-11-23 Intel Corporation Touch-sensing devices using minimum depth-value surface characterizations and associated methods
CN105915418A (zh) * 2016-05-23 2016-08-31 珠海格力电器股份有限公司 一种家电控制方法及装置
US10607069B2 (en) * 2016-09-12 2020-03-31 Intel Corporation Determining a pointing vector for gestures performed before a depth camera
US10762641B2 (en) 2016-11-30 2020-09-01 Whirlpool Corporation Interaction recognition and analysis system
US10157308B2 (en) * 2016-11-30 2018-12-18 Whirlpool Corporation Interaction recognition and analysis system
CN106598390B (zh) * 2016-12-12 2021-01-15 联想(北京)有限公司 一种显示方法、电子设备及显示装置
US20180173300A1 (en) * 2016-12-19 2018-06-21 Microsoft Technology Licensing, Llc Interactive virtual objects in mixed reality environments
US11002855B2 (en) 2016-12-27 2021-05-11 Microvision, Inc. Occlusion-based height estimation
US10761188B2 (en) 2016-12-27 2020-09-01 Microvision, Inc. Transmitter/receiver disparity for occlusion-based height estimation
US10061441B2 (en) * 2016-12-27 2018-08-28 Microvision, Inc. Touch interactivity with occlusions in returned illumination data
US10291890B2 (en) * 2017-01-12 2019-05-14 Intel Corporation Touch interface for a projection device
US10507385B2 (en) 2017-01-25 2019-12-17 Kieran S. Lyden Game controller
EP3574361B1 (en) * 2017-01-30 2022-04-20 Alcon Inc. Systems and method for augmented reality ophthalmic surgical microscope projection
EP3583827B1 (en) * 2017-02-16 2020-07-15 Signify Holding B.V. A controller for indicating a presence of a virtual object via a lighting device and a method thereof
US10345895B2 (en) 2017-11-07 2019-07-09 International Business Machines Corporation Hand and finger line grid for hand based interactions
US11029756B2 (en) * 2018-01-12 2021-06-08 Intel Corporation Display with pixel level eye tracking
TWI710926B (zh) * 2018-03-23 2020-11-21 宏碁股份有限公司 鍵盤投影裝置及智慧選字方法
US10831030B2 (en) * 2018-04-20 2020-11-10 Microsoft Technology Licensing, Llc Systems and methods for visually guided gaze-based targeting
US10452947B1 (en) * 2018-06-08 2019-10-22 Microsoft Technology Licensing, Llc Object recognition using depth and multi-spectral camera
WO2020047486A1 (en) 2018-08-31 2020-03-05 Magic Leap, Inc. Spatially-resolved dynamic dimming for augmented reality device
US10970922B2 (en) * 2018-09-28 2021-04-06 Apple Inc. Generating a 3D model of a fingertip for visual touch detection
US11386621B2 (en) 2018-12-31 2022-07-12 Whirlpool Corporation Augmented reality feedback of inventory for an appliance
US11245875B2 (en) 2019-01-15 2022-02-08 Microsoft Technology Licensing, Llc Monitoring activity with depth and multi-spectral camera
CN110060318B (zh) * 2019-04-26 2023-03-21 网易(杭州)网络有限公司 信息处理方法、信息处理装置、处理器和存储介质
CN110308817B (zh) * 2019-06-10 2023-04-07 青岛小鸟看看科技有限公司 一种触控动作识别方法及触控投影系统
US11216065B2 (en) * 2019-09-26 2022-01-04 Lenovo (Singapore) Pte. Ltd. Input control display based on eye gaze
US11597078B2 (en) 2020-07-28 2023-03-07 Nvidia Corporation Machine learning control of object handovers
US11893206B2 (en) * 2020-09-02 2024-02-06 Autodesk, Inc. Transitions between states in a hybrid virtual reality desktop computing environment
CN114327109B (zh) * 2020-09-30 2023-12-19 明基智能科技(上海)有限公司 触控操作方法及触控操作系统
EP3985491A1 (en) * 2020-10-19 2022-04-20 ameria AG Control method for touchless gesture control
TWI763208B (zh) * 2020-12-25 2022-05-01 宏碁股份有限公司 聲音訊號處理方法及電子裝置
CN215873824U (zh) * 2021-08-19 2022-02-22 宁波沱沱河设计有限公司 一种可发光的桌面
US11853509B1 (en) 2022-05-09 2023-12-26 Microsoft Technology Licensing, Llc Using a camera to supplement touch sensing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030063775A1 (en) * 1999-09-22 2003-04-03 Canesta, Inc. Methods for enhancing performance and data acquired from three-dimensional image systems
US20060267946A1 (en) * 2005-05-25 2006-11-30 Microsoft Corporation Methods and systems for providing feedback corresponding to user input
US20070262965A1 (en) * 2004-09-03 2007-11-15 Takuya Hirai Input Device
US20090239517A1 (en) * 2001-09-05 2009-09-24 Tetsu Ota Mobile telephone having character inputting function
US20100315413A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Surface Computer User Interaction

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05502130A (ja) 1989-11-22 1993-04-15 ラッセル、デヴィッド、シー コンピューター制御システム
TW480431B (en) 1999-11-18 2002-03-21 Tai-He Yang Desk-placed structure of hand-held electric control apparatus
US6847354B2 (en) * 2000-03-23 2005-01-25 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Three dimensional interactive display
US6747635B2 (en) 2000-12-16 2004-06-08 Kamran Ossia Multi-mode handheld computer
US7359003B1 (en) * 2001-11-09 2008-04-15 Synerdyne Corporation Display, input and form factor for portable instruments
US7646372B2 (en) * 2003-09-15 2010-01-12 Sony Computer Entertainment Inc. Methods and systems for enabling direction detection when interfacing with a computer program
IL151255A0 (en) * 2002-08-14 2003-04-10 Ariel Yedidya System and method for interacting with computer using a video-camera image on screen and appurtenances useful therewith
EP1627294A2 (en) 2003-05-01 2006-02-22 Delta Dansk Elektronik, Lys & Akustik A man-machine interface based on 3-d positions of the human body
US20050197843A1 (en) 2004-03-07 2005-09-08 International Business Machines Corporation Multimodal aggregating unit
US8432390B2 (en) 2004-07-30 2013-04-30 Extreme Reality Ltd Apparatus system and method for human-machine interface
US20060181519A1 (en) 2005-02-14 2006-08-17 Vernier Frederic D Method and system for manipulating graphical objects displayed on a touch-sensitive display surface using displaced pop-ups
US8279168B2 (en) 2005-12-09 2012-10-02 Edge 3 Technologies Llc Three-dimensional virtual-touch human-machine interface system and method therefor
WO2008132724A1 (en) 2007-04-26 2008-11-06 Mantisvision Ltd. A method and apparatus for three dimensional interaction with autosteroscopic displays
AU2008299883B2 (en) * 2007-09-14 2012-03-15 Facebook, Inc. Processing of gesture-based user interactions
US20090219253A1 (en) 2008-02-29 2009-09-03 Microsoft Corporation Interactive Surface Computer with Switchable Diffuser
US8259163B2 (en) * 2008-03-07 2012-09-04 Intellectual Ventures Holding 67 Llc Display with built in 3D sensing
JP4318056B1 (ja) * 2008-06-03 2009-08-19 島根県 画像認識装置および操作判定方法
US20100053151A1 (en) 2008-09-02 2010-03-04 Samsung Electronics Co., Ltd In-line mediation for manipulating three-dimensional content on a display device
US20100079413A1 (en) * 2008-09-29 2010-04-01 Denso Corporation Control device
US8237666B2 (en) * 2008-10-10 2012-08-07 At&T Intellectual Property I, L.P. Augmented I/O for limited form factor user-interfaces
KR20100041006A (ko) * 2008-10-13 2010-04-22 엘지전자 주식회사 3차원 멀티 터치를 이용한 사용자 인터페이스 제어방법
US8135299B2 (en) * 2009-04-03 2012-03-13 Xerox Corporation Computer generated imagery (CGI) fault clearance instructions
US8760391B2 (en) * 2009-05-22 2014-06-24 Robert W. Hawkins Input cueing emersion system and method
GB2484232B (en) * 2009-07-23 2015-10-28 Hewlett Packard Development Co Display with an optical sensor
US9044172B2 (en) 2009-10-01 2015-06-02 Intel Corporation Ergonomic detection, processing and alerting for computing devices
JP4783456B2 (ja) * 2009-12-22 2011-09-28 株式会社東芝 映像再生装置及び映像再生方法
US8749557B2 (en) * 2010-06-11 2014-06-10 Microsoft Corporation Interacting with user interface via avatar
US8649592B2 (en) * 2010-08-30 2014-02-11 University Of Illinois At Urbana-Champaign System for background subtraction with 3D camera
US9164590B2 (en) * 2010-12-24 2015-10-20 Kevadiya, Inc. System and method for automated capture and compaction of instructional performances
US8736583B2 (en) * 2011-03-29 2014-05-27 Intel Corporation Virtual links between different displays to present a single virtual object
US8897491B2 (en) * 2011-06-06 2014-11-25 Microsoft Corporation System for finger recognition and tracking
US8928735B2 (en) * 2011-06-14 2015-01-06 Microsoft Corporation Combined lighting, projection, and image capture without video feedback
US9560314B2 (en) * 2011-06-14 2017-01-31 Microsoft Technology Licensing, Llc Interactive and shared surfaces

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030063775A1 (en) * 1999-09-22 2003-04-03 Canesta, Inc. Methods for enhancing performance and data acquired from three-dimensional image systems
US20090239517A1 (en) * 2001-09-05 2009-09-24 Tetsu Ota Mobile telephone having character inputting function
US20070262965A1 (en) * 2004-09-03 2007-11-15 Takuya Hirai Input Device
US20060267946A1 (en) * 2005-05-25 2006-11-30 Microsoft Corporation Methods and systems for providing feedback corresponding to user input
US20100315413A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Surface Computer User Interaction

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210037759A (ko) * 2015-04-30 2021-04-06 구글 엘엘씨 제스처 추적 및 인식을 위한 rf―기반 마이크로―모션 추적
US11709552B2 (en) 2015-04-30 2023-07-25 Google Llc RF-based micro-motion tracking for gesture tracking and recognition
US11175743B2 (en) 2015-10-06 2021-11-16 Google Llc Gesture recognition using multiple antenna
US11592909B2 (en) 2015-10-06 2023-02-28 Google Llc Fine-motion virtual-reality or augmented-reality control using radar
US11693092B2 (en) 2015-10-06 2023-07-04 Google Llc Gesture recognition using multiple antenna
US11698439B2 (en) 2015-10-06 2023-07-11 Google Llc Gesture recognition using multiple antenna
US11698438B2 (en) 2015-10-06 2023-07-11 Google Llc Gesture recognition using multiple antenna
KR20180025599A (ko) * 2016-09-01 2018-03-09 주식회사 넥슨코리아 게임 키맵 제공 방법 및 장치
KR20180036205A (ko) * 2016-09-30 2018-04-09 주식회사 케이엠씨로보틱스 시뮬레이션용 스마트 테이블 장치

Also Published As

Publication number Publication date
US8933912B2 (en) 2015-01-13
US20130257748A1 (en) 2013-10-03
CN103294260A (zh) 2013-09-11
KR102107867B1 (ko) 2020-05-07
EP2834723A4 (en) 2015-04-29
EP2834723B1 (en) 2017-12-27
CN103294260B (zh) 2016-11-16
EP2834723A1 (en) 2015-02-11
JP2015515688A (ja) 2015-05-28
WO2013151947A1 (en) 2013-10-10

Similar Documents

Publication Publication Date Title
KR102107867B1 (ko) 터치 감지 사용자 인터페이스
EP3008567B1 (en) User focus controlled graphical user interface using an head mounted device
US9727132B2 (en) Multi-visor: managing applications in augmented reality environments
US9116666B2 (en) Gesture based region identification for holograms
US9910513B2 (en) Stabilizing motion of an interaction ray
EP2652543B1 (en) Optimized focal area for augmented reality displays
KR102281026B1 (ko) 홀로그램 앵커링 및 동적 포지셔닝 기법
KR102208376B1 (ko) Hmd 상의 하이브리드 월드/바디 락 hud
KR101912958B1 (ko) 증강 현실 디스플레이를 위한 자동 가변 가상 초점
US9288468B2 (en) Viewing windows for video streams
US20160027218A1 (en) Multi-user gaze projection using head mounted display devices
US20160131902A1 (en) System for automatic eye tracking calibration of head mounted display device
KR20160021126A (ko) 공유된 홀로그램 객체 및 사적 홀로그램 객체

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant