WO2014204905A1 - Virtual object orientation and visualization - Google Patents

Virtual object orientation and visualization Download PDF

Info

Publication number
WO2014204905A1
WO2014204905A1 PCT/US2014/042647 US2014042647W WO2014204905A1 WO 2014204905 A1 WO2014204905 A1 WO 2014204905A1 US 2014042647 W US2014042647 W US 2014042647W WO 2014204905 A1 WO2014204905 A1 WO 2014204905A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual object
location
user
orientation
head mounted
Prior art date
Application number
PCT/US2014/042647
Other languages
French (fr)
Inventor
Brian E. Keane
Ben J. SUGDEN
Robert L. Crocco, Jr.
Daniel DEPTFORD
Tom G. Salter
Laura K. MASSEY
Alex Aben-Athar Kipman
Peter Tobias Kinnebrew
Nicholas Ferianc Kamuda
Original Assignee
Microsoft Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to MX2015017875A priority Critical patent/MX371269B/en
Priority to CA2913650A priority patent/CA2913650C/en
Priority to KR1020167001401A priority patent/KR102289389B1/en
Priority to EP19165611.5A priority patent/EP3521981A1/en
Priority to EP14737446.6A priority patent/EP3011418B1/en
Priority to BR112015031234-9A priority patent/BR112015031234B1/en
Priority to AU2014281726A priority patent/AU2014281726B2/en
Priority to CN201480035022.XA priority patent/CN105453011B/en
Priority to JP2016521497A priority patent/JP6391685B2/en
Priority to RU2015154279A priority patent/RU2670784C9/en
Publication of WO2014204905A1 publication Critical patent/WO2014204905A1/en

