WO2021206367A1 - Method and xr display device for depth map re-projection based on image and pose changes - Google Patents

Method and xr display device for depth map re-projection based on image and pose changes Download PDF

Info

Publication number
WO2021206367A1
WO2021206367A1 PCT/KR2021/004075 KR2021004075W WO2021206367A1 WO 2021206367 A1 WO2021206367 A1 WO 2021206367A1 KR 2021004075 W KR2021004075 W KR 2021004075W WO 2021206367 A1 WO2021206367 A1 WO 2021206367A1
Authority
WO
WIPO (PCT)
Prior art keywords
pose
updated
display device
image frame
range
Prior art date
Application number
PCT/KR2021/004075
Other languages
French (fr)
Inventor
Christopher A. Peri
Original Assignee
Samsung Electronics Co., Ltd.
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
Priority claimed from US16/996,610 external-priority patent/US11099396B2/en
Application filed by Samsung Electronics Co., Ltd. filed Critical Samsung Electronics Co., Ltd.
Publication of WO2021206367A1 publication Critical patent/WO2021206367A1/en

Links

Images

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
    • G02B27/0172Head mounted characterised by optical features
    • 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/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • 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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Definitions

  • This disclosure relates generally to method and XR display device for depth map re-projection, and, more particularly, to the re-projection of depth maps based on image and pose updates.
  • An extended reality (XR) system may generally include a computer-generated environment and/or a real-world environment that includes at least some XR artifacts.
  • Such an XR system or world and associated XR artifacts typically include various applications (e.g., video games), which may allow users to utilize these XR artifacts by manipulating their presence in the form of a computer-generated representation (e.g., avatar).
  • image data may be rendered on, for example, a robust head-mounted display (HMD) that may be coupled through a physical wired connection to a base graphics generation device responsible for generating the image data.
  • HMD head-mounted display
  • the XR glasses or spectacles may, in comparison, include reduced processing power, low-resolution/low-cost cameras, and/or relatively simple tracking optics. Additionally, due to the smaller architectural area, the XR glasses or spectacles may also include reduced power management (e.g., batteries, battery size) and thermal management (e.g., cooling fans, heat sinks) electronics. This may often preclude such devices from maximizing performance while reducing power consumption.
  • reduced power management e.g., batteries, battery size
  • thermal management e.g., cooling fans, heat sinks
  • the field of view (FOV) is getting wider and the resolution is gradually increasing. Accordingly, in a lightweight, compact XR display device, it is difficult to maintain or increase performance while making a form factor small (while reducing battery size and amount of battery). It may be thus useful to provide techniques to improve lightweight XR systems, and there is a need for a technology capable of reducing power consumption in order to reduce battery and heat generation in a small, lightweight XR display device.
  • an image to be displayed next is in the same range as an image that is already displayed or an image previously stored in an XR display device, by not requesting to provide updated data to an external electronic device, it is possible to reduce network traffic between the XR display device and the external electronic device, without unnecessary dependence on the external electronic device for obtaining updated data.
  • a depth map re-projection method comprising: rendering a current image frame received from an external electronic device associated with the XR display device, wherein the current image frame is associated with a current pose of the XR display device; receiving an updated image frame from the external electronic device; calculating an updated pose based on one or more characteristics of the updated image frame; determining whether the updated pose is within a pose range with respect to the current pose; and re-rendering, on one or more displays of the XR display device, the current image frame based on whether the updated pose is determined to be within the pose range.
  • a depth map re-projecting XR display device comprising: one or more displays; one or more computer-readable storage media including instructions; and one or more processors coupled to the storage media, the one or more processors configured to execute the instructions to: render a current image frame received from an external electronic device, wherein the current image frame is associated with a current pose; receive an updated image frame from the external electronic device; calculate an updated pose based on one or more characteristics of the updated image frame; determine whether the updated pose is within a pose range with respect to the current pose; and re-render, on one or more displays, the current image frame based on whether the updated pose is determined to be within the pose range.
  • a computer-readable medium comprising instructions that, when executed cause at least one processor of an electronic device to perform any one of the disclosed methods.
  • FIG. 1 illustrates an example extended reality (XR) system.
  • XR extended reality
  • FIG. 2 illustrates a workflow diagram for selectively re-projecting depth maps based on image and depth data and pose data updates.
  • FIG. 3 is a flow diagram of a method for selectively re-projecting depth maps based on image and depth data and pose data updates.
  • FIG. 4 illustrates an example computer system.
  • FIG. 5 illustrates a diagram of an example artificial intelligence (AI) architecture.
  • AI artificial intelligence
  • an extended reality (XR) display device may render a current image frame received from an external electronic device associated with the XR display device.
  • the current image frame may be associated with a current pose of the XR display device.
  • the XR display device may then receive an updated image frame from the external electronic device.
  • the XR display device may then calculate an updated pose based on one or more image or depth characteristics of the updated image frame.
  • the one or more image or depth characteristics may include one or more of an image content range, a depth density, an image content depth, or a depth continuity.
  • the XR display device may then determine whether the updated pose is within a pose range with respect to the current pose associated the current image frame. For example, in particular embodiments, prior to determining whether the updated pose is within the pose range with respect to the current pose, the XR display device may calculate a suitable pose range with respect to the current pose, in which the suitable pose range may be determined based on a target image quality. In particular embodiments, the XR display device may then re-render, on one or more displays of the XR display device, a current image frame based on whether the updated pose is determined to be within the pose range.
  • the XR display device may then continuously monitor for a receipt of a second updated image frame from the external electronic device.
  • the XR display device may then calculate a second updated pose based on one or more image or depth characteristics of the second updated image frame.
  • the one or more image or depth characteristics may include one or more of an image content range, a depth density, an image content depth, or a depth continuity.
  • the XR display device may then determine whether one or more anchors corresponding to the second updated pose are stored on the XR display device.
  • the XR display device may store over time a number of anchors, which may each include a data element, an object instance, or a bounding box that includes a particular pose stored together with its associated image and depth dataset.
  • the XR display device may access the image data or depth data corresponding to the one or more anchors.
  • the XR display device may then determine whether the second updated pose is within an updated pose range corresponding to the one or more anchors. The XR display device may then render, on the one or more displays of the XR display device, the second updated image frame when the second updated pose is determined to be within the updated pose range.
  • the XR display device may forgo rendering the current image frame and instead re-render the previous image frame on the one or more displays of the XR display device.
  • the XR display device may access image data or depth data corresponding to one or more stored anchors that correspond to the pose associated with the current image frame and adjust the current image frame and suitable pose range based thereon.
  • the XR display device may either continuously re-render (e.g., re-project) a 2D or 3D image that was already being displayed by the one or more displays of the XR display device or adjust a current image frame to be displayed based on stored anchors, such that the XR display device may forgo unnecessarily relying upon the external electronic device to provide image data or depth data refresh updates that would otherwise include the same or nearly the same image content or depth content as the 2D or 3D images already being displayed or next to be displayed by the XR display device.
  • continuously re-render e.g., re-project
  • the XR display device may nevertheless provide desirable XR experiences to users while also reducing power consumption and thermal output.
  • reduced power management e.g., batteries, battery size
  • thermal management e.g., cooling fans, heat sinks
  • extended reality may refer to a form of electronic-based reality that has been manipulated in some manner before presentation to a user, including, for example, virtual reality (VR), augmented reality (AR), mixed reality (MR), hybrid reality, simulated reality, immersive reality, holography, or any combination thereof.
  • extended reality content may include completely computer-generated content or partially computer-generated content combined with captured content (e.g., real-world images).
  • the "extended reality” content may also include video, audio, haptic feedback, or some combination thereof, any of which may be presented in a single channel or in multiple channels (such as stereo video that produces a three-dimensional (3D) effect to the viewer).
  • extended reality may be associated with applications, products, accessories, services, or a combination thereof, that, for example, may be utilized to create content in extended reality and/or utilized in (e.g., perform activities) in extended reality.
  • extended reality content may be implemented on various platforms, including a head-mounted device (HMD) connected to a host computer system, a standalone HMD, a mobile device or computing system, or any other hardware platform capable of providing extended reality content to one or more viewers.
  • HMD head-mounted device
  • a "current image frame” may refer to a most recent image frame or a most recent set of image frames that may be either sent (e.g., pushed) to an XR display device from a computing platform or requested or loaded (e.g., pulled) from the computing platform by the XR display device for image or depth processing and analysis.
  • the "current image frame” may simply correspond to the latest image frame (of an N set of RGBD image frames being rendered by the computing platform) that may be pushed to, or pulled by, the XR display device.
  • the "current image frame” may simply refer to the most recent image that is indeed sent from the computing platform to the XR display device.
  • FIG. 1 illustrates an example extended reality (XR) system 100 that may be suitable for selectively re-projecting depth maps based on image and depth data and pose data updates, in accordance with presently disclosed embodiments.
  • the XR system 100 may include an XR display device 102, a network 104, and a computing platform 106.
  • the XR display device 102 is a device capable of displaying extended reality (XR), and may include XR glasses in the shape of glasses worn by a user on the face, a head mounted display (HMD) worn on the head, a virtual reality headset (VRH), or an XR helmet.
  • XR extended reality
  • HMD head mounted display
  • VRH virtual reality headset
  • XR helmet a device capable of displaying extended reality (XR), and may include XR glasses in the shape of glasses worn by a user on the face, a head mounted display (HMD) worn on the head, a virtual reality headset (VRH), or an XR helmet.
  • HMD head mounted display
  • VRH virtual reality headset
  • a head-mounted device by arranging a display in front of the user's eyes, a super-large screen can be provided to the user, and a realistic virtual world can be provided since the screen moves according to the user's movement.
  • a user may wear the XR display device 102 that may display visual extended reality content to the user.
  • the XR display device 102 may include an audio device that may provide audio extended reality content to the user.
  • the XR display device 102 may include one or more cameras which can capture images and videos of environments.
  • the XR display device 102 may include an eye tracking system to determine the vergence distance of the user.
  • the XR display device 102 may include a lightweight head-mounted display (HMD) (e.g., goggles, eyeglasses, spectacles, a visor, and so forth).
  • HMD head-mounted display
  • the XR display device 102 may also include a non-HMD device, such as a lightweight handheld display device or one or more laser projecting spectacles (e.g., spectacles that may project a low-powered laser onto a user's retina to project and display image or depth content to the user).
  • a non-HMD device such as a lightweight handheld display device or one or more laser projecting spectacles (e.g., spectacles that may project a low-powered laser onto a user's retina to project and display image or depth content to the user).
  • the XR display device 102 may provide an XR service that outputs at least one virtual object to overlap an area determined by the user's field of view (FOV).
  • FOV field of view
  • the area determined by the user's field of view is an area determined to be recognized by the user wearing the XR display device 102 through the XR display device 102, and may include the entire or at least a portion of the display of the XR display device 102.
  • the XR display device 102 may include a plurality of transparent members corresponding to each of both eyes of the user.
  • the XR display device 102 may include a display, a camera, an audio output unit, and a support unit.
  • the camera may take an image corresponding to the user's field of view or measure a distance to an object.
  • the camera may be used for head tracking and spatial recognition.
  • the camera may recognize the user's movement.
  • the camera may further include an 'eye tracking (ET) camera' in addition to a camera used for detecting an image corresponding to the user's field of view, for example, motion of an object or for spatial recognition.
  • the ET camera may be used for detecting and tracking a user's pupils.
  • the ET camera may be used for adjusting the center of the virtual image projected on the XR display device 102 to be positioned according to the direction in which the eyes of the user wearing the XR display device 102 gaze.
  • a GS Global shutter
  • the ET camera may separately include a left-eye camera and a right-eye camera.
  • the virtual object output through the display may include information related to an application program executed on the XR display device 102 or information related to an external object located in an actual space corresponding to an area determined by the user's field of view.
  • the XR display device 102 may identify an external object included in at least a portion of the user's field of view among image information related to an actual space acquired through a camera.
  • the XR display device 102 may output a virtual object related to an external object identified at least in part of the user's field of view through the display areas of the XR display device 102.
  • External objects may include objects that exist in real space.
  • the display may include a condensing lens or waveguide in a transparent member.
  • the transparent member may be formed of a glass plate, a plastic plate, or a polymer, and may be completely transparent or translucent.
  • the transparent member may include a first transparent member facing the right eye of a user wearing the XR display device 102 and a second transparent member facing the left eye of the user.
  • the display may be disposed at a position facing the user's eyes and may display image.
  • the waveguide can deliver light generated by the light source of the display to the user's eyes.
  • the waveguide may be positioned at least partially on a part of the transparent member.
  • light emitted from the display may be incident on one end of the waveguide, and the incident light may be transmitted to the user's eyes through total internal reflection within the waveguide.
  • the waveguide may be made of a transparent material such as glass, plastic, or polymer, and may include a nano-pattern formed on one surface inside or outside, for example, a polygonal or curved grating structure.
  • the incident light may be propagated or reflected inside the waveguide by a nano-pattern to be provided to the user's eyes.
  • the waveguide includes at least one of a diffractive element (e.g., a diffractive optical element (DOE), a holographic optical element (HOE)) or a reflective element (e.g., a mirror).
  • a diffractive element e.g., a diffractive optical element (DOE), a holographic optical element (HOE)
  • a reflective element e.g., a mirror
  • the waveguide may guide the display light emitted from the light source unit to the user's eyes using at least one diffractive element or a reflective element.
  • the display may include a display panel or a lens (e.g., glass).
  • the display panel may include a transparent material such as glass or plastic.
  • the display may be formed of a transparent element, and the user may see the actual space behind through the display. The display may display the virtual object on at least a portion of the transparent element so that the user sees that the virtual object is added to at least a portion of the real space.
  • the support unit may include a printed circuit board (PCB) for transmitting electrical signals to components of the XR display device 102, a speaker for outputting an audio signal, or a battery for supplying power.
  • PCB printed circuit board
  • the support unit may be disposed on the spectacle leg.
  • the speaker may include a first speaker for transmitting an audio signal to the user's left ear and a second speaker for transmitting an audio signal to the user's right ear.
  • the network 104 may include, for example, any of various wireless communications networks (e.g., WLAN, WAN, PAN, cellular, WMN, WiMAX, GAN, 6LowPAN, and so forth) that may be suitable for communicatively coupling the XR display device 102 to the computing platform 106.
  • wireless communications networks e.g., WLAN, WAN, PAN, cellular, WMN, WiMAX, GAN, 6LowPAN, and so forth
  • the computing platform 106 may include, for example, a standalone host computing system, an on-board computer system integrated with the XR display device 102, a mobile device, or any other hardware platform that may be capable of providing extended reality content to the XR display device 102.
  • the computing platform 106 may include, for example, a cloud-based computing architecture (including one or more servers 108 and data stores 110) suitable for hosting and servicing XR applications or experiences executing on the XR electronic device 102.
  • the computing platform 106 may include a Platform as a Service (PaaS) architecture, a Software as a Service (SaaS) architecture, and an Infrastructure as a Service (IaaS), or other similar cloud-based computing architecture.
  • PaaS Platform as a Service
  • SaaS Software as a Service
  • IaaS Infrastructure as a Service
  • the XR display device 102 may, due to the smaller architectural area, include reduced power management (e.g., batteries, battery size) and thermal management (e.g., cooling fans, heat sinks) electronics.
  • reduced power management e.g., batteries, battery size
  • thermal management e.g., cooling fans, heat sinks
  • FIG. 2 illustrates a workflow diagram 200 for selectively re-projecting depth maps based on image and depth data and pose data updates, in accordance with the presently disclosed embodiments.
  • the workflow diagram 200 may correspond to, and be performed, for example, by the XR display device 102 and computing platform 106 as discussed above with respect to FIG. 1.
  • the workflow diagram 200 may begin at block 202 with the computing platform 106 accessing updated (R)ed, (B)lue, (G)reen color values and (D)epth values with respect to 2D or 3D image being rendered by the computing platform 106 and/or the XR display device 102.
  • the computing platform 106 may render both RGB image data and/or RGBD image and depth data based on one or more last known head poses.
  • the workflow diagram 200 may then continue at block 204 with the computing platform 106 determining whether the RGB image data has changed.
  • the computing platform 106 may detect changes in the RGB image data, as head poses may not be updated unless triggered, for example, by the XR display device 102.
  • the computing platform 106 may, in some instances, provide the RGB image data and/or RGBD image and depth data updates to the XR display device 102 at the same time in which the XR display device 102 may be continuously or periodically monitoring (e.g., at block 224) for whether the computing platform 106 has any RGB image data and/or RGBD image and depth data to provide.
  • XR display device 102 may perform continuous or periodic checks to determine whether there are any RGB image data and/or RGBD image and depth data updates to be subsequently rendered by the XR display device 102.
  • one or more current image frames may be requested (e.g., over the network 104) from the computing platform 106 by the XR display device 102 (e.g., from block 224 to block 206) or automatically sent (e.g., over the network 104) to the XR display device 102 by the computing platform 106 (e.g., from block 204 to block 206).
  • the XR display device 102 may also provide the latest head pose data to computing platform 106 along with the request.
  • the XR display device 102 may, for example, pause a for a developer-determined or user-determined time period (e.g. 5 milliseconds (ms), 10ms, 12ms, 16ms, 20ms, and so forth) before requesting again any RGB image data and/or RGBD image and depth data updates from the computing platform 106.
  • a developer-determined or user-determined time period e.g. 5 milliseconds (ms), 10ms, 12ms, 16ms, 20ms, and so forth
  • the workflow diagram 200 may continue at block 208 with the XR display device 102 calculating a suitable pose range.
  • the XR display device 102 may calculate the range of bodily motion (e.g., head motion, gesture motion, and so forth) that may be determined suitable (e.g., based on one or more developer-determined or user-determined image quality preferences or metrics) for re-rending on the XR display device 102 a previously rendered image frame.
  • bodily motion e.g., head motion, gesture motion, and so forth
  • suitable e.g., based on one or more developer-determined or user-determined image quality preferences or metrics
  • the XR display device 102 may calculate a suitable pose range based on, for example, the amount of head pose translation and rotation that may support a particular image quality (e.g., based on one or more developer-determined or user-determined image quality preferences or metrics) for re-rendering one or more previously-rendered image frames.
  • the workflow diagram 200 may then continue with the XR display device 102 performing one or more image quality criteria based one or more image or depth characteristics at blocks 210, 212, 214, and 216.
  • the one or more image or depth characteristics may include, for example, an image content range (e.g., at block 210), a depth density (e.g., at block 212), an image content depth (e.g., near-field or far-field image content depth at block 214), or a depth continuity (e.g., at block 216).
  • the image quality criteria based on the one or more image or depth characteristics at blocks 210, 212, 214, and 216 may be developer-determined or user-determined criteria that may be satisfied if one of the image or depth characteristics at blocks 210, 212, 214, and 216 are within predetermined limits, if all of the image or depth characteristics at blocks 210, 212, 214, and 216 are within predetermined limits, or if a majority (e.g., 3 out of 4) of the image or depth characteristics at blocks 210, 212, 214, and 216 are within predetermined limits.
  • a majority e.g., 3 out of 4
  • the XR display device 102 may determine at block 210 whether image content and/or depth content is within a predetermined limit or excessively close to the POV of the XR display device 102. In particular embodiments, the XR display device 102 may determine at block 212 whether image depth density content is within a predetermined level (e.g., whether or not enough depth values are present). In particular embodiments, the XR display device 102 may determine at block 214 whether near-field depth content and/or far-field depth content is within a predetermined limit (e.g., determining whether the depth content has a total depth from a near-field point to a far-field point).
  • the XR display device 102 may determine at block 216 whether the image depth continuity is within predetermined limits (e.g., determine whether changes from depth point to depth point is beyond a predetermined ratio). For example, in particular embodiments, the XR display device 102 may determine depth continuity by calculating, for each depth point, the depth difference between the depth point and each of N surrounding depth points and determine whether an average depth point change is above one or predetermined limits. Based on the satisfying of the one or more image quality criteria, the workflow diagram 200 may then proceed at block 217 with the XR display device 102 re-projecting and displaying a previously-rendered image frame and recommencing the process again at block 206 and/or block 224.
  • predetermined limits e.g., determine whether changes from depth point to depth point is beyond a predetermined ratio.
  • the XR display device 102 may determine depth continuity by calculating, for each depth point, the depth difference between the depth point and each of N surrounding depth points and determine whether an average depth point change is above one or predetermined limits
  • the workflow diagram 200 may continue at block 218 with the XR display device 102 calculating an updated head pose associated with the current image frame and determining at block 220 whether the updated head pose is within the calculated pose range.
  • the XR display device 102 may determine, for example, whether the updated head pose is within the calculated pose range based on the product: range(rotation r , translation t )*(tolerance) with respect to the calculated pose range.
  • the workflow diagram 200 may then continue at block 222 with the XR display device 102 re-projecting and displaying (e.g., re-rendering) the previous image frame and at block 224 with the XR display device 102 continuously or periodically monitoring for whether the computing platform 106 has any RGB image data and/or RGBD image and depth data updates to provide.
  • the XR display device 102 may determine, for example, if one or more sprint animation exists and further determine whether to re-project and display the previous image frame or render the current image frame based thereon. In particular embodiments, if the XR display device 102 determines that there are currently no RGB image data and/or RGBD image and depth data updates to be provided from or requested from the computing platform 106, the workflow diagram 200 may continue at block 226 with the XR display device 102 accessing head pose updates (e.g., based on whether the user makes one or more bodily motions) and continuing to compare the head pose updates to the calculated pose range (e.g., at block 220) and re-projecting and displaying the previous image frame (e.g., at block 222) while the head pose updates remain within the calculated head pose range. In particular embodiments, the XR display device 102 may also define one or more time limits and/or image frame limits for when the XR display device 102 is to request current frame updates from the computing platform 106
  • the workflow diagram 200 may then continue at block 228 with the XR display device 102 may then determine whether one or more anchors corresponding to the updated head pose are stored on the XR display device 102.
  • the XR display device 102 may store over time a number of anchors, which may each include, for example, a data element, an object instance, or a bounding box that includes a particular head pose stored together with its associated image and depth dataset.
  • the XR display device 102 may determine whether one or more anchors corresponding the updated head pose is stored on the XR display device 102 and the particular position within the current image frame in which image content or depth content may be updated based on the one or more stored anchors.
  • the one or more stored anchors may allow the user to have a larger range of bodily motion (e.g., head motions, gesture motions) without requesting RGB image data and/or RGBD image and depth data updates from the computing platform 106.
  • the workflow diagram 200 may continue at block 230 with the XR display device 102 accessing the image data or depth data corresponding to the one or more anchors.
  • the XR display device 102 may then determine whether the newly updated pose is within an updated pose range corresponding to the one or more anchors.
  • the XR display device 102 may then render, on the one or more displays of the XR display device 102, the updated image frame when the updated head pose is determined to be within the updated pose range.
  • the anchors stored on the XR display device 102 may not be limited to any particular head pose range.
  • the one or more anchors or one or more sets of anchors may be utilized to establish one or more updated head poses each associated with a corresponding head pose range.
  • the utilized anchors may be discarded.
  • the workflow diagram 200 may be restart at block 206 with one or more current image frames may be requested (e.g., over the network 104) from the computing platform 106 by the XR display device 102 (e.g., from block 224 to block 206) or automatically sent (e.g., over the network 104) to the XR display device 102 by the computing platform 106 (e.g., from block 204 to block 206).
  • the XR display device 102 may forgo rendering the current image frame and instead re-render the previous image frame on the one or more displays of the XR display device 102.
  • the XR display device 102 may access image data or depth data corresponding to one or more stored anchors that correspond to the pose associated with the current image frame and adjust the current image frame and the suitable pose range based thereon.
  • the XR display device 102 may either continuously re-render (e.g., re-project) a 2D or 3D image that was already being displayed by the one or more displays of the XR display device 102 or adjust a current image frame to be displayed based on stored anchors, such that the XR display device 102 may forgo unnecessarily relying upon the computing platform 106 to provide image data or depth data refresh updates that would otherwise include the same or nearly the same image content or depth content as the 2D or 3D images already being displayed or next to be displayed by the XR display device 102.
  • continuously re-render e.g., re-project
  • XR display device 102 includes reduced power management (e.g., batteries, battery size) and thermal management (e.g., cooling fans, heat sinks) electronics, the XR display device 102 may nevertheless provide desirable XR experiences to users while also reducing power consumption and thermal output.
  • reduced power management e.g., batteries, battery size
  • thermal management e.g., cooling fans, heat sinks
  • FIG. 3 illustrates is a flow diagram of a method for selectively re-projecting depth maps based on image and depth data and pose data updates, in accordance with the presently disclosed embodiments.
  • the method 300 may be performed utilizing one or more processing devices (e.g., XR display device 102) that may include hardware (e.g., a general purpose processor, a graphic processing unit (GPU), an application-specific integrated circuit (ASIC), a system-on-chip (SoC), a microcontroller, a field-programmable gate array (FPGA), a central processing unit (CPU), an application processor (AP), a visual processing unit (VPU), a neural processing unit (NPU), a neural decision processor (NDP), or any other processing device(s) that may be suitable for processing 2D and 3D image data, software (e.g., instructions running/executing on one or more processors), firmware (e.g., microcode), or some combination thereof.
  • a processing device e.g., XR display device 10
  • the method 300 may begin block 302 with the one or more processing devices (e.g., XR display device 102) rendering a current image frame received from an external electronic device associated with an XR display device.
  • the current image frame may be associated with a current pose of the XR display device.
  • the method 300 may then continue at block 304 with the one or more processing devices (e.g., XR display device 102) receiving an updated image frame from the external electronic device.
  • the method 300 may then continue at block 306 with the one or more processing devices (e.g., XR display device 102) calculating an updated pose based on one or more image or depth characteristics of the updated image frame.
  • the method 300 may then continue at block 308 with the one or more processing devices (e.g., XR display device 102) determining whether the updated pose is within a pose range with respect to a current pose associated the current image frame. For example, in particular embodiments, prior to determining whether the updated pose is within the pose range with respect to the current pose, the XR display device may calculate a suitable pose range with respect to the current pose, in which the suitable pose range may be determined based on a target image quality. The method 300 may then conclude at block 310 with the one or more processing devices (e.g., XR display device 102) re-rendering, on one or more displays of the XR display device, a current image frame based on whether the updated pose is determined to be within the pose range.
  • the one or more processing devices e.g., XR display device 102
  • the network 104 traffic of wireless data transmission is reduced by continuously re-rendering (or re-projecting) an image that has already been displayed or by adjusting a current image frame to be displayed based on stored anchors.
  • power consumption in the XR display device 102 can be reduced.
  • the external electronic device may not be requested to provide the updated data, and the XR display device 102 may not unnecessarily dependent on an external electronic device (computing platform 106) for obtaining updated data. Therefore, it is possible to reduce the network 104 traffic between the XR display device 102 and an external electronic device (computing platform 106).
  • the existing RGB and depth data may be reused to re-project the image frame. Accordingly, continuous image projection is possible without an image update from the external electronic device (computing platform 106) or the cloud server.
  • anchors for a specific head pose and associated image and depth data set may be stored in the XR display device 102. Accordingly, the user wearing the XR display device 102 can be provided with a seamless XR service even when moving in a wider range, and power consumption in the wireless communication unit can be reduced.
  • FIG. 4 illustrates an example computer system 400 that may be utilized to perform a real-time or near real-time intelligence-based editing and curating of captured image frames, in accordance with the presently disclosed embodiments.
  • one or more computer systems 400 perform one or more steps of one or more methods described or illustrated herein.
  • one or more computer systems 400 provide functionality described or illustrated herein.
  • software running on one or more computer systems 400 performs one or more steps of one or more methods described or illustrated herein or provides functionality described or illustrated herein.
  • Particular embodiments include one or more portions of one or more computer systems 400.
  • reference to a computer system may encompass a computing device, and vice versa, where appropriate.
  • reference to a computer system may encompass one or more computer systems, where appropriate.
  • computer system 400 may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (e.g., a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, a tablet computer system, an augmented/virtual reality device, or a combination of two or more of these.
  • SBC single-board computer system
  • PDA personal digital assistant
  • server a server
  • tablet computer system augmented/virtual reality device
  • one or more computer systems 400 may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein. As an example, and not by way of limitation, one or more computer systems 400 may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein. One or more computer systems 400 may perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate.
  • computer system 400 includes a processor 402, memory 404, storage 406, an input/output (I/O) interface 408, a communication interface 410, and a bus 412.
  • processor 402 includes hardware for executing instructions, such as those making up a computer program.
  • processor 402 may retrieve (or fetch) the instructions from an internal register, an internal cache, memory 404, or storage 406; decode and execute them; and then write one or more results to an internal register, an internal cache, memory 404, or storage 406.
  • processor 402 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 402 including any suitable number of any suitable internal caches, where appropriate.
  • processor 402 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions in memory 404 or storage 406, and the instruction caches may speed up retrieval of those instructions by processor 402.
  • TLBs translation lookaside buffers
  • Data in the data caches may be copies of data in memory 404 or storage 406 for instructions executing at processor 402 to operate on; the results of previous instructions executed at processor 402 for access by subsequent instructions executing at processor 402 or for writing to memory 404 or storage 406; or other suitable data.
  • the data caches may speed up read or write operations by processor 402.
  • the TLBs may speed up virtual-address translation for processor 402.
  • processor 402 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplates processor 402 including any suitable number of any suitable internal registers, where appropriate.
  • processor 402 may include one or more arithmetic logic units (ALUs); be a multi-core processor; or include one or more processors 402.
  • memory 404 includes main memory for storing instructions for processor 402 to execute or data for processor 402 to operate on.
  • computer system 400 may load instructions from storage 406 or another source (such as, for example, another computer system 400) to memory 404.
  • Processor 402 may then load the instructions from memory 404 to an internal register or internal cache.
  • processor 402 may retrieve the instructions from the internal register or internal cache and decode them.
  • processor 402 may write one or more results (which may be intermediate or final results) to the internal register or internal cache.
  • Processor 402 may then write one or more of those results to memory 404.
  • processor 402 executes only instructions in one or more internal registers or internal caches or in memory 404 (as opposed to storage 406 or elsewhere) and operates only on data in one or more internal registers or internal caches or in memory 404 (as opposed to storage 406 or elsewhere).
  • One or more memory buses may couple processor 402 to memory 404.
  • Bus 412 may include one or more memory buses, as described below.
  • one or more memory management units reside between processor 402 and memory 404 and facilitate accesses to memory 404 requested by processor 402.
  • memory 404 includes random access memory (RAM).
  • This RAM may be volatile memory, where appropriate. Where appropriate, this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, where appropriate, this RAM may be single-ported or multi-ported RAM.
  • DRAM dynamic RAM
  • SRAM static RAM
  • Memory 404 may include one or more memory devices 404, where appropriate.
  • storage 406 includes mass storage for data or instructions.
  • storage 406 may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these.
  • Storage 406 may include removable or non-removable (or fixed) media, where appropriate.
  • Storage 406 may be internal or external to computer system 400, where appropriate.
  • storage 406 is non-volatile, solid-state memory.
  • storage 406 includes read-only memory (ROM).
  • this ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these.
  • This disclosure contemplates mass storage 406 taking any suitable physical form.
  • Storage 406 may include one or more storage control units facilitating communication between processor 402 and storage 406, where appropriate. Where appropriate, storage 406 may include one or more storages 406. Although this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage.
  • I/O interface 408 includes hardware, software, or both, providing one or more interfaces for communication between computer system 400 and one or more I/O devices.
  • Computer system 400 may include one or more of these I/O devices, where appropriate.
  • One or more of these I/O devices may enable communication between a person and computer system 400.
  • an I/O device may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet, touch screen, trackball, video camera, another suitable I/O device or a combination of two or more of these.
  • An I/O device may include one or more sensors. This disclosure contemplates any suitable I/O devices and any suitable I/O interfaces 408 for them.
  • I/O interface 408 may include one or more device or software drivers enabling processor 402 to drive one or more of these I/O devices.
  • I/O interface 408 may include one or more I/O interfaces, where appropriate. Although this disclosure describes and illustrates a particular I/O interface, this disclosure contemplates any suitable I/O interface.
  • communication interface 410 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between computer system 400 and one or more other computer systems or one or more networks.
  • communication interface 410 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI network.
  • NIC network interface controller
  • WNIC wireless NIC
  • WI-FI network wireless network
  • computer system 400 may communicate with an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these.
  • PAN personal area network
  • LAN local area network
  • WAN wide area network
  • MAN metropolitan area network
  • computer system 400 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WI-MAX network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network), or other suitable wireless network or a combination of two or more of these.
  • WPAN wireless PAN
  • WI-FI wireless personal area network
  • WI-MAX wireless personal area network
  • WI-MAX wireless personal area network
  • cellular telephone network such as, for example, a Global System for Mobile Communications (GSM) network
  • GSM Global System
  • bus 412 includes hardware, software, or both coupling components of computer system 400 to each other.
  • bus 412 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or another suitable bus or a combination of two or more of these.
  • Bus 412 may include one or more buses 412, where appropriate.
  • FIG. 5 illustrates a diagram 500 of an example artificial intelligence (AI) architecture 502 that may be utilized to provide a co-informatic generative adversarial network (CI-GAN) for data co-clustering, in accordance with the presently disclosed embodiments.
  • AI artificial intelligence
  • CI-GAN co-informatic generative adversarial network
  • the AI architecture 502 may be implemented utilizing, for example, one or more processing devices that may include hardware (e.g., a general purpose processor, a graphic processing unit (GPU), an application-specific integrated circuit (ASIC), a system-on-chip (SoC), a microcontroller, a field-programmable gate array (FPGA), a central processing unit (CPU), an application processor (AP), a visual processing unit (VPU), a neural processing unit (NPU), a neural decision processor (NDP), and/or other processing device(s) that may be suitable for processing various data and making one or more decisions based thereon), software (e.g., instructions running/executing on one or more processing devices), firmware (e.g., microcode), or some combination thereof.
  • hardware e.g., a general purpose processor, a graphic processing unit (GPU), an application-specific integrated circuit (ASIC), a system-on-chip (SoC), a microcontroller, a field-programmable gate array (FPGA), a central processing unit
  • the AI architecture 502 may include machine leaning (ML) algorithms and functions 504, natural language processing (NLP) algorithms and functions 506, expert systems 508, computer-based vision algorithms and functions 510, speech recognition algorithms and functions 512, planning algorithms and functions 514, and robotics algorithms and functions 516.
  • the ML algorithms and functions 504 may include any statistics-based algorithms that may be suitable for finding patterns across large amounts of data (e.g., "Big Data" such as user click data or other user interactions, text data, image data, video data, audio data, speech data, numbers data, and so forth).
  • the ML algorithms and functions 504 may include deep learning algorithms 518, supervised learning algorithms 520, and unsupervised learning algorithms 522.
  • the deep learning algorithms 518 may include any artificial neural networks (ANNs) that may be utilized to learn deep levels of representations and abstractions from large amounts of data.
  • the deep learning algorithms 518 may include ANNs, such as a multilayer perceptron (MLP), an autoencoder (AE), a convolution neural network (CNN), a recurrent neural network (RNN), long short term memory (LSTM), a gated recurrent unit (GRU), a restricted Boltzmann Machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a generative adversarial network (GAN), and deep Q-networks, a neural autoregressive distribution estimation (NADE), an adversarial network (AN), attentional models (AM), deep reinforcement learning, and so forth.
  • MLP multilayer perceptron
  • AE autoencoder
  • CNN convolution neural network
  • RNN recurrent neural network
  • LSTM long short term memory
  • GRU gated re
  • the supervised learning algorithms 520 may include any algorithms that may be utilized to apply, for example, what has been learned in the past to new data using labeled examples for predicting future events. For example, starting from the analysis of a known training dataset, the supervised learning algorithms 520 may produce an inferred function to make predictions about the output values. The supervised learning algorithms 520 can also compare its output with the correct and intended output and find errors in order to modify the supervised learning algorithms 520 accordingly.
  • the unsupervised learning algorithms 522 may include any algorithms that may applied, for example, when the data used to train the unsupervised learning algorithms 522 are neither classified or labeled. For example, the unsupervised learning algorithms 522 may study and analyze how systems may infer a function to describe a hidden structure from unlabeled data.
  • the NLP algorithms and functions 506 may include any algorithms or functions that may be suitable for automatically manipulating natural language, such as speech and/or text.
  • the NLP algorithms and functions 506 may include content extraction algorithms or functions 524, classification algorithms or functions 526, machine translation algorithms or functions 528, question answering (QA) algorithms or functions 530, and text generation algorithms or functions 532.
  • the content extraction algorithms or functions 524 may include a means for extracting text or images from electronic documents (e.g., webpages, text editor documents, and so forth) to be utilized, for example, in other applications.
  • the classification algorithms or functions 526 may include any algorithms that may utilize a supervised learning model (e.g., logistic regression, naive Bayes, stochastic gradient descent (SGD), k-nearest neighbors, decision trees, random forests, support vector machine (SVM), and so forth) to learn from the data input to the supervised learning model and to make new observations or classifications based thereon.
  • the machine translation algorithms or functions 528 may include any algorithms or functions that may be suitable for automatically converting source text in one language, for example, into text in another language.
  • the QA algorithms or functions 530 may include any algorithms or functions that may be suitable for automatically answering questions posed by humans in, for example, a natural language, such as that performed by voice-controlled personal assistant devices.
  • the text generation algorithms or functions 532 may include any algorithms or functions that may be suitable for automatically generating natural language texts.
  • the expert systems 508 may include any algorithms or functions that may be suitable for simulating the judgment and behavior of a human or an organization that has expert knowledge and experience in a particular field (e.g., stock trading, medicine, sports statistics, and so forth).
  • the computer-based vision algorithms and functions 510 may include any algorithms or functions that may be suitable for automatically extracting information from images (e.g., photo images, video images).
  • the computer-based vision algorithms and functions 510 may include image recognition algorithms 534 and machine vision algorithms 536.
  • the image recognition algorithms 534 may include any algorithms that may be suitable for automatically identifying and/or classifying objects, places, people, and so forth that may be included in, for example, one or more image frames or other displayed data.
  • the machine vision algorithms 536 may include any algorithms that may be suitable for allowing computers to "see", or, for example, to rely on image sensors cameras with specialized optics to acquire images for processing, analyzing, and/or measuring various data characteristics for decision making purposes.
  • the speech recognition algorithms and functions 512 may include any algorithms or functions that may be suitable for recognizing and translating spoken language into text, such as through automatic speech recognition (ASR), computer speech recognition, speech-to-text (STT), or text-to-speech (TTS) in order for the computer to communicate via speech with one or more users, for example.
  • the planning algorithms and functions 514 may include any algorithms or functions that may be suitable for generating a sequence of actions, in which each action may include its own set of preconditions to be satisfied before performing the action. Examples of AI planning may include classical planning, reduction to other problems, temporal planning, probabilistic planning, preference-based planning, conditional planning, and so forth.
  • the robotics algorithms and functions 516 may include any algorithms, functions, or systems that may enable one or more devices to replicate human behavior through, for example, motions, gestures, performance tasks, decision-making, emotions, and so forth.
  • a computer-readable storage medium or media may include one or more semiconductor-based or other integrated circuits (ICs) (such, as for example, field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical discs, optical disc drives (ODDs), magneto-optical discs, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM-drives, SECURE DIGITAL cards or drives, any other suitable computer-readable storage media, or any suitable combination of two or more of these, where appropriate.
  • ICs such, as for example, field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs)
  • HDDs hard disk drives
  • HHDs hybrid hard drives
  • ODDs optical disc drives
  • magneto-optical discs magneto-optical drives
  • FDDs floppy diskettes
  • references in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative. Additionally, although this disclosure describes or illustrates particular embodiments as providing particular advantages, particular embodiments may provide none, some, or all of these advantages.

Abstract

A method implemented by an extended reality (XR) display device includes rendering a current image frame received from an external electronic device associated with the XR display device. The current image frame is associated with a current pose of the XR display device. The method further includes receiving an updated image frame from the external electronic device, calculating an updated pose based on one or more characteristics of the updated image frame, and determining whether the updated pose is within a pose range with respect to the current pose. The method thus further includes re-rendering, on one or more displays of the XR display device, a current image frame based on whether the updated pose is determined to be within the pose range.

Description

METHOD AND XR DISPLAY DEVICE FOR DEPTH MAP RE-PROJECTION BASED ON IMAGE AND POSE CHANGES
This disclosure relates generally to method and XR display device for depth map re-projection, and, more particularly, to the re-projection of depth maps based on image and pose updates.
An extended reality (XR) system may generally include a computer-generated environment and/or a real-world environment that includes at least some XR artifacts. Such an XR system or world and associated XR artifacts typically include various applications (e.g., video games), which may allow users to utilize these XR artifacts by manipulating their presence in the form of a computer-generated representation (e.g., avatar). In typical XR systems, image data may be rendered on, for example, a robust head-mounted display (HMD) that may be coupled through a physical wired connection to a base graphics generation device responsible for generating the image data.
XR systems, especially AR HMDs with other devices connected wirelessly, are getting smaller and smaller. However, in some instances, in which the HMD includes, for example, lightweight XR glasses or spectacles as opposed to more robust headset devices, the XR glasses or spectacles may, in comparison, include reduced processing power, low-resolution/low-cost cameras, and/or relatively simple tracking optics. Additionally, due to the smaller architectural area, the XR glasses or spectacles may also include reduced power management (e.g., batteries, battery size) and thermal management (e.g., cooling fans, heat sinks) electronics. This may often preclude such devices from maximizing performance while reducing power consumption.
Meanwhile, in the XR system, the field of view (FOV) is getting wider and the resolution is gradually increasing. Accordingly, in a lightweight, compact XR display device, it is difficult to maintain or increase performance while making a form factor small (while reducing battery size and amount of battery). It may be thus useful to provide techniques to improve lightweight XR systems, and there is a need for a technology capable of reducing power consumption in order to reduce battery and heat generation in a small, lightweight XR display device.
According to an embodiment of the present disclosure, by continuously re-rendering (or re-projecting) an image that has already been displayed, or by adjusting a current image frame to be displayed based on stored anchors, it is possible to reduce network traffic of wireless data transmission, and further reduce power consumption in the XR display device.
According to an embodiment of the present disclosure, when an image to be displayed next is in the same range as an image that is already displayed or an image previously stored in an XR display device, by not requesting to provide updated data to an external electronic device, it is possible to reduce network traffic between the XR display device and the external electronic device, without unnecessary dependence on the external electronic device for obtaining updated data.
According to a first aspect of the present invention there is provided a depth map re-projection method comprising: rendering a current image frame received from an external electronic device associated with the XR display device, wherein the current image frame is associated with a current pose of the XR display device; receiving an updated image frame from the external electronic device; calculating an updated pose based on one or more characteristics of the updated image frame; determining whether the updated pose is within a pose range with respect to the current pose; and re-rendering, on one or more displays of the XR display device, the current image frame based on whether the updated pose is determined to be within the pose range.
According to a second aspect of the present invention there is provided a depth map re-projecting XR display device comprising: one or more displays; one or more computer-readable storage media including instructions; and one or more processors coupled to the storage media, the one or more processors configured to execute the instructions to: render a current image frame received from an external electronic device, wherein the current image frame is associated with a current pose; receive an updated image frame from the external electronic device; calculate an updated pose based on one or more characteristics of the updated image frame; determine whether the updated pose is within a pose range with respect to the current pose; and re-render, on one or more displays, the current image frame based on whether the updated pose is determined to be within the pose range.
According to a third aspect of the present invention there is provided a computer-readable medium comprising instructions that, when executed cause at least one processor of an electronic device to perform any one of the disclosed methods.
FIG. 1 illustrates an example extended reality (XR) system.
FIG. 2 illustrates a workflow diagram for selectively re-projecting depth maps based on image and depth data and pose data updates.
FIG. 3 is a flow diagram of a method for selectively re-projecting depth maps based on image and depth data and pose data updates.
FIG. 4 illustrates an example computer system.
FIG. 5 illustrates a diagram of an example artificial intelligence (AI) architecture.
The present embodiments are directed toward techniques for selectively re-projecting depth maps based on image and depth data and pose data updates. In particular embodiments, an extended reality (XR) display device may render a current image frame received from an external electronic device associated with the XR display device. In particular embodiments, the current image frame may be associated with a current pose of the XR display device. In particular embodiments, the XR display device may then receive an updated image frame from the external electronic device. In particular embodiments, the XR display device may then calculate an updated pose based on one or more image or depth characteristics of the updated image frame. For example, in particular embodiments, the one or more image or depth characteristics may include one or more of an image content range, a depth density, an image content depth, or a depth continuity. In particular embodiments, the XR display device may then determine whether the updated pose is within a pose range with respect to the current pose associated the current image frame. For example, in particular embodiments, prior to determining whether the updated pose is within the pose range with respect to the current pose, the XR display device may calculate a suitable pose range with respect to the current pose, in which the suitable pose range may be determined based on a target image quality. In particular embodiments, the XR display device may then re-render, on one or more displays of the XR display device, a current image frame based on whether the updated pose is determined to be within the pose range.
In particular embodiments, the XR display device may then continuously monitor for a receipt of a second updated image frame from the external electronic device. In particular embodiments, responsive to receiving a second updated image frame, the XR display device may then calculate a second updated pose based on one or more image or depth characteristics of the second updated image frame. For example, as previously discussed, in particular embodiments, the one or more image or depth characteristics may include one or more of an image content range, a depth density, an image content depth, or a depth continuity. In particular embodiments, pin response to determining that the second updated pose is not within the calculated pose range with respect to the current pose, the XR display device may then determine whether one or more anchors corresponding to the second updated pose are stored on the XR display device. For example, in particular embodiments, the XR display device may store over time a number of anchors, which may each include a data element, an object instance, or a bounding box that includes a particular pose stored together with its associated image and depth dataset. In particular embodiments, in response to determining that the one or more anchors corresponding to the second updated pose are stored on the XR display device, the XR display device may access the image data or depth data corresponding to the one or more anchors. In particular embodiments, the XR display device may then determine whether the second updated pose is within an updated pose range corresponding to the one or more anchors. The XR display device may then render, on the one or more displays of the XR display device, the second updated image frame when the second updated pose is determined to be within the updated pose range.
Thus, in accordance with the presently disclosed embodiments, to reduce network traffic between the XR display device and an external electronic device, and, by extension, to reduce power consumption and thermal output of the XR display device, based on whether a pose associated with a current image frame is within a suitable pose range, the XR display device may forgo rendering the current image frame and instead re-render the previous image frame on the one or more displays of the XR display device. In particular embodiments, even in the case in which the pose associated with the current image frame is not within the suitable pose range, the XR display device may access image data or depth data corresponding to one or more stored anchors that correspond to the pose associated with the current image frame and adjust the current image frame and suitable pose range based thereon.
Accordingly, in accordance with the presently disclosed embodiments, the XR display device may either continuously re-render (e.g., re-project) a 2D or 3D image that was already being displayed by the one or more displays of the XR display device or adjust a current image frame to be displayed based on stored anchors, such that the XR display device may forgo unnecessarily relying upon the external electronic device to provide image data or depth data refresh updates that would otherwise include the same or nearly the same image content or depth content as the 2D or 3D images already being displayed or next to be displayed by the XR display device. Thus, in accordance with the present techniques, even in the case in which XR display device includes reduced power management (e.g., batteries, battery size) and thermal management (e.g., cooling fans, heat sinks) electronics, the XR display device may nevertheless provide desirable XR experiences to users while also reducing power consumption and thermal output.
As used herein, "extended reality" may refer to a form of electronic-based reality that has been manipulated in some manner before presentation to a user, including, for example, virtual reality (VR), augmented reality (AR), mixed reality (MR), hybrid reality, simulated reality, immersive reality, holography, or any combination thereof. For example, "extended reality" content may include completely computer-generated content or partially computer-generated content combined with captured content (e.g., real-world images). In some embodiments, the "extended reality" content may also include video, audio, haptic feedback, or some combination thereof, any of which may be presented in a single channel or in multiple channels (such as stereo video that produces a three-dimensional (3D) effect to the viewer). Further, as used herein, it should be appreciated that "extended reality" may be associated with applications, products, accessories, services, or a combination thereof, that, for example, may be utilized to create content in extended reality and/or utilized in (e.g., perform activities) in extended reality. Thus, "extended reality" content may be implemented on various platforms, including a head-mounted device (HMD) connected to a host computer system, a standalone HMD, a mobile device or computing system, or any other hardware platform capable of providing extended reality content to one or more viewers. Furthermore, as used herein, a "current image frame" may refer to a most recent image frame or a most recent set of image frames that may be either sent (e.g., pushed) to an XR display device from a computing platform or requested or loaded (e.g., pulled) from the computing platform by the XR display device for image or depth processing and analysis. For example, in particular embodiments, the "current image frame" may simply correspond to the latest image frame (of an N set of RGBD image frames being rendered by the computing platform) that may be pushed to, or pulled by, the XR display device. That is, all of the image frames of the N set of RGBD image frames may not be provided from the computing platform to the XR display device, and thus the "current image frame" may simply refer to the most recent image that is indeed sent from the computing platform to the XR display device.
FIG. 1 illustrates an example extended reality (XR) system 100 that may be suitable for selectively re-projecting depth maps based on image and depth data and pose data updates, in accordance with presently disclosed embodiments. In particular embodiments, the XR system 100 may include an XR display device 102, a network 104, and a computing platform 106.
The XR display device 102 is a device capable of displaying extended reality (XR), and may include XR glasses in the shape of glasses worn by a user on the face, a head mounted display (HMD) worn on the head, a virtual reality headset (VRH), or an XR helmet. In the case of a head-mounted device, by arranging a display in front of the user's eyes, a super-large screen can be provided to the user, and a realistic virtual world can be provided since the screen moves according to the user's movement.
In particular embodiments, a user may wear the XR display device 102 that may display visual extended reality content to the user. The XR display device 102 may include an audio device that may provide audio extended reality content to the user. In particular embodiments, the XR display device 102 may include one or more cameras which can capture images and videos of environments. The XR display device 102 may include an eye tracking system to determine the vergence distance of the user. In particular embodiments, the XR display device 102 may include a lightweight head-mounted display (HMD) (e.g., goggles, eyeglasses, spectacles, a visor, and so forth). In particular embodiments, the XR display device 102 may also include a non-HMD device, such as a lightweight handheld display device or one or more laser projecting spectacles (e.g., spectacles that may project a low-powered  laser onto a user's retina to project and display image or depth content to the user).
In an embodiment, the XR display device 102 may provide an XR service that outputs at least one virtual object to overlap an area determined by the user's field of view (FOV). For example, the area determined by the user's field of view is an area determined to be recognized by the user wearing the XR display device 102 through the XR display device 102, and may include the entire or at least a portion of the display of the XR display device 102. In an embodiment, the XR display device 102 may include a plurality of transparent members corresponding to each of both eyes of the user.
In one embodiment, the XR display device 102 may include a display, a camera, an audio output unit, and a support unit.
The camera may take an image corresponding to the user's field of view or measure a distance to an object. In one embodiment, the camera may be used for head tracking and spatial recognition. In addition, the camera may recognize the user's movement.
In an embodiment, the camera may further include an 'eye tracking (ET) camera' in addition to a camera used for detecting an image corresponding to the user's field of view, for example, motion of an object or for spatial recognition. In one embodiment, the ET camera may be used for detecting and tracking a user's pupils. The ET camera may be used for adjusting the center of the virtual image projected on the XR display device 102 to be positioned according to the direction in which the eyes of the user wearing the XR display device 102 gaze. For example, in an ET camera, a GS (Global shutter) camera may be used to detect a pupil and to track a rapid pupil movement without delay. The ET camera may separately include a left-eye camera and a right-eye camera.
In an embodiment, the virtual object output through the display may include information related to an application program executed on the XR display device 102 or information related to an external object located in an actual space corresponding to an area determined by the user's field of view. For example, the XR display device 102 may identify an external object included in at least a portion of the user's field of view among image information related to an actual space acquired through a camera. The XR display device 102 may output a virtual object related to an external object identified at least in part of the user's field of view through the display areas of the XR display device 102. External objects may include objects that exist in real space.
In one embodiment, the display may include a condensing lens or waveguide in a transparent member. For example, the transparent member may be formed of a glass plate, a plastic plate, or a polymer, and may be completely transparent or translucent. In an embodiment, the transparent member may include a first transparent member facing the right eye of a user wearing the XR display device 102 and a second transparent member facing the left eye of the user. When the display is transparent, the display may be disposed at a position facing the user's eyes and may display image.
The waveguide can deliver light generated by the light source of the display to the user's eyes. For example, the waveguide may be positioned at least partially on a part of the transparent member. According to an embodiment, light emitted from the display may be incident on one end of the waveguide, and the incident light may be transmitted to the user's eyes through total internal reflection within the waveguide. The waveguide may be made of a transparent material such as glass, plastic, or polymer, and may include a nano-pattern formed on one surface inside or outside, for example, a polygonal or curved grating structure. In one embodiment, the incident light may be propagated or reflected inside the waveguide by a nano-pattern to be provided to the user's eyes. In one embodiment, the waveguide includes at least one of a diffractive element (e.g., a diffractive optical element (DOE), a holographic optical element (HOE)) or a reflective element (e.g., a mirror). In an embodiment, the waveguide may guide the display light emitted from the light source unit to the user's eyes using at least one diffractive element or a reflective element.
In one embodiment, the display may include a display panel or a lens (e.g., glass). For example, the display panel may include a transparent material such as glass or plastic. In one embodiment, the display may be formed of a transparent element, and the user may see the actual space behind through the display. The display may display the virtual object on at least a portion of the transparent element so that the user sees that the virtual object is added to at least a portion of the real space.
In one embodiment, the support unit may include a printed circuit board (PCB) for transmitting electrical signals to components of the XR display device 102, a speaker for outputting an audio signal, or a battery for supplying power. For example, in the spectacle-type XR display device 102, the support unit may be disposed on the spectacle leg. The speaker may include a first speaker for transmitting an audio signal to the user's left ear and a second speaker for transmitting an audio signal to the user's right ear.
In particular embodiments, the network 104 may include, for example, any of various wireless communications networks (e.g., WLAN, WAN, PAN, cellular, WMN, WiMAX, GAN, 6LowPAN, and so forth) that may be suitable for communicatively coupling the XR display device 102 to the computing platform 106.
In particular embodiments, the computing platform 106 may include, for example, a standalone host computing system, an on-board computer system integrated with the XR display device 102, a mobile device, or any other hardware platform that may be capable of providing extended reality content to the XR display device 102. In particular embodiments, the computing platform 106 may include, for example, a cloud-based computing architecture (including one or more servers 108 and data stores 110) suitable for hosting and servicing XR applications or experiences executing on the XR electronic device 102. For example, in particular embodiments, the computing platform 106 may include a Platform as a Service (PaaS) architecture, a Software as a Service (SaaS) architecture, and an Infrastructure as a Service (IaaS), or other similar cloud-based computing architecture.
As it may be appreciated, in particular embodiments in which the XR display device 102 includes lightweight devices, such as goggles, eyeglasses, spectacles, a visor, and so forth, the XR display device 102 may, due to the smaller architectural area, include reduced power management (e.g., batteries, battery size) and thermal management (e.g., cooling fans, heat sinks) electronics.
FIG. 2 illustrates a workflow diagram 200 for selectively re-projecting depth maps based on image and depth data and pose data updates, in accordance with the presently disclosed embodiments. In particular embodiments, the workflow diagram 200 may correspond to, and be performed, for example, by the XR display device 102 and computing platform 106 as discussed above with respect to FIG. 1. In particular embodiments, the workflow diagram 200 may begin at block 202 with the computing platform 106 accessing updated (R)ed, (B)lue, (G)reen color values and (D)epth values with respect to 2D or 3D image being rendered by the computing platform 106 and/or the XR display device 102. For example, in particular embodiments, the computing platform 106 may render both RGB image data and/or RGBD image and depth data based on one or more last known head poses. In particular embodiments, the workflow diagram 200 may then continue at block 204 with the computing platform 106 determining whether the RGB image data has changed. For example, in particular embodiments, the computing platform 106 may detect changes in the RGB image data, as head poses may not be updated unless triggered, for example, by the XR display device 102.
In particular embodiments, in response to determining one or more changes in the RGB image data, the computing platform 106 may, in some instances, provide the RGB image data and/or RGBD image and depth data updates to the XR display device 102 at the same time in which the XR display device 102 may be continuously or periodically monitoring (e.g., at block 224) for whether the computing platform 106 has any RGB image data and/or RGBD image and depth data to provide. For example, in particular embodiments, XR display device 102 may perform continuous or periodic checks to determine whether there are any RGB image data and/or RGBD image and depth data updates to be subsequently rendered by the XR display device 102. In particular embodiments, if there are any RGB image data and/or RGBD image and depth data updates, one or more current image frames may be requested (e.g., over the network 104) from the computing platform 106 by the XR display device 102 (e.g., from block 224 to block 206) or automatically sent (e.g., over the network 104) to the XR display device 102 by the computing platform 106 (e.g., from block 204 to block 206). In particular embodiments, the XR display device 102 may also provide the latest head pose data to computing platform 106 along with the request. On the other hand, if there are not any RGB image data and/or RGBD image and depth data updates, the XR display device 102 may, for example, pause a for a developer-determined or user-determined time period (e.g. 5 milliseconds (ms), 10ms, 12ms, 16ms, 20ms, and so forth) before requesting again any RGB image data and/or RGBD image and depth data updates from the computing platform 106.
In particular embodiments, the workflow diagram 200 may continue at block 208 with the XR display device 102 calculating a suitable pose range. For example, in particular embodiments, the XR display device 102 may calculate the range of bodily motion (e.g., head motion, gesture motion, and so forth) that may be determined suitable (e.g., based on one or more developer-determined or user-determined image quality preferences or metrics) for re-rending on the XR display device 102 a previously rendered image frame. Specifically, the XR display device 102 may calculate a suitable pose range based on, for example, the amount of head pose translation and rotation that may support a particular image quality (e.g., based on one or more developer-determined or user-determined image quality preferences or metrics) for re-rendering one or more previously-rendered image frames. In one example, the suitable pose range may be expressed as: Head Pose Rotation Change = Field of View (FOV)
Figure PCTKR2021004075-appb-img-000001
of rendering camera / (1+ (preset/distance (m) from Point of View (POV)
Figure PCTKR2021004075-appb-img-000002
)).
In particular embodiments, the workflow diagram 200 may then continue with the XR display device 102 performing one or more image quality criteria based one or more image or depth characteristics at blocks 210, 212, 214, and 216. For example, in particular embodiments, the one or more image or depth characteristics may include, for example, an image content range (e.g., at block 210), a depth density (e.g., at block 212), an image content depth (e.g., near-field or far-field image content depth at block 214), or a depth continuity (e.g., at block 216). In particular embodiments, the image quality criteria based on the one or more image or depth characteristics at blocks 210, 212, 214, and 216 may be developer-determined or user-determined criteria that may be satisfied if one of the image or depth characteristics at blocks 210, 212, 214, and 216 are within predetermined limits, if all of the image or depth characteristics at blocks 210, 212, 214, and 216 are within predetermined limits, or if a majority (e.g., 3 out of 4) of the image or depth characteristics at blocks 210, 212, 214, and 216 are within predetermined limits.
In particular embodiments, the XR display device 102 may determine at block 210 whether image content and/or depth content is within a predetermined limit or excessively close to the POV of the XR display device 102. In particular embodiments, the XR display device 102 may determine at block 212 whether image depth density content is within a predetermined level (e.g., whether or not enough depth values are present). In particular embodiments, the XR display device 102 may determine at block 214 whether near-field depth content and/or far-field depth content is within a predetermined limit (e.g., determining whether the depth content has a total depth from a near-field point to a far-field point). In particular embodiments, the XR display device 102 may determine at block 216 whether the image depth continuity is within predetermined limits (e.g., determine whether changes from depth point to depth point is beyond a predetermined ratio). For example, in particular embodiments, the XR display device 102 may determine depth continuity by calculating, for each depth point, the depth difference between the depth point and each of N surrounding depth points and determine whether an average depth point change is above one or predetermined limits. Based on the satisfying of the one or more image quality criteria, the workflow diagram 200 may then proceed at block 217 with the XR display device 102 re-projecting and displaying a previously-rendered image frame and recommencing the process again at block 206 and/or block 224.
In particular embodiments, based on non-satisfying of the one or more image quality criteria, the workflow diagram 200 may continue at block 218 with the XR display device 102 calculating an updated head pose associated with the current image frame and determining at block 220 whether the updated head pose is within the calculated pose range. For example, in particular embodiments, the XR display device 102 may determine, for example, whether the updated head pose is within the calculated pose range based on the product: range(rotation r, translation t)*(tolerance) with respect to the calculated pose range. In particular embodiments, in response to determining that the updated head pose is within the calculated pose range at block 220, the workflow diagram 200 may then continue at block 222 with the XR display device 102 re-projecting and displaying (e.g., re-rendering) the previous image frame and at block 224 with the XR display device 102 continuously or periodically monitoring for whether the computing platform 106 has any RGB image data and/or RGBD image and depth data updates to provide.
In particular embodiments, the XR display device 102 may determine, for example, if one or more sprint animation exists and further determine whether to re-project and display the previous image frame or render the current image frame based thereon. In particular embodiments, if the XR display device 102 determines that there are currently no RGB image data and/or RGBD image and depth data updates to be provided from or requested from the computing platform 106, the workflow diagram 200 may continue at block 226 with the XR display device 102 accessing head pose updates (e.g., based on whether the user makes one or more bodily motions) and continuing to compare the head pose updates to the calculated pose range (e.g., at block 220) and re-projecting and displaying the previous image frame (e.g., at block 222) while the head pose updates remain within the calculated head pose range. In particular embodiments, the XR display device 102 may also define one or more time limits and/or image frame limits for when the XR display device 102 is to request current frame updates from the computing platform 106.
In particular embodiments, in response to determining that the updated head pose is not within the calculated pose range at block 220, the workflow diagram 200 may then continue at block 228 with the XR display device 102 may then determine whether one or more anchors corresponding to the updated head pose are stored on the XR display device 102. For example, in particular embodiments, the XR display device 102 may store over time a number of anchors, which may each include, for example, a data element, an object instance, or a bounding box that includes a particular head pose stored together with its associated image and depth dataset. For example, in particular embodiments, the XR display device 102 may determine whether one or more anchors corresponding the updated head pose is stored on the XR display device 102 and the particular position within the current image frame in which image content or depth content may be updated based on the one or more stored anchors. Specifically, the one or more stored anchors may allow the user to have a larger range of bodily motion (e.g., head motions, gesture motions) without requesting RGB image data and/or RGBD image and depth data updates from the computing platform 106.
In particular embodiments, in response to determining that the one or more anchors corresponding to the updated head pose are stored on the XR display device 102, the workflow diagram 200 may continue at block 230 with the XR display device 102 accessing the image data or depth data corresponding to the one or more anchors. In particular embodiments, the XR display device 102 may then determine whether the newly updated pose is within an updated pose range corresponding to the one or more anchors. The XR display device 102 may then render, on the one or more displays of the XR display device 102, the updated image frame when the updated head pose is determined to be within the updated pose range. It should be appreciated that, in particular embodiments, the anchors stored on the XR display device 102 may not be limited to any particular head pose range. Indeed, in particular embodiments, the one or more anchors or one or more sets of anchors may be utilized to establish one or more updated head poses each associated with a corresponding head pose range. In particular embodiments, upon the updates to the current image frame based on the one or more anchors, the utilized anchors may be discarded. On the other hand, in response to determining that the one or more anchors corresponding to the updated head pose are not stored on the XR display device 102, the workflow diagram 200 may be restart at block 206 with one or more current image frames may be requested (e.g., over the network 104) from the computing platform 106 by the XR display device 102 (e.g., from block 224 to block 206) or automatically sent (e.g., over the network 104) to the XR display device 102 by the computing platform 106 (e.g., from block 204 to block 206).
Thus, in accordance with the presently disclosed embodiments, to reduce network traffic between the XR display device 102 and the computing platform 106, and, by extension, to reduce power consumption and thermal output of the XR display device 102, based on whether a pose associated with a current image frame is within a suitable pose range, the XR display device 102 may forgo rendering the current image frame and instead re-render the previous image frame on the one or more displays of the XR display device 102. In particular embodiments, even in the case in which the pose associated with the current image frame is not within the suitable pose range, the XR display device 102 may access image data or depth data corresponding to one or more stored anchors that correspond to the pose associated with the current image frame and adjust the current image frame and the suitable pose range based thereon.
Accordingly, in accordance with the presently disclosed embodiments, the XR display device 102 may either continuously re-render (e.g., re-project) a 2D or 3D image that was already being displayed by the one or more displays of the XR display device 102 or adjust a current image frame to be displayed based on stored anchors, such that the XR display device 102 may forgo unnecessarily relying upon the computing platform 106 to provide image data or depth data refresh updates that would otherwise include the same or nearly the same image content or depth content as the 2D or 3D images already being displayed or next to be displayed by the XR display device 102. Thus, in accordance with the present techniques, even in the case in which XR display device 102 includes reduced power management (e.g., batteries, battery size) and thermal management (e.g., cooling fans, heat sinks) electronics, the XR display device 102 may nevertheless provide desirable XR experiences to users while also reducing power consumption and thermal output.
FIG. 3 illustrates is a flow diagram of a method for selectively re-projecting depth maps based on image and depth data and pose data updates, in accordance with the presently disclosed embodiments. The method 300 may be performed utilizing one or more processing devices (e.g., XR display device 102) that may include hardware (e.g., a general purpose processor, a graphic processing unit (GPU), an application-specific integrated circuit (ASIC), a system-on-chip (SoC), a microcontroller, a field-programmable gate array (FPGA), a central processing unit (CPU), an application processor (AP), a visual processing unit (VPU), a neural processing unit (NPU), a neural decision processor (NDP), or any other processing device(s) that may be suitable for processing 2D and 3D image data, software (e.g., instructions running/executing on one or more processors), firmware (e.g., microcode), or some combination thereof.
The method 300 may begin block 302 with the one or more processing devices (e.g., XR display device 102) rendering a current image frame received from an external electronic device associated with an XR display device. In particular embodiments, the current image frame may be associated with a current pose of the XR display device. The method 300 may then continue at block 304 with the one or more processing devices (e.g., XR display device 102) receiving an updated image frame from the external electronic device. The method 300 may then continue at block 306 with the one or more processing devices (e.g., XR display device 102) calculating an updated pose based on one or more image or depth characteristics of the updated image frame. The method 300 may then continue at block 308 with the one or more processing devices (e.g., XR display device 102) determining whether the updated pose is within a pose range with respect to a current pose associated the current image frame. For example, in particular embodiments, prior to determining whether the updated pose is within the pose range with respect to the current pose, the XR display device may calculate a suitable pose range with respect to the current pose, in which the suitable pose range may be determined based on a target image quality. The method 300 may then conclude at block 310 with the one or more processing devices (e.g., XR display device 102) re-rendering, on one or more displays of the XR display device, a current image frame based on whether the updated pose is determined to be within the pose range.
As described above, according to an embodiment of the present disclosure, the network 104 traffic of wireless data transmission, an important part of power consumption, is reduced by continuously re-rendering (or re-projecting) an image that has already been displayed or by adjusting a current image frame to be displayed based on stored anchors. And further, power consumption in the XR display device 102 can be reduced. In addition, if the image to be displayed next is in the same range as the image already displayed or the image previously stored in the XR display device 102, the external electronic device (computing platform 106) may not be requested to provide the updated data, and the XR display device 102 may not unnecessarily dependent on an external electronic device (computing platform 106) for obtaining updated data. Therefore, it is possible to reduce the network 104 traffic between the XR display device 102 and an external electronic device (computing platform 106).
For example, depending on the density of the depth map, the complexity of the scene, and the motion range of the HMD, the existing RGB and depth data may be reused to re-project the image frame. Accordingly, continuous image projection is possible without an image update from the external electronic device (computing platform 106) or the cloud server. In one embodiment, anchors for a specific head pose and associated image and depth data set may be stored in the XR display device 102. Accordingly, the user wearing the XR display device 102 can be provided with a seamless XR service even when moving in a wider range, and power consumption in the wireless communication unit can be reduced.
FIG. 4 illustrates an example computer system 400 that may be utilized to perform a real-time or near real-time intelligence-based editing and curating of captured image frames, in accordance with the presently disclosed embodiments. In particular embodiments, one or more computer systems 400 perform one or more steps of one or more methods described or illustrated herein. In particular embodiments, one or more computer systems 400 provide functionality described or illustrated herein. In particular embodiments, software running on one or more computer systems 400 performs one or more steps of one or more methods described or illustrated herein or provides functionality described or illustrated herein. Particular embodiments include one or more portions of one or more computer systems 400. Herein, reference to a computer system may encompass a computing device, and vice versa, where appropriate. Moreover, reference to a computer system may encompass one or more computer systems, where appropriate.
This disclosure contemplates any suitable number of computer systems 400. This disclosure contemplates computer system 400 taking any suitable physical form. As example and not by way of limitation, computer system 400 may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (e.g., a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, a tablet computer system, an augmented/virtual reality device, or a combination of two or more of these. Where appropriate, computer system 400 may include one or more computer systems 400; be unitary or distributed; span multiple locations; span multiple machines; span multiple data centers; or reside in a cloud, which may include one or more cloud components in one or more networks.
Where appropriate, one or more computer systems 400 may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein. As an example, and not by way of limitation, one or more computer systems 400 may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein. One or more computer systems 400 may perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate.
In particular embodiments, computer system 400 includes a processor 402, memory 404, storage 406, an input/output (I/O) interface 408, a communication interface 410, and a bus 412. Although this disclosure describes and illustrates a particular computer system having a particular number of particular components in a particular arrangement, this disclosure contemplates any suitable computer system having any suitable number of any suitable components in any suitable arrangement. In particular embodiments, processor 402 includes hardware for executing instructions, such as those making up a computer program. As an example, and not by way of limitation, to execute instructions, processor 402 may retrieve (or fetch) the instructions from an internal register, an internal cache, memory 404, or storage 406; decode and execute them; and then write one or more results to an internal register, an internal cache, memory 404, or storage 406. In particular embodiments, processor 402 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 402 including any suitable number of any suitable internal caches, where appropriate. As an example, and not by way of limitation, processor 402 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions in memory 404 or storage 406, and the instruction caches may speed up retrieval of those instructions by processor 402.
Data in the data caches may be copies of data in memory 404 or storage 406 for instructions executing at processor 402 to operate on; the results of previous instructions executed at processor 402 for access by subsequent instructions executing at processor 402 or for writing to memory 404 or storage 406; or other suitable data. The data caches may speed up read or write operations by processor 402. The TLBs may speed up virtual-address translation for processor 402. In particular embodiments, processor 402 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplates processor 402 including any suitable number of any suitable internal registers, where appropriate. Where appropriate, processor 402 may include one or more arithmetic logic units (ALUs); be a multi-core processor; or include one or more processors 402. Although this disclosure describes and illustrates a particular processor, this disclosure contemplates any suitable processor.
In particular embodiments, memory 404 includes main memory for storing instructions for processor 402 to execute or data for processor 402 to operate on. As an example, and not by way of limitation, computer system 400 may load instructions from storage 406 or another source (such as, for example, another computer system 400) to memory 404. Processor 402 may then load the instructions from memory 404 to an internal register or internal cache. To execute the instructions, processor 402 may retrieve the instructions from the internal register or internal cache and decode them. During or after execution of the instructions, processor 402 may write one or more results (which may be intermediate or final results) to the internal register or internal cache. Processor 402 may then write one or more of those results to memory 404. In particular embodiments, processor 402 executes only instructions in one or more internal registers or internal caches or in memory 404 (as opposed to storage 406 or elsewhere) and operates only on data in one or more internal registers or internal caches or in memory 404 (as opposed to storage 406 or elsewhere).
One or more memory buses (which may each include an address bus and a data bus) may couple processor 402 to memory 404. Bus 412 may include one or more memory buses, as described below. In particular embodiments, one or more memory management units (MMUs) reside between processor 402 and memory 404 and facilitate accesses to memory 404 requested by processor 402. In particular embodiments, memory 404 includes random access memory (RAM). This RAM may be volatile memory, where appropriate. Where appropriate, this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, where appropriate, this RAM may be single-ported or multi-ported RAM. This disclosure contemplates any suitable RAM. Memory 404 may include one or more memory devices 404, where appropriate. Although this disclosure describes and illustrates particular memory, this disclosure contemplates any suitable memory.
In particular embodiments, storage 406 includes mass storage for data or instructions. As an example, and not by way of limitation, storage 406 may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these. Storage 406 may include removable or non-removable (or fixed) media, where appropriate. Storage 406 may be internal or external to computer system 400, where appropriate. In particular embodiments, storage 406 is non-volatile, solid-state memory. In particular embodiments, storage 406 includes read-only memory (ROM). Where appropriate, this ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these. This disclosure contemplates mass storage 406 taking any suitable physical form. Storage 406 may include one or more storage control units facilitating communication between processor 402 and storage 406, where appropriate. Where appropriate, storage 406 may include one or more storages 406. Although this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage.
In particular embodiments, I/O interface 408 includes hardware, software, or both, providing one or more interfaces for communication between computer system 400 and one or more I/O devices. Computer system 400 may include one or more of these I/O devices, where appropriate. One or more of these I/O devices may enable communication between a person and computer system 400. As an example, and not by way of limitation, an I/O device may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet, touch screen, trackball, video camera, another suitable I/O device or a combination of two or more of these. An I/O device may include one or more sensors. This disclosure contemplates any suitable I/O devices and any suitable I/O interfaces 408 for them. Where appropriate, I/O interface 408 may include one or more device or software drivers enabling processor 402 to drive one or more of these I/O devices. I/O interface 408 may include one or more I/O interfaces, where appropriate. Although this disclosure describes and illustrates a particular I/O interface, this disclosure contemplates any suitable I/O interface.
In particular embodiments, communication interface 410 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between computer system 400 and one or more other computer systems or one or more networks. As an example, and not by way of limitation, communication interface 410 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI network. This disclosure contemplates any suitable network and any suitable communication interface 410 for it.
As an example, and not by way of limitation, computer system 400 may communicate with an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these. One or more portions of one or more of these networks may be wired or wireless. As an example, computer system 400 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WI-MAX network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network), or other suitable wireless network or a combination of two or more of these. Computer system 400 may include any suitable communication interface 410 for any of these networks, where appropriate. Communication interface 410 may include one or more communication interfaces 410, where appropriate. Although this disclosure describes and illustrates a particular communication interface, this disclosure contemplates any suitable communication interface.
In particular embodiments, bus 412 includes hardware, software, or both coupling components of computer system 400 to each other. As an example, and not by way of limitation, bus 412 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or another suitable bus or a combination of two or more of these. Bus 412 may include one or more buses 412, where appropriate. Although this disclosure describes and illustrates a particular bus, this disclosure contemplates any suitable bus or interconnect.
FIG. 5 illustrates a diagram 500 of an example artificial intelligence (AI) architecture 502 that may be utilized to provide a co-informatic generative adversarial network (CI-GAN) for data co-clustering, in accordance with the presently disclosed embodiments. In particular embodiments, the AI architecture 502 may be implemented utilizing, for example, one or more processing devices that may include hardware (e.g., a general purpose processor, a graphic processing unit (GPU), an application-specific integrated circuit (ASIC), a system-on-chip (SoC), a microcontroller, a field-programmable gate array (FPGA), a central processing unit (CPU), an application processor (AP), a visual processing unit (VPU), a neural processing unit (NPU), a neural decision processor (NDP), and/or other processing device(s) that may be suitable for processing various data and making one or more decisions based thereon), software (e.g., instructions running/executing on one or more processing devices), firmware (e.g., microcode), or some combination thereof.
In particular embodiments, as depicted by FIG. 5, the AI architecture 502 may include machine leaning (ML) algorithms and functions 504, natural language processing (NLP) algorithms and functions 506, expert systems 508, computer-based vision algorithms and functions 510, speech recognition algorithms and functions 512, planning algorithms and functions 514, and robotics algorithms and functions 516. In particular embodiments, the ML algorithms and functions 504 may include any statistics-based algorithms that may be suitable for finding patterns across large amounts of data (e.g., "Big Data" such as user click data or other user interactions, text data, image data, video data, audio data, speech data, numbers data, and so forth). For example, in particular embodiments, the ML algorithms and functions 504 may include deep learning algorithms 518, supervised learning algorithms 520, and unsupervised learning algorithms 522.
In particular embodiments, the deep learning algorithms 518 may include any artificial neural networks (ANNs) that may be utilized to learn deep levels of representations and abstractions from large amounts of data. For example, the deep learning algorithms 518 may include ANNs, such as a multilayer perceptron (MLP), an autoencoder (AE), a convolution neural network (CNN), a recurrent neural network (RNN), long short term memory (LSTM), a gated recurrent unit (GRU), a restricted Boltzmann Machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a generative adversarial network (GAN), and deep Q-networks, a neural autoregressive distribution estimation (NADE), an adversarial network (AN), attentional models (AM), deep reinforcement learning, and so forth.
In particular embodiments, the supervised learning algorithms 520 may include any algorithms that may be utilized to apply, for example, what has been learned in the past to new data using labeled examples for predicting future events. For example, starting from the analysis of a known training dataset, the supervised learning algorithms 520 may produce an inferred function to make predictions about the output values. The supervised learning algorithms 520 can also compare its output with the correct and intended output and find errors in order to modify the supervised learning algorithms 520 accordingly. On the other hand, the unsupervised learning algorithms 522 may include any algorithms that may applied, for example, when the data used to train the unsupervised learning algorithms 522 are neither classified or labeled. For example, the unsupervised learning algorithms 522 may study and analyze how systems may infer a function to describe a hidden structure from unlabeled data.
In particular embodiments, the NLP algorithms and functions 506 may include any algorithms or functions that may be suitable for automatically manipulating natural language, such as speech and/or text. For example, in particular embodiments, the NLP algorithms and functions 506 may include content extraction algorithms or functions 524, classification algorithms or functions 526, machine translation algorithms or functions 528, question answering (QA) algorithms or functions 530, and text generation algorithms or functions 532. In particular embodiments, the content extraction algorithms or functions 524 may include a means for extracting text or images from electronic documents (e.g., webpages, text editor documents, and so forth) to be utilized, for example, in other applications.
In particular embodiments, the classification algorithms or functions 526 may include any algorithms that may utilize a supervised learning model (e.g., logistic regression, naive Bayes, stochastic gradient descent (SGD), k-nearest neighbors, decision trees, random forests, support vector machine (SVM), and so forth) to learn from the data input to the supervised learning model and to make new observations or classifications based thereon. The machine translation algorithms or functions 528 may include any algorithms or functions that may be suitable for automatically converting source text in one language, for example, into text in another language. The QA algorithms or functions 530 may include any algorithms or functions that may be suitable for automatically answering questions posed by humans in, for example, a natural language, such as that performed by voice-controlled personal assistant devices. The text generation algorithms or functions 532 may include any algorithms or functions that may be suitable for automatically generating natural language texts.
In particular embodiments, the expert systems 508 may include any algorithms or functions that may be suitable for simulating the judgment and behavior of a human or an organization that has expert knowledge and experience in a particular field (e.g., stock trading, medicine, sports statistics, and so forth). The computer-based vision algorithms and functions 510 may include any algorithms or functions that may be suitable for automatically extracting information from images (e.g., photo images, video images). For example, the computer-based vision algorithms and functions 510 may include image recognition algorithms 534 and machine vision algorithms 536. The image recognition algorithms 534 may include any algorithms that may be suitable for automatically identifying and/or classifying objects, places, people, and so forth that may be included in, for example, one or more image frames or other displayed data. The machine vision algorithms 536 may include any algorithms that may be suitable for allowing computers to "see", or, for example, to rely on image sensors cameras with specialized optics to acquire images for processing, analyzing, and/or measuring various data characteristics for decision making purposes.
In particular embodiments, the speech recognition algorithms and functions 512 may include any algorithms or functions that may be suitable for recognizing and translating spoken language into text, such as through automatic speech recognition (ASR), computer speech recognition, speech-to-text (STT), or text-to-speech (TTS) in order for the computer to communicate via speech with one or more users, for example. In particular embodiments, the planning algorithms and functions 514 may include any algorithms or functions that may be suitable for generating a sequence of actions, in which each action may include its own set of preconditions to be satisfied before performing the action. Examples of AI planning may include classical planning, reduction to other problems, temporal planning, probabilistic planning, preference-based planning, conditional planning, and so forth. Lastly, the robotics algorithms and functions 516 may include any algorithms, functions, or systems that may enable one or more devices to replicate human behavior through, for example, motions, gestures, performance tasks, decision-making, emotions, and so forth.
Herein, a computer-readable storage medium or media may include one or more semiconductor-based or other integrated circuits (ICs) (such, as for example, field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical discs, optical disc drives (ODDs), magneto-optical discs, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM-drives, SECURE DIGITAL cards or drives, any other suitable computer-readable storage media, or any suitable combination of two or more of these, where appropriate. A computer-readable storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate.
Herein, "or" is inclusive and not exclusive, unless expressly indicated otherwise or indicated otherwise by context. Therefore, herein, "A or B" means "A, B, or both," unless expressly indicated otherwise or indicated otherwise by context. Moreover, "and" is both joint and several, unless expressly indicated otherwise or indicated otherwise by context. Therefore, herein, "A and B" means "A and B, jointly or severally," unless expressly indicated otherwise or indicated otherwise by context.
Herein, "automatically" and its derivatives means "without human intervention," unless expressly indicated otherwise or indicated otherwise by context.
The embodiments disclosed herein are only examples, and the scope of this disclosure is not limited to them. Embodiments according to the invention are in particular disclosed in the attached claims directed to a method, a storage medium, a system and a computer program product, wherein any feature mentioned in one claim category, e.g. method, can be claimed in another claim category, e.g. system, as well. The dependencies or references back in the attached claims are chosen for formal reasons only. However, any subject matter resulting from a deliberate reference back to any previous claims (in particular multiple dependencies) can be claimed as well, so that any combination of claims and the features thereof are disclosed and can be claimed regardless of the dependencies chosen in the attached claims. The subject-matter which can be claimed comprises not only the combinations of features as set out in the attached claims but also any other combination of features in the claims, wherein each feature mentioned in the claims can be combined with any other feature or combination of other features in the claims. Furthermore, any of the embodiments and features described or depicted herein can be claimed in a separate claim and/or in any combination with any embodiment or feature described or depicted herein or with any of the features of the attached claims.
The scope of this disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments described or illustrated herein that a person having ordinary skill in the art would comprehend. The scope of this disclosure is not limited to the example embodiments described or illustrated herein. Moreover, although this disclosure describes and illustrates respective embodiments herein as including particular components, elements, feature, functions, operations, or steps, any of these embodiments may include any combination or permutation of any of the components, elements, features, functions, operations, or steps described or illustrated anywhere herein that a person having ordinary skill in the art would comprehend. Furthermore, reference in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative. Additionally, although this disclosure describes or illustrates particular embodiments as providing particular advantages, particular embodiments may provide none, some, or all of these advantages.

Claims (15)

  1. A method comprising, by an extended reality (XR) display device:
    rendering a current image frame received from an external electronic device associated with the XR display device, wherein the current image frame is associated with a current pose of the XR display device;
    receiving an updated image frame from the external electronic device;
    calculating an updated pose based on one or more characteristics of the updated image frame;
    determining whether the updated pose is within a pose range with respect to the current pose; and
    re-rendering, on one or more displays of the XR display device, the current image frame based on whether the updated pose is determined to be within the pose range.
  2. The method of Claim 1, wherein the one or more characteristics comprise one or more of an image content range, a depth density, an image content depth, or a depth continuity.
  3. The method of Claim 1, further comprising:
    prior to determining whether the updated pose is within the pose range with respect to the current pose, calculating the pose range with respect to the current pose, wherein the pose range is calculated based on a target image quality.
  4. The method of Claim 1, further comprising:
    monitoring for a receipt of a second updated image frame from the external electronic device; and
    receiving the second updated image frame from the external electronic device.
  5. The method of Claim 4, further comprising, responsive to receiving a second updated image frame:
    calculating a second updated pose based on one or more characteristics of the second updated image frame;
    determining whether the second updated pose is within the pose range with respect to the current pose; and
    in response to determining that the second updated pose is not within the pose range with respect to the current pose, determining whether one or more anchors corresponding to the second updated pose are stored on the XR display device.
  6. The method of Claim 5, further comprising:
    in response to determining that the one or more anchors corresponding to the second updated pose are stored on the XR display device, accessing image data or depth data corresponding to the one or more anchors.
  7. The method of Claim 6, further comprising:
    determining whether the second updated pose is within an updated pose range corresponding to the one or more anchors; and
    rendering, on the one or more displays of the XR display device, the second updated image frame when the second updated pose is determined to be within the updated pose range.
  8. An extended reality (XR) display device comprising:
    one or more displays;
    one or more computer-readable storage media including instructions; and
    one or more processors coupled to the storage media, the one or more processors configured to execute the instructions to:
    render a current image frame received from an external electronic device, wherein the current image frame is associated with a current pose;
    receive an updated image frame from the external electronic device;
    calculate an updated pose based on one or more characteristics of the updated image frame;
    determine whether the updated pose is within a pose range with respect to the current pose; and
    re-render, on one or more displays, the current image frame based on whether the updated pose is determined to be within the pose range.
  9. The XR display device of Claim 8, wherein the one or more characteristics comprise one or more of an image content range, a depth density, an image content depth, or a depth continuity.
  10. The XR display device of Claim 8, wherein the instructions further comprise instructions to:
    prior to determining whether the updated pose is within the pose range with respect to the current pose, calculate the pose range with respect to the current pose, wherein the pose range is calculated based on a target image quality.
  11. The XR display device of Claim 8, wherein the instructions further comprise instructions to:
    monitor for a receipt of a second updated image frame from the external electronic device; and
    receive the second updated image frame from the external electronic device.
  12. The XR display device of Claim 11, wherein, responsive to receiving a second updated image frame, the instructions further comprise instructions to:
    calculate a second updated pose based on one or more characteristics of the second updated image frame;
    determine whether the second updated pose is within the pose range with respect to the current pose; and
    in response to determining that the second updated pose is not within the pose range with respect to the current pose, determine whether one or more anchors corresponding to the second updated pose are stored.
  13. The XR display device of Claim 12, wherein the instructions further comprise instructions to:
    in response to determining that the one or more anchors corresponding to the second updated pose are stored, access image data or depth data corresponding to the one or more anchors.
  14. The XR display device of Claim 13, wherein the instructions further comprise instructions to:
    determine whether the second updated pose is within an updated pose range corresponding to the one or more anchors; and
    render, on the one or more displays, the second updated image frame when the second updated pose is determined to be within the updated pose range.
  15. A computer-readable medium comprising instructions that, when executed cause at least one processor of an electronic device to perform any one of claims 1 to 7.
PCT/KR2021/004075 2020-04-10 2021-04-01 Method and xr display device for depth map re-projection based on image and pose changes WO2021206367A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202063008592P 2020-04-10 2020-04-10
US63/008,592 2020-04-10
US16/996,610 2020-08-18
US16/996,610 US11099396B2 (en) 2020-04-10 2020-08-18 Depth map re-projection based on image and pose changes
KR10-2021-0029661 2021-03-05
KR1020210029661A KR20210126490A (en) 2020-04-10 2021-03-05 Method and xr display device for depth map re-projection based on image and pose changes

Publications (1)

Publication Number Publication Date
WO2021206367A1 true WO2021206367A1 (en) 2021-10-14

Family

ID=78023447

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/004075 WO2021206367A1 (en) 2020-04-10 2021-04-01 Method and xr display device for depth map re-projection based on image and pose changes

Country Status (1)

Country Link
WO (1) WO2021206367A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144755A (en) * 1996-10-11 2000-11-07 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Method and apparatus for determining poses
US20160086025A1 (en) * 2014-09-23 2016-03-24 Microsoft Corporation Pose tracker with multi threaded architecture
US20170213388A1 (en) * 2016-01-25 2017-07-27 Jeffrey Neil Margolis Frame Projection For Augmented Reality Environments
US20190378340A1 (en) * 2018-06-08 2019-12-12 Microsoft Technology Licensing, Llc Placing and solving constraints on a 3d environment
US20200090368A1 (en) * 2018-09-19 2020-03-19 Seiko Epson Corporation Methods and devices for extended reality device training data creation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144755A (en) * 1996-10-11 2000-11-07 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Method and apparatus for determining poses
US20160086025A1 (en) * 2014-09-23 2016-03-24 Microsoft Corporation Pose tracker with multi threaded architecture
US20170213388A1 (en) * 2016-01-25 2017-07-27 Jeffrey Neil Margolis Frame Projection For Augmented Reality Environments
US20190378340A1 (en) * 2018-06-08 2019-12-12 Microsoft Technology Licensing, Llc Placing and solving constraints on a 3d environment
US20200090368A1 (en) * 2018-09-19 2020-03-19 Seiko Epson Corporation Methods and devices for extended reality device training data creation

Similar Documents

Publication Publication Date Title
JP6798010B2 (en) Sensory eyewear
US10132633B2 (en) User controlled real object disappearance in a mixed reality display
US9165381B2 (en) Augmented books in a mixed reality environment
US20230161409A1 (en) Reducing head mounted display power consumption and heat generation through predictive rendering of content
JP2016525741A (en) Shared holographic and private holographic objects
US11620780B2 (en) Multiple device sensor input based avatar
KR20190014108A (en) System and method for augmented and virtual reality
US11022794B2 (en) Visual indicators of user attention in AR/VR environment
US10990171B2 (en) Audio indicators of user attention in AR/VR environment
US11949949B2 (en) Content generation based on audience engagement
US20220075633A1 (en) Method and Device for Process Data Sharing
US20230049339A1 (en) Low power machine learning using real-time captured regions of interest
KR20210126490A (en) Method and xr display device for depth map re-projection based on image and pose changes
US20210374615A1 (en) Training a Model with Human-Intuitive Inputs
Soares et al. Designing a highly immersive interactive environment: The virtual mine
WO2021206367A1 (en) Method and xr display device for depth map re-projection based on image and pose changes
KR20220106076A (en) Systems and methods for reconstruction of dense depth maps
US11797889B1 (en) Method and device for modeling a behavior with synthetic training data
WO2022158890A1 (en) Systems and methods for reconstruction of dense depth maps
US11710072B1 (en) Inverse reinforcement learning for user-specific behaviors
Guo et al. Sign-to-911: Emergency Call Service for Sign Language Users with Assistive AR Glasses
US20240105173A1 (en) Method and apparatus for providing virtual space in which interaction with another entity is applied to entity
US11776192B2 (en) Method and device for generating a blended animation
US20230260268A1 (en) Personalized online learning for artificial reality applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21785570

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21785570

Country of ref document: EP

Kind code of ref document: A1