KR101497195B1 - Methods and apparatuses for operating a portable device based on an accelerometer - Google Patents

Methods and apparatuses for operating a portable device based on an accelerometer Download PDF

Info

Publication number
KR101497195B1
KR101497195B1 KR1020127018441A KR20127018441A KR101497195B1 KR 101497195 B1 KR101497195 B1 KR 101497195B1 KR 1020127018441 A KR1020127018441 A KR 1020127018441A KR 20127018441 A KR20127018441 A KR 20127018441A KR 101497195 B1 KR101497195 B1 KR 101497195B1
Authority
KR
South Korea
Prior art keywords
portable device
accelerometer
motion
determined
state
Prior art date
Application number
KR1020127018441A
Other languages
Korean (ko)
Other versions
KR20120096080A (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
Priority claimed from US10/791,495 external-priority patent/US7218226B2/en
Priority claimed from US10/890,856 external-priority patent/US7307228B2/en
Priority claimed from US10/986,730 external-priority patent/US7688306B2/en
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20120096080A publication Critical patent/KR20120096080A/en
Application granted granted Critical
Publication of KR101497195B1 publication Critical patent/KR101497195B1/en

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

Abstract

가속도계에 기초하여 휴대용 장치를 작동시키기 위한 방법 및 장치가 설명된다. 본 발명의 한 실시예에 따르면, 휴대용 장치에 부착된 가속도계는 휴대용 장치의 움직임을 검출한다. 이에 응하여, 하나 이상의 소정의 사용자 구성가능 동작을 수행하는 휴대용 장치 내의 기계 실행가능 코드가 수행된다. 다른 방법 및 장치가 또한 설명된다.A method and apparatus for operating a portable device based on an accelerometer are described. According to one embodiment of the present invention, an accelerometer attached to a portable device detects movement of the portable device. In response, machine executable code within a portable device performing one or more predetermined user configurable operations is performed. Other methods and apparatus are also described.

Description

가속도계에 기초하여 휴대용 장치를 작동시키기 위한 방법 및 장치{METHODS AND APPARATUSES FOR OPERATING A PORTABLE DEVICE BASED ON AN ACCELEROMETER}≪ Desc / Clms Page number 1 > METHODS AND APPARATUS FOR OPERATING A PORTABLE DEVICE BASED ON AN ACCELEROMETER < RTI ID = 0.0 >

<참조 문헌><Reference Literature>

본 출원은 2004년 7월 13일에 출원된 계류중인 미국 특허 출원 제10/890,856호의 일부 계속 출원이며, 이것은 현재 미국 특허 제6,768,066호이며 2003년 1월 21일에 출원된 계류중인 미국 특허 출원 제10/348,465호의 계속 출원이며, 이것은 현재 미국 특허 제6,520,013호이며 2000년 10월 2일에 출원된 계류중인 미국 특허 출원 제09/678,541호의 분할 출원이다.This application is a continuation-in-part of co-pending U.S. Patent Application No. 10 / 890,856, filed July 13, 2004, which is now U.S. Patent No. 6,768,066 and is a pending U.S. patent application filed on January 21, 10 / 348,465, which is now a continuation-in-part of U.S. Patent No. 6,520,013 and pending U.S. Patent Application No. 09 / 678,541, filed October 2, 2000.

본 출원은 또한 2004년 3월 1일에 출원된 계류중인 미국 특허 출원 제10/791,495호의 일부 계속 출원이다. 상술된 미국 특허 출원들은 참조함으로써 본 명세서에 포함된다.The present application is also a continuation-in-part of pending U.S. Patent Application No. 10 / 791,495, filed March 1, 2004. The above-mentioned U.S. patent applications are incorporated herein by reference.

본 발명은 일반적으로 휴대용 장치에 관한 것이다. 보다 구체적으로는, 본 발명은 휴대용 장치의 가속도계를 이용하여 휴대용 장치를 작동시키는 것에 관한 것이다.The present invention relates generally to portable devices. More particularly, the present invention relates to operating a portable device using an accelerometer of a portable device.

가속도계는 진동 모니터링, 가전 제품 제어, 조이스틱, 산업 공정 제어, 우주선 발사, 위성 제어 및 많은 다른 분야에서와 같이 다양하게 응용되어 널리 사용되는 장치이다. 예를 들어, 가속도계는 차량이 움직이고 있을 때 각종 작동 조건을 검출하기 위한 센서로서 차량에서 사용되어 왔다.Accelerometers are widely used and widely used in applications such as vibration monitoring, consumer electronics control, joysticks, industrial process control, space launch, satellite control, and many others. For example, accelerometers have been used in vehicles as sensors to detect various operating conditions when the vehicle is moving.

컴퓨터가 점점 대중화됨에 따라, 가속도계는 예를 들어 자유 낙하와 같이 컴퓨터의 갑작스러운 움직임을 감지하기 위해 컴퓨터에서 사용되어 오고 있다. 컴퓨터에서의 가속도계의 통상적인 응용은 하드 드라이브의 읽기/쓰기 헤드를 보호하는 것이다. 그러나, 컴퓨터 내에서 실행가능한 소프트웨어와 관련하여 가속도계를 사용하는 응용은 없었다.As computers become more popular, accelerometers have been used in computers to detect sudden movements of the computer, such as free-fall, for example. A typical application of an accelerometer on a computer is to protect the read / write head of the hard drive. However, there have been no applications that use accelerometers in connection with software that is executable within a computer.

가속도계에 기초하여 휴대용 장치를 작동시키기 위한 방법 및 장치가 설명된다. 본 발명의 한 실시예에 따르면, 휴대용 장치에 부착된 가속도계는 휴대용 장치의 움직임을 검출한다. 이에 응하여, 기계 실행가능 코드가 실행되어 소정의 사용자 구성가능 동작을 수행한다. A method and apparatus for operating a portable device based on an accelerometer are described. According to one embodiment of the present invention, an accelerometer attached to a portable device detects movement of the portable device. In response, the machine executable code is executed to perform a predetermined user configurable operation.

본 발명의 한 실시예에 따르면, 휴대용 장치의 가속도계는 계속 또는 주기적으로 휴대용 장치의 움직임을 모니터링한다. 그 결과, 움직임 이전 또는 움직임 후의 휴대용 장치의 방위는 휴대용 장치에 부착된 가속도계에 의해 제공되는 움직임 데이터에 기초하여 정해질 수 있다.According to one embodiment of the present invention, the accelerometer of the portable device continuously or periodically monitors the movement of the portable device. As a result, the orientation of the portable device before or after the movement can be determined based on the motion data provided by the accelerometer attached to the portable device.

본 발명의 또 다른 실시예에 따르면, 가속도계는 문서 한 페이지 또는 이미지가 디스플레이되는 것을 트리거하기 위한 수단으로서 휴대용 장치의 움직임을 검출하는 데에 사용될 수 있다.According to another embodiment of the present invention, an accelerometer can be used to detect movement of a portable device as a means for triggering that a document page or image is displayed.

본 발명의 또 다른 실시예에 따르면, 가속도계는 내비게이션 응용에서 이용될 수 있다. 예를 들어, 가속도계가 부착된 휴대용 장치는 보통 휴대용 장치의 디스플레이 내에 그 전체를 한 번에 디스플레이할 수 없는 상대적으로 큰 대상 또는 문서를 내비게이트하는 내비게이션 툴로서 사용될 수 있다. According to another embodiment of the present invention, an accelerometer can be used in a navigation application. For example, a handheld device with an accelerometer attached can be used as a navigation tool to navigate a relatively large object or document that can not be displayed all at once in the display of a handheld device.

본 발명의 또 다른 실시예에 따르면, 가속도계는 게임 응용에서 사용될 수 있고, 여기서 가속도계는 휴대용 장치 내에서 비디오 게임이 실행되는 동안의 장면 변경을 검출하는 데에 사용될 수 있다.In accordance with another embodiment of the present invention, an accelerometer can be used in a gaming application, where the accelerometer can be used to detect a scene change while a video game is running in a portable device.

본 발명의 또 다른 실시예에 따라, 가속도계는 휴대용 장치의 움직임을 검출하는 데에 사용될 수 있고, 휴대용 장치의 방위는 가속도계에 의해 제공되는 움직임 데이터에 기초하여 정해질 수 있다. 그에 따라, 움직임 후에 결정된 방위에 기초하여 휴대용 장치의 하나 이상의 인터페이스가 활성화되거나 또는 비활성화될 수 있다.According to another embodiment of the present invention, an accelerometer can be used to detect movement of a portable device, and the orientation of the portable device can be determined based on motion data provided by an accelerometer. Thereby, one or more interfaces of the portable device may be activated or deactivated based on the orientation determined after the movement.

본 발명의 또 다른 실시예에 따라, 가속도계는 그것이 부착된 휴대용 장치로 사용자의 활동(예를 들어 흔들림)을 검출하고 그것을 판정하는 데에 사용될 수 있다.In accordance with another embodiment of the present invention, an accelerometer can be used to detect and determine a user's activity (e.g., jitter) with the attached portable device.

본 발명의 또 다른 실시예에 따라, 가속도계는 휴대용 장치가 움직이고 있는지(예를 들어 사용자가 소지하고 있음) 여부를 판정하고 휴대용 장치가 적절한 동작 상태(예를 들어 슬립 상태 또는 휴면 모드)에 있는지 판정하는 데에 사용될 수 있다. In accordance with another embodiment of the present invention, the accelerometer determines whether the portable device is moving (e. G., Possessed by the user) and determines whether the portable device is in the appropriate operating state (e. G., Sleep or sleep mode) . &Lt; / RTI &gt;

본 발명의 또 다른 실시예에 따라, 가속도계는, 암호가 제대로 입력되었는지 여부를 판정하기 위해, 휴대용 장치가 소정의 방향에 따라 움직이고 있는지 여부를 검출하는 데에 사용될 수 있다.According to another embodiment of the present invention, the accelerometer can be used to detect whether or not the portable device is moving in a predetermined direction, in order to determine whether or not the password has been correctly input.

본 발명의 또 다른 실시예에 따라, 가속도계는 휴대용 장치의 움직임 시퀀스를 검출하고 이를 기록하는 데에 사용될 수 있고, 여기서 기록된 움직임 데이터는 이후에 움직임 이력을 재생성하는 데에 사용될 수 있다.According to another embodiment of the present invention, an accelerometer can be used to detect and record the motion sequence of the portable device, wherein the recorded motion data can then be used to regenerate the motion history.

본 발명의 다른 특징들은 첨부된 도면과 이하의 상세한 설명으로부터 명백할 것이다.Other features of the invention will be apparent from the accompanying drawings and from the detailed description that follows.

도 1은 본 발명의 한 실시예에 따른 휴대용 장치의 예시적인 아키텍처를 도시하는 블록도.
도 2는 본 발명의 한 실시예에 따라, 가속도계에 의해 발생된 이벤트에 응하여 휴대용 장치를 작동시키기 위한 예시적인 프로세스를 도시하는 흐름도.
도 3a 및 도 3b는 본 발명의 한 실시예에 따라 가속도계가 이용될 수 있는 예시적인 응용을 도시하는 도면.
도 4는 본 발명의 한 실시예에 따라, 가속도계에 기초하여 디스플레이된 문서의 방위를 다시 맞추기 위한 예시적인 프로세스를 도시하는 흐름도.
도 5a 및 도 5b는 본 발명의 소정의 실시예에 따라, 문서 한 페이지의 디스플레이를 트리거링하는 데에 사용될 수 있는 휴대용 장치의 예시적인 움직임을 도시하는 도면.
도 6은 본 발명의 한 실시예에 따라, 가속도계에 기초하여 문서를 보여주기 위한 예시적인 프로세스를 도시하는 흐름도.
도 7a 및 도 7b는 본 발명의 한 실시예에 따라, 가속도계에 기초하는 예시적인 내비게이션 응용을 도시하는 도면.
도 8은 본 발명의 한 실시예에 따라, 가속도계에 기초하여 이미지를 내비게이션하기 위한 예시적인 프로세스를 도시하는 흐름도.
도 9a 및 도 9b는 본 발명의 한 실시예에 따라, 가속도계에 기초하는 예시적인 게임 응용을 도시하는 도면.
도 10a 및 도 10b는 본 발명의 또 다른 실시예에 따라, 가속도계에 기초하는 예시적인 게임 응용을 도시하는 도면.
도 11은 본 발명의 한 실시예에 따라, 가속도계에 기초하는 게임 응용에 대한 예시적인 프로세스를 도시하는 흐름도.
도 12a 및 도 12b는 본 발명의 한 실시예에 따라, 가속도계에 기초하여 휴대용 장치의 인터페이스를 활성화/비활성화하기 위한 예시적인 메커니즘을 도시하는 도면.
도 13은 본 발명의 한 실시예에 따라, 가속도계에 기초하여 휴대용 장치의 인터페이스를 작동시키기 위한 예시적인 프로세스를 도시하는 흐름도.
도 14a 및 도 14b는 본 발명의 한 실시예에 따라, 가속도계를 이용하여 휴대용 장치의 멀티미디어 인터페이스를 활성화/비활성화하기 위한 예시적인 메커니즘을 도시하는 도면.
도 15는 본 발명의 한 실시예에 따라, 가속도계에 기초하여 멀티미디어 인터페이스를 재구성하기 위한 예시적인 프로세스를 도시하는 흐름도.
도 16는 본 발명의 한 실시예에 따라, 가속도계에 기초하여 멀티미디어 컨텐츠를 재생하기 위한 예시적인 프로세스를 도시하는 흐름도.
도 17은 본 발명의 한 실시예에 따라 휴대용 장치의 전원 관리를 위한 예시적인 프로세스를 도시하는 흐름도.
도 18은 본 발명의 한 실시예에 따라 암호를 처리하기 위한 예시적인 프로세스를 도시하는 흐름도.
도 19는 본 발명의 한 실시예에 따라, 가속도계를 이용하여 움직임의 항적(trail)을 재생성하기 위한 예시적인 프로세스를 도시하는 흐름도.
도 20은 본 발명의 한 실시예에 따라 가속도계를 갖는 예시적인 휴대용 장치를 도시하는 블록도.
도 21은 본 발명의 한 실시예로 사용될 수 있는 디지털 처리 시스템의 블록도.
도 22는 본 발명의 한 실시예에 따라 가속도계를 이용하는 움직임 보상에 대한 예시적인 프로세스를 도시하는 흐름도.
도 23은 본 발명의 한 실시예에 따라 가속도계를 이용하여 충격(impulse)을 검출하기 위한 예시적인 프로세스를 도시하는 흐름도.
도 24는 본 발명의 한 실시예에 따라 가속도계를 이용하여 휴대용 장치의 컴포넌트를 작동시키기 위한 예시적인 프로세스를 도시하는 흐름도.
1 is a block diagram illustrating an exemplary architecture of a portable device in accordance with an embodiment of the present invention.
Figure 2 is a flow diagram illustrating an exemplary process for operating a portable device in response to an event generated by an accelerometer, in accordance with one embodiment of the present invention.
Figures 3a and 3b illustrate an exemplary application in which an accelerometer can be used in accordance with one embodiment of the present invention.
4 is a flow diagram illustrating an exemplary process for re-orienting displayed documents based on an accelerometer, in accordance with one embodiment of the present invention.
Figures 5A and 5B illustrate exemplary movements of a portable device that may be used to trigger the display of a page of documents, in accordance with certain embodiments of the present invention.
Figure 6 is a flow diagram illustrating an exemplary process for displaying a document based on an accelerometer, in accordance with one embodiment of the present invention.
7A and 7B illustrate an exemplary navigation application based on an accelerometer, in accordance with one embodiment of the present invention.
8 is a flow diagram illustrating an exemplary process for navigating an image based on an accelerometer, in accordance with one embodiment of the present invention.
9A and 9B illustrate an exemplary game application based on an accelerometer, in accordance with one embodiment of the present invention.
10A and 10B illustrate an exemplary gaming application based on an accelerometer, in accordance with another embodiment of the present invention.
11 is a flow diagram illustrating an exemplary process for a gaming application based on an accelerometer, in accordance with one embodiment of the present invention.
12A and 12B illustrate an exemplary mechanism for activating / deactivating an interface of a portable device based on an accelerometer, in accordance with one embodiment of the present invention.
13 is a flow diagram illustrating an exemplary process for operating an interface of a portable device based on an accelerometer, in accordance with one embodiment of the present invention.
Figures 14A and 14B illustrate an exemplary mechanism for activating / deactivating a multimedia interface of a portable device using an accelerometer, in accordance with an embodiment of the present invention.
15 is a flow diagram illustrating an exemplary process for reconfiguring a multimedia interface based on an accelerometer, in accordance with one embodiment of the present invention.
Figure 16 is a flow diagram illustrating an exemplary process for reproducing multimedia content based on an accelerometer, in accordance with one embodiment of the present invention.
17 is a flow diagram illustrating an exemplary process for power management of a portable device in accordance with one embodiment of the present invention.
18 is a flow diagram illustrating an exemplary process for processing a password in accordance with one embodiment of the present invention.
Figure 19 is a flow chart illustrating an exemplary process for regenerating a trail of motion using an accelerometer, in accordance with one embodiment of the present invention.
Figure 20 is a block diagram illustrating an exemplary portable device having an accelerometer in accordance with one embodiment of the present invention.
Figure 21 is a block diagram of a digital processing system that may be used as an embodiment of the present invention.
22 is a flow diagram illustrating an exemplary process for motion compensation using an accelerometer in accordance with one embodiment of the present invention.
23 is a flow diagram illustrating an exemplary process for detecting an impulse using an accelerometer in accordance with one embodiment of the present invention.
24 is a flow diagram illustrating an exemplary process for operating a component of a portable device using an accelerometer in accordance with one embodiment of the present invention.

본 발명은 예제로서 도시되고, 동일한 참조 번호가 동일한 구성 요소를 나타내는 첨부된 도면에 제한되지 않는다.The present invention is illustrated by way of example and is not limited to the accompanying drawings, wherein like reference numerals denote like elements.

가속도계에 기초하여 휴대용 장치를 작동시키기 위한 방법 및 장치가 설명된다. 소정의 실시예에 따라, 랩톱 컴퓨터, 태블릿 PC, PDA, 셀룰러 폰 및 디지털 멀티미디어 플레이어 등과 같은 휴대용 장치 내에서 가속도계가 사용되어 왔다. 가속도계가 일단 휴대용 장치의 움직임을 검출하면, 움직임 벡터 또는 가속도 벡터라고 또한 지칭되는 움직임 방향이 가속도계가 제공하는 움직임 데이터에 기초하여 결정된다. 움직임 방향 및/또는 움직임 데이터는 휴대용 장치 내에서 실행되는 소프트웨어 컴포넌트(예를 들어 응용 소프트웨어)에 제공된다. 휴대용 장치의 움직임 검출에 응하여, 대응 소프트웨어 컴포넌트는 가속도계가 제공한 움직임 방향 및/또는 움직임 데이터에 기초하여, 문서의 다음 페이지로 진행하는 등과 같은 하나 이상의 소정의 사용자 구성가능 액션을 수행한다. A method and apparatus for operating a portable device based on an accelerometer are described. Accelerometers have been used in portable devices such as laptop computers, tablet PCs, PDAs, cellular phones, and digital multimedia players, etc., according to some embodiments. Once the accelerometer detects movement of the portable device, the direction of motion, also referred to as a motion vector or an acceleration vector, is determined based on the motion data provided by the accelerometer. The motion direction and / or motion data is provided to a software component (e.g., application software) running in the portable device. In response to motion detection of the portable device, the corresponding software component performs one or more predetermined user configurable actions, such as proceeding to the next page of the document, based on the motion direction and / or motion data provided by the accelerometer.

이하의 설명에서, 본 발명에 대한 완전한 설명을 제공하기 위해 많은 상세사항이 설명된다. 그러나, 본 발명이 이러한 특정 상세사항 없이도 실행될 수 있다는 것이 당업자들에게는 명백할 것이다. 다른 예에서, 공지된 구조 및 장치는 본 발명을 모호하게 하는 것을 피하기 위해 상세하게 설명하는 대신 블록도의 형태로 도시된다.In the following description, numerous details are set forth in order to provide a thorough description of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.

이하의 상세한 설명 중 일부는 알고리즘 및 컴퓨터 메모리 내의 데이터 비트 동작의 상징적인 표현으로 제공된다. 이들 알고리즘의 설명 및 표현은 데이터 처리 분야에 숙련된 자들이 본 발명이 속하는 기술 분야에 숙련된 다른 자들에게 자신의 작업의 본질을 가장 효과적으로 전달하기 위해 사용하는 수단이다. 본 명세서에서 알고리즘은 일반적으로 원하는 결과로 향하는 자체 모순이 없는 단계들의 시퀀스로 이해된다. 단계들은 물리적인 수량의 물리적인 조작을 필요로 하는 것들이다. 일반적으로, 반드시 그런 것은 아니지만, 이들 수량은 저장되거나, 전달되거나, 결합되거나, 비교되거나 또는 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 주로 일반적인 사용을 이유로, 이들 신호를 비트, 값, 구성 요소, 기호, 문자, 용어, 숫자 등으로 지칭하는 것이 때때로 편리한 것으로 알려져 있다. Some of the following detailed descriptions are presented in terms of algorithms and symbolic representations of data bit operations in computer memory. The descriptions and representations of these algorithms are the means used by those skilled in the data processing arts to most effectively convey the essence of their work to others skilled in the art to which the present invention pertains. An algorithm is generally understood herein as a sequence of steps without its own inconsistency towards a desired result. Steps are those that require physical manipulation of physical quantities. Generally, though not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transferred, combined, compared, or manipulated. It is sometimes known to be convenient to refer to these signals as bits, values, components, symbols, letters, terms, numbers, etc., primarily for general usage reasons.

그러나, 모든 이들 용어 및 유사한 용어가 적절한 물리적 수량에 관련될 것이고, 이것은 단지 이들 수량에 적용된 편리한 라벨일 뿐이라는 것을 염두에 두어야 한다. 특별히 언급되지 않거나 이하의 설명으로부터 명백하지 않으면, 명세서 전반에 걸쳐, "처리하는(processing)" 또는 "산출하는(computing)" 또는 "계산하는(calculating)" 또는 "판정하는(determining)" 또는 "디스플레이하는(displaying)" 등과 같은 용어를 이용하는 설명은, 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적(전자) 수량으로 표현된 데이터를 조작하고, 이 데이터를 컴퓨터 시스템 메모리 또는 레지스터, 또는 기타 이러한 정보 저장, 전송 또는 디스플레이 장치 내의 물리적 수량으로 유사하게 표현된 다른 데이터로 변환하는, 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 액션 및 프로세스를 지칭한다는 것을 이해할 것이다.It should be borne in mind, however, that all these and similar terms will relate to the appropriate physical quantity, and that this is merely a convenient label applied to these quantities. "Processing" or "computing" or "calculating" or "determining" or "determining" or "determining" or "determining" Quot; displaying &quot;, etc., may be used to manipulate data represented in physical (electronic) quantities in the registers and memories of a computer system and to store the data in computer system memory or registers, Or other similar data represented in physical quantities within a display device, as well as other computing devices and similar electronic computing device operations and processes.

본 발명은 또한 본 명세서의 동작을 수행하기 위한 장치에 관한 것이다. 이 장치는 필요한 목적을 위해 특별히 구성될 수 있고, 또는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 또는 재구성되는 범용 컴퓨터를 포함할 수도 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크, 광 디스크, CD-ROM, 및 자기-광 디스크를 포함하는 임의의 유형의 디스크, ROM, RAM 및 EPROMs, EEPROMs, 자기 카드 또는 광 카드, 또는 전자 명령어를 저장하기에 적합한 임의의 유형의 매체와 같은 컴퓨터 판독가능 저장 매체에 저장될 수 있지만, 이에 제한되지 않으며, 이들 각각은 컴퓨터 시스템 버스에 결합된다.The invention also relates to an apparatus for performing the operations of the present disclosure. The apparatus may be specially constructed for the required purpose, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored on any type of disk, ROM, RAM and EPROMs, EEPROMs, magnetic or optical cards, or electronic instructions, including floppy disks, optical disks, CD- But not limited to, any suitable type of medium, each of which is coupled to a computer system bus.

본 명세서에서 제공되는 알고리즘 및 디스플레이는 본래 임의의 특정 컴퓨터 또는 다른 장치에 관련되지 않는다. 본 명세서의 교시에 따라 각종 범용 시스템이 프로그램과 함께 사용될 수 있고, 또는 방법의 필수 단계를 수행하는 좀 더 특별화된 장치를 구성하는 것이 편리할 수도 있다. 다양한 이들 시스템을 위한 필수 구조는 이하의 설명에 나타날 것이다. 또한, 본 발명은 임의의 특정 프로그래밍 언어를 참조하여 설명하지 않는다. 본 명세서에서 설명된 바와 같은 발명의 교시를 구현하는 데에 각종 프로그래밍 언어가 이용될 수 있다는 것을 이해할 것이다.The algorithms and displays provided herein are not inherently related to any particular computer or other device. Various general purpose systems may be used with the program in accordance with the teachings herein, or it may be convenient to construct a more specialized apparatus that performs the required steps of the method. The necessary structure for various of these systems will appear in the following description. Further, the present invention is not described with reference to any particular programming language. It will be appreciated that various programming languages may be used to implement the teachings of the invention as described herein.

기계 판독가능 매체는 기계(예를 들어 컴퓨터)가 판독가능한 형태의 정보를 저장하고 또는 전송하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독가능 매체는 ROM, RAM, 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치, 전파되는 신호(예를 들어, 반송파, 적외선 신호, 디지털 신호 등)의 전자, 광, 어쿠스틱 또는 다른 형태 등을 포함한다. The machine-readable medium includes any mechanism for storing or transmitting information in a form that is readable by a machine (e.g., a computer). For example, the machine-readable medium can be any type of electronic, optical, acoustic, or optical medium such as ROM, RAM, magnetic disk storage media, optical storage media, flash memory devices, Other forms, and the like.

개요summary

도 1은 본 발명의 한 실시예에 따른 휴대용 장치의 예시적인 아키텍처를 도시하는 블록도이다. 한 실시예에서, 예시적인 시스템(100)은 프로세서, 프로세서에 결합되고 명령어를 그 안에 저장하는 메모리 및 프로세서와 메모리에 결합되어 휴대용 장치의 움직임을 검출하는 가속도계를 포함하지만 이에 제한되지 않으며, 프로세서는 휴대용 장치의 움직임을 검출하는 것에 응하여 하나 이상의 소정의 사용자 구성가능한 액션을 수행하는 메모리의 명령어를 실행한다. 대안의 실시예에서, 예시적인 시스템(100)은 또한 가속도계에 결합되고, 가속도계가 제공하는 움직임 데이터에 기초하여 움직임의 방향을 결정하고, 명령어를 실행하기 위해 결정된 움직임 방향과 소정의 방향을 비교하여 결정된 방향이 소정의 방향과 상대적으로 일치하는지 여부를 판정하는 컨트롤러를 포함한다.1 is a block diagram illustrating an exemplary architecture of a portable device in accordance with an embodiment of the present invention. In one embodiment, exemplary system 100 includes, but is not limited to, a processor, a memory coupled to the processor and storing instructions therein, and an accelerometer coupled to the processor and the memory to detect movement of the portable device, And executes instructions in memory that perform one or more predetermined user configurable actions in response to detecting movement of the portable device. In an alternative embodiment, the exemplary system 100 is also coupled to an accelerometer, determines the direction of motion based on the motion data provided by the accelerometer, and compares the determined direction with a determined direction of motion to execute the instruction And a controller for determining whether the determined direction is relatively coincident with the predetermined direction.

도 1을 참조해보면, 한 실시예에 따라, 예시적인 시스템(100)은 하나 이상의 가속도계(101), 이 가속도계(101)에 결합된 하나 이상의 컨트롤러(102), 움직임 관련 펌웨어(103), 움직임 소프트웨어 컴포넌트(104) 및 하나 이상의 응용 소프트웨어(105-107)를 포함한다. 가속도계(101)는 예를 들어 휴대용 장치의 마더보드에와 같이, 휴대용 장치에 부착될 수 있다. 또는, 가속도계(101)는 휴대용 장치의 다른 부품에 통합될 수 있다. 예를 들어, 가속도계(101)는 휴대용 장치의 칩셋에 통합될 수 있다.1, an exemplary system 100 includes one or more accelerometers 101, one or more controllers 102 coupled to the accelerometer 101, motion-related firmware 103, motion software Component 104 and one or more application software 105-107. The accelerometer 101 may be attached to a portable device, such as, for example, a motherboard of a portable device. Alternatively, the accelerometer 101 may be integrated into other components of the portable device. For example, the accelerometer 101 may be integrated into a chipset of a portable device.

한 실시예에 따라, 가속도계(101)는 휴대용 장치의 가속 및/또는 감속을 포함하는 움직임을 검출할 수 있다. 가속도계(101)는 휴대용 장치의 움직임 방향을 결정하는 데에 사용될 수 있는 다차원의 움직임 데이터를 생성할 수 있다. 예를 들어, 가속도계(101)는 휴대 장치가 움직여진다는 것을 검출할 때 X, Y 및 Z 축 가속도 정보를 생성할 수 있다. 한 실시예에서, 가속도계(101)는 본 출원의 공동 양수인에게 양도된 미국 특허 제6,520,013호에서 설명된 것과 같이 구현될 수 있다. 또는, 가속도계(101)는 상업적으로 사용가능한 각종 가속도계를 이용하여 구현될 수 있다. 예를 들어, 가속도계(101)는 Kionix사의 KGF01 가속도계일 수 있고 또는 Analog Devices사의 ADXL311 가속도계일 수 있다.According to one embodiment, the accelerometer 101 may detect motion, including acceleration and / or deceleration of the portable device. The accelerometer 101 may generate multidimensional motion data that may be used to determine the direction of motion of the portable device. For example, the accelerometer 101 may generate X, Y, and Z axis acceleration information when detecting that the portable device is moving. In one embodiment, the accelerometer 101 may be implemented as described in U.S. Patent No. 6,520,013, assigned to a common assignee of the present application. Alternatively, the accelerometer 101 may be implemented using various commercially available accelerometers. For example, the accelerometer 101 may be a Kionix KGF01 accelerometer or an ADXL311 accelerometer from Analog Devices.

또한, 예시적인 시스템(100)은 가속도계(101)에 결합된 하나 이상의 컨트롤러(102)를 포함한다. 컨트롤러(102)는 움직임 벡터라고 또한 지칭되는 휴대용 장치의 움직임 방향을 계산하는 데에 사용될 수 있다. 움직임 벡터는 가속도계(101)가 제공하는 움직임 데이터(X, Y 및 Z 축 움직임 정보)에 기초하여 하나 이상의 소정의 공식에 따라 결정될 수 있다. 움직임 벡터를 계산하는 일부 실시예가 이하에 상세하게 설명될 것이다.The exemplary system 100 also includes one or more controllers 102 coupled to the accelerometer 101. In one embodiment, The controller 102 may be used to calculate the direction of movement of a portable device, also referred to as a motion vector. The motion vector may be determined according to one or more predetermined formulas based on motion data (X, Y, and Z axis motion information) provided by the accelerometer 101. Some embodiments for calculating a motion vector will be described in detail below.

한 실시예에 따라, 컨트롤러(102)는 가속도계(101)의 하나 이상의 출력을 모니터링하고, 예를 들어 휴대용 장치의 칩셋(예를 들어 메모리 컨트롤러 또는 노스 브리지(north bridge)) 및/또는 마이크로프로세서(예를 들어 CPU)와 같은 다른 컴포넌트와 통신하는 것을 담당한다. 컨트롤러(102)는 상업적으로 사용가능한 각종 마이크로컨트롤러를 이용하여 구현될 수 있다. 예를 들어, 컨트롤러(102)는 Microchip사의 PIC 16F818 마이크로컨트롤러일 수 있다. 컨트롤러(102)는 가속도계(101)에 통합될 수도 있다. 또는, 컨트롤러(102)는 휴대용 장치의 칩셋 또는 마이크로프로세서와 같은 다른 컴포넌트에 통합될 수도 있다.According to one embodiment, the controller 102 may monitor one or more outputs of the accelerometer 101 and may, for example, be connected to a chipset (e.g., a memory controller or north bridge) and / or a microprocessor Such as a CPU, for example. The controller 102 may be implemented using various commercially available microcontrollers. For example, the controller 102 may be a Microchip PIC 16F818 microcontroller. The controller 102 may be integrated into the accelerometer 101. Alternatively, the controller 102 may be integrated with other components, such as a chipset or microprocessor of a portable device.

한 실시예에서, 컨트롤러(102)는 예를 들어 I2C(inter-IC) 버스와 같은 버스 및 인터럽트 라인을 통해 다른 컴포넌트와 통신할 수 있다. 움직임 데이터에 응하여, 컨트롤러(102)는 인터럽트 라인을 통해 예를 들어 하드웨어 인터럽트, 소프트웨어 인터럽트 또는 이 둘의 조합과 같은 인터럽트를 발생시켜 펌웨어(103)와 같은 다른 컴포넌트들에게 이러한 움직임을 통지한다. 또한, 컨트롤러(102)는 가속도계(101)가 제공하는 움직임 데이터에 기초하여 움직임 벡터를 계산할 수 있다. 컨트롤러(102)와 휴대용 장치의 다른 컴포넌트들과의 통신에 관한 추가의 상세한 정보는 이하에 설명될 것이다.In one embodiment, the controller 102 may communicate with other components via bus and interrupt lines, such as, for example, an I2C (inter-IC) bus. In response to the motion data, the controller 102 generates an interrupt via an interrupt line, for example, a hardware interrupt, a software interrupt, or a combination of the two to notify other components, such as the firmware 103, of this motion. In addition, the controller 102 can calculate a motion vector based on the motion data provided by the accelerometer 101. [ Additional detailed information regarding communication between the controller 102 and other components of the handheld device will be described below.

다시 도 1을 참조해보면, 움직임 펌웨어(103)는 하나 이상의 기계 실행가능 코드를 포함하며, 이것은 휴대용 장치의 컨트롤러(102) 또는 칩셋(예를 들어, 기본 입/출력 시스템이라 또한 지칭되는 BIOS의 일부)과 같은 하나 이상의 하드웨어 컴포넌트내에 내장될 수 있다. 한 실시예에서, 움직임 펌웨어(103)는 컨트롤러(102)의 ROM(예를 들어 플래시 메모리)에 저장될 수 있다. 그러나, 움직임 펌웨어(103)의 기계 실행가능 코드는 예를 들면 플래시 유틸리티를 이용하여 메모리로 새로운 버전을 업로드함으로써 업그레이드될 수 있다. 펌웨어(103)는 움직임 검출에 응하여 발생될 수 있는 모든 이벤트를 검출하는 것을 담당할 수 있다. 한 실시예에 따라, 펌웨어(103)는 컨트롤러(102)와 휴대용 장치의 운영 체제(OS)와 같은 다른 컴포넌트와의 주요 통신 메커니즘을 제공한다. Referring again to FIG. 1, the motion firmware 103 includes one or more machine executable code, which may be stored in the controller 102 of the portable device or in a chipset (e.g., a portion of the BIOS, also referred to as a basic input / , &Lt; / RTI &gt; In one embodiment, the motion firmware 103 may be stored in the ROM (e.g., flash memory) of the controller 102. However, the machine executable code of motion firmware 103 may be upgraded, for example, by uploading a new version to memory using a flash utility. The firmware 103 may be responsible for detecting all events that may occur in response to motion detection. According to one embodiment, the firmware 103 provides a key communication mechanism with the controller 102 and other components such as the operating system (OS) of the handheld device.

움직임 소프트웨어(104)는 움직임 소프트웨어(103)와 운영 체제뿐만 아니라 응용 소프트웨어 컴포넌트(105-107)와 같은 나머지 소프트웨어 컴포넌트들 간의 통신을 담당할 수 있다. 한 실시예에서, 움직임 소프트웨어(104)는 예를 들어 커널 컴포넌트 또는 장치 드라이버 등과 같이 운영 체제의 일부로서 구현될 수 있다. 운영 체제는 상업적으로 사용가능한 각종 운영 체제를 이용하여 구현될 수 있다. 예를 들어, 운영 체제는 Apple 컴퓨터사의 Mac OS일 수 있다. 또는, 운영 체제는 Microsoft사의 Windows 운영 체제일 수 있다. 예를 들어, Unix, Linux, 내장된 운영 체제(예를 들어 Palm OS) 또는 실시간 운영 체제와 같은 다른 운영 체제가 또한 구현될 수 있다.The motion software 104 may be responsible for communication between the motion software 103 and the rest of the software components, such as the operating system as well as the application software components 105-107. In one embodiment, motion software 104 may be implemented as part of an operating system, such as, for example, a kernel component or device driver. The operating system can be implemented using various commercially available operating systems. For example, the operating system may be Mac OS from Apple Computer. Alternatively, the operating system may be Microsoft's Windows operating system. Other operating systems may also be implemented, such as, for example, Unix, Linux, an embedded operating system (eg, Palm OS), or a real-time operating system.

한 실시예에 따라, 움직임 펌웨어(103)에 의해 통지될 수 있는 움직임 검출 이벤트에 응하여, 움직임 소프트웨어 컴포넌트(104)는 이 이벤트를 하나 이상의 응용 소프트웨어 컴포넌트(105-107)에 전달할 수 있다. 이 검출에 응하여, 응용 소프트웨어 컴포넌트(105-107)는 소정의 동작을 수행할 수 있다. 응용 소프트웨어 컴포넌트(105-107)는 예를 들어, 브라우저, 워드 프로세서, 슬라이드 프레젠테이션 등과 같은 각종 서로 다른 응용일 수 있다. 응용 소프트웨어 컴포넌트(105-107)가 수행하는 동작의 소정의 실시예들이 이하에 상세히 설명될 것이다.According to one embodiment, in response to a motion detection event that may be notified by the motion firmware 103, the motion software component 104 may forward the event to one or more application software components 105-107. In response to this detection, application software components 105-107 may perform certain operations. The application software components 105-107 may be various different applications, for example, a browser, a word processor, a slide presentation, and the like. Certain embodiments of the operations performed by application software components 105-107 will be described in detail below.

도 2는 본 발명의 한 실시예에 따라, 가속도계에 의해 발생된 이벤트에 응하여 휴대용 장치를 작동시키기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(200)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스(200)는 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임을 검출하는 단계 및 휴대용 장치의 움직임 검출에 응하여 하나 이상의 소정의 사용자 구성가능 액션을 수행하는 장치의 기계 실행가능 코드를 실행하는 단계를 포함하지만 이에 제한되지 않는다.2 is a flow diagram illustrating an exemplary process for operating a portable device in response to an event generated by an accelerometer, in accordance with one embodiment of the present invention. Exemplary process 200 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment, exemplary process 200 includes detecting movement of the portable device using an accelerometer attached to the portable device, and detecting movement of the device using one or more predetermined user configurable actions in response to motion detection of the portable device. And executing the machine executable code.

도 2를 참조해보면, 블록(201)에서, 휴대용 장치에 부착된 가속도계(예를 들어 도 1의 가속도계(101))를 이용하여 랩톱 컴퓨터 또는 태블릿 PC와 같은 휴대용 장치의 움직임이 검출된다. 한 실시예에서, 이 검출에 응하여, 가속도계는 다차원(X, Y 및 Z 축)의 움직임 데이터를 생성할 수 있다. 검출에 응하여, 블록(202)에서, 가속도계가 제공하는 움직임 데이터에 기초하여 움직임의 방향이 결정된다. 한 실시예에서, 움직임 방향은 컨트롤러(예를 들어 도 1의 컨트롤러(102))에 의해 결정된다. 결정된 방향에 응하여, 블록(203)에서, 하나 이상의 기계 실행가능 코드(예를 들어 응용 소프트웨어)가 실행되어 웹 페이지를 넘기는 것과 같은 하나 이상의 소정의 사용자 구성가능 액션을 수행할 수 있다. 다른 동작이 또한 수행될 수 있다.Referring to FIG. 2, at block 201, a movement of a portable device, such as a laptop computer or tablet PC, is detected using an accelerometer (e.g., accelerometer 101 of FIG. 1) attached to the portable device. In one embodiment, in response to this detection, the accelerometer can generate multidimensional (X, Y, and Z axes) motion data. In response to detection, at block 202, the direction of motion is determined based on the motion data provided by the accelerometer. In one embodiment, the direction of movement is determined by a controller (e.g., controller 102 in FIG. 1). In response to the determined direction, at block 203, one or more machine executable code (e.g., application software) may be executed to perform one or more predetermined user configurable actions, such as passing a web page. Other operations may also be performed.

가속도계에 기초하여 방위 결정하기Determine bearing based on accelerometer

본 발명의 한 실시예에 따라, 휴대용 장치의 가속도계는 휴대용 장치의 움직임을 계속 또는 주기적으로 모니터링할 수 있다. 그 결과, 휴대용 장치에 부착된 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 이전과 움직임 후의 휴대용 장치의 방위가 결정될 수 있다.According to one embodiment of the present invention, the accelerometer of the portable device can continuously or periodically monitor the movement of the portable device. As a result, the orientation of the portable device before and after the movement can be determined based on the movement data provided by the accelerometer attached to the portable device.

도 3a 및 3b는 본 발명의 한 실시예에 따라 가속도계가 이용될 수 있는 예시적인 응용을 도시하는 도면이다. 이 실시예에서, 응용 전반에 걸쳐 태블릿 장치가 휴대용 장치의 예로서 사용된다. 그러나 이에 제한되지는 않는다. 랩톱 컴퓨터, PDA, 개인 통신기(personal communicator)(예를 들어 Research In Motion의 블랙베리), 셀룰러 폰, 또는 멀티미디어 폰(예를 들어 MP3 플레이어) 등과 같은 다른 휴대용 장치가 또한 사용될 수 있다는 것을 이해할 것이다.Figures 3a and 3b are diagrams illustrating an exemplary application in which an accelerometer can be used in accordance with one embodiment of the present invention. In this embodiment, the tablet device is used as an example of a portable device throughout the application. However, it is not limited thereto. It will be appreciated that other portable devices such as laptop computers, personal digital assistants (PDAs), personal communicators (such as Research In Motion's BlackBerry), cellular phones, or multimedia phones (e.g., MP3 players)

도 3a 및 3b를 참조해보면, 먼저 한 실시예에 따라, 휴대용 장치는 그 디스플레이 내에 문서 한 페이지(303)가 디스플레이되어 있는 방위(301)에 있다. 방위(301)에서, 문서 페이지(303)는 주어진 방위(301)에서 그 디스플레이에 면해 있는 사용자가 보고 있는 위치로부터 제대로 디스플레이되어 있으며, 이것은 가속도계와 이와 관련된 컨트롤러에 의해 주기적으로 또는 계속 검출되고 결정될 수 있다. Referring to FIGS. 3A and 3B, first, according to one embodiment, the portable device is in orientation 301 where a page 303 of a document is displayed in its display. In orientation 301, the document page 303 is properly displayed from the position the user is viewing facing the display at a given orientation 301, which can be periodically or continuously detected and determined by the accelerometer and its associated controller have.

예를 들어 움직임 방향(304)을 따라 휴대용 장치가 움직여져서 방위(302)가 되면, 가속도계(예를 들어 도 1의 가속도계(101))는 이러한 움직임을 검출할 수 있다. 이 검출에 응하여, 컨트롤러(예를 들어 도 1의 컨트롤러(102))는 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 방향을 결정할 수 있고, 도 1의 펌웨어(103), 움직임 소프트웨어(104) 및/또는 응용 소프트웨어(105-107)와 같은 휴대용 장치의 적절한 컴포넌트에 이를 통지할 수 있다. 이러한 통지는 인터럽트를 통해 또는 컨트롤러 및/또는 가속도계의 하나 이상의 레지스터를 풀링(pulling)함으로써 수행될 수 있다. 또한, 컨트롤러는 또한 움직임 후 휴대용 장치의 방위를 결정할 수 있다.For example, an accelerometer (e.g., accelerometer 101 of FIG. 1) may detect such motion when the portable device moves along orientation direction 304 to become orientation 302. In response to this detection, the controller (e.g., the controller 102 of FIG. 1) may determine the direction of motion based on the motion data provided by the accelerometer and may determine the direction of motion based on the motion data provided by the firmware 103, motion software 104 and / Or an appropriate component of the portable device, such as application software 105-107. This notification may be performed either through an interrupt or by pulling one or more registers of the controller and / or accelerometer. The controller can also determine the orientation of the portable device after the movement.

이 통지에 응하여, 한 실시예에 따라, 문서 페이지(303)의 방위는 도 3b에 도시된 바와 같이 움직임 후 결정된 방위에 따라 조정될 수 있다. 한 실시예에서, 디스플레이된 문서 페이지의 방위는 움직임 이전의 방위와 상대적으로 동일하게 움직임 후에 조정될 수 있다. 그 결과, 휴대용 장치의 방위가 변경될지라도, 디스플레이되는 문서의 방위는, 특히, 휴대용 장치의 디스플레이에 면한 사용자가 보고 있는 위치에서는 상대적으로 그대로이다. In response to this notification, according to one embodiment, the orientation of the document page 303 may be adjusted according to the orientation determined after the movement as shown in Fig. 3B. In one embodiment, the orientation of the displayed document page can be adjusted after movement relative to the orientation prior to the movement. As a result, even if the orientation of the portable device changes, the orientation of the displayed document is relatively intact, especially at the position the user is facing in the display of the portable device.

이 실시예에서, 문서 페이지(303)의 방위 조정은 디스플레이된 데이터(예를 들어 문서 페이지)를 휴대용 장치의 디스플레이로 전송하는 디스플레이 드라이버(예를 들어 비디오 드라이버)에 의해 수행될 수 있다. 또는, 방위의 조정은 문서 페이지(303)(예를 들어 웹 페이지를 제공하는 브라우저 또는 문서 한 페이지를 제공하는 워드 프로세서)를 제공하는 원래의 응용 소프트웨어(예를 들어 도 1의 응용(105-107))에 의해 수행될 수 있다. 도 3a 및 3b에 도시된 움직임 방향(304)은 단지 예시적인 것이라는 것을 유의한다. 도 5a에 도시된 것과 같은 방향 또는 그것들의 조합과 같은 다른 움직임 방향이 또한 구현될 수 있다. 또한, 도 3a 및 3b에 도시된 바와 같이, 휴대용 장치는 도시용으로 90°왼쪽으로 회전할 수 있다. 휴대용 장치는 회전될 수 있고, 평행하게 움직여질 수도 있고, 또는 이 둘의 조합으로 또는 다차원의 조합 그리고 임의의 움직임 단계 크기로 움직여질 수 있다.In this embodiment, orientation adjustment of the document page 303 may be performed by a display driver (e.g., a video driver) that transmits the displayed data (e.g., a document page) to the display of the portable device. Alternatively, orientation adjustment may be accomplished using the original application software (e.g., application 105-107 in Figure 1) that provides document page 303 (e.g., a browser that provides a web page or a word processor that provides a page of documents) )). &Lt; / RTI &gt; Note that the direction of movement 304 shown in Figures 3A and 3B is merely exemplary. Other motion directions, such as those shown in Figure 5a, or a combination thereof, may also be implemented. In addition, as shown in Figs. 3A and 3B, the portable device can be rotated 90 DEG to the left for illustrative purposes. The portable device may be rotated, moved in parallel, or a combination of the two, or a combination of multidimensional scales, and moving at any movement step size.

도 4는 본 발명의 한 실시예에 따라, 가속도계에 기초하여 디스플레이된 문서의 방위를 다시 맞추기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(400)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스(400)는 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임을 검출하는 단계, 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 후의 휴대용 장치의 방위를 결정하는 단계 및 움직임 이전의 이미지의 방위와 상대적으로 동일한 방위에 따라 휴대용 장치의 디스플레이에 이미지를 디스플레이하는 단계를 포함하지만 이에 제한되지 않는다.4 is a flow diagram illustrating an exemplary process for re-orienting displayed documents based on an accelerometer, in accordance with one embodiment of the present invention. Exemplary process 400 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment, the exemplary process 400 includes the steps of detecting movement of the portable device using an accelerometer attached to the portable device, determining the orientation of the portable device after movement based on the motion data provided by the accelerometer, and And displaying the image on a display of the portable device according to an orientation that is relatively the same as the orientation of the image prior to the motion.

도 4를 참조해보면, 블록(401)에서, 휴대용 장치에 부착된 가속도계를 이용하여 제1 방위로부터 휴대용 장치의 움직임을 검출한다. 이에 응하여, 블록(402)에서, 가속도계가 제공하는 X, Y, Z축 정보와 같은 움직임 데이터에 기초하여 움직임 방향이 결정된다. 한 실시예에서, 이 결정은 가속도계에 결합된 컨트롤러(예를 들어 도 1의 컨트롤러(102))에 의해 수행될 수 있다. 움직임 방향은 하나 이상의 소정의 공식을 통해 결정될 수 있다. 블록(403)에서, 움직임 후에, 가속도계가 제공하는 움직임 데이터에 기초하여 휴대용 장치의 제2 방위가 결정된다. 블록(404)에서, 디스플레이된 문서 페이지의 방위는 결정된 제2 방위에 기초하여 조정될 수 있다. 한 실시예에서, 디스플레이된 문서 페이지의 방위는, 사용자가 보고 있는 위치로부터 특히 움직임 이전의 방위와 상대적으로 동일하도록 조정될 수 있다.Referring to FIG. 4, at block 401, the movement of the portable device is detected from the first orientation using an accelerometer attached to the portable device. In response, at block 402, the direction of motion is determined based on motion data such as X, Y, and Z axis information provided by the accelerometer. In one embodiment, this determination may be performed by a controller (e.g., controller 102 of FIG. 1) coupled to an accelerometer. The direction of movement can be determined through one or more predetermined formulas. At block 403, after the movement, the second orientation of the portable device is determined based on the motion data provided by the accelerometer. At block 404, the orientation of the displayed document page may be adjusted based on the determined second orientation. In one embodiment, the orientation of the displayed document page may be adjusted to be relatively equal to the orientation before the user, especially before the movement.

가속도계에 기초하여 문서의 서로 다른 페이지를 디스플레이하기Display different pages of the document based on the accelerometer

본 발명의 또 다른 실시예에 따라, 문서 한 페이지 또는 이미지가 디스플레이되는 것을 트리거하기 위한 수단으로서 휴대용 장치의 움직임을 검출하는 데에 가속도계가 사용될 수 있다. 예를 들어, 휴대용 장치가 소정의 방향을 향해 움직여질 때(예를 들어 갑작스러운 움직임), 가속도계는 이러한 움직임을 검출하고 응용 소프트웨어는 움직임 검출에 응하여 특정 페이지를 디스플레이할 수 있다. According to another embodiment of the present invention, an accelerometer may be used to detect movement of the portable device as a means for triggering the display of a page or image of a document. For example, when the portable device is moved toward a predetermined direction (e.g., sudden movement), the accelerometer detects such movement and the application software can display a specific page in response to motion detection.

도 5a는 본 발명의 한 실시예에 따라 문서 한 페이지를 디스플레이하는 것을 트리거하는 데에 사용될 수 있는 휴대용 장치의 예시적인 움직임을 도시하는 도면이다. 예를 들어, 도 5a를 참조해 보면, 문서의 제1 페이지가 휴대용 장치(500)의 디스플레이(507)에 디스플레이된다. 휴대용 장치(500)가 소정의 방향으로 움직여질 때, 휴대용 장치(500)에 부착된 가속도계(예를 들어 도 1의 가속도계(101))는 이러한 움직임을 검출할 수 있다. 이 검출에 응하여, 가속도계는 관련 컨트롤러, 펌웨어, 및/또는 OS를 통해, 응용 소프트웨어, 특히 디스플레이되고 있는 문서의 제1 페이지를 제공하는 컴포넌트와 같은 다른 컴포넌트들에게 통지할 수 있다.5A is a diagram illustrating an exemplary movement of a portable device that may be used to trigger displaying a page of documents in accordance with one embodiment of the present invention. For example, with reference to FIG. 5A, the first page of the document is displayed on the display 507 of the portable device 500. FIG. When the portable device 500 is moved in a predetermined direction, an accelerometer (for example, the accelerometer 101 in Fig. 1) attached to the portable device 500 can detect such movement. In response to this detection, the accelerometer can notify other components, such as components providing the first page of the document being displayed, via the associated controller, firmware, and / or OS.

특정 실시예에서, 가속도계는 움직임 데이터(예를 들어 X, Y, Z축 정보)를 제공하는 것을 포함하여 컨트롤러(예를 들어 도 1의 컨트롤러(102))에 통지할 수 있다. 컨트롤러 및/또는 펌웨어는 가속도계가 제공하는 움직임 데이터에 기초하여 움직임의 움직임 벡터를 계산할 수 있다. 이후, 컨트롤러는 움직임 소프트웨어 컴포넌트(예를 들어 움직임 소프트웨어(104)) 및/또는 운영 체제와 같은 다른 컴포넌트에 신호를 보낼 수 있다. 움직임 소프트웨어 및/또는 운영 체제는 움직임 벡터를 소정의 방향과 비교하여 이 움직임 벡터가 예를 들어 소정의 임계값에 기초하여 소정의 방향과 상대적으로 일치하는지 여부를 판정할 수 있다.In certain embodiments, the accelerometer may notify the controller (e.g., controller 102 of FIG. 1), including providing motion data (e.g., X, Y, Z axis information). The controller and / or firmware may calculate a motion vector of motion based on motion data provided by the accelerometer. The controller may then send a signal to a motion software component (e.g., motion software 104) and / or other components, such as an operating system. The motion software and / or operating system may compare the motion vector with a predetermined direction and determine whether the motion vector is relatively consistent with a predetermined direction based on, for example, a predetermined threshold value.

한 실시예에서, 소정의 방향과 그 소정의 방향과 관련된 임계값(예를 들어 감도(sensitivity))는 사용자 인터페이스를 통해 사용자 구성가능할 수 있다. 이러한 감도는 소정의 때에 그리고 소정의 장소에서 휴대용 장치와 관련된 서로 다른 프로파일에 기초하여 구성될 수 있다. 예를 들어, 휴대용 장치의 감도는 그것이 집/사무실에 있을 때와 움직이는 플랫폼(예를 들어, 차, 기차, 배 또는 비행기 등)에 있을 때 상이할 수 있다. 추가의 실시예에서, 휴대용 장치는 일부 "잡음이 있는(noisy)" 움직임 배경을 지능적으로 필터링하는 메커니즘을 포함할 수 있다.In one embodiment, a threshold (e.g., sensitivity) associated with a given direction and its predetermined direction may be user configurable via the user interface. This sensitivity can be configured based on different profiles associated with the portable device at a given time and at a given location. For example, the sensitivity of a portable device may vary when it is in the home / office and when it is in a moving platform (e.g., a car, train, boat or airplane, etc.). In a further embodiment, the portable device may include a mechanism for intelligently filtering some "noisy" motion backgrounds.

움직임 벡터가 소정의 방향과 상대적으로 일치하는 경우, 관련된 응용 소프트웨어에 통보될 수 있다. 이에 응하여, 관련 응용 소프트웨어는 디스플레이에 제1 페이지가 아니라 제2 페이지를 디스플레이하는 것을 포함하여, 일부 동작을 수행할 수 있다.If the motion vector is relatively coincident with a predetermined direction, it can be notified to the associated application software. In response, the associated application software may perform some operation, including displaying the second page rather than the first page on the display.

한 실시예에서, 문서의 제2 페이지는 문서의 다음 페이지 또는 이전 페이지일 수 있다. 문서는 Microsoft Office의 워드 프로세서와 같은 워드 프로세서로 만들어진 워드 문서일 수 있다. 또는, 문서는 Microsoft사의 Internet Explorer 또는 Netscape Communications사의 Netscape communicator와 같은 브라우저에 의해 제공되는 웹 페이지일 수 있다. 또는, 문서는 예를 들어 Microsoft사의 PowerPoint 또는 Apple Computer사의 Keynote에 의해 제공되는 슬라이드 프레젠테이션일 수 있다.In one embodiment, the second page of the document may be the next page or previous page of the document. The document may be a word document created by a word processor such as a word processor in Microsoft Office. Alternatively, the document may be a web page provided by a browser such as Microsoft's Internet Explorer or Netscape Communications's Netscape communicator. Alternatively, the document may be a slide presentation, for example, provided by PowerPoint from Microsoft or Keynote from Apple Computer.

도 5a를 참조해보면, 이동 방향은 방향(501 및 502)으로 도시된 바와 같이 휴대용 장치의 표면(예를 들어 휴대용 장치의 디스플레이 표면(507))과 평행인 이동 방향을 포함할 수 있다. 또는, 이동 방향은 방향(503 및 504)으로 도시된 바와 같이 휴대 장치의 가장자리(edge)(예를 들어 가장자리(505 및 506))와 평행한 축에 대해 휴대용 장치를 회전하는 것을 포함할 수 있다. 또한, 휴대용 장치의 이동 방향은 상술한 방향들의 조합일 수 있다. 예를 들어, 움직임은 휴대용 장치(500)의 모서리(corner)에 대한 다차원 회전(spin)일 수도 있다. 다른 유형의 움직임이 이용될 수 있다.5A, the direction of movement may include a direction of movement that is parallel to the surface of the portable device (e.g., the display surface 507 of the portable device), as shown in directions 501 and 502. Alternatively, the direction of movement may include rotating the portable device about an axis parallel to an edge (e.g., edges 505 and 506) of the portable device, as shown in directions 503 and 504 . Further, the moving direction of the portable device may be a combination of the above-described directions. For example, the movement may be a multi-dimensional spin of the portable device 500 about the corner. Other types of motion can be used.

도 5b는 본 발명의 다른 실시예에 따라, 문서 한 페이지의 디스플레이를 트리거링하는 데에 사용될 수 있는 휴대용 장치의 예시적인 움직임을 도시하는 도면이다. 이 실시예에서, 휴대용 장치(551)는 지지면(552) 위에 놓여질 수 있다. 또한, 휴대용 장치(551) 내에서 실행중인 응용 소프트웨어는 "디폴트" 모드에 있는 것으로 구성될 수 있다. 지지면(552)에 갑자기 힘이 가해지면, 이로 인해 지지면에 진동이 발생한다. 사용자가 지지면을 쳐서(tabbing) 갑자기 힘이 가해질 수 있다.5B is a diagram illustrating an exemplary movement of a portable device that may be used to trigger the display of a page of documents, in accordance with another embodiment of the present invention. In this embodiment, the portable device 551 may rest on the support surface 552. Further, the application software running in the portable device 551 may be configured to be in the "default" mode. When a sudden force is applied to the support surface 552, vibration occurs on the support surface. The user may be suddenly exerted a force by tabbing the support surface.

지지면(552)의 진동에 응하여, 휴대용 장치(551)에 부착된 가속도계가 이러한 진동을 검출할 수 있다. 검출에 응하여, 가속도계는 펌웨어 및/또는 컨트롤러 등을 통해 관련 응용 소프트웨어에 통지한다. 이에 응하여, 응용 소프트웨어는 문서의 다음 페이지, 이전 페이지 또는 특정 페이지를 디스플레이할 수 있고, 이것은 사용자 인터페이스를 통해 사용자가 구성가능하다. 이것은 휴대용 장치가 책상 위에 놓여 있고 프레젠테이션 프로젝터가 연결되어 있을 때 특히 유용하다. 프레젠테이션을 하고 있는 사용자는 키보드의 키(예를 들어 "엔터" 키 또는 스페이스 바) 또는 휴대용 장치의 마우스를 누르지 않아도 단지 책상 위를 치기만 하면 프레젠테이션의 다음 페이지로 넘어갈 수 있다. In response to the vibration of the support surface 552, an accelerometer attached to the portable device 551 can detect such vibration. In response to detection, the accelerometer notifies the associated application software via firmware and / or a controller. In response, the application software can display the next page, previous page, or specific page of the document, which is user configurable through the user interface. This is particularly useful when a handheld device is placed on a desk and a presentation projector is connected. Users who are presenting can jump to the next page of the presentation simply by tapping on the desk without having to press a key on the keyboard (such as the "Enter" key or the space bar) or the mouse on the portable device.

도 6은 본 발명의 한 실시예에 따라 가속도계에 기초하여 문서를 보여주기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(600)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스(600)는 휴대용 장치의 디스플레이 상에 문서의 제1 페이지를 디스플레이하는 단계, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임을 검출하는 단계 및 움직임의 검출에 응하여 제1 페이지가 아닌 문서의 제2 페이지를 디스플레이하는 단계를 포함하지만, 이제 제한되지 않는다.6 is a flow diagram illustrating an exemplary process for displaying a document based on an accelerometer in accordance with one embodiment of the present invention. Exemplary process 600 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment, exemplary process 600 includes displaying a first page of a document on a display of the portable device, detecting movement of the portable device using an accelerometer attached to the portable device, And displaying a second page of the document that is not the first page in response to the first page.

도 6을 참조해보면, 블록(601)에서 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임이 검출된다. 이 검출에 응하여, 블록(602)에서, 예를 들어 X, Y, Z축 정보와 같은 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 의 움직임 방향이 결정된다. 한 실시예에서, 움직임 방향은 관련 컨트롤러 및/또는 관련 펌웨어에 의해 결정될 수 있다. 블록(603)에서, 움직임 방향이 소정의 방향과 상대적으로 일치하는지 여부가 결정된다. 그럴 경우, 블록(604)에서, 문서의 제1 페이지가 디스플레이된 휴대용 장치 내에서 실행되고 있는 관련 응용 소프트웨어에 통지된다. 이에 응하여, 블록(605)에서, 응용 소프트웨어는 제1 페이지가 아닌 문서의 제2 페이지를 디스플레이한다. 다른 동작이 또한 수행될 수 있다.Referring to FIG. 6, at block 601, movement of the portable device is detected using an accelerometer attached to the portable device. In response to this detection, at block 602, the direction of movement of the motion is determined based on the motion data provided by the accelerometer, e.g., X, Y, and Z axis information. In one embodiment, the direction of movement may be determined by the associated controller and / or associated firmware. At block 603, it is determined whether the direction of motion is relative to a predetermined direction. If so, at block 604, the first page of the document is notified to the associated application software running in the displayed portable device. In response, at block 605, the application software displays the second page of the document that is not the first page. Other operations may also be performed.

가속도계에 기초하는 내비게이션 응용Accelerometer based navigation application

본 발명의 또 다른 실시예에 따르면, 가속도계는 내비게이션 응용에 사용될 수 있다. 예를 들어, 가속도계가 부착된 휴대용 장치는 보통 휴대용 장치의 디스플레이 내에 그 전체를 한 번에 디스플레이할 수 없는 상대적으로 큰 대상 또는 문서를 내비게이트하는 내비게이션 툴로서 사용될 수 있다.According to another embodiment of the present invention, an accelerometer can be used in a navigation application. For example, a handheld device with an accelerometer attached can be used as a navigation tool to navigate a relatively large object or document that can not be displayed all at once in the display of a handheld device.

도 7a 및 도 7b는 본 발명의 한 실시예에 따라 가속도계에 기초하는 예시적인 내비게이션 응용을 도시하는 도면이다. 이 실시예에서, 지도의 일부는 처음에는 도 7a에 도시된 바와 같이 디스플레이된다. 지도는 일반적으로 소정의 상세 레벨로 휴대용 장치(700)의 디스플레이 내부에 그 전체가 총체적으로 디스플레이될 수는 없다. 예를 들어, 사용자가 지도를 "줌 인"할 때, 지도의 일부만이 디스플레이 내에 디스플레이될 수 있다. 사용자가 지도의 제1 부분 전체에 걸쳐 내비게이트할 때, 사용자는 지도의 제1 부분에서 제2 부분으로 단계적으로 내비게이트하기를 원할 수 있다. 7A and 7B are diagrams illustrating an exemplary navigation application based on an accelerometer in accordance with one embodiment of the present invention. In this embodiment, a portion of the map is initially displayed as shown in FIG. 7A. The map can not generally be displayed in its entirety within the display of the portable device 700 at a certain level of detail in general. For example, when a user "zooms in" a map, only a portion of the map may be displayed within the display. When the user navigates across the first portion of the map, the user may want to navigate step by step from the first portion to the second portion of the map.

한 실시예에 따라, 휴대용 장치(700)를 잡고 있는 사용자는, 예를 들어 방향(703)(예를 들어 예에서와 같이 북동향)으로 자신이 내비게이트하고자 하는 방향을 향해 휴대용 장치(700)를 이동시킬 수 있다. 이 움직임에 응하여, 휴대용 장치(700)에 부착된 가속도계는 이러한 움직임을 검출할 수 있다. 가속도계는 휴대용 장치의 컨트롤러 및/또는 펌웨어에 움직임 데이터(예를 들어 X, Y, Z축 정보)를 제공할 수 있다. 관련된 컨트롤러 및/또는 펌웨어는, 하나 이상의 소정의 공식을 이용하여 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 방향 및/또는 움직임 거리를 계산할 수 있다. 이후, 컨트롤러 및/또는 펌웨어는 이 움직임 방향을 현재 지도를 제공하고 있는 관련 응용 소프트웨어에 전달할 수 있다.According to one embodiment, the user holding the portable device 700 can move the portable device 700 toward the direction in which it wishes to navigate, e.g., in direction 703 (e.g., north trend as in the example) . In response to this movement, the accelerometer attached to the portable device 700 can detect such movement. The accelerometer may provide motion data (e.g., X, Y, Z axis information) to the controller and / or firmware of the portable device. The associated controller and / or firmware may calculate motion direction and / or motion distance based on motion data provided by the accelerometer using one or more predetermined formulas. The controller and / or firmware may then forward this direction of motion to the associated application software providing the current map.

이에 응하여, 응용 소프트웨어는 컨트롤러 및/또는 펌웨어가 제공하는 움직임 방향, 움직임 거리 및/또는 움직임 가속도 데이터에 기초하여 지도의 제2 부분을 결정할 수 있다. 이후 응용 소프트웨어는 이에 따라 제2 부분을 디스플레이한다. 그 결과, 사용자는 지도의 다른 부분으로 내비게이트하기 위해 버튼을 누르거나 및/또는 클릭할 필요가 없다. 움직임 방향(703)은 단지 도시를 위해 도시되었음을 유의한다. 임의의 다른 방향이 적용될 수도 있다.In response, the application software may determine a second portion of the map based on motion direction, motion distance, and / or motion acceleration data provided by the controller and / or firmware. The application software then displays the second part accordingly. As a result, the user does not have to press and / or click a button to navigate to another part of the map. Note that the direction of movement 703 is shown for illustrative purposes only. Any other direction may be applied.

한 실시예에서, 제1 부분으로부터의 이행을 통해 지도의 제2 부분이 디스플레이될 수 있다. 즉, 제1 부분과 제2 부분 사이의 많은 중간 부분들이 순차적으로 디스플레이되어 제1 부분에서 제2 부분으로의 이행을 형성할 수 있다. 그 결과, 제2 부분은 휴대용 장치의 디스플레이 내에 단계적으로 디스플레이된다. 한 실시예에 따르면, 제1 부분에서 제2 부분으로의 이행은 사용자가 상대적으로 큰 지도 상에서 휴대용 장치를 움직이는 것처럼 디스플레이되지만, 지도는 그대로이다. 이 실시예에서, 사용자는 큰 지도, 큰 신문 또는 웹 페이지 등을 내비게이트하는 돋보기와 같이 휴대용 장치를 잡고 있다. In one embodiment, a second portion of the map may be displayed through transition from the first portion. That is, many intermediate portions between the first portion and the second portion may be sequentially displayed to form a transition from the first portion to the second portion. As a result, the second portion is displayed step by step in the display of the portable device. According to one embodiment, the transition from the first portion to the second portion is displayed as if the user is moving the portable device on a relatively large map, but the map remains intact. In this embodiment, the user is holding a portable device such as a magnifying glass navigating a large map, a large newspaper or a web page.

추가의 실시예에 따르면, 디스플레이 페이지 상에서 "줌 인" 또는 "줌 아웃"하는 데에 일부 움직임이 사용될 수 있다. 예를 들어, 휴대용 장치의 표면(예를 들어 디스플레이 표면)에 평행하게 움직이는 것은 디스플레이된 페이지의 다른 부분을 내비게이트하는 데에 이용될 수 있고, 휴대용 장치의 회전은 디스플레이된 페이지 상에서 디스플레이된 페이지의 해상도를 변경할 수 있는 줌 인 또는 줌 아웃하는 데에 사용될 수 있다. 예를 들어, 사용자는 줌 아웃하기 위해 휴대용 장치를 위로 기울일(tilt up) 수 있고 줌 인하기 위해 휴대용 장치를 아래로 기울일 수 있다(tilt down). 도 5a에 도시된 방향 또는 이 방향들의 조합과 같은 다른 움직임 방향이 또한 이용될 수 있다.According to a further embodiment, some movements may be used to "zoom in" or "zoom out" For example, moving parallel to the surface of a portable device (e.g., the display surface) may be used to navigate to other portions of the displayed page, and rotation of the portable device may be used to navigate the displayed page It can be used to zoom in or out to change the resolution. For example, the user can tilt up the portable device to zoom out and tilt the portable device down to zoom in. Other directions of movement, such as the direction shown in Figure 5a or a combination of these directions, may also be used.

또 다른 실시예에 따라, 상술된 기술은 가상 현실 환경에서 사용될 수 있다. 한 실시예에서, 사용자는 가속도계 부착형 휴대용 디스플레이 장치를 가상 현실 이미지 데이터베이스로의 휴대가능하고 제어가능한 윈도우로서 이용할 수 있다. 예를 들어, 태블릿을 잡고 있는 사용자는 마치 자신이 가상 현실 게임 공간으로 걸어들어가는 것처럼, 뒤로 돌아서서 이차원 또는 삼차원의 이미지 또는 객체 데이터베이스의 위치로부터 뒤를 향해 보는 뷰를 볼 수 있다. 또 다른 실시예에 따라, 사용자는 한 위치에서 서로 다른 방향으로 바깥쪽으로 향해 있는 다수의 카메라가 제공하는 서로 다른 방향으로의 뷰가 있는 이미지 파노라마를 자세히 볼 수 있다. According to yet another embodiment, the techniques described above can be used in a virtual reality environment. In one embodiment, a user can use an accelerometer-mounted portable display device as a portable and controllable window to a virtual reality image database. For example, a user holding a tablet can look backward from the location of a two-dimensional or three-dimensional image or object database, as if it were walking back into the virtual reality game space. According to yet another embodiment, a user can view an image panorama with views in different directions provided by a plurality of cameras facing outward in different directions at one location.

도 8은 본 발명의 한 실시예에 따라, 가속도계에 기초하여 이미지를 내비게이트하기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(800)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스(800)는 움직임 이전에 휴대용 장치의 디스플레이에 문서 페이지의 제1 부분을 디스플레이하는 단계 및 움직임의 소정의 방향이 소정의 방향과 상대적으로 일치하는 경우 휴대용 장치의 디스플레이에 제1 부분이 아니라 문서 페이지의 제2 부분을 디스플레이하는 단계를 포함한다.8 is a flow diagram illustrating an exemplary process for navigating an image based on an accelerometer, in accordance with one embodiment of the present invention. Exemplary process 800 may be performed by processing logic, which may include hardware (such as circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment, exemplary process 800 includes displaying a first portion of a document page on a display of the portable device prior to movement, and displaying the first portion of the document page on the display of the portable device when the predetermined direction of motion is relatively coincident with the predetermined direction. And displaying the second portion of the document page instead of the first portion.

도 8을 참조해보면, 블록(801)에서, 휴대용 장치의 디스플레이 상에 이미지의 제1 부분(도 7a에 도시된 바와 같은 지도의 일부)이 디스플레이된다. 이미지는 파노라마 이미지, 가상 현실 이미지 데이터베이스, 3차원 이미지 데이터베이스 또는 다수의 카메라 입력 등에 의해 형성된 환경 등의 일부일 수 있다. 블록(802)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임이 검출된다. 이 검출에 응하여, 블록(803)에서, 가속도계가 제공하는 움직임 데이터(예를 들어, X, Y, Z 축 정보)에 기초하여 움직임 방향이 계산된다. 한 실시예에서, 이 검출에 응하여, 가속도계는 관련 컨트롤러 및/또는 펌웨어에 움직임 데이터를 전달한다. 컨트롤러 및/또는 펌웨어는 움직임 데이터에 기초하여 움직임 방향을 계산할 수 있다. 또는, 움직임 방향의 계산은 도 1의 움직임 소트프웨어 컴포넌트(104) 및/또는 휴대용 장치의 운영 체제와 같은 휴대용 장치의 다른 컴포넌트에 의해 수행될 수 있다. 블록(804)에서, 소정의 움직임 방향에 기초하여 이미지의 제2 부분이 디스플레이된다. 한 실시예에서, 제1 부분에서 제2 부분으로의 이행을 형성하는 이미지의 다수의 중간 부분이 디스플레이될 수 있다. 제2 부분은 휴대용 장치는 움직이고 있지만 디스플레이된 이미지는 그대로인 것처럼 디스플레이된다. 다른 동작이 또한 수행될 수 있다.Referring to Fig. 8, at block 801, a first portion of the image (a portion of the map as shown in Fig. 7A) is displayed on the display of the portable device. The image may be part of a panorama image, a virtual reality image database, a three-dimensional image database, an environment formed by multiple camera inputs, and the like. At block 802, movement of the portable device is detected using an accelerometer attached to the portable device. In response to this detection, at block 803, the motion direction is calculated based on the motion data (e.g., X, Y, Z axis information) provided by the accelerometer. In one embodiment, in response to this detection, the accelerometer delivers motion data to the associated controller and / or firmware. The controller and / or firmware may calculate the direction of motion based on the motion data. Alternatively, the calculation of the direction of movement may be performed by other components of the portable device, such as the motion software component 104 of Fig. 1 and / or the operating system of the portable device. At block 804, a second portion of the image is displayed based on the predetermined movement direction. In one embodiment, a plurality of intermediate portions of the image forming the transition from the first portion to the second portion may be displayed. The second part is displayed as though the portable device is moving but the displayed image is intact. Other operations may also be performed.

가속도계에 기초하는 Accelerometer-based 게이밍Gaming 응용 Applications

본 발명의 또 다른 실시예에 따라, 가속도계는 게이밍 응용에 사용될 수 있으며, 여기서 가속도계는 휴대용 장치 내에서 비디오 게임이 실행되는 동안 장면 변경을 검출하는 데에 사용될 수 있다.According to another embodiment of the present invention, an accelerometer can be used in a gaming application, where an accelerometer can be used to detect a scene change while a video game is running in a portable device.

도 9a 및 도 9b는 본 발명의 한 실시예에 따라, 가속도계에 기초하는 예시적인 게이밍 응용을 도시하는 도면이다. 이 실시예에서, 예로서, 사용자는 자신이 제1 장면(901)에 면해 차량을 운전하고 있는 것처럼 휴대용 장치(900)를 운전대처럼 잡고 있다. 사용자가 예를 들어 방향(903)과 같은 방향으로 휴대용 장치를 움직이게 할 때(예를 들어 돌릴 때), 디스플레이된 장면은 도 9b에 도시된 것과 같이 제2 장면(902)으로 변경될 수 있다.9A and 9B are diagrams illustrating an exemplary gaming application based on an accelerometer, in accordance with one embodiment of the present invention. In this embodiment, by way of example, the user is holding the portable device 900 as if it were driving the vehicle in the first scene 901. When the user moves (e.g., turns) the portable device in the same direction as direction 903 for example, the displayed scene may be changed to second scene 902 as shown in FIG. 9B.

한 실시예에 따라, 휴대용 장치(900)를 잡고 있는 사용자가 방향(903)을 따라 이동하면, 휴대용 장치에 부착된 가속도계는 이러한 움직임을 검출한다. 가속도계는 움직임 데이터(예를 들어 X, Y 및 Z 축 정보)를 휴대용 장치의 컨트롤러 및/또는 펌웨어에 제공할 수 있다. 관련된 컨트롤러 및/또는 펌웨어는 하나 이상의 소정의 공식을 이용하여 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 방향을 계산할 수 있다. 이후, 컨트롤러 및/또는 펌웨어는 움직임 방향 및/또는 움직이는 거리 또는 가속도를, 현재 게임을 제공하고 있는 관련 게이밍 응용 소프트웨어에 전달할 수 있다.According to one embodiment, when the user holding the portable device 900 moves along the direction 903, the accelerometer attached to the portable device detects such movement. The accelerometer may provide motion data (e.g., X, Y, and Z axis information) to the controller and / or firmware of the portable device. The associated controller and / or firmware may use one or more predetermined formulas to calculate the direction of motion based on motion data provided by the accelerometer. The controller and / or firmware may then communicate the direction of movement and / or the moving distance or acceleration to the associated gaming application software providing the current game.

이에 응하여, 게이밍 응용 소프트웨어는 컨트롤러 및/또는 펌웨어가 제공하는 움직임 방향, 움직임 거리 및/또는 움직임 가속도에 기초하여 게임의 제2 장면을 결정할 수 있다. 이후 게이밍 응용 소프트웨어는 이에 따라 제2 장면을 디스플레이한다. 그 결과, 사용자는 게임의 장면을 바꾸기 위해 버튼을 누르거나 및/또는 클릭할 필요가 없다. 움직임 방향(903)이 단지 예시로 도시되었다는 것을 유의한다. 임의의 다른 방향이 적용될 수 있다.In response, the gaming application software may determine a second scene of the game based on the direction of movement, motion distance, and / or motion acceleration provided by the controller and / or firmware. The gaming application software then displays the second scene accordingly. As a result, the user does not have to press and / or click a button to change the scene of the game. Note that the direction of movement 903 is shown by way of example only. Any other direction can be applied.

한 실시예에서, 제1 장면으로부터의 이행을 통해 게임의 제2 장면이 디스플레이될 수 있다. 즉, 제1 장면과 제2 장면 사이의 많은 중간 장면들이 순차적으로 디스플레이되어 제1 장면으로부터 제2 장면으로의 이행을 형성할 수 있다. 그 결과, 제2 장면은 단계적으로 휴대용 장치의 디스플레이에 "들어오게" 된다.In one embodiment, the second scene of the game may be displayed via transition from the first scene. That is, many intermediate scenes between the first scene and the second scene may be sequentially displayed to form a transition from the first scene to the second scene. As a result, the second scene gradually "comes into " the display of the portable device.

추가의 실시예에 따라, 운전하는 차량을 가속하거나 및/또는 감속시키기 위한 수단으로서 일부 움직임이 검출될 수 있다. 예를 들어, 디스플레이된 장면은 휴대용 장치가 위로 기울어졌을 때(예를 들어 가속 페달을 밟은 것과 유사함) 차량의 가속을 도시하도록 변경될 수 있다. 마찬가지로, 디스플레이된 장면은 휴대용 장치가 아래로 기울어졌을 때(예를 들어 브레이크를 밟은 것과 유사함) 차량의 감속을 도시하도록 변경될 수 있다.According to a further embodiment, some movement can be detected as means for accelerating and / or decelerating the driving vehicle. For example, the displayed scene may be changed to show the acceleration of the vehicle when the portable device is tilted up (e.g., similar to when the accelerator pedal is depressed). Likewise, the displayed scene may be changed to show the deceleration of the vehicle when the portable device is tilted down (e.g., similar to when the brakes were depressed).

또한, 휴대용 장치의 움직임이 소정의 임계값을 초과하는지 여부를 검출하는 데에 가속도계가 사용될 수 있다. 만약 초과할 경우, 하나 이상의 소정의 사용자 구성가능 액션이 수행될 수 있다. 예를 들어, 드라이빙 게임 동안, 사용자가 도로를 벗어나 차량을 운전할 때, 이를 표시하는 경고 메시지가 사용자에게 전달될 수 있다. In addition, an accelerometer can be used to detect whether the movement of the portable device exceeds a predetermined threshold. If exceeded, one or more predetermined user configurable actions may be performed. For example, during the driving game, when the user drives the vehicle out of the road, a warning message indicating this may be delivered to the user.

도 10a 및 10b는 본 발명의 또 다른 실시예에 따라, 가속도계에 기초하는 예시적인 게이밍 응용을 도시하는 도면이다. 이 실시예에서, 사용자는 가속도계가 그 안에 내장되어 있는 휴대용 장치를 차량의 운전대처럼 잡고 있다. 도 10a에 도시된 바와 같이, 장면이 왼쪽으로 굽어진 길을 포함하고 있는 경우, 사용자는 도로를 벗어나지 않기 위해서는 그에 따라 왼쪽으로 운전대를 돌려야 한다. 휴대용 장치에 부착된 가속도계는 그에 맞춰 휴대용 장치(예를 들어 운전대)가 돌려졌는지 여부 및 회전 각도 또는 거리가 적절한지 여부를 검출하는 데에 사용될 수 있다.10A and 10B are diagrams illustrating an exemplary gaming application based on an accelerometer, in accordance with another embodiment of the present invention. In this embodiment, the user is holding the portable device in which the accelerometer is built, such as the steering wheel of the vehicle. As shown in FIG. 10A, if the scene includes a curved path to the left, the user must turn the steering wheel to the left in order to avoid leaving the road. An accelerometer attached to a portable device can be used to detect whether a portable device (e.g., a steering wheel) has been turned and whether the angle of rotation or distance is appropriate.

휴대용 장치가 돌려지지 않았거나 또는 충분히 돌려지지 않은 것으로 검출되는 경우, 관련된 게이밍 응용 소프트웨어는 소정의 액션을 수행할 수 있다. 예를 들어, 게이밍 응용은 사용자에게 예를 들어 휴대용 장치의 진동 또는 오디오 경고 등과 같은 경고를 발생시킬 수 있다. 또한, 도로를 벗어낫다는 장면이 디스플레이될 수 있다. 사용자가 일정 시간 동안 도로 상황의 변경에 대해 응답하지 않는 것으로 검출되는 경우, 그에 따라 충돌 장면이 디스플레이될 수 있다.If the portable device is not turned or is detected as not sufficiently rotated, the associated gaming application software may perform some action. For example, a gaming application may alert a user to, for example, vibrations or audio alerts of a portable device. Also, a scene that the road is taken off can be displayed. If the user is detected as not responding to a change in road condition for a certain period of time, the crash scene can be displayed accordingly.

일부 실시예에 따라, 휴대용 장치를 잡고 있는 사용자가 보고 있는 위치로부터 "위로 보거나(look up)" 및 "아래로 보는(look down)" 다른 움직임 방향이 사용될 수 있다. 예를 들어, 비행 게임에서, 사용자는 자신이 비행하는 물체(예를 들어 비행기)를 운전하고 있는 것처럼 휴대용 장치를 잡고 있을 수 있으며, 여기서 그 비행 물체가 날아가는 곳을 결정하기 위해 휴대용 장치의 움직임을 검출하는 데에 가속도계가 이용될 수 있다. 예를 들어, 비행 물체는 휴대용 장치가 위로 기울여질 때 위로 올라가고 휴대용 장치가 아래로 기울여질 때 아래로 내려간다. 비행 물체를 임의의 방향으로 날 수 있도록 하기 위해 도 5a에 도시된 것 또는 그 조합과 같은 다른 방향이 이용될 수 있다.According to some embodiments, other directions of movement may be used, such as " look up "and" look down "from the viewing position of the user holding the portable device. For example, in a flying game, a user may be holding a portable device as if he or she is driving a flying object (e.g., an airplane), where the movement of the portable device An accelerometer can be used to detect. For example, a flying object climbs up when the portable device is tilted up and down when the portable device is tilted downward. Other orientations such as those shown in Figure 5a, or combinations thereof, may be used to allow the flying object to fly in any direction.

마찬가지로, 한 실시예에 따라, 사격 게임에서 위로 보고, 아래로 보고, 및/또는 주위를 둘러보는 데에 사용될 수 있는 상술된 이들 움직임 외에, 사용자가 서 있는 사격 자세에 있는지 또는 숨은 자세에 있는지 여부를 검출하기 위해 휴대용 장치의 디스플레이 표면에 평행한 휴대용 장치의 수직 이동이 이용될 수 있다. 예를 들어, 휴대용 장치가 아래로 이동되면, 적을 차단하는 보호 장벽이 디스플레이되어, 사격 무기로서 휴대용 장치를 잡고 있는 사용자가 보호 장벽 뒤에 숨어 있다는 것을 나타낼 수 있다. 휴대용 장치가 위로 이동되면, 보호 장벽이 제거되어 적에 노출되어 사용자가 보호 장벽 없이 사격 자세에 있다는 것을 나타낼 수 있다. 다른 게임 구성이 있을 수 있다.Likewise, in addition to these above-described motions that may be used to look up, down, and / or look around in a shooting game, according to one embodiment, whether the user is in a standing posture or in a hidden posture The vertical movement of the portable device parallel to the display surface of the portable device may be used. For example, when the portable device is moved downward, a protective barrier blocking the enemy may be displayed to indicate that the user holding the portable device as a shooting weapon is hiding behind the protective barrier. When the portable device is moved up, the protective barrier is removed and exposed to the enemy, indicating that the user is in the shooting position without a protective barrier. There may be other game configurations.

도 11은 본 발명의 한 실시예에 따라, 가속도계에 기초하는 게이밍 응용에 대한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(1100)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스(1100)는 사용자가 보고 있는 위치로부터 제1 장면에서 제2 장면으로의 방향을 향해 이행하는 이미지의 시퀀스를 디스플레이하는 단계, 휴대용 장치의 움직임이 사용자가 보고 있는 위치로부터의 이행의 방향과 관련된 방향에 따르는지 여부를 검출하는 단계 및 움직임이 이행의 방향과 관련된 방향에 따라 검출되지 않는 경우 소정의 동작을 수행하는 단계를 포함하지만, 이에 제한되지 않는다.11 is a flow diagram illustrating an exemplary process for a gaming application based on an accelerometer, in accordance with one embodiment of the present invention. Exemplary process 1100 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment, exemplary process 1100 includes the steps of displaying a sequence of images that migrate from a location that a user is viewing toward a direction from a first scene to a second scene, And performing a predetermined operation when the motion is not detected in accordance with the direction related to the direction of the transition. However, the present invention is not limited to this.

도 11을 참조해보면, 블록(1101)에서, 제1 장면에서 제2 장면으로 이행하는 이미지 시퀀스(예를 들어, 운전 게임)가 휴대용 장치의 디스플레이에 디스플레이된다. 블록(1102)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임이 검출된다. 블록(1103)에서, 가속도계가 제공하는 움직임 데이터에 기초하여 휴대용 장치의 움직임 방향이 결정된다. 한 실시예에서, 움직임 방향은 도 1에 도시된 구성과 유사하게, 가속도계에 결합된 컨트롤러 및/또는 펌웨어에 의해 결정된다. 결정된 움직임 방향에 응하여, 블록(1104)에서, 예를 들어 휴대용 장치의 진동을 발생시키거나, 오디오 경고를 발생시키거나, 또는 이 둘의 조합과 같은 하나 이상의 소정의 동작이 수행될 수 있다. 다른 동작 또한 수행될 수 있다.Referring to FIG. 11, at block 1101, an image sequence (e.g., a driving game) that transitions from a first scene to a second scene is displayed on the display of the portable device. At block 1102, movement of the portable device is detected using an accelerometer attached to the portable device. At block 1103, the direction of movement of the portable device is determined based on the motion data provided by the accelerometer. In one embodiment, the direction of movement is determined by the controller and / or firmware coupled to the accelerometer, similar to the configuration shown in FIG. In response to the determined direction of movement, at block 1104 one or more predetermined actions, such as, for example, generating vibration of a portable device, generating an audio alert, or a combination of the two, may be performed. Other operations may also be performed.

가속도계에 기초하여 장치를 활성화/Activating / deactivating the device based on the accelerometer / 비활성화기Deactivator

본 발명의 또 다른 실시예에 따라, 휴대용 장치의 움직임을 검출하는 데에 가속도계가 사용될 수 있고, 가속도계가 제공하는 움직임 데이터에 기초하여 휴대용 장치의 방위가 결정될 수 있다. 이후, 움직임 후에 결정된 방위에 기초하여 휴대용 장치의 하나 이상의 인터페이스가 활성화되거나 또는 비활성화될 수 있다.According to another embodiment of the present invention, an accelerometer can be used to detect movement of the portable device, and the orientation of the portable device can be determined based on the motion data provided by the accelerometer. Thereafter, one or more interfaces of the portable device may be activated or deactivated based on the orientation determined after the movement.

도 12a 및 12b는 본 발명의 한 실시예에 따라 가속도계에 기초하여 휴대용 장치의 인터페이스를 활성화/비활성화하기 위한 예시적인 메커니즘을 도시하는 도면이다. 이 실시예에서, 도 12a의 구성(1201)에 도시된 바와 같이, 다수의 인터페이스(1204-1207)가 휴대용 장치의 여러 위치에 배치되어 있다. 예로서, 인터페이스(1204-1207)는 본 명세서에서는 안테나 또는 무선 송수신기와 같은 무선 인터페이스로서 도시되어 있다. 다른 인터페이스가 또한 적용될 수 있다는 것을 이해할 것이다.12A and 12B are diagrams illustrating an exemplary mechanism for activating / deactivating an interface of a portable device based on an accelerometer in accordance with one embodiment of the present invention. In this embodiment, as shown in configuration 1201 of FIG. 12A, multiple interfaces 1204-1207 are located at various locations of the portable device. By way of example, interfaces 1204-1207 are shown herein as an air interface, such as an antenna or a wireless transceiver. It will be appreciated that other interfaces may also be applied.

도 12a를 참조해보면, 먼저 주어진 방위(1201)에 대해, 문서(1203)가 디스플레이되어 있다. 한 실시예에 따라, 사용자가 방위(1201)에서 휴대용 장치를 잡고 있는 경우, 휴대용 장치에 부착된 가속도계는 이러한 움직임을 검출할 수 있고, 방위(1201)는 도 1에 도시된 것과 유사하게 가속도계에 결합된 관련 컨트롤러 및/또는 펌웨어에 의해 결정된다. 결정된 방위에서 보면, 무선 인터페이스(1204 및 1205)가 주어진 방위(1201)에서 무선 신호를 송신하고 및/또는 수신하기에 가장 좋은 위치(예를 들어 가장 강한 신호를 수신하고 및/또는 송신함)인 반면, 무선 인터페이스(1206 및 1207)는 그에 비해 약한 위치인 것으로 판정될 수 있다. 그 결과, 무선 인터페이스(1204 및 1205)가 활성화되고 무선 인터페이스(1206 및 1207)는 선택적으로 비활성화될 수 있다.Referring to FIG. 12A, for a given orientation 1201, a document 1203 is displayed. According to one embodiment, when the user is holding the portable device in orientation 1201, the accelerometer attached to the portable device may detect such movement, and orientation 1201 may be applied to the accelerometer And is determined by the associated controller and / or firmware associated therewith. In a determined orientation, the wireless interfaces 1204 and 1205 are in the best position (e.g., receiving and / or transmitting the strongest signal) to transmit and / or receive wireless signals in a given orientation 1201 On the other hand, the air interfaces 1206 and 1207 can be determined to be weaker positions relative thereto. As a result, the air interfaces 1204 and 1205 may be activated and the air interfaces 1206 and 1207 may be selectively disabled.

휴대용 장치가 예를 들어 방향(1208)에 따라 90°회전될 때, 휴대용 장치는 도 12b에 도시된 바와 같이 다른 방위(1202)로 될 수 있다. 휴대용 장치에 부착된 가속도계는 이러한 움직임을 검출하여 이 움직임 데이터를 상술한 바와 같이 휴대용 장치의 다른 컴포넌트들에게 전달할 수 있다. 도 3a와 3b에 관해 상술한 바와 같이 문서 페이지가 움직임 이전과 상대적으로 동일하게 디스플레이되도록 방위를 유지하는 것 외에, 움직임 후의 방위에 대해서도 기존의 구성이 여전히 최선의 구성인지 여부에 대해 무선 인터페이스(1204-1207)를 재평가할 수 있다.When the handheld device is rotated 90 degrees along direction 1208, for example, the handheld device may be in another orientation 1202 as shown in FIG. 12B. An accelerometer attached to the portable device may detect such movement and deliver the motion data to the other components of the portable device as described above. In addition to maintaining the orientation such that the document page is displayed relative to before movement as described above with respect to Figures 3A and 3B, the orientation of the air interface 1204, whether or not the existing configuration is still the best configuration, -1207) may be reassessed.

이 실시예에서, 휴대용 장치의 상부 및 하부 위치에 있는 무선 인터페이스가 가장 좋은 위치에 있는 것으로 생각된다. 움직임 후(예를 들어 왼쪽으로 90°회전 후), 가장 좋은 위치였던 원래의 무선 인터페이스(1204-1205)는 이제 더 이상 가장 좋은 위치가 아닐 수 있다. 오히려 가장 좋은 위치가 아니었던 무선 인터페이스(1206-1207)가 이제 가장 좋은 위치일 수 있다. 그 결과, 움직임의 검출 및 움직임 후의 방위 결정에 응하여, 굵게 줄로 도시된 무선 인터페이스(1206 및 1207)는 가장 좋은 위치에 있기 때문에 활성화될 수 있다. 마찬가지로, 무선 인터페이스(1204-1205)는 이제 더 이상 가장 좋은 위치가 아니기 때문에 비활성화될 수 있다.In this embodiment, it is believed that the air interface at the top and bottom positions of the portable device is in the best position. After the move (e.g., 90 degrees to the left), the original air interface 1204-1205, which was the best position, may no longer be the best location. Rather, the wireless interfaces 1206-1207, which were not the best locations, may now be the best locations. As a result, in response to motion detection and orientation determination after movement, the air interfaces 1206 and 1207 shown in bold lines can be activated because they are in the best position. Likewise, the air interfaces 1204-1205 can now be deactivated because they are no longer the best location.

또한, 휴대용 장치가 움직여졌는지 여부를 검출하는 것 외에, 가속도계가 제공하는 움직임 데이터에 기초하여 사용자가 휴대용 장치를 집어들었는지 또는 잡고 있는지 여부를 또한 판정한다. 한 실시예에서, 이러한 판정은 도 1에 도시된 구성과 유사한 가속도계에 결합된 컨트롤러 및/또는 펌웨어에 의해 수행될 수 있다. 사용자가 휴대용 장치를 잡고 있는 것으로 판정되면, 휴대용 장치를 잡고 있는 사용자의 손 위치(1208-1209) 또한 결정되거나 또는 예측될 수 있다.In addition to detecting whether the portable device has been moved, it also determines whether the user picks up or holds the portable device based on the motion data provided by the accelerometer. In one embodiment, such determination may be performed by a controller and / or firmware coupled to an accelerometer similar to the configuration shown in FIG. If it is determined that the user is holding the portable device, the hand positions 1208-1209 of the user holding the portable device may also be determined or predicted.

예를 들어, 도 12a에 도시된 바와 같은 방위(1201)에서, 사용자 손의 위치를 예측하고 난 후, 무선 인터페이스(1207 및 1208)와 같이 손(1208-1209)에 의해 가려질 수 있는 하나 이상의 무선 인터페이스는 비활성화될 수 있다. 마찬가지로, 도 12b에 도시된 바와 같이 움직임 후의 방위(1202)에서는, 무선 인터페이스(1204 및 1205)가 사용자의 손에 의해 가려질 것이라고 예측되기 때문에 비활성화될 수 있다.For example, in orientation 1201 as shown in FIG. 12A, after predicting the position of the user's hand, one or more of the one or more hand signals 1208-1209, such as the air interfaces 1207 and 1208, The wireless interface may be deactivated. Likewise, in motion after orientation 1202 as shown in Figure 12B, the air interfaces 1204 and 1205 may be deactivated because they are expected to be obscured by the user's hand.

도 13은 본 발명의 한 실시예에 따라, 가속도계에 기초하여 휴대용 장치의 인터페이스를 동작시키기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(1300)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스(1300)는 휴대용 장치에 부착된 가속도계를 사용하여 휴대용 장치의 움직임을 검출하는 단계, 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 후의 휴대용 장치의 방위를 결정하는 단계 및 결정된 방위가 주어지면 이에 대해 가장 적합한 휴대용 장치의 적어도 하나의 인터페이스를 활성화하는 단계를 포함한다.Figure 13 is a flow diagram illustrating an exemplary process for operating an interface of a portable device based on an accelerometer, in accordance with one embodiment of the present invention. Exemplary process 1300 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment, the exemplary process 1300 includes detecting movement of the portable device using an accelerometer attached to the portable device, determining orientation of the portable device after movement based on the motion data provided by the accelerometer, and And activating at least one interface of the portable device most suitable for the given orientation, if given.

도 13을 참조해보면, 블록(1301)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임이 검출되고, 이 휴대용 장치는 다수의 위치에 배치된 다수의 인터페이스(예를 들어 무선 인터페이스)를 포함한다. 블록(1302)에서, 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 후의 휴대용 장치의 방위가 결정된다. 블록(1303)에서, 선택적으로, 가속도계가 제공하는 움직임 데이터에 기초하여 사용자가 휴대용 장치를 집어 올렸는지 또는 잡고 있는지가 판정된다. 그럴 경우, 휴대용 장치를 잡고 있는 사용자의 손의 위치가 예측된다. 블록(1304)에서, 결정된 방위에 기초하여 하나 이상의 인터페이스가 활성화되거나 또는 비활성화될 수 있다. 선택적으로, 예측된 사용자의 손에 의해 가려진 인터페이스들 중 일부는 비활성화되는 반면 가려지지 않은 일부는 활성화될 수 있다. 다른 동작이 또한 수행될 수 있다.Referring to FIG. 13, at block 1301, a movement of a portable device is detected using an accelerometer attached to the portable device, and the portable device has a plurality of interfaces (for example, a wireless interface) . At block 1302, the orientation of the portable device after the motion is determined based on the motion data provided by the accelerometer. At block 1303, optionally, it is determined based on the motion data provided by the accelerometer whether the user picks up or holds the portable device. In that case, the position of the user's hand holding the portable device is predicted. At block 1304, one or more of the interfaces may be activated or deactivated based on the determined orientation. Optionally, some of the interfaces obscured by the predicted user's hand may be deactivated, while some that are not obscured may be activated. Other operations may also be performed.

한 실시예에 따르면, 상술된 기술은 또한 휴대용 장치의 멀티미디어 인터페이스에 적용될 수 있다. 도 14a 및 14b는 본 발명의 한 실시예에 따라, 가속도계를 사용하여 휴대용 장치의 멀티미디어 인터페이스를 활성화하고/비활성화하기 위한 예시적인 메커니즘을 도시하는 도면이다. 이 실시예에서, 예로서, 휴대용 장치의 멀티미디어 인터페이스로서 하나 이상의 스피커가 사용된다. 도 14a를 참조해보면, 휴대용 장치는 휴대용 장치의 서로 다른 위치에 배치되어 있는 다수의 스피커(1405-1408)를 포함하고, 문서 페이지(1403)는 선택적으로 휴대용 장치의 디스플레이에 디스플레이되어 있다. 움직임 이전의 방위(1401)에서, 왼쪽 스피커(1405-1406) 및 오른쪽 스피커(1407-1408)를 감안하여 제대로 된 3D 서라운드 사운드를 발생시키는 오디오 드라이버가 구성될 수 있다. 휴대용 장치가 예를 들어 움직임 방향(1404)에 따라 90°만큼 움직여질 때, 도 14b에 도시된 바와 같이 가속도계 및 그 관련 컨트롤러 및/또는 펌웨어에 의해 제2 방위(1402)가 검출되고 결정된다.According to one embodiment, the techniques described above may also be applied to a multimedia interface of a portable device. 14A and 14B are diagrams illustrating an exemplary mechanism for activating / deactivating a multimedia interface of a portable device using an accelerometer, in accordance with one embodiment of the present invention. In this embodiment, as an example, one or more speakers are used as the multimedia interface of the portable device. Referring to FIG. 14A, the portable device includes a plurality of speakers 1405-1408 disposed at different locations of the portable device, and the document page 1403 is optionally displayed on the display of the portable device. In the orientation before motion 1401, an audio driver may be configured to generate a proper 3D surround sound in consideration of the left speakers 1405-1406 and the right speakers 1407-1408. When the portable device is moved by 90 degrees along the direction of movement 1404, for example, the second orientation 1402 is detected and determined by the accelerometer and its associated controller and / or firmware, as shown in FIG. 14B.

이 검출에 응하여, 도 3a 및 3b와 관련하여 상술된 바와 같이, 문서 페이지(1403)의 방위가 움직이기 이전의 방위와 상대적으로 동일하게 디스플레이되도록 유지하는 것 외에, 스피커(1405-1408)의 위치는 움직임 후의 방위에 대해 기존의 구성이 여전히 최적의 구성인지 여부에 관해 재평가될 수 있다. 이 예에서, 도 14b에 도시된 바와 같이 원래 왼쪽에 있었던 스피커(1405 및 1406)는 아래에 있는 반면 원래 오른쪽에 있었던 스피커(1407 및 1408)는 위에 있다. 따라서, 기존의 오디오 상황이 바뀌어서 사운드 효과는 이제 더 이상 최적의 상태가 아니다. 그 결과, 오디오 드라이버는 휴대용 장치가 움직이기 전의 것과 상대적으로 동일한 오디오 품질을 생성하도록 다시 구성될 수 있다. 예를 들어, 제대로 된 사운드 효과를 내기 위해, 스피커(1405 및 1407)는 왼쪽 스피커로 사용될 수 있고, 스피커(1406 및 1408)는 오른쪽 스피커로 사용될 수 있다. 다른 구성이 또한 존재할 수 있다.In addition to maintaining the orientation of the document page 1403 relative to the orientation prior to movement, as discussed above with respect to Figures 3a and 3b, in response to this detection, the position of the speaker 1405-1408 Can be reassessed as to whether or not the existing configuration is still optimal for the post-motion orientation. In this example, the speakers 1405 and 1406 that were originally on the left as shown in Fig. 14B are down while the speakers 1407 and 1408 that were originally on the right are on top. Therefore, the sound effects are no longer optimal because the existing audio situation has changed. As a result, the audio driver can be reconfigured to produce audio quality that is relatively the same as before the portable device was moved. For example, in order to produce a sound effect, speakers 1405 and 1407 can be used as the left speaker, and speakers 1406 and 1408 can be used as the right speaker. Other configurations may also be present.

도 15는 본 발명의 일 실시예에 따라 가속도계에 기초하여 멀티미디어 인터페이스를 재구성하기 위한 예시적인 프로세스를 나타내는 흐름도이다. 예시적인 프로세스(1500)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 도 15를 참조해보면, 블록(1501)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임이 검출되고, 휴대용 장치는 상이한 위치에 배치되어 있는 다수의 멀티미디어 인터페이스 또는 장치를 포함한다. 블록(1502)에서, 움직임 후의 휴대용 장치의 방위는 가속도계가 제공하는 움직임 데이터에 기초하여 결정된다. 블록(1503)에서, 결정된 방위에 기초하여 하나 이상의 멀티미디어 인터페이스가 선택적으로 활성화되거나 또는 비활성화된다. 블록(1504)에서, 움직임 후에 결정된 방위가 주어지면 최적의 결과를 만들기 위해 하나 이상의 멀티미디어 장치가 구동된다. 다른 동작이 또한 수행될 수 있다.15 is a flow diagram illustrating an exemplary process for reconfiguring a multimedia interface based on an accelerometer in accordance with one embodiment of the present invention. Exemplary process 1500 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. Referring to Fig. 15, at block 1501, a motion of a portable device is detected using an accelerometer attached to the portable device, and the portable device includes a plurality of multimedia interfaces or devices disposed at different locations. At block 1502, the orientation of the portable device after motion is determined based on motion data provided by the accelerometer. At block 1503, one or more multimedia interfaces are selectively activated or deactivated based on the determined orientation. At block 1504, one or more multimedia devices are driven to produce an optimal result if the determined orientation is given after the move. Other operations may also be performed.

본 명세서에서는 예로서 무선 인터페이스와 오디오 인터페이스가 사용되었지만 이에 제한되지 않는다. 예를 들어, 비디오 인터페이스, 마이크 및 카메라 등 다른 유형의 인터페이스가 또한 적용될 수 있다.In the present specification, an air interface and an audio interface are used as an example, but are not limited thereto. For example, other types of interfaces such as video interfaces, microphones, and cameras may also be applied.

본 발명의 일부 실시예에 따라, 일부 장치는 기계가 소정의 방위 또는 그것이 일반적으로 사용되는 것과 다른 방위에 있을 때에만 제대로 사용될 수 있다. 예를 들어, 미디어를 삽입할 때에는 액세스할 수 있도록 장치가 옆에 또는 윗면이 아래로 놓여 있어야 한다. 미디어를 꺼낼 때에는 미디어가 차단되거나 또는 땅에 떨어지지 않도록 하기 위해 옆에 또는 윗면이 아래로 놓여 있어야 한다.According to some embodiments of the present invention, some devices may only be used properly when the machine is in a predetermined orientation or in a direction different from that in which it is typically used. For example, when inserting media, the device should be on the side or top-down for access. When ejecting media, make sure that the media is cut off or placed on its side or top to prevent it from falling on the ground.

예를 들어, 한 실시예에 따라, 사용자는 버튼 또는 다른 컨트롤을 누름으로써 미디어 장치 또는 컴포넌트에서 미디어를 꺼내는 것(예를 들어 CD ROM 장치에서 CD를 꺼냄)을 개시할 수 있다. 장치는 미디어를 꺼내거나 또는 디스크 등을 내리도록(unmount) 준비한다. 한편, 장치를 제어하는 컨트롤 모듈 또는 응용 소프트웨어는, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치가 미디어를 꺼내기에 적합한 위치에 있지 않다는 것을 검출할 수 있다. 그 결과, 장치는 가속도계로부터 가속도 데이터를 주기적으로 또는 계속 판독함으로써 장치가 적절한 위치 또는 방위에 있을 때까지 기다릴 수 있다. 장치와 관련된 응용 소프트웨어는 또한 장치의 사용자에게 (예를 들어 메시지 또는 오디오 알람 등을 팝업함으로써) 장치가 사용자의 요청을 완료하기 위해 소정의 위치에 있을 필요가 있다는 것을 통지할 수 있다. 일단 장치가 적절한 방위에 있으면, 요청된 동작(예를 들어 미디어를 꺼내는 것)이 수행될 수 있다.For example, in accordance with one embodiment, a user may initiate ejecting media from a media device or component (e.g., ejecting a CD from a CD ROM device) by pressing a button or other control. The device is ready to eject the media or unmount the disk. On the other hand, a control module or application software controlling the device can detect that the portable device is not in a position suitable for ejecting the media using an accelerometer attached to the portable device. As a result, the device may wait until the device is in the proper position or orientation by periodically or continuously reading the acceleration data from the accelerometer. The application software associated with the device may also notify the user of the device (e.g., by popping up a message or audio alarm, etc.) that the device needs to be in a predetermined position to complete the user's request. Once the device is in the proper orientation, the requested operation (e.g., ejecting the media) may be performed.

마찬가지로, 또 다른 실시예에 따라, 사용자가 장치의 방위를 다시 맞추기 않을 경우 동작을 중단하는 데에 가속도계가 사용될 수 있다. 장치가 소정의 시간 간격 이내에 제대로 된 위치 또는 소정의 위치로 위치를 바꾸지 않는다면, 장치는 요청된 동작을 취소하거나 또는 사용자에게 추가의 명령어를 제공할 수 있다. 추가의 실시예에 따라, 방위를 검출하기 위해 또는 장치의 옆 면에 또는 아래 부분에 장착된 입력 장치를 사용가능하게 하거나 및/또는 사용불가하게 하기 위해 가속도계가 사용될 수 있다. 예를 들어, 장치가 똑바로 세워져 있을 때에는 사용할 수 없는 이젝트(eject) 버튼이 장치의 아래 부분에 있을 수 있다. 이런 방식으로, 장치를 책상 위에 또는 무릎 위에 두는 사용자에 의해 버튼이 비활성화된다. Likewise, according to another embodiment, an accelerometer can be used to stop the operation if the user does not re-orient the device. If the device does not change position to a proper location or a predetermined location within a predetermined time interval, the device may cancel the requested operation or provide additional instructions to the user. According to a further embodiment, an accelerometer may be used to detect the orientation or to enable and / or disable the input device mounted on the side or bottom of the device. For example, an eject button that can not be used when the device is standing upright may be at the bottom of the device. In this way, the button is disabled by the user placing the device on the desk or on the lap.

도 24는 본 발명의 또 다른 실시예에 따라 장치를 활성화하거나 또는 비활성화하기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 도 24를 참조해보면, 블록(2401)에서, 제1 동작 상태에서 제2 동작 상태로 휴대용 장치의 컴포넌트를 이행시키는 요청(예를 들어 휴대용 기억 장치를 꺼내기)이 수신된다. 블록(2402)에서, 휴대용 장치에 부착된 가속도계를 이용하여 제2 동작 상태에 적합한 소정의 방위에 따라 휴대용 장치가 위치되어 있는지 여부를 판정한다.24 is a flow diagram illustrating an exemplary process for activating or deactivating a device in accordance with another embodiment of the present invention. An exemplary process may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. Referring to Fig. 24, at block 2401, a request to move a component of the portable device from a first operational state to a second operational state (e. G., Take out the portable storage device) is received. At block 2402, an accelerometer attached to the portable device is used to determine whether the portable device is located in accordance with a predetermined orientation suitable for the second operational state.

블록(2403)에서, 휴대용 장치가 가속도계가 제공하는 가속도 정보에 기초하여 소정의 방위 또는 위치에 따라 위치되어 있는 것으로 판정되면, 휴대용 장치의 컴포넌트는 제1 동작 상태에서 제2 동작 상태(예를 들어 CD ROM의 트레이를 열기)로 이행된다. 그러나, 휴대용 장치가 소정의 위치 또는 방위에 있지 않은 것으로 판정되는 경우, 블록(2404)에서, 요청된 이행은 거부되거나 또는 중지되고, 휴대용 장치의 컴포넌트는 제1 동작 상태 또는 다른 상태(예를 들어 3중 상태)로 남아 있게 된다. 한편, 휴대용 장치의 위치 또는 방위는 가속도계를 이용하여 주기적으로 또는 계속 모니터링되고, 휴대용 장치의 위치 또는 방위가 적절한 위치 또는 방위에 있는 것으로 일단 검출되면 요청된 동작은 재개될 수 있다. 휴대용 장치가 소정의 시간 기간 동안 적절한 위치 또는 방위에 있지 않을 경우 요청된 동작은 중단될 수 있다. 블록(2405)에서, 선택적으로, 휴대 장치의 사용자에게 요청된 동작을 완료하기 위해 휴대용 장치를 소정의 위치에 둘 것을 통지하는 통지가 생성될 수 있다. 다른 동작이 또한 수행될 수 있다.If, at block 2403, it is determined that the portable device is located according to a predetermined orientation or position based on the acceleration information provided by the accelerometer, then the component of the portable device may change from the first operational state to the second operational state The tray of the CD ROM is opened). However, if it is determined that the portable device is not in a predetermined position or orientation, then at block 2404, the requested transition is rejected or stopped, and the component of the portable device is in a first operational state or in another state Triple state). On the other hand, the position or orientation of the portable device may be periodically or continuously monitored using an accelerometer, and once the position or orientation of the portable device is found to be in the proper position or orientation, the requested operation may be resumed. If the portable device is not in the proper position or orientation for a predetermined period of time, the requested operation may be interrupted. At block 2405, a notification may optionally be generated to notify the user of the portable device to place the portable device in a predetermined position to complete the requested operation. Other operations may also be performed.

