Ground plane adjustment in a virtual reality environment

Information

  • Patent Grant
  • 10649212
  • Patent Number
    10,649,212
  • Date Filed
    Thursday, August 17, 2017
    6 years ago
  • Date Issued
    Tuesday, May 12, 2020
    4 years ago
Abstract
An HMD device is configured to vertically adjust the ground plane of a rendered virtual reality environment that has varying elevations to match the flat real world floor so that the device user can move around to navigate and explore the environment and always be properly located on the virtual ground and not be above it or underneath it. Rather than continuously adjust the virtual reality ground plane, which can introduce cognitive dissonance discomfort to the user, when the user is not engaged in some form of locomotion (e.g., walking), the HMD device establishes a threshold radius around the user within which virtual ground plane adjustment is not performed. The user can make movements within the threshold radius without the HMD device shifting the virtual terrain. When the user moves past the threshold radius, the device will perform an adjustment as needed to match the ground plane of the virtual reality environment to the real world floor.
Description
BACKGROUND

Virtual reality computing devices, such as head mounted display (HMD) systems and handheld mobile devices (e.g. smart phones, tablet computers, etc.), may be configured to display a virtual reality environment to a user in the field of view of the user and/or a field of view of a camera of the device. Similarly, a mobile device may display such information using a camera viewfinder window.


This Background is provided to introduce a brief context for the Summary and Detailed Description that follow. This Background is not intended to be an aid in determining the scope of the claimed subject matter nor be viewed as limiting the claimed subject matter to implementations that solve any or all of the disadvantages or problems presented above.


SUMMARY

An HMD device is configured to vertically adjust the ground plane of a rendered virtual reality environment that has varying elevations (e.g., steps, curbs, ramps, undulations, hills, etc.) to match the flat real world floor so that the device user can move around to navigate and explore the environment and always be properly located on the virtual ground and not be above it or underneath it. Rather than continuously adjust the virtual reality ground plane, which can introduce cognitive dissonance discomfort to the user, when the user is not engaged in some form of locomotion (e.g., walking), the HMD device establishes a threshold radius around the user within which virtual ground plane adjustment is not performed.


The user can make movements within the threshold radius such as moving his head to look around, bending down, and changing position without the HMD device shifting the virtual terrain. When the user moves past the threshold radius, the device will perform an adjustment as needed to match the ground plane of the virtual reality environment to the real world floor. This technique enables effective and performant rendering of virtual environments having variable elevations so that, for example, users do not end up walking through virtual hills or curbs (which reduces the immersiveness of the experience) while reducing the opportunities for user discomfort.


This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure. It may be appreciated that the above-described subject matter may be implemented as a computer-controlled apparatus, a computer process, a computing system, or as an article of manufacture such as one or more computer-readable storage media. These and various other features may be apparent from a reading of the following Detailed Description and a review of the associated drawings.





DESCRIPTION OF THE DRAWINGS


FIGS. 1 and 2 show illustrative virtual reality environments, portions of which are rendered within the view of a user of an HMD device;



FIG. 3 shows an illustrative real world environment in which a user of an HMD device is located;



FIG. 4 depicts surface reconstruction data associated with real world objects being captured by an HMD device;



FIG. 5 shows a block diagram of an illustrative surface reconstruction pipeline;



FIG. 6 shows an illustrative ground plane adjustment process that may be alternatively implemented as a location-based process or as a time/frame-based process;



FIG. 7 illustratively depicts a threshold radius that is established around an HMD device user, in which the virtual world ground plane is adjusted to match the real world floor when the user has moved beyond the threshold;



FIG. 8 shows ground plane adjustment illustratively performed in chunks with smoothed transitions between chunks as an HMD device user moves in virtual/real worlds;



FIG. 9 shows an illustrative ground plane adjustment process in which the threshold radius is variable;



FIG. 10 shows an illustrative ground plane adjustment process that is performed in response to various inputs;



FIG. 11 shows an illustrative time/frame-based ground plane adjustment process;



FIGS. 12, 13, and 14 are flowcharts of illustrative methods that may be performed using an HMD device;



FIG. 15 is a pictorial view of an illustrative example of a virtual reality HMD device;



FIG. 16 shows a functional block diagram of an illustrative example of a virtual reality HMD device;



FIGS. 17-18 are pictorial front views of an illustrative sealed visor that may be used as a component of a virtual reality HMD device;



FIG. 19 shows a view of the sealed visor when partially disassembled;



FIG. 20 shows a phantom line front view of the sealed visor;



FIG. 21 shows a pictorial back of the sealed visor; and



FIG. 22 shows an exemplary computing system.





Like reference numerals indicate like elements in the drawings. Elements are not drawn to scale unless otherwise indicated.


DETAILED DESCRIPTION

Users can typically explore, navigate, and move within a virtual reality environment rendered by an HMD device by moving (e.g., through some form of locomotion) within a corresponding real world, physical space. In an illustrative example, as shown in FIG. 1, a user 102 can employ an HMD device 104 to experience a virtual reality environment 100 that is rendered visually and may include audio and/or tactile/haptic sensations in some implementations. In this particular non-limiting example, the virtual reality environment 100 includes city streets with various buildings, stores, etc., that the user 102 can see and interact with. As the user changes the position or orientation of his head and/or moves within real world space, his view of the virtual reality environment can change. The field of view (represented by the dashed area 110 in FIG. 1) can be sized and shaped and other characteristics of the device can be controlled to make the HMD device experience visually immersive to provide the user with a strong sense of presence in the virtual world.


The cityscape of the virtual reality environment 100 can have varying virtual elevations such as streets that go up and down hills, ramps, steps, and curbs, among other features. Another exemplary virtual reality environment 200 shown in FIG. 2 includes a virtual outdoor landscape with rolling, undulating, and hilly terrain having varying virtual elevations.


As shown in FIG. 3, the user typically occupies a physical, real world space 300 that has a substantially flat floor 305 when using the HMD device 104. Because the physical floor 305 is flat without changes in real world elevation, the user can experience cognitive dissonance due to the mismatch that is created from conflicting sensory signals as the user experiences changing elevations in the virtual reality environment. That is, the user's visual senses through the HMD device 104 can indicate that the user is moving up or down while walking in the virtual environment but the physical sense of interacting with the flat physical floor can conflict and cause user discomfort in some cases.


The present HMD device 104 can automatically adjust the ground plane of the virtual environment to match the real world floor when the user is engaged in a virtual reality environment in a way that effectively maintains immersion while minimizing user discomfort due to cognitive dissonance. As shown in FIG. 4, the device is configured to obtain surface reconstruction data 400 by using an integrated depth sensor 405 to sense the user's position within the physical space 300 including the height of the user's head from the real world floor 305. In alternative implementations, depth data can be derived using suitable stereoscopic image analysis techniques.



FIG. 5 shows an illustrative surface reconstruction data pipeline 500 for obtaining surface reconstruction data for objects in the real world space. It is emphasized that the disclosed technique is illustrative and that other techniques and methodologies may be utilized depending on the requirements of a particular implementation. Raw depth sensor data 502 is input into a 3D (three-dimensional) pose estimate of the sensor (block 504). Sensor pose tracking can be achieved, for example, using ICP (iterative closest point) alignment between the predicted surface and current sensor measurement. Each depth measurement of the sensor can be integrated (block 506) into a volumetric representation using, for example, surfaces encoded as a signed distance field (SDF). Using a loop, the SDF is raycast (block 508) into the estimated frame to provide a dense surface prediction to which the depth map is aligned. Thus, when the user 102 looks around the virtual world, surface reconstruction data associated with the real world space 300 can be collected and analyzed to determine the user's head position and orientation within the space including its height from the floor.


