Movatterモバイル変換


[0]ホーム

URL:


KR20120096080A - 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
KR20120096080A
KR20120096080AKR1020127018441AKR20127018441AKR20120096080AKR 20120096080 AKR20120096080 AKR 20120096080AKR 1020127018441 AKR1020127018441 AKR 1020127018441AKR 20127018441 AKR20127018441 AKR 20127018441AKR 20120096080 AKR20120096080 AKR 20120096080A
Authority
KR
South Korea
Prior art keywords
portable device
accelerometer
movement
user
motion
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020127018441A
Other languages
Korean (ko)
Other versions
KR101497195B1 (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,495external-prioritypatent/US7218226B2/en
Priority claimed from US10/890,856external-prioritypatent/US7307228B2/en
Priority claimed from US10/986,730external-prioritypatent/US7688306B2/en
Application filed by 애플 인크.filedCritical애플 인크.
Publication of KR20120096080ApublicationCriticalpatent/KR20120096080A/en
Application grantedgrantedCritical
Publication of KR101497195B1publicationCriticalpatent/KR101497195B1/en
Anticipated expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Images

Classifications

Landscapes

Abstract

Translated fromKorean

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

Description

Translated fromKorean
가속도계에 기초하여 휴대용 장치를 작동시키기 위한 방법 및 장치{METHODS AND APPARATUSES FOR OPERATING A PORTABLE DEVICE BASED ON AN ACCELEROMETER}METHODS AND APPARATUSES FOR OPERATING A PORTABLE DEVICE BASED ON AN ACCELEROMETER}

<참조 문헌>REFERENCES

본 출원은 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 of part of pending US patent application Ser. No. 10 / 890,856, filed Jul. 13, 2004, which is currently US Pat. No. 6,768,066 and is filed on January 21, 2003. 10 / 348,465, which is a pending application of US Patent No. 6,520,013 and a pending application of pending US Patent Application No. 09 / 678,541, filed Oct. 2, 2000.

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

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

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

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

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

본 발명의 한 실시예에 따르면, 휴대용 장치의 가속도계는 계속 또는 주기적으로 휴대용 장치의 움직임을 모니터링한다. 그 결과, 움직임 이전 또는 움직임 후의 휴대용 장치의 방위는 휴대용 장치에 부착된 가속도계에 의해 제공되는 움직임 데이터에 기초하여 정해질 수 있다.According to one embodiment of the 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 movement data provided by the accelerometer attached to the portable device.

본 발명의 또 다른 실시예에 따르면, 가속도계는 문서 한 페이지 또는 이미지가 디스플레이되는 것을 트리거하기 위한 수단으로서 휴대용 장치의 움직임을 검출하는 데에 사용될 수 있다.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.

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

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

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

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

본 발명의 또 다른 실시예에 따라, 가속도계는 휴대용 장치가 움직이고 있는지(예를 들어 사용자가 소지하고 있음) 여부를 판정하고 휴대용 장치가 적절한 동작 상태(예를 들어 슬립 상태 또는 휴면 모드)에 있는지 판정하는 데에 사용될 수 있다.According to another embodiment of the present invention, the accelerometer determines whether the portable device is in motion (eg possessed by the user) and determines if the portable device is in an appropriate operating state (eg sleep or sleep mode). Can be used to

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

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

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

도 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 according to one embodiment of the invention.
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 an embodiment of the present invention.
3A and 3B illustrate exemplary applications in which an accelerometer may be used in accordance with one embodiment of the present invention.
4 is a flow diagram illustrating an exemplary process for reorienting a displayed document based on an accelerometer, in accordance with an embodiment of the present invention.
5A and 5B illustrate exemplary movements of a portable device that may be used to trigger the display of one page of a document, in accordance with certain embodiments of the present invention.
6 is a flow diagram illustrating an example process for displaying a document based on an accelerometer, in accordance with an embodiment of the present invention.
7A and 7B illustrate an exemplary navigation application based on an accelerometer, in accordance with an 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 an embodiment of the present invention.
9A and 9B illustrate an exemplary game application based on an accelerometer, in accordance with an 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 game application based on an accelerometer, in accordance with an embodiment of the present invention.
12A and 12B illustrate exemplary mechanisms for activating / deactivating an interface of a portable device based on an accelerometer, in accordance with an embodiment of the present invention.
FIG. 13 is a flow diagram illustrating an exemplary process for operating an interface of a portable device based on an accelerometer, in accordance with an embodiment of the present invention. FIG.
14A and 14B illustrate exemplary mechanisms 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 example process for reconfiguring a multimedia interface based on an accelerometer, in accordance with an embodiment of the present invention.
FIG. 16 is a flow diagram illustrating an exemplary process for playing multimedia content based on an accelerometer, in accordance with an embodiment of the present invention. FIG.
FIG. 17 is a flow diagram illustrating an exemplary process for power management of a portable device in accordance with an embodiment of the present invention. FIG.
FIG. 18 is a flow diagram illustrating an exemplary process for processing a cipher in accordance with an embodiment of the present invention. FIG.
19 is a flow diagram illustrating an exemplary process for regenerating a trail of motion using an accelerometer, in accordance with an embodiment of the present invention.
20 is a block diagram illustrating an exemplary portable device having an accelerometer in accordance with one embodiment of the present invention.
21 is a block diagram of a digital processing system that can be used with one embodiment of the present invention.
FIG. 22 is a flow diagram illustrating an exemplary process for motion compensation using an accelerometer in accordance with an embodiment of the present invention. FIG.
FIG. 23 is a flow diagram illustrating an exemplary process for detecting an impulse using an accelerometer in accordance with an embodiment of the present invention. FIG.
24 is a flow diagram illustrating an exemplary process for operating a component of a portable device using an accelerometer in accordance with an embodiment of the present invention.

본 발명은 예제로서 도시되고, 동일한 참조 번호가 동일한 구성 요소를 나타내는 첨부된 도면에 제한되지 않는다.The invention is shown by way of example and not by way of limitation in the figures of the accompanying drawings in which like reference numerals represent like components.

가속도계에 기초하여 휴대용 장치를 작동시키기 위한 방법 및 장치가 설명된다. 소정의 실시예에 따라, 랩톱 컴퓨터, 태블릿 PC, PDA, 셀룰러 폰 및 디지털 멀티미디어 플레이어 등과 같은 휴대용 장치 내에서 가속도계가 사용되어 왔다. 가속도계가 일단 휴대용 장치의 움직임을 검출하면, 움직임 벡터 또는 가속도 벡터라고 또한 지칭되는 움직임 방향이 가속도계가 제공하는 움직임 데이터에 기초하여 결정된다. 움직임 방향 및/또는 움직임 데이터는 휴대용 장치 내에서 실행되는 소프트웨어 컴포넌트(예를 들어 응용 소프트웨어)에 제공된다. 휴대용 장치의 움직임 검출에 응하여, 대응 소프트웨어 컴포넌트는 가속도계가 제공한 움직임 방향 및/또는 움직임 데이터에 기초하여, 문서의 다음 페이지로 진행하는 등과 같은 하나 이상의 소정의 사용자 구성가능 액션을 수행한다.A method and apparatus for operating a portable device based on an accelerometer is described. In accordance with certain embodiments, accelerometers have been used in portable devices such as laptop computers, tablet PCs, PDAs, cellular phones, and digital multimedia players. 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 (eg application software) running within 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 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 detailed descriptions below are provided as symbolic representations of algorithms and data bit operations in computer memory. The description and representation of these algorithms are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is generally understood herein as a sequence of steps without self-contradiction leading to the desired result. The steps are those requiring physical manipulations of physical quantities. Generally, though not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, communicated, combined, compared or manipulated. For reasons of general use, it is sometimes known to be convenient to refer to these signals as bits, values, components, symbols, letters, terms, numbers, and the like.