가속도계에 기초하는 다른 응용들Other applications based on accelerometers

본 발명의 또 다른 실시예에 따라, 가속도계가 부착된 휴대용 장치를 지니고 있는 사용자의 활동을 검출하고 판정하는 데에 가속도계가 사용될 수 있다. 한 실시예에 따라, 예를 들어, 사용자가 잡고 있을 수 있는 휴대용 장치에 부착된 가속도계는 사용자가 휴대용 장치를 잡고 있으면서 흔드는 것(joggling)을 검출할 수 있다. 이 예에서, 휴대용 장치는 디지털 멀티미디어 플레이어(예를 들어, MP3 플레이어)일 수 있다. 이 휴대용 장치에 부착된 가속도계는 사용자의 활동에 의해 야기되는 휴대용 장치의 움직임이 반복적일 수 있다는 것을 검출할 수 있다.In accordance with another embodiment of the present invention, an accelerometer can be used to detect and determine the activity of a user having a portable device with an accelerometer attached thereto. According to one embodiment, for example, an accelerometer attached to a portable device, which may be held by a user, may detect joggling while the user is holding the portable device. In this example, the portable device may be a digital multimedia player (e.g., an MP3 player). An accelerometer attached to the portable device can detect that movement of the portable device caused by the user's activity may be repetitive.

