KR20080091372A - 공간적으로 분절가능한 인터페이스 및 애플리케이션 프레임워크를 제어하는 연관 방법 - Google Patents

공간적으로 분절가능한 인터페이스 및 애플리케이션 프레임워크를 제어하는 연관 방법 Download PDF

Info

Publication number
KR20080091372A
KR20080091372A KR1020087020257A KR20087020257A KR20080091372A KR 20080091372 A KR20080091372 A KR 20080091372A KR 1020087020257 A KR1020087020257 A KR 1020087020257A KR 20087020257 A KR20087020257 A KR 20087020257A KR 20080091372 A KR20080091372 A KR 20080091372A
Authority
KR
South Korea
Prior art keywords
mobile device
application program
plug
output
interface
Prior art date
Application number
KR1020087020257A
Other languages
English (en)
Inventor
케이쓰 와터즈
브레드포드 라세이
필립 자키에라즈
클레이톤 윌리엄스
Original Assignee
프랑스 텔레콤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 프랑스 텔레콤 filed Critical 프랑스 텔레콤
Publication of KR20080091372A publication Critical patent/KR20080091372A/ko

Links

Images

Classifications

    • 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/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • 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
    • 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/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Set Structure (AREA)

Abstract

애플리케이션 프로그램에 대한 공간적으로 분절가능한 제어를 부여하기 위하여 모바일 장치가 제공된다. 상기 장치는 GUI를 제공하기 위한 디스플레이를 포함한다. 공간 검출 유닛이 모바일 장치의 공간 이동을 검출하도록 구성되고, 검출된 공간 이동에 응답하여 출력을 제공한다. 데이터 프로세서는 실행 코드를 위한 플랫폼을 제공하도록 구성되고, 출력을 모니터링하여 통신 채널에 제공한다. 실행 코드는 데이터 프로세서의 플랫폼 상에서 실행된다. 실행 코드는 인터프리터 라이브러리를 포함하고, 인터프리터 라이브러리는 통신 채널에 동작가능하게 링크되고, 출력을 수신하기 위해 데이터 프로세서와의 통신을 수행하도록 구성된다. 인터프리터는 인터프리터 라이브러리와 관련된 이벤트들을 생성한다. 플러그-인은 대응하여 생성된 이벤트들을 수신하기 위해 인터프리터 라이브러리에 상호 링크된 인터페이스를 갖는다. 생성된 이벤트들은 플러그-인의 스크립트 인터페이스에 제공된다. 브라우징 프로그램은 플러그-인에 상호 링크되고 생성된 이벤트들을 플러그-인으로부터 수신하도록 구성된다. 이러한 방식으로, 스크립트 인터페이스는 브라우징 프로그램이 모바일 장치의 공간 이동에 응답하여 디스플레이 상에서 제어되도록 스크립트 환경을 지원한다.

Description

