KR101337204B1 - 향상된 핸드헬드 스크린-센싱 포인터 - Google Patents

향상된 핸드헬드 스크린-센싱 포인터 Download PDF

Info

Publication number
KR101337204B1
KR101337204B1 KR1020117026602A KR20117026602A KR101337204B1 KR 101337204 B1 KR101337204 B1 KR 101337204B1 KR 1020117026602 A KR1020117026602 A KR 1020117026602A KR 20117026602 A KR20117026602 A KR 20117026602A KR 101337204 B1 KR101337204 B1 KR 101337204B1
Authority
KR
South Korea
Prior art keywords
indicia
application
display device
location
handheld device
Prior art date
Application number
KR1020117026602A
Other languages
English (en)
Other versions
KR20120012466A (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 KR20120012466A publication Critical patent/KR20120012466A/ko
Application granted granted Critical
Publication of KR101337204B1 publication Critical patent/KR101337204B1/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
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0325Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/19Image acquisition by sensing codes defining pattern positions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Position Input By Displaying (AREA)

Abstract

향상된 핸드헬드 스크린-센싱 포인팅으로서, 여기서 핸드헬드 디바이스가 디스플레이 디바이스에 의해 렌더링되는 하나 이상의 표지들의 카메라 이미지를 캡쳐하고, 상기 캡쳐된 카메라 이미지에서의 상기 하나 이상의 표지들의 위치 또는 각도가 결정된다. 상기 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 위치가 적어도 상기 카메라 이미지에서의 상기 하나 이상의 표지들의 결정된 위치 또는 각도에 기초하여 결정되고 애플리케이션은 상기 디스플레이 디바이스 상의 상기 결정된 위치에 기초하여 제어된다.

Description

향상된 핸드헬드 스크린-센싱 포인터 {ENHANCED HANDHELD SCREEN-SENSING POINTER}
본 출원은, 참조에 의해 본 명세서에 통합되는 2009일 4월 8일자로 출원된 미국 임시 특허출원 제61/167,738호의 우선권을 주장한다.
본 발명은 일반적으로 사용자 인터페이스에 관련된다.
일반적 구현에 따르면, 컴퓨터-구현되는 프로세스는 디스플레이 디바이스에 의해서 렌더링되는 하나 이상의 표지(fiducial)들의 카메라 이미지를 핸드헬드 디바이스에 의해서 캡쳐하는 단계, 및 캡쳐된 카메라 이미지에서 하나 이상의 표지들의 위치 또는 각도를 결정하는 단계를 포함한다. 또한 상기 프로세스는 적어도 카메라 이미지에서의 하나 이상의 표지들의 결정된 위치 또는 각도에 기초하여 핸드헬드 디바이스가 향하는 디스플레이 디바이스 상의 위치를 결정하는 단계, 및 디스플레이 디바이스 상의 결정된 위치에 기초하여 애플리케이션을 제어하는 단계를 포함한다.
예시적인 구현들에서, 프로세스는 제어되는 애플리케이션의 출력을 나타내는 사용자 인터페이스 내에서 하나 이상의 표지들을 렌더링하기 위해 디스플레이 디바이스를 제어하는 단계를 포함할 수 있다. 게다가, 하나 이상의 표지들은 제 1 표지 및 제 2 표지, 또는 제 1 내지 제 4 표지들을 포함할 수 있다. 디스플레이 디바이스는 LCD, 플라즈마, DLP 또는 CRT 디스플레이일 수 있다. 핸드헬드 디바이스는 레이저 포인터를 더 포함할 수 있고, 카메라 이미지는 레이저 포인터에 의해 디스플레이 디바이스 상에 투사된 레이저 빛을 캡쳐할 수 있다. 하나 이상의 표지들은 디스플레이 디바이스의 스크린의 하나 이상의 코너들을 더 포함할 수 있다. 또한, 프로세스는 밝기 또는 색조에 있어서의 차이에 기초하여 스크린의 하나 이상의 코너를 검출하는 단계를 포함할 수 있다. 하나 이상의 표지들은 사용자 인터페이스 제어를 구성할 수 있고, 회사 로고, 또는 비디오 게임 참조 부분과 같은 데스크톱 아이콘일 수 있다.
일부 구현들에서, 프로세스는 다수의 상이한 디스플레이 디바이스 타입들 중에서 디스플레이 디바이스의 타입을 결정하는 단계를 포함할 수 있다. 이러한 구현들에서, 프로세스는 다수의 상이한 필터링 기술들 중에서 디스플레이 디바이스의 결정된 타입에 적절한 필터링 기술을 선택하는 단계 및 선택된 필터링 기술을 캡쳐된 카메라 이미지에 적용하는 단계를 포함할 수 있다.
일부 구현들에서, 프로세스는 하나 이상의 표지들로서 사용될 수 있는 디스플레이되는 엘리먼트들에 대해 제어되는 애플리케이션의 출력을 나타내는 사용자 인터페이스를 분석하는 단계를 포함할 수 있다. 이러한 예시들에서, 프로세스는 제어되는 애플리케이션의 출력을 나타내는 사용자 인터페이스 내에서 디스플레이되는 엘리먼트들로부터 하나 이상의 표지들을 선택하는 단계 및 제어되는 애플리케이션의 출력을 나타내는 사용자 인터페이스 내의 디스플레이되는 엘리먼트들로부터 선택된 하나 이상의 표지들의 형태 및 위치의 설명을 핸드헬드 디바이스에 송신하는 단계를 포함할 수 있다.
또한, 프로세스는 하나 이상의 표지들의 형태 또는 위치를 식별하는 정보, 또는 디스플레이 디바이스에 의해 렌더링되는 하나 이상의 표지들의 디스플레이의 타이밍을 식별하는 정보를 핸드헬드 디바이스의 메모리로부터 액세스하는 단계를 포함할 수 있다. 하나 이상의 표지들은 디스플레이 디바이스 상에 플래시될 수 있다.
일부 구현들에서, 프로세스는 다수의 상이한 디스플레이 디바이스 타입들 중에서 디스플레이 디바이스의 타입을 결정하는 단계를 포함할 수 있다. 이러한 구현들에서, 프로세스는 다수의 상이한 플래싱 기술들 중에서 디스플레이 디바이스의 결정된 타입에 적절한 플래싱 기술을 선택하는 단계 및 선택된 플래싱 기술을 이용하여 디스플레이 디바이스 상에 하나 이상의 표지들을 플래시하기 위해 디스플레이 디바이스를 제어하는 단계를 포함할 수 있다.
또한, 프로세스는 적어도 카메라 이미지에서의 하나 이상의 표지들의 결정된 위치 또는 각도에 기초하여 핸드헬드 디바이스의 방위(orientation)를 결정하는 단계를 포함할 수 있고, 여기서 애플리케이션은 결정된 방위에 추가로 기초하여 제어될 수 있다. 또한, 프로세스는 핸드헬드 디바이스의 거리 또는 위치를 결정하는 단계를 포함할 수 있고, 핸드헬드 디바이스의 거리, 위치 또는 방위는 디스플레이 디바이스에 대하여 결정될 수 있다. 또한, 프로세스는 핸드헬드 디바이스가 향하는 디스플레이 디바이스 상에서 결정된 위치에 기초하여 핸드헬드 디바이스의 사용자의 식별을 결정하는 단계를 포함할 수 있다.
또한, 프로세스는 디스플레이 디바이스에 의해 렌더링되는 하나 이상의 표지들의 제 2 카메라 이미지를 제 2 핸드헬드 디바이스에 의해 캡쳐하는 단계, 제 2 캡쳐된 카메라 이미지에서의 하나 이상의 표지들의 위치 또는 각도를 결정하는 단계 및 적어도 제 2 카메라 이미지에서의 하나 이상의 표지들의 결정된 위치 또는 각도에 기초하여 제 2 핸드헬드 디바이스가 향하는 디스플레이 디바이스 상의 제 2 위치를 결정하는 단계를 포함할 수 있고, 여기서 애플리케이션은 결정된 위치 및 결정된 제 2 위치에 기초하여 제어될 수 있다. 애플리케이션은 비디오 게임 애플리케이션 또는 미디어 센터 애플리케이션일 수 있다. 상기 애플리케이션을 제어하는 단계는 핸드헬드 디바이스의 방위가 변화하였다고 결정하는 것에 기초하여 가상 유니버스(virtual universe)에서의 아바타의 뷰(view)를 변화시키는 단계를 더 포함할 수 있다.
또한, 프로세스는 디스플레이 디바이스에 의해 렌더링되는 하나 이상의 표지들의 제 2 카메라 이미지를 핸드헬드 디바이스에서 캡쳐하는 단계, 제 2 캡쳐된 카메라 이미지에서의 하나 이상의 표지들의 제 2 위치 또는 제 2 각도를 결정하는 단계,적어도 제 2 카메라 이미지에서의 하나 이상의 표지들의 결정된 제 2 위치 또는 제 2 각도에 기초하여, 핸드헬드 디바이스가 향하는 디스플레이 디바이스 상의 제 2 위치를 결정하는 단계 및 위치를 제 2 위치와 비교하는 것에 기초하여 핸드헬드 디바이스의 모션을 결정하는 단계를 포함할 수 있고, 여기서 애플리케이션은 결정된 모션에 기초하여 제어될 수 있다. 또한, 프로세스는 제 2 핸드헬드 디바이스의 거리, 위치, 또는 방위를 결정하는 단계를 포함할 수 있고, 여기서 핸드헬드 디바이스의 거리, 위치, 또는 방위는 디스플레이 디바이스에 대하여 결정될 수 있다.
또한, 프로세스는 제 1 핸드헬드 디바이스의 결정된 거리, 위치, 또는 방위에 대한 제 2 핸드헬드 디바이스의 결정된 거리, 위치, 또는 방위를 비교하는 것에 기초하여 핸드헬드 디바이스의 사용자의 아이덴티티를 결정하는 단계를 포함할 수 있다. 또한, 프로세스는 디스플레이 디바이스에 대한 핸드헬드 디바이스의 제 1 거리, 위치, 또는 방위를 결정하는 단계, 디스플레이 디바이스에 대한 제 2 핸드헬드 디바이스의 제 2 거리, 위치, 또는 방위를 결정하는 단계, 및 제 2 핸드헬드 디바이스의 결정된 제 2 거리, 위치, 또는 방위에 대한 핸드헬드 디바이스의 결정된 제 1 거리, 위치, 또는 방위에 기초하여 제 1 사용자의 아이덴티티 및 제 2 사용자의 아이덴티티를 결정하는 단계를 포함할 수 있다.
다른 일반적인 구현에 따르면, 시스템은 하나 이상의 컴퓨터들, 및 하나 이상의 컴퓨터들과 결합되고, 하나 이상의 컴퓨터들에 의해서 실행될 때에 하나 이상의 컴퓨터로 하여금 동작들을 수행하게 하는 저장된 명령들을 갖는 컴퓨터-판독가능한 매체를 포함한다. 동작들은 디스플레이 디바이스에 의해서 렌더링되는 하나 이상의 표지들의 카메라 이미지를 핸드헬드 디바이스에 의해서 캡쳐하는 동작, 캡쳐된 카메라 이미지에서 하나 이상의 표지들의 위치 또는 각도를 결정하는 동작, 적어도 카메라 이미지에서의 하나 이상의 표지들의 결정된 위치 또는 각도에 기초하여 핸드헬드 디바이스가 향하는 디스플레이 디바이스 상의 위치를 결정하는 동작 및 디스플레이 디바이스 상의 결정된 위치에 기초하여 애플리케이션을 제어하는 동작을 포함할 수 있다.
다른 일반적인 구현에 따르면, 컴퓨터 저장 매체는 컴퓨터 프로그램으로 인코딩되고, 상기 프로그램은 데이터 프로세싱 장치에 의해서 실행될 때에 데이터 프로세싱 장치로 하여금 동작들을 수행하게 하는 명령들을 포함한다. 동작들은 디스플레이 디바이스에 의해서 렌더링되는 하나 이상의 표지들의 카메라 이미지를 핸드헬드 디바이스에 의해서 캡쳐하는 동작, 캡쳐된 카메라 이미지에서 하나 이상의 표지들의 위치 또는 각도를 결정하는 동작, 적어도 카메라 이미지에서의 하나 이상의 표지들의 결정된 위치 또는 각도에 기초하여 핸드헬드 디바이스가 향하는 디스플레이 디바이스 상의 위치를 결정하는 동작 및 디스플레이 디바이스 상의 결정된 위치에 기초하여 애플리케이션을 제어하는 동작을 포함할 수 있다.
이러한 간단한 요약은 본 명세서에 의해 기술되는 다양한 개념들 및 구현들의 신속한 이해가 가능하도록 제공되었다. 더 완전한 이해는 첨부된 도면들과 관련하여 이하의 상세한 설명을 참조하여 획득될 수 있다. 다른 구현들이 이용될 수 있고 변화들이 이루어질 수 있음이 이해되어야 한다.
도 1은 실례를 보여주는 맥락상의 다이어그램이다.
도 2는 애플리케이션 제어 시스템을 도시한다.
도 3은 예시적인 프로세스의 플로어차트이다.
도 4는 핸드헬드 디바이스를 사용하는 표지 이미지 캡쳐를 도시한다.
도 5는 한 쌍의 표지 위치들에 대한 커서 위치의 예측되는 정확도를 도시한다.
도 6 및 도 7a-d는 하나의 표지에 기초하는 커서 움직임을 도시한다.
도 8은 커서 위치의 정확도를 도시한다.
도 9는 스크린-코너 표지들을 도시한다.
도 10은 사용자 인터페이스 제어 표지들의 사용을 도시한다.
도 11 및 도 12는 비디오 이미지에 걸쳐 오버레이(overlay)된 표지를 도시한다.
도 13은 예시적인 컴퓨팅 디바이스를 도시한다.
같은 참조 번호들은 명세서 전체에 걸쳐 상응하는 부분들을 나타낸다.
도 1은 핸드헬드 디바이스(101)의 사용을 통한 애플리케이션 제어의 실례를 보여주는 개념적인 다이어그램이다. 핸드헬드 디바이스(101)는, 예컨대 리모트 컨트롤 또는 게임 컨트롤러일 수 있다. 핸드헬드 디바이스(101)는 디스플레이 디바이스(102)와 통신할 수 있다. 디스플레이 디바이스(102)는, 예컨대 데스크톱 컴퓨터, 랩톱 컴퓨터, 비디오 게임 콘솔, 셋톱 박스, 등일 수 있다. 디스플레이 디바이스(102)는 사용자 인터페이스(104)를 포함한다. 사용자 인터페이스(104)는, 예컨대 컴퓨터 모니터 또는 텔레비전 디스플레이일 수 있다.
사용자 인터페이스(104)는 표지들(106a-d)를 렌더링한다. 표지(fiducial)는 모양 또는 컬러에 있어서 독특(unique)한 이미지의 시각적 특징이다. 예컨대, 사용자 인터페이스(104) 상에 디스플레이된 기존의 사용자 인터페이스 컴포넌트들은 표지들로서 사용될 수 있다. 표지들의 다른 예시들은 데스크톱 아이콘, 회사 로고, 또는 사용자 인터페이스(104)의 하나 이상의 코너들을 포함한다.
핸드헬드 디바이스(101)는 카메라(108)를 포함한다. 카메라(108)는 표지들(106a-d)의 카메라 이미지를 캡쳐한다. 다수의 카메라 이미지들이 캡쳐될 수 있다. 예컨대, 핸드헬드 디바이스(101a)에 의해 도시된 바와 같이, 사용자가 오른쪽으로 핸드헬드 디바이스(101)를 이동시키면, 카메라(108a)는 시간에 맞춰 제 2 지점에서 표지들(106a-d)의 카메라 이미지를 캡쳐할 수 있다.
표지들(106a-d)의 각각의 위치 또는 각도가 각각 캡쳐된 카메라 이미지에서 결정될 수 있다. 예컨대, 핸드헬드 디바이스(101)에 의해 캡쳐된 카메라 이미지(110)는 캡쳐된 표지 이미지들(112a-d)을 포함한다. 핸드헬드 디바이스(101)의 각도에 의해 생성된 원근에 의해, 카메라 이미지(110)가 캡쳐될 때, 사용자 인터페이스(104) 내에 디스플레이된 대응하는 표지들(106a-d)이 정확한 직사각형 정렬로 나타난 것처럼 표지 이미지들(112a-d)은 정확한 직사각형 정렬로 나타나지 않는다. 예컨대, 표지(106b)는 표지(106d) 위에 수직으로 정렬되는 반면, 표지 이미지(112d)는 표지 이미지(112b)의 오른쪽에 나타난다. 다른 예시로서, 표지(106b)는 표지(106a)와 수평으로 정렬되는 반면, 표지 이미지(112b)는 표지 이미지(112a) 위에 나타난다.
게다가, 원근-관련 왜곡(perspective-related distortion)은 핸드헬드 디바이스(101)의 방위가 변화하는 것만큼 변화할 수 있다. 예컨대, 핸드헬드 디바이스(101a)에 의해 캡쳐된(예컨대, 사용자가 핸드헬드 디바이스(101)를 오른쪽으로 이동시킨 후) 카메라 이미지(114)는 카메라 이미지(110)의 위에 오버레이(overlay)된다(예컨대, 비교를 위해). 핸드헬드 디바이스(101b)의 가장 큰 각도는 카메라 이미지(110)에 비하여 카메라 이미지(114)의 오른쪽에 가장 큰 "스트레치(stretch)"를 유발한다. 예컨대, 표지 이미지(116d)는 대응하는 표지 이미지(112d)보다 더 낮고 더 먼 오른쪽에 있고 표지 이미지(116c)는 대응하는 표지 이미지(112b)보다 더 높고 더 먼 오른쪽에 있다.
카메라 이미지들(110 및 114)은 비교될 수 있고, 계산은, 결정된 표지 위치 정보에 기초하여, 핸드헬드 디바이스(101a)가 향하는 사용자 인터페이스(104) 상의 위치를 결정하도록 수행될 수 있다(예컨대, 삼각 측량). 또한, 일부 구현들에서, 사용자 인터페이스(104)와 관련된 핸드헬드 디바이스(101a)의 위치 및 거리, 또는 방위가 결정될 수 있다. 예컨대, 테이블(120)은, 제 1 시점에서 디스플레이 디바이스(101)가 사용자 인터페이스(104)로부터 6피트 떨어지고, 30°로 지향되며, 사용자 인터페이스(104) 상의 (400,400)의 좌표 위치를 가리키도록 결정된 것, 그리고 제 2 시점에서 디스플레이 디바이스(101a)가 사용자 인터페이스(104)로부터 6피트 떨어지고, 35°로 지향되고, 사용자 인터페이스(104) 상의 (600,400)의 좌표 위치를 가리키도록 결정된 것을 가리키는 예시적인 계산된 정보를 디스플레이한다.
애플리케이션은 사용자 인터페이스(104) 상의 위치를 결정하는 것에 응답하여 제어될 수 있다. 예컨대, 사용자 인터페이스(130)는 표지들(132a-d)과 가상 유니버스를 나타내는 영역(134)을 렌더링한다. 영역(134)은 가상 문(136)을 디스플레이한다(예컨대, 가상 게임의 일부로서). 커서(138)는 미리 결정된 위치에서 디스플레이된다. 사용자가 핸드헬드 디바이스(101)를 오른쪽으로 이동시키는 것(핸드헬드 디바이스(101a)에 의해 표시된 바와 같이)에 응답하여, 사용자 인터페이스(130) 상의 새로운 위치가 결정될 수 있다. 커서(140)는 새로운 위치에서 디스플레이될 수 있다(예컨대, 또한 커서(138)는 커서 이동을 모방하는 것처럼 사용자 인터페이스(130)로부터 제거될 수 있다). 검출된 위치상의 변화에 응답하여, 액션은 가상 유니버스에서의 문(136)의 닫음과 같이 가상 세계에서 수행될 수 있다.
도 1에 도시된 예시에서, 사용자 인터페이스는 각각 특정 모양과 컬러를 갖는 사용자 인터페이스 내의 특정 위치들에서의 표지들(예컨대, 다수의 표지들의 특정 패턴)을 렌더링하도록 제어될 수 있다. 특정 모양과 컬러를 갖는 사용자 인터페이스 내의 특정 위치들에서의 표지들을 렌더링하는 것은 표지들이 사용자 인터페이스와 관련된 핸드헬드 디바이스의 위치 및/또는 각도를 결정하기 위해 용이하게 검출되고 분석되도록 한다. 사용자 인터페이스는 눈에 띄지 않는 방식으로 표지들을 다른 디스플레이 엘리먼트들과 통합시키거나 오버레이시키도록 제어될 수 있다. 핸드헬드 디바이스 또는 디스플레이 디바이스는, 아마도 추가적인 엘리먼트들로서 표지들의 렌더링이 애플리케이션(예컨대, 비디오 게임)에 의해 제공되는 출력이 되도록 초래한다. 또한, 핸드헬드 디바이스 또는 디스플레이 디바이스는 애플리케이션(예컨대, 비디오 게임)에 의해 제공되는 출력으로서 미리 디스플레이 디바이스 상에 렌더링된 적절한 표지들을 선택할 수 있다. 표지들이 디스플레이 디바이스의 사용자 인터페이스 상에 렌더링되기 때문에, 사용자 인터페이스와 관련된 핸드헬드 디바이스의 위치 및/또는 각도는 추가적인 하드웨어 컴포넌트들을 추가해야 함 없이 디스플레이 디바이스를 보조하고 참조 지점들을 생성하도록 검출될 수 있다.
도 2는 애플리케이션 제어 시스템(200)을 도시한다. 시스템(200)은 네트워크(211)를 통해 하나 이상의 핸드헬드 디바이스들(212)에 연결되는 디스플레이 디바이스(201)를 포함한다. 디스플레이 디바이스(201)는 프로세서(202), 사용자 인터페이스(204), 매체(206), 및 네트워크 인터페이스(208)를 포함한다. 핸드헬드 디바이스(212)는 카메라(214), 프로세서(216), 매체(218), 네트워크 인터페이스(220), 및 클록(222)을 포함한다.
디스플레이 디바이스(201)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 비디오 게임 콘솔, 셋톱 박스, 디지털 영상 프레임, 또는 이미지를 디스플레이할 수 있는 임의의 다른 디바이스일 수 있다. 핸드헬드 디바이스(212)는 리모트 컨트롤, 게임 컨트롤러, 레이저 포인터, 모바일 폰, PDA(개인용 디지털 단말기), 또는 다른 모바일 디바이스일 수 있다. 대안적인 구현에서, 핸드헬드 디바이스(212)는 고정된 위치에 유지될 수 있고, 디스플레이 디바이스(201)는 핸드헬드 디바이스(212) 주위에서 이동하는 핸드헬드 디스플레이 디바이스일 수 있다.
매체들(202 및 218)은 정보 또는 데이터를 저장하고 기록하고, 매체 각각은 광학적 스토리지 매체, 자기 스토리지 매체, 플래시 메모리, 또는 임의의 다른 스토리지 매체 타입일 수 있다. 매체(206)는 표지 데이터베이스(210)를 포함하고 매체(218)는 표지 데이터베이스(224)를 포함한다. 표지 데이터베이스들(210 및 224)은, 예컨대, 모양 데이터, 타이밍 데이터(예컨대, 플래싱 표지들을 위한), 및 사용자 인터페이스(204) 상에서의 표지들의 위치들을 저장한다. 일부 구현들에서, 표지 데이터베이스(210 및 224) 모두 사용된다. 다른 구현들에서, 표지 데이터베이스들(210 및 224) 중 하나가 사용된다. 클록(222)은, 예컨대 플래싱 표지들을 디스플레이하는 타이밍을 조정하는데 사용될 수 있다.
사용자 인터페이스(204)는 시각적 디스플레이 이미지를 렌더링하도록 구성될 수 있다. 예컨대, 사용자 인터페이스(204)는 모니터, 텔레비전, 액정 디스플레이(LCD), 플라즈마 디스플레이 디바이스, 프로젝터 스크린을 구비한 프로젝터, 오토스테레오스코픽(auto-stereoscopic) 디스플레이, 음극선관(CRT) 디스플레이, 디지털 광학 프로세싱(DLP) 디스플레이, 또는 디스플레이 이미지를 렌더링하도록 구성된 임의의 다른 타입의 디스플레이 디바이스일 수 있다. 사용자 인터페이스(204)는 하나 이상의 디스플레이 디바이스들을 포함할 수 있다. 일부 구현들에서, 사용자 인터페이스(204)는, 애플리케이션에 의해 생성되는 디스플레이 이미지들과 같은, 컨트롤 및 아바타와 같은 대상을 포함하는 애플리케이션과 관련된 이미지들을 디스플레이하도록 구성될 수 있다.
디스플레이 디바이스(201)는 네트워크 인터페이스(208)를 통해 네트워크(211) 및 가능한 한 하나 이상의 다른 네트워크들에 연결될 수 있다. 유사하게, 핸드헬드 디바이스(212)는 네트워크 인터페이스(220)를 통해 네트워크(211) 및 가능한 한 하나 이상의 다른 네트워크들에 연결될 수 있다. 네트워크(211)는, 예컨대, 하나 이상의 인터넷, 광역 네트워크(WAN)들, 로컬 영역 네트워크(LAN)들, 아날로그 또는 디지털 유선 및 무선 전화 네트워크들(예컨대, PSTN, 종합 서비스 디지털 네트워크(ISDN), 및 디지털 가입자 라인(xDSL)), 라디오, 텔레비전, 케이블, 위성, 및/또는 데이터 서비스들을 전달하기 위한 임의의 다른 딜리버리 또는 터널링 메커니즘을 포함할 수 있다. 네트워크들은 다수의 네트워크들 또는 서브네트워크들을 포함할 수 있고, 각각의 네트워크는, 예컨대, 유선 또는 무선 데이터 경로를 포함할 수 있다. 다른 구현에서, 네트워크(211)는 생략되고, 디스플레이 디바이스(201)는 직접, 무선 또는 유선 통신 채널, 예컨대, 블루투스, Wi-Fi, 조정된 근-적외선 신호, 또는 조정된 근-거리 무선 주파수 통신을 통해 핸드헬드 디바이스에 연결된다.
카메라(214)는 프로세서(216)에 전송될 수 있고 디스플레이 디바이스(201)에 전송될 수 있는 카메라 이미지들을 캡쳐하거나 그렇지 않으면 생성한다. 프로세서(202 및 216)는 본 명세서 전체에서 기술되는 기술들을 사용하는 카메라 이미지들을 프로세싱할 수 있다. 카메라(214)는 스틸 사진들 또는 움직이는 이미지들의 시퀀스로서 이미지들을 캡쳐할 수 있다. 카메라(214)는 가시 스펙트럼의 광 또는 전자기 스펙트럼의 다른 부분들을 사용할 수 있다. 예컨대, 카메라(214)는 디지털 카메라, 디지털 비디오 카메라, 또는 이미지들을 캡쳐하도록 구성된 임의의 다른 타입의 디바이스일 수 있다. 카메라(214)는 하나 이상의 카메라들을 포함할 수 있다. 일부 예시들에서, 카메라(214)는 카메라(214)의 뷰(view)의 필드 내에서 사용자 인터페이스(204)의 이미지들을 캡쳐하도록 구성될 수 있다.
카메라(214)는 디스플레이 디바이스에 의해 생성되는 신호를 검출할 수 있는 임의의 센서일 수 있다. 카메라(214)는 회색 톤으로만 된 카메라 또는 컬러 카메라일 수 있다. 대안적으로, 디스플레이 디바이스가 적외선 이미지를 생성할 수 있다면 카메라(214)는 적외선 카메라일 수 있다.
프로세서(216)는 카메라(214)로부터 이미지들을 수신하고 위치 데이터를 생성하도록 이미지들을 프로세싱할 수 있다. 프로세서(202)는 핸드헬드 디바이스(212)로부터 이미지들을 수신하고 위치 데이터를 생성하도록 이미지들을 프로세싱할 수 있다. 또한, 프로세서(202)는 사용자 인터페이스(204) 상에 디스플레이된 디스플레이 이미지들을 생성할 수 있다.
디스플레이 디바이스(201)는 퍼스널 컴퓨터(PC) 또는 셋톱 박스를 포함하거나 그와 인터페이싱하는 것으로서 기술되었지만, 이러한 기술은 단순히 간결성을 위해 이루어진 것이고, 다른 구현들 또는 양상들도 고려된다. 예컨대, 디스플레이 디바이스(201)는 텔레비전, 울트라-모바일 퍼스널 컴퓨터(UMPC), 모바일 인터넷 디바이스(MID), 디지털 영상 프레임(DPF), 휴대용 미디어 플레이어(PMP), 범용 컴퓨터(예컨대, 데스크톱 컴퓨터, 워크스테이션, 또는 랩톱 컴퓨터), 서버, 게이밍(gaming) 디바이스 또는 콘솔, 또는 명령들을 실행하도록 구성된 프로세서 또는 다른 제어 회로를 포함하는 임의의 다른 타입의 전자 디바이스, 또는 사용자 인터페이스를 포함하는 임의의 다른 장치를 사용하여 구현될 수 있다.
도 3은 애플리케이션을 제어하기 위한 컴퓨터-구현되는 프로세스를 도시하는 플로어 차트이다. 요약하면, 프로세스(300)는 디스플레이 디바이스에 의해 렌더링되는 하나 이상의 표지들의 카메라 이미지를 핸드헬드 디바이스에 의해 캡쳐하는 단계; 캡쳐된 카메라 이미지에서 하나 이상의 표지들의 위치 또는 각도를 결정하는 단계; 적어도 카메라 이미지에서의 하나 이상의 표지들의 결정된 위치 또는 각도에 기초하여 핸드헬드 디바이스가 향하는 디스플레이 디바이스 상의 위치를 결정하는 단계; 및 디스플레이 디바이스 상의 결정된 위치에 기초하여 애플리케이션을 제어하는 단계를 포함한다.
더 상세하게, 프로세스(300)가 시작되어(S302), 디스플레이 디바이스에 의해 렌더링되는 하나 이상의 표지들의 카메라 이미지가 핸드헬드 디바이스에 의해 캡쳐된다(S304). 표지는 모양 또는 컬러에 있어서 독특한 이미지의 시각적 특징이다. 캡쳐된 카메라 이미지에 포함될 수 있는 예시적인 표지들은 사용자 컴포넌트, 데스크톱 아이콘들, 회사 로고들, 스크린 코너들, 및 비디오 게임 참조 부분들(예컨대, 비디오 게임 건강 표시자, 비디오 게임 무기 부분, 비디오 게임 로고, 비디오 게임 인터페이스 컨트롤, 등)을 포함한다.
캡쳐된 카메라 이미지의 하나 이상의 표지들의 위치 또는 각도가 결정된다(S306). 예컨대, 하나 이상의 표지들의 모양 또는 위치를 식별하는 정보는 핸드헬드 디바이스의 메모리로부터 엑세스(access)될 수 있다.
핸드헬드 디바이스가 향하는 디스플레이 디바이스 상의 위치는 적어도 카메라 이미지에서의 하나 이상의 표지들의 결정된 위치 또는 각도에 기초하여 결정된다(S308).
애플리케이션은 디스플레이 디바이스 상의 결정된 위치에 기초하여 제어되고(S310), 이에 의해 프로세스를 종료한다(S312). 예컨대, 비디오 게임 애플리케이션 또는 미디어 센터 애플리케이션이 제어될 수 있다. 더 구체적인 예시로서, 핸드헬드 디바이스의 사용자의 아이덴티티가 핸드헬드 디바이스가 향하는 디스플레이 디바이스 상의 결정된 위치에 기초하여 결정될 수 있다.
도 4는 애플리케이션-제어 시스템(400)을 도시한다. 핸드헬드 디바이스(401)는 카메라(402) 및 프로세서(미도시)를 포함한다. 카메라(402)는 디스플레이(405)의 디스플레이 이미지 상에 렌더링되는 표지들(404a-d)의 세트를 검출한다. 카메라(402)의 뷰(406)의 필드는 핸드헬드 디바이스(401)가 디스플레이(405)의 임의의 위치(예컨대, 위치(407))를 가리킬 경우 표지들(404)의 세트가 뷰(406)의 필드 내에 있도록 있을 수 있다. 커서(408)는 핸드헬드 디바이스(401)에 의해 가리켜지는 위치(예컨대, 위치(407))에서 디스플레이 이미지 상에 렌더링될 수 있다.
핸드헬드 디바이스(401)는 누를 수 있는 버튼들을 포함할 수 있다. 핸드헬드 디바이스(401)는 텔레비전 리모트 컨트롤과 유사한 크기 및 외형을 가질 수 있다. 핸드헬드 디바이스(401)는, 무선 블루투스 송신기와 같은 송신기를 더 포함할 수 있다. 송신기는 위치 데이터(예컨대, 좌표) 및 버튼 데이터를 디스플레이 디바이스(409)로 전송할 수 있다. 디스플레이 디바이스(409)는 핸드헬드 디바이스(401)에 명령들(예컨대, 트랙킹하는 것을 시작함 또는 정지시킴, 표지의 타입을 기술함)을 전송할 수 있다.
디스플레이 디바이스(409)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 비디오 게임 콘솔, 셋톱 박스, 등일 수 있다. 디스플레이 디바이스(409)는 디스플레이(405) 상에 디스플레이되는 디스플레이 이미지들을 생성할 수 있다. 디스플레이 이미지들을 생성하는 것은 비디오 이미지 상에 표지들을 오버레이하는 것, 또는 표지들을 포함하는 그래픽 사용자 인터페이스를 렌더링하는 것을 포함할 수 있다. 시스템(400)의 대안적인 변형에서, 카메라 이미지들은 디스플레이 디바이스(409)에 전송되고 디스플레이 디바이스(409) 내에서 프로세서에 의해 프로세싱될 수 있다. 그러나, 이러한 구현에서, 이미지들은 전송을 위한 위치 데이터보다 더 큰 대역폭을 요구할 수 있다.
시스템(400)의 다른 대안적인 변형에서, 디스플레이 이미지의 렌더링은 핸드헬드 디바이스(401) 내에서 수행될 수 있다(실질적으로, 이러한 구현에서, 비디오 게임 콘솔은 핸드헬드 디바이스(401)에 통합됨). 예컨대, 핸드헬드 디바이스(401)은 라이트-건(light-gun) 게임을 수행하는 장난감 총일 수 있고, 텔레비전에 연결되는 비디오 출력을 포함할 수 있다.
핸드헬드 디바이스(401)에 설치된 카메라(402)를 이용하여 트랙킹하는 것은 디스플레이(405)에 설치된 카메라(402)를 이용하여 트랙킹하는 것보다 더 높은 정밀도의 명령일 수 있다. 따라서, 카메라(402)를 핸드헬드 디바이스에 설치하는 것은 카메라(402)를 디스플레이(405)에 설치하는 것보다 더 나을 수 있다.
카메라(402)가 핸드헬드 디바이스(401)에 설치되는 경우, 커서로서의 표지들의 이동은 디스플레이(405)의 한쪽에서 거리, 스크린 크기, 및 카메라의 뷰의 필드에 따라 카메라 이미지의 1/2과 1/4 사이일 수 있는 다른 쪽까지 스윕(sweep)된다. 1024×768 해상도 센서를 가정하면, 250과 500개 사이의 별개의 수평 커서 위치들이 식별될 수 있다. 서브-픽셀 보간법의 사용은 효과적으로 해상도를 증가시킬 수 있고 커서 위치가 디스플레이 스크린의 네거티브 해상도에서 또는 그 근처에서 계산되는 것을 가능하게 한다.
카메라(402)가 디스플레이(405)에 설치되고 마커(marker)들이 핸드헬드 디바이스(401)에서 트레킹되는 경우, 마커들의 매우 작은 이동은 스크린-상의 커서의 큰 이동으로 확대될 수 있다. 심지어 서브-픽셀 보간법을 이용하여도, 커서 위치는 현저한 지터(jitter)를 갖는다.
이하에 더 상세하게 논의되는 바와 같이, 표지들을 검출하는 것 그리고/또는 디스플레이하는 것의 양상들은 사용되는 디스플레이 디바이스의 타입에 기초하여 변할 수 있다. 이에 관하여, 시스템은 다수의, 상이한 타입들의 디스플레이들 중에서(예컨대, 적어도 LCD, 플라즈마, DLP 또는 CRT 모니터 중에서) 사용되는 디스플레이 디바이스의 타입을 결정할 수 있다. 시스템은, 다수의, 상이한 필터링 기술들로부터 결정된 디스플레이 디바이스의 타입에 적절한 필터링 기술을 선택할 수 있고, 표지 검출을 수행하는 것에 있어서 캡쳐된 카메라 이미지들에 선택된 필터링 기술을 적용할 수 있다. 필터링 기술은 결정된 디스플레이 타입에 의해 디스플레이되는 이미지들 내에서 표지들을 적절하게 검출하도록 요구되는 프레임 레이트(rate) 및/또는 컬러 필터링을 나타낼 수 있다. 상이한 필터링 기술들은 상이한 타입의 디스플레이 디바이스들 각각에 적용될 수 있거나, 일부 경우들에서, 동일한 필터링 기술이 상이한 디스플레이 디바이스들에 적용될 수 있다.
액정(예컨대, LCD) 및 플라즈마 디스플레이들은 카메라에 의해 캡쳐되는 경우 상대적으로 안정적인 이미지들을 생성한다. 트랙킹은 디스플레이 디바이스와 동일한 프레임 레이트(대개 초당 60 프레임)로 발생할 수 있다. 더 빠른 프레임 레이트(예컨대, 초당 240 프레임)로 트랙킹이 가능할 수 있지만, 비정기적인 프레임은 버려질 수 있다. 예컨대, 카메라가 초당 240 프레임으로 동작하면, 세 개의 연속적인 카메라 프레임들은 완전한 디스플레이 이미지를 캡쳐할 수 있고, 뒤이어 프레임의 노출 시간이 디스플레이 디바이스의 리프레시(refresh)와 일치하는 경우 불완전한 디스플레이 이미지를 캡쳐하거나, 프레임 노출 시간이 두 개의 상이한 디스플레이 프레임들의 일부를 캡쳐하는 경우 톤 이미지를 캡쳐하는 하나의 카메라 프레임이 이어진다. 불완전한 이미지 또는 톤 이미지 프레임은 검출될 수 있고(예컨대, 카메라 이미지 내에서 나타나는 디스플레이 이미지의 밝기 또는 완전성에 기초하여 프로세서에 의해 결정됨) 버려질 수 있다. 더 빠른 프레임 레이트의 지원은 하드웨어의 선택에 영향을 미치고 핸드헬드 디바이스(401)의 가격에 영향을 줄 수 있다.
카메라(402)에 의해 캡쳐되는 경우 플래시 패턴들을 생성할 수 있는 대부분의 DLP(디지털 광학 프로세싱) 디바이스는 순차적으로 적색, 녹색, 그리고 청색을 디스플레이한다. 다양한 팩터들에 따라, 트레킹은 디스플레이(405)와 동일한 프레임 레이트, 대개 초당 60 프레임으로 수행될 수 있다. DLP 디바이스가 컬러를 순환시키는 방식 때문에, 카메라(402)는 완전한 청색 및 녹색 이미지를 캡쳐할 수 있으나 단지 부분적 적색 이미지를 캡쳐할 수 있다. 다른 카메라 프레임은 완전한 청색 및 적색 이미지를 캡쳐할 수 있으나 단지 부분적 녹색 이미지를 캡쳐할 수 있다. 소프트웨어는 가장 완전한(예컨대, 가장 밝은) 하나 이상의 컬러 채널들을 선택하고 단지 부분적으로 캡쳐된(예컨대, 더 어둡고, 불완전한 이미지) 컬러 채널들을 버리기 위해 카메라 이미지를 필터링할 수 있다. 필터링된 이미지는 표지들이 검은색 및 백색인 경우 정상적으로 프로세싱될 수 있거나, 또는 더 높은 프레임 레이트(예컨대, 정확히 디스플레이 프레임 레이트의 세배, 여기서 각 연속적인 카메라 프레임은 디스플레이 이미지의 하나의 컬러를 검출함)로 프로세싱될 수 있다.
일부 경우들에서, DLP 디바이스를 트랙킹하는 것은 표지들이 컬러를 포함하는 경우 더 느린 프레임 레이트(예컨대, 초당 30 레이트)로 제한될 수 있다. DLP의 컬러 선회의 완전한 한 사이클보다 긴 캡쳐 시간 기간에 걸쳐 카메라(402)를 노출시키는 것은 모든 컬러 채널들(적색, 녹색, 및 청색)이 완전한 것을 확보할 수 있다.
CRT(음극선관) 디스플레이는 카메라(402)에 의해 캡쳐될 경우 어두운 밴드를 생성할 수 있다. CRT 디스플레이는 핸드헬드 디바이스(401)가 디스플레이에 동기화될 수 있는 경우 디스플레이와 동일한 프레임 레이트(일반적으로 초당 60 프레임)로 트레킹된다. 핸드헬드 디바이스(401)가 디스플레이에 동기화될 수 없다면 어두운 밴드가 표지들의 임의의 부분을 흐리게 하지 않도록 트랙킹은 더 느린 프레임 레이트(예컨대 초당 30 프레임)로 제한될 수 있다
DLP 및 CRT 디스플레이를 트랙킹하기 위해, 핸드헬드 디바이스(401)는 상술된 추가적인 프로세싱을 수행할 수 있다. 디스플레이 타입은 연속적인 카메라 이미지들 내에서 나타나는 디스플레이 이미지의 밝기 및 간섭성의 변화를 분석하는 것에 의해 자동-검출될 수 있다. 핸드헬드 디바이스(401)는 수동으로 조정될 수 있거나 될 수 없으며 표지들의 타입 및 위치는 핸드헬드 디바이스(401)의 메모리에 저장될 수 있거나 핸드헬드 디바이스(401)에 전송될 수 있다. 다수의 핸드헬드 디바이스들(401)은 디스플레이(405) 상에 렌더링되는 동일한 표지들을 공유할 수 있다. 따라서, 다수의 사용자들 각각이 핸드헬드 디바이스(401)를 갖는 경우, 각 핸드헬드 디바이스(401)에 대한 위치는 동시에 계산되거나 결정될 수 있다.
디스플레이 디바이스(409)에서의 프로세스는 표지들의 세트를 선택하기 위해 디스플레이 이미지들을 분석할 수 있고, 표지 모양들 및 위치들의 기술을 핸드헬드 디바이스(401)에 전송할 수 있다. 이러한 프로세스를 사용하여, 많은 디스플레이 이미지들은, 디스플레이 이미지가 코너들 및 에지들과 같은 일부 뚜렷한 특징들을 포함하는 한, 애플리케이션의 외형을 수정함 없이 트레킹될 수 있다.
디스플레이 이미지를 분석하는 것은, 디스플레이 이미지 버퍼에서의 픽셀 데이터를 분석하는 것에 의해 코너들 및 에지들과 같은 특징을 식별하는 것을 포함할 수 있다. 디스플레이 이미지는, 예컨대, 비디오, 사진, 비디오 게임, 또는 컴퓨터 데스크톱 애플리케이션을 포함할 수 있다. 표지들의 세트를 선택하는 것은 가장 뚜렷한 특징들(예컨대, 가장 높은 콘트라스트(contrast)를 갖는)을 선택하는 것을 포함할 수 있다.
다른 예시로서, 특징들은 데스크톱 컴포넌트들(예컨대, 윈도우들, 타이틀 바들, 메뉴들, 툴바들, 등)을 기술하는 더 높은 레벨 데이터를 분석하는 것에 의해 식별될 수 있다. 특징들의 세트 또는 모양 기술은 각 타입의 높은 레벨 데스크톱 컴포넌트에 대해 미리 결정될 수 있다(예컨대, 윈도우가 네 개의 코너 특징들을 갖는다고 가정할 수 있음). 표지들의 세트를 선택하는 것은 가시적인 데스크톱 컴포넌트들(예컨대, 다른 데스크톱 컴포넌트들에 의해 가려지지 않은)을 선택하는 것을 포함할 수 있고 가장 뚜렷한 특징들(예컨대, 가장 높은 콘트라스트)을 포함하기 쉽다.
대역폭 요구들을 감소시킬 수 있고, 디스플레이 이미지의 외형이 변화하는 것으로서 업데이트될 수 있는 핸드헬드 디바이스(401)에 전송되는 표지들의 기술은 콤팩트할 수 있다. 다른 예시로서, 디스플레이 이미지는 핸드헬드 디바이스(401)에 전송될 수 있고, 분석하는 단계 및 선택하는 단계는 핸드헬드 디바이스(401) 상에서 수행될 수 있다(이 예시에서 이미지들을 전송하는데 요구되는 대역폭이 높을 수 있더라도). 표지들 또는 카메라 이미지의 기술은 이미지들의 렌더링, 디스플레이, 및 캡쳐에서의 레이턴시(latency), 또는 표지 기술들의 전송의 레이턴시를 보상(account for)하기 위해 버퍼(buffer)될 수 있다.
표지들은 렌더링된 디스플레이 이미지의 에지들에 있을 것을 요구하지 않는다. 예컨대, 도 5는 한 쌍의 표지 위치들에 대한 커서 위치의 예측되는 정확도를 도시한다. 개념적으로, 에러(502)는, 마치 레이저 포인터가 핸드헬드 디바이스에 설치된 것과 같이, 레이저 점(dot)의 위치와 비교하여 커서의 오프셋을 나타낸다. 디바이스가 표지들의 경계 밖에서 추가로 지시되기 때문에, 커서 및 레이저는 서서히 벗어날 수 있다(diverge). 그러나, 레이저 포인터의 도움 없이, 사용자는 도 5의 디스플레이(504)에 도시된 것처럼 표지들의 분리가 단지 디스플레이 스크린의 면적의 1/3이더라도 이 에러를 감지하기 쉽지 않다.
두 표지들의 최소값이 사용될 수 있다. 단일 표지가 사용되면 위치가 추정될 수 있으나, 실제 위치는 표지로부터 떨어진 핸드헬드 디바이스가 추가로 지시하는 예측된 위치로부터 벗어날 수 있다. 실제 위치 및 추정되는 위치는 핸드헬드 디바이스가 표지 쪽으로 이동할 경우 재-수렴할 수 있다.
하나의 표지가 사용되면, 사용자가 핸드헬드 디바이스가 수평이 아니도록 유지할 경우 이동이 부정확할 수 있다. 도 6에 도시된 바와 같이, 사용자가 디바이스(601)를 각도(603)로 유지하면서 방향(602)으로 오른쪽을 향해 핸드헬드 디바이스를 이동시키면, 커서(604)는 각도(603)와 유사한 각도로 예측된 경로(606)로부터 분리된 경로(605)를 따라 이동할 수 있다.
하나의 표지가 사용되면, 디스플레이의 크기에 대한 사용자의 거리가 결정될 수 없을 수도 있기 때문에 이동들이 적절하지 않게 측정될 수 있다. 예시들은 도 7a-7d에 도시된다. 스크린으로부터 특정 거리에서, 사용자는 디스플레이 스크린에 걸쳐 커서를 스윕하도록 핸드헬드 디바이스의 각도 거리를 이동시켜야 할 수 있고, 여기서 방위는 스크린 크기에 독립적이다. 예컨대, 도 7a에 도시된 바와 같이 디스플레이 스크린(702)이 작은 경우, 사용자는 예측된 방위(708)보다 더 큰 방위(707)로 핸드헬드 디바이스(706a)를 이동시켜야할 수 있고, 이에 의해 디바이스(706a)가 동작에 불충분하게 민감하다는 느낌을 제공한다.
다른 예시로서, 도 7b에 도시된 바와 같이 디스플레이 스크린(710)이 큰 경우, 사용자는 예측된 방위(714)보다 더 적은 방위(712)로 핸드헬드 디바이스(706b)를 이동시켜야할 수 있고, 이에 의해 디바이스(706b)가 동작에 몹시 민감하다는 느낌을 제공한다.
일정한 사이즈의 디스플레이를 이용하여, 사용자는 디스플레이에 걸쳐 커서를 스윕하기 위해 특정한 각도 거리를 이동해야 할 수 있고, 여기서 상기 각도는 중심으로부터의 거리에 독립적이다. 예컨대, 사용자가 도 7c에 도시된 바와 같이 디스플레이 스크린(720)과 떨어져 있을 때에, 상기 사용자는 핸드헬드 디바이스(706c)를 예측된 방위(724)보다 더 큰 방위(722)로 이동시켜야 할 수 있을 수 있고, 그에 따라 상기 디바이스(706c)가 동작에 대해 불충분하게 민감하다는 느낌을 제공한다. 다른 예로서, 사용자가 도 7d에 도시된 바와 같이 디스플레이 스크린(730)의 근처에 있을 때에, 상기 사용자는 핸드헬드 디바이스(706d)를 예측된 방위(734)보다 더 적은 방위(732)로 이동시켜야 할 수 있고, 그에 따라 상기 디바이스(706d)가 이동에 몹시 민감하다는 느낌을 제공한다.
상기 카메라 이미지에서의 검출된 표지의 위치는 렌즈 왜곡을 보상하기 위해 수정될 수 있다. 일부 상황들에서, 예컨대 렌즈 왜곡이 사용자에 의해 검출가능하지 않은 것으로 결정되면 수정이 수행되지 않을 수도 있다. 수정이 수행되면, 카메라 이미지에서의 검출된 표지의 수정된 위치는 기준 위치와 비교될 수 있다. 예컨대, 기준 위치는 상기 핸드헬드 디바이스가 상기 디스플레이 디바이스의 중심을 향할 경우에 상기 카메라 이미지에서 상기 표지가 나타날 것으로 예측되는 위치일 수 있다. 검출된 위치와 기준 위치 간의 차이는 스케일 팩터(scale factor)에 의해 곱해져서 상기 검출된 위치를 컴퓨터/게임-콘솔의 좌표 공간으로 리맵핑될 수 있다. 상기 스케일링된 위치는 상기 디스플레이 이미지 내의 상기 표지의 위치에 대한 것일 수 있고, 이러한 경우에 상기 스케일링된 위치는 표지 디스플레이 위치로부터 차감되어 상기 디스플레이 이미지에 대한 위치를 생성할 수 있다. 상기 디스플레이 이미지에 대한 위치에서 커서가 상기 디스플레이 이미지로 렌더링될 수 있다.
평균 사이즈 디스플레이 스크린 및 스크린으로부터의 평균 사용자 거리를 보상하기 위해 스케일 팩터가 미리정의될 수 있다. 사용자의 디스플레이 스크린 사이즈 또는 거리가 미리정의된 세팅과 상당히 상이할 경우, 상기 스케일 팩터를 조정하는 옵션이 사용자에게 주어질 수 있다.
상기 핸드헬드 디바이스가 유지되는 각도 및 상기 디스플레이 스크린의 사이즈에 대한 사용자의 거리 모두를 계산하기 위해서 두 개의 표지들의 사용이 충분할 수 있다. 두 개의 표지들을 사용하는 것은 도 6 및 도 7a-d에 대해서 상기 논의된 문제들을 제거할 수 있다.
도 8은 사용자(801)의 위치에 대하여 커서 위치의 정확도를 도시한다(예컨대, 사용자(801)가 디스플레이 스크린(802)의 바로 앞에 앉거나 또는 상기 디스플레이 스크린(802)에 떨어져 앉을 경우). 결과적으로, 오차(803)는 예컨대 레이저 포인터가 핸드헬드 디바이스에 설치되는 경우에 레이저 점과 비교하여 상기 커서의 오프셋을 나타낸다. 상기 커서 위치는 상기 스크린(802)의 바로 앞에 앉아있는 사용자에 대해서는 매우 정확할 수 있지만, 커서와 레이저는 사용자가 중심으로부터 더 떨어져 앉을수록 점진적으로 벗어날 수 있다. 유사한 관계가 사용자가 스크린(802)의 위 또는 아래에 있는 경우에도 따른다. 하지만, 레이저 포인터의 도움이 없이도, 사용자(801)가 중심으로부터 30도 떨어져 앉으면(예컨대, 사용자(804)로 도시되는 바와 같이), 사용자는 이러한 오차를 인식하지 않을 수도 있다.
두 개의 표지들의 경우에, 제 1 표지 및 제 2 표지 간의 거리에 기초하여 스케일 팩터가 계산될 수 있다. 상기 제 1 표지에 대한 상기 제 2 표지의 상대적 x 및 y 위치에 기초하여 각도가 계산될 수 있다. 상기 계산된 각도는 예측 각도(예컨대, 상기 표지들이 나란히 있는 경우에는 0도)와 비교될 수 있다. 상기 제 2 표지의 상기 검출된 위치는 각도에 있어서의 계산된 차이만큼 상기 제 1 표지의 검출된 위치에 대해 회전될 수 있다. 이후의 프로세싱은 단일 표지에 대한 프로세싱과 유사할 수 있다. 예컨대, 상기 카메라 이미지에서의 상기 검출된 제 1 표지의 위치가 기준 위치와 비교될 수 있다. 상기 기준 위치는, 예컨대 상기 핸드헬드 디바이스가 상기 디스플레이 스크린의 중심으로 향할 경우에 상기 제 1 표지가 상기 디스플레이 이미지에서 나타날 것으로 예측되는 위치일 수 있다. 상기 검출된 제 1 위치와 상기 기준 위치 간의 차이는 계산된 스케일 팩터와 곱해져서 상기 검출된 제 1 위치를 컴퓨터/게임-콘솔의 좌표 공간으로 리맵핑될 수 있다. 상기 스케일링된 위치는 상기 제 1 표지 디스플레이 위치로부터 차감되어 상기 디스플레이 이미지에 대한 위치를 생성할 수 있다. 상기 디스플레이 이미지에 대한 상기 위치에서 커서가 상기 디스플레이 이미지로 렌더링될 수 있다.
4개의 표지들의 이용은 도 5와 관련하여 앞서 기술된 오차들을 상당히 감소시킬 수 있다. 게다가, 스크린의 좌측, 우측, 위, 또는 아래에 대한 사용자의 위치의 개략적인 추정이 4개의 표지들을 이용해 계산될 수 있다. 사용자의 정밀한 이동들을 추적하기에는 정확도가 충분치 않을 수도 있지만, 다수의 사용자들이 각각 핸드헬드 디바이스를 갖는 시나리오에서는, 사용자의 순서(예컨대, 사용자 A는 사용자 B의 좌측에 위치함)가 결정될 수 있다.
표지들은 외관이 변화할 수 있다. 게다가, 일부 방법들은 특정 애플리케이션들에 보다 적합할 수 있기 때문에, 본 시스템은 표지들의 타입 및 위치들을 상기 핸드헬드 디바이스로 송신함으로써 표지들의 타입들 사이에서 스위칭할 수 있다.
상기 스크린의 코너들 또는 에지들이 4개의 표지들로서 검출될 수 있다. 스크린 코너들의 일 예가 도 9에 도시된다. 예컨대 디스플레이 스크린(901)의 배경컬러가 밝기 또는 색조에 있어서 상기 디스플레이 스크린(901)을 둘러싸는 베젤(902)과 상이하게 나타날 경우에, 상기 스크린의 코너들 또는 에지들이 검출될 수 있다. 상기 베젤(902)이 회색일 경우일지라도, 메뉴 바 또는 청색 배경의 코너들(903)이 색조에 기초하여 검출될 수 있다.
상기 스크린의 코너들 또는 에지들은 데스크톱 컬러가 제어되는 임의의 스크린에 대해 이용될 수 있다(예컨대, 윈도우 미디어 센터). 하지만, 스크린 코너들 또는 에지들이 풀 스크린 비디오의 재생 동안에 트랙킹되지 않을 수도 있는데, 이는 상기 비디오가 상기 스크린과 베젤 사이의 콘트라스트를 제공하기에는 너무 어두운 장면들을 포함하기 때문이다.
상기 디스플레이 스크린의 코너들은 코너 특징들을 이용하여 검출될 수 있다. 추가적으로, 상기 디스플레이 스크린의 좌측, 우측, 위, 및 아래 에지들이 호프(Hough) 변환 알고리즘을 이용하여 검출될 수 있다.
규칙적인 타겟 형태들, 예컨대 원들 또는 직사각형들은 그래픽 사용자 인터페이스 내에서 버튼들 또는 장식들로 위장될 수 있으며, 예컨대 일 예로서 풀 스크린 비디오 이미지(1002) 상에 중첩되는 도 10에 도시되는 미디어 제어 바(1001)로서 위장될 수 있다. 이 예에서, 상기 표지들(1003 및 1004)은 바(1001)의 끝에서 원형 버튼들로서 나타낸다.
두꺼운 경계가 표지를 위해 이용될 수 있다. 예컨대, 상기 경계는 카메라 이미지에서 둘 또는 그 이상의 픽셀들 두께로서 보여질 수 있다. 하지만, 상기 카메라는 상기 디스플레이 스크린보다 더 낮은 해상도를 가질 수 있고, 상기 디스플레이 스크린은 카메라 시계(field of view)의 폭의 1/4 정도로 작을 수 있다. 그러므로, 상기 경계는 팩터들의 수에 따라 25 픽셀들 두께 정도까지 가질 필요가 있다. 하이 콘트라스트가 이용될 수 있다. 예컨대, 상기 미디어 바는 불투명한 어두운 배경을 가질 수 있다. 다른 예에서, 상기 배경은 약간 반-투명할 수 있다. 원들 및 직사각형들이 이용될 수 있는데, 이는 그들이 검출하는데에 보다 용이할 수 있고 그리고 정확한 서브-픽셀 위치 계산을 유도할 수 있기 때문이다. 사용자 인터페이스의 다른 부분들에서는 형태들의 이용이 회피될 수도 있다. 모든 잠재적인 검출된 타겟 형태들의 상대적인 배열에 기초하여 상기 타겟 형태들의 비의도적인 발생이 검출되어 걸러질 수 있다. 형태들의 다른 발생들이 사용자 인터페이스의 다른 부분들에서 나타나면, 강인성(robustness)이 감소될 수 있다.
원형 또는 직선 에지들을 검출하도록 구성되는 호프 변형 알고리즘을 이용함으로써 원들 또는 직사각형들이 검출될 수 있다. 대안적으로, 임계 및 클러스터링 동작들을 수행함으로써 원들 및 직사각형들이 검출될 수 있다. 임계 동작은 로컬 최소 및 최대 값 사이의 임계 값을 선택할 수 있고 그리고 상기 임계 값보다 더 높거나 또는 더 낮은 것으로서 카메라 이미지의 픽셀들을 분류할 수 있다. 예컨대, 상기 형태가 어두운 배경 상에서 밝으면, 상기 임계 값보다 더 높은 것으로서 분류된 픽셀들이 클러스터링될 수 있다. 다른 예로서, 상기 형태가 밝은 배경 상에서 어두우면, 상기 임계 값보다 더 어두운 것으로서 분류된 픽셀들이 클러스터링될 수 있다. 클러스터링은 인접한 픽셀들의 세트들을 형성하는 것을 포함할 수 있다.
로고들 및 아이콘들이 표지들로서 이용될 수 있다. 예컨대, 도 11은 풀 스크린 비디오 이미지(1103)에 걸쳐 중첩되는 특유한 형태의 표지들(1101 및 1102)을 도시한다. 표지(1101)는 필름 카메라 아이콘이고 표지(1102)는 회사 로고이다. 상기 표지들(1101 및 1102)은 정렬될 수 있거나 또는 정렬되지 않을 수 있고, 트랙킹 소프트웨어는 렌더링된 스크린 이미지 내에서의 그들의 위치들을 알 수 있다. 제 2 예가 도 12에 도시되고, 이는 비디오 게임 이미지(1203)에 걸쳐 중첩되는 두 개의 특유한 형태의 표지들(1201(건강 표시자) 및 1202(무기 부분))을 도시한다.
표지들의 외관은 기울기 및 음영을 포함할 수 있다. 표지들의 외관을 설명하는 데이터가 상기 핸드헬드 디바이스의 메모리에 저장될 수 있거나 또는 상기 핸드헬드 디바이스로 송신될 수 있다. 게다가, 상기 형태들이 복잡할 수 있기 때문에, 그들은 상기 디스플레이 이미지의 다른 부분들 내에서 나타나지 않을 수도 있다.
복잡한 타겟 형태들을 검출하는 것은 스케일-불변 특징 변환(SIFT; scale-invariant feature transform) 알고리즘을 이용할 수 있다. 복잡한 형태들을 검출하기 위한 프로세싱 요구조건들은 규칙적인 타겟 형태들을 검출하는데에 요구되는 요구조건들보다 상당히 더 크고, 프로세서의 선택 및 상기 핸드헬드 디바이스의 비용에 영향을 미칠 수 있다.
상기 SIFT 알고리즘 이외의 복잡한 타겟 형태 검출 알고리즘들에서, 상기 핸드헬드 디바이스가 일 각도로 유지될 경우에(예컨대, 도 6의 디바이스(601)) 복잡한 형태들은 검출되지 않을 수 있다. 상기 각도는 10 또는 15도로 제한될 수 있지만, 상기 형태의 회전된 버전들을 탐색하기 위한 추가적인 프로세싱을 수행함으로써 확장될 수도 있다. 사용자가 상기 디스플레이 스크린의 중심으로부터 멀리 떨어져 앉아 있는 경우에(예컨대, 도 8에 도시된 바와 같이) 복잡한 형태들이 또한 검출되지 않을 수 있다. 상기 오프셋 제한은 예컨대 30도일 수 있지만, 상기 형태의 관점 왜곡된 버전들을 탐색하기 위한 추가적인 프로세싱을 수행함으로써 확장될 수도 있다.
표지들이 스크린 상에서 플래시될 수 있다. 상기 타겟들이 상기 스크린 상에서 디스플레이되는 시간 동안에 상기 표지 위치가 트랙킹될 수 있다. 일부 디스플레이 디바이스가 디스플레이 이전에 상기 이미지를 프로세싱하는 방법 때문에, 타겟들이 다수의 프레임들에 대해 플래시되어야 할 필요가 있고, 이는 그들의 가시도(visibility)를 증가시킬 수 있다. 이러한 제약들 때문에, 플래싱 타겟들이 커서를 연속적으로 트랙킹하는데에 적절하지 않을 수 있지만, 예컨대 라이트-건 게임에 대해 이용될 수 있다.
일부 구현들에서, 본 시스템은 상기 디스플레이 디바이스의 타입에 기초하여 상기 디스플레이 디바이스 상의 상기 표지들의 플래싱을 제어할 수 있다. 이러한 구현들에서, 본 시스템은 다수의 상이한 디스플레이 디바이스 타입들 중에서(예컨대, 적어도 LCD, 플라즈마, DLP, 또는 CRT 디스플레이 중에서) 상기 디스플레이 디바이스의 타입을 결정할 수 있다. 본 시스템은 상기 디스플레이 디바이스의 상기 결정된 타입에 대해 적합한 플래싱 기술을 다수의 상이한 플래시 기술들 중에서 선택할 수 있고, 그리고 상기 선택된 플래시 기술을 상기 디스플레이되는 표지들에 적용할 수 있다. 예컨대, 본 시스템은 디스플레이 디바이스의 상기 결정된 타입에 적합한 특정 레이트로 상기 표지들을 플래시하도록 상기 디스플레이 디바이스를 제어할 수 있다. 디스플레이 디바이스의 상이한 타입들이 상이한 플래시 레이트들 및 상이한 컬러 디스플레이 특징들을 갖기 때문에, 본 시스템은 이용되는 디스플레이 디바이스에 대한 상기 표지들의 검출을 향상시키기 위해서 상이한 방식들로 상기 디스플레이 디바이스 상의 상기 표지들의 플래싱을 제어할 수 있다. 선택된 플래싱 기술은 상기 핸드헬드 디바이스로 전달되어 상기 핸드헬드 디바이스가 플래싱 패턴을 변경하게 할 수 있고, 그에 따라 표지 검출을 향상시킬 수 있다.
정적 디바이스 상의 프로세스는 표지들의 세트를 선택하기 위해 상기 디스플레이 이미지를 분석할 수 있고, 그리고 표지 형태들 및 위치들의 설명을 상기 핸드헬드 디바이스로 송신할 수 있다. 이러한 프로세스를 이용하여, 상기 디스플레이 이미지가 코너들 및 에지들과 같은 일부 강한 특징들을 포함하는 한, 많은 디스플레이 이미지들이 애플리케이션의 외관을 변경함이 없이도 트랙킹될 수 있다.
상기 디스플레이 이미지를 분석하는 것은 디스플레이 이미지 버퍼에서의 픽셀 데이터를 분석함으로써 특징들, 예컨대 코너들 및 에지들을 식별하는 것을 포함할 수 있다. 상기 디스플레이 이미지는 비디오, 사진, 비디오 게임, 또는 컴퓨터 데스크톱 애플리케이션을 포함할 수 있다. 표지들의 세트를 선택하는 것은 가장 강한 특징들(예컨대, 최고 콘트라스트를 가짐)을 선택하는 것을 포함할 수 있다.
대안적으로, 데스크톱 컴포넌트들(예컨대, 윈도우들, 타이틀 바들, 메뉴들, 툴바들, 등)을 설명하는 더 높은 레벨의 데이터를 분석함으로써 특징들이 식별될 수 있다. 특징들의 세트 또는 형태 설명은 고 레벨 데스크톱 컴포넌트의 각 타입에 대해 미리결정된다(예컨대, 윈도우가 4개의 코너 특징들을 갖는다고 가정된다). 표지들의 세트를 선택하는 것은 가시적이고(예컨대, 다른 데스크톱 컴포넌트들에 의해서 폐쇄되지 않는) 그리고 가장 강한 컴포넌트들로 알려진(예컨대, 최고 콘트라스트) 데스크톱 컴포넌트들을 선택하는 것을 포함할 수 있다.
상기 핸드헬드 디바이스로 송신되는 상기 표지들의 성명은 콤팩트하고, 이는 대역폭 요구조건들을 최소화하며, 상기 디스플레이 이미지의 외관의 변화할 때에 업데이트될 수 있다. 대안으로, 상기 디스플레이 이미지가 상기 핸드헬드 디바이스로 송신될 수 있고, 분석하는 단계 및 선택하는 단계는 상기 핸드헬드 디바이스 상에서 수행된다(상기 이미지들을 송신하는데에 요구되는 대역폭이 매우 높고 그러므로 선호되지 않음에도 불구하고).
모든 타입의 표지들에 대해, 디스플레이를 렌더링하여 이미지들을 캡쳐하는데에 있어서의 레이턴시, 또는 표지 설명들을 송신하는 것의 레이턴시를 보상하기 위해, 상기 표지들의 설명이 버퍼링될 수 있거나 또는 카메라 이미지가 버퍼링될 수 있다.
하나 초과의 핸드헬드 디바이스로부터의 이미지들이 캡쳐될 수 있다. 예컨대, 제 1 핸드헬드 디바이스에 기초하여 디스플레이 디바이스 상의 제 1 위치가 결정된 이후에, 상기 디스플레이 디바이스에 의해서 렌더링되는 하나 이상의 표지들의 제 2 카메라 이미지가 제 2 핸드헬드 디바이스에 의해 캡쳐될 수 있거나 또는 하나 이상의 표지들의 위치 또는 각도가 상기 제 2 캡쳐된 카메라 이미지에서 결정될 수 있다. 상기 제 2 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 제 2 위치가 상기 제 2 카메라 이미지에서의 상기 하나 이상의 표지들의 상기 결정된 위치 또는 각도에 기초하여 결정될 수 있고, 상기 제 1 결정된 디스플레이 디바이스 위치 및 상기 제 2 결정된 디스플레이 디바이스 위치에 기초하여 애플리케이션이 제어될 수 있다.
상기 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 상기 결정된 위치에 기초하여 사용자의 아이덴티티가 결정될 수 있다. 예컨대, 디스플레이 디바이스 상의 제 2 위치가 상기 디스플레이 디바이스의 미리-정의된 영역, 예컨대 분할-스크린 게임의 좌측 절반 이내에 있으면, 제 1 핸드헬드 디바이스를 제어하는 제 1 사용자에게는 아이덴티티 "플레이어 2"가 할당될 수 있다.
상기 디스플레이 디바이스에 대한 상기 제 1 핸드헬드 디바이스의 거리, 위치, 또는 방위로서 제 1 거리, 위치, 또는 방위가 결정될 수 있다. 상기 디스플레이 디바이스에 대한 상기 제 2 핸드헬드 디바이스의 거리, 위치, 또는 방위로서 제 2 거리, 위치, 또는 방위가 결정될 수 있다. 상대적인 거리, 위치, 또는 방위는 상기 제 1 거리, 위치, 또는 방위에 대한 상기 제 2 거리, 위치, 또는 방위에 기초하여 계산될 수 있다. 상기 제 1, 제 2, 또는 상대적인 거리, 위치, 또는 방위에 기초하여 핸드헬드 디바이스의 사용자의 아이덴티티가 결정될 수 있다. 예컨대, 제 1 핸드헬드 디바이스를 제어하는 제 1 사용자에게는 "플레이어 2"가 할당될 수 있고, 제 2 핸드헬드 디바이스를 제어하는 제 2 사용자에게는 아이덴티티 "플레이어 1"이 할당될 수 있고, 여기서 상기 제 2 위치는 상기 제 1 위치의 좌측이다.
도 13은 일반적인 컴퓨터 시스템(1300)의 일 예의 개략도이다. 상기 시스템(1300)은 프로세서(1310), 메모리(1320), 스토리지 디바이스(1330), 및 입력/출력 디바이스(1340)를 포함한다. 상기 컴포넌트들(1310, 1320, 1330 및 1340) 각각은 시스템 버스(1350)를 이용하여 상호연결된다. 상기 프로세서(1310)는 시스템(1300) 내에서의 실행을 위한 명령들을 프로세싱할 수 있다. 일 구현에서, 상기 프로세서(1310)는 단일-스레드 프로세서이다. 다른 구현에서, 상기 프로세서(1310)는 다중-스레드 프로세서이다. 상기 프로세서(1310)는 상기 메모리(1320)에 저장된 또는 상기 스토리지 디스플레이(1330) 상의 명령들을 프로세싱하여 상기 입력/출력 디바이스(1340) 상에 사용자 인터페이스에 대한 그래픽 정보를 디스플레이할 수 있다.
상기 메모리(1320)는 상기 시스템(1300) 내에서 정보를 저장한다. 일 구현에서, 상기 메모리(1320)는 컴퓨터-판독가능한 매체이다. 다른 구현에서, 상기 메모리(1320)는 휘발성 메모리 유닛이다. 또 다른 구현에서, 상기 메모리(1320)는 비-휘발성 메모리 유닛이다.
상기 스토리지 디바이스(1330)는 상기 시스템(1300)에 대한 대량 스토리지를 제공할 수 있다. 일 구현에서, 상기 스토리지 디바이스(1330)는 컴퓨터-판독가능한 매체이다. 다양한 상이한 구현들에서, 상기 스토리지 디바이스(1330)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스일 수 있다.
상기 입력/출력 디바이스(1340)는 상기 시스템(1300)에 대한 입력/출력 동작들을 제공한다. 일 구현에서, 상기 입력/출력 디바이스(1340)는 키보드 및/또는 포인팅 디바이스를 포함한다. 다른 구현에서, 상기 입력/출력 디바이스(1340)는 그래픽 사용자 인터페이스들을 디스플레이하기 위한 디스플레이 유닛을 포함한다.
기술되는 특징들은 디지털 전자 회로에서, 또는 컴퓨터 하드웨어에서, 또는 컴퓨터 하드웨어 및 펌웨어 또는 소프트웨어의 조합들에서 구현될 수 있다. 본 장치는 프로그래밍 가능한 프로세서에 의한 실행을 위해, 기계-판독가능한 스토리지 디바이스에서 유형적으로 구체화되는 컴퓨터 프로그램 물건에서 구현될 수 있고; 그리고 방법 단계들은 입력 데이터 상에서 작동하고 출력을 생성함으로써 기술된 구현들의 기능들을 수행하기 위해 명령들의 프로그램을 실행하는 프로그래밍 가능한 프로세서에 의해서 수행될 수 있다. 기술된 특징들은 프로그래밍 가능한 시스템 상에서 실행가능한 하나 이상의 컴퓨터 프로그램들에서 바람직하게 구현될 수 있고, 상기 프로그래밍 가능한 시스템은 데이터 스토리지 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 그들로 데이터 및 명령들을 송신하도록 결합되는 적어도 하나의 프로그래밍 가능한 프로세서를 포함한다. 컴퓨터 프로그램은, 컴퓨터에서 특정 활동을 수행하거나 또는 특정 결과를 초래하기 위해 직접적으로 또는 간접적으로 이용될 수 있는 명령들의 세트이다. 컴퓨터 프로그램은 컴파일링된 또는 해석된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 쓰여질 수 있고, 독립형 프로그램 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서의 이용에 대해 적절한 다른 유닛을 포함하는 임의의 형태로서 전개될 수도 있다.
명령들의 프로그램의 실행을 위한 적절한 프로세서들은 일 예로서 범용 및 특수 목적 프로세서들 모두, 및 유일(sole) 프로세서 또는 임의의 종류의 컴퓨터의 다수의 프로세서들 중 하나를 포함한다. 일반적으로, 프로세서는 판독-전용 메모리 또는 랜덤 액세스 메모리 또는 이 둘 모두로부터 명령들 및 데이터를 수신할 것이다. 컴퓨터의 필수적인 엘리먼트들은 명령들을 실행하기 위한 프로세서 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리들이다. 일반적으로, 컴퓨터는 또한 데이터 파일들을 저장하기 위한 하나 이상의 대량 스토리지 디바이스들을 포함하거나 또는 대량 스토리지 디바이스들과 통신하기 위해 동작가능하게 결합될 것이고; 그러한 디바이스들은 내부 하드 디스크들 및 이동식 디스크들과 같은 자기 디스크들; 자기-광학 디스크들; 및 광학 디스크들을 포함한다. 컴퓨터 프로그램 명령들 및 데이터를 유형적으로 구체화하는데에 적합한 스토리지 디바이스들은 임의의 형태의 비-휘발성 메모리를 포함하고, 이는 일 예로서 EPROM, EEPROM, 및 플래시 메모리 디바이스들; 내부 하드 디스크들 및 이동식 디스크들과 같은 자기 디스크들; 자기-광학 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들과 같은 반도체 메모리 디바이스들을 포함한다. 상기 프로세서 및 메모리는 ASIC들(애플리케이션-특정 집적 회로들)에 의해 보완되거나 또는 ASIC들에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 정보를 사용자에게 디스플레이하기 위한 CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스와 트랙볼과 같은 키보드 및 포인팅 디바이스를 갖는 컴퓨터 상에 상기 특징들이 구현될 수 있다.
상기 특징들은 컴퓨터 시스템에서 구현될 수 있고, 상기 컴퓨터 시스템은 데이터 서버와 같은 백-엔드 컴포넌트를 포함하거나 또는 애플리케이션 서버 또는 인터넷 서버와 같은 미들웨어 컴포넌트를 포함하거나 또는 그래픽 사용자 인터페이스 또는 인터넷 브라우저를 갖는 클라이언트 컴퓨터와 같은 프론트-엔드 컴포넌트를 포함하거나, 또는 이들의 임의의 조합을 포함한다. 상기 시스템의 컴포넌트들은 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태의 매체에 접속될 수 있다. 통신 네트워크들의 예들은 예컨대 LAN, WAN, 및 인터넷을 형성하는 컴퓨터들 및 네트워크들을 포함한다.
상기 컴퓨터 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있고 그리고 기술된 바와 같은 네트워크를 통해 전형적으로 상호작용한다. 클라이언트 및 서버의 관계는 개별 컴퓨터들 상에서 구동되고 서로 클라이언트-서버 관계를 갖는 컴퓨터에 의해서 발생한다.
다수의 구현들이 기술되었다. 그럼에도 불구하고, 본 개시물의 사상 및 범위를 벗어남이 없이 다양한 수정들이 만들어질 수 있음이 이해될 것이다. 따라서, 다른 구현들도 후술하는 청구항들의 범위 내에 있다.

Claims (27)

  1. 애플리케이션을 제어하기 위한 방법으로서,
    디스플레이 디바이스에 의해서 렌더링되는 하나 이상의 표지(fiducial)들의 카메라 이미지를 핸드헬드 디바이스에 의해서 캡쳐하는 단계;
    상기 캡쳐된 카메라 이미지에서의 상기 하나 이상의 표지들의 위치 또는 각도를 결정하는 단계;
    적어도 상기 카메라 이미지에서의 상기 하나 이상의 표지들의 상기 결정된 위치 또는 각도에 기초하여 상기 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 위치를 결정하는 단계; 및
    상기 디스플레이 디바이스 상의 상기 결정된 위치에 기초하여 상기 애플리케이션을 제어하는 단계
    를 포함하는,
    애플리케이션을 제어하기 위한 방법.
  2. 제 1 항에 있어서,
    사용자 인터페이스 내에서 상기 하나 이상의 표지들을 렌더링하기 위해 상기 디스플레이 디바이스를 제어하는 단계를 더 포함하고, 상기 사용자 인터페이스는 상기 제어되는 애플리케이션의 출력을 나타내는,
    애플리케이션을 제어하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 하나 이상의 표지들은 제 1 표지 및 제 2 표지를 포함하는,
    애플리케이션을 제어하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 하나 이상의 표지들은 제 1 표지 내지 제 4 표지를 포함하는,
    애플리케이션을 제어하기 위한 방법.
  5. 제 1 항에 있어서,
    다수의 상이한 디스플레이 디바이스 타입들 중에서 상기 디스플레이 디바이스의 타입을 결정하는 단계;
    다수의 상이한 필터링 기술들 중에서, 상기 디스플레이 디바이스의 결정된 타입에 대해 적용가능한 필터링 기술을 선택하는 단계; 및
    상기 선택된 필터링 기술을 상기 캡쳐된 카메라 이미지에 적용하는 단계
    를 더 포함하는,
    애플리케이션을 제어하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 하나 이상의 표지들로서 사용될 수 있는 디스플레이되는 엘리먼트들에 대해 제어되는 상기 애플리케이션의 출력을 나타내는 사용자 인터페이스를 분석하는 단계;
    상기 제어되는 애플리케이션의 출력을 나타내는 상기 사용자 인터페이스 내에서 상기 디스플레이되는 엘리먼트들로부터 상기 하나 이상의 표지들을 선택하는 단계; 및
    상기 제어되는 애플리케이션의 출력을 나타내는 상기 사용자 인터페이스 내의 상기 디스플레이되는 엘리먼트들로부터 선택된 하나 이상의 표지들의 형태 및 위치의 설명을 상기 핸드헬드 디바이스에 송신하는 단계
    를 더 포함하는,
    애플리케이션을 제어하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 하나 이상의 표지들은 상기 디스플레이 디바이스의 스크린의 하나 이상의 코너들을 더 포함하는,
    애플리케이션을 제어하기 위한 방법.
  8. 제 7 항에 있어서,
    밝기 또는 색조에 있어서의 차이에 기초하여, 상기 스크린의 상기 하나 이상의 코너들을 검출하는 단계를 더 포함하는,
    애플리케이션을 제어하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 하나 이상의 표지들은 사용자 인터페이스 제어를 포함하는,
    애플리케이션을 제어하기 위한 방법.
  10. 제 1 항에 있어서,
    상기 하나 이상의 표지들은 데스크톱 아이콘을 포함하는,
    애플리케이션을 제어하기 위한 방법.
  11. 제 1 항에 있어서,
    상기 하나 이상의 표지들은 비디오 게임 참조 부분을 포함하는,
    애플리케이션을 제어하기 위한 방법.
  12. 제 1 항에 있어서,
    상기 하나 이상의 표지들의 형태 또는 위치를 식별하는 정보를 상기 핸드헬드 디바이스의 메모리로부터 액세스하는 단계를 더 포함하는,
    애플리케이션을 제어하기 위한 방법.
  13. 제 1 항에 있어서,
    상기 디스플레이 디바이스에 의해 렌더링되는 상기 하나 이상의 표지들의 디스플레이의 타이밍을 식별하는 정보를 상기 핸드헬드 디바이스의 메모리로부터 액세스하는 단계를 더 포함하는,
    애플리케이션을 제어하기 위한 방법.
  14. 제 1 항에 있어서,
    다수의 상이한 디스플레이 디바이스 타입들 중에서 상기 디스플레이 디바이스의 타입을 결정하는 단계;
    다수의 상이한 플래싱 기술들 중에서, 상기 디스플레이 디바이스의 결정된 타입에 대해 적용가능한 플래싱 기술을 선택하는 단계; 및
    상기 선택된 플래싱 기술을 이용하여 상기 디스플레이 디바이스 상에 상기 하나 이상의 표지들을 플래시하기 위해 상기 디스플레이 디바이스를 제어하는 단계
    를 더 포함하는,
    애플리케이션을 제어하기 위한 방법.
  15. 제 1 항에 있어서,
    상기 제어하기 위한 방법은, 적어도 상기 카메라 이미지에서의 상기 하나 이상의 표지들의 상기 결정된 위치 또는 각도에 기초하여 상기 핸드헬드 디바이스의 방위(orientation)을 결정하는 단계를 더 포함하고,
    상기 애플리케이션은 상기 결정된 방위에 추가로 기초하여 제어되는,
    애플리케이션을 제어하기 위한 방법.
  16. 제 15 항에 있어서,
    상기 제어하기 위한 방법은, 상기 핸드헬드 디바이스의 거리 또는 위치를 결정하는 단계를 더 포함하고,
    상기 핸드헬드 디바이스의 상기 거리, 위치 또는 방위는 상기 디스플레이 디바이스에 대하여 결정되는,
    애플리케이션을 제어하기 위한 방법.
  17. 제 1 항에 있어서,
    상기 제어하기 위한 방법은,
    상기 디스플레이 디바이스에 의해 렌더링되는 상기 하나 이상의 표지들의 제 2 카메라 이미지를 제 2 핸드헬드 디바이스에 의해 캡쳐하는 단계;
    상기 캡쳐된 제 2 카메라 이미지에서의 상기 하나 이상의 표지들의 위치 또는 각도를 결정하는 단계; 및
    적어도 상기 제 2 카메라 이미지에서의 상기 하나 이상의 표지들의 상기 결정된 위치 또는 각도에 기초하여, 상기 제 2 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 제 2 위치를 결정하는 단계
    를 더 포함하고,
    상기 애플리케이션은 상기 결정된 위치 및 상기 결정된 제 2 위치에 기초하여 제어되는,
    애플리케이션을 제어하기 위한 방법.
  18. 제 17 항에 있어서,
    상기 디스플레이 디바이스에 대하여 상기 핸드헬드 디바이스의 제 1 거리, 위치, 또는 방위를 결정하는 단계;
    상기 디스플레이 디바이스에 대하여 상기 제 2 핸드헬드 디바이스의 제 2 거리, 위치, 또는 방위를 결정하는 단계; 및
    상기 제 2 핸드헬드 디바이스의 상기 결정된 제 2 거리, 위치, 또는 방위에 대한 상기 핸드헬드 디바이스의 상기 결정된 제 1 거리, 위치, 또는 방위에 기초하여 제 1 사용자의 아이덴티티 및 제 2 사용자의 아이덴티티를 결정하는 단계
    를 더 포함하는,
    애플리케이션을 제어하기 위한 방법.
  19. 제 1 항에 있어서,
    상기 애플리케이션은 비디오 게임 애플리케이션 또는 미디어 센터 애플리케이션을 포함하는,
    애플리케이션을 제어하기 위한 방법.
  20. 제 1 항에 있어서,
    상기 애플리케이션을 제어하는 단계는, 상기 핸드헬드 디바이스의 방위가 변화하였다고 결정하는 것에 기초하여 가상 유니버스(virtual universe)에서의 아바타의 뷰(view)를 변화시키는 단계를 더 포함하는,
    애플리케이션을 제어하기 위한 방법.
  21. 제 1 항에 있어서,
    상기 제어하기 위한 방법은,
    상기 디스플레이 디바이스에 의해서 렌더링되는 상기 하나 이상의 표지들의 제 2 카메라 이미지를 상기 핸드헬드 디바이스에서 캡쳐하는 단계;
    상기 캡쳐된 제 2 카메라 이미지에서의 상기 하나 이상의 표지들의 제 2 위치 또는 제 2 각도를 결정하는 단계;
    적어도 상기 제 2 카메라 이미지에서의 상기 하나 이상의 표지들의 상기 결정된 제 2 위치 또는 제 2 각도에 기초하여 상기 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 제 2 위치를 결정하는 단계; 및
    상기 위치를 상기 제 2 위치와 비교하는 것에 기초하여 상기 핸드헬드 디바이스의 모션(motion)을 결정하는 단계
    를 더 포함하고,
    상기 애플리케이션은 상기 결정된 모션에 기초하여 제어되는,
    애플리케이션을 제어하기 위한 방법.
  22. 애플리케이션을 제어하기 위한 시스템으로서,
    하나 이상의 컴퓨터들; 및
    상기 하나 이상의 컴퓨터들과 결합되고, 상기 하나 이상의 컴퓨터들에 의해서 실행될 때에 상기 하나 이상의 컴퓨터로 하여금 동작들을 수행하게 하는 저장된 명령들을 갖는 컴퓨터-판독가능한 매체
    를 포함하고,
    상기 동작들은:
    디스플레이 디바이스에 의해서 렌더링되는 하나 이상의 표지들의 카메라 이미지를 핸드헬드 디바이스에 의해서 캡쳐하는 동작;
    상기 캡쳐된 카메라 이미지에서의 상기 하나 이상의 표지들의 위치 또는 각도를 결정하는 동작;
    적어도 상기 카메라 이미지에서의 상기 하나 이상의 표지들의 상기 결정된 위치 또는 각도에 기초하여 상기 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 위치를 결정하는 동작; 및
    상기 디스플레이 디바이스 상의 상기 결정된 위치에 기초하여 상기 애플리케이션을 제어하는 동작
    을 포함하는,
    애플리케이션을 제어하기 위한 시스템.
  23. 컴퓨터 프로그램으로 인코딩되는 컴퓨터 저장 매체로서,
    상기 컴퓨터 프로그램은 데이터 프로세싱 장치에 의해서 실행될 때에 상기 데이터 프로세싱 장치로 하여금 동작들을 수행하게 하는 명령들을 포함하고,
    상기 동작들은:
    디스플레이 디바이스에 의해서 렌더링되는 하나 이상의 표지들의 카메라 이미지를 핸드헬드 디바이스에 의해서 캡쳐하는 동작;
    상기 캡쳐된 카메라 이미지에서의 상기 하나 이상의 표지들의 위치 또는 각도를 결정하는 동작;
    적어도 상기 카메라 이미지에서의 상기 하나 이상의 표지들의 상기 결정된 위치 또는 각도에 기초하여 상기 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 위치를 결정하는 동작; 및
    상기 디스플레이 디바이스 상의 상기 결정된 위치에 기초하여 애플리케이션을 제어하는 동작
    을 포함하는,
    컴퓨터 저장 매체.
  24. 애플리케이션을 제어하기 위한 시스템으로서,
    디스플레이 디바이스에 의해서 렌더링되는 하나 이상의 표지들의 카메라 이미지를 핸드헬드 디바이스에 의해서 캡쳐하기 위한 수단;
    상기 캡쳐된 카메라 이미지에서의 상기 하나 이상의 표지들의 위치 또는 각도를 결정하기 위한 수단;
    적어도 상기 카메라 이미지에서의 상기 하나 이상의 표지들의 상기 결정된 위치 또는 각도에 기초하여 상기 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 위치를 결정하기 위한 수단; 및
    상기 디스플레이 디바이스 상의 상기 결정된 위치에 기초하여 상기 애플리케이션을 제어하기 위한 수단
    을 포함하는,
    애플리케이션을 제어하기 위한 시스템.
  25. 제 24 항에 있어서,
    상기 제어되는 애플리케이션의 출력을 나타내는 사용자 인터페이스 내에서 상기 하나 이상의 표지들을 렌더링하기 위해 상기 디스플레이 디바이스를 제어하기 위한 수단을 더 포함하는,
    애플리케이션을 제어하기 위한 시스템.
  26. 애플리케이션을 제어하기 위한 장치로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의해서 실행될 때에 상기 장치로 하여금
    디스플레이 디바이스에 의해서 렌더링되는 하나 이상의 표지들의 카메라 이미지를 핸드헬드 디바이스에 의해서 캡쳐하게 하고;
    상기 캡쳐된 카메라 이미지에서의 상기 하나 이상의 표지들의 위치 또는 각도를 결정하게 하며;
    적어도 상기 카메라 이미지에서의 상기 하나 이상의 표지들의 상기 결정된 위치 또는 각도에 기초하여 상기 핸드헬드 디바이스가 향하는 상기 디스플레이 디바이스 상의 위치를 결정하게 하고; 그리고
    상기 디스플레이 디바이스 상의 상기 결정된 위치에 기초하여 상기 애플리케이션을 제어하게 하는
    명령들을 저장하는 메모리
    를 포함하는,
    애플리케이션을 제어하기 위한 장치.
  27. 제 26 항에 있어서,
    상기 메모리는 상기 적어도 하나의 프로세서에 의해서 실행될 때에 추가로 상기 장치로 하여금 상기 제어되는 애플리케이션의 출력을 나타내는 사용자 인터페이스 내에서 상기 하나 이상의 표지들을 렌더링하기 위해 상기 디스플레이 디바이스를 제어하게 하는 추가적인 명령들을 저장하는
    애플리케이션을 제어하기 위한 장치.
KR1020117026602A 2009-04-08 2010-04-08 향상된 핸드헬드 스크린-센싱 포인터 KR101337204B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16773809P 2009-04-08 2009-04-08
US61/167,738 2009-04-08
PCT/US2010/030345 WO2010118202A1 (en) 2009-04-08 2010-04-08 Enhanced handheld screen-sensing pointer

Publications (2)

Publication Number Publication Date
KR20120012466A KR20120012466A (ko) 2012-02-09
KR101337204B1 true KR101337204B1 (ko) 2013-12-06

Family

ID=42933973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117026602A KR101337204B1 (ko) 2009-04-08 2010-04-08 향상된 핸드헬드 스크린-센싱 포인터

Country Status (6)

Country Link
US (2) US9189082B2 (ko)
EP (1) EP2417557B1 (ko)
JP (1) JP5710589B2 (ko)
KR (1) KR101337204B1 (ko)
CN (1) CN102422306B (ko)
WO (1) WO2010118202A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9383814B1 (en) 2008-11-12 2016-07-05 David G. Capper Plug and play wireless video game
US10086262B1 (en) 2008-11-12 2018-10-02 David G. Capper Video motion capture for wireless gaming
US9586135B1 (en) 2008-11-12 2017-03-07 David G. Capper Video motion capture for wireless gaming
WO2010118202A1 (en) 2009-04-08 2010-10-14 Gesturetek, Inc. Enhanced handheld screen-sensing pointer
US20120206350A1 (en) * 2011-02-13 2012-08-16 PNI Sensor Corporation Device Control of Display Content of a Display
WO2013106177A1 (en) * 2012-01-09 2013-07-18 Packsize Llc Cable-based measuring system
US9439627B2 (en) * 2012-05-22 2016-09-13 Covidien Lp Planning system and navigation system for an ablation procedure
US9439623B2 (en) * 2012-05-22 2016-09-13 Covidien Lp Surgical planning system and navigation system
US9439622B2 (en) * 2012-05-22 2016-09-13 Covidien Lp Surgical navigation system
US9724597B2 (en) 2012-06-04 2017-08-08 Sony Interactive Entertainment Inc. Multi-image interactive gaming device
US8942420B2 (en) * 2012-10-18 2015-01-27 Qualcomm Incorporated Detecting embossed characters on form factor
US9485459B2 (en) 2012-12-14 2016-11-01 Biscotti Inc. Virtual window
US9300910B2 (en) 2012-12-14 2016-03-29 Biscotti Inc. Video mail capture, processing and distribution
JP2014119915A (ja) * 2012-12-14 2014-06-30 Funai Electric Co Ltd 画像表示装置、ポインター装置
WO2014093933A1 (en) 2012-12-14 2014-06-19 Biscotti Inc. Distributed infrastructure
US9654563B2 (en) 2012-12-14 2017-05-16 Biscotti Inc. Virtual remote functionality
US20150262501A1 (en) * 2013-03-15 2015-09-17 Verbum, Llc Continuous User Control of Rapid Serial Visual Presentation of Text
US20140368434A1 (en) * 2013-06-13 2014-12-18 Microsoft Corporation Generation of text by way of a touchless interface
WO2015035247A1 (en) * 2013-09-06 2015-03-12 Biscotti Inc. Virtual window
WO2015156068A1 (ja) * 2014-04-10 2015-10-15 ソニー株式会社 画像処理装置及び画像処理方法
CN105573605A (zh) * 2014-10-10 2016-05-11 广州杰赛科技股份有限公司 一种手机与电脑互动游戏方法
JP2016110436A (ja) * 2014-12-08 2016-06-20 株式会社リコー 画像投影装置、及び対話型入出力システム。
US9967529B2 (en) * 2015-06-04 2018-05-08 Disney Enterprises, Inc. Output light monitoring for benchmarking and enhanced control of a display system
US10198874B2 (en) * 2016-05-13 2019-02-05 Google Llc Methods and apparatus to align components in virtual reality environments
US10345925B2 (en) * 2016-08-03 2019-07-09 Google Llc Methods and systems for determining positional data for three-dimensional interactions inside virtual reality environments
CN106331809A (zh) * 2016-08-31 2017-01-11 北京酷云互动科技有限公司 电视控制方法和电视控制系统
US11366431B2 (en) * 2016-09-29 2022-06-21 Intel Corporation Multi-function antenna and input interface
US10466774B2 (en) 2016-11-22 2019-11-05 Honeywell International Inc. NTE display systems and methods with optical trackers
JP7111416B2 (ja) 2017-03-24 2022-08-02 日本電気株式会社 携帯端末、情報処理システム、制御方法、及びプログラム
WO2018195973A1 (zh) * 2017-04-28 2018-11-01 王长海 利用手持终端进行光标定位的方法、手持终端和电子设备
US11533450B2 (en) 2017-09-25 2022-12-20 Comcast Cable Communications, Llc Anti-piracy video transmission and display
KR102435193B1 (ko) * 2017-11-09 2022-08-24 삼성전자주식회사 전자 장치, 디스플레이 장치 및 멀티비전 설정 방법
US10969600B2 (en) * 2018-03-08 2021-04-06 Apple Inc. Electronic devices with optical markers
KR102261530B1 (ko) * 2018-05-29 2021-06-07 이승희 필기 입력 장치
CN112566581B (zh) 2018-08-10 2024-03-19 柯惠有限合伙公司 用于消融可视化的系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060177103A1 (en) 2005-01-07 2006-08-10 Evan Hildreth Optical flow based tilt sensor
KR20070008516A (ko) * 2003-09-22 2007-01-17 에이티아이 테크놀로지스 인코포레이티드 휴대형 단말기에서의 이미지 처리방법 및 장치

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121293A (ja) 1993-10-26 1995-05-12 Nippon Telegr & Teleph Corp <Ntt> 表示画面をアクセスするリモートコントローラ
JP3517482B2 (ja) 1995-06-08 2004-04-12 キヤノン株式会社 座標検出装置及び方法
US6980690B1 (en) * 2000-01-20 2005-12-27 Canon Kabushiki Kaisha Image processing apparatus
JP3847057B2 (ja) 2000-05-24 2006-11-15 アルプス電気株式会社 指示位置検出装置及び前記装置を用いたゲーム用コントローラ
JP4581204B2 (ja) 2000-09-11 2010-11-17 ソニー株式会社 位置解析装置及び位置解析方法、並びに、エンターテインメント装置
JP2002215321A (ja) 2001-01-19 2002-08-02 Nissan Motor Co Ltd 指示画像制御装置
US7256772B2 (en) * 2003-04-08 2007-08-14 Smart Technologies, Inc. Auto-aligning touch system and method
US7420540B2 (en) * 2003-12-01 2008-09-02 Olbrich Craig A Determining positioning and/or relative movement of graphical-user interface element based on display images
JP2007519989A (ja) 2003-12-18 2007-07-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 装置の制御のための方法及びシステム
KR20070051271A (ko) 2004-08-12 2007-05-17 코닌클리케 필립스 일렉트로닉스 엔.브이. 디바이스를 제어하기 위한 방법
EP1836549A2 (en) 2005-01-12 2007-09-26 Thinkoptics, Inc. Handheld vision based absolute pointing system
EP1844456A2 (en) 2005-01-28 2007-10-17 Philips Intellectual Property & Standards GmbH Method for control of a device
JP2006301915A (ja) 2005-04-20 2006-11-02 Olympus Corp 電子データ操作装置
JP2007066080A (ja) 2005-08-31 2007-03-15 Casio Comput Co Ltd ポインティングデバイス
JP2007087100A (ja) * 2005-09-22 2007-04-05 Victor Co Of Japan Ltd 電子機器システム
TWI305892B (en) * 2005-11-23 2009-02-01 Inst Information Industry Apparatus, computer equipment, method and computer readable media for simultaneously controlling a cursor and an optical pointer
US8013838B2 (en) * 2006-06-30 2011-09-06 Microsoft Corporation Generating position information using a video camera
TWI351224B (en) 2006-12-28 2011-10-21 Pixart Imaging Inc Cursor controlling method and apparatus using the same
EP1950957A2 (en) * 2007-01-23 2008-07-30 Funai Electric Co., Ltd. Image display system
JP2008181198A (ja) 2007-01-23 2008-08-07 Funai Electric Co Ltd 画像表示システム
EP1983406A1 (de) * 2007-04-20 2008-10-22 Enwemedia GMBH Verfahren und Vorrichtung zur Eingabe von Daten in eine Datenverarbeitungsanlage
US8472665B2 (en) * 2007-05-04 2013-06-25 Qualcomm Incorporated Camera-based user input for compact devices
US8237656B2 (en) * 2007-07-06 2012-08-07 Microsoft Corporation Multi-axis motion-based remote control
WO2010118202A1 (en) 2009-04-08 2010-10-14 Gesturetek, Inc. Enhanced handheld screen-sensing pointer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070008516A (ko) * 2003-09-22 2007-01-17 에이티아이 테크놀로지스 인코포레이티드 휴대형 단말기에서의 이미지 처리방법 및 장치
US20060177103A1 (en) 2005-01-07 2006-08-10 Evan Hildreth Optical flow based tilt sensor

Also Published As

Publication number Publication date
KR20120012466A (ko) 2012-02-09
JP2012523630A (ja) 2012-10-04
US20100259474A1 (en) 2010-10-14
US20160041611A1 (en) 2016-02-11
WO2010118202A1 (en) 2010-10-14
CN102422306B (zh) 2015-09-09
US9189082B2 (en) 2015-11-17
CN102422306A (zh) 2012-04-18
EP2417557A4 (en) 2016-06-29
EP2417557B1 (en) 2020-03-11
US10146298B2 (en) 2018-12-04
JP5710589B2 (ja) 2015-04-30
EP2417557A1 (en) 2012-02-15

Similar Documents

Publication Publication Date Title
KR101337204B1 (ko) 향상된 핸드헬드 스크린-센싱 포인터
CN112823328B (zh) 用于执行相机系统的内部和/或外部校准的方法
US20210392241A1 (en) User feedback for real-time checking and improving quality of scanned image
US8217997B2 (en) Interactive display system
US8818027B2 (en) Computing device interface
JP6153564B2 (ja) カメラとマーク出力とによるポインティング装置
EP3092790B1 (en) Adaptive camera control for reducing motion blur during real-time image capture
EP1851749B1 (en) Motion-based tracking
US20170372449A1 (en) Smart capturing of whiteboard contents for remote conferencing
JP2009048616A (ja) ビデオカメラをポインティング装置として使用するときの画面上のカーソルの動的制御方法、システム、およびプログラム
JP4848521B2 (ja) プロジェクタ投影映像のマウス代替操作方法およびそのマウス代替操作システム
KR20110132260A (ko) 모니터 기반 증강현실 시스템
TW201305856A (zh) 投影系統與其影像處理方法
JP3860560B2 (ja) 表示インタフェース方法および装置
US20220244788A1 (en) Head-mounted display
Scherfgen et al. A robust inside-out approach for 3D interaction with large displays
JP2023177828A (ja) 映像分析装置、映像分析方法、及びプログラム
Das et al. Preprocessing and Screen-Cursor Mapping for a Virtual TouchScreen on a Projected Area

Legal Events

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

Payment date: 20161028

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 7