이 검출에 응하여, 예를 들어 도 1에 도시된 구성과 유사하게, 가속도계에 결합된 컨트롤러 및/또는 펌웨어에 의해 휴대용 장치의 움직임의 반복율이 결정될 수 있다. 움직임의 반복율이 일단 결정되면, 응용 소프트웨어(예를 들어, Microsoft사의 Windows media player 또는 Real Networks사의 real player)는 현재 휴대용 장치에서 재생되고 있는 멀티미디어 컨텐츠의 리듬(rhythm)을 결정된 움직임의 반복율에 상대적으로 일치하도록 조정할 수 있다. 그 결과, 예를 들어 MP3 플레이어가 현재 재생하고 하는 음악의 빠르기(tempo)는 MP3 플레이어를 잡고 있는 사용자의 흔들림 비율에 상대적으로 일치하도록 조정될 수 있다.In response to this detection, the repetition rate of the movement of the portable device can be determined, for example, by the controller and / or firmware coupled to the accelerometer, similar to the configuration shown in Fig. Once the repetition rate of the motion is determined, the application software (e.g., a Windows media player from Microsoft or a real player from Real Networks) determines the rhythm of the multimedia content being played on the current portable device relative to the repetition rate of the determined motion Can be adjusted to match. As a result, for example, the tempo of the music currently being reproduced by the MP3 player can be adjusted so as to be relatively coincident with the shake rate of the user holding the MP3 player.