As shown in FIG. 6, the present process 600 to adjust the virtual reality ground plane to match the real world floor can be alternatively performed using a location-based approach 605 or a time/frame-based approach 610. The location-based approach is presented first.


In the location-based approach, as shown in FIG. 7, a threshold radius 705 is established around the user when the user is stationary and not traversing the virtual world. While the user is located within the threshold radius 705, no virtual reality ground plane adjustment is performed. The user can move his head by looking around, bending, squatting, kneeling, or sitting, etc., but as long as the user stays within the radius threshold, no adjustment is performed. When the user's head is determined to be outside the threshold radius 705, which indicates that the user is walking and traversing the virtual world, then the HMD device will render the virtual environment so that the virtual ground and real world floor are matched. Therefore typically, only horizontal translation of the user's head outside the threshold radius and not vertical translation within the threshold is utilized to trigger a ground plane adjustment.


The radius, r can be selected according to particular implementation requirements. Generally, the threshold radius is sized to enable the user to make relatively small movements that are not associated with walking. By refraining from adjusting the ground plane in such cases, the user's comfort is maintained since the virtual terrain is not moved when the user is standing in place and not walking. For example, and not as a limitation on the present techniques, the radius can be approximately a half meter to provide a satisfactory balance between user comfort and accurate rendering of a virtual environment in some implementations. Other illustrative non-limiting ranges for the radius may be between approximately one-quarter and three-quarters of a meter.


The virtual reality ground plane adjustment may be performed for discrete chunks of virtual terrain in some implementations. For example as shown in FIG. 8, as the user traverses the virtual and physical worlds, ground plane adjustments to match the real world floor are performed on a non-continuous basis in which separate threshold radii (respectively indicated by reference numerals 802, 804, and 806) are established along the user's traversal path 810. While the path 810 is depicted as a straight line, it is emphasized that paths can follow any arbitrary route and are not necessarily straight. Virtual reality ground plane adjustment is not performed while the user 102 is within each threshold radius, but is performed when the user crosses the threshold into the adjoining threshold radius. Accordingly, in a non-limiting example, the virtual reality ground plane can be aligned to match the real world floor in one meter chunks.


The ground plane adjustment can be optionally subjected to some degree of smoothing as the user transitions between adjoining virtual terrain chunks, as indicated by the triangle elements in FIG. 8 (representatively indicated by reference numeral 812). Additional filtering and/or implementation-specific filtering can also be utilized in some scenarios, such as virtual reality environments that are noisy with respect to elevation changes such as rock-strewn terrain.


The threshold radii used in a given implementation can be variably sized as shown in FIG. 9. For example, it may be desirable to make a threshold radius smaller when the user is near a portion of a virtual reality environment that has abrupt elevation changes such as a ravine, cliff, etc. in an outdoor terrain, or a ledge, train platform, etc. in a cityscape.


As shown in FIG. 10, the ground plane adjustment process 1005 can be implemented responsively to various inputs. User input 1010 may be used to manually trigger an alignment of the virtual reality ground plane with the real world floor. For example, the HMD device 104 can be configured to expose a user interface that enables such manual triggering and can include manipulation of controls, voice commands or natural language inputs, gestures, or other actions. For example, the user's action of looking at the virtual ground could be utilized to trigger a ground place adjustment with the real world floor. The virtual terrain type or topology 1015 at the user's current location is another exemplary input to the process 1005. As noted above, the presence of abrupt elevation changes may be used to implement differently sized threshold radii. In addition, the user's direction of travel 1020 in the virtual world, such as whether the user is going uphill or downhill in an outdoor environment, or up and down steps in a cityscape, can be utilized as an input to the process. For example, the threshold radii can be sized differently when going uphill as compared to downhill, or ground plane adjustment can be solely implemented, in some cases, when the user is going downhill, but not when going uphill.


Turning now to the time/frame-based ground plane adjustment approach discussed above, FIG. 11 shows an illustrative process 1105 that may be performed on a rendering frame-by-frame basis, a group of frames basis, or other time-based metric. Here, the virtual reality ground plane can be continuously adjusted to match the real world floor at each frame or frame group. The ground plane adjustment can be subjected to a smoothing and/or filtering step 1110 to smooth the transitions between adjustments or filter out noise to help reduce user discomfort due to cognitive dissonance.



FIGS. 12, 13, and 14 are flowcharts of illustrative methods that may be performed using the HMD device 104. Unless specifically stated, the methods or steps shown in the flowcharts and described in the accompanying text are not constrained to a particular order or sequence. In addition, some of the methods or steps thereof can occur or be performed concurrently and not all the methods or steps have to be performed in a given implementation depending on the requirements of such implementation and some methods or steps may be optionally utilized.


Method 1200 in FIG. 12 may be performed by an HMD device that supports rendering of a virtual reality environment. In step 1205, sensor data is obtained which describes a physical space that adjoins a user of an HMD device. The sensor data can include, for example, depth data using a depth sensor that is integrated into the HMD device or be obtained from an external sensor or source. Depth-from-stereo imaging analyses may also be used to create depth data. In step 1210, the sensor data is used to reconstruct a geometry of the physical space, for example, using surface reconstruction.


In step 1215, a threshold radius is established around the head location. The ground plane is maintained in its current configuration when the head location is within the threshold radius in step 1220. Typically, the horizontal translation of the head location is utilized when determining if the location is within the threshold radius and vertical translation is not considered. In step 1225, the ground plane is adjusted as needed to match the real world floor when the head location is outside the threshold radius.


The adjustment of the virtual reality ground plane may be performed responsively to user input, virtual terrain type, or travel path in the virtual world in step 1230. For example, the user may manually invoke an adjustment in some implementations, the threshold radius can be variably sized according to the type of terrain being encountered, and adjustments can be dependent on whether the user is going uphill or downhill in the virtual reality environment.


In step 1235, the ground plane can be adjusted for one or more discrete chunks of virtual terrain along the user's path of traversal in the virtual world, and smoothing of transitions and/or filtering can be utilized in step 1240.


Method 1300 in FIG. 13 may be performed by an HMD device having one or more processors, a display for rendering a virtual reality environment, and one or more memory devices that store computer-readable instructions such as software code that can be utilized to implement the method. In step 1305, surface reconstruction data is generated using a depth sensor or camera system. In step 1310, the surface reconstruction data is used to determine a height of the user's head from the real world floor and to determine when the user has moved beyond a threshold radius that is established around the user in step 1315. Various suitable surface reconstruction techniques may be utilized including that shown in the pipeline in FIG. 5 in which multiple overlapping surfaces are integrated. The HMD device is operated in step 1320 to render the virtual reality environment on the display so that the ground plane is aligned with the real world floor based on the determined height when the user has moved beyond the threshold radius.


Method 1400 in FIG. 14 may be performed by instructions stored on an HMD device operating in a physical space and having a display that renders a virtual reality environment. In step 1405, a model of the physical space is dynamically generated and updated using surface reconstruction. That is, the model can be updated, for example, on a frame-by-frame or other suitable basis, as the user moves within the physical space. The current surface reconstructed model is utilized to determine a height of the user's head from the real world floor in the physical space in step 1410. In step 1415, the head height is used to vertically adjust the ground plane of the virtual reality environment to align with the real world floor. The vertical adjustment can be performed, for example, on a frame-by-frame basis, group of frames basis, or other time-based approach. Alternatively, a location-based approach may be utilized in which a threshold radius is established around the user and no vertical adjustment is performed unless the user moves beyond the threshold radius. Transition smoothing and/or filtering can be utilized in both the time-based and location-based approaches in some implementations.


