U.S. patent application number 11/236488 was filed with the patent office on 2006-04-13 for graphical user interface widgets viewable and readable from multiple viewpoints in a volumetric display.
This patent application is currently assigned to Alias Systems Corp.. Invention is credited to Ravin Balakrishnan, George William Fitzmaurice, Gordon Paul Kurtenbach.
Application Number | 20060077212 11/236488 |
Document ID | / |
Family ID | 27616291 |
Filed Date | 2006-04-13 |
United States Patent
Application |
20060077212 |
Kind Code |
A1 |
Fitzmaurice; George William ;
et al. |
April 13, 2006 |
Graphical user interface widgets viewable and readable from
multiple viewpoints in a volumetric display
Abstract
The present invention is a widget display system for a
volumetric or true three-dimensional (3D) display that provides a
volumetric or omni-viewable widget that can be viewed and
interacted with from any location around the volumetric display.
The widget can be viewed from any location by duplicating the
widget such that all locations around the display are within the
viewing range of the widget. A widget can be provided with multiple
viewing surfaces or faces making the widget omni-directional. A
widget can be continuously rotated to face all of the possible
locations of users over a period of time. User locations can be
determined and the widget can be oriented to face the users when
selected.
Inventors: |
Fitzmaurice; George William;
(Toronto, CA) ; Balakrishnan; Ravin; (Toronto,
CA) ; Kurtenbach; Gordon Paul; (Toronto, CA) |
Correspondence
Address: |
STAAS & HALSEY LLP
SUITE 700
1201 NEW YORK AVENUE, N.W.
WASHINGTON
DC
20005
US
|
Assignee: |
Alias Systems Corp.
Toronto
CA
|
Family ID: |
27616291 |
Appl. No.: |
11/236488 |
Filed: |
September 28, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10183968 |
Jun 28, 2002 |
|
|
|
11236488 |
Sep 28, 2005 |
|
|
|
60350952 |
Jan 25, 2002 |
|
|
|
Current U.S.
Class: |
345/653 |
Current CPC
Class: |
G02B 30/50 20200101;
G06F 1/1601 20130101; G06F 3/04812 20130101; G06F 3/011 20130101;
G06F 3/04817 20130101; G06F 3/04815 20130101 |
Class at
Publication: |
345/653 |
International
Class: |
G09G 5/00 20060101
G09G005/00 |
Claims
1. A method, comprising: producing and displaying a
three-dimensional scene in a volumetric display; and producing and
displaying a volumetric interface element in the volumetric
display.
2. A method as recited in claim 1, wherein the volumetric element
comprises an omni-directional element.
3. A method as recited in claim 2, wherein an omni-directional
element comprises a multisided element with contents replicated on
each side.
4. A method as recited in claim 3, wherein the multisided element
comprises one of a cube, a globe and a hexagonal solid, the
multisided element having faces each with a viewing range and the
viewing ranges of the faces covering the viewpoints of users around
the volumetric display.
5. A method as recited in claim 1, wherein the volumetric element
comprises a rotating face rotating into view of the users.
6. A method as recited in claim 5, wherein the rotating face
comprises one of a face revolving continuously through 360 degrees
and a face rocking back and forth through a predetermined number of
degrees.
7. A method as recited in claim 6, further comprising orienting the
rotating face toward a user selecting the volumetric element.
8. A method as recited in claim 6, wherein the volumetric element
further comprises a stationary control associated with the rotating
face.
9. A computer readable storage controlling a computer or via
producing a three-dimensional scene in a volumetric display, and
producing a volumetric interface element in the volumetric display.
Description
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application is a continuation of U.S. patent
application Ser. No. 10/183,968 filed Jun. 28, 2002, now pending,
and is related to and claims priority to U.S. provisional
application entitled User Interfaces For Volumetric Displays,
having Ser. No. 60/350,952 (S&H Docket 1252.1054P), by
Kurtenbach et al, filed Jan. 25, 2002; this application is also
related to U.S. application entitled Three Dimensional Volumetric
Display Input And Output Configurations, having Ser. No. 10/183,970
(S&H Docket 1252.1054), by Kurtenbach et al, filed Jun. 28,
2002; to U.S. application entitled Volume Management System For
Volumetric Displays, having Ser. No. 10/183,966 (S&H Docket
1252.1065), by Kurtenbach et al, filed Jun. 28, 2002; to U.S.
application entitled Widgets Displayed and operable on a surface of
a volumetric display enclosure, having Ser. No. 10/183,945 (S&H
Docket 1252.1066), by Fitzmaurice et al, filed Jun. 28, 2008; to
U.S. application entitled A System For Physical Rotation of
Volumetric Display Enclosures To Facilitate Viewing, having Ser.
No. 10/188,765 (S&H Docket 1252.1068), by Balakrishnan et al,
filed Jun. 28, 2002; to U.S. application entitled Techniques For
Pointing To Locations Within A Volumetric Display, having Ser. No.
10/183,944 (S&H Docket 1252.1069), by Balakrishnan et al, filed
Jun. 28, 2002; and all of which are incorporated by reference
herein.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention is directed to providing graphical
user interface widgets or interface elements that are viewable from
different viewpoints in a volumetric display and, more
particularly, to a system where a widget is produced that can be
viewed and operated from multiple viewpoints.
[0004] 2. Description of the Related Art
[0005] A class of three-dimensional (3D) displays, called
volumetric displays, is currently undergoing rapid advancement. The
types of displays in this class include holographic displays, swept
volume displays and static volume displays. Volumetric displays
allow for 3D graphical scenes to be displayed within a true 3D
volume. Such displays can take many shapes, globes, domes, cubes,
etc. with a dome being a typical shape. Because the technology of
these displays is undergoing rapid development those of skill in
the art are concentrating on the engineering of the display itself.
As a result, the man-machine interface to or the ways in which
people interface with these types of displays is receiving scant
attention.
[0006] While the volumetric displays allow a user to view different
parts of a true 3D scene, the act of viewing the different parts
typically requires that the user physically move around (or over)
the display or that the display be moved or rotated in front of the
user. As the display moves relative to the user, graphical user
interface elements, sometimes called widgets may also move relative
to the user. This is a particular problem when the widget is a two
dimensional interface, such as a virtual keyboard, or a
display/view of a two dimensional document, such as a list or
spreadsheet.
[0007] What is needed is a system that will provide user interface
elements that are viewable and operable from whatever viewpoint a
user takes around a volumetric display.
SUMMARY OF THE INVENTION
[0008] It is an aspect of the present invention to provide widgets
that can be used in a volumetric display where one or more users
can view the display and the widgets from different viewpoints and
locations around the display.
[0009] It is another aspect of the present invention to orient the
widgets to the users by tracking the location of the users.
[0010] It is also an aspect of the invention to provide
omni-directionally viewable widgets.
[0011] It is an additional aspect of the present invention to
replicate planar widgets, providing a widget for each user or
cluster of users.
[0012] It is a further aspect of the present invention to provide
widgets that rotate so that all users can view the widgets.
[0013] The above aspects can be attained by a system that provides
a volumetric widget that can be viewed and interacted with from any
location around a volumetric display. Such a widget can be provided
by duplicating the widget for each user, by providing a widget with
multiple viewing surfaces or faces, by rotating the widget and by
orienting a widget toward a location of the user.
[0014] These together with other aspects and advantages that will
be subsequently apparent reside in the details of construction and
operation as more fully hereinafter described and claimed,
reference being had to the accompanying drawings forming a part
hereof, wherein like numerals refer to like parts throughout.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] FIG. 1 depicts a volumetric display.
[0016] FIG. 2 shows a user viewpoint moving with respect to a
planar user interface (UI) element (top view).
[0017] FIG. 3 depicts the hardware of the present invention.
[0018] FIG. 4 shows view ranges of widget faces of a volumetric
widget arranged to allow any location to view the widget.
[0019] FIGS. 5A-5D depict omni-directional volumetric widgets.
[0020] FIG. 6 shows a volumetric display with an array of user
location detectors.
[0021] FIGS. 7A-7C show a volumetric widget with faces
corresponding to and oriented toward user locations.
[0022] FIG. 8 is a flowchart of operations that prevent the faces
of a volumetric widget from occluding each other.
[0023] FIGS. 9A-9C depict a sequence of face movements to eliminate
facial occlusion.
[0024] FIG. 10 shows clustering viewpoints.
[0025] FIGS. 11A-11C shows back and forth rotation of a volumetric
widget.
[0026] FIG. 12 depicts selection operations for a rotating
widget.
[0027] FIG. 13 shows a volumetric widget having a rotating part and
a stationary control part.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0028] Volumetric displays allow a user to have a true
three-dimensional view of a scene 12 and are typically provided in
the form of a dome 14, as depicted in FIG. 1. The user 16, as can
be surmised from FIG. 1, can move about the dome 14 to view
different parts of the scene 12. As the user 16 moves (see FIG. 2)
to different viewpoints 30, 32 and 34, a planar UI widget 36 within
the volumetric display 38 relatively turns such that it is no
longer viewable by the user as depicted in the top view of FIG.
2.
[0029] There are a number of different solutions to this
viewability problem. The solutions include the production and
display of a volumetric graphic user interface element or widget or
omni-viewable widget. A volumetric widget or omni-viewable widget
is one that can be viewed and interacted with from any user
location or viewpoint around a volumetric display. One solution
that provides a volumetric widget is to replicate a planar widget
several times around the volumetric display so that the user will
always have a readable view of the contents of the widget. This
solution can result in a cluttered display. Another solution is to
provide a multifaceted widget where a face of the widget is always
readable by the viewer. This can result in a widget that takes up a
greater volume of the display. A further solution is to provide a
widget that rotates to facilitate viewing from any viewpoint. This
can result in a widget that is readable only part of the time. A
further solution is to track a position of the user and orient the
widget to face the user's location. This solution requires tracking
technology. An additional solution is to combine two or more of the
solutions discussed above. Each of these solutions provides a
volumetric or omni-viewable widget and will be discussed in more
detail below.
[0030] The present invention is typically embodied in a system as
depicted in FIG. 3 where physical interface elements 50, such as a
rotary dome position encoder, infrared user position detectors, a
keyboard, etc. are coupled to a computer 52. The computer 52 uses a
graphical creation process, such as the animation package MAYA
available from Silicon Graphics, Inc., to create a
three-dimensional (3D) scene including virtual interface elements,
such as the volumetric widgets discussed herein, and move them
about in the scene automatically or based on some user control
input. The display output, including the scene and widgets, is
provided to a conventional volumetric display apparatus 54, such as
one that will produce a 3D holographic display
[0031] As depicted in FIG. 4, a display 70 can include a volumetric
widget that comprises multiple duplicate copies 72, 74, 76, 78, 80
and 82 of a virtual interface element, such as a graphical slider
or icon toolbox. Each of the elements 72-82 has a viewing angle
range with, for example, element 80 having a range 84 and element
82 having a range 86. The elements are arranged or positioned in
such a way that from any point around the display 70 a user is
within the acceptable viewing angle range of one of the elements.
This can be accomplished by providing a sufficient number of
elements or by arranging the elements more or less deeply within
the display such that the ranges of the adjacent elements overlap
at or near the surface of the display 70. This is shown in FIG. 4
with the ranges 84 and 86 overlapping at the surface of the display
70. The ranges of adjacent elements need not overlap at the surface
of the display 70 but can overlap at a predetermined distance from
the surface responsive to an expected distance of typical user
viewpoints from the surface.
[0032] Omni-viewable widgets can be created by forming widgets with
multiple faces or multiple surfaces as depicted in FIGS. 5A-5D. The
faces are typically exact duplicates showing the same information
in the same way. FIG. 5A depicts a cubical widget 100 with six
faces and each face containing a duplicate of the contents to be
displayed by the widget.
[0033] FIG. 5B depicts an octagonal solid widget 102 with 8 faces
and each face displaying the same contents. FIG. 5C depicts a tent
type widget 104 with two faces, each facing the opposite direction
and each displaying the same contents. This type of widget can also
be rotated back and forth, as indicated by the arrows, to allow the
viewing range of the two displays to intersect all user viewpoint
positions. FIG. 5D depicts a globular or ball shaped widget 106
with identical faces arranged one the surface of the globe. Other
shapes of multiple face widgets are possible such as pyramidal and
cylindrical. Note that each face does not have to be an exact
duplicate; a face may be specialized for a particular viewpoint.
For example, if a widget is a direction widget (showing the compass
directions), each face is not a literal duplicate as in this case,
each face shows the directions appropriate to their viewpoint.
[0034] To rotate or move a widget to face a user the position of
each user must be determined. The detection or determination of the
position of a user or users can be accomplished in a number of
different ways. For example, each user can be provided with a
position indicator as part of an input device, such as that
provided by a conventional 3D input glove. Input devices located
around the display can also be used by the users to register their
locations or viewpoints. A camera and an object detection system
could also be used. Another alternative, as depicted in FIG. 6, is
to provide an array of conventional infrared detectors 120 arranged
in a circumferential band below or at the bottom of a volumetric
display enclosure 122. In this approach those detectors that are
active indicate the presence of a user. A conventional interface
between the computer 52 (see FIG. 3) and the detectors allows the
computer to conventionally detect the number and positions of users
positioned around the display 122. Another variation is to use
audio microphones to detect the position of users based on from
where the sound is coming.
[0035] When the number and positions of users are known, the
computer can create a omni-viewable widget that includes an
interface element for each user, as depicted in FIGS. 7A-7C. When
the system detects two users A and B on opposite sides of the
display enclosure 140, as depicted in FIG. 7A, two widgets elements
142 and 144 are created and positioned (as shown by the dashed
lines) to face the users. FIG. 7B shows two users A and B in
different positions than in FIG. 7A and widget elements 146 and 148
positioned to face these different positions. FIG. 7C shows three
users A, B and C and three corresponding user-facing widget
elements 150, 152 and 154. When the widget elements cannot be
placed facing in opposite directions as depicted in FIG. 7A such as
in FIGS. 7B and 7C, the system may need to prevent the widgets from
overlapping each other and thereby obscuring display contents in
the overlapped areas. This is discussed below with respect to FIG.
8.
[0036] Initially, for an omni-viewable widget with an element for
each user, the system determines 170 (see FIG. 8) the number of
users and their positions or viewpoints using a position
determination system such as previously discussed. For each
viewpoint an identical widget element is created and oriented 172
in an orientation that is tangential to the surface of the display
enclosure at the position of the corresponding viewpoint around the
circumference of the display enclosure and perpendicular to the
normal at that point. Next, the centroid of the oriented widget
elements is determined 174. Widget elements that have surfaces that
overlap or intersect are incrementally moved 176 away from the
centroid radially along the normal until no intersections exist.
The sequence of FIGS. 9A-9C show these operations in more
detail.
[0037] Initially (see top view FIG. 9A) a widget with three widget
elements 190, 192 and 194 is created in the center of the display
196 for three user viewpoints 198, 200 and 202. The widgets are
moved along their respective normals 206, 208 and 210 until widget
192 no longer intersects with widget 194, as shown in FIG. 9B. At
this point widget 194 stops moving. However, widgets 190 and 192
still intersect. As a result, widgets 190 and 192 are moved along
their respective normals 206, 208 and 210 until they no longer
intersect as shown in FIG. 9C. Rather than move only those widgets
that intersect, it is possible to move all the widgets by the same
incremental amount until no intersections exist. Other placement
algorithms may be used to achieve a similar non-overlapping
result.
[0038] Alternatively to moving the widgets radially along their
normals to eliminate intersections, it is possible to group
viewpoints into viewpoint clusters and create a display for each of
the clusters. This is depicted in FIG. 10 where five user
viewpoints V1-V5 are shown. In determining whether a viewpoint can
be included in a cluster, the system measures the angles between
the viewpoints and compares this to the view range of the
particular widget element being created. If the angle is less than
the range, the viewpoints can be included within the same cluster.
For example, the angle between viewpoints VI and V2 and between
viewpoints V2 and V5 is greater than the viewing range of the
widget element being used. The angle between V3 and V4 is also too
great. However, the angle between V2 and V3 and between V4 and V5
is less than the range and these viewpoints can be grouped into two
clusters CI and C2 while VI is allocated to its own cluster C3.
Once the clusters are determined the average of the positions or
angles of the viewpoints in each cluster is used to determine the
angular positions WI, W2 and W3 of the widget elements.
[0039] As noted above, it is also possible to continuously rotate
the widgets. The rotation can be a revolution through 360 degrees
or the rotation can rock back and forth through a fixed number of
degrees to favor certain viewpoints. The rocking is depicted in
FIGS. 11A-11C. In this sequence a widget 220 in the display
enclosure 224 is rotated back and forth between the viewpoints of
users A and B. In FIG. 11A the widget 220 is oriented to user A, in
FIG. 11B the widget is oriented between users A and B, and in FIG.
11C the widget is oriented toward user B. This rotation between
view points is performed by determining the user view points and
redrawing the widget in sequential and incremental angular
positions between the view points. The rotation in either mode can
"jump ahead" resulting in certain viewpoints being ignored or
covered at different rates. Furthermore, the widget can be rotated
along an arbitrary axis or multiple axes.
[0040] When a rotating widget is selected by the user for an
operation, such as by the user positioning a pointer pointing at
the moving widget, and performing a selection operation, such as
pressing a selection button on the pointer, the widget needs to be
stopped from rotating so the user can review the widget for a
desired period of time or otherwise interact with the widget. The
operations involved in stopping the rotation of the widget are
depicted in FIG. 12 and discussed below.
[0041] The rotation of a widget, in either a back and forth motion
or in a full circular motion includes a display 240 of the widget
at a particular rotary position (see FIG. 12). The system then
determines 242 whether the widget has been selected. Selection can
occur in a number of different ways including the positioning of a
3D cursor on the widget and the activation of a selection button on
a device, such as a 3D "mouse". If the widget has not been
selected, the position of the widget is updated 244 and it is
displayed 240 in its new rotary position. If the widget has been
selected, the widget is flagged 246 as selected so that other users
cannot select the widget. The selected widget can also be displayed
in a way that indicates it has been selected, such as by
highlighting it. The widget can then optionally be oriented 248
toward the user using the input from (or input vector of) a
selecting device to determine which user has selected the widget
and the user location as indicated by the location detectors. The
correlation between location and selection device can be created by
having the users register their location and their input device or
by using input devices whose position around the volumetric display
is known. The system then performs the interactions 250 with the
widget as commanded by the user. If the user is only reviewing the
contents of the widget then there is no positive interaction. The
user can use the selecting device to move a cursor to select a
control of the widget, thereby positively interacting with the
widget. Once the interaction is finished or a time-out period
expires, the widget is deselected 252 and the rotation of the
widget continues.
[0042] As discussed above, it is possible to provide a rotating
widget whose contents have controls making it appropriate to orient
the widget toward the user when the user desires to interact with
the widget. It is also possible to provide a widget that includes a
control with which the user can interact while the widget is
rotating without having the widget stop rotating and orient toward
the user. Such a widget 270 is depicted in FIG. 13. This widget 270
includes a rotating portion 272 that can indicate the function of
the widget via a label and a stationary portion 274 that includes
the control 276. In this case the control 276 is a slider bead that
the user slides up and down to perform some function, such as an
object scale slider used to change the scale of a selected object
in the display. Another example is a push-button implemented by a
deformable sphere.
[0043] The rotating widget has been described with respect to
rotating into view of the users with the widget remaining at the
same position within the display. It is also possible for the
widget to rotate in the display by traveling around the
circumference of the display or the interior of the display
enclosure much like a world rotates on a globe. In general any
rotation pivot point or any path can be used to move a widget.
[0044] These paths are computed such that they route the widgets
around objects that would occlude the widgets being viewed from
certain viewpoints. One method for defining a path within a
volumetric display to be used to move a widget along is to define
two concentric rings along the base of the volumetric display. Call
one ring the inner and the other the outer ring. The widget
traverses along the inner ring until it's position plus a fixed
delta amount intersects an object. With a collision imminent, the
widget transitions to the outer ring until it is able to return to
the inner ring--having passed the object. Additional "outer" rings
can be defined if traversal along the current ring is not valid
(e.g., intersecting an object). This same concept can work for
other path shapes such as a rectangular path or a spiral path that
has a width and height. Using this approach, widget movement is
"content-dependent". In a similar manner, widget placement may be
content-dependent such that a widget or widgets are not only
oriented or duplicated but placed in the scene to minimize the
occlusion of them by other content in the scene.
[0045] Omni-viewable widgets can also be of value in other virtual
environments and display systems. For example, virtual environments
that use head-mounted displays could benefit from omni-viewable
widgets placed in a virtual world. In general, any application
where different viewpoints of a 3D scene omni-viewable widgets can
be viewed and operated from multiple viewpoints.
[0046] The present invention can be generalized to 2D displays
(e.g., a display where a widget is viewable and operable from the
top or bottom of the display). For example, sitting face-to-face at
a table with a LCD display in the table surface between the two
people. Each widget is replicated to be oriented toward each
person. If four people gather around the display four versions of
the widget are produced.
[0047] The system also includes permanent or removable storage,
such as magnetic and optical discs, RAM, ROM, etc. on which the
process and data structures of the present invention can be stored
and distributed. The processes can also be distributed via, for
example, downloading over a network such as the Internet.
[0048] The present invention has been described with respect to
volumetric widgets that are display widgets that display data
contents to the user. It is possible to provide widgets that not
only output contents but also widgets that allow input to the
graphics system using input data fields, cursor activatable
controls, etc.
[0049] The many features and advantages of the invention are
apparent from the detailed specification and, thus, it is intended
by the appended claims to cover all such features and advantages of
the invention that fall within the true spirit and scope of the
invention. Further, since numerous modifications and changes will
readily occur to those skilled in the art, it is not desired to
limit the invention to the exact construction and operation
illustrated and described, and accordingly all suitable
modifications and equivalents may be resorted to, falling within
the scope of the invention.
* * * * *