또한, 추가의 실시예에 따라, 응용 소프트웨어는 결정된 사용자의 활동(예를 들어 흔들림 비율)에 대해 가장 적합한 멀티미디어 컨텐츠를 또한 선택하고 이를 재생할 수 있다. 한 실시예에서, 사용자는 소정의 환경 하에서 사용자 인터페이스를 통해 멀티미디어 플레이어를 구성할 수 있고, 소정의 유형의 멀티미디어 컨텐츠가 선택되고 재생될 수 있다. 그 결과, 가속도계와 그 관련된 컨트롤러 및/또는 펌웨어가 사용자가 소정의 유형의 활동을 수행하고 있다는 것을 검출하는 경우, 그에 따라 관련된 유형의 멀티미디어 컨텐츠가 선택되고 재생될 수 있다.Further, according to a further embodiment, the application software can also select and play back the most suitable multimedia content for the determined user's activity (e.g., shake ratio). In one embodiment, the user may configure the multimedia player through a user interface under certain circumstances, and some type of multimedia content may be selected and played. As a result, if the accelerometer and its associated controller and / or firmware detects that the user is performing some type of activity, the associated type of multimedia content can be selected and played accordingly.

도 16은 본 발명의 한 실시예에 따라, 가속도계에 기초하여 멀티미디어 컨텐츠를 재생하기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(1600)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 도 16을 참조해보면, 블록(1601)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임이 검출되고, 이 휴대용 장치의 움직임은 소정의 시간 주기마다 반복된다. 블록(1602)에서, 가속도계가 제공하는 움직임 데이터에 기초하여 휴대용 장치의 움직임의 반복율이 결정된다. 블록(1603)에서, 결정된 반복율과 상대적으로 일치하는 리듬을 갖는 멀티미디어 컨텐츠가 선택적으로 선택되고 재생된다. 블록(1604)에서, 현재 재생되고 있는 멀티미디어 컨텐츠의 리듬은 결정된 움직임의 반복율에 상대적으로 일치하도록 조정된다. 다른 동작이 또한 수행될 수 있다.16 is a flow diagram illustrating an exemplary process for reproducing multimedia content based on an accelerometer, in accordance with one embodiment of the present invention. Exemplary process 1600 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as that running on a dedicated machine), or a combination of the two. Referring to Fig. 16, at block 1601, the movement of the portable device is detected using an accelerometer attached to the portable device, and the movement of the portable device is repeated every predetermined time period. At block 1602, the repetition rate of motion of the portable device is determined based on the motion data provided by the accelerometer. At block 1603, multimedia content having a rhythm that is relatively consistent with the determined repetition rate is selectively selected and played. At block 1604, the rhythm of the multimedia content currently being played is adjusted to be relatively consistent with the repetition rate of the determined motion. Other operations may also be performed.