공간적으로 분절가능한 인터페이스 및 애플리케이션 프레임워크를 제어하는 연관 방법{SPATIALLY ARTICULABLE INTERFACE AND ASSOCIATED METHOD OF CONTROLLING AN APPLICATION FRAMEWORK}
본 발명은 공간적으로 분절가능한 제어 인터페이스에 관한 것이고, 보다 상세하게, 장치의 공간 이동이 애플리케이션 프로그램의 스크립트 가능한 환경에 제어 이벤트들을 부여하는 애플리케이션 프레임워크에 관한 것이다.
본 명세서에 제공된 "배경기술"에 대한 설명은 본 발명의 맥락을 일반적으로 기술하기 위한 목적으로 제공된다. 이러한 설명에 기술된 발명자들의 연구, 및 출원 당시 선행기술로서 달리 한정되지 않은 설명의 특징들은 명시적으로든 암시적으로든 본 발명에 대한 선행 기술로서 인정되지 않는다.
모바일 장치, 예를 들어, 휴대폰, MP3 플레이어, PDA 등은 기능들의 증가 및 전통적인 키보드 및 제어부의 소형화로 인하여 동작하기에 점점 더 복잡해지고 있다. 예를 들어, 다수의 기능들이 하나의 단일 장치로 통합됨에 따라, 모바일 장치 기능성은 장치들에 따라 현저히 증가되었다. 이러한 멀티-기능들은 텍스트 메시지, 이메일, 멀티미디어 재생, 웹 브라우징, 이와 유사한 것을 포함한다. 동시에, 그리고 더 많은 기능에 대한 열망과 상충하여, 상기 모바일 장치들의 물리적 크기 및 중량을 더 감소시키고자 하는 압박이 증가하고 있다.
목적하는 크기 감소와 관련하여, 디스플레이는 더 명료해지고 있고 따라서 더 쉽게 크기가 줄어들 수 있으며, 전자장치 및 데이터 저장 장치와 같은 내부 컴포넌트들은 급속히 매우 더 작아지고 있다. 이것은 설계자들에게 다양한 기능들에 대한 사용자 제어부 또는 인터페이스의 크기를 감소시켜야 한다는 엄청난 압력을 주었다.
모바일 장치들에 대한 사용자 인터페이스들이 더 작아지고 증가하는 기능들의 세트를 지원하도록 요구됨에 따라, 경험이 부족한 사용자들, 통근자들 그리고 노인들은 작은 물리적 제어부들을 네이게이팅하기 어렵기 때문에 장치의 전체 기능을 액세스하는 것이 어렵다.
따라서 전술한 모바일 장치의 크기 감소 또는 기능성 증가에 의해 제한되지 않는, 보다 단순한 사용자 인터페이스에 대한 요구가 존재한다.
본 발명은 모바일 장치의 애플리케이션 프로그램에 대한 제어를 부여하는 방법을 제공한다. 본 방법은 모바일 장치의 디스플레이에 애플리케이션 프로그램의 그래픽 사용자 인터페이스(GUI)를 디스플레이하는 단계를 포함한다. 정의된 공간 이동의 발생은 모바일 장치의 공간적 플랫폼에 의해 결정된다. 대응하는 제어 신호는 상기 발생에 응답하여 모바일 장치에 의해 생성된다. 제어 신호는 애플리케이션 프레임워크의 플러그-인 프로그램에 제공된다. 플러그-인의 제어 신호는 애플리케이션 프로그램에 제공된다. 애플리케이션 프로그램에 의해 지원되는 스크립트 환경에서 동작하는 스크립트는 모바일 장치의 공간 이동에 따라 그것에 제어를 부여하기 위해 실행된다.
본 발명의 부가 태양에 따라, 모바일 장치는 그래픽 사용자 인터페이스(GUI)를 제공하도록 구성된 디스플레이를 포함한다. 공간 검출 유닛은 모바일 장치의 공간 이동을 검출하도록 구성되고 그것에 응답하여 출력을 제공한다. 데이터 프로세서는 소프트웨어 플랫폼을 제공하도록 구성되고, 출력을 모니터링 하여 통신 채널에 제공하도록 구성된다. 플랫폼 상에서 실행하도록 동작하는 실행 코드는 통신 채널에 동작가능하게 링크된 인터프리터 라이브러리(interpreter library)를 포함한다. 인터프리터 라이브러리는 출력을 수신하기 위해 데이터 프로세서와의 통신을 구현하도록 구성된다. 인터프리터는 인터프리터 라이브러리에 관한 이벤트들을 생성한다. 플러그-인은 대응하는 생성된 이벤트들을 수신하기 위하여 인터프리터 라이브러리에 상호 링크된 인터페이스를 갖는다. 생성된 이벤트들은 플러그-인의 스크립트 인터페이스에 제공된다. 브라우징 프로그램은 디스플레이에 GUI를 제공하고, 플러그-인에 상호 링크되고, 플러그-인은 생성된 이벤트들을 수신하도록 구성된다. 스크립트 인터페이스는 브라우징 프로그램이 모바일 장치의 공간 이동에 응답하여 제어되도록 스크립트 환경을 지원한다.
본 발명의 또 다른 태양에서, 애플리케이션 프로그램에 제어를 부여하는 시스템이 제공된다. 상기 시스템의 핸드-헬드 장치는 공간 검출 유닛을 포함하고, 공간 검출 유닛은 핸드-헬드 장치의 공간 이동을 검출하도록 구성되고 그에 응답하여 출력을 제공한다. 데이터 프로세서는 출력을 모니터링 하고, 통신 채널에 출력을 제공한다. 상기 시스템의 호스트 장치는 그래픽 사용자 인터페이스(GUI)를 제공하도록 구성된 디스플레이를 포함한다. 실행 코드는 호스트 장치의 플랫폼 상에서 실행되도록 동작하고, 통신 채널에 동작가능하게 링크된 인터프리터 라이브러리를 포함한다. 인터프리터 라이브러리는 출력을 수신하기 위해 데이터 프로세서와의 통신을 구현하도록 구성된다. 인터프리터는 인터프리터 라이브러리에 대한 이벤트들을 생성한다. 플러그-인은 대응하여 생성된 이벤트들을 수신하기 위해 인터프리터 라이브러리에 상호 링크된 인터페이스를 갖는다. 생성된 이벤트들은 플러그-인의 스크립트 인터페이스에 제공된다. 브라우징 프로그램은 GUI를 제공하고, 플러그-인에 상호 링크되며, 플러그-인은 생성된 이벤트들을 수신하도록 구성된다. 스크립트 인터페이스는 브라우징 프로그램이 핸드-헬드 장치의 공간 이동에 응답하여 제어되도록 스크립트 환경을 지원한다.
전술한 본 발명의 일반적 설명 및 이하의 상세한 설명 모두 예시적인 것이며, 본 발명을 제한하지 않는 것으로 이해되어야 한다.
본 발명의 보다 완전한 이해 및 본 발명에 수반되는 이점들은 첨부 도면들과 관련하여 고려된 이하의 상세한 설명을 참조하여 쉽게 이해될 것이고, 더 잘 이해될 것이다.
도 1은 본 발명의 예시적인 모바일 장치의 투시도이다.
도 2는 도 1의 예시적인 모바일 장치의 구조에 대한 높은 수준 블록 다이어그램이다.
도 3은 도 1의 모바일 장치의 예시적인 프로세스 흐름을 나타내는 흐름도이다.
도 4는 도 1의 모바일 장치에 대한 사용자 입력 동작의 흐름도이다.
이하의 설명에 사용된 특정 용어는 단지 편의를 위한 것이지 제한적인 것이 아니다. 본 명세서에서 사용된 용어 "분절가능" 및 "공간 이동"은 장치와 관련하는 3차원 공간에서의 전체 운동 범위를 언급한다. 이러한 운동 범위는 임의의 축에 따른 전체 회전, 부분 회전, 및/또는 "튕기기(flick)" 또는 "흔들기(shake)"와 같은 비회전 이동을 포함한다. 본 명세서에서 사용된 "튕기기"는 한 방향으로의 빠른 움직임(지속기간이 미리 설정됨)으로서, 그 다음 원래의 시작 지점으로 다시 되돌아오는 움직임으로 정의된다. 본 명세서에서 사용된 "흔들기"는 연속적인 튕기기를 포함한다. 마찬가지로, 본 명세서에서 사용된 분절가능한 및/또는 공간 이동은 원래의 시작 시점으로 복귀될 필요없는 임의 방향으로의 각 이동(angled movement) 및/또는 선형 이동을 포함한다. 도면에서, 동일한 참조 번호들은 여러 도면에 걸쳐 동일 엘리먼트들을 지시하기 위하여 사용된다.
본 발명은 장치의 공간 이동의 검출에 기초하여 인터페이스들을 스크립트하기 위한 입력 메커니즘에 관한 것이다. 악수(handshaking), 기울임(tilting), 꼬임(twisting), 회전 및 임의 방향으로의 손목 튕김(writst flicking)은 스크립트 환경에 의해 프로세싱되는 이벤트들로 변환된다.
본 발명은 스크립트 환경, 예시적인 실시예에서 월드 와이드 웹 브라우저가 이용되는 스크립트 환경을 지원하는 애플리케이션 프로그램을 포함하는 모바일 장치를 제공한다. 웹 브라우저는 그래픽 사용자 인터페이스(GUI)를 제공하고, GUI는 전형적으로 윈도우즈-기반 운영 시스템에서 제시되는 바와 같이, 아이콘, 메뉴, 라디오 버튼 및 이와 유사한 것의 형태로 온-스크린 옵션들의 디스플레이를 디스플레이하거나 디스플레이를 돕는 컴퓨터 환경을 제공한다. 그러한 브라우저들은 모바일 장치의 Symbian®, Linux®, 및/또는 Windows CE 운영 시스템들에 의해 지원되는 Mozilla Minimo®, Opera® 및 Thunderhawk® 브라우저들을 포함할 수 있다. 물론, 당업자는 예시적인 실시예가 Unix, Windows Vista와 같은 넌-모바일 플랫폼들 및 이에 대응하여 Netscape Navigator, Microsoft Internet Explorer 및 Firefox와 같은 브라우징 기술들을 포함할 수도 있음을 인식할 것이다.
도 1은 예시적인 입력 모바일 장치(201)를 보여준다. 공간 운동 또는 악수와 같은 손 이동들, 예를 들어, 도시된 기울임(피치(pitch)로도 알려짐) 및 좌우 손목 튕김은 자동으로 이벤트들(여기서, 화살표로 도시된 피치업, 좌 흔들림(yaw left), 우 흔들림(yaw right))로 변환(translate)된다. 물론, 화살표들은 앞서 언급한 가능한 이동들만 제한되는 것이 아니라, 예시적인 것이다.
이제 도 2를 참조하면, 예시적인 실시예는 모바일 장치(201)의 대응하는 정의된 손 이동들로부터 정의된 이벤트들을 얻기 위해 모바일 장치(201)를 제공한다. 이러한 이벤트들은 호스트(202)로 전달되고, 호스트(202)는 그러한 이벤트들에 기초하여, 또는 그러한 이벤트들에 응답하여 사용자 상호작용을 제공하기 위하여 웹 브라우저를 채택한다.
보다 상세하게, 예시적인 모바일 장치 구조의 높은 수준 블록 다이어그램이 도 2에 도시된다. 모바일 장치(201)는 가속도계(204), 디지털 데이터 변환기(205) 및 프로세서(206)를 포함한 하드웨어 플랫폼(201a)을 포함한다. 호스트 또는 소프트웨어(202)는 브라우저(207), 스크립트(208), 플러그-인(209), 및 인터프리터(210)를 포함한다. 모바일 장치(201)는 통신 인터페이스(203)를 경유하여 호스트(202)와 통신한다.
모바일 장치(201)는 운동 검출기(예를 들어, 멀티방향 가속도계(204))를 포함하는 하드웨어 및/또는 소프트웨어, 또는 이들의 결합이다. 예시적인 가속도계는 3차원 공간 내에서 상기 장치(201)의 이동을 분간하기 위한 아날로그 데이터를 출력할 것이다. 그 다음 이러한 아날로그 데이터는 A/D(아날로그 대 디지털) 컨버터로서 기능하는 디지털 데이터 변환 유닛(205)에 의해 디지털 데이터로 변환된다. 만약 가속도계(204)가 프로세서(206)와 호환가능한 디지털 위치 데이터를 출력하면, 디지털 데이터 변환 유닛(205)은 제거될 수도 있다.
동작(action)들은 사용자에 의한 모바일 장치(201)의 운동들 또는 이동들(예를 들어, 왼쪽 또는 오른쪽으로의 갑작스런 운동은 도 1의 수평 화살표들에 의해 지시된 바와 같이 2가지 그러한 동작임)로서 정의된다. 동작들은 좌 또는 우로만 한정되는 것이 아니라, 기술될 검출 알고리즘은 이러한 2가지 특정 동작을 단지 예시의 목적으로 채택한 것이다.
검출된 상기 장치(201)의 정의된 운동들은 상기 장치가 기준 평면과 이루는 각도의 부호가 있는(signed) 측정인 피치 또는 기울어짐일 수 있다. 예시적인 실시예의 목적으로, 기준 평면은 수평이다(즉, 그것이 어떠한 안정 상태 위치에 있을지라도 지면과 평행함). 기준 평면은 안정 상태 위치에 있을 수 있다(작은 이동이 임계 검출 레벨들 아래에 있고 따라서 합리적인 입력이 아닌 것으로 무시됨). X 및 Y 축이 기준 평면에 있고 Z 축이 기준 평면에 수직인 직교 좌표계를 사용하여, 상방 이동(Up) 및 하방 이동(Down)이 Z 축을 따라 검출될 수 있고, 우측 내지 좌측 이동들이 X 축을 따라 검출되며, 전방 및 후방 이동들은 Y 축을 따라 검출된다. 기울어짐(tilt) 또는 피치(pitch)는 Z 및 Y 축들을 따라 검출되고, 흔들림(yaw)은 X 및 Y 축을 따라 검출되며, 롤(roll)은 Z 및 X 축을 따라 검출된다. 이동의 임계값들은 입력들로 의도되지 않은 모바일 장치의 작은 이동들을 제거하고, 가속도의 임계값들은 의미있는 입력들로 판단되지 않는 긴 시간 주기에 걸쳐 일어나는 거리 임계값들보다 더 큰 이동들을 제거한다.
상기 6개의 이동들 각각은 방향과 관련하여 더 구분될 수 있고, 예를 들어, 기울어짐은 상방으로의 양 또는 하방으로의 음일 수 있고, 그에 의해 12가지 상이한 입력들을 포함한다. 모든 3개의 축들에 따른 동시 이동은 13번째의 독특한 입력일 수 있고, 변형예로서, 좌표계는 직교 좌표계 대신에 극 좌표계일 수 있다.
예시적인 실시예의 공간 이동 인터페이스는 하나 또는 다수의 가속도계, 일반적으로 가속도계(204)로부터의 정보를 해석한다. 가속도계(204)는 아날로그 또는 펄스 폭 변조(PWM) 신호들을 제공하고, 상기 신호들은 디지털 데이터 변환 유닛(205)에 의해 디지털 표현으로 포착된다. 그 다음 로(raw) 가속도 데이터는 마 이크로프로세서(206)에 의해 프로세싱된다. 마이크로프로세서(206)는 정의된 이벤트가 발생하였는지 여부를 판단하기 위하여 가속도 데이터를 해석하는 명령 세트로서 기능한다. 상기 장치(201)가 속해 있는 모드에 따라, 상기 장치(201)의 위치 또는 과거 위치에 대한 정보는 호스트(202)로 전송된다. 호스트(202)는 전형적으로 웹 브라우저(207)를 포함하는 명령 세트이다.
본 실시예에 사용될 수 있는 현존하는 여러 소형 장치 운동 센서, 데이터 변환기 및 프로세서들이 존재하고, 이들은 예를 들어, 1991년 1월 29일 발행된 Zimmerman 등의 미국특허 제4,988,981호, 2001년 4월 19일 공개된 국제공개 번호 WO 01/27735 A1에 개시되고, 상기 문헌들은 전체가 본 명세서에 편입된다.
프로세서(206)는 예를 들어, 소프트웨어, 미들웨어 또는 펌웨어로서 구현될 수 있다. 마찬가지로, 프로세서(206)는 프로그래밍 가능 로직, 주문형 집적 회로(ASIC), 마이크로컨트롤러, 또는 마이크로프로세서 또는 범용 컴퓨터로서 구현될 수 있다. 프로세서(206)는 위치 검출기 또는 이동 검출기(204)(예를 들어, 가속도계)로부터 나온 위치 데이터를 호스트(202)에 의해 이해될 수 있는 정의된 이벤트들로 변환한다.
프로세서(206)로부터 나온 정의된 이벤트 출력은 신호들을 나타내는 정의된 이벤트로서 상기 장치(201)로부터 통신 인터페이스(203)를 통해 호스트(202)로 전달된다.
통신 인터페이스(203)는 신호들의 교환, 예를 들어, 상기 장치(201)로부터 호스트(202)로의 이벤트 표현 신호들, 호스트(202)로부터 상기 장치(201)로의 제어 들, 그리고 다른 데이터의 교환을 위한 양방향 통신을 위하여, 동작가능하게 모바일 장치(201) 및 호스트(202)를 연결한다. 통신 인터페이스(203)는 임의 타입의 전송 라인을 채택할 수 있고, 예시적인 실시예에서, 통신 인터페이스(203)는 자립형 구성(stand alone configuration)을 위한 하드 와이어드 데이터 경로이다. 물론 당업자는 대안적인 실시예들에서, 통신 인터페이스(203)가 무선 기술들(예를 들어, 셀룰러, 블루투스, 와이파이, 와이맥스 단거리 무선 주파수, 하드 와이어링, 광학, IR 및 위성), 및 덜 바람직하게는 케이블에 의해 구현될 수 있음을 알 수 있을 것이다. 그러한 실시예들에서, 모바일 장치는 호스트(202)의 소프트웨어와 별개인 핸드헬드 제어일 것이다.
그 다음 통신 인터페이스(203)에 의해 전달된 이벤트들은 예를 들어, 스크립트 환경(예를 들어, 호스트(202)의 브라우저(207)의 스크립트들(208))을 사용하여 브라우저에 의해 다루어진다.
인터프리터(210)는 통신 및 호스트(202)를 위한 상기 장치의 제어 사양을 구현하는 라이브러리를 구비한다. 그것은 통신 매체와 독립적이나, 통신 인터페이스(203)를 통한 통신을 수행하기 위하여 호스트(202)의 소프트웨어를 사용할 수도 있다. 인터프리터(210)는 이벤트 기반이고, 완전한 데이터 메시지를 상기 장치(201)로부터 수신하자 마자, 이벤트들을 0개 또는 그 이상의 적절한 등록된 이벤트 청취자(event listener)들에게 전달한다. 상기 장치(201)의 모드는 인터프리터(210)로부터 통신 인터페이스(203)를 통해 상기 장치(201)로 제어 메시지들을 전송함으로써, 그리고 상기 장치(201)가 그러한 제어 메시지들을 승인하기를 대기함 으로써 조작된다. 이러한 기능들은 바람직하게 소프트웨어로 구현된다.
브라우저(207)는 브라우저의 플러그-인 인터페이스(209)를 통해 인터프리터(201)를 알고 있다. 플러그-인 코드는 그 자신을 이벤트 청취자로서 인터프리터의 인스턴스(instance)에 등록하고, 이벤트들은 상기 장치(201)로부터 수신될 때 인터프리터로 전달된다. 플러그-인(209)은 통신 인터페이스(203)를 통해 전달된 신호들을 나타내는 이벤트에 응답할 수도 있고 응답하지 않을 수도 있다. 특히, 플러그-인(209)은 그러한 이벤트 신호들을 스크립트들(208)에 노출할 수 있거나, 브라우저를 직접 제어하기 위하여 이벤트 신호들을 사용할 수 있다. 플러그-인(209)은 인터프리터(210)의 제어 기능들에 대한 액세스를 갖고, 인터프리터(210)는 또한 스크립트들에 노출될 수도 있다. 이러한 기능들은 바람직하게 소프트웨어로 구현된다.
도 2에서 호스트(202)의 스트립트들(208)은 웹 개발자들이 상기 장치(201)로부터의 입력에 기초하여 그들의 웹 사이트들의 콘텐츠를 동적으로 변경할 수 있게 한다. 예를 들어, 상기 장치로부터의 기울어짐 데이터는 웹-기반 맵, 또는 상기 장치(201)에 의해 인식된 제스처을 제어하고, 콘텐츠의 갑작스런 변화가 일어나는 때마다 시그널링을 한다. 스크립트 인터페이스(208)는 플러그-인(209)의 구현에 의해 정의되고, 플러그-인은 상기 장치로부터 나온 임의의 양의 정보를 노출시키거나 노출시키지 않을 수 있다. 이러한 기능들은 바람직하게 소프트웨어로 구현된다. 당업자는 스크립트들을 서버 측이든 클라이언트 측이든 간에, Java, Javascript, PHP, ASP, CGI 및 Perl의 실행가능자들에 의해 구현되는 것과 같은, 콘텐츠 제공자 정의 실행가능자(content provider defined executable)로서 인식할 것이다.
흐름도에서 임의의 프로세스 설명들 또는 블록들은 특정 로직 기능들 또는 프로세스의 단계들을 구현하기 위한 하나 이상의 실행가능한 명령들을 포함하는 모듈, 세그먼트, 코드의 부분들로서 이해되어야 하고, 대안적인 구현예들이 본 발명의 예시적인 실시예의 범위 내에서 포함되고, 당업자가 이해하는 바와 같이, 본 발명에서 기능들이 관련된 기능에 따라 도시된 또는 논의된 순서를 벗어나서 실행될 수도 있고, 거의 일치하여 실행되거나 역 순서로 실행될 수도 있다.
도 3의 흐름도와 관련하여 개시된 바와 같이, 소프트웨어는 프로세서(206) 상에서 실행되고, 가속도계(204)로부터 나온 가속도 데이터를 해석하기 위해 사용된 알고리즘들에 부가하여 통신 인터페이스(203)를 통해 호스트(202)와 통신한다. 호스트(202)와 상기 장치(201) 사이의 통신은 상태 기계에 의해서 상기 장치 측 상에서 다루어진다. 호스트(202)는 상기 장치(201)로 명령들을 보내고, 그에 의하여 상기 장치(201)의 상태가 업데이트된다. 이러한 업데이트된 상태는 정보가 있다면 어떠한 정보가 호스트(202)로 전송되는지를 결정한다. 상기 장치(201)는 상기 장치(201)의 위치 변화가 정의된 이벤트인 정의된 동작으로서 해석될 때 정보를 보내고, 프로세싱되거나 프로세싱되지 않은 데이터 스트림을 전송한다.
동작은 예를 들어, 좌측 또는 우측으로의 갑작스러운 운동이다. 하나의 동작은 상기 장치가 사용되고 있는 동안 일어날 수 있는 다른 운동들(잡음, 예를 들어, 사용자가 이동하는 차량의 승객으로서 떠밀릴 때의 잡음)로부터 구별된다.
검출 시스템은 상기 장치가 동작 구동 모드에 투입될 때 진입하는 루프로 동작한다. 도 3은 통신 인터페이스(203)로 구현된 것으로서 통신 단계(407)에 의해 도 2의 가속도계(204)로부터 호스트(202)로의 데이터의 흐름(400)을 보여준다. 이러한 루프는 도 2의 프로세서(206)에 에워싸이고, 프로세서에서 디지털 데이터 변환기(205)(예를 들어, 아날로그 대 디지털 변환기(ADC)일 수 있음)로부터 나온 이진 데이터는 프로세서(206)(예를 들어, 범용 컴퓨터 프로세서 및 소프트웨어일 수 있음)에 대한 입력이다. 인터프리터(210)는 이벤트 제어 신호들을 브라우저 특정 제어들로 변환하는 테이블 룩업일 수 있다. 플러그-인(209)은 브라우저(207)와 직접 인터페이싱하고 핸드-헬드 모바일 장치와 관련하여 부가적인 기능을 표준 브라우저(207)에 주는 프로그램 모듈일 수 있다.
각각의 시간에 새로운 데이터 피스가 단계(402)에 의해 결정된 것으로서 이용가능하고, 새로운 이벤트 데이터가 이전의 N개의 데이터 포인트들을 포함하는 장치(201)의 작은 메모리 어레이(미도시)에 저장된다(단계(403)).
이러한 포인트에서, 데이터는 보통 잡음을 포함하는데, 잡음은 바람직하게 예를 들어, 각각의 새로운 데이터 포인트에 대하여 어레이에 있는 모든 데이터의 평균을 취하는 저역 통과 필터(미도시)로 필터링된다. 상기 필터링은 프로세서(206)로 달성될 수도 있다.
결과로 나오는 신호는 신호의 DC 성분을 제거하는 또 다른 필터(미도시)로 전달된다. DC 성분은 부호가 없는(unsigned) 디지털 데이터 변환기로부터 나온 데이터 스트림의 결과일 수 있다. 필터는 제 1 차이(이산 시간 차등, 단계(404))를 취함으로써 이러한 DC 성분을 제거한다. 그러나 필터링은 프로세서(206)를 사용하여 달성될 수도 있다.
그 다음, 도 3의 가속 신호 프로세싱(300)으로부터 야기된 필터링된 데이터 스트림, 보다 상세하게는 바람직하게 프로세서(206)로 구현된 도 4의 단계들(400, 401, 402, 403 및 404)로부터 야기된 필터링된 데이터 스트림은 상태 기계(405)로 전달되고, 상태 기계(405)는 정의된 동작이 일어났는지 여부를 단계(406)에서 결정한다. 정의된 이벤트로서 판단되는 정의된 동작이 일어난 때, 이벤트 신호가 단계(407)를 따라 호스트(202)로 통신 인터페이스(203)를 통해 전송된다.
도 3의 상태 기계 흐름도는 기계의 이전 상태 및 단계(300)로부터의 유입 데이터를 고려하는 단순한 결정 구조에 기초하여 그것의 상태들을 통해 이동한다.
기계가 단계(301)에 의해 결정된 것으로 안정 상태에 있다면, 그리고 동작 또는 이벤트 신호 임계값이 단계(304)에 의해 결정된 것으로서 교차된다면, 상태 기계는 특정 임계값이 교차되었다는 것에 대응하는 동작 상태(305)로 간다. 명료함을 위하여, 단지 한 세트의 단계들(304, 305)이 하나의 정의된 이벤트에 대해 에시되나, 바람직하게 다른 세트가 각각의 정의된 이벤트에 대하여 제공된다. 상기 장치(201)의 주된 프로세싱 루프(313)는 기계의 상태를 조사하고, 만약 기계가 동작 상태에 있다면, 적절한 정보가 통신 채널 또는 인터페이스(203)를 거쳐 호스트로 전달될 것이다(단계(312)).
갑작스런 동작으로부터 야기된 신호는 한 방향으로의 빠른 가속보다 훨씬 더 복잡하다. 처음 신호가 승인된 이후 신호가 다수의 임계값들과 교차하는 것은 특 이한 것이 아니다. 이것 때문에, 신호가 단계(301)에서 안정 상태에 있지 않은 것으로 판단되는 정의된 이동에 대한 것이 아닐 때(단계(302)), 보다 많은 동작들이 승인되기 이전에 상태 기계는 신호가 안정 상태로 복귀할 때까지 기다린다(단계들(303-311)). 이것을 달성하기 위하여, 기계는 제로 대기 상태로 진입한다. 일단 기계가 이러한 상태에 있다면, 그것은 X개의 연속 제로들을 기다린다(제로는 신호의 절대값이 임계값 아래에 있을 때 발생하고(단계(306)), 그 다음 단계(308)는 X 카운트를 증가시키고; 만약 신호의 절대값이 임계값 아래에 있지 않다면, 단계(307)는 제로 카운트를 리셋하고 루프(313)는 단계(300)로 프로세싱을 복구한다). X개의 연속 제로 이후에(단계(309)), 기계는 단계(310)에서 안정 상태로 복귀하고, 동작들은 다시 한 번 단계(300)로 프로세싱을 복구하는 루프(313)에 의해 승인될 수 있다.
통신 인터페이스(203)를 위한 통신들은 앞서 이전에 기술된 바와 같이 임의 타입의 매체에 대해 일어날 수 있다. 호스트(202)와 장치(201) 사이의 통신들은 폴링(poll)되거나 이벤트 기반(event driven)일 수 있고, 예를 들어, 호스트에 의해 결정된다. 상세하게, 호스트는 장치의 위치에 대한 정보를 요청할 수 있거나(폴링), 상기 장치는 독립적으로 호스트에 정보를 전송할 수 있다(이벤트 기반).
본 실시예의 변형예로서, 상기 장치(201)는 호스트(202)로부터의 명령에 의해 특정 모드에 놓일 수 있고, 그 결과 상기 장치(201)는 갑작스러운 좌측 또는 우측 운동(흔들림)에 대응하는 정보만을 전송할 것이다. 또 다른 예로서, 상기 장치는 상기 장치가 지면에 대하여 유지되고 있는 각도에 대응하는 기울어짐 데이터(피 치)의 스트림을 전송할 수 있다. 또한 롤 데이터가 전송될 수도 있다.
자명하게, 본 발명의 쉽게 인식할 수 있는 수정예 및 변형예들이 전술한 개념들의 견지에서 가능하다. 따라서 본 명세서에서 특별히 달리 기술되지 않는다면 첨부된 청구범위의 범위 내에서 본 발명이 실시될 수 있다. 예를 들어, 본 명세서의 시스템이 상호작용하며 협력하는 소프트웨어 및 하드웨어 컴포넌트들 중 하나 또는 양자 모두로 기술된 반면, 본 명세서에서 기술된 시스템은 전체가 소프트웨어로 실시될 수도 있다. 소프트웨어는 자기 또는 광학 디스크, 또는 무선 주파수 또는 오디오 주파수 반송파와 같은 캐리어로 구현될 수도 있다.
그리하여, 전술한 논의는 단지 본 발명의 예시적인 실시예만을 개시하고 기술한다. 당업자가 이해하다시피, 본 발명은 본 발명의 개념 또는 필수적인 특징들을 벗어나지 않으면서 다른 특정 형태들로 구현될 수 있다. 따라서, 본 발명의 개시는 예시적인 것으로 의도되고, 본 발명 및 다른 청구항들의 범위를 제한하고자 하는 것이 아니다. 본 명세서의 개념들로부터 쉽게 인식될 수 있는 변형예들을 포함하여 개시된 내용은 전술한 청구범위 용어의 범위를 부분적으로 정의하여, 그 결과 본 발명의 어떠한 대상도 대중에 헌납되지 않는다.

