U.S. patent application number 15/060697 was filed with the patent office on 2016-06-30 for method of real-time incremental zooming.
The applicant listed for this patent is HILLCREST LABORATORIES, INC.. Invention is credited to Frank A. HUNLETH, Daniel S. SIMPKINS.
Application Number | 20160188157 15/060697 |
Document ID | / |
Family ID | 34910824 |
Filed Date | 2016-06-30 |
United States Patent
Application |
20160188157 |
Kind Code |
A1 |
HUNLETH; Frank A. ; et
al. |
June 30, 2016 |
METHOD OF REAL-TIME INCREMENTAL ZOOMING
Abstract
A method for navigating a pointer on a graphical user interface
(GUI) includes the steps of: scrolling an input device to locate
the pointer corresponding to the input device on a point of
interest within the GUI, depressing an actuating button associated
with the input device on the point of interest, obtaining a
detailed view of the point of interest while centering the point of
interest on the GUI and maintaining a position of the pointer on
the point of interest.
Inventors: |
HUNLETH; Frank A.;
(Rockville, MD) ; SIMPKINS; Daniel S.; (Bethesda,
MD) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
HILLCREST LABORATORIES, INC. |
Rockville |
MD |
US |
|
|
Family ID: |
34910824 |
Appl. No.: |
15/060697 |
Filed: |
March 4, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14173116 |
Feb 5, 2014 |
9304651 |
|
|
15060697 |
|
|
|
|
11893512 |
Aug 16, 2007 |
|
|
|
14173116 |
|
|
|
|
11064310 |
Feb 23, 2005 |
7260789 |
|
|
11893512 |
|
|
|
|
60546859 |
Feb 23, 2004 |
|
|
|
Current U.S.
Class: |
715/856 |
Current CPC
Class: |
G06F 2203/04806
20130101; G06F 3/04842 20130101; G06F 3/04812 20130101; G06F 3/0485
20130101; G06F 3/0481 20130101 |
International
Class: |
G06F 3/0481 20060101
G06F003/0481; G06F 3/0484 20060101 G06F003/0484; G06F 3/0485
20060101 G06F003/0485 |
Claims
1. A computer readable medium containing executable instructions
which, when executed in a processing system, cause the system to
perform a method comprising: moving a cursor from a first display
point on a user interface to a second display point on said user
interface; receiving a selection input associated with said second
display point; providing a detailed view of the second display
point and centering the user interface around the second display
point; and maintaining a position of the cursor on the second
display point.
2. The computer readable medium of claim 1, wherein the detailed
view of the point of interest is obtained while zooming in on the
second display point and simultaneously panning over the user
interface.
3. The computer readable medium of claim 1, wherein the detailed
view is obtained in a series of intermediate zooming levels.
4. The computer readable medium of claim 3, wherein the cursor
position is maintained over the second display point at each
zooming level.
5. The computer readable medium of claim 3, wherein the number of
zooming levels is at least two.
6. The computer readable medium of claim 1, further comprising:
computing a linear distance between the center of the user
interface and the second display point; drawing a virtual line
representing the linear distance; and animating a movement of the
cursor along the virtual line in a series of intermediate zooming
levels.
7. The computer readable medium of claim 1, wherein the user
interface corresponds to a location information program.
8. The computer readable medium of claim 1, wherein the user
interface corresponds to a menu selection in a pay per view
environment.
9. The method of claim 1, further comprising storing information
for each intermediate zooming level as a history.
10. A method for handling a cursor on a user interface, comprising
the steps of: moving a cursor from a first display point on a user
interface to a second display point on said user interface;
receiving a selection input associated with said second display
point; providing a detailed view of the second display point and
centering the user interface around the second display point; and
maintaining a position of the cursor on the second display
point.
11. The method of claim 10, wherein the detailed view of the point
of interest is obtained while zooming in on the second display
point and simultaneously panning over the user interface.
12. The method of claim 10, wherein the detailed view is obtained
in a series of intermediate zooming levels.
13. The method of claim 12, wherein the cursor position is
maintained over the second display point at each zooming level.
14. The method of claim 12, wherein the number of zooming levels is
at least two.
15. The method of claim 10, further comprising: computing a linear
distance between the center of the user interface and the second
display point; drawing a virtual line representing the linear
distance; and animating a movement of the cursor along the virtual
line in a series of intermediate zooming levels.
16. The method of claim 10, wherein the user interface corresponds
to a location information program.
17. The method of claim 10, wherein the user interface corresponds
to a menu selection in a pay per view environment.
18. The method of claim 12, further comprising storing information
for each intermediate zooming level as a history.
Description
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 14/173,116, filed Feb. 5, 2014, which claims
priority from U.S. patent application Ser. No. 11/893,512, filed
Aug. 16, 2007; which claims priority from U.S. patent application
Ser. No. 11/064,310, filed Feb. 23, 2005, now U.S. Pat. No.
7,260,789 B2, which issued on Aug. 21, 2007; which claims priority
from U.S. Provisional Patent Application No. 60/546,859, filed on
Feb. 23, 2004, and entitled "A Method of Real-time Incremental
Zooming using Pointing". This application is also related to U.S.
patent application Ser. No. 10/768,432. The subject matter of each
of these applications is incorporated in its entirety herein by
reference.
BACKGROUND
[0002] The present invention is directed to user interfaces and
more particularly, to a method of navigation and interaction with a
user interface. Such interaction and navigation involve operating
an input device such as a mouse, a trackball or a three-dimensional
(hereinafter "3D") pointing remote device. The operation of the
input device includes at least one of point, click, scroll,
etc.
[0003] User interfaces, such as graphical user interfaces (GUIs)
are well known. Virtually all computers include (or, enable) a
graphical user interface in order to make the interaction with the
computer more "user friendly". This is accomplished by reducing, if
not eliminating, the number of keystrokes a user is required to
enter in order to perform a function such as launching an
application residing on the computer. An increasing number of other
electronic devices, from cell phones to user controls on
appliances, rely on various graphical user interfaces that
facilitate a user interaction with the particular device.
[0004] Traditional methods of using a GUI (on a computer for
example) include the use of an input device such as a mouse or a
track ball. A movement of the mouse or the track ball results in a
corresponding pointer moving on the graphical user interface. The
pointer can thus be navigated to an object (represented by an icon)
on the GUI that corresponds to an executable task such as launching
a software application for example. Once the pointer is navigated
to an icon, the corresponding task can be executed by clicking
(depressing) on an actuating button that is integrated within the
input device. For example, if the icon on the GUI corresponds to a
word processing application, clicking on the icon results in
launching the word processing application. The pointer can also be
used to rapidly scroll through pages of text within a word
processing document for example.
[0005] The input device can be used to perform various tasks
depending on the application being executed on the computer. In a
map software program (generically referred to as location
information program) for example, maps of a geographic area can be
displayed. While displaying a map, the actuating button of the
pointer can be depressed on a particular area of the map to zoom in
on the selected area to provide additional detail while displaying
a smaller overall geographic area. The actuating button therefore
can be used to zoom in on an area of interest.
[0006] Referring to FIG. 1, a map of the United States 114 is
illustrated. Center point 108 represents the center of bounding box
102 (which could also represent the user interface) that includes
map 114. User interface 102 can represent a window corresponding to
the map software program similar to a window that represents a work
area of a document in a word processing program for example. The
user can then request a more detailed view of a point of interest
105 on the map (such as New York City) by moving the pointer 104 to
point of interest 105 and depressing the actuating button. The
points of interest displayed on a graphical user interface may be
thought of as objects.
[0007] The zooming in on the point of interest (i.e. New York in
this example) results in map 314 of FIG. 3A being included within
user interface 102. As illustrated, New York (point of interest
105) is now displayed in the center of user interface 102. Center
point 108, still representing center of the user interface 102 (but
no longer representing center of map 114), now coincides with point
of interest 105. The point of interest 105 and center point 108
represent the same location on map 314.
[0008] Pointer 104, previously pointing to the point of interest
105 (in FIG. 1), however remains at the same physical location
within the user interface 102 but no longer points to the point of
interest 105 (in FIG. 3A). That is, the relative distance of
pointer 104 with respect to the side and top of user interface 102
in FIG. 3A is identical to the relative distance of pointer 104
with respect to the side and top of user interface 102 in FIG.
1.
[0009] If a user now wishes to zoom in further on New York, the
user has to move the mouse until pointer 104 points to the point of
interest 105 (or, center point 108) prior to depressing the
actuating button. The pointer location does not coincide with or,
is not synchronized to, the point of interest when zooming occurs
according to current implementations. If a user wishes to zoom in a
few times (to a number of zooming levels), a cumulative delay
factor is introduced into the process as the pointer has to be
located and moved to the point of interest for each desired zooming
level. The cumulative delay factor is a sum of delays each of which
is associated with having to re-centering the pointer after each
zooming function.
[0010] Some embodiments provide a synchronization (or,
coordination) between the zooming function and the pointer location
on a user interface.
SUMMARY
[0011] Methods according to the present invention address these
needs and others by providing a method for maintaining the position
of pointer on a center of a graphical user interface
[0012] According to one exemplary embodiment of the present
invention, a method for navigating a pointer on a graphical user
interface (GUI) includes the steps of: scrolling an input device to
locate the pointer corresponding to the input device on a point of
interest within the GUI, depressing an actuating button associated
with the input device on the point of interest, obtaining a
detailed view of the point of interest while centering the point of
interest on the GUI and maintaining a position of the pointer on
the point of interest.
[0013] According to another exemplary embodiment of the present
invention, a method of centering a pointer on a graphical user
interface (GUI) includes navigating the pointer to a point of
interest away from a center of the GUI, actuating a mechanism for
obtaining a magnified view of the point of interest, computing a
distance between a center of the GUI and a location of the point of
interest, generating a detailed view of the point of interest,
displaying the detailed view with the point of interest centered on
the GUI and animating a movement of the pointer from the position
away from the center of the GUI to the point of interest.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The accompanying drawings illustrate exemplary embodiments
of the present invention, wherein:
[0015] FIG. 1 depicts a graphical user interface corresponding to
an exemplary location information program;
[0016] FIG. 2 illustrates a first magnified view of a portion of
the user interface of FIG. 1 in exemplary embodiment;
[0017] FIGS. 3A and 3B depicts a second magnified view of a portion
of the user interfaces of FIGS. 1 and 2; and
[0018] FIGS. 4 and 5 illustrate methods in accordance with
exemplary embodiments.
DETAILED DESCRIPTION
[0019] The following detailed description of the invention refers
to the accompanying drawings. The same reference numbers in
different drawings identify the same or similar elements. Also, the
following detailed description does not limit the invention.
Instead, the scope of the invention is defined by the appended
claims.
[0020] In exemplary embodiments, incremental zooming may be
utilized to coordinate pointer location with a point of interest on
a user interface. Referring back to FIG. 1, a user may navigate
pointer 104 to a point of interest 105 and depresses the actuating
button of an input device to obtain a more detailed view of point
of interest 105. An incremental zooming may take place in a series
of zooming levels from FIG. 1 to a desired zooming level for the
point of interest 105 as illustrated in FIGS. 3A and 3B. The number
of zooming levels may be two for example--that is, an intermediate
zooming step may exist between user interface in FIG. 1 and that of
FIGS. 3A and 3B. Having two zooming levels is specified for
exemplary purposes; the number of zooming levels may be greater
than two in preferred embodiments.
[0021] By navigating pointer 104 and depressing actuating button at
the point of interest 105 on FIG. 1, a user may identify the
location for which a detailed view is desired. The detailed view
may be obtained from pre-stored information contained in the
software program for example; it may also be generated. The program
may be stored in the computer, in a computer medium (such as a
compact disc) or accessible to the computer over a network such as
the internet.
[0022] A distance 106 between center 108 and point of interest 105
may be computed. A virtual line (representing 106) may be drawn
between starting point 108 and point of interest 105. The virtual
line may represent the linear distance between points 108 and 105
of FIG. 1. An intermediate zooming level (or step) may be
illustrated in FIG. 2. The center 108 of user interface 102 has now
moved (along the virtual line representing distance 106) to
approximately a midway point between center 108 in FIG. 1 and
center 108 of FIGS. 3A or 3B.
[0023] The center 108 of the user interface 102 remains fixed at
one physical location on the interface as long as the size of the
interface (represented by the window) remains constant; the
geographic point represented by the center may vary based on the
zooming level. For example, in FIG. 1, center 108 may represent
some point in Nebraska while center 108 of FIG. 2 may represent
some point in Ohio. The pointer, designated by 104, remains on the
point of interest 105. The original location of pointer 104' (at
point of interest 105 in FIG. 1) is also shown in FIG. 2 to
distinguish exemplary embodiments over existing implementation
methods.
[0024] A detailed view desired by zooming in point of interest 105
of FIG. 1 is illustrated in FIGS. 3A and 3B. A second zooming level
may be illustrated with respect to FIGS. 3A and 3B. Starting from
FIG. 2, the distance represented by line 206 (which is one half of
the distance 106 of FIG. 1) between center 108 and point of
interest 105 may be reduced to zero as center 108 of FIGS. 3A and
3B coincides with point of interest 105. As with FIG. 2 above,
pointer 104 is now located over point of interest 105 in FIG. 3B.
The location of pointer 104'' (at point of interest 105 in FIG. 2)
is also illustrated in FIG. 3B to distinguish exemplary embodiments
over existing implementation methods.
[0025] In some embodiments, the intermediate zooming level, the
results of which are illustrated in FIG. 2, may not be needed. That
is, the zooming can transition from FIG. 1 to FIG. 3B. Pointer 104
would be positioned over point of interest 105 after the
transition. Other embodiments may include additional zooming levels
(additional to the two levels illustrated).
[0026] Centering the point of interest 105 within user interface
102 while zooming in may be achieved by combining the zooming
function with a simultaneous panning function. Panning refers to
translating the view in either the vertical horizontal dimensions.
As a result of the panning process, the point of interest 105
coincides with center 108 of the interface 102.
[0027] As the actuation button of the input device is depressed to
achieve zooming, the point of interest 105 may move along the
dotted distance line 106 to center 108 of the interface 102. A
progress of the pointer's movement along this line may be
illustrated in an animated manner. In preferred embodiments,
panning in order to make the point of interest 105 coincide with
center 108 of user interface 102 may be completed at the same time
the desired zooming level is achieved. The amount of movement (or
displacement) the point of interest 105 undergoes for each zooming
step may be computed. As described above, center 108 of the
interface represents the point of interest as a result of this
movement.
[0028] The final level of detail available for zooming in may be
determined by a designer of the particular software program being
used. For example, a designer of a map software program might
choose to facilitate zooming in to a block level or a street level,
etc. This may assist in determining the number of available zooming
levels between a starting point 108 of FIG. 1 and ending point 108
of FIGS. 3A and 3B for example. The number of available zooming
levels may also determine how long it takes to get from the
starting point to the ending point.
[0029] While the number of zooming levels illustrated is two and
one intermediate frame is illustrated in this example, a higher
number of zooming levels will result in more intermediate frames
being shown. If four levels are available in an embodiment, then
the number of intermediate frames may be three. That is, a first
intermediate frame may depict point 108 being located between point
108 of FIG. 1 and point 108 of FIG. 2; a second intermediate frame
may be identical to FIG. 2; a third intermediate frame may depict
point 108 being located between point 108 of FIG. 2 and point 108
of FIG. 3A (or 3B) and a fourth frame may be identical to FIG. 3A
(of 3B). If the number of available zoom levels is N, then the
number of intermediate frames may be N-1.
[0030] Exemplary methods may also facilitate zooming out from a
point of interest. In zooming out, the pointer may remain on the
point of interest but the center may no longer coincide with the
pointer. In FIG. 3B for example, if zooming out is indicated via
the user input device, a portion of the user interface may
illustrate the Atlantic Ocean east of New York for which no data
may be available. In this case, the center 108 may be moved
westward while pointer 104 remains on point of interest 105.
[0031] Each of the figures also shows a scale (designated by 112,
212 and 312) to depict what one unit may represent (such as
distance for example) in the corresponding figure. In some
embodiments, a history of zooming levels that were illustrated
(frames) may be maintained in order to enable a user to visit
previous frames.
[0032] In some embodiments as described above, the animation or
transition between a starting point (such as FIG. 1) and the ending
point (FIGS. 3A and 3B) may occur in a linear manner. That is, if
only one intermediate frame is shown, the intermediate frame may be
the midway point between the starting and ending points; similarly,
if three intermediate frames are shown, they may represent points
that are one quarter of the way, one half of the way and three
quarters of the way between the starting point and the ending point
as the intermediate frames.
[0033] In other embodiments, the animation may take place at a
different rate (or at a varying rate). The first few intermediate
frames may be shown slowly, the next several intermediate frames
may be shown at a faster rate and the last few intermediate frames
may be shown slowly for example.
[0034] Exemplary embodiments may be implemented on a general
purpose computer such as a desktop, a laptop, a pocket PC, personal
digital assistant (PDA) or other similar devices having the
processing capacity. Methods described may be encoded on a computer
readable medium as a series of executable instructions or on an
application specific integrated chip (ASIC).
[0035] Methods in accordance with exemplary embodiments as
described above may be illustrated as process or flow charts 400
and 500 in FIGS. 4 and 5 respectively.
[0036] While the description has focused on zooming in on a map,
exemplary methods may be equally applicable in other scenarios such
as in virtual tour programs (i.e. real estate viewing for example)
and in gaming, etc. The methods can also be used in menu selection
within an entertainment/pay-per-view environment. For example,
thumb nail images representing various movies available for viewing
or on a pay-per-view basis may be displayed to a user on a display
or screen. The user may utilize a 3D pointing device such as that
developed by Hillcrest Laboratories, Inc. of Rockville, Md. to
select one of the images. As a result of this selection, more
detailed information corresponding to the selected image may be
displayed to the user. Input devices may also include a graphic
tablet, a tracking surface such as a track pad or a 3D pointing
device.
[0037] The above-described exemplary embodiments are intended to be
illustrative in all respects, rather than restrictive, of the
present invention. Thus the present invention is capable of many
variations in detailed implementation that can be derived from the
description contained herein by a person skilled in the art. All
such variations and modifications are considered to be within the
scope and spirit of the present invention as defined by the
following claims. No element, act, or instruction used in the
description of the present application should be construed as
critical or essential to the invention unless explicitly described
as such. Also, as used herein, the article "a" is intended to
include one or more items.
* * * * *