Turning now to various illustrative implementation details, a see-through, mixed reality display device according to the present arrangement may take any suitable form, including but not limited to near-eye devices such as the HMD device 104 and/or other portable/mobile devices. FIG. 15 shows one particular illustrative example of a see-through, mixed reality display system 1500, and FIG. 16 shows a functional block diagram of the system 1500. Display system 1500 comprises one or more lenses 1502 that form a part of a see-through display subsystem 1504, such that images may be displayed using lenses 1502 (e.g. using projection onto lenses 1502, one or more waveguide systems incorporated into the lenses 1502, and/or in any other suitable manner). Display system 1500 further comprises one or more outward-facing image sensors 1506 configured to acquire images of a background scene and/or physical space being viewed by a user, and may include one or more microphones 1508 configured to detect sounds, such as voice commands from a user. Outward-facing image sensors 1506 may include one or more depth sensors and/or one or more two-dimensional image sensors. In alternative arrangements, a mixed reality display system, instead of incorporating a see-through display subsystem, may display mixed reality images through a viewfinder mode for an outward-facing image sensor.


The display system 1500 may further include a gaze detection subsystem 1510 configured for detecting a direction of gaze of each eye of a user or a direction or location of focus, as described above. Gaze detection subsystem 1510 may be configured to determine gaze directions of each of a user's eyes in any suitable manner. For example, in the illustrative example shown, a gaze detection subsystem 1510 includes one or more glint sources 1512, such as infrared light sources, that are configured to cause a glint of light to reflect from each eyeball of a user, and one or more image sensors 1514, such as inward-facing sensors, that are configured to capture an image of each eyeball of the user. Changes in the glints from the user's eyeballs and/or a location of a user's pupil, as determined from image data gathered using the image sensor(s) 1514, may be used to determine a direction of gaze.


In addition, a location at which gaze lines projected from the user's eyes intersect the external display may be used to determine an object at which the user is gazing (e.g. a displayed virtual object and/or real background object). Gaze detection subsystem 1510 may have any suitable number and arrangement of light sources and image sensors. In some implementations, the gaze detection subsystem 1510 may be omitted.


The display system 1500 may also include additional sensors. For example, display system 1500 may comprise a global positioning system (GPS) subsystem 1516 to allow a location of the display system 1500 to be determined. This may help to identify real world objects, such as buildings, etc. that may be located in the user's adjoining physical environment.


The display system 1500 may further include one or more motion sensors 1518 (e.g., inertial, multi-axis gyroscopic or acceleration sensors) to detect movement and position/orientation/pose of a user's head when the user is wearing the system as part of an augmented reality HMD device. Motion data may be used, potentially along with eye-tracking glint data and outward-facing image data, for gaze detection, as well as for image stabilization to help correct for blur in images from the outward-facing image sensor(s) 1506. The use of motion data may allow changes in gaze location to be tracked even if image data from outward-facing image sensor(s) 1506 cannot be resolved.


In addition, motion sensors 1518, as well as microphone(s) 1508 and gaze detection subsystem 1510, also may be employed as user input devices, such that a user may interact with the display system 1500 via gestures of the eye, neck and/or head, as well as via verbal commands in some cases. It may be understood that sensors illustrated in FIGS. 15 and 16 and described in the accompanying text are included for the purpose of example and are not intended to be limiting in any manner, as any other suitable sensors and/or combination of sensors may be utilized to meet the needs of a particular implementation of an augmented reality HMD device. For example, biometric sensors (e.g., for detecting heart and respiration rates, blood pressure, brain activity, body temperature, etc.) or environmental sensors (e.g., for detecting temperature, humidity, elevation, UV (ultraviolet) light levels, etc.) may be utilized in some implementations.


The display system 1500 can further include a controller 1520 having a logic subsystem 1522 and a data storage subsystem 1524 in communication with the sensors, gaze detection subsystem 1510, display subsystem 1504, and/or other components through a communications subsystem 1526. The communications subsystem 1526 can also facilitate the display system being operated in conjunction with remotely located resources, such as processing, storage, power, data, and services. That is, in some implementations, an HMD device can be operated as part of a system that can distribute resources and capabilities among different components and subsystems.


The storage subsystem 1524 may include instructions stored thereon that are executable by logic subsystem 1522, for example, to receive and interpret inputs from the sensors, to identify location and movements of a user, to identify real objects using surface reconstruction and other techniques, and dim/fade the display based on distance to objects so as to enable the objects to be seen by the user, among other tasks.


The display system 1500 is configured with one or more audio transducers 1528 (e.g., speakers, earphones, etc.) so that audio can be utilized as part of an augmented reality experience. A power management subsystem 1530 may include one or more batteries 1532 and/or protection circuit modules (PCMs) and an associated charger interface 1534 and/or remote power interface for supplying power to components in the display system 1500.


It may be appreciated that the depicted display devices 104 and 1500 are described for the purpose of example, and thus are not meant to be limiting. It is to be further understood that the display device may include additional and/or alternative sensors, cameras, microphones, input devices, output devices, etc. than those shown without departing from the scope of the present arrangement. Additionally, the physical configuration of a display device and its various sensors and subcomponents may take a variety of different forms without departing from the scope of the present arrangement.



FIGS. 17-21 show an illustrative alternative implementation for an augmented reality display system 1700 that may be used as a component of an HMD device. In this example, the system 1700 uses a see-through sealed visor 1702 that is configured to protect the internal optics assembly utilized for the see-through display subsystem. The visor 1702 is typically interfaced with other components of the HMD device (not shown) such as head mounting/retention systems and other subsystems including sensors, power management, controllers, etc., as illustratively described in conjunction with FIGS. 15 and 16. Suitable interface elements (not shown) including snaps, bosses, screws and other fasteners, etc. may also be incorporated into the visor 1702.


The visor includes see-through front and rear shields 1704 and 1706 respectively that can be molded using transparent materials to facilitate unobstructed vision to the optical displays and the surrounding real world environment. Treatments may be applied to the front and rear shields such as tinting, mirroring, anti-reflective, anti-fog, and other coatings, and various colors and finishes may also be utilized. The front and rear shields are affixed to a chassis 1805 as depicted in the partially exploded view in FIG. 18 in which a shield cover 1810 is shown as disassembled from the visor 1702.


The sealed visor 1702 can physically protect sensitive internal components, including an optics display subassembly 1902 (shown in the disassembled view in FIG. 19) when the HMD device is worn and used in operation and during normal handling for cleaning and the like. The visor 1702 can also protect the optics display subassembly 1902 from environmental elements and damage should the HMD device be dropped or bumped, impacted, etc. The optics display subassembly 1902 is mounted within the sealed visor in such a way that the shields do not contact the subassembly when deflected upon drop or impact.


As shown in FIGS. 19 and 21, the rear shield 1706 is configured in an ergonomically correct form to interface with the user's nose and nose pads 2104 (FIG. 21) and other comfort features can be included (e.g., molded-in and/or added-on as discrete components). The sealed visor 1702 can also incorporate some level of optical diopter curvature (i.e., eye prescription) within the molded shields in some cases.



FIG. 22 schematically shows a non-limiting embodiment of a computing system 2200 that can be used when implementing one or more of the configurations, arrangements, methods, or processes described above. The HMD device 104 may be one non-limiting example of computing system 2200. The computing system 2200 is shown in simplified form. It may be understood that virtually any computer architecture may be used without departing from the scope of the present arrangement. In different embodiments, computing system 2200 may take the form of a display device, wearable computing device, mainframe computer, server computer, desktop computer, laptop computer, tablet computer, home-entertainment computer, network computing device, gaming device, mobile computing device, mobile communication device (e.g., smart phone), etc.