그러나, 모든 이들 용어 및 유사한 용어가 적절한 물리적 수량에 관련될 것이고, 이것은 단지 이들 수량에 적용된 편리한 라벨일 뿐이라는 것을 염두에 두어야 한다. 특별히 언급되지 않거나 이하의 설명으로부터 명백하지 않으면, 명세서 전반에 걸쳐, "처리하는(processing)" 또는 "산출하는(computing)" 또는 "계산하는(calculating)" 또는 "판정하는(determining)" 또는 "디스플레이하는(displaying)" 등과 같은 용어를 이용하는 설명은, 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적(전자) 수량으로 표현된 데이터를 조작하고, 이 데이터를 컴퓨터 시스템 메모리 또는 레지스터, 또는 기타 이러한 정보 저장, 전송 또는 디스플레이 장치 내의 물리적 수량으로 유사하게 표현된 다른 데이터로 변환하는, 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 액션 및 프로세스를 지칭한다는 것을 이해할 것이다.However, it should be borne in mind that all these terms and similar terms will be related to the appropriate physical quantities, which are merely convenient labels applied to these quantities. Unless specifically stated or otherwise apparent from the following description, throughout the specification, "processing" or "computing" or "calculating" or "determining" or " A description using terms such as "displaying" manipulates data expressed in physical (electronic) quantities in registers and memory of a computer system, and stores this data in computer system memory or registers or other such information. Or refer to the actions and processes of a computer system or similar electronic computing device that translates to similar data expressed in physical quantities within the display device.

본 발명은 또한 본 명세서의 동작을 수행하기 위한 장치에 관한 것이다. 이 장치는 필요한 목적을 위해 특별히 구성될 수 있고, 또는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 또는 재구성되는 범용 컴퓨터를 포함할 수도 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크, 광 디스크, CD-ROM, 및 자기-광 디스크를 포함하는 임의의 유형의 디스크, ROM, RAM 및 EPROMs, EEPROMs, 자기 카드 또는 광 카드, 또는 전자 명령어를 저장하기에 적합한 임의의 유형의 매체와 같은 컴퓨터 판독가능 저장 매체에 저장될 수 있지만, 이에 제한되지 않으며, 이들 각각은 컴퓨터 시스템 버스에 결합된다.The invention also relates to an apparatus for performing the operations herein. The device may be specially configured for the required purpose or may comprise a general purpose computer which is selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be used to store any type of disk, ROM, RAM and EPROMs, EEPROMs, magnetic cards or optical cards, or electronic instructions, including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks. It may be stored in a computer readable storage medium, such as any suitable type of media, but is not limited thereto, 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 apparatus. Various general-purpose systems may be used with the program in accordance with the teachings herein, or it may be convenient to construct more specialized devices that perform the necessary steps of the method. The necessary structure for various of these systems will appear in the following description. In addition, 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, 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치, 전파되는 신호(예를 들어, 반송파, 적외선 신호, 디지털 신호 등)의 전자, 광, 어쿠스틱 또는 다른 형태 등을 포함한다.Machine-readable media includes any mechanism for storing or transmitting information in a machine-readable form (for example, a computer). For example, a machine-readable medium may be a ROM, RAM, magnetic disk storage medium, optical storage medium, flash memory device, electronic, optical, acoustic or the like of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.). Other forms and the like.

개요summary

도 1은 본 발명의 한 실시예에 따른 휴대용 장치의 예시적인 아키텍처를 도시하는 블록도이다. 한 실시예에서, 예시적인 시스템(100)은 프로세서, 프로세서에 결합되고 명령어를 그 안에 저장하는 메모리 및 프로세서와 메모리에 결합되어 휴대용 장치의 움직임을 검출하는 가속도계를 포함하지만 이에 제한되지 않으며, 프로세서는 휴대용 장치의 움직임을 검출하는 것에 응하여 하나 이상의 소정의 사용자 구성가능한 액션을 수행하는 메모리의 명령어를 실행한다. 대안의 실시예에서, 예시적인 시스템(100)은 또한 가속도계에 결합되고, 가속도계가 제공하는 움직임 데이터에 기초하여 움직임의 방향을 결정하고, 명령어를 실행하기 위해 결정된 움직임 방향과 소정의 방향을 비교하여 결정된 방향이 소정의 방향과 상대적으로 일치하는지 여부를 판정하는 컨트롤러를 포함한다.1 is a block diagram illustrating an exemplary architecture of a portable device according to one embodiment of the 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 memory to detect movement of the portable device. Executes instructions in memory to perform one or more predetermined user configurable actions in response to detecting movement of the portable device. In an alternative embodiment, theexemplary 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 predetermined direction with the determined motion direction to execute the command. And a controller for determining whether the determined direction is relatively consistent with the predetermined direction.

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

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

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

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

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

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

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

