Patent Publication Number: US-7724251-B2

Title: System for physical rotation of volumetric display enclosures to facilitate viewing

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S) 
     This application is a Continuation of application Ser. No. 10/188,765 filed Jun. 28, 2002, now U.S. Pat. No. 7,138,997, which is related to and claims priority to U.S. provisional application entitled User Interfaces For Volumetric Displays having Ser. No. 60/350,952, 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, by Kurtenbach et al, now U.S. Pat. No. 6,753,847, to U.S. application entitled Volume Management System For Volumetric Displays having Ser. No. 10/183,966, by Kurtenbach et al, filed herewith, to U.S. application entitled Widgets Displayed And Operable On A Surface Of A Volumetric Display Enclosure, having Ser. No. 10/183,945, by Fitzmaurice et al, filed concurrently herewith, to U.S. application entitled Graphical User Interface Widgets Viewable And Readable From Multiple Viewpoints In A Volumetric Display, having Ser. No. 10/183,968, by Fitzmaurice et al, now U.S. Pat. No. 7,205,991, to U.S. application entitled Techniques For Pointing To Locations Within A Volumetric Display, having Ser. No. 10/183,944, by Balakrishnan et al, filed concurrently herewith and all of which are incorporated by reference herein. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention is directed to a system for rotating a class of three-dimensional (3D) displays called volumetric displays and, more particularly, to a system that allows a user to rotate the display to view different parts of the scene within the display without having to move or walk around the display. 
     2. Description of the Related Art 
     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. 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 these types of displays is receiving scant attention. 
     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 the display. For example, if the user wants to view the backside of a scene including a building, the user must move to the backside of the display to see the back of the building. This movement is typically performed by the user walking around the display. Requiring the user to physically move around the display for an extended period of time is probably not the best way to work with these types of displays. And some movements may also be impractical, such as moving above the display for a view from above. 
     Another approach to viewing the different parts of the display is for the user to virtually navigate around the scene using camera navigation techniques. For large complicated scenes, rendering the scene for each increment of camera navigation can be computationally expensive, with the result that slow refresh rates detract from the user&#39;s experience. What is needed is a system that will allow a user to physically rotate the display. 
     SUMMARY OF THE INVENTION 
     It is an aspect of the present invention to provide a system that allows a user of a three-dimensional volumetric display to remain in one position while rotating the display, either directly by hand or through a rotation mechanism that could include a motor drive, so that scene objects are rotated within the display and can be see from different viewpoints. 
     It is another aspect of the present invention to allow a user to rotate a display enclosure and thereby rotate the contents of the display. 
     It is also an aspect of the present invention to maintain orientation of widgets in the display with respect to the user while display contents rotate. 
     It is a further aspect of the present invention to allow a gain to be applied to the virtual rotation of the display with respect to the physical rotation of the enclosure. 
     It is an additional aspect of the present invention to allow users to intuitively control a dome or ball shaped display by placing their hands on the enclosure of the display and moving the display with their hands in a direction based on the intuitive hand control. 
     The above aspects can be attained by a system that allows a user to physically rotate a three-dimensional volumetric display enclosure with a corresponding rotation of the display contents. This allows the user to remain in one position while being able to view different parts of the displayed scene from different viewpoints. The display contents can be rotated in direct correspondence with the display enclosure or with a gain that accelerates the rotation of the contents with respect to the physical rotation of the enclosure. Any display widgets in the scene, such as a virtual keyboard, can be maintained stationary with respect to the user while scene contents rotate. 
     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 
         FIG. 1  depicts a user rotating an enclosure and the corresponding display with one degree of freedom. 
         FIG. 2  shows rotations with two or three degrees of freedom. 
         FIGS. 3 and 4  illustrate components of a rotating enclosure. 
         FIG. 5  depicts the digital hardware of the present invention. 
         FIG. 6  shows the operations associated with rotating an enclosure and display contents. 
         FIG. 7A-7C  and  8 A- 8 C depict unity and positive rotational gain, respectively. 
         FIG. 9  illustrates operations with respect to widget objects within a rotating display. 
         FIG. 10A-10C  shows maintaining widgets stationary with respect to a user while scene objects rotate. 
         FIG. 11  depicts time based or spatial rotation operations. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The present invention is directed to a system that allows a user to physically rotate an enclosure for a three-dimensional (3D) volumetric display to thereby rotate the scene displayed within the enclosure so the user can view different parts of the scene without the user being required to physically move around the display (or to navigate a virtual camera type view of the scene. A combination of physical rotation of the display and manipulation of the virtual camera either thru turning the display or thru some other input device is also useful. For example, turning the physical display to rotate the contents of the display while at the same time moving a mouse to magnify the contents.  FIG. 1  illustrates the user  10  spinning the enclosure  12  about a center or vertical axis  14  by physically pushing the enclosure with his hands in contact with the enclosure  12 . As the enclosure moves so does the scene displayed therein. This motion allows one degree of freedom  16  of rotation in the movement of the scene displayed within the enclosure  12 . The enclosure rotation is much like a “lazy-susan” type platform.  FIG. 2  depicts an enclosure  30  that can be rotated with two degrees of freedom  32  and  34 . This enclosure  30  can be rotated like a ball thus permitting three degrees of rotation. In both of these embodiments the control interface, that is, the ability of the user to control the rotation of the display contents, is accessible from any direction that the user approaches the enclosure or from any view point around the enclosure. That is, the interface is omni-viewpoint directionally accessible and controllable. 
     The rotation or movement of the displayed scene with the rotation or movement of the enclosure can be accomplished in a number of different ways. The display mechanism, such as a holographic projector, can be physically rotated with the enclosure. Such an embodiment where the display apparatus is inside the enclosure requires that the display interface, particularly, the power and display inputs, be coupled through a conventional rotating connection. The power and display inputs can also be supplied electromagnetically similar to the way that smart cards are supplied with power and I/O data. By rotating the entire display mechanism, the contents need not be redrawn each time the display is moved. In an alternate embodiment the displayed scene can be virtually rotated responsive to the rotation of the enclosure. That is, as the enclosure is rotated the scene can be redrawn to correspond to the enclosure rotation. The virtual rotation of the scene within the enclosure does not require that the display apparatus be rotated and a rotational or electromagnetic coupling is not needed. Also, some combination of virtual rotation and physical rotation can be used. 
     In both of the embodiments discussed above, the enclosure mechanism can be made as depicted in  FIGS. 3 and 4  where  FIG. 3  shows a side view and  FIG. 4  shows a top view. The enclosure mechanism  50  includes a transparent plastic enclosure  52  mounted on a rotating base  54 . In the embodiment where the display apparatus rotates with the enclosure, the display apparatus, such as the holographic projector, is housed within the rotating base  54 . In the virtual rotation embodiment discussed above, the rotating base  54  would be transparent and the displayed scene would be projected through the rotating base  54  from a fixed base  56  in which the display apparatus would be housed. A bearing  58  (roller or ball) couples the rotating base  54  to the fixed base  56  and allows the base  54  to rotate about the vertical axis of the enclosure mechanism  50 . In both the embodiments noted above, the mechanism  50  also includes a conventional rotary encoder  60  that outputs the rotational position of the enclosure  52  as it rotates. For embodiments where the display apparatus is in the fixed base  56 , the transparent base  54  need not exist if a support bearing is on the periphery of the enclosure rather than in the center as shown. For a two-dimensional rotation freedom device such as depicted in  FIG. 2 , rotational sensors like those used for conventional track balls can be used to sense rotation in the two dimensions. For three-dimensional rotation, a similar scheme can be used but with an additional sensor to sense twisting of the ball (rotation in the third dimension). 
     The rotary encoder  60 / 70  (see  FIG. 5 ) is coupled to a sensor A/D (Analog to Digital) converter  72  that supplies the rotational position to a computer  74 . The computer  74  supplies the scene to be displayed to the display apparatus  76 . The scene processing system being executed by the computer  74  is a conventional system that can rotate the scene or objects within the scene to different positions or viewpoints responsive to scene rotational position inputs. For example, the MAYA system available from Alias|Wavefront, Inc. is a system that can rotate computer generated graphical scenes or objects responsive to rotational inputs. When the computer detects that the enclosure has been rotated, the scene is virtually rotated within the enclosure with the computer  74  determining new positions of objects within the scene and rendering the scene with the new positions. Scene displays may also contain virtual widgets, such as three dimensionally positioned cursors, virtual keyboards, 3D manipulators, dialog boxes, etc. that are displayed within the enclosure. If such widgets exist within the scene, it may be necessary to adjust the position of the widgets within the scene as the scene rotates. For example, a virtual keyboard should always face the user even when the scene is rotated so that the keyboard is available for use by the user. However, a 3D cursor typically needs to remain at its last position within the scene as the scene rotates. That is, if the cursor is pointing at a door of a building it should remain pointing at the door of the building as the building moves within a rotating scene. As a result, the computer  74  also adjusts the positions of interface widgets, as necessary, within the scene responsive to the rotation as will be discussed in more detail later herein. When the display apparatus is rotated with the enclosure, the computer  74  need not determine scene positions but still determines and makes widget position adjustments as needed. In this embodiment, by limiting the redrawing to only widgets that need to remain stationary or rotate at a different rate than the scene, computational resources are more effectively used. 
     The rotation of the scene within the enclosure is typically a 1 for 1 rotation. That is, if the enclosure is rotated 10 degrees the displayed scene is rotated 10 degrees. It is also possible to rotate the displayed scene at a rate that is faster or slower than the rotation rate of the enclosure. Negative scene rotation with respect to enclosure rotation is also possible. Preferably, the user can set the rotational gain discussed above. 
     The operations  90  (see  FIG. 6 ) performed by the computer  74  start with initialization operations  92  and  94  where the physical and virtual rotational positions are set to zero. The system then determines  96 , from the output of the encoder, whether the enclosure has been rotated. If not, the system loops back and waits for a rotational movement of the enclosure. If the enclosure has been rotated, the amount of and direction of virtual rotation, vr, is determined 98 followed by applying 100 a rotational gain function g to the physical rotation, rp. Typically the gain g is set to one. Here, the gain g is set to one so that rv=(g−1)*rp=0*rp=0. If the gain is set to a value greater than 1, the virtual rotation exceeds the physical rotation. The gain can also be set to less than one or to negative numbers. For example, when the gain equals 0.5 the display rotates slower than the enclosure. If the gain is negative the display rotates in the opposite direction of the enclosure. Lastly, when the gain is zero rv=−rp and the display appears to remain fixed when the enclosure is rotated. Once the gain has been applied to the physical rotation, the virtual display position is offset  102  by the corresponding rotational amount. Then, the scene is rendered and provided to the display apparatus for display. The accelerated rotation of scene objects is discussed in more detail below with respect to  FIGS. 7A-7C  and  8 A- 8 C. 
       FIGS. 7A-7C  with  FIGS. 8A-8C  depict accelerated rotation based on a gain of 1.0 and 4.5 respectfully.  FIGS. 7A-7C  depict a unity gain where the display follows the physical rotation of the enclosure  154 . As can be seen when  FIGS. 7A-7C  are compared to  FIGS. 8A-8C , when the enclosure  172  is rotated by 10 degrees from  FIG. 8A  to  FIG. 8B , the object  174  is rotated by 45 degrees. Similarly when the enclosure is rotated to a 20-degree rotational position, the object is rotated by 90 degrees as depicted in  FIG. 8C . 
     The virtual scene can also be constantly rotated, with the physical rotation adjusting the rate at which the scene is being rotated. For example, consider a virtual scene consisting of a swirling water current. Physically rotating the enclosure in the same direction of the water current speeds up the water flow. Rotating in the opposite direction, slows the water down. 
     When widgets are scene objects, or when parts of the scene need to be rotated at different rates, the rotation of each scene object is determined as depicted in  FIG. 9 . Once again the virtual and physical positions are initialized  192  followed by rotation sensing  194 . Then, after the physical rotation amount is determined  196 , for each scene object  198  (or segment that needs a different rotational gain), the type of each object in the scene is determined  200 . If the object is not a widget, the system makes  202  no additional change in the rotation of the object. That is, the object is rotated in accordance with the discussion with respect to  FIG. 6 . If the object is a widget (or a segment of the display that needs to be rotated differently than the scene), the object is rotated  204  by the inverse of the physical rotation. If a gain has been applied, the object (widget or display segment) is rotated by the inverse of the gain adjusted physical rotation. The relative rotation of a scene object and the widgets allows scene objects to be rotated in front of the user while widgets remain stationary with respect to the user or a world coordinate system. This is discussed in more detail below with respect to  FIGS. 10A-10C . 
       FIGS. 10A ,  10 B and  10 C depict the inverse rotation of widgets relative to enclosure and scene rotation.  FIG. 10A  depicts a scene object F, three widgets w 1 , w 2  and w 3  that need to be maintained at the same or constant relative position with respect to the user, the enclosure  222  and an enclosure orientation indicator  224 . In  FIG. 10A  the base orientation, widget orientation and scene object orientations are all at zero degrees. In  FIG. 10B  the enclosure  222  has been rotated by 45 degrees so that the scene object F has also been rotated by 45 degrees relative to the center of rotation which is at the center of the display. The widget positions have remained at zero degrees (that is, the widgets have been rotated a −45 degrees with respect to the enclosure). In  FIG. 10C  the enclosure  222  has been rotated by 90 degrees so that the object F has also been rotated by 90 degrees. Again, the widget positions have remained at zero degrees. That is, as the object and enclosure rotate with respect to the user, the widgets remain in the same relative position with respect to the user and with respect to a world coordinate system. 
     The widgets are discussed above as being adjusted continuously as the contents are rotated. It is also possible to adjust the widgets based on a rotational threshold. For example, a keyboard UI widget need not always be facing the user but can be oriented with respect to the user with some tilt. But when the tilt gets too large, such as above 10 degrees, the widget is rotated back to facing the user. Note that this may not happen all at once in the next display refresh cycle. Instead, the rotation could happen in increments until the final rotation amount is reached. This has the effect of preventing a visually jarring discontinuity by smoothly animating the widget to the final rotation position. 
     The relative positioning of widgets with respect to scene objects as the enclosure and scene objects rotate can be extended to be used with portions of the display contents that are designated. For example, one or more three-dimensional sections/parts/segments/sub-volumes of a volumetric display can be designated to remain stationary with respect to the user as the scene/enclosure rotate. For example, a scene of a landscape may be partitioned such that the landscape being modified rotates with the enclosure while a segment holding landscape elements, such as trees, bushes, rocks, remains stationary. This would facilitate the user selecting landscape elements and placing them in desired positions. Other effects can be created with different gains set for different segments of the display. Different rotational gains can also be set for different objects. 
     It is also possible for different rotational effects to be applied to different segments of the enclosure such that one segment rotates at a gain of one while another segment rotates with a gain of two. 
     It is also possible to have a secondary input stream control different sub-portions of the display while the display enclosure is being rotated. For example, suppose the user uses a mouse input device to click-on and hold a window in place while, with the other hand, they rotate the display. In this case, the window would not rotate with the display. This can be accomplished by assigning each object in the display a rotational gain of one and adjusting the gain of the selected window to negative one. 
     It is sometimes the case that the user may want to have a content rotation, once initiated, to continue for a specified period of time or, if the rotation is time indexed, until a specified time index is reached.  FIG. 11  depicts an embodiment where the rotation is time sensitive. Once the enclosure rotation sensing  232  operation has been completed, the system performs a mode test. If the mode is set to a non-time based rotation mode, the system virtually rotates  236  the display contents in the direction of the physical rotation corresponding to the rotation of the enclosure as previously discussed. If the mode is set to a time based rotation, the system rotates the display contents and redraws  238  the display continuously until the time value set for the time based rotation expires or is reached. When in time mode, rotating the base effects only the temporal position of the time-based media (e.g., an animation or a movie). For example, rotating the enclosure clockwise by some unit amount may “scrub” advance the 2D/3D movie by one frame (i.e., next time increment). Rotating the enclosure counter-clockwise by a unit will decrement the 2D/3D movie by one frame. 
     The present invention has been described with the rotation of the enclosure causing the contents of the display to rotate. It is possible for the rotation of the enclosure to be applied to a specific object (or objects) designated by the user in the scene such that rotation of the enclosure causes the object to rotate about the object center of mass. Additionally, the center of rotation could be varied. For example, normally, the center of rotation is the central axis of the display. However, an object could be selected and then rotating the enclosure rotates the scene about the object&#39;s center axis. Note that rotation of the display contents around any arbitrary axis could be controlled by rotating the display enclosure. 
     The rotational offset of the enclosure could be used to control the rate at which the display contents are rotated. For example, rotating the enclosure 10 degrees to the right makes the display contents rotate at a rate of 10 degrees per second. Rotating the enclosure an additional 10 degrees increases the rotational rate to 20 degrees per second. This is accomplished using the joystick functions that control the rate of movement of virtual objects. Hence, the design variations of joysticks such as “spring-loaded”, isotonic vs isometric and different rate control mappings are applied. 
     Position relative to the enclosure can be used to control rotation of the display. For example, suppose a virtual head is displayed in the volumetric display. Suppose the user approaches the display from the “back of the head” viewpoint. Touching the enclosure on this side causes the display content to rotate 180 degrees so the face of the head faces the user. This can be accomplished by designating a reference for an object and, when a touch occurs, rotating the contents to align the reference with the touch. Rather than using touch to signal position, voice or thermal sensing or any other position sensors could also be used. 
     The typical volumetric displays being manufactured today have mechanical components that have inertia that could cause the mechanical components to distort when the enclosure is rotated quickly. Distortion of the mechanical components can cause the display contents to be distorted. These types of distortion can be measured and the display compensated for these types of distortions. 
     The present invention has been described with respect to actually rotating the enclosure when rotating the scene. The present invention has been described with respect to using a shaft encoder and the enclosure rotating about a centrally positioned shaft. It is possible for the rotational bearing for the enclosure to be on the periphery of the enclosure and the encoder to be mounted to sense the rotation of the periphery of the enclosure. It is possible to provide a ring around the bottom of the display enclosure that can be rotated to rotate the display contents and to thereby not need to rotate the entire enclosure. It is possible, to sense a rotational rate force being applied to the enclosure or a circumferential ring via a rate controller sensor and virtually rotate the displayed scene accordingly. That is, the rotational force is sensed, the enclosure or ring does not actually rotate and the display rotates proportional to the force sensed. 
     The present invention has been described using rotary type encoders to sense rotational motion of the display. It is possible to use other types of sensors such as yaw, pitch and roll sensors to sense rotational force. It is also possible to mount roller wheels/balls around the periphery of the enclosure, sense the rotation of the roller wheels/balls and rotate the display contents accordingly without rotating the enclosure. 
     The volumetric display has been described as a dome or ball, however, other shapes, such as cubes, pyramids, etc., can be used for such displays. The volumetric display also need not have a complete enclosure and the display contents can be projected into an open volume or a partially enclosed volume. 
     It is possible to have a proxy object serve as a representation of the dome. This proxy object can be manipulated (i.e., rotated) and cause the corresponding actions to occur on the volumetric display. Floor sensors can serve to indicate a rotational amount or user position. The size of display may not be desktop scale but could be smaller (e.g., wristwatch or PDA) or much larger (e.g., room scale as in viewing a car) or even much larger (e.g., as in an amusement park ride scale). 
     Another variation is a “volumetric chameleon”. In this variation a volumetric display is mounted on a mechanical armature or trolly that can sense it&#39;s position and orientation in space (i.e., “spatially-aware” display like the Chameleon). For example, imagine using a volumetric display for viewing the internals of a human body. At position A, the volumetric display shows a human liver. The operator then physically moves the volumetric display 16 inches up and 5 inches to the left. Along the way, the internal structures such as the stomach and lungs are displayed until the operator finally stops moving the display when the heart appears. This can be accomplished by sampling the position of the trolly. Using this 3D trolly position, the system finds a corresponding point in a 3D display map. The contents of the display map corresponding to the volume of the display at the corresponding point are transferred to the volumetric display. 
     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. 
     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.