The computing system 2200 includes a logic subsystem 2202 and a storage subsystem 2204. The computing system 2200 may optionally include a display subsystem 2206, an input subsystem 2208, a communication subsystem 2210, and/or other components not shown in FIG. 22.


The logic subsystem 2202 includes one or more physical devices configured to execute instructions. For example, the logic subsystem 2202 may be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, or otherwise arrive at a desired result.


The logic subsystem 2202 may include one or more processors configured to execute software instructions. Additionally or alternatively, the logic subsystem 2202 may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. The processors of the logic subsystem 2202 may be single-core or multi-core, and the programs executed thereon may be configured for sequential, parallel, or distributed processing. The logic subsystem 2202 may optionally include individual components that are distributed among two or more devices, which can be remotely located and/or configured for coordinated processing. Aspects of the logic subsystem 2202 may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud-computing configuration.


The storage subsystem 2204 includes one or more physical devices configured to hold data and/or instructions executable by the logic subsystem 2202 to implement the methods and processes described herein. When such methods and processes are implemented, the state of the storage subsystem 2204 may be transformed—for example, to hold different data.


The storage subsystem 2204 may include removable media and/or built-in devices. The storage subsystem 2204 may include optical memory devices (e.g., CD (compact disc), DVD (digital versatile disc), HD-DVD (high definition DVD), Blu-ray disc, etc.), semiconductor memory devices (e.g., RAM (random access memory), ROM (read only memory), EPROM (erasable programmable ROM), EEPROM (electrically erasable ROM), etc.) and/or magnetic memory devices (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM (magneto-resistive RAM), etc.), among others. The storage subsystem 2204 may include volatile, nonvolatile, dynamic, static, read/write, read-only, random-access, sequential-access, location-addressable, file-addressable, and/or content-addressable devices.


It may be appreciated that the storage subsystem 2204 includes one or more physical devices, and excludes propagating signals per se. However, in some implementations, aspects of the instructions described herein may be propagated by a pure signal (e.g., an electromagnetic signal, an optical signal, etc.) using a communications medium, as opposed to being stored on a storage device. Furthermore, data and/or other forms of information pertaining to the present arrangement may be propagated by a pure signal.


In some embodiments, aspects of the logic subsystem 2202 and of the storage subsystem 2204 may be integrated together into one or more hardware-logic components through which the functionality described herein may be enacted. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC) systems, and complex programmable logic devices (CPLDs), for example.


When included, the display subsystem 2206 may be used to present a visual representation of data held by storage subsystem 2204. This visual representation may take the form of a graphical user interface (GUI). As the present described methods and processes change the data held by the storage subsystem, and thus transform the state of the storage subsystem, the state of the display subsystem 2206 may likewise be transformed to visually represent changes in the underlying data. The display subsystem 2206 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic subsystem 2202 and/or storage subsystem 2204 in a shared enclosure in some cases, or such display devices may be peripheral display devices in others.


When included, the input subsystem 2208 may include or interface with one or more user-input devices such as a keyboard, mouse, touch screen, or game controller. In some embodiments, the input subsystem may include or interface with selected natural user input (NUI) components. Such components may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Exemplary NUI components may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing components for assessing brain activity.


When included, the communication subsystem 2210 may be configured to communicatively couple the computing system 2200 with one or more other computing devices. The communication subsystem 2210 may include wired and/or wireless communication devices compatible with one or more different communication protocols. As non-limiting examples, the communication subsystem may be configured for communication via a wireless telephone network, or a wired or wireless local- or wide-area network. In some embodiments, the communication subsystem may allow computing system 2200 to send and/or receive messages to and/or from other devices using a network such as the Internet.


Various exemplary embodiments of the present ground plane adjustment in a virtual reality environment are now presented by way of illustration and not as an exhaustive list of all embodiments. An example includes a method performed by a head mounted display (HMD) device supporting rendering of a virtual reality environment, comprising: obtaining sensor data describing a physical space adjoining a user of the HMD device; using the sensor data, reconstructing a geometry of the physical space including a real world floor; using the reconstructed geometry, determining a location of the user's head in the physical space including a height of the user's head from the real world floor; establishing a threshold radius around the location; maintaining a ground plane for the virtual reality environment when the location is within the threshold radius; and adjusting the ground plane as needed to match the real world floor when the location is outside the threshold radius.


In another example, the sensor data includes depth data and the method further includes generating the sensor data using a depth sensor and applying surface reconstruction techniques to reconstruct the physical space geometry. In another example, the method further includes generating depth data using one or more depth-from-stereo imaging analyses. In another example, the method further includes varying the threshold radius according to terrain type in the virtual reality environment. In another example, the method further includes configuring the HMD device to expose a user interface (UI) to the user and performing the adjusting responsively to user input to the UI. In another example, the method further includes performing the adjusting depending on a traversal path of the user in the virtual reality environment, the path being one of a path having increasing virtual elevation or a path having decreasing virtual elevation. In another example, the method further includes performing the adjusting for each of one or more discrete chunks of the virtual reality environment along a traversal path. In another example, the method further includes applying smoothing or filtering when adjusting ground plane. In another example, the method further includes determining the height using surface reconstruction data obtained when the user looks down at the virtual reality environment ground plane. In another example, the threshold radius has a value between one-quarter and three-quarters of a meter.


A further example includes a head mounted display (HMD) device operable by a user in a physical environment having a real world floor, comprising: one or more processors; a display for rendering a virtual reality environment to the user; and one or more memory devices storing computer-readable instructions which, when executed by the one or more processors, perform a method comprising the steps of: generating surface reconstruction data using a depth sensor or camera system, using the surface reconstruction data, determining a height of the user's head from the real world floor, using the surface reconstruction data, detecting when the user has moved beyond a threshold radius that is established around the user, operating the HMD device to render the virtual reality environment on the display so that the ground plane is aligned with the real world floor based on the determined height when the user has moved beyond the threshold radius.


In another example, the HMD device further includes using the surface reconstruction data to determine whether the user is traversing the virtual reality environment and establishing the threshold radius when the user is not traversing the virtual reality environment. In another example, the HMD device further includes performing the operating responsively to user input, virtual terrain type, and direction of traversal in the virtual reality environment. In another example, the HMD device further includes varying the threshold radius when the user is proximate to a portion of the virtual reality environment that includes abrupt changes in elevation. In another example, the HMD device further includes modeling the physical environment using a surface reconstruction data pipeline that implements a volumetric method creating multiple overlapping surfaces that are integrated. In another example, the HMD device further includes a sealed protective visor that substantially encases the display.


A further example includes one or more computer readable memories storing computer-executable instructions for rendering a virtual reality environment having variable virtual elevations on a head mounted display (HMD) device located in a physical space having a floor, the method comprising the steps of: using surface reconstruction to dynamically generate and update a model of the physical space as the user traverses the virtual reality environment; determining a height of the user's head from the floor of the physical space using the model; and using the determined height, vertically adjusting a ground plane of the virtual reality environment to align with the floor of the physical space.


