[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US20220254113A1 - Extended reality anchor caching based on viewport prediction - Google Patents

Extended reality anchor caching based on viewport prediction Download PDF

Info

Publication number
US20220254113A1
US20220254113A1 US17/660,620 US202217660620A US2022254113A1 US 20220254113 A1 US20220254113 A1 US 20220254113A1 US 202217660620 A US202217660620 A US 202217660620A US 2022254113 A1 US2022254113 A1 US 2022254113A1
Authority
US
United States
Prior art keywords
user
processing system
anchors
mobile device
viewport
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US17/660,620
Inventor
Tan Xu
David Crawford Gibbon
Bo Han
Eric Zavesky
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Intellectual Property I LP
Original Assignee
AT&T Intellectual Property I LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AT&T Intellectual Property I LP filed Critical AT&T Intellectual Property I LP
Priority to US17/660,620 priority Critical patent/US20220254113A1/en
Assigned to AT&T INTELLECTUAL PROPERTY I, L.P. reassignment AT&T INTELLECTUAL PROPERTY I, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZAVESKY, ERIC, HAN, BO, GIBBON, DAVID CRAWFORD, XU, Tan
Publication of US20220254113A1 publication Critical patent/US20220254113A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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
    • 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
    • G02B2027/0192Supplementary details
    • G02B2027/0198System for aligning or maintaining alignment of an image in a predetermined direction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment

Definitions

  • the present disclosure relates generally to immersive visual streaming, and more particularly to devices, non-transitory computer-readable media, and methods for caching anchors in extended reality environments based on viewport prediction.
  • Extended reality is an umbrella term that has been used to refer to various different forms of immersive technologies, including virtual reality (VR), augmented reality (AR), mixed reality (MR), and cinematic reality (CR).
  • XR technologies allow virtual world (e.g., digital) objects to be brought into “real” (e.g., non-virtual) world environments and real world objects to be brought into virtual environments, e.g., via overlays or other mechanisms.
  • XR technologies may have applications in fields including architecture, sports training, medicine, real estate, gaming, television and film, engineering, travel, and others. As such, immersive experiences that rely on XR technologies are growing in popularity.
  • FIG. 1 illustrates an example network related to the present disclosure
  • FIG. 2 illustrates an example viewport for an extended reality device that is viewing the real world scene of FIG. 1 ;
  • FIG. 3 illustrates a flowchart of an example method for rendering an extended reality environment, in accordance with the present disclosure
  • FIG. 4 illustrates a flowchart of another example method for rendering an extended reality environment, in accordance with the present disclosure.
  • FIG. 5 illustrates a high level block diagram of a computing device specifically programmed to perform the steps, functions, blocks and/or operations described herein.
  • a processing system of a mobile device including at least one processor may perform operations including determining a predicted viewport of the mobile device, wherein the predicted viewport defines a portion of a real world environment that is expected to be visible to a user of the mobile device at a future time, determining a set of extended reality anchors that are present in the real world environment, wherein each anchor of the extended reality anchors stores a digital object that, when rendered by the mobile device and presented to the user simultaneously with the real world environment, creates extended reality media, removing a first subset of the extended reality anchors from the set, wherein locations of anchors in the first subset of extended reality anchors fall outside of a threshold distance from a boundary of the predicted viewport, and wherein the removing results in a second subset of extended reality anchors remaining in the set, and downloading, by the processor, a digital object from a second device,
  • a non-transitory computer-readable medium stores instructions which, when executed by a processing system of a mobile device including at least one processor, cause the processing system to perform operations.
  • the operations may include including determining a predicted viewport of the mobile device, wherein the predicted viewport defines a portion of a real world environment that is expected to be visible to a user of the mobile device at a future time, determining a set of extended reality anchors that are present in the real world environment, wherein each anchor of the extended reality anchors stores a digital object that, when rendered by the mobile device and presented to the user simultaneously with the real world environment, creates extended reality media, removing a first subset of the extended reality anchors from the set, wherein locations of anchors in the first subset of extended reality anchors fall outside of a threshold distance from a boundary of the predicted viewport, and wherein the removing results in a second subset of extended reality anchors remaining in the set, and downloading, by the processor, a digital object from a second device, wherein the digital object is stored
  • a processing system of a server in a telecommunications network may perform operations including determining a predicted viewport of a mobile device in the telecommunications network, wherein the predicted viewport defines a portion of a real world environment that is expected to be visible to a user of the mobile device at a future time, determining a set of extended reality anchors that are present in the real world environment, wherein each anchor of the extended reality anchors stores a digital object that, when rendered by the mobile device and presented to the user simultaneously with the real world environment, creates extended reality media, removing a first subset of the extended reality anchors from the set, wherein locations of anchors in the first subset of extended reality anchors fall outside of a threshold distance from a boundary of the predicted viewport, and wherein the removing results in a second subset of extended reality anchors remaining in the set; and providing, subsequent to the removing, the set to the mobile device.
  • extended reality (XR) technologies allow virtual world (e.g., digital) objects to be brought into “real” (e.g., non-virtual) world environments and real world objects to be brought into virtual environments, e.g., via overlays or other mechanisms.
  • the system rendering the XR content e.g., a head mounted display, a mobile phone, a tablet computer, smart glasses, or the like, hereinafter referred to as an “XR device”
  • XR anchors may predefine precise locations in the real world environment at which certain types of digital objects may be introduced.
  • the XR anchors may comprise beacons that are placed in the real world environment and that are detectable by the XR device.
  • the XR anchors may also store the digital objects.
  • the XR device may establish a connection (e.g., a communication channel) to the XR anchor and download the digital object from the XR anchor.
  • the XR device may render the digital object so that the digital object appears in the XR environment, potentially in the same location as the XR anchor (or in another location that may be specified from metadata associated with the digital object).
  • XR anchors come in various types, including location-based anchors and marker-based anchors.
  • location-based anchors the location and orientation sensors of the XR device may detect, potentially in real time, the locations of the XR anchors.
  • the XR anchors may be attached to or housed within objects that have known, fixed locations, such as buildings, statues, street signs, and the like.
  • Marker-based anchors may place unique markers (e.g., images, objects, or machine-readable codes, for example) on or near real world locations.
  • a unique marker may indicate, when detected by an XR application, the presence of an XR anchor from which a digital object may be downloaded.
  • specific locations may be defined in an outdoor space for virtual billboards, virtual traffic signs, or virtual street signs. These locations may be indicated by real billboards, traffic signs, or street signs.
  • an indoor space such as a museum may include specifically defined locations at which virtual information (e.g., descriptions, interactive content, or the like) relating to artifacts on display may be inserted. These locations may be indicated by unique images printed on a wall, a placard, or the like.
  • a real world object such as a book may include pages or portions of pages at which educational animations or other content may be displayed. A machine-readable code may be printed on these pages to indicate that the digital objects can be superimposed over the pages.
  • Location-based anchors rely on the precision of the XR device's location and orientation sensors, which may be insufficient to allow for rendering of digital objects in a manner that preserves the realism or accuracy of the XR media. For instance, if a user's mobile phone does not detect the user's location with sufficient precision, an XR application executing on the mobile phone may superimpose the name of the wrong street over an image of the user's current location. Both location-based and marker-based anchors can, when present in large numbers in a real world environment, lead to clutter in the XR environment.
  • an XR application executing on a head mounted display may superimpose so many digital items over locations in the real world environment that the user has difficulty distinguishing between digital items or identifying the digital items in which he is actually interested.
  • the presence of a large number of marker-based anchors in a real world environment may slow the ability of the XR device to render the XR environment, as the XR device must detect and recognize each of the markers and download all of the corresponding digital objects before the digital objects can be rendered in the marked locations.
  • Examples of the present disclosure provide a viewport-guided scheme to caching XR anchors in visual streams, and, in particular, in XR visual streams (where the XR visual streams, in one example, comprise XR media that includes “real-world” elements, such as augmented reality, mixed reality, or cinematic reality).
  • XR visual streams in one example, comprise XR media that includes “real-world” elements, such as augmented reality, mixed reality, or cinematic reality).
  • a user can freely change his viewing direction with respect to the XR media being rendered, e.g., by changing the user's position and/or the XR device's position.
  • the XR device is a head mounted display
  • the user may change the viewing direction by turning his head.
  • the XR device is a mobile phone or a tablet computer
  • the user may change the viewing direction by manually moving the mobile phone or tablet computer.
  • the user's viewport (visible area) is determined by the viewing direction (in latitude/longitude) and the field-of-view (FoV) of the XR device, e.g., in real time or near-real time.
  • the FoV defines the extent of the observable area, which may be a fixed parameter of the XR device.
  • the viewport-guided XR anchor caching of the present disclosure predicts a user's viewport, e.g., what portion of the real world environment will be visible on the display of the XR device, at a given point in the future (e.g., a few seconds from the current time).
  • a user's viewport e.g., what portion of the real world environment will be visible on the display of the XR device, at a given point in the future (e.g., a few seconds from the current time).
  • there are six degrees of freedom in defining the viewport three axes of position (e.g., x, y, and z coordinates of the XR device in the real world) and three dimensions of viewing direction (e.g., yaw, pitch, and roll of the XR device).
  • the XR anchors that are present in the viewport can be identified, as well as the digital objects that are associated with the XR anchors. This allows XR anchors that may be nearby, but are not actually present in the predicted viewport (or within the configurable distance from the viewport's boundary) to be filtered out, or removed from consideration, when determining which digital objects to download and cache.
  • the digital objects can be further filtered according to user preferences, e.g., so that digital objects in which the user is not expected to be interested can be filtered out.
  • digital objects which are not filtered out may be downloaded and cached by the XR device for display when the associated XR anchors appear in the viewport.
  • device and network resources can be conserved by not downloading digital content that is not expected to be visible to or of interest to the user.
  • the user experience may also be improved by reducing clutter (e.g., reducing the number of digital objects presented to the user) and providing a more personalized experience.
  • the viewport-guided XR anchor caching may be performed entirely by the XR device, if the XR device has sufficient processing power and memory space to perform the operations. In another example, e.g., where the processing power and/or memory space of the XR device may be more limited, one or more of the operations may be performed by other devices in cooperation with the XR device.
  • one or more operations for viewport-guided XR anchor caching is applied at the network-edge, e.g., in an edge server.
  • the edge server may collect the viewport movement traces from an XR device periodically, or according to another schedule.
  • the video player may collect actual viewport data, e.g., via motion sensors for 360-degree video streaming or volumetric video streaming, or using gaze tracking for regular video streaming or non-360-degree panoramic video streaming.
  • the edge server may use one or more pre-trained machine learning models (MLMs) to predict the future viewports and trajectory (e.g., which direction the viewport is moving toward).
  • MLMs machine learning models
  • one or more operations for viewport-guided XR anchor caching may be performed by an application server in a telecommunications network (e.g., in the cloud).
  • an application server in a telecommunications network (e.g., in the cloud).
  • the operations discussed above in connection with the edge server may be performed by the application server.
  • FIG. 1 illustrates an example system 100 in which examples of the present disclosure may operate.
  • the system 100 may include any one or more types of communication networks, such as a traditional circuit switched network (e.g., a public switched telephone network (PSTN)) or a packet network such as an Internet Protocol (IP) network (e.g., an IP Multimedia Subsystem (IMS) network), an asynchronous transfer mode (ATM) network, a wireless network, a cellular network (e.g., 2G, 3G, and the like), a long term evolution (LTE) network, 5G and the like related to the current disclosure.
  • IP Internet Protocol
  • IMS IP Multimedia Subsystem
  • ATM asynchronous transfer mode
  • wireless network e.g., a wireless network
  • a cellular network e.g., 2G, 3G, and the like
  • LTE long term evolution
  • 5G 5G and the like related to the current disclosure.
  • IP network is broadly defined as a network that uses Internet Protocol to exchange data packets.
  • the system 100 may comprise a network 102 , e.g., a telecommunication service provider network, a core network, or an enterprise network comprising infrastructure for computing and communications services of a business, an educational institution, a governmental service, or other enterprises.
  • the network 102 may be in communication with one or more access networks 120 and 122 , and the Internet (not shown).
  • network 102 may combine core network components of a cellular network with components of a triple play service network; where triple-play services include telephone services, Internet or data services and television services to subscribers.
  • network 102 may functionally comprise a fixed mobile convergence (FMC) network, e.g., an IP Multimedia Subsystem (IMS) network.
  • FMC fixed mobile convergence
  • IMS IP Multimedia Subsystem
  • network 102 may functionally comprise a telephony network, e.g., an Internet Protocol/Multi-Protocol Label Switching (IP/MPLS) backbone network utilizing Session Initiation Protocol (SIP) for circuit-switched and Voice over internet Protocol (VoIP) telephony services.
  • IP/MPLS Internet Protocol/Multi-Protocol Label Switching
  • SIP Session Initiation Protocol
  • VoIP Voice over internet Protocol
  • Network 102 may further comprise a broadcast television network, e.g., a traditional cable provider network or an internet Protocol Television (IPTV) network, as well as an Internet Service Provider (ISP) network.
  • IPTV Internet Protocol Television
  • ISP Internet Service Provider
  • network 102 may include a plurality of television (TV) servers (e.g., a broadcast server, a cable head-end), a plurality of content servers, an advertising server (AS), an interactive TV/video on demand (VoD) server, and so forth.
  • TV television
  • AS advertising server
  • VoD interactive TV/video on demand
  • the access networks 120 and 122 may comprise broadband optical and/or cable access networks, Local Area Networks (LANs), wireless access networks (e.g., an IEEE 802.11/Wi-Fi network and the like), cellular access networks, Digital Subscriber Line (DSL) networks, public switched telephone network (PSTN) access networks, 3 rd party networks, and the like.
  • LANs Local Area Networks
  • wireless access networks e.g., an IEEE 802.11/Wi-Fi network and the like
  • cellular access networks e.g., Digital Subscriber Line (DSL) networks, public switched telephone network (PSTN) access networks, 3 rd party networks, and the like.
  • DSL Digital Subscriber Line
  • PSTN public switched telephone network
  • 3 rd party networks 3 rd party networks
  • the operator of network 102 may provide a cable television service, an IPTV service, or any other types of telecommunication service to subscribers via access networks 120 and 122 .
  • the access networks 120 and 122 may comprise different types of access networks, may comprise the
  • the network 102 may be operated by a telecommunication network service provider.
  • the network 102 and the access networks 120 and 122 may be operated by different service providers, the same service provider or a combination thereof, or may be operated by entities having core businesses that are not related to telecommunications services, e.g., corporate, governmental or educational institution LANs, and the like.
  • network 102 may include an application server (AS) 104 , which may comprise a computing system or server, such as computing system 500 depicted in FIG. 5 , and may be configured to provide one or more operations or functions in connection with examples of the present disclosure for anchor caching for extended reality applications.
  • the network 102 may also include a database (DB) 106 that is communicatively coupled to the AS 104 .
  • AS application server
  • DB database
  • the terms “configure,” and “reconfigure” may refer to programming or loading a processing system with computer-readable/computer-executable instructions, code, and/or programs, e.g., in a distributed or non-distributed memory, which when executed by a processor, or processors, of the processing system within a same device or within distributed devices, may cause the processing system to perform various functions.
  • Such terms may also encompass providing variables, data values, tables, objects, or other data structures or the like which may cause a processing system executing computer-readable instructions, code, and/or programs to function differently depending upon the values of the variables or other data structures that are provided.
  • a “processing system” may comprise a computing device including one or more processors, or cores (e.g., as illustrated in FIG. 5 and discussed below) or multiple computing devices collectively configured to perform various steps, functions, and/or operations in accordance with the present disclosure.
  • AS application server
  • DB database
  • AS 104 may comprise a centralized network-based server for generating extended reality media.
  • the AS 104 may host an application that predicts a future viewport of an XR device, identifies a set of XR anchors that are present within the future viewport and digital objects associated with the XR anchors, filters the set of XR anchors based on user preferences, and/or transmits digital objects associated with at least some of the XR anchors to the XR device in accordance with the present disclosure.
  • AS 104 may comprise a physical storage device (e.g., a database server), to store copies of digital objects that may also be stored at XR anchors, as discussed in greater detail below.
  • the AS 104 may store an index, where the index maps each XR anchor of a plurality of anchors to a respective digital object that is stored at the XR anchor.
  • the index may further map each XR anchor to a respective location in the real world environment (e.g., latitude and longitude, global positioning system coordinates, etc.).
  • more than one digital object may be stored at the same XR anchor, and the AS 104 may select from among the more than one digital object based on user preferences.
  • the XR anchor may comprise a marker on a billboard in the real world environment, and the digital objects stored at the XR anchor may include a plurality of different advertisements that can be rendered in the place of the billboard. In this case, a specific advertisement that is best targeted to the user's preferences may be selected for rendering.
  • the AS 104 may also store user profiles which may specify user preferences that can be used to filter a set of XR anchors.
  • a user profile may specify, for each user: demographic information (e.g., age, gender, marital status, education, etc.), device information (e.g., whether the user uses a head mounted display, a mobile phone, a tablet computer, or the like to render and display XR media, the types of connections used by the device to access XR media such as cellular or WiFi, etc.), interests (e.g., favorite hobbies, sports teams, music, movies, etc.), and/or usage history with respect to XR media (e.g., types of digital objects the user has interacted with and/or ignored in the past).
  • demographic information e.g., age, gender, marital status, education, etc.
  • device information e.g., whether the user uses a head mounted display, a mobile phone, a tablet computer, or the like to render and display XR media, the types of connections used by
  • a user profile may also indicate the user's current use context with respect to an XR device (e.g., how quickly the user is moving, how frequently the user's gaze or viewport appears to change, whether the user in indoors or outdoors, or the like).
  • the current use context may be inferred from data collected by sensors of the XR device. For instance, an accelerometer, a thermometer,
  • a user profile may also specify restrictions on the types of digital objects that may be rendered for the user. For instance, a parent may configure a child's profile so that digital objects which may be considered too violent or too scary are prohibited from being rendered.
  • profiles may be stored on an opt-in basis, i.e., a user may elect to not have a profile.
  • the user profiles may be stored in encrypted form to protect any user information that may be deemed private.
  • the DB 106 may store the digital objects, the index, and/or the user profiles, and the AS 104 may retrieve the digital objects, the index, and/or user profiles from the DB 106 when needed.
  • various additional elements of network 102 are omitted from FIG. 1 .
  • access network 122 may include an edge server 108 , which may comprise a computing system or server, such as computing system 500 depicted in FIG. 5 , and may be configured to provide one or more operations or functions for anchor caching for extended reality applications, as described herein.
  • edge server 108 may comprise a computing system or server, such as computing system 500 depicted in FIG. 5 , and may be configured to provide one or more operations or functions for anchor caching for extended reality applications, as described herein.
  • an example method 300 for viewport-based anchor caching for extended reality applications is illustrated in FIG. 3 and described in greater detail below.
  • application server 104 may comprise a network function virtualization infrastructure (NFVI), e.g., one or more devices or servers that are available as host devices to host virtual machines (VMs), containers, or the like comprising virtual network functions (VNFs).
  • NFVI network function virtualization infrastructure
  • VMs virtual machines
  • VNFs virtual network functions
  • access networks 120 and 122 may comprise “edge clouds,” which may include a plurality of nodes/host devices, e.g., computing resources comprising processors, e.g., central processing units (CPUs), graphics processing units (GPUs), programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), or the like, memory, storage, and so forth.
  • processors e.g., central processing units (CPUs), graphics processing units (GPUs), programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), or the like, memory, storage, and so forth.
  • CPUs central processing units
  • edge server 108 may be instantiated on one or more servers hosting virtualization platforms for managing one or more virtual machines (VMs), containers, microservices, or the like.
  • VMs virtual machines
  • edge server 108 may comprise a VM, a container, or the like.
  • the access network 120 may be in communication with a server 110 .
  • access network 122 may be in communication with one or more devices, e.g., device 112 .
  • Access networks 120 and 122 may transmit and receive communications between server 110 , device 112 , application server (AS) 104 , other components of network 102 , devices reachable via the Internet in general, and so forth.
  • device 112 may comprise a mobile device, a cellular smart phone, a wearable computing device (e.g., smart glasses, a virtual reality (VR) headset or other type of head mounted display, or the like), a laptop computer, a tablet computer, or the like (broadly an “XR device”).
  • device 112 may comprise a computing system or device, such as computing system 500 depicted in FIG. 5 , and may be configured to provide one or more operations or functions in connection with examples of the present disclosure for anchor caching for extended reality applications.
  • server 110 may comprise a network-based server for generating XR media.
  • server 110 may comprise the same or similar components as those of AS 104 and may provide the same or similar functions.
  • AS 104 may similarly apply to server 110 , and vice versa.
  • server 110 may be a component of an XR system operated by an entity that is not a telecommunications network operator.
  • a provider of an XR system may operate server 110 and may also operate edge sever 108 in accordance with an arrangement with a telecommunication service provider offering edge computing resources to third-parties.
  • a telecommunication network service provider may operate network 102 and access network 122 , and may also provide an XR system via AS 104 and edge server 108 .
  • the XR system may comprise an additional service that may be offered to subscribers, e.g., in addition to network access services, telephony services, traditional television services, and so forth.
  • an XR system may be provided via AS 104 and edge server 108 .
  • a user may engage an application on device 112 (e.g., an “XR device”) to establish one or more sessions with the XR system, e.g., a connection to edge server 108 (or a connection to edge server 108 and a connection to AS 104 ).
  • the access network 122 may comprise a cellular network (e.g., a 4G network and/or an LTE network, or a portion thereof, such as an evolved Uniform Terrestrial Radio Access Network (eUTRAN), an evolved packet core (EPC) network, etc., a 5G network, etc.).
  • eUTRAN evolved Uniform Terrestrial Radio Access Network
  • EPC evolved packet core
  • the communications between device 112 and edge server 108 may involve cellular communication via one or more base stations (e.g., eNodeBs, gNBs, or the like).
  • the communications may alternatively or additional be via a non-cellular wireless communication modality, such as IEEE 802.11/Wi-Fi, or the like.
  • access network 122 may comprise a wireless local area network (WLAN) containing at least one wireless access point (AP), e.g., a wireless router.
  • WLAN wireless local area network
  • AP wireless access point
  • device 112 may communicate with access network 122 , network 102 , the Internet in general, etc., via a WLAN that interfaces with access network 122 .
  • device 112 may establish a session with edge server 108 for obtaining an XR media.
  • the XR media may insert one or more digital objects into a real-time image stream of a real world scene.
  • an example real world scene 114 is illustrated in FIG. 1 .
  • the real world scene 114 may be viewed by a user through the device 112 , e.g., on a display of a head mounted display or mobile phone, or through a set of smart glasses.
  • the field of view of the device 112 and the viewing direction together define a viewport of the user.
  • the device 112 (or alternatively the AS 104 , edge server 108 , or server 110 ) may detect one or more XR anchors 116 1 - 116 n (hereinafter individually referred to as an “XR anchor 116 ” or collectively referred to as “XR anchors 116 ”) within the viewport.
  • some of the XR anchors 116 may be placed in known, fixed locations (such as buildings, statues, street signs, or the like). In other examples, some of the XR anchors 116 may emit signals (e.g., Bluetooth, infrared, or electromagnetic signals) that are detectable by the device 112 , where the signals indicate the presence of the XR anchors 116 . In one example, the XR anchors 116 may comprise a combination of XR anchors that are placed in known, fixed locations and XR anchors that emit signals to facilitate their detection.
  • the example real world scene 114 of FIG. 1 depicts a city street in which the XR anchors 116 may include or be co-located with a street sign ( 116 1 ), a mailbox ( 116 2 ), a tree ( 116 3 ), and a billboard ( 116 n ).
  • the locations of the street sign and the billboard may be fixed, and, therefore known to the device 112 , AS 104 , and/or edge server 108 as anchor locations.
  • the locations of the mailbox and the tree may be considered less permanent, and, therefore, the XR anchors 116 2 and 116 3 associated with the mailbox and the tree may emit signals to alert other devices to their presence.
  • each of the XR anchors 116 may store at least one digital object, where the digital object may be downloaded and subsequently inserted, by the device 112 , into the real world scene 114 .
  • the device 112 may download an image from the XR anchor 116 1 that may be displayed on the billboard.
  • the device 112 may download a digital animation of a bird from the XR anchor 116 3 , where the animation may be inserted in the branches of the tree in the XR environment.
  • the digital objects stored at the XR anchors 116 may include video files, advertisements, animation files, image files, or the like.
  • the digital objects may include computing resources (e.g., processing, memory, or the like).
  • each digital object may include descriptive metadata which may help a device to determine whether or not to download the digital object.
  • the descriptive metadata may specify a type of the content (e.g., file type), a language of the content, a genre of the content (e.g., advertisement, information, entertainment, etc.), or the like.
  • each digital object may include metadata which may indicate rules associated with the use of the digital object.
  • the metadata may specify for how long a device that downloads the digital object is permitted to store the digital object, a maximum number of times that the same device is permitted to download the digital object, specific locations at which the digital object is permitted to be rendered or not rendered, or the like.
  • the viewport of the user may be predicted in advance (e.g., x seconds before the user actually views the viewport).
  • the XR device e.g., device 112 , or a server connected to the XR device
  • the XR device may have prior knowledge of the locations of at least some of the XR anchors 116 in the real world environment and may be able to detect the presence of other XR anchors 116 .
  • the XR device (or the server) may be able to determine, based on the predicted viewport, which of the XR anchors 116 (or which objects associated with the XR anchors 116 ) are likely to be visible by the user.
  • FIG. 2 illustrates an example viewport 200 for an XR device that is viewing the real world scene 114 of FIG. 1 .
  • the viewport 200 may comprise less than the entirety of the real world scene 114 .
  • only some of the XR anchors 116 may be visible within the viewport 200 .
  • the XR anchors 116 2 and 116 3 are visible within the viewport 200 , while the XR anchors 116 1 and 116 n fall outside of the viewport.
  • the XR device can determine that the XR anchors 116 2 and 116 3 are likely to be visible to the user in x seconds.
  • the device 112 may comprise a wearable device or a non-wearable device which may include sensors for determining yaw, pitch, and roll parameters of the device 112 .
  • the device 112 may translate the yaw, pitch, and roll parameters into a viewport such as the viewport 200 .
  • the predicted viewport is calculated by the edge server 108 .
  • the edge server 108 may obtain viewport traces from device 112 .
  • device 112 may periodically send actual measured viewport information (e.g., recent viewport information) to edge server 108 , such as yaw, pitch, and roll measurements, and in some cases device location and/or camera position information, FoV information, and so forth.
  • Edge server 108 may then use the recent viewport information to calculate the predicted viewport at some time in the near future (e.g., x seconds into the future).
  • the recent viewport information (which may be referred to as a “viewport trace”), may be processed via a trained machine learning algorithm (MLA), e.g., a MLM, to output a predicted viewport.
  • MLM machine learning algorithm
  • the recent viewport information may indicate a trajectory of the viewport in a general direction. It may be expected that the viewport movement is likely to continue in the same general direction as indicated by the trajectory, which may be quantified by the output of the MLM, i.e., the predicted viewport.
  • the predicted viewport may be further based upon analysis of a heatmap and/or saliency map.
  • AS 104 may provide heatmap information, e.g., an identification of a region or regions of the real world scene 114 that are most popular among prior users.
  • the real world scene may include a famous landmark or a famous work of art.
  • AS 104 may provide saliency map information, e.g., identification of a region or regions of the real world scene 114 that are determined to be the most “salient” according to an image saliency detection algorithm (e.g., as applied to individual frames or a plurality of frames of streaming images of the real world location 114 ).
  • edge server 108 may utilize viewport traces to perform viewport prediction, and may also provide the viewport traces to AS 104 for aggregation and developing heatmaps for images of the real world scene 114 .
  • the saliency map information and heatmap information may be stored along with images of the real world environment 114 .
  • the saliency map and/or heatmap-identified region or regions can then be used in conjunction with a user's viewport trajectory to further increase the accuracy of future viewport prediction.
  • the saliency map and/or heatmap information may comprise additional inputs into a MLM for viewport prediction.
  • a predicted viewport may be generated via the MLM and combined with the saliency map and/or heatmap information to modify the predicted viewport, e.g., to move a center of the predicted viewport toward a region or regions of the frame that are identified in the saliency map and/or heatmap information.
  • system 100 has been simplified. Thus, it should be noted that the system 100 may be implemented in a different form than that which is illustrated in FIG. 1 , or may be expanded by including additional endpoint devices, access networks, network elements, application servers, etc. without altering the scope of the present disclosure.
  • system 100 may be altered to omit various elements, substitute elements for devices that perform the same or similar functions, combine elements that are illustrated as separate devices, and/or implement network elements as functions that are spread across several devices that operate collectively as the respective network elements.
  • the system 100 may include other network elements (not shown) such as border elements, routers, switches, policy servers, security devices, gateways, a content distribution network (CDN) and the like.
  • CDN content distribution network
  • portions of network 102 , access networks 120 and 122 , and/or Internet may comprise a content distribution network (CDN) having ingest servers, edge servers, and the like for packet-based streaming of video, audio, or other content.
  • CDN content distribution network
  • access networks 120 and/or 122 may each comprise a plurality of different access networks that may interface with network 102 independently or in a chained manner.
  • AS 104 may be similarly provided by server 110 , or may be provided by AS 104 in conjunction with server 110 .
  • AS 104 and server 110 may be configured in a load balancing arrangement, or may be configured to provide for backups or redundancies with respect to each other, and so forth.
  • FIG. 3 illustrates a flowchart of an example method 300 for rendering an extended reality environment, in accordance with the present disclosure.
  • the method 300 is performed by a component of the system 100 of FIG. 1 , such as by the device 112 , and/or any one or more components thereof (e.g., a processor, or processors, performing operations stored in and loaded from a memory), or by the device 112 in conjunction with one or more other devices, such AS 104 , server 106 , edge server 108 , and so on.
  • the steps, functions, or operations of method 300 may be performed by a computing device or system 500 , and/or processor 502 as described in connection with FIG. 5 below.
  • the computing device or system 500 may represent any one or more components of the system 100 of FIG. 1 that is/are configured to perform the steps, functions and/or operations of the method 300 .
  • the steps, functions, or operations of method 300 may be performed by a processing system comprising one or more computing devices collectively configured to perform various steps, functions, and/or operations of the method 300 .
  • multiple instances of the computing device or processing system 500 may collectively function as a processing system.
  • the method 300 is described in greater detail below in connection with an example performed by a processing system.
  • the method 300 begins in step 302 and may proceed to step 304 .
  • the processing system may determine a predicted viewport of an XR device that is currently rendering an XR media for a user.
  • the predicted viewport may comprise a viewport that is expected to be visible to the user of the XR device at some time in the near future (e.g., in x seconds).
  • the predicted viewport may be determined by the FoV of the XR device and the expected viewing direction of the XR device at the time in the near future. As discussed above, the FoV remains fixed (e.g., the width and height of the FoV do not change), but the expected viewing direction may be determined with six degrees of freedom.
  • these six degrees of freedom include three axes of position (e.g., x, y, and z coordinates of the XR device in the real world) and three dimensions of viewing direction (e.g., yaw, pitch, and roll of the XR device).
  • the axes of position and/or dimensions of viewing direction may be determined from GPS or similar sensors of the XR device, from an inertial measurement unit or similar sensor of the XR device, and/or from a compass or similar sensor of the XR device.
  • the predicted viewport may be predicted based on viewport traces of the XR device.
  • the predicted viewport may be predicted using an MLM that analyzes the parameters of recent viewports of the XR device in order to determine where the predicted viewport is likely to be.
  • the parameters of the recent viewports may include yaw, pitch, and roll measurements, and in some cases device location and/or camera position information, FoV information, and so forth.
  • the recent viewport information may indicate a trajectory of the viewport in a general direction. It may be expected that the viewport movement is likely to continue in the same general direction as indicated by the trajectory, which may be quantified by the output of the MLM, i.e., the predicted viewport.
  • the MLM may comprise a multi-scale time prediction model.
  • the multi-scale time prediction model may use short-term predictions (e.g., regression) to predict the predicted viewport based on the orientation of the XR device, as well as long term predictions to predict the predicted viewport based on historical behavior of the user while using the XR device.
  • the multi-scale time prediction model may derive a long-term user behavior model from a user profile that describes the user's interests, cached objects, and the like. In other words, the long-term user behavior model may identify the types of items or digital objects that the user tends to look at or interact with.
  • the XR device may execute the MLM to determine the predicted viewport.
  • step 304 may involve generating the predicted viewport.
  • the XR device may periodically send the parameters of the recent viewports to a remote device, such as a server in a telecommunications network (e.g., an application server, an edge server, or the like), and the remote device may execute the MLM to determine the predicted viewport.
  • step 304 may involve receiving the predicted viewport from the remote device.
  • the processing system may determine a set of XR anchors that is present in the real world environment surrounding the XR device.
  • the XR anchors may comprise beacons that are associated with locations or objects (e.g., IoT devices) in the real world environment.
  • the XR anchors may store the digital objects, such as video files, advertisements, animation files, image files, or the like, which may be rendered by the XR device.
  • an XR media is created.
  • the processing system may remove, from the set of XR anchors, a first subset of anchors including any anchors that are not present in (or are not within some configurable distance from the boundary of) the predicted viewport. This step leaves a second subset of anchors remaining in the set, where the second subset of anchors includes anchors that are present in (or are within the configurable distance from the boundary of) the predicted viewport.
  • the real world environment may contain tens, hundreds, or even thousands of XR anchors, but only a small subset of these XR anchors may be present or near in the predicted viewport.
  • the number of digital objects that may potentially be downloaded by the XR device in later steps of the method 300 can be greatly reduced (e.g., digital objects which may be irrelevant due to their distance from the predicted viewport may not be considered for download). This will ultimately improve the computational efficiency and accuracy of the method 300 .
  • the locations of at least some of the XR anchors are known in advance.
  • an index may map XR anchors to specific locations (e.g., latitude and longitude) in the real world environment, where the XR anchors may be fixed at those locations.
  • an XR anchor that comprises an IoT device may emit a signal (e.g., a Bluetooth, infrared, or electromagnetic signal) that can be detected by the processing system, where the signal either identifies the location of the XR anchor or allows the processing system to determine the location through further analysis of the signal.
  • the processing system may establish a connection with a second device from which a digital object stored at at least one anchor of the set of XR anchors (determined in step 306 ) may be downloaded.
  • the connection may be established using anonymous but trusted identifiers (e.g., hardware hashes, blockchain tokens, or the like) to indicate the physical position of the second device and/or the digital object.
  • the second device is the XR anchor at which the digital object is stored.
  • second device is another device in the vicinity of the processing system, which may have previously cached the digital object from the associated XR anchor (e.g., another XR device being operated by another user), or an edge server which may have previously cached the digital object.
  • the connection established by the processing system may be a direct (e.g., peer-to-peer or mesh) connection.
  • the processing system may download the digital object from the second device.
  • the processing system may store the digital object, in its entirety, in a memory (e.g., cache) of the XR device.
  • the processing system may temporarily store portions or chunks of the digital object in the memory of the XR device, e.g., where the processing system may stream the digital object from the second device.
  • the processing system may customize the digital object for the user.
  • the user's profile may specify information about the user, including demographic information (e.g., age, gender, marital status, education, etc.), device information (e.g., whether the user uses a head mounted display, a mobile phone, a tablet computer, or the like to render and display XR media, the types of connections used by the device to access XR media such as cellular or WiFi, etc.), interests (e.g., favorite hobbies, sports teams, music, movies, etc.), and/or usage history with respect to XR media (e.g., types of digital objects the user has interacted with and/or ignored in the past).
  • demographic information e.g., age, gender, marital status, education, etc.
  • device information e.g., whether the user uses a head mounted display, a mobile phone, a tablet computer, or the like to render and display XR media, the types of connections used by the device to access XR media such as cellular or WiFi, etc
  • This information may be used to customize the XR environment, and more specifically individual digital objects which may be rendered in the XR environment, for the user. For instance, if a digital object includes a logo for a football team, then the logo included in the digital object may be customized as the logo of the user's favorite football team. As another example, if the digital object includes text, and the user's vision is known to be poor, then the size and/or font of the text could be increased to improve visibility. Similarly, the language of the text could be adapted to the user's preferred language. For digital objects that include sound, visual cues related to the sound (e.g., closed captioning) could be provided to a user who is hard of hearing.
  • visual cues related to the sound e.g., closed captioning
  • the processing system may further customize the digital object to the current use context. For instance, the processing system may be able to infer (e.g., based on sentiment analysis of statements made by the user, based on the user's current walking speed, based on knowledge of the user's schedule as obtained from a profile, or the like) that the user is currently in a hurry. In this case, the processing system may elect to render an abbreviated version of the digital content as opposed to a longer, more complete version. For example, if the digital content comprises a video, the processing system may render a shortened version of the video.
  • digital objects that include advertising material may be customized for the user.
  • a plurality of digital objects associated with an XR anchor may comprise different billboard-style images, and the billboard-style image that is best aligned with the user's interests or demographics may be chosen for rendering.
  • the processing system may determine that an advertisement for a family-friendly resort would be appropriate to display to the user (as opposed to, for example, an advertisement for Las Vegas).
  • the processing system may determine that an advertisement for a steakhouse would be more appropriate than an advertisement for a seafood restaurant.
  • advertising material may be customized to the user based on the user's current usage context, which as discussed above may be inferred from sensors in the XR device. For instance, if the sensors indicate that the user is moving quickly, then the processing system may determine that an advertisement for running shoes would be appropriate to render.
  • processing system may detect that the current viewport of the user matches the predicted viewport that was predicted in step 304 . For instance, the processing system may determine (e.g., based on data collected by sensors of the XR device) that the position of the viewport has changed by an amount and a direction that would be sufficient to bring the predicted viewport into view. Alternatively, the processing system may use image processing and/or recognition techniques to determine that XR anchors that were expected to be present in the predicted viewport are currently visible in the current viewport.
  • the processing system may render the digital object for presentation by the XR device. For instance, if the digital object includes a visual element (e.g., an image, a video, text, or the like), then the digital object may be displayed on a display of the XR device. In one example, the visual element of the digital object may be rendered as an overlay that can be superimposed over the images of the real world environment that are visible on the display of the XR device. If the digital object includes an audio component (e.g., a sound effect, an audio track of a video, or the like), then the digital object may be played over a speaker of the XR device.
  • a visual element e.g., an image, a video, text, or the like
  • the digital object may be displayed on a display of the XR device.
  • the visual element of the digital object may be rendered as an overlay that can be superimposed over the images of the real world environment that are visible on the display of the XR device.
  • the digital object includes an audio component (e
  • the digital object may be transmitted over a haptic feedback element of the XR device.
  • a haptic element e.g., a rumble, a vibration, or the like
  • the digital object may be transmitted over a haptic feedback element of the XR device.
  • the digital object may include various different modal elements.
  • the processing system may simultaneously render a plurality of different digital objects, where one digital object may include a visual element, another digital object may include an audio element, yet another digital object may include a visual element and a haptic element, and so on.
  • the processing system may optionally receive user feedback regarding the XR media.
  • the user feedback may be explicit.
  • the user may indicate (e.g., verbally, through the press of a button, through a predefined gesture, of the like) that he does or does not like a particular digital object, or the user may similarly request a specific digital object other than a digital object being rendered.
  • the user may “bookmark” a digital object, e.g., by indicating that the digital object should be saved in a persistent memory or by placing a virtual marker that indicates that the user wishes to revisit the digital object in the future.
  • the user feedback may be implicit.
  • the processor may monitor the user's engagement with a digital object that is rendered (e.g., whether and for how long the user's gaze lingered on the digital object, whether and for how long the user interacted with the digital object, if the digital object was interactive, or the like).
  • the processing system may optionally update a profile associated with the user, based on the feedback received in step 320 . This may help the processing system to better customize the XR environment for the user in the future.
  • the method 300 may return to step 304 , and may repeat steps 304 - 322 continuously for as long as the user is utilizing the XR device (or until the processing system receives a signal from the user to stop presenting the XR media, until the XR device is powered down, etc.).
  • the user's viewport may be continuously predicted, and the digital objects associated with the anchors in the predicted viewport may be continuously cached, so that the digital objects can be rendered with little or no delay when the actual or current viewport aligns with the predicted viewport.
  • This stands in contrast to conventional techniques, which may wait to identify and to cache digital objects until the anchors associated with the digital objects are present in the current viewport.
  • this conventional approach may lead to delays in rendering the digital objects and/or sudden spikes in resource usage, which may detract from the user experience.
  • digital objects whose locations lie beyond the boundaries of the predicted viewport may additionally be cached to provide a margin of error. For instance, if the actual viewport overlaps, but does not perfectly align, with the predicted viewport, rendering of the XR media may still be expedited by utilizing cached digital objects whose locations may lie outside of the predicted viewport, but potentially inside of the actual viewport.
  • the XR media, and more specifically the rendered digital objects can be customized to the user's preferences, location, lifestyle, current use context, and the like, which may improve the XR experience by making the experience more personalized.
  • the XR experience can be localized to the specific location at which the user is present.
  • known XR anchors that are present in a real world environment may be utilized to facilitate a public safety network.
  • XR anchors that are present in that location could be used to disseminate information and/or instructions to XR device users whose viewports include those anchors.
  • the information and/or instructions might include, for example, directions to guide the users safely away from the site of the emergency.
  • the method 300 may be expanded to include additional steps, or may be modified to replace steps with different steps, to combine steps, to omit steps, to perform steps in a different order, and so forth.
  • the processing system may repeat one or more steps of the method 300 , such as steps 304 - 322 , steps 304 - 318 , etc.
  • the method 300 may include storing one or more digital objects, e.g., at the XR device or at the edge server. The storing may be after step 322 .
  • the XR media may be stored for other users who may be interested in experiencing the XR media via the respective XR devices that may be served by the processing system.
  • the XR media may be stored for other users who may be interested in experiencing the XR media via the respective XR devices that may be served by the processing system.
  • FIG. 4 illustrates a flowchart of another example method 400 for rendering an extended reality environment, in accordance with the present disclosure.
  • the method 400 is performed by a component of the system 100 of FIG. 1 , such as by the AS 104 , server 106 , edge server 108 , and so on, which may assist an XR device (e.g., device 112 of FIG. 1 ) in identifying digital objects to be downloaded and rendered for a user.
  • the steps, functions, or operations of method 400 may be performed by a computing device or system 500 , and/or processor 502 as described in connection with FIG. 5 below.
  • the computing device or system 500 may represent any one or more components of the system 100 of FIG.
  • the steps, functions, or operations of method 400 may be performed by a processing system comprising one or more computing devices collectively configured to perform various steps, functions, and/or operations of the method 400 .
  • a processing system comprising one or more computing devices collectively configured to perform various steps, functions, and/or operations of the method 400 .
  • multiple instances of the computing device or processing system 500 may collectively function as a processing system.
  • the method 400 is described in greater detail below in connection with an example performed by a processing system.
  • the method 400 begins in step 402 and may proceed to step 404 .
  • the processing system may optionally collect a plurality of viewport movement traces from an XR device that is currently rendering XR media for a user.
  • the viewport movement traces may be collected periodically, or according to another schedule.
  • the processing system may optionally determine a predicted viewport of the XR device, based on the viewport movement traces.
  • the predicted viewport may comprise a viewport that is expected to be visible to the user of the XR device at some time in the near future (e.g., in x seconds).
  • the predicted viewport may be determined by the FoV of the XR device and the expected viewing direction of the XR device at the time in the near future. As discussed above, the FoV remains fixed (e.g., the width and height of the FoV do not change), but the expected viewing direction may be determined with six degrees of freedom.
  • the predicted viewport may be predicted using an MLM that analyzes the parameters of recent viewports of the XR device in order to determine where the predicted viewport is likely to be.
  • the parameters of the recent viewports may include yaw, pitch, and roll measurements, and in some cases device location and/or camera position information, FoV information, and so forth.
  • the recent viewport information may indicate a trajectory of the viewport in a general direction. It may be expected that the viewport movement is likely to continue in the same general direction as indicated by the trajectory, which may be quantified by the output of the MLM, i.e., the predicted viewport.
  • the MLM may comprise a multi-scale time prediction model, as discussed above.
  • the processing system may optionally send the predicted viewport to the XR device, e.g., so that the XR device may determine which XR anchors may be present in the predicted viewport as discussed above.
  • the processing system may optionally determine a set of XR anchors that is present in the real world environment surrounding the XR device.
  • the XR anchors may comprise beacons that are associated with locations or objects (e.g., IoT devices) in the real world environment.
  • the XR anchors may store the digital objects, such as video files, advertisements, animation files, image files, or the like, which may be rendered by the XR device.
  • an XR media is created.
  • the processing system may optionally remove, from the set of XR anchors, a first subset of anchors.
  • the first subset of anchors may include anchors that are not present in the predicted viewport (or within a configurable distance from the boundary of the predicted viewport).
  • This step leaves a second subset of anchors remaining in the set, where the second subset of anchors includes anchors that are present in (or are within the configurable distance from the boundary of) the predicted viewport.
  • the real world environment may contain tens, hundreds, or even thousands of XR anchors, but only a small subset of these XR anchors may be present in the predicted viewport.
  • the number of digital objects that may potentially be downloaded by the XR device may be greatly reduced. This will ultimately improve the computational efficiency and accuracy of the XR device.
  • the locations of at least some of the XR anchors are known in advance.
  • an index may map XR anchors to specific locations (e.g., latitude and longitude) in the real world environment, where the XR anchors may be fixed at those locations.
  • an XR anchor that comprises an IoT device may emit a signal (e.g., a Bluetooth, infrared, or electromagnetic signal) that can be detected by the XR device, where the signal either identifies the location of the XR anchor or allows the processing system to determine the location through further analysis of the signal.
  • the XR device in this case may provide the locations of the XR anchors to the processing system.
  • the processing system may receive, from the extended reality device, a request for a digital object that is stored at one of the anchors that still remains in the set of XR anchors (e.g., an anchor of the second subset).
  • the processing system may optionally transfer a digital object to the XR device.
  • the digital object may be associated with an XR anchor that is present in the predicted viewport of the XR device, and the XR device may wish to cache the digital object for use when the XR device's current viewport matches the predicted viewport.
  • the edge server may cache at least some of the digital objects that may be associated with the XR anchors in the set of XR anchors.
  • the application server may store or have access to a database that stores at least some of the digital objects that may be associated with the XR anchors in the set of XR anchors.
  • the edge server, the application server, and or the database may store a number of the most frequently downloaded digital objects (e.g., most frequently downloaded over the last day, over the last week, or for as long as records have been kept), or a number of the most recently downloaded digital objects.
  • the XR device may download a digital object from the edge server, the application server, and/or the database in some examples.
  • the method 400 may return to step 404 , and may repeat any combination of steps 404 - 416 continuously for as long as the user is utilizing the XR device (or until the processing system receives a signal from the user to stop presenting the XR media, until the XR device is powered down, etc.).
  • the method 400 may be expanded to include additional steps, or may be modified to replace steps with different steps, to combine steps, to omit steps, to perform steps in a different order, and so forth, depending on the role of the edge server, the application server, and/or the database in the rendering of the XR media.
  • all of the steps of the method 300 may be performed by a processing system of the XR device, without assistance from an intermediary, if the XR device has access to sufficient processing and/or memory resources.
  • the XR device may also offload some of the steps to a second device such as an edge server, an application server, or the like.
  • the XR device may rely on the second device to determine the predicted viewport (e.g., according to steps 404 - 406 of the method 400 ), and, once the predicted viewport is determined, the XR device may determine the set of XR anchors that is present in the predicted viewport.
  • the second device may both determine the predicted viewport and determine the set of XR anchors that is present in the predicted viewport (e.g., according to steps 404 - 408 of the method 400 ).
  • the XR device may determine its own predicted viewport, but may rely on the second device to identify the XR anchors that are present in the predicted viewport (e.g., according to step 408 of the method 400 ).
  • the XR device may determine the predicted viewport and the set of XR anchors that is present in the predicted viewport, and may simply download selected digital objects associated with the XR anchors from the second device. In this case, the second device may only transfer the selected digital objects to the XR device (e.g., according to step 410 of the method 400 ).
  • the processing system may repeat one or more steps of the method 400 , such as steps 404 - 406 , step 410 , etc.
  • the method 400 may include storing one or more digital objects, e.g., at the edge server, the application server, and/or the database.
  • the XR media or at least a portion thereof, may be stored for other users who may be interested in experiencing the XR media via the respective XR devices that may be served by the processing system.
  • one or more steps of the methods 300 and 400 may include a storing, displaying and/or outputting step as required for a particular application.
  • any data, records, fields, and/or intermediate results discussed in the method can be stored, displayed and/or outputted to another device as required for a particular application.
  • operations, steps, or blocks in FIGS. 3 and 4 that recite a determining operation or involve a decision do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.
  • operations, steps or blocks of the above described method(s) can be combined, separated, and/or performed in a different order from that described above, without departing from the example embodiments of the present disclosure.
  • FIG. 5 depicts a high-level block diagram of a computing device or processing system specifically programmed to perform the functions described herein.
  • any one or more components or devices illustrated in FIG. 1 or described in connection with the methods 300 and 400 of FIGS. 3 and 4 may be implemented as the processing system 500 .
  • FIG. 5 depicts a high-level block diagram of a computing device or processing system specifically programmed to perform the functions described herein.
  • any one or more components or devices illustrated in FIG. 1 or described in connection with the methods 300 and 400 of FIGS. 3 and 4 may be implemented as the processing system 500 .
  • FIG. 5 depicts a high-level block diagram of a computing device or processing system specifically programmed to perform the functions described herein.
  • any one or more components or devices illustrated in FIG. 1 or described in connection with the methods 300 and 400 of FIGS. 3 and 4 may be implemented as the processing system 500 .
  • FIG. 5 depicts a high-level block diagram of a computing device or processing system specifically programmed to perform the functions described herein.
  • the processing system 500 comprises one or more hardware processor elements 502 (e.g., a microprocessor, a central processing unit (CPU) and the like), a memory 504 , (e.g., random access memory (RAM), read only memory (ROM), a disk drive, an optical drive, a magnetic drive, and/or a Universal Serial Bus (USB) drive), a module 505 for XR anchor caching based on viewport prediction, and various input/output devices 506 , e.g., a camera, a video camera, storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, and a user input device (such as a keyboard, a keypad, a mouse, and the like).
  • hardware processor elements 502 e.g., a microprocessor, a central processing unit (CPU) and the like
  • the computing device may employ a plurality of processor elements.
  • the method(s) as discussed above is implemented in a distributed or parallel manner for a particular illustrative example, i.e., the steps of the above method(s) or the entire method(s) are implemented across multiple or parallel computing devices, e.g., a processing system, then the computing device of this Figure is intended to represent each of those multiple general-purpose computers.
  • one or more hardware processors can be utilized in supporting a virtualized or shared computing environment.
  • the virtualized computing environment may support one or more virtual machines representing computers, servers, or other computing devices.
  • hardware components such as hardware processors and computer-readable storage devices may be virtualized or logically represented.
  • the hardware processor 502 can also be configured or programmed to cause other devices to perform one or more operations as discussed above. In other words, the hardware processor 502 may serve the function of a central controller directing other devices to perform the one or more operations as discussed above.
  • the present disclosure can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a programmable logic array (PLA), including a field-programmable gate array (FPGA), or a state machine deployed on a hardware device, a computing device, or any other hardware equivalents, e.g., computer readable instructions pertaining to the method(s) discussed above can be used to configure a hardware processor to perform the steps, functions and/or operations of the above disclosed method(s).
  • ASIC application specific integrated circuits
  • PDA programmable logic array
  • FPGA field-programmable gate array
  • instructions and data for the present module or process 505 for XR anchor caching based on viewport prediction can be loaded into memory 504 and executed by hardware processor element 502 to implement the steps, functions or operations as discussed above in connection with the example method(s).
  • a hardware processor executes instructions to perform “operations,” this could include the hardware processor performing the operations directly and/or facilitating, directing, or cooperating with another hardware device or component (e.g., a co-processor and the like) to perform the operations.
  • the processor executing the computer readable or software instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor.
  • the present module 505 for XR anchor caching based on viewport prediction (including associated data structures) of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like.
  • a “tangible” computer-readable storage device or medium comprises a physical device, a hardware device, or a device that is discernible by the touch. More specifically, the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A processing system of a mobile device may determine the device's predicted viewport, which defines a portion of a real world environment that is expected to be visible to the device's user at a future time. The processing system may determine a set of extended reality anchors that are present in the real world environment, where each anchor stores a digital object that, when rendered by the device and presented to the user simultaneously with the real world environment, creates extended reality media. The processing system may remove a first subset anchors from the set, where locations of anchors in the first subset fall outside a threshold distance from the predicted viewport. The removing results in a second subset of anchors remaining in the set. The processing system may download a digital object from a second device, where the digital object is stored by an anchor of the second subset.

Description

  • This application is a continuation of U.S. patent application Ser. No. 16/653,351, filed on Oct. 15, 2019, now U.S. Pat. No. 11,315,326, which is herein incorporated by reference in its entirety.
  • The present disclosure relates generally to immersive visual streaming, and more particularly to devices, non-transitory computer-readable media, and methods for caching anchors in extended reality environments based on viewport prediction.
  • BACKGROUND
  • Extended reality (XR) is an umbrella term that has been used to refer to various different forms of immersive technologies, including virtual reality (VR), augmented reality (AR), mixed reality (MR), and cinematic reality (CR). Generally speaking, XR technologies allow virtual world (e.g., digital) objects to be brought into “real” (e.g., non-virtual) world environments and real world objects to be brought into virtual environments, e.g., via overlays or other mechanisms. XR technologies may have applications in fields including architecture, sports training, medicine, real estate, gaming, television and film, engineering, travel, and others. As such, immersive experiences that rely on XR technologies are growing in popularity.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The teachings of the present disclosure can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
  • FIG. 1 illustrates an example network related to the present disclosure;
  • FIG. 2 illustrates an example viewport for an extended reality device that is viewing the real world scene of FIG. 1;
  • FIG. 3 illustrates a flowchart of an example method for rendering an extended reality environment, in accordance with the present disclosure;
  • FIG. 4 illustrates a flowchart of another example method for rendering an extended reality environment, in accordance with the present disclosure; and
  • FIG. 5 illustrates a high level block diagram of a computing device specifically programmed to perform the steps, functions, blocks and/or operations described herein.
  • To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
  • DETAILED DESCRIPTION
  • In one example, the present disclosure describes a device, computer-readable medium, and method for caching anchors in extended reality environments based on viewport prediction. In one example, a processing system of a mobile device including at least one processor may perform operations including determining a predicted viewport of the mobile device, wherein the predicted viewport defines a portion of a real world environment that is expected to be visible to a user of the mobile device at a future time, determining a set of extended reality anchors that are present in the real world environment, wherein each anchor of the extended reality anchors stores a digital object that, when rendered by the mobile device and presented to the user simultaneously with the real world environment, creates extended reality media, removing a first subset of the extended reality anchors from the set, wherein locations of anchors in the first subset of extended reality anchors fall outside of a threshold distance from a boundary of the predicted viewport, and wherein the removing results in a second subset of extended reality anchors remaining in the set, and downloading, by the processor, a digital object from a second device, wherein the digital object is stored by an anchor of the second subset of the extended reality anchors.
  • In another example, a non-transitory computer-readable medium stores instructions which, when executed by a processing system of a mobile device including at least one processor, cause the processing system to perform operations. The operations may include including determining a predicted viewport of the mobile device, wherein the predicted viewport defines a portion of a real world environment that is expected to be visible to a user of the mobile device at a future time, determining a set of extended reality anchors that are present in the real world environment, wherein each anchor of the extended reality anchors stores a digital object that, when rendered by the mobile device and presented to the user simultaneously with the real world environment, creates extended reality media, removing a first subset of the extended reality anchors from the set, wherein locations of anchors in the first subset of extended reality anchors fall outside of a threshold distance from a boundary of the predicted viewport, and wherein the removing results in a second subset of extended reality anchors remaining in the set, and downloading, by the processor, a digital object from a second device, wherein the digital object is stored by an anchor of the second subset of the extended reality anchors.
  • In another example, a processing system of a server in a telecommunications network, wherein the processing system includes at least one processor may perform operations including determining a predicted viewport of a mobile device in the telecommunications network, wherein the predicted viewport defines a portion of a real world environment that is expected to be visible to a user of the mobile device at a future time, determining a set of extended reality anchors that are present in the real world environment, wherein each anchor of the extended reality anchors stores a digital object that, when rendered by the mobile device and presented to the user simultaneously with the real world environment, creates extended reality media, removing a first subset of the extended reality anchors from the set, wherein locations of anchors in the first subset of extended reality anchors fall outside of a threshold distance from a boundary of the predicted viewport, and wherein the removing results in a second subset of extended reality anchors remaining in the set; and providing, subsequent to the removing, the set to the mobile device.
  • As discussed above, extended reality (XR) technologies allow virtual world (e.g., digital) objects to be brought into “real” (e.g., non-virtual) world environments and real world objects to be brought into virtual environments, e.g., via overlays or other mechanisms. In some examples, the system rendering the XR content (e.g., a head mounted display, a mobile phone, a tablet computer, smart glasses, or the like, hereinafter referred to as an “XR device”) may rely on XR anchors to determine which digital objects should be rendered at which locations in the real world environment to produce the XR media. In some examples, the XR anchors may predefine precise locations in the real world environment at which certain types of digital objects may be introduced. The XR anchors may comprise beacons that are placed in the real world environment and that are detectable by the XR device. The XR anchors may also store the digital objects. When the XR device detects an XR anchor in a current image of a real world environment, the XR device may establish a connection (e.g., a communication channel) to the XR anchor and download the digital object from the XR anchor. Subsequently, the XR device may render the digital object so that the digital object appears in the XR environment, potentially in the same location as the XR anchor (or in another location that may be specified from metadata associated with the digital object).
  • XR anchors come in various types, including location-based anchors and marker-based anchors. In the case of location-based anchors, the location and orientation sensors of the XR device may detect, potentially in real time, the locations of the XR anchors. For instance, the XR anchors may be attached to or housed within objects that have known, fixed locations, such as buildings, statues, street signs, and the like.
  • Marker-based anchors may place unique markers (e.g., images, objects, or machine-readable codes, for example) on or near real world locations. A unique marker may indicate, when detected by an XR application, the presence of an XR anchor from which a digital object may be downloaded. For instance, specific locations may be defined in an outdoor space for virtual billboards, virtual traffic signs, or virtual street signs. These locations may be indicated by real billboards, traffic signs, or street signs. Similarly, an indoor space such as a museum may include specifically defined locations at which virtual information (e.g., descriptions, interactive content, or the like) relating to artifacts on display may be inserted. These locations may be indicated by unique images printed on a wall, a placard, or the like. As another example, a real world object such as a book may include pages or portions of pages at which educational animations or other content may be displayed. A machine-readable code may be printed on these pages to indicate that the digital objects can be superimposed over the pages.
  • Neither location-based nor marker-based anchors function perfectly, however. Location-based anchors rely on the precision of the XR device's location and orientation sensors, which may be insufficient to allow for rendering of digital objects in a manner that preserves the realism or accuracy of the XR media. For instance, if a user's mobile phone does not detect the user's location with sufficient precision, an XR application executing on the mobile phone may superimpose the name of the wrong street over an image of the user's current location. Both location-based and marker-based anchors can, when present in large numbers in a real world environment, lead to clutter in the XR environment. For instance, an XR application executing on a head mounted display may superimpose so many digital items over locations in the real world environment that the user has difficulty distinguishing between digital items or identifying the digital items in which he is actually interested. Moreover, the presence of a large number of marker-based anchors in a real world environment may slow the ability of the XR device to render the XR environment, as the XR device must detect and recognize each of the markers and download all of the corresponding digital objects before the digital objects can be rendered in the marked locations.
  • Examples of the present disclosure provide a viewport-guided scheme to caching XR anchors in visual streams, and, in particular, in XR visual streams (where the XR visual streams, in one example, comprise XR media that includes “real-world” elements, such as augmented reality, mixed reality, or cinematic reality). In many XR systems, a user can freely change his viewing direction with respect to the XR media being rendered, e.g., by changing the user's position and/or the XR device's position. For instance, where the XR device is a head mounted display, the user may change the viewing direction by turning his head. Where the XR device is a mobile phone or a tablet computer, the user may change the viewing direction by manually moving the mobile phone or tablet computer. The user's viewport (visible area) is determined by the viewing direction (in latitude/longitude) and the field-of-view (FoV) of the XR device, e.g., in real time or near-real time. The FoV defines the extent of the observable area, which may be a fixed parameter of the XR device.
  • The viewport-guided XR anchor caching of the present disclosure predicts a user's viewport, e.g., what portion of the real world environment will be visible on the display of the XR device, at a given point in the future (e.g., a few seconds from the current time). In one example, there are six degrees of freedom in defining the viewport: three axes of position (e.g., x, y, and z coordinates of the XR device in the real world) and three dimensions of viewing direction (e.g., yaw, pitch, and roll of the XR device). Once the viewport is predicted, the XR anchors that are present in the viewport (or within some configurable distance from the viewport's boundary) can be identified, as well as the digital objects that are associated with the XR anchors. This allows XR anchors that may be nearby, but are not actually present in the predicted viewport (or within the configurable distance from the viewport's boundary) to be filtered out, or removed from consideration, when determining which digital objects to download and cache. Optionally, the digital objects can be further filtered according to user preferences, e.g., so that digital objects in which the user is not expected to be interested can be filtered out. Then, digital objects which are not filtered out may be downloaded and cached by the XR device for display when the associated XR anchors appear in the viewport. Thus, device and network resources can be conserved by not downloading digital content that is not expected to be visible to or of interest to the user. The user experience may also be improved by reducing clutter (e.g., reducing the number of digital objects presented to the user) and providing a more personalized experience.
  • In one example, the viewport-guided XR anchor caching may be performed entirely by the XR device, if the XR device has sufficient processing power and memory space to perform the operations. In another example, e.g., where the processing power and/or memory space of the XR device may be more limited, one or more of the operations may be performed by other devices in cooperation with the XR device.
  • For instance, in one example, one or more operations for viewport-guided XR anchor caching is applied at the network-edge, e.g., in an edge server. To illustrate, in one example, the edge server may collect the viewport movement traces from an XR device periodically, or according to another schedule. At the XR device-side, the video player may collect actual viewport data, e.g., via motion sensors for 360-degree video streaming or volumetric video streaming, or using gaze tracking for regular video streaming or non-360-degree panoramic video streaming. Upon obtaining the viewport traces, the edge server may use one or more pre-trained machine learning models (MLMs) to predict the future viewports and trajectory (e.g., which direction the viewport is moving toward).
  • In another example, one or more operations for viewport-guided XR anchor caching may be performed by an application server in a telecommunications network (e.g., in the cloud). For instance, the operations discussed above in connection with the edge server may be performed by the application server. These and other aspects of the present disclosure are described in greater detail below in connection with the examples of FIGS. 1-5.
  • To further aid in understanding the present disclosure, FIG. 1 illustrates an example system 100 in which examples of the present disclosure may operate. The system 100 may include any one or more types of communication networks, such as a traditional circuit switched network (e.g., a public switched telephone network (PSTN)) or a packet network such as an Internet Protocol (IP) network (e.g., an IP Multimedia Subsystem (IMS) network), an asynchronous transfer mode (ATM) network, a wireless network, a cellular network (e.g., 2G, 3G, and the like), a long term evolution (LTE) network, 5G and the like related to the current disclosure. It should be noted that an IP network is broadly defined as a network that uses Internet Protocol to exchange data packets. Additional example IP networks include Voice over IP (VoIP) networks, Service over IP (SoIP) networks, and the like.
  • In one example, the system 100 may comprise a network 102, e.g., a telecommunication service provider network, a core network, or an enterprise network comprising infrastructure for computing and communications services of a business, an educational institution, a governmental service, or other enterprises. The network 102 may be in communication with one or more access networks 120 and 122, and the Internet (not shown). In one example, network 102 may combine core network components of a cellular network with components of a triple play service network; where triple-play services include telephone services, Internet or data services and television services to subscribers. For example, network 102 may functionally comprise a fixed mobile convergence (FMC) network, e.g., an IP Multimedia Subsystem (IMS) network. In addition, network 102 may functionally comprise a telephony network, e.g., an Internet Protocol/Multi-Protocol Label Switching (IP/MPLS) backbone network utilizing Session Initiation Protocol (SIP) for circuit-switched and Voice over internet Protocol (VoIP) telephony services. Network 102 may further comprise a broadcast television network, e.g., a traditional cable provider network or an internet Protocol Television (IPTV) network, as well as an Internet Service Provider (ISP) network. In one example, network 102 may include a plurality of television (TV) servers (e.g., a broadcast server, a cable head-end), a plurality of content servers, an advertising server (AS), an interactive TV/video on demand (VoD) server, and so forth.
  • In one example, the access networks 120 and 122 may comprise broadband optical and/or cable access networks, Local Area Networks (LANs), wireless access networks (e.g., an IEEE 802.11/Wi-Fi network and the like), cellular access networks, Digital Subscriber Line (DSL) networks, public switched telephone network (PSTN) access networks, 3rd party networks, and the like. For example, the operator of network 102 may provide a cable television service, an IPTV service, or any other types of telecommunication service to subscribers via access networks 120 and 122. In one example, the access networks 120 and 122 may comprise different types of access networks, may comprise the same type of access network, or some access networks may be the same type of access network and other may be different types of access networks. In one example, the network 102 may be operated by a telecommunication network service provider. The network 102 and the access networks 120 and 122 may be operated by different service providers, the same service provider or a combination thereof, or may be operated by entities having core businesses that are not related to telecommunications services, e.g., corporate, governmental or educational institution LANs, and the like.
  • In accordance with the present disclosure, network 102 may include an application server (AS) 104, which may comprise a computing system or server, such as computing system 500 depicted in FIG. 5, and may be configured to provide one or more operations or functions in connection with examples of the present disclosure for anchor caching for extended reality applications. The network 102 may also include a database (DB) 106 that is communicatively coupled to the AS 104.
  • It should be noted that as used herein, the terms “configure,” and “reconfigure” may refer to programming or loading a processing system with computer-readable/computer-executable instructions, code, and/or programs, e.g., in a distributed or non-distributed memory, which when executed by a processor, or processors, of the processing system within a same device or within distributed devices, may cause the processing system to perform various functions. Such terms may also encompass providing variables, data values, tables, objects, or other data structures or the like which may cause a processing system executing computer-readable instructions, code, and/or programs to function differently depending upon the values of the variables or other data structures that are provided. As referred to herein a “processing system” may comprise a computing device including one or more processors, or cores (e.g., as illustrated in FIG. 5 and discussed below) or multiple computing devices collectively configured to perform various steps, functions, and/or operations in accordance with the present disclosure. Thus, although only a single application server (AS) 104 and single database (DB) are illustrated, it should be noted that any number of servers may be deployed, and which may operate in a distributed and/or coordinated manner as a processing system to perform operations in connection with the present disclosure.
  • In one example, AS 104 may comprise a centralized network-based server for generating extended reality media. For instance, the AS 104 may host an application that predicts a future viewport of an XR device, identifies a set of XR anchors that are present within the future viewport and digital objects associated with the XR anchors, filters the set of XR anchors based on user preferences, and/or transmits digital objects associated with at least some of the XR anchors to the XR device in accordance with the present disclosure. In one example, AS 104 may comprise a physical storage device (e.g., a database server), to store copies of digital objects that may also be stored at XR anchors, as discussed in greater detail below. Additionally, the AS 104 may store an index, where the index maps each XR anchor of a plurality of anchors to a respective digital object that is stored at the XR anchor. In one example, the index may further map each XR anchor to a respective location in the real world environment (e.g., latitude and longitude, global positioning system coordinates, etc.). In one example, more than one digital object may be stored at the same XR anchor, and the AS 104 may select from among the more than one digital object based on user preferences. For instance, the XR anchor may comprise a marker on a billboard in the real world environment, and the digital objects stored at the XR anchor may include a plurality of different advertisements that can be rendered in the place of the billboard. In this case, a specific advertisement that is best targeted to the user's preferences may be selected for rendering.
  • In a further example, the AS 104 may also store user profiles which may specify user preferences that can be used to filter a set of XR anchors. For instance, in one example, a user profile may specify, for each user: demographic information (e.g., age, gender, marital status, education, etc.), device information (e.g., whether the user uses a head mounted display, a mobile phone, a tablet computer, or the like to render and display XR media, the types of connections used by the device to access XR media such as cellular or WiFi, etc.), interests (e.g., favorite hobbies, sports teams, music, movies, etc.), and/or usage history with respect to XR media (e.g., types of digital objects the user has interacted with and/or ignored in the past).
  • A user profile may also indicate the user's current use context with respect to an XR device (e.g., how quickly the user is moving, how frequently the user's gaze or viewport appears to change, whether the user in indoors or outdoors, or the like). The current use context may be inferred from data collected by sensors of the XR device. For instance, an accelerometer, a thermometer,
  • A user profile may also specify restrictions on the types of digital objects that may be rendered for the user. For instance, a parent may configure a child's profile so that digital objects which may be considered too violent or too scary are prohibited from being rendered. In one example, profiles may be stored on an opt-in basis, i.e., a user may elect to not have a profile. In a further example, the user profiles may be stored in encrypted form to protect any user information that may be deemed private.
  • In one example, the DB 106 may store the digital objects, the index, and/or the user profiles, and the AS 104 may retrieve the digital objects, the index, and/or user profiles from the DB 106 when needed. For ease of illustration, various additional elements of network 102 are omitted from FIG. 1.
  • In one example, access network 122 may include an edge server 108, which may comprise a computing system or server, such as computing system 500 depicted in FIG. 5, and may be configured to provide one or more operations or functions for anchor caching for extended reality applications, as described herein. For instance, an example method 300 for viewport-based anchor caching for extended reality applications is illustrated in FIG. 3 and described in greater detail below.
  • In one example, application server 104 may comprise a network function virtualization infrastructure (NFVI), e.g., one or more devices or servers that are available as host devices to host virtual machines (VMs), containers, or the like comprising virtual network functions (VNFs). In other words, at least a portion of the network 102 may incorporate software-defined network (SDN) components. Similarly, in one example, access networks 120 and 122 may comprise “edge clouds,” which may include a plurality of nodes/host devices, e.g., computing resources comprising processors, e.g., central processing units (CPUs), graphics processing units (GPUs), programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), or the like, memory, storage, and so forth. In an example where the access network 122 comprises radio access networks, the nodes and other components of the access network 122 may be referred to as a mobile edge infrastructure. As just one example, edge server 108 may be instantiated on one or more servers hosting virtualization platforms for managing one or more virtual machines (VMs), containers, microservices, or the like. In other words, in one example, edge server 108 may comprise a VM, a container, or the like.
  • In one example, the access network 120 may be in communication with a server 110. Similarly, access network 122 may be in communication with one or more devices, e.g., device 112. Access networks 120 and 122 may transmit and receive communications between server 110, device 112, application server (AS) 104, other components of network 102, devices reachable via the Internet in general, and so forth. In one example, device 112 may comprise a mobile device, a cellular smart phone, a wearable computing device (e.g., smart glasses, a virtual reality (VR) headset or other type of head mounted display, or the like), a laptop computer, a tablet computer, or the like (broadly an “XR device”). In one example, device 112 may comprise a computing system or device, such as computing system 500 depicted in FIG. 5, and may be configured to provide one or more operations or functions in connection with examples of the present disclosure for anchor caching for extended reality applications.
  • In one example, server 110 may comprise a network-based server for generating XR media. In this regard, server 110 may comprise the same or similar components as those of AS 104 and may provide the same or similar functions. Thus, any examples described herein with respect to AS 104 may similarly apply to server 110, and vice versa. In particular, server 110 may be a component of an XR system operated by an entity that is not a telecommunications network operator. For instance, a provider of an XR system may operate server 110 and may also operate edge sever 108 in accordance with an arrangement with a telecommunication service provider offering edge computing resources to third-parties. However, in another example, a telecommunication network service provider may operate network 102 and access network 122, and may also provide an XR system via AS 104 and edge server 108. For instance, in such an example, the XR system may comprise an additional service that may be offered to subscribers, e.g., in addition to network access services, telephony services, traditional television services, and so forth.
  • In an illustrative example, an XR system may be provided via AS 104 and edge server 108. In one example, a user may engage an application on device 112 (e.g., an “XR device”) to establish one or more sessions with the XR system, e.g., a connection to edge server 108 (or a connection to edge server 108 and a connection to AS 104). In one example, the access network 122 may comprise a cellular network (e.g., a 4G network and/or an LTE network, or a portion thereof, such as an evolved Uniform Terrestrial Radio Access Network (eUTRAN), an evolved packet core (EPC) network, etc., a 5G network, etc.). Thus, the communications between device 112 and edge server 108 may involve cellular communication via one or more base stations (e.g., eNodeBs, gNBs, or the like). However, in another example, the communications may alternatively or additional be via a non-cellular wireless communication modality, such as IEEE 802.11/Wi-Fi, or the like. For instance, access network 122 may comprise a wireless local area network (WLAN) containing at least one wireless access point (AP), e.g., a wireless router. Alternatively, or in addition, device 112 may communicate with access network 122, network 102, the Internet in general, etc., via a WLAN that interfaces with access network 122.
  • In the example of FIG. 1, device 112 may establish a session with edge server 108 for obtaining an XR media. For illustrative purposes, the XR media may insert one or more digital objects into a real-time image stream of a real world scene. In this regard, an example real world scene 114 is illustrated in FIG. 1.
  • In one example, the real world scene 114 may be viewed by a user through the device 112, e.g., on a display of a head mounted display or mobile phone, or through a set of smart glasses. As discussed above, the field of view of the device 112 and the viewing direction together define a viewport of the user. As the viewport changes, the device 112 (or alternatively the AS 104, edge server 108, or server 110) may detect one or more XR anchors 116 1-116 n (hereinafter individually referred to as an “XR anchor 116” or collectively referred to as “XR anchors 116”) within the viewport. In one example, some of the XR anchors 116 may be placed in known, fixed locations (such as buildings, statues, street signs, or the like). In other examples, some of the XR anchors 116 may emit signals (e.g., Bluetooth, infrared, or electromagnetic signals) that are detectable by the device 112, where the signals indicate the presence of the XR anchors 116. In one example, the XR anchors 116 may comprise a combination of XR anchors that are placed in known, fixed locations and XR anchors that emit signals to facilitate their detection.
  • For instance, the example real world scene 114 of FIG. 1 depicts a city street in which the XR anchors 116 may include or be co-located with a street sign (116 1), a mailbox (116 2), a tree (116 3), and a billboard (116 n). The locations of the street sign and the billboard may be fixed, and, therefore known to the device 112, AS 104, and/or edge server 108 as anchor locations. On the other hand, the locations of the mailbox and the tree may be considered less permanent, and, therefore, the XR anchors 116 2 and 116 3 associated with the mailbox and the tree may emit signals to alert other devices to their presence.
  • As discussed above, each of the XR anchors 116 may store at least one digital object, where the digital object may be downloaded and subsequently inserted, by the device 112, into the real world scene 114. For instance, if the XR anchor 116 n on the billboard is detected by the device 112, the device 112 may download an image from the XR anchor 116 1 that may be displayed on the billboard. Alternatively, if the XR anchor 116 3 on the tree is detected, the device 112 may download a digital animation of a bird from the XR anchor 116 3, where the animation may be inserted in the branches of the tree in the XR environment.
  • In one example, the digital objects stored at the XR anchors 116 may include video files, advertisements, animation files, image files, or the like. In further examples, the digital objects may include computing resources (e.g., processing, memory, or the like). In a further example, each digital object may include descriptive metadata which may help a device to determine whether or not to download the digital object. For instance, the descriptive metadata may specify a type of the content (e.g., file type), a language of the content, a genre of the content (e.g., advertisement, information, entertainment, etc.), or the like. Additionally, each digital object may include metadata which may indicate rules associated with the use of the digital object. For instance, the metadata may specify for how long a device that downloads the digital object is permitted to store the digital object, a maximum number of times that the same device is permitted to download the digital object, specific locations at which the digital object is permitted to be rendered or not rendered, or the like.
  • According to examples of the present disclosure, the viewport of the user may be predicted in advance (e.g., x seconds before the user actually views the viewport). The XR device (e.g., device 112, or a server connected to the XR device) may have prior knowledge of the locations of at least some of the XR anchors 116 in the real world environment and may be able to detect the presence of other XR anchors 116. Thus, the XR device (or the server) may be able to determine, based on the predicted viewport, which of the XR anchors 116 (or which objects associated with the XR anchors 116) are likely to be visible by the user.
  • For instance, FIG. 2 illustrates an example viewport 200 for an XR device that is viewing the real world scene 114 of FIG. 1. As illustrated, based on the viewing direction and on the FoV of the XR device, the viewport 200 may comprise less than the entirety of the real world scene 114. As such, only some of the XR anchors 116 (or their associated objects or markers) may be visible within the viewport 200. For instance, in the example illustrated in FIG. 2, the XR anchors 116 2 and 116 3 are visible within the viewport 200, while the XR anchors 116 1 and 116 n fall outside of the viewport. As such, if the XR device predicts that the viewport 200 will be visible to the user in x seconds, and if the XR device knows or can detect the locations of the XR anchors 116, then the XR device can determine that the XR anchors 116 2 and 116 3 are likely to be visible to the user in x seconds.
  • Referring back to FIG. 1, the device 112 may comprise a wearable device or a non-wearable device which may include sensors for determining yaw, pitch, and roll parameters of the device 112. In one example, the device 112 may translate the yaw, pitch, and roll parameters into a viewport such as the viewport 200.
  • In another example, the predicted viewport is calculated by the edge server 108. To illustrate, the edge server 108 may obtain viewport traces from device 112. For instance, device 112 may periodically send actual measured viewport information (e.g., recent viewport information) to edge server 108, such as yaw, pitch, and roll measurements, and in some cases device location and/or camera position information, FoV information, and so forth. Edge server 108 may then use the recent viewport information to calculate the predicted viewport at some time in the near future (e.g., x seconds into the future). In one example, the recent viewport information (which may be referred to as a “viewport trace”), may be processed via a trained machine learning algorithm (MLA), e.g., a MLM, to output a predicted viewport. For instance, the recent viewport information may indicate a trajectory of the viewport in a general direction. It may be expected that the viewport movement is likely to continue in the same general direction as indicated by the trajectory, which may be quantified by the output of the MLM, i.e., the predicted viewport.
  • In another example, the predicted viewport may be further based upon analysis of a heatmap and/or saliency map. For instance, AS 104 may provide heatmap information, e.g., an identification of a region or regions of the real world scene 114 that are most popular among prior users. For instance, the real world scene may include a famous landmark or a famous work of art. Similarly, AS 104 may provide saliency map information, e.g., identification of a region or regions of the real world scene 114 that are determined to be the most “salient” according to an image saliency detection algorithm (e.g., as applied to individual frames or a plurality of frames of streaming images of the real world location 114). In one example, edge server 108 (and other edge servers, if present, in the immersive visual streaming system) may utilize viewport traces to perform viewport prediction, and may also provide the viewport traces to AS 104 for aggregation and developing heatmaps for images of the real world scene 114. The saliency map information and heatmap information may be stored along with images of the real world environment 114. The saliency map and/or heatmap-identified region or regions can then be used in conjunction with a user's viewport trajectory to further increase the accuracy of future viewport prediction. In one example, the saliency map and/or heatmap information may comprise additional inputs into a MLM for viewport prediction. In another example, a predicted viewport may be generated via the MLM and combined with the saliency map and/or heatmap information to modify the predicted viewport, e.g., to move a center of the predicted viewport toward a region or regions of the frame that are identified in the saliency map and/or heatmap information.
  • It should also be noted that the system 100 has been simplified. Thus, it should be noted that the system 100 may be implemented in a different form than that which is illustrated in FIG. 1, or may be expanded by including additional endpoint devices, access networks, network elements, application servers, etc. without altering the scope of the present disclosure. In addition, system 100 may be altered to omit various elements, substitute elements for devices that perform the same or similar functions, combine elements that are illustrated as separate devices, and/or implement network elements as functions that are spread across several devices that operate collectively as the respective network elements. For example, the system 100 may include other network elements (not shown) such as border elements, routers, switches, policy servers, security devices, gateways, a content distribution network (CDN) and the like. For example, portions of network 102, access networks 120 and 122, and/or Internet may comprise a content distribution network (CDN) having ingest servers, edge servers, and the like for packet-based streaming of video, audio, or other content. Similarly, although only two access networks, 120 and 122 are shown, in other examples, access networks 120 and/or 122 may each comprise a plurality of different access networks that may interface with network 102 independently or in a chained manner. In addition, as described above, the functions of AS 104 may be similarly provided by server 110, or may be provided by AS 104 in conjunction with server 110. For instance, AS 104 and server 110 may be configured in a load balancing arrangement, or may be configured to provide for backups or redundancies with respect to each other, and so forth. Thus, these and other modifications are all contemplated within the scope of the present disclosure.
  • FIG. 3 illustrates a flowchart of an example method 300 for rendering an extended reality environment, in accordance with the present disclosure. In one example, the method 300 is performed by a component of the system 100 of FIG. 1, such as by the device 112, and/or any one or more components thereof (e.g., a processor, or processors, performing operations stored in and loaded from a memory), or by the device 112 in conjunction with one or more other devices, such AS 104, server 106, edge server 108, and so on. In one example, the steps, functions, or operations of method 300 may be performed by a computing device or system 500, and/or processor 502 as described in connection with FIG. 5 below. For instance, the computing device or system 500 may represent any one or more components of the system 100 of FIG. 1 that is/are configured to perform the steps, functions and/or operations of the method 300. Similarly, in one example, the steps, functions, or operations of method 300 may be performed by a processing system comprising one or more computing devices collectively configured to perform various steps, functions, and/or operations of the method 300. For instance, multiple instances of the computing device or processing system 500 may collectively function as a processing system. For illustrative purposes, the method 300 is described in greater detail below in connection with an example performed by a processing system.
  • The method 300 begins in step 302 and may proceed to step 304. In step 304, the processing system may determine a predicted viewport of an XR device that is currently rendering an XR media for a user. As discussed above, the predicted viewport may comprise a viewport that is expected to be visible to the user of the XR device at some time in the near future (e.g., in x seconds). The predicted viewport may be determined by the FoV of the XR device and the expected viewing direction of the XR device at the time in the near future. As discussed above, the FoV remains fixed (e.g., the width and height of the FoV do not change), but the expected viewing direction may be determined with six degrees of freedom. In one example, these six degrees of freedom include three axes of position (e.g., x, y, and z coordinates of the XR device in the real world) and three dimensions of viewing direction (e.g., yaw, pitch, and roll of the XR device). The axes of position and/or dimensions of viewing direction may be determined from GPS or similar sensors of the XR device, from an inertial measurement unit or similar sensor of the XR device, and/or from a compass or similar sensor of the XR device.
  • In one example, the predicted viewport may be predicted based on viewport traces of the XR device. For instance, the predicted viewport may be predicted using an MLM that analyzes the parameters of recent viewports of the XR device in order to determine where the predicted viewport is likely to be. The parameters of the recent viewports may include yaw, pitch, and roll measurements, and in some cases device location and/or camera position information, FoV information, and so forth. For instance, the recent viewport information may indicate a trajectory of the viewport in a general direction. It may be expected that the viewport movement is likely to continue in the same general direction as indicated by the trajectory, which may be quantified by the output of the MLM, i.e., the predicted viewport. In one example, the MLM may comprise a multi-scale time prediction model. The multi-scale time prediction model may use short-term predictions (e.g., regression) to predict the predicted viewport based on the orientation of the XR device, as well as long term predictions to predict the predicted viewport based on historical behavior of the user while using the XR device. In a further example, the multi-scale time prediction model may derive a long-term user behavior model from a user profile that describes the user's interests, cached objects, and the like. In other words, the long-term user behavior model may identify the types of items or digital objects that the user tends to look at or interact with.
  • In one example, if the XR device has sufficient resources (e.g., processing and/or memory), the XR device may execute the MLM to determine the predicted viewport. In this case, step 304 may involve generating the predicted viewport. However, in another example, the XR device may periodically send the parameters of the recent viewports to a remote device, such as a server in a telecommunications network (e.g., an application server, an edge server, or the like), and the remote device may execute the MLM to determine the predicted viewport. In this case, step 304 may involve receiving the predicted viewport from the remote device.
  • In step 306, the processing system may determine a set of XR anchors that is present in the real world environment surrounding the XR device. As discussed above, the XR anchors may comprise beacons that are associated with locations or objects (e.g., IoT devices) in the real world environment. The XR anchors may store the digital objects, such as video files, advertisements, animation files, image files, or the like, which may be rendered by the XR device. When the digital objects are rendered by the XR device in a manner that allows the digital objects to be viewed simultaneously with the real world environment, an XR media is created.
  • In step 308, the processing system may remove, from the set of XR anchors, a first subset of anchors including any anchors that are not present in (or are not within some configurable distance from the boundary of) the predicted viewport. This step leaves a second subset of anchors remaining in the set, where the second subset of anchors includes anchors that are present in (or are within the configurable distance from the boundary of) the predicted viewport. In some examples, the real world environment may contain tens, hundreds, or even thousands of XR anchors, but only a small subset of these XR anchors may be present or near in the predicted viewport. Thus, by removing from the set of XR anchors those anchors that are not actually present in the predicted viewport (or are not within the configurable distance from the viewport's boundary), the number of digital objects that may potentially be downloaded by the XR device in later steps of the method 300 can be greatly reduced (e.g., digital objects which may be irrelevant due to their distance from the predicted viewport may not be considered for download). This will ultimately improve the computational efficiency and accuracy of the method 300.
  • In one example, the locations of at least some of the XR anchors are known in advance. For instance, an index may map XR anchors to specific locations (e.g., latitude and longitude) in the real world environment, where the XR anchors may be fixed at those locations. In another example, an XR anchor that comprises an IoT device may emit a signal (e.g., a Bluetooth, infrared, or electromagnetic signal) that can be detected by the processing system, where the signal either identifies the location of the XR anchor or allows the processing system to determine the location through further analysis of the signal.
  • In step 310, the processing system may establish a connection with a second device from which a digital object stored at at least one anchor of the set of XR anchors (determined in step 306) may be downloaded. In one example, the connection may be established using anonymous but trusted identifiers (e.g., hardware hashes, blockchain tokens, or the like) to indicate the physical position of the second device and/or the digital object. In one example, the second device is the XR anchor at which the digital object is stored. In another example, second device is another device in the vicinity of the processing system, which may have previously cached the digital object from the associated XR anchor (e.g., another XR device being operated by another user), or an edge server which may have previously cached the digital object. Where the second device is the XR anchor or another user endpoint device, the connection established by the processing system may be a direct (e.g., peer-to-peer or mesh) connection.
  • In step 312, the processing system may download the digital object from the second device. In one example, the processing system may store the digital object, in its entirety, in a memory (e.g., cache) of the XR device. In another example, the processing system may temporarily store portions or chunks of the digital object in the memory of the XR device, e.g., where the processing system may stream the digital object from the second device.
  • In step 314, the processing system may customize the digital object for the user. As discussed above, the user's profile may specify information about the user, including demographic information (e.g., age, gender, marital status, education, etc.), device information (e.g., whether the user uses a head mounted display, a mobile phone, a tablet computer, or the like to render and display XR media, the types of connections used by the device to access XR media such as cellular or WiFi, etc.), interests (e.g., favorite hobbies, sports teams, music, movies, etc.), and/or usage history with respect to XR media (e.g., types of digital objects the user has interacted with and/or ignored in the past). This information may be used to customize the XR environment, and more specifically individual digital objects which may be rendered in the XR environment, for the user. For instance, if a digital object includes a logo for a football team, then the logo included in the digital object may be customized as the logo of the user's favorite football team. As another example, if the digital object includes text, and the user's vision is known to be poor, then the size and/or font of the text could be increased to improve visibility. Similarly, the language of the text could be adapted to the user's preferred language. For digital objects that include sound, visual cues related to the sound (e.g., closed captioning) could be provided to a user who is hard of hearing.
  • In further examples, where the processing system is able to infer the user's current use context with respect to the XR device (e.g., based on data collected by sensors of the XR device), the processing system may further customize the digital object to the current use context. For instance, the processing system may be able to infer (e.g., based on sentiment analysis of statements made by the user, based on the user's current walking speed, based on knowledge of the user's schedule as obtained from a profile, or the like) that the user is currently in a hurry. In this case, the processing system may elect to render an abbreviated version of the digital content as opposed to a longer, more complete version. For example, if the digital content comprises a video, the processing system may render a shortened version of the video.
  • Additionally, digital objects that include advertising material may be customized for the user. For instance, a plurality of digital objects associated with an XR anchor may comprise different billboard-style images, and the billboard-style image that is best aligned with the user's interests or demographics may be chosen for rendering. For instance, if the billboard-style images include advertisements for different vacation destinations, and the user has children, then the processing system may determine that an advertisement for a family-friendly resort would be appropriate to display to the user (as opposed to, for example, an advertisement for Las Vegas). Alternatively, if the billboard-style images included advertisements for local restaurants, and the user is known to have a shellfish allergy, then the processing system may determine that an advertisement for a steakhouse would be more appropriate than an advertisement for a seafood restaurant. In yet another example, advertising material may be customized to the user based on the user's current usage context, which as discussed above may be inferred from sensors in the XR device. For instance, if the sensors indicate that the user is moving quickly, then the processing system may determine that an advertisement for running shoes would be appropriate to render.
  • In step 316, processing system may detect that the current viewport of the user matches the predicted viewport that was predicted in step 304. For instance, the processing system may determine (e.g., based on data collected by sensors of the XR device) that the position of the viewport has changed by an amount and a direction that would be sufficient to bring the predicted viewport into view. Alternatively, the processing system may use image processing and/or recognition techniques to determine that XR anchors that were expected to be present in the predicted viewport are currently visible in the current viewport.
  • In step 318, the processing system may render the digital object for presentation by the XR device. For instance, if the digital object includes a visual element (e.g., an image, a video, text, or the like), then the digital object may be displayed on a display of the XR device. In one example, the visual element of the digital object may be rendered as an overlay that can be superimposed over the images of the real world environment that are visible on the display of the XR device. If the digital object includes an audio component (e.g., a sound effect, an audio track of a video, or the like), then the digital object may be played over a speaker of the XR device. If the digital object includes a haptic element (e.g., a rumble, a vibration, or the like), then the digital object may be transmitted over a haptic feedback element of the XR device. When the digital object is experienced by the user simultaneously with the real world environment, this creates XR media. It will be appreciated that many digital objects may be rendered simultaneously by the processing system, and that the digital objects may include various different modal elements. For instance, the processing system may simultaneously render a plurality of different digital objects, where one digital object may include a visual element, another digital object may include an audio element, yet another digital object may include a visual element and a haptic element, and so on.
  • In step 320, the processing system may optionally receive user feedback regarding the XR media. In one example, the user feedback may be explicit. For instance, the user may indicate (e.g., verbally, through the press of a button, through a predefined gesture, of the like) that he does or does not like a particular digital object, or the user may similarly request a specific digital object other than a digital object being rendered. Alternatively, the user may “bookmark” a digital object, e.g., by indicating that the digital object should be saved in a persistent memory or by placing a virtual marker that indicates that the user wishes to revisit the digital object in the future. In another example, the user feedback may be implicit. For instance, the processor may monitor the user's engagement with a digital object that is rendered (e.g., whether and for how long the user's gaze lingered on the digital object, whether and for how long the user interacted with the digital object, if the digital object was interactive, or the like).
  • In step 322, the processing system may optionally update a profile associated with the user, based on the feedback received in step 320. This may help the processing system to better customize the XR environment for the user in the future.
  • The method 300 may return to step 304, and may repeat steps 304-322 continuously for as long as the user is utilizing the XR device (or until the processing system receives a signal from the user to stop presenting the XR media, until the XR device is powered down, etc.). Thus, the user's viewport may be continuously predicted, and the digital objects associated with the anchors in the predicted viewport may be continuously cached, so that the digital objects can be rendered with little or no delay when the actual or current viewport aligns with the predicted viewport. This stands in contrast to conventional techniques, which may wait to identify and to cache digital objects until the anchors associated with the digital objects are present in the current viewport. Depending on the network conditions, this conventional approach may lead to delays in rendering the digital objects and/or sudden spikes in resource usage, which may detract from the user experience.
  • In further examples (e.g., where the processing system may have bandwidth to spare), digital objects whose locations lie beyond the boundaries of the predicted viewport (e.g., within some threshold distance) may additionally be cached to provide a margin of error. For instance, if the actual viewport overlaps, but does not perfectly align, with the predicted viewport, rendering of the XR media may still be expedited by utilizing cached digital objects whose locations may lie outside of the predicted viewport, but potentially inside of the actual viewport. Moreover, the XR media, and more specifically the rendered digital objects, can be customized to the user's preferences, location, lifestyle, current use context, and the like, which may improve the XR experience by making the experience more personalized. In addition, by downloading the digital objects directly from the anchors rather than from a remote server, the XR experience can be localized to the specific location at which the user is present.
  • Further examples of the present disclosure may extend beyond the realm of entertainment or informational applications. For instance, in some examples, known XR anchors that are present in a real world environment may be utilized to facilitate a public safety network. As an example, if an emergency such as a construction accident, a natural disaster, or the like is occurring in a specific location, then XR anchors that are present in that location could be used to disseminate information and/or instructions to XR device users whose viewports include those anchors. The information and/or instructions might include, for example, directions to guide the users safely away from the site of the emergency.
  • It should be noted that the method 300 may be expanded to include additional steps, or may be modified to replace steps with different steps, to combine steps, to omit steps, to perform steps in a different order, and so forth. For instance, as discussed above, in one example the processing system may repeat one or more steps of the method 300, such as steps 304-322, steps 304-318, etc. In another example, the method 300 may include storing one or more digital objects, e.g., at the XR device or at the edge server. The storing may be after step 322. For instance, the XR media, or at least a portion thereof, may be stored for other users who may be interested in experiencing the XR media via the respective XR devices that may be served by the processing system. Thus, these and other modifications are all contemplated within the scope of the present disclosure.
  • FIG. 4 illustrates a flowchart of another example method 400 for rendering an extended reality environment, in accordance with the present disclosure. In one example, the method 400 is performed by a component of the system 100 of FIG. 1, such as by the AS 104, server 106, edge server 108, and so on, which may assist an XR device (e.g., device 112 of FIG. 1) in identifying digital objects to be downloaded and rendered for a user. In one example, the steps, functions, or operations of method 400 may be performed by a computing device or system 500, and/or processor 502 as described in connection with FIG. 5 below. For instance, the computing device or system 500 may represent any one or more components of the system 100 of FIG. 1 that is/are configured to perform the steps, functions and/or operations of the method 400. Similarly, in one example, the steps, functions, or operations of method 400 may be performed by a processing system comprising one or more computing devices collectively configured to perform various steps, functions, and/or operations of the method 400. For instance, multiple instances of the computing device or processing system 500 may collectively function as a processing system. For illustrative purposes, the method 400 is described in greater detail below in connection with an example performed by a processing system.
  • The method 400 begins in step 402 and may proceed to step 404. In step 404, the processing system may optionally collect a plurality of viewport movement traces from an XR device that is currently rendering XR media for a user. In one example, the viewport movement traces may be collected periodically, or according to another schedule.
  • In step 406, the processing system may optionally determine a predicted viewport of the XR device, based on the viewport movement traces. As discussed above, the predicted viewport may comprise a viewport that is expected to be visible to the user of the XR device at some time in the near future (e.g., in x seconds). The predicted viewport may be determined by the FoV of the XR device and the expected viewing direction of the XR device at the time in the near future. As discussed above, the FoV remains fixed (e.g., the width and height of the FoV do not change), but the expected viewing direction may be determined with six degrees of freedom.
  • In one example, the predicted viewport may be predicted using an MLM that analyzes the parameters of recent viewports of the XR device in order to determine where the predicted viewport is likely to be. The parameters of the recent viewports may include yaw, pitch, and roll measurements, and in some cases device location and/or camera position information, FoV information, and so forth. For instance, the recent viewport information may indicate a trajectory of the viewport in a general direction. It may be expected that the viewport movement is likely to continue in the same general direction as indicated by the trajectory, which may be quantified by the output of the MLM, i.e., the predicted viewport. In one example, the MLM may comprise a multi-scale time prediction model, as discussed above.
  • In step 408, the processing system may optionally send the predicted viewport to the XR device, e.g., so that the XR device may determine which XR anchors may be present in the predicted viewport as discussed above.
  • In step 410, the processing system may optionally determine a set of XR anchors that is present in the real world environment surrounding the XR device. As discussed above, the XR anchors may comprise beacons that are associated with locations or objects (e.g., IoT devices) in the real world environment. The XR anchors may store the digital objects, such as video files, advertisements, animation files, image files, or the like, which may be rendered by the XR device. When the digital objects are rendered by the XR device in a manner that allows the digital objects to be viewed simultaneously with the real world environment, an XR media is created.
  • In step 412, the processing system may optionally remove, from the set of XR anchors, a first subset of anchors. The first subset of anchors may include anchors that are not present in the predicted viewport (or within a configurable distance from the boundary of the predicted viewport). This step leaves a second subset of anchors remaining in the set, where the second subset of anchors includes anchors that are present in (or are within the configurable distance from the boundary of) the predicted viewport. As discussed above, the real world environment may contain tens, hundreds, or even thousands of XR anchors, but only a small subset of these XR anchors may be present in the predicted viewport. Thus, by removing from the set of XR anchors any anchors that are not present in the predicted viewport (or not within the configurable distance from the predicted viewport's boundary), the number of digital objects that may potentially be downloaded by the XR device may be greatly reduced. This will ultimately improve the computational efficiency and accuracy of the XR device.
  • In one example, the locations of at least some of the XR anchors are known in advance. For instance, an index may map XR anchors to specific locations (e.g., latitude and longitude) in the real world environment, where the XR anchors may be fixed at those locations. In another example, an XR anchor that comprises an IoT device may emit a signal (e.g., a Bluetooth, infrared, or electromagnetic signal) that can be detected by the XR device, where the signal either identifies the location of the XR anchor or allows the processing system to determine the location through further analysis of the signal. The XR device in this case may provide the locations of the XR anchors to the processing system.
  • In step 414, the processing system may receive, from the extended reality device, a request for a digital object that is stored at one of the anchors that still remains in the set of XR anchors (e.g., an anchor of the second subset).
  • In step 416, the processing system may optionally transfer a digital object to the XR device. As discussed above, the digital object may be associated with an XR anchor that is present in the predicted viewport of the XR device, and the XR device may wish to cache the digital object for use when the XR device's current viewport matches the predicted viewport. In one example, where the processing system is part of an edge server, the edge server may cache at least some of the digital objects that may be associated with the XR anchors in the set of XR anchors. Similarly, where the processing system is part of an application server, the application server may store or have access to a database that stores at least some of the digital objects that may be associated with the XR anchors in the set of XR anchors. For instance, the edge server, the application server, and or the database may store a number of the most frequently downloaded digital objects (e.g., most frequently downloaded over the last day, over the last week, or for as long as records have been kept), or a number of the most recently downloaded digital objects. Thus, the XR device may download a digital object from the edge server, the application server, and/or the database in some examples.
  • The method 400 may return to step 404, and may repeat any combination of steps 404-416 continuously for as long as the user is utilizing the XR device (or until the processing system receives a signal from the user to stop presenting the XR media, until the XR device is powered down, etc.).
  • It should be noted that the method 400 may be expanded to include additional steps, or may be modified to replace steps with different steps, to combine steps, to omit steps, to perform steps in a different order, and so forth, depending on the role of the edge server, the application server, and/or the database in the rendering of the XR media. As discussed above, all of the steps of the method 300 may be performed by a processing system of the XR device, without assistance from an intermediary, if the XR device has access to sufficient processing and/or memory resources. However the XR device may also offload some of the steps to a second device such as an edge server, an application server, or the like.
  • For instance, in one example, the XR device may rely on the second device to determine the predicted viewport (e.g., according to steps 404-406 of the method 400), and, once the predicted viewport is determined, the XR device may determine the set of XR anchors that is present in the predicted viewport. In another example, the second device may both determine the predicted viewport and determine the set of XR anchors that is present in the predicted viewport (e.g., according to steps 404-408 of the method 400). In another example, the XR device may determine its own predicted viewport, but may rely on the second device to identify the XR anchors that are present in the predicted viewport (e.g., according to step 408 of the method 400). In another example, the XR device may determine the predicted viewport and the set of XR anchors that is present in the predicted viewport, and may simply download selected digital objects associated with the XR anchors from the second device. In this case, the second device may only transfer the selected digital objects to the XR device (e.g., according to step 410 of the method 400).
  • In further examples, the processing system may repeat one or more steps of the method 400, such as steps 404-406, step 410, etc. In another example, the method 400 may include storing one or more digital objects, e.g., at the edge server, the application server, and/or the database. For instance, the XR media, or at least a portion thereof, may be stored for other users who may be interested in experiencing the XR media via the respective XR devices that may be served by the processing system. Thus, these and other modifications are all contemplated within the scope of the present disclosure.
  • In addition, although not expressly specified above, one or more steps of the methods 300 and 400 may include a storing, displaying and/or outputting step as required for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the method can be stored, displayed and/or outputted to another device as required for a particular application. Furthermore, operations, steps, or blocks in FIGS. 3 and 4 that recite a determining operation or involve a decision do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step. Furthermore, operations, steps or blocks of the above described method(s) can be combined, separated, and/or performed in a different order from that described above, without departing from the example embodiments of the present disclosure.
  • FIG. 5 depicts a high-level block diagram of a computing device or processing system specifically programmed to perform the functions described herein. For example, any one or more components or devices illustrated in FIG. 1, or described in connection with the methods 300 and 400 of FIGS. 3 and 4 may be implemented as the processing system 500. As depicted in FIG. 5, the processing system 500 comprises one or more hardware processor elements 502 (e.g., a microprocessor, a central processing unit (CPU) and the like), a memory 504, (e.g., random access memory (RAM), read only memory (ROM), a disk drive, an optical drive, a magnetic drive, and/or a Universal Serial Bus (USB) drive), a module 505 for XR anchor caching based on viewport prediction, and various input/output devices 506, e.g., a camera, a video camera, storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, and a user input device (such as a keyboard, a keypad, a mouse, and the like).
  • Although only one processor element is shown, it should be noted that the computing device may employ a plurality of processor elements. Furthermore, although only one computing device is shown in the Figure, if the method(s) as discussed above is implemented in a distributed or parallel manner for a particular illustrative example, i.e., the steps of the above method(s) or the entire method(s) are implemented across multiple or parallel computing devices, e.g., a processing system, then the computing device of this Figure is intended to represent each of those multiple general-purpose computers. Furthermore, one or more hardware processors can be utilized in supporting a virtualized or shared computing environment. The virtualized computing environment may support one or more virtual machines representing computers, servers, or other computing devices. In such virtualized virtual machines, hardware components such as hardware processors and computer-readable storage devices may be virtualized or logically represented. The hardware processor 502 can also be configured or programmed to cause other devices to perform one or more operations as discussed above. In other words, the hardware processor 502 may serve the function of a central controller directing other devices to perform the one or more operations as discussed above.
  • It should be noted that the present disclosure can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a programmable logic array (PLA), including a field-programmable gate array (FPGA), or a state machine deployed on a hardware device, a computing device, or any other hardware equivalents, e.g., computer readable instructions pertaining to the method(s) discussed above can be used to configure a hardware processor to perform the steps, functions and/or operations of the above disclosed method(s). In one example, instructions and data for the present module or process 505 for XR anchor caching based on viewport prediction (e.g., a software program comprising computer-executable instructions) can be loaded into memory 504 and executed by hardware processor element 502 to implement the steps, functions or operations as discussed above in connection with the example method(s). Furthermore, when a hardware processor executes instructions to perform “operations,” this could include the hardware processor performing the operations directly and/or facilitating, directing, or cooperating with another hardware device or component (e.g., a co-processor and the like) to perform the operations.
  • The processor executing the computer readable or software instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor. As such, the present module 505 for XR anchor caching based on viewport prediction (including associated data structures) of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like. Furthermore, a “tangible” computer-readable storage device or medium comprises a physical device, a hardware device, or a device that is discernible by the touch. More specifically, the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server.
  • While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described example embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims (20)

What is claimed is:
1. A method comprising:
determining, by a processing system of a mobile device including at least one processor, a predicted viewport of the mobile device, wherein the predicted viewport defines a portion of a real world environment that is expected to be visible to a user of the mobile device at a future time, and wherein the predicted viewport is determined using a multi-scale time prediction model that uses a short term prediction to predict the predicted viewport based on an orientation of the mobile device and a long term prediction to predict the predicted viewport based on historical behavior of the user while using the mobile device, wherein the historical behavior of the user is modeled by a user behavior model, and wherein the user behavior model identifies types of interactive digital objects that the user has looked at and interacted with in the past and types of digital objects that the user has ignored in the past;
determining, by the processing system, a set of extended reality anchors that are present in the real world environment, wherein each anchor of the extended reality anchors stores a digital object that, when rendered by the mobile device and presented to the user simultaneously with the real world environment, creates extended reality media, and wherein locations of the extended reality anchors fall within a boundary of the predicted viewport; and
downloading, by the processing system, a digital object from a second device, wherein the digital object is stored by an anchor of the extended reality anchors.
2. The method of claim 1, wherein the predicted viewport is defined by a field of view of the mobile device and a direction in which the user is expected to be looking at the future time.
3. The method of claim 2, wherein the direction in which the user is expected to be looking is determined with six degrees of freedom including: three axes of position that define coordinates of the mobile device in the real world environment and three dimensions of viewing direction defined by a yaw, a pitch, and a roll of the mobile device.
4. The method of claim 3, wherein the determining the predicted viewport comprises:
applying, by the processing system, the multi-scale time prediction model on the yaw, the pitch, and the roll for a plurality of recent viewports of the mobile device, wherein an output of the multi-scale time prediction model is the predicted viewport.
5. The method of claim 3, wherein the determining the predicted viewport comprises:
sending, by the processing system, data to a remote device, wherein the data comprises the yaw, the pitch, and the roll for a plurality of recent viewports of the mobile device; and
receiving, by the processing system from the remote device, the predicted viewport, wherein the predicted viewport is an output of the multi-scale time prediction model that is applied by the remote device on the data.
6. The method of claim 1, wherein locations of at least some extended reality anchors of the plurality of extended reality anchors are known from an index.
7. The method of claim 1, wherein locations of at least some extended reality anchors of the plurality of extended reality anchors are determined based on signals emitted by the at least some extended reality anchors.
8. The method of claim 1, wherein the second device is the anchor of the extended reality anchors that stores the digital object.
9. The method of claim 1, wherein the second device is an edge server of an access network to which the processing system is connected, wherein the edge server has previously cached the digital object from the anchor.
10. The method of claim 1, wherein the second device is another mobile device that has previously downloaded the digital object from the anchor.
11. The method of claim 1, wherein the second device is an application server in a telecommunications network to which the mobile device is connected.
12. The method of claim 1, further comprising:
customizing, by the processing system, the digital object for the user; and
presenting, by the processing system, the digital object to the user simultaneously with the real world environment, wherein the presenting is performed subsequent to the customizing.
13. The method of claim 12, wherein the customizing comprises selecting a particular version of the digital object from among a plurality of versions of the digital object, based on information in a stored profile of the user.
14. The method of claim 12, wherein the customizing comprises selecting a particular version of the digital object from among a plurality of versions of the digital object, based on a current use context of the user.
15. The method of claim 12, further comprising:
receiving, by the processing system, feedback from the user in response to the presenting; and
updating, by the processing system, a stored profile of the user, based on the feedback.
16. The method of claim 1, wherein the user behavior model is further used to customize at least one of: an appearance of a first digital object stored by a first anchor of the set of extended reality anchors or a language in which the first digital object is presented.
17. A non-transitory computer-readable medium storing instructions which, when executed by a processing system of a mobile device including at least one processor, cause the processing system to perform operations, the operations comprising:
determining a predicted viewport of the mobile device, wherein the predicted viewport defines a portion of a real world environment that is expected to be visible to a user of the mobile device at a future time, and wherein the predicted viewport is determined using a multi-scale time prediction model that uses a short term prediction to predict the predicted viewport based on an orientation of the mobile device and a long term prediction to predict the predicted viewport based on historical behavior of the user while using the mobile device, wherein the historical behavior of the user is modeled by a user behavior model, and wherein the user behavior model identifies types of interactive digital objects that the user has looked at and interacted with in the past and types of digital objects that the user has ignored in the past;
determining a set of extended reality anchors that are present in the real world environment, wherein each anchor of the extended reality anchors stores a digital object that, when rendered by the mobile device and presented to the user simultaneously with the real world environment, creates extended reality media, and wherein locations of the extended reality anchors fall within a boundary of the predicted viewport; and
downloading a digital object from a second device, wherein the digital object is stored by an anchor of the extended reality anchors.
18. A method comprising:
determining, by a processing system of a server in a telecommunication service provider network, wherein the processing system includes at least one processor, a predicted viewport of a mobile device, wherein the predicted viewport defines a portion of a real world environment that is expected to be visible to a user of the mobile device at a future time, and wherein the predicted viewport is determined using a multi-scale time prediction model that uses a short term prediction to predict the predicted viewport based on an orientation of the mobile device and a long term prediction to predict the predicted viewport based on historical behavior of the user while using the mobile device, wherein the historical behavior of the user is modeled by a user behavior model, and wherein the user behavior model identifies types of interactive digital objects that the user has looked at and interacted with in the past and types of digital objects that the user has ignored in the past;
determining, by the processing system, a set of extended reality anchors that are present in the real world environment, wherein each anchor of the extended reality anchors stores a digital object that, when rendered by the mobile device and presented to the user simultaneously with the real world environment, creates extended reality media, and wherein locations of the extended reality anchors fall within a boundary of the predicted viewport; and
providing, by the processing system, the set of extended reality anchors to the mobile device.
19. The method of claim 18, wherein the determining the predicted viewport of the mobile device comprises:
obtaining, by the processing system, yaw, pitch, the roll measurements for a plurality of recent viewports of the mobile device; and
applying, by the processing system, the multi-scale time prediction model to the yaw, pitch and roll measurements, wherein an output of the multi-scale time prediction model is the predicted viewport.
20. The method of claim 18, further comprising:
receiving, by the processing system, a request from the mobile device for a digital object that is stored by an anchor of the extended reality anchors; and
transferring, by the processing system, a copy of the digital object to the mobile device.
US17/660,620 2019-10-15 2022-04-25 Extended reality anchor caching based on viewport prediction Abandoned US20220254113A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/660,620 US20220254113A1 (en) 2019-10-15 2022-04-25 Extended reality anchor caching based on viewport prediction

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/653,351 US11315326B2 (en) 2019-10-15 2019-10-15 Extended reality anchor caching based on viewport prediction
US17/660,620 US20220254113A1 (en) 2019-10-15 2022-04-25 Extended reality anchor caching based on viewport prediction

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US16/653,351 Continuation US11315326B2 (en) 2019-10-15 2019-10-15 Extended reality anchor caching based on viewport prediction

Publications (1)

Publication Number Publication Date
US20220254113A1 true US20220254113A1 (en) 2022-08-11

Family

ID=75383785

Family Applications (2)

Application Number Title Priority Date Filing Date
US16/653,351 Active US11315326B2 (en) 2019-10-15 2019-10-15 Extended reality anchor caching based on viewport prediction
US17/660,620 Abandoned US20220254113A1 (en) 2019-10-15 2022-04-25 Extended reality anchor caching based on viewport prediction

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US16/653,351 Active US11315326B2 (en) 2019-10-15 2019-10-15 Extended reality anchor caching based on viewport prediction

Country Status (1)

Country Link
US (2) US11315326B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11909583B1 (en) * 2022-09-09 2024-02-20 International Business Machines Corporation Predictive dynamic caching in edge devices when connectivity may be potentially lost

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589000B2 (en) * 2012-08-30 2017-03-07 Atheer, Inc. Method and apparatus for content association and history tracking in virtual and augmented reality
EP3345184A1 (en) * 2015-09-02 2018-07-11 THOMSON Licensing Method, apparatus and system for facilitating navigation in an extended scene
US11470017B2 (en) * 2019-07-30 2022-10-11 At&T Intellectual Property I, L.P. Immersive reality component management via a reduced competition core network component
US11189100B2 (en) * 2019-11-25 2021-11-30 Verizon Patent and Acessing Inc. Systems and methods for optimizing extended reality experiences
US11756509B2 (en) * 2020-01-27 2023-09-12 Magic Leap, Inc. Enhanced state control for anchor-based cross reality applications
US20210258350A1 (en) * 2020-02-19 2021-08-19 Lookout, Inc. Privacy preservation in network connections
US11482002B1 (en) * 2020-10-16 2022-10-25 Splunk Inc. Codeless anchor detection for detectable features in an environment
US20220392170A1 (en) * 2021-06-07 2022-12-08 Citrix Systems, Inc. Interactive Display Devices in Extended Reality Environments
WO2023034070A1 (en) * 2021-08-30 2023-03-09 Chinook Labs Llc Method and device for invoking a writing surface
US11567319B1 (en) 2021-10-06 2023-01-31 Piamond Corp Method and system for implementing platform for providing offline information to smart glass
US11716454B2 (en) 2021-10-15 2023-08-01 Rovi Guides, Inc. Systems and methods for improved delivery and display of 360-degree content
US20230138606A1 (en) * 2021-11-03 2023-05-04 Tencent America LLC Method and apparatus for delivering 5g ar/mr cognitive experience to 5g devices
US11659043B1 (en) * 2022-01-27 2023-05-23 Meta Platforms Technologies, Llc Systems and methods for predictively downloading volumetric data
US20240233284A1 (en) * 2023-01-10 2024-07-11 Jadu AR Inc. Remote multiparticipant augmented reality

Citations (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132420A1 (en) * 2003-12-11 2005-06-16 Quadrock Communications, Inc System and method for interaction with television content
US7742623B1 (en) * 2008-08-04 2010-06-22 Videomining Corporation Method and system for estimating gaze target, gaze sequence, and gaze map from video
US20100268578A1 (en) * 2007-12-13 2010-10-21 Kazuo Fushimi Information providing system
US20130054377A1 (en) * 2011-08-30 2013-02-28 Nils Oliver Krahnstoever Person tracking and interactive advertising
US20130073366A1 (en) * 2011-09-15 2013-03-21 Stephan HEATH System and method for tracking, utilizing predicting, and implementing online consumer browsing behavior, buying patterns, social networking communications, advertisements and communications, for online coupons, products, goods & services, auctions, and service providers using geospatial mapping technology, and social networking
US20130136304A1 (en) * 2011-11-30 2013-05-30 Canon Kabushiki Kaisha Apparatus and method for controlling presentation of information toward human object
US20140184550A1 (en) * 2011-09-07 2014-07-03 Tandemlaunch Technologies Inc. System and Method for Using Eye Gaze Information to Enhance Interactions
US9097890B2 (en) * 2010-02-28 2015-08-04 Microsoft Technology Licensing, Llc Grating in a light transmissive illumination system for see-through near-eye display glasses
US9097891B2 (en) * 2010-02-28 2015-08-04 Microsoft Technology Licensing, Llc See-through near-eye display glasses including an auto-brightness control for the display brightness based on the brightness in the environment
US20150331485A1 (en) * 2014-05-19 2015-11-19 Weerapan Wilairat Gaze detection calibration
US20160094944A1 (en) * 2014-09-30 2016-03-31 Ebay Inc. Super geo-fences and virtual fences to improve efficiency of geo-fences
US20160188585A1 (en) * 2014-12-27 2016-06-30 Lenitra Durham Technologies for shared augmented reality presentations
US20160309081A1 (en) * 2013-10-31 2016-10-20 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for leveraging user gaze in user monitoring subregion selection systems
US20160364881A1 (en) * 2015-06-14 2016-12-15 Sony Computer Entertainment Inc. Apparatus and method for hybrid eye tracking
US20170169602A1 (en) * 2015-12-09 2017-06-15 Imagination Technologies Limited Foveated Rendering
US20170213388A1 (en) * 2016-01-25 2017-07-27 Jeffrey Neil Margolis Frame Projection For Augmented Reality Environments
US20170256283A1 (en) * 2014-09-08 2017-09-07 Sony Corporation Information processing device and information processing method
US20170289219A1 (en) * 2016-03-31 2017-10-05 Verizon Patent And Licensing Inc. Prediction-Based Methods and Systems for Efficient Distribution of Virtual Reality Media Content
US20170364920A1 (en) * 2016-06-16 2017-12-21 Vishal Anand Security approaches for virtual reality transactions
US20180008141A1 (en) * 2014-07-08 2018-01-11 Krueger Wesley W O Systems and methods for using virtual reality, augmented reality, and/or a synthetic 3-dimensional information for the measurement of human ocular performance
US9870716B1 (en) * 2013-01-26 2018-01-16 Ip Holdings, Inc. Smart glasses and smart watches for real time connectivity and health
US20180046851A1 (en) * 2016-08-15 2018-02-15 Apple Inc. Command processing using multimodal signal analysis
US20180079427A1 (en) * 2016-09-21 2018-03-22 Apple Inc. Gesture based control of autonomous vehicles
US20180158157A1 (en) * 2016-12-02 2018-06-07 Bank Of America Corporation Geo-targeted Property Analysis Using Augmented Reality User Devices
US20180159838A1 (en) * 2016-12-02 2018-06-07 Bank Of America Corporation Real Estate Property Project Analysis Using Augmented Reality User Devices
US20180232921A1 (en) * 2017-02-14 2018-08-16 Adobe Systems Incorporated Digital Experience Content Personalization and Recommendation within an AR or VR Environment
US10062414B1 (en) * 2017-08-22 2018-08-28 Futurewei Technologies, Inc. Determining a future field of view (FOV) for a particular user viewing a 360 degree video stream in a network
US20180253900A1 (en) * 2017-03-02 2018-09-06 Daqri, Llc System and method for authoring and sharing content in augmented reality
US20180284453A1 (en) * 2017-04-03 2018-10-04 Walmart Apollo, Llc Customer interaction system
US20180322674A1 (en) * 2017-05-06 2018-11-08 Integem, Inc. Real-time AR Content Management and Intelligent Data Analysis System
US10142496B1 (en) * 2013-01-26 2018-11-27 Ip Holdings, Inc. Mobile device image capture and image modification including filters, superimposing and geofenced comments in augmented reality
US20180350144A1 (en) * 2018-07-27 2018-12-06 Yogesh Rathod Generating, recording, simulating, displaying and sharing user related real world activities, actions, events, participations, transactions, status, experience, expressions, scenes, sharing, interactions with entities and associated plurality types of data in virtual world
US20180364810A1 (en) * 2013-06-20 2018-12-20 Uday Parshionikar Gesture control via eye tracking, head tracking, facial expressions and other user actions
US20180373328A1 (en) * 2017-05-26 2018-12-27 Colopl, Inc. Program executed by a computer operable to communicate with head mount display, information processing apparatus for executing the program, and method executed by the computer operable to communicate with the head mount display
US20190005724A1 (en) * 2017-06-30 2019-01-03 Microsoft Technology Licensing, Llc Presenting augmented reality display data in physical presentation environments
US10180572B2 (en) * 2010-02-28 2019-01-15 Microsoft Technology Licensing, Llc AR glasses with event and user action control of external applications
US20190025586A1 (en) * 2017-07-13 2019-01-24 Colopl, Inc. Information processing method, information processing program, information processing system, and information processing apparatus
US20190183576A1 (en) * 2017-12-15 2019-06-20 Medtronic, Inc. Augmented reality solution to disrupt, transform and enhance cardiovascular surgical and/or procedural mapping navigation and diagnostics
US20190221191A1 (en) * 2018-01-18 2019-07-18 Samsung Electronics Co., Ltd. Method and apparatus for adjusting augmented reality content
US20190244436A1 (en) * 2018-02-06 2019-08-08 Walmart Apollo, Llc Customized augmented reality item filtering system
US20190244407A1 (en) * 2016-08-10 2019-08-08 Zeekit Online Shopping Ltd. System, device, and method of virtual dressing utilizing image processing, machine learning, and computer vision
US20190258365A1 (en) * 2018-02-22 2019-08-22 Magic Leap, Inc. Browser for mixed reality systems
US20190278555A1 (en) * 2018-03-08 2019-09-12 Bose Corporation User-interfaces for audio-augmented-reality
US20190311513A1 (en) * 2018-04-09 2019-10-10 At&T Intellectual Property I, L.P. Collaborative augmented reality system
US20190371065A1 (en) * 2018-05-29 2019-12-05 International Business Machines Corporation Augmented Reality Masking
US20200012873A1 (en) * 2019-09-06 2020-01-09 Lg Electronics Inc. Driving guide method and apparatus for vehicle
US10559019B1 (en) * 2011-07-19 2020-02-11 Ken Beauvais System for centralized E-commerce overhaul
US20200053351A1 (en) * 2018-08-08 2020-02-13 At&T Intellectual Property I, L.P. Method and apparatus for navigating through panoramic content
US20200082463A1 (en) * 2018-09-06 2020-03-12 Bank Of America Corporation Providing Augmented Reality User Interfaces and Controlling Back-Office Data Processing Systems Based on Augmented Reality Events
US20200159011A1 (en) * 2018-11-15 2020-05-21 International Business Machines Corporation Predicted need notification for augmented reality eyeglasses
US10712817B1 (en) * 2019-06-27 2020-07-14 Tobii Ab Image re-projection for foveated rendering
US20200242666A1 (en) * 2019-01-24 2020-07-30 Chian Chiu Li Location-Based Open Social Networks And Incentivization Methods
US20200309558A1 (en) * 2019-03-26 2020-10-01 Snap Inc. Augmented reality guidance interface
US20200312323A1 (en) * 2019-03-27 2020-10-01 Honda Motor Co.,Ltd. Conversation device and conversation system
US20200320782A1 (en) * 2019-04-04 2020-10-08 Snap Inc. Location based augmented-reality system
US20200320300A1 (en) * 2017-12-18 2020-10-08 Naver Labs Corporation Method and system for crowdsourcing geofencing-based content
US20200336668A1 (en) * 2019-04-16 2020-10-22 At&T Intellectual Property I, L.P. Selecting spectator viewpoints in volumetric video presentations of live events
US20200364290A1 (en) * 2019-05-16 2020-11-19 Microsoft Technology Licensing, Llc System and method for selecting relevant content in an enhanced view mode
US20200412983A1 (en) * 2018-03-08 2020-12-31 Sony Interactive Entertainment Inc. Electronic device, head-mounted display, gaze point detector, and pixel data readout method
US10909405B1 (en) * 2019-03-04 2021-02-02 Facebook Technologies, Llc Virtual interest segmentation
US20210097775A1 (en) * 2018-02-22 2021-04-01 Magic Leap, Inc. Object creation with physical manipulation
US20210132686A1 (en) * 2018-05-11 2021-05-06 Square Enix Co., Ltd. Storage medium, augmented reality presentation apparatus, and augmented reality presentation method
US20210158897A1 (en) * 2019-04-05 2021-05-27 Lifebit Biotech Limited Bioactive compound effect and disease target predictions
US20210165484A1 (en) * 2018-08-24 2021-06-03 Sony Corporation Information processing device, information processing method, and program
US20210209676A1 (en) * 2019-05-27 2021-07-08 Vikrum Singh Deol Method and system of an augmented/virtual reality platform
US20210225186A1 (en) * 2020-12-30 2021-07-22 Central China Normal University 5th-GENERATION (5G) INTERACTIVE DISTANCE DEDICATED TEACHING SYSTEM BASED ON HOLOGRAPHIC TERMINAL AND METHOD FOR OPERATING SAME
US20210350628A1 (en) * 2019-01-28 2021-11-11 Mercari, Inc. Program, information processing method, and information processing terminal
US11210863B1 (en) * 2020-08-24 2021-12-28 A9.Com, Inc. Systems and methods for real-time object placement in augmented reality experience
US20210405959A1 (en) * 2020-06-29 2021-12-30 Facebook Technologies, Llc Generating augmented reality experiences utilizing physical objects to represent analogous virtual objects
US20220001238A1 (en) * 2020-07-01 2022-01-06 International Business Machines Corporation Cognitive based augmented reality workout
US20220156797A1 (en) * 2020-11-17 2022-05-19 At&T Intellectual Property I, L.P. Methods, devices, and systems for providing personalized immersive content in extended reality (xr) environments
US20220172440A1 (en) * 2020-12-01 2022-06-02 Samsung Electronics Co., Ltd. Extended field of view generation for split-rendering for virtual reality streaming
US20220188833A1 (en) * 2020-12-12 2022-06-16 Mastercard International Incorporated Facilitating payments in an extended reality system based on behavioral biometrics
US20220319126A1 (en) * 2021-03-31 2022-10-06 Flipkart Internet Private Limited System and method for providing an augmented reality environment for a digital platform
US11475635B1 (en) * 2021-12-22 2022-10-18 Hopin Ltd Systems and methods for creating and presenting virtual events
US20230070050A1 (en) * 2021-09-09 2023-03-09 At&T Intellectual Property I, L.P. Compositing non-immersive media content to generate an adaptable immersive content metaverse
US20230112174A1 (en) * 2021-10-08 2023-04-13 Synaptics Incorporated Attention cues for head-mounted display (hmd)
US20230130770A1 (en) * 2021-10-26 2023-04-27 Meta Platforms Technologies, Llc Method and a system for interacting with physical devices via an artificial-reality device
US20230146178A1 (en) * 2021-11-11 2023-05-11 Kickback Space Inc. Attention based audio adjustment in virtual environments
US20230252540A1 (en) * 2020-10-15 2023-08-10 Yogesh Rathod User applications store and connecting, registering, following with and synchronizing or accessing user data of user applications from/to parent application and other user applications

Family Cites Families (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09186927A (en) * 1995-12-28 1997-07-15 Sony Corp Tracking device and tracking method
US6064749A (en) * 1996-08-02 2000-05-16 Hirota; Gentaro Hybrid tracking for augmented reality using both camera motion detection and landmark tracking
EP1116211A4 (en) * 1998-09-22 2001-11-21 Vega Vista Inc Intuitive control of portable data displays
US20030210228A1 (en) * 2000-02-25 2003-11-13 Ebersole John Franklin Augmented reality situational awareness system and method
WO2005094109A1 (en) * 2004-03-18 2005-10-06 Nokia Corporation Position-based context awareness for mobile terminal device
JP4976756B2 (en) * 2006-06-23 2012-07-18 キヤノン株式会社 Information processing method and apparatus
WO2010100672A1 (en) * 2009-03-04 2010-09-10 ルネサスエレクトロニクス株式会社 Compressed dynamic image encoding device, compressed dynamic image decoding device, compressed dynamic image encoding method and compressed dynamic image decoding method
US8564657B2 (en) * 2009-05-29 2013-10-22 Honda Research Institute Europe Gmbh Object motion detection system based on combining 3D warping techniques and a proper object motion detection
US10109103B2 (en) * 2010-06-30 2018-10-23 Barry L. Jenkins Method of determining occluded ingress and egress routes using nav-cell to nav-cell visibility pre-computation
US9489762B2 (en) * 2010-06-30 2016-11-08 Primal Space Systems, Inc. Delivering and controlling streaming interactive media comprising rendered geometric, texture and lighting data
US9348141B2 (en) * 2010-10-27 2016-05-24 Microsoft Technology Licensing, Llc Low-latency fusing of virtual and real content
JP5776255B2 (en) * 2011-03-25 2015-09-09 ソニー株式会社 Terminal device, object identification method, program, and object identification system
US9110512B2 (en) * 2011-03-31 2015-08-18 Smart Technologies Ulc Interactive input system having a 3D input space
JP2012252529A (en) * 2011-06-03 2012-12-20 Sony Corp Information processor, information processing method and program
US10209771B2 (en) * 2016-09-30 2019-02-19 Sony Interactive Entertainment Inc. Predictive RF beamforming for head mounted display
JP5821526B2 (en) * 2011-10-27 2015-11-24 ソニー株式会社 Image processing apparatus, image processing method, and program
JP6065370B2 (en) * 2012-02-03 2017-01-25 ソニー株式会社 Information processing apparatus, information processing method, and program
JP5776903B2 (en) * 2012-03-02 2015-09-09 カシオ計算機株式会社 Image processing apparatus, image processing method, and program
US8947322B1 (en) * 2012-03-19 2015-02-03 Google Inc. Context detection and context-based user-interface population
US8947323B1 (en) * 2012-03-20 2015-02-03 Hayes Solos Raffle Content display methods
US20130263016A1 (en) * 2012-03-27 2013-10-03 Nokia Corporation Method and apparatus for location tagged user interface for media sharing
US9519640B2 (en) * 2012-05-04 2016-12-13 Microsoft Technology Licensing, Llc Intelligent translations in personal see through display
US9846960B2 (en) * 2012-05-31 2017-12-19 Microsoft Technology Licensing, Llc Automated camera array calibration
GB2506338A (en) * 2012-07-30 2014-04-02 Sony Comp Entertainment Europe A method of localisation and mapping
CN103873840B (en) * 2012-12-12 2018-08-31 联想(北京)有限公司 Display methods and display equipment
US20140176591A1 (en) * 2012-12-26 2014-06-26 Georg Klein Low-latency fusing of color image data
US9898866B2 (en) * 2013-03-13 2018-02-20 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
KR102318391B1 (en) * 2013-03-15 2021-10-26 매직 립, 인코포레이티드 Display system and method
US9063330B2 (en) * 2013-05-30 2015-06-23 Oculus Vr, Llc Perception based predictive tracking for head mounted displays
US9514571B2 (en) * 2013-07-25 2016-12-06 Microsoft Technology Licensing, Llc Late stage reprojection
KR102209008B1 (en) * 2014-02-17 2021-01-28 삼성전자주식회사 Apparatus for estimating camera pose and method for estimating camera pose
JP6377759B2 (en) * 2014-03-14 2018-08-22 株式会社ソニー・インタラクティブエンタテインメント Calibration method and system for head mounted display (HMD) tracking and HMD headband adjustment
US9652893B2 (en) * 2014-04-29 2017-05-16 Microsoft Technology Licensing, Llc Stabilization plane determination based on gaze location
US11100327B2 (en) * 2014-05-15 2021-08-24 Fenwal, Inc. Recording a state of a medical device
JP6364952B2 (en) * 2014-05-23 2018-08-01 富士通株式会社 Information processing apparatus, information processing system, and information processing method
JP6281409B2 (en) * 2014-05-26 2018-02-21 富士通株式会社 Display control method, information processing program, and information processing apparatus
US10366511B2 (en) * 2014-05-28 2019-07-30 Elbit Systems Land And C4I Ltd. Method and system for image georegistration
IL232853A (en) * 2014-05-28 2015-11-30 Elbit Systems Land & C4I Ltd Method and system for image georegistration
JP6500355B2 (en) * 2014-06-20 2019-04-17 富士通株式会社 Display device, display program, and display method
CN106664393A (en) * 2014-07-31 2017-05-10 索尼公司 Information processing device, information processing method, and image display system
EP2980599A1 (en) * 2014-08-01 2016-02-03 Hilti Aktiengesellschaft Tracking method and tracking system
US9990774B2 (en) * 2014-08-08 2018-06-05 Sony Interactive Entertainment Inc. Sensory stimulus management in head mounted display
JP5963325B2 (en) * 2014-08-14 2016-08-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Apparatus, method, and program for presenting information specified based on marker
US10684485B2 (en) * 2015-03-06 2020-06-16 Sony Interactive Entertainment Inc. Tracking system for head mounted display
JP6540108B2 (en) * 2015-03-09 2019-07-10 富士通株式会社 Image generation method, system, device, and terminal
US10419737B2 (en) * 2015-04-15 2019-09-17 Google Llc Data structures and delivery methods for expediting virtual reality playback
US10431005B2 (en) * 2015-05-05 2019-10-01 Ptc Inc. Augmented reality system
EP3309751B1 (en) * 2015-06-12 2022-04-20 Sony Group Corporation Image processing device, method, and program
US9898865B2 (en) * 2015-06-22 2018-02-20 Microsoft Technology Licensing, Llc System and method for spawning drawing surfaces
US10192133B2 (en) * 2015-06-22 2019-01-29 Seiko Epson Corporation Marker, method of detecting position and pose of marker, and computer program
US9520002B1 (en) * 2015-06-24 2016-12-13 Microsoft Technology Licensing, Llc Virtual place-located anchor
CN107851184B (en) * 2015-07-28 2022-12-23 苹果公司 System and method for light and image projection
US9928656B2 (en) * 2015-09-11 2018-03-27 Futurewei Technologies, Inc. Markerless multi-user, multi-object augmented reality on mobile devices
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
WO2017082457A1 (en) * 2015-11-11 2017-05-18 엘지전자 주식회사 Hmd and method for controlling same
CN108139801B (en) * 2015-12-22 2021-03-16 谷歌有限责任公司 System and method for performing electronic display stabilization via preserving light field rendering
US10979843B2 (en) * 2016-04-08 2021-04-13 Qualcomm Incorporated Spatialized audio output based on predicted position data
US10025376B2 (en) * 2016-04-27 2018-07-17 Rovi Guides, Inc. Methods and systems for displaying additional content on a heads up display displaying a virtual reality environment
US10365712B2 (en) * 2016-05-17 2019-07-30 Google Llc Object tracking in a head mounted reference frame in an augmented and/or virtual reality environment
US10078916B2 (en) * 2016-07-01 2018-09-18 Invia Robotics, Inc. Pick to augmented reality
DE102016114168A1 (en) * 2016-08-01 2018-02-01 Connaught Electronics Ltd. Method for detecting an object in a surrounding area of a motor vehicle with prediction of the movement of the object, camera system and motor vehicle
US10771791B2 (en) * 2016-08-08 2020-09-08 Mediatek Inc. View-independent decoding for omnidirectional video
US10209081B2 (en) * 2016-08-09 2019-02-19 Nauto, Inc. System and method for precision localization and mapping
US10169914B2 (en) * 2016-08-26 2019-01-01 Osense Technology Co., Ltd. Method and system for indoor positioning and device for creating indoor maps thereof
CN109923867A (en) * 2016-09-14 2019-06-21 皇家Kpn公司 Transmit virtual reality video as a stream
EP3709271B1 (en) * 2016-09-15 2022-11-02 Google LLC Image depth prediction neural networks
US20180095636A1 (en) * 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
US20180096507A1 (en) * 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
US20180096505A1 (en) * 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
US10134192B2 (en) * 2016-10-17 2018-11-20 Microsoft Technology Licensing, Llc Generating and displaying a computer generated image on a future pose of a real world object
KR102277438B1 (en) * 2016-10-21 2021-07-14 삼성전자주식회사 In multimedia communication between terminal devices, method for transmitting audio signal and outputting audio signal and terminal device performing thereof
US10957029B2 (en) * 2016-11-17 2021-03-23 Sony Corporation Image processing device and image processing method
JP6917701B2 (en) * 2016-11-30 2021-08-11 キヤノン株式会社 Information processing device, control method and program of information processing device
US10140773B2 (en) * 2017-02-01 2018-11-27 Accenture Global Solutions Limited Rendering virtual objects in 3D environments
US10520742B1 (en) * 2017-02-13 2019-12-31 Facebook Technologies, Llc Beamsplitter assembly for eye tracking in head-mounted displays
US10373313B2 (en) * 2017-03-02 2019-08-06 Siemens Healthcare Gmbh Spatially consistent multi-scale anatomical landmark detection in incomplete 3D-CT data
US10152822B2 (en) * 2017-04-01 2018-12-11 Intel Corporation Motion biased foveated renderer
US10242486B2 (en) * 2017-04-17 2019-03-26 Intel Corporation Augmented reality and virtual reality feedback enhancement system, apparatus and method
US10939038B2 (en) * 2017-04-24 2021-03-02 Intel Corporation Object pre-encoding for 360-degree view for optimal quality and latency
US10339714B2 (en) * 2017-05-09 2019-07-02 A9.Com, Inc. Markerless image analysis for augmented reality
US10685453B1 (en) * 2017-05-09 2020-06-16 Facebook Technologies, Llc Folded laser emitters for structured light applications
GB201709199D0 (en) * 2017-06-09 2017-07-26 Delamont Dean Lindsay IR mixed reality and augmented reality gaming system
US10425622B2 (en) * 2017-07-18 2019-09-24 The United States Of America As Represented By The Secretary Of The Army Method of generating a predictive display for tele-operation of a remotely-operated ground vehicle
US10200882B1 (en) * 2017-09-26 2019-02-05 GM Global Technology Operations LLC Beamforming based on localization module information
US10452956B2 (en) * 2017-09-29 2019-10-22 Here Global B.V. Method, apparatus, and system for providing quality assurance for training a feature prediction model
US10818087B2 (en) * 2017-10-02 2020-10-27 At&T Intellectual Property I, L.P. Selective streaming of immersive video based on field-of-view prediction
US10504243B2 (en) * 2017-10-09 2019-12-10 Facebook Technologies, Llc Calibration system for a head-mounted display tracking system
DE102017010190A1 (en) * 2017-10-30 2019-05-02 Sartorius Stedim Biotech Gmbh Method for virtual configuration of a device, computer program product and corresponding augmented reality system
KR102434580B1 (en) * 2017-11-09 2022-08-22 삼성전자주식회사 Method and apparatus of dispalying virtual route
US10643307B2 (en) * 2017-11-10 2020-05-05 Intel Corporation Super-resolution based foveated rendering
US11100314B2 (en) * 2017-11-10 2021-08-24 Alibaba Technologies (Israel) LTD. Device, system and method for improving motion estimation using a human motion model
CN118612461A (en) * 2017-11-23 2024-09-06 英特尔公司 Adaptive fovea encoder and global motion predictor
JP7031262B2 (en) * 2017-12-04 2022-03-08 富士通株式会社 Imaging processing program, imaging processing method, and imaging processing device
WO2019144000A1 (en) * 2018-01-22 2019-07-25 Dakiana Research Llc Method and device for presenting synthesized reality content in association with recognized objects
US10482645B2 (en) * 2018-02-09 2019-11-19 Xueqi Wang System and method for augmented reality map
US10726765B2 (en) * 2018-02-15 2020-07-28 Valve Corporation Using tracking of display device to control image display
US10194259B1 (en) * 2018-02-28 2019-01-29 Bose Corporation Directional audio selection
US10497295B1 (en) * 2018-03-14 2019-12-03 Facebook Technologies, Llc Near-eye display assembly with adjustable resolution and frame rate
US11347507B2 (en) * 2018-03-15 2022-05-31 SiFive, Inc. Secure control flow prediction
US10838574B2 (en) * 2018-04-09 2020-11-17 Spatial Systems Inc. Augmented reality computing environments—workspace save and load
US10929494B2 (en) * 2018-04-16 2021-02-23 Stops.com Ltd. Systems and methods for tagging objects for augmented reality
CN108876854B (en) * 2018-04-27 2022-03-08 腾讯科技(深圳)有限公司 Method, device and equipment for relocating camera attitude tracking process and storage medium
US11474593B2 (en) * 2018-05-07 2022-10-18 Finch Technologies Ltd. Tracking user movements to control a skeleton model in a computer system
US10416755B1 (en) * 2018-06-01 2019-09-17 Finch Technologies Ltd. Motion predictions of overlapping kinematic chains of a skeleton model used to control a computer system
US10901215B1 (en) * 2018-05-16 2021-01-26 Facebook Technologies, Llc Systems and methods for providing a mobile artificial reality user with environmental awareness
CN112424727A (en) * 2018-05-22 2021-02-26 奇跃公司 Cross-modal input fusion for wearable systems
US10984600B2 (en) * 2018-05-25 2021-04-20 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
US20190369752A1 (en) * 2018-05-30 2019-12-05 Oculus Vr, Llc Styluses, head-mounted display systems, and related methods
US10735882B2 (en) * 2018-05-31 2020-08-04 At&T Intellectual Property I, L.P. Method of audio-assisted field of view prediction for spherical video streaming
RU2756872C1 (en) * 2018-05-31 2021-10-06 Ниссан Норт Америка, Инк. Structure of probabilistic object tracking and forecasting
US10623791B2 (en) * 2018-06-01 2020-04-14 At&T Intellectual Property I, L.P. Field of view prediction in live panoramic video streaming
US10535199B1 (en) * 2018-06-18 2020-01-14 Facebook Technologies, Llc Systems and methods for determining a safety boundary for a mobile artificial reality user
EP3827300A4 (en) * 2018-07-23 2021-09-15 Magic Leap, Inc. Method and system for resolving hemisphere ambiguity using a position vector
US11009941B2 (en) * 2018-07-25 2021-05-18 Finch Technologies Ltd. Calibration of measurement units in alignment with a skeleton model to control a computer system
US10665206B2 (en) * 2018-07-30 2020-05-26 Honeywell International Inc. Method and system for user-related multi-screen solution for augmented reality for use in performing maintenance
US11178373B2 (en) * 2018-07-31 2021-11-16 Intel Corporation Adaptive resolution of point cloud and viewpoint prediction for video streaming in computing environments
US10600236B2 (en) * 2018-08-06 2020-03-24 Valve Corporation Prediction and throttling adjustments based on application rendering performance
US10699154B2 (en) * 2018-08-08 2020-06-30 At&T Intellectual Property I, L.P. Optimizing 360-degree video streaming with video content analysis
US11399137B2 (en) * 2018-08-10 2022-07-26 Aurora Flight Sciences Corporation Object-tracking system
US20200082576A1 (en) * 2018-09-11 2020-03-12 Apple Inc. Method, Device, and System for Delivering Recommendations
WO2020056353A1 (en) * 2018-09-13 2020-03-19 The Charles Stark Draper Laboratory, Inc. Food-safe, washable, thermally-conductive robot cover
US10692420B2 (en) * 2018-09-13 2020-06-23 Arm Limited Data processing systems
US11612341B2 (en) * 2018-10-25 2023-03-28 Xr Health Il Ltd Systems and methods for assessment and measurement of reaction time in virtual/augmented reality
US10860032B2 (en) * 2018-10-29 2020-12-08 Dell Products, Lp System and method for adaptive infrared emitter power optimization for simultaneous localization and mapping
US10706631B2 (en) * 2018-10-31 2020-07-07 Advanced Micro Devices, Inc. Image generation based on brain activity monitoring
US10664989B1 (en) * 2018-12-19 2020-05-26 Disney Enterprises, Inc. Systems and methods to present interactive content based on detection of markers
US10802282B2 (en) * 2018-12-21 2020-10-13 Microsoft Technology Licensing, Llc Controlling light source intensities on optically trackable object
US10529113B1 (en) * 2019-01-04 2020-01-07 Facebook Technologies, Llc Generating graphical representation of facial expressions of a user wearing a head mounted display accounting for previously captured images of the user's facial expressions
US11284091B2 (en) * 2019-03-25 2022-03-22 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box
US10896348B2 (en) * 2019-01-29 2021-01-19 Intel Corporation End to end framework for geometry-aware multi-scale keypoint detection and matching in fisheye images
CA3128038A1 (en) * 2019-01-31 2020-08-06 Rypplzz, Inc. Systems and methods for augmented reality with precise tracking
US11126179B2 (en) * 2019-02-21 2021-09-21 Zoox, Inc. Motion prediction based on appearance
US10621770B1 (en) * 2019-02-26 2020-04-14 ForeFlight LLC Method and system for labeling line features in electronic maps
US11079860B2 (en) * 2019-04-04 2021-08-03 Finch Technologies Ltd. Kinematic chain motion predictions using results from multiple approaches combined via an artificial neural network
US20200357182A1 (en) * 2019-05-07 2020-11-12 Carnegie Mellon University System and method using light sources as spatial anchors
US11010921B2 (en) * 2019-05-16 2021-05-18 Qualcomm Incorporated Distributed pose estimation
CN114127610A (en) * 2019-05-20 2022-03-01 奇跃公司 Systems and techniques for estimating eye pose
WO2020237089A1 (en) * 2019-05-21 2020-11-26 Magic Leap, Inc. Caching and updating of dense 3d reconstruction data
US10812771B1 (en) * 2019-06-12 2020-10-20 At&T Intellectual Property I, L.P. Methods, systems, and devices for adjusting image content for streaming panoramic video content
US10901502B2 (en) * 2019-06-27 2021-01-26 Facebook, Inc. Reducing head mounted display power consumption and heat generation through predictive rendering of content
US10989916B2 (en) * 2019-08-20 2021-04-27 Google Llc Pose prediction with recurrent neural networks
US11816914B2 (en) * 2019-09-05 2023-11-14 Humanising Autonomy Limited Modular predictions for complex human behaviors
US10871825B1 (en) * 2019-12-04 2020-12-22 Facebook Technologies, Llc Predictive eye tracking systems and methods for variable focus electronic displays

Patent Citations (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132420A1 (en) * 2003-12-11 2005-06-16 Quadrock Communications, Inc System and method for interaction with television content
US20100268578A1 (en) * 2007-12-13 2010-10-21 Kazuo Fushimi Information providing system
US7742623B1 (en) * 2008-08-04 2010-06-22 Videomining Corporation Method and system for estimating gaze target, gaze sequence, and gaze map from video
US9097890B2 (en) * 2010-02-28 2015-08-04 Microsoft Technology Licensing, Llc Grating in a light transmissive illumination system for see-through near-eye display glasses
US9097891B2 (en) * 2010-02-28 2015-08-04 Microsoft Technology Licensing, Llc See-through near-eye display glasses including an auto-brightness control for the display brightness based on the brightness in the environment
US10180572B2 (en) * 2010-02-28 2019-01-15 Microsoft Technology Licensing, Llc AR glasses with event and user action control of external applications
US10559019B1 (en) * 2011-07-19 2020-02-11 Ken Beauvais System for centralized E-commerce overhaul
US20130054377A1 (en) * 2011-08-30 2013-02-28 Nils Oliver Krahnstoever Person tracking and interactive advertising
US20140184550A1 (en) * 2011-09-07 2014-07-03 Tandemlaunch Technologies Inc. System and Method for Using Eye Gaze Information to Enhance Interactions
US20130073366A1 (en) * 2011-09-15 2013-03-21 Stephan HEATH System and method for tracking, utilizing predicting, and implementing online consumer browsing behavior, buying patterns, social networking communications, advertisements and communications, for online coupons, products, goods & services, auctions, and service providers using geospatial mapping technology, and social networking
US20130136304A1 (en) * 2011-11-30 2013-05-30 Canon Kabushiki Kaisha Apparatus and method for controlling presentation of information toward human object
US10142496B1 (en) * 2013-01-26 2018-11-27 Ip Holdings, Inc. Mobile device image capture and image modification including filters, superimposing and geofenced comments in augmented reality
US9870716B1 (en) * 2013-01-26 2018-01-16 Ip Holdings, Inc. Smart glasses and smart watches for real time connectivity and health
US20180364810A1 (en) * 2013-06-20 2018-12-20 Uday Parshionikar Gesture control via eye tracking, head tracking, facial expressions and other user actions
US20160309081A1 (en) * 2013-10-31 2016-10-20 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for leveraging user gaze in user monitoring subregion selection systems
US20150331485A1 (en) * 2014-05-19 2015-11-19 Weerapan Wilairat Gaze detection calibration
US20180008141A1 (en) * 2014-07-08 2018-01-11 Krueger Wesley W O Systems and methods for using virtual reality, augmented reality, and/or a synthetic 3-dimensional information for the measurement of human ocular performance
US20170256283A1 (en) * 2014-09-08 2017-09-07 Sony Corporation Information processing device and information processing method
US20160094944A1 (en) * 2014-09-30 2016-03-31 Ebay Inc. Super geo-fences and virtual fences to improve efficiency of geo-fences
US20160188585A1 (en) * 2014-12-27 2016-06-30 Lenitra Durham Technologies for shared augmented reality presentations
US20160364881A1 (en) * 2015-06-14 2016-12-15 Sony Computer Entertainment Inc. Apparatus and method for hybrid eye tracking
US20170169602A1 (en) * 2015-12-09 2017-06-15 Imagination Technologies Limited Foveated Rendering
US20170213388A1 (en) * 2016-01-25 2017-07-27 Jeffrey Neil Margolis Frame Projection For Augmented Reality Environments
US20170289219A1 (en) * 2016-03-31 2017-10-05 Verizon Patent And Licensing Inc. Prediction-Based Methods and Systems for Efficient Distribution of Virtual Reality Media Content
US20170364920A1 (en) * 2016-06-16 2017-12-21 Vishal Anand Security approaches for virtual reality transactions
US20190244407A1 (en) * 2016-08-10 2019-08-08 Zeekit Online Shopping Ltd. System, device, and method of virtual dressing utilizing image processing, machine learning, and computer vision
US20180046851A1 (en) * 2016-08-15 2018-02-15 Apple Inc. Command processing using multimodal signal analysis
US20180079427A1 (en) * 2016-09-21 2018-03-22 Apple Inc. Gesture based control of autonomous vehicles
US20180159838A1 (en) * 2016-12-02 2018-06-07 Bank Of America Corporation Real Estate Property Project Analysis Using Augmented Reality User Devices
US20180158157A1 (en) * 2016-12-02 2018-06-07 Bank Of America Corporation Geo-targeted Property Analysis Using Augmented Reality User Devices
US20180232921A1 (en) * 2017-02-14 2018-08-16 Adobe Systems Incorporated Digital Experience Content Personalization and Recommendation within an AR or VR Environment
US20180253900A1 (en) * 2017-03-02 2018-09-06 Daqri, Llc System and method for authoring and sharing content in augmented reality
US20180284453A1 (en) * 2017-04-03 2018-10-04 Walmart Apollo, Llc Customer interaction system
US20180322674A1 (en) * 2017-05-06 2018-11-08 Integem, Inc. Real-time AR Content Management and Intelligent Data Analysis System
US20180373328A1 (en) * 2017-05-26 2018-12-27 Colopl, Inc. Program executed by a computer operable to communicate with head mount display, information processing apparatus for executing the program, and method executed by the computer operable to communicate with the head mount display
US20190005724A1 (en) * 2017-06-30 2019-01-03 Microsoft Technology Licensing, Llc Presenting augmented reality display data in physical presentation environments
US20190025586A1 (en) * 2017-07-13 2019-01-24 Colopl, Inc. Information processing method, information processing program, information processing system, and information processing apparatus
US10062414B1 (en) * 2017-08-22 2018-08-28 Futurewei Technologies, Inc. Determining a future field of view (FOV) for a particular user viewing a 360 degree video stream in a network
US20190183576A1 (en) * 2017-12-15 2019-06-20 Medtronic, Inc. Augmented reality solution to disrupt, transform and enhance cardiovascular surgical and/or procedural mapping navigation and diagnostics
US20200320300A1 (en) * 2017-12-18 2020-10-08 Naver Labs Corporation Method and system for crowdsourcing geofencing-based content
US20190221191A1 (en) * 2018-01-18 2019-07-18 Samsung Electronics Co., Ltd. Method and apparatus for adjusting augmented reality content
US20190244436A1 (en) * 2018-02-06 2019-08-08 Walmart Apollo, Llc Customized augmented reality item filtering system
US20190258365A1 (en) * 2018-02-22 2019-08-22 Magic Leap, Inc. Browser for mixed reality systems
US20210097775A1 (en) * 2018-02-22 2021-04-01 Magic Leap, Inc. Object creation with physical manipulation
US20190278555A1 (en) * 2018-03-08 2019-09-12 Bose Corporation User-interfaces for audio-augmented-reality
US20200412983A1 (en) * 2018-03-08 2020-12-31 Sony Interactive Entertainment Inc. Electronic device, head-mounted display, gaze point detector, and pixel data readout method
US20190311513A1 (en) * 2018-04-09 2019-10-10 At&T Intellectual Property I, L.P. Collaborative augmented reality system
US20210132686A1 (en) * 2018-05-11 2021-05-06 Square Enix Co., Ltd. Storage medium, augmented reality presentation apparatus, and augmented reality presentation method
US20190371065A1 (en) * 2018-05-29 2019-12-05 International Business Machines Corporation Augmented Reality Masking
US20180350144A1 (en) * 2018-07-27 2018-12-06 Yogesh Rathod Generating, recording, simulating, displaying and sharing user related real world activities, actions, events, participations, transactions, status, experience, expressions, scenes, sharing, interactions with entities and associated plurality types of data in virtual world
US20200053351A1 (en) * 2018-08-08 2020-02-13 At&T Intellectual Property I, L.P. Method and apparatus for navigating through panoramic content
US20210165484A1 (en) * 2018-08-24 2021-06-03 Sony Corporation Information processing device, information processing method, and program
US20200082463A1 (en) * 2018-09-06 2020-03-12 Bank Of America Corporation Providing Augmented Reality User Interfaces and Controlling Back-Office Data Processing Systems Based on Augmented Reality Events
US20200159011A1 (en) * 2018-11-15 2020-05-21 International Business Machines Corporation Predicted need notification for augmented reality eyeglasses
US20200242666A1 (en) * 2019-01-24 2020-07-30 Chian Chiu Li Location-Based Open Social Networks And Incentivization Methods
US20210350628A1 (en) * 2019-01-28 2021-11-11 Mercari, Inc. Program, information processing method, and information processing terminal
US10909405B1 (en) * 2019-03-04 2021-02-02 Facebook Technologies, Llc Virtual interest segmentation
US20200309558A1 (en) * 2019-03-26 2020-10-01 Snap Inc. Augmented reality guidance interface
US20200312323A1 (en) * 2019-03-27 2020-10-01 Honda Motor Co.,Ltd. Conversation device and conversation system
US20200320782A1 (en) * 2019-04-04 2020-10-08 Snap Inc. Location based augmented-reality system
US20210158897A1 (en) * 2019-04-05 2021-05-27 Lifebit Biotech Limited Bioactive compound effect and disease target predictions
US20200336668A1 (en) * 2019-04-16 2020-10-22 At&T Intellectual Property I, L.P. Selecting spectator viewpoints in volumetric video presentations of live events
US20200364290A1 (en) * 2019-05-16 2020-11-19 Microsoft Technology Licensing, Llc System and method for selecting relevant content in an enhanced view mode
US20210209676A1 (en) * 2019-05-27 2021-07-08 Vikrum Singh Deol Method and system of an augmented/virtual reality platform
US10712817B1 (en) * 2019-06-27 2020-07-14 Tobii Ab Image re-projection for foveated rendering
US20200012873A1 (en) * 2019-09-06 2020-01-09 Lg Electronics Inc. Driving guide method and apparatus for vehicle
US20210405959A1 (en) * 2020-06-29 2021-12-30 Facebook Technologies, Llc Generating augmented reality experiences utilizing physical objects to represent analogous virtual objects
US20220001238A1 (en) * 2020-07-01 2022-01-06 International Business Machines Corporation Cognitive based augmented reality workout
US11210863B1 (en) * 2020-08-24 2021-12-28 A9.Com, Inc. Systems and methods for real-time object placement in augmented reality experience
US20230252540A1 (en) * 2020-10-15 2023-08-10 Yogesh Rathod User applications store and connecting, registering, following with and synchronizing or accessing user data of user applications from/to parent application and other user applications
US20220156797A1 (en) * 2020-11-17 2022-05-19 At&T Intellectual Property I, L.P. Methods, devices, and systems for providing personalized immersive content in extended reality (xr) environments
US20220172440A1 (en) * 2020-12-01 2022-06-02 Samsung Electronics Co., Ltd. Extended field of view generation for split-rendering for virtual reality streaming
US20220188833A1 (en) * 2020-12-12 2022-06-16 Mastercard International Incorporated Facilitating payments in an extended reality system based on behavioral biometrics
US20210225186A1 (en) * 2020-12-30 2021-07-22 Central China Normal University 5th-GENERATION (5G) INTERACTIVE DISTANCE DEDICATED TEACHING SYSTEM BASED ON HOLOGRAPHIC TERMINAL AND METHOD FOR OPERATING SAME
US20220319126A1 (en) * 2021-03-31 2022-10-06 Flipkart Internet Private Limited System and method for providing an augmented reality environment for a digital platform
US20230070050A1 (en) * 2021-09-09 2023-03-09 At&T Intellectual Property I, L.P. Compositing non-immersive media content to generate an adaptable immersive content metaverse
US20230112174A1 (en) * 2021-10-08 2023-04-13 Synaptics Incorporated Attention cues for head-mounted display (hmd)
US20230130770A1 (en) * 2021-10-26 2023-04-27 Meta Platforms Technologies, Llc Method and a system for interacting with physical devices via an artificial-reality device
US20230146178A1 (en) * 2021-11-11 2023-05-11 Kickback Space Inc. Attention based audio adjustment in virtual environments
US11475635B1 (en) * 2021-12-22 2022-10-18 Hopin Ltd Systems and methods for creating and presenting virtual events

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11909583B1 (en) * 2022-09-09 2024-02-20 International Business Machines Corporation Predictive dynamic caching in edge devices when connectivity may be potentially lost
US20240089168A1 (en) * 2022-09-09 2024-03-14 International Business Machines Corporation Predictive dynamic caching in edge devices when connectivity may be potentially lost

Also Published As

Publication number Publication date
US11315326B2 (en) 2022-04-26
US20210110610A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
US20220254113A1 (en) Extended reality anchor caching based on viewport prediction
US11468619B2 (en) Animating digital graphics overlaid on visual media items based on dynamic attributes
CN111316334B (en) Apparatus and method for dynamically changing virtual reality environment
US10979752B1 (en) Generating media content items based on location information
KR102057592B1 (en) Gallery of messages with a shared interest
US11755275B2 (en) Generating augmented reality experiences utilizing physical objects to represent analogous virtual objects
US10423632B2 (en) Systems and methods for incrementally downloading augmented-reality effects
AU2014240569B2 (en) Image cropping according to points of interest
US10380774B2 (en) Rendering contiguous image elements
US20230300292A1 (en) Providing shared augmented reality environments within video calls
AU2018201348A1 (en) Real-world view of location-associated social data
US9201974B2 (en) Method and apparatus for incorporating media elements from content items in location-based viewing
US10878638B2 (en) Augmented-reality image processing
EP2797293B1 (en) Terminal device and content displaying method thereof, server and controlling method thereof
US20180004966A1 (en) Ad hoc target based photograph sharing
US20220044480A1 (en) System for three dimensional extension with multiscreen extended reality
US10827029B2 (en) Event management and presentation
EP4240012A1 (en) Utilizing augmented reality data channel to enable shared augmented reality video calls
US10565762B2 (en) Mitigation of bias in digital reality sessions
US10832482B2 (en) Augmented reality layers enhancement
US20120089908A1 (en) Leveraging geo-ip information to select default avatar
EP4034973A1 (en) Effective streaming of augmented-reality data from third-party systems
US20220406020A1 (en) Projecting virtual presences along a moving trajectory
US20170068990A1 (en) Providing Sponsored Content Items to a User
US11671575B2 (en) Compositing non-immersive media content to generate an adaptable immersive content metaverse

Legal Events

Date Code Title Description
AS Assignment

Owner name: AT&T INTELLECTUAL PROPERTY I, L.P., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:XU, TAN;GIBBON, DAVID CRAWFORD;HAN, BO;AND OTHERS;SIGNING DATES FROM 20191008 TO 20191014;REEL/FRAME:059703/0051

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE