Abstract:
The present invention relates to a method for reducing image instability in a virtual environment due to the transport delay of the image generator and other components of the system. A method is given for determining the error in the generated virtual environment and using this error for shifting the image on the display device thus providing a more accurate and more stable representation to the viewer.

Description:
FIELD OF THE INVENTION 
     The present invention relates to a method and apparatus for displaying a virtual environment on a video display in which small errors in visual orientation of the virtual environment are corrected by carrying out small shifts in the displayed image. The invention relates further to such a method and apparatus in which the visual orientation of the display with respect to the virtual environment is predicted and the next image of the virtual environment generated from the predicted visual orientation is displayed and shifted based on the difference between the actual and predicted visual orientations of the display with respect to the virtual environment. 
     In the case of a head mounted display, the invention reduces &#34;image motion&#34; of the displayed virtual environment resulting from head movements and caused by the transport delay of the image generator and other system components such as the head tracker. 
     BACKGROUND OF THE INVENTION 
     Computer image generators used in simulation and in virtual reality systems have an inherent transport delay due to the finite amount of time taken to perform the various computational algorithms necessary to assemble an image of the virtual environment with proper attributes. The effect of this transport delay on the performance of pilots in flight simulators has been well known for many years and care is taken to minimize such delays in image generation systems specifically designed for flight simulation. A far more obvious effect is seen, however, when image generation systems are coupled to head mounted displays. In these systems, the head position is continually being measured and is used by the image generator to compute the correct scene for the observer&#39;s viewpoint (the visual orientation of the display with respect to the virtual environment). If the observer moves his or her head while looking at a stationary image, the image will move in the direction of the head motion for a period of time corresponding to the total transport delay of the system (including head measuring device) and will only regain the correct position once the observer&#39;s head is stationary. 
     This effect detracts considerably from the utility of the head mounted display and can give rise to nausea. The problem and a reasonably effective solution is described by Uwe List in a U.S. Airforce report entitled &#34;Non Linear Prediction of Head Movements for Helmet Mounted Displays&#34; (AFHRL Technical Paper 83-45 December 1983). In this report, List recommends the use of angular acceleration sensors mounted on the helmet to calculate a predicted head position. Welch and Kruk also suggest this solution in &#34;HDTV Virtual Reality&#34; published in Japan Display 1992. 
     These solutions relate to predicting the visual orientation of the display with respect to the virtual environment for a time in the future approximately equivalent to the present time plus the transport delay of the system. This prediction is accomplished by using measurements of angular head acceleration and/or angular head velocity. The image generator then uses this predicted position to compute the next image. While the prediction of visual orientation or head position can be used in the image generator to greatly reduce the error or discrepancy between the image of the virtual environment being displayed and the correct image of the virtual environment for the actual visual orientation, this technique cannot eliminate such errors completely. Accordingly, it is a primary object of this present invention to provide a relatively inexpensive and simple system to substantially reduce such errors thereby providing a more stable and accurate representation of the virtual environment. 
     SUMMARY OF THE INVENTION 
     Briefly the essence of the present invention is to provide a more stable and accurate representation of a virtual environment by calculating the discrepancy between the angular orientation of the image being displayed and the current visual orientation of the display and use this error to shift the image to the correct position. 
     According to the invention, there is provided a method and apparatus for displaying a virtual environment on a video display comprising the repeated steps of determining a visual orientation of the display with respect to the virtual environment; generating an image of the virtual environment for the visual orientation; the generating requiring a finite delay time; displaying the image on the display; detecting any change in the visual orientation which may have occurred between a time when the visual orientation was determined and the image was generated; and shifting the image on the display an amount equivalent to the change, whereby the display of the virtual environment is more stable and accurate. 
     Preferably, the method according to the invention also includes steps of measuring at least one of an angular velocity and an angular acceleration of the visual orientation; and calculating a predicted visual orientation of the display with respect to the virtual environment based on the visual orientation and at least one of the angular velocity and the angular acceleration, the predicted visual orientation being for a future point in time equal to a present time plus approximately the finite delay time. 
     According to the invention, there is also provided an apparatus for displaying a virtual environment on a video display comprising head position processor means for generating a visual orientation signal indicating a visual orientation of the display with respect to the virtual environment; image generator means for generating an image of the virtual environment for the visual orientation, the image generating means receiving the visual orientation signals, the image generator means having a finite transport delay time for generating and preparing an image for transmission on a video output signal; a display receiving the video output signal for display the image; means for detecting any change in the visual orientation signal from a time when the signal was used by the image generator means to generate the image and a time of display of the image on the display to produce an offset shift signal; and means for shifting the image on the display in response to the offset shift signal, whereby the display of the virtual environment is more stable and accurate. 
     Preferably, the apparatus further comprises means for detecting at least one of an angular velocity and an angular acceleration of the visual orientation for producing a predictive signal; means for calculating a predicted visual orientation of the display with respect to the virtual environment based on the visual orientation signal and the predictive signal to produce a predicted visual orientation signal, the predicted visual orientation signal being connected to the image generator means in place of the visual orientation signal generated by the determining means, the predicted visual orientation signal being for a future point in time equal to a present time plus approximately the transport delay time. 
     The invention thus provides two ways to improve the display of a virtual environment on a video display. In one way, small changes in the visual orientation of the display with respect to the virtual environment are detected and used to control shifting of the image so that small discrepancies between the actual visual orientation and the visual orientation of the displayed image are corrected, whether these small discrepancies result from transport delay or the combination of transport delay and rapid changes in the visual orientation of the display with respect to the virtual environment. In the second way, errors in the prediction of the visual orientation are corrected by shifting of the image on the display. It is preferred that the displayed image is continuously shifted to account for small changes between the actual or present visual orientation and the visual orientation of the image being displayed in order to make the representation of the virtual environment more accurate. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will be better understood by way of the following detailed description of a preferred embodiment of the invention with reference to the appended drawings in which: 
     FIG. 1 illustrates a graph of head acceleration, head position, an example of displayed image position with no prediction correction, and displayed image position using position prediction correction in the case of a computer image generator having a transport delay of 100 milliseconds, as is known in the prior art; 
     FIG. 2 illustrates a block diagram of the virtual environment display apparatus according to the preferred embodiment in which the difference between the actual head position and the predicted head position is used to control horizontal vertical offsets of the video display; 
     FIG. 3 illustrates actual head position, delayed predicted head position and display offset signals on a common time scale for a simple example in which actual head position moves with constant velocity for a time X between positions P 1  and P 2 . ; 
     FIG. 4 illustrates an optical schematic for a display system using a moveable mirror to perform the shifting function; and 
     FIG. 5 illustrates an optical schematic for a display system where the shifting function is performed by a liquid filled prism. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     In the preferred embodiment, the virtual environment video display is a head mounted or helmet mounted display (HMD) of the type known in the art. The helmet is provided with position and angular acceleration sensors as is also known in the art. FIG. 1 illustrates an exemplary acceleration curve as a user moves between two visual orientations. As can be seen, the acceleration is shown in the example to peak at 100 milliseconds with a deceleration or stopping of the head motion commencing near 200 milliseconds and ending near 400 milliseconds with the head of the helmet in its new angular position. In FIG. 1, it is presumed that the head position sensor and the computer image generator requires 100 milliseconds to detect head position and generate an image for the new head position (i.e. the transport delay is 100 ms). The curve illustrating the displayed image orientation with no position prediction correction results in considerable unwanted image motion illustrated near 250 milliseconds as the difference of some 12° by the reference letter E. In the prior art improvement, prediction of future position using acceleration measurements resulted in the dashed line for the image orientation with small but noticeable divergence between the predicted line and the actual head orientation curve. As will be seen below, use of the method and apparatus according to the present invention can result in the displayed image orientation following the actual head orientation more closely resulting in an almost imperceptible amount of image instability. 
     As illustrated in FIG. 2, the apparatus according to the invention comprises a head position processor which receives the output signals from the head position sensor 15a and the head angular acceleration sensors 15c. Optionally, angular head velocity sensors 15b may be provided as well as or in place of the acceleration sensor. The head position processor 10 reads the raw data and outputs an actual head position output signal 11 fed to a summation device 14. The head position processor 10 also predicts the head or helmet position based on actual position and the measurement of the head acceleration and/or head velocity. If a head velocity sensor is not used, the velocity is calculated from either differentiating position or preferably integrating acceleration. The head position is predicted for a point in time ahead in the future by an amount equivalent to the transport delay inherent in the system. The predicted head position signal 13 is fed into a delay circuit 18 which delays the signal by an amount of time equal to the transport delay before feeding it to the summation device 14 where it is subtracted from the actual head position signal on line 11. This difference signal is fed to offset processors 16 and 17 where the vertical and horizontal offsets respectively are determined resulting in the vertical and horizontal offset signals fed to display 20. 
     In the case that the display is a CRT (cathode ray tube) video display, the horizontal and vertical offset signals are fed to horizontal and vertical scan circuits. 
     In the case that the shifting of the image is to be done optically, transducers 22 may be used to change the angular orientation of a mirror as illustrated in FIG. 4 or similar transducers may be used to change a refraction of the image passing through a liquid filled prism 36 having transparent cover plates 34 and 36 moveable in angular orientation with respect to one another as shown in FIG. 5. In both FIGS. 4 and 5, the shifted image is viewed through an eyepiece 40 by an eye 21 The vertical and horizontal offsets can alternatively be carried out by image position shifting within the video display controller, a video display controller as disclosed in U.S. Pat. No. 4,737,778 (Nishi et al) may be used to vertically and horizontally shift the whole video image displayed on the screen of the video display unit 20. 
     In the example illustrated in FIG. 3, the observer&#39;s helmet position moves from a position P 1  to a position P 2  under constant velocity. This example is simplified in that it does not take into consideration normal acceleration and deceleration. In the first time frame labeled as the transport delay, the display offset in one or both of the horizontal and vertical directions is illustrated to ramp upwardly for the duration of the transport delay, at which time the display offset is set back to zero and the new image is displayed on the display 20. The resetting of the display offset and the update in the image of the virtual environment takes place without the observer seeing a sharp change in the image. At the point in time X when the actual head position has reached P 2  and stopped, the predicted head position based on the previous velocity is for a position which continues along the same path beyond the position P 2 . At the instant that the actual head position stops and the delayed predicted head position continues to increase, the display offset is ramped to decrease so that the observed image is stationary in keeping with the actual head position. 
     Although the invention has been described as applied to a virtual environment system using a computer image generator as the image source, it can, with suitable modifications, take into account certain operational differences that will be apparent to one skilled in the art, be applied to virtual presence or telepresence systems which use image sensors such as television cameras mounted on head slaved gimbal systems. Accordingly, it is within the contemplation of the invention and the claims are intended to encompass all types of virtual environment systems where transport delays would normally cause image instability.