본 발명의 또 다른 실시예에 따라, 휴대용 장치가 움직이고 있는지(예를 들어 사용자가 소지하고 있는지) 및 휴대용 장치가 적절한 동작 상태에 있어야 하는지 여부를 판정하는 데에 가속도계가 사용될 수 있다. 한 실시예에 따라, 휴대용 장치가 비활성 상태에 있으면서 휴대용 장치가 움직이고 있는 경우(이것은 휴대용 장치에 부착된 가속도계를 통해 검출됨), 휴대용 장치는 슬립 모드와 같이 상대적으로 낮은 전력 모드에 있을 수 있다. 예를 들어, 뚜껑이 닫혀진 랩탑 컴퓨터는 비활성 모드에 있는 것으로 간주될 수 있다. 랩탑 컴퓨터의 뚜껑이 닫혀져 있기 때문에, 사용자는 랩탑 컴퓨터를 활동적으로 작동시킬 수 없다. 또는, 랩탑 컴퓨터는 그 데스크탑이 잠겨 있을 때 비활성 상태에 있는 것으로 간주된다. 또한 다른 상황을 비활성 상태로 간주할 수 있고, 이것은 사용자 구성가능하다. 그 결과, 랩탑 컴퓨터는 저 전력 모드로 될 수 있다. 또한, 랩탑이 (가속도계를 통해) 움직이고 있는 것으로 판정되면, 영구 기억 장치(예를 들어 하드 드라이브)에 임의의 데이터를 기록하는 것은 안전하지 않을 수 있다. 따라서, 영구 기억 장치의 판독/기록 헤드는 영구 기억 장치에 데이터를 기록하지 않고 안전한 상태에서 대기할 수 있다. 모션 기반 손실(motion based damage)은 휴대용 장치가 비활성화 상태에 있으면서 휴대용 장치가 움직이고 있는 경우, 시스템 메모리의 내용의 데이터를 영구 기억 장치로 스와핑함으로써 야기될 수 있는 데이터 손실을 나타낼 수 있다. In accordance with another embodiment of the present invention, an accelerometer can be used to determine whether the portable device is moving (e.g., by the user) and whether the portable device should be in the proper operating state. According to one embodiment, when the portable device is in an inactive state and the portable device is moving (detected through an accelerometer attached to the portable device), the portable device may be in a relatively low power mode, such as a sleep mode. For example, a laptop computer with the lid closed may be considered to be in an inactive mode. Because the lid of the laptop computer is closed, the user can not activate the laptop computer actively. Alternatively, a laptop computer is considered inactive when its desktop is locked. Other situations can also be considered inactive, which is user configurable. As a result, the laptop computer can be in a low power mode. Also, if it is determined that the laptop is moving (via an accelerometer), it may not be safe to record any data on the permanent storage device (e.g., a hard drive). Thus, the read / write head of the permanent storage device can wait in a safe state without writing data to the permanent storage device. Motion based damage may indicate data loss that may be caused by swapping the data of the contents of the system memory to the permanent storage device when the portable device is in the inactive state and the portable device is moving.

