Extended reality technologies such as virtual reality, augmented reality, mixed reality, and other such technologies allow users of extended reality media player devices to spend time in extended reality worlds that exist virtually and/or that represent real-world places that would be difficult, inconvenient, expensive, or impossible to visit in real life. As such, extended reality technologies may provide the users with a variety of entertainment, educational, vocational, and/or other enjoyable or valuable experiences that may be difficult or inconvenient to have otherwise.
It may be desirable for sound presented to a user experiencing an extended reality world to account for various characteristics affecting virtual propagation of that sound through the extended reality world. By accounting for such characteristics as accurately as possible, an extended reality experience may be made to be immersive, authentic, and enjoyable for the user. However, just as in the real world, certain extended reality worlds may include complex soundscapes in which virtual sounds from a variety of virtual sound sources all simultaneously propagate in complex ways through the extended reality world to arrive at an avatar of the user experiencing the world.
The accompanying drawings illustrate various embodiments and are a part of the specification. The illustrated embodiments are merely examples and do not limit the scope of the disclosure. Throughout the drawings, identical or similar reference numbers designate identical or similar elements.
Methods and systems for generating frequency-accurate acoustics for an extended reality world are described herein. For example, the methods and systems described herein may generate frequency-accurate procedural acoustics for the extended reality world. Conventionally, procedural generation techniques refer to data processing and content creation techniques whereby content (e.g., visual content representative of a virtual environment, etc.) is generated programmatically or algorithmically (e.g., based on predefined parameters) and on the fly as a user moves through the virtual environment, rather than being pre-generated and loaded from disk. Accordingly, as used herein, the term “procedural acoustics” will be used to refer to sound content that is generated programmatically and dynamically based on rules, algorithms, etc., that dictate how sound is to virtually propagate through an extended reality world. Additionally, the term “frequency-accurate” is applied herein to procedural acoustics to underscore the nature of the procedural acoustics techniques being described, particularly that physical acoustic effects (e.g., acoustic attenuation, diffraction, absorption, reverb, etc.) may be accurately modeled with respect to different frequency components of the sounds, rather than such acoustic effects being ignored or mimicked in ways that do not accurately model or account for the frequency components.
To implement frequency-accurate procedural acoustics for an extended reality world, an exemplary acoustics generation system (e.g., a procedural acoustics generation system) may access time-domain audio data representative of a virtual sound presented, within an extended reality world, to an avatar of a user experiencing the extended reality world. The acoustics generation system may transform this time-domain audio data into frequency-domain audio data representative of the virtual sound. For example, the acoustics generation system may use Fast Fourier Transform (“FFT”) or other similar techniques to convert the time-domain audio data accessed by the system into the frequency domain. Additionally, the acoustics generation system may access acoustic propagation data representative of characteristics affecting propagation of the virtual sound to the avatar within the extended reality world. For example, as will be described in more detail below, acoustic propagation data accessed by the system may indicate the pose of sound sources and/or the avatar within the extended reality world, locations and characteristics of virtual objects within the extended reality world that are capable of interacting with propagation of the virtual sound, and so forth.
Based on the frequency-domain audio data and the acoustic propagation data, the acoustics generation system may generate a frequency-domain binaural audio signal. For example, as will be described in more detail below, the frequency-domain binaural audio signal may be representative of the virtual sound as experienced by the avatar when the propagation of the virtual sound to the avatar is simulated in accordance with the characteristics affecting the propagation. The acoustics generation system may also transform the frequency-domain binaural audio signal into a time-domain binaural audio signal. The time-domain binaural audio signal may be configured for presentation to the user as the user experiences the extended reality world. As such, the time-domain binaural audio signal may be provided, as the user experiences the extended reality world using a media player device, to the media player device for rendering to each ear of the user during the extended reality experience.
In these ways, and as will be described in more detail below, exemplary acoustics generation systems described herein may provide immersive audio for users experiencing extended reality worlds, including extended reality worlds that have complex soundscapes. For example, systems and methods described herein may provide a time-domain binaural audio signal that represents various sounds concurrently originating from various virtual sound sources within an extended reality world and perceivable as having propagated through the extended reality world in a similar manner as real sounds propagate in the real world. For instance, the time-domain binaural audio signal may account for various characteristics that affect propagation of sound to an avatar such as the pose (i.e., location and orientation) of each virtual sound source, the pose of the avatar of the user (e.g., including which direction the avatar's head is facing), attenuation of virtual sound as it propagates through virtual space, diffraction and absorption of virtual sounds as they come into contact with virtual materials of occluding objects in the extended reality world, reverberation caused by virtual objects in the extended reality world, and so forth.
In some examples, the accessing and processing of the time-domain audio data and acoustic propagation data may be performed in real time as the user experiences the extended reality world. To accomplish this, as will be described in more detail below, some or all of the operations described above may be offloaded from the media player device to an implementation of the acoustics generation system configured to perform an arbitrary amount and intensity of computing with a very low latency to the media player device (e.g., by being implemented on a Multi-Access Edge Compute (“MEC”) server or the like). As such, the acoustics generation system may provide a procedurally-generated and highly immersive and frequency-accurate simulation of what the user would hear if he or she were actually located in the extended reality world with the pose of his or her avatar. Moreover, the acoustics generation system may do all this as the user enjoys his or her extended reality experience without any noticeable delay or latency.
Acoustics generation systems and methods described herein (e.g., including procedural acoustics generations systems and methods) may also provide various other benefits. In general, the time-domain binaural audio signals generated and provided by the systems described herein may make an extended reality world more sonically immersive and enjoyable. For example, rather than reproducing sound from disparate sound sources in a simple, layered mix (where different sounds may be difficult to distinguish or make sense of), frequency-domain binaural audio signals described herein represent virtual sounds that account for various characteristics affecting propagation of the sounds within the extended reality world. For example, virtual sound is reproduced so as to simulate the 3D geometry of the extended reality world and the poses of the virtual sound sources within it, as well as to simulate various aspects of how sound would propagate in the extended reality world if it were the real, physical world (e.g., accounting for natural acoustic attenuation as sound travels; accounting for acoustic interactions of sound with objects that occlude, absorb, reflect, or diffract the sounds; etc.). In this way, users experiencing the extended reality world with such immersive audio content may be able to better distinguish speech and otherwise make sense of sound using natural hearing cues and localization strategies such as those involving interaural level differences, interaural time differences, and so forth. This may assist the users in more easily navigating and operating within the extended reality world, thereby making their experiences within the world more enjoyable and meaningful.
In addition to these general benefits, the disclosed methods and systems may also provide various benefits and advantages that are specific to the frequency-accurate procedural acoustics techniques described herein. Physical and acoustic principles dictating how sound propagates in the real world are difficult and impractical to model for virtual sound represented in the time domain, and, as a result, are typically only roughly imitated or approximated using time-domain audio data directly. This is because, in the physical world, sound components at different frequencies behave differently from one another, even if all of the sound components originate as one sound from one sound source. To take acoustic attenuation as one example, Stokes's Law of sound attenuation states that sound signals attenuate exponentially over distance (e.g., according to the inverse square law) but that higher frequency components of a given sound signal attenuate at a higher rate than lower frequency components of the sound signal. Accordingly, to accurately model acoustic sound attenuation, different frequency components of the sound signal must be separated out and treated independently from one another, rather than being lumped together in a typical time-domain sound signal in which frequency components are not differentiated.
Performing frequency-accurate sound processing in the time domain may be possible, but would be impractical and inefficient. For example, by processing various copies of a time-domain audio data file using different band-pass filters associated with different frequencies, frequency-accurate sound processing may be performed, but would rely on relatively inefficient convolution operations to simulate frequency-dependent acoustic effects. Instead, it would be more practical and efficient to transform the sound signal from the time domain to the frequency domain where each frequency component is inherently separate from the others rather than lumped together, and where frequency-dependent acoustic effects may be simulated by efficient multiplication operations in place of the convolution operations mentioned above. Unfortunately, even in spite of the efficiency gains associated with frequency-domain processing, transforming a signal to the frequency domain may be a relatively costly operation in terms of computing resources and latency (e.g., time delay from when the transforming begins to when it is complete).
Due to these challenges, it has not conventionally been possible or practical for frequency-accurate procedural acoustics to be generated in either the time domain or the frequency domain for an extended reality world having even a somewhat complex soundscape and presented to a user using a media player device. For example, typical media player devices may lack the computing resources to perform such frequency-accurate procedural acoustics in either the time or frequency domain, while other computing resources that are better equipped to quickly perform such processing (e.g., servers to which the media player devices may be communicatively coupled) have conventionally been associated with an unacceptable amount of latency with respect to the real-time nature of extended reality experiences provided by the media player device.
Advantageously, acoustics generation methods and systems described herein allow for the generating of frequency-accurate acoustics for an extended reality world using scalable computing resources with an arbitrarily large wealth of computing power all while avoiding latency issues. For example, various operations described herein may be performed by a network-edge-deployed server (e.g., a MEC server, etc.) with plentiful computing resources and extremely low latency to media player devices communicatively coupled thereto. In this way, acoustics generation methods and systems described herein may be configured to truly model physical acoustics and sound propagation in a frequency-accurate manner, rather than approximating or mimicking such acoustics in the time domain as may have been performed conventionally.
Various embodiments will now be described in more detail with reference to the figures. The disclosed systems and methods may provide one or more of the benefits mentioned above and/or various additional and/or alternative benefits that will be made apparent herein.
Storage facility 102 may maintain (e.g., store) executable data used by processing facility 104 to perform any of the functionality described herein. For example, storage facility 102 may store instructions 106 that may be executed by processing facility 104. Instructions 106 may be executed by processing facility 104 to perform any of the functionality described herein, and may be implemented by any suitable application, software, code, and/or other executable data instance. Additionally, storage facility 102 may also maintain any other data accessed, managed, used, and/or transmitted by processing facility 104 in a particular implementation.
Processing facility 104 may be configured to perform (e.g., execute instructions 106 stored in storage facility 102 to perform) various functions associated with generating frequency-accurate procedural acoustics for an extended reality world. For example, processing facility 104 may be configured to access (e.g., receive, input, load, generate, etc.) time-domain audio data representative of a virtual sound that is presented (e.g., within an extended reality world) to an avatar of a user (e.g., a user experiencing the extended reality world vicariously by way of the avatar). Processing facility 104 may be configured to transform (e.g., using an FFT algorithm or the like) the time-domain audio data into frequency-domain audio data representative of the virtual sound. Additionally, processing facility 104 may be configured to access acoustic propagation data representative of characteristics affecting propagation of the virtual sound to the avatar within the extended reality world.
Based on the frequency-domain audio data into which the accessed time-domain audio data is transformed and based on the accessed acoustic propagation data representative of the propagation characteristics, processing facility 104 may be configured to generate a frequency-domain binaural audio signal. For example, the frequency-domain binaural audio signal may include a frequency-domain audio signal associated with the left ear and a frequency-domain audio signal associated with the right ear, the combination of which represent the virtual sound as experienced by the avatar (e.g., by the left and right ears of the avatar, specifically) when the propagation of the virtual sound to the avatar is simulated in accordance with the characteristics affecting the propagation. Processing facility 104 may further be configured to transform the frequency-domain binaural audio signal into a time-domain binaural audio signal. For example, the time-domain binaural audio signal may be configured for presentation to the user as the user experiences the extended reality world, and, as such, may be provided to a media player device being used by the user to experience the extended reality world.
In some examples, system 100 may be configured to operate in real time so as to access and process the data and signals described above (e.g., time-domain and frequency-domain audio data, acoustic propagation data, time-domain and frequency-domain binaural audio signals, etc.) as quickly as the data and signals are generated or otherwise become available. As a result, system 100 may generate and provide a time-domain binaural audio signal configured for presentation to a user within milliseconds of when the time-domain audio data upon which the time-domain binaural audio signal is based is generated or received.
As used herein, operations may be performed in “real time” when they are performed immediately and without undue delay. In some examples, real-time data processing operations may be performed in relation to data that is highly dynamic and time sensitive (i.e., data that becomes irrelevant after a very short time) such as data representative of poses of the avatar of the user within the extended reality world (e.g., where the avatar is located, which direction the avatar's head is turned, etc.), poses of virtual sound sources and other objects (e.g., sound-occluding objects) within the extended reality world, and the like. As such, real-time operations may generate frequency-accurate procedural acoustic signals for an extended reality world while the data upon which the procedural acoustic signals are based is still relevant.
The amount of time that data such as acoustic propagation data remains relevant may be determined based on an analysis of psychoacoustic considerations determined in relation to users as a particular implementation is being designed. For instance, in some examples, it may be determined that procedurally-generated audio content that is responsive to user actions (e.g., head movements, etc.) within approximately 20-50 milliseconds (“ms”) may not be noticed or perceived by most users as a delay or a lag, while longer periods of latency such as a lag of greater than 100 ms may be distracting and disruptive to the immersiveness of a scene. As such, in these examples, real-time operations may refer to operations performed within milliseconds (e.g., within about 20-50 ms, within about 100 ms, etc.) so as to dynamically provide an immersive, up-to-date binaural audio stream to the user that accounts for changes occurring in the characteristics that affect the propagation of virtual sounds to the avatar (e.g., including the head movements of the user, etc.).
In order to experience the extended reality world,
In some examples, system 100 may be configured to generate frequency-accurate procedural acoustics for only a single virtual sound or for only virtual sounds originating from a single sound source within an extended reality world. In other examples, system 100 may be configured to generate frequency-accurate procedural acoustics for a variety of different virtual sounds and different types of virtual sounds originating from a variety of different virtual sound sources and different types of virtual sound sources. Specifically, for example, along with accessing one instance of time-domain audio data as described above, system 100 may further access additional time-domain audio data representative of an additional virtual sound presented to the avatar within the extended reality world. The additional virtual sound may originate from a second virtual sound source that is distinct from a first virtual sound source from which the virtual sound originates. Moreover, along with transforming the time-domain audio data into frequency-domain audio data, system 100 may further transform the additional time-domain audio data into additional frequency-domain audio data representative of the additional virtual sound. In such multi-sound examples, the accessed acoustic propagation data representative of the characteristics affecting the propagation of the virtual sound may be further representative of characteristics affecting propagation of the additional virtual sound to the avatar within the extended reality world. Additionally, in these examples, system 100 may generate the frequency-domain binaural audio signal representative of the virtual sound as experienced by the avatar to be further representative of the additional virtual sound as experienced by the avatar when the propagation of the additional virtual sound to the avatar is simulated in accordance with the characteristics affecting propagation of the additional virtual sound to the avatar. In this way, user 202 may be presented with simultaneous virtual sounds each configured to be perceived as originating from a different virtual sound source within the extended reality world.
The exemplary implementation of world 206 illustrated in
Each of the characters may interact with one another, interact with world 206, and otherwise behave in any manner as may be appropriate in the context of world 206 and/or in any manner as the users experiencing world 206 may choose. For example, avatars 208-1 and 208-2 may be engaged in a virtual chat with one another, avatar 208-3 may be engaged in a phone call with someone who is not represented by an avatar within world 206, avatars 208-4 and 208-5 may be engaged in listening and/or discussing media content being presented within world 206, avatar 208-6 may be giving instructions or asking questions to the embodied intelligent assistant 212 (which intelligent assistant 212 may respond to), non-player character 210 may be making sound effects or the like as it moves about within world 206, and so forth. Additionally, virtual loudspeakers 214 may originate sound such as media content to be enjoyed by users experiencing the world. For instance, virtual loudspeakers 214-1 through 214-4 may present background music or the like, while virtual loudspeakers 214-5 and 214-6 may present audio content associated with a video presentation being experienced by users associated with avatars 208-4 and 208-5.
As the characters and virtual loudspeakers originate virtual sounds in these and other ways, system 100 may simulate a propagation of the virtual sounds to an avatar associated with user 202. As shown, the avatar of user 202 is labeled with a reference designator 202 and, as such, may be referred to herein as “avatar 202.” It will be understood that avatar 202 may be a virtual embodiment of user 202 within world 206. Accordingly, for example, when user 202 turns his or her head in the real world (e.g., as detected by media player device 204), avatar 202 may correspondingly turn his or her head in world 206. User 202 may not actually see avatar 202 in his or her view of world 206 because the field of view of user 202 may be simulated to be the field of view of avatar 202. However, even if not explicitly seen, it will be understood that avatar 202 may still be modeled in terms of characteristics that may affect sound propagation (e.g., head shadow, etc.). Additionally, in examples such as world 206 in which multiple users are experiencing the extended reality world together, other users may be able to see and interact with avatar 202, just as user 202 may be able to see and interact with avatars 208 from the vantage point of avatar 202.
Virtual sounds originating from each of characters 208 through 212 and/or virtual loudspeakers 214 may propagate through world 206 to reach the virtual ears of avatar 202 in a manner that simulates the propagation of sound in a real-world scene equivalent to world 206. For example, virtual sounds that originate from locations relatively nearby avatar 202 and/or toward which avatar 202 is facing may be reproduced such that avatar 202 may hear the sounds relatively well (e.g., because they are relatively loud, etc.). Conversely, virtual sounds that originate from locations relatively far away from avatar 202 and/or from which avatar 202 is turned away may be reproduced such that avatar 202 may hear the sounds to be relatively quiet (e.g., because they attenuate over distance, are absorbed by objects in the scene, etc.). Additionally, as shown in
To illustrate the complexity of sound propagation associated with world 206 more specifically,
For example, while avatars 208-4 and 208-5 may be watching a video presentation presented on a virtual screen 218 that is associated with audio virtually originating from virtual loudspeakers 214-5 and 214-6, the virtual sound originating for this video presentation may be easily perceivable by users associated with avatars 208-4 and 208-5 (i.e., since they are relatively nearby and not occluded from virtual loudspeakers 214-5 and 214-6) while being difficult to perceive by user 202 (i.e., due to simulated attenuation over the distance between avatar 202 and virtual loudspeakers 214-5 and 214-6, due to simulated diffraction and occlusion from objects 216 such as the walls between the rooms and the furniture object, etc.). In contrast, music presented over virtual loudspeakers 214-1 through 214-4 in the room in which avatar 202 is located may be easily perceivable by user 202 and users associated with avatars 208-1 through 208-3, while being less perceivable (e.g., but perhaps not completely silent) for users associated with avatars located in the other room (i.e., avatars 208-4 through 208-6).
As shown by respective dashed lines in soundscape 302, each of virtual sound sources 304 may be associated with a physical sound source that generates or originates the real sound upon which the virtual sounds originating from virtual sound sources 304 are based. For example, as shown, each of virtual sound sources 304-1 through 304-8, which are associated with different users or other characters, may correspond to different respective physical sound sources 308 (e.g., sound sources 308-1 through 308-8). Similarly, groups of related virtual sound sources such as virtual sound sources 304-9 through 304-12 (which may be associated with virtual loudspeakers 214 that are all configured to present the same content) or virtual sound sources 304-13 and 304-14 (which may be associated with virtual loudspeakers 214 that are both configured to present content associated with a video presentation shown on virtual screen 218) may correspond to different respective physical sound sources 310 (i.e., sound sources 310-1 and 310-2). Specifically, sound source 310-1 is shown to correspond to the group of virtual sound sources including virtual sound sources 304-9 through 304-12 while sound source 310-2 is shown to correspond to the group of virtual sound sources including virtual sound sources 304-13 and 304-14. Additionally, respective virtual sounds 306 are shown to originate from each of virtual sound sources 304. It will be understood that virtual sounds 306 may propagate through world 206 (i.e., through soundscape 302) to reach avatar 202 in any of the ways described herein.
Each of sound sources 308 and 310 may be separate and distinct sound sources. For example, sound source 308-1 may be a real-world microphone capturing speech from a user associated with avatar 208-1, and a virtual sound 306 originating from virtual sound source 304-1 may be based on a real-time microphone-captured sound originating from the user associated with avatar 208-1 as the user experiences the multi-user extended reality world. Similarly, sound source 308-2 may be a different real-world microphone capturing speech from a user associated with avatar 208-2 (who may be in a different real-world location than the user associated with avatar 208-1), and a virtual sound 306 originating from virtual sound source 304-2 may be based on a real-time microphone-captured sound originating from this user as he or she experiences the multi-user extended reality world and, in the example shown, chats with the user associated with avatar 208-1.
Other virtual sounds 306 associated with other virtual sound sources 304 may similarly come from microphones associated with respective users, or may come from other real-world sources. For instance, sound source 308-3 may include a telephonic system that provides telephonic speech data as the user associated with avatar 208-3 engages in a telephone conversation, sound source 308-7 may include a storage facility (e.g., a hard drive or memory associated with a media player device or world management system) that stores prerecorded sound effects or speech that are to originate from non-player character 210, recorded sound source 308-8 may include a speech synthesis system that generates speech and other sounds associated with intelligent assistant 212, and so forth for any other live-captured, prerecorded, or synthesized sound sources as may serve a particular implementation.
As shown, sound sources 310 may each be associated with a plurality of related virtual sound sources 304. Specifically, as illustrated by dashed lines connecting each of virtual sound sources 304-9 through 304-12, a sound generated by sound source 310-1 may correspond to virtual sounds generated by each of virtual sound sources 304-9 through 304-12. For example, sound source 310-1 may be a music playback system, an audio content provider system (e.g., associated with an online music service, a radio station broadcast, etc.), or any other device capable of originating prerecorded or synthesized audio (e.g., music, announcements, narration, etc.) that may be presented in world 206. Similarly, as illustrated by dashed lines connecting both of virtual sound sources 304-13 and 304-14, a sound generated by sound source 310-1 may correspond to virtual sounds generated by both virtual sound sources 304-13 and 304-14. For example, sound source 310-1 may be a video playback system, a video content provider system (e.g., associated with an online video service, a television channel broadcast, etc.), or any other device capable of originating prerecorded or synthesized audio (e.g., standard video content, 360° video content, etc.) that may be presented in world 206.
Along with speech, media content, and so forth, virtual sounds 306 originating from one or more of virtual sound sources 304 may also include other sounds configured to further add to the realism and immersiveness of world 206. For example, virtual sounds 306 may include ambient and/or environmental noise, sound effects (e.g., Foley sounds, etc.).
Time-domain audio data 312 is shown to represent audio data (e.g., audio files, audio streams, etc.) accessed by system 100 from each of the disparate sound sources 308 and 310. While time-domain audio data 312 is illustrated as a single line connecting all of sound sources 308 and 310, it will be understood that each sound source 308 and 310 may be configured to communicate independently with system 100 (e.g., with a dedicated communication path rather than being daisy chained together as is depicted for illustrative convenience) and may communicate directly or by way of one or more networks (not explicitly shown).
Additionally,
As was shown and described above in relation to
As one example, certain instances or parts of time-domain audio data 312 may be comprised within one or more audio data files such as illustrated in
As an additional or alternative example, other instances or parts of time-domain audio data 312 may be made up of a plurality of discrete data portions, as illustrated in
Using either or both of the file-processing and stream-processing models, or any other suitable data-processing models, system 100 may access and process any of the various types of audio data from any of the various types of sounds sources described herein. For example, certain instances or parts of time-domain audio data 312 may be captured live by microphones used by users located in different places (e.g., in different parts of the country or the world) such as by headset microphones used to enable chat features during a shared extended reality experience. Other instances or parts of time-domain audio data 312 may be accessed from a storage facility (e.g., loaded from disk after being prerecorded and stored there), synthesized in real time, streamed from a media service (e.g., a music or video streaming service), or accessed in any other suitable manner from any other suitable sound source.
Returning to
After decoding time-domain audio data 312 from one or more encoded audio data formats to the raw audio data format in block 406-1, system 100 may transform the raw time-domain audio data 312 into frequency-domain audio data in block 406-2. Frequency-domain audio data, as used herein, refers to data representing, in the frequency domain, sound or audio signals originating from one or more sound sources. For example, frequency-domain audio data may be generated based on time-domain audio data by way of an FFT technique or other suitable transform technique that may be performed in block 406-2. In contrast with time-domain audio data (which, as described above, may represent sound as acoustic energy as a function of time), frequency-domain audio data may represent a magnitude spectrum for a particular sound signal. For example, the magnitude spectrum may include complex coefficients (e.g., FFT coefficients) for each of a plurality of frequencies or frequency ranges associated with the sound signals, each complex coefficient including a real portion and an imaginary portion that, in combination, represent 1) a magnitude of acoustic energy at a particular frequency of the plurality of frequencies, and 2) a phase of the acoustic energy at the particular frequency. As with time-domain audio data, frequency-domain audio data may refer, in certain contexts, to data representative of a single sound originating from a single sound source, and may refer, in other contexts, to a plurality of sounds originating from a plurality of different sound sources.
Based on the raw time-domain audio data output from block 406-1, block 406-2 generates frequency-domain audio data including various different components associated with each frequency in the plurality of frequencies with which the frequency transform (e.g., the FFT technology implementation, etc.) is associated. For example, if the frequency transform being performed in block 406-2 is configured to transform time-domain audio data into frequency-domain audio data with respect to N different frequencies (e.g., frequency ranges, frequency bins, etc.), N distinct frequency component signals (e.g., sets of complex coefficients) may be output from block 406-2 to be used to generate a frequency-domain binaural audio signal in block 406-3.
To illustrate in additional detail,
Together with frequency component signals 602, block 406-3 is also shown to input acoustic propagation data 316 comprising world propagation data 316-1 and listener propagation data 316-2. Acoustic propagation data 316 may include any data that is descriptive or indicative of how virtual sound propagates within world 206 in any way. In particular, world propagation data 316-1 may describe various aspects of world 206 and the virtual objects within world 206 that affect how sound propagates from a virtual sound source (e.g., any of virtual sound sources 304 in
World propagation data 316-1 may include data describing virtual objects within world 206 such as any of virtual objects 216 illustrated in
Just as world propagation data 316-1 may dynamically describe a variety of propagation effects that objects 216 included within world 206 may have, world propagation data 316-1 may further dynamically describe propagation effects of a variety of virtual sound sources from which virtual sounds heard by avatar 202 may originate. For example, world propagation data 316-1 may include real-time information about poses, sizes, shapes, materials, and environmental considerations of one or more virtual sound sources included in world 206 (e.g., each of virtual sound sources 304). Thus, for example, if a virtual sound source 304 implemented as an avatar of another user turns to face avatar 202 directly or moves closer to avatar 202, world propagation data 316-1 may include data describing this change in pose that may be used to make the audio more prominent (e.g., louder, less attenuated, more pronounced, etc.) in the binaural audio signal ultimately presented to user 202. In contrast, world propagation data 316-1 may similarly include data describing a pose change of the virtual sound source 304 when turning to face away from avatar 202 and/or moving farther from avatar 202, and this data may be used to make the audio less prominent (e.g., quieter, more attenuated, less pronounced, etc.) in the rendered composite audio stream.
As mentioned above, listener propagation data 316-2 may describe real-time pose changes of avatar 202 itself. For example, listener propagation data 316-2 may describe movements (e.g., head turn movements, point-to-point walking movements, etc.) performed by user 202 that cause avatar 202 to change pose within world 206. When user 202 turns his or her head, for instance, the interaural time differences, interaural level differences, and others cues that may assist user 202 in localizing sounds within world 206 may need to be recalculated and adjusted in the binaural audio signal being provided to media player device 204 in order to properly model how virtual sound arrives at the virtual ears of avatar 202. Listener propagation data 316-2 thus tracks these types of variables and provides them to system 100 so that head turns and other movements of user 202 may be accounted for in real time in any manner described herein or as may serve a particular implementation. For example, listener propagation data 316-2 may include real-time head pose data that dynamically indicates a pose (i.e., a location and an orientation) of a virtual head of avatar 202 with respect to a sound source originating a particular virtual sound within world 206, and a head-related transfer function based on the real-time head pose data may be applied to the frequency-domain audio data of frequency component signals 602 during the processing of block 406-3.
While the different types of acoustic propagation data 316 (i.e., world propagation data 316-1 and listener propagation data 316-2) are described in this example as coming from distinct sources (e.g., from world management system 314 and from media player device 204), it will be understood that, in certain examples, all of the acoustic propagation data 316 may originate from a single data source. For example, acoustic propagation data 316 may all be managed and provided by media player device 204 in certain examples.
As shown in
After processing by sub-blocks 604, frequency-domain audio data 602 is shown to be provided to and processed by a binaural render sub-block 606. While the different types of acoustic propagation data 316 are shown in
Based on frequency-domain audio data 602 and acoustic propagation data 316, and using sub-blocks 604 and 606, block 406-3 may be configured to generate a frequency-domain binaural audio signal 608. As shown, frequency-domain binaural audio signal 608 includes two distinct frequency-domain audio signals, one labeled “L” and intended for the left ear of user 202 and one labeled “R” and intended for the right ear of user 202. Each of these frequency-domain audio signals is shown to include N frequency component signals corresponding to the same N frequencies used by block 406-2. However, as will now be described in more detail, after being processed in each of sub-blocks 604 and 606, the left-side and right-side portions of frequency-domain binaural audio signal 608 may be representative of slightly different sounds to thereby provide the user with frequency-accurate procedural acoustics.
Sub-block 604-1 may be configured, by processing frequency-domain audio data 602 in accordance with world acoustic propagation data 316-1, to provide frequency-accurate acoustic attenuation of the virtual sound represented by frequency-domain audio data 602. As mentioned above, non-frequency-accurate approximations of frequency-accurate acoustic attenuation may be employed by certain conventional approaches, but such approximations are lacking. For example, time-domain audio data may be attenuated in accordance with the inverse square law without regard to frequency components of the sound represented by the time-domain audio data or by a relatively crude and arbitrary accounting for higher and lower frequencies distinguished by a low-pass filtering of the time-domain audio data or the like.
To improve upon such conventional techniques, sub-block 604-1 may model true frequency-dependent acoustic attenuation using the frequency component signals of frequency-domain audio data 602. For example, sub-block 604-1 may model attenuation based on Stokes's law of sound attenuation, which, as mentioned above, is frequency dependent and thus could not be suitably modeled using time-domain audio data that does not account for different frequency components. Stokes's law reflects the physical reality that acoustic attenuation per unit distance does not occur uniformly for all sound, but rather is dependent on frequency. For example, higher frequency components of a sound signal attenuate or drop off at a more rapid rate in the physical world than lower frequency components of the same sound signal. Sub-block 604-1 may simulate this frequency-accurate acoustic attenuation by individually attenuating each of frequency component signals 602 by a different amount. For example, if higher-numbered frequency component signals 602 are understood to represent higher frequencies (i.e., such that frequency component signal 602-N represents the highest frequency and frequency component signal 602-1 represents the lowest frequency), system 100 may apply, in accordance with Stokes's Law, a relatively small amount of attenuation to frequency component signal 602-1, slightly more attenuation to frequency component signal 602-2, and so forth, until applying a relatively large amount of attenuation to frequency component signal 602-N.
Put another way, the frequency-domain audio data may comprise audio data for a plurality of distinct frequency components of the virtual sound, where this plurality of distinct frequency components includes a first frequency component associated with a first frequency (e.g., frequency component signal 602-1) and a second frequency component associated with a second frequency (e.g., frequency component signal 602-2). The generating of frequency-domain binaural audio signal 608 may therefore comprise independently simulating a first attenuation of the first frequency component and a second attenuation of the second frequency component, where the first attenuation is simulated based on the first frequency, the second attenuation is simulated based on the second frequency, and the first and second attenuations are different from one another.
In addition or as an alternative to the frequency-accurate attenuation described above, sub-block 604-2 may be configured, by processing frequency-domain audio data 602 in accordance with world acoustic propagation data 316-1, to provide frequency-accurate acoustic diffraction of the virtual sound represented by frequency-domain audio data 602. As with non-frequency-accurate acoustic attenuation approximations described above, non-frequency-accurate approximations of acoustic diffraction (e.g., using sound projection cones or the like) would be lacking in comparison to truly modeling frequency-accurate acoustic diffraction simulation. To this end, sub-block 604-2 may be configured to model frequency-dependent acoustic diffraction using the frequency component signals of frequency-domain audio data 602. For example, in a similar manner as described above in relation to acoustic attenuation, sub-block 604-2 may model real-world physical principles to, for example, simulate the tendency of relatively low frequency components to diffract around certain objects (e.g., be bent around the objects rather than be reflected or absorbed by them) while simulating the tendency of relatively high frequency components to reflect or be absorbed by the objects rather than diffracting around them. Accordingly, for example, if a virtual sound source 304 is facing away from a listener such as avatar 202, processing performed by sub-block 604-2 would deemphasize higher frequencies that would be blocked while emphasizing lower frequencies that would better diffract around obstacles to reach avatar 202.
Accordingly, similarly as described above in relation to acoustic attenuation, the frequency-domain audio data may comprise audio data for a plurality of distinct frequency components of the virtual sound, and this plurality of distinct frequency components may include a first frequency component associated with a first frequency (e.g., frequency component signal 602-1) and a second frequency component associated with a second frequency (e.g., frequency component signal 602-2). The generating of frequency-domain binaural audio signal 608 may therefore comprise independently simulating a first diffraction of the first frequency component and a second diffraction of the second frequency component, where the first diffraction is simulated based on the first frequency, the second diffraction is simulated based on the second frequency, and the first and second diffractions are different from one another.
Moreover, in addition or as an alternative to the frequency-accurate attenuation and diffraction that have been described, sub-block 604-3 may be configured, by processing frequency-domain audio data 602 in accordance with world acoustic propagation data 316-1, to provide frequency-accurate acoustic absorption of the virtual sound. As with non-frequency-accurate acoustic attenuation and diffraction approximations described above, any non-frequency-accurate approximations of acoustic absorption would be lacking in comparison to truly modeling frequency-accurate acoustic absorption simulation. To this end, sub-block 604-3 may be configured to model frequency-dependent acoustic absorption using the frequency component signals of frequency-domain audio data 602. For example, in a similar manner as described above in relation to acoustic attenuation and diffraction, sub-block 604-3 may model real-world physical principles to, for example, simulate the tendency of relatively low frequency components to refract or transfer to a different medium (e.g., from one solid, liquid, or gas medium to another) with minimal signal impact while simulating a greater signal impact when relatively high frequency components refract or transfer to a different medium.
Accordingly, similarly as described above in relation to acoustic attenuation and diffraction, the frequency-domain audio data may comprise audio data for a plurality of distinct frequency components of the virtual sound, and this plurality of distinct frequency components may include a first frequency component associated with a first frequency (e.g., frequency component signal 602-1) and a second frequency component associated with a second frequency (e.g., frequency component signal 602-2). The generating of frequency-domain binaural audio signal 608 may therefore comprise independently simulating a first absorption of the first frequency component and a second absorption of the second frequency component, where the first absorption is simulated based on the first frequency, the second absorption is simulated based on the second frequency, and the first and second absorptions are different from one another.
In addition or as an alternative to any of the frequency-accurate acoustic simulation described above, block 406-3 may be further configured, by processing frequency-domain audio data 602 in accordance with world acoustic propagation data 316-1, to provide other suitable types of frequency-accurate acoustic simulation on the virtual sound. For example, system 100 may, in block 604-4, provide frequency-accurate acoustic refraction simulation, acoustic reverberation simulation, acoustic scattering simulation, acoustic Doppler simulation, and/or any other acoustic simulation as may serve a particular implementation.
Once frequency-accurate acoustic simulation has been applied by sub-blocks 604, block 406-3 may also process data in sub-block 606 to generate frequency-domain binaural audio signal 608. As mentioned above, while only a single frequency-domain audio signal is shown to be provided to sub-block 606, it will be understood that a plurality of such signals (e.g., one for each sound and/or sound source within world 206) may be provided in certain implementations to allow sub-block 606 to properly mix and combine all of the signals during the generation of frequency-domain binaural audio signal 608.
Sub-block 606 may be configured to take in frequency-domain audio signals for each sound once frequency-accurate acoustic simulation has been applied in any or all of the ways described above. Sub-block 606 may also be configured to input listener propagation data 316-2, as shown. Based on this frequency-domain audio data and acoustic propagation data, sub-block 606 may be configured to generate a three-dimensional (“3D”) audio representation of all the virtual sounds represented within all the frequency-domain audio data instances transformed from time-domain audio data 312. Specifically, sub-block 606 may generate the 3D audio representation to be customized to account for characteristics that affect the propagation of the virtual sounds to avatar 202 (e.g., characteristics described in listener propagation data 316-2 and that have not yet been accounted for by sub-blocks 604). Sub-block 606 may generate this 3D audio representation in any manner and using any 3D surround sound technologies or formats as may serve a particular implementation. For example, the 3D audio representation may be simulated using an AMBISONIC full-sphere surround sound technology, a 5.1 surround sound technology, a 7.1 surround sound technology, or any other surround sound technology as may serve a particular implementation.
As shown, the 3D audio representation generated by sub-block 606 may take into account listener propagation data 316-2 such as the real-time location of avatar 202 and the pose of the head of avatar 202 within world 206 (e.g., with respect to each of the virtual sound sources and objects included in world 206). Accordingly, the 3D audio representation generated by sub-block 606 may represent 3D audio with respect to the position of avatar 202 within world 206 as well as with respect to the orientation of avatar 202 (e.g., the head pose of avatar 202) at that position.
In some examples, it may be desirable to provide the 3D representation to a media player device that provides audio to a user using a 3D surround sound setup (e.g., with statically positioned speakers in a room). However, as illustrated in the example of media player device 204, where audio is provided by audio headset 204-2 being worn by user 202 as he or she moves and turns his or her head, it may be desirable in other examples to generate a binaural audio stream to provide to media player device 204 that will account for the dynamic orientation (e.g., head turns) of avatar 202 within audio presented by audio headset 204-2. Additionally, it also may be desirable for system 100 to convert the 3D audio representation to a binaural audio representation to be transmitted to and played back by media player device 204 for other reasons. For example, while sub-block 606 may generate the 3D audio representation using an arbitrary number of channels each associated with different 3D directions from which sound may originate, the data for all of these channels may not be useful to media player device 204 if audio headset 204-2 is implemented as a binaural headset (i.e., a headset with two speakers providing sound for the two ears of user 202). As such, it would be inefficient to transmit data representative of all these channels (i.e., rather than merely data for two binaural channels) and/or for media player device 204 to perform a binaural conversion using its own limited computing resources (i.e., rather than offloading this task to the implementation of system 100 on a server such as a network-edge-deployed server).
To this end, sub-block 606 may be configured to generate, based on listener propagation data 316-2 representative of the dynamic orientation of avatar 202 (e.g., including real-time head-turn data), frequency-domain binaural audio signal 608 to be representative of the 3D audio representation. Frequency-domain binaural audio signal 608 may include only two channels (i.e., left and right), but may account, in real-time, for the spatial characteristics of sound propagation with respect to the orientation of avatar 202. As shown by the “N” indicators on each of the left and right signals, frequency-domain binaural audio signal 608 is still in the frequency domain and thus includes two sets of N frequency component signals (i.e., one for left and one for right).
As shown in
Returning to the high-level view of blocks 406-2 through 406-4 in
Implementations of system 100 such as implementation 400 may be configured for use in various configurations and use cases that will now be described. For example, certain implementations may be configured for single-user use such as for a user playing a single-player game, watching an extended reality media program such as an extended reality television show or movie, or the like. Such configurations will be described below with respect to
While not explicitly illustrated herein, it will be understood that still other implementations of system 100 may be configured in other ways, such as to provide live, real-time capture of real-world events (e.g. athletic events, music concerts, etc.) or the like. Various use cases not explicitly described herein may also be served by certain implementations of system 100. For example, such use cases may involve volumetric virtual reality use cases in which real-world scenes are captured (e.g., not necessarily in real-time or for live events), virtual reality use cases involving completely virtualized (i.e., computer-generated) representations, augmented reality use cases in which certain objects are imposed over a view of the actual real-world environment within which the user is located, video game use cases involving conventional 3D video games, and so forth. While the configurations illustrated in
As system 100 accesses acoustic propagation data 316 from media player device 204 and accesses time-domain audio data 312 from any of the sound sources described herein, system 100 may render time-domain binaural audio signal 318 in any of the ways described herein. As shown, upon rendering time-domain binaural audio signal 318, system 100 may also transmit time-domain binaural audio signal 318 to media player device 204 for presentation to user 202 as user 202 experiences the single-user extended reality world.
As illustrated in
Network 702 may provide data delivery means between server-side extended reality provider systems that are not explicitly shown in
In order to distribute extended reality content from provider systems to client devices such as media player device 204, network 702 may include a provider-specific wired or wireless network (e.g., a cable or satellite carrier network, a mobile telephone network, a traditional telephone network, a broadband cellular data network, etc.), the Internet, a wide area network, a content delivery network, and/or any other suitable network or networks. Extended reality content may be distributed using any suitable communication technologies implemented or employed by network 702. Accordingly, data may flow between extended reality provider systems and media player device 204 using any communication technologies, devices, media, and protocols as may serve a particular implementation.
The network-edge-deployed server upon which system 100 is shown to be implemented may include one or more servers and/or other suitable computing systems or resources that may interoperate with media player device 204 with a low enough latency to allow for the real-time offloading of audio processing described herein. For example, the network-edge-deployed server may leverage MEC technologies to enable cloud computing capabilities at the edge of a cellular network (e.g., a 5G cellular network in certain implementations, or any other suitable cellular network associated with any other generation of technology in other implementations). In other examples, a network-edge-deployed server may be even more localized to media player device 204, such as by being implemented by computing resources on a same local area network with media player device 204 (e.g., by computing resources located within a home or office of user 202), or the like.
Because of the low-latency nature of network-edge-deployed servers such as MEC servers or the like, system 100 may be configured to receive real-time acoustic propagation data from media player device 204 and return corresponding time-domain binaural audio signal data to media player device 204 with a small enough delay that user 202 perceives the presented audio as being instantaneously responsive to his or her actions (e.g., head turns, etc.). For example, acoustic propagation data 316 accessed by the network-edge-deployed server implementing system 100 may include listener propagation data 316-2 representative of a real-time pose (e.g., including a position and an orientation) of avatar 202 at a first time while user 202 is experiencing world 206, and the transmitting of time-domain binaural audio signal 318 by the network-edge-deployed server is performed so as to provide time-domain binaural audio signal 318 to media player device 204 at a second time that is within a predetermined latency threshold after the first time. For instance, the predetermined latency threshold may be between 20 ms to 50 ms, less than 100 ms, or any other suitable threshold amount of time that is determined, in a psychoacoustic analysis of users such as user 202, to result in sufficiently low-latency responsiveness to immerse the users in the extended reality world without being perceivable that the audio being presented has any delay.
Specifically, as shown, a world management server 802 manages and provides world propagation data 316-1 for all of users 202 experiencing the extended reality world. Specifically, each media player device 204-1 is shown to transmit to world management server 802 a respective state data stream 804 (e.g., a state data stream 804-1 from media player device 204-1, a state data stream 804-2 from media player device 204-2, and so forth) representative of respective state data for the dynamic extended reality experience of the respective user 202 within the shared, multi-user world. In contrast with the exemplary implementation of system 100 illustrated in configuration 700 described above, systems 100-1 and 100-2 in configuration 800 are shown to access different types of real-time acoustic propagation data 316 from different sources due to the fact that world management server 802 and media player device 204 are separate and distinct from one another, rather than integrated with one another. Specifically, as shown, each implementation of system 100 in configuration 800 accesses world propagation data 316-1 (e.g., a relevant subset of all the data received and managed by world management server 802 including state data streams 804-1 through 804-N (labeled “804-1 . . . N” in
In some examples, each media player device 204 may be associated with a dedicated implementation of system 100, such that there is a one-to-one ratio of media player devices 204 and implementations of system 100. For example, as shown, system 100-1 is configured to serve media player device 204-1 in a one-to-one fashion (i.e., without serving any other media player device 204). In other examples, an implementation of system 100 may be configured to serve a plurality of media player devices 204. For instance, as shown, system 100-2 is configured to serve media player devices 204-1 through 204-N in a one-to-many fashion.
In operation 902, an acoustics generation system may access time-domain audio data representative of a virtual sound. For example, the virtual sound may be presented, within an extended reality world, to an avatar of a user experiencing the extended reality world. Operation 902 may be performed in any of the ways described herein.
In operation 904, the acoustics generation system may transform the time-domain audio data into frequency-domain audio data representative of the virtual sound. Operation 904 may be performed in any of the ways described herein.
In operation 906, the acoustics generation system may access acoustic propagation data. For instance, the acoustic propagation data may be representative of characteristics affecting propagation of the virtual sound to the avatar within the extended reality world. Operation 906 may be performed in any of the ways described herein.
In operation 908, the acoustics generation system may generate a frequency-domain binaural audio signal. In some examples, the frequency-domain binaural audio signal may be generated to be representative of the virtual sound as experienced by the avatar when the propagation of the virtual sound to the avatar is simulated in accordance with the characteristics affecting the propagation. As such, the frequency-domain binaural audio signal may be generated in operation 908 based on the frequency-domain audio data transformed in operation 904 from the time-domain audio data accessed in operation 902, and further based on the acoustic propagation data accessed in operation 906. Operation 908 may be performed in any of the ways described herein.
In operation 910, the acoustics generation system may transform the frequency-domain binaural audio signal into a time-domain binaural audio signal configured for presentation to the user as the user experiences the extended reality world. Operation 910 may be performed in any of the ways described herein.
In certain embodiments, one or more of the systems, components, and/or processes described herein may be implemented and/or performed by one or more appropriately configured computing devices. To this end, one or more of the systems and/or components described above may include or be implemented by any computer hardware and/or computer-implemented instructions (e.g., software) embodied on at least one non-transitory computer-readable medium configured to perform one or more of the processes described herein. In particular, system components may be implemented on one physical computing device or may be implemented on more than one physical computing device. Accordingly, system components may include any number of computing devices, and may employ any of a number of computer operating systems.
In certain embodiments, one or more of the processes described herein may be implemented at least in part as instructions embodied in a non-transitory computer-readable medium and executable by one or more computing devices. In general, a processor (e.g., a microprocessor) receives instructions, from a non-transitory computer-readable medium, (e.g., a memory, etc.), and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions may be stored and/or transmitted using any of a variety of known computer-readable media.
A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media, and/or volatile media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random access memory (“DRAM”), which typically constitutes a main memory. Common forms of computer-readable media include, for example, a disk, hard disk, magnetic tape, any other magnetic medium, a compact disc read-only memory (“CD-ROM”), a digital video disc (“DVD”), any other optical medium, random access memory (“RAM”), programmable read-only memory (“PROM”), electrically erasable programmable read-only memory (“EPROM”), FLASH-EEPROM, any other memory chip or cartridge, or any other tangible medium from which a computer can read.
Communication interface 1002 may be configured to communicate with one or more computing devices. Examples of communication interface 1002 include, without limitation, a wired network interface (such as a network interface card), a wireless network interface (such as a wireless network interface card), a modem, an audio/video connection, and any other suitable interface.
Processor 1004 generally represents any type or form of processing unit capable of processing data or interpreting, executing, and/or directing execution of one or more of the instructions, processes, and/or operations described herein. Processor 1004 may direct execution of operations in accordance with one or more applications 1012 or other computer-executable instructions such as may be stored in storage device 1006 or another computer-readable medium.
Storage device 1006 may include one or more data storage media, devices, or configurations and may employ any type, form, and combination of data storage media and/or device. For example, storage device 1006 may include, but is not limited to, a hard drive, network drive, flash drive, magnetic disc, optical disc, RAM, dynamic RAM, other non-volatile and/or volatile data storage units, or a combination or sub-combination thereof. Electronic data, including data described herein, may be temporarily and/or permanently stored in storage device 1006. For example, data representative of one or more executable applications 1012 configured to direct processor 1004 to perform any of the operations described herein may be stored within storage device 1006. In some examples, data may be arranged in one or more databases residing within storage device 1006.
I/O module 1008 may include one or more I/O modules configured to receive user input and provide user output. One or more I/O modules may be used to receive input for a single virtual experience. I/O module 1008 may include any hardware, firmware, software, or combination thereof supportive of input and output capabilities. For example, I/O module 1008 may include hardware and/or software for capturing user input, including, but not limited to, a keyboard or keypad, a touchscreen component (e.g., touchscreen display), a receiver (e.g., an RF or infrared receiver), motion sensors, and/or one or more input buttons.
I/O module 1008 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. In certain embodiments, I/O module 1008 is configured to provide graphical data to a display for presentation to a user. The graphical data may be representative of one or more graphical user interfaces and/or any other graphical content as may serve a particular implementation.
In some examples, any of the facilities described herein may be implemented by or within one or more components of computing device 1000. For example, one or more applications 1012 residing within storage device 1006 may be configured to direct processor 1004 to perform one or more processes or functions associated with processing facility 104 of system 100. Likewise, storage facility 102 of system 100 may be implemented by or within storage device 1006.
To the extent the aforementioned embodiments collect, store, and/or employ personal information provided by individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information may be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
In the preceding description, various exemplary embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the scope of the invention as set forth in the claims that follow. For example, certain features of one embodiment described herein may be combined with or substituted for features of another embodiment described herein. The description and drawings are accordingly to be regarded in an illustrative rather than a restrictive sense.
This application is a continuation application of U.S. patent application Ser. No. 16/427,625, filed May 31, 2019, and entitled “Methods and Systems for Generating Frequency-Accurate Acoustics for an Extended Reality World,” which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
20180101990 | Yang | Apr 2018 | A1 |
20190200159 | Park | Jun 2019 | A1 |
20200249819 | Berquam | Aug 2020 | A1 |
Number | Date | Country | |
---|---|---|---|
20200382897 A1 | Dec 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16427625 | May 2019 | US |
Child | 16831240 | US |