Claims (11)

  1. 모바일 장치의 애플리케이션 프로그램에 대한 제어를 부여하는 방법으로서,
    상기 모바일 장치의 디스플레이에 상기 애플리케이션 프로그램의 그래픽 사용자 인터페이스(GUI)를 디스플레이하는 단계;
    상기 모바일 장치의 정의된 공간 이동의 발생을 결정하는 단계;
    상기 발생에 응답하여 대응하는 제어 신호를 생성하는 단계;
    상기 애플리케이션 프로그램의 플러그-인 프로그램에 상기 제어 신호를 제공하는 단계;
    상기 애플리케이션 프로그램에 상기 플러그-인의 상기 제어 신호를 제시하는 단계; 및
    상기 모바일 장치의 공간 이동에 따라 상기 애플리케이션 프로그램에 대한 제어를 부여하기 위하여, 상기 애플리케이션 프로그램에 의해 지원되는 스크립트 환경에서 동작하는 스크립트를 실행하는 단계;
    를 포함하는,
    제어 부여 방법.
  2. 제1항에 있어서,
    상기 제어 신호는 상기 애플리케이션 프로그램과 인터페이싱하는 플러그-인 실행가능자에 의해 제공되는,
    제어 부여 방법.
  3. 제1항에 있어서,
    상기 결정 단계는 상기 모바일 장치의 상태 기계로 구현되는,
    제어 부여 방법.
  4. 제1항에 있어서,
    상기 실행 단계 이후에, 상기 모바일 장치의 추가 이동을 모니터링하고 핸드헬드 모바일 장치가 실질적으로 안정 상태에 있을 때를 판단하는 단계; 및
    그 후에, 안정 상태의 판단에 응답하여, 상이한 정의된 이동에 관련하여 상기 결정 단계, 상기 생성 단계 및 상기 제공 단계를 반복하는 단계;
    를 더 포함하는,
    제어 부여 방법.
  5. 제1항에 있어서,
    상기 결정 단계는 상기 장치 내에서 가속도계 출력으로부터 나온 잡음 및 DC 성분들을 필터링하는 단계를 포함하는,
    제어 부여 방법.
  6. 제1항에 있어서,
    상기 생성 단계는 플러그-인 애플리케이션을 경유하여 제어 신호들을 생성하고, 상기 제어 신호들은 웹 브라우징 애플리케이션 프로그램의 스크립트 환경을 통해 프로세싱되는,
    제어 부여 방법.
  7. 모바일 장치로서,
    그래픽 사용자 인터페이스(GUI)를 제공하도록 구성된 디스플레이;
    상기 모바일 장치의 공간 이동을 검출하고 그에 응답하여 출력을 제공하도록 구성된 공간 검출 유닛;
    소프트웨어 플랫폼을 제공하도록 구성되고 상기 출력을 모니터링하여 상기 출력을 통신 채널에 제공하도록 구성된 데이터 프로세서;
    상기 플랫폼 상에서 실행되도록 동작하는 실행가능 코드;
    를 포함하고,
    상기 실행가능 코드는:
    상기 통신 채널에 동작가능하게 링크되고 상기 출력을 수신하도록 상기 데이터 프로세서와의 통신을 구현하도록 구성된 인터프리터 라이브러리 - 여기서, 인터프리터는 상기 인터프리터 라이브러리에 대한 이벤트들을 생성함 -,
    대응하는 생성된 이벤트들을 수신하기 위하여 상기 인터프리터 라이브러리에 상호 링크된 인터페이스를 갖는 플러그-인 - 여기서, 상기 생성된 이벤트들은 스크립트 인터페이스에 제공됨 -,
    상기 GUI를 제공하고 상기 생성된 이벤트들을 수신하도록 상기 플러그-인을 상호 링크하도록 구성된 브라우징 프로그램,
    을 포함하고,
    상기 스크립트 인터페이스는 상기 브라우징 프로그램이 상기 모바일 장치의 공간 이동에 응답하여 제어되도록 스크립트 환경을 지원하는,
    모바일 장치.
  8. 제7항에 있어서,
    상기 출력의 데이터 포인트들을 저장하도록 구성된 메모리를 더 포함하는,
    모바일 장치.
  9. 제7항에 있어서,
    상기 공간 검출 유닛은 부가하여:
    이전의 이동 결정과 비교하여 공간 이동을 결정하도록 구성된 상태 기계를 더 포함하는,
    모바일 장치.
  10. 애플리케이션 프로그램에 제어를 부여하는 시스템으로서,
    핸드헬드 장치; 및
    호스트 장치를 포함하고,
    상기 핸드헬드 장치는:
    상기 핸드헬드 장치의 공간 이동을 검출하고 그에 응답하여 출력을 제공하도록 구성된 공간 검출 유닛,
    상기 출력을 모니터링하고 상기 출력을 통신 채널에 제공하도록 구성된 데이터 프로세서,
    를 포함하며,
    상기 호스트 장치는:
    그래픽 사용자 인터페이스(GUI)를 제공하도록 구성된 디스플레이,
    상기 호스트 장치의 플랫폼 상에서 실행되도록 동작하는 실행가능 코드;
    를 포함하며,
    상기 실행가능 코드는:
    상기 통신 채널에 동작가능하게 링크되고 상기 출력을 수신하도록 상기 데이터 프로세서와의 통신을 구현하도록 구성된 인터프리터 라이브러리 - 여기서, 인터프리터는 상기 인터프리터 라이브러리에 대한 이벤트들을 생성함 -,
    대응하는 생성된 이벤트들을 수신하기 위하여 상기 인터프리터 라이브러리에 상호 링크된 인터페이스를 갖는 플러그-인 - 여기서, 상기 생성된 이벤트들은 스크립트 인터페이스에 제공됨 -,
    상기 GUI를 제공하고 상기 생성된 이벤트들을 수신하도록 상기 플러그-인을 상호 링크하기 위한 브라우징 프로그램,
    을 포함하고,
    상기 스크립트 인터페이스는 상기 브라우징 프로그램이 상기 핸드헬드 장치의 공간 이동에 응답하여 제어되도록 스크립트 환경을 지원하는,
    제어 부여 시스템.
  11. 컴퓨터가 상기 컴퓨터의 공간 이동에 응답하여 애플리케이션 프로그램을 제어하는 방법을 구현하게 하는 컴퓨터 프로그램 명령들을 포함하는 컴퓨터 판독가능 캐리어로서,
    상기 방법은:
    모바일 장치의 디스플레이에 상기 애플리케이션 프로그램의 그래픽 사용자 인터페이스(GUI)를 디스플레이하는 단계;
    상기 모바일 장치의 정의된 공간 이동의 발생을 결정하는 단계;
    상기 발생에 응답하여 대응하는 제어 신호를 생성하는 단계;
    상기 애플리케이션 프로그램의 플러그-인 프로그램에 상기 제어 신호를 제공하는 단계;
    상기 애플리케이션 프로그램에 상기 플러그-인의 상기 제어 신호를 제시하는 단계; 및
    상기 모바일 장치의 공간 이동에 따라 상기 애플리케이션 프로그램에 대한 제어를 부여하기 위하여, 상기 애플리케이션 프로그램에 의해 지원되는 스크립트 환경의 스크립트를 실행하는 단계;
    를 포함하는,
    컴퓨터 판독가능 캐리어.