In another example, the one or more computer readable memories further include performing the vertical adjustment on a frame-by-frame basis or a group of frames basis. In another example, the one or more computer readable memories further include filtering or smoothing the vertical adjustment. In another example, the one or more computer readable memories further include using the model to determine a location of the user's head in the physical space, establishing a threshold radius around a location, maintaining a current alignment of the ground plane when the location is within the threshold radius, and performing the vertical adjustment of the ground plane when the location is beyond the threshold radius.


Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims
  • 1. A method for rendering a virtual reality environment having a virtual ground plane on a head mounted display (HMD) device located in a physical space having a floor, comprising: rendering, to a user of the HMD device, one or more virtual images in a stream of frames in which the virtual images are rendered with respect to the virtual ground plane, the virtual ground plane having variable elevations in the virtual reality environment;using a depth sensor to generate surface reconstruction data of the physical space;determining a position of the user's head within the physical space using the surface reconstruction data;dynamically adjusting the virtual ground plane to align with the floor of the physical space on a frame-by-frame basis, or group of frames basis; andduring transitions between chunks of the virtual ground plane, subjecting the dynamic adjustment of the alignment of the virtual ground plane to smoothing on the frame-by-frame basis or group of frames basis,wherein the dynamic adjustment of the alignment of the virtual ground plane is performed according to the determined position of the user's head within the physical space.
  • 2. The method of claim 1 including using the surface reconstruction data to determine a location of the user's head in the physical space, establishing a threshold radius around the location, maintaining a current alignment of the ground plane when the location is within the threshold radius, and performing the adjustment of the ground plane when the location is beyond the threshold radius.
  • 3. The method of claim 1 in which the surface reconstruction data is generated using one or more depth-from-stereo imaging analyses.
  • 4. The method of claim 1 further including configuring the HMD device to expose a user interface (UI) to the user and performing the adjusting of the virtual ground plane responsively to user input to the UI.
  • 5. The method of claim 1 further including performing the virtual ground plane adjusting depending on a traversal path of the user in the virtual reality environment, the path being one of a path having increasing virtual elevation or a path having decreasing virtual elevation.
  • 6. The method of claim 5 further including performing the adjusting for each of one or more discrete chunks of the virtual reality environment along the traversal path.
  • 7. The method of claim 1 further including determining the height using surface reconstruction data obtained when the user looks down at the virtual reality environment ground plane.
  • 8. A head mounted display (HMD) device operable by a user in a physical environment having a real world floor, comprising: one or more processors;a display for rendering a virtual reality environment to the user, the virtual reality environment including a ground plane with different elevations at different locations within the virtual reality environment; andone or more memory devices storing computer-readable instructions which, when executed by the one or more processors, perform a method comprising the steps of: generating surface reconstruction data using a depth sensor or camera system,using the surface reconstruction data, determining a position of the user's head within the physical environment,operating the HMD device to render the virtual reality environment on the display to align a ground plane of the virtual reality environment with the real world floor based on the determined height, wherein the alignment is performed dynamically based on a time-based metric, andsubjecting the dynamic alignment of the virtual ground plane based on the time-based metric to smoothing, wherein the dynamic alignment is performed according to the determined position of the user's head within the physical environment.
  • 9. The HMD device of claim 8 in which the time-based metric is one of rate of a frame or group of frames.
  • 10. The HMD device of claim 8 further including using the surface reconstruction data to determine whether the user is traversing the virtual reality environment and establishing a threshold radius when the user is not traversing the virtual reality environment.
  • 11. The HMD device of claim 10 further including maintaining a current alignment of the ground plane when the location is within the threshold radius, and performing the alignment of the ground plane when the location is beyond the threshold radius.
  • 12. The HMD device of claim 11 further including varying the threshold radius when the user is proximate to a portion of the virtual reality environment that includes abrupt changes in elevation.
  • 13. The HMD device of claim 11 further including modeling the physical environment using a surface reconstruction data pipeline that implements a volumetric method creating multiple overlapping surfaces that are integrated.
  • 14. One or more computer readable memory devices not consisting of propagating signals storing computer-executable instructions for rendering a virtual reality environment having variable virtual elevations on a head mounted display (HMD) device located in a physical space having a floor, the method comprising the steps of: using one or more sensors in the HMD device to dynamically generate and update a model of the physical space as the user traverses the virtual reality environment;determining a position of the user's head within the physical space using the model;displaying a portion of the virtual reality environment in a display of the HMD device using a succession of video frames; andusing the determined position, matching an elevation of a ground plane of the virtual reality environment with the floor of the physical space in one or more frames of video,wherein the matching is performed on a frame-by-frame basis or a group of frames basis according to the determined position of the user's head within the physical space.
  • 15. The one or more computer-readable memory devices of claim 14 in which the matching is performed continuously.
  • 16. The one or more computer-readable memory devices of claim 14 further including suppressing the matching when the user remains at a stationary location in the virtual reality environment.
  • 17. The one or more computer-readable memory devices of claim 14 further including suppressing the matching when the user is located within a predetermined threshold to a point in the virtual reality environment.
  • 18. The one or more computer-readable memory devices of claim 17 further including resuming the matching when the user moves past the threshold.
STATEMENT OF RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 14/611,447, filed Feb. 2, 2015, entitled, “GROUND PLANE ADJUSTMENT IN A VIRTUAL REALITY ENVIRONMENT”, which claims benefit and priority to U.S. Provisional Application Ser. No. 62/029,351 filed Jul. 25, 2014, entitled “Head Mounted Display Experiences” which are incorporated herein by reference in their entirety.

US Referenced Citations (159)
Number Name Date Kind
5748189 Trueblood May 1998 A
5819206 Horton et al. Oct 1998 A
5877748 Redlich Mar 1999 A
6012926 Hodges et al. Jan 2000 A
6023275 Horvitz et al. Feb 2000 A
6329986 Cheng Dec 2001 B1
6396495 Parghi et al. May 2002 B1
6396497 Reichlen May 2002 B1
6529331 Massof et al. Mar 2003 B2
6552698 Walker et al. Apr 2003 B1
6741241 Jaubert et al. May 2004 B1
6804607 Wood Oct 2004 B1
6898266 Griffith May 2005 B2
7274380 Navab et al. Sep 2007 B2
7386799 Clanton et al. Jun 2008 B1
7400322 Urbach Jul 2008 B1
7486817 Yanagawa et al. Feb 2009 B2
7538775 Ishihara May 2009 B2
7542210 Chirieleison, Sr. Jun 2009 B2
7557774 Baudisch et al. Jul 2009 B2
8049750 Gloudemans et al. Nov 2011 B2
8266536 Roberts et al. Sep 2012 B2
8405680 Cardoso et al. Mar 2013 B1
8576247 Avkarogullari et al. Nov 2013 B2
8611015 Wheeler et al. Dec 2013 B2
8751969 Matsuda et al. Jun 2014 B2
8754931 Gassel et al. Jun 2014 B2
8780014 Border et al. Jul 2014 B2
8793620 Stafford Jul 2014 B2
9372345 Fujimaki Jun 2016 B2
9443352 Glover et al. Sep 2016 B1
9645397 da Veiga et al. May 2017 B2
9858720 da Veiga et al. Jan 2018 B2
9865089 Burns et al. Jan 2018 B2
9904055 Burns et al. Feb 2018 B2
20010035845 Zwern Nov 2001 A1
20020044152 Abbott, III et al. Apr 2002 A1
20020154214 Scallie et al. Oct 2002 A1
20020181115 Massof et al. Dec 2002 A1
20030091226 Cahill et al. May 2003 A1
20050024388 Takemoto Feb 2005 A1
20050143887 Kinoshita Jun 2005 A1
20050179703 Johnson Aug 2005 A1
20060050070 Matsui Mar 2006 A1
20060092178 Tanguay et al. May 2006 A1
20060095207 Reid May 2006 A1
20060241827 Fukuchi et al. Oct 2006 A1
20060284792 Foxlin Dec 2006 A1
20070057946 Albeck et al. Mar 2007 A1
20070116326 Aonuma et al. May 2007 A1
20070132662 Morita Jun 2007 A1
20080174659 McDowall Jul 2008 A1
20080195315 Hu et al. Aug 2008 A1
20080284864 Kotake et al. Nov 2008 A1
20090160985 Javidi et al. Jun 2009 A1
20090167785 Wong Jul 2009 A1
20090189974 Deering Jul 2009 A1
20090199275 Brock et al. Aug 2009 A1
20090325699 Delgiannidis Dec 2009 A1
20100208035 Pinault et al. Aug 2010 A1
20100208057 Meier et al. Aug 2010 A1
20100226017 Spaller Sep 2010 A1
20100315413 Izadi et al. Dec 2010 A1
20110029903 Schooleman et al. Feb 2011 A1
20110043627 Werling et al. Feb 2011 A1
20110140994 Noma Jun 2011 A1
20110242090 Keating et al. Oct 2011 A1
20120011445 Gilboa Jan 2012 A1
20120052917 Kim Mar 2012 A1
20120056876 Lee et al. Mar 2012 A1
20120068913 Bar-Zeev et al. Mar 2012 A1
20120092328 Flaks et al. Apr 2012 A1
20120113092 Bar-Zeev et al. May 2012 A1
20120195471 Newcombe et al. Aug 2012 A1
20120237116 Xiao Sep 2012 A1
20120249741 Maciocci et al. Oct 2012 A1
20120309522 Westlund et al. Dec 2012 A1
20120313839 Smithwick et al. Dec 2012 A1
20120327116 Liu et al. Dec 2012 A1
20130044128 Liu et al. Feb 2013 A1
20130050258 Liu et al. Feb 2013 A1
20130050432 Perez et al. Feb 2013 A1
20130083007 Geisner et al. Apr 2013 A1
20130083018 Geisner et al. Apr 2013 A1
20130088413 Raffle et al. Apr 2013 A1
20130093789 Liu et al. Apr 2013 A1
20130127860 Hadap et al. May 2013 A1
20130127980 Haddick et al. May 2013 A1
20130137076 Perez et al. May 2013 A1
20130141419 Mount et al. Jun 2013 A1
20130147686 Clavin et al. Jun 2013 A1
20130194259 Bennett et al. Aug 2013 A1
20130222589 Lalonde et al. Aug 2013 A1
20130222647 Ishihara et al. Aug 2013 A1
20130257751 Stafford Oct 2013 A1
20130257899 Baron et al. Oct 2013 A1
20130287290 Owechko Oct 2013 A1
20130300637 Smits et al. Nov 2013 A1
20130307855 Lamb et al. Nov 2013 A1
20130326364 Latta et al. Dec 2013 A1
20130328927 Mount et al. Dec 2013 A1
20130335301 Wong et al. Dec 2013 A1
20130335303 Maciocci et al. Dec 2013 A1
20130336629 Mulholland et al. Dec 2013 A1
20130342564 Kinnebrew et al. Dec 2013 A1
20130342570 Kinnebrew et al. Dec 2013 A1
20140002444 Bennett et al. Jan 2014 A1
20140019874 Li et al. Jan 2014 A1
20140049559 Fleck et al. Feb 2014 A1
20140098009 Prest et al. Apr 2014 A1
20140104142 Bickerstaff et al. Apr 2014 A1
20140125557 Issayeva et al. May 2014 A1
20140130041 Luxenberg et al. May 2014 A1
20140132484 Pandey et al. May 2014 A1
20140132715 Raghoebardayal et al. May 2014 A1
20140139639 Wagner et al. May 2014 A1
20140140579 Takemoto May 2014 A1
20140145988 Ishizawa May 2014 A1
20140168264 Harrison et al. Jun 2014 A1
20140176530 Pathre Jun 2014 A1
20140184550 Hennessey et al. Jul 2014 A1
20140204117 Kinnebrew et al. Jul 2014 A1
20140221090 Mutschler et al. Aug 2014 A1
20140240351 Scavezze et al. Aug 2014 A1
20140253605 Border et al. Sep 2014 A1
20140267400 Mabbutt et al. Sep 2014 A1
20140317555 Choi Oct 2014 A1
20140363073 Shirakyan et al. Dec 2014 A1
20140372957 Keane et al. Dec 2014 A1
20150070274 Morozov Mar 2015 A1
20150091780 Lyren Apr 2015 A1
20150138081 Iwatsu et al. May 2015 A1
20150138239 Kim May 2015 A1
20150143459 Molnar et al. May 2015 A1
20150145887 Forutanpour May 2015 A1
20150153833 Pinault et al. Jun 2015 A1
20150178956 Davis et al. Jun 2015 A1
20150186016 Li Jul 2015 A1
20150205106 Norden Jul 2015 A1
20150243078 Watson et al. Aug 2015 A1
20150261293 Wilairat et al. Sep 2015 A1
20150325176 Koyama Nov 2015 A1
20150355709 Lee Dec 2015 A1
20150355735 Matsuda Dec 2015 A1
20150356788 Abe et al. Dec 2015 A1
20160011724 Wheeler et al. Jan 2016 A1
20160025981 Burns et al. Jan 2016 A1
20160025982 Sutherland et al. Jan 2016 A1
20160026242 Burns et al. Jan 2016 A1
20160027212 Da Veiga et al. Jan 2016 A1
20160027213 Burns et al. Jan 2016 A1
20160027214 Memmott et al. Jan 2016 A1
20160027215 Burns et al. Jan 2016 A1
20160027216 da Veiga et al. Jan 2016 A1
20160027217 da Veiga et al. Jan 2016 A1
20160027218 Salter et al. Jan 2016 A1
20160314622 Davis et al. Oct 2016 A1
20180101994 Da Veiga et al. Apr 2018 A1
20190286231 Burns et al. Sep 2019 A1
Foreign Referenced Citations (33)
Number Date Country
1922651 Feb 2007 CN
101162524 Apr 2008 CN
101529899 Sep 2009 CN
101813976 Aug 2010 CN
102419631 Apr 2012 CN
102473068 May 2012 CN
102598677 Jul 2012 CN
101540020 Sep 2012 CN
102663722 Sep 2012 CN
102918568 Feb 2013 CN
102959616 Mar 2013 CN
103064188 Apr 2013 CN
103076875 May 2013 CN
103091844 May 2013 CN
103377476 Oct 2013 CN
103460256 Dec 2013 CN
103487937 Jan 2014 CN
103493106 Jan 2014 CN
103635849 Mar 2014 CN
103761085 Apr 2014 CN
106662924 May 2017 CN
20190286231 Sep 2019 CN
1521482 Apr 2005 EP
2164045 Mar 2010 EP
2013-238693 Nov 2013 JP
2009128781 Oct 2009 WO
2013029097 Mar 2013 WO
2013052855 Apr 2013 WO
2013057649 Apr 2013 WO
2013085193 Jun 2013 WO
2013155217 Oct 2013 WO
2014188798 Nov 2014 WO
2015108887 Jul 2015 WO
Non-Patent Literature Citations (119)
Entry
“Touchscreen interface for seamless data transfer between the real and virtual worlds”, Retrieved from <<https://web.archive.org/web/20130418052838/http://www.diginfo.tv/v/13-0025-r-en.php>>, Apr. 15, 2013, 8 Pages.
“Virtual Reality (VR) and Mixed Reality (MR) technologies”, Retrieved from <<http://www.vr-hyperspace.eu/about-vr-hyperspace/technology/77-virtual-reality-vr-and-mixed-reality-mr-technologies>>, Retrieved Date: Sep. 12, 2014, 5 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/611,447”, dated Dec. 27, 2016, 20 Pages.
“Notice of Allowance Issued in U.S. Appl. No. 14/611,447”, dated Aug. 16, 2017, 2 Pages.
“Notice of Allowance Issued in U.S. Appl. No. 14/611,447”, dated May 16, 2017, 5 Pages.
Amar, et al., “Synthesizing Reality for Realistic Physical Behavior of Virtual Objects in Augmented Reality Applications for Smart-Phones”, In Proceedings of IEEE Virtual Reality (VR), Mar. 18, 2013, pp. 123-124.
Angley, Natalie, “Glasses to make you a real-life Tony Stark”, Retrieved from <<http://edition.cnn.com/2013/10/31/tech/innovation/meta-augmented-reality-glasses/>>, Oct. 31, 2013, 4 Pages.
Bo, Howe, “Holographic Computer Monitor”, Retrieved from <<www.youtube.com/watch?v=tHlxj7fY-38>>, Mar. 30, 2008, 2 Pages.
Chen, Jian, “A Virtual Environment System for the Comparative Study of Dome and HMD”, In Master Thesis, Department of Computer Science, University of Houston, May 2002,104 Pages.
Duchowski, Andrew, “Chapter 7—Head-Mounted System Software Development”, In Book Eye Tracking Methodology, Theory and Practice, Part 2, Jan. 1, 2007, pp. 69-86.
Gemmell, et al., “Gaze Awareness for Videoconferencing: A Software Approach”, In Journal of IEEE Multi Media, vol. 7, Issue 4, Oct. 1, 2000, pp. 26-35.
Hiner, Jason, “Future iPhone concept: Laser keyboard and holographic display”, Retrieved from <<http://www.techrepublic.com/blog/tech-sanity-check/future-iphone-concept-laser-keyboard-and-holographic-display/>>, Aug. 31, 2011, 6 Pages.
Hogue, Dave, “What Are Index and Alpha Transparency?”, Retrieved from <<http://www.idux.com/2011/02/27/what-are-index-and-alpha-transparency/>>, Feb. 27, 2011, 14 Pages.
Jimenez, et al., “Gaze-based Interaction for Virtual Environments”, In Journal of Universal Computer Science, vol. 14, Issue 19, Nov. 1, 2008, pp. 3085-3098.
Kalkofen, et al., “Visualization Techniques for Augmented Reality”, In Handbook of Augmented Reality, Published by Springer New York, Jul. 13, 2011, pp. 65-98.
Kim, et al., “3D Reconstruction of Stereo Images for Interaction between Real and Virtual Worlds”, In Proceedings of the 2nd IEEE/ACM International Symposium on Mixed and Augmented Reality, Oct. 7, 2003, 9 Pages.
Kinoshita, et al., “A Fast and Robust 30 Head Pose and Gaze Estimation System”, In Proceedings of the 8th International Conference on Automatic Face & Gesture Recognition, Nov. 2, 2006, 2 Pages.
Kuhl, et al., “HMD Calibration and its Effects on Distance Judgments”, In Proceedings of the 5th Symposium on Applied Perception in Graphics and Visualization, Aug. 9, 2008, 24 Pages.
Lavoie, et al., “Constructing 3D Virtual Reality Objects from 2D Images of Real Objects Using NURBS”, In Proceedings of IEEE Symposium on Virtual Environments, Human-Computer Interfaces and Measurement Systems, Jun. 25, 2007, pp. 117-124.
Li, et al., “On the Anisotropy of Perceived Ground Extents and the Interpretation of Walked Distance as a Measure of Perception”, In Journal of Experimental Psychology: Human Perception and Performance, vol. 39, Issue 2, Apr. 2013, 33 Pages.
Li et al., “The Underestimation of Egocentric Distance: Evidence from Frontal Matching Tasks”, In Proceedings of Attention, Perception, & Psychophysics, vol. 73, Issue 7, Oct. 1, 2011, 15 Pages.
Lzadi, et al., “Kinectfusion Real-Time 3d Reconstruction and Interaction Using a Moving Depth Camera”, In Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology, Oct. 16, 2011, 10 Pages.
Maimone, et al., “Computational Augmented Reality Eyeglasses”, In Proceedings of IEEE International Symposium on Mixed and Augmented Reality (ISMAR), Oct. 1, 2013, 10 Pages.
McCarthy, Mike, “HP intros new versions of its mobile and tower workstations”, Retrieved from <<http://postperspective.com/hp-intros-new-versions-pro-offerings/>>, Sep. 8, 2014, 5 Pages.
Murray, et al., “Comparison of Head Gaze and Head and Eye Gaze within an Immersive Environment”, In Proceedings of Tenth IEEE International Symposium on Distributed Simulation and Real-Time Applications, Oct. 2, 2006, 7 Pages.
Nakashima, et al., “A 2D-3D Integrated Environment for Cooperative Work”, In Proceedings of the ACM symposium on Virtual reality software and technology, Nov. 7, 2005, pp. 16-22.
Nilsen, et al., “Tankwar—Tabletop War Gaming in Augmented Reality”, In 2nd International Workshop on Pervasive Gaming Applications, PerGames, vol. 5, 2005, 5 Pages.
Nóbrega, et al., “Magnetic Augmented Reality: Virtual Objects in Your Space”, In Proceedings of the International Working Conference on Advanced Visual Interfaces, May 21, 2012, pp. 332-335.
“International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2015/041861”, dated Oct. 13, 2016, 7 Pages.
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US2015/041861”, dated Oct. 30, 2015, 11 Pages.
“Second Written Opinion Issued in PCT Application No. PCT/US2015/041861”, dated Jun. 20, 2016, 6 Pages.
“International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2015/041862”, dated Oct. 13, 2016, 6 Pages.
“International Search Report & Written Opinion Issued in PCT Application No. PCT/US2015/041862”, dated Nov. 16, 2015, 11 Pages.
“Second Written Opinion Issued in PCT Application No. PCT/US2015/041862”, dated Jun. 13, 2016, 5 Pages.
“International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2015/041863”, dated Oct. 13, 2016, 8 Pages.
“International Search Report & Written Opinion Received for PCT Application No. PCT/US2015/041863”, dated Nov. 16, 2015, 12 Pages.
“Second Written Opinion Issued in PCT Application No. PCT/US2015/041863”, dated Jun. 15, 2016, 7 Pages.
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US2015/041864”, dated Oct. 26, 2015, 11 Pages.
“International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2015/041865”, dated Oct. 19, 2016, 8 Pages.
“Second Written Opinion Issued in PCT Application No. PCT/US2015/041865”, dated Jun. 15, 2016, 8 Pages.
“International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2015/041866”, dated Oct. 27, 2016, 9 Pages.
“International Search Report & Written Opinion Issued in PCT Application No. PCT/US2015/041866”, dated Nov. 27, 2015, 12 Pages.
“Second Written Opinion Issued in PCT Application No. PCT/US2015/041866”, dated Jun. 27, 2016, 7 Pages.
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US2015/041867”, dated Nov. 25, 2015, 11 Pages.
“International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2015/041868”, dated Oct. 13, 2016, 8 Pages.
“Second Written Opinion Issued in PCT Application No. PCT/US2015/041868”, dated Jul. 1, 2016, 6 Pages.
“International Search Report and the Written Opinion Issued in PCT Application No. PCT/US2015/041865”, dated Jan. 25, 2016, 12 Pages.
“International Search Report and the Written Opinion Issued in PCT Application No. PCT/US2015/041868”, dated Oct. 28, 2015, 10 Pages.
Ponto, et al., “Perceptual Calibration for Immersive Display Environments”, In Proceedings of IEEE Transactions on Visualization and Computer Graphics, vol. 19, Issue 4, Apr. 2013, pp. 691-700.
Regenbrecht, et al., “Interaction in a Collaborative Augmented Reality Environment”, In Proceedings of Extended Abstracts on Human Factors in Computing Systems, Apr. 20, 2002, pp. 504-505.
Steinicke, et al., “Natural Perspective Projections for Head-Mounted Displays”, In Proceedings of IEEE Transactions on Visualization and Computer Graphics, vol. 17, Issue 7, Jul. 2011, pp. 888-899.
Steptoe, et al., “Eye Tracking for Avatar Eye Gaze Control during Object-Focused Multiparty Interaction in mmersive Collaborative Virtual Environments”, In Proceedings of IEEE Virtual Reality Conference (VR), Mar. 14, 2009, 8 Pages.
Suma, et al., “Sharing Space in Mixed and Virtual Reality Environments Using a Low-Cost Depth Sensor”, In Proceedings of IEEE International Symposium on VR Innovation, Mar. 19, 2011, pp. 353-354.
Urban, John, “Five Free Tools for Multi-Monitor Computer Set-Ups”, Retrieved from <<http://sixrevisions.com/tools/five-free-tools-for-multi-monitor-computer-set-ups/>, Sep. 16, 2009, 17 Pages.
Peterson, et al., “Evaluation of Alternative Label Placement Techniques in Dynamic Virtual Environments”, In Proceedings of the 10th International Symposium on Smart Graphics, May 22, 2009, 7 Pages.
Pierce, et al., “Image Plane Interaction Techniques in 3D Immersive Environments”, In Proceedings of the Symposium on Interactive 3D Graphics, Apr. 30, 1997, 10 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/600,774”, dated Oct. 13, 2017, 36 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/600,774”, dated Mar. 24, 2017, 29 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/600,774”, dated May 17, 2018, 35 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/612,850”, dated Jan. 12, 2017, 15 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/612,850”, dated Jun. 26, 2017, 15 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/612,850”, dated Jun. 23, 2016, 17 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/628,539”, dated Apr. 7, 2017, 20 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/628,539”, dated Jan. 22, 2018, 29 Pages.
“Non Final Office Action issued in U.S. Appl. No. 14/628,539”, dated Jun. 27, 2018, 29 Pages.
“Non-final Office Action Issued in U.S. Appl. No. 14/628,539”, dated Nov. 17, 2016, 17 Pages.
“Non-final Office Action Issued in U.S. Appl. No. 14/628,539”, dated Sep. 14, 2017, 24 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/688,695”, dated Nov. 4, 2016, 21 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/688,695”, dated Mar. 20, 2017, 24 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/688,695”, dated Jul. 12, 2016, 20 pages.
“Final Office Action Issued in U.S. Appl. No. 14/688,817”, dated Dec. 22, 2016, 56 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/688,817”, dated Mar. 23, 2017, 57 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/688,817”, dated Aug. 4, 2016, 50 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/697,109”, dated Jun. 16, 2017, 19 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/697,109”, dated May 17, 2018, 23 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/697,109”, dated Oct. 4, 2017, 17 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/697,109”, dated Jan. 3, 2017, 19 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/697,227”, dated Aug. 12, 2016, 17 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/722,942”, dated Nov. 24, 2017, 14 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/722,942”, dated Jul. 11, 2017, 11 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/722,942”, dated Apr. 4, 2018, 12 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/723,065”, dated Dec. 21, 2017, 42 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/723,065”, dated Feb. 7, 2017, 37 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/723,065”, dated Sep. 26, 2016, 29 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/723,065”, dated Jul. 24, 2017, 38 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/723,065”, dated May 2, 2018, 41 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 15/841,047”, dated Jan. 25, 2018, 60 Pages.
“Office Action Issued in Colombian Patent Application No. NC2017/0000546”, dated Jan. 25, 2017, 2 Pages.
“Office Action Issued in Colombian Patent Application No. NC2017/0000546”, dated Apr. 13, 2018, 14 Pages.
“Office Action Issued in Chinese Patent Application No. 201580041403.3”, dated Dec. 21, 2018, 18 Pages.
“Office Action Issued in Chinese Patent Application No. 201580041151.4”, dated Dec. 21, 2018, 29 Pages.
“Office Action Issued in European Patent Application No. 15748369.4”, dated Apr. 11, 2019, 5 Pages.
“Office Action Issued in European Patent Application No. 15763668.9”, dated Apr. 9, 2019, 5 Pages.
“First Office Action and Search report Issued in Chinese Patent Application No. 201580041217.X”, dated Feb. 28, 2019, 22 Pages.
“Office Action Issued in European Patent Application No. 15748367.8”, dated Apr. 8, 2019, 6 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/600,774”, dated Oct. 5, 2018, 32 Pages.
“Notice of Allowance Issued in U.S. Appl. No. 14/688,695”, dated Aug. 29, 2017, 12 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/722,942”, dated Sep. 19, 2018, 11 Pages.
“Office Action Issued in Chinese Patent Application No. 201580041327.6”, dated Dec. 5, 2018, 20 Pages.
“Office Action Issued in Chinese Patent Application No. 201580041345.4”, dated Dec. 5, 2018, 19 Pages.
“Office Action Issued in Chinese Patent Application No. 201580041348.8”, dated Nov. 30, 2018, 15 Pages.
“Office Action Issued in Chinese Patent Application No. 201580041349.2”, dated Dec. 5, 2018, 19 Pages.
“Office Action Issued in Chinese Patent Application No. 201580041369.X”, dated Dec. 6, 2018, 10 Pages.
“Office Action Issued in Colombian Patent Application No. NC2017/0000546”, dated Sep. 14, 2018, 3 Pages.
“Office Action Issued in European Patent Application No. 15748368.6”, dated Feb. 15, 2019, 5 Pages.
“Second Office Action Issued in Chinese Patent Application No. 201580041348.8”, dated Jul. 8, 2019, 7 Pages.
“Second Office Action Issued in Chinese Patent Application No. 201580041349.2”,dated Jul. 8, 2019, 7 Pages.
“Second Office Action Issued in Chinese Patent Application No. 201580041403.3”,dated Jul. 8, 2019,17 Pages.
“Office Action Issued in Chinese Patent Application No. 201580041403.3”, dated Oct. 10, 2019, 9 Pages.
“Office Action Issued in Indonesian Patent Application No. P00201700467”, dated Aug. 27, 2019, 3 Pages.
“Second Office Action Issued in Chinese Patent Application No. 201580041327.6”, dated Jun. 11, 2019, 7 Pages.
“Second Office Action Issued in Chinese Patent Application No. 201580041345.4”, dated Jun. 11, 2019, 7 Pages.
“Office Action Issued in European Patent Application No. 15745719.3”, dated Jul. 24, 2019, 5 Pages.
“Third Office Action Issued in Chinese Patent Application No. 201580041345.4”, dated Sep. 2, 2019, 7 Pages.
“Third Office Action Issued in Chinese Patent Application No. 201580041327.6”, dated Aug. 23, 2019, 5 Pages.
“Office Action Issued in European Patent Application No. 15763668.9”, dated Aug. 29, 2019, 4 Pages.
“Office Action Issued in European Patent Application No. 15748367.8”, dated Aug. 29, 2019, 4 Pages.
“Non-Final Office Action Issued in U.S. Appl. No. 16/433,563”, dated Dec. 30, 2019 , 11 Pages.
“Third Office Action Issued in Chinese Patent Application No. 201580041349.2”, dated Jan. 7, 2020, 31 Pages. with English translation.
Related Publications (1)
Number Date Country
20180003982 A1 Jan 2018 US
Provisional Applications (1)
Number Date Country
62029351 Jul 2014 US
Continuations (1)
Number Date Country
Parent 14611447 Feb 2015 US
Child 15679997 US