한 실시예에 따라, 움직임 펌웨어(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 bymotion firmware 103,motion software component 104 may forward this event to one or more application software components 105-107. In response to this detection, the application software components 105-107 may perform certain operations. The application software components 105-107 may be a variety of different applications, such as, for example, a browser, word processor, slide presentation, and the like. Certain embodiments of the operation performed by the application software component 105-107 will be described in detail below.

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

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

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

본 발명의 한 실시예에 따라, 휴대용 장치의 가속도계는 휴대용 장치의 움직임을 계속 또는 주기적으로 모니터링할 수 있다. 그 결과, 휴대용 장치에 부착된 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 이전과 움직임 후의 휴대용 장치의 방위가 결정될 수 있다.According to one embodiment of the invention, the accelerometer of the portable device may continue 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 motion data provided by the accelerometer attached to the portable device.

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

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

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

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

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

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

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

가속도계에 기초하여 문서의 서로 다른 페이지를 디스플레이하기Displaying Different Pages of a Document Based on an 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 handheld device is moved toward a predetermined direction (eg, a sudden movement), the accelerometer can detect this movement and the application software can display a particular page in response to the movement 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 a document in accordance with one embodiment of the present invention. For example, referring to FIG. 5A, a first page of a document is displayed ondisplay 507 ofportable device 500. When theportable device 500 is moved in a predetermined direction, the accelerometer attached to the portable device 500 (eg, theaccelerometer 101 of FIG. 1) can detect this movement. In response to this detection, the accelerometer may notify, via the associated controller, firmware, and / or OS, other components, such as the application software, in particular the component that provides the first page of the document being displayed.

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

한 실시예에서, 소정의 방향과 그 소정의 방향과 관련된 임계값(예를 들어 감도(sensitivity))는 사용자 인터페이스를 통해 사용자 구성가능할 수 있다. 이러한 감도는 소정의 때에 그리고 소정의 장소에서 휴대용 장치와 관련된 서로 다른 프로파일에 기초하여 구성될 수 있다. 예를 들어, 휴대용 장치의 감도는 그것이 집/사무실에 있을 때와 움직이는 플랫폼(예를 들어, 차, 기차, 배 또는 비행기 등)에 있을 때 상이할 수 있다. 추가의 실시예에서, 휴대용 장치는 일부 "잡음이 있는(noisy)" 움직임 배경을 지능적으로 필터링하는 메커니즘을 포함할 수 있다.In one embodiment, the predetermined direction and thresholds (eg, sensitivity) associated with the predetermined direction may be user configurable through a user interface. Such sensitivity may 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 be different when it is in a home / office and when on a moving platform (eg, a car, train, ship or airplane, etc.). In further embodiments, the portable device may include a mechanism to intelligently filter out some “noisy” motion background.

움직임 벡터가 소정의 방향과 상대적으로 일치하는 경우, 관련된 응용 소프트웨어에 통보될 수 있다. 이에 응하여, 관련 응용 소프트웨어는 디스플레이에 제1 페이지가 아니라 제2 페이지를 디스플레이하는 것을 포함하여, 일부 동작을 수행할 수 있다.If the motion vector is relatively consistent with a given 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 or previous page of the document. The document may be a word document made with 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' Netscape communicator. Or, the document may be, for example, a slide presentation provided by Microsoft Corporation PowerPoint or Apple Computer Keynote.

도 5a를 참조해보면, 이동 방향은 방향(501 및 502)으로 도시된 바와 같이 휴대용 장치의 표면(예를 들어 휴대용 장치의 디스플레이 표면(507))과 평행인 이동 방향을 포함할 수 있다. 또는, 이동 방향은 방향(503 및 504)으로 도시된 바와 같이 휴대 장치의 가장자리(edge)(예를 들어 가장자리(505 및 506))와 평행한 축에 대해 휴대용 장치를 회전하는 것을 포함할 수 있다. 또한, 휴대용 장치의 이동 방향은 상술한 방향들의 조합일 수 있다. 예를 들어, 움직임은 휴대용 장치(500)의 모서리(corner)에 대한 다차원 회전(spin)일 수도 있다. 다른 유형의 움직임이 이용될 수 있다.Referring to FIG. 5A, the direction of movement may include a direction of movement parallel to the surface of the portable device (eg,display surface 507 of the portable device) as shown indirections 501 and 502. Alternatively, the direction of movement may include rotating the portable device about an axis parallel to the edge of the portable device (eg, edges 505 and 506) as shown indirections 503 and 504. . In addition, the moving direction of the portable device may be a combination of the above-described directions. For example, the movement may be a multidimensional spin about the corner of theportable device 500. Other types of movement may 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 one page of a document, in accordance with another embodiment of the present invention. In this embodiment, theportable device 551 may be placed on thesupport surface 552. In addition, application software running withinportable device 551 may be configured to be in a "default" mode. When a force is suddenly applied to thesupport surface 552, this causes vibration in the support surface. Sudden force may be applied by the user tabbing the support surface.

지지면(552)의 진동에 응하여, 휴대용 장치(551)에 부착된 가속도계가 이러한 진동을 검출할 수 있다. 검출에 응하여, 가속도계는 펌웨어 및/또는 컨트롤러 등을 통해 관련 응용 소프트웨어에 통지한다. 이에 응하여, 응용 소프트웨어는 문서의 다음 페이지, 이전 페이지 또는 특정 페이지를 디스플레이할 수 있고, 이것은 사용자 인터페이스를 통해 사용자가 구성가능하다. 이것은 휴대용 장치가 책상 위에 놓여 있고 프레젠테이션 프로젝터가 연결되어 있을 때 특히 유용하다. 프레젠테이션을 하고 있는 사용자는 키보드의 키(예를 들어 "엔터" 키 또는 스페이스 바) 또는 휴대용 장치의 마우스를 누르지 않아도 단지 책상 위를 치기만 하면 프레젠테이션의 다음 페이지로 넘어갈 수 있다.In response to the vibration of thesupport surface 552, an accelerometer attached to theportable device 551 can detect this vibration. In response to the detection, the accelerometer notifies the associated application software via firmware and / or a controller or the like. 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 the portable device is placed on a desk and the presentation projector is connected. The user who is giving the presentation can go to the next page of the presentation without having to press a key on the keyboard (for example, the "enter" key or the space bar) or the mouse of a portable device by simply hitting the desk.

도 6은 본 발명의 한 실시예에 따라 가속도계에 기초하여 문서를 보여주기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(600)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스(600)는 휴대용 장치의 디스플레이 상에 문서의 제1 페이지를 디스플레이하는 단계, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임을 검출하는 단계 및 움직임의 검출에 응하여 제1 페이지가 아닌 문서의 제2 페이지를 디스플레이하는 단계를 포함하지만, 이제 제한되지 않는다.6 is a flowchart illustrating an exemplary process for displaying a document based on an accelerometer in accordance with an embodiment of the present invention.Example process 600 may be performed by processing logic that may include hardware (circuit, 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, the movement of the portable device is detected atblock 601 using an accelerometer attached to the portable device. In response to this detection, atblock 602, the direction of motion of the motion is determined based on motion data provided by the accelerometer, such as, for example, X, Y, Z-axis information. In one embodiment, the direction of movement may be determined by the associated controller and / or associated firmware. Atblock 603, it is determined whether the direction of movement is relatively consistent with the predetermined direction. If so, at block 604, the first page of the document is notified to the associated application software being executed within the displayed portable device. In response, atblock 605, the application software displays the second page of the document rather than the first page. Other operations may also be performed.

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

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

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

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

이에 응하여, 응용 소프트웨어는 컨트롤러 및/또는 펌웨어가 제공하는 움직임 방향, 움직임 거리 및/또는 움직임 가속도 데이터에 기초하여 지도의 제2 부분을 결정할 수 있다. 이후 응용 소프트웨어는 이에 따라 제2 부분을 디스플레이한다. 그 결과, 사용자는 지도의 다른 부분으로 내비게이트하기 위해 버튼을 누르거나 및/또는 클릭할 필요가 없다. 움직임 방향(703)은 단지 도시를 위해 도시되었음을 유의한다. 임의의 다른 방향이 적용될 수도 있다.In response, the application software may determine the second portion of the map based on the movement direction, movement distance, and / or movement 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 ofmovement 703 is shown for illustration only. Any other direction may be applied.

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

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

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

도 8은 본 발명의 한 실시예에 따라, 가속도계에 기초하여 이미지를 내비게이트하기 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(800)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스(800)는 움직임 이전에 휴대용 장치의 디스플레이에 문서 페이지의 제1 부분을 디스플레이하는 단계 및 움직임의 소정의 방향이 소정의 방향과 상대적으로 일치하는 경우 휴대용 장치의 디스플레이에 제1 부분이 아니라 문서 페이지의 제2 부분을 디스플레이하는 단계를 포함한다.8 is a flow diagram illustrating an example process for navigating an image based on an accelerometer, in accordance with an embodiment of the present invention. Example process 800 may be performed by processing logic that may include hardware (circuit, 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 the movement and when the predetermined direction of movement is relatively consistent with the predetermined direction. Displaying a second portion of the document page rather than the first portion.

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

가속도계에 기초하는Based on accelerometer게이밍Gaming 응용 Applications

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

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

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

이에 응하여, 게이밍 응용 소프트웨어는 컨트롤러 및/또는 펌웨어가 제공하는 움직임 방향, 움직임 거리 및/또는 움직임 가속도에 기초하여 게임의 제2 장면을 결정할 수 있다. 이후 게이밍 응용 소프트웨어는 이에 따라 제2 장면을 디스플레이한다. 그 결과, 사용자는 게임의 장면을 바꾸기 위해 버튼을 누르거나 및/또는 클릭할 필요가 없다. 움직임 방향(903)이 단지 예시로 도시되었다는 것을 유의한다. 임의의 다른 방향이 적용될 수 있다.In response, the gaming application software may determine the second scene of the game based on the movement direction, movement distance and / or movement 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 ofmovement 903 is shown by way of example only. Any other direction can be applied.

한 실시예에서, 제1 장면으로부터의 이행을 통해 게임의 제2 장면이 디스플레이될 수 있다. 즉, 제1 장면과 제2 장면 사이의 많은 중간 장면들이 순차적으로 디스플레이되어 제1 장면으로부터 제2 장면으로의 이행을 형성할 수 있다. 그 결과, 제2 장면은 단계적으로 휴대용 장치의 디스플레이에 "들어오게" 된다.In one embodiment, a 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 can be displayed sequentially to form a transition from the first scene to the second scene. As a result, the second scene is "entered" into the display of the portable device in stages.

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

또한, 휴대용 장치의 움직임이 소정의 임계값을 초과하는지 여부를 검출하는 데에 가속도계가 사용될 수 있다. 만약 초과할 경우, 하나 이상의 소정의 사용자 구성가능 액션이 수행될 수 있다. 예를 들어, 드라이빙 게임 동안, 사용자가 도로를 벗어나 차량을 운전할 때, 이를 표시하는 경고 메시지가 사용자에게 전달될 수 있다.In addition, an accelerometer may 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 a driving game, when the user drives a vehicle off the road, a warning message indicating the warning message may be transmitted 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 a portable device with an accelerometer embedded therein as the steering wheel of a vehicle. As shown in FIG. 10A, if the scene includes a road that is bent to the left, the user must turn the steering wheel to the left accordingly so as not to leave the road. Accelerometers attached to the portable device can be used to detect whether the portable device (eg steering wheel) has been rotated accordingly and whether the rotation angle or distance is appropriate.

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

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

마찬가지로, 한 실시예에 따라, 사격 게임에서 위로 보고, 아래로 보고, 및/또는 주위를 둘러보는 데에 사용될 수 있는 상술된 이들 움직임 외에, 사용자가 서 있는 사격 자세에 있는지 또는 숨은 자세에 있는지 여부를 검출하기 위해 휴대용 장치의 디스플레이 표면에 평행한 휴대용 장치의 수직 이동이 이용될 수 있다. 예를 들어, 휴대용 장치가 아래로 이동되면, 적을 차단하는 보호 장벽이 디스플레이되어, 사격 무기로서 휴대용 장치를 잡고 있는 사용자가 보호 장벽 뒤에 숨어 있다는 것을 나타낼 수 있다. 휴대용 장치가 위로 이동되면, 보호 장벽이 제거되어 적에 노출되어 사용자가 보호 장벽 없이 사격 자세에 있다는 것을 나타낼 수 있다. 다른 게임 구성이 있을 수 있다.Similarly, in addition to these movements described above that can 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 shooting position or in a hidden position. The vertical movement of the portable device parallel to the display surface of the portable device can be used to detect. For example, if the portable device is moved down, a protective barrier that blocks the enemy may be displayed, indicating that a 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 may be removed and exposed to the enemy, indicating that the user is in a shooting position without the 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 an embodiment of the present invention.Example process 1100 may be performed by processing logic that may include hardware (circuit, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment,exemplary process 1100 displays a sequence of images that transitions from a location being viewed by a user toward a direction from a first scene to a second scene, where the movement of the portable device is being viewed by the user. Detecting whether it is in accordance with the direction associated with the direction of the transition from, and performing a predetermined operation when the movement is not detected in accordance with the direction associated with the direction of the transition.

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

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

본 발명의 또 다른 실시예에 따라, 휴대용 장치의 움직임을 검출하는 데에 가속도계가 사용될 수 있고, 가속도계가 제공하는 움직임 데이터에 기초하여 휴대용 장치의 방위가 결정될 수 있다. 이후, 움직임 후에 결정된 방위에 기초하여 휴대용 장치의 하나 이상의 인터페이스가 활성화되거나 또는 비활성화될 수 있다.According to another embodiment of the present invention, an accelerometer may be used to detect motion of the portable device, and the orientation of the portable device may 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 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. In this embodiment, as shown inconfiguration 1201 of FIG. 12A, multiple interfaces 1204-1207 are located at various locations of the portable device. By way of example, the interfaces 1204-1207 are shown herein as a wireless 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 givenorientation 1201, a document 1203 is displayed. According to one embodiment, when the user is holding the portable device in bearing 1201, an accelerometer attached to the portable device can detect this movement, andbearing 1201 is mounted on the accelerometer similar to that shown in FIG. Determined by the associated associated controller and / or firmware. From the determined orientation, theair interfaces 1204 and 1205 are the best locations (e.g., to receive and / or transmit the strongest signals) to transmit and / or receive radio signals at a givenorientation 1201. On the other hand, theair interface 1206 and 1207 may be determined to be in a weak position relative thereto. As a result, theair interfaces 1204 and 1205 can be activated and theair interfaces 1206 and 1207 can be selectively deactivated.

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

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

또한, 휴대용 장치가 움직여졌는지 여부를 검출하는 것 외에, 가속도계가 제공하는 움직임 데이터에 기초하여 사용자가 휴대용 장치를 집어들었는지 또는 잡고 있는지 여부를 또한 판정한다. 한 실시예에서, 이러한 판정은 도 1에 도시된 구성과 유사한 가속도계에 결합된 컨트롤러 및/또는 펌웨어에 의해 수행될 수 있다. 사용자가 휴대용 장치를 잡고 있는 것으로 판정되면, 휴대용 장치를 잡고 있는 사용자의 손 위치(1208-1209) 또한 결정되거나 또는 예측될 수 있다.In addition to detecting whether the portable device has been moved, it is also determined whether the user has picked up or held the portable device based on the motion data provided by the accelerometer. In one embodiment, this determination may be performed by a controller and / or firmware coupled to an accelerometer similar to the configuration shown in FIG. 1. If it is determined that the user is holding the portable device, the hand position 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, inorientation 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 theair interfaces 1207 and 1208, The wireless interface may be deactivated. Likewise, inazimuth 1202 after movement, as shown in FIG. 12B, theair interface 1204 and 1205 can be deactivated because it is expected to be covered by the user's hand.

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

도 13을 참조해보면, 블록(1301)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임이 검출되고, 이 휴대용 장치는 다수의 위치에 배치된 다수의 인터페이스(예를 들어 무선 인터페이스)를 포함한다. 블록(1302)에서, 가속도계가 제공하는 움직임 데이터에 기초하여 움직임 후의 휴대용 장치의 방위가 결정된다. 블록(1303)에서, 선택적으로, 가속도계가 제공하는 움직임 데이터에 기초하여 사용자가 휴대용 장치를 집어 올렸는지 또는 잡고 있는지가 판정된다. 그럴 경우, 휴대용 장치를 잡고 있는 사용자의 손의 위치가 예측된다. 블록(1304)에서, 결정된 방위에 기초하여 하나 이상의 인터페이스가 활성화되거나 또는 비활성화될 수 있다. 선택적으로, 예측된 사용자의 손에 의해 가려진 인터페이스들 중 일부는 비활성화되는 반면 가려지지 않은 일부는 활성화될 수 있다. 다른 동작이 또한 수행될 수 있다.Referring to FIG. 13, atblock 1301, the movement of a portable device is detected using an accelerometer attached to the portable device, which portable device is configured to display multiple interfaces (e.g., wireless interfaces) disposed at multiple locations. Include. Atblock 1302, the orientation of the portable device after the movement is determined based on the movement data provided by the accelerometer. Atblock 1303, optionally, it is determined whether the user picked up or held the portable device based on the motion data provided by the accelerometer. If so, the position of the hand of the user holding the portable device is estimated. Atblock 1304, one or more 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 others 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 can also be applied to the multimedia interface of a portable device. 14A and 14B are diagrams illustrating exemplary mechanisms for activating / deactivating a multimedia interface of a portable device using an accelerometer, in accordance with an embodiment of the present invention. In this embodiment, by way of example, one or more speakers are used as the multimedia interface of the portable device. Referring to FIG. 14A, a portable device includes a number of speakers 1405-1408 that are positioned at different locations of the portable device, anddocument pages 1403 are optionally displayed on a display of the portable device. In theazimuth 1401 before the movement, an audio driver can be constructed that produces proper 3D surround sound in view of the left speaker 1405-1406 and the right speaker 1407-1408. When the portable device is moved by 90 °, for example along the direction ofmovement 1404, thesecond 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 response to this detection, as described above with respect to FIGS. 3A and 3B, the position of the speakers 1405-1408 is maintained, in addition to keeping the orientation of thedocument page 1403 displayed relatively the same as the orientation before the movement. Can be reassessed as to whether the existing configuration is still optimal for the orientation after the movement. In this example, thespeakers 1405 and 1406 that were originally on the left side are below while thespeakers 1407 and 1408 that were originally on the right side are as shown in FIG. 14B. Thus, the existing audio situation has changed and the sound effects are no longer optimal. As a result, the audio driver can be reconfigured to produce audio quality that is relatively the same as it was before the portable device moved. For example, to produce a sound effect properly,speakers 1405 and 1407 can be used as the left speaker, andspeakers 1406 and 1408 can be used as the right speaker. Other configurations may also exist.

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

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

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

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

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

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

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

가속도계에 기초하는 다른 응용들Other Applications Based on Accelerometers

본 발명의 또 다른 실시예에 따라, 가속도계가 부착된 휴대용 장치를 지니고 있는 사용자의 활동을 검출하고 판정하는 데에 가속도계가 사용될 수 있다. 한 실시예에 따라, 예를 들어, 사용자가 잡고 있을 수 있는 휴대용 장치에 부착된 가속도계는 사용자가 휴대용 장치를 잡고 있으면서 흔드는 것(joggling)을 검출할 수 있다. 이 예에서, 휴대용 장치는 디지털 멀티미디어 플레이어(예를 들어, MP3 플레이어)일 수 있다. 이 휴대용 장치에 부착된 가속도계는 사용자의 활동에 의해 야기되는 휴대용 장치의 움직임이 반복적일 수 있다는 것을 검출할 수 있다.According to another embodiment of the present invention, an accelerometer may be used to detect and determine the activity of a user having a portable device with an accelerometer attached. According to one embodiment, for example, an accelerometer attached to a portable device that may be held by the user may detect joggling while the user is holding the portable device. In this example, the portable device can be a digital multimedia player (eg, an MP3 player). An accelerometer attached to this portable device may detect that the 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, for example, similar to the configuration shown in FIG. 1, the repetition rate of the movement of the portable device can be determined by the controller and / or firmware coupled to the accelerometer. Once the repetition rate of the movement is determined, application software (e.g., Microsoft's Windows media player or Real Networks' real player) determines the rhythm of the multimedia content currently playing on the portable device relative to the determined repetition rate of the movement. Can be adjusted to match. As a result, for example, the tempo of the music currently playing by the MP3 player can be adjusted to correspond relatively to the shake rate of the user holding the MP3 player.

또한, 추가의 실시예에 따라, 응용 소프트웨어는 결정된 사용자의 활동(예를 들어 흔들림 비율)에 대해 가장 적합한 멀티미디어 컨텐츠를 또한 선택하고 이를 재생할 수 있다. 한 실시예에서, 사용자는 소정의 환경 하에서 사용자 인터페이스를 통해 멀티미디어 플레이어를 구성할 수 있고, 소정의 유형의 멀티미디어 컨텐츠가 선택되고 재생될 수 있다. 그 결과, 가속도계와 그 관련된 컨트롤러 및/또는 펌웨어가 사용자가 소정의 유형의 활동을 수행하고 있다는 것을 검출하는 경우, 그에 따라 관련된 유형의 멀티미디어 컨텐츠가 선택되고 재생될 수 있다.In addition, according to a further embodiment, the application software may also select and play the most suitable multimedia content for the determined user's activity (e.g., shake rate). In one embodiment, a user may configure a multimedia player through a user interface under certain circumstances, and certain types of multimedia content may be selected and played. As a result, when the accelerometer and its associated controller and / or firmware detect that the user is performing some type of activity, the related 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 playing multimedia content based on an accelerometer, in accordance with an embodiment of the present invention. Theexample process 1600 may be performed by processing logic that may include hardware (circuit, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. Referring to FIG. 16, atblock 1601, the motion 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. Atblock 1602, the repetition rate of movement of the portable device is determined based on the movement data provided by the accelerometer. Atblock 1603, multimedia content with a rhythm that matches the determined repetition rate is selectively selected and played. Atblock 1604, the rhythm of the multimedia content currently being played is adjusted to correspond relatively to the repetition rate of the determined movement. Other operations may also be performed.

본 발명의 또 다른 실시예에 따라, 휴대용 장치가 움직이고 있는지(예를 들어 사용자가 소지하고 있는지) 및 휴대용 장치가 적절한 동작 상태에 있어야 하는지 여부를 판정하는 데에 가속도계가 사용될 수 있다. 한 실시예에 따라, 휴대용 장치가 비활성 상태에 있으면서 휴대용 장치가 움직이고 있는 경우(이것은 휴대용 장치에 부착된 가속도계를 통해 검출됨), 휴대용 장치는 슬립 모드와 같이 상대적으로 낮은 전력 모드에 있을 수 있다. 예를 들어, 뚜껑이 닫혀진 랩탑 컴퓨터는 비활성 모드에 있는 것으로 간주될 수 있다. 랩탑 컴퓨터의 뚜껑이 닫혀져 있기 때문에, 사용자는 랩탑 컴퓨터를 활동적으로 작동시킬 수 없다. 또는, 랩탑 컴퓨터는 그 데스크탑이 잠겨 있을 때 비활성 상태에 있는 것으로 간주된다. 또한 다른 상황을 비활성 상태로 간주할 수 있고, 이것은 사용자 구성가능하다. 그 결과, 랩탑 컴퓨터는 저 전력 모드로 될 수 있다. 또한, 랩탑이 (가속도계를 통해) 움직이고 있는 것으로 판정되면, 영구 기억 장치(예를 들어 하드 드라이브)에 임의의 데이터를 기록하는 것은 안전하지 않을 수 있다. 따라서, 영구 기억 장치의 판독/기록 헤드는 영구 기억 장치에 데이터를 기록하지 않고 안전한 상태에서 대기할 수 있다.In accordance with another embodiment of the present invention, an accelerometer may be used to determine whether the portable device is in motion (eg, possessed by a user) and whether the portable device should be in an appropriate operating state. According to one embodiment, when the portable device is inactive while the portable device is in motion (which is 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 closed laptop computer may be considered to be in an inactive mode. Since the lid of the laptop computer is closed, the user cannot actively operate the laptop computer. Or, the 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 put into a low power mode. In addition, if it is determined that the laptop is in motion (via an accelerometer), it may not be safe to write any data to permanent storage (eg 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.

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

도 17은 본 발명의 한 실시예에 따른 휴대용 장치의 전력 관리를 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스(1700)는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 도 17을 참조해보면, 블록(1701)에서, 휴대용 장치가 비활성 상태인지 여부를 판정한다. 예를 들어, 휴대용 장치의 뚜껑이 닫혀 있거나 또는 그 데스크탑이 잠겨 있으면, 휴대용 장치는 비활성 상태에 있는 것으로 간주된다. 블록(1702)에서, 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치가 움직이고 있는지 여부(예를 들어 사용자가 휴대용 장치를 소지하여 이동하고 있는지 여부)가 검출된다. 블록(1703)에서, 휴대용 장치가 움직이고 있는 경우, 시스템 메모리의 내용을 영구 기억 장치로 스와핑하지 않은 채 휴대용 장치는 비교적 저 전력 모드가 된다. 그것이 아니라면, 블록(1704)에서, 휴대용 장치가 움직이지 않는 경우, 휴대용 장치는 시스템 메모리의 내용을 영구 기억 장치로 스와핑함으로써 휴면 모드가 된다. 다른 동작이 또한 수행될 수 있다.17 is a flow chart illustrating an exemplary process for power management of a portable device according to one embodiment of the invention.Example process 1700 may be performed by processing logic that may include hardware (circuit, 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 inactive. For example, if the lid of the portable device is closed or the desktop is locked, the portable device is considered inactive. Atblock 1702, an accelerometer attached to the portable device is used to detect whether the portable device is moving (eg, whether the user is carrying the portable device and moving). Inblock 1703, when the portable device is in motion, the portable device enters a relatively low power mode without swapping the contents of system memory into permanent storage. If not, atblock 1704, if the portable device is not moving, the portable device enters sleep mode by swapping the contents of the system memory into 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 in a predetermined direction, to determine whether a password has been correctly entered. In one embodiment, when a user of the portable device is prompted 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 can detect this movement and the direction of movement can be determined, for example, by the associated controller and / or firmware. If the direction of movement is relatively consistent with the predetermined direction, the password is considered to have been correctly entered.

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

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

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

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

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

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

본 발명의 또 다른 실시예에 따라, 휴대용 장치의 움직임을 검출하는 데에 가속도계가 사용될 수 있고, 이 검출에 응하여 움직임 보상이 적용될 수 있다. 예를 들어, 휴대용 장치에 부착된 가속도계는 휴대용 장치를 사용하는 (예를 들어 휴대용 장치의 디스플레이에 디스플레이되어 있는 전자 문서를 판독하는) 사용자가 잘 튀는(bouncing) 차량에 타고 있다는 것을 검출할 수 있다. 이 검출에 응하여, 전자 문서가 사용자의 눈으로 봤을 때 상대적으로 동일한 위치를 유지할 수 있도록 디스플레이된 문서에 대한 움직임 보상이 수행될 수 있다.According to another embodiment of the present invention, an accelerometer may be used to detect motion of the portable device, and motion compensation may be applied in response to this detection. For example, an accelerometer attached to a portable device may detect that a user using the portable device (eg, reading an electronic document displayed on the display of the portable device) is riding in a bouncing vehicle. . In response to this detection, motion compensation can be performed on the displayed document so that the electronic document can remain relatively the same 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 signal received from the accelerometer. The image is then converted vertically and horizontally as a function of time on the display to keep its position virtually fixed in space regardless of the movement of the display in the display plane. Such movements (eg, sudden movements such as bouncing) can be represented through relatively high frequency components of the movement data provided by the accelerometer. The low frequency component of the display movement, such as that caused by the vehicle's forward speed, cannot be compensated to prevent the image from shaking on the screen when the vehicle moves up and down the hill or curves the road. Likewise, this technique can also be applied to electronic games played by portable devices while riding on a bouncing platform.

도 22는 본 발명의 한 실시예에 따라, 가속도계를 이용하는 움직임 보상을 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스는 하드웨어(회로, 전용 로직 등), 소프트웨어(전용 기계에서 실행중인 것과 같은 것) 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 실시예에서, 예시적인 프로세스는 휴대용 장치에 부착된 가속도계를 이용하여 휴대용 장치의 움직임을 검출하는 단계, 가속도계가 제공하는 움직임 데이터에 기초하여 휴대용 장치의 움직임 방향을 결정하는 단계 및 휴대용 장치의 움직임을 보상하기 위해 휴대용 장치의 디스플레이에 디스플레이된 대상의 위치를 조정하여, 그 조정된 디스플레이 대상이 휴대용 장치의 사용자에 대해 계속 상대적으로 동일한 위치일 수 있도록 하는 단계를 포함한다.22 is a flow diagram illustrating an exemplary process for motion compensation using an accelerometer, in accordance with an embodiment of the present invention. The example process may be performed by processing logic that may include hardware (circuit, 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, atblock 2201, movement of the portable device is detected using an accelerometer attached to the portable device. In one embodiment, motion is detected as a function of time from position as part of the motion data provided by the accelerometer. The motion data may include relatively high frequency components indicative of sudden movements and relatively low frequency components indicative of slow movements. Atblock 2202, a relatively high frequency component of the motion data (eg, motion components that degrade the sensitivity of a person's vision to read a displayed document or look at a still image) is extracted to the display plane. Atblock 2203, the position of the displayed document or image may be shifted based on the extracted high frequency components to compensate for high component motion (eg, sudden movement) of the portable device. As a result, the displayed document or image can remain relatively stable in space with respect to the user. Other operations may also be performed.

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

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

예를 들어 사용자는 휴대용 장치의 측면을 가볍게 두들겨(tap) 휴대용 장치의 디스플레이를 가로질러 커서를 "가볍게 던질(toss)" 수 있다. 휴대용 장치에 부착된 가속도계는 휴대용 장치의 움직임을 야기하는 이러한 힘을 검출할 수 있다. 힘의 방향 및 크기는 가속도계가 제공하는 움직임 데이터에 기초하여 결정될 수 있다. 이 기능이 응용에서 가능할 경우, 장치의 측면을 가볍게 두들김으로써 작은 대상을 가볍게 두들기고 그것을 표면에 따라 조금 미끌어지도록 하는 것과 유사한 방식으로 커서를 움직이도록 할 것이다. 마찬가지로, 이러한 기술은 예를 들어 비디오 게임(예를 들어 골프, 볼링, 테니스 등)과 같은 각종 다른 응용에서 활용될 수 있다.For example, a user may “tap” a cursor across the display of the portable device by tapping the side of the portable device. An accelerometer attached to the portable device can detect this force causing the 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 feature is available in your application, tapping on the side of the device will cause the cursor to move in a similar way to tapping a small object and sliding 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 diagram illustrating an exemplary process for impact detection in accordance with an embodiment of the present invention. The example process may be performed by processing logic that may include hardware (circuit, dedicated logic, etc.), software (such as running on a dedicated machine), or a combination of the two. In one embodiment, the exemplary process includes detecting a movement of the portable device using an accelerometer attached to the portable device in response to the force applied to the portable device, and calculating the magnitude and direction of the force based on the acceleration information provided by the accelerometer. And moving the displayed object from the first position to the second position on the display of the portable device, wherein the direction and distance between the first position and the second position are 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 portable device is three as a function of time in response to tapping the portable device (e.g., a user tapping the edge of the portable device by hand). Detect the acceleration of the axis. Atblock 2302, a value is calculated in proportion to the magnitude of the impact delivered to the device by performing a time integration of the three axis acceleration component. In one embodiment, this value is determined based on the integral of the absolute value of the resulting acceleration vector, for example, determined by the vector sum of the three components of the acceleration (eg, X, Y, and Z axis acceleration information). Can be.

블록(2303)에서, 휴대용 장치를 가볍게 두들긴 결과 휴대용 장치로 전달된 충격의 방향이 결정된다. 한 실시예에서, 이 방향은 가속도계가 제공하는 움직임 데이터에 기초하여 가속도계에 접속된 마이크로컨트롤러 및/또는 펌웨어에 의해 계산된다. 결정된 충격의 방향 및 크기에 응하여, 응용 소프트웨어는 결정된 충격의 방향 및 크기와 비교적 관련된 방향으로 디스플레이된 대상을 멀리 이동시킨다. 디스플레이된 대상은 커서일 수 있다. 또는, 디스플레이된 대상은 당구 또는 핀볼(pinball)의 공, 볼링 게임에서의 볼링 공, 테니스의 라켓 또는 패들(paddle), 뒤틀림을 관찰하는 구조물 및/또는 운동에 의한 움직임 등일 수 있다. 상술된 기술은 또한 당업자들에게 명백한 다른 유사한 유형의 응용에 적용될 수 있다.Inblock 2303, tapping the portable device results in the direction of the impact delivered 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. In response to the direction and magnitude of the determined impact, the application software moves the displayed object away in a direction relatively related to the direction and magnitude of the determined impact. The displayed object may be a cursor. Alternatively, the displayed object may be a ball of billiards 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, and the like. 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 Handheld Device with Accelerometer

도 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, theexample system 2000 can represent at least a portion (eg, subsystem) of theexample system 100 shown in FIG. 1 or theexample system 2100 of FIG. 21. Referring to FIG. 20, anexemplary system 2000 includes ahost chipset 2003 that can be coupled to one ormore accelerometers 2001, one ormore microcontrollers 2002, avideo adapter 2004, and anaudio device 2005; One or moreperipheral devices 2006.

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

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

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

크기(가속도결과) = Sqrt(X가속도2 + Y가속도2 + Z가속도2)Magnitude (Accelerationresult ) = Sqrt (Xacceleration2 + Yacceleration2 + Zacceleration2 )

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

예시적인 데이터 처리 시스템Example Data Processing System

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

도 21이 컴퓨터 시스템의 각종 컴포넌트를 도시하지만, 이러한 상세 사항은 본 발명에 밀접한 관계가 있는 것이 아니기 때문에, 이 도면이 임의의 특정 아키텍처 또는 컴포넌트들을 상호접속하는 방식을 나타내고자 하는 것이 아니라는 것을 유의한다. 네트워크 컴퓨터, 핸드헬드 컴퓨터, 셀룰러 폰, 멀티미디어 플레이어 및 더 작은 혹은 더 많은 컴포넌트들을 갖는 기타 데이터 처리 시스템이 본 발명과 함께 또한 사용될 수 있다는 것을 이해할 것이다. 도 21의 컴퓨터 시스템은, 예를 들어, Apple의 맥킨토시 컴퓨터이거나 또는 IBM 호환가능 PC일 수 있다.Although FIG. 21 illustrates various components of a computer system, it is noted that this detail is not intended to represent any particular architecture or manner of interconnecting components, as these details are not intimately related to the present invention. . It will be appreciated that network computers, handheld computers, cellular phones, multimedia players and other data processing systems with smaller or more components may also be used with the present invention. The computer system of FIG. 21 may be, for example, Apple's 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 어댑터를 포함할 수 있다. 다른 컴포넌트가 포함될 수 있다.As shown in FIG. 21,computer system 2100 in the form of a data processing system includes abus 2102 coupled to amicroprocessor 2103 and aROM 2107, avolatile RAM 2105, and anonvolatile memory 2106. ). For example, amicroprocessor 2103, which can be a PowerPC G4 or PowerPC G5 microprocessor from Motorola or IBM, is coupled tocache memory 2104 as shown in the example of FIG. Thebus 2102 interconnects various components and also connects thesecomponents 2103, 2107, 2105 and 2106 to the display controller and thedisplay device 2108 as well as to mice, keyboards, modems, network interfaces, known in the prior art, Interconnect to 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 typically implemented as dynamic RAM (DRAM), which requires a constant power source to refresh or maintain data in memory.Nonvolatile memory 2106 is typically a magnetic hard drive, magnetic optical drive, optical drive or DVD RAM or other type of memory system that retains data even after the system is powered off. Typically, nonvolatile memory can also be RAM, but not necessarily. Although the nonvolatile memory is shown in FIG. 21 as a local device directly coupled to the remaining components of the data processing system, the present invention is a network storage device coupled to a data processing system via a network interface such as a modem or an Ethernet interface. It will be appreciated that nonvolatile memory remote from the system can be used.Bus 2102 may include one or more buses that are connected to each other through various bridges, controllers, and / or adapters, as is well known in the art. In one embodiment, I /O controller 2109 includes a USB adapter for controlling a Universal Serial Bus (USB) peripheral. Alternatively, the I / O controller may also include an IEEE-1394 adapter, known as a FireWire adapter, for controlling FiewWire devices. Other components may be included.

지금까지 가속도계를 이용하여 휴대용 장치를 작동시키기 위한 방법 및 장치가 설명되었다. 전술된 명세서에서, 본 발명은 그 특정의 예시적인 실시예를 참조하여 설명되었다. 이하의 청구항에서 설명되는 바와 같이 본 발명의 더 넓은 취지 및 범위에서 벗어나지 않고 이에 각종 수정이 있을 수 있다는 것은 명백하다. 따라서, 명세서 및 도면은 제한적인 것이라기보다는 예시적인 개념으로 간주되어야 한다.To date, a method and apparatus for operating a portable device using an accelerometer have been described. In the foregoing specification, the invention has been described with reference to specific example embodiments thereof. It is 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. The specification and drawings are, accordingly, 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 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 (1)

Translated fromKorean
휴대용 장치에 부착된 가속도계를 이용하여 상기 휴대용 장치의 움직임을 검출하는 단계를 포함하는 방법.Detecting movement of the portable device using an accelerometer attached to the portable device.
KR1020127018441A2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometerExpired - Fee RelatedKR101497195B1 (en)

Applications Claiming Priority (7)

Application NumberPriority DateFiling DateTitle
US10/791,495US7218226B2 (en)2004-03-012004-03-01Acceleration-based theft detection system for portable electronic devices
US10/791,4952004-03-01
US10/890,856US7307228B2 (en)2000-10-022004-07-13Method and apparatus for detecting free fall
US10/890,8562004-07-13
US10/986,7302004-11-12
US10/986,730US7688306B2 (en)2000-10-022004-11-12Methods and apparatuses for operating a portable device based on an accelerometer
PCT/US2005/003599WO2005093550A2 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020067020437ADivisionKR101190323B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020137004446ADivisionKR101459979B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer

Publications (2)

Publication NumberPublication Date
KR20120096080Atrue KR20120096080A (en)2012-08-29
KR101497195B1 KR101497195B1 (en)2015-02-27

Family

ID=43103156

Family Applications (7)

Application NumberTitlePriority DateFiling Date
KR1020177023162AExpired - Fee RelatedKR101882639B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020167020259AExpired - Fee RelatedKR101771225B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020127018441AExpired - Fee RelatedKR101497195B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020137030445AExpired - Fee RelatedKR101459985B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020117013232AExpired - Fee RelatedKR101178364B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020147013949AExpired - Fee RelatedKR101644004B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020137004446AExpired - Fee RelatedKR101459979B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer

Family Applications Before (2)

Application NumberTitlePriority DateFiling Date
KR1020177023162AExpired - Fee RelatedKR101882639B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020167020259AExpired - Fee RelatedKR101771225B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer

Family Applications After (4)

Application NumberTitlePriority DateFiling Date
KR1020137030445AExpired - Fee RelatedKR101459985B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020117013232AExpired - Fee RelatedKR101178364B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020147013949AExpired - Fee RelatedKR101644004B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer
KR1020137004446AExpired - Fee RelatedKR101459979B1 (en)2004-03-012005-01-27Methods and apparatuses for operating a portable device based on an accelerometer

Country Status (3)

CountryLink
JP (3)JP5657963B2 (en)
KR (7)KR101882639B1 (en)
CN (2)CN102902310B (en)

Families Citing this family (16)

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

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH0944143A (en)*1995-08-011997-02-14Toshiba Corp Mobile information communication terminal device
JPH1063265A (en)*1996-08-161998-03-06Casio Comput Co Ltd Automatic performance device
JPH10240434A (en)*1997-02-271998-09-11Matsushita Electric Ind Co Ltd Command menu selection method
JPH10234423A (en)*1997-02-271998-09-08Akie YamadaShoes
JPH10254614A (en)*1997-03-061998-09-25Hitachi Ltd Portable electronic processing device and operation method thereof
US6243074B1 (en)*1997-08-292001-06-05Xerox CorporationHandedness detection for a physical manipulatory grammar
US6549792B1 (en)*1999-06-252003-04-15Agere Systems Inc.Accelerometer influenced communication device
JP2001038052A (en)*1999-07-302001-02-13Hori Co LtdUser interface device for function extension of portable general purpose video game machine
JP2001057011A (en)*1999-08-162001-02-27Nec CorpInformation equipment inhibiting resume by detecting acceleration
WO2001056256A2 (en)*2000-01-312001-08-02Nokia Mobile Phones LimitedAccelerometer and selection key(s) used as input devices for mobile radiotelephone
JP2001274612A (en)*2000-03-242001-10-05Matsushita Electric Ind Co Ltd Portable radio
JP2001299980A (en)*2000-04-212001-10-30Mitsubishi Electric Corp Exercise support device
AU2001256576A1 (en)*2000-05-122001-11-20Zvi LapidotApparatus and method for the kinematic control of hand-held devices
JP4320766B2 (en)*2000-05-192009-08-26ヤマハ株式会社 Mobile phone
US7289102B2 (en)2000-07-172007-10-30Microsoft CorporationMethod and apparatus using multiple sensors in a device with a display
JP4198875B2 (en)*2000-11-302008-12-17株式会社東芝 Mobile communication terminal
US7908338B2 (en)*2000-12-072011-03-15Sony CorporationContent retrieval method and apparatus, communication system and communication method
JP4523150B2 (en)*2000-12-272010-08-11レノボ シンガポール プライヴェート リミテッド Data server system, computer apparatus, storage medium
JP4635342B2 (en)*2001-01-102011-02-23ソニー株式会社 Information processing terminal and method
JP2002297284A (en)2001-03-292002-10-11Toshiba CorpPortable terminal equipment
US6798429B2 (en)*2001-03-292004-09-28Intel CorporationIntuitive mobile device interface to virtual spaces
JP2002368850A (en)*2001-06-052002-12-20Sony CorpPortable wireless terminal
JP2003005879A (en)*2001-06-192003-01-08Mitsubishi Electric Corp Portable information terminal
JP3917456B2 (en)*2001-08-092007-05-23株式会社コナミスポーツ&ライフ Evaluation program, recording medium thereof, timing evaluation apparatus, timing evaluation system
JP3891831B2 (en)*2001-11-262007-03-14シャープ株式会社 Portable radio
US7159194B2 (en)2001-11-302007-01-02Palm, Inc.Orientation dependent functionality of an electronic device
JP3090045U (en)*2002-01-232002-11-22煌東 張 Voice and music providing device installed on exercise equipment
JP2003295987A (en)*2002-04-032003-10-17Canon Electronics IncElectronic equipment, operation mode control method, program and storage medium
JP3856129B2 (en)*2002-06-282006-12-13ノキア コーポレイション Wireless communication device
JP4067372B2 (en)*2002-09-272008-03-26クラリオン株式会社 Exercise assistance device

Also Published As

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

Similar Documents

PublicationPublication DateTitle
KR101190323B1 (en)Methods and apparatuses for operating a portable device based on an accelerometer
JP5483373B2 (en) Method and apparatus for operating a portable device based on an accelerometer
CN1926496B (en)Method and device for operating portable equipment based on accelerometer
AU2017204627B2 (en)Methods and apparatuses for operating a portable device based on an accelerometer
HK1180416B (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

DateCodeTitleDescription
A107Divisional application of patent
PA0104Divisional application for international application

St.27 status event code:A-0-1-A10-A16-div-PA0104

St.27 status event code:A-0-1-A10-A18-div-PA0104

A201Request for examination
PA0201Request for examination

St.27 status event code:A-1-2-D10-D11-exm-PA0201

PG1501Laying open of application

St.27 status event code:A-1-1-Q10-Q12-nap-PG1501

P11-X000Amendment of application requested

St.27 status event code:A-2-2-P10-P11-nap-X000

P13-X000Application amended

St.27 status event code:A-2-2-P10-P13-nap-X000

E902Notification of reason for refusal
PE0902Notice of grounds for rejection

St.27 status event code:A-1-2-D10-D21-exm-PE0902

T11-X000Administrative time limit extension requested

St.27 status event code:U-3-3-T10-T11-oth-X000

R17-X000Change to representative recorded

St.27 status event code:A-3-3-R10-R17-oth-X000

A107Divisional application of patent
E13-X000Pre-grant limitation requested

St.27 status event code:A-2-3-E10-E13-lim-X000

P11-X000Amendment of application requested

St.27 status event code:A-2-2-P10-P11-nap-X000

P13-X000Application amended

St.27 status event code:A-2-2-P10-P13-nap-X000

PA0104Divisional application for international application

St.27 status event code:A-0-1-A10-A16-div-PA0104

St.27 status event code:A-0-1-A10-A18-div-PA0104

E601Decision to refuse application
PE0601Decision on rejection of patent

St.27 status event code:N-2-6-B10-B15-exm-PE0601

J201Request for trial against refusal decision
PJ0201Trial against decision of rejection

St.27 status event code:A-3-3-V10-V11-apl-PJ0201

J301Trial decision

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

Effective date:20140825

PJ1301Trial decision

Decision date:20140825

Appeal event data comment text:Appeal Kind Category : Appeal against decision to decline refusal, Appeal Ground Text : 2012 7018441

Appeal request date:20130724

Appellate body name:Patent Examination Board

Decision authority category:Office appeal board

Decision identifier:2013101005382

St.27 status event code:A-3-3-V10-V15-crt-PJ1301

PS0901Examination by remand of revocation

St.27 status event code:A-6-3-E10-E12-rex-PS0901

S901Examination by remand of revocation
E902Notification of reason for refusal
PE0902Notice of grounds for rejection

St.27 status event code:A-1-2-D10-D21-exm-PE0902

P11-X000Amendment of application requested

St.27 status event code:A-2-2-P10-P11-nap-X000

P13-X000Application amended

St.27 status event code:A-2-2-P10-P13-nap-X000

GRNODecision to grant (after opposition)
PS0701Decision of registration after remand of revocation

St.27 status event code:A-3-4-F10-F13-rex-PS0701

GRNTWritten decision to grant
PR0701Registration of establishment

St.27 status event code:A-2-4-F10-F11-exm-PR0701

PR1002Payment of registration fee

Fee payment year number:1

St.27 status event code:A-2-2-U10-U12-oth-PR1002

PG1601Publication of registration

St.27 status event code:A-4-4-Q10-Q13-nap-PG1601

FPAYAnnual fee payment

Payment date:20180201

Year of fee payment:4

PR1001Payment of annual fee

Fee payment year number:4

St.27 status event code:A-4-4-U10-U11-oth-PR1001

R18-X000Changes to party contact information recorded

St.27 status event code:A-5-5-R10-R18-oth-X000

FPAYAnnual fee payment

Payment date:20190129

Year of fee payment:5

PR1001Payment of annual fee

Fee payment year number:5

St.27 status event code:A-4-4-U10-U11-oth-PR1001

PC1903Unpaid annual fee

Not in force date:20200224

Payment event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE

St.27 status event code:A-4-4-U10-U13-oth-PC1903

PC1903Unpaid annual fee

Ip right cessation event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date:20200224

St.27 status event code:N-4-6-H10-H13-oth-PC1903


[8]ページ先頭

©2009-2025 Movatter.jp