a is an illustration of a moveable computer device, according to one embodiment of the invention.
b is an illustration of display object movement with respect to computer device movement, according to one embodiment of the invention.
a is an illustration of a moveable computer device, according to one embodiment of the invention.
b is an illustration of a multi-screen display system, according to one embodiment of the invention.
The systems and methods of the invention relate to providing a computer device, having a display unit, with an accelerometer (or other motion sensor) to detect movement of the computer device (and/or an associated display unit) and generated movement data based on the detected movement. The movement data may be processed and/or interpreted in order to created one or more control signals. The control signals control movement of selected display objects on a screen display (or between multiple screen displays) associated with the computer device.
The system of the invention may include among other things, a computer device 10, accelerometer 12, accelerometer driver 14, device CPU 16, main memory 18, ROM 20, communication link 22, display drivers (24a, 24b,) I/O devices 26 including display unit(s) (28, 30) and/or other input/output devices 32. These components and corresponding software and/or hardware modules collectively may be used to perform a method with respect to detecting movement of a computer device 10 (and/or associated display unit); generated movement data, processing the movement data to create control signals; and effecting movement of one or more selected display objects on a screen display based on the control signals.
The accelerometer 12 may include hardware and/or software implemented within or on the computer device 10 to detect movement of the computer device 10 and/or the computer device's display unit (e.g., based on user's manipulation of the computer device 10). Other motion sensors may be used including gyroscopes and/or piezoelectric sensors, among other sensors. The accelerometer 12 detects tilt, rotation, position, and/or acceleration (among other movements) of the device. Movement data may be generated based on the detected movements. The movement data may include movement information including, but not limited to, values for acceleration, magnitude of tilt/rotation, and/or information regarding x-y-z direction data (and/or other coordinate systems). The accelerometer driver 14 may be programmed to receive movement data from the accelerometer 12. The accelerometer driver 14 processes and/or interprets the movement data in order to create one or more control signals. The control signals may be used in a variety of ways by the display driver (24a, 24b) to mimic an input device (e.g., mouse, keyboard keys, etc.) to control a display unit (28 and/or 30). Other control functions can be used as well.
The accelerometer 12 can detect movement(s) of the computer device 10 including movements associated with the computer device's display unit. In one example, when the computer device 10 and the display unit are connected together (e.g., laptop, handheld device, etc.), movement of the computer device 10 is the essentially the same as movement of the display unit. In another example, the computer device 10 may be physically separate from the display unit and therefore movement of one may be done independent of the other. In either example, movement is detected based on where the accelerometer 12 is implemented.
Movement data may be received at the accelerometer driver 14. The accelerometer driver 14 may substantially continuously process and/or interpret the received movement data to produce substantially continuous control signals. The control signals can provide an input mechanism to various applications and can control movement of selected display objects through one or more display drivers (24a, 24b). The accelerometer driver 14 may substantially continuously communicate the control signals to the device CPU 16. The control signal can be used to effect movement on the screen display via the display driver(s) (24a, 24b).
The CPU 16 is the device's principle processing component and may be linked to, among other things, accelerometer 12, accelerometer driver 14, a main memory 18 (RAM), permanent storage 20 (ROM), communication link 22, display driver(s) 24a, 24b and input/output devices 26 including display units (28, 30) and other I/O devices 32 (e.g., mouse, keyboard, etc.). The CPU 16 can manipulate data from the main memory 18 in order to execute programs stored in permanent storage 20 (ROM). The amount of main memory 18 that the device has can determine how many programs can be executed at one time and how much data can be readily available to a program.
The computer device 10 may be network enabled via a wireless data networking protocol or other networking protocol implemented by the communication link 22. A WLAN (Wireless LAN) is the most common means of wireless networking. It should be understood that a network may also include any one or more of, for instance, an intranet, a PAN (Personal Area Network), a LAN (Local Area Network), a WAN (Wide Area Network), a SAN (Storage Area Network), a MAN (Metropolitan Area Network), or other network.
The CPU 16 may be linked to one or more display drivers (24a, 24b). One display driver may communicate with one or more display units.
As shown in
The screen display 102 may also include a toolbar 108. A toolbar, may be displayed on any part of the screen display and/or hidden from view on the screen display 102 until needed. The toolbar 108 may include a series of selectable graphical buttons, icons, and/or other objects. A user may select display objects (e.g., a desktop object, an application, web browser functions and/or other objects) using the tool bar. The toolbar 108 can be used to, among other things, iconize an application, minimize a running application window, maximize an application window, open an application, and/or close an application window. Other actions may be included.
The accelerometer 12 in combination with the accelerometer driver 14 can provide control signals that may be used to control movement of user selected display objects 104 and/or content 106 on the screen display 102. The control signals may be used in various ways, including to move a selected display object 104 within a single screen display 102; to move content within a display object 104; and/or to move a selected display object from one display unit associated with the computer device 10 to another display unit associated with the computer device 10, among others.
A user may select one or more display objects 104 on a screen display 102. The selected display objects 104 may be associated with control signals representing movement(s) of the computer device 10 and/or the associated display unit 100. Display object 104 may be selected by touch screen, mouse cursor, light pen, keyboard, and/or other selection mechanisms (other I/O 32). In one embodiment, an application and/or its associated display object 104 may be configured to be automatically associated with control signals received from the display driver (24a, 24b) when such application is launched. Once a display object 104 is selected and/or associated with detected movements, the display object 104 can be moved, positioned and/or manipulated on the screen display 102 by the detected device movements and their corresponding control signals.
a illustrates a computer device 200. The arrow represents the computer device's direction of tilt as controlled by a user.
The selected display object 302 may be moved on the screen relative to the other display object(s) on the screen display (non-selected display object 306).
For example, the selected display object 302 may “float” over another non-selected display object 306 in the same direction of the computer device tilt. In another example, the selected display object 302 may rotate without rotating the entire screen display 102. This allows one or more selected display objects 302 to move independently of non-selected display objects 306 and/or the screen display 102 as a whole. However, if desired, more than one object or an entire screen display can be moved in accordance to the one or more control signals.
The range of movement of the display object 306 can be contained within the boundaries of the display unit's screen display 102 or within multiple screen displays (described in detail below). The control signal may control the on screen speed and direction of the selected display object's 302 movements to correspond to the magnitude of tilt/rotation, duration of tilt, and/or other movement data generated by the accelerometer 12. Alternatively or in addition, the on screen movement speed may be kept at a constant speed. The control signals may also be used in a multi-screen display wherein a selected object 302 may be moved to the edge and/or transitioned to an adjacent screen display after a predetermined duration of tilt (and/or other movement).
The accelerometer 12 may also control selected content 404 within a display object 402.
In another example, the content may be a picture displayed in portrait mode. The device may be rotated in a clockwise direction to effect the rotation of the picture by 90 degrees to the right. Other content, such as selected text images and/or video may also be rotated or moved relative to one or more display objects 402 (e.g. applications, windows, desktops, etc.).
In connection with multiple screen displays, one or more control signals based on movement data can be used as input to move a selected display object 502 (or content) within a screen display or from one screen display to another.
An accelerometer 12 on the single computer device (having a multi-desktop or more than one display unit) detects movement of the computer device and/or display unit. Movement data generated from the detected movement(s) creates one or more control signals that effect movement of one or more selected display objects 502. In a multi-screen environment, selected display object(s) may move within a single screen display or move from a first screen display of a first display unit to a second screen display (on a second display unit or on another desktop screen display on the first display unit). Multiple display units (more than two) may be arranged for a computer device. Control signals may control movement of selected display objects between adjacent screen displays (screens that share a perimeter on the right, left, top and/or bottom) or any other displays.
Movement of the selected display object 302 from one screen display (represented on display unit1) to another screen display (represented on display unit2) may be based on various factors. Movement data, including, but not limited to, the duration of tilt (or other movement), number of repeated movements, and/or magnitude of movement may be used to determine whether a control signal should transition a selected display object 502 from the originating screen display to another screen display. In order to move the selected display object 502 on to another screen display, the movement data may reach and/or exceed a predetermined threshold in order for the control signal to instruct a transition to take effect. The threshold may be a duration in seconds (or other time unit), a number of repeated movements, a predetermined angle of displacement, a speed of movement, and or other thresholds. The predetermined threshold may be preconfigured and later reconfigured for the computer device. Once a threshold is reached and/or exceeded, the selected display object may transition to the adjacent screen in the direction of the detected movement.
The computer device may be a portable computer, PDA (personal digital assistant), web-enabled mobile phone, WAP device, web-to-voice device, handheld computer, cell phone, PDA, laptop, digital music player, or other computing device.
The foregoing presentation of the described embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments are possible, and the generic principles presented herein may be applied to other embodiments as well. For example, the invention may be implemented in part or in whole as a hard-wired circuit, as a circuit configuration fabricated into an application-specific integrated circuit, as a firmware program loaded into non-volatile storage or a software program loaded from or into a data storage medium as machine-readable code, such code being instructions executable by an array of logic elements such as a microprocessor or other digital signal processing unit, or may include other implementations.
Embodiments of the invention include a computer program containing one or more sequences of machine-readable instructions describing a method as disclosed above, or a data storage medium (e.g. semiconductor memory, magnetic or optical disk) having such a computer program stored therein. The invention is not intended to be limited to the embodiments provided above, but rather is to be accorded the widest scope consistent with the principles and novel features disclosed in any fashion herein.
This application claims the benefit of U.S. Provisional Application No. 60/823,219, filed Aug. 22, 2006, which is herein incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60823219 | Aug 2006 | US |