한 실시예에 따라, 휴대용 장치가 비활성 상태에 있는 것으로 판정되고, 휴대용 장치가 그에 부착되어 있는 가속도계가 제공하는 데이터에 기초하여 움직이지 않는 것으로 판정되면, 휴대용 장치는 시스템 메모리의 내용이 영구 기억 장치(예를 들어 하드 드라이브)로 스와핑되는 휴면 모드(hibernated mode)가 될 수 있다. 휴대용 장치가 움직이지 않기 때문에, 영구 기억 장치에 데이터를 기록하는 것이 상대적으로 안전하다.According to one embodiment, if the portable device is determined to be in an inactive state and it is determined that the portable device is not moving based on data provided by an accelerometer attached thereto, Or a hibernated mode, which is swapped to a hard drive (e. G., A hard drive). Since the portable device does not move, it is relatively safe to write data to the permanent storage device.

도 17은 본 발명의 한 실시예에 따른 휴대용 장치의 전력 관리를 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(1700)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 도 17을 참조해보면, 블록(1701)에서, 휴대용 장치가 비활성 상태인지 여부를 판정한다. 예를 들어, 휴대용 장치의 뚜껑이 닫혀 있거나 또는 그 데스크탑이 잠겨 있으면, 휴대용 장치는 비활성 상태에 있는 것으로 간주된다. 블록(1702)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치가 움직이고 있는지 여부(예를 들어 사용자가 휴대용 장치를 소지하여 이동하고 있는지 여부)가 검출된다. 블록(1703)에서, 휴대용 장치가 움직이고 있는 경우, 시스템 메모리의 내용을 영구 기억 장치로 스와핑하지 않은 채 휴대용 장치는 비교적 저 전력 모드가 된다. 그것이 아니라면, 블록(1704)에서, 휴대용 장치가 움직이지 않는 경우, 휴대용 장치는 시스템 메모리의 내용을 영구 기억 장치로 스와핑함으로써 휴면 모드가 된다. 다른 동작이 또한 수행될 수 있다.17 is a flow chart illustrating an exemplary process for power management of a portable device in accordance with an embodiment of the present invention. Exemplary process 1700 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. Referring to Fig. 17, at block 1701, it is determined whether the portable device is in an inactive state. For example, if the lid of the portable device is closed or the desktop is locked, the portable device is considered to be in an inactive state. At block 1702, an accelerometer attached to the portable device is used to detect whether the portable device is moving (e.g., whether the user is moving with the portable device). At block 1703, when the portable device is in motion, the portable device is in a relatively low power mode without swapping the contents of the system memory to the permanent memory. If not, at block 1704, if the portable device does not move, the portable device becomes sleep mode by swapping the contents of the system memory to permanent storage. Other operations may also be performed.

본 발명의 또 다른 실시예에 따라, 암호가 올바르게 입력되었는지 여부를 판정하기 위해, 소정의 방향에 따라 휴대용 장치가 움직여졌는지 여부를 검출하기 위해 가속도계가 사용될 수 있다. 한 실시예에서, 휴대용 장치의 사용자가 암호를 입력하도록 촉구되는 경우, 사용자는 암호를 입력하는 것의 일부로서 하나 이상의 방향으로 휴대용 장치를 이동시켜야 한다. 휴대용 장치에 부착된 가속도계는 이러한 움직임을 검출할 수 있고, 움직이는 방향은 예를 들어 관련 컨트롤러 및/또는 펌웨어에 의해 결정될 수 있다. 움직이는 방향이 소정의 방향과 상대적으로 일치하는 경우, 암호가 올바르게 "입력되었다"고 간주된다. According to another embodiment of the present invention, an accelerometer may be used to detect whether the portable device has been moved along a predetermined direction to determine whether the password has been entered correctly. In one embodiment, when a user of a portable device is urged to enter a password, the user must move the portable device in one or more directions as part of entering the password. An accelerometer attached to the portable device may detect such movement, and the direction of movement may be determined, for example, by the associated controller and / or firmware. If the direction of movement is relatively coincident with the predetermined direction, the password is considered correctly "entered ".

또 다른 실시예에 따라, 사용자는 휴대용 장치에 암호의 제1 부분을 입력하도록 요청된다. 이후 사용자는 소정의 방향에 따라 휴대용 장치를 이동시키도록 요청된다. 이후, 사용자는 암호의 제 2부분(예를 들어 나머지 암호)을 입력하도록 요청된다. 따라서, 입력된 암호 및 휴대용 장치의 일부 움직임의 조합이 완전한 암호를 구성한다. 다른 구성이 존재할 수 있다.According to another embodiment, the user is requested to enter a first part of the password in the portable device. The user is then requested to move the portable device along a predetermined direction. Thereafter, the user is prompted to enter a second part of the password (e.g., the remaining password). Thus, the combination of the input cipher and some of the movements of the portable device constitutes a complete cipher. Other configurations may exist.

도 18은 본 발명의 한 실시예에 따라 암호를 처리하기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(1800)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 도 18을 참조해보면, 블록(1801)에서, 사용자는 휴대용 장치에 암호를 입력하도록 요청된다. 블록(1802)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치가 움직여졌는지 여부를 검출한다. 블록(1803)에서, 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 방향이 결정된다. 블록(1804)에서, 휴대용 장치가 소정의 방향에 따라 움직여졌는지 여부가 결정된다. 블록(1805)에서, 움직임 방향이 소정의 방향과 상대적으로 일치하는지 여부에 기초하여 암호가 올바르게 "입력되었는지" 여부를 나타내는 표시가 생성된다. 다른 동작이 또한 수행될 수 있다.18 is a flow chart illustrating an exemplary process for processing a cryptosystem in accordance with one embodiment of the present invention. Exemplary process 1800 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. Referring to Fig. 18, at block 1801, the user is prompted to enter a password in the portable device. At block 1802, an accelerometer attached to the portable device is used to detect whether the portable device has been moved. At block 1803, the direction of motion is determined based on the motion data provided by the accelerometer. At block 1804, it is determined whether the portable device has been moved along a predetermined direction. At block 1805, an indication is generated that indicates whether the password is "correctly" based on whether the direction of motion is relative to a predetermined direction. Other operations may also be performed.

본 발명의 또 다른 실시예에 따라, 휴대용 장치의 움직임 시퀀스를 검출하고 이를 기록하는 데에 가속도계가 사용될 수 있고, 이어서 기록된 움직임 데이터는 움직임 이력을 (예를 들어 오프라인으로) 재생성하는 데에 사용될 수 있다. 한 실시예에서, 휴대용 장치가 어떤 시간 주기 동안 움직이는 경우, 휴대용 장치에 부착된 가속도계는 이러한 움직임을 검출하고 기록한다. 가속도계에 의해 기록된 움직임 데이터는 움직임 동안 휴대 장치의 기억 장치(예를 들어 하드 드라이브)에 저장될 수 있다. 또는, 움직임 데이터는 움직임 동안 네트워크(예를 들어 무선 네트워크)를 통해 원격 장치로 송신될 수도 있다. 이어서, 움직임 후에, 가속도계가 제공하는 움직임 데이터를 이용하여 어떤 시간 주기에 걸친 움직임을 나타내는 항적을 재생성할 수 있다.According to another embodiment of the present invention, an accelerometer may be used to detect and record the motion sequence of the portable device, and then the recorded motion data may be used to regenerate the motion history (e.g., offline) . In one embodiment, when the portable device is moving for a period of time, an accelerometer attached to the portable device detects and records such movement. The motion data recorded by the accelerometer can be stored in a storage device (e.g., a hard drive) of the portable device during movement. Alternatively, motion data may be transmitted to a remote device over a network (e.g., a wireless network) during movement. Subsequently, after motion, the motion data provided by the accelerometer can be used to regenerate the wake that represents motion over a time period.

이것은 통상적으로 사용자가 롤러 코스터를 탄 후 그 항적을 나중에 재구성하고자 할 때에 유용하다. 예를 들어, 사용자는 가속도계가 부착된 휴대용 장치를 소지하고 롤러 코스터를 탈 수 있다. 타는 동안, 가속도계는 움직임 데이터를 검출하고 이것을 기억 장치에 저장하거나, 또는 움직임 데이터를 네트워크를 통해 원격 장치로 전송할 수 있다. 롤러 코스터를 타고 난 후, 움직임 데이터는 롤러 코스터 라이드(ride)의 플롯(plot)을 재생성하는 데에 사용될 수 있다. 롤러 코스터 라이드는 한 예로 사용될 것일 뿐이고, 상술된 기술은 다른 상황에 적용될 수 있다. 예를 들어, 휴대용 장치에 부착되거나 또는 차량에 부착되어 있는 가속도계를 소지하는 사용자는 다른 장소에 대한 지도를 만들기 위해 또는 탐사를 수행하기 위해 그 장소로 차량을 운전할 수 있다. 운전 동안 가속도계가 수집한 움직임 데이터를 이용하여 이후에 지도를 생성할 수 있다.This is usually useful when the user wants to rebuild the trail after riding the roller coaster. For example, a user may have a portable device with an accelerometer attached and ride a roller coaster. During the ride, the accelerometer can detect motion data and store it in a memory device, or it can transmit motion data over a network to a remote device. After riding the roller coaster, the motion data can be used to regenerate a plot of the roller coaster ride. The roller coaster ride is only to be used as an example, and the above-described technique can be applied to other situations. For example, a user with an accelerometer attached to a portable device or attached to a vehicle may drive the vehicle to that location to make a map to another location or to perform an exploration. The map can be generated later using motion data collected by the accelerometer during operation.

도 19는 본 발명의 한 실시예에 따라, 가속도계를 이용하여 움직임의 항적을 재생성하기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(1900)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 도 19를 참조해보면, 블록(1901)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임의 시퀀스가 검출된다. 상술된 예제에서는, 차량이 본 명세서에서는 휴대용 장치로 간주될 수 있다. 블록(1902)에서, 연속적인 움직임 각각의 이동 방향과 각 움직임 간의 시간이 결정된다. 블록(1903)에서, 이 정보는 휴대용 장치의 기억 장치에 기억될 수 있다. 또는, 이 정보는 네트워크(예를 들어 무선 네트워크)를 통해 원격 장치로 동적으로 송신될 수 있다. 이어서, 블록(1904)에서, 움직임의 이력을 나타내는 항적이 저장된 움직임 데이터를 이용하여 재생성될 수 있다. 다른 동작이 또한 수행될 수 있다.Figure 19 is a flow chart illustrating an exemplary process for regenerating a wake of motion using an accelerometer, in accordance with one embodiment of the present invention. Exemplary process 1900 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. Referring to FIG. 19, at block 1901, a sequence of movements of the portable device is detected using an accelerometer attached to the portable device. In the example described above, the vehicle may be considered a portable device herein. At block 1902, the time between each movement direction and each motion of each successive motion is determined. At block 1903, this information may be stored in a storage device of the portable device. Alternatively, this information may be dynamically transmitted to the remote device via a network (e.g., a wireless network). Then, at block 1904, a trace representing the history of the motion may be regenerated using the stored motion data. Other operations may also be performed.

가속도계를 이용한 움직임 보상Motion compensation using accelerometer

본 발명의 또 다른 실시예에 따라, 휴대용 장치의 움직임을 검출하는 데에 가속도계가 사용될 수 있고, 이 검출에 응하여 움직임 보상이 적용될 수 있다. 예를 들어, 휴대용 장치에 부착된 가속도계는 휴대용 장치를 사용하는 (예를 들어 휴대용 장치의 디스플레이에 디스플레이되어 있는 전자 문서를 판독하는) 사용자가 잘 튀는(bouncing) 차량에 타고 있다는 것을 검출할 수 있다. 이 검출에 응하여, 전자 문서가 사용자의 눈으로 봤을 때 상대적으로 동일한 위치를 유지할 수 있도록 디스플레이된 문서에 대한 움직임 보상이 수행될 수 있다.According to another embodiment of the present invention, an accelerometer can be used to detect movement of the portable device, and motion compensation can be applied in response to this detection. For example, an accelerometer attached to a portable device can detect that the user is riding in a bouncing vehicle that uses a portable device (e.g., reading an electronic document displayed on a display of a portable device) . In response to this detection, motion compensation for the displayed document can be performed so that the electronic document can maintain a relatively same position when viewed by the user's eyes.

한 실시예에서, 디스플레이 평면에서 시간 함수로서 디스플레이 플랫폼의 위치는 가속도계로부터 수신된 신호를 적절하게 적분함으로써 계산될 수 있다. 이후 이미지는 그 위치를 디스플레이 평면의 디스플레이의 움직임에 상관없이 공간에서 사실상 고정되게 유지할 수 있도록 디스플레이 상에서 시간 함수로서 수직으로 그리고 수평으로 변환된다. 이러한 움직임(예를 들어 튀는 것과 같은 갑작스러운 움직임)은 가속도계가 제공하는 움직임 데이터의 상대적으로 높은 빈도수의 성분(frequency component)을 통해 나타내어질 수 있다. 차량의 전진 속도에 의해 발생되는 것과 같은 디스플레이 움직임의 저 빈도수 성분은, 차량이 언덕 위로 올라가고 내려오고 또는 도로의 커브를 돌 때 이미지가 스크린에서 흔들리는 것을 방지하기 위해 보상될 수 없다. 마찬가지로, 이러한 기술은 튀는 플랫폼을 타고 있는 동안 휴대용 장치에 의해 재생되는 전자 게임에 또한 적용될 수 있다.In one embodiment, the position of the display platform as a function of time in the display plane can be calculated by appropriately integrating the received signal from the accelerometer. The image is then converted vertically and horizontally as a function of time on the display so that its position can be kept substantially constant in space, regardless of the movement of the display's display plane. Such movement (e.g., sudden movement such as bouncing) may be indicated through a relatively high frequency component of the motion data provided by the accelerometer. The low frequency component of the display motion, such as caused by the vehicle's forward speed, can not be compensated to prevent the image from shaking on the screen as the vehicle rides up and down the hill or on the curve of the road. Likewise, this technique can also be applied to electronic games played by a portable device while riding a bouncing platform.

도 22는 본 발명의 한 실시예에 따라, 가속도계를 이용하는 움직임 보상을 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스는 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임을 검출하는 단계, 가속도계가 제공하는 움직임 데이터에 기초하여 휴대용 장치의 움직임 방향을 결정하는 단계 및 휴대용 장치의 움직임을 보상하기 위해 휴대용 장치의 디스플레이에 디스플레이된 대상의 위치를 조정하여, 그 조정된 디스플레이 대상이 휴대용 장치의 사용자에 대해 계속 상대적으로 동일한 위치일 수 있도록 하는 단계를 포함한다.22 is a flow diagram illustrating an exemplary process for motion compensation using an accelerometer, in accordance with one embodiment of the present invention. An exemplary process may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment, an exemplary process includes detecting movement of a portable device using an accelerometer attached to the portable device, determining a direction of movement of the portable device based on motion data provided by the accelerometer, And adjusting the position of the object displayed on the display of the portable device so that the adjusted display object is still in the same position relative to the user of the portable device.

