METHOD AND DEVICE FOR BROWSING INFORMATION ON A DISPLAY
In one embodiment, a method for browsing information on a hand-held device having a display is provided. The method includes (1) setting the orientation of the display surface in relation to the virtual surface, said orientation being in a spatial initial state, so that a reference line perpendicular to and extending from a first reference point on the display surface hits the page containing information at a predefined point, (2) generating a mirror line by mirroring the reference line in relation to a line that is perpendicular to the display surface and travels via the reference point in response to tilting of the hand-held device in relation to the spatial initial state, (3) defining a hit point (xn,yn) where the mirror line hits the virtual surface and the page containing said information; and (4) showing on the display a portion of the page around the hit point
Latest MOTIONIP, LLC Patents:
This application is a continuation of pending U.S. patent application Ser. No. 11/159,786, filed Jun. 23, 2005, which is a continuation-in-part of abandoned U.S. patent application Ser. No. 10/071,172, filed Feb. 8, 2002, which claims the benefit of and priority to Finnish Patent Application Serial No. 2001/1039, filed May 16, 2001, the contents of all of which are incorporated by reference herein in their entirety.
BACKGROUNDThe present invention relates to display devices where information can be browsed. In particular, the present invention relates to a novel and improved method and system for browsing information with hand-held devices with a display device.
Various electronic mobile devices, e.g., mobile phones, computers, Personal Digital Assistants (PDA, comprise displays. The transfer of the information to be viewed on the display is executed at least partially by a processor. A device typically comprises also a keypad with which the user of the device enters various commands. There are also touch-sensitive displays (touch screens). There a separate keypad is not needed. A device is controlled by touching the touch screen.
The display of a mobile device is capable of showing only limited amount of information at a time. Because of the size of the display, e.g., a large image must be viewed part by part. In order to view such an image, the user of the device controls the display, e.g., by scrolling the display with a mouse, etc.
Devices equipped with a display have different kinds of user interfaces with which the user interacts with the device. There are graphical user interfaces and speech controlled user interfaces. A graphical user interface can be controlled with various control devices including, for example, keypad, touch screen, different kinds of cursor controlling methods, etc.
There are, however, drawbacks in the prior-art devices in the usability of the device, especially in the browsing of information with the device. When the information to be viewed on the display must be viewed by parts, it is difficult and slow to browse the whole information part by part. It is, for example, difficult to display a wide panorama picture on the display, while at the same time quickly and easily browsing the picture.
For the user of a mobile hand-held device it is difficult to perceive visual entireties that cannot be displayed at a time on the display. Therefore the browsing of the information should be carried out as naturally and logically as possible. A user of a mobile hand-held device must be able to learn and use the device easily and efficiently.
From prior-art solutions it is known to use location detectors for browsing information with a device. Reference publication WO 9918495 (Telefonaktiebolaget LM Ericsson) describes a method where the display device is moved essentially in the plane of the display device, whereby different parts of a complete screen image are shown on said display device. When the display device is moved essentially in a direction perpendicular to the plane of the display device, the magnification of the screen image changes. The movement in the plane is a bit problematic. In the plane movement the necessary movements may be quite remarkable/large, and it may be difficult to maintain the display device in a proper position for reading or browsing.
Another prior-art solution is to use tilt detectors for moving, or to be more specific, for scrolling the view on the display device. One solution of this kind is described in WO 9814863 (Philips). When the screen image is moved by scrolling (tilting the display device), the result is better than in moving the display device in the plane of the display device, as described above. However, to move the screen image fluently and to return from some point to the initial point of browsing is difficult because controlling a discontinuous motion requires continuous and precise handling of the display device. The controlling of the scrolling movement can be compared to a movement of a ball on a plane surface by tilting the plane. In order to stop the rolling of the ball, the plane surface must be perpendicular against the gravity of the earth. In other words, the control of the movements and usability are not at an acceptable level so that the use of such a device would be natural and logical.
There are also various kinds of motion and/or location controlled display devices used in, e.g., in virtual helmets. There the display device focuses like a virtual camera. The display device displays an object to which the device (camera) points in the modeled virtual environment. To use a virtual camera model in a hand-held device is not so straightforward because displaying peripheries of a large screen image results in a disadvantageous viewing angle. Therefore, the adjustment and zooming of a display image must be implemented in a most natural and logical manner. In prior-art solutions the browsing of information on the display device is slow and awkward because the solutions are based on artificial logic.
SUMMARYAn objective of the present invention is to adjust the view on a display device in a manner as natural as possible so that the user of the hand-held device can concentrate on the information displayed on the display device and not on the adjustment of the displayed information.
The objective is achieved by a method, hand-held device and computer program for browsing information on a display device of a hand-held device. In the present invention, the display device is coupled to a processor mapping the information content generated by the processor into the virtual data object suitable for conveying the information to the user of the hand-held device. The display device displays a portion of the virtual data object at a time on the display device. The virtual data object comprises e.g., characters, pictures, lines, links, video or pixels that can be conveniently displayed on the display device at a time.
The idea of the present invention is to browse information on the display device of a hand-held device naturally and logically. Characteristic of the invention is that information is browsed on the display device essentially in a mirror-like way. In other words, the portion of the virtual data object displayed on the display device is moved at the same direction as the hand-held device is tilted. In other words, the movements of the portion of the virtual data object displayed on the display device depend on the orientation of the hand-held device. An important feature of the invention is also that a certain orientation of the hand-held device always displays the same portion of the virtual data object on the display device. The browsing method described above is extremely logical, and the movements and responses to the movements are natural.
The core functions of the browsing can be explained by means of the following example. The information is browsed with the hand-held device essentially in the same way as looking at a view from a hand mirror. The hand mirror is typically held in hand quite close to the viewer. The hand mirror represents the display device and the view behind the viewer the virtual data object. When the hand mirror is tilted, the view behind the viewer moves in response to the changes in the orientation of the hand mirror.
When approaching the functionality of a hand mirror the browsing of information on a display device of a hand-held device is made natural and logical.
The present invention is most applicable with hand-held devices with a display when a large data object is displayed by parts on the display. With the present invention, a large data object can be browsed naturally and logically from the user's perspective. The position memory of the muscles of a human body makes it easier to return to previously browsed points and to the starting point.
The present invention also reduces the need to use exterior mechanical switches, keypad or other known control mechanisms for browsing information on the display device. Therefore the use of a hand-held device is easier and simpler. The basic functionalities of the present invention can be implemented with mass production components, and with moderate processing power. Thus, the features described in the present invention can be taken in use in consumer products without notable expense increase.
Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. It should be further understood that the drawings are not necessarily drawn to scale and that, unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein.
The above-mentioned features and objects of the present disclosure will become more apparent with reference to the following description taken in conjunction with the accompanying drawings wherein like reference numerals denote like elements and in which:
In
In one embodiment, the angle (α) is a predetermined angle, and it is determined by the manufacturer of the hand-held device 40. In the determination process it is defined that the display view plane is based on axis x_VD and y_VD, which are perpendicular to each other. The hand-held device is then set to a certain position (a), and that position is set as a default xy-plane. In
From that moment on, the hand-held device 40 is tilted in respective to this plane. When the default xy-plane is fixed, the user of the hand-held device is always capable of returning to a certain view by tilting the device back to the original orientation when the sensors measuring the orientation of the hand-held device do not cause any restrictions to the measured position. In another embodiment, the angle α can be readjusted to a desired value.
For simplicity in the following the viewpoint VP is defined to be at point [0 0 0]. Furthermore, the middle point of the virtual display VD is defined to be at P_xyz wherein P_xyz=[P_xyz1 P_xyz2 P_xyz3]T, and the virtual screen VS to be at plane x=kuva_shift.
The orientation of the virtual display VD is defined by tilting angles αx, αy, αz indicating rotation angle over each coordinate axe. In
It must be noted that
In order to the determine the orientation of the VD, two orthogonal vectors (in the x-plane) are defined as follows:
L=[0,1,−1]T
M=[0,1,1]T
Those vectors present the orthogonal direction vectors of the VD. Next, the orientation of the virtual display VD is defined using the rotation angles:
Next the unit normal vector of the VD is calculated:
where PN is the unit normal vector of the VD-plane. The PN defines the applicable orientation of the VD to be used in the projection calculation.
Next, the “image” on the virtual display VD is calculated. Let's assume that there is a vector beginning from the VP and being reflected via the VD. The point where the reflected vector hits on the plane VS defines the projection of the point on the VS to the point on the VD-plane. Hence, if all points on VD are processed as described above, the image on the VD can be defined.
The idea of calculation is presented using vectors in
1. The points P and VP define a vector A.
2. The projection proj of the vector A on the normal vector PN is calculated.
3. The sum of the vector A and proj*PN defines a point Q.
4. The points Q and VP define a vector B.
5. The point defined as sum of the VP and 2*B defines a point R.
6. The direction vector that goes via P and R defines a direction vector that hits the plane VS at point S.
7. The result of this process is that the image of point P in VD is the image of point S in VS.
By repeating phases 1-7 for all points in the VD-plane the whole image of the virtual display VD is defined. Using vector calculation the same can be presented as follows:
First the point P is defined:
P=P—xyz+RxRyRz[0peili—ypeili—z]T
where P_xyz is the coordinate of the middle point of the VD, peili_y is the y-coordinate on the VD plane-coordinate system and peili_z is the z-coordinate on the VD plane-coordinate system
Next, the projection on the normal vector is defined:
Hence the point Q can be defined:
Q=P−proj*PN
Further, the point R can be defined (the reason for the factor 2 is that in mirror the arriving and departing light beam have equal angles compared to the normal vector of the surface).
B=Q−VP
R=VP+2*B
And finally the direction vector C is defined as follows:
C=R−P.
Because the VS is located at plane x=kuva_shift, the vector C hits that plane at the point
S=k*C+P
where
where P1 is the x-component of the point P and C1 is the x-component of the vector C. Note that in this calculation the VP was defined to the origin to simplify the presentation of the algorithm. However, in practice the VP can locate freely in the coordinate space. It must be noted that the image on the virtual screen VS is horizontally inversed when the virtual screen VS is viewed from the viewpoint VP direction.
The system of
1. The view on the display device moves into the same direction as it is tilted.
In one embodiment, the movement of the portion of the virtual data object displayed on the display device is proportional to the change amount and/or rate of the rotational movement.
2. When the distance between the VP and VD increases, the same tilting angle causes greater movements on the virtual screen VS. In other words, the browsing speed of the information on the display device increases as the distance between the VP and VD increases. In one embodiment, this movement factor can be adjusted by the user of the hand-held device.
3. When rotating the display device, the view on the display device remains unchanged in relative to the user.
4. The view on the display device depends on the position and orientation of the VS, VP and VD.
5. A certain VS-VP-VD position/orientation combination always constitutes the same view on the display device.
6. When the position of the VD alters, the viewing angle between the VP and VD changes.
7. Zooming can be implemented by changing the position of the VS, VP and VD.
8. Zooming can be implemented by enlarging the object on the VS or altering the radius of curvature of the mirror (VD).
9. If the figure on the VS is in the right way when viewed from the VP, the view on the VD is mirrored (horizontally inversed).
The present invention does not have to implement all the aforementioned features, but the most appropriate ones can be chosen. The ideal mirror-like functionality means that the information on the display device changes when:
a) the location or orientation of the hand-held device in proportion to the coordinates bound to the physical environment changes,
b) the location of the user (VP) in proportion to the coordinates bound to the hand-held device changes,
c) the virtual location of the data (virtual screen) displayed on the display device in proportion to the coordinates bound to the physical environment changes.
In order to simulate the operation of a mirror to the user, the information on the display device is changed at least either according to a) or b). If only a) or b) is taken into consideration, the operation of the display is not so mirror-like as if both a) and b) were implemented. In one embodiment, the display device operates according to all a), b) and c).
In
In
Initially (i.e. when the virtual surface 200 and the display surface 201 are parallel with respect to each other as shown in
The display adapter 90 with the processor 30 controls the display device 10. In order to not to use the data memory 60 for storing display-related information, the display adapter 90 comprises a data buffer in which the information to be displayed on the display device 10 is stored.
The hand-held device 40 comprises measuring means which in a preferred embodiment of the invention refer to acceleration sensor(s) 50. With the acceleration sensor(s) 50 it is possible to measure tilting movements of the hand-held device 40. The processor 30 receives the measurement results and interprets them. The acceleration sensor(s) 50 can be e.g., piezo-electric or capacitive producing an analog voltage which is proportional to the acceleration factor.
With the acceleration sensor(s) 50 it is possible to measure one, two or three-dimensional accelerations. The measurement of tilting movements is based on the fact that the highest acceleration is parallel to the gravity of the earth. Therefore, the orientation of the hand-held device 40 can be defined in relation to the earth. It is also possible to use gyroscopes with its various forms to measure the orientation of the hand-held device 40. The quantities measured are e.g., tilting angle and accelerations.
The relation information between the rotation degree of the hand-held device and the memory address corresponding to the displayed view is stored e.g., on the data memory 60. The processor 30 defines the orientation of the hand-held device 40 in relation to the user or a reference position. The processor 30 may also define the distance between the user and the hand-held device 40 or the user orientation in relation to the hand-held device 40.
The most important point is not the way of how the aforementioned definitions are made but the fact that the orientation of the hand-held device 40 affects the information displayed on the display device 10. The memory space can be implemented logically, e.g., as a two-dimensional memory space. When browsing starts, the processor 30 starts the definition process of the new memory address from the current memory address so that displacement in the memory space corresponds to the direction and amount of change in orientation according to the relation information.
The hand-held device 40 comprises also a browse lock 80 with which it is signaled when the browsing is executed. The orientation of the hand-held device 40 must remain in the same position in order to keep the view on the display device unchanged. In a preferred embodiment, the hand-held device 40 comprises a lock feature, e.g., a push-button, with which the browsing can be locked. The user can tilt the hand-held device back to an appropriate viewing orientation in order to view the information on the display device 10 properly. The browsing may then continue when the button is released.
The hand-held device 40 in
By analyzing the video image it is possible to define the orientation of the hand-held device 40 in proportion to the reference point and the distance of the hand-held device 40 to the reference point tens of times within a second. The browsing functionality can be implemented merely using the video camera, so that additional acceleration sensor(s) are not necessarily needed. The measuring of the distance can also be implemented with an ultrasonic radar connected through an analog-digital converter to the processor 30 of the hand-held device 40. In one embodiment, from the user's perspective the information on the display device 10 is essentially browsed in the same manner as when looking in a mirror. In other words, the view on the display 10 depends on the viewing angle in relation to the display device plane as the view in a mirror depends on the viewing angle to the mirror.
In one embodiment of
In a preferred embodiment of
In one embodiment of
The zoom factor can be modified with several different ways. In one embodiment, the zoom factor depends on the distance between the reference point (e.g., the eyes of the user) and the hand-held device. When the distance decreases,
In another embodiment, the zoom factor changes when rotating the hand-held device around the axis being essentially perpendicular to a predefined xy-plane. The xy-plane may be the present plane of the display device 10 or some other predetermined plane. Yet in another embodiment, the zoom factor is changed by tilting the hand-held device. Before this the display device must be set into a zoom mode. When the hand-held device is tilted, e.g., to the right the zoom factor increases, and when the hand-held device is tilted to the left, the zoom factor decreases. It is not important which predefined tilting directions are used but that the two directions can be separated sufficiently from each other. The aforementioned zoom mode is set on and off e.g., with a predetermined button of the hand-held device.
In another embodiment, the information on the display device 10 remains in the same position with respect to the hand-held device 40 when the hand-held device 40 is rotated around the axis being perpendicular to the display surface plane, as depicted in
The hand-held device is switched on, and it is ready for browsing information on the display device, as represented in phase 100. When the hand-held device is functional, the acceleration sensor 50 measures constantly acceleration readings. The processor 30 receives the acceleration readings and defines the orientation of the hand-held device and also the change in the orientation compared to the prior measurement(s), as represented in phases 101 and 102. In phase 103, it is tested whether the browsing is on or off. If the browsing is off, the processor 30 examines if a predetermined browsing startup condition is fulfilled (phase 104). If it is not fulfilled, the method returns back to phase 101. It means that the orientation of the hand-held device has not changed sufficiently, which would indicate that the user wishes to browse information on the display device of the hand-held device.
If the predetermined browsing startup condition is fulfilled, the processor 30 sets the browsing as started (phase 106) and determines the browsing speed based on the current acceleration value (phase 108). The processor 30 also changes the information presented on the display device according to a relation between the rotation degree and the amount of the displacement of the portion on the virtual data object stored on the data memory 60 and the determined browsing speed (phase 108). A certain orientation of the hand-held device always causes the same view (the same portion on the virtual data object stored on the memory) on the display device. If it is observed in phase 103 that the browsing is already on, and the browsing stopping condition is fulfilled (phase 105), the processor 30 stops the browsing and sets the browsing as stopped (phases 107 and 109). If it is observed that the browsing stopping condition is not fulfilled (phase 105), the processor 30 returns to phase 101.
While the apparatus and method have been described in terms of what are presently considered to be the most practical and preferred embodiments, it is to be understood that the disclosure need not be limited to the disclosed embodiments. It is intended to cover various modifications and similar arrangements included within the spirit and scope of the claims, the scope of which should be accorded the broadest interpretation so as to encompass all such modifications and similar structures. The present disclosure includes any and all embodiments of the following claims.
Claims
1. A method for browsing information on a hand-held device having a display, the method comprising:
- setting the orientation of the display surface in relation to the virtual surface, said orientation being in a spatial initial state, so that a reference line perpendicular to and extending from a first reference point on the display surface hits the page containing information at a predefined point,
- generating a mirror line by mirroring the reference line in relation to a line that is perpendicular to the display surface and travels via the reference point, in response to tilting of the hand-held device in relation to the spatial initial state,
- defining a hit point (xn,yn) where the mirror line hits the virtual surface and the page containing said information; and
- showing on the display at least a portion of the page around the hit point and having a shape similar to the shape of the display, the position of the hit point on the page is to correspond to the position of the reference point on the display.
2. The method according to claim 1, wherein the spatial initial state is set at a certain predefined angle in relation to the earth surface.
3. The method according to claim 2, wherein the predefined angle is between 20-30 degrees.
4. The method according to claim 1, further comprising:
- filtering out unintentional movements from a coordinate axial and/or tilting movement before showing the portion of the page on the display.
5. The method according to claim 1, further comprising:
- keeping the orientation of the information displayed unchanged when rotating the hand-held device around an axis, said axis being essentially perpendicular to the display surface.
6. The method according to claim 1, wherein the portion of the page displayed is locked/unlocked in response to the pressing/releasing of a push button.
7. The method according to claim 1, further comprising:
- setting the hand-held device to a zoom mode; and
- zooming in or out the displayed information when rotating the hand-held device around an axis, said axis being essentially perpendicular to the display surface.
8. The method according to claim 1, further comprising:
- setting the hand-held device into a zoom mode; and zooming in or out the displayed information based on the tilting of the hand-held device.
9. The method according to claim 1, further comprising:
- determining with a camera a distance between the display surface and a second reference point related to a user; and
- zooming in or out the displayed information based on the distance.
10. The method according to claim 1, further comprising:
- measuring with a video camera the orientation and location of the hand-held device in relation to a user of the hand-held device;
- seeking a certain point related to the user on the video image to be set as a second reference point; and
- changing the size of the information according to the movements of the reference point in relation to the hand-held device.
11. The method according to claim 10, wherein said step of seeking includes using at least one of a heuristic algorithm and neural network to seek and define the location of the point to be used as the second reference point.
12. A hand-held device for browsing information, the handheld device comprising and being adapted to:
- show on the display a portion of the page residing around the predefined point and having a shape similar to the shape of the display,
- generate a mirror line by mirroring the reference line in relation to a line that is perpendicular to the display surface and travels via the reference point in response to tilting of the hand-held device in relation to the spatial initial state,
- define a hit point (xn,yn) where the mirror line hits the virtual surface and the page containing information, and
- show on the display at least a portion of the page around the hit point, said portion to have a shape similar to the shape of the display, the position of the hit point on the page to correspond to the position of the reference point on the display.
13. The hand-held device according to claim 12, wherein the hand-held device is further adapted to set the initial state at a certain predefined angle in relation to the earth surface.
14. The hand-held device according to claim 12, wherein the predefined angle is between 20-30 degrees.
15. The hand-held device according to claim 12, wherein the hand-held device is further adapted to:
- browse the information on the display at the speed which depends on the location and orientation of the display surface with reference to the virtual surface.
16. The hand-held device according to claim 12, wherein the hand-held device is further adapted to:
- filter out unintentional movements from a coordinate axial and/or tilting movements before showing the portion of the page on the display.
17. The hand-held device according to claim 12, wherein the hand-held device is further adapted to:
- keep the orientation of the information displayed unchanged when rotating the hand-held device around an axis being essentially perpendicular to the display surface.
18. The hand-held device according to claim 12, wherein the hand-held device is further adapted to:
- lock/unlock the portion of the page displayed in response to the pressing of a button.
19. The hand-held device according to claim 12, wherein the hand-held device is further adapted to:
- set the hand-held device into a zoom mode and zoom in or out the displayed information when rotating the hand-held device around the axis, an axis being essentially perpendicular to the display surface.
20. The hand-held device according to claim 12, wherein the hand-held device is further adapted to:
- set the hand-held device to a zoom mode; and zoom in or out the displayed information based on the tilting of the hand-held device.
21. The hand-held device according to claim 12, wherein the hand-held device is further adapted to:
- determine with a camera a distance between the display surface and a second reference point related to a user; and
- zoom in or out the displayed information based on the distance.
22. The hand-held device according to claim 12, wherein the hand-held device is further adapted to:
- measure the orientation and location of the hand-held device in relation to a user of the hand-held device with a video camera,
- seek a certain point related to the user on a video image to be set as a second reference point; and
- change the size of the information according to the movements of the second reference point in relation to the hand-held device.
23. The hand-held device according to claim 22, wherein the hand-held device is further adapted to:
- use heuristic algorithms and/or a neural network to seek and define the location of the point to be used as the second reference point.
24. A computer program embodied on a computer-readable medium, wherein the computer program executes the program recorded in a computer-readable medium to perform a method for browsing information on a display of a hand-held device, the computer program:
- displaying a portion of the page residing around the predefined point and having a shape similar to the shape of the display,
- generating a mirror line by mirroring the reference line in relation to a line that is perpendicular to the display surface and travels via the reference point in response to tilting of the hand-held device in relation to the spatial initial state,
- defining a hit point (xn,yn) where the mirror line hits the virtual surface and the page containing information; and
- showing on the display at least a portion of the page around the hit point and having a shape similar to the shape of the display, the position of the hit point on the page to correspond to the position of the reference point on the display.
25. A computer program according to claim 24, wherein the computer program sets the initial state in a certain predefined angle in relation to the earth surface.
Type: Application
Filed: Sep 29, 2009
Publication Date: Jan 28, 2010
Applicant: MOTIONIP, LLC (Morrisville, NC)
Inventors: Johannes VAANANEN (Oulu), Manne HANNULA (Kempele)
Application Number: 12/569,797
International Classification: G09G 5/00 (20060101); G06F 3/03 (20060101); G06F 3/14 (20060101);