KR1020087020257A 2006-01-20 2007-01-19 공간적으로 분절가능한 인터페이스 및 애플리케이션 프레임워크를 제어하는 연관 방법 KR20080091372A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/335,600 2006-01-20
US11/335,600 US20070174416A1 (en) 2006-01-20 2006-01-20 Spatially articulable interface and associated method of controlling an application framework

Publications (1)

Publication Number Publication Date
KR20080091372A true KR20080091372A (ko) 2008-10-10

Family

ID=38286851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087020257A KR20080091372A (ko) 2006-01-20 2007-01-19 공간적으로 분절가능한 인터페이스 및 애플리케이션 프레임워크를 제어하는 연관 방법

Country Status (6)

Country Link
US (1) US20070174416A1 (ko)
EP (1) EP1974261A2 (ko)
JP (1) JP2009524331A (ko)
KR (1) KR20080091372A (ko)
CN (1) CN101371226A (ko)
WO (1) WO2007083289A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100957575B1 (ko) * 2009-10-01 2010-05-11 (주)올라웍스 단말기의 움직임 또는 자세에 기초하여 비주얼 서치를 수행하기 위한 방법, 단말기 및 컴퓨터 판독 가능한 기록 매체
KR101477443B1 (ko) * 2010-09-29 2014-12-29 노키아 코포레이션 저 비용의 프로그램 가능 패턴 인식을 제공하는 방법 및 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070213110A1 (en) * 2005-01-28 2007-09-13 Outland Research, Llc Jump and bob interface for handheld media player devices
US20070061314A1 (en) * 2005-02-01 2007-03-15 Outland Research, Llc Verbal web search with improved organization of documents based upon vocal gender analysis
US20060241864A1 (en) * 2005-04-22 2006-10-26 Outland Research, Llc Method and apparatus for point-and-send data transfer within an ubiquitous computing environment
US7586032B2 (en) * 2005-10-07 2009-09-08 Outland Research, Llc Shake responsive portable media player
US20090282335A1 (en) * 2008-05-06 2009-11-12 Petter Alexandersson Electronic device with 3d positional audio function and method
US20100216508A1 (en) * 2009-02-23 2010-08-26 Augusta Technology, Inc. Systems and Methods for Driving an External Display Device Using a Mobile Phone Device
WO2011039643A1 (en) 2009-09-30 2011-04-07 France Telecom Control device
KR20110074017A (ko) * 2009-12-24 2011-06-30 삼성전자주식회사 멀티미디어 기기 및 그 동작 제어 방법
US10528221B2 (en) * 2009-12-31 2020-01-07 International Business Machines Corporation Gravity menus for hand-held devices
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
US10296205B2 (en) * 2011-12-12 2019-05-21 Sony Corporation User interface for controlling a display scale of an image
EP2680552A1 (en) 2012-06-29 2014-01-01 Orange Transmitting of data depention on motion
CN103838583B (zh) * 2014-03-26 2017-11-21 广东欧珀移动通信有限公司 一种快速查看图片的方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20001506A (fi) * 1999-10-12 2001-04-13 J P Metsaevainio Design Oy Kädessäpidettävän laitteen toimintamenetelmä
WO2002037471A2 (en) * 2000-11-03 2002-05-10 Zoesis, Inc. Interactive character system
US7519918B2 (en) * 2002-05-30 2009-04-14 Intel Corporation Mobile virtual desktop
US20040119684A1 (en) * 2002-12-18 2004-06-24 Xerox Corporation System and method for navigating information
US20040125073A1 (en) * 2002-12-30 2004-07-01 Scott Potter Portable electronic apparatus and method employing motion sensor for function control
US7489299B2 (en) * 2003-10-23 2009-02-10 Hillcrest Laboratories, Inc. User interface devices and methods employing accelerometers
US7180501B2 (en) * 2004-03-23 2007-02-20 Fujitsu Limited Gesture based navigation of a handheld user interface
US7365736B2 (en) * 2004-03-23 2008-04-29 Fujitsu Limited Customizable gesture mappings for motion controlled handheld devices
US7761814B2 (en) * 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
US20070036348A1 (en) * 2005-07-28 2007-02-15 Research In Motion Limited Movement-based mode switching of a handheld device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100957575B1 (ko) * 2009-10-01 2010-05-11 (주)올라웍스 단말기의 움직임 또는 자세에 기초하여 비주얼 서치를 수행하기 위한 방법, 단말기 및 컴퓨터 판독 가능한 기록 매체
KR101477443B1 (ko) * 2010-09-29 2014-12-29 노키아 코포레이션 저 비용의 프로그램 가능 패턴 인식을 제공하는 방법 및 장치