도 22를 참조해보면, 블록(2201)에서, 휴대용 장치의 움직임이 휴대용 장치에 부착된 가속도계를 이용하여 검출된다. 한 실시예에서, 움직임은 가속도계가 제공하는 움직임 데이터의 일부로서 위치로부터의 시간 함수로서 검출된다. 움직임 데이터는 갑작스러운 움직임을 나타내는 상대적으로 높은 빈도수 성분 및 느린 움직임을 나타내는 상대적으로 낮은 빈도수 성분을 포함할 수 있다. 블록(2202)에서, 움직임 데이터의 상대적으로 높은 빈도수 성분(예를 들어, 디스플레이된 문서를 판독하거나 정지 이미지를 살피기 위한 사람의 시각의 예민함을 저하하는 움직임 성분들)이 디스플레이 평면에 추출된다. 블록(2203)에서, 디스플레이된 문서 또는 이미지의 위치는 휴대용 장치의 높은 성분 움직임(예를 들어 갑작스러운 이동)을 보상하기 위해 추출된 높은 빈도수 성분에 기초하여 시프트될 수 있다. 그 결과, 디스플레이된 문서 또는 이미지는 사용자에 대해 공간에서 상대적으로 안정되게 유지될 수 있다. 다른 동작이 또한 수행될 수 있다.Referring to Fig. 22, at block 2201, the movement of the portable device is detected using an accelerometer attached to the portable device. In one embodiment, the motion is detected as a function of time from the position as part of the motion data provided by the accelerometer. The motion data may include a relatively high frequency component representing abrupt motion and a relatively low frequency component representing slow motion. At block 2202, a relatively high frequency component of the motion data (e.g., motion components that read the displayed document or degrade the sensitivity of the human's vision for viewing the still image) is extracted in the display plane. At block 2203, the location of the displayed document or image may be shifted based on the extracted high frequency component to compensate for high component motion (e.g., abrupt movement) of the portable device. As a result, the displayed document or image can be kept relatively stable in space for the user. Other operations may also be performed.

가속도계를 이용하는 충격 검출 및 응용Impact detection and application using accelerometer

본 발명의 또 다른 실시예에 따르면, 휴대용 장치의 사용자가 가하는 충격을 검출하는 데에 가속도계가 사용될 수 있다. 한 실시예에서, 이 기술을 이용하여 사용자는, 제어되는 운동량 이동을 부여하는 물리적 의미에서, 응용 프로그램이 사용하기 위해 휴대용 장치 또는 고정 장치에 입력으로서 충격을 가할 수 있다. 예를 들어, 이러한 충격은 충격의 크기 및 방향에 비례하여 디스플레이 상의 대상의 움직임을 개시하거나 또는 빗나가게 하는 것 같이 보일 수 있다. 이것은 게임(예를 들어 당구 및 다른 볼 게임) 및 교육/공학 탐구(예를 들어 탭에 대한 구조의 응답)를 가능하게 할 것이다.According to another embodiment of the present invention, an accelerometer can be used to detect the impact applied by the user of the portable device. In one embodiment, using this technique, a user may impose, as a input, a portable device or a fixed device for use by an application program, in a physical sense that imparts a controlled momentum movement. For example, such an impact may appear to initiate or deflect the movement of the object on the display in proportion to the magnitude and direction of the impact. This will enable games (eg billiards and other ball games) and educational / engineering explorations (eg response of structures to tabs).

예를 들어 사용자는 휴대용 장치의 측면을 가볍게 두들겨(tap) 휴대용 장치의 디스플레이를 가로질러 커서를 "가볍게 던질(toss)" 수 있다. 휴대용 장치에 부착된 가속도계는 휴대용 장치의 움직임을 야기하는 이러한 힘을 검출할 수 있다. 힘의 방향 및 크기는 가속도계가 제공하는 움직임 데이터에 기초하여 결정될 수 있다. 이 기능이 응용에서 가능할 경우, 장치의 측면을 가볍게 두들김으로써 작은 대상을 가볍게 두들기고 그것을 표면에 따라 조금 미끌어지도록 하는 것과 유사한 방식으로 커서를 움직이도록 할 것이다. 마찬가지로, 이러한 기술은 예를 들어 비디오 게임(예를 들어 골프, 볼링, 테니스 등)과 같은 각종 다른 응용에서 활용될 수 있다.For example, the user may tap the side of the portable device (tap) to "toss " the cursor across the display of the portable device. An accelerometer attached to a portable device can detect such force that causes movement of the portable device. The direction and magnitude of the force can be determined based on the motion data provided by the accelerometer. If this function is available in your application, you will move the cursor in a similar way as tapping the side of the device lightly to tap the small object and slip it slightly along the surface. Likewise, such techniques may be utilized in various other applications, for example video games (e.g., golf, bowling, tennis, etc.).

도 23은 본 발명의 한 실시예에 따라 충격 검출을 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스는 휴대용 장치에 가해진 힘에 응하여 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임을 검출하는 단계, 가속도계가 제공하는 가속도 정보에 기초하여 힘의 크기 및 방향을 계산하는 단계 및 휴대용 장치의 디스플레이 상에서 제1 위치에서 제2 위치로 디스플레이된 대상을 이동시키는 단계를 포함하고, 여기서 제1 위치와 제2 위치 간의 방향 및 거리는 계산된 힘의 크기 및 방향에 기초하여 결정된다.23 is a flow chart illustrating an exemplary process for impact detection in accordance with one embodiment of the present invention. An exemplary process may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment, an exemplary process includes detecting movement of a portable device using an accelerometer attached to the portable device in response to a force applied to the portable device, calculating the magnitude and direction of the force based on the acceleration information provided by the accelerometer And moving a displayed object from a first position to a second position on a display of the portable device, wherein the direction and distance between the first position and the second position is determined based on the magnitude and direction of the calculated force do.

도 23을 참조해보면, 블록(2301)에서, 휴대용 장치에 부착된 가속도계는 휴대용 장치를 가볍게 두들기는 것(예를 들어, 사용자가 손으로 휴대용 장치의 모서리를 가볍게 두들김)에 응하여 시간 함수로서 3개 축의 가속도를 검출한다. 블록(2302)에서, 3개 축 가속도 성분의 시간 적분을 수행함으로써 장치에 전달된 충격의 크기에 비례하여 값이 계산된다. 한 실시예에서, 이 값은 예를 들어, 가속도의 세 가지 성분(예를 들어, X, Y, 및 Z 축 가속도 정보)의 벡터 합에 의해 결정된 결과 가속도 벡터의 절대값의 적분에 기초하여 결정될 수 있다.Referring to FIG. 23, at block 2301, an accelerometer attached to a handheld device may be used as a function of time in response to tapping the handheld device lightly (e.g., by the user manually tapping the corner of the handheld device) The acceleration of the shaft is detected. At block 2302, a value is calculated proportional to the magnitude of the impact delivered to the device by performing time integration of the three-axis acceleration component. In one embodiment, this value is determined based, for example, on the integral of the absolute value of the resulting acceleration vector determined by the vector sum of the three components of acceleration (e.g., X, Y, and Z axis acceleration information) .

블록(2303)에서, 휴대용 장치를 가볍게 두들긴 결과 휴대용 장치로 전달된 충격의 방향이 결정된다. 한 실시예에서, 이 방향은 가속도계가 제공하는 움직임 데이터에 기초하여 가속도계에 접속된 마이크로컨트롤러 및/또는 펌웨어에 의해 계산된다. 결정된 충격의 방향 및 크기에 응하여, 응용 소프트웨어는 결정된 충격의 방향 및 크기와 비교적 관련된 방향으로 디스플레이된 대상을 멀리 이동시킨다. 디스플레이된 대상은 커서일 수 있다. 또는, 디스플레이된 대상은 당구 또는 핀볼(pinball)의 공, 볼링 게임에서의 볼링 공, 테니스의 라켓 또는 패들(paddle), 뒤틀림을 관찰하는 구조물 및/또는 운동에 의한 움직임 등일 수 있다. 상술된 기술은 또한 당업자들에게 명백한 다른 유사한 유형의 응용에 적용될 수 있다.At block 2303, the lightly tapping of the portable device determines the direction of the impact transmitted to the portable device. In one embodiment, this direction is calculated by the microcontroller and / or firmware connected to the accelerometer based on the motion data provided by the accelerometer. Depending on the direction and magnitude of the determined impact, the application software moves the displayed object away in a direction relatively relative to the direction and magnitude of the determined impact. The displayed object may be a cursor. Alternatively, the object displayed may be a ball of billiard or pinball, a bowling ball in a bowling game, a racket or paddle of tennis, a structure for observing warpage and / or movement by motion. The techniques described above can also be applied to other similar types of applications that will be apparent to those skilled in the art.

가속도계를 갖는 예시적인 휴대용 장치Exemplary portable devices with accelerometers

도 20은 본 발명의 한 실시예에 따라 가속도계를 갖는 예시적인 휴대용 장치를 도시하는 블록도이다. 예를 들어, 예시적인 시스템(2000)은 도 1에 도시된 예시적인 시스템(100) 또는 도 21의 예시적인 시스템(2100)의 적어도 일부분(예를 들어 서브시스템)를 나타낼 수 있다. 도 20을 참조해보면, 예시적인 시스템(2000)은 하나 이상의 가속도계(2001), 하나 이상의 마이크로컨트롤러(2002), 비디오 어댑터(2004)와 오디오 장치(2005)에 결합될 수 있는 호스트 칩셋(2003) 및 하나 이상의 주변 장치(2006)를 포함한다.20 is a block diagram illustrating an exemplary portable device having an accelerometer in accordance with one embodiment of the present invention. For example, the exemplary system 2000 may represent at least a portion (e.g., a subsystem) of the exemplary system 100 shown in FIG. 1 or the exemplary system 2100 of FIG. 20, an exemplary system 2000 includes a host chipset 2003 that may be coupled to one or more accelerometers 2001, one or more microcontrollers 2002, a video adapter 2004 and an audio device 2005, And one or more peripheral devices (2006).

한 실시예에서, 가속도계(2001)는 3-축 가속도계이고, 이것은 X, Y, Z 축상의 가속도 데이터를 제공할 수 있다. 가속도계는 칩 패키지로 캡슐화된 전자기계 마이크로 기계이다. 이것은 그 값이 3-공간에 대응하는 축을 따라 측정되는 가속도에 정비례하는 세 개의 아날로그 출력(X, Y, Z 축)을 나타낸다. 한 실시예에서, 가속도계(2001)는 Kionix사의 KGF01 가속도계이거나 Analog Device사의 ADXL311 가속도계일 수 있다.In one embodiment, the accelerometer 2001 is a three-axis accelerometer, which can provide acceleration data on the X, Y, and Z axes. The accelerometer is an electromechanical micromachine encapsulated in a chip package. This represents three analog outputs (X, Y, Z axes) whose values are directly proportional to the acceleration measured along the axis corresponding to the 3-space. In one embodiment, the accelerometer 2001 may be a KGF01 accelerometer from Kionix or an ADXL311 accelerometer from Analog Devices.

마이크로컨트롤러(2002)는 가속도계(2001)의 아날로그 출력을 모니터링하고 칩셋(2003)을 통해 호스트와 통신하는 것을 담당한다. 한 실시예에서, 마이크로컨트롤러(2002)는 I2C 버스(2007)와 인터럽트 라인(2008)을 통해 호스트 칩셋(2003)에 결합된다. 또는, 마이크로컨트롤러(2002)는 호스트 칩셋(2003)과 통합될 수 있다. 한 실시예에서, 마이크로컨트롤러(2002)는 Microchip사의 PCI 16F818 마이크로컨트롤러일 수 있다.The microcontroller 2002 is responsible for monitoring the analog output of the accelerometer 2001 and communicating with the host via the chipset 2003. In one embodiment, the microcontroller 2002 is coupled to the host chipset 2003 via the I2C bus 2007 and the interrupt line 2008. Alternatively, the microcontroller 2002 may be integrated with the host chipset 2003. In one embodiment, microcontroller 2002 may be a microchip PCI 16F818 microcontroller.

한 실시예에 따라, 가속도계(2001)가 휴대용 장치가 움직이고 있다는 것을 검출하는 경우, 마이크로컨트롤러(2002)는 가속도계(2001)로부터 3-축 가속도 정보를 수신하고, 인터럽트 라인(2008)을 통해 호스트에 통지한다. 이에 응하여, 움직임 데이터는 I2C 버스(2007)를 통해 마이크로컨트롤러(2002)로부터 판독될 수 있다. 한 실시예에서, 마이크로컨트롤러(2002)는 가속도계(2001)로부터 수신된 3-축 가속도 정보에 기초하여 이동 방향을 결정할 수 있다. 또는, 호스트 칩셋은 이러한 동작을 수행할 수 있다. 한 실시예에서, 세 개 축 모두의 결과 가속도 벡터의 크기는 이하의 공식에 따라 결정될 수 있다.According to one embodiment, when the accelerometer 2001 detects that the portable device is moving, the microcontroller 2002 receives the three-axis acceleration information from the accelerometer 2001 and sends it to the host via the interrupt line 2008 Notify. In response, the motion data can be read from the microcontroller 2002 via the I2C bus 2007. In one embodiment, the microcontroller 2002 may determine the direction of movement based on the three-axis acceleration information received from the accelerometer 2001. [ Alternatively, the host chipset can perform this operation. In one embodiment, the magnitude of the resulting acceleration vector for all three axes can be determined according to the following formula:

크기(가속도결과) = Sqrt(X가속도 2 + Y가속도 2 + Z가속도 2)Size (acceleration result ) = Sqrt (X acceleration 2 + Y acceleration 2 + Z acceleration 2 )

가속도 벡터의 결정된 크기에 응하여, 예시적인 시스템(200) 내에서 실행되는 하나 이상의 소프트웨어 컴포넌트(예를 들어, 응용 소프트웨어, 펌웨어 및 운영 체제 등)는 예를 들어, 본 명세서 전반에 걸쳐 상술한 소정의 동작을 수행할 수 있다. 예를 들어, 비디오 어댑터를 통해 디스플레이된 이미지의 방위가 조정될 수 있고, 사운드 효과는 오디오 장치(2005) 등을 통해 조정될 수 있다. 또한, 하드 드라이브와 같은 하나 이상의 주변 장치(2006)가 그에 따라 구성될 수 있다. 다른 구성이 존재할 수 있다.One or more software components (e.g., application software, firmware, and operating system, etc.) that run in the exemplary system 200 in response to the determined magnitude of the acceleration vector may be, for example, Operation can be performed. For example, the orientation of the displayed image through the video adapter can be adjusted, and the sound effect can be adjusted through the audio device 2005 or the like. In addition, one or more peripheral devices 2006, such as hard drives, may be configured accordingly. Other configurations may exist.

예시적인 데이터 처리 시스템An exemplary data processing system

도 21은 본 발명의 한 실시예에 따라 사용될 수 있는 디지털 처리 시스템의 블록도이다. 예를 들어, 도 21에 도시된 시스템(2100)은 도 1 및 도 20에 도시된 예시적인 시스템으로서 사용될 수 있다.21 is a block diagram of a digital processing system that may be used in accordance with an embodiment of the present invention. For example, the system 2100 shown in FIG. 21 may be used as the exemplary system shown in FIGS. 1 and 20.

도 21이 컴퓨터 시스템의 각종 컴포넌트를 도시하지만, 이러한 상세 사항은 본 발명에 밀접한 관계가 있는 것이 아니기 때문에, 이 도면이 임의의 특정 아키텍처 또는 컴포넌트들을 상호접속하는 방식을 나타내고자 하는 것이 아니라는 것을 유의한다. 네트워크 컴퓨터, 핸드헬드 컴퓨터, 셀룰러 폰, 멀티미디어 플레이어 및 더 작은 혹은 더 많은 컴포넌트들을 갖는 기타 데이터 처리 시스템이 본 발명과 함께 또한 사용될 수 있다는 것을 이해할 것이다. 도 21의 컴퓨터 시스템은, 예를 들어, Apple의 맥킨토시 컴퓨터이거나 또는 IBM 호환가능 PC일 수 있다.It should be noted that Figure 21 illustrates various components of a computer system, but these details are not intended to be indicative of the manner in which they are interconnected with any particular architecture or components, . Network computers, handheld computers, cellular phones, multimedia players, and other data processing systems having smaller or more components may also be used with the present invention. The computer system of FIG. 21 may be, for example, an Apple Macintosh computer or an IBM compatible PC.

도 21에 도시된 바와 같이, 데이터 처리 시스템의 형태인 컴퓨터 시스템(2100)은 마이크로프로세서(2103)와 ROM(2107), 휘발성 RAM(2105), 및 불휘발성 메모리(2106)에 결합된 버스(2102)를 포함한다. 예를 들어, Motorola사 또는 IBM사의 PowerPC G4 또는 PowerPC G5 마이크로프로세서일 수 있는 마이크로프로세서(2103)는, 도 21의 예에 도시된 바와 같이 캐시 메모리(2104)에 결합되어 있다. 버스(2102)는 각종 컴포넌트들을 상호접속시키고 또한 이들 컴포넌트(2103, 2107, 2105 및 2106)를 디스플레이 컨트롤러 및 디스플레이 장치(2108)에 뿐만 아니라 종래 기술에 공지되어 있는 마우스, 키보드, 모뎀, 네트워크 인터페이스, 프린터 및 기타 장치일 수 있는 입력/출력 장치(2110)에 상호접속시킨다. 통상적으로, 입력/출력 장치(2110)는 입력/출력 컨트롤러(2109)를 통해 시스템에 결합된다. 휘발성 RAM(2105)은 통상적으로 메모리의 데이터를 리프레시하거나 또는 유지하기 위해 계속 전원을 필요로 하는 동적 RAM(dynamic RAM:DRAM)으로서 구현된다. 불휘발성 메모리(2106)는 통상적으로 자기 하드 드라이브, 자기 광 드라이브, 광 드라이브 또는 DVD RAM 또는 시스템의 전원이 제거된 후에도 데이터를 유지하는 다른 유형의 메모리 시스템이다. 통상적으로, 불휘발성 메모리는 또한 RAM일 수 있지만 반드시 그렇지는 않다. 도 21에서 불휘발성 메모리가 데이터 처리 시스템의 나머지 컴포넌트에 직접 결합된 로컬 장치인 것으로 도시되어 있지만, 본 발명이 모뎀이나 이더넷 인터페이스와 같은 네트워크 인터페이스를 통해 데이터 처리 시스템에 결합되는 네트워크 기억 장치와 같이, 시스템으로부터 원격인 불휘발성 메모리를 이용할 수 있다는 것을 이해할 것이다. 버스(2102)는 종래 기술에 잘 알려져 있는 바와 같이, 각종 브리지, 컨트롤러 및/또는 어댑터를 통해 서로 접속되는 하나 이상의 버스를 포함할 수 있다. 한 실시예에서, I/O 컨트롤러(2109)는 USB(Universal Serial Bus) 주변기기를 제어하기 위한 USB 어댑터를 포함한다. 또는, I/O 컨트롤러는 또한 FiewWire 장치를 제어하기 위한, FireWire 어댑터로 알려져 있는 IEEE-1394 어댑터를 포함할 수 있다. 다른 컴포넌트가 포함될 수 있다.21, a computer system 2100 in the form of a data processing system includes a microprocessor 2103 and a bus 2102 coupled to a ROM 2107, a volatile RAM 2105, and a non-volatile memory 2106. [ ). For example, a microprocessor 2103, which may be a PowerPC G4 or PowerPC G5 microprocessor from Motorola or IBM, is coupled to a cache memory 2104 as shown in the example of FIG. The bus 2102 interconnects the various components and also connects these components 2103, 2107, 2105, and 2106 to the display controller and display device 2108, as well as to a variety of components such as a mouse, keyboard, modem, To an input / output device 2110, which may be a printer and other devices. Typically, input / output device 2110 is coupled to the system via input / output controller 2109. Volatile RAM 2105 is implemented as dynamic RAM (DRAM), which typically requires continuous power to refresh or maintain data in memory. The non-volatile memory 2106 is typically a magnetic hard drive, a magnetic optical drive, an optical drive, or a DVD RAM or other type of memory system that retains data even after power is removed from the system. Typically, the non-volatile memory may also be but not necessarily a RAM. Although the non-volatile memory is shown in Figure 21 as being a local device directly coupled to the rest of the components of the data processing system, it is to be appreciated that the present invention may be implemented as a network storage device coupled to a data processing system via a network interface such as a modem or Ethernet interface, It will be appreciated that a non-volatile memory that is remote from the system may be used. The bus 2102 may comprise one or more buses connected to each other via various bridges, controllers and / or adapters, as is well known in the art. In one embodiment, the I / O controller 2109 includes a USB adapter for controlling a USB (Universal Serial Bus) peripheral. Alternatively, the I / O controller may also include an IEEE-1394 adapter, known as a FireWire adapter, for controlling the FiewWire device. Other components may be included.

지금까지 가속도계를 이용하여 휴대용 장치를 작동시키기 위한 방법 및 장치가 설명되었다. 전술된 명세서에서, 본 발명은 그 특정의 예시적인 실시예를 참조하여 설명되었다. 이하의 청구항에서 설명되는 바와 같이 본 발명의 더 넓은 취지 및 범위에서 벗어나지 않고 이에 각종 수정이 있을 수 있다는 것은 명백하다. 따라서, 명세서 및 도면은 제한적인 것이라기보다는 예시적인 개념으로 간주되어야 한다. A method and apparatus for operating a portable device using an accelerometer have been described so far. In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will be apparent that various modifications may be made therein without departing from the broader spirit and scope of the invention as set forth in the claims below. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

가속도계에 기초하여 휴대용 장치를 작동시킬 수 있다. 본 발명의 한 실시예에 따르면, 휴대용 장치에 부착된 가속도계는 휴대용 장치의 움직임을 검출하고, 이에 응하여, 각종 하나 이상의 소정의 사용자 구성가능 동작을 수행할 수 있다. The portable device can be operated based on the accelerometer. According to one embodiment of the present invention, an accelerometer attached to a portable device may detect movement of the portable device and, in response, perform various one or more predetermined user configurable operations.

Claims (20)

가속도계에 기초하여 휴대용 장치를 작동시키고, 기계에 의해 구현되는 방법에 있어서,
상기 휴대용 장치에 부착된 가속도계를 이용하여 상기 휴대용 장치의 움직임을 검출하는 단계;
활성 동작 상태 및 비활성 동작 상태 중 하나를 포함하는 상기 휴대용 장치의 동작 상태를 판정하는 단계;
상기 휴대용 장치의 움직임 검출에 응하여, 상기 판정된 동작 상태에 기초하여 하나 이상의 미리 설정된 사용자 구성가능 액션을 수행하는 기계-실행가능 코드를 실행하는 단계 - 상기 하나 이상의 미리 설정된 사용자 구성가능 액션은 상기 휴대용 장치가 상기 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되지 않은 경우 상기 휴대용 장치를 휴면 모드(hibernated mode)로 바꾸고, 상기 휴대용 장치가 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되는 경우 상기 휴대용 장치를 상대적으로 낮은 전력 모드로 바꿔서 상기 휴대용 장치에 대한 모션 기반 손실(motion-based damage)을 방지하는 단계를 포함함 -
를 포함하는 방법.
A method of operating a portable device based on an accelerometer and being implemented by a machine,
Detecting movement of the portable device using an accelerometer attached to the portable device;
Determining an operating state of the portable device including one of an active operating state and an inactive operating state;
Executing machine-executable code that, in response to detecting motion of the portable device, performs one or more predetermined user-configurable actions based on the determined operational state, the one or more predetermined user- If the device is in the inactive state and is not determined to be moving based on motion data provided by the accelerometer, the portable device is switched to a hibernated mode, the portable device is in an inactive state and the accelerometer And converting the portable device into a relatively low power mode to prevent motion-based damage to the portable device when it is determined that the portable device is moving based on the provided motion data,
&Lt; / RTI &gt;
삭제delete 삭제delete 제1항에 있어서, 상기 휴대용 장치를 휴면 모드로 바꾸는 단계는,
상기 휴대용 장치의 시스템 메모리 내의 내용 중 적어도 일부를 상기 휴대용 장치의 영구 기억 장치로 스와핑하는 단계; 및
상기 휴대용 장치에 의해 소비되는 모든 전력을 사실상 차단시키는(shut down) 단계
를 포함하는 방법.
The method of claim 1, wherein the step of switching the portable device to a sleep mode comprises:
Swapping at least some of the contents in the system memory of the portable device to the permanent memory of the portable device; And
Substantially shutting down all power consumed by the portable device
&Lt; / RTI &gt;
제1항에 있어서, 상기 휴대용 장치의 커버는 상기 휴대용 장치가 상기 비활성 상태에 있을 때에는 닫혀져 있는 방법.The method of claim 1, wherein the cover of the portable device is closed when the portable device is in the inactive state. 제1항에 있어서, 상기 휴대용 장치의 사용자 인터페이스는 상기 휴대용 장치가 상기 비활성 상태에 있을 때에는 잠겨져 있는 방법.The method of claim 1, wherein the user interface of the portable device is locked when the portable device is in the inactive state. 제1항에 있어서, 상기 휴대용 장치의 인터페이스 장치는 상기 휴대용 장치가 상기 비활성 상태에 있을 때에는 사용불가로 되는 방법.The method according to claim 1, wherein the interface device of the portable device is disabled when the portable device is in the inactive state. 가속도계에 기초하여 휴대용 장치를 작동시키고, 기계에 의해 구현되는 방법에 있어서,
상기 휴대용 장치에 부착된 가속도계를 이용하여 상기 휴대용 장치가 움직이고 있는지 여부를 검출하는 단계;
비활성 상태와 활성 상태 중 하나를 포함하는 상기 휴대용 장치의 동작 상태를 판정하는 단계;
상기 휴대용 장치가 상기 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되지 않은 경우 상기 휴대용 장치를 휴면 모드(hibernated mode)로 바꾸고, 상기 휴대용 장치가 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되는 경우 상기 휴대용 장치를 상대적으로 낮은 전력 모드로 바꿔서 상기 휴대용 장치에 대한 모션 기반 손실(motion-based damage)을 방지함으로써, 상기 휴대용 장치가 움직이고 있는 경우 상기 판정된 동작 상태에 기초하여 상기 휴대용 장치를 미리 설정된 전력 모드가 되도록 구성하는 단계
를 포함하는 방법.
A method of operating a portable device based on an accelerometer and being implemented by a machine,
Detecting whether the portable device is moving using an accelerometer attached to the portable device;
Determining an operating state of the portable device including one of an inactive state and an active state;
If the portable device is in the inactive state and is not determined to be moving based on motion data provided by the accelerometer, the portable device is switched to a hibernated mode, the portable device is in an inactive state and the accelerometer By moving the portable device to a relatively low power mode to prevent motion-based damage to the portable device when it is determined that the portable device is moving based on the motion data provided by the portable device And configuring the portable device to be a preset power mode based on the determined operation state
&Lt; / RTI &gt;
삭제delete 삭제delete 제8항에 있어서, 상기 휴대용 장치를 상기 휴면 모드로 바꾸는 단계는,
상기 휴대용 장치의 시스템 메모리의 내용 중 적어도 일부를 상기 휴대용 장치의 영구 기억 장치로 스와핑하는 단계; 및
상기 휴대용 장치에 의해 소비되는 모든 전력을 사실상 차단시키는 단계
를 포함하는 방법.
9. The method of claim 8, wherein changing the portable device to the sleep mode comprises:
Swapping at least some of the contents of the system memory of the portable device to the permanent storage device of the portable device; And
Substantially blocking all power consumed by the portable device
&Lt; / RTI &gt;
제8항에 있어서,
상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 상기 휴대용 장치의 미리 설정된 표면이 미리 설정된 방향을 향하고 있는지 여부를 판정하는 단계; 및
상기 휴대용 장치의 미리 설정된 표면이 상기 미리 설정된 방향을 향하고 있는 경우 상기 휴대용 장치를 상대적으로 낮은 전력 모드가 되도록 구성하는 단계
를 더 포함하는 방법.
9. The method of claim 8,
Determining whether a predetermined surface of the portable device is oriented in a predetermined direction based on the motion data provided by the accelerometer; And
Configuring the portable device to be in a relatively low power mode when a predetermined surface of the portable device is facing the predetermined direction
&Lt; / RTI &gt;
제12항에 있어서, 상기 휴대용 장치의 디스플레이 표면이 아래로 향하고 있는 경우, 상기 휴대용 장치를 상대적으로 낮은 전력 모드가 되도록 구성하는 방법.13. The method of claim 12, wherein when the display surface of the portable device is facing downward, the portable device is configured to be in a relatively low power mode. 제8항에 있어서, 상기 휴대용 장치의 커버는 상기 휴대용 장치가 상기 비활성 상태에 있을 때에는 닫혀져 있는 방법.9. The method of claim 8, wherein the cover of the portable device is closed when the portable device is in the inactive state. 제8항에 있어서, 상기 휴대용 장치의 사용자 인터페이스는 상기 휴대용 장치가 상기 비활성 상태에 있을 때에는 잠겨져 있는 방법.9. The method of claim 8, wherein the user interface of the portable device is locked when the portable device is in the inactive state. 제8항에 있어서, 상기 휴대용 장치의 인터페이스 장치는 상기 휴대용 장치가 상기 비활성 상태에 있을 때에는 사용불가로 되는 방법.9. The method of claim 8, wherein the interface device of the portable device is disabled when the portable device is in the inactive state. 기계로 하여금 가속도계에 기초하여 휴대용 장치를 작동시키고 기계에 의해 구현되는 방법을 수행하도록 하는 실행가능 코드를 갖는 기계 판독가능 매체에 있어서, 상기 방법은,
상기 휴대용 장치에 부착된 가속도계를 이용하여 상기 휴대용 장치의 움직임을 검출하는 단계;
활성 동작 상태 및 비활성 동작 상태 중 하나를 포함하는 상기 휴대용 장치의 동작 상태를 판정하는 단계;
상기 휴대용 장치의 움직임 검출에 응하여, 상기 판정된 동작 상태에 기초하여 하나 이상의 미리 설정된 사용자 구성가능 액션을 수행하는 기계-실행가능 코드를 실행하는 단계 - 상기 하나 이상의 미리 설정된 사용자 구성가능 액션은 상기 휴대용 장치가 상기 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되지 않은 경우 상기 휴대용 장치를 휴면 모드(hibernated mode)로 바꾸고, 상기 휴대용 장치가 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되는 경우 상기 휴대용 장치를 상대적으로 낮은 전력 모드로 바꿔서 상기 휴대용 장치에 대한 모션 기반 손실(motion-based damage)을 방지하는 단계를 포함함 -
를 포함하는 기계 판독가능 매체.
A machine readable medium having executable code for causing a machine to operate a portable device based on an accelerometer and to perform a method implemented by a machine,
Detecting movement of the portable device using an accelerometer attached to the portable device;
Determining an operating state of the portable device including one of an active operating state and an inactive operating state;
Executing machine-executable code that, in response to detecting motion of the portable device, performs one or more predetermined user-configurable actions based on the determined operational state, the one or more predetermined user- If the device is in the inactive state and is not determined to be moving based on motion data provided by the accelerometer, the portable device is switched to a hibernated mode, the portable device is in an inactive state and the accelerometer And converting the portable device into a relatively low power mode to prevent motion-based damage to the portable device when it is determined that the portable device is moving based on the provided motion data,
&Lt; / RTI &gt;
기계로 하여금 가속도계에 기초하여 휴대용 장치를 작동시키고 기계에 의해 구현되는 방법을 수행하도록 하는 실행가능 코드를 갖는 기계 판독가능 매체에 있어서, 상기 방법은,
상기 휴대용 장치에 부착된 가속도계를 이용하여 상기 휴대용 장치가 움직이고 있는지 여부를 검출하는 단계;
비활성 상태와 활성 상태 중 하나를 포함하는 상기 휴대용 장치의 동작 상태를 판정하는 단계;
상기 휴대용 장치가 상기 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되지 않은 경우 상기 휴대용 장치를 휴면 모드(hibernated mode)로 바꾸고, 상기 휴대용 장치가 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되는 경우 상기 휴대용 장치를 상대적으로 낮은 전력 모드로 바꿔서 상기 휴대용 장치에 대한 모션 기반 손실(motion-based damage)을 방지함으로써, 상기 휴대용 장치가 움직이고 있는 경우 상기 판정된 동작 상태에 기초하여 상기 휴대용 장치를 미리 설정된 전력 모드가 되도록 구성하는 단계
를 포함하는 기계 판독가능 매체.
A machine readable medium having executable code for causing a machine to operate a portable device based on an accelerometer and to perform a method implemented by a machine,
Detecting whether the portable device is moving using an accelerometer attached to the portable device;
Determining an operating state of the portable device including one of an inactive state and an active state;
If the portable device is in the inactive state and is not determined to be moving based on motion data provided by the accelerometer, the portable device is switched to a hibernated mode, the portable device is in an inactive state and the accelerometer By moving the portable device to a relatively low power mode to prevent motion-based damage to the portable device when it is determined that the portable device is moving based on the motion data provided by the portable device And configuring the portable device to be a preset power mode based on the determined operation state
&Lt; / RTI &gt;
휴대용 장치에 있어서,
프로세서,
상기 프로세서에 결합되고, 명령어가 저장되어 있는 메모리; 및
상기 프로세서와 상기 메모리에 결합되어 상기 휴대용 장치의 움직임을 검출하는 가속도계
를 포함하고,
상기 프로세서는 상기 메모리의 명령어를 실행하여,
상기 가속도계를 이용하여 상기 휴대용 장치의 움직임을 검출하고,
활성 동작 상태 및 비활성 동작 상태 중 하나를 포함하는 상기 휴대용 장치의 동작 상태를 판정하고,
상기 휴대용 장치의 움직임 검출에 응하여, 상기 판정된 동작 상태에 기초하여 하나 이상의 미리 설정된 사용자 구성가능 액션을 수행하는 기계-실행가능 코드를 실행하는 - 상기 하나 이상의 미리 설정된 사용자 구성가능 액션은 상기 휴대용 장치가 상기 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되지 않은 경우 상기 휴대용 장치를 휴면 모드(hibernated mode)로 바꾸고, 상기 휴대용 장치가 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되는 경우 상기 휴대용 장치를 상대적으로 낮은 전력 모드로 바꿔서 상기 휴대용 장치에 대한 모션 기반 손실(motion-based damage)을 방지하는 단계를 포함함 -
휴대용 장치.
In a portable device,
Processor,
A memory coupled to the processor, the memory having stored instructions; And
An accelerometer coupled to the processor and to the memory for detecting movement of the portable device,
Lt; / RTI &gt;
The processor executing instructions of the memory,
Detecting movement of the portable device using the accelerometer,
Determining an operating state of the portable device including one of an active operating state and an inactive operating state,
Executing machine-executable code that, in response to detecting motion of the portable device, performs one or more predetermined user-configurable actions based on the determined operational state, the one or more predetermined user- Changes the portable device to a hibernated mode when it is determined that the mobile device is in the inactive state and is not moving based on the motion data provided by the accelerometer and the portable device is in an inactive state and is provided by the accelerometer Based motion data for the portable device by switching the portable device to a relatively low power mode when it is determined that the portable device is moving based on the motion data,
Portable device.
휴대용 장치에 있어서,
프로세서,
상기 프로세서에 결합되고, 명령어가 저장되어 있는 메모리; 및
상기 프로세서와 상기 메모리에 결합되어 상기 휴대용 장치의 움직임을 검출하는 가속도계
를 포함하고,
상기 프로세서는 상기 메모리의 명령어를 실행하여,
상기 가속도계를 이용하여 상기 휴대용 장치가 움직이고 있는지 여부를 검출하고,
비활성 상태와 활성 상태 중 하나를 포함하는 상기 휴대용 장치의 동작 상태를 판정하고,
상기 휴대용 장치가 상기 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되지 않은 경우 상기 휴대용 장치를 휴면 모드(hibernated mode)로 바꾸고, 상기 휴대용 장치가 비활성 상태에 있으며 상기 가속도계에 의해 제공되는 움직임 데이터에 기초하여 움직이고 있는 것으로 판정되는 경우 상기 휴대용 장치를 상대적으로 낮은 전력 모드로 바꿔서 상기 휴대용 장치에 대한 모션 기반 손실(motion-based damage)을 방지함으로써, 상기 휴대용 장치가 움직이고 있는 경우 상기 판정된 동작 상태에 기초하여 상기 휴대용 장치를 미리 설정된 전력 모드가 되도록 구성하는
휴대용 장치.
In a portable device,
Processor,
A memory coupled to the processor, the memory having stored instructions; And
An accelerometer coupled to the processor and to the memory for detecting movement of the portable device,
Lt; / RTI &gt;
The processor executing instructions of the memory,
Detecting whether the portable device is moving using the accelerometer,
Determining an operating state of the portable device including one of an inactive state and an active state,
If the portable device is in the inactive state and is not determined to be moving based on motion data provided by the accelerometer, the portable device is switched to a hibernated mode, the portable device is in an inactive state and the accelerometer By moving the portable device to a relatively low power mode to prevent motion-based damage to the portable device when it is determined that the portable device is moving based on the motion data provided by the portable device , The portable device is configured to be a preset power mode based on the determined operation state
Portable device.
KR1020127018441A 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer KR101497195B1 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US10/791,495 US7218226B2 (en) 2004-03-01 2004-03-01 Acceleration-based theft detection system for portable electronic devices
US10/791,495 2004-03-01
US10/890,856 2004-07-13
US10/890,856 US7307228B2 (en) 2000-10-02 2004-07-13 Method and apparatus for detecting free fall
US10/986,730 2004-11-12
US10/986,730 US7688306B2 (en) 2000-10-02 2004-11-12 Methods and apparatuses for operating a portable device based on an accelerometer
PCT/US2005/003599 WO2005093550A2 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020067020437A Division KR101190323B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020137004446A Division KR101459979B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer

Publications (2)

Publication Number Publication Date
KR20120096080A KR20120096080A (en) 2012-08-29
KR101497195B1 true KR101497195B1 (en) 2015-02-27

Family

ID=43103156

Family Applications (7)

Application Number Title Priority Date Filing Date
KR1020127018441A KR101497195B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020137004446A KR101459979B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020147013949A KR101644004B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020177023162A KR101882639B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020137030445A KR101459985B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020117013232A KR101178364B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020167020259A KR101771225B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer

Family Applications After (6)

Application Number Title Priority Date Filing Date
KR1020137004446A KR101459979B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020147013949A KR101644004B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020177023162A KR101882639B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020137030445A KR101459985B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020117013232A KR101178364B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer
KR1020167020259A KR101771225B1 (en) 2004-03-01 2005-01-27 Methods and apparatuses for operating a portable device based on an accelerometer

Country Status (4)

Country Link
JP (3) JP5657963B2 (en)
KR (7) KR101497195B1 (en)
CN (2) CN101893946B (en)
HK (1) HK1180416A1 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5916363B2 (en) * 2011-12-05 2016-05-11 シャープ株式会社 Image display device, program, and image display method
JP5882731B2 (en) 2011-12-28 2016-03-09 キヤノン株式会社 INPUT DISPLAY DEVICE, ITS CONTROL METHOD, PROGRAM, AND PRINTING DEVICE
JP5947626B2 (en) 2012-06-12 2016-07-06 キヤノン株式会社 INPUT DISPLAY DEVICE, ITS CONTROL METHOD, PROGRAM, AND PRINTING DEVICE
CN103092341B (en) * 2012-12-31 2016-08-10 华为技术有限公司 Control the method for terminal, device and terminal
CN108742559B (en) * 2013-06-03 2022-01-07 飞比特公司 Wearable heart rate monitor
KR20150016683A (en) * 2013-08-05 2015-02-13 엘지전자 주식회사 Mobile terminal and control method for the mobile terminal
CN104571876A (en) * 2014-12-11 2015-04-29 深圳市金立通信设备有限公司 Terminal
CN104571499A (en) * 2014-12-11 2015-04-29 深圳市金立通信设备有限公司 Method for controlling terminal and terminal
CN109154867B (en) * 2016-03-30 2022-05-17 尼古拉斯·G·苏特尔 Combined translation and rotation motion simulator
JP6946857B2 (en) 2017-08-24 2021-10-13 富士フイルムビジネスイノベーション株式会社 Information processing equipment and programs
WO2019090570A1 (en) * 2017-11-09 2019-05-16 深圳市柔宇科技有限公司 Flexible mobile phone bending radian control method and flexible mobile phone
CN108052960A (en) * 2017-11-28 2018-05-18 深圳市金立通信设备有限公司 Method, model training method and the terminal of identification terminal grip state
CN111801144A (en) * 2018-01-08 2020-10-20 鲍勃斯科特有限责任公司 Media manipulation with rotation of portable computing device
DE102019100105A1 (en) * 2019-01-04 2020-07-09 Enocean Gmbh Device for recording the activity of people or the state of infrastructures or objects influenced by people
CN111752425B (en) * 2019-03-27 2022-02-15 北京外号信息技术有限公司 Method for selecting an interactive object on a display medium of a device
CN112101120B (en) * 2020-08-18 2024-01-05 沃行科技(南京)有限公司 Map model based on automatic driving application scene and application method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001086920A2 (en) * 2000-05-12 2001-11-15 Zvi Lapidot Apparatus and method for the kinematic control of hand-held devices
US20020021278A1 (en) 2000-07-17 2002-02-21 Hinckley Kenneth P. Method and apparatus using multiple sensors in a device with a display
US20030076343A1 (en) 1997-08-29 2003-04-24 Xerox Corporation Handedness detection for a physical manipulatory grammar
US20030103091A1 (en) 2001-11-30 2003-06-05 Wong Yoon Kean Orientation dependent functionality of an electronic device

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944143A (en) * 1995-08-01 1997-02-14 Toshiba Corp Portable information communication terminal device
JPH1063265A (en) * 1996-08-16 1998-03-06 Casio Comput Co Ltd Automatic playing device
JPH10240434A (en) * 1997-02-27 1998-09-11 Matsushita Electric Ind Co Ltd Command menu selecting method
JPH10234423A (en) * 1997-02-27 1998-09-08 Akie Yamada Shoes
JPH10254614A (en) * 1997-03-06 1998-09-25 Hitachi Ltd Portable electronic processor and operation method therefor
US6549792B1 (en) * 1999-06-25 2003-04-15 Agere Systems Inc. Accelerometer influenced communication device
JP2001038052A (en) * 1999-07-30 2001-02-13 Hori Co Ltd User interface device for function extension of portable general purpose video game machine
JP2001057011A (en) * 1999-08-16 2001-02-27 Nec Corp Information equipment inhibiting resume by detecting acceleration
WO2001056256A2 (en) * 2000-01-31 2001-08-02 Nokia Mobile Phones Limited Accelerometer and selection key(s) used as input devices for mobile radiotelephone
JP2001274612A (en) * 2000-03-24 2001-10-05 Matsushita Electric Ind Co Ltd Mobile wireless unit
JP2001299980A (en) * 2000-04-21 2001-10-30 Mitsubishi Electric Corp Motion support device
JP4320766B2 (en) * 2000-05-19 2009-08-26 ヤマハ株式会社 Mobile phone
JP4198875B2 (en) * 2000-11-30 2008-12-17 株式会社東芝 Mobile communication terminal
WO2002047066A1 (en) * 2000-12-07 2002-06-13 Sony Corporation Contrent searching device and method, and communication system and method
JP4523150B2 (en) * 2000-12-27 2010-08-11 レノボ シンガポール プライヴェート リミテッド Data server system, computer apparatus, storage medium
JP4635342B2 (en) * 2001-01-10 2011-02-23 ソニー株式会社 Information processing terminal and method
US6798429B2 (en) * 2001-03-29 2004-09-28 Intel Corporation Intuitive mobile device interface to virtual spaces
JP2002297284A (en) * 2001-03-29 2002-10-11 Toshiba Corp Portable terminal equipment
JP2002368850A (en) * 2001-06-05 2002-12-20 Sony Corp Portable wireless terminal
JP2003005879A (en) * 2001-06-19 2003-01-08 Mitsubishi Electric Corp Personal digital assistant
JP3917456B2 (en) * 2001-08-09 2007-05-23 株式会社コナミスポーツ&ライフ Evaluation program, recording medium thereof, timing evaluation apparatus, timing evaluation system
JP3891831B2 (en) * 2001-11-26 2007-03-14 シャープ株式会社 Portable radio
JP3090045U (en) * 2002-01-23 2002-11-22 煌東 張 Voice and music providing device installed on exercise equipment
JP2003295987A (en) * 2002-04-03 2003-10-17 Canon Electronics Inc Electronic equipment, operation mode control method, program and storage medium
JP3856129B2 (en) * 2002-06-28 2006-12-13 ノキア コーポレイション Wireless communication device
JP4067372B2 (en) * 2002-09-27 2008-03-26 クラリオン株式会社 Exercise assistance device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030076343A1 (en) 1997-08-29 2003-04-24 Xerox Corporation Handedness detection for a physical manipulatory grammar
WO2001086920A2 (en) * 2000-05-12 2001-11-15 Zvi Lapidot Apparatus and method for the kinematic control of hand-held devices
US20020021278A1 (en) 2000-07-17 2002-02-21 Hinckley Kenneth P. Method and apparatus using multiple sensors in a device with a display
US20030103091A1 (en) 2001-11-30 2003-06-05 Wong Yoon Kean Orientation dependent functionality of an electronic device

Also Published As

Publication number Publication date
JP5657963B2 (en) 2015-01-21
KR101771225B1 (en) 2017-08-24
JP2013037719A (en) 2013-02-21
KR20120096080A (en) 2012-08-29
CN101893946B (en) 2012-11-21
KR20130140200A (en) 2013-12-23
KR20140081891A (en) 2014-07-01
KR101178364B1 (en) 2012-08-29
JP5483373B2 (en) 2014-05-07
CN101893946A (en) 2010-11-24
KR20160093084A (en) 2016-08-05
CN102902310A (en) 2013-01-30
JP2011054177A (en) 2011-03-17
KR20170098335A (en) 2017-08-29
KR101459979B1 (en) 2014-11-07
HK1180416A1 (en) 2013-10-18
CN102902310B (en) 2016-01-20
KR101882639B1 (en) 2018-07-26
KR101644004B1 (en) 2016-07-29
KR20130036070A (en) 2013-04-09
JP2012038337A (en) 2012-02-23
KR101459985B1 (en) 2014-11-07
KR20110069184A (en) 2011-06-22

Similar Documents

Publication Publication Date Title
KR101497195B1 (en) Methods and apparatuses for operating a portable device based on an accelerometer
KR101190323B1 (en) Methods and apparatuses for operating a portable device based on an accelerometer
CN1926496B (en) Methods and apparatuses for operating a portable device based on an accelerometer
AU2017204627B2 (en) Methods and apparatuses for operating a portable device based on an accelerometer
AU2012201746A1 (en) Methods and apparatuses for operating a portable device based on an accelerometer

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20130724

Effective date: 20140825

S901 Examination by remand of revocation
E902 Notification of reason for refusal
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 5