Methods and apparatuses for operating a portable device based on an accelerometer
Abstract
This record has no abstract on file.
Term
Projected expiry 19 October 2031.
- Priority
- Filed
- Granted
- Today
- Projected expiry
4 claims: 4 independent, 0 dependent
- 1ユーザの観点から第1シーンから第2シーンへの方向に向かって推移するイメージのシーケンスをポータブル・デバイスのディスプレイに表示するステップと、 前記ポータブル・デバイスに取り付けられた加速度計を使用して前記ポータブル・デバイスの移動を検出するステップと、 前記ポータブル・デバイスの前記移動の検出に応答して、1つまたは複数の所定のアクションを実行するために機械実行可能コードを実行するステップと を含み、 前記機械実行可能コードを実行するステップは、 前記ポータブル・デバイスの前記移動が、前記ユーザの前記観点からの前記推移の前記方向に関連する方向に従うかどうかを検出するステップと、 前記移動が前記推移の前記方向に関連する方向に従って検出されない場合に、所定のオペレーションを実行するステップと を含み、 さらに、アクティブ動作状態とインアクティブ動作状態のうちの1つを含む前記ポータブル・デバイスの動作状態を判定するステップを含み、前記機械実行可能コードが、前記判定された動作状態に基づいて実行され、 動作状態がインアクティブ状態と判定された前記ポータブル・デバイスが移動している場合に、前記ポータブル・デバイスを スリープ モードに構成するステップ と、 動作状態がインアクティブ状態と判定された前記ポータブル・デバイスが移動中でない場合に、前記ポータブル・デバイスをハイバネーションモードに構成するステップと、 を含むことを特徴とする加速度計に基づいてポータブル・デバイスを操作する方法。
- 2プロセッサと、 前記プロセッサに結合され、内部に命令を保管されたメモリと、 ポータブル・デバイスの移動を検出するための、前記プロセッサと前記メモリに結合された加速度計と を備え、 前記加速度計を使用して、前記プロセッサは前記メモリからの指示を実行し、ユーザの観点から第1シーンから第2シーンへの方向に向かって推移するイメージのシーケンスをポータブル・デバイスのディスプレイに表示し、前記ポータブル・デバイスの前記移動の検出に応答して1つまたは複数の所定のアクションを実行し、 前記ポータブル・デバイスの前記移動が、前記ユーザの前記観点からの前記推移の前記方向に関連する方向に従うかどうかを検出し、前記移動が前記推移の前記方向に関連する方向に従って検出されない場合に、所定のオペレーションを実行するように構成し、 さらに、アクティブ動作状態とインアクティブ動作状態のうちの1つを含む前記ポータブル・デバイスの動作状態を判定し、 動作状態がインアクティブ状態と判定された前記ポータブル・デバイスが移動している場合に、前記ポータブル・デバイスを スリープ モードに構成 し、 動作状態がインアクティブ状態と判定された前記ポータブル・デバイスが移動中でない場合に、前記ポータブル・デバイスをハイバネーションモードに構成する、 ことを特徴とするポータブル・デバイス。
- 3ユーザの観点から第1シーンから第2シーンへの方向に向かって推移するイメージのシーケンスをポータブル・デバイスのディスプレイに表示するステップと、 前記ポータブル・デバイスに取り付けられた加速度計を使用して前記ポータブル・デバイスの移動を検出するステップと、 前記ポータブル・デバイスの前記移動の検出に応答して、1つまたは複数の所定のアクションを実行するために機械実行可能コードを実行するステップと を含み、 前記機械実行可能コードを実行するステップは、 前記ポータブル・デバイスの前記移動が、前記ユーザの前記観点からの前記推移の前記方向に関連する方向に従うかどうかを検出するステップと、 前記移動が前記推移の前記方向に関連する方向に従って検出されない場合に、所定のオペレーションを実行するステップと を含み、 さらに、アクティブ動作状態とインアクティブ動作状態のうちの1つを含む前記ポータブル・デバイスの動作状態を判定するステップを含み、前記機械実行可能コードが、前記判定された動作状態に基づいて実行され、 動作状態がインアクティブ状態と判定された前記ポータブル・デバイスが移動している場合に、前記ポータブル・デバイスを スリープ モードに構成するステップ と、 動作状態がインアクティブ状態と判定された前記ポータブル・デバイスが移動中でない場合に、前記ポータブル・デバイスをハイバネーションモードに構成するステップと、 を含む方法を機械に実行させる実行可能コードを記憶した機械可読媒体。
- 4ユーザの観点から第1シーンから第2シーンへの方向に向かって推移するイメージのシーケンスをポータブル・デバイスのディスプレイに表示する手段と、 前記ポータブル・デバイスに取り付けられた加速度計を使用して前記ポータブル・デバイスの移動を検出する手段と、 前記ポータブル・デバイスの前記移動の検出に応答して、1つまたは複数の所定のアクションを実行するために機械実行可能コードを実行する手段と を含み、 前記機械実行可能コードを実行する手段は、 前記ポータブル・デバイスの前記移動が、前記ユーザの前記観点からの前記推移の前記方向に関連する方向に従うかどうかを検出する手段と、 前記移動が前記推移の前記方向に関連する方向に従って検出されない場合に、所定のオペレーションを実行する手段と を含み、 さらに、アクティブ動作状態とインアクティブ動作状態のうちの1つを含む前記ポータブル・デバイスの動作状態を判定する手段を含み、前記機械実行可能コードが、前記判定された動作状態に基づいて実行され、 動作状態がインアクティブ状態と判定された前記ポータブル・デバイスが移動している場合に、前記ポータブル・デバイスを スリープ モードに構成する手段 と、 動作状態がインアクティブ状態と判定された前記ポータブル・デバイスが移動中でない場合に、前記ポータブル・デバイスをハイバネーションモードに構成する手段と、 を含むことを特徴とする装置。
Independent claims4
119 paragraphs, as filed
Related application
This application is a partial continuation of U.S. Patent Application No. 10/890856, which was filed on July 13, 2004, and U.S. Patent Application No. 10/890856 is pending on January 21, 2003. U.S. Patent Application No. 10/348465, now a continuation of U.S. Patent No. 6768066, U.S. Patent No. 6768066 is a co-pending U.S. Patent Application No. 09/678541, filed October 2, 200, It is currently a divisional application of US Pat. No. 6520013.
This application is also a partial continuation of the simultaneously pending US Patent Application No. 10/791495 filed March 1, 2004. The US patent application identified above is incorporated herein by reference.
The present invention generally relates to portable devices. Specifically, the present invention relates to the operation of a portable device using the accelerometer of the portable device.
Accelerometers are widely used devices in a variety of applications such as vibration monitoring, equipment control, joysticks, industrial process control, space launches, satellite control, and many other purposes. For example, accelerometers have been used in vehicles as sensors to detect various operating conditions while the vehicle is moving.
<p> As computers have become more common, accelerometers have been used within computers to detect sudden movements of the computer, such as free fall. A common application of accelerometers in computers is to protect the read / write heads of hard drives. However, no application used an accelerometer in conjunction with software that could be run in a computer.</p>
<p> A method and device for operating a portable device based on an accelerometer will be described. According to one embodiment of the invention, an accelerometer attached to the portable device detects movement of the portable device. In response, machine executable code is executed to perform a given user-configurable operation.</p><p> According to one embodiment of the invention, the accelerometer of the portable device constantly or periodically monitors the movement of the portable device. As a result, the orientation of the portable device before and after the movement is determined based on the movement data supplied by the accelerometer attached to the portable device.</p><p> According to another embodiment of the invention, an accelerometer is used to detect movement of a portable device as a trigger for displaying a page or image of a document.</p><p> According to another embodiment of the invention, the accelerometer can be used in navigation applications. To navigate a relatively large object or document that normally cannot be viewed entirely at once in the display of the portable device, for example, a portable device with an internal accelerometer is used as a navigation tool.</p><p> According to another embodiment of the invention, the accelerometer can be used in gaming applications, where the accelerometer detects scene changes during a video game performed on a portable device. Used for.</p><p> According to another embodiment of the invention, the accelerometer is used to detect the movement of the portable device and determine the orientation of the portable device based on the movement data provided by the accelerometer. .. It then activates or deactivates one or more interfaces of the portable device based on the determined orientation after the move.</p><p> According to another embodiment of the invention, an accelerometer is used to detect and determine user activity (eg, light shaking) with respect to a portable device with an accelerometer inside.</p><p> According to another embodiment of the invention, the accelerometer is used to move the portable device (eg, carried by the user) and bring the portable device into the correct operating state (eg, sleep mode). Or it is trying to determine if it should be in hibernation mode).</p><p> According to another embodiment of the invention, an accelerometer is used to detect whether the portable device is moved in a certain direction in order to determine if the password has been entered correctly. There is.</p><p> According to another embodiment of the invention, an accelerometer is used to detect and record the sequence of movement of the portable device, where the recorded movement data is used to post the movement history. I try to recreate it (for example, off-line).</p>
<figref num="1">It is a block diagram which shows the exemplary architecture of the portable device by one Embodiment of this invention.</figref><figref num="2">FIG. 5 is a flow diagram illustrating an exemplary process of manipulating a portable device in response to an event generated by an accelerometer according to an embodiment of the present invention.</figref><figref num="3">It is a figure which shows the exemplary application example which can utilize the accelerometer according to one Embodiment of this invention.</figref><figref num="4">FIG. 5 is a flow diagram illustrating an exemplary processor for reorienting a displayed document based on an accelerometer according to an embodiment of the present invention.</figref><figref num="5A">FIG. 5 illustrates an exemplary movement of a portable device that can be used to trigger the display of a page of a document, according to some embodiments of the present invention.</figref><figref num="5B">FIG. 5 illustrates an exemplary movement of a portable device that can be used to trigger the display of a page of a document, according to some embodiments of the present invention.</figref><figref num="6">FIG. 5 is a flow diagram illustrating an exemplary process of presenting a document based on an accelerometer according to an embodiment of the present invention.</figref><figref num="7">It is a figure which shows the exemplary navigation application example based on an accelerometer according to one Embodiment of this invention.</figref><figref num="8">FIG. 5 is a flow diagram illustrating an exemplary process of navigating an image based on an accelerometer according to an embodiment of the present invention.</figref><figref num="9">It is a figure which shows the application example of the example game based on the accelerometer by one Embodiment of this invention.</figref><figref num="10A">It is a figure which shows the application example of the example game based on the accelerometer by another embodiment of this invention.</figref><figref num="10B">It is a figure which shows the application example of the example game based on the accelerometer by another embodiment of this invention.</figref><figref num="11">It is a flow chart which shows the exemplary process of the application example of the game based on an accelerometer according to one Embodiment of this invention.</figref><figref num="12">FIG. 5 illustrates an exemplary mechanism for activating / deactivating an interface of a portable device based on an accelerometer according to an embodiment of the present invention.</figref><figref num="13">FIG. 5 is a flow diagram illustrating an exemplary process of manipulating an interface of a portable device based on an accelerometer according to an embodiment of the present invention.</figref><figref num="14">FIG. 5 illustrates an exemplary mechanism for activating / deactivating a multimedia interface in a portable device using an accelerometer according to an embodiment of the present invention.</figref><figref num="15">FIG. 5 is a flow diagram illustrating an exemplary process of reconstructing a multimedia interface based on an accelerometer according to an embodiment of the present invention.</figref><figref num="16">FIG. 5 is a flow diagram illustrating an exemplary process of playing multimedia content based on an accelerometer according to an embodiment of the present invention.</figref><figref num="17">FIG. 5 is a flow diagram illustrating an exemplary process of power management for a portable device according to an embodiment of the present invention.</figref><figref num="18">It is a flow chart which shows the exemplary process of processing a password by one Embodiment of this invention.</figref><figref num="19">FIG. 5 is a flow diagram illustrating an exemplary process of recreating traces of movement using an accelerometer according to an embodiment of the present invention.</figref><figref num="20">FIG. 6 is a block diagram showing an exemplary portable device with an accelerometer according to an embodiment of the present invention.</figref><figref num="21">It is a block diagram which shows the digital processing system which can be used with one Embodiment of this invention.</figref><figref num="22">It is a flow chart which shows the exemplary process of motion compensation using an accelerometer according to one Embodiment of this invention.</figref><figref num="23">It is a flow chart which shows the exemplary process of detecting an impact using an accelerometer according to one Embodiment of this invention.</figref><figref num="24">FIG. 5 is a flow diagram illustrating an exemplary process of manipulating components of a portable device using an accelerometer according to an embodiment of the present invention.</figref>
Other features of the invention will become apparent from the accompanying drawings and the detailed description below.
The present invention is shown in the accompanying drawings as an example rather than a limitation, but in the accompanying drawings, elements with similar reference numerals are shown.
A method and device for operating a portable device based on an accelerometer will be described. According to one embodiment, accelerometers have been used in portable devices such as laptop computers, tablet PCs, personal digital assistants (PDAs), cell phones, digital multimedia players, and the like. When the accelerometer detects the movement of the portable device, the movement direction, also referred to as the movement vector or acceleration vector, is determined based on the movement data supplied by the accelerometer. Travel direction and / or travel data can be fed to software components (eg, application software) running within a portable device. In response to the detection of movement of a portable device, the corresponding software component may advance one or more predetermined pages based on the direction and / or movement data provided by the accelerometer, for example, advancing a document page. Performs user-configurable actions in.
The following description provides a number of details to provide a more complete description of the invention. However, it will be apparent to those skilled in the art that the present invention can be practiced without these particular details. In other cases, well-known structures and devices are shown in block diagram format rather than in detail to avoid obscuring the invention.
Some of the following detailed descriptions are presented with respect to the algorithmic and symbolic representations of operations on data bits in computer memory. Descriptions and representations of these algorithms are the means used by those skilled in the art of data processing techniques to most efficiently convey the substance of the outcome to others. The algorithm is considered herein and generally as a self-consistent sequence of steps leading to the desired result. These steps are steps that require a physical amount of physical manipulation. Usually, but not always, these quantities take the form of electrical or magnetic signals that are stored, transferred, combined, compared, and manipulated in other ways. From time to time, it has been found convenient to refer to these signals as bits, values, elements, symbols, letters, terms, numbers, etc., primarily for common use.
However, keep in mind that all of these and similar terms must be associated with the appropriate physical quantities and are merely convenient labels that apply to these quantities. As will be clear from the following discussion, terms such as "processing," "computing," "calculation," "judgment," "display," or similar terms throughout this description, unless otherwise specified. Discussions that use computer system memory or registers or other such information storage devices, manipulate data expressed as physical (electronic) quantities in computer system memory or memory. It should be understood that it refers to the operation and processing of a computer system or similar electronic computing device that transforms it into other data, also represented as a physical quantity within an information transmitting device, or information displaying device.
The present invention also relates to a device that performs the operations described herein. This device includes a general purpose computer that can be specifically configured for a required purpose or that is selectively activated or reconfigured by a computer program stored in the computer. Such computer programs include all types of disks, including floppy disks, optical discs, CD-ROMs, and optomagnetic disks, read-only memory (ROM), random access memory (RAM), and erasable programmable ROM (erasable programmable ROM). EPROM), electrically erasable programmable ROM (EEPROM), magnetic cards, optical cards, or all types of media, each coupled to a computer system bus, suitable for storing electronic instructions (to this). Can be stored on computer-readable storage media (without restrictions).
The algorithms and displays described herein are not specific to any particular computer or other device. A variety of general purpose systems can be used with the programs as taught herein, or it will find it convenient to configure more specialized equipment to perform the required method steps. The required structure of the various these systems becomes clear from the description below. Moreover, the present invention is not described with respect to any particular programming language. It should be appreciated that the teachings of the inventions described herein can be practiced using a variety of programming languages.
Machine-readable media include all mechanisms that store or transmit information in a readable form by a machine (eg, a computer). For example, machine-readable media such as read-only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, electrical, optical, acoustic, or the like. Propagated signals in the form of (eg, carrier waves, infrared signals, digital signals, etc.) are included.
Schematic Figure 1 is a block diagram showing an exemplary architecture of a portable device according to an embodiment of the present invention. In one embodiment, an exemplary system 100 includes a processor, memory coupled to the processor and stores instructions therein, and an accelerometer coupled to the processor or memory to detect movement of a portable device. Includes, but are not limited to these. The processor executes instructions from memory to perform one or more predetermined user-configurable actions in response to detection of a portable device move. In an alternative embodiment, the exemplary system 100 further determines the direction of movement based on the movement data supplied by the accelerometer to execute the command, and the determined direction is relative to the predetermined direction. Includes a controller coupled to an accelerometer to compare the determined movement direction with a given direction to determine if they match.
Referring to FIG. 1, according to one embodiment, an exemplary system 100 includes one or more accelerometers 101, one or more controllers 102 coupled to the accelerometer 101, and motion-related firmware 103. , Motion software component 104 and one or more application software 105-107. The accelerometer 101 can be attached to a portable device, for example the motherboard of the portable device. Instead, the accelerometer 101 can be integrated with another component of the portable device. For example, the accelerometer 101 can be integrated with the chipset of a portable device.
According to one embodiment, the accelerometer 101 can detect movement of a portable device, including acceleration and / or deceleration. The accelerometer 101 can generate multidimensional movement data, which can be used to determine the direction of movement of a portable device. For example, the accelerometer 101 can generate X-axis, Y-axis, and Z-axis acceleration information when the accelerometer 101 detects that a portable device is being moved. In one embodiment, the accelerometer 101 can be implemented as the accelerometer described in US Pat. No. 6,502,0013, assigned to the same assignee as the present application. Instead, the accelerometer 101 can be implemented using a variety of commercially available accelerometers. For example, the accelerometer 101 can be the Kionix KGF01 accelerometer or the Analog Devices ADXL311 accelerometer.
In addition, the exemplary system 100 includes one or more controllers 102 coupled to the accelerometer 101. The controller 102 can be used to calculate the direction of movement of a portable device, also known as the movement vector. The movement vector can be determined according to one or more predetermined equations based on the movement data (eg, X-axis, Y-axis, Z-axis movement information) supplied by the accelerometer 101. Some embodiments of the calculation of the movement vector are described in more detail below.
According to one embodiment, the controller 102 monitors one or more outputs of the accelerometer 101 and other components of the portable device, such as a chipset (eg, a memory controller or north bridge) and /. Or responsible for communicating with a microprocessor (eg CPU). The controller 102 can be implemented using a variety of commercially available microcontrollers. For example, the controller 102 can be a Microchip PIC 16F818 microcontroller. The controller 102 can be integrated with the accelerometer 101. Instead, the controller 102 can be integrated with other components of the portable device, such as a chipset or microprocessor.
In one embodiment, the controller 102 can communicate with other components via a bus such as an I2C (inter-IC) bus and an interrupt signal line. In response to the move data, the controller 102 generates interrupts via interrupt signal lines to other components such as firmware 103, such as hardware interrupts, software interrupts, or a combination of both, and they for that move. Notify the components of. Further, the controller 102 can calculate the movement vector based on the movement data supplied by the accelerometer 101. Further details regarding the communication between the controller 102 and the other components of the portable device are described in more detail below.
Returning to Figure 1, the motion firmware 103 contains one or more machine-executable codes that can be applied to one or more hardware components of a portable device, such as the controller 102 or chipset. It can be incorporated into (for example, part of the BIOS, also called the basic I / O system). In one embodiment, the motion firmware 103 can be stored in a read-only memory (ROM) (eg, flash memory) of the controller 102. However, the machine executable code of motion firmware 103 can be upgraded by uploading a newer version to memory, for example using flash memory. Firmware 103 is responsible for detecting all events generated in response to movement detection. According to one embodiment, firmware 103 provides the primary communication mechanism between controller 102 and other components of the portable device, such as an operating system (OS).
The motion software 104 is responsible for communication between the motion firmware 103 and software components such as application software 105-107, as well as to the operating system. In one embodiment, the motion software 104 can be implemented as part of an operating system, such as a kernel component or device driver. The operating system can be implemented using a variety of commercially available operating systems. For example, the operating system could be Apple Computer's Mac OS. Instead, the operating system can be Microsoft's Windows® operating system. Other operating systems such as Unix®, Linux, embedded operating systems (eg Palm OS), or real-time operating systems can also be implemented.
According to one embodiment, the motion software component 104 can communicate the event to one or more application softwares 105-107 in response to a motion detection event that can be notified by the motion firmware 103. In response to the detection, application software 105-107 can perform certain operations. Applications 105-107 can be a variety of different applications, such as browsers, word processors, slide presentations, and so on. Some embodiments of the operations performed by applications 105-107 are described in more detail below.
FIG. 2 is a flow diagram illustrating an exemplary process of manipulating a portable device in response to an event generated by an accelerometer, according to an embodiment of the invention. The exemplary process 200 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. In one embodiment, the exemplary process 200 uses an accelerometer attached to the portable device to detect movement of the portable device, or one or more in response to detection of movement of the portable device. Includes, but is not limited to, executing machine executable code to perform a given user-configurable action of.
Referring to FIG. 2, at block 201, the movement of a portable device, such as a laptop computer or tablet PC, uses an accelerometer attached to the portable device (eg, accelerometer 101 in FIG. 1). Is detected. In one embodiment, the accelerometer can generate multidimensional (eg, X-axis, Y-axis, Z-axis) movement data in response to this detection. In response to this detection, block 202 determines the direction of movement based on the movement data provided by the accelerometer. In one embodiment, the direction of movement is determined by a controller (eg, controller 102 in FIG. 1). In response to the determined direction, block 203 executes one or more machine-executable code (eg, application software) to advance a web page, for example, one or more predetermined users. You can perform configurable actions. You can also perform other operations.
Accelerometer-Based Orientation According to one embodiment of the invention, the accelerometer of a portable device can constantly or periodically monitor the movement of the portable device. As a result, the orientation of the portable device before and after the move can be determined based on the movement data provided by the accelerometer attached to the portable device.
3A and 3B are diagrams showing exemplary applications in which an accelerometer can be used according to an embodiment of the present invention. In this embodiment, and throughout the application, tablet devices are used as examples of portable devices. However, the present application is not limited to this. Utilize laptop computers, personal digital assistants (PDAs), personal computers (eg, Research In Motion's blackberry), cell phones, or other portable devices such as multimedia players (eg, MP3 players). Please understand that you can also do it.
Referring to FIGS. 3A, 3B, first, according to one embodiment, the portable device is in orientation 301 where the page of document 303 is displayed on the display of the portable device. Orientation 301 displays the document page 303 correctly from the user's point of view facing the display given orientation 301, which is periodically or constantly detected and determined by the accelerometer and controller associated with this display. can do.
When the portable display is moved, for example, according to a movement direction 304 ending in orientation 302, the accelerometer (accelerometer 101 in FIG. 1) detects the movement. In response to this detection, the controller (controller 102 in FIG. 1) determines the direction of travel based on the movement data supplied by the accelerometer, and firmware 103, motion software 104, and / or application 105 in FIG. 1 ~. Notify the appropriate component of the portable device, such as 107. Such notification can be performed via interrupts or by polling one or more registers of the controller and / or accelerometer. In addition, the controller can further determine the orientation of the portable device after movement.
In response to this notification, according to one embodiment, the orientation of document page 303 can be adjusted according to the determined orientation after the move, as shown in FIG. 3B. In one embodiment, the orientation of the displayed document page is adjusted to be relatively identical to the orientation after the move and before the move. As a result, even if the orientation of the portable device is changed, the orientation of the displayed document pages remains relatively the same, especially from the perspective of the user facing the display of the portable device.
In this embodiment, the orientation of the document page 303 is adjusted by a display driver (eg, a video driver) that sends display data (eg, the document page) to the display of the portable device. Instead, the orientation is adjusted by the original application software that supplies the document page 303 (eg, applications 105-107 in Figure 1) (eg, the browser that feeds the web page or the word that feeds one page of the document. -It can also be executed by the processor). Note that the direction of travel 304 shown in FIGS. 3A, 3B is for illustration purposes only. Other directions of travel, such as those shown in Figure 5A or combinations thereof, can also be implemented. In addition, as shown in Figures 3A, 3B, the portable device is rotated 90 ° to the left for illustration purposes only. The portable device can be rotated, translated, or a combination of both, or moved in multiple dimensions or in any movement step.
FIG. 4 is a flow diagram illustrating an exemplary process of reorienting a displayed document based on an accelerometer according to an embodiment of the present invention. The exemplary process 400 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. In one embodiment, the exemplary process 400 uses an accelerometer attached to the portable device to detect movement of the portable device, or after movement based on movement data provided by the accelerometer. It includes, but is not limited to, determining the orientation of the portable device and displaying the image on the display of the portable device according to an orientation that is relatively identical to the orientation of the image before the move.
Referring to FIG. 4, block 401 uses an accelerometer attached to the portable device to detect the movement of the portable device from the first orientation. In response, block 402 determines the direction of movement based on movement data such as X, Y, Z axis information supplied by the accelerometer. In one embodiment, this determination can be performed by a controller coupled to an accelerometer (controller 102 in FIG. 1). The direction of movement can be determined according to one or more predetermined equations. At block 403, after movement, the second orientation of the portable device is determined based on the movement data provided by the accelerometer. At block 404, the orientation of the displayed document page can be adjusted based on the determined second orientation. In one embodiment, the orientation of the displayed document page is adjusted so that the adjusted orientation of the document page is relatively identical to the orientation before the move, especially from the user's point of view. You can also perform other operations.
Displaying Different Pages of a Document Based on an Accelerometer According to another embodiment of the invention, an accelerometer is used to detect movement of a portable device as a form that triggers the ability to display a page or image of a document. To use. For example, when a portable device is moved in a given direction (eg, sudden movement), the accelerometer detects the movement and the application software displays a specific page in response to the detection of the movement. To do.
FIG. 5A illustrates an exemplary movement of a portable device that can be used to trigger the display of a page of a document according to an embodiment of the invention. For example, referring to Figure 5A, the first page of the document is displayed on display 507 of the portable device 500. When the portable device 500 is moved in a certain direction, an accelerometer attached to the portable device 500 (eg, accelerometer 101 in FIG. 1) detects the movement. In response to this detection, the accelerometer notifies other components, especially the component that supplies the first page of the displayed document, via the associated controller, firmware, and / or OS. ..
In certain embodiments, the accelerometer notifies the controller (eg, controller 102 in FIG. 1), including the supply of movement data (eg, X-axis, Y-axis, Z-axis). The controller and / or firmware calculates the movement vector of movement based on the movement data provided by the accelerometer. The controller then signals the motion software component (eg, motion software 104) and / or other components such as the operating system. Motion software and / or the operating system compares the movement vector to a given direction to determine if the movement vector coincides relative to a given direction, eg, based on a given threshold.
In one embodiment, a given direction and a threshold value (eg, sensitivity) associated with that given direction are made user configurable via a user interface. Such sensitivities can be configured based on different profiles associated with portable devices at a given time and place. For example, the sensitivity of a portable device can be different when it is in the home / office and when it is on a moving platform (eg, car, train, ship, or airplane). In another embodiment, the portable device can include a mechanism that intelligently filters out some "noisy" mobile background.
The relevant application software can be notified when the movement vector coincides relative to a given direction. In response, the associated application software can perform certain operations, including displaying a second page that is different from the first page on the display.
In one embodiment, the second page of the document may be the next or previous page of the document. The document can be a word document created by a word processor such as Microsoft Office's word processor. Alternatively, the document could be a web page presented by a browser such as Microsoft's Internet Explorer or Netscape Communications' Netscape communicator. In addition, the document can be, for example, a slide presentation made by Microsoft PowerPoint or Apple Computer Keynote.
Referring to FIG. 5A, the direction of travel includes a direction of travel parallel to the surface of the portable device (eg, display surface 507 of the portable device), which is indicated as directions 501, 502. Alternatively, the direction of travel can also include rotation of the portable device with respect to an axis parallel to the edge of the portable device (eg, edges 505, 506), indicated as directions 503, 504. Further, the moving direction of the portable device can be a combination of the above directions. For example, the movement can be a multidimensional rotation about the corners of the portable device 500. Other types of movement can also be used.
FIG. 5B illustrates an exemplary movement of a portable device that can be used to trigger the display of a page of a document according to an alternative embodiment of the invention. In this embodiment, the portable device 551 is placed on the support surface 552. In addition, application software running within the portable device 551 can be configured to run in "default" mode. When a sudden force is applied to the support surface 552, the sudden force causes vibration of the support surface 552. This sudden force can be applied by the user hitting the support surface.
In response to the vibration of the support surface 552, an accelerometer attached to the portable device 551 can detect the vibration. In response to this detection, the accelerometer notifies the relevant application software, such as through firmware and / or the controller. In response, the application software may display the next page, previous page, or specific page of the document, which page may be user configurable through the user interface. .. This is especially useful when the portable device is placed on a desk and connected to a presentation projector. The user giving the presentation can simply tap the desk to go to the next page of the presentation without having to press a key on the keyboard of the portable device (for example, the "Enter" key or the space bar) or the mouse. it can.
FIG. 6 is a flow diagram illustrating an exemplary process of presenting a document based on an accelerometer according to an embodiment of the present invention. The exemplary process 600 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. In one embodiment, exemplary process 600 involves displaying the first page of a document on the display of a portable device and using an accelerometer attached to the portable device to detect movement of the portable device. And to display the second page of the document, which is different from the first page, in response to the detection of the move, but this is not limited.
Referring to FIG. 6, block 601 uses an accelerometer attached to the portable device to detect the movement of the portable device. In response to this detection, block 602 determines the direction of movement of the movement based on movement data provided by the accelerometer, eg, X, Y, Z axis information. In one embodiment, the direction of travel can be determined by the associated controller and / or associated firmware. At block 603, it is determined whether or not the moving direction coincides with a predetermined direction. If so, block 604 notifies the relevant application software running within the portable device that displayed the first page of the document. In response, at block 605, the application software displays the second page of the document, which is different from the first page. You can also perform other operations.
Accelerometer-Based Navigation Applications According to another embodiment of the invention, accelerometers can be used in navigation applications. For example, using a portable device with an internal accelerometer as a navigation tool to navigate a relatively large object or document that normally cannot be viewed in its entirety within the display of the portable device. Can be done.
7A and 7B are diagrams showing an example of an exemplary navigation application based on an accelerometer according to an embodiment of the present invention. In this embodiment, a portion of the map is initially displayed, as shown in FIG. 7A. Usually, at some level of detail, this map cannot be fully displayed on the display of the portable device 700. For example, when a user "zooms in" to a map, only part of the map can be displayed on the display. As the user navigates through the first part of the map, the user may want to gradually navigate from the first part to the second part of the map.
According to one embodiment, the user holding the portable device 700 moves the portable device 700 in the direction in which the user wants to navigate, eg, in direction 703 (eg, northeast as an example). In response to this movement, an accelerometer attached to the portable device 700 detects the movement. The accelerometer supplies movement data (eg, X, Y, Z axis information) to the controller and / or firmware of the portable device. The associated controller and / or firmware can use one or more predetermined formulas to calculate the travel direction and / or travel distance based on the travel data provided by the accelerometer. The controller and / or firmware then communicates the direction of travel to the relevant application software that currently provides the map.
In response, the application software determines the second part of the map based on the travel direction, travel distance, and / or travel 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 other parts of the map. Note that the direction of travel 703 is shown for illustration purposes only. It can be applied in any other direction.
In one embodiment, the second part of the map can be displayed by the transition from the first part. That is, it is possible to sequentially display a plurality of intermediate parts between the first part and the second part to form a transition from the first part to the second part. As a result, the second part gradually "enters" the display of the portable device. According to one embodiment, the transition from the first part to the second part is displayed as if the user moved the portable device over a relatively large map while the map remained stationary. .. In this embodiment, the transition is displayed as if the user had a portable device as a magnifying glass for a large map, a large newspaper, or a web page.
According to another embodiment, a move can be used to "zoom in" or "zoom out" to the displayed page. For example, use parallel movement to the surface of a portable device (eg, the display surface) to navigate to different parts of the displayed page, while using rotation of the portable device to display the page. You can zoom in or out, which allows you to change the resolution of the displayed page. For example, the user can tilt the portable device up as a way to zoom out and tilt the portable device down as a way to zoom in. Other directions of travel, such as those shown in Figure 5A or combinations thereof, can also be used.
According to another embodiment, the techniques described above can be used in a virtual reality environment. In one embodiment, this technique allows the user to use a portable display device with an accelerometer as a portable, controllable window to a virtual reality image database. For example, a user with a tablet turns around and looks backwards from a position in a 2D or 3D image or object database as if the user were walking in a virtual reality game space. Can be done. According to another embodiment, the user can perform an image panoramic inspection provided by multiple cameras with views in different directions pointing outwards from one position in different directions. ..
FIG. 8 is a flow diagram illustrating an exemplary process of navigating an image based on an accelerometer according to an embodiment of the present invention. The exemplary process 800 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. In one embodiment, the exemplary process 800 displays the first portion of a document page on the display of a portable device prior to the move and the determined direction of the move coincides relatively with a predetermined direction. Including, but not limited to, displaying a second part of a document page that is different from the first part on the display of a portable device.
Referring to FIG. 8, at block 801 the first portion of the image (eg, part of the map shown in FIG. 7A) is displayed on the display of the portable device. The image can be part of an environment formed by panoramic images, virtual reality image databases, 3D image databases, or multiple camera inputs. Block 802 uses an accelerometer attached to the portable device to detect the movement of the portable device. In response to this detection, block 803 calculates the direction of movement based on the movement data provided by the accelerometer (eg, X, Y, Z axis information). In one embodiment, in response to this detection, the accelerometer signals the moving data to the associated controller and / or firmware. This controller and / or firmware calculates the direction of movement based on the movement data. In the alternative, the movement direction calculation can be performed by other components of the portable device, such as the motion software component 104 and / or the operating system of the portable device in FIG. At block 804, display the second part of the image based on the determined movement direction. In one embodiment, it is possible to display a plurality of intermediate parts of an image forming a transition from the first part to the second part. The second part appears as if the portable device was moved while the displayed image remained stationary. You can also perform other operations.
Accelerometer-Based Game Applications According to another embodiment of the invention, accelerometers can be used in gaming applications, where scene changes during a video game performed on a portable device. An accelerometer is used to detect.
9A and 9B are diagrams showing an application example of an exemplary game based on an accelerometer according to an embodiment of the present invention. In this embodiment, as an example, the user holds the portable device 900 like a steering wheel as if he were driving the vehicle facing the first scene 901. When the user moves (eg, rotates) the portable device in a direction, such as direction 903, the displayed scene is changed to the second scene 902, as shown in FIG. 9B.
According to one embodiment, when a user with the portable device 900 moves in direction 903, an accelerometer attached to the portable device detects the movement. The accelerometer supplies movement data (eg, X, Y, Z axis information) to the controller and / or firmware of the portable device. The associated controller and / or firmware uses one or more predetermined formulas to calculate the direction of travel based on the travel data provided by the accelerometer. The controller and / or firmware then communicate the travel direction and / or travel distance or acceleration to the relevant gaming application software that currently offers the game.
In response, the game application software determines the second scene of the game based on the travel direction, travel distance, and / or travel acceleration provided by the controller and / or firmware. The game 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 game scene. Note that the direction of travel 903 is shown for illustration purposes only. It can be applied in any other direction.
In one embodiment, the second scene of the game can be displayed by the transition from the first scene. That is, it is possible to sequentially display a plurality of intermediate scenes between the first scene and the second scene to form a transition from the first scene to the second scene. As a result, the second scene gradually "enters" the display of the portable device.
According to another embodiment, a movement can be detected as a form of accelerating and / or decelerating the driving vehicle. For example, when the portable device is tilted up, the scene displayed can be changed to indicate the acceleration of the vehicle (e.g., similar to stepping on the accelerator). Similarly, when the portable device is tilted down, the scene displayed can be changed to indicate the deceleration of the vehicle (e.g., similar to stepping on the brakes).
In addition, accelerometers can be used to detect if the movement of a portable device exceeds a certain threshold. If so, one or more predetermined user-configurable actions can be performed. For example, during a driving game, when a user drives a vehicle off the road, a warning message regarding such a display can be given to the user.
10A and 10B are diagrams showing an application example of an exemplary game based on an accelerometer according to another embodiment of the present invention. In this embodiment, the user has a portable device with an accelerometer built in as the steering wheel of the vehicle. As shown in Figure 10A, when the scene includes a road that turns to the left, the user is required to turn the steering wheel to the left accordingly in order to stay on the road. An accelerometer attached to a portable device detects if the portable device (eg, the steering wheel) has been turned accordingly and if the angle of rotation or distance is appropriate. Can be used.
If it is detected that the rotation of the portable device has not been rotated or has been rotated insufficiently, the relevant gaming application software will perform certain actions. For example, a gaming application can generate an alarm to the user, for example, a vibration of a portable device or an audio alarm. In addition, off-road scenes can be displayed. If it is detected that the user does not respond to changes in road conditions for a period of time, the collision scene can be displayed accordingly.
According to one embodiment, other directions of travel can be used to "look up" and "look down" from the perspective of the user holding the portable device. For example, in a flight game, a user can have a portable device as if he were maneuvering a flying object (eg, an airplane), where acceleration is used to determine where the flying object is heading. The meter can be used to detect the movement of portable devices. For example, a flying object is pointing up when the portable device is tilted up, and a flying object is pointing down when the portable device is tilted down. Other directions, such as those shown in FIG. 5A or combinations thereof, can be used to ensure that the flying object flies in any direction.
Similarly, in a shooting game, according to one embodiment, it can be used to look up, look down, and / or look around, in addition to the movements described above, portable parallel to the display surface of the portable device. -The vertical movement of the device can be used to detect whether the user is in a raised shooting position or a hidden position. For example, moving the portable device down can display a protective barrier that blocks the enemy, indicating that the user holding the portable device as a shooting weapon is hiding behind the protective barrier. Moving the portable device up can remove the protective barrier and expose the enemy, indicating that the user is in an unprotected shooting position. Other game configurations can be used.
FIG. 11 is a flow chart illustrating an exemplary process of an accelerometer-based game application example according to an embodiment of the present invention. The exemplary process 1100 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. In one embodiment, the exemplary process 1100 displays a sequence of images that transitions from the user's perspective from the first scene to the second scene, and the movement of the portable device transitions from the user's perspective. This includes, but is not limited to, detecting whether or not the movement follows a direction and performing a predetermined operation when the movement is not detected according to the direction related to the direction of transition.
Referring to FIG. 11, block 1101 displays a sequence of images (eg, a driving game) transitioning from a first scene to a second scene on the display of a portable device. At block 1102, an accelerometer attached to the portable device is used to detect the movement of the portable device. At block 1103, the direction of movement of the portable device is determined based on the movement data provided by the accelerometer. In one embodiment, the direction of travel is determined by an accelerometer-coupled controller and / or firmware similar to the configuration shown in FIG. In response to the determined travel direction, block 1104 performs one or more predetermined operations, such as vibrating a portable device, generating an audio alert, or a combination of both. You can also perform other operations.
Accelerometer-Based Device Activation / Deactivation According to another embodiment of the invention, an accelerometer is used to detect the movement of a portable device and is based on movement data provided by the accelerometer. Can determine the orientation of the portable device. You can then activate or deactivate one or more interfaces of the portable device based on the determined orientation after the move.
12A, 12B are diagrams illustrating an exemplary mechanism for activating / deactivating an interface of a portable device based on an accelerometer according to an embodiment of the present invention. In this embodiment, multiple interfaces 1204 to 1207 are located at multiple locations on the portable device, as shown in configuration 1201 in FIG. 12A. As an example, interfaces 1204 to 1207 are described herein as wireless interfaces such as antennas or wireless transceivers. Please understand that other interfaces can be applied.
Referring to FIG. 12A, document 1203 is first displayed in a given orientation 1201. According to one embodiment, when the user lifts the portable device in orientation 1201, an accelerometer attached to the portable device detects its movement and orientation 1201 resembles that shown in FIG. Also determined by the associated controller and / or firmware coupled to the accelerometer. The radio interfaces 1204, 1205 are optimally positioned to transmit and / or receive the radio signal in a given orientation 1201 taking into account the determined orientation (eg, transmit and / or transmit the strongest signal). Or receive), determine that the wireless interfaces 1206 to 1207 are in a relatively weak position. As a result, the wireless interfaces 1204 to 1205 are activated, and the wireless interfaces 1206 to 1207 are deactivated as optional choices.
When the portable device is moved and rotated 90 ° along direction 1208, for example, the portable device is in the different orientation 1202 shown in Figure 12B. As described above, an accelerometer attached to the portable device detects its movement and communicates the movement data to other components of the portable device. In addition to keeping the orientation of the displayed document page relatively identical to the orientation before the move, as described above for Figures 3A, 3B, the wireless interfaces 1204 to 1207 have existing configurations. Reassess whether it is the best configuration for the orientation after the move.
In this embodiment, it is assumed that the top and bottom wireless interfaces of the portable device are in the best position. After a move (eg, 90 ° rotation to the left), the radio interfaces 1204 to 1205, which were initially in the best position, will no longer be in the best position. Radio interfaces 1206 to 1207, which were not in the best position, may now be in the best position. As a result, the radio interfaces 1206, 1207 can be activated as shown by the thick line in response to the movement detection and the determination of the orientation after the movement. Because they are in the best position. Similarly, wireless interfaces 1204 to 1205 are no longer in the best position and can be deactivated.
In addition to detecting if the portable device has been moved, it also determines if the portable device has been lifted or held by the user based on the movement data provided by the accelerometer. In one embodiment, such a determination can be performed by an accelerometer-coupled controller and / or firmware similar to the configuration shown in FIG. If the portable device is determined to be held by the user, the position of the hand 1208 to 1209 of the user holding the portable device can be further determined or predicted.
For example, in orientation 1201 shown in FIG. 12A, after predicting the position of the user's hand, one or more wireless interfaces that may be covered by the user's hand 1208 to 1209, such as wireless interfaces 1206, 1207. Can be deactivated. Similarly, in the post-movement orientation 1202 shown in FIG. 12B, the radio interfaces 1204, 1205 are expected to be covered by the user's hands and can be deactivated.
FIG. 13 is a flow diagram illustrating an exemplary process of manipulating an interface of a portable device based on an accelerometer according to an embodiment of the present invention. The exemplary process 1300 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. In one embodiment, the exemplary process 1300 uses an accelerometer attached to the portable device to detect the movement of the portable device and the post-movement portable device based on the movement data provided by the accelerometer. Orientation is determined and given the determined orientation, including, but not limited to, activating at least one interface of the most suitable portable device.
Referring to FIG. 13, block 1301 uses an accelerometer attached to the portable device to determine the movement of the portable device. Here, the portable device includes a plurality of interfaces (eg, wireless interfaces) arranged at a plurality of positions. At block 1302, the orientation of the portable device after movement is determined based on the movement data provided by the accelerometer. At block 1303, based on the movement data provided by the accelerometer, it is optionally determined whether the portable device has been lifted or held by the user. If so, predict the position of the user's hand with the portable device. At block 1304, activate or deactivate one or more interfaces based on the determined orientation. Optionally, deactivate the interface that is covered by the predicted user's hand and activate the one that is not covered. You can also perform other operations.
According to one embodiment, the techniques described above can also be applied to the multimedia interface of a portable device. 14A, 14B are diagrams illustrating an exemplary mechanism for activating / deactivating the multimedia interface of a portable device using an accelerometer, according to 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, the portable device includes multiple speakers 1405-1408 located at different locations on the portable device, optionally displaying document page 1403 on the display of the portable device. With the forward orientation 1401 of the move, the audio driver is configured to produce the correct 3D surround sound, taking into account the left speakers 1405-1406 and the right speakers 1407-1408. As shown in Figure 14B, a second orientation 1402 is detected and determined by the accelerometer and associated controller and / or firmware, for example, when the portable device is moved 90 ° according to the movement direction 1404. ..
In response to the detection, in addition to keeping the orientation of the displayed document page 1403 relatively identical to the orientation before the move, as described for FIGS. 3A, 3B above, the positions of the speakers 1405-1408. Is reassessed as to whether the existing configuration is the best configuration for the orientation after movement. In this example, the first left speakers 1405, 1406 are at the bottom and the first right speakers 1407, 1408 are at the top, as shown in Figure 14B. Therefore, the existing audio conditions have changed and the sound effects are no longer at their best. As a result, the audio driver is reconfigured to produce audio quality that is relatively comparable to the audio quality before the move of the portable device. For example, speakers 1405 and 1407 are used as the left speaker and speakers 1406 and 1408 are used as the right speaker to create the correct sound effect. Other configurations can also exist.
FIG. 15 is a flow diagram illustrating an exemplary process of reconstructing a multimedia interface based on an accelerometer according to an embodiment of the present invention. The exemplary process 1500 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. Referring to FIG. 15, block 1501 uses an accelerometer attached to the portable device to detect the movement of the portable device. Here, the portable device includes a plurality of multimedia interfaces or devices arranged at different positions. At block 1502, the orientation of the portable device after movement is determined based on the movement data provided by the accelerometer. At block 1503, activate or deactivate one or more multimedia interfaces as optional, based on the determined orientation. At block 1504, drive one or more multimedia devices to get the best results, assuming the determined orientation after movement. You can also perform other operations.
Wireless and audio interfaces are used herein as examples, but the invention is not limited thereto. For example, other types of interfaces such as video interfaces, microphones, cameras, etc. can be applied.
According to certain embodiments of the present invention, some devices can only be used correctly when the machine is in one orientation or in a different orientation than is normally used. For example, when inserting media, it may be necessary to turn the device sideways or upside down for access. When ejecting media, it may be necessary to turn the device sideways or upside down to block the media or prevent the media from falling to the floor.
For example, according to one embodiment, the user initiates an eject of media (eg, a CD from a CD ROM device) from a media device or component by pressing a button or other control. The device prepares to eject the medium, unmount the disk, and so on. In the meantime, the control module or application software that controls the device uses an accelerometer attached to the device to detect that the portable device is not in the right position to eject the medium. As a result, the device waits for the unit to be placed in the correct position or orientation by periodically or constantly reading the acceleration data from the accelerometer. The application software associated with this device also notifies the user of the device that the device needs to be in place to complete the user's request (eg, pop up a message or audio). Alarm etc.). Once the device is in the correct orientation, perform the requested operation (for example, eject the medium).
Similarly, according to another embodiment, an accelerometer can be used to terminate the operation if the user does not reorient the unit. If the device is not repositioned to the correct position or position in a certain amount of time, the device cancels the requested operation or gives the user further instructions. According to another embodiment, the accelerometer is used to detect orientation or enable and / or disable an input device mounted on the side or bottom of the device. For example, the bottom of the device may be provided with an eject button that disables when the device is facing up. This will prevent the button from being activated by the user placing the device on a desk or lap.
FIG. 24 is a flow diagram illustrating an exemplary process of device activation or deactivation according to another embodiment of the invention. An exemplary process can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. Referring to FIG. 24, block 2401 receives a request to transition a component of a portable device from a first operating state to a second operating state (eg, ejecting a portable storage device). At block 2402, an accelerometer attached to the portable device is used to determine if the portable device is placed in a predetermined orientation suitable for the second operating condition.
When block 2403 determines that the portable device is placed in a predetermined orientation or position based on the acceleration information provided by the accelerometer, the components of the portable device are moved from the first operating state to the second operating state. Transition to state (eg CD Open the ROM tray). However, if the portable device is not in place or oriented, block 2404 rejects or defer the requested transition and puts the components of the portable device in the first operating state or other state (eg, try). Leave the state etc.). In the meantime, if the position or orientation of the portable device is monitored periodically or constantly using an accelerometer and it is detected that the position or orientation of the portable device is in the correct position or orientation, then it is requested. The operation can be resumed. The requested action can be censored if the portable device is not in the correct position or orientation within a given amount of time. Optionally, at block 2405, generate a notification to notify the user of the portable device to position the portable device to complete the requested operation. You can also perform other operations.
Other Accelerometer-Based Applications According to another embodiment of the invention, an accelerometer is used to detect and determine user activity using a portable device with an accelerometer inside. .. According to one embodiment, for example, an accelerometer attached to a portable device held by the user can detect that the user is shaking lightly while holding the portable device. In this example, the portable device can be a digital multimedia player (eg, an MP3 player). An accelerometer attached to the portable device can detect repetitive movements of the portable device caused by user activity.
In response to this detection, the repeat rate of movement of the portable device can be determined, for example, by an accelerometer-coupled controller and / or firmware similar to the configuration in FIG. After determining the iteration rate of the move, the application software (for example, Microsoft's Windows media player or RealNetwork's real player) adjusts the rhythm of the multimedia content currently being played by the portable device. It can be adjusted to be relative to the determined iteration rate of movement. As a result, for example, the tempo of the music currently being played by the MP3 player can be adjusted to be relatively consistent with the rate of light shaking of the user who has the MP3 player.
Furthermore, according to another embodiment, the application software can further select and play multimedia content that best suits the determined user activity (eg, light shake rate). In one embodiment, the user can configure a multimedia player through a user interface under certain circumstances and can select and play certain types of multimedia content. As a result, when the accelerometer and its associated controller and / or firmware detect that the user is performing a type of activity, the relevant type of multimedia content is selected and played accordingly. be able to.
FIG. 16 is a flow diagram illustrating an exemplary process of playing multimedia content based on an accelerometer according to an embodiment of the present invention. The exemplary process 1600 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. Referring to FIG. 16, block 1601 uses an accelerometer attached to the portable device to detect the movement of the portable device. The movement of portable devices is repeated at regular intervals. At block 1602, the repeat rate of movement of the portable device is determined based on the movement data provided by the accelerometer. At block 1603, as an option, digital multimedia content with a rhythm that is relatively consistent with the determined iteration rate is selected and played. At block 1604, the rhythm of the currently playing multimedia content is adjusted to be relative to the determined iteration rate of movement. You can also perform other operations.
According to another embodiment of the invention, to determine if the portable device is moving (eg, being carried by the user) and if the portable device must be in the correct operating state. An accelerometer is used. According to one embodiment, when the portable device is inactive and the portable device is moving (detected via an accelerometer attached to the portable device), the portable device , For example, sleep mode, to a relatively low power mode. For example, a laptop computer with a closed lid can be considered inactive. Since the lid of the laptop computer is closed, the user cannot actively operate the laptop computer. A laptop computer is considered inactive when its desktop is locked. Other situations can also be considered inactive, which can be user-configurable. As a result, the laptop computer can be put into low power mode. In addition, it is unsafe to write data to a permanent storage device (eg, a hard drive) once the laptop is determined to be on the move (via an accelerometer). Therefore, the read / write head of the permanent storage device is parked in a safe place without writing data to the permanent storage device.
According to one embodiment, the portable device is determined to be inactive and the portable device is not in motion based on the data provided by the accelerometer attached to the portable device. The device can be put into hibernation mode, where the contents of system memory can be swapped to a permanent storage device (eg, a hard drive). Since the portable device is not moving, it is relatively safe to write data to a permanent storage device.
FIG. 17 is a flow diagram illustrating an exemplary process of power management for a portable device according to an embodiment of the present invention. The exemplary process 1700 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. Referring to FIG. 17, at block 1701, it is determined whether the portable device is in the inactive state. For example, a portable device is considered inactive when the lid of the portable device is closed or its desktop is locked. At block 1702, an accelerometer attached to the portable device is used to detect if the portable device is moving (for example, if the portable device is being carried by the user). Block 1703 puts the portable device into a relatively low power mode without swapping the contents of system memory to the permanent storage device when the portable device is moving. Puts the portable device in hibernation mode by swapping the contents of system memory to a permanent storage device in block 1704 when the portable device is not moved. You can also perform other operations.
According to another embodiment of the invention, an accelerometer is used to detect if the portable device has been moved in a certain direction in order to determine if the password has been entered correctly. In one embodiment, when a user of a portable device is prompted to enter a password, the user must move the portable device in one or more directions as part of the password entry. An accelerometer attached to the portable device detects the movement and determines the direction of movement, for example by the associated controller and / or firmware. A password is considered to have been "entered" correctly if the directions of movement match relative to a given direction.
An alternative embodiment requires the user to enter the first part of the password on a portable device. The user is then required to move the portable device in a certain direction. The user is then prompted to enter the second part of the password (eg, the rest of the password). Therefore, the combination of the entered password and some movement of the portable device constitutes the complete password. Other configurations can exist.
FIG. 18 is a flow chart illustrating an exemplary process for processing a password according to an embodiment of the present invention. The exemplary process 1800 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. Seeing Figure 18, block 1801 requires the user to enter a password on a portable device. Block 1802 uses an accelerometer attached to the portable device to detect if the portable device has been moved. At block 1803, the direction of movement is determined based on the movement data supplied by the accelerometer. At block 1804, it is determined whether the portable device has been moved in a predetermined direction. At block 1805, issue a display indicating whether the password was correctly "entered" based on whether the direction of travel matches relative to a given direction. You can also perform other operations.
According to another embodiment of the invention, an accelerometer is used to detect and record the sequence of movement of the portable device, where the recorded movement data later (eg, for example) the movement history. Used to recreate (offline). In one embodiment, when the portable device is moved over a period of time, an accelerometer attached to the portable device detects and records the movement. The movement data recorded by the accelerometer is stored on the storage device (eg, hard drive) of the portable device during the movement. Alternatively, mobile data can be transmitted to remote equipment over a network (eg, a wireless network) while on the move. After the movement, traces of movement over that period can then be recreated using the movement data supplied by the accelerometer.
This is usually useful when the user wants to replot the traces of the roller coaster ride later. For example, a user has a portable device with an accelerometer inside and goes on a roller coaster ride. During the ride, the accelerometer detects the movement data and stores it in a storage device, or instead sends the movement data to a remote facility over the network. After the ride, the movement data can be used to recreate the roller coaster ride plot. The roller coaster ride has been used only as an example and the techniques described above can be applied to other situations. For example, a user with an accelerometer mounted on a portable device or mounted on a vehicle can drive the vehicle to these locations to perform a survey to map different locations. The map can then be created using the movement data collected by the accelerometer during operation.
FIG. 19 is a flow diagram illustrating an exemplary process of recreating traces of movement using an accelerometer according to an embodiment of the present invention. The exemplary process 1900 can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. Referring to FIG. 19, block 1901 uses an accelerometer attached to a portable device to detect the sequence of movement of the portable device. In the above example, the vehicle can be thought of as a portable device here. At block 1902, determine the direction of each sequential movement and the time between each movement. At block 1903, the information is stored in the storage device of the portable device. Instead, this information can be dynamically transmitted to remote equipment over a network (eg, a wireless network). The movement history can then be recreated in block 1904 using the stored movement data. You can also perform other operations.
Motion Compensation Using Accelerometers According to another embodiment of the invention, accelerometers can be used to detect movement of a portable device and motion compensation can be applied in response to the detection. it can. For example, an accelerometer attached to a portable device means that the user using the portable device (for example, reading an electronic document displayed on the display of the portable device) is in a bouncing vehicle. Is detected. In response to this detection, motion compensation can be performed on the displayed document so that the electronic document remains in the same position relative to the user's eyes.
In one embodiment, the position of the display platform as a function of time in the plane of the display can be calculated by appropriately integrating the signal received from the accelerometer. The image is then translated vertically and horizontally on the display as a function of time to keep the image position substantially fixed in space, independent of the movement of the display in the plane of the display. The movement (eg, sudden movement such as bouncing) can be represented via a relatively high frequency component of the movement data supplied by the accelerometer. Low frequency components of display movement, such as those caused by the vehicle's forward speed, should not be compensated to prevent the image from flowing off the screen as the vehicle climbs up or down a hill or turns a curve. be able to. Similarly, such techniques can be applied to electronic games played by portable devices while on a bouncing platform.
FIG. 22 is a flow diagram illustrating an exemplary process of motion compensation using an accelerometer according to an embodiment of the present invention. An exemplary process can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. In one embodiment, this exemplary process involves detecting the movement of an accelerometer using an accelerometer attached to the portable device and the movement data of the portable device based on the movement data provided by the accelerometer. Displayed on the portable device display to determine the direction of movement and to compensate for the movement of the portable device so that the adjusted displayed object stays in the same position relative to the user of the portable device. This includes, but is not limited to, adjusting the position of the objects to be made.
Referring to FIG. 22, block 2201 uses an accelerometer attached to the portable device to detect the movement of the portable device. In one embodiment, this movement is detected as a function of time from a location as part of the movement data supplied by the accelerometer. This movement data includes a relatively high frequency component representing a sudden movement and a relatively low frequency component representing a slow movement. At block 2202, relatively high frequency components of moving data are extracted in the plane of the display (eg, motion compensation that degrades human visual acuity with respect to reading displayed documents or observing still images). .. At block 2203, the position of the displayed document or image is shifted based on the extracted high frequency components to compensate for the high frequency movements (eg, sudden movements) of the portable device. As a result, the displayed document or image can be kept relatively stable in space to the user. You can also perform other operations.
Impact Detection and Applications Using Accelerometers According to another embodiment of the invention, accelerometers are used to detect impacts given by users of portable devices. In one embodiment, the technique can shock the user in the physical sense of providing controlled momentum movement as an input to a portable or fixed device for use by an application program. For example, these impacts initiate or offset the movement of objects on the display in proportion to the magnitude and direction of the impact. This facilitates games (eg, billiards and other ball games) and educational / engineering exploration (eg, structural response to tapping).
For example, the user can "toss" the cursor on the display of the portable device by tapping the side of the portable device. An accelerometer attached to the portable device detects such forces that cause the portable device to move. The direction and magnitude of the force is determined based on the movement data supplied by the accelerometer. If you give this feature to your application, you can tap the side of the device to move the cursor in a manner similar to tapping a small object and sliding it a certain distance along the surface. Similarly, such techniques can be used in a variety of other applications, such as video games (eg, golf, bowling, tennis, etc.).
FIG. 23 is a flow chart showing an exemplary process of impact detection according to an embodiment of the present invention. An exemplary process can be performed by processing logic that can include hardware (circuits, dedicated logic, etc.), software (running on a dedicated machine, etc.), or a combination of both. In one embodiment, this exemplary process uses an accelerometer attached to the portable device to detect movement of the portable device, in response to a force applied to the portable device, by an accelerometer. Calculating the magnitude and direction of the force based on the acceleration information supplied, moving the displayed object from the first position to the second position on the display of the portable device, with the first position The direction and distance between the second positions is determined based on the calculated magnitude and direction of the force, including, but not limited to, moving.
Referring to FIG. 23, at block 2301, the accelerometer attached to the portable device responds to a tap on the portable device (for example, the user taps the edge of the portable device by hand) in response to time. Detects 3-axis acceleration as a function of. At block 2302, a value proportional to the magnitude of the impact given to the device is calculated by performing a time integral of the components of the 3-axis acceleration. In one embodiment, this value is determined based on the integration of the absolute values of the resulting acceleration vector, which is determined, for example, by vector addition of the three components of acceleration (eg, acceleration information on the X, Y, Z axes).
At block 2303, determine the direction of impact given to the portable device as a result of tapping the portable device. In one embodiment, the orientation is calculated by the microcontroller and / or firmware coupled to the accelerometer based on the movement data supplied by the accelerometer. In response to the determined direction and magnitude of the impact, the application software moves the displayed object in a certain direction at a distance and direction that is relative to the determined direction and magnitude of the impact. The displayed object can be used as a cursor. Instead, the displayed object could be a billiard or pinball ball, a bowling game bowling ball, a tennis racket or paddle, a structure for observing deformation and / or dynamic movement, and the like. The above technique can also be applied to other similar types of applications that will be apparent to those of skill in the art.
An exemplary portable device with an accelerometer FIG. 20 is a block diagram showing an exemplary portable device with an accelerometer according to an embodiment of the present invention. For example, the exemplary system 2000 represents at least a portion (eg, a subsystem) of the exemplary system 100 of FIG. 1 or the exemplary system 2100 of FIG. Referring to FIG. 20, the exemplary system 2000 is a host chipset 2003, 1 coupled to one or more accelerometers 2001, one or more microcontrollers 2002, a video adapter 2004 or an audio device 2005. Includes one or more peripheral devices 2006.
In one embodiment, the accelerometer 2001 is a 3-axis accelerometer, capable of supplying X-axis, Y-axis, and Z-axis acceleration data. An accelerometer is an electromechanical micromachine encapsulated in a chip package. The accelerometer presents three analog outputs (eg, X-axis, Y-axis, Z-axis), the values of which are directly proportional to the accelerometers measured along the corresponding axes in 3D space. In one embodiment, the accelerometer 2001 can be the Kionix KGF01 accelerometer or the Analog Devices ADXL311 accelerometer.
The microcontroller 2002 is responsible for monitoring the analog output of the accelerometer 2001 and communicating with the host via the chipset 2003. In one embodiment, the microcontroller 2002 is coupled to the host chipset 2003 via the I2C bus 2007 and the interrupt signal line 2008. The microcontroller 2002 can also be integrated with the host chipset 2003. In one embodiment, the microcontroller 2002 can be a Microchip PCI 16F818 microcontroller.
According to one embodiment, when the accelerometer 2001 detects that the portable device is moving, the microcontroller 2002 receives the 3-axis accelerometer information from the accelerometer 2001 and sends it to the host via the interrupt signal line 2008. Notice. In response, the travel data can be read from the microcontroller 2002 via the I2C bus 2007. In one embodiment, the microcontroller 2002 determines the direction of movement based on the triaxial acceleration information received from the accelerometer 2001. In the alternative, the host chipset performs such an operation. In one embodiment, the magnitude of the resulting acceleration vector for all three axes is determined according to the following equation. Mag (Acceleration<sub>conjugate</sub>) = Sqrt (X<sub>accel</sub><sup>2</sup>+ Y<sub>accel</sub><sup>2</sup>+ Z<sub>accel</sub><sup>2</sup>)
One or more software components (eg, application software, firmware, operating system, etc.) that run within the exemplary system 2000 in response to a determined magnitude of the acceleration vector have an operation, eg, an operation. , Can be carried out as described above throughout the application. For example, the orientation of the displayed image can be adjusted via a video adapter, the sound effect can be adjusted via audio device 2005, and so on. In addition, one or more peripheral devices 2006, such as hard drives, can be configured accordingly. Other configurations can exist.
An exemplary data processing system FIG. 21 is a block diagram of a digital processing system that can be used with an embodiment of the present invention. For example, the system 2100 shown in FIG. 21 can be used as an exemplary system in FIGS. 1 and 20.
It should be noted that although Figure 21 shows the various components of a computer system, it is not intended to represent the particular architecture or shape that interconnects these components. This is because such details are not closely related to the present invention. It should also be appreciated that network computers, handheld computers, cell phones, multimedia players, and other data processing systems with fewer or perhaps more components can also be used with the present invention. The computer system in Figure 21 can be, for example, an Apple Macintosh computer or an IBM compatible PC.
As shown in FIG. 21, the computer system 2100, which is in the form of a data processing system, includes a bus 2102, which is the microprocessor 2103, ROM 2107, volatile RAM 2105, and non-volatile memory 2106. Is combined with. The microprocessor 2103 is, for example, a PowerPC G4 microprocessor or PowerPC from Motorola, Inc. or IBM. It can be a G5 microprocessor, but it is coupled to cache memory 2104, as shown in the examples in Figure 21. Bus 2102 interconnects these various components together, interconnecting these components 2103, 2107, 2105, and 2106 to the display controller and display device 2108 and the input / output (I / O) device 2110. .. The input / output device 2110 can be a mouse, keyboard, modem, network interface, printer, or other device well known in the art. Typically, the I / O device 2110 is coupled to the system via the I / O controller 2109. Volatile RAM 2105 is typically implemented as dynamic RAM (DRAM), which requires continuous power to refresh or maintain data in memory. Non-volatile memory 2106 is typically a magnetic hard drive, an optical magnetic drive, an optical drive, a DVD. RAM, or other type of memory system that retains data even after power is removed from the system. Non-volatile memory is usually also random access memory, but this is not required. Figure 21 shows that non-volatile memory is a local device that is directly coupled to the rest of the components in the data processing system, where the present invention includes modems or Ethernet® interfaces, etc. Please understand that remote non-volatile memory can be used from the system, such as network storage devices coupled to the data processing system through the network interface of. Bus 2102 can include one or more buses connected to each other via various bridges, controllers, and / or adapters, as is well known in the art. In one embodiment, the I / O controller 2109 has a USB (Universal Serial) that controls USB peripherals. Bus) Adapter is included. Alternatively, the I / O controller 2109 can include an IEEE-1394 adapter, also known as a FireWire adapter, that controls FireWire devices. Other components can be included.
As described above, the method and device for operating the portable device using the accelerometer have been described. In the above specification, the present invention has been described with reference to its particular exemplary embodiment. It is clear that various modifications can be made without departing from the broader purpose and scope of the invention set forth in the appended claims. Therefore, the specification and drawings must be construed in an exemplary sense rather than a restrictive sense.
100,2000 ... exemplary system, 101,2001 ... accelerometer, 102 ... controller, 103 ... motion firmware, 104 ... motion software, 105 ~ 107 ... application software, 500,551,700 ... Portable Devices, 507 ... Display, 1204-1207 ... Wireless Interfaces, 1405-1408 ... Speakers, 2002 ... Microcontrollers, 2003 ... Host Chipsets, 2004 ... Video adapters, 2005 ... audio devices, 2006 ... peripheral devices.
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP10254614A | Cites | Japan |
| JP2001038052A | Cites | Japan |
| JP2001057011A | Cites | Japan |
| JP2002215340A | Cites | Japan |
| JP2003295987A | Cites | Japan |
| JP200142978A | Cites | Japan |
75 members in 9 offices
Priority claims15
| Document | Office | Kind | Date |
|---|---|---|---|
| 10791495 | United States of America | – | |
| 79149504 | United States of America | A | |
| 79149504 | United States of America | A | |
| 10890856 | United States of America | – | |
| 89085604 | United States of America | A | |
| 89085604 | United States of America | A | |
| 10986730 | United States of America | – | |
| 98673004 | United States of America | A | |
| 98673004 | United States of America | A | |
| 2004791495 | – | – | – |
| 2004890856 | – | – | – |
| 2004986730 | – | – | – |
| US20040791495 | – | – | – |
| US20040890856 | – | – | – |
| US20040986730 | – | – | – |
Members75
| Document | Office | Kind | |
|---|---|---|---|
| WO0229812A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0229812A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US6520013B1 | United States of America | B1 | |
| US2003128475A1 | United States of America | A1 | |
| US6768066B2 | United States of America | B2 | |
| US2004252403A1 | United States of America | A1 | |
| US2005190059A1 | United States of America | A1 | |
| AU2005225977A1 | Australia | A1 | |
| CA2555445A1 | Canada | A1 | |
| WO2005093550A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2005235385A1 | United States of America | A1 | |
| US2006017692A1 | United States of America | A1 | |
| WO2005093550A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1721236A2 | European Patent Office (EPO) | A2 | |
| KR20070007329A | Republic of Korea | A | |
| CN1926496A | China | A | |
| US7218226B2 | United States of America | B2 | |
| US2007146133A1 | United States of America | A1 | |
| JP2007525775A | Japan | A | |
| US7307228B2 | United States of America | B2 | |
| US7351925B2 | United States of America | B2 | |
| US2008156622A1 | United States of America | A1 | |
| US7541551B2 | United States of America | B2 | |
| US7548161B2 | United States of America | B2 | |
| US2009224914A1 | United States of America | A1 | |
| AU2005225977B2 | Australia | B2 | |
| US7688306B2 | United States of America | B2 | |
| US2010097318A1 | United States of America | A1 | |
| AU2010202312A1 | Australia | A1 | |
| US2010188331A1 | United States of America | A1 | |
| US2010191356A1 | United States of America | A1 | |
| CN1926496B | China | B | |
| CN101893946A | China | A | |
| JP2011054177A | Japan | A | |
| KR20110069184A | Republic of Korea | A | |
| US7986233B2 | United States of America | B2 | |
| US2011227736A1 | United States of America | A1 | |
| AU2010202312B2 | Australia | B2 | |
| JP2012038337A | Japan | A | |
| AU2012201746A1 | Australia | A1 | |
| US8217792B2 | United States of America | B2 | |
| KR101178364B1 | Republic of Korea | B1 | |
| KR20120096080A | Republic of Korea | A | |
| KR101190323B1 | Republic of Korea | B1 | |
| US2012278907A1 | United States of America | A1 | |
| CN101893946B | China | B | |
| CN102902310A | China | A | |
| JP2013037719A | Japan | A | |
| KR20130036070A | Republic of Korea | A | |
| US8531296B2 | United States of America | B2 | |
| HK1180416A | Hong Kong, China | A | |
| HK1180416A1 | Hong Kong, China | A1 | |
| KR20130140200A | Republic of Korea | A | |
| US8698744B2 | United States of America | B2 | |
| JP5483373B2This record | Japan | B2 | |
| KR20140081891A | Republic of Korea | A | |
| KR101459979B1 | Republic of Korea | B1 | |
| KR101459985B1 | Republic of Korea | B1 | |
| JP5657963B2 | Japan | B2 | |
| KR101497195B1 | Republic of Korea | B1 | |
| US2015130719A1 | United States of America | A1 | |
| AU2015203265A1 | Australia | A1 | |
| CN102902310B | China | B | |
| KR101644004B1 | Republic of Korea | B1 | |
| KR20160093084A | Republic of Korea | A | |
| US2017010693A1 | United States of America | A1 | |
| US9575569B2 | United States of America | B2 | |
| AU2015203265B2 | Australia | B2 | |
| AU2017204627A1 | Australia | A1 | |
| KR101771225B1 | Republic of Korea | B1 | |
| KR20170098335A | Republic of Korea | A | |
| US9829999B2 | United States of America | B2 | |
| US9921666B2 | United States of America | B2 | |
| AU2017204627B2 | Australia | B2 | |
| KR101882639B1 | Republic of Korea | B1 |
14 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A821A521 | A521 | |
| Notification of resignation of power of attorneyJAPANESE INTERMEDIATE CODE: A7424RD04 | RD04 | |
| Notification of appointment of power of attorneyJAPANESE INTERMEDIATE CODE: A7423RD03 | RD03 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 |
Numbers
- Publication
- 5483373
- Publication, DOCDB
- 5483373
- Publication, EPODOC
- JP5483373B
- Application
- 229548
- Application, DOCDB
- 2011229548
- Application, EPODOC
- JP20110229548
Titles2
- Japanese
- 加速度計に基づいてポータブル・デバイスを操作する方法および装置
- English
- How and equipment to operate a portable device based on an accelerometer
Classification
- CPC, 1
- G06F3/01
- IPC, 4
- G06F3 048
- G06F3 038
- G06F3 0484
- G06F3 0488