Also Published As

Publication number Publication date
US20070174416A1 (en) 2007-07-26
WO2007083289A2 (en) 2007-07-26
WO2007083289A3 (en) 2007-12-13
EP1974261A2 (en) 2008-10-01
CN101371226A (zh) 2009-02-18
JP2009524331A (ja) 2009-06-25

Similar Documents

Publication Publication Date Title
KR20080091372A (ko) 공간적으로 분절가능한 인터페이스 및 애플리케이션 프레임워크를 제어하는 연관 방법
EP2824551A1 (en) Method, device, and system for controlling computer terminal
JP5675627B2 (ja) 身振り認識を伴うモバイルデバイス
CN107707817B (zh) 一种视频拍摄方法及移动终端
EP3002936B1 (en) Method for adjusting window display position and terminal
CN110659098B (zh) 数据更新方法、装置、终端设备及存储介质
CN102945088B (zh) 实现终端模拟鼠标操作设备的方法、装置及移动终端
CN106339070B (zh) 一种显示控制方法,及移动终端
CN110058836B (zh) 一种音频信号的输出方法及终端设备
EP3557384A1 (en) Device and method for providing dynamic haptic playback for an augmented or virtual reality environments
CN104572322A (zh) 一种终端屏幕操作的方法
CN108920069B (zh) 一种触控操作方法、装置、移动终端和存储介质
JPWO2009072475A1 (ja) 入力装置、制御装置、制御システム、ハンドヘルド装置及び制御方法
WO2012139347A1 (zh) 终端、终端中的功能调用方法及装置
CN111176764B (zh) 显示控制方法和终端设备
CN104572071A (zh) 一种终端
KR20220092602A (ko) 애플리케이션 공유 방법, 전자기기 및 컴퓨터 판독가능 저장 매체
US10921882B1 (en) Human-machine interaction method, system and apparatus for controlling an electronic device
US20180253161A1 (en) Spatial motion-based user interactivity
WO2007065734A2 (en) Acceleration reference devices, cellular communication terminal systems, and methods that sense terminal movement for cursor control
CN110830063B (zh) 一种音频业务的干扰控制方法以及终端
CN111061404A (zh) 一种控制方法及第一电子设备
KR100524428B1 (ko) 6 자유도를 갖는 쌍방향 무선 마우스 장치의 구동방법 및 이를 이용한 컴퓨터 단말기의 구동방법
EP2538308A2 (en) Motion-based control of a controllled device
CN109814825B (zh) 显示屏操控方法和移动终端

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid