KR20060134119A - 핸드헬드 장치에서의 경사 및 평행 이동 운동 성분들의구별 - Google Patents

핸드헬드 장치에서의 경사 및 평행 이동 운동 성분들의구별 Download PDF

Info

Publication number
KR20060134119A
KR20060134119A KR1020067019664A KR20067019664A KR20060134119A KR 20060134119 A KR20060134119 A KR 20060134119A KR 1020067019664 A KR1020067019664 A KR 1020067019664A KR 20067019664 A KR20067019664 A KR 20067019664A KR 20060134119 A KR20060134119 A KR 20060134119A
Authority
KR
South Korea
Prior art keywords
handheld device
axis
movement
gesture
user
Prior art date
Application number
KR1020067019664A
Other languages
English (en)
Other versions
KR100853605B1 (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
Priority claimed from US10/807,561 external-priority patent/US7903084B2/en
Priority claimed from US10/807,572 external-priority patent/US20050212760A1/en
Priority claimed from US10/807,562 external-priority patent/US20050212753A1/en
Priority claimed from US10/807,567 external-priority patent/US7365737B2/en
Priority claimed from US10/807,564 external-priority patent/US7180500B2/en
Priority claimed from US10/807,589 external-priority patent/US7301529B2/en
Priority claimed from US10/807,566 external-priority patent/US7173604B2/en
Priority claimed from US10/807,570 external-priority patent/US7180502B2/en
Priority claimed from US10/807,588 external-priority patent/US7176888B2/en
Priority claimed from US10/807,558 external-priority patent/US7280096B2/en
Priority claimed from US10/807,560 external-priority patent/US7365736B2/en
Priority claimed from US10/807,571 external-priority patent/US7176887B2/en
Priority claimed from US10/807,557 external-priority patent/US7365735B2/en
Priority claimed from US10/807,565 external-priority patent/US7301527B2/en
Priority claimed from US10/807,563 external-priority patent/US7301526B2/en
Priority claimed from US10/807,559 external-priority patent/US7176886B2/en
Priority claimed from US10/807,568 external-priority patent/US7180501B2/en
Priority claimed from US10/807,569 external-priority patent/US7301528B2/en
Application filed by 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20060134119A publication Critical patent/KR20060134119A/ko
Application granted granted Critical
Publication of KR100853605B1 publication Critical patent/KR100853605B1/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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable 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/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
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

본 발명의 운동 제어형 핸드헬드 장치는 제1 축을 따른 가속도를 검출하도록 구성되어 있는 제1 가속도계와, 제2 축을 따른 가속도를 검출하도록 구성되어 있는 제2 가속도계를 포함한다. 상기 제2 축은 상기 제1 축에 수직이다. 상기 핸드헬드 장치는 상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전을 검출하도록 구성되어 있는 경사 검출 컴포넌트와, 현재의 화상을 표시하도록 구성되어 있는 디스플레이를 포함한다. 상기 핸드헬드 장치는 상기 제1 가속도계, 상기 제2 가속도계 및 상기 경사 검출 컴포넌트를 이용하여 삼차원으로 상기 핸드헬드 장치의 운동을 추적하도록 구성되어 있는 운동 추적 모듈을 포함한다. 상기 핸드헬드 장치는 또한 상기 현재의 화상을 생성하고 상기 핸드헬드 장치의 운동에 응답하여 상기 현재의 화상을 수정하도록 구성되어 있는 제어기를 포함한다.
핸드헬드 장치, 운동 인터페이스, 경사, 평행 이동, 가속도

Description

핸드헬드 장치에서의 경사 및 평행 이동 운동 성분들의 구별{DISTINGUISHING TILT AND TRANSLATION MOTION COMPONENTS IN HANDHELD DEVICES}
본 발명은 일반적으로 휴대형 장치에 관한 것으로, 구체적으로는 운동 인터페이스를 구비한 휴대형 장치에 관한 것이다.
셀룰러폰, 개인 휴대 정보 단말기(PDA) 등의 컴퓨팅 장치의 사용이 급성장하였다. 이러한 컴퓨팅 장치들은 키패드, 디스플레이 등의 상이한 종류의 인터페이스를 통해 많은 상이한 기능을 사용자에게 제공한다. 일부 컴퓨팅 장치는 사용자에 의한 장치의 경사를 검출함으로써 인터페이스로서 운동을 이용한다. 운동 인터페이스의 일부 구현예는 컴퓨팅 장치를 낚시줄로 매거나, 큰 동력을 필요로 하는 큰 자기 트랙킹 유닛을 갖출 것을 요구한다.
본 발명에 따라, 운동 인터페이스를 구비한 핸드헬드 장치를 제공한다.
특정 실시예에 따라, 운동 제어형 핸드헬드 장치는 제1 축을 따른 가속도를 검출하도록 구성되어 있는 제1 가속도계와, 제2 축을 따른 가속도를 검출하도록 구성되어 있는 제2 가속도계를 포함한다. 상기 제2 축은 상기 제1 축에 수직이다. 상기 핸드헬드 장치는 상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전을 검출하도록 구성되어 있는 경사 검출 컴포넌트와, 현재의 화상을 표시하도록 구성되어 있는 디스플레이를 포함한다. 상기 핸드헬드 장치는 상기 제1 가속도계, 상기 제2 가속도계 및 상기 경사 검출 컴포넌트를 이용하여 삼차원으로 상기 핸드헬드 장치의 운동을 추적하도록 구성되어 있는 운동 추적 모듈을 포함한다. 상기 핸드헬드 장치는 또한 상기 현재의 화상을 생성하고 상기 핸드헬드 장치의 운동에 응답하여 상기 현재의 화상을 수정하도록 구성되어 있는 제어기를 포함한다.
상기 디스플레이는 가시 표면(viewable surface)을 포함할 수 있으며, 상기 제1 축과 상기 제2 축은 상기 가시 표면에 실질적으로 평행할 수 있다. 상기 경사 검출 컴포넌트는 상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 가속도를 검출하도록 구성되어 있는 제3 가속도계를 포함할 수 있다. 상기 운동 추적 모듈은 추가로 상기 제3 가속도계가 측정한 가속도에 기초하여 상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전으로부터 상기 제1 축과 상기 제2 축이 형성하는 면 내의 평행 이동을 구별하도록 구성될 수 있다. 상기 경사 검출 컴포넌트는 상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 가속도를 검출하도록 구성되어 있는 제3 가속도계를 포함할 수 있다. 상기 경사 검출 컴포넌트는 또한 비디오 스트림을 생성하도록 구성되어 있는 카메라와, 상기 비디오 스트림에 기초하여 운동 방향을 검출하도록 구성되어 있는 비디오 분석 모듈을 포함할 수 있다.
다른 실시예에 따라, 핸드헬드 장치를 제어하는 방법은 제1 가속도계를 이용하여 제1 축을 따른 가속도를 검출하는 단계와, 제2 가속도계를 이용하여 제2 축을 따른 가속도를 검출하는 단계를 포함한다. 상기 제2 축은 상기 제1 축에 수직이다. 상기 핸드헬드 장치 제어 방법은 또한 경사 검출 컴포넌트를 이용하여 상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전을 검출하는 단계와, 상기 제1 가속도계, 상기 제2 가속도계 및 상기 경사 검출 컴포넌트를 이용하여 삼차원으로 상기 핸드헬드 장치의 운동을 추적하는 단계를 포함한다. 상기 핸드헬드 장치 제어 방법은 상기 핸드헬드 장치의 디스플레이를 이용하여 현재의 화상을 표시하고 상기 추적한 핸드헬드 장치의 운동에 응답하여 상기 현재의 화상을 수정하는 단계를 포함한다.
본 발명의 특정 실시예들의 기술적 이점은 경사와 핸드헬드 장치의 평행 이동과 평행 이동면을 구별할 수 있는 운동 검출 컴포넌트들을 구비한 핸드헬드 장치를 포함한다. 따라서, 상기 핸드헬드 장치는 입력의 역할을 하는 다수의 운동을 인식할 수 있게 되어, 핸드헬드 장치의 기능이 증가된다. 일부 실시예들에 있어서는, 다수의 상이한 종류의 운동 검출 컴포넌트들을 조합하여 이용할 수 있고, 따라서 제조자는 핸드헬드 장치에 필요한 기능에 따라 가장 적합한 컴포넌트들을 이용하여 핸드헬드 장치를 설계할 수 있게 된다.
다른 기술적 이점은 다음의 도면, 설명 및 청구 범위로부터 당업자에게 쉽게 명백해질 것이다. 또한, 특정 이점들을 위에서 열거하였지만, 각종 실시예들은 그 열거한 이점들을 모두 또는 일부 포함하거나 아무것도 포함하지 않을 수도 있다.
본 발명의 특정 실시예들 및 그 이점에 대한 보다 완전한 이해를 위해서, 첨 부한 도면과 함께 다음의 상세한 설명을 참조한다.
도 1은 특정 실시예에 따라, 운동 인터페이스 기능을 구비한 핸드헬드 장치를 도시한다.
도 2는 특정 실시예에 따라, 도 1의 핸드헬드 장치의 운동 검출기를 도시한다.
도 3은 특정 실시예에 따라, 도 1의 핸드헬드 장치의 운동 검출기의 컴포넌트들의 이용을 도시한다.
도 4는 특정 실시예에 따라, 운동 검출 기능을 구비한 예시적인 핸드헬드 장치를 도시한다.
도 5는 특정 실시예에 따라, 핸드헬드 장치의 우세한 운동의 선택 및 증폭의 일례를 도시한다.
도 6은 특정 실시예에 따라, 양호한 운동 선택을 도시하는 흐름도이다.
도 7은 특정 실시예에 따라, 핸드헬드 장치의 영점의 설정을 도시하는 흐름도이다.
도 8은 특정 실시예에 따라, 버추얼 데스크톱 네비게이션을 위한 핸드헬드 장치의 스크러빙 기능의 일례를 도시한다.
도 9는 특정 실시예에 따라, 도 8의 스크러빙 처리를 도시하는 흐름도이다.
도 10A는 특정 실시예에 따라, 제스처 입력을 이용한 메뉴 네비게이션의 일례를 도시한다.
도 10B는 특정 실시예에 따라, 핸드헬드 장치에서 각종 기능의 실행에 이용 할 수 있는 예시적인 제스처들을 도시한다.
도 11은 특정 실시예에 따라, 운동 입력을 이용한 맵 네비게이션의 일례를 도시한다.
도 12A는 특정 실시예에 따라, 운동 입력을 이용한 커서 네비게이션의 형태를 도시한다.
도 12B는 특정 실시예에 따라, 운동 입력을 이용한 커서 네비게이션의 다른 형태를 도시한다.
도 13은 특정 실시예에 따라, 운동 입력에 응답하여 피드백을 이용하는 처리를 도시하는 흐름도이다.
도 14는 특정 실시예에 따라, 핸드헬드 장치로 공간적 서명을 이용하는 예시적인 시스템을 도시한다.
도 15는 특정 실시예에 따라, 핸드헬드 장치의 운동 입력이 복수의 다른 장치들을 제어하는 예시적인 시스템을 도시한다.
도 16은 특정 실시예에 따라, 핸드헬드 장치의 환경 모델링 처리를 도시하는 흐름도이다.
도 17은 특정 실시예에 따라, 핸드헬드 장치의 상이한 기능들에 맵핑될 수 있는 예시적인 제스처들을 도시한다.
도 18은 특정 실시예에 따라, 선재한 기호 제스처의 이용을 설명하는 흐름도이다.
도 19는 특정 실시예에 따라, 컨텍스트 기반 제스처 맵핑의 이용을 도시하는 흐름도이다.
도 20은 특정 실시예에 따라, 사용자 기반 제스처 맵핑의 이용을 도시하는 흐름도이다.
도 21은 특정 실시예에 따라, 사용자 생성 제스처들에 대한 할당 처리를 도시하는 흐름도이다.
도 22는 특정 실시예에 따라, 정확도의 레벨을 다양하게 하여 핸드헬드 장치를 이용하여 입력된 3개의 제스처들을 도시한다.
도 23은 특정 실시예에 따라, 다수의 특징들을 이용한 제스처 인식 처리를 도시하는 흐름도이다.
도 1은 본 발명의 특정 실시예에 따라, 운동(motion) 인터페이스 기능을 구비한 핸드헬드 장치를 도시한다. 핸드헬드 장치(10)는 그 장치의 운동(movement)( 움직임, 이동, 동작이라고도 함)을 인식하고 그러한 운동에 대응하는 각종 기능들을 수행할 수 있다. 이와 같이, 장치의 운동은 장치에 대한 입력의 일종으로서 작용한다. 그러한 운동 입력은 장치의 디스플레이에 표시되고 있는 것을 직접적으로 바꾸거나 다른 기능을 수행할 수 있다. 핸드헬드 장치(10)는 이동 전화기, 개인 휴대 정보 단말기(PDA), 스틸 카메라, 비디오 카메라, 휴대용 계산기, 휴대형 라디오 또는 다른 뮤직 또는 비디오 플레이어, 디지털 온도계, 게임기, 휴대형 전자 장치, 시계, 또는 사용자가 손에 쥐거나 몸에 지닐 수 있는 어떤 다른 장치를 포함할 수 있다. 상기 열거한 예들에 나타낸 바와 같이, 핸드헬드 장치(10)는 시계와 같 이 착용 가능한 휴대형 장치들도 포함할 수 있다. 시계는 사용자의 손목 주위에 착용되는 모든 컴퓨팅 장치를 포함할 수 있다.
핸드헬드 장치(10)는 디스플레이(12), 입력부(14), 처리기(16), 메모리(18), 통신 인터페이스(20) 및 운동 검출기(22)를 포함한다. 디스플레이(12)는 장치의 시각적 출력을 제공하며, 액정 디스플레이(LCD), 발광 다이오드(LED), 또는 사용자에게 출력을 전달하기 위한 어떤 다른 종류의 디스플레이를 포함할 수 있다. 입력부(14)는 사용자가 장치에 입력을 전달하기 위한 인터페이스를 제공한다. 입력부(14)는 키보드, 키패드, 트랙 휠, 노브(knob), 터치패드, 스텐실(stencil), 또는 사용자가 장치(10)에 입력을 전달할 수 있는 어떤 다른 컴포넌트들을 포함할 수 있다. 특정 실시예들에 있어서는, 터치스크린과 같이 디스플레이(12)와 입력부(14)가 동일한 컴포넌트로 결합될 수 있다.
처리기(16)는 마이크로프로세서, 제어기, 또는 어떤 다른 적합한 컴퓨팅 장치 또는 자원일 수 있다. 처리기(16)는 시스템 핸드헬드 장치(10) 내에서 이용 가능한 기능들을 구현하도록 다양한 컴퓨터 언어들의 각종 컴퓨터 명령들을 실행하도록 구성되어 있다. 처리기(16)는 핸드헬드 장치(10)의 관리 및 동작을 제어하기에 적합한 모든 제어기를 포함할 수 있다.
메모리(18)는 제한없이, 자기 매체, 광 매체, 램(RAM), 롬(ROM), 이동식 매체, 또는 어떤 다른 적합한 로컬 또는 리모트 메모리 컴포넌트를 포함하는 일종의 휘발성 또는 비휘발성 메모리일 수 있다. 메모리(18)는 처리기(16)가 실행 가능한 소프트웨어, 로직 모듈들 또는 컴포넌트들을 포함한다. 메모리(18)는 후술하겠지 만, 맵핑, 캘린더 및 파일 관리 어플리케이션과 같이 운동 입력을 이용하는 사용자 인터페이스를 구비한 다양한 어플리케이션(19)을 포함할 수 있다. 메모리(18)는 또한 후술하겠지만, 제스처 데이터베이스 및 기능 또는 제스처 맵핑 데이터베이스와 같이 다양한 데이터베이스도 포함할 수 있다. 메모리(18)의 컴포넌트들은 본 발명의 기술적 사상의 범위 내에서 특정 요구 또는 희망에 따라 처리할 수 있도록 결합 및/또는 분할될 수 있다. 통신 인터페이스(20)는 다른 핸드헬드 장치 또는 컴포넌트와 같은 다른 장치와의 데이터 및 정보의 무선 또는 유선 통신을 지원한다.
운동 검출기(22)는 어떤 기능들을 수행하기 위한 입력의 일종으로서 이용될 수 있는 핸드헬드 장치(10)의 운동을 추적한다. 그러한 입력 운동은 후술하겠지만, 사용자가 소정의 작업을 수행하기 위해서 소정의 방식으로 장치를 이동시킴으로써 발생될 수 있다.
주의할 것은 특정 실시예들에 따른 핸드헬드 장치(10)가 제어 모듈, 운동 추적 모듈, 비디오 분석 모듈, 운동 응답 모듈, 디스플레이 제어 모듈 및 서명 검출 모듈과 같이, 본원에 기재한 기능들을 수행하기에 적합한 모든 처리 및/또는 메모리 모듈들을 포함할 수 있다는 것이다.
특정 실시예들에 있어서, 입력 운동은 평행 이동(translation) 및/또는 제스처(gesture)의 형태일 수 있다. 평행 이동 기반 입력은 운동의 시점 및 종점, 그리고 그러한 시점과 종점 간의 차이에 초점을 맞춘다. 제스처 기반 입력은 장치가 이동하는 실제 경로에 초점을 맞춘 것으로, 이동한 점들을 전체적인 관점에서 바라 본다. 예컨대, 평행 이동 기반 입력을 이용하여 지도를 네비게이트하는 경우에, "O"자형의 운동은 운동 중에는 디스플레이를 변화시킬 수 있지만, 운동 종료 시에는 운동 개시 시와 동일한 점에 장치가 위치하게 되어 결국은 운동 전에 표시된 정보와 운동 후에 표시된 정보 간에는 아무런 변화도 없게 된다. 그러나, 제스처 입력 모드에서는, 장치가 제스처의 시점과 종점 사이에서(예컨대 시점과 종점이 동일하더라도) 운동 중에 이동한 경로에 초점을 맞추기 때문에 장치는 "O"자형의 이동을 인식할 것이다. 이하 더욱 상세히 설명하겠지만, 이러한 제스처 "O"자형 운동은 특정 기능들에 맵핑되어, 장치가 "O"자형 제스처를 이루는 경로를 따른 이동을 인식한 경우에 그 기능들을 수행하도록 할 수 있다. 특정 실시예들에 있어서, 제스처로서 의도된 장치의 운동은 그 운동의 일련의 가속도(a series, sequence or pattern of accelerations)를 그것들을 정의하는 제스처 데이터베이스의 제스처들에 매칭시킴으로써 제스처로서 장치에 의해 인식될 수 있다.
다른 실시예들에 따른 핸드헬드 장치는 도 1에 도시한 장치의 컴포넌트들 중 일부를 포함하지 않을 수도 있다. 예컨대, 일부 실시예들은 장치의 운동이 장치에 대한 유일한 또는 일차적인 입력을 제공하도록 운동 검출기로부터 분리된 입력부(14)를 구비하지 않은 핸드헬드 장치(10)를 포함할 수 있다. 주의할 것은 다른 실시예들에 따른 핸드헬드 장치는 장치(10)에 관하여 구체적으로 도시하지 않은 추가의 컴포넌트들을 포함할 수도 있다는 것이다.
도 2는 본 발명의 특정 실시예에 따라, 도 1의 운동 검출기(22)를 도시한다. 이 실시예에 있어서, 운동 검출기(22)는 가속도계(24a, 24b 및 24c), 카메라(26a, 26b 및 26c), 자이로스코프(28a, 28b 및 28c), 거리 측정기(30a, 30b 및 30c) 및 처리기(32)를 포함한다.
가속도계(24a, 24b 및 24c)는 각각의 감지 축을 따라 가속도를 검출함으로써 장치의 운동을 검출한다. 장치의 특정 운동은 가속도계에 의해 검출되는 일련의 가속도를 포함할 수 있다. 핸드헬드 장치가 특정 가속도계의 감지 축을 따라 경사지면, 그 감지 축을 따라 중력 가속도가 변화된다. 이러한 중력 가속도의 변화는 가속계에 의해 검출되어 장치의 경사를 반영한다. 마찬가지로, 핸드헬드 장치의 평행 이동, 즉 회전 또는 경사없는 장치의 운동도 감지 축을 따른 가속도의 변화를 일으키며 이러한 가속도의 변화도 가속도계에 의해 검출된다.
도시한 실시예에 있어서, 가속도계(24a)는 x축을 따른 장치의 운동을 검출하는 x축 가속도계를 포함하고, 가속도계(24b)는 y축을 따른 장치의 운동을 검출하는 y축 가속도계를 포함하며, 가속도계(24c)는 z축을 따른 장치의 운동을 검출하는 z축 가속도계를 포함한다. 가속도계들(24a, 24b 및 24c)은 협력하여 장치(10)의 회전 및 평행 이동을 검출할 수 있다. 전술한 바와 같이, 장치(10)의 회전 및/또는 평행 이동은 장치를 동작시키기 위한 사용자로부터의 입력으로서 기능할 수 있다.
운동 검출에 3개의 가속도계를 이용하는 것은 어느 정도의 이점이 있다. 예컨대, 단 2개의 가속도계만을 이용하는 경우에는, 운동 검출기가 핸드헬드 장치의 평행 이동을 평행 이동면에서의 경사와 구별할 수 없게 된다. 그러나, 제3의 z축 가속도계(다른 2개의 가속도계의 감지 축에 적어도 대략 수직인 감지 축을 갖는 가속도계)를 이용하면, 여러 경우의 경사를 여러 경우의 평행 이동과 구별할 수 있게 된다.
주의할 것은 가속도계(24a, 24b 및 24c)에 의해 서로 분별할 수 없는 일부 고유한 운동들이 존재할 수도 있다는 것이다. 예컨대, 일정한 회전과 일정한 평행 이동을 포함하는 운동은 상이한 특정 회전과 상이한 특정 평행 이동을 포함하는 상이한 운동과 동일한 운동으로서 가속도계(24a, 24b 및 24c)에 나타날 수도 있다. 운동 검출기(22)가 운동 검출을 위해서 (더 큰 정확도를 보장하기 위한 추가의 컴포넌트없이) 3개의 가속도계만을 구비한다면, 일부 고유한 분별할 수 없는 운동들이 동일한 기능에 맵핑되거나 혼란을 피하기 위한 기능에 맵핑될 수 없는 경우도 있다.
전술한 바와 같이, 운동 검출기(22)는 또한 전하 결합 소자(CCD) 카메라 또는 다른 광학 센서를 포함할 수 있는 카메라(26a, 26b 및 26c)를 포함한다. 카메라(26a, 26b 및 26c)는 핸드헬드 장치의 운동(경사 및 평행 이동)을 검출하는 다른 방법을 제공한다. 운동 검출을 위해서 장치에 1개의 카메라만을 설치하면, (가속도계와 같은 다른 운동 검출 컴포넌트를 이용하지 않고서는) 장치의 경사를 평행 이동과 구별할 수 없게 된다. 그러나, 적어도 2개의 카메라를 이용하면, 경사와 평행 이동을 서로 구별할 수 있게 된다. 예컨대, 핸드헬드 장치(10)에 2개의 카메라를 (하나는 장치의 상부에 다른 하나는 장치의 하부에) 설치하면, 각각의 카메라는 장치가 좌측으로 평행 이동했을 때 우측으로 이동하는 세계를 지각할 것이다. 장치를 수평으로 놓고 우측 에지를 내리면서 좌측 에지를 올려 회전시키면, 하부의 카메라는 우측으로 이동하는 세계를 지각하는 반면에 상부의 카메라는 좌측으로 이 동하는 세계를 지각할 것이다. 이와 같이, 장치가 평행 이동하면, 서로 반대 면에 있는 카메라들은 동일한 방향(주어진 예에서는 좌측)으로의 세계 이동을 지각하게 되며, 장치가 회전하면, 서로 반대 면에 있는 카메라들은 서로 반대 방향으로의 세계 이동을 지각하게 된다. 이러한 연역적 처리를 역으로 할 수 있다. 양자의 카메라가 동일한 방향으로 이동하는 세계를 지각하게 되면, 운동 검출기는 장치가 평행 이동하고 있다는 것을 알게 된다. 양자의 카메라가 서로 반대 방향으로 이동하는 세계를 지각하게 되면, 운동 검출기는 장치가 회전하고 있다는 것을 알게 된다.
장치가 회전하면, 카메라들에 대한 세계의 운동량은 장치의 회전량과 직접적으로 관련된다. 따라서, 그러한 카메라들에 대한 세계의 운동에 기초하여 회전량을 정확하게 판정할 수 있다. 그러나, 장치가 평행 이동하면, 평행 이동량은 카메라들에 대한 세계의 운동량과 카메라들의 시계에서의 물체에 대한 거리와 관련된다. 따라서, 카메라들만을 이용하여 평행 이동량을 정확하게 판정하기 위해서는, 카메라의 시계에서의 물체에 대한 거리에 관한 어떠한 형태의 정보를 취득해야만 한다. 그러나, 일부 실시예들에 있어서는 거리 측정 능력을 갖춘 카메라들을 이용할 수 있다.
주의할 것은 거리 정보가 없더라도, 광학적 정보는 가속도계 또는 다른 센서로부터의 정보와 상관될 때 의미있는 값이 될 수 있다는 것이다. 예컨대, 광학 카메라의 입력은 의미있는 운동이 일어나고 있지 않다는 것을 장치에 알리는 데에 이용될 수 있다. 이것은 어떤 장치 기능들에 대한 절대 위치 정보를 판정하는 데에 가속도 데이터를 이용함에 있어서 본질적일 수 있는 드리프트 문제에 대한 해결책 을 제공할 수 있다.
전술한 바와 같이, 거리 정보는 운동 검출에 카메라를 이용하고 있는 경우에 평행 이동량을 판정함에 있어서 유용할 수 있다. 도시한 실시예에 있어서, 그러한 거리 정보는 거리 측정기(30a, 30b 및 30c)에 의해 취득할 수 있다. 거리 측정기(30a, 30b 및 30c)는 초음파 거리 측정기, 레이저 거리 측정기 또는 어떤 다른 적합한 거리 측정 컴포넌트를 포함할 수 있다. 다른 컴포넌트들도 거리 정보를 판정하는 데에 이용할 수 있다. 예컨대, 거리 측정 능력을 갖춘 카메라를 이용할 수 있으며, 입체시(stereopsis)를 이용한 거리 측정기로서 기능하도록 장치의 동일한 측에서 복수의 카메라를 이용할 수 있다. 판정된 거리 정보는 평행 이동으로 인한 명백한 평행 이동 부분과 회전으로 인한 부분을 정확하고 명백하게 계산할 수 있도록 해준다.
전술한 바와 같이, 운동 검출기(22)는 추가로 자이로스코프(28a, 28b 및 28c)를 포함한다. 자이로스코프(28a, 28b 및 28c)를 운동 검출기(22)의 다른 컴포넌트들과 함께 이용함으로써 장치(10)의 운동을 보다 정확하게 검출할 수 있다.
처리기(32)는 가속도계(24), 카메라(26) 및 자이로스코프(28) 및 거리 측정기(30)로부터의 데이터를 처리하여 장치(10)의 운동을 나타내는 출력을 생성한다. 처리기(32)는 마이크로프로세서, 제어기, 또는 각 카메라로부터 비디오 스트림을 수신하는 비디오 분석 모듈과 같은 어떤 다른 적합한 컴퓨팅 장치 또는 자원을 포함할 수 있다. 일부 실시예들에 있어서, 운동 검출기(22)의 처리기(32)에 관하여 본원에서 기술하는 처리는 핸드헬드 장치(10)의 처리기(16), 또는 장치로부터 원격 위치하는 처리기를 포함하는 어떤 다른 적합한 처리기에 의해 수행될 수도 있다.
전술한 바와 같이, 운동 검출기(22)는 3개의 가속도계, 3개의 카메라, 3개의 자이로스코프 및 3개의 거리 측정기를 포함한다. 다른 실시예들에 따른 운동 검출기들은 운동 검출기(22)보다 적은 수 또는 상이한 컴포넌트들을 포함할 수 있다. 예컨대, 일부 실시예들은 카메라, 자이로스코프 또는 거리 측정기없이 3개의 가속도계를 구비한 운동 검출기; 2개 또는 3개의 가속도계와 하나 이상의 자이로스코프를 구비한 운동 검출기; 2개 또는 3개의 가속도계와 하나 이상의 카메라를 구비한 운동 검출기; 또는 2개 또는 3개의 가속도계와 하나 이상의 거리 측정기를 구비한 운동 검출기를 포함할 수 있다. 더욱이, 장치에서의 운동 검출 컴포넌트들의 위치는 실시예에 따라 달라질 수 있다. 예컨대, 어떤 실시예들은 카메라들을 장치의 서로 다른 면에 배치하는 반면에, 다른 실시예들은 (예컨대 거리 측정 기능을 부가하기 위해서) 2개의 카메라를 동일한 면에 배치할 수 있다.
운동 검출기(22)의 컴포넌트들의 형태, 수 및 위치를 변경함으로써 각종 운동을 검출 또는 정확하게 측정할 수 있는 운동 검출기의 능력을 조정할 수 있다. 전술한 바와 같이, 운동 검출기들의 컴포넌트들의 형태 및 수는 특정 요구를 충족시키기 위해서 실시예에 따라 달라질 수 있다. 특정 실시예들에서는 운동 검출 능력을 갖춘 핸드헬드 장치의 제조 비용을 줄이기 위해서 정확성을 희생하고자 하는 경우에 더 적은 수 또는 덜 정확한 컴포넌트들을 이용할 수 있다. 예컨대, 어떤 핸드헬드 장치들은 장치의 소정의 기능을 수행함에 있어서 단지 장치가 평행 이동한 것을 검출할 필요만 있을 뿐 그러한 평행 이동량을 정확하게 검출할 필요는 없 을 수 있다. 따라서, 그러한 핸드헬드 장치는 어떠한 종류의 거리 측정기 또는 거리 정보를 제공하는 다른 컴포넌트없이 카메라들을 구비한 운동 검출기를 포함할 수 있다. 특정 실시예들에 있어서, 카메라 및 거리 측정기와 같은 전술한 컴포넌트들은 운동 검출 기능에 관하여 전술한 것과는 다른 목적에 장치에 의해 이용될 수도 있다.
도 3은 도 1의 핸드헬드 장치(10)의 운동 검출기의 컴포넌트들의 이용을 도시하는 도면이다. 운동 검출 컴포넌트들로부터의 미가공 데이터(raw data)는 처리기(32)에서 처리된다. 그러한 미가공 데이터는 각각의 가속도계(24a, 24b 및 24c)로부터의 x축 가속도계 미가공 데이터(23a), y축 가속도계 미가공 데이터(23b) 및 z축 가속도계 미가공 데이터(23c); 각각의 카메라(26a, 26b 및 26c)로부터의 카메라 미가공 데이터(25a), 카메라 미가공 데이터(25b) 및 카메라 미가공 데이터(25c); 각각의 자이로스코프(28a, 28b 및 28c)로부터의 자이로스코프 미가공 데이터(27a), 자이로스코프 미가공 데이터(27b) 및 자이로스코프 미가공 데이터(27c); 및 각각의 거리 측정기(30a, 30b 및 30c)로부터의 거리 측정기 미가공 데이터(29a), 거리 측정기 미가공 데이터(29b) 및 거리 측정기 미가공 데이터(29c)를 포함한다. 핸드헬드 장치가 일부 실시예들에서의 경우와 같이 더 많은, 더 적은 또는 상이한 운동 검출 컴포넌트들을 포함하는 경우에, 미가공 데이터는 그 포함된 컴포넌트들에 대응할 수 있다.
처리기(32)에서는 미가공 데이터를 처리하여 장치(10)의 운동을 식별하기 위한 운동 검출기 출력(34)을 생성한다. 도시한 실시예에 있어서, 운동 검출기 출 력(34)은 x축, y축 및 z축을 따른 평행 이동과, x축, y축 및 z축에 대한 회전을 포함한다. 운동 검출기 출력은 핸드헬드 장치의 처리기(16)에 전달되고, 여기서 장치가 장치의 운동에 기초하여 수행해야만 하는 동작, 기능 또는 작업(즉, 장치의 행동(36))을 식별한다. 특정 운동에 기초한 어떤 일정한 동작, 기능 또는 작업의 수행에 대해서는 이하 더 설명할 것이다.
도 4는 특정 실시예에 따라, 운동 검출 기능을 구비한 예시적인 핸드헬드 장치(31)의 등척 도면이다. 핸드헬드 장치(31)는 x축 가속도계(33), y축 가속도계(35) 및 z축을 향해 배향된 카메라(37)를 포함한다. 참고로 핸드헬드 장치(31)에 대하여 x축(38), y축(39) 및 z축(40)도 도시되어 있다. 핸드헬드 장치(31)는 가속도계(33, 35) 및 카메라(37)를 이용하여 여러 방향으로의 경사 및 평행 이동을 포함하는 운동을 검출할 수 있다. 핸드헬드 장치(31)는 또한 핸드헬드 장치(10)에 관하여 도시하고 전술한 컴포넌트들, 예컨대 디스플레이(12), 입력부(14), 처리기(16), 메모리(18), 통신 인터페이스(20) 등과 같은 다른 컴포넌트들을 포함할 수 있다. 전술한 바와 같이, 특정 실시예들은 (가속도계, 자이로스코프, 카메라, 거리 측정기 또는 어떤 다른 적합한 컴포넌트를 포함하는) 각종 운동 검출 컴포넌트들을 임의로 조합하여 적합한 방식으로 배치 또는 배향한 핸드헬드 장치를 포함할 수 있다.
특정 실시예들에 있어서, 사용자 인터페이스 기능은 동시에 어느 한 운동 축을 따른 입력 운동을 이용할 수 있다. 예컨대, 장치 어플리케이션은 사용자가 핸드헬드 장치를 특정 축을 따라 (예컨대, 한 방향 또는 대향하는 두 방향으로) 이동 시킴으로써 핸드헬드 장치에 표시되는 리스트를 스크롤하는 것을 가능하게 할 수 있다. 사용자가 장치의 운동을 원하는 특정 축에 속박시키는 것은 매우 어렵다. 바꾸어 말하면, 일부 사용자에 의해 발생되는 다른 축을 따른 장치의 회전 또는 운동을 피하기는 어렵다. 이러한 문제점에 대응하여, 핸드헬드 장치는 우세한 운동을 선택하여 증폭하고 다른 방향 또는 축으로의 운동을 최소화(minimization)하는 것을 포함하는 양호한 운동 선택을 포함할 수 있다.
도 5는 전술한 바와 같이 우세한 운동을 선택하여 증폭하고 다른 방향으로의 운동을 최소화하는 일례를 도시한다. 도시한 예에 있어서, 실제 운동(41)은 핸드헬드 장치의 운동을 나타낸다. 실제 운동(41)은 어느 한 축(44)을 따른 운동(42)과 그 축(44)에 수직인 다른 축(48)을 따른 운동(46)으로 이루어진다. 운동(42)의 양이 운동(46)의 양보다 크므로, 핸드헬드 장치는 우세한 운동으로서 운동(42)을 선택할 수 있다. 이어서, 핸드헬드 장치는 그 우세한 운동을 증폭하고 운동(46)(다른 운동)을 최소화함으로써 실제 운동(41)을 표시한 운동(50)으로 취급하도록 할 수 있다. 우세한 운동의 증폭 량 또는 크기는 그 때에 장치 상에서 실행 중인 특정 어플리케이션과 같이, 특정 팩터에 따라 다양한 실시 형태들로 변화 가능하다. 또한, 우세한 운동의 증폭은 가속도의 크기, 운동의 속도, 어느 한 방향으로의 운동(예컨대 운동 42)과 다른 방향으로의 운동(예컨대 운동 46)과의 비, 네비게이트하는 하부 데스크톱의 크기, 또는 사용자 선호에 기초하여 할 수 있다. 일부 실시예들에 있어서, 핸드헬드 장치는 어떤 일정한 운동 특성의 발생 시에만 양호한 운동 선택을 실행할 수 있다. 예컨대, 어떤 경우에, 핸드헬드 장치는 어느 한 축을 따른 운동이 어떤 다른 운동의 두배 이상인 경우에 우세한 운동을 선택하여 증폭하고 보다 작은 다른 운동을 최소화할 수 있다.
이와 같이 우세한 운동을 선택하여 증폭하고 다른 운동을 최소화하는 것은 사용자가 운동 사용자 인터페이스를 이용할 수 있는 능력을 더욱더 확대시킬 뿐만 아니라, 핸드헬드 장치 또는 핸드헬드 장치 상에서 실행되는 어플리케이션이 사용자에 의한 원하지 않는 노이즈를 여과시켜 버릴 수 있도록 해준다. 이러한 능력으로, 사용자는 예컨대 핸드헬드 장치를 좌측으로 이동시켜 검사 리스트를 뽑고 나서 상하측으로 이동시켜 리스트를 스크롤할 수 있다. 부적당한 축들을 따른 운동은 무시하거나 실질적으로 핸드헬드 장치에 의해서 축소시킬 수 있다.
특정 실시예들에 있어서, 우세한 운동을 선택하여 증폭하고 다른 운동을 최소화하는 것은 핸드헬드 장치의 회전 운동에도 적용할 수 있다. 축 주위의 우세한 운동은 평행 이동 운동에 대하여 전술한 축을 따른 운동과 동일한 방식으로 선택하여 증폭할 수 있다. 또한, (우세한 회전이 아닌) 다른 축 주위의 회전은 최소화할 수 있다.
도 6은 본 발명의 특정 실시예에 따라, 양호한 운동 선택을 도시하는 흐름도(60)이다. 흐름도(60)에서, 핸드헬드 장치의 운동에 대응하는 미가공 데이터를 수신한다. 이 예시적인 실시예에 있어서, 그 운동에 대응하는 미가공 데이터는 x-가속도 데이터(62a), y-가속도 데이터(62b) 및 z-가속도 데이터(62c)를 포함하며, 단계 64에서는 이들 데이터를 처리하여 핸드헬드 장치의 운동을 나타내는 출력을 산출한다. 다른 실시예로서, 광학적 또는 카메라 데이터, 자이로스코프 데이터 및 /또는 거리 측정기 데이터와 같은 다른 종류의 운동 미가공 데이터를 포함하여도 된다. 미가공 가속도 데이터(62)의 처리 후, 단계 66에서는 우세한 운동 축을 선택한다. 선택한 우세한 운동 축이 x축이라면, 단계 68a에서는 x축을 따른 운동을 증대시킨다. 선택한 우세한 운동 축이 y축이라면, 단계 68b에서는 y축을 따른 운동을 증대시킨다. 선택한 우세한 운동 축이 z축이라면, 단계 68c에서는 z축을 따른 운동을 증대시킨다. 우세한 운동 축에 따른 운동의 증대량은 이용되는 어플리케이션이나 다른 특성에 따라 상이한 실시 형태로 변화 가능하다. 어떤 실시예들에 있어서는, 사용자 선호(69)를 이용하여 운동 증대량 또는 그 형태를 판정할 수 있다. 우세한 운동 축 이외의 축을 따른 운동은 그러한 운동을 이용되는 특정 어플리케이션에 의해 무시하는 등 전술한 바와 같이 최소화할 수 있다. 단계 70에서는, 증대시킨 운동을 처리하여 장치의 행동(72)을 산출한다. 이 처리 단계는 증대시킨 운동에 기초하여 수행할 특정한 장치의 행동을 판정하기 위해서 이용되는 어플리케이션에 액세스하는 것을 포함할 수 있다. 증대시킨 운동은 이용되는 어플리케이션, 특정 사용자 등에 따라 수많은 종류의 장치의 행동 중 어느 하나를 산출할 수 있다.
특정 사용자가 운동 입력을 이용하는 경우에, 버추얼 디스플레이의 위치, 또는 핸드헬드 장치(10)의 디스플레이(12)에 표시되는 정보를 장치의 위치에 링크시키는 것이 유용할 수 있다. 예컨대, 장치에 표시되는 맵을 네비게이트하는 것과 같이 평행 이동 기반 입력을 이용하는 특정 실시예들에 있어서, 핸드헬드 장치의 위치는 디스플레이(12)에 표시되는 맵의 일부를 직접적으로 결정할 수 있다. 그러 나, 장치 위치 정보가 절대값으로 유지된다면(위성 위치 확인 시스템(GPS) 기반 기스템과 같이), 맵 또는 메뉴 네비게이션과 같은 많은 작업에의 효용이 떨어질 수 있다. 따라서, 어떤 일정한 환경에서 장치의 행동 판정에 이용 가능한 "영점", 즉 국부 환경(local context)에서의 원점을 정의하는 것이 유익하다. 예컨대, 장치가 지점 A에 있을 때를 영점으로 정의한다면, 지점 A와 지점 B 간의 운동을 입력으로서 이용할 수 있다. 영점을 설정하는 특히 유용한 어플리케이션은 버추얼 디스플레이를 이동시키거나 사용자의 신체 주위 공간에 어플리케이션을 위치시키는 등의 외부 행동을 포함할 수 있다. 또한, 영점 설정은 장치가 추가적이고 추측 가능한 사용자에 의해 발생되는 가속도에만 작용할 수 있도록 현재 방위에서의 중력 가속도를 무시할 것을 장치에게 지시하는 등의 내부 행동을 다룬다.
특정 실시예들에 따른 핸드헬드 장치는 어떤 일정한 시기에만 운동 입력을 이용하는 어플리케이션 사용자 인터페이스를 포함할 수 있다. 예컨대, 다른 시기에서는 핸드헬드 장치의 운동을 입력으로서 이용하지 않을 수 있는데, 이것은 운동 감도, 즉 핸드헬드 장치의 운동 검출 능력을 해제 또는 "턴오프"시키기에 유용할 수 있다. 운동 감도를 해제시키는 것으로는 예컨대 핸드헬드 장치(10)의 운동 검출기(22)나 그 장치의 운동 응답 모듈과 같은 다른 컴포넌트를 비활성시키는 것 등이 있다. 이와 같이 특정 실시예들은 핸드헬드 장치의 운동 감도에 대한 선택적 부여 및 해제를 고려한다.
일례로서, 운동 검출기(22)에서 검출한 운동에 기초하여 디스플레이(12)를 수정하는 운동 응답 모듈은 운동 감도를 인에이블시키는 동작 모드로 전환시키는 트리거를 기다리는 동작 모드를 가질 수 있다. 운동 감도가 인에이블되지 않은 경우에는, 핸드헬드 장치의 어떠한 운동도 무시할 수 있다. 그 트리거는 핸드헬드 장치의 영점을 설정할 수도 있다. 영점 설정 시에, 운동 응답 모듈은 운동 검출 컴포넌트들로부터의 측정값에 기초하여 핸드헬드 장치의 기준선 방위(baseline orientation)를 측정할 수 있다. 기준선 방위는 트리거 수신 시에 (운동 검출 컴포넌트들로부터의 정보로부터 판정되는) 핸드헬드 장치의 위치를 포함할 수 있다. 실행할 기능이나 사용자의 핸드헬드 장치의 운동에 기초하여 디스플레이(12)에 행해야 하는 수정을 판정하기 위해서 핸드헬드 장치의 장래의 이동을 기준선 방위와 비교한다.
특정 실시예들은 영점 선택과 핸드헬드 장치의 운동 감도에 대한 선택적 부여/해제를 위한 단일 트리거로서 기능하는 사용자에 의한 다수의 행위를 고려한다. 이러한 행위로는 예컨대, 입력부(14) 상의 키를 누른다거나, 특정 방향으로 핸드헬드 장치(10)를 이동시킨다거나(예컨대, 특정 제스처에 해당하는 운동), 디스플레이(12)를 가볍게 두드리는 것(tap) 등이 있다. 주의할 점은 사용자에 의한 어떠한 행위로도 동시에 영점을 설정하고 핸드헬드 장치의 운동 감도를 부여할 수 있다는 점이다.
일부 실시예들에 있어서, 비활성 또는 극미한 활성 기간(즉, 상대적 정지)도 영점을 설정하고 운동 감도를 부여 또는 해제시킬 수 있다. 도 7은 핸드헬드 장치의 영점을 수동 설정하는 흐름도(80)를 도시하고 있다. 단계 82a에서는 x축에 대한 가속도의 변화를 검출하고, 단계 82b에서는 y축에 대한 가속도의 변화를 검출하 며, 단계 82c에서는 z축에 대한 가속도의 변화를 검출한다. 단계 84a, 84b, 84c에서는, 검출한 가속도 변화가 각각의 특정 임계값보다 큰 지를 판정한다. 검출한 3개의 축 각각을 따른 가속도 변화가 설정한 임계값 이하인 경우에는, 핸드헬드 장치가 정지 상태에 있는 것으로 간주하고, 단계 86에서 영점을 설정한다. 정지 상태 위치는 예컨대 운동 검출기(22)의 컴포넌트들의 미가공 데이터 또는 동작 성분의 안정화로부터 판정할 수 있다. 그러나, 검출한 3개의 축 중 어느 한 축을 따른 가속도 변화가 설정한 임계값보다 큰 경우에는, 단계 82의 가속도 변화 검출 단계로 되돌아 간다. 이와 같이, 영점을 수동 설정하는 방법은 핸드헬드 장치가 정지 상태에 있을 때에만 영점을 설정하도록 보장할 수 있다. 더욱이, 장치가 일정한 운동 상태에 있지만 특정 시기에서의 사용자에 의한 것이 아닌 경우(예컨대, 일정한 속도로 이동하는 열차에 있는 경우)에는, 가속도 변화가 검출되지 않기 때문에 영점을 설정한다. 가속도 변화가 영점 설정을 트리거하지 않을 정도로 큰 지를 판정하는 데 임계값을 이용함으로써, 사용자는 영점을 수동 설정하기까지 그대로 장치를 유지할 수 있게 된다. 그렇지 않은 경우에는 그것이 어려울 수 있는데, 그 이유는 매우 민감한 가속도계를 구비한 장치가 매우 작은 의도하지 않은 사용자에 의한 운동으로 인한 가속도 변화를 검출할 수도 있기 때문이다. 주의할 점은 가속도계와는 다른 컴포넌트들을 구비한 운동 검출기에 대해서도 유사한 방법을 이용할 수 있다는 점이다. 또한, 그러한 유사한 방법에서도 임계값을 이용하여, 영점 설정을 방해할 의도하지 않은 작은 운동을 고려할 수 있다.
본 발명의 특정 실시예들은 한정된 현실 공간에서의 운동 입력을 이용하여 버추얼 데스크톱(또는 정보 공간) 내를 보다 크게 이동할 수 있도록, 사용자로 하여금 핸드헬드 장치의 운동 감도를 반복적이고도 선택적으로 부여 및 해제시킬 수 있게 하는 능력을 포함한다. 이러한 처리는 커서를 제어하는 마우스의 "스크러빙", 즉 마우스를 어느 한 표면으로부터 들어올려 상이한 위치의 표면에 바꾸어 놓음으로써, 커서를 보다 크게 이동할 수 있도록 하는 것과 유사하다. 마찬가지로, 사용자는 장치(10)와 같은 핸드헬드 장치의 운동과, 그 장치의 운동에 기초한 동작, 기능 또는 행동과의 연결 관계를 부여 및 해제시킬 수 있다.
도 8은 핸드헬드 장치의 디스플레이보다 큰 버추얼 데스크톱 또는 정보 공간 네비게이션을 위한 스크러빙 기능의 이용의 일례를 도시하고 있다. 도시한 예에서는, 핸드헬드 장치가 버추얼 데스크톱(90) 내를 네비게이트하는 데 이용된다. 버추얼 데스크톱(90)은 그리드 맵으로 도시되어 있으며, 사용자가 네비게이트하고자 하는 적합한 정보를 표현할 수 있다. 핸드헬드 장치에 표시되는 버추얼 데스크톱의 정보는 박스(92)로 표현된다. 예컨대, 사용자는 핸드헬드 장치를 우측에서 좌측으로 이동시켜 버추얼 데스크톱(90)의 정보 내를 우측에서 좌측으로 네비게이트할 수 있다. 주의할 점은 도시한 예에서는 핸드헬드 장치를 우측으로 이동시켜 스크러빙 처리를 실행하는 것으로 설명하였지만, 특정 실시예들에서는 핸드헬드 장치를 어떤 다른 적합한 방식으로 이동시켜 스크러빙 처리를 실행할 수도 있다는 점이다.
전술한 바와 같이, 박스(92)는 핸드헬드 장치에 현재 표시되는 버추얼 데스크톱(90)의 정보를 표현한다. 사용자가 박스(94)에 표현된 정보를 열람하고자 한 다면, 사용자는 핸드헬드 장치를 좌측에서 우측으로 이동시키면 된다. 이 예의 목적상, 사용자가 핸드헬드 장치를 우측으로 이동시키면 박스(94)에 포함된 버추얼 데스크톱(90)의 정보가 핸드헬드 장치에 표시되는 것으로 한다. 또한, 현재, 사용자의 팔이 사용자의 우측으로 뻗어 있어, 핸드헬드 장치의 디스플레이에서 박스(94)의 우측에 있는 버추얼 데스크톱(90)의 정보를 열람하기 위해서는, 사용자가 우측으로 더 걷거나 움직여야 하는 것으로 한다. 그러한 경우에, 핸드헬드 장치가 우측으로 더 이동하도록 사용자가 우측으로 더 걷거나 움직일 수 없다거나 그럴 의향이 없는 경우에는, 사용자는 핸드헬드 장치의 운동 감도를 선택적으로 해제한 후, 핸드헬드 장치를 좌측으로 역이동시키고, 핸드헬드 장치의 운동 감도를 선택적으로 재부여한 후, 핸드헬드 장치를 다시 우측으로 이동시켜, 박스(94)의 우측에 있는 정보를 표시할 수 있다. 이와 같은 방식으로, 사용자는 박스(96)에 포함된 버추얼 데스크톱(90)의 정보를 표시할 수 있으며, 이러한 처리를 반복하여 박스(96)의 우측에 있는 박스(98)에 포함된 정보를 표시할 수 있다.
한정된 현실 공간에서 버추얼 데스크톱 내를 보다 크게 이동할 수 있도록, 핸드헬드 장치의 운동 감도를 선택적으로 해제 및 재부여하는 것은 핸드헬드 장치의 입력부 상의 키를 누른다거나, 특정 제스처 또는 운동(예컨대 호 운동)에 따라 핸드헬드 장치를 이동시킨다거나, 핸드헬드 장치의 디스플레이를 가볍게 두드리는 등의 다양한 방법들 중 하나로 행할 수 있다. 사용자에 의한 어떤 다른 행위로도 상기와 같은 목적으로 운동 감도를 해제 및 재부여할 수 있다. 특정 실시예들에서는, 복수의 행위로 핸드헬드 장치의 운동 감도를 해제 및 재부여하도록 할 수 있 다. 또한, 핸드헬드 장치의 운동 감도를 해제시키는 사용자의 행위와 운동 감도를 재부여하는 사용자의 행위를 다르게 할 수 있다. 이러한 스크러빙 처리는 맵 네비게이션, 메뉴 네비게이션, 리스트 스크롤링 등 어떤 적합한 어플리케이션에서도 수행 가능하다.
도 9는 특정 실시예에 따라, 도 8에 관하여 전술한 스크러빙 처리의 단계들을 도시하는 흐름도이다. 흐름도는 단계 100에서 시작하는데, 이 단계에서는, 핸드헬드 장치를 우측으로 이동시켜, 버추얼 디스플레이(90)의 박스(92)의 정보의 표시에서 박스(94)의 정보를 표시하게 한다. 전술한 바와 같이, 사용자는 박스(94)의 우측에 있는 정보를 더 표시하고자 하지만, 핸드헬드 장치를 우측으로 더 이동시킬 현실 공간이 부족할 수도 있다. 따라서, 단계 102에서, 사용자는 핸드헬드 장치의 운동 감도를 해제시킨다. 핸드헬드 장치 상의 버튼을 누른다거나 특정 제스처에 따라 핸드헬드 장치를 이동시키는 등의 어떤 적합한 사용자 행위로 그러한 해제를 행할 수 있다. 단계 104에서, 사용자는 핸드헬드 장치를 좌측으로 이동시켜, 운동 감도 재부여 시에 핸드헬드 장치를 우측으로 이동시킬 수 있는 현실 공간을 확보한다.
단계 106에서, 사용자는 핸드헬드 장치의 운동 감도를 재부여한다. 또한, 어떤 적합한 사용자 행위로 그러한 재부여를 행할 수 있는데, 그러한 사용자 행위는 단계 102에서 운동 감도를 해제시키는 사용자 행위와는 다르게 할 수 있다. 운동 감도를 재부여한 후에, 단계 108에서, 사용자는 핸드헬드 장치를 우측으로 이동시켜, 핸드헬드 장치에 표시되는 정보를 박스(94)의 정보에서 박스(96)의 정보로 변경한다. 단계 110에서, 핸드헬드 장치를 우측으로 더 이동시킬 필요가 있는지를 판정한다. (예컨대, 버추얼 디스플레이(90)의 박스(98)의 정보를 표시하기 위해서) 우측으로 더 이동시킬 필요가 있다면, 단계 102로 돌아가서, 핸드헬드 장치의 운동 감도를 다시 해제시킨다. 우측으로 더 이동시킬 필요가 없다면, 처리를 종료한다. 전술한 바와 같이, 이러한 스크러빙 처리는 운동 입력을 지원하는 핸드헬드 장치의 어떤 적합한 어플리케이션에서도 이용 가능하며, 이 기능을 구현하기 위해서 핸드헬드 장치를 어떤 적합한 방식으로 이동시킬 수 있다.
전술한 바와 같이, 운동 중에 디스플레이에 표시된 정보를 변경하는 일없이 핸드헬드 장치에 신호할 수 있는 핸드헬드 장치의 특정 운동(예컨대, 특정 제스처)을 스크러빙 처리에 이용할 수 있다. 이것은 사용자가 디스플레이에 표시된 정보를 변경하기 위해서 핸드헬드 장치를 더 이동시킬 수 있는 위치로 되돌릴 수 있도록 해준다. 예컨대, 핸드헬드 장치의 운동으로 표시된 정보가 변경되는 기본 기준 위치에 핸드헬드 장치가 있을 수 있다. 운동 완료 시까지 운동에 기초하여 표시된 정보를 변경하는 일없이 핸드헬드 장치에 신호할 수 있는 특정한 소정의 운동(예컨대, 호 운동)을 이용할 수 있다. 그 소정의 운동이 완료되고 나면, 기본 기준 위치로부터의 핸드헬드 장치의 추가적인 운동으로 표시된 정보가 변경되도록 기본 기준 위치를 재설정할 수 있다. 기본 기준 위치는 핸드헬드 장치의 운동 검출 컴포넌트들이 수신한 운동 데이터의 기준선 성분들로 나타내는 핸드헬드 장치의 기준선 방위를 식별할 수 있다. 특정 실시예들에 있어서, 기본 기준 위치로부터의 이동으로 핸드헬드 장치에 표시된 정보를 변경시키는 특정 명령을 행하는 것으로 판정되 는 제스처들을 수신할 수 있다.
전술한 각종 실시예에 관해서 설명한 바와 같이, 특정 실시예들에 따른 핸드헬드는 핸드헬드 장치를 동작시키기 위해서 여러 종류 또는 모드의 입력을 이용할 수 있다. 그러한 입력 모드로는 평행 이동 입력 모드 및 제스처 입력 모드와 같은 운동 입력 모드가 있다. 때로는 여러 입력 모드를 서로 조합하여 이용할 수도 있지만, 한번에 어떤 일정한 모드 종류만을 인식하도록 핸드헬드 장치를 설정하는 경우도 있다. 어떤 경우에는, 특정 시기에 복수의 종류의 비운동 입력과 단 한 종류의 운동 입력(예컨대, 평행 이동 또는 제스처)에 기초하여 동작하도록 핸드헬드 장치를 설정할 수도 있다.
복수의 입력 모드를 인식함에 있어서 상기한 바와 같은 핸드헬드 장치의 유연성을 촉진시키기 위해서, 특정 실시예들에 있어서는, 입력 모드 전환에 어떤 일정한 트리거를 이용할 수 있다. 예컨대, 사용자는 특정 키를 누른다거나 핸드헬드 장치를 어떤 일정한 방식(예컨대, 특정 제스처)으로 이동시켜, 입력 모드를 전환시킬 수 있다. 핸드헬드 장치의 어플리케이션이 복수의 종류의 운동 입력에 기초하여 인식하고 동작하는 경우에는, 특정 키를 누른다거나 핸드헬드 장치를 이용하여 특정 제스처를 형성하여, 평행 이동 운동 입력 모드와 제스처 운동 입력 모드 간의 전환을 행할 수 있다. 그러한 트리거는 또한 어느 한 어플리케이션에서 다른 어플리케이션으로의 단순 전환이나 어느 한 표시 화상에서 다른 표시 화상으로의 전환을 포함할 수 있다. 어떤 경우에는, 트리거가 비운동 입력 모드와 운동 입력 모드 간의 전환을 행할 수도 있다. 상이한 운동 입력 모드 간의 전환과 같은 상이한 입 력 모드 간의 전환을 행하는 트리거로서 어떤 특정한 사용자 행위를 이용할 수도 있다. 일부 실시예들에 있어서는, 핸드헬드 장치에 대한 음성 명령이나 물리적 행위(예컨대, 장치 또는 화면을 가볍게 두드리기)를 이용하여 입력 모드의 전환을 행할 수도 있다.
특정 실시예들에 있어서, 핸드헬드 장치의 운동 감도를 재부여하는 사용자 행위는 장치의 행동에 달리 영향을 줄 수는 있는 다른 정보를 포함할 수도 있다. 예컨대, 사용자가 평행 이동 감도를 재부여하는 어느 한 운동을 하는 경우에는, 핸드헬드 장치를 사용자가 운동 감도를 재부여하는 다른 운동을 하는 경우보다 더 운동에 민감해지도록 할 수 있다. 재부여 운동은 사용자의 신원 또는 상황을 나타내는 제스처를 포함함으로써, 사용자 선호와 같은 각종 동작 환경을 부여할 수 있다.
전술한 바와 같이, 특정 실시예들은 핸드헬드 장치의 각종 기능, 작업 및 동작을 제어하는 운동 입력을 수신할 수 있는 능력을 포함하며, 처리 시에 핸드헬드 장치에 표시된 정보를 변경하는 데 이용할 수 있다. 어떤 경우에, 그러한 운동 입력은 단지 평행 이동에 기초한 입력과는 전혀 다르게 제스처의 형태를 취할 수도 있다. 제스처 입력은 일부 어플리케이션들에서 다차원 메뉴 또는 그리드 내를 네비게이트하는 데 이용할 수 있다. 예컨대, 스크러빙 처리에 관해서 전술한 바와 같이, 핸드헬드 장치의 디스플레이는 그 디스플레이에 표시될 있는 정보(예컨대, 메뉴 옵션, 맵 정보)의 양보다 작을 수 있다. 이것은 좁고 깊은 메뉴 구조의 원인이 될 수 있다. 대부분의 경우에, 좁고 깊은 메뉴 구조보다는 넓고 얕은 메뉴 구조를 선호하는데, 그 이유는 사용자가 기능 위치에 관한 많은 정보를 기억해둘 필 요가 없기 때문이다.
도 10A는 특정 실시예에 따라, 제스처 입력을 이용한 메뉴 네비게이션의 일례를 도시한다. 도시한 실시예에 있어서는, 핸드헬드 장치를 이용하여 버추얼 데스크톱(120) 내를 네비게이트한다. 버추얼 데스크톱(120)은 선택용 메뉴 카테고리(122)를 구비한 메뉴 트리를 포함한다. 각 메뉴 카테고리(122)는 각자의 선택용 서브카테고리를 포함할 수 있다. 일부 실시예들에 있어서, 메뉴 카테고리(122)는 기능 카테고리를 포함하고, 각 메뉴 선택의 서브카테고리는 그러한 각 카테고리 하의 실제 기능을 포함할 수 있다. 다른 실시예들에 있어서는, 메뉴 카테고리가 명사(예컨대, "폴더", "문서", "그림")를 포함하고, 서브카테고리가 동사(예컨대, "이동", "붙이기", "잘라내기")를 포함할 수 있다. 핸드헬드 장치가 셀룰러 폰인 경우에는, 메뉴 카테고리(122)는 "통화", "전화 번호부", "메시지", "플래너", "사운드", "설정 환경", 또는 다른 아이템들을 포함할 수 있다. 각 메뉴 카테고리(122)는 메뉴 카테고리(122)를 선택하면 액세스할 수 있는 기능들을 포함할 수 있다. 도 10A에서는 메뉴를 2 레벨로 하였지만, 운동 인터페이스 네비게이션용 다차원 데스크톱 또는 정보 디스플레이는 임의 수의 레벨을 이용한 임의 수의 선택 사항(예컨대, 메뉴)을 포함할 수 있다.
도시한 예에서는, 메뉴 카테고리(122e)를 선택하여, 메뉴 카테고리(122e)의 서브카테고리(124)를 선택할 수 있는 것으로 표시하였다. 박스(126, 128)는 사용자를 위해서 핸드헬드 장치에 표시되는 정보를 나타낸다. 도시한 바와 같이, 버추얼 데스크톱(120)은 한번에 핸드헬드 장치에 표시할 수 있는 많은 정보, 즉 메뉴를 포함한다. 사용자는 핸드헬드 장치를 특정 제스처에 따라 이동시켜, 버추얼 데스크톱 내를 네비게이트할 수 있다. 또한, 제스처를 이용하여, 상이한 메뉴 레벨을 네비게이트하여 메뉴를 선택할 수 있다. 일례로, 사용자는 장치(10)를 시계 방향의 원(130)의 형태로 이동시켜, 버추얼 데스크톱(120) 내를 우측으로 소정의 양만큼 네비게이트할 수 있다(예컨대, 박스(126)의 정보에서 박스(128)의 정보로 이동). 어웨이(away) 제스처(132)나, 하측(downward) 제스처로 특정 메뉴 카테고리(122)를 선택하여(예컨대, 메뉴 카테고리(122e)를 선택), 선택용 서브카테고리(124)를 표시할 수 있다. 마찬가지로, 버추얼 데스크톱(120) 내를 좌측으로 이동하기 위해서, 사용자는 장치(10)를 반시계 방향의 원(134)의 형태로 이동시킬 수 있다. 어떤 경우에는, 4개의 제스처, 즉 전향(forward) 제스처, 후향(backward) 제스처, 좌측(left) 제스처 및 우측(right) 제스처를 이용하여 네비게이트할 수도 있다. 일부 실시예들에 있어서는, 수직 방향의 운동 벡터들을 포함하는 제스처들을 네비게이션에 이용할 수 있다.
특정 실시예들에 있어서는, 소정의 제스처로 달성할 수 있는 기능과는 반대되는 기능을 실행하기 위해서 그 소정의 제스처의 거울 이미지에 해당하는 제스처를 이용할 수 있다. 예컨대, 사용자를 향한 운동은 줌 확대를, 그 반대되는 운동인, 사용자로부터의 이격 운동은 줌 축소를 실행할 수 있다. 반대 기능에 맵핑되어 있는 거울 이미지 또는 역(reciprocal) 제스처를 이용함으로써, 장치의 운동 사용자 인터페이스의 학습 및 이용이 용이해진다.
어떤 경우에는, 선택 시 디스플레이의 중앙에 있는 메뉴 아이템을 하이라이 트 처리할 수 있으며, 다른 경우에는, 복수의 표시된 선택 사항 중 사용자가 선택하고자 하는 메뉴 선택이 무엇인지를 특정 제스처로 나타낼 수 있다. 사용자가 제스처를 이용하여 네비게이트할 수 있는 메뉴 또는 다른 정보는 임의 수의 방식으로 핸드헬드 장치에 표시될 수 있다. 일부 실시예들에 있어서는, 한번에 단 한 레벨의 정보(즉, 1 메뉴 레벨)만을 표시하고, 하위 레벨 또는 상위 레벨은 선택 시 이용 가능하기까지는 표시하지 않는다.
도 10B는 사용자가 버추얼 데스크톱 내를 네비게이트할 수 있도록 해주는 기능과 같이, 각종 기능의 실행에 이용할 수 있는 예시적인 제스처들을 도시한다. 도시한 예의 제스처로는, 데스크톱 내를 상측 방향으로 네비게이트하는 "상측" 제스처(133), 하측으로 네비게이트하는 "하측" 제스처(135), 좌측으로 네비게이트하는 "좌측" 제스처(136), 우측으로 네비게이트하는 "우측" 제스처(137), 사용자를 향한 방향으로 네비게이트하는 "내측" 제스처(138), 그리고 사용자로부터 멀어지게 네비게이트하는 "외측" 제스처(139)가 있다. 이들 제스처는 특정 실시예들에서 단지 예시적인 제스처 및 명령이며, 다른 실시예들에서는 데스크톱 내를 네비게이트하거나 핸드헬드 장치를 이용하여 다른 기능들을 실행하기 위한 상이한 명령들에 맵핑되어 있는 상이한 제스처들 또는 유사한 제스처들을 포함할 수 있다.
도 11은 본 발명의 특정 실시예에 따라, 운동 입력을 이용한 맵 네비게이션의 다른 일례를 도시한다. 도 11은 각각 문자 (A, B, C, ...P)로 표현한 16 부분으로 분할된 정보 그리드를 나타내는 버추얼 데스크톱(140)을 포함한다. 특정 실시예들을 설명할 목적으로만 버추얼 데스크톱(140)의 부분들을 참조 문자를 이용하 여 식별하며, 다른 실시예들에 따른 버추얼 데스크톱의 부분들은 장치 어플리케이션에서 참조 문자 또는 다른 방식으로 식별할 수도 있고 식별하지 않을 수도 있다. 버추얼 데스크톱(140)은 한번에 특정 핸드헬드 장치에 표시할 수 있는 많은 정보를 포함한다. 버추얼 데스크톱(140)은 거리 지도와 같이, 사용자가 핸드헬드 장치를 이용하여 네비게이트하고자 하는 어떤 적합한 정보를 나타낼 수 있다. 사용자는 핸드헬드 장치의 디스플레이 상에 상이한 정보 부분들을 표시하기 위해서 버추얼 데스크톱(140) 내를 네비게이트하고자 하거나, 또한 버추얼 데스크톱(140)의 정보 중 어떤 일정한 부분을 더 명확하게 보기 위해서 버추얼 데스크톱(140)을 줌 확대(및 줌 축소)(즉, 표시된 정보의 입도를 변경)하고자 할 수 있다.
도시한 예에 있어서, 박스(142)는 현재 핸드헬드 장치(10)에 표시되어 있는 정보를 나타낸다. 박스(142)는 버추얼 데스크톱(140)의 부분 A, B, E, F를 포함한다. 특정 실시예들에 있어서, 사용자가 핸드헬드 장치에 표시된 버추얼 데스크톱(140)의 정보를 예컨대 박스 C, D, G, H의 정보로 변경하고자 한다면, 사용자는 핸드헬드 장치의 디스플레이를 나타내는 박스(142)를 우측으로 필요한 만큼(도시한 예에서는 우측으로 2개의 부분만큼) 이동시키는 운동 입력을 이용할 수 있다. 그러한 운동 입력으로는, 평행 이동 입력(핸드헬드 장치(10)를 우측으로 표시된 정보를 변경하기에 적합한 양만큼 이동)이나, 제스처 입력(핸드헬드 장치(10)를 이 기능에 맵핑되어 있는 특정 제스처에 따라 이동) 등이 있다. 일례로, 어느 한 제스처는 디스플레이를 우측으로 한 부분만큼 이동시키는 것에 맵핑시킬 수 있고, 또 다른 제스처는 디스플레이를 우측으로 두 부분만큼 이동시키는 것에 맵핑시킬 수 있다. 이와 같이, 사용자는 평행 이동 입력이나 제스처 입력을 이용하여, 버추얼 데스크톱(140) 내를 네비게이트할 수 있다.
또한, 사용자는 핸드헬드 장치(10)를 평행 이동 입력이나 제스처 입력 등에 따라 이동시킴으로써 어떤 일정한 표시 정보를 더 명확하게 보기 위해서 줌 확대할 수도 있다. 제스처 입력을 이용하는 일례로서, 핸드헬드 장치에 표시된 정보가 16개의 부분 중 4개의 부분(예컨대, 부분 A, D, E, F를 표시하는 박스 142)을 포함하고 있다면, 사용자는 각각이 특정 부분을 줌 확대하는 것, 즉 4개의 표시 부분들 중 한 부분을 줌 확대하는 것에 맵핑되어 있는 4개의 제스처 중 하나를 이용할 수 있다. 사용자가 핸드헬드 장치를 부분 B를 줌 확대하는 것에 맵핑되어 있는 제스처에 따라 이동시킨다면, 핸드헬드 장치는 확대도에서 버추얼 데스크톱(140)의 부분 B의 정보를 집합적으로 형성하는 박스(144)(부분 B1, B2, B3, B4, B5, B6, B7, B8, B9)로 표현된 정보를 표시하게 된다. 따라서, 부분 B의 정보를 보다 크고 명확하게 표시할 수 있다. 핸드헬드 장치에서 박스(144)의 정보를 보고 있을 때, 사용자는 적절히 맵핑되어 있는 제스처를 이용하여 현재 표시된 특정 부분을 다시 줌 축소 또는 줌 확대할 수 있다. 사용자가 핸드헬드 장치를 부분 B2를 줌 확대하는 것에 맵핑되어 있는 제스처(이것은 박스(142)의 정보가 표시되어 있는 경우에 부분 B를 줌 확대하기 위한 제스처와 동일한 제스처일 수 있음)에 따라 이동시킨다면, 핸드헬드 장치는 박스(146)(부분 B2a, B2b, B2c, B2d, B2e, B2f, B2g, B2h, B2i)의 정보를 표시하게 된다. 또한, 사용자는 특정 부분을 줌 확대할 때 버추얼 데스크톱 내를 네비게이트할 수도 있다. 예컨대, (박스(144)의 정보를 보기 위해서) 부 분 B를 줌 확대한 경우에, 사용자는 평행 이동 또는 제스처 입력을 이용하여 버추얼 데스크톱 내를 이동하면서 부분 B와는 다른 부분의 확대도를 볼 수 있다. 일례로, 박스(144)의 정보를 보고 있을 때, 사용자는 전체 디스플레이가 버추얼 데스크톱(140)의 부분 C의 정보만을 보이도록(즉, 부분 C를 줌 확대하여 부분 C1, C2, C3, C4, C5, C6, C7, C8, C9를 보이도록) 표시 정보를 우측으로 이동시키는 제스처를 취할 수 있다. 사용자는 운동 입력을 이용하여 어떤 적합한 방식으로 (네비게이트하면서 줌 확대 및 줌 축소하여) 버추얼 데스크톱(140)의 정보 내를 네비게이트할 수 있다.
전술한 바와 같이, 어떤 적합한 제스처를 이용하여 버추얼 데스크톱 내(또는 특정 레벨 내)를 네비게이트하고 다차원 데스크톱의 상이한 레벨들 또는 차원들 사이 또는 그 내를 네비게이트할 수 있다. 또한, 일부 실시예들에서는, 제스처와 같은 운동을 이용하여 다차원 데스크톱 내를 네비게이트하고, 비운동 행위를 이용하여 차원을 선택하거나 차원들 사이를 네비게이트할 수 있다. 그러한 비운동 행위로는 장치 입력부에 있는 키를 누르는 것 등이 있다. 이와 같이, 특정 실시예들에서는 운동과 비운동 행위의 조합을 이용하여 다차원 버추얼 데스크톱 또는 메뉴를 네비게이트할 수 있다.
특정 실시예들은 다차원 그리드, 메뉴, 캘린더 또는 다른 계층적 어플리케이션과 같은 어떤 적합한 어플리케이션을 통해 제스처 기반의 네비게이션을 가능하게 할 수 있다. 예컨대, 캘린더 어플리케이션에 있어서는, 어떤 일정한 제스처를 이용하여 월과 같은 한 레벨 내를 네비게이트하고, 다른 제스처를 이용하여 년, 월, 일, 시 및 사건 사이와 같은 레벨 사이를 네비게이트할 수 있다. 또한, 그러한 제스처 네비게이션을 이용하는 핸드헬드 장치에서 실행되는 상이한 어플리케이션마다 상이한 제스처를 이용할 수 있다. 특정 네비게이션 제스처는 이용 중인 특정 어플리케이션에 따라 다르게 할 수 있다. 일부 실시예들에 있어서는, 단지 제스처 기반의 운동을 이용하는 것과는 대조적으로, 평행 이동 기반의 인터페이스를 이용하여 버추얼 데스크톱의 다차원 정보 내를 네비게이트할 수 있다. 예컨대, x축 및 y축을 따른 운동은 계층의 한 레벨 내를 이동하는 데 이용할 수 있고, z축을 따른 운동은 계층의 레벨 사이를 이동하는 데 이용할 수 있다.
다른 예로는, 단체의 전화 번호부, 알파벳 문자, 성명, 연락처(예컨대, 사무실, 셀룰러 및 집 전화 번호, 이메일) 및 행위를 이용하여 계층의 상이한 레벨에 걸쳐 모든 연락을 개시할 수 있다. 이 예에서, 계층은 정보(명사)와 행위(동사)를 포함할 수 있다. 이 예를 단 2개의 축, 예컨대 계층의 한 레벨 내에서 선택하는 데 이용하는 y축과 레벨 사이를 이동하는 데 이용하는 x축에 맵핑할 수 있다. z축은 행위를 확인하고 부주위한 행위의 실행을 방지하는 데 이용할 수 있다.
일부 경우에, 특히 평행 이동 기반의 게비게이션에서는 횡단하는 레벨의 수가 운동량에 좌우될 수 있다. 핸드헬드 장치를 적게 이동시키면 한번에 한 레벨을 네비게이트할 수 있고, 핸드헬드 장치를 많이 이동시키면 한번에 복수의 레벨을 네비게이트할 수 있다. 운동량이 클수록, 한번에 보다 많은 레벨을 네비게이트할 수 있다. 제스처 기반의 운동 입력에 적용하는 경우에는, 상이한 제스처를 이용하여 한번에 계층의 상이한 수의 레벨을 네비게이트할 수 있다. 이들 제스처는 동일한 운동 또는 전체적으로 상이한 운동의 상이한 운동량일 수 있다.
다차원 데스크톱 또는 정보 디스플레이의 증대를 통한 운동 인터페이스 네비게이션의 이용은 메뉴를 펼칠 수 있게 함(flatten)으로써, 장치의 디스플레이에 맞는 크기로 사용자가 보다 용이하게 버추얼 데스크톱의 특정 메뉴 또는 차원 내를 네비게이트할 수 있게 된다. 이와 같이 메뉴를 펼침으로써, 사용자는 정보를 더 기억할 필요가 없게 되어 사용자의 장치의 기능 및 성능이 증대된다.
전술한 바와 같이, 특정 실시예들의 핸드헬드 장치는 사용자가 운동 입력을 이용하여 버추얼 데스크톱 내를 네비게이트할 수 있도록 한다. 어떤 경우에는, 사용자가 커서를 이용하여 핸드헬드 장치에 표시된 정보를 네비게이트할 수도 있다. 예컨대, 어떤 일정한 정보가 핸드헬드 장치에 표시되면, 사용자가 운동 입력을 이용하여 커서를 장치 디스플레이의 여기저기로 이동시키면서 표시된 특정 아이템을 선택함으로써 어떤 일정한 기능을 행하도록 할 수 있다. 어떤 경우에는, 운동 입력을 이용하여 커서를 이동시키고, 비운동 행위(예컨대, 버튼 누름)를 이용하여 현재 커서가 지시하는 아이템을 선택할 수 있다. 커서 네비게이션의 각종 실시예에서 제스처와 평행 이동 운동 입력을 모두 이용할 수도 있다.
특정 실시예들에 있어서는, 핸드헬드 장치의 운동을 이용하여 커서를 표시 정보 내를 네비게이트할 수 있도록, 핸드헬드 장치에 대하여 표시 정보를 고정시키고, 커서를 공간에 그대로 고정시킬 수 있다. 도 12A는 운동 입력을 이용한 커서 네비게이션의 형태를 도시한다. 디스플레이(147)는 핸드헬드 장치의 디스플레이를 나타낸다. 이 커서 네비게이션의 예를 설명하기 위해서, 디스플레이를 그리드로 분할하여 표시 정보를 보이고 있다. 그리드는 부분 A-P를 포함한다. 디스플레이(147)는 부분 C, D, G, H 사이에 커서(148)를 포함한다. 전술한 바와 같이, 본 실시예에서는, 핸드헬드 장치가 이동할 때 핸드헬드 장치에 대하여 표시 정보를 그대로 고정시키고, 커서를 공간에 그대로 고정시킨다. 그러나, 표시 정보에 대한 커서의 위치는 운동 입력에 따라 바뀐다. 핸드헬드 장치를 우측 운동(149)에 따라 우측으로 평행 이동시키면, 그 핸드헬드 장치의 평행 이동과 반대되는 운동에 따라 커서가 평행 이동한다.
디스플레이(150)는 핸드헬드 장치를 우측 운동(149)에 따라 이동시킨 후에 가능한 디스플레이를 나타내며, 커서(148)는 현재 부분 A, B, E, F 사이에 위치한다. 이 예는 평행 이동 기반의 입력을 필요로 하기 때문에, 핸드헬드 장치의 운동량(예컨대 이 예에서는 우측으로)이 표시 정보에 대한 커서의 이동량에 직접적으로 영향을 줄 수도 있다. 디스플레이(152)는 핸드헬드 장치를 상측 운동(151)에 따라 이동시킨 후에 가능한 다른 디스플레이를 나타내며, 커서(148)는 현재 부분 I, J, M, N 사이에 위치한다. 명백한 바와 같이, 커서는 공간에 그대로 고정되어 있기 때문에 표시 정보에 대하여 하측으로 이동할 것이다. 디스플레이(154)는 핸드헬드 장치를 좌측 운동(153)에 따라 이동시킨 후에 가능한 또 다른 디스플레이를 나타내며, 커서(148)는 현재 부분 K, L, O, P 사이에 위치한다. 명백한 바와 같이, 커서는 표시 정보에 대하여 우측으로 이동할 것이다. 이와 같이, 이러한 형태의 커서 네비게이션에 있어서는, 핸드헬드 장치의 운동에 따라 정보 상에서의 커서의 위치가 바뀐다. 이와 같이, 예컨대 표시 정보의 어떤 일정한 부분을 지시하는 데 스타 일러스를 이용하는 대신에 핸드헬드 장치를 이동시킬 수 있다.
커서 네비게이션 처리의 임의의 시점에서, 사용자는 커서가 현재 지시하는 정보에 따른 기능을 선택하거나 실행하는 데 어떠한 형태의 입력(예컨대, 제스처, 키 누름 등)도 이용할 수 있다. 예컨대, 디스플레이(152)에 대하여, 사용자는 특정 제스처를 이용하거나 버튼을 눌러, 커서(148)가 현재 지시하는 부분 I, J, M, N 사이의 정보에 기초한 어떤 다른 기능을 줌 확대하거나, 선택하거나, 실행할 수 있다.
도 12A에 관하여 전술한 바와 같이, 특정 실시예들에서는 표시 정보 내에서 커서를 이동시킴에 있어서 핸드헬드 장치의 운동과 반대되는 운동으로 커서를 평행 이동시킬 수 있다. 일 구현예로서, 핸드헬드 장치의 입력 운동을 핸드헬드 장치의 디스플레이에 평행한 2개의 축(예컨대, x축 및 y축)을 포함한 3개의 축 각각을 따른 운동으로 나눌 수 있다. x축과 y축의 면에서의 장치의 운동이 그러한 운동에 기초하여 장치에 표시되는 정보를 변경하는 동안에, 실질적으로 공간 내 커서의 위치를 유지하도록 x축 방향과 y축 방향의 운동의 합과 반대되는 평행 이동 벡터에 따라 동시에 커서가 이동할 수 있다. 어떤 경우에는, 커서가 평행 이동 벡터에 따라 디스플레이의 에지를 지나 그 밖으로 사라져 버릴 수 있는데, 그 경우에는 디스플레이 내에 커서를 유지하기 위해서 벡터를 축소할 수 있다. 이러한 축소 방법으로는 디스플레이의 에지로부터 일정 간격 내에 커서를 유지하도록 평행 이동 벡터의 하나 이상의 성분을 축소하는 것 등이 있다.
주의할 점은 표시 정보를 부분 A-P로 분할한 것은 단지 전술한 실시예들을 예시적으로 설명하기 위한 것이며, 특정 실시예들의 핸드헬드 장치에 표시되는 정보는 그러한 분할이나 다른 종류의 참조 정보를 포함하지 않을 수도 있다는 점이다.
도 12B는 특정 실시예에 따라, 운동 입력을 이용한 커서 네비게이션의 다른 형태를 도시한다. 본 실시예에 있어서, 운동 입력을 이용하여 장치 디스플레이보다 큰 버추얼 데스크톱 내를 네비게이트하는 동안에 커서는 디스플레이에 대하여 고정된 위치에 남아 있는다. 도 12B는 거리 지도와 같이, 사용자가 핸드헬드 장치에서 운동 입력을 이용하여 네비게이트할 수 있는 정보를 포함하는 버추얼 데스크톱(158)을 포함한다. 버추얼 데스크톱(158)은 한번에 특정 핸드헬드 장치에 표시될 수 있는 많은 정보를 포함한다. 이 커서 네비게이션 예를 설명하기 위해서, 버추얼 데스크톱(158)을 그리드로 분할하여, 데스크톱에 표시되는 정보를 구별하였다. 이 그리드는 6행(A-F) 7열(1-7)을 포함한다. 이 예에서는 그리드의 부분들을 해당 행 분자와 열 번호를 이용하여 식별할 수 있다(예컨대, 부분 B7 또는 D2). 주의할 점은 버추얼 데스크톱(158)을 행열 번호를 부여한 부분들로 분할한 것은 전술한 실시예들을 예시적으로 설명하기 위한 것이며, 특정 실시예들의 버추얼 데스크톱은 그러한 분할이나 다른 종류의 참조 정보를 포함하지 않을 수도 있다는 점이다.
박스(160)는 현재 핸드헬드 장치에 표시된 버추얼 데스크톱(158)의 정보를 나타낸다. 디스플레이(161)는 박스(160)의 정보를 보여주는 핸드헬드 장치의 디스플레이를 나타낸다. 디스플레이(161)는 또한 부분 B2, B3, C2, C3의 교차점에 위 치한 커서(159)를 포함한다. 전술한 바와 같이, 사용자가 운동 입력을 이용하여 버추얼 데스크톱 내를 이동할 때(즉, 핸드헬드 장치에 표시된 정보를 변경하기 위해서), 커서는 디스플레이에 대하여 고정된 위치에 남아 있는다. 그러나, 핸드헬드 장치에 표시된 버추얼 데스크톱의 정보에 대하여 커서의 위치는 바뀐다. 예컨대, 사용자는 운동 입력을 이용하여 장치에 표시된 정보를 박스(162)에 표시된 정보로 변경할 수 있다. 디스플레이(163)에 도시된 바와 같이, 장치에 표시된 정보는 (부분 B5, B6, C5, C6으로) 바뀌고, 커서(159)는 그 위치가 버추얼 데스크톱(158)의 정보에 대하여 바뀌도록 장치 디스플레이에 그대로 고정되어 있을 것이다(예컨대, 이 경우 디스플레이의 중앙). 사용자가 운동 입력을 이용하여 장치에 표시된 정보를 박스(164)에 표시된 정보로 변경하고자 한다면, 디스플레이(165)에 도시된 바와 같이, 장치에 표시된 정보가 부분 E3, E4, F3, F4로 변경된다. 커서(159)는 본 실시예에서는 그 위치가 디스플레이에 대하여 고정되어 남기 때문에 상기 도시한 부분들 사이에 디스플레이의 중앙에 위치한다.
이와 같이, 도 12B에 관하여 설명한 커서 네비게이션의 형태에 따르면, 커서는 장치 디스플레이에 대하여 고정된 위치에 남게 되지만, 버추얼 데스크톱의 정보에 대해서는 그 위치가 바뀐다. 도 12A에 관하여 예시적으로 설명한 실시예에 대하여 전술한 바와 같이, 커서 네비게이션 처리의 임의의 시점에서, 사용자는 커서가 현재 지시하는 정보에 따른 기능을 선택하거나 실행하는 데 어떠한 형태의 입력(예컨대, 제스처, 키 누름 등)도 이용할 수 있다. 예컨대, 디스플레이(163)에 대하여, 사용자는 특정 제스처를 이용하거나 버튼을 눌러, 커서(159)가 현재 지시 하는 부분 B5, B6, C5, C6 사이의 정보에 기초한 어떤 다른 기능을 줌 확대하거나, 선택하거나, 실행할 수 있다.
주의할 점은 제스처나 키 누름과 같은 어떤 특정한 입력을 이용하여 장치에서 커서 네비게이션 모드를 전환할 수 있다는 점이다. 예컨대, 사용자는 도 12A의 평행 이동 제어형 커서 모드와 도 12B의 고정형 커서 모드 간의 전환을 행할 수 있다.
전술한 바와 같이, 특정 실시예들에서는, 사용자가 핸드헬드 장치(10)를 제스처에 따라 이동시켜 특정 기능 또는 동작을 실행할 수 있다. 그러나, 어떤 경우에는, 사용자가 핸드헬드 장치를 의도한 특정 제스처에 따라 이동시킬 수 없어, 그 결과로, 핸드헬드 장치가 그 이동을 의도한 특정 제스처로 인식할 수 없는 경우도 있다. 사용자에 의한 장치의 특정 운동이 특정 제스처로 인식되었음을 나타내기 위해서, 일부 실시예들에 있어서는, 핸드헬드 장치가 그 운동이 실제로 제스처로 인식되었음을 사용자에게 알리는 피드백을 제공한다.
이러한 피드백으로는, 음성(speech), 삑 소리(beep), 톤(tone), 음악(music) 등의 오디오 형식이나, 장치 디스플레이 상의 표시와 같은 비주얼 형식, 진동 형태, 또는 어떤 다른 적합한 피드백 형태를 포함할 수 있다. 오디오 피드백은 장치(10)의 사용자 인터페이스 스피커 또는 헤드폰 잭을 통해 제공될 수 있고, 진동 피드백은 장치(10)의 사용자 인터페이스 진동 발생 모듈을 통해 제공될 수 있다. 오디오, 비주얼 및 진동 피드백은 복수의 피드백 표시자를 위한 능력을 제공하도록 변화될 수 있다. 일례로, 진동 피드백은 시간에 따라 지속 기간, 주파수 및 진폭 이 따로따로 또는 상이한 조합으로 변할 수 있다. 피드백의 풍부함과 복잡도는 진동 피드백을 오디오 피드백과 조합하여 이용하는 등 상이한 종류의 피드백을 서로 조합하여 이용함으로써 확대할 수 있다. 어떤 경우에, 피드백은 하나 이상의 인식된 제스처가 각자의 피드백을 갖도록 제스처마다 특유할 수 있다. 예컨대, 어떤 일정한 제스처를 인식하면 핸드헬드 장치는 특정 톤 또는 특정 횟수로 삑 소리를 낼 수 있고, 하나 이상의 다른 제스처를 인식하면 삑 소리 톤 또는 횟수를 변경할 수 있다. 오디오 피드백의 이용은 셀룰러 폰에 어떤 일정한 번호를 소리내어 부르는 등, 즉시 가시 화면상 표시 또는 기능을 갖지 않는 제스처에 있어 특히 유용하다. 일부 실시예들에 있어서 상이한 종류의 피드백은 또한 콘텍스트(context) 또는 어플리케이션마다 특유할 수 있다. 상이한 콘텍스트는 어떤 어플리케이션이 이용 중인지, 배터리 레벨 및 가용 메모리와 같은 장치의 상태와, 무음 또는 저소음 모드와 같이 사용자가 규정한 상태를 포함할 수 있다. 예컨대, 핸드헬드 장치는 오디오 피드백을 이용할 수 없는 저소음 모드에서 제스처 입력에 응답하여 진동 피드백을 이용할 수 있다. 이러한 피드백 처리는 또한 컴퓨터 또는 다른 컴포넌트의 핸드헬드 운동 입력 장치에 의해 이용될 수 있다.
전술한 제스처 인식에 관한 피드백과 마찬가지로, 특정 실시예들의 핸드헬드 장치는 그 장치가 제스처 입력 모드에 있을 때 특정 사용자 운동이 제스처로 인식되지 않은 경우에 사용자에게 피드백을 제공할 수도 있다. 예컨대, 운동이 의도된 제스처로 보이지만, 핸드헬드 장치가 이미 알고 있는 특정 제스처에 할당할 수 없다면, 실패를 나타내는 사운드를 낼 수 있다. 이것은 핸드헬드 장치가 원하는 동 작 또는 기능을 실행할 수 있도록 사용자가 다시 한번 핸드헬드 장치를 의도된 제스처에 따라 이동시켜야 함을 사용자에게 알린다. 운동이 인식되지 않았음을 사용자에게 알리는 피드백은 또한 오디오, 비주얼, 진동 또는 다른 적합한 형태를 포함할 수 있으며, 핸드헬드 장치가 특정 운동을 특정 제스처로 인식했을 때 전달하는 피드백과는 상이한 피드백일 수 있다. 사용자의 의도가 제스처를 입력한 것인지를 판정하기 위해서, 핸드헬드 장치(10)는 제스처로 의도된 운동임을 암시하는 운동의 어떤 일정한 특성을 주시할 수 있다. 그러한 특성은 예컨대 운동의 진폭, 임계값 초과 운동의 시간 경과, 가속도의 횟수 및 간격 등을 포함할 수 있다. 핸드헬드 장치가 특정 제스처를 인식하지 못하면, 제스처 피드백 시스템을 이용하여 의도된 제스처를 판정할 수 있다. 예컨대, 오디오 피드백은 핸드헬드 장치에 의해 판정될 확률을 나타낼 수 있으며, 사용자는 제스처를 이용하여 오디오 메뉴를 네비게이트하여 의도된 제스처를 선택할 수 있다.
특정 실시예들에 있어서는, 오디오 또는 진동 피드백 시스템은 이용함으로써, 사용자가 디스플레이(12)를 의지할 필요없이 핸드헬드 장치(10)를 조작할 수 있게 된다. 예컨대, 일부 실시예들의 핸드헬드 장치는 버추얼 데스크톱의 메뉴 또는 다른 정보를 네비게이트하고 있는 사용자에게 오디오, 비주얼 또는 진동 피드백을 제공할 수 있다. 사실상, 사용자의 운동 입력과 결합되는 이러한 장치 피드백은 사용자와 장치 간의 "대화"의 한 형태로서 기능할 수 있다. 전술한 바와 같이, 복수 종류의 복잡한 피드백을 이용할 수도 있다. 이러한 피드백 처리는 장치의 디스플레이를 보기가 불편하거나, 불안하거나, 비현실적인 환경에서(예컨대, 운전 중 이나 어두운 환경에 있을 때) 특히 이로울 수 있다.
주의할 점은 일부 실시예들에 있어서는 오디오나, 비주얼, 진동 피드백과 같은 피드백을 평행 이동 운동 입력과 함께 이용 가능하다는 점이다. 예컨대, 사용자가 평행 이동 입력을 이용하여 버추얼 데스크톱의 한계 또는 에지에 도달할 때 피드백 표시를 제공할 수 있다.
도 13은 특정 실시예에 따라, 운동 입력에 응답하여 피드백을 이용하는 처리를 도시하는 흐름도(170)이다. 이 처리의 단계 172에서는, 핸드헬드 장치(10)에서 미가공 운동 데이터를 수신한다. 전술한 바와 같이, 미가공 운동 데이터는 가속도계, 자이로스코프, 카메라, 거리 측정기 또는 어떤 다른 적합한 운동 검출 컴포넌트의 임의 조합에 의해 수신될 수 있다. 단계 174에서는, 미가공 운동 데이터를 처리하여 핸드헬드 장치의 운동을 나타내는 운동 검출기 출력을 생성한다. 이러한 처리는 각종 필터링 기술과, 복수의 검출 컴포넌트로부터의 데이터의 융합을 포함할 수 있다.
단계 176에서는, 핸드헬드 장치의 상태를 체크할 수 있는데, 그 이유는 일부 실시예들에서 특정 운동에 대한 피드백은 그 운동이 수신될 때의 핸드헬드 장치의 상태에 좌우되기 때문이다. 전술한 바와 같이, 예시적인 장치의 상태는 이용 중인 어플리케이션, 배터리 레벨, 가용 메모리, 저소음 모드와 같은 특정 모드를 포함할 수 있다. 단계 178에서는, 장치의 상태에 대하여 운동 검출기 출력을 분석한다. 단계 180에서는, 운동 검출기 출력이 나타내는 운동이 주어진 특정한 장치 상태에서 의미있는 것 또는 인식 가능한 것인지를 판정한다. 예컨대, 특정 제스처가 어 느 한 어플리케이션(예컨대, 캘린더 어플리케이션)에서는 어떤 일정한 기능을 실행할 수 있으나, 다른 어플리케이션에서는 어떠한 기능도 실행할 수 없는 것으로 한다. 주어진 핸드헬드 장치의 상태에서 그 제스처가 인식 가능하다거나 의미있는 것이라면, 단계 182에서는, 피드백을 제공한다. 전술한 바와 같이, 특정 실시예들에 있어서 피드백은 오디오, 비주얼 또는 진동 형태의 것일 수 있다. 어떤 경우에, 피드백은 단지 핸드헬드 장치가 주어진 장치의 상태에서 제스처를 인식했다는 표시일 수 있다. 다른 경우에, 예컨대 사용자가 하나 이상의 기능을 실행하기 위한 일련의 입력을 공급받는 핸드헬드 장치의 특정 어플리케이션을 이용한다면, 피드백은 추가의 입력을 위한 추가의 질의일 수 있다. 단계 184에서는, 핸드헬드 장치가 운동 입력 및 장치의 상태에 따라 행동하며, 처리는 단계 172로 되돌아 가서, 여기서 추가의 미가공 운동 데이터를 수신한다.
단계 180에서 운동 검출기 출력이 나타내는 운동이 주어진 특정한 장치 상태에서 의미있는 것이 아니거나 인식 가능한 것이 아니라고 판정한 경우에는, 처리는 단계 186으로 진행한다. 단계 186에서는, 운동이 특정 임계값을 초과하는지를 판정한다. 이 판정은 특정 운동 입력이 예컨대 제스처로 의도된 것인지를 판정하는 것일 수 있다. 전술한 바와 같이, 이러한 판정을 위한 임계값 특성은 운동 입력의 진폭, 운동 입력의 시간 경과, 운동의 가속도의 횟수 및 간격 등을 포함할 수 있다. 운동 입력이 특정 임계값을 초과하지 않는 것으로 판정하면, 처리는 단계 172로 되돌아 가서, 여기서 추가의 미가공 운동 데이터를 수신한다. 그러나, 운동 입력이 임계값을 초과하여, 제스처로 의도했으나 주어진 장치의 상태에서 인식되지 않거나 의미있는 것이 아닌 경우에는, 단계 188에서는, 피드백을 제공한다. 피드백은 오디오, 비주얼 및/또는 진동 피드백일 수 있으며, 제스처가 인식될 수 없거나 의미있는 것이 아님을 나타낼 수 있다. 특정 실시예에 있어서, 피드백은 또한 의도된 제스처에 관한 질의를 제공하거나, 사용자가 운동에 의해 의도된 특정 제스처를 선택할 수 있도록 복수의 잠재적인 의도된 제스처를 사용자에게 제공할 수 있다. 주의할 점은 특정 실시예들에서는 설명한 일부 단계들을 포함하지 않을 수도 있으며(예컨대, 일부 실시예들에서는 단계 186의 임계값 판정을 포함하지 않을 수도 있다), 다른 실시예들에서는 추가의 단계들 또는 동일한 단계들을 상이한 순서로 포함할 수도 있다는 점이다. 전술한 바와 같이, 특정 실시예들에서는 복수의 어플리케이션 및 방법 중 어느 하나에서 운동 입력 피드백(예컨대, "대화" 피드백을 포함)을 이용할 수 있으며, 피드백 시스템의 종류 및 복잡성은 실시예에 따라 크게 달라질 수 있다.
전술한 바와 같이, 특정 실시예들에 따른 핸드헬드 장치는 제스처 운동 입력을 수신하여 그 장치에서 실행하는 임의의 수의 어플리케이션의 임의의 수의 기능을 제어할 수 있다. 제스처를 이용하는 일부 어플리케이션들은 핸드헬드 장치(10)와 같은 모바일 장치를 이용하여 상업적 또는 소비자 구매와 같은 각종 거래를 처리하는 모바일 커머스(mCommerce) 어플리케이션을 포함할 수 있다. 대부분의 모바일 커머스 어플리케이션은 개인 식별 번호(PIN), 크레딧 카드 정보 및/또는 모바일 장치의 소유 등과 같이, 사용자 인증을 위한 몇몇 형태의 인증을 이용한다. 그러나, 대부분의 형태의 인증은 "누출" 가능성이 있다. 이것들은 고의든 고의가 아니 든 공유될 수 있다. 다른 형태의 인증으로는 사용자의 기입 서명이 있는데, 이것은 통상적으로 위조가 어렵기 때문에 그러한 누출 문제가 없고 검지하기가 용이하다. 특정 실시예들에서는 모바일 커머스 또는 핸드헬드 장치를 통한 다른 거래에서 운동 입력을 이용하여 인증의 한 형태로서 사용자의 서명을 받을 수 있다.
기입 서명은 이차원 기록 제스처로 간주할 수 있다. 핸드헬드 장치를 운동 입력으로 이용하는 경우에, 사용자의 서명은 삼차원일 수 있으며, 따라서 "공간적 서명"을 포함할 수 있다. 또한, 사용자의 서명은, 핸드헬드 장치에서 수신한 다른 형태의 입력과 결합될 때, 임의의 수의 차원(예컨대, 사차원, 오차원, 또는 그 이상의 차원)을 취할 수 있다. 예컨대, 핸드헬드 장치를 이용하여 공간에 "기입"되고 운동 검출기(22)에서 검출된 삼차원 제스처는 키 누름 또는 다른 입력과 결합하여 서명의 차원수를 증가시킬 수 있다.
이들 공간적 서명은 핸드헬드 장치의 운동 검출기(22)에 의해 추적, 기록 및 분석될 수 있다. 이들 공간적 서명의 기록은 유효한 형태의 인증 역할을 하도록 운동 검출기 컴포넌트의 수를 변화시켜 정확도를 변화시킬 수 있다. 사용자의 공간적 서명은 사용자의 통상적인 이차원 기입 서명에 기초한 삼차원 형태를 포함하거나, 사용자가 자신의 서명으로서 핸드헬드 장치에 기록한 어떤 다른 적합한 제스처를 포함할 수 있다.
일부 실시예들에 있어서, 공간적 서명을 인식하는 처리는 패턴 인식과 학습 알고리즘을 필요로 할 수 있다. 이 처리는 서명과 관련된 키 가속도의 상대적 타이밍을 분석할 수 있다. 이들은 운동의 시작과 끝, 운동의 곡선, 다른 운동 특성 등에 대응할 수 있다. 어떤 경우에, 서명 운동의 포인트 데이터 집합의 어떤 해시를 저장하고, 후속 서명을 그 해시와 비교하여 인식할 수 있다. 추가로 이것은 서명이 고유한지를 판정하여 그 진위 여부를 확인할 수 있다. 예컨대, 특정 실시예들에 있어서, (예컨대, 핸드헬드 장치(10)의 서명 검출 모듈에 의해서) 초기 또는 기준 위치에 대하여 핸드헬드 장치의 특정 운동을 비교함으로써 서명을 검출할 수 있다. 그러한 비교는 그 운동의 일련의 가속도를 저장된 공간적 서명의 소정의 일련의 가속도와 비교함으로써 이루어질 수 있다. 이러한 판정은 사용자의 입력 운동 서명의 스케일에 상관없이 이루어질 수 있다.
일부 실시예들에 있어서, 핸드헬드 장치는 초기 위치에 대하여 운동한 장치의 위치가 공간적 서명과 일치하는지를 판정함으로써 장치의 운동이 서명과 일치하는지를 검출할 수 있다.
도 14는 모바일 커머스(mCommerce) 거래에 대한 인증으로서 공간적 서명을 활용하는 예시적 시스템(200)을 도시한다. 시스템(200)은 핸드헬드 장치(10), 모바일 커머스 어플리케이션(202), 인증기(204) 및 통신 네트워크(206)를 포함한다. 모바일 커머스 어플리케이션(202)은 사용자의 핸드헬드 장치와 비지니스 거래하기 위한 임의의 적절한 어플리케이션을 포함할 수 있다. 이러한 거래들은 업체 또는 웹사이트로부터의 다른 사용자의 제품들 또는 서비스들, 온라인 비용 지불, 계좌 관리 또는 임의의 다른 상거래와 같은 소비자 구매를 포함할 수 있다. 인증기(204)는 핸드헬드 장치(10)에서 사용자에 의해 입력된 공간적 서명을 인증하거나 또는 검증하여 모바일 커머스 거래를 완료한다. 인증기(204)는 모바일 커머스 거 래에서의 인증을 위해 하나 이상의 사용자들의 하나 이상의 공간적 서명들을 저장할 수 있다. 일부 실시예들에서, 인증기는 핸드헬드 장치(10) 내에, 모바일 커머스 어플리케이션(202) 내에, 또는 임의의 다른 적절한 위치에 배치될 수 있다. 통신 네트워크는 시스템(200)의 컴포넌트들 사이에서 정보 또는 데이터를 송신할 수 있으며, 하나 이상의 광역 네트워크(WAN), 공중 전화망(PSTN), 근거리 통신망(LAN), 인터넷 및/또는 인트라넷, 익스트라넷 또는 그외의 형태의 유선 또는 무선 통신 네트워크들과 같은 글로벌 분산 네트워크를 포함할 수 있다. 통신 네트워크(206)는 라우터, 허브, 스위치, 게이트웨이 또는 그외에 시스템(200) 내에서 정보 또는 데이터의 교환을 가능하게 하는 임의의 수의 통신 프로토콜을 구현하는 하드웨어, 소프트웨어 또는 임베디드 로직(embedded logic)의 임의의 적절한 조합을 포함할 수 있다.
동작 시에, 사용자가 핸드헬드 장치(10)를 사용하여 모바일 커머스 어플리케이션(202)과 거래를 수행하는 경우에, 그 사용자는 운동 입력을 이용하여, 예를 들어 장치를 사용자의 3차원 서명에 따라 움직이는 것에 의해 인증 서명을 전달할 수 있다. 예로서, 사용자는 크레딧 카드 대신에 구매하려는 시점에(예를 들어, 가게에서) 그들의 핸드폰을 사용할 수 있다. 이후에 적재하고 처리해야 할 필요가 있는 종이문서에 서명하는 대신에, 사용자는 사용자의 공간적 서명에 따라 장치(10)를 단순하게 이동시키게 된다. 전술한 바와 같이, 일부 실시예들에서 사용자의 서명은 3차원 이상을 포함할 수 있다. 서명은 핸드헬드 장치(10) 또는 다른 이동 장치를 사용하는 사용자에 의해 미리 기억될 수 있으며, 기록된 서명은 핸드헬드 장 치(10), 모바일 커머스 어플리케이션(202), 인증기(204) 또는 다수의 모바일 커머스 사용자들의 서명용의 서명 저장 데이터베이스 등의 그외의 적절한 위치에 저장될 수 있다.
핸드헬드 장치(10)의 운동은 해당 장치에서 처리될 수 있으며, 운동을 나타내는 운동 출력은 모바일 커머스 어플리케이션(202)으로 전송될 수 있다. 모바일 커머스 어플리케이션(202)은 장치(10)에서 수신된 운동 입력이 실제로 모바일 커머스를 처리하고자 하는 사용자의 서명이 맞는지에 대한 검증을 위해 운동 출력을 인증기(204)로 전달할 수 있다. 인증기(204)가 사용자의 서명을 검증하면, 모바일 커머스 어플리케이션은 사용자와의 거래를 완료할 수 있다. 전술한 바와 같이, 인증기(204)는 핸드헬드 장치(10) 내에 또는 특정 실시예들에서는 모바일 커머스 어플리케이션(202)에 위치할 수 있으며, 장치(10), 모바일 커머스 어플리케이션(202) 또는 그외의 임의의 적절한 위치에 저장된 검증용의 서명들을 액세스할 수 있다.
또한 예를 들어 장치를 사용하여 비밀의 또는 보안의 데이터를 전송하는 것과 같은 기능들을 수행하기 위해 전자 보안을 요구하는 경우에, 비-모바일 커머스 어플리케이션에서 핸드헬드 장치들에 의해 인증을 사용할 수 있다. 핸드헬드 장치(10)를 사용하여 데이터 또는 그외의 정보를 송신하기를 원하는 사용자는 암호화 처리로 그들의 공간적 서명을 사용할 수 있다. 공간적 서명들을 임의의 다양한 방법으로 이용하여 네트워크를 통해 통신용의 데이터를 보안할 수 있으며, 공중/비밀 키 암호화 시스템들과의 접속에 활용될 수도 있다. 예를 들면, 일부 실시예들에서는, 핸드헬드 장치(10)가 운동 입력을 통해 수신된 사용자의 서명을 인증하고, 그 다음에 그 소유의 비밀 키를 사용하여 전송용의 데이터를 암호화할 수 있다. 다른 경우들에, 데이터를 핸드헬드 장치(10)로 전달하여 의도된 수령인이 그들의 공간적 서명을 입력하여 암호해독된 데이터를 수신해야만 하도록 할 수 있다. 일부 실시예들에서는, 핸드헬드 장치(10)에 무선으로 접속된 컴퓨터에 데이터를 전달할 수 있으며, 의도된 수령인이 데이터의 암호해독을 위해 사용자의 서명을 컴퓨터로 전달하는 방식으로서 핸드헬드 장치(10)를 사용해야 한다. 또한, 특정 실시예들에 있어서는, 사용자의 공간적 서명 그 자체가 암호 키를 나타내어 장치의 운동이 인증에 단순히 사용되어지는 서명 운동 대신에 암호 키를 생성하도록 한다. 일부 경우에, 장치는 서명을 비밀키의 등가물로 변환함으로써 가속도들의 조합을 서명으로서 인식할 수 있다. 그 다음에 핸드헬드 장치는 거래를 위한 인증 처리의 일부로서 비밀 키를 사용할 수 있다.
특정한 실시예에 있어서, 공간적 서명을 사용하여 빌딩 또는 이벤트에 대하 물리적 접속을 관리할 수 있다. 예를 들면, 장치에서 사용자에 의해 입력된 서명을 이벤트에 대한 "윌 콜(will call)"에서 ID를 체크할 때 입력하는 것이 허용된 사람들의 리스트에 대해 체크할 수 있다.
특정한 실시예에 있어서, 사용자는 핸드헬드 장치(10)에 대한 운동 입력을 활용하여, 오디오/비디오 장비와 같은 그외의 장치들, 가정용 전자기기 및 장치들, 컴퓨팅 장치들 또는 핸드헬드 장치에 의해 제어될 수 있는 임의의 그외의 장치들을 제어할 수 있다. 셀룰러, 블루투스 및 802.11 프로토콜들을 포함하는 다수의 무선 또는 유선 프로토콜들 중 임의의 프로토콜을 이용하여 장치(10)의 통신 인터페이스 를 통해 핸드헬드 장치(10)에 의해 장치들을 제어할 수 있다. 일부 실시예들에 있어서, 장치(10)는 운동 입력을 수신하여, 무선 또는 유선 통신을 통해 네트워크에 의해 그외의 장치들을 제어할 수 있다. 따라서, 장치(10)의 운동 입력을 통해 제어된 장치들은 장치(10)에 대해서 동일한 방에 있거나 또는 나라를 가로지르는 것과 같은 임의의 위치에 있을 수 있다. 아울러, 임의의 수의 중간 장치들을 통해(예를 들어, 네트워크를 통해) 다른 장치에 대한 제어를 구현할 수 있다.
예로서, 핸드헬드 장치(10)가 블루투스 인에이블(Bluetooth-enabled) 셀룰러 폰이라면, 셀룰러 폰의 특정 제스처 또는 다른 움직임이 명령들을 무선으로 전달하여 파워포인트(PowerPoint) 발표를 구현하기 위해 방을 가로질러 사용하는 랩탑과 같은 다른 장치를 제어할 수 있다. 핸드헬드 장치(10)의 운동 입력을 통해 제어될 수 있는 그외의 장치들은, 텔레비젼, 라디오, 스테레오 장비, 위성 수신기, 케이블 박스, DVD 플레이어, 디지탈 비디오 레코더, 조명, 에어콘, 난방기, 자동온도 조절장치(thermostat), 보안 시스템, 주방 가전(예를 들어, 오븐, 냉장고, 냉동기, 전자렌지, 커피 메이커, 제빵기, 토스터), PDA, 데스크탑 및 랩탑 PC, 컴퓨터 주변 기기, 프로젝터, 무선 제어 자동차, 보트 및 비행기 및 그외의 임의의 장치를 포함할 수 있다. 다른 예로서, 통근자가 그들의 셀룰러 폰을 일정한 방식으로 진동시켜 그들의 가정에 있는 난방기를 통근자가 집에 도착하기 전에 턴온시키도록 명령할 수 있다. 일부 실시예들에서는, 핸드헬드 장치가 미가공 운동 데이터를 수신하고 처리하여 다른 장치들로의 통신을 위한 명령들 또는 의도된 기능들을 결정할 수 있다. 그외의 실시예들에 있어서, 핸드헬드 장치의 운동 검출기는 그것의 운동 검 출 컴포넌트로부터 수신한 미가공 데이터를 장치(10)의 운동을 통해 장치(10)에 의해 제어된 하나 이상의 장치들로 출력할 수 있다. 그 결과, 장치(10)에 의해 제어되는 상이한 장치들이, 장치(10)의 미가공 동일한 운동 데이터를 서로 다르게 취급할 수 있다. 예를 들면, 장치(10)의 특별한 제스처는 장치(10)에 의해 제어된 서로 다른 장치들의 서로 다른 기능들을 수행할 수 있다.
도 15는 핸드헬드 장치(10)가 장치(10)의 운동 입력을 통해 다수의 다른 장치들을 제어하는 예시적인 시스템(220)을 도시한다. 시스템(220)은 핸드헬드 장치(10), 랩탑(222) 및 무선 또는 유선 링크들을 통해 통신 네트워크(226)에 의해 핸드헬드 장치(10)에 접속된 원격 장치(224)를 포함한다. 핸드헬드 장치(10)는 가속도계, 카메라, 거리 측정기 및/또는 자이로스코프와 같은 운동 검출 컴포넌트들을 통해 장치의 특정 운동의 미가공 운동 데이터를 수신한다. 미가공 운동 데이터는 핸드헬드 장치에서 처리된다. 제스처 및 제스처 매핑 데이터베이스와 같은 특정의 데이터베이스들을 액세스하여 장치의 제어 모듈에 의해 추적된 움직임에 기초하여 부합되는 제스처 및 의도된 기능을 결정한다. 의도된 기능은 랩탑(222) 또는 원격 장치(224)와 같은 핸드헬드 장치(10)에 의해 제어되어질 다른 장치를 위한 것일 수도 있다. 따라서, 운동 입력은 장치(10)로부터 제어 장치로 전달되는 기본적인 동작 신호용의 인터페이스이다. 다른 실시예들에 있어서, 장치(10)의 특정 운동 입력을 단순히 나타내는 미가공 운동 데이터 또는 그외의 데이터를 장치(10)에서의 기능을 결정하지 않고 랩탑(222) 및/또는 원격 장치(224)로 직접 전송할 수 있다. 이들 실시예들에 있어서, 랩탑(222) 및/또는 원격 장치(224)는 그들 자신이 핸드헬드 장치(10)로부터 수신된 미가공 운동 데이터를 처리하여 이 미가공 운동 데이터에 기초하여 수행되어야만 하는 하나 이상의 의도된 기능들 또는 동작들을 결정한다. 어떤 실시예들에서는, 장치(10)의 사용자가 운동을 통해 장치(10)를 나타내거나 또는 다른 경우에는 적용가능하다면, 핸드헬드 장치(10)가 그외의 장치들의 미가공 운동 데이터 또는 의도된 기능들을 전달해야만 하는 그외의 장치들을 나타낼 수 있다. 핸드헬드 장치(10)에 의해 제어된 2개의 장치들이 예시되어 있지만, 특정 실시예들은 전술한 운동 입력을 통해 핸드헬드 장치(10)에 의해 제어되어질 임의의 수의 가변 타입들의 장치들을 포함할 수 있음을 이해해야 한다.
전술한 바와 같이, 특정 실시예들은 핸드헬드 장치(10)의 운동 입력을 통해 다른 로컬 또는 원격 장치들과 같은 그외의 장치들을 제어하는 기능을 포함한다. 일부 실시예들에 있어서, 핸드헬드 장치(10)의 사용자는 장치(10)의 특정 운동 입력을 제어하는 것을 의도하는 다른 장치를 선택한다. 예를 들면, 사용자는 핸드헬드 장치(10)의 입력(14)을 사용하여(예를 들어, 버튼을 움직이거나 트랙휠(trackwheel)을 움직이는 것에 의해) 다른 장치에 대해 원하는 기능 또는 동작으로 매핑된 특정 운동에 따라 이동 장치(10)를 제어하기 위한 로컬 또는 원격 장치를 선택한다. 그러나, 특정 실시예들에 있어서, 사용자는 장치(10)의 운동 입력 시에 제어되어질 다른 장치(예를 들어, 다른 로컬 또는 원격 장치)를 선택하기 위하여 특정 제스처에 따라 핸드헬드 장치(10)를 이동시킬 수 있다. 따라서, 특정 실시예들은 핸드헬드 장치(10)에 의해 제어되어질 그외의 장치들의 제스처 운동 선택을 제공한다.
핸드헬드 장치(10)는 사용자가 특정 장치를 제어하기를 원한다는 것을 나타내는 장치 선택 제스처를 검출하도록 동작가능한 장치 선택 모듈을 포함할 수 있다. 각각의 제어가능한 장치는 장치(10)를 사용하여 입력되어질 제스처들과, 제어가능한 장치의 명령들을 상관시키는 자기 자신의 제스처 커맨드 맵들을 포함할 수 있다. 핸드헬드 장치의 제어 모듈은 제어를 위해 선택된 제어가능 장치에 대응하는 특정 커맨드 맵을 선택할 수 있다. 일부 실시예들에 있어서, 장치(10)는 복수의 원격 장치들의 각각에 대해, 핸드헬드 장치로부터 각각의 원격 장치로의 방향을 검출하도록 동작가능한 장치 로케이터를 포함할 수 있다. 이 경우에, 사용자는 핸드헬드 장치(10)를, 사용자가 제어용의 해당 원격 장치를 선택하기 위해 제어하기를 원하는 특정 원격 장치의 방향으로 이동시킬 수 있다.
장치(10)에 대한 운동 입력이 그외의 장치들에 대한 제어에 사용될 수 있는 한편, 그외의 타입의 입력(예를 들어, 입력(14)을 이용)은 제스처 입력에 의한 제어를 위해 선택된 다른 로컬 또는 원격 장치들을 제어하는데 사용될 수도 있다. 일부 실시예들에 있어서, 상이한 제스처들을 각각 매핑하여 상이한 장치를 제어할 수 있다. 다른 실시예들에 있어서, 사용자가 장치(10)를 통해 현재 어느 다른 장치를 제어하기를 원하는지에 대한 사용자의 선택을 나타내는데 이용하기 위한 제어 및 특정 제스처(들)에 사용하기 위한 가능한 다른 장치들을 표시할 수 있다. 본 발명에 따른 핸드헬드 장치들은 핸드헬드 장치들에 의해 제어되어질 하나 이상의 로컬 또는 원격 장치들에 대한 임의의 방식의 제스처 선택을 이용할 수 있다.
위에서 논의한 바와 같이, 특정 실시예들은 운동 검출기(22)를 통해 장치의 운동을 검출하고 검출된 운동에 따라 임의의 방법으로 장치의 행동을 변경할 수 있는 핸드헬드 장치(10)를 포함한다. 일부 실시예들에 있어서, 핸드헬드 장치들(10)은 그들의 특정 환경을 모델링하고 이러한 환경에 기초하여 그들의 행동을 순차적으로 변경할 수 있다. 핸드헬드 장치의 환경을 모델링하는 것과 장치의 특정 운동을 검출하는 것 사이의 한가지 차별점은, 전자의 경우에서는 관련된 추론(reasoning)이 있고, 후자의 경우에서는 그러한 추론이 없다는 점이다. 예로서, 핸드헬드 장치가 특정 제스처에 따라 이동하는 경우에, 그의 행동을 변경하면, 특정 운동을 감지하거나 검출하고, 검출된 운동에 기초하여 반응하는 것이 고려될 수 있다. 한편, 핸드헬드 장치가 그것이 테이블 위에 뒤집어져 있고 그에 따라 반응한다고 결정하면, 그의 환경을 모델링하는 것으로 간주될 수 있다. 다른 예로서, 핸드헬드 장치가 좌측으로 이동하여 그러한 이동에 기초하여 자신의 행동을 변경하면, 그것은 운동을 검출하여 반응하는 것으로 간주될 수 있다. 핸드헬드 장치 자신이 자유낙하하게 되어 바닥과의 임박한 충돌에서 견디기 위해 전원이 꺼지면, 이것은 그의 환경을 모델링한 것으로 간주될 수 있다. 추가의 차이점은 환경 모델링은 사용자 입력에 대한 즉각적인 응답을 필요로 하지 않으나, 특정 운동과 같은 이벤트를 검출하는 것은 일반적으로 그러한 즉각적인 응답을 필요로 한다. 따라서 환경을 모델링하는 것은 운동의 패턴을 감지하거나 또는 검출하는 것을 수반할 수있으며, 그것을 소정 세트의 환경 조건들과 매칭하여 모델링된 환경에 기초하여 장치의 행동을 변경한다. 모델링된 환경에 기초하여 구현된 행동은 또한 사용중이거나 관심 대상이 되고 있는 특정 어플리케이션에 기초하여 변경할 수 있다. 일부 경우에, 장치는 모델링된 환경에 기초하여 특정 운동들에 대한 민감도를 변경할 수 있다.
일례로서, 대략 수평인 표면 상에서 휴지 상태로 있는 핸드헬드 장치는 가속도계 또는 다른 운동 검출 컴포넌트들을 통해 인식할 수 있다. 이러한 인식은 그 장치가 표면에 수직인 정적 가속도 1g를 가진 채, 이동하고 있는지 아니면 정지해 있는지의 판정에 기인할 수 있다. 그 장치는, 예컨대, 통상적으로 사용자의 손은 그 장치를 완벽하게 정지 상태로 유지할 수 없기 때문에, 사용자의 손에 휴지 상태로 있는 것과 테이블 위에 휴지 상태로 있는 것을 구별할 수 있다. 결과적으로, 장치는 대략 수평 표면 상에 휴지 상태로 있다는 인식에 따라서 임의의 방법으로 행동할 수 있다. 예를 들어, 핸드헬드 장치(10)가 테이블 상에 휴지 상태로 놓여 있었음을 인식했다면, 임의의 시간량동안 그 위치에 놓여 있다가 전원 오프될 수 있다. 또 다른 예로서, 진동 모드의 셀룰러 전화는 그 전화의 진동을 트리거할 수 있는 호출 수신시 또는 임의의 다른 이벤트시에 테이블 위에 있음을 인식한다면 보다 부드럽게 진동할 수 있다. 몇몇 실시예들에서, 장치는, 테이블 상에 놓여 있는 동안 그 방향을 인식할 수 있으므로, "페이스 다운(face down)" 위치로 놓여 있는 경우에는 한가지 방식으로 행동하는(예를 들어, 전원 오프) 한편, 넌-페이스 다운 위치로 놓여 있는 경우에는 다른 방식으로 행동할 수 있다. 핸드헬드 장치(10)가 셀룰러 전화를 포함하고 있다면, 통화 대기 상태일 경우 및 통화 대기 동안 사용자에 의해 테이블 위에 "페이스 업(face up)" 위치로 배치되어 있음을 인식하는 경우, 스피커 모드로 들어갈 수 있다. 다른 한편, 셀룰러 전화가 통화 대기 상태일 경우 및 테이블 위에 페이스 다운으로 배치된 경우에는, 무음(mute) 모드로 들어갈 수 있다.
또 다른 예로서, 핸드헬드 장치(10)는 자유 낙하 상태인 대략 0g의 짧은 기간을 인식하여, 지면 또는 다른 표면과의 충돌 임박으로 인한 손상을 줄이도록 행동할 수 있다. 그러한 행동은 예를 들어, 칩들 및/또는 하드 드라이브를 전원을 차단하는 것, 렌즈를 집어 넣는 것, 덮개를 덮는 것 또는 임의의 다른 장치 행동을 포함할 수 있다. 특정 실시예들에서, 넌-핸드헬드 장치들 또는 입력을 위한 운동을 검출하지 않는 장치들은 그 환경을 모델링하고 그 모델링된 환경에 기초하여 행동할 수 있다. 추가적인 예로서, 가속도 패턴이 검출되어, 핸드헬드 장치(10)가 이동 환경에 있음(예컨대, 차량 또는 기차 내의 사용자가 가지고 있음)을 인식할 수 있고, 각종 감도, 임계값 및/또는 다른 특성들을 조정할 수 있어서 그 환경 내의 장치 성능을 보다 양호하게 할 수 있다.
다른 실시예들에서, 핸드헬드 장치(10)는 디지털 카메라를 포함할 수 있다. 운동 검출 컴포넌트들을 통해, 사용자가 사진을 찍을때 카메라가 삼각대에 장착되어 있는지 사용자가 카메라를 들고 있는지를 카메라가 판정할 수 있다. 카메라는 그 판정에 기초하여 사진의 셔터 스피드를 설정할 수 있다(예컨대, 삼각대에 장착되어 있으면 느린 셔터 스피드 또는 사용자가 들고 있으면 빠른 셔터 스피드).
핸드헬드 장치(10)가 PC와 같은 다른 디바이스와 싱크하기 위한 크래들을 이용하는 장치를 포함하고 있다면, 장치(10)는 정지성(또는 지지되어 있는 상태) 및 그 특정 방향에 기초하여 크래들에 있음을 인식할 수 있다. 이어서 그 장치는 크 래들에 있는(예컨대, 연관된 PC와 싱크할 수 있는) 상태에 따라서 동작 또는 기능을 할 수 있다.
도 16은 특정 실시예에 따른 환경 모델링 처리를 도시한 흐름도(230)이다. 단계 232에서는, 핸드헬드 장치(10)에서 미가공 운동 데이터를 수신한다. 전술한 바와 같이, 미가공 운동 데이터는 가속도계, 자이로스코프, 카메라, 거리 측정기 또는 어떤 다른 적절한 운동 검출 컴포넌트들의 임의의 조합에 의해 수신될 수 있다. 단계 234에서는, 미가공 운동 데이터를 처리하여 운동 검출기 출력을 생성하고, 단계 236에서는, 그 운동 검출기 출력으로부터 장치의 운동 및 방위를 판정한다. 박스(237)는 z축 주위를 회전(박스 237a), x축을 따른 평행 이동(박스 237b), 특정 각도 α, θ, ω로 배향(박스 237c), 정지(박스 237n) 등의 장치의 예시적인 운동 및 방위를 나타내고 있다. 단지 장치의 예시적인 운동 및 방위이며, 단계 236에서 판정되는 것으로는 임의의 수의 운동들을 이용할 수 있다. 일부 실시예에서, 그 판정된 방위들은 중력에 대한 장치의 방위를 포함할 수 있다.
단계 238에서, 핸드헬드 장치(10)는 단계 236에서 판정된 운동 및 방위에 기초하여 그 환경을 판정한다. 박스(239)는 테이블 상에 엎어 놓음(박스 239a), 낙하(박스 239b), 기차 내(박스 239c), 손에 유지(박스 239n)와 같은 장치의 예시적 환경을 나타낸다. 임의의 수의 환경들이 단계 236에서 판정된 운동 및 방위에 기초하여 판정될 수 있다. 특정 실시예들에서, 환경 판정은 또한 운동/방위 이력과 같은 장치의 이력에 기초할 수 있다. 예를 들어, 셀룰러 전화의 스피커 모드 기능을 구현하는 경우, 장치는 짧은 진동(jarring)(예컨대, 테이블 위에 전화를 페이스 업으로 배치하는 사용자에 의해 야기된 짧은 진동) 후 호출 도중에 수평이 검출되는 찰나의 기간을 검출할 수 있다. 전화는, 중력에 관한 정지성 및 수직 위치는 진동이 발생되지 않은 경우와는 다른 의미를 취할 수 있도록 진동되었다는 것을 검출할 수 있다. 따라서, 환경의 판정은 장치의 운동 및 방위 및 그 이력에 기초할 수 있다. 이력은 장치의 이전 운동/방위 또는 장치의 이력에 관한 임의의 다른 정보를 포함할 수 있다.
단계 240에서, 판정된 환경은 특정 행동에 맵핑된다. 맵핑된 행동은 판정된 환경에 부가하여, 그 시점에 장치를 사용하고 있는 특정 사용자 또는 그 시점에 사용 또는 집중하고 있는 특정 어플리케이션의 소망의 특성들과 같은, 임의의 수의 인자들에 의존할 수 있다. 예를 들어, 특정 모델링 환경에 따른 행동은, 핸드헬드 장치의 무음 기능 개시(박스 241a), 충격에 견디도록 장치의 칩들에 대한 전원 차단(박스 241b), 및 장치의 운동 활성 임계값 증가(박스 241n)를 포함할 수 있다. 박스(241a)에 표시된 무음 행동은 셀 전화의 환경이 통화 대기 상태 동안 테이블 위에 페이스 다운으로 놓여 있는 것을 포함하는 경우에 구현될 수 있다. 박스(241b)의 전원 차단 칩 행동은 핸드헬드 장치(10)의 환경이 장치의 자유 낙하를 포함하는 경우에 구현될 수 있다. 박스(241n)의 운동 활성 임계값 행동을 증가시키는 것은, 핸드헬드 장치의 환경이 의도한 입력을 등록하기 위해서는 덜컹거림으로 인해 사용자의 운동 입력에 대해 보다 큰 이동 임계값이 필요할 수 있는 차량 또는 기차 내에 존재하는 것을 포함하는 경우에 구현될 수 있다. 특정 실시예들은 하나 이상의 모델링된 환경에 맵핑된 임의의 수의 행동들을 포함할 수 있다. 단계 242에서, 핸드헬드 장치는 그 환경이 단계 240에서 맵핑된 행동에 따라 행동한다.
상술된 바와 같이, 사용자들은 장치가 소망의 기능, 동작 또는 태스크를 수행하도록 하기 위해 특정 제스처에 따라 핸드헬드 장치를 이동시킬 수 있다. 특정 실시예에서, 장치에 대해 입력된 운동으로 사용된 제스처들은 알파벳 문자들, 사진 기호들 또는 임의의 다른 알파벳 문자 또는 사진 기호 또는 표현과 같은 선재한 기호들을 포함할 수 있다. 예를 들어, 운동 입력으로 사용된 제스처들은 임의의 언어의 알파벳, 아라비아 및 로마 숫자 및 속기 기호의 대문자 및 소문자 활자 케이스 부재들을 모방할 수 있다. 선재한 제스처들은 또한 다른 근거리 및 리모트 장치들에 대해 핸드헬드 입력 장치가 사용될 수 있다. 핸드헬드 장치 입력을 위해 선재한 제스처들을 사용하는 것은 제스처 운동 인터페이스들에 대해 사용자들에게 학습 처리를 용이하게 할 수 있다.
도 17은 특정 기능들에 맵핑될 수 있는 예시적인 제스처들을 도시한다. 예를 들어, 핸드헬드 장치(10)가 셀룰러 전화를 포함하면, 사용자는 사용자의 여자친구, 남자친구 또는 배우자를 호출하려면 하트(250) 모양으로, 또는 사용자의 집을 호출하려면 집(252) 모양으로 장치(10)를 이동시킬 수 있다. 또 다른 예로서, 핸드헬드 장치(10)가 파일 또는 데이터를 관리하는 어플리케이션을 실행시키고 있는 PDA 또는 다른 장치라면, C-제스처(254)의 모양으로 장치를 이동시키는 것이 데이터를 복사하기 위한 명령이 될 수 있으며, O-제스처(256)는 파일을 열기 위한 명령이 될 수 있으며, D-제스처(258)는 데이터를 지우기 위한 명령이 될 수 있으며, X-제스처(260)는 파일 또는 어플리케이션에 대한 종료 명령이 될 수 있다. 제스처들 과 그 의도된 기능 및 동작들(예컨대, 파일을 열기 위한 "O") 간의 논리 접속은 사용자 상호작용 및 학습을 더 용이하게 한다.
임의의 수의 선재한 기호들을, 핸드헬드 장치의 임의의 수의 기능, 동작 또는 태스크들을 수행하기 위한 명령들인 운동 입력을 위한 제스처들로서 사용할 수 있다. 많은 선재한 제스처들은 통상적으로 2차원으로 존재한다. 핸드헬드 장치(10)는 그러한 제스처들을 인식할 수 있다. 몇가지 경우에, 예를 들어, 핸드헬드 장치(10)는, 사용자가 2차원 제스처를 입력하려고 시도한 경우, 2차원 제스처의 인식을 용이하게 하기 위해서, 임의의 3차원 움직임이 수신 또는 삭제되도록 특정 차원의 수신을 디스에이블할 수 있다. 몇몇 실시예들에서, 핸드헬드 장치(10)는 선재한 2차원 제스처들을 기초로 한 3차원 제스처들을 수신할 수 있다. 3차원 제스처들을 수신 및 삭제하는 것은, 예를 들어, 운동 입력으로서 사용될 수 있는 제스처의 수와 모양을 증가시킴으로써 장치의 능력을 증가시킨다.
도 18은 운동 입력으로서 선재한 기호 제스처, 문자 "O"의 이용을 설명하는 흐름도(270)이다. 단계 272에 도시된 바와 같이, 사용자는 문자 "O"의 모양으로 핸드헬드 장치(10)를 이동시킨다. 단계 274에서, 핸드헬드 장치(10)는 운동 검출 컴포넌트들로부터 "O" 이동의 미가공 운동 데이터를 수신하고, 그 장치의 실제 운동을 판정하기 위해 단계 276에서 그 미가공 운동 데이터를 처리한다. 단계 278에서, 핸드헬드 장치(10)는 그 운동을 제스처 "O"에 맵핑하기 위해 그 장치에 의해 인식가능한 복수의 제스처들을 포함할 수 있는 제스처 데이터베이스(280)에 억세스한다. 제스처 데이터베이스의 복수의 데이터베이스들은 움직임의 일련의 가속에 의해 각각 정의될 수 있다. 장치의 실제 운동은 제스처 데이터베이스의 제스처들 중 하나의 일련의 가속에 부합될 수 있다. 단계 282에서, 핸드헬드 장치(10)는, 디바이스 상에서 실행되고 있는 하나 이상의 어플리케이션들에 의해 수행될 수 있는 복수의 기능들을 포함할 수 있는 기능 데이터베이스(284)(또는 제스처 맵핑 데이터베이스)에 억세스함으로써 제스처 "O"를 특정 기능에 맵핑한다. 특정 실시예들에서, 제스처 및 기능 데이터베이스는 그 장치의 메모리(18)에 포함될 수 있다. 제스처 "O"에 맵핑되는 특정 기능은 그 시점에 사용자에 의해 집중 또는 사용되고 있는 특정 어플리케이션에 의존할 수 있다. 예를 들어, 몇몇 어플리케이션들에서 "O"가 파일을 열기 위한 명령을 포함하는 반면, 다른 어플리케이션들에서는 임의의 번호를 호출하는 명령을 포함할 수 있다. 몇몇 경우에, 하나의 제스처가 장치의 모든 어플리케이션들에 대해 동일한 기능에 맵핑될 수 있다. 단계 286에서, 장치는 파일을 여는 것과 같은 맵핑 기능에 따라 행동한다.
상술된 바와 같이, 핸드헬드 장치(10)에 대한 운동 입력으로서 이용된 제스처들은, 어플리케이션, 또는 특정 모델링 환경 또는 이들 콘텍스트 또는 임의의 다른 콘텍스트의 임의의 조합에 대해, 특정 장치 상태를 사용 또는 집중하고 있는 특정 어플리케이션과 같은 특정 콘텍스트에 기초한 다른 의미(예를 들어, 기능, 동작, 태스크들)를 가질 수 있다. 예를 들어, 특정 제스처가, 그 장치에서 웹 브라우저를 실행시키고 있는 경우 페이지를 스크롤업하기 위한 명령에 맵핑될 수 있는 반면, 그 제스처가 달력 프로그램을 실행시키는 경우에는 다른 일자를 조사하는 명령에 맵핑될 수 있다. 사용중인 어플리케이션과 같은 콘텍스트에 의존하여 다른 명령들에 맵핑될 특정 제스처들에 대한 능력은 장치의 기능성을 증가시킨다.
몇몇 실시예들에서의 핸드헬드 장치들은, 제스처들이 콘텍스트에 의존하여 다른 명령들에 맵핑되는 경우, 보다 간단한 운동 검출 컴포넌트들을 이용할 수 있다. 일례로서, 핸드헬드 장치가 20가지의 다른 제스처들 사이에서 인식 및 구별될 수 있도록, 그 핸드헬드 장치가 특정 운동 검출 컴포넌트들을 포함할 수 있다. 각 제스처가 4가지 다른 어플리케이션들 각각에 대해 다른 기능에 맵핑된다면, 20가지의 단일의 제스처들을 인식하는 능력은, 그 장치에 대해 80가지(각 어플리케이션에 대해 20가지)의 다른 기능들을 제공한다. 각 제스처가 그 자신의 기능에 맵핑된다면, 어떤 어플리케이션이 집중되고 있었어도, 그 장치의 전체 능력이 줄어들 것이며, 몇가지 제스처들은 몇몇 어플리케이션들에서는 사용되지 않을 가능성이 있다. 콘텍스트에 의존하는 복수의 기능들로 제스처들을 맵핑한 결과로서 보다 소수의 제스처들 사이에서 인식 및 구별할 수 있는 덜 복잡한 컴포넌트들을 이용하는 능력은, 장치 내에서 이용되는 컴포넌트들의 비용 감소를 유도할 수 있으며, 또한 장치를 제어하는데 필요한 물리적 학습 제스처들의 태스크를 간소화시킬 수 있다. 상술된 바와 같이, 제스처들은 사용중인 어플리케이션, 장치 상태, 모델링 환경 또는 다른 콘텍스트에 의존하여 다른 기능, 동작 또는 태스크들에 맵핑될 수 있다. 예를 들어, 워드 프로세싱 프로그램의 경우, 몇몇 제스처들이 그 프로그램의 하나의 상태(예를 들어, 메뉴 상태)에서 몇가지 기능들을 가질 수 있는 반면에, 동일한 제스처들이 그 워드 프로세싱 프로그램의 다른 상태(예를 들어, 문서 편집 상태)에서 다른 기능들을 가질 수 있다. 이 경우, 제스처 기능 맵핑과 연관된 명령 맵핑은 그러한 각 상태에 대한 제스처 맵핑들을 포함할 수 있다.
도 19는 특정 실시예에 따른 컨텍스트 기반 제스처 맵핑의 이용을 설명하는 흐름도(290)이다. 설명된 실시예에서, 제스처는 포커싱된 어플리케이션에 기초하여 할당되는 서로 다른 기능들을 갖는다. 단계 292에서, 핸드헬드 장치(10)는 특정 제스처 운동의 미가공 운동 데이터를 수신하고, 단계 294에서 이러한 미가공 운동 데이터를 처리하여 장치의 실제 운동을 판별한다. 단계 296에서, 핸드헬드 장치(10)는 그 운동을, 예컨대 제스처 데이터베이스를 액세싱함으로써 제스처에 맵핑한다. 단계 298에서, 핸드헬드 장치(10)는 포커싱된 어플리케이션이 어느 것인지를 판별한다. 예를 들어, 장치가 4개의 서로 다른 어플리케이션을 실행할 수 있다면, 4개 중 어느 것이 포키싱된 것인지 또는 해당 시점에 어느 것이 사용되고 있는지를 판별할 것이다. 그 후, 장치는 포커싱된 어플리케이션에 따른 제스처에 맵핑된 기능을 수행한다. 이러한 기능의 식별은, 몇몇 실시예에서는, 제스처 데이터베이스의 제스처들을 기능들에 상호 연관시킴으로 인해 제스처 맵핑 데이터베이스라고도 명명될 수 있는, 기능 데이터베이스에 액세스함으로써 달성될 수 있다. 설명된 실시예에서, 어플리케이션 1이 포커싱된 경우, 장치는 단계 300a에서 기능 1을 수행하고; 어플리케이션 2가 포커싱된 경우, 장치는 단계 300b에서 기능 2를 수행하고; 어플리케이션 3이 포커싱된 경우, 장치는 단계 300c에서 기능 3을 수행하고;어플리케이션 4가 포커싱된 경우, 장치는 단계 300d에서 기능 4를 수행한다.
컨텍스트 기반 제스처 맵핑의 또 다른 예로서, 전화기 및 PDA 성능들을 갖는 핸드헬드 장치는 4개의 어플리케이션, 즉 폰(phone) 어플리케이션, 칼렌 더(calendar) 어플리케이션, 파일 관리 어플리케이션, 및 이메일 어플리케이션을 실행할 수 있다. 글자 "S"를 흉내내는 제스처 입력은 포커싱된 어플리케이션에 따라 서로 다른 기능들을 가질 수 있다. 예를 들어, 폰 어플리케이션이 포커싱된 경우에는, 제스처 입력 "S"의 수신은 "S" 제스처에 지정된 특정 번호를 호출하는 명령이 될 수 있다. 칼렌더 어플리케이션이 포커싱된 경우에는, 제스처 입력 "S"의 수신은 달력 내의 9월을 스크롤(scroll)하는 명령이 될 수 있다. 파일 관리 어플리케이션이 포커싱된 경우에는, 제스처 입력 "S"의 수신은 파일을 저장하는 명령이 될 수 있다. 이메일 어플리케이션이 포커싱된 경우에는, 제스처 입력 "S"의 수신은 이메일을 보내는 명령이 될 수 있다. 특정 실시예에서는, 제스처들을 컨텍스트에 따른 서로 다른 기능들에 맵핑하는 능력에 있어서 상당한 유연성을 고려한다.
전술한 바와 같이, 제스처들은 해당 시점에서의 특정 컨텍스트에 따른 서로 다른 기능들을 가질 수 있다. 특정 실시예에 있어서, 핸드헬드 장치들은 사용자들이 장치 기능들을 미리 정의된 제스처들에 할당할 수 있도록 커스터마이즈될 수 있다. 이 기능들은, 몇몇 제스처들이 사용중인 어플리케이션, 장치 상태, 또는 모델링된 환경에 따라 서로 다른 기능들을 가질 수 있도록 하는 컨텍스트 기반형일 수 있다. 몇몇 실시예에서의 핸드헬드 장치들은, 동일한 장치의 서로 다른 사용자들이 서로 다른 기능들을 동일한 제스처에 할당하도록 허용할 수 있으며, 이러한 기능들은 전술한 바와 같은 컨텍스트 기반형이 될 수도 있다.
예를 들면, 핸드헬드 장치(10)는 서로 다른 시각에 서로 다른 다수의 사용자들에 의해 이용될 수 있다. 각 사용자는 동일한 제스처들에 대해 상이한 기능들을 할당할 수 있다. 핸드헬드 장치가 제스처 입력을 수신하는 경우, 사용자가 장치에 수행하고자 하는 기능이 어느 것인지를 판별하기 위해, 해당 시점에 어느 사용자가 그 장치를 사용하고 있는지를 알아야만 한다. 장치는 다양한 방식 중 어느 하나의 방식으로 사용자를 판별할 수 있다. 몇몇 실시예에서, 사용자들은 사용에 앞서 사용자명과 패스워드 또는 그외의 것을 이용하여 장치로 로그할 수 있다. 다른 실시예에 있어서 핸드헬드 장치는, 사용자가 장치를 이용하여 제스처를 형성하는 등 사용자가 운동 입력을 위해 장치를 움직이는 방식에 기초하여 사용자를 식별할 수 있다. 전술한 바와 같이, 각 사용자는 장치에 포커싱된 어플리케이션에 기초하는 등 컨텍스트에 기초한 제스처들에 상기 명령들을 할당할 수도 있다. 기능들을 특정 사용자들에 기초하는 제스처들에 맵핑하는 핸드헬드 장치에 대한 능력은, 특히 장치가 특정 갯수의 제스처들만을 인식하고 구별할 수 있는 경우에는, 장치의 성능 및 유연성을 더욱 증가시킨다.
도 20은 특정 실시예에 따른 사용자 기반 제스처 맵핑의 이용을 설명하는 흐름도(310)이다. 설명된 실시예에서, 제스처는 장치를 이용하는 사용자에 기초하여 할당되는 상이한 기능들을 갖는다. 단계 312에서, 핸드헬드 장치(10)는 특정 제스처 운동의 미가공 운동 데이터를 수신하고 단계 314에서 그 미가공 운동 데이터를 처리하여, 장치의 실제 운동을 판별한다. 단계 316에서, 핸드헬드 장치(10)는 그 운동을, 예컨대 제스처 데이터베이스에 액세스함으로써 제스처에 맵핑한다. 단계 318에서, 핸드헬드 장치(10)는 어느 사용자가 그 장치를 이용하고 있는지를 판별한다. 이러한 판별은, 예컨대 사용에 앞서 사용자들이 장치에 로그하는 시스템 내의 로그를 통해 이루어질 수 있다. 핸드헬드 장치(10)는 다른 적절한 방법들을 통해서도 현재 사용자를 판별할 수 있다. 단계 320에서, 장치는 그 장치를 사용하는 사용자에 기초하여 제스처 입력에 할당된 기능들을 수행한다. 가능성 있는 4명의 사용자를 갖는 프로세스를 기술하는 실시예의 설명에서, 사용자 1이 장치를 사용하고 있는 경우, 장치는 단계 320a에서 기능 1을 수행하고; 사용자 2가 장치를 사용하고 있는 경우, 장치는 단계 320b에서 기능 2를 수행하고; 사용자 3이 장치를 사용하고 있는 경우, 장치는 단계 320c에서 기능 3을 수행하고; 사용자 4가 장치를 사용하고 있는 경우, 장치는 단계 320d에서 기능 4를 수행한다.
전술한 바와 같이, 몇몇 실시예에서, 제스처들은 장치를 사용하는 사용자들 및 컨텍스트 양자에 기초하는 서로 다른 기능들이 할당될 수 있다. 이러한 상황 하에서, 전술한 흐름도(310)는 해당 시점에서의 컨텍스트를 판별하는 추가적인 단계(예컨대, 포커싱된 어플리케이션을 판별하는 흐름도(290)의 단계 298)를 가질 수 있다. 이에 따라, 소정의 제스처에 의한 수행을 원하는 특정 기능은, 해당 시점에 포커싱된 특정 어플리케이션 등의 컨텍스트 및 해당 시점에서 장치를 사용하는 사용자 모두에 의존한다.
전술한 바와 같이, 몇몇 실시예는 운동 입력을 위한 제스처들로서 이미 존재하는 기호들을 수신하는 능력을 갖는 핸드헬드 장치들을 포함한다. 다른 실시예들뿐만 아니라 이들 실시예들 중 몇몇은, 사용자들이 기능들 및/또는 키들에 맵핑하기 위한 자신들의 제스처들을 생성하는 능력을 포함한다. 이 제스처들은, 장치가 수행할 수 있는 하나 이상의 특정 기능들, 동작들, 또는 태스크들에 대한 운동 입 력으로서 사용자가 이용하기를 원하는 임의의 사용자 생성 기호 또는 그외 운동을 포함할 수 있다.
도 21은 특정 실시예에 따른 사용자 생성 제스처들에 대한 할당 처리를 설명하는 흐름도(330)이다. 단계 332에서, 사용자로부터 제스처 생성에 대한 지시가 수신된다. 이 지시는 임의의 적절한 입력 포맷(예컨대, 키들, 트랙휠(trackwheel)들, 운동 등)을 이용하여 다양한 방식들 중 어느 하나의 방식으로 수신될 수 있다. 사용자는, 단계 334의 핸드헬드 장치에서 사용자 생성 제스처에 대한 미가공 운동 데이터가 수신되도록 사용자 생성 제스처에 따라 장치를 이동시킬 수 있다. 미가공 운동 데이터는, 기본 레퍼런스 위치로부터 레퍼런스 위치들의 기록을 정지하라는 지시가 수신될 때까지 장치의 안정화 후의 일련의 운동 가속도 값들을 포함할 수 있다. 사용자 생성 제스처의 기록을 개시 및 정지하라는 지시들은 운동 또는 비운동 지시들(예컨대, 키 누름 및 키 해제)을 포함할 수 있다. 미가공 운동 데이터는 단계 336에서 처리된다. 단계 338에서, 운동은, 예컨대 제스처 데이터베이스에서 제스처로서 저장된다. 특정 실시예들에 있어서, 제스처 생성을 위한 지시는, 사용자가 사용자 생성 제스처에 따라 장치를 이동시킨 후에 수신된다. 예를 들면, 사용자는 현재 장치에 의해 인식불가능한 사용자 생성 제스처에 따라 장치를 움직일 수 있다. 장치는 이 인식불가능한 제스처를 특정 기능을 위해 저장하기를 원하는지를 결정하도록 사용자에게 질의할 수 있다. 사용자는 이 제스처를 장래의 운동 입력으로서 이용할 수 있도록 긍정의 응답을 할 수 있다.
단계 340에서, 사용자로부터 제스처에 대한 기능 맵핑 정보가 수신된다. 기 능 맵핑 정보는, 사용자가 사용자 생성 제스처로 하여금 명령하기를 원하는 장치의 기능들, 동작들, 또는 태스크들을 포함할 수 있다. 특정 실시예에 있어서, 이러한 기능 맵핑 정보는 하나의 제스처가 명령할 수도 있는 일련의 기능들(예컨대, 매크로)을 포함할 수 있다. 사용자는 포커싱된 어플리케이션에 따라 제스처에 대한 서로 다른 기능들을 할당할 수 있다. 몇몇 경우에 있어서, 사용자는 서로 다른 제스처들을 장치의 서로 다른 키들 또는 키스트로크(keystroke)에 맵핑하기를 원할 수 있다. 일련의 기능들을 하나의 제스처에 맵핑하는 일례에는, 긴 문자열을 하나의 제스처에 맵핑하는 것이 포함될 수 있다(예컨대, 적절한 곳에서의 정지를 포함하는 전화번호들). 단계 342에서, 기능 맵핑 정보는, 예컨대 기능 데이터베이스 또는 제스처 맵핑 데이터베이스에 저장된다.
전술한 바와 같이, 상기 제스처들이 입력으로서 사용될 때마다 하나 이상의 제스처들에 대해 동일하게 정확한 방식으로 핸드헬드 장치(10)를 이동하는 것이 사용자에게는 어려울 수도 있다. 이에 따라, 특정 실시예들은 제스처 입력 내에 정확도의 레벨들을 변경하는 것을 허용한다. 정확도는, 장치에 의해 액세스되는 제스처 데이터베이스에 포함된 제스처 등 장치에 의해 인식되는 제스처와 일치하기 위해 얼마나 정확히 제스처가 실행될 수 있는지를 나타낸다. 사용자가 생성한 운동이 제스처 데이터베이스 내의 제스처와 더욱 일치되어야 한다면, 그러한 제스처 운동을 성공적으로 실행되기는 더욱 어려울 것이다. 전술한 바와 같이, 특정 실시예에서 이동들은, 그 이동들의 검지된 일련의 가속도들을 제스처 데이터베이스의 제스처들의 가속도들과 매칭시킴으로써, 제스처 데이터베이스의 체스처들에 매칭될 수 있다.
인식에 필요한 정확한 제스처들로서, 사용자는 구별하여 인식될 수 있는 많은 제스처들(복잡성의 동일 레벨에서)을 포함할 수 있다. 일례로서, 요구되는 정확도가 0인 경우, 장치는 단일 제스처만을 인식할 수 있지만, 사용자가 어떠한 제스처를 행하더라도 상기 제스처로서 인식되기 때문에 이를 쉽게 인식할 것이다. 그러나, 만약 요구되는 정확도가 무한대이면, 사용자가 장치에 의해 인식되는 제스처를 형성하기는 사실상 불가능하지만, 장치는 이들 간의 무한소의 차이들만으로 무한개의 제스처를 지원할 수 있다. 특히 정확성의 요구가 적용가능한 일 분야는 공간 서명의 분야이다. 공간 서명에 의하면, 정확도의 레벨은 보안성의 레벨과 상당한 연관성을 갖는다.
특정 실시예들에 있어서, 제스처 입력을 위해 핸드헬드 장치(10)에 의해 요구되는 정확도는 변할 수 있다. 정확도의 상이한 레벨들은 서로 다른 사용자들, "제스처 공간"의 서로 다른 영역들(예컨대, 상당히 고유한 제스처들은 실행시의 정확도가 그다지 요구되지 않을 수 있지만, 유사한 제스처들은 인식을 위해 더 정확한 실행을 필요로 할 수 있다), 서명 등의 서로 다른 개별 제스처들, 및 소정 제스처들에 맵핑되는 서로 다른 기능들(예컨대, 더 중요한 기능들은 입력될 그들의 각 제스처 입력들에 대해 더 높은 정확도를 필요로 할 수 있다)을 필요로 할 수 있다. 또한, 몇몇 실시예들에 있어서, 사용자들은 몇몇 또는 모든 제스처들, 또는 하나 이상의 제스처 공간들의 제스처들에 대해 요구되는 정확도의 레벨(들)을 설정할 수 있다. 일례로서, 사용자는 다른 제스처들보다 공간 서명에 대해 더 높은 정확도를 설정하여, 공간 서명 입력에 대한 보안성을 증가시킬 수 있다.
전술한 바와 같이, 특정 실시예에 있어서 제스처들은, 의도된 제스처에 따른 사용자에 의한 경로를 따라 장치가 이동할 때 장치의 일련의 가속도들을 검지함으로써 인식될 수 있다. 일련의 가속도들이 장치에 의해 제스처 데이터베이스의 제스처와 일치하는 경우에 인식이 발생한다.
몇몇 실시예에 있어서, 핸드헬드 장치(10)에 의해 인식가능한 각 제스처, 또는 제스처 데이터베이스의 각 제스처는 3차원 지점들의 매트릭스를 포함한다. 또한, 제스처 입력으로서 의도된 사용자의 이동은 3차원 지점들의 매트릭스를 포함한다. 핸드헬드 장치(10)는 의도된 제스처를 판별하기 위해 이동의 매트릭스를 인식가능한 각 제스처(또는 제스처 데이터베이스 내의 각 제스처)의 매트릭스들과 비교할 수 있다. 이동의 매트릭스가 의도된 제스처의 매트릭스의 각 지점과 상호 연관되도록 사용자가 장치를 이동시키면, 사용자는 퍼펙트한 정확도로 의도된 제스처를 입력할 수 있게 된다. 제스처 입력에 요구되는 정확도가 감소되는 경우에는, 사용자의 제스처 이동과 제스처 인식에 대한 제스처 데이터베이스의 의도된 제스처 간의 허용가능한 차이는 더욱 커지게 된다.
도 22는 정확도의 레벨을 다양하게 하고 핸드헬드 장치를 사용하여 입력된 3개의 제스처들을 도시한다. 도시된 실시예에서, 의도된 제스처는 "O"를 의미한다. 제스처 운동(350)은 완전한 "O"로서, 즉 의도된 제스처를 100%의 정확도로 입력된다. 제스처 운동(352)은 완전한 "O"를 형성하지 않기 때문에 100%보다 적은 정확도로 입력된다. 제스처 운동(354)은 제스처 운동(352)보다 더 적은 정확도로 입력 된다. 제스처 "O"의 입력을 위해 필요한 정확도는 정확도의 다양한 레벨들을 수용하기 위하여 핸드헬드 장치에서 설정될 수 있다. 예를 들어, 정확도 레벨은, 제스처 운동(350)만이 제스처 "O"로서 인식되도록 설정될 수 있고, 제스처 운동들(350 및 352)이 모두 제스처 "O"로서 인식되거나, 제스처 운동들(350, 352, 354)이 모두 제스처 "O"로서 인식되도록 설정될 수 있다. 전술한 바와 같이, 정확도 요구치가 높을수록, 추가적으로 인식될 수 있는 제스처들에 대해 이용할 수 있는 여지가 더 많아진다. 예를 들어, 핸드헬드 장치(10)에 대한 정확도 레벨이 제스처 운동(350)만이 제스처 "O"로서 인식되도록 설정된다면, 체스처 운동들(352 및 354)은 그외의 다른 제스처들로 인식될 것이다.
특정 실시예들에서, 핸드헬드 장치들은 사용자의 개인적 정확도에 기초하여 특정 기능들을 수행하기 위해서 인식되는 제스처들을 변경할 수 있다. 이러한 방법으로, 핸드헬드 장치는 제스처 맵핑들의 동적 배움 능력을 가질 수 있다. 예를 들어, 제스처 데이터베이스의 특정 제스처가 특정 기능에 맵핑되고, 제스처를 입력하려는 사용자의 반복된 시도가 일관된 방식으로 정확도가 부족하다면, 핸드헬드 장치는 사용자의 일관된 제스처 운동을 일치시키기 위하여 사용자의 일관된 제스처 운동 입력이 특정 기능에 맵핑될 수 있도록 제스처 데이터베이스 내의 제스처를 변경시킬 것이다.
예를 들어, 특정 제스처가 사각형 운동을 의미하고 그 제스처에 대해 의도된 사용자의 운동이 일관적으로 보아(예를 들어, 연속적으로 수차례에 걸쳐) 오히려 삼각형 운동을 의미한다면, 핸드헬드 장치는 의도된 제스처와 실제 사용자 운동 사 이의 이 일관된 차이를 인식하여 의도된 기능에 맵핑된 제스처 데이터베이스 내의 의도된 제스처(예를 들어, 사각형)를 사용자의 실제의 일관된 운동(예를 들어, 삼각형)으로 변경시킬 수 있을 것이다. 따라서, 그러한 변경이 행해진 뒤에, 임의의 시점에서 사용자가 삼각형 제스처를 입력하면 이전에 사각형 제스처에 맵핑된 기능이 실행될 것이다. 그 장치는 임의의 형태의 입력을 통하여 사용자와의 양방향 통신을 통하는 것과 같은 다양한 방법들 중 임의의 방법으로 의도된 제스처를 판정할 수 있다. 특정 실시예들에서, 사용자들의 입력 특성들의 이 동적 배움은 사용자 특성 기반으로 적용될 수 있다. 예를 들어, 전술된 예에서 다른 사용자가 동일한 핸드헬드 장치를 이용하여 동일한 기능을 명령하기 위하여 여전히 사각형 제스처를 입력할 수 있다.
전술한 바와 같이, 의도된 제스처들에 대해 사용자 운동의 정확도가 증가하면, 기능들에 맵핑될 수 있는 제스처들의 수가 증가한다. 일부 실시예들에서, 핸드헬드 장치들은 사용자의 정확도가 시간에 따라 증가한다는 것을 인식할 수 있고, 그 결과, 그 장치들은 사용 가능한 제스처들을 증가시킬 수 있다. 입력을 위해 사용가능한 제스처들을 증가시킴으로써 제스처 입력을 통해 명령될 수 있는 기능들을 또한 증가시킬 수 있다.
일례로서, 제스처들을 입력하는 사용자 개인의 정확도는 사용자가 핸드헬드 장치에 의해 인식될 일정 수의 제스처들만을 입력 가능하게 할 수 있다. 그러나, 시간이 지나면서, 사용자 개인의 정확도는 증가할 것이다. 이 증가는 핸드헬드 장치에 의해 인식될 것이고, 그 결과, 그 장치는 사용자가 제스처 입력으로 사용할 수 있는 추가적인 제스처들을 가능하게 할 것이다. 일부 실시예들에서, 추가적인 제스처들을 가능하게 하는 것은 사용자의 정확도가 특정 정확도 임계값, 즉 일정 정확도 레벨을 넘을 때 발생할 수 있다. 사용자의 정확도가 증가해 왔기 때문에, 사용자가 이 추가적인 제스처들을 입력하려고 할 때 핸드헬드 장치는 인식할 수 있을 것이다. 전술한 바와 같이, 사용자 입력에 추가적인 제스처를 제공하는 것은, 각 제스처가 상이한 기능을 명령하도록 맵핑되기 때문에, 사용자가 제스처 입력을 통해 명령할 수 있는 기능들의 수를 또한 증가시킨다.
특정 실시예들에서, 핸드헬드 장치들은 사용자들이 장치의 노이즈 임계값들을 설정하고 다양하게 하는 것을 허용할 수도 있다. 노이즈 임계값들은 사용자의 의도된 운동 입력(예를 들어, 의도된 제스처)으로서 고려되기 위하여 감지되어야 할 장치의 운동의 크기이다. 예를 들어, 노이즈 임계값들이 낮게 설정되면, 장치의 최소 운동이 장치에 의해 운동 입력으로서 고려될 수 있다. 그러나, 노이즈 임계값들이 높게 설정되면, 그 운동이 사용자로부터의 의도된 입력으로서 고려되기 전에 장치의 큰 운동이 필요할 것이다. 예를 들어, 사용자가 울퉁불퉁한 도로 위의 차 속에서 여행을 한다면, 도로에서 덜컹거림의 결과로서 장치가 이동할 때 그러한 이동이 장치에 의해 의도된 운동 입력으로 고려되지 않도록 사용자는 노이즈 임계값들을 높게 설정하기를 바랄 것이다.
특정 실시예들에서, 노이즈 임계값들은 설계된 환경에 기초하여 장치에서 자동으로 변할 수 있다. 예를 들어, 환경이 차 속에서 여행하는 것을 의미한다고 장치가 판정하면, 장치는 차로부터 생겨나는 최소의 이동이 사용자 의도의 운동으로 등록되지 않도록 자동으로 노이즈 임계값들을 증가시킬 수 있다.
도 23은 특정 실시예에 따라 여기에 설명된 많은 특징들을 이용하는 제스처 인식 처리를 도시하는 흐름도(370)이다. 단계 372에서, 특정 제스처 운동의 미가공 데이터가 수신된다. 미가공 운동 데이터는 장치의 실제 운동이 판정되는 단계 374에서 처리된다. 그러한 처리는 다양한 필터링 기술들과 컴포넌트들의 다중 검출 또는 감지들로부터의 데이터의 융합을 의미할 수 있다. 단계 376에서, 실제의 운동은 제스처에 맵핑된다. 실제의 운동을 제스처에 맵핑하는 것은, 예를 들어, 사용자 정확도 및 노이즈 특성들 또는 임계값들, 사용자가 생성한 제스처들 및 임의의 다른 사용자 특성 데이터 또는 사용자 신원(381)을 포함하는 정보를 포함하는 사용자 데이터(379)를 포함할 수 있는 사용자 설정 데이터베이스(378)를 액세스하는 것을 포함할 수 있다. 예를 들어, 핸드헬드 장치의 상이한 사용자들이 상이한 설정들과 운동 입력 특성들을 가질 수 있기 때문에, 사용자 특성 정보는 중요할 수 있다. 예를 들어, 제스처들을 입력할 때 나이 든 사용자가 젊은 사용자에 비해 낮은 정확도를 가져서 나이 든 사람은 사용가능한 제스처들을 더 적게 가질 수 있다. 또한, 보다 숙련된 사용자는 제스처 입력을 통하여 더 많은 장치 기능들을 가질 수 있다.
사용자 설정 데이터베이스(378)는 그때 적용가능한 제스처를 판정하는데 영향을 줄 수 있는 환경 모델 정보(380)를 포함할 수도 있다. 상술한 것처럼, 환경 모델링을 통해, 장치는 내부적으로 그 환경 및 그 환경이 제스처 인식에 대해 가질 것 같은 효과를 나타낼 수 있다. 예를 들어, 사용자가 기차 위에 있다면, 장치는 자동으로 노이즈 임계값 레벨을 올린다. 그 장치는 고려되는 제스처의 근처에서 제스처 공간이 얼마나 혼잡한지에 따라 요구되는 정확도를 감소시킬 수도 있다. 실제 운동을 제스처에 맵핑하는 것은 또한 제스처 데이터베이스(382)를 액세스하는 것을 포함할 수 있다.
단계 384에서, 제스처는 장치에 대한 기능에 맵핑된다. 이 단계는 제스처들과 기능들 사이의 상관관계를 포함할 수 있는 기능 맵핑 데이터베이스(386)를 액세스하는 것을 포함할 수 있다. 상이한 사용자들은 제스처들의 기능들로의 상이한 맵핑들과 사용자가 생성한 상이한 기능들을 포함할 수 있다. 따라서, 기능 맵핑 데이터베이스(386)는 사용자 특성 맵핑 명령들 또는 특성들, 사용자가 생성한 기능들(예를 들어, 매크로들 및/또는 전화 번호들) 및 특정 제스처를 하나 또는 그 이상의 기능들에 맵핑하는데 적용할 수 있는 임의의 다른 기능 정보를 또한 포함할 수 있다. 일부 실시예들에서, 제스처들은 각각의 키를 치는 것(keystroke)들에 맵핑될 수 있다. 사용자 신원(381)은 또한 이 단계에서 액세스될 수도 있다. 또한, 장치 컨텍스트 정보(388)는 액세스될 수도 있고, 환경 모델 정보(389), 포커스 정보(390)에서의 적용 및 시간과 날짜 정보와 같은 장치 상태 정보(391), 위치 정보, 배터리 상태 및 모드 정보(예를 들어, 침묵 모드)를 포함할 수 있는 제스처를 맵핑하는데 이용될 수도 있다. 단계들 392에서, 장치는 단계 392a의 기능 1, 단계 392b의 기능 2, 단계 392c의 기능 3과 같은, 적절하게 맵핑된 하나 또는 그 이상의 기능(들)을 수행한다.
전술한 바와 같이, 특정 실시예들에서 핸드헬드 장치(10)는 여기 설명된 많 은 능력들을 가진 셀룰러 폰을 의미할 수 있다. 예를 들어, 운동 입력 능력들을 가진 셀룰러 폰은 상기 논의된 바와 같이 메뉴들을 단순하게 하기 위하여 운동 입력을 이용할 수 있다. 셀룰러 폰은 음소거, 스피커 폰 또는 파워 오프와 같은 행동들을 맵핑하기 위하여 자유 낙하 또는 바로 놓였는지 아니면 뒤집어 놓였는지와 같은 장치의 상태 및 환경들을 검출할 수 있다. 그외의 장치 상태들의 검출은 폰이 음소거 또는 스피커폰 상태들을 해방하기 위하여 쥐어져 있는지를 검출하는 것을 포함할 수 있다. 셀룰러 폰은 다이얼링을 제어하기 위해(예를 들어, 제스처의 속도 다이얼을 통해) 또는 장치의 키패드를 잠금/해제하기 위해 제스처들을 이용할 수 있다. 예를 들어, 장치는 집에 전화를 걸기 위하여 시계방향의 원을 그리며 이동할 수 있고, 직장에 전화를 걸기 위하여 반시계 방향의 원을 그리며 이동할 수 있으며, 중요한 누군가에게 전화를 걸기 위하여 하트 형태로 이동할 수 있다. 사용자들은 또한 제스처의 맵핑들을 커스터마이징하기 위하여 셀룰러 폰을 프로그래밍할 수 있다.
특정 실시예들에서, 핸드헬드 장치(10)는 여기 설명된 기능들의 적어도 일부에 대한 운동 입력을 이용하는 디지털 카메라를 의미할 수 있다. 예를 들어, 운동 입력 능력들을 가진 디지털 카메라들은 전술한 바와 같이 메뉴들을 단순하게 하기 위하여 운동 입력을 사용할 수 있다. 운동은 더 부드럽고 더 직관적인 기능성을 위해 정지 사진들 또는 비디오를 더 가깝게 검사하기 위하여 사용자가 그것을 줌인(및 백 아웃)하는 것을 가능하게 하도록 사용될 수 있다. 운동은 하나 또는 그 이상의 리뷰를 쉽게 선택할 수 있도록 수많은 사진들의 견본이나 비디오 클립들을 줌인하거나 줌아웃하는데 사용될 수 있다. 버추얼 데스크톱은 많은 디지털 사진들의 견본들 또는 비디오 클립들을 리뷰하거나, 카메라를 평행 이동시키는 것 또는 제스처 입력을 이용하는 것에 의해 많은 디지털 사진들 또는 비디오 클립들을 리뷰하는데 사용될 수 있다. 제스처들 및 간단한 운동들은 독립해서 또는 그외의 인터페이스 기구들과 조합하여, 플래시 설정들, 포커스 타입 및 광 감지 모드와 같은, 디지털 정지 또는 비디오 카메라들의 다양한 설정들을 변경하는데 사용될 수 있다. 또한, 자유 낙하가 검출되면, 카메라는 일정 방식으로 임박한 충돌에서의 손상으로부터 그 자신을 보호하도록 야기될 것이다. 그러한 보호는 렌즈의 커버를 닫고 렌즈를 후퇴시킴으로써, 카메라의 일부 또는 전부로부터 전력을 떨어뜨리는 것을 포함할 것이다.
특정 실시예들에서, 핸드헬드 장치(10)는 여기 설명된 기능들의 적어도 일부에 대한 운동 입력을 이용하는 디지털 시계를 의미할 수 있다. 예를 들어, 운동 입력 능력들을 가진 디지털 시계들은 상기 논의한 바와 같이 메뉴들을 단순하게 하기 위하여 운동 입력을 사용할 수 있다. 일부 실시예들에서, 시계를 가볍게 두드리는 것 또는 특성 제스쳐들을 시계를 조용하게 만드는데 사용될 수 있다. 그외의 기능들이 또한 가볍게 두드리기, 회전, 평행 이동 및 그외의 보다 복잡한 제스처들을 통해 액세스될 수 있다. 이러한 기능들은 타임 존을 변경하는 것, 시계를 설정하는 것(예를 들어 시각이나 다른 조정 가능한 설정들), 모드를 변경하는 것(예를 들어, 타이머, 알람, 스탑 워치), 백라이트를 활성화시키는 것, 스탑 워치를 사용하는 것(예를 들어, 시작, 멈춤 및 스탑 워치를 분리시키는 것) 및 그외의 타이머 들을 시작 및 멈추는 것을 포함할 수 있다.
일부 실시예들에서, 운동 검출은 디스플레이와는 분리될 수 있다. 예를 들어, 디스플레이가 안경이나 콘택트렌즈에 입혀지고, 핸드헬드 장치의 그외의 부분들이 사용자 신체에 걸쳐 퍼져서, 그 장치가 운동 입력 장치 또는 컴포넌트와는 동일한 물리적 컴포넌트의 부분이 되지 않을 수 있다.
전술한 바와 같이, 특정 형태들은 특정 실시예들에서 수행될 수 있는 다양한 방법들, 흐름도들 및 처리들을 도시한다. 다양한 실시예들에서, 본 발명의 범주를 벗어나지 않으면서, 단계들은 임의의 순서로 수행될 수 있고 특정 방법, 흐름도 또는 처리로부터의 단계들은 그외의 방법들 흐름도들 또는 처리들과 조합될 수 있거나 동일한 방법, 흐름도 또는 처리에서의 그외의 단계들과 조합될 수 있음이 이해되어야 한다.
본 발명이 특정 실시예들을 참조하여 자세히 설명되었지만, 다양한 그외의 교체들, 치환들, 변경들이 본 발명의 사상과 범주를 벗어나지 않으면서 이에 대해 행해질 수 있음이 이해되어야 한다. 예를 들어, 본 발명은 핸드헬드 장치(10) 내에 포함된 수많은 요소들을 참조하여 설명되었지만, 이 요소들은 특정 구조들 또는 필요들을 수용하기 위하여 조합되고, 재구성되거나 배치될 수 있다. 또한, 이 요소들 중 임의의 것이 서로에 대하여 분리된 외부 요소들로서 적절하게 제공될 수 있다. 본 발명은 이러한 요소들의 내부 구성 요소들뿐만 아니라 이러한 요소들의 배치에 있어서 현저한 유동성을 고려한다.
수많은 그외의 교체들, 치환들, 변화들, 변동들 및 수정들이 기술 분야에서 숙련된 자들에 의해 확인될 수 있고, 본 발명은 그러한 모든 교체들, 치환들, 변동들, 변경들 및 수정들을 첨부된 청구항들의 사상과 범주 내에서 포함하고 있음이 의도되었다.

Claims (27)

  1. 운동 제어형 핸드헬드 장치로서,
    제1 축을 따른 가속도를 검출하도록 구성되어 있는 제1 가속도계;
    상기 제1 축에 수직인 제2 축을 따른 가속도를 검출하도록 구성되어 있는 제2 가속도계;
    상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전을 검출하도록 구성되어 있는 경사 검출 컴포넌트;
    현재의 화상을 표시하도록 구성되어 있는 디스플레이;
    상기 제1 가속도계, 상기 제2 가속도계, 및 상기 경사 검출 컴포넌트를 이용하여 삼차원으로 상기 핸드헬드 장치의 운동을 추적하도록 구성되어 있는 운동 추적 모듈; 및
    상기 현재의 화상을 생성하고 상기 핸드헬드 장치의 운동에 응답하여 상기 현재의 화상을 수정하도록 구성되어 있는 제어기
    를 포함하는 운동 제어형 핸드헬드 장치.
  2. 제1항에 있어서,
    상기 디스플레이는 가시 표면(viewable surface)을 포함하며,
    상기 제1 축과 상기 제2 축은 상기 가시 표면에 실질적으로 평행한 운동 제어형 핸드헬드 장치.
  3. 제1항에 있어서,
    상기 경사 검출 컴포넌트는 상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 가속도를 검출하도록 구성되어 있는 제3 가속도계를 포함하며,
    상기 운동 추적 모듈은 추가로 상기 제3 가속도계가 측정한 가속도에 기초하여 상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전으로부터 상기 제1 축과 상기 제2 축이 형성하는 면 내의 평행 이동을 구별하도록 구성되어 있는 운동 제어형 핸드헬드 장치.
  4. 제1항에 있어서,
    상기 경사 검출 컴포넌트는,
    상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 가속도를 검출하도록 구성되어 있는 제3 가속도계;
    비디오 스트림을 생성하도록 구성되어 있는 카메라; 및
    상기 비디오 스트림에 기초하여 운동 방향을 검출하도록 구성되어 있는 비디오 분석 모듈을 포함하는 운동 제어형 핸드헬드 장치.
  5. 제4항에 있어서,
    상기 경사 검출 컴포넌트는,
    상기 비디오 스트림에서 상기 핸드헬드 장치와 물체 간의 거리를 포함하는 거리 정보를 판정하도록 구성되어 있는 거리 측정기를 더 포함하며,
    상기 비디오 분석 모듈은 추가로 상기 거리를 이용하여 상기 핸드헬드 장치의 평행 이동량을 판정하도록 구성되어 있는 운동 제어형 핸드헬드 장치.
  6. 제1항에 있어서,
    상기 경사 검출 컴포넌트는,
    상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 제1 방향에 초점을 맞추도록 정렬되어, 제1 비디오 스트림을 생성하도록 구성되어 있는 제1 카메라;
    상기 제1 방향과 반대인, 상기 제3 축을 따른 제2 방향에 초점을 맞추도록 정렬되어, 제2 비디오 스트림을 생성하도록 구성되어 있는 제2 카메라; 및
    상기 제1 비디오 스트림 및 상기 제2 비디오 스트림에 기초하여 상기 핸드헬드 장치의 운동 방향을 검출하도록 구성되어 있는 비디오 분석 모듈을 포함하는 운동 제어형 핸드헬드 장치.
  7. 제6항에 있어서,
    상기 경사 검출 컴포넌트는 상기 제3 축을 따른 가속도를 검출하도록 구성되어 있는 제3 가속도계를 더 포함하는 운동 제어형 핸드헬드 장치.
  8. 제6항에 있어서,
    상기 비디오 분석 모듈은, 추가로
    상기 제1 비디오 스트림에서 물체들의 제1 에지들을 검출하고;
    상기 제2 비디오 스트림에서 물체들의 제2 에지들을 검출하며;
    상기 제1 에지들 및 상기 제2 에지들의 이동을 식별하고;
    상기 제1 에지들의 이동과 상기 제2 에지들의 이동 간의 차이를 판정하며;
    상기 차이에 기초하여 경사 성분들과 평행 이동 성분들을 판정하도록 구성되어 있는 운동 제어형 핸드헬드 장치.
  9. 제1항에 있어서,
    각각의 제스처가 상기 핸드헬드 장치의 제1 위치에 대한 상기 핸드헬드 장치의 운동에 의해 정의되는 복수의 제스처를 포함하는 제스처 데이터베이스; 및
    상기 제스처들의 각각을 대응하는 명령에 맵핑시키는 제스처 맵핑 데이터베이스
    를 더 포함하며,
    상기 제어기는 추가로 상기 추적한 핸드헬드 장치의 운동을 상기 제스처들과 비교하여 수신한 제스처를 판정하고, 상기 수신한 제스처에 맵핑된 대응 명령을 식별하며, 상기 식별한 명령을 실행하여 상기 현재의 화상을 수정하도록 구성되어 있는 운동 제어형 핸드헬드 장치.
  10. 제1항에 있어서,
    상기 운동 추적 모듈은 추가로 상기 핸드헬드 장치의 운동에 기초하여 상기 제1 축과 상기 제2 축이 형성하는 면 내에서의 상기 핸드헬드 장치의 평행 이동을 식별하도록 구성되어 있고,
    상기 현재의 화상은 더 큰 화상의 일부를 표시하고,
    상기 제어기는 추가로 상기 평행 이동의 결과로 인한 상기 핸드헬드 장치의 결과적인 위치에 기초하여 상기 더 큰 화상의 또 다른 일부를 표시하도록 상기 현재의 화상을 연속적으로 수정하도록 구성되어 있는 운동 제어형 핸드헬드 장치.
  11. 제1항에 있어서,
    상기 운동 추적 모듈은 추가로 노이즈 임계값 이하로 등록된, 상기 제1 가속도계가 검출한 가속도와 상기 제2 가속도계가 검출한 가속도를 무시하도록 구성되어 있는 운동 제어형 핸드헬드 장치.
  12. 핸드헬드 장치를 제어하는 방법으로서,
    제1 가속도계를 이용하여 제1 축을 따른 가속도를 검출하는 단계;
    제2 가속도계를 이용하여 상기 제1 축에 수직인 제2 축을 따른 가속도를 검출하는 단계;
    경사 검출 컴포넌트를 이용하여 상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전을 검출하는 단계;
    상기 제1 가속도계, 상기 제2 가속도계, 및 상기 경사 검출 컴포넌트를 이용 하여 삼차원으로 상기 핸드헬드 장치의 운동을 추적하는 단계; 및
    상기 핸드헬드 장치의 디스플레이를 이용하여 현재의 화상을 표시하고 상기 추적한 핸드헬드 장치의 운동에 응답하여 상기 현재의 화상을 수정하는 단계
    를 포함하는 핸드헬드 장치 제어 방법.
  13. 제12항에 있어서,
    상기 디스플레이는 가시 표면을 포함하며,
    상기 제1 축과 상기 제2 축은 상기 가시 표면에 실질적으로 평행한 핸드헬드 장치 제어 방법.
  14. 제12항에 있어서,
    상기 경사 검출 컴포넌트의 제3 가속도계를 이용하여 상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 가속도를 검출하는 단계; 및
    상기 제3 가속도계가 측정한 가속도에 기초하여 상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전으로부터 상기 제1 축과 상기 제2 축이 형성하는 면 내의 평행 이동을 구별하는 단계를 더 포함하는 핸드헬드 장치 제어 방법.
  15. 제12항에 있어서,
    상기 경사 검출 컴포넌트의 제3 가속도계를 이용하여 상기 제1 축에 수직이 고 상기 제2 축에 수직인 제3 축을 따른 가속도를 검출하는 단계;
    상기 핸드헬드 장치의 카메라가 생성하는 비디오 스트림을 모니터링하는 단계; 및
    상기 비디오 스트림에 기초하여 운동 방향을 검출하는 단계를 더 포함하는 핸드헬드 장치 제어 방법.
  16. 제15항에 있어서,
    상기 비디오 스트림에서 상기 핸드헬드 장치와 물체 간의 거리를 포함하는 거리 정보를 판정하는 단계; 및
    상기 거리를 이용하여 상기 핸드헬드 장치의 평행 이동량을 판정하는 단계를 더 포함하는 핸드헬드 장치 제어 방법.
  17. 제12항에 있어서,
    상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 제1 방향에 초점을 맞추도록 정렬되어 있는 상기 핸드헬드 장치의 제1 카메라가 생성하는 제1 비디오 스트림을 모니터링하는 단계;
    상기 제1 방향과 반대인, 상기 제3 축을 따른 제2 방향에 초점을 맞추도록 정렬되어 있는 상기 핸드헬드 장치의 제2 카메라가 생성하는 제2 비디오 스트림을 모니터링하는 단계; 및
    상기 제1 비디오 스트림 및 상기 제2 비디오 스트림에 기초하여 상기 핸드헬 드 장치의 운동 방향을 검출하는 단계를 더 포함하는 핸드헬드 장치 제어 방법.
  18. 제17항에 있어서,
    상기 제1 비디오 스트림에서 물체들의 제1 에지들을 검출하는 단계;
    상기 제2 비디오 스트림에서 물체들의 제2 에지들을 검출하는 단계;
    상기 제1 에지들 및 상기 제2 에지들의 이동을 식별하는 단계;
    상기 제1 에지들의 이동과 상기 제2 에지들의 이동 간의 차이를 판정하는 단계; 및
    상기 차이에 기초하여 경사 성분들과 평행 이동 성분들을 판정하는 단계를 더 포함하는 핸드헬드 장치 제어 방법.
  19. 제12항에 있어서,
    상기 추적한 핸드헬드 장치의 운동을, 각각의 제스처가 상기 핸드헬드 장치의 제1 위치에 대한 상기 핸드헬드 장치의 운동에 의해 정의되는 복수의 제스처를 포함하는 제스처 데이터베이스와 비교하는 단계;
    상기 수신한 제스처에 맵핑된 명령을 식별하는 단계; 및
    상기 식별한 명령을 실행하여 상기 현재의 화상을 수정하는 단계를 더 포함하는 핸드헬드 장치 제어 방법.
  20. 핸드헬드 장치를 제어하는 로직으로서,
    상기 로직은 컴퓨터 판독가능한 매체에 구현되고, 실행 시에,
    제1 가속도계를 이용하여 제1 축을 따른 가속도를 검출하는 단계;
    제2 가속도계를 이용하여 상기 제1 축에 수직인 제2 축을 따른 가속도를 검출하는 단계;
    경사 검출 컴포넌트를 이용하여 상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전을 검출하는 단계;
    상기 제1 가속도계, 상기 제2 가속도계 및 상기 경사 검출 컴포넌트를 이용하여 삼차원으로 상기 핸드헬드 장치의 운동을 추적하는 단계; 및
    상기 핸드헬드 장치의 디스플레이를 이용하여 현재의 화상을 표시하고 상기 추적한 핸드헬드 장치의 운동에 응답하여 상기 현재의 화상을 수정하는 단계
    를 실행하도록 구성되어 있는 핸드헬드 장치 제어 로직.
  21. 제20항에 있어서,
    실행 시에,
    상기 경사 검출 컴포넌트의 제3 가속도계를 이용하여 상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 가속도를 검출하는 단계; 및
    상기 제3 가속도계가 측정한 가속도에 기초하여 상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전으로부터 상기 제1 축과 상기 제2 축이 형성하는 면 내의 평행 이동을 구별하는 단계를 더 실행하도록 구성되어 있는 핸드헬드 장치 제어 로직.
  22. 제20항에 있어서,
    실행 시에,
    상기 경사 검출 컴포넌트의 제3 가속도계를 이용하여 상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 가속도를 검출하는 단계;
    상기 핸드헬드 장치의 카메라가 생성하는 비디오 스트림을 모니터링하는 단계; 및
    상기 비디오 스트림에 기초하여 운동 방향을 검출하는 단계
    를 더 실행하도록 구성되어 있는 핸드헬드 장치 제어 로직.
  23. 제20항에 있어서,
    실행 시에,
    상기 비디오 스트림에서 상기 핸드헬드 장치와 물체 간의 거리를 포함하는 거리 정보를 판정하는 단계; 및
    상기 거리를 이용하여 상기 핸드헬드 장치의 평행 이동량을 판정하는 단계
    를 더 실행하도록 구성되어 있는 핸드헬드 장치 제어 로직.
  24. 제20항에 있어서,
    실행 시에,
    상기 제1 축에 수직이고 상기 제2 축에 수직인 제3 축을 따른 제1 방향에 초 점을 맞추도록 정렬되어 있는 상기 핸드헬드 장치의 제1 카메라가 생성하는 제1 비디오 스트림을 모니터링하는 단계;
    상기 제1 방향과 반대인, 상기 제3 축을 따른 제2 방향에 초점을 맞추도록 정렬되어 있는 상기 핸드헬드 장치의 제2 카메라가 생성하는 제2 비디오 스트림을 모니터링하는 단계; 및
    상기 제1 비디오 스트림 및 상기 제2 비디오 스트림에 기초하여 상기 핸드헬드 장치의 운동 방향을 검출하는 단계
    를 더 실행하도록 구성되어 있는 핸드헬드 장치 제어 로직.
  25. 제24항에 있어서,
    실행 시에,
    상기 제1 비디오 스트림에서 물체들의 제1 에지들을 검출하는 단계;
    상기 제2 비디오 스트림에서 물체들의 제2 에지들을 검출하는 단계;
    상기 제1 에지들 및 상기 제2 에지들의 이동을 식별하는 단계;
    상기 제1 에지들의 이동과 상기 제2 에지들의 이동 간의 차이를 판정하는 단계; 및
    상기 차이에 기초하여 경사 성분들과 평행 이동 성분들을 판정하는 단계
    를 더 실행하도록 구성되어 있는 핸드헬드 장치 제어 로직.
  26. 제20항에 있어서,
    실행 시에,
    상기 추적한 핸드헬드 장치의 운동을, 각각의 제스처가 상기 핸드헬드 장치의 제1 위치에 대한 상기 핸드헬드 장치의 운동에 의해 정의되는 복수의 제스처를 포함하는 제스처 데이터베이스와 비교하는 단계;
    상기 수신한 제스처에 맵핑된 명령을 식별하는 단계; 및
    상기 식별한 명령을 실행하여 상기 현재의 화상을 수정하는 단계
    를 더 실행하도록 구성되어 있는 핸드헬드 장치 제어 로직.
  27. 운동 제어형 핸드헬드 장치로서,
    제1 축을 따른 가속도를 검출하는 수단;
    상기 제1 축에 수직인 제2 축을 따른 가속도를 검출하는 수단;
    상기 제1 축과 상기 제2 축 중 적어도 하나의 주위에 성분을 갖는 회전을 검출하는 수단;
    상기 제1 축을 따른 가속도, 상기 제2 축을 따른 가속도, 및 상기 회전에 기초하여 삼차원으로 상기 핸드헬드 장치의 운동을 추적하는 수단; 및
    상기 핸드헬드 장치의 디스플레이를 이용하여 현재의 화상을 표시하고 상기 추적한 핸드헬드 장치의 운동에 응답하여 상기 현재의 화상을 수정하는 수단
    을 포함하는 운동 제어형 핸드헬드 장치.
KR1020067019664A 2004-03-23 2005-03-07 핸드헬드 장치에서의 경사 및 평행 이동 운동 성분들의구별 KR100853605B1 (ko)

Applications Claiming Priority (36)

Application Number Priority Date Filing Date Title
US10/807,564 US7180500B2 (en) 2004-03-23 2004-03-23 User definable gestures for motion controlled handheld devices
US10/807,568 2004-03-23
US10/807,558 2004-03-23
US10/807,589 US7301529B2 (en) 2004-03-23 2004-03-23 Context dependent gesture response
US10/807,589 2004-03-23
US10/807,566 US7173604B2 (en) 2004-03-23 2004-03-23 Gesture identification of controlled devices
US10/807,570 US7180502B2 (en) 2004-03-23 2004-03-23 Handheld device with preferred motion selection
US10/807,562 2004-03-23
US10/807,557 US7365735B2 (en) 2004-03-23 2004-03-23 Translation controlled cursor
US10/807,558 US7280096B2 (en) 2004-03-23 2004-03-23 Motion sensor engagement for a handheld device
US10/807,561 US7903084B2 (en) 2004-03-23 2004-03-23 Selective engagement of motion input modes
US10/807,559 2004-03-23
US10/807,562 US20050212753A1 (en) 2004-03-23 2004-03-23 Motion controlled remote controller
US10/807,588 US7176888B2 (en) 2004-03-23 2004-03-23 Selective engagement of motion detection
US10/807,563 2004-03-23
US10/807,560 2004-03-23
US10/807,572 2004-03-23
US10/807,565 US7301527B2 (en) 2004-03-23 2004-03-23 Feedback based user interface for motion controlled handheld devices
US10/807,563 US7301526B2 (en) 2004-03-23 2004-03-23 Dynamic adaptation of gestures for motion controlled handheld devices
US10/807,559 US7176886B2 (en) 2004-03-23 2004-03-23 Spatial signatures
US10/807,561 2004-03-23
US10/807,557 2004-03-23
US10/807,567 2004-03-23
US10/807,572 US20050212760A1 (en) 2004-03-23 2004-03-23 Gesture based user interface supporting preexisting symbols
US10/807,570 2004-03-23
US10/807,569 US7301528B2 (en) 2004-03-23 2004-03-23 Distinguishing tilt and translation motion components in handheld devices
US10/807,571 2004-03-23
US10/807,564 2004-03-23
US10/807,569 2004-03-23
US10/807,568 US7180501B2 (en) 2004-03-23 2004-03-23 Gesture based navigation of a handheld user interface
US10/807,565 2004-03-23
US10/807,566 2004-03-23
US10/807,571 US7176887B2 (en) 2004-03-23 2004-03-23 Environmental modeling for motion controlled handheld devices
US10/807,567 US7365737B2 (en) 2004-03-23 2004-03-23 Non-uniform gesture precision
US10/807,560 US7365736B2 (en) 2004-03-23 2004-03-23 Customizable gesture mappings for motion controlled handheld devices
US10/807,588 2004-03-23

Publications (2)

Publication Number Publication Date
KR20060134119A true KR20060134119A (ko) 2006-12-27
KR100853605B1 KR100853605B1 (ko) 2008-08-22

Family

ID=35005698

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067019664A KR100853605B1 (ko) 2004-03-23 2005-03-07 핸드헬드 장치에서의 경사 및 평행 이동 운동 성분들의구별

Country Status (4)

Country Link
EP (1) EP1728142B1 (ko)
JP (2) JP2007531113A (ko)
KR (1) KR100853605B1 (ko)
WO (1) WO2005103863A2 (ko)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009028921A2 (en) * 2007-08-30 2009-03-05 Lg Electronics Inc. Apparatus and method for providing feedback for three-dimensional touchscreen
KR20100124324A (ko) * 2008-03-12 2010-11-26 임머숀 코퍼레이션 햅틱으로 인에이블된 사용자 인터페이스
KR20110065857A (ko) * 2009-12-10 2011-06-16 삼성전자주식회사 휴대용 전자장치 및 그 동작 제어방법
KR20110110361A (ko) * 2009-01-29 2011-10-06 임머숀 코퍼레이션 그래픽 사용자 인터페이스와의 물리적 상호작용을 해석하는 시스템 및 방법
US8049737B2 (en) 2007-12-17 2011-11-01 Samsung Electronics Co., Ltd. Dual pointing device and method based on 3-D motion and touch sensors
US8219936B2 (en) 2007-08-30 2012-07-10 Lg Electronics Inc. User interface for a mobile device using a user's gesture in the proximity of an electronic device
KR20120094447A (ko) * 2011-02-16 2012-08-24 삼성전자주식회사 모바일 단말에서 어플리케이션 제어 방법 및 그 모바일 단말
KR20140001263A (ko) * 2012-06-22 2014-01-07 삼성전자주식회사 휴대단말기의 통화중 메모 처리장치 및 방법
KR20140064693A (ko) * 2012-11-20 2014-05-28 삼성전자주식회사 디바이스의 움직임을 포함하는, 착용식 전자 디바이스로의 사용자 제스처 입력
KR101482121B1 (ko) * 2008-08-04 2015-01-13 엘지전자 주식회사 웹 브라우징이 가능한 휴대 단말기 및 그 제어방법
KR101524616B1 (ko) * 2008-07-07 2015-06-02 엘지전자 주식회사 자이로센서를 구비한 휴대 단말기 및 그 제어방법
US9785238B2 (en) 2008-07-15 2017-10-10 Immersion Corporation Systems and methods for transmitting haptic messages
US10194060B2 (en) 2012-11-20 2019-01-29 Samsung Electronics Company, Ltd. Wearable electronic device
KR20190044701A (ko) * 2012-10-25 2019-04-30 나이키 이노베이트 씨.브이. 팀 스포츠 환경에서의 운동 수행 모니터링 시스템들 및 방법들
US10423214B2 (en) 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
US10754432B2 (en) 2015-12-01 2020-08-25 Sony Corporation Information processing device and information processing method for detecting gesture manipulation
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
US11237719B2 (en) 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US11372536B2 (en) 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US11541296B2 (en) 2008-12-05 2023-01-03 Nike, Inc. Athletic performance monitoring systems and methods in a team sports environment

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050222801A1 (en) 2004-04-06 2005-10-06 Thomas Wulff System and method for monitoring a mobile computing product/arrangement
US8681100B2 (en) 2004-07-30 2014-03-25 Extreme Realty Ltd. Apparatus system and method for human-machine-interface
EP1789928A4 (en) 2004-07-30 2011-03-16 Extreme Reality Ltd SYSTEM AND METHOD FOR PICTURE PROCESSING BASED ON THE 3D ROOM DIMENSION
US8872899B2 (en) 2004-07-30 2014-10-28 Extreme Reality Ltd. Method circuit and system for human to machine interfacing by hand gestures
ATE417460T1 (de) 2005-05-12 2008-12-15 Tcl & Alcatel Mobile Phones Verfahren zur synchronisierung von mindestens einem multimediaperipheriegerät eines portablen kommunikationsgeräts und dazugehöriges kommunikationsgerät
US7822513B2 (en) 2005-07-27 2010-10-26 Symbol Technologies, Inc. System and method for monitoring a mobile computing product/arrangement
US9046962B2 (en) 2005-10-31 2015-06-02 Extreme Reality Ltd. Methods, systems, apparatuses, circuits and associated computer executable code for detecting motion, position and/or orientation of objects within a defined spatial region
US20070285554A1 (en) 2005-10-31 2007-12-13 Dor Givon Apparatus method and system for imaging
TWI316195B (en) 2005-12-01 2009-10-21 Ind Tech Res Inst Input means for interactive devices
EP2821879A1 (en) 2006-01-06 2015-01-07 Drnc Holdings, Inc. Method for entering commands and/or characters for a portable communication device equipped with a tilt sensor
CN100429610C (zh) * 2006-01-19 2008-10-29 宏达国际电子股份有限公司 直觉式荧幕控制器
JP2007193656A (ja) * 2006-01-20 2007-08-02 Kddi Corp 本人認証装置
KR100667853B1 (ko) 2006-01-25 2007-01-11 삼성전자주식회사 휴대용 기기의 화면 스크롤 장치 및 방법과 그 방법을수행하는 프로그램이 기록된 기록 매체
JP4747874B2 (ja) * 2006-02-14 2011-08-17 パナソニック電工株式会社 リモコン装置及び遠隔制御システム
US7796052B2 (en) 2006-03-29 2010-09-14 Honeywell International Inc. One button multifunction key fob for controlling a security system
US20100045705A1 (en) * 2006-03-30 2010-02-25 Roel Vertegaal Interaction techniques for flexible displays
JP2007286812A (ja) * 2006-04-14 2007-11-01 Sony Corp 携帯型電子機器、ユーザインターフェイス制御方法、プログラム
US8594742B2 (en) * 2006-06-21 2013-11-26 Symbol Technologies, Inc. System and method for monitoring a mobile device
US20080030456A1 (en) * 2006-07-19 2008-02-07 Sony Ericsson Mobile Communications Ab Apparatus and Methods for Providing Motion Responsive Output Modifications in an Electronic Device
CA2595871C (en) * 2006-08-03 2012-01-31 Research In Motion Limited Motion-based user interface for handheld
US8106856B2 (en) 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
AU2015201028B2 (en) * 2006-09-06 2017-03-30 Apple Inc. Electronic device for digital object management
JP5023073B2 (ja) * 2006-12-06 2012-09-12 アルプス電気株式会社 モーションセンシングプログラム及びそれを備えた電子コンパス
US20090265671A1 (en) * 2008-04-21 2009-10-22 Invensense Mobile devices with motion gesture recognition
US8250921B2 (en) 2007-07-06 2012-08-28 Invensense, Inc. Integrated motion processing unit (MPU) with MEMS inertial sensing and embedded digital electronics
US8952832B2 (en) 2008-01-18 2015-02-10 Invensense, Inc. Interfacing application programs and motion sensors of a device
US8462109B2 (en) * 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
US7934423B2 (en) 2007-12-10 2011-05-03 Invensense, Inc. Vertically integrated 3-axis MEMS angular accelerometer with integrated electronics
US7884805B2 (en) * 2007-04-17 2011-02-08 Sony Ericsson Mobile Communications Ab Using touches to transfer information between devices
TWI333156B (en) * 2007-08-16 2010-11-11 Ind Tech Res Inst Inertia sensing input controller and receiver and interactive system using thereof
US8942764B2 (en) * 2007-10-01 2015-01-27 Apple Inc. Personal media device controlled via user initiated movements utilizing movement based interfaces
DE102007060007A1 (de) 2007-12-13 2009-06-18 BSH Bosch und Siemens Hausgeräte GmbH Bedienvorrichtung für ein Hausgerät, ein Hausgerät mit einer Bedienvorrichtung, sowie ein Verfahren zum Bedienen eines Hausgeräts
JP4852084B2 (ja) * 2008-05-27 2012-01-11 株式会社東芝 無線通信装置
US20090325710A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Dynamic Selection Of Sensitivity Of Tilt Functionality
KR101482115B1 (ko) 2008-07-07 2015-01-13 엘지전자 주식회사 자이로센서를 구비한 휴대 단말기 및 그 제어방법
JP2010046471A (ja) * 2008-07-23 2010-03-04 Sega Corp ゲーム装置及びゲーム制御方法、ゲームを制御するプログラム、プログラムを記憶したコンピュータ読み取り可能な記録媒体
KR101061363B1 (ko) * 2008-08-26 2011-09-01 팅크웨어(주) 내비게이션 시스템에 특화된 3차원 제어시스템 및 그 방법
KR101511819B1 (ko) * 2008-09-04 2015-04-13 익스트림 리얼리티 엘티디. 영상 센서에 기반한 인간 기계장치 인터페이스를 제공하는 방법 시스템 및 소프트웨어
JP5532372B2 (ja) 2008-09-12 2014-06-25 ブリテッシュ ヴァージン アイランズ シューウィー グループ リミテッド 慣性センシング装置
KR101568128B1 (ko) * 2008-11-14 2015-11-12 삼성전자주식회사 모션 센서 기반의 ui 운용 방법 및 이를 이용한 단말기
US9501694B2 (en) 2008-11-24 2016-11-22 Qualcomm Incorporated Pictorial methods for application selection and activation
US10564721B2 (en) 2009-03-12 2020-02-18 Immersion Corporation Systems and methods for using multiple actuators to realize textures
US9874935B2 (en) 2009-03-12 2018-01-23 Immersion Corporation Systems and methods for a texture engine
US10007340B2 (en) 2009-03-12 2018-06-26 Immersion Corporation Systems and methods for interfaces featuring surface-based haptic effects
US9927873B2 (en) * 2009-03-12 2018-03-27 Immersion Corporation Systems and methods for using textures in graphical user interface widgets
US9696803B2 (en) 2009-03-12 2017-07-04 Immersion Corporation Systems and methods for friction displays and additional haptic effects
US9746923B2 (en) 2009-03-12 2017-08-29 Immersion Corporation Systems and methods for providing features in a friction display wherein a haptic effect is configured to vary the coefficient of friction
US8442797B2 (en) * 2009-03-30 2013-05-14 Kionix, Inc. Directional tap detection algorithm using an accelerometer
CN102804117A (zh) * 2009-06-19 2012-11-28 阿尔卡特朗讯公司 触摸敏感输入设备上用于关闭窗口或应用的手势
JP5332980B2 (ja) * 2009-07-08 2013-11-06 日本電気株式会社 携帯端末、携帯端末におけるアプリケーション操作方法
CN102473034B (zh) 2009-07-22 2015-04-01 意美森公司 用于在输入控制手势以及关于虚拟设备的控制期间提供复杂触觉激励的***和方法
US9030404B2 (en) 2009-07-23 2015-05-12 Qualcomm Incorporated Method and apparatus for distributed user interfaces using wearable devices to control mobile and consumer electronic devices
US20110054833A1 (en) * 2009-09-02 2011-03-03 Apple Inc. Processing motion sensor data using accessible templates
US8878779B2 (en) 2009-09-21 2014-11-04 Extreme Reality Ltd. Methods circuits device systems and associated computer executable code for facilitating interfacing with a computing platform display screen
JP2013505493A (ja) 2009-09-21 2013-02-14 エクストリーム リアリティー エルティーディー. 電子機器とのヒューマン・マシン・インタフェーシングの為の方法、回路、装置及びシステム
EP3855297A3 (en) 2009-09-22 2021-10-27 Apple Inc. Device method and graphical user interface for manipulating user interface objects
US8780069B2 (en) 2009-09-25 2014-07-15 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
US9174123B2 (en) * 2009-11-09 2015-11-03 Invensense, Inc. Handheld computer systems and techniques for character and command recognition related to human movements
FR2954533A1 (fr) * 2009-12-21 2011-06-24 Air Liquide Terminal portable commande par mouvements
US8698762B2 (en) 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
JP5413250B2 (ja) * 2010-03-05 2014-02-12 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
DE102010020925B4 (de) 2010-05-10 2014-02-27 Faro Technologies, Inc. Verfahren zum optischen Abtasten und Vermessen einer Umgebung
KR101219292B1 (ko) 2010-06-16 2013-01-18 (주)마이크로인피니티 표시부를 구비한 핸드 헬드 기기 및 상기 표시부에 표시되는 객체를 탐색하는 방법
CN102298162B (zh) * 2010-06-28 2014-03-05 深圳富泰宏精密工业有限公司 背光调节***及方法
CN103069463A (zh) * 2010-08-31 2013-04-24 沃尔夫冈·布兰德尔 带有位置传感装置的无线电遥控***
US8767019B2 (en) 2010-08-31 2014-07-01 Sovanta Ag Computer-implemented method for specifying a processing operation
US8972467B2 (en) 2010-08-31 2015-03-03 Sovanta Ag Method for selecting a data set from a plurality of data sets by means of an input device
CA2806520C (en) 2011-01-23 2016-02-16 Extreme Reality Ltd. Methods, systems, devices and associated processing logic for generating stereoscopic images and video
JP5659830B2 (ja) 2011-02-03 2015-01-28 ソニー株式会社 制御装置、制御方法およびプログラム
FI20115250L (fi) * 2011-03-14 2012-09-15 Vti Technologies Oy Osoittamismenetelmä, sitä varten laite ja järjestelmä
JP2012244264A (ja) * 2011-05-17 2012-12-10 Funai Electric Co Ltd 画像形成装置
JP5861707B2 (ja) 2011-07-04 2016-02-16 株式会社ニコン 電子機器及び入力方法
JP5762885B2 (ja) * 2011-08-29 2015-08-12 京セラ株式会社 装置、方法、及びプログラム
WO2013086414A1 (en) * 2011-12-07 2013-06-13 Visa International Service Association Method and system for signature capture
JP2013154767A (ja) * 2012-01-30 2013-08-15 Mitsubishi Electric Corp 車載メータ編集装置
JP2013157959A (ja) * 2012-01-31 2013-08-15 Toshiba Corp 携帯端末機器、携帯端末機器の音声認識処理方法、およびプログラム
US9411423B2 (en) 2012-02-08 2016-08-09 Immersion Corporation Method and apparatus for haptic flex gesturing
US8493354B1 (en) 2012-08-23 2013-07-23 Immersion Corporation Interactivity model for shared feedback on mobile devices
US20150019163A1 (en) * 2012-03-25 2015-01-15 Bradford Needham Orientation sensing computing devices
WO2013157630A1 (ja) * 2012-04-20 2013-10-24 株式会社ニコン 電子機器及び動き検出方法
CN103576847B (zh) * 2012-08-09 2016-03-30 腾讯科技(深圳)有限公司 获取账号信息的方法和装置
US10067231B2 (en) 2012-10-05 2018-09-04 Faro Technologies, Inc. Registration calculation of three-dimensional scanner data performed between scans based on measurements by two-dimensional scanner
DE102012109481A1 (de) 2012-10-05 2014-04-10 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
JP2013101649A (ja) * 2012-12-26 2013-05-23 Japan Research Institute Ltd 端末装置およびコンピュータプログラム
JP6104639B2 (ja) * 2013-03-01 2017-03-29 東芝メディカルシステムズ株式会社 X線診断装置
JP6042753B2 (ja) * 2013-03-18 2016-12-14 株式会社Nttドコモ 端末装置及び操作ロック解除方法
US10241564B2 (en) 2013-06-07 2019-03-26 Seiko Epson Corporation Electronic apparatus and method of detecting tap operation
JP2014238696A (ja) * 2013-06-07 2014-12-18 セイコーエプソン株式会社 電子機器及びタップ操作検出方法
JP6171615B2 (ja) * 2013-06-21 2017-08-02 カシオ計算機株式会社 情報処理装置及びプログラム
KR20150026056A (ko) 2013-08-30 2015-03-11 삼성전자주식회사 곡면 바닥을 가지는 전자 장치 및 그 동작 방법
DE112014004628T5 (de) * 2013-10-08 2016-07-28 Tk Holdings Inc. Vorrichtung und Verfahren für direktes Leiten haptischer Energie an die Berührungsoberfläche
CN105706024A (zh) * 2013-10-24 2016-06-22 苹果公司 使用手腕移动的腕带设备输入
US10004435B2 (en) 2013-11-14 2018-06-26 Dexcom, Inc. Devices and methods for continuous analyte monitoring
US9575560B2 (en) 2014-06-03 2017-02-21 Google Inc. Radar-based gesture-recognition through a wearable device
KR102223732B1 (ko) * 2014-06-26 2021-03-05 엘지전자 주식회사 이동단말기 및 그 제어방법
CN118192869A (zh) * 2014-06-27 2024-06-14 苹果公司 尺寸减小的用户界面
US9811164B2 (en) 2014-08-07 2017-11-07 Google Inc. Radar-based gesture sensing and data transmission
CN105447350B (zh) 2014-08-07 2019-10-01 阿里巴巴集团控股有限公司 一种身份认证方法及装置
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
US9778749B2 (en) 2014-08-22 2017-10-03 Google Inc. Occluded gesture recognition
TWI582641B (zh) 2014-09-02 2017-05-11 蘋果公司 按鈕功能性
WO2016036510A1 (en) 2014-09-02 2016-03-10 Apple Inc. Music user interface
DE102014013678B3 (de) 2014-09-10 2015-12-03 Faro Technologies, Inc. Verfahren zum optischen Abtasten und Vermessen einer Umgebung mit einem Handscanner und Steuerung durch Gesten
US9602811B2 (en) 2014-09-10 2017-03-21 Faro Technologies, Inc. Method for optically measuring three-dimensional coordinates and controlling a three-dimensional measuring device
US9671221B2 (en) 2014-09-10 2017-06-06 Faro Technologies, Inc. Portable device for optically measuring three-dimensional coordinates
JP2017528714A (ja) * 2014-09-10 2017-09-28 ファロ テクノロジーズ インコーポレーテッド 3次元座標の光学測定のための方法および3次元測定デバイスの制御
DE102014013677B4 (de) 2014-09-10 2017-06-22 Faro Technologies, Inc. Verfahren zum optischen Abtasten und Vermessen einer Umgebung mit einem Handscanner und unterteiltem Display
US9693040B2 (en) 2014-09-10 2017-06-27 Faro Technologies, Inc. Method for optically measuring three-dimensional coordinates and calibration of a three-dimensional measuring device
US9600080B2 (en) 2014-10-02 2017-03-21 Google Inc. Non-line-of-sight radar-based gesture recognition
JP6608106B2 (ja) * 2015-03-23 2019-11-20 ラピスセミコンダクタ株式会社 半導体装置、携帯端末装置および運動検出方法
US9746930B2 (en) 2015-03-26 2017-08-29 General Electric Company Detection and usability of personal electronic devices for field engineers
WO2016168893A1 (en) * 2015-04-20 2016-10-27 Tiltsta Pty Ltd Interactive media system and method
EP3885882A1 (en) 2015-04-30 2021-09-29 Google LLC Rf-based micro-motion tracking for gesture tracking and recognition
US10088908B1 (en) 2015-05-27 2018-10-02 Google Llc Gesture detection and interactions
US9652125B2 (en) 2015-06-18 2017-05-16 Apple Inc. Device, method, and graphical user interface for navigating media content
CN108027643B (zh) * 2015-06-26 2021-11-02 英特尔公司 用于可穿戴计算设备的基于微运动的输入姿势控制的方法、设备和装置
US9928029B2 (en) 2015-09-08 2018-03-27 Apple Inc. Device, method, and graphical user interface for providing audiovisual feedback
US9990113B2 (en) 2015-09-08 2018-06-05 Apple Inc. Devices, methods, and graphical user interfaces for moving a current focus using a touch-sensitive remote control
US10817065B1 (en) 2015-10-06 2020-10-27 Google Llc Gesture recognition using multiple antenna
KR20180094875A (ko) * 2015-12-18 2018-08-24 소니 주식회사 정보 처리 장치, 정보 처리 방법, 및 프로그램
DE102015122844A1 (de) 2015-12-27 2017-06-29 Faro Technologies, Inc. 3D-Messvorrichtung mit Batteriepack
EP4328708A3 (en) * 2016-02-04 2024-06-05 Apple Inc. Controlling electronic devices and augmented reality based on wireless ranging
JP6699455B2 (ja) * 2016-04-15 2020-05-27 富士通株式会社 サーバ装置、コンテンツ表示制御システムおよびコンテンツ表示制御プログラム
WO2017192167A1 (en) 2016-05-03 2017-11-09 Google Llc Connecting an electronic component to an interactive textile
AU2017100667A4 (en) 2016-06-11 2017-07-06 Apple Inc. Activity and workout updates
DK201670608A1 (en) 2016-06-12 2018-01-02 Apple Inc User interfaces for retrieving contextually relevant media content
US20170357672A1 (en) 2016-06-12 2017-12-14 Apple Inc. Relating digital assets using notable moments
AU2017100670C4 (en) 2016-06-12 2019-11-21 Apple Inc. User interfaces for retrieving contextually relevant media content
DE102016114376A1 (de) * 2016-08-03 2018-02-08 Denso Corporation Feedback-unterstützte Fernsteuerung für Fahrzeugtüren
US11243996B2 (en) 2018-05-07 2022-02-08 Apple Inc. Digital asset search user interface
DK180171B1 (en) 2018-05-07 2020-07-14 Apple Inc USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT
US11086935B2 (en) 2018-05-07 2021-08-10 Apple Inc. Smart updates from historical database changes
US11922006B2 (en) 2018-06-03 2024-03-05 Apple Inc. Media control for screensavers on an electronic device
US20200014909A1 (en) 2018-07-03 2020-01-09 Faro Technologies, Inc. Handheld three dimensional scanner with autofocus or autoaperture
US10846343B2 (en) 2018-09-11 2020-11-24 Apple Inc. Techniques for disambiguating clustered location identifiers
US11435830B2 (en) 2018-09-11 2022-09-06 Apple Inc. Content-based tactile outputs
US10803135B2 (en) 2018-09-11 2020-10-13 Apple Inc. Techniques for disambiguating clustered occurrence identifiers
US20200097066A1 (en) * 2018-09-20 2020-03-26 XRSpace CO., LTD. Tracking Method and Tracking System Using the Same
US10902433B2 (en) 2019-01-14 2021-01-26 American Express Travel Related Services Company, Inc. Motion-enabled transaction system using air sign symbols
DK201970535A1 (en) 2019-05-06 2020-12-21 Apple Inc Media browsing user interface with intelligently selected representative media items
KR20210048725A (ko) 2019-10-24 2021-05-04 삼성전자주식회사 카메라 제어를 위한 방법 및 이를 위한 전자 장치
US11422629B2 (en) 2019-12-30 2022-08-23 Joyson Safety Systems Acquisition Llc Systems and methods for intelligent waveform interruption
DK181076B1 (en) 2020-02-14 2022-11-25 Apple Inc USER INTERFACES FOR TRAINING CONTENT
JP7322824B2 (ja) * 2020-07-01 2023-08-08 トヨタ自動車株式会社 情報処理装置、情報処理方法、および制御システム
US11893212B2 (en) 2021-06-06 2024-02-06 Apple Inc. User interfaces for managing application widgets

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728591A (ja) * 1993-05-13 1995-01-31 Toshiba Corp 空間操作マウスシステム及び空間動作パターン入力方法
JPH0798630A (ja) * 1993-09-28 1995-04-11 Towa Electron Kk 三次元位置入力装置
JP3792832B2 (ja) * 1997-05-07 2006-07-05 富士重工業株式会社 ステレオカメラの調整装置
KR100595926B1 (ko) * 1998-01-26 2006-07-05 웨인 웨스터만 수동 입력 통합 방법 및 장치
JP3022558B1 (ja) * 1998-05-21 2000-03-21 日本電信電話株式会社 三次元表示方法及び装置
JP2000097637A (ja) * 1998-09-24 2000-04-07 Olympus Optical Co Ltd 姿勢位置検出装置
JP2000132305A (ja) * 1998-10-23 2000-05-12 Olympus Optical Co Ltd 操作入力装置
US6288704B1 (en) * 1999-06-08 2001-09-11 Vega, Vista, Inc. Motion detection and tracking system to control navigation and display of object viewers
US6466198B1 (en) * 1999-11-05 2002-10-15 Innoventions, Inc. View navigation and magnification of a hand-held device with a display
WO2001086920A2 (en) * 2000-05-12 2001-11-15 Zvi Lapidot Apparatus and method for the kinematic control of hand-held devices
AUPQ896000A0 (en) * 2000-07-24 2000-08-17 Seeing Machines Pty Ltd Facial image processing system
US6798429B2 (en) * 2001-03-29 2004-09-28 Intel Corporation Intuitive mobile device interface to virtual spaces
WO2003001340A2 (en) * 2001-06-22 2003-01-03 Motion Sense Corporation Gesture recognition system and method
GB2378878B (en) * 2001-06-28 2005-10-05 Ubinetics Ltd A handheld display device

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8432365B2 (en) 2007-08-30 2013-04-30 Lg Electronics Inc. Apparatus and method for providing feedback for three-dimensional touchscreen
WO2009028921A3 (en) * 2007-08-30 2009-05-07 Lg Electronics Inc Apparatus and method for providing feedback for three-dimensional touchscreen
US8219936B2 (en) 2007-08-30 2012-07-10 Lg Electronics Inc. User interface for a mobile device using a user's gesture in the proximity of an electronic device
WO2009028921A2 (en) * 2007-08-30 2009-03-05 Lg Electronics Inc. Apparatus and method for providing feedback for three-dimensional touchscreen
US8049737B2 (en) 2007-12-17 2011-11-01 Samsung Electronics Co., Ltd. Dual pointing device and method based on 3-D motion and touch sensors
KR20100124324A (ko) * 2008-03-12 2010-11-26 임머숀 코퍼레이션 햅틱으로 인에이블된 사용자 인터페이스
US10338798B2 (en) 2008-03-12 2019-07-02 Immersion Corporation Haptically enabled user interface
US9513704B2 (en) 2008-03-12 2016-12-06 Immersion Corporation Haptically enabled user interface
KR101524616B1 (ko) * 2008-07-07 2015-06-02 엘지전자 주식회사 자이로센서를 구비한 휴대 단말기 및 그 제어방법
US10416775B2 (en) 2008-07-15 2019-09-17 Immersion Corporation Systems and methods for shifting haptic feedback function between passive and active modes
US10203756B2 (en) 2008-07-15 2019-02-12 Immersion Corporation Systems and methods for shifting haptic feedback function between passive and active modes
US9785238B2 (en) 2008-07-15 2017-10-10 Immersion Corporation Systems and methods for transmitting haptic messages
KR101482121B1 (ko) * 2008-08-04 2015-01-13 엘지전자 주식회사 웹 브라우징이 가능한 휴대 단말기 및 그 제어방법
US11541296B2 (en) 2008-12-05 2023-01-03 Nike, Inc. Athletic performance monitoring systems and methods in a team sports environment
KR20110110361A (ko) * 2009-01-29 2011-10-06 임머숀 코퍼레이션 그래픽 사용자 인터페이스와의 물리적 상호작용을 해석하는 시스템 및 방법
KR20110065857A (ko) * 2009-12-10 2011-06-16 삼성전자주식회사 휴대용 전자장치 및 그 동작 제어방법
KR20120094447A (ko) * 2011-02-16 2012-08-24 삼성전자주식회사 모바일 단말에서 어플리케이션 제어 방법 및 그 모바일 단말
KR20140001263A (ko) * 2012-06-22 2014-01-07 삼성전자주식회사 휴대단말기의 통화중 메모 처리장치 및 방법
KR20200034005A (ko) * 2012-10-25 2020-03-30 나이키 이노베이트 씨.브이. 팀 스포츠 환경에서의 운동 수행 모니터링 시스템들 및 방법들
KR20190044701A (ko) * 2012-10-25 2019-04-30 나이키 이노베이트 씨.브이. 팀 스포츠 환경에서의 운동 수행 모니터링 시스템들 및 방법들
KR20140064693A (ko) * 2012-11-20 2014-05-28 삼성전자주식회사 디바이스의 움직임을 포함하는, 착용식 전자 디바이스로의 사용자 제스처 입력
US10423214B2 (en) 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
US10194060B2 (en) 2012-11-20 2019-01-29 Samsung Electronics Company, Ltd. Wearable electronic device
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
US11237719B2 (en) 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US11372536B2 (en) 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
US10754432B2 (en) 2015-12-01 2020-08-25 Sony Corporation Information processing device and information processing method for detecting gesture manipulation

Also Published As

Publication number Publication date
WO2005103863A3 (en) 2006-01-26
KR100853605B1 (ko) 2008-08-22
EP1728142B1 (en) 2010-08-04
JP2008299866A (ja) 2008-12-11
WO2005103863A2 (en) 2005-11-03
EP1728142A2 (en) 2006-12-06
JP4812812B2 (ja) 2011-11-09
JP2007531113A (ja) 2007-11-01

Similar Documents

Publication Publication Date Title
KR100853605B1 (ko) 핸드헬드 장치에서의 경사 및 평행 이동 운동 성분들의구별
US7176888B2 (en) Selective engagement of motion detection
US7301529B2 (en) Context dependent gesture response
US7301528B2 (en) Distinguishing tilt and translation motion components in handheld devices
US7180500B2 (en) User definable gestures for motion controlled handheld devices
US11119575B2 (en) Gesture based user interface supporting preexisting symbols
US7176887B2 (en) Environmental modeling for motion controlled handheld devices
US7990365B2 (en) Motion controlled remote controller
US7173604B2 (en) Gesture identification of controlled devices
US7903084B2 (en) Selective engagement of motion input modes
US7180502B2 (en) Handheld device with preferred motion selection
US7365736B2 (en) Customizable gesture mappings for motion controlled handheld devices
US7365737B2 (en) Non-uniform gesture precision
US7180501B2 (en) Gesture based navigation of a handheld user interface
US7301526B2 (en) Dynamic adaptation of gestures for motion controlled handheld devices
US7280096B2 (en) Motion sensor engagement for a handheld device
US7301527B2 (en) Feedback based user interface for motion controlled handheld devices
US7365735B2 (en) Translation controlled cursor
US7176886B2 (en) Spatial signatures

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: 20120724

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130719

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140721

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 12