Links

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Definitions

  • HMD head mounted display
  • the virtual object may be consumed (viewed, heard or interacted with) by another user with a consumption device at a location, position, and orientation which is the same as, or proximate to, the location, position, and orientation where the virtual object is created.
  • Objects may have one, few or many allowable consumption locations, positions, and orientations defined by its creator.
  • an apparatus can create and/or consume shared perspective-locked virtual objects.
  • the apparatus position, orientation and location are determined.
  • a shared virtual object is received which includes including rendering location data.
  • the shared virtual object is displayed in the consumption device if the field of view of the consumption device is at position and orientation determined match allowable.
  • the rendering data includes rendering location data for the shared virtual object.
  • Rendering location data may at least a global coordinate location, and at least one position and at least one orientation for the virtual object with respect to a local coordinate system.
  • Fig. 1 A is a method illustrating a basic implementation of the present technology.
  • Figs. IB - ID illustrate a user performing aspects of the method of Fig. 1A.
  • FIG. 2 is a perspective view of a user viewing a real-world environment.
  • Fig. 3A is a perspective view of a user using a capture device in a real-world environment.
  • Fig. 3B is a depiction of a virtual object, in this case an image, on the capture device of the user in Fig. 2.
  • Fig. 3C is a depiction of the view of the user in Fig. 2 through a see-through head mounted display device.
  • Fig. 3D illustrates a user at the position associated with a virtual marker.
  • Fig. 3E is a depiction of the user of a see-through head mounted display device viewing the virtual object captured in Fig. 3B.
  • Fig. 4A is a second perspective view of a user viewing the scene in Fig 2 through a see-through head mounted display device.
  • Fig. 4B is a view of a world-locked virtual object through the view of a see-through head mounted display device.
  • FIG. 5 is a perspective view of one embodiment of a head mounted display unit.
  • Fig. 6 is a side view of a portion of one embodiment of a head mounted display unit.
  • Fig. 7 is a block diagram of one embodiment of the components of a head mounted display unit.
  • Fig. 8 is a block diagram of one embodiment of the components of a processing unit associated with a head mounted display unit.
  • Fig. 9 is a block diagram of one embodiment of a mobile or tablet computing device.
  • Fig. 10 is a block diagram of a system for implementing a central service in accordance with the present technology.
  • Fig. 11 is a flowchart depicting creation of content by a user or 3 rd party.
  • Fig. 12 is a flowchart illustrating display of created content by a user in accordance with the present technology.
  • Fig. 13 is a flowchart illustrating step 1222 in Fig. 12. DETAILED DESCRIPTION
  • the virtual object may be consumed (viewed, heard or interacted with) by another user with a consumption device at a location, position, and orientation which is the same as, or proximate to, the location, position, and orientation where the virtual object is created.
  • Objects may have one, few or many allowable consumption locations, positions, and orientations defined by its creator.
  • the technology allows users to create and share obj ects that lock obj ect consumers to one or more perspectives on how the creator wishes the viewer to perceive the object.
  • Fig. 1A is a method illustrating a first embodiment of the present technology for capturing and sharing a virtual object with a defined orientation and visualization.
  • Fig. 1 A will be described with respect to Figs. IB through ID which illustrate a user creating content.
  • the position, orientation and location of a creation device is determined. As will be described herein, the position, orientation, and location can be described relative to a global coordinate system and a local coordinate system.
  • content is created and captured by the creation device.
  • the creation device may include a capture device which can receive various types of audio/visual data and user supplied information to be provided in a virtual object.
  • location, position and orientation data can be used to define the perspective of the capture device. The perspective is used to determine how a shared virtual object should be rendered to a consumer. Creation and capturing of content may include according time of capturing the object data.
  • Fig. IB illustrates a user 24 having a creation device, in this case a tablet computer, capturing a real world object 70.
  • the user 24 may be located within world space defined by a global coordinate system, and the capture device's orientation and position within the world space defined relative to a local coordinate system 75.
  • Fig. 1C illustrates the perspective 80 of the capture device relative to the real world object 70.
  • the perspective has a height 82 relative to the height at which user held the capture device 44, as well as a three dimensional position and orientation which may be described by orientation coordinates relative to the local coordinate system.
  • user 24 is creating a virtual object 90, in this case a two-dimensional picture, of the real world object 70.
  • the virtual object 90 is illustrated in Fig. ID and has a perspective associated with the creation device 44.
  • user may also define one or more allowable consumption positions for a consuming device. In one aspect, only one consumption position for a consuming device may be allowed. This would provide the consuming device at the same location position and orientation as the capture device. In other examples, numerous allowable consumption positions may be provided.
  • FIG. IB through ID illustrate creation a picture
  • numerous types of virtual objects may be created in accordance with the present technology. These include a two-dimensional and three-dimensional virtual objects which may be rendered in various different types of computing or processing devices.
  • rendering data comprising the captured information for the virtual object is associated with the location, position, and orientation, and stored with an object definition.
  • the object definition including rendering data and position information are transmitted to a second user.
  • step 56 can include transmitting the data to a central service, or directly to a second user of a consumption device.
  • the consumption device may similarly be any of a number of various types of processing devices, including as discussed below with respect to Figs. 3z - 3e, a see-through head mounted display device.
  • step 58 content is retrieved at a consumption device from the first user.
  • allowable consumption position, orientation and locations for the shared virtual object are determined.
  • position orientation and location of the consumption device is determined.
  • a consumption device may only render a shared virtual object when the consumption device is in the same position, orientation and location as the capture device.
  • consumption device may render a shared virtual object when the consumption device is in one or more allowable position, orientation, and locations defined by the creation device.
  • the consumption device may render a shared virtual object when the consumption device is in a position proximate to an defined rendering position for the virtual object as defined by the capture deice, with the allowable location, position, and orientation for the consuming device defined relative to the rendering position.
  • the consumption device is not properly position, then adjustments to the positioning of the consumption device can be made. If the device is properly positioned at 64, the content may be rendered at the position orientation and location defined by the creation device.
  • Fig. 2 illustrates user 24 viewing real world environment 1000 environment 1000, various building scenery are visible to the user.
  • Virtual objects may comprise views, audiovisual data, or other types of information rendered from the perspective of user 24, or on various real world objects such as buildings 1001 Fig. 2.
  • Figs. 3A - 3E illustrate user of the technology in a large real world environment.
  • a user can create a shared virtual object, and leave markers in the environment for other users indicating where shared virtual objects exist in the environment. This can allow a second user to approach the marker and consume the virtual object created by the first user.
  • FIG. 3A illustrates user 24 with a creation device 44 using the device to create a virtual object from a real world object, in this case the building 1004. As illustrated in Fig.
  • user has a perspective 1003 relative to the building 1004.
  • the user's perspective 1003 can be referenced to a world location defined by global coordinates 1005, and a local coordinate system 1006.
  • the field of view of the capture device is illustrated at 1007.
  • Fig. 3B The field of view at perspective 1003 of user's capture device 44 is illustrated Fig. 3B.
  • a virtual object 1020a comprising a picture of building 1004 has been created.
  • the local coordinate system 1006 may be related to the global coordinate system using one or more positional relationships allowing orientation of the local coordinate system relative to locations defined by the global coordinate system.
  • Fig. 3C illustrates the perspective view of a user 24 wearing a see-through head mounted display device in the environment 1000 of Fig. 2.
  • a see through head mounted display device is a missed reality device which allows a user to see virtual objects rendered in an environment.
  • a marker 1010 associated with a virtual object definition 1020 appears to the wearer of a see-through head mounted display device 2.
  • the object definition 1020 illustrated in Fig. 3C and those referenced hereafter is not visible to the user, except in rendered form as a virtual object.
  • user when the user positions themselves the location associated with the marker 1010, user can view or consume the virtual object created by user 24.
  • Fig. 3D illustrates user 24A at the position associated with marker 1010.
  • User 24A is wearing a see-through head mounted display device 2 and positions himself at the same location, orientation, and position relative to the creation device of the user 24 in Fig. 3A.
  • Object definition 1020 includes rendering information as well as global coordinates and local coordinates defining an allowable rendering position to the see-through head mounted display 2.
  • the see through head mounted display will render the virtual object 1020a wherein in the allowable rendering position, the rendering position in this example having the same location, position, and orientation as the original creation device.
  • the perspective of user 24A and the view of the object 1020a created in Fig. 3 A is the same as that of user 24 who created virtual object 1020a.
  • FIGs. 4 A and 4B illustrate another aspect of the present technology including the user of third party sourced information in creating and rendering virtual object.
  • Fig. 4A is a perspective view of a user wearing a see-through head mounted display device 2 in an environment 1000 where a plurality of markers have been provided.
  • marker 1010 is illustrated.
  • Marker 1010 may be a marker provided by a user and shared directly with another user.
  • third-party data markers 1015, 1025, 1030, 1040, 1050 are also illustrated in Fig. 4A.
  • Third party data markers are associated with virtual objects whose information may be derived from third-party services.
  • a central service may gather information from any of a number of third-party services, and create virtual objects at positions defined by the central service and/or defined by the information provided by the third-party service.
  • third-party services themselves may define virtual objects for use in an environment.
  • the proprietor of a restaurant may define a virtual object for display in the environment and define an associated marker for use in the environment. This target and associated virtual object may be provided to essential service for display to users of consumption devices.
  • FIG. 4B illustrates the perspective view of a virtual object 1015a associated with marker 1015 in Fig. 4B.
  • Fig. 4B also illustrates an example of a "world locked" object with multiple allowable viewing locations, positions, and orientations.
  • Virtual object 1015a is shown as positioned on the side of the building and includes information provided by third party service Yelp®.
  • virtual object 1015a is a "world locked" virtual object whose position is associated with a physical object (the building) and may have a number of allowable rendering locations, orientation, and positions relative to the position of the consumption device. For example, as a user moves in Fig. 4B relative to the building and virtual object 1015a, virtual object 1015a will still appear on the side of the building.
  • a number of allowable positions are available to view the virtual object 1050a.
  • a see through head mounted display device 2 is considered to be proximate to the rendering location of the world locked object 1015 a. Locations proximate to the rendering location would include all allowable locations, positions, and orientations defined in the perspective-locked virtual object at which rendering by consumption device can occur.
  • the consumption deice and the creation device may comprise any of a number of suitable processing devices as described herein.
  • the technology finds particular applicability when used with a see-through head mounted display device capable of rendering objects in a mixed reality environment.
  • the virtual object may include a combination of all the sensory inputs available from see through head mounted display device which are rendered back to a consuming user assuming that the consuming device is capable rendering all the inputs.
  • a creating user may record a walk-through a particular environment, which is played back to a consuming user as the user makes the same walk through the environment. All aspects of the creation event, including for example video sights, audio sounds, and the like, but be played back to the consuming user.
  • a head mounted display device includes a display element and a processing unit.
  • the display element is to a degree transparent so that a user can look through the display element at real-world objects within the user's field of view (FOV).
  • the display element also provides the ability to project virtual images into the FOV of the user such that the virtual images may also appear alongside and mixed with the real-world objects.
  • the system automatically tracks where the user is looking so that the system can determine where to insert the virtual image(s) in the FOV of the user. Once the system knows where to project the virtual image, the image is projected using the display element.
  • the head mounted display device including its processing unit may build a model of the mixed reality environment including the x, y, z, pitch, yaw and roll positions of users, real-world objects and virtual three-dimensional objects in the environment.
  • the positions of each head mounted display device worn by the users in the environment may be calibrated to the model of the environment and to each other. This allows the system to determine each user's line of sight and FOV of the environment.
  • a virtual image may be displayed to each user, but the system determines the display of the virtual image from each user's perspective, adjusting the virtual image for parallax and any occlusions from or by other objects in the environment.
  • a user may choose to interact with one or more of the virtual objects appearing within the user's FOV.
  • the term "interact" encompasses both physical interaction and verbal interaction of a user with a virtual object.
  • Physical interaction includes a user performing a predefined gesture using his or her fingers, hand and/or other body part(s) recognized by the mixed reality system as a user-request for the system to perform a predefined action.
  • predefined gestures may include, but are not limited to, pointing at, grabbing, pushing and positioning virtual objects.
  • a user may also physically interact with a virtual object with his or her eyes.
  • eye gaze data identifies where a user is focusing in the FOV, and can thus identify that a user is looking at a particular virtual object or real world object.
  • Sustained eye gaze, or a blink or blink sequence may thus be a physical interaction whereby a user selects one or more virtual objects.
  • a user simply looking at a virtual object, such as viewing content on a virtual display slate, is a further example of physical interaction of a user with a virtual object.
  • a user may alternatively or additionally interact with virtual objects using verbal gestures, such as for example a spoken word or phrase recognized by the mixed reality system as a user request for the system to perform a predefined action.
  • Verbal gestures may be used in conjunction with physical gestures to interact with one or more virtual objects in the mixed reality environment.
  • Figs. 5 - 8 illustrate a see through head mounted display device 2, which in one embodiment is in the shape of glasses, worn on the head of a user so that the user can see through a display and thereby have an actual direct view of the space in front of the user.
  • actual direct view refers to the ability to see the real world objects directly with the human eye, rather than seeing created image representations of the objects. For example, looking through glass at a room allows a user to have an actual direct view of the room, while viewing a video of a room on a television is not an actual direct view of the room. More details of the head mounted display device 2 are provided below.
  • a processing unit 4 may include much of the computing power used to operate head mounted display device 2.
  • the processing unit 4 communicates wirelessly (e.g., WiFi, Bluetooth, infra-red, or other wireless communication means) to one or more central services 900.
  • a head mounted display device may include a display element.
  • the display element is to a degree transparent so that a user can look through the display element at real world objects within the user's field of view (FOV).
  • the display element also provides the ability to project virtual objects into the FOV of the user such that the virtual objects may also appear alongside the real world objects.
  • the system automatically tracks where the user is looking so that the system can determine where to insert the virtual object in the FOV of the user. Once the system knows where to project the virtual object, the image is projected using the display element.
  • Virtual objects may include an object definition such as definition 1020 discussed above.
  • the definition may include data allowing the display device 2 to render the virtual object in the field of view of a user.
  • One component of the definition may comprise an object type, object size, and one or more optimal viewing perspectives and orientation.
  • Each optimal viewing perspective may comprise a definition of an optimal perspective for a user view of the object.
  • other computing systems and one or more of the processing units may cooperate to build a model of the environment including the x, y, z Cartesian positions of all users, real world objects and virtual three-dimensional objects in the room or other environment.
  • the positions of each head mounted display device worn by the users in the environment may be calibrated to the model of the environment and to each other. This allows the system to determine each user's line of sight and FOV of the environment.
  • a virtual object may be displayed to each user, but the display of the virtual object from each user's perspective may be relative, adjusting the virtual object for parallax and any occlusions from or by other objects in the environment.
  • the model of the environment referred to herein as a scene map, as well as all tracking of the user's FOV and objects in the environment may be generated by computing systems and mobile processing unit working in tandem or individually.
  • FIGs. 5 and 6 show perspective and side views of the head mounted display device 2.
  • Fig. 6 shows the right side of head mounted display device 2, including a portion of the device having temple 102 and nose bridge 104.
  • a microphone 110 for recording sounds and transmitting that audio data to processing unit 4, as described below.
  • room-facing video camera 112 At the front of head mounted display device 2 is room-facing video camera 112 that can capture video and still images. Those images are transmitted to processing unit 4, as described below.
  • a portion of the frame of head mounted display device 2 will surround a display (that includes one or more lenses). In order to show the components of head mounted display device 2, a portion of the frame surrounding the display is not depicted.
  • the display includes a light-guide optical element 115, opacity filter 114, see-through lens 116 and see-through lens 118.
  • opacity filter 114 is behind and aligned with see-through lens 116
  • light-guide optical element 115 is behind and aligned with opacity filter 114
  • see- through lens 118 is behind and aligned with light-guide optical element 115.
  • See-through lenses 116 and 118 are standard lenses used in eye glasses and can be made to any prescription (including no prescription).
  • Light-guide optical element 115 channels artificial light to the eye. More details of opacity filter 114 and light-guide optical element 115 are provided in U.S. Published Patent Application No. 2012/0127284, entitled, "Head-Mounted Display Device Which Provides Surround Video", which application published on May 24, 2012.
  • Control circuits 136 provide various electronics that support the other components of head mounted display device 2. More details of control circuits 136 are provided below with respect to Fig. 7. Inside or mounted to temple 102 are ear phones 130, inertial measurement unit 132 and temperature sensor 138.
  • the inertial measurement unit 132 (or IMU 132) includes inertial sensors such as a three axis magnetometer 132A, three axis gyro 132B and three axis accelerometer 132C.
  • the inertial measurement unit 132 senses position, orientation, and sudden accelerations (pitch, roll and yaw) of head mounted display device 2.
  • the IMU 132 may include other inertial sensors in addition to or instead of magnetometer 132A, gyro 132B and accelerometer 132C.
  • Microdisplay 120 projects an image through lens 122.
  • image generation technologies can be used to implement microdisplay 120.
  • microdisplay 120 can be implemented in using a transmissive projection technology where the light source is modulated by optically active material, backlit with white light. These technologies are usually implemented using LCD type displays with powerful backlights and high optical energy densities.
  • Microdisplay 120 can also be implemented using a reflective technology for which external light is reflected and modulated by an optically active material. The illumination is forward lit by either a white source or RGB source, depending on the technology.
  • DLP digital light processing
  • LCOS liquid crystal on silicon
  • Mirasol® display technology from Qualcomm, Inc.
  • microdisplay 120 can be implemented using an emissive technology where light is generated by the display.
  • a PicoPTM display engine from Microvision, Inc. emits a laser signal with a micro mirror steering either onto a tiny screen that acts as a transmissive element or beamed directly into the eye (e.g., laser).
  • Light-guide optical element 115 transmits light from microdisplay 120 to the eye 140 of the user wearing head mounted display device 2.
  • Light-guide optical element 115 also allows light from in front of the head mounted display device 2 to be transmitted through light-guide optical element 115 to eye 140, as depicted by arrow 142, thereby allowing the user to have an actual direct view of the space in front of head mounted display device 2 in addition to receiving a virtual object from microdisplay 120.
  • the walls of light-guide optical element 115 are see-through.
  • Light-guide optical element 115 includes a first reflecting surface 124 (e.g., a mirror or other surface). Light from microdisplay 120 passes through lens 122 and becomes incident on reflecting surface 124.
  • the reflecting surface 124 reflects the incident light from the microdisplay 120 such that light is trapped inside a planar substrate comprising light-guide optical element 115 by internal reflection. After several reflections off the surfaces of the substrate, the trapped light waves reach an array of selectively reflecting surfaces 126. Note that one of the five surfaces is labeled 126 to prevent over-crowding of the drawing. Reflecting surfaces 126 couple the light waves incident upon those reflecting surfaces out of the substrate into the eye 140 of the user. More details of a light-guide optical element can be found in United States Patent Publication No. 2008/0285140, entitled “Substrate-Guided Optical Devices", published on November 20, 2008.
  • Head mounted display device 2 also includes a system for tracking the position of the user's eyes. As will be explained below, the system will track the user's position and orientation so that the system can determine the FOV of the user. However, a human will not perceive everything in front of them. Instead, a user's eyes will be directed at a subset of the environment. Therefore, in one embodiment, the system will include technology for tracking the position of the user's eyes in order to refine the measurement of the FOV of the user. For example, head mounted display device 2 includes eye tracking assembly 134 (Fig.
  • eye tracking illumination device 134A includes one or more infrared (IR) emitters, which emit IR light toward the eye.
  • Eye tracking camera 134B includes one or more cameras that sense the reflected IR light.
  • the position of the pupil can be identified by known imaging techniques which detect the reflection of the cornea. For example, see U.S. Patent No. 7,401,920, entitled “Head Mounted Eye Tracking and Display System", issued July 22, 2008. Such a technique can locate a position of the center of the eye relative to the tracking camera.
  • eye tracking involves obtaining an image of the eye and using computer vision techniques to determine the location of the pupil within the eye socket. In one embodiment, it is sufficient to track the location of one eye since the eyes usually move in unison. However, it is possible to track each eye separately.
  • the system will use four IR LEDs and four IR photo detectors in rectangular arrangement so that there is one IR LED and IR photo detector at each corner of the lens of head mounted display device 2. Light from the LEDs reflect off the eyes. The amount of infrared light detected at each of the four IR photo detectors determines the pupil direction. That is, the amount of white versus black in the eye will determine the amount of light reflected off the eye for that particular photo detector. Thus, the photo detector will have a measure of the amount of white or black in the eye. From the four samples, the system can determine the direction of the eye.
  • FIG. 6 shows one assembly with one IR transmitter, the structure of Fig. 6 can be adjusted to have four IR transmitters and/or four IR sensors. More or less than four IR transmitters and/or four IR sensors can also be used.
  • Another embodiment for tracking the direction of the eyes is based on charge tracking. This concept is based on the observation that a retina carries a measurable positive charge and the cornea has a negative charge. Sensors are mounted by the user's ears (near earphones 130) to detect the electrical potential while the eyes move around and effectively read out what the eyes are doing in real time. Other embodiments for tracking eyes can also be used.
  • Fig. 6 shows half of the head mounted display device 2.
  • a full head mounted display device would include another set of see-through lenses, another opacity filter, another light-guide optical element, another microdisplay 120, another lens 122, room- facing camera, eye tracking assembly, micro display, earphones, and temperature sensor.
  • Fig. 7 is a block diagram depicting the various components of head mounted display device 2.
  • Fig. 8 is a block diagram describing the various components of processing unit 4.
  • Head mounted display device 2 the components of which are depicted in Fig. 7, is used to provide a mixed reality experience to the user by fusing one or more virtual objects seamlessly with the user's view of the real world. Additionally, the head mounted display device components of Fig.
  • Head mounted display device 2 will receive instructions about the virtual object from processing unit 4 and will provide the sensor information back to processing unit 4.
  • Processing unit 4 the components of which are depicted in Fig. 7, will receive the sensory information from head mounted display device 2 and will exchange information and data with the central service 900 (Fig. 1A). Based on that exchange of information and data, processing unit 4 will determine where and when to provide a virtual object to the user and send instructions accordingly to the head mounted display device of Fig. 4.
  • Fig. 7 Some of the components of Fig. 7 (e.g., room-facing camera 112, eye tracking camera 134B, microdisplay 120, opacity filter 114, eye tracking illumination 134A, earphones 130, and temperature sensor 138) are shown in shadow to indicate that there are two of each of those devices, one for the left side and one for the right side of head mounted display device 2.
  • Fig. 4 shows the control circuit 200 in communication with the power management circuit 202.
  • Control circuit 200 includes processor 210, memory controller 212 in communication with memory 214 (e.g., D-RAM), camera interface 216, camera buffer 218, display driver 220, display formatter 222, timing generator 226, display out interface 228, and display in interface 230.
  • memory 214 e.g., D-RAM
  • control circuit 200 all of the components of control circuit 200 are in communication with each other via dedicated lines or one or more buses. In another embodiment, each of the components of control circuit 200 is in communication with processor 210.
  • Camera interface 216 provides an interface to the two room- facing cameras 112 and stores images received from the room-facing cameras in camera buffer 218.
  • Display driver 220 will drive microdisplay 120.
  • Display formatter 222 provides information, about the virtual object being displayed on microdisplay 120, to opacity control circuit 224, which controls opacity filter 114.
  • Timing generator 226 is used to provide timing data for the system.
  • Display out interface 228 is a buffer for providing images from room-facing cameras 112 to the processing unit 4.
  • Display in interface 230 is a buffer for receiving images such as a virtual object to be displayed on microdisplay 120.
  • Display out interface 228 and display in interface 230 communicate with band interface 232 which is an interface to processing unit 4.
  • Power management circuit 202 includes voltage regulator 234, eye tracking illumination driver 236, audio DAC and amplifier 238, microphone preamplifier and audio ADC 240, temperature sensor interface 242 and clock generator 244.
  • Voltage regulator 234 receives power from processing unit 4 via band interface 232 and provides that power to the other components of head mounted display device 2.
  • Eye tracking illumination driver 236 provides the IR light source for eye tracking illumination 134A, as described above.
  • Audio DAC and amplifier 238 output audio information to the earphones 130.
  • Microphone preamplifier and audio ADC 240 provides an interface for microphone 110.
  • Temperature sensor interface 242 is an interface for temperature sensor 138.
  • Power management circuit 202 also provides power and receives data back from three axis magnetometer 132A, three axis gyro 132B and three axis accelerometer 132C.
  • Fig. 8 is a block diagram describing the various components of processing unit 4.
  • Control circuit 304 includes a central processing unit (CPU) 320, graphics processing unit (GPU) 322, cache 324, RAM 326, memory controller 328 in communication with memory 330 (e.g., D-RAM), flash memory controller 332 in communication with flash memory 334 (or other type of non-volatile storage), display out buffer 336 in communication with head mounted display device 2 via band interface 302 and band interface 232, display in buffer 338 in communication with head mounted display device 2 via band interface 302 and band interface 232, microphone interface 340 in communication with an external microphone connector 342 for connecting to a microphone, PCI express interface for connecting to a wireless communication device 346, and USB port(s) 348.
  • CPU central processing unit
  • GPU graphics processing unit
  • RAM random access memory
  • memory controller 328 in communication with memory 330 (e.g., D-RAM)
  • flash memory controller 332 in communication with flash memory 334 (or other type of non-volatile
  • wireless communication device 346 can include a Wi-Fi enabled communication device, BlueTooth communication device, infrared communication device, etc.
  • the USB port can be used to dock the processing unit 4 to a computing system in order to load data or software onto processing unit 4, as well as charge processing unit 4.
  • CPU 320 and GPU 322 are the main workhorses for determining where, when and how to insert virtual three-dimensional objects into the view of the user. More details are provided below.
  • Power management circuit 306 includes clock generator 360, analog to digital converter 362, battery charger 364, voltage regulator 366, head mounted display power source 376, and temperature sensor interface 372 in communication with temperature sensor 374 (possibly located on the wrist band of processing unit 4).
  • Analog to digital converter 362 is used to monitor the battery voltage, the temperature sensor and control the battery charging function.
  • Voltage regulator 366 is in communication with battery 368 for supplying power to the system.
  • Battery charger 364 is used to charge battery 368 (via voltage regulator 366) upon receiving power from charging jack 370.
  • HMD power source 376 provides power to the head mounted display device 2.
  • FIG. 9 is a block diagram illustrating a mobile or tablet computing device.
  • Fig. 9 is a block diagram of an exemplary mobile or tablet device which may operate in embodiments of the technology described herein (e.g. device 44). Exemplary electronic circuitry of a typical mobile device is depicted.
  • the device 700 includes one or more microprocessors 712, and memory 710 (e.g., non- volatile memory such as ROM and volatile memory such as RAM) which stores processor-readable code which is executed by one or more processors of the control processor 712 to implement the functionality described herein.
  • memory 710 e.g., non- volatile memory such as ROM and volatile memory such as RAM
  • Mobile device 700 may include, for example, processors 712, memory 710 including applications and non- volatile storage.
  • the processor 712 can implement communications, as well as any number of applications, including the interaction applications discussed herein.
  • Memory 710 can be any variety of memory storage media types, including non-volatile and volatile memory.
  • a device operating system handles the different operations of the mobile device 700 and may contain user interfaces for operations, such as placing and receiving phone calls, text messaging, checking voicemail, and the like.
  • the applications 730 can be any assortment of programs, such as a camera application for photos and/or videos, an address book, a calendar application, a media player, an Internet browser, games, other multimedia applications, an alarm application, other third party applications, a content creation application discussed herein, and the like.
  • the non-volatile storage component 740 in memory 710 contains data such as web caches, music, photos, contact data, scheduling data, and other files.
  • the processor 712 also communicates with RF transmit/receive circuitry 706 which in turn is coupled to an antenna 702, with an infrared transmitted/receiver 708, with any additional communication channels 760 like Wi-Fi or Bluetooth, and with a movement/orientation sensor 714 such as an accelerometer.
  • Accelerometers have been incorporated into mobile devices to enable such applications as intelligent user interfaces that let users input commands through gestures, indoor GPS functionality which calculates the movement and direction of the device after contact is broken with a GPS satellite, and to detect the orientation of the device and automatically change the display from portrait to landscape when the device is rotated.
  • An accelerometer can be provided, e.g., by a micro- electromechanical system (MEMS) which is a tiny mechanical device (of micrometer dimensions) built onto a semiconductor chip. Acceleration direction, as well as orientation, vibration and shock can be sensed.
  • the processor 712 further communicates with a ringer/vibrator 716, a user interface keypad/screen, biometric sensor system 718, a speaker 720, a microphone 722, a camera 724, a light sensor 726 and a temperature sensor 728.
  • MEMS micro- electromechanical system
  • the processor 712 controls transmission and reception of wireless signals.
  • the processor 712 provides a voice signal from microphone 722, or other data signal, to the RF transmit/receive circuitry 706.
  • the transmit/receive circuitry 706 transmits the signal to a remote station (e.g., a fixed station, operator, other cellular phones, etc.) for communication through the antenna 702.
  • the ringer/vibrator 716 is used to signal an incoming call, text message, calendar reminder, alarm clock reminder, or other notification to the user.
  • the transmit/receive circuitry 706 receives a voice or other data signal from a remote station through the antenna 702. A received voice signal is provided to the speaker 720 while other received data signals are also processed appropriately.
  • a physical connector 788 can be used to connect the mobile device 700 to an external power source, such as an AC adapter or powered docking station.
  • the physical connector 788 can also be used as a data connection to a computing device.
  • the data connection allows for operations such as synchronizing mobile device data with the computing data on another device.
  • a GPS transceiver 765 utilizing satellite-based radio navigation to relay the position of the user applications is enabled for such service.
  • Computer readable storage media are also processor readable storage media. Such media may include volatile and nonvolatile, removable and non-removable media implemented for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, cache, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, memory sticks or cards, magnetic cassettes, magnetic tape, a media drive, a hard disk, magnetic disk storage or other magnetic storage devices, and the like.
  • a central service 900 may be operated on one or more processing devices or servers.
  • the logical components of the central service 900 are illustrated in Fig. 10.
  • Central service 900 may include user information 910, user content information 958, third party contention information 968, a third-party service aggregator 980, a mapping engine 985, and communications interface 995.
  • Communications interface 995 may include any number of interfaces, transport layers and protocols allowing central service 900 to communicate with see-through mounted display device 2, a tablet 902 and mobile phone 904.
  • User information 910 can include login information 919 requiring user of a device 2, tabled 902, phone 904 and central service 900 to authenticate their identity before accessing secure information available to users of central service 900.
  • Each user may have available via the service 900 the user's address book 914 and social contact data 916, as well as the user's location history 918.
  • all or portions of the user information may be stored locally on the devices.
  • User content information 958 includes content location information 957 and user- created shared perspective-locked objects 956.
  • User content information may be information on shared virtual objects created by users, such as user 24 above, greeted by the user for sharing with other users of the central service 900.
  • Object location information 957 can include, for a given area, a three-dimensional map the location as well as the locations of objects in the area, and markers to be utilized with the objects.
  • Shared objects 956 can include the specific object data associated with the information in the object location information 957.
  • Third-party content information 968 also includes object location information 967 and third party perspective-locked objects 966.
  • Third party objects include content information available from third-party social interaction services 990 which is retrieved from the social interaction services 990 through a third-party service aggregator 980.
  • Third party objects 966 can be created by third-party social interaction services 990, or created by the central service using mapping engine 985 and information available from third-party social interaction services. This information may include the allowable rendering locations, discussed above, as well as any information from users of the third party social interaction services.
  • Third-party service aggregator 980 retrieves information from third-party social media services 990, each of which may provide information that can be used to populate virtual objects. Third-party service aggregator 980 interacts with the application programming interface (API) of each of the third-party interaction services 990.
  • API application programming interface
  • Mapping engine 985 associates global coordinate location information with location data from users and from third-party service aggregator 980. Mapping engine 985 also receives location information from user devices and updates the user location history 918. The mapping engine may also provide 3D scene data to the see-through head mounted display device 2, tablet 902 and phone 904. This information can be updated as the user location tracking information is provided from the device 2 to the central service 900. The mapping engine 985 can further associate the type of marker to be generated with the third- party information services provider.
  • Third-party social interaction services 990 may include with their information the global coordinates for points of interest for which they provide information. Many social media services 990 include, along with their reviews, such global coordinate location information. The mapping engine 985 may verify this information, or add global coordinate information to user generated data. This location can be derived from the user's location history, as well as input at the time the user is creates information on a particular point of interest.
  • Third-party service aggregator 980 may also receive object definitions from owner/operator and publicly shared objects sources by 19. He's objects may be provided by owners and operators of facilities which to have a point object associated with their particular establishment.
  • Shared objects 956 and third party object 966 includes object rendering data information as well as one or more allowable consumption locations, one or more allowable consumption positions, and one or more allowable consumption orientations for a consumption device seeking to render the object.
  • Central service 900 may be operated by one or more system administrators provide a central service two wearers of the see-through head mounted display device two.
  • Fig. 11 is a flowchart illustrating a method of creating a sharable perspective- locked virtual object in accordance with the present technology.
  • the method of Fig. 11 may be performed by components of the processing unit 4 and/or head mounted display device 2. Any one or more of the, the processing unit 4 and/or head mounted display device 2 acting alone or in conjunction with another of the systems may perform all or portions of the method.
  • a user location for a user seeking to create scene data is determined.
  • the user location may be derived from a GPS transmitted in the user device and provide global location coordinates describing the position of the user.
  • a scene map may be developed identifying the three dimensional geometry of the scene as well as the geometry and positions of objects within the scene around where the user is located.
  • the scene map generated in a given frame may include the x, y and z positions in the local coordinate system of all users, real world objects and virtual objects in the common environment.
  • the scene map may be used in positioning virtual objects within the scene, as well as displaying virtual three-dimensional objects with the proper occlusion (a virtual three-dimensional object may be occluded, or a virtual three-dimensional object may occlude, a real world object or another virtual three- dimensional object). See mapping be derived from capture devices associated with the user, or may be provided by the central service 900.
  • step 1104 information from the central service is received.
  • step 1 104 need not be performed.
  • Information received at step 1104 may include templates and virtual object definitions to create perspective-locked objects.
  • Information on virtual objects may be cached in the processing device or the head mounted display 2 to allow the perspective-locked objects to be more rapidly created.
  • step 1106 a determination of position, the orientation and the FOV of a user's capture device is made.
  • step 1108 location, orientation, position and field of view data is transformed into a user perspective.
  • User perspective may utilized to determine the allowable rendering positions for certain types of shared virtual objects.
  • user generated content for perspective-locked virtual objects is captured.
  • user generated content may be any type of content which can be captured by the sensor devices discussed above with respect to the different types of computing systems. This includes audio data, visual data, motion data, and text.
  • the user generated content is utilized to build the perspective-locked virtual object which will be rendered.
  • the position, orientation, and location information is associated with the user generated content.
  • displayable from a number of different perspectives, and allowable consumption positions, locations and orientations may be defined.
  • a single perspective may be defined based on a location, orientation, and position.
  • numerous perspectives may be defined and hence numerous different allowable consumption locations are available for the world- locked virtual object.
  • the virtual object is shared with a second user or transmitted to the central service 900.
  • Fig. 12 illustrates a method performed by the device of a consuming user (a consuming device) wishing to view a virtual object in accordance with the present technology.
  • step 1202 the consuming user's location is determined.
  • the location will be determined with reference to global coordinate system utilized in conjunction with the virtual objects.
  • scene map data is gathered in the manner similar to step 1102 above.
  • perspective-locked objects may be gathered from other parties.
  • objects from third-party contributors are retrieved.
  • object user shared information at 1208 may be gathered.
  • Shared perspective-locked virtual objects at steps 1206 and 1208 may be provided from the central service 900, or directly from other user contributors.
  • information from third-party contributors may be transmitted directly to the device of the consuming user.
  • user shared information at step 1208 may be provided by users are in contact with the consuming user. Users in contact with the consuming user may be individuals who are associated with the user's address book, direct contacts, or contact through a social media service who are identified as associated with the consuming user (e.g. "friends").
  • an initial determination is made as to whether or not user is proximate to one or more markers at 1210.
  • the determination at 1210 is essentially whether markers at their associated real-world location in an environment would fall within the field of view of the consuming device. It should be understood that the use of markers is not required by the present technology. Thus step 1212 may be optional. Other systems of aligning a consuming user with the rendering locations and positions of shared virtual objects utilized. If markers are utilized and the markers are within the FOV of the consuming device for user, and the markers rendered in the display of the consuming device at 1212. [00104] At step 1214, a determination is made as to whether or not object interaction has occurred.
  • Object interaction at step 1214 may be as simple as positioning the user relative to the marker at a position, location, and orientation which is allowed to view the shared object.
  • the object When the consuming user's device is at the position, location, and orientation, the object may be rendered. In other embodiments, the user may actively select a marker before placing the consuming device at the position, location, and orientation.
  • the shared perspective-locked virtual object allowable consumption positions are determined. As noted above, some objects have only one position, orientation, and location at which a consumption may occur. Other objects have many allowable consumption positions, orientations, and locations.
  • the shared perspective-locked virtual object is rendered for a user when the user and consuming device are in the position, location, and orientation such that the user perspective relative to the object for proper consumption occurs.
  • Consumption may be visualizing photos to that shown, listening to a particular recording sounds and a particular time, watching the video, reading text, playing with an interactive three- dimensional virtual object, and the like.
  • FIG. 13 Further details of one embodiment for performing step 1220 are illustrated in Fig. 13.
  • user modification of a shared perspective-locked virtual object is permitted.
  • User modification may include the user adding, annotating, or changing the object if the permissions on the shared object allow such modification. If user modification the object has occurred, then the data for the object is updated and displayed at 1226. Once content consumption has finished at 1228, method moves to the next object at 1230.
  • Fig. 13 illustrates one method for performing step 1220 in Fig. 12.
  • a determination is made as to the proper content consuming orientation, location, position, and perspective for a particular object.
  • the information retrieved at step 1302 defines the information available from one or more virtual objects at which allowable rendering positions occur.
  • the consuming device location, orientation, position, and field of view are retrieved at 1304.
  • a world locked virtual object is one such that illustrated in Fig. 4B where the position of the object is locked to a location and orientation on a physical object.
  • a local locked virtual object is one where the consumption position is locked to a particular perspective of the user.
  • the shared perspective-locked virtual object is a local locked object, then at 1312, a determination is made as to whether or not the consuming device position, location, and orientation match and allowable consumption position.
  • the allowable consumption position may be defined as a single allowable consumption position. If not, then a determination of changes to the location, position, and orientation which are needed to match the location, position, and orientation may be made at 1314, and directional guidance to correct the user's location, orientation, and position may be rendered at 1316. This allows the user to move into position for correct consumption of the virtual object. Directions may be provided in visual or audible form.
  • the shared perspective-locked virtual object is rendered at 1340.
  • allowable consumption positions may be determined by determining the consumption devices' location, position, and orientation.
  • allowable consumption positions may be determined by determining the consuming device's field of view relative to a real world object at which the virtual object should be defined.
  • the object is rendered at the world locked position.
  • a determination of a user perspective change is made at 1324 and if the perspective of the user changes relative to the shared perspective-locked virtual object, the change is calculated at 1326 and the method returns to step 1320 to ensure that the consuming device is at an allowable location, position, and orientation with respect to the shared perspective-locked virtual object. If consuming devices is not at the correct position at 1320, and no object rendering occurs at 1350.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

A method and apparatus for the creation of a perspective-locked virtual object having in world space. The virtual object may be consumed) by another user with a consumption device at a location, position, and orientation which is the same as, or proximate to, the location, position, and orientation where the virtual object is created. Objects may have one, few or many allowable consumption locations, positions, and orientations defined by its creator.

Description

VIRTUAL OBJECT ORIENTATION AND VISUALIZATION
BACKGROUND
[0001] One current use of mobile devices is to allow a "virtual" perspective a real-world environment. Currently, some applications which may be used on mobile devices use the camera input from the device and GPS coordinates to render a two-dimensional image on items (usually buildings) in the real world. These objects are generally viewable any position and are usually three-dimensional in appearance, but rendered on a flat display of the mobile device.
[0002] Mixed reality is a technology that allows virtual object to be mixed with a real world physical environment. A see-through, head mounted display (HMD) device may be worn by a user to view the mixed imagery of real objects and virtual objects displayed in the user's field of view.
SUMMARY
[0003] Technology is presented which allows for the creation of a perspective-locked virtual object. The virtual object may be consumed (viewed, heard or interacted with) by another user with a consumption device at a location, position, and orientation which is the same as, or proximate to, the location, position, and orientation where the virtual object is created. Objects may have one, few or many allowable consumption locations, positions, and orientations defined by its creator.
[0004] In one aspect, an apparatus is provided that can create and/or consume shared perspective-locked virtual objects. The apparatus position, orientation and location are determined. When consuming a shared perspective-locked virtual object, a shared virtual object is received which includes including rendering location data. The shared virtual object is displayed in the consumption device if the field of view of the consumption device is at position and orientation determined match allowable.
[0005] When creating a shared perspective-locked virtual object, the global coordinate location, position and orientation of the capture device are determined and shared virtual object rendering data is created. The rendering data includes rendering location data for the shared virtual object. Rendering location data may at least a global coordinate location, and at least one position and at least one orientation for the virtual object with respect to a local coordinate system.
[0006] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Fig. 1 A is a method illustrating a basic implementation of the present technology.
[0008] Figs. IB - ID illustrate a user performing aspects of the method of Fig. 1A.
[0009] Fig. 2 is a perspective view of a user viewing a real-world environment.
[0010] Fig. 3A is a perspective view of a user using a capture device in a real-world environment.
[0011] Fig. 3B is a depiction of a virtual object, in this case an image, on the capture device of the user in Fig. 2.
[0012] Fig. 3C is a depiction of the view of the user in Fig. 2 through a see-through head mounted display device.
[0013] Fig. 3D illustrates a user at the position associated with a virtual marker.
[0014] Fig. 3E is a depiction of the user of a see-through head mounted display device viewing the virtual object captured in Fig. 3B.
[0015] Fig. 4A is a second perspective view of a user viewing the scene in Fig 2 through a see-through head mounted display device.
[0016] Fig. 4B is a view of a world-locked virtual object through the view of a see-through head mounted display device.
[0017] Fig. 5 is a perspective view of one embodiment of a head mounted display unit.
[0018] Fig. 6 is a side view of a portion of one embodiment of a head mounted display unit.
[0019] Fig. 7 is a block diagram of one embodiment of the components of a head mounted display unit.
[0020] Fig. 8 is a block diagram of one embodiment of the components of a processing unit associated with a head mounted display unit.
[0021] Fig. 9 is a block diagram of one embodiment of a mobile or tablet computing device.
[0022] Fig. 10 is a block diagram of a system for implementing a central service in accordance with the present technology.
[0023] Fig. 11 is a flowchart depicting creation of content by a user or 3rd party.
[0024] Fig. 12 is a flowchart illustrating display of created content by a user in accordance with the present technology.
[0025] Fig. 13 is a flowchart illustrating step 1222 in Fig. 12. DETAILED DESCRIPTION
[0026] Technology is presented which allows for the creation of a perspective-locked virtual object in world space. The virtual object may be consumed (viewed, heard or interacted with) by another user with a consumption device at a location, position, and orientation which is the same as, or proximate to, the location, position, and orientation where the virtual object is created. Objects may have one, few or many allowable consumption locations, positions, and orientations defined by its creator.
[0027] The technology allows users to create and share obj ects that lock obj ect consumers to one or more perspectives on how the creator wishes the viewer to perceive the object.
[0028] Fig. 1A is a method illustrating a first embodiment of the present technology for capturing and sharing a virtual object with a defined orientation and visualization. Fig. 1 A will be described with respect to Figs. IB through ID which illustrate a user creating content. At step 50, the position, orientation and location of a creation device is determined. As will be described herein, the position, orientation, and location can be described relative to a global coordinate system and a local coordinate system. At step 52, content is created and captured by the creation device. The creation device may include a capture device which can receive various types of audio/visual data and user supplied information to be provided in a virtual object. At 52, location, position and orientation data can be used to define the perspective of the capture device. The perspective is used to determine how a shared virtual object should be rendered to a consumer. Creation and capturing of content may include according time of capturing the object data.
[0029] Fig. IB illustrates a user 24 having a creation device, in this case a tablet computer, capturing a real world object 70. The user 24 may be located within world space defined by a global coordinate system, and the capture device's orientation and position within the world space defined relative to a local coordinate system 75. Fig. 1C illustrates the perspective 80 of the capture device relative to the real world object 70. The perspective has a height 82 relative to the height at which user held the capture device 44, as well as a three dimensional position and orientation which may be described by orientation coordinates relative to the local coordinate system. In the example in Figs. IB - ID, user 24 is creating a virtual object 90, in this case a two-dimensional picture, of the real world object 70. The virtual object 90 is illustrated in Fig. ID and has a perspective associated with the creation device 44. At step 52, user may also define one or more allowable consumption positions for a consuming device. In one aspect, only one consumption position for a consuming device may be allowed. This would provide the consuming device at the same location position and orientation as the capture device. In other examples, numerous allowable consumption positions may be provided.
[0030] While the example shown in Figs. IB through ID illustrate creation a picture, numerous types of virtual objects may be created in accordance with the present technology. These include a two-dimensional and three-dimensional virtual objects which may be rendered in various different types of computing or processing devices.
[0031] Returning to Fig. 1A, at step 54, rendering data comprising the captured information for the virtual object is associated with the location, position, and orientation, and stored with an object definition. At step 56, the object definition including rendering data and position information are transmitted to a second user. As will be discussed below, step 56 can include transmitting the data to a central service, or directly to a second user of a consumption device. As will also be discussed below, the consumption device may similarly be any of a number of various types of processing devices, including as discussed below with respect to Figs. 3z - 3e, a see-through head mounted display device.
[0032] At step 58, content is retrieved at a consumption device from the first user. At step 60, allowable consumption position, orientation and locations for the shared virtual object are determined. At step 62, position orientation and location of the consumption device is determined. In one embodiment, a consumption device may only render a shared virtual object when the consumption device is in the same position, orientation and location as the capture device. In another embodiment, consumption device may render a shared virtual object when the consumption device is in one or more allowable position, orientation, and locations defined by the creation device. In a third embodiment, the consumption device may render a shared virtual object when the consumption device is in a position proximate to an defined rendering position for the virtual object as defined by the capture deice, with the allowable location, position, and orientation for the consuming device defined relative to the rendering position.
[0033] If, at step 64, the consumption device is not properly position, then adjustments to the positioning of the consumption device can be made. If the device is properly positioned at 64, the content may be rendered at the position orientation and location defined by the creation device.
[0034] The technology has applicability in providing information to users in a large scale environment. Fig. 2 illustrates user 24 viewing real world environment 1000 environment 1000, various building scenery are visible to the user. Virtual objects may comprise views, audiovisual data, or other types of information rendered from the perspective of user 24, or on various real world objects such as buildings 1001 Fig. 2.
[0035] Figs. 3A - 3E illustrate user of the technology in a large real world environment. In this aspect, a user can create a shared virtual object, and leave markers in the environment for other users indicating where shared virtual objects exist in the environment. This can allow a second user to approach the marker and consume the virtual object created by the first user.
[0036] In one example, suppose a user on vacation takes a picture of a particular scene with user's family standing in front of a landmark building. At a later point in time, a second user may arrive on the scene, and view the virtual object picture of the user's family in front of the landmark in the same position and orientation at which the picture was taken.
[0037] Fig. 3A illustrates user 24 with a creation device 44 using the device to create a virtual object from a real world object, in this case the building 1004. As illustrated in Fig.
3 A, user has a perspective 1003 relative to the building 1004. As in the example above in Figs. 1A through ID, the user's perspective 1003 can be referenced to a world location defined by global coordinates 1005, and a local coordinate system 1006. The field of view of the capture device is illustrated at 1007.
[0038] The field of view at perspective 1003 of user's capture device 44 is illustrated Fig. 3B. In Fig. 3B, a virtual object 1020a comprising a picture of building 1004 has been created. It should be understood that the local coordinate system 1006 may be related to the global coordinate system using one or more positional relationships allowing orientation of the local coordinate system relative to locations defined by the global coordinate system.
[0039] Fig. 3C illustrates the perspective view of a user 24 wearing a see-through head mounted display device in the environment 1000 of Fig. 2. As will be described below, a see through head mounted display device is a missed reality device which allows a user to see virtual objects rendered in an environment. In Fig. 3C, a marker 1010 associated with a virtual object definition 1020 appears to the wearer of a see-through head mounted display device 2. (It should be understood that the object definition 1020 illustrated in Fig. 3C and those referenced hereafter is not visible to the user, except in rendered form as a virtual object.) In accordance with the technology, when the user positions themselves the location associated with the marker 1010, user can view or consume the virtual object created by user 24.
[0040] Fig. 3D illustrates user 24A at the position associated with marker 1010. User 24A is wearing a see-through head mounted display device 2 and positions himself at the same location, orientation, and position relative to the creation device of the user 24 in Fig. 3A. Object definition 1020 includes rendering information as well as global coordinates and local coordinates defining an allowable rendering position to the see-through head mounted display 2.
[0041] As shown in Fig. 3e, the see through head mounted display will render the virtual object 1020a wherein in the allowable rendering position, the rendering position in this example having the same location, position, and orientation as the original creation device. As shown in Fig. 3E, the perspective of user 24A and the view of the object 1020a created in Fig. 3 A is the same as that of user 24 who created virtual object 1020a.
[0042] Figs. 4 A and 4B illustrate another aspect of the present technology including the user of third party sourced information in creating and rendering virtual object. Fig. 4A is a perspective view of a user wearing a see-through head mounted display device 2 in an environment 1000 where a plurality of markers have been provided. In the example shown in Fig. 4A, marker 1010 is illustrated. Marker 1010 may be a marker provided by a user and shared directly with another user. Also illustrated in Fig. 4A are third-party data markers 1015, 1025, 1030, 1040, 1050. Third party data markers are associated with virtual objects whose information may be derived from third-party services. As will be described below, a central service may gather information from any of a number of third-party services, and create virtual objects at positions defined by the central service and/or defined by the information provided by the third-party service. In another alternative, third-party services themselves may define virtual objects for use in an environment. For example, the proprietor of a restaurant may define a virtual object for display in the environment and define an associated marker for use in the environment. This target and associated virtual object may be provided to essential service for display to users of consumption devices.
[0043] Fig. 4B illustrates the perspective view of a virtual object 1015a associated with marker 1015 in Fig. 4B. Fig. 4B also illustrates an example of a "world locked" object with multiple allowable viewing locations, positions, and orientations. Virtual object 1015a is shown as positioned on the side of the building and includes information provided by third party service Yelp®. In this instance, virtual object 1015a is a "world locked" virtual object whose position is associated with a physical object (the building) and may have a number of allowable rendering locations, orientation, and positions relative to the position of the consumption device. For example, as a user moves in Fig. 4B relative to the building and virtual object 1015a, virtual object 1015a will still appear on the side of the building. Hence, a number of allowable positions are available to view the virtual object 1050a. [0044] In the example shown in Fig. 4B, a see through head mounted display device 2 is considered to be proximate to the rendering location of the world locked object 1015 a. Locations proximate to the rendering location would include all allowable locations, positions, and orientations defined in the perspective-locked virtual object at which rendering by consumption device can occur.
[0045] As noted above, the consumption deice and the creation device may comprise any of a number of suitable processing devices as described herein. The technology finds particular applicability when used with a see-through head mounted display device capable of rendering objects in a mixed reality environment.
[0046] When a see through head mounted display device is used as the creation device, various different types of virtual objects may be created. In one aspect, the virtual object may include a combination of all the sensory inputs available from see through head mounted display device which are rendered back to a consuming user assuming that the consuming device is capable rendering all the inputs. For example, a creating user may record a walk-through a particular environment, which is played back to a consuming user as the user makes the same walk through the environment. All aspects of the creation event, including for example video sights, audio sounds, and the like, but be played back to the consuming user.
[0047] A head mounted display device includes a display element and a processing unit. The display element is to a degree transparent so that a user can look through the display element at real-world objects within the user's field of view (FOV). The display element also provides the ability to project virtual images into the FOV of the user such that the virtual images may also appear alongside and mixed with the real-world objects. The system automatically tracks where the user is looking so that the system can determine where to insert the virtual image(s) in the FOV of the user. Once the system knows where to project the virtual image, the image is projected using the display element.
[0048] In embodiments, the head mounted display device including its processing unit may build a model of the mixed reality environment including the x, y, z, pitch, yaw and roll positions of users, real-world objects and virtual three-dimensional objects in the environment. The positions of each head mounted display device worn by the users in the environment may be calibrated to the model of the environment and to each other. This allows the system to determine each user's line of sight and FOV of the environment. Thus, a virtual image may be displayed to each user, but the system determines the display of the virtual image from each user's perspective, adjusting the virtual image for parallax and any occlusions from or by other objects in the environment.
[0049] A user may choose to interact with one or more of the virtual objects appearing within the user's FOV. As used herein, the term "interact" encompasses both physical interaction and verbal interaction of a user with a virtual object. Physical interaction includes a user performing a predefined gesture using his or her fingers, hand and/or other body part(s) recognized by the mixed reality system as a user-request for the system to perform a predefined action. Such predefined gestures may include, but are not limited to, pointing at, grabbing, pushing and positioning virtual objects.
[0050] A user may also physically interact with a virtual object with his or her eyes. In some instances, eye gaze data identifies where a user is focusing in the FOV, and can thus identify that a user is looking at a particular virtual object or real world object. Sustained eye gaze, or a blink or blink sequence, may thus be a physical interaction whereby a user selects one or more virtual objects. A user simply looking at a virtual object, such as viewing content on a virtual display slate, is a further example of physical interaction of a user with a virtual object.
[0051] A user may alternatively or additionally interact with virtual objects using verbal gestures, such as for example a spoken word or phrase recognized by the mixed reality system as a user request for the system to perform a predefined action. Verbal gestures may be used in conjunction with physical gestures to interact with one or more virtual objects in the mixed reality environment.
[0052] Figs. 5 - 8 illustrate a see through head mounted display device 2, which in one embodiment is in the shape of glasses, worn on the head of a user so that the user can see through a display and thereby have an actual direct view of the space in front of the user. The use of the term "actual direct view" refers to the ability to see the real world objects directly with the human eye, rather than seeing created image representations of the objects. For example, looking through glass at a room allows a user to have an actual direct view of the room, while viewing a video of a room on a television is not an actual direct view of the room. More details of the head mounted display device 2 are provided below.
[0053] A processing unit 4 may include much of the computing power used to operate head mounted display device 2. In embodiments, the processing unit 4 communicates wirelessly (e.g., WiFi, Bluetooth, infra-red, or other wireless communication means) to one or more central services 900. [0054] A head mounted display device may include a display element. The display element is to a degree transparent so that a user can look through the display element at real world objects within the user's field of view (FOV). The display element also provides the ability to project virtual objects into the FOV of the user such that the virtual objects may also appear alongside the real world objects. The system automatically tracks where the user is looking so that the system can determine where to insert the virtual object in the FOV of the user. Once the system knows where to project the virtual object, the image is projected using the display element.
[0055] Virtual objects may include an object definition such as definition 1020 discussed above. The definition may include data allowing the display device 2 to render the virtual object in the field of view of a user. One component of the definition may comprise an object type, object size, and one or more optimal viewing perspectives and orientation. Each optimal viewing perspective may comprise a definition of an optimal perspective for a user view of the object. When a virtual object is shared, the technology presented herein uses the object definition and the locations and field of view of each user with whom the object is shared to determine an optimal location at which to render the object for each user.
[0056] In one alternative, other computing systems and one or more of the processing units may cooperate to build a model of the environment including the x, y, z Cartesian positions of all users, real world objects and virtual three-dimensional objects in the room or other environment. The positions of each head mounted display device worn by the users in the environment may be calibrated to the model of the environment and to each other. This allows the system to determine each user's line of sight and FOV of the environment. Thus, a virtual object may be displayed to each user, but the display of the virtual object from each user's perspective may be relative, adjusting the virtual object for parallax and any occlusions from or by other objects in the environment. The model of the environment, referred to herein as a scene map, as well as all tracking of the user's FOV and objects in the environment may be generated by computing systems and mobile processing unit working in tandem or individually.
[0057] Figs. 5 and 6 show perspective and side views of the head mounted display device 2. Fig. 6 shows the right side of head mounted display device 2, including a portion of the device having temple 102 and nose bridge 104. Built into nose bridge 104 is a microphone 110 for recording sounds and transmitting that audio data to processing unit 4, as described below. At the front of head mounted display device 2 is room-facing video camera 112 that can capture video and still images. Those images are transmitted to processing unit 4, as described below.
[0058] A portion of the frame of head mounted display device 2 will surround a display (that includes one or more lenses). In order to show the components of head mounted display device 2, a portion of the frame surrounding the display is not depicted. The display includes a light-guide optical element 115, opacity filter 114, see-through lens 116 and see-through lens 118. In one embodiment, opacity filter 114 is behind and aligned with see-through lens 116, light-guide optical element 115 is behind and aligned with opacity filter 114, and see- through lens 118 is behind and aligned with light-guide optical element 115. See-through lenses 116 and 118 are standard lenses used in eye glasses and can be made to any prescription (including no prescription). Light-guide optical element 115 channels artificial light to the eye. More details of opacity filter 114 and light-guide optical element 115 are provided in U.S. Published Patent Application No. 2012/0127284, entitled, "Head-Mounted Display Device Which Provides Surround Video", which application published on May 24, 2012.
[0059] Control circuits 136 provide various electronics that support the other components of head mounted display device 2. More details of control circuits 136 are provided below with respect to Fig. 7. Inside or mounted to temple 102 are ear phones 130, inertial measurement unit 132 and temperature sensor 138. In one embodiment shown in Fig. 7, the inertial measurement unit 132 (or IMU 132) includes inertial sensors such as a three axis magnetometer 132A, three axis gyro 132B and three axis accelerometer 132C. The inertial measurement unit 132 senses position, orientation, and sudden accelerations (pitch, roll and yaw) of head mounted display device 2. The IMU 132 may include other inertial sensors in addition to or instead of magnetometer 132A, gyro 132B and accelerometer 132C.
[0060] Microdisplay 120 projects an image through lens 122. There are different image generation technologies that can be used to implement microdisplay 120. For example, microdisplay 120 can be implemented in using a transmissive projection technology where the light source is modulated by optically active material, backlit with white light. These technologies are usually implemented using LCD type displays with powerful backlights and high optical energy densities. Microdisplay 120 can also be implemented using a reflective technology for which external light is reflected and modulated by an optically active material. The illumination is forward lit by either a white source or RGB source, depending on the technology. Digital light processing (DLP), liquid crystal on silicon (LCOS) and Mirasol® display technology from Qualcomm, Inc. are all examples of reflective technologies which are efficient as most energy is reflected away from the modulated structure and may be used in the present system. Additionally, microdisplay 120 can be implemented using an emissive technology where light is generated by the display. For example, a PicoP™ display engine from Microvision, Inc. emits a laser signal with a micro mirror steering either onto a tiny screen that acts as a transmissive element or beamed directly into the eye (e.g., laser).
[0061] Light-guide optical element 115 transmits light from microdisplay 120 to the eye 140 of the user wearing head mounted display device 2. Light-guide optical element 115 also allows light from in front of the head mounted display device 2 to be transmitted through light-guide optical element 115 to eye 140, as depicted by arrow 142, thereby allowing the user to have an actual direct view of the space in front of head mounted display device 2 in addition to receiving a virtual object from microdisplay 120. Thus, the walls of light-guide optical element 115 are see-through. Light-guide optical element 115 includes a first reflecting surface 124 (e.g., a mirror or other surface). Light from microdisplay 120 passes through lens 122 and becomes incident on reflecting surface 124. The reflecting surface 124 reflects the incident light from the microdisplay 120 such that light is trapped inside a planar substrate comprising light-guide optical element 115 by internal reflection. After several reflections off the surfaces of the substrate, the trapped light waves reach an array of selectively reflecting surfaces 126. Note that one of the five surfaces is labeled 126 to prevent over-crowding of the drawing. Reflecting surfaces 126 couple the light waves incident upon those reflecting surfaces out of the substrate into the eye 140 of the user. More details of a light-guide optical element can be found in United States Patent Publication No. 2008/0285140, entitled "Substrate-Guided Optical Devices", published on November 20, 2008.
[0062] Head mounted display device 2 also includes a system for tracking the position of the user's eyes. As will be explained below, the system will track the user's position and orientation so that the system can determine the FOV of the user. However, a human will not perceive everything in front of them. Instead, a user's eyes will be directed at a subset of the environment. Therefore, in one embodiment, the system will include technology for tracking the position of the user's eyes in order to refine the measurement of the FOV of the user. For example, head mounted display device 2 includes eye tracking assembly 134 (Fig.
6) , which has an eye tracking illumination device 134 A and eye tracking camera 134B (Fig.
7) . In one embodiment, eye tracking illumination device 134A includes one or more infrared (IR) emitters, which emit IR light toward the eye. Eye tracking camera 134B includes one or more cameras that sense the reflected IR light. The position of the pupil can be identified by known imaging techniques which detect the reflection of the cornea. For example, see U.S. Patent No. 7,401,920, entitled "Head Mounted Eye Tracking and Display System", issued July 22, 2008. Such a technique can locate a position of the center of the eye relative to the tracking camera. Generally, eye tracking involves obtaining an image of the eye and using computer vision techniques to determine the location of the pupil within the eye socket. In one embodiment, it is sufficient to track the location of one eye since the eyes usually move in unison. However, it is possible to track each eye separately.
[0063] In one embodiment, the system will use four IR LEDs and four IR photo detectors in rectangular arrangement so that there is one IR LED and IR photo detector at each corner of the lens of head mounted display device 2. Light from the LEDs reflect off the eyes. The amount of infrared light detected at each of the four IR photo detectors determines the pupil direction. That is, the amount of white versus black in the eye will determine the amount of light reflected off the eye for that particular photo detector. Thus, the photo detector will have a measure of the amount of white or black in the eye. From the four samples, the system can determine the direction of the eye.
[0064] Another alternative is to use four infrared LEDs as discussed above, but one infrared CCD on the side of the lens of head mounted display device 2. The CCD will use a small mirror and/or lens (fish eye) such that the CCD can image up to 75% of the visible eye from the glasses frame. The CCD will then sense an image and use computer vision to find the image, much like as discussed above. Thus, although Fig. 6 shows one assembly with one IR transmitter, the structure of Fig. 6 can be adjusted to have four IR transmitters and/or four IR sensors. More or less than four IR transmitters and/or four IR sensors can also be used.
[0065] Another embodiment for tracking the direction of the eyes is based on charge tracking. This concept is based on the observation that a retina carries a measurable positive charge and the cornea has a negative charge. Sensors are mounted by the user's ears (near earphones 130) to detect the electrical potential while the eyes move around and effectively read out what the eyes are doing in real time. Other embodiments for tracking eyes can also be used.
[0066] Fig. 6 shows half of the head mounted display device 2. A full head mounted display device would include another set of see-through lenses, another opacity filter, another light-guide optical element, another microdisplay 120, another lens 122, room- facing camera, eye tracking assembly, micro display, earphones, and temperature sensor. [0067] Fig. 7 is a block diagram depicting the various components of head mounted display device 2. Fig. 8 is a block diagram describing the various components of processing unit 4. Head mounted display device 2, the components of which are depicted in Fig. 7, is used to provide a mixed reality experience to the user by fusing one or more virtual objects seamlessly with the user's view of the real world. Additionally, the head mounted display device components of Fig. 7 include many sensors that track various conditions. Head mounted display device 2 will receive instructions about the virtual object from processing unit 4 and will provide the sensor information back to processing unit 4. Processing unit 4, the components of which are depicted in Fig. 7, will receive the sensory information from head mounted display device 2 and will exchange information and data with the central service 900 (Fig. 1A). Based on that exchange of information and data, processing unit 4 will determine where and when to provide a virtual object to the user and send instructions accordingly to the head mounted display device of Fig. 4.
[0068] Some of the components of Fig. 7 (e.g., room-facing camera 112, eye tracking camera 134B, microdisplay 120, opacity filter 114, eye tracking illumination 134A, earphones 130, and temperature sensor 138) are shown in shadow to indicate that there are two of each of those devices, one for the left side and one for the right side of head mounted display device 2. Fig. 4 shows the control circuit 200 in communication with the power management circuit 202. Control circuit 200 includes processor 210, memory controller 212 in communication with memory 214 (e.g., D-RAM), camera interface 216, camera buffer 218, display driver 220, display formatter 222, timing generator 226, display out interface 228, and display in interface 230.
[0069] In one embodiment, all of the components of control circuit 200 are in communication with each other via dedicated lines or one or more buses. In another embodiment, each of the components of control circuit 200 is in communication with processor 210. Camera interface 216 provides an interface to the two room- facing cameras 112 and stores images received from the room-facing cameras in camera buffer 218. Display driver 220 will drive microdisplay 120. Display formatter 222 provides information, about the virtual object being displayed on microdisplay 120, to opacity control circuit 224, which controls opacity filter 114. Timing generator 226 is used to provide timing data for the system. Display out interface 228 is a buffer for providing images from room-facing cameras 112 to the processing unit 4. Display in interface 230 is a buffer for receiving images such as a virtual object to be displayed on microdisplay 120. Display out interface 228 and display in interface 230 communicate with band interface 232 which is an interface to processing unit 4.
[0070] Power management circuit 202 includes voltage regulator 234, eye tracking illumination driver 236, audio DAC and amplifier 238, microphone preamplifier and audio ADC 240, temperature sensor interface 242 and clock generator 244. Voltage regulator 234 receives power from processing unit 4 via band interface 232 and provides that power to the other components of head mounted display device 2. Eye tracking illumination driver 236 provides the IR light source for eye tracking illumination 134A, as described above. Audio DAC and amplifier 238 output audio information to the earphones 130. Microphone preamplifier and audio ADC 240 provides an interface for microphone 110. Temperature sensor interface 242 is an interface for temperature sensor 138. Power management circuit 202 also provides power and receives data back from three axis magnetometer 132A, three axis gyro 132B and three axis accelerometer 132C.
[0071] Fig. 8 is a block diagram describing the various components of processing unit 4. Fig. 8 shows control circuit 304 in communication with power management circuit 306. Control circuit 304 includes a central processing unit (CPU) 320, graphics processing unit (GPU) 322, cache 324, RAM 326, memory controller 328 in communication with memory 330 (e.g., D-RAM), flash memory controller 332 in communication with flash memory 334 (or other type of non-volatile storage), display out buffer 336 in communication with head mounted display device 2 via band interface 302 and band interface 232, display in buffer 338 in communication with head mounted display device 2 via band interface 302 and band interface 232, microphone interface 340 in communication with an external microphone connector 342 for connecting to a microphone, PCI express interface for connecting to a wireless communication device 346, and USB port(s) 348. In one embodiment, wireless communication device 346 can include a Wi-Fi enabled communication device, BlueTooth communication device, infrared communication device, etc. The USB port can be used to dock the processing unit 4 to a computing system in order to load data or software onto processing unit 4, as well as charge processing unit 4. In one embodiment, CPU 320 and GPU 322 are the main workhorses for determining where, when and how to insert virtual three-dimensional objects into the view of the user. More details are provided below.
[0072] Power management circuit 306 includes clock generator 360, analog to digital converter 362, battery charger 364, voltage regulator 366, head mounted display power source 376, and temperature sensor interface 372 in communication with temperature sensor 374 (possibly located on the wrist band of processing unit 4). Analog to digital converter 362 is used to monitor the battery voltage, the temperature sensor and control the battery charging function. Voltage regulator 366 is in communication with battery 368 for supplying power to the system. Battery charger 364 is used to charge battery 368 (via voltage regulator 366) upon receiving power from charging jack 370. HMD power source 376 provides power to the head mounted display device 2.
[0073] As noted above, various types of processing devices may be utilized with the present technology. Fig. 9 is a block diagram illustrating a mobile or tablet computing device. Fig. 9 is a block diagram of an exemplary mobile or tablet device which may operate in embodiments of the technology described herein (e.g. device 44). Exemplary electronic circuitry of a typical mobile device is depicted. The device 700 includes one or more microprocessors 712, and memory 710 (e.g., non- volatile memory such as ROM and volatile memory such as RAM) which stores processor-readable code which is executed by one or more processors of the control processor 712 to implement the functionality described herein.
[0074] Mobile device 700 may include, for example, processors 712, memory 710 including applications and non- volatile storage. The processor 712 can implement communications, as well as any number of applications, including the interaction applications discussed herein. Memory 710 can be any variety of memory storage media types, including non-volatile and volatile memory. A device operating system handles the different operations of the mobile device 700 and may contain user interfaces for operations, such as placing and receiving phone calls, text messaging, checking voicemail, and the like. The applications 730 can be any assortment of programs, such as a camera application for photos and/or videos, an address book, a calendar application, a media player, an Internet browser, games, other multimedia applications, an alarm application, other third party applications, a content creation application discussed herein, and the like. The non-volatile storage component 740 in memory 710 contains data such as web caches, music, photos, contact data, scheduling data, and other files.
[0075] The processor 712 also communicates with RF transmit/receive circuitry 706 which in turn is coupled to an antenna 702, with an infrared transmitted/receiver 708, with any additional communication channels 760 like Wi-Fi or Bluetooth, and with a movement/orientation sensor 714 such as an accelerometer. Accelerometers have been incorporated into mobile devices to enable such applications as intelligent user interfaces that let users input commands through gestures, indoor GPS functionality which calculates the movement and direction of the device after contact is broken with a GPS satellite, and to detect the orientation of the device and automatically change the display from portrait to landscape when the device is rotated. An accelerometer can be provided, e.g., by a micro- electromechanical system (MEMS) which is a tiny mechanical device (of micrometer dimensions) built onto a semiconductor chip. Acceleration direction, as well as orientation, vibration and shock can be sensed. The processor 712 further communicates with a ringer/vibrator 716, a user interface keypad/screen, biometric sensor system 718, a speaker 720, a microphone 722, a camera 724, a light sensor 726 and a temperature sensor 728.
[0076] The processor 712 controls transmission and reception of wireless signals. During a transmission mode, the processor 712 provides a voice signal from microphone 722, or other data signal, to the RF transmit/receive circuitry 706. The transmit/receive circuitry 706 transmits the signal to a remote station (e.g., a fixed station, operator, other cellular phones, etc.) for communication through the antenna 702. The ringer/vibrator 716 is used to signal an incoming call, text message, calendar reminder, alarm clock reminder, or other notification to the user. During a receiving mode, the transmit/receive circuitry 706 receives a voice or other data signal from a remote station through the antenna 702. A received voice signal is provided to the speaker 720 while other received data signals are also processed appropriately.
[0077] Additionally, a physical connector 788 can be used to connect the mobile device 700 to an external power source, such as an AC adapter or powered docking station. The physical connector 788 can also be used as a data connection to a computing device. The data connection allows for operations such as synchronizing mobile device data with the computing data on another device.
[0078] A GPS transceiver 765 utilizing satellite-based radio navigation to relay the position of the user applications is enabled for such service.
[0079] The example processing systems illustrated in the figures include examples of computer readable storage media. Computer readable storage media are also processor readable storage media. Such media may include volatile and nonvolatile, removable and non-removable media implemented for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, cache, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, memory sticks or cards, magnetic cassettes, magnetic tape, a media drive, a hard disk, magnetic disk storage or other magnetic storage devices, and the like. [0080] As noted above, information created and shared for a perspective-locked virtual object having in world space may be utilized with a central service 900. In one aspect the central service is illustrated in Fig. 10. Central service 900 may be operated on one or more processing devices or servers. The logical components of the central service 900 are illustrated in Fig. 10.
[0081] Central service 900 may include user information 910, user content information 958, third party contention information 968, a third-party service aggregator 980, a mapping engine 985, and communications interface 995. Communications interface 995 may include any number of interfaces, transport layers and protocols allowing central service 900 to communicate with see-through mounted display device 2, a tablet 902 and mobile phone 904.
[0082] User information 910 can include login information 919 requiring user of a device 2, tabled 902, phone 904 and central service 900 to authenticate their identity before accessing secure information available to users of central service 900. Each user may have available via the service 900 the user's address book 914 and social contact data 916, as well as the user's location history 918. In alternative embodiments, all or portions of the user information may be stored locally on the devices.
[0083] User content information 958 includes content location information 957 and user- created shared perspective-locked objects 956. User content information may be information on shared virtual objects created by users, such as user 24 above, greeted by the user for sharing with other users of the central service 900. Object location information 957 can include, for a given area, a three-dimensional map the location as well as the locations of objects in the area, and markers to be utilized with the objects. Shared objects 956 can include the specific object data associated with the information in the object location information 957.
[0084] Third-party content information 968 also includes object location information 967 and third party perspective-locked objects 966. Third party objects include content information available from third-party social interaction services 990 which is retrieved from the social interaction services 990 through a third-party service aggregator 980. Third party objects 966 can be created by third-party social interaction services 990, or created by the central service using mapping engine 985 and information available from third-party social interaction services. This information may include the allowable rendering locations, discussed above, as well as any information from users of the third party social interaction services. [0085] Third-party service aggregator 980 retrieves information from third-party social media services 990, each of which may provide information that can be used to populate virtual objects. Third-party service aggregator 980 interacts with the application programming interface (API) of each of the third-party interaction services 990.
[0086] Mapping engine 985 associates global coordinate location information with location data from users and from third-party service aggregator 980. Mapping engine 985 also receives location information from user devices and updates the user location history 918. The mapping engine may also provide 3D scene data to the see-through head mounted display device 2, tablet 902 and phone 904. This information can be updated as the user location tracking information is provided from the device 2 to the central service 900. The mapping engine 985 can further associate the type of marker to be generated with the third- party information services provider.
[0087] Third-party social interaction services 990 may include with their information the global coordinates for points of interest for which they provide information. Many social media services 990 include, along with their reviews, such global coordinate location information. The mapping engine 985 may verify this information, or add global coordinate information to user generated data. This location can be derived from the user's location history, as well as input at the time the user is creates information on a particular point of interest.
[0088] Third-party service aggregator 980 may also receive object definitions from owner/operator and publicly shared objects sources by 19. He's objects may be provided by owners and operators of facilities which to have a point object associated with their particular establishment.
[0089] Shared objects 956 and third party object 966 includes object rendering data information as well as one or more allowable consumption locations, one or more allowable consumption positions, and one or more allowable consumption orientations for a consumption device seeking to render the object. Central service 900 may be operated by one or more system administrators provide a central service two wearers of the see-through head mounted display device two.
[0090] Fig. 11 is a flowchart illustrating a method of creating a sharable perspective- locked virtual object in accordance with the present technology. The method of Fig. 11 may be performed by components of the processing unit 4 and/or head mounted display device 2. Any one or more of the, the processing unit 4 and/or head mounted display device 2 acting alone or in conjunction with another of the systems may perform all or portions of the method.
[0091] With reference to Fig. 11, at step 1100, a user location for a user seeking to create scene data is determined. The user location may be derived from a GPS transmitted in the user device and provide global location coordinates describing the position of the user.
[0092] At step 1102, a scene map may be developed identifying the three dimensional geometry of the scene as well as the geometry and positions of objects within the scene around where the user is located. In embodiments, the scene map generated in a given frame may include the x, y and z positions in the local coordinate system of all users, real world objects and virtual objects in the common environment. The scene map may be used in positioning virtual objects within the scene, as well as displaying virtual three-dimensional objects with the proper occlusion (a virtual three-dimensional object may be occluded, or a virtual three-dimensional object may occlude, a real world object or another virtual three- dimensional object). See mapping be derived from capture devices associated with the user, or may be provided by the central service 900.
[0093] At step 1104, information from the central service is received. In one embodiment, step 1 104 need not be performed. Information received at step 1104 may include templates and virtual object definitions to create perspective-locked objects. Information on virtual objects may be cached in the processing device or the head mounted display 2 to allow the perspective-locked objects to be more rapidly created.
[0094] In step 1106, a determination of position, the orientation and the FOV of a user's capture device is made.
[0095] In step 1108, location, orientation, position and field of view data is transformed into a user perspective. User perspective may utilized to determine the allowable rendering positions for certain types of shared virtual objects.
[0096] In step 1112, user generated content for perspective-locked virtual objects is captured. In accordance with the technology, user generated content may be any type of content which can be captured by the sensor devices discussed above with respect to the different types of computing systems. This includes audio data, visual data, motion data, and text. The user generated content is utilized to build the perspective-locked virtual object which will be rendered. At 1115, the position, orientation, and location information is associated with the user generated content. In addition, where the object is defined as a world-locked object, displayable from a number of different perspectives, and allowable consumption positions, locations and orientations may be defined. [0097] In the example shown in Figs. 1A- ID, a single perspective may be defined based on a location, orientation, and position. In the example shown in Fig. 4B, numerous perspectives may be defined and hence numerous different allowable consumption locations are available for the world- locked virtual object.
[0098] At 1117, the virtual object is shared with a second user or transmitted to the central service 900.
[0099] Fig. 12 illustrates a method performed by the device of a consuming user (a consuming device) wishing to view a virtual object in accordance with the present technology.
[00100] At step 1202, the consuming user's location is determined. The location will be determined with reference to global coordinate system utilized in conjunction with the virtual objects. At step 1204, scene map data is gathered in the manner similar to step 1102 above.
[00101] At steps 1206 and 1208, perspective-locked objects may be gathered from other parties. At 1206, objects from third-party contributors are retrieved. At 1208, object user shared information at 1208 may be gathered. Shared perspective-locked virtual objects at steps 1206 and 1208 may be provided from the central service 900, or directly from other user contributors. In some embodiments, information from third-party contributors may be transmitted directly to the device of the consuming user. In addition embodiments, user shared information at step 1208 may be provided by users are in contact with the consuming user. Users in contact with the consuming user may be individuals who are associated with the user's address book, direct contacts, or contact through a social media service who are identified as associated with the consuming user (e.g. "friends").
[00102] At 1209, a determination of position, the orientation and the FOV of a user's capture device is made.
[00103] In instances where markers are used such as those illustrated in Fig. 3C and 4A, an initial determination is made as to whether or not user is proximate to one or more markers at 1210. The determination at 1210 is essentially whether markers at their associated real-world location in an environment would fall within the field of view of the consuming device. It should be understood that the use of markers is not required by the present technology. Thus step 1212 may be optional. Other systems of aligning a consuming user with the rendering locations and positions of shared virtual objects utilized. If markers are utilized and the markers are within the FOV of the consuming device for user, and the markers rendered in the display of the consuming device at 1212. [00104] At step 1214, a determination is made as to whether or not object interaction has occurred. Object interaction at step 1214 may be as simple as positioning the user relative to the marker at a position, location, and orientation which is allowed to view the shared object. When the consuming user's device is at the position, location, and orientation, the object may be rendered. In other embodiments, the user may actively select a marker before placing the consuming device at the position, location, and orientation.
[00105] At 1216, the shared perspective-locked virtual object allowable consumption positions are determined. As noted above, some objects have only one position, orientation, and location at which a consumption may occur. Other objects have many allowable consumption positions, orientations, and locations.
[00106] At step 1220, the shared perspective-locked virtual object is rendered for a user when the user and consuming device are in the position, location, and orientation such that the user perspective relative to the object for proper consumption occurs. Consumption may be visualizing photos to that shown, listening to a particular recording sounds and a particular time, watching the video, reading text, playing with an interactive three- dimensional virtual object, and the like.
[00107] Further details of one embodiment for performing step 1220 are illustrated in Fig. 13.
[00108] In some cases, user modification of a shared perspective-locked virtual object is permitted. At step 1224, a determination is made as to whether or not user modification of the object has occurred. User modification may include the user adding, annotating, or changing the object if the permissions on the shared object allow such modification. If user modification the object has occurred, then the data for the object is updated and displayed at 1226. Once content consumption has finished at 1228, method moves to the next object at 1230.
[00109] Fig. 13 illustrates one method for performing step 1220 in Fig. 12. At step 1302, a determination is made as to the proper content consuming orientation, location, position, and perspective for a particular object. The information retrieved at step 1302 defines the information available from one or more virtual objects at which allowable rendering positions occur. The consuming device location, orientation, position, and field of view are retrieved at 1304.
[00110] At 1306, an initial determination is made as to whether or not the shared perspective-locked virtual object to be rendered is world locked or local locked.
[00111] A world locked virtual object is one such that illustrated in Fig. 4B where the position of the object is locked to a location and orientation on a physical object. A local locked virtual object is one where the consumption position is locked to a particular perspective of the user.
[00112] If the shared perspective-locked virtual object is a local locked object, then at 1312, a determination is made as to whether or not the consuming device position, location, and orientation match and allowable consumption position. In this case, the allowable consumption position may be defined as a single allowable consumption position. If not, then a determination of changes to the location, position, and orientation which are needed to match the location, position, and orientation may be made at 1314, and directional guidance to correct the user's location, orientation, and position may be rendered at 1316. This allows the user to move into position for correct consumption of the virtual object. Directions may be provided in visual or audible form. At 1318 a determination is made as to whether or not user and consumption device have moved and if so, then the detection of the match between the actual device position and the allowable consumption position is made again 1312. When the user consuming device matches the allowable consumption position at 1312, the shared perspective-locked virtual object is rendered at 1340.
[00113] If the shared perspective-locked virtual object is a world locked object at 1306, then a determination is made at 1320 as to whether or not a consuming device is at one of a number of allowable positions, orientations, and locations. In one aspect, allowable consumption positions may be determined by determining the consumption devices' location, position, and orientation. In another aspect, for a world- locked object, allowable consumption positions may be determined by determining the consuming device's field of view relative to a real world object at which the virtual object should be defined.
[00114] If a match between the consuming device location, position, and orientation and an allowable position occurs, then at 1322 the object is rendered at the world locked position. At 1322, a determination of a user perspective change is made at 1324 and if the perspective of the user changes relative to the shared perspective-locked virtual object, the change is calculated at 1326 and the method returns to step 1320 to ensure that the consuming device is at an allowable location, position, and orientation with respect to the shared perspective-locked virtual object. If consuming devices is not at the correct position at 1320, and no object rendering occurs at 1350.
[00115] 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 claim.

Claims

1. A method for selecting a virtual object rendered in a see-through head mounted display, comprising:
receiving a shared virtual object including rendering location data for the shared virtual object, the rendering location data including at least a global coordinate location, and at least one position and at least one orientation for the virtual object with respect to a local coordinate system within a field of view of a consumption device;
determining a location, a position and an orientation of the consumption device; positioning the consumption device proximate to the global coordinate location, position and orientation of the shared virtual object; and
displaying the shared virtual object in the consumption device if the consumption device is at a location, position and orientation determined match to match the rendering location data.
2. The method of claim 1 wherein said positioning includes positioning the consumption device at a same global location, position and orientation defined in the shared virtual object.
3. The method of claim 2 wherein the consumption device renders the virtual object at said same global location, position and orientation such that the object has a perspective to the consumption device as to a capture device used to create it.
4. The method of claim 1 wherein said positioning includes positioning the consumption device proximate the shared virtual object such that a rendering location defined by the global coordinate location, at least one position and orientation of the shared virtual object are within the field of view of the consumption device.
5. The method of claim 4 wherein the method further includes positioning a plurality of markers in an environment, each marker displayed in the field of view of a consumption device, each marker denoting a shared virtual object is may be rendered near the marker.
6. A display apparatus, comprising:
a see through head mounted display; and
a processor coupled to the head mounted display, the processor programmed to receive rendering location data for a perspective-locked shared virtual object created by a capture device, the rendering location data including at least one of each of an allowable location, an allowable position, and an allowable orientation, the allowable location, allowable position, and allowable orientation permitting rendering of the shared virtual object in the head mounted display, the rendering location data matching that of a capture device used to create the shared virtual object;
determine a location, a position and an orientation of the see through head mounted display device; and
if the location, position and orientation of the head mounted display device are proximate to the allowable location, allowable position, and allowable orientation, render the shared virtual object in the see through head mounted display.
7. The apparatus of claim 6 wherein said processor, responsive to the perspective- locked shared virtual object, is programmed to render the perspective-locked shared virtual object when the see through head mounted display is at the same global location, position and orientation defined in the shared virtual object.
8. The apparatus of claim 6 wherein said processor is further programmed to capture perspective-locked shared virtual object rendering data, the data including rendering location data for perspective-locked shared virtual object, the rendering location data including at least a global coordinate location, and at least one position and at least one orientation for the virtual object with respect to a local coordinate system within a field of view of a consumption device.
9. The apparatus of claim 8 wherein the apparatus includes at least an audio sensor and a video camera, and said processor is further programmed to capture perspective-locked shared virtual object rendering data using said audio sensor and video camera.
10. The apparatus of claim 9 wherein said processor is further programmed to determine positions of a plurality of markers in an environment, each marker displayed in a field of view of a display, each marker denoting a perspective-locked object may be rendered near the marker and wherein said processor is further programmed to determine a difference between rendering location data and the apparatus, and provide directions on movement for the apparatus to reach the location, position and orientation of the head mounted display device proximate to the allowable location.
PCT/US2014/042647 2013-06-18 2014-06-17 Virtual object orientation and visualization WO2014204905A1 (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
MX2015017875A MX371269B (en) 2013-06-18 2014-06-17 Virtual object orientation and visualization.
CA2913650A CA2913650C (en) 2013-06-18 2014-06-17 Virtual object orientation and visualization
KR1020167001401A KR102289389B1 (en) 2013-06-18 2014-06-17 Virtual object orientation and visualization
EP19165611.5A EP3521981A1 (en) 2013-06-18 2014-06-17 Virtual object orientation and visualization
EP14737446.6A EP3011418B1 (en) 2013-06-18 2014-06-17 Virtual object orientation and visualization
BR112015031234-9A BR112015031234B1 (en) 2013-06-18 2014-06-17 Method for rendering a virtual object on a head-mounted transparent display and display apparatus
AU2014281726A AU2014281726B2 (en) 2013-06-18 2014-06-17 Virtual object orientation and visualization
CN201480035022.XA CN105453011B (en) 2013-06-18 2014-06-17 Virtual objects direction and visualization
JP2016521497A JP6391685B2 (en) 2013-06-18 2014-06-17 Orientation and visualization of virtual objects
RU2015154279A RU2670784C9 (en) 2013-06-18 2014-06-17 Orientation and visualization of virtual object

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/921,053 2013-06-18
US13/921,053 US10139623B2 (en) 2013-06-18 2013-06-18 Virtual object orientation and visualization

Publications (1)

Publication Number Publication Date
WO2014204905A1 true WO2014204905A1 (en) 2014-12-24

Family

ID=51168429

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/042647 WO2014204905A1 (en) 2013-06-18 2014-06-17 Virtual object orientation and visualization

Country Status (11)

Country Link
US (1) US10139623B2 (en)
EP (2) EP3011418B1 (en)
JP (1) JP6391685B2 (en)
KR (1) KR102289389B1 (en)
CN (1) CN105453011B (en)
AU (1) AU2014281726B2 (en)
BR (1) BR112015031234B1 (en)
CA (1) CA2913650C (en)
MX (1) MX371269B (en)
RU (1) RU2670784C9 (en)
WO (1) WO2014204905A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10499997B2 (en) 2017-01-03 2019-12-10 Mako Surgical Corp. Systems and methods for surgical navigation
US11647161B1 (en) 2022-05-11 2023-05-09 Iniernational Business Machines Corporation Resolving visibility discrepencies of virtual objects in extended reality devices
US12020391B2 (en) 2019-08-07 2024-06-25 Magic Leap, Inc. Spatial instructions and guides in mixed reality

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9823737B2 (en) * 2008-04-07 2017-11-21 Mohammad A Mazed Augmented reality personal assistant apparatus
KR20100138700A (en) * 2009-06-25 2010-12-31 삼성전자주식회사 Method and apparatus for processing virtual world
US9500865B2 (en) * 2013-03-04 2016-11-22 Alex C. Chen Method and apparatus for recognizing behavior and providing information
KR20230173231A (en) * 2013-03-11 2023-12-26 매직 립, 인코포레이티드 System and method for augmented and virtual reality
KR102560629B1 (en) 2013-03-15 2023-07-26 매직 립, 인코포레이티드 Display system and method
US9552675B2 (en) * 2013-06-03 2017-01-24 Time Traveler App Llc Display application and perspective views of virtual space
US9607437B2 (en) * 2013-10-04 2017-03-28 Qualcomm Incorporated Generating augmented reality content for unknown objects
US20150145887A1 (en) * 2013-11-25 2015-05-28 Qualcomm Incorporated Persistent head-mounted content display
JP2015149634A (en) 2014-02-07 2015-08-20 ソニー株式会社 Image display device and method
JP2015228050A (en) * 2014-05-30 2015-12-17 ソニー株式会社 Information processing device and information processing method
US10026226B1 (en) * 2014-06-10 2018-07-17 Ripple Inc Rendering an augmented reality object
EP3256932A4 (en) 2014-10-15 2018-06-20 DIRTT Environmental Solutions, Ltd. Virtual reality immersion with an architectural design software application
US10140768B2 (en) * 2014-10-17 2018-11-27 Seiko Epson Corporation Head mounted display, method of controlling head mounted display, and computer program
US9916002B2 (en) * 2014-11-16 2018-03-13 Eonite Perception Inc. Social applications for augmented reality technologies
WO2016077798A1 (en) 2014-11-16 2016-05-19 Eonite Perception Inc. Systems and methods for augmented reality preparation, processing, and application
US10055892B2 (en) 2014-11-16 2018-08-21 Eonite Perception Inc. Active region determination for head mounted displays
US20170061700A1 (en) * 2015-02-13 2017-03-02 Julian Michael Urbach Intercommunication between a head mounted display and a real world object
US10216982B2 (en) * 2015-03-12 2019-02-26 Microsoft Technology Licensing, Llc Projecting a virtual copy of a remote object
JP6367166B2 (en) 2015-09-01 2018-08-01 株式会社東芝 Electronic apparatus and method
US9947140B2 (en) * 2015-09-15 2018-04-17 Sartorius Stedim Biotech Gmbh Connection method, visualization system and computer program product
US10496156B2 (en) * 2016-05-17 2019-12-03 Google Llc Techniques to change location of objects in a virtual/augmented reality system
US11468111B2 (en) 2016-06-01 2022-10-11 Microsoft Technology Licensing, Llc Online perspective search for 3D components
WO2017214576A1 (en) 2016-06-10 2017-12-14 Dirtt Environmental Solutions, Inc. Mixed-reality and cad architectural design environment
WO2017214559A1 (en) 2016-06-10 2017-12-14 Dirtt Environmental Solutions, Inc. Mixed-reality architectural design environment
EP3273707B1 (en) * 2016-07-20 2019-10-16 Deutsche Telekom AG Method and system for displaying location specific content by a head mounted display device
CN106250084B (en) * 2016-07-29 2017-08-08 广东欧珀移动通信有限公司 video recording method, device and mobile terminal
US10466474B2 (en) * 2016-08-04 2019-11-05 International Business Machines Corporation Facilitation of communication using shared visual cue
US11238610B2 (en) * 2016-08-10 2022-02-01 Disney Enterprises, Inc. Placing large objects and objects separated by large distances in augmented reality
US11017712B2 (en) 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US9928660B1 (en) 2016-09-12 2018-03-27 Intel Corporation Hybrid rendering for a wearable display attached to a tethered computer
US11295525B1 (en) 2016-09-30 2022-04-05 Amazon Technologies, Inc. Augmenting transmitted video data
US10943396B1 (en) 2016-09-30 2021-03-09 Amazon Technologies, Inc. Synchronizing transmitted video data and enhancements
US10950049B1 (en) * 2016-09-30 2021-03-16 Amazon Technologies, Inc. Augmenting transmitted video data
CN106405840A (en) * 2016-10-31 2017-02-15 沈阳工业大学 Helmet type mediated reality glasses having navigation function
US10782796B2 (en) * 2016-11-16 2020-09-22 Magic Leap, Inc. Mixed reality system with reduced power rendering
US10348725B2 (en) 2017-01-10 2019-07-09 International Business Machines Corporatino Method of instant sharing invoked from wearable devices
US10534429B2 (en) 2017-01-10 2020-01-14 International Business Machines Corporation Method of instant sharing invoked from wearable devices
US11024064B2 (en) * 2017-02-24 2021-06-01 Masimo Corporation Augmented reality system for displaying patient data
EP3585254B1 (en) 2017-02-24 2024-03-20 Masimo Corporation Medical device cable and method of sharing data between connected medical devices
US11086396B2 (en) * 2017-03-31 2021-08-10 Sony Interactive Entertainment LLC Depth-keying of web content
US11436811B2 (en) 2017-04-25 2022-09-06 Microsoft Technology Licensing, Llc Container-based virtual camera rotation
CN110809804B (en) 2017-05-08 2023-10-27 梅西莫股份有限公司 System for pairing a medical system with a network controller using an adapter
CN109426419B (en) * 2017-09-05 2022-06-03 菜鸟智能物流控股有限公司 Interface display method and related equipment
US11648878B2 (en) * 2017-09-22 2023-05-16 Maxell, Ltd. Display system and display method
US11062517B2 (en) 2017-09-27 2021-07-13 Fisher-Rosemount Systems, Inc. Virtual access to a limited-access object
GB2568138B (en) * 2017-09-27 2023-02-08 Fisher Rosemount Systems Inc 3D Mapping of a process control environment
CN115167677A (en) 2017-09-29 2022-10-11 苹果公司 Computer generated reality platform
CN110415293B (en) * 2018-04-26 2023-05-23 腾讯科技(深圳)有限公司 Interactive processing method, device, system and computer equipment
US11677833B2 (en) * 2018-05-17 2023-06-13 Kaon Interactive Methods for visualizing and interacting with a three dimensional object in a collaborative augmented reality environment and apparatuses thereof
US20190385372A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Positioning a virtual reality passthrough region at a known distance
US11244509B2 (en) 2018-08-20 2022-02-08 Fisher-Rosemount Systems, Inc. Drift correction for industrial augmented reality applications
CN112639579B (en) 2018-08-31 2023-09-15 奇跃公司 Spatially resolved dynamic dimming for augmented reality devices
US11532138B2 (en) * 2018-11-15 2022-12-20 Edx Technologies, Inc. Augmented reality (AR) imprinting methods and systems
CN111200754B (en) * 2018-11-16 2021-08-10 北京字节跳动网络技术有限公司 Panoramic video playing method and device, terminal and storage medium
JP2022517207A (en) 2019-01-11 2022-03-07 マジック リープ, インコーポレイテッド Time-multiplexed display of virtual content at various depths
KR20200098034A (en) 2019-02-11 2020-08-20 삼성전자주식회사 Electronic device for providing augmented reality user interface and operating method thereof
WO2020226832A1 (en) 2019-05-06 2020-11-12 Apple Inc. Device, method, and computer-readable medium for presenting computer-generated reality files
CN113544634A (en) 2019-05-06 2021-10-22 苹果公司 Apparatus, method and graphical user interface for composing a CGR file
US10885819B1 (en) * 2019-08-02 2021-01-05 Harman International Industries, Incorporated In-vehicle augmented reality system
CN114222942A (en) 2019-08-12 2022-03-22 奇跃公司 System and method for virtual and augmented reality
EP3936978B1 (en) 2020-07-08 2023-03-29 Nokia Technologies Oy Object display
US11816887B2 (en) 2020-08-04 2023-11-14 Fisher-Rosemount Systems, Inc. Quick activation techniques for industrial augmented reality applications
RU2759773C1 (en) * 2020-10-21 2021-11-17 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Method and system for determining the location of the user
EP4016251A1 (en) * 2020-12-16 2022-06-22 Hitachi Energy Switzerland AG Portable display device with overlaid virtual information
KR102580559B1 (en) * 2021-01-08 2023-09-21 한국전자통신연구원 Method, apparatus and system for providing results of translation using visual information
JP7078941B1 (en) 2021-02-10 2022-06-01 株式会社 無重力 Information sharing program and information processing equipment
US20240071002A1 (en) * 2022-08-30 2024-02-29 Rovi Guides, Inc. Systems and methods for pinning content items to locations in an augmented reality display based on user preferences

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090293012A1 (en) * 2005-06-09 2009-11-26 Nav3D Corporation Handheld synthetic vision device

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04250436A (en) 1991-01-11 1992-09-07 Pioneer Electron Corp Image pickup device
US6597818B2 (en) 1997-05-09 2003-07-22 Sarnoff Corporation Method and apparatus for performing geo-spatial registration of imagery
KR100444981B1 (en) 2000-12-15 2004-08-21 삼성전자주식회사 Wearable display system
US7693702B1 (en) 2002-11-01 2010-04-06 Lockheed Martin Corporation Visualizing space systems modeling using augmented reality
US7401920B1 (en) 2003-05-20 2008-07-22 Elbit Systems Ltd. Head mounted eye tracking and display system
US7391424B2 (en) * 2003-08-15 2008-06-24 Werner Gerhard Lonsing Method and apparatus for producing composite images which contain virtual objects
IL157837A (en) 2003-09-10 2012-12-31 Yaakov Amitai Substrate-guided optical device particularly for three-dimensional displays
US8160400B2 (en) 2005-11-17 2012-04-17 Microsoft Corporation Navigating images using image based geometric alignment and object based controls
US20080147325A1 (en) 2006-12-18 2008-06-19 Maassel Paul W Method and system for providing augmented reality
JP5044817B2 (en) 2007-11-22 2012-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション Image processing method and apparatus for constructing virtual space
US20090289955A1 (en) 2008-05-22 2009-11-26 Yahoo! Inc. Reality overlay device
US8108778B2 (en) 2008-09-30 2012-01-31 Yahoo! Inc. System and method for context enhanced mapping within a user interface
DE102009037835B4 (en) * 2009-08-18 2012-12-06 Metaio Gmbh Method for displaying virtual information in a real environment
US8773465B2 (en) * 2009-09-11 2014-07-08 Trimble Navigation Limited Methods and apparatus for providing navigational information associated with locations of objects
US20110214082A1 (en) * 2010-02-28 2011-09-01 Osterhout Group, Inc. Projection triggering through an external marker in an augmented reality eyepiece
US20120249797A1 (en) 2010-02-28 2012-10-04 Osterhout Group, Inc. Head-worn adaptive display
WO2011107423A1 (en) 2010-03-01 2011-09-09 Metaio Gmbh Method of displaying virtual information in a view of a real environment
KR101572892B1 (en) * 2010-05-06 2015-11-30 엘지전자 주식회사 Mobile terminal and Method for displying image thereof
JP5622510B2 (en) 2010-10-01 2014-11-12 オリンパス株式会社 Image generation system, program, and information storage medium
US9275499B2 (en) 2010-11-08 2016-03-01 Sony Corporation Augmented reality interface for video
US9292973B2 (en) * 2010-11-08 2016-03-22 Microsoft Technology Licensing, Llc Automatic variable virtual focus for augmented reality displays
US8576276B2 (en) * 2010-11-18 2013-11-05 Microsoft Corporation Head-mounted display device which provides surround video
KR101591579B1 (en) * 2011-03-29 2016-02-18 퀄컴 인코포레이티드 Anchoring virtual images to real world surfaces in augmented reality systems
JP5675470B2 (en) 2011-04-01 2015-02-25 オリンパス株式会社 Image generation system, program, and information storage medium
US8332424B2 (en) * 2011-05-13 2012-12-11 Google Inc. Method and apparatus for enabling virtual tags
US8629815B2 (en) 2011-08-09 2014-01-14 Google Inc. Laser alignment of binocular head mounted display
US9153195B2 (en) * 2011-08-17 2015-10-06 Microsoft Technology Licensing, Llc Providing contextual personal information by a mixed reality device
US9285592B2 (en) 2011-08-18 2016-03-15 Google Inc. Wearable device with input and output structures
US9268406B2 (en) 2011-09-30 2016-02-23 Microsoft Technology Licensing, Llc Virtual spectator experience with a personal audio/visual apparatus
US20130083008A1 (en) 2011-09-30 2013-04-04 Kevin A. Geisner Enriched experience using personal a/v system
US9497501B2 (en) * 2011-12-06 2016-11-15 Microsoft Technology Licensing, Llc Augmented reality virtual monitor
US8635021B2 (en) * 2012-05-04 2014-01-21 Google Inc. Indicators for off-screen content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090293012A1 (en) * 2005-06-09 2009-11-26 Nav3D Corporation Handheld synthetic vision device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10499997B2 (en) 2017-01-03 2019-12-10 Mako Surgical Corp. Systems and methods for surgical navigation
US11707330B2 (en) 2017-01-03 2023-07-25 Mako Surgical Corp. Systems and methods for surgical navigation
US12020391B2 (en) 2019-08-07 2024-06-25 Magic Leap, Inc. Spatial instructions and guides in mixed reality
US11647161B1 (en) 2022-05-11 2023-05-09 Iniernational Business Machines Corporation Resolving visibility discrepencies of virtual objects in extended reality devices

Also Published As

Publication number Publication date
CA2913650A1 (en) 2014-12-24
AU2014281726B2 (en) 2019-05-02
RU2670784C9 (en) 2018-11-23
JP2016533565A (en) 2016-10-27
EP3011418B1 (en) 2019-11-06
MX371269B (en) 2020-01-23
BR112015031234A8 (en) 2020-03-24
US10139623B2 (en) 2018-11-27
CN105453011A (en) 2016-03-30
CA2913650C (en) 2021-01-19
MX2015017875A (en) 2016-04-13
BR112015031234A2 (en) 2017-07-25
EP3011418A1 (en) 2016-04-27
KR20160021284A (en) 2016-02-24
AU2014281726A1 (en) 2015-12-10
KR102289389B1 (en) 2021-08-11
CN105453011B (en) 2019-04-30
RU2015154279A (en) 2017-06-22
US20140368532A1 (en) 2014-12-18
RU2670784C2 (en) 2018-10-25
EP3521981A1 (en) 2019-08-07
JP6391685B2 (en) 2018-09-19
BR112015031234B1 (en) 2022-04-26
RU2015154279A3 (en) 2018-05-14

Similar Documents

Publication Publication Date Title
EP3011418B1 (en) Virtual object orientation and visualization
US9235051B2 (en) Multi-space connected virtual data objects
US10132633B2 (en) User controlled real object disappearance in a mixed reality display
US11314323B2 (en) Position tracking system for head-mounted displays that includes sensor integrated circuits
US10955665B2 (en) Concurrent optimal viewing of virtual objects
EP3411778B1 (en) Volatility based cursor tethering
US9645394B2 (en) Configured virtual environments
EP3528097B1 (en) Hybrid world/body locked hud on an hmd
WO2013166362A2 (en) Collaboration environment using see through displays
WO2013028586A1 (en) Location based skins for mixed reality displays
CN112655202B (en) Reduced bandwidth stereoscopic distortion correction for fisheye lenses of head-mounted displays
US12088781B2 (en) Hyper-connected and synchronized AR glasses
US20240161422A1 (en) Electronic device for providing at least one multimedia content to users accessing object and method thereof

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480035022.X

Country of ref document: CN

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14737446

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2913650

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2014737446

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2014281726

Country of ref document: AU

Date of ref document: 20140617

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2015154279

Country of ref document: RU

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2016521497

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: MX/A/2015/017875

Country of ref document: MX

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112015031234

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 20167001401

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112015031234

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20151214