Near-field Audio Rendering
The method addresses the challenge of efficiently simulating near-field audio effects in mixed-reality environments by processing audio signals with HRTFs and source radiation filters within a wearable head device, resulting in an enhanced and computationally efficient audio experience.
Patent Information
- Application Number
- JP2024037946
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-03-01
- Filing Date
- 2024-03-12
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2039-10-04
AI Technical Summary
Existing systems struggle to efficiently simulate near-field audio effects in mixed-reality environments due to the computational expense of using multiple head-related transfer functions (HRTFs) for real-time audio rendering.
A method for presenting audio signals to users of wearable head devices, which involves identifying the source location, determining the acoustic axis, and processing the audio signal by applying HRTFs and source radiation filters to generate output audio signals for each ear, using a virtual speaker array with virtual speaker locations on a sphere concentric with the user's head.
This approach allows for the efficient simulation of near-field audio effects in mixed-reality environments, enhancing the authenticity of the audio experience while reducing computational overhead.
Smart Images

Figure 0007657349000009 
Figure 0007657349000010 
Figure 0007657349000011
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Application No. 62 / 741,677, filed October 5, 2018, and U.S. Provisional Application No. 62 / 812,734, filed March 1, 2019, the contents of which are incorporated herein by reference in their entireties.
[0002] The present disclosure relates generally to systems and methods for audio signal processing, and more particularly to systems and methods for presenting audio signals in a mixed reality environment. [Background technology]
[0003] Augmented and mixed reality systems impose unique demands on the presentation of binaural audio signals to a user. On the one hand, the presentation of audio signals in a realistic manner, e.g., consistent with a user's expectations, is important to create an immersive and believable augmented or mixed reality environment. On the other hand, the computational costs of processing such audio signals can be prohibitive, especially for mobile systems that may feature limited processing power and battery capacity.
[0004] One particular challenge is the simulation of near-field audio effects. Near-field effects are important for recreating the impression that a sound source is very close to the user's head. Near-field effects can be calculated using a database of head-related transfer functions (HRTFs). However, a typical HRTF database contains HRTFs measured at a single distance in the far field from the user's head (e.g., more than one meter from the user's head) and may lack HRTFs at distances suitable for near-field effects. Also, even if the HRTF database contains measured or simulated HRTFs for different distances from the user's head (e.g., less than one meter from the user's head), directly using a large number of HRTFs for real-time audio rendering applications can be computationally expensive. Therefore, a system and method for modeling near-field audio effects using far-field HRTFs in a computationally efficient manner is desired. Summary of the Invention [Means for solving the problem]
[0005] An embodiment of the present disclosure describes a system and method for presenting an audio signal to a user of a wearable head device. According to an exemplary method, a source location corresponding to the audio signal is identified. An acoustic axis corresponding to the audio signal is determined. For each of the user's respective left and right ears, an angle between the acoustic axis and the respective ear is determined. For each of the user's respective left and right ears, a virtual speaker position of a virtual speaker array is determined, the virtual speaker position being collinear with the source location and with the respective ear position. The virtual speaker array comprises a plurality of virtual speaker positions, each virtual speaker position of the plurality of virtual speaker positions being located on a surface of a sphere concentric with the user's head, the sphere having a first radius. For each of the user's respective left and right ears, a virtual speaker position and a head-related transfer function (HRTF) corresponding to the respective ear are determined, a source radiation filter is determined based on the determined angle, and the audio signal is processed to generate an output audio signal for the respective ear, the output audio signal being presented to the user's respective ear via one or more speakers associated with the wearable head device. Processing the audio signal includes applying the HRTF and the source radiation filter to the audio signal. The present invention provides, for example, the following: (Item 1) 1. A method for presenting an audio signal to a user of a wearable head device, the method comprising: identifying a source location corresponding to the audio signal; determining an acoustic axis corresponding to the audio signal; For each of the user's respective left and right ears, determining an angle between the acoustic axis and an individual ear; determining virtual speaker positions of a virtual speaker array collinear with the source locations and the individual ear positions, the virtual speaker array comprising a plurality of virtual speaker positions, each virtual speaker position of the plurality of virtual speaker positions being located on a surface of a sphere concentric with the user's head, the sphere having a first radius; determining head-related transfer functions (HRTFs) corresponding to the virtual speaker positions and the individual ears; determining a source radiation filter based on the determined angle; and processing the audio signal to generate an output audio signal for the individual ear, where processing the audio signal includes applying the HRTF and the source radiation filter to the audio signal; presenting the output audio signals to respective ears of the user via one or more speakers associated with the wearable head device; A method comprising: (Item 2) 2. The method of claim 1, wherein the source location is separated from a center of the user's head by a distance that is less than the first radius. (Item 3) 2. The method of claim 1, wherein the source location is separated from a center of the user's head by a distance that is greater than the first radius. (Item 4) 2. The method of claim 1, wherein the source location is separated from a center of the user's head by a distance equal to the first radius. (Item 5) 2. The method of claim 1, wherein processing the audio signal further comprises attenuating the audio signal based on a distance between the source location and the user. (Item 6) 2. The method of claim 1, wherein processing the audio signal further comprises applying an interaural time difference to the audio signal. (Item 7) 2. The method of claim 1, wherein determining the HRTFs corresponding to the virtual speaker positions comprises selecting the HRTFs from a plurality of HRTFs, each HRTF of the plurality of HRTFs describing a relationship between a listener and an audio source separated from the listener by a distance substantially equal to the first radius. (Item 8) 2. The method of claim 1, wherein processing the audio signal further comprises attenuating the audio signal based on a distance between the user and the source location. (Item 9) 2. The method of claim 1, wherein a distance from the source location to a center of the user's head is less than a radius of the user's head. (Item 10) 2. The method of claim 1, wherein a distance from the source location to a center of the user's head exceeds a radius of the user's head. (Item 11) 2. The method of claim 1, wherein a distance from the source location to a center of the user's head is substantially equal to a radius of the user's head. (Item 12) 2. The method of claim 1, wherein the angle includes one or more of an azimuth angle and an altitude angle. (Item 13) 2. The method of claim 1, wherein the wearable head device comprises the one or more speakers. (Item 14) 2. The method of claim 1, wherein the wearable head device does not include the one or more speakers. (Item 15) 2. The method of claim 1, wherein the one or more speakers are associated with headphones worn by the user. (Item 16) 1. A system comprising: A wearable head device; one or more speakers; one or more processors, the one or more processors comprising: identifying a source location corresponding to the audio signal; determining an acoustic axis corresponding to the audio signal; For each respective left and right ear of a user of the wearable head device, determining an angle between the acoustic axis and an individual ear; determining virtual speaker positions of a virtual speaker array collinear with the source locations and the individual ear positions, the virtual speaker array comprising a plurality of virtual speaker positions, each virtual speaker position of the plurality of virtual speaker positions being located on a surface of a sphere concentric with the user's head, the sphere having a first radius; determining head-related transfer functions (HRTFs) corresponding to the virtual speaker positions and the individual ears; determining a source radiation filter based on the determined angle; and processing the audio signal to generate an output audio signal for the individual ear, where processing the audio signal includes applying the HRTF and the source radiation filter to the audio signal; presenting the output audio signals to respective ears of the user via the one or more speakers; One or more processors configured to perform a method comprising: A system comprising: (Item 17) Item 17. The system of item 16, wherein the source location is separated from the center of the user's head by a distance less than the first radius. (Item 18) Item 17. The system of item 16, wherein the source location is separated from the center of the user's head by a distance greater than the first radius. (Item 19) Item 17. The system of item 16, wherein the source location is separated from a center of the user's head by a distance equal to the first radius. (Item 20) 20. The system of claim 16, wherein processing the audio signal further comprises attenuating the audio signal based on a distance between the source location and the user. (Item 21) Item 17. The system of item 16, wherein processing the audio signal further comprises applying an interaural time difference to the audio signal. (Item 22) 17. The system of claim 16, wherein determining the HRTF corresponding to the virtual speaker position includes selecting the HRTF from a plurality of HRTFs, each HRTF of the plurality of HRTFs describing a relationship between a listener and an audio source separated from the listener by a distance substantially equal to the first radius. (Item 23) 20. The system of claim 16, wherein processing the audio signal further comprises attenuating the audio signal based on a distance between the user and the source location. (Item 24) Item 17. The system of item 16, wherein a distance from the source location to a center of the user's head is less than a radius of the user's head. (Item 25) Item 17. The system of item 16, wherein a distance from the source location to a center of the user's head exceeds a radius of the user's head. (Item 26) Item 17. The system of item 16, wherein a distance from the source location to a center of the user's head is substantially equal to a radius of the user's head. (Item 27) Item 17. The system of item 16, wherein the angle includes one or more of an azimuth angle and an altitude angle. (Item 28) 17. The system of claim 16, wherein the wearable head device comprises the one or more speakers. (Item 29) Item 16. The system of item 15, wherein the wearable head device does not include the one or more speakers. (Item 30) Item 17. The system of item 16, wherein the one or more speakers are associated with headphones worn by the user. (Item 31) 1. A non-transitory computer readable medium having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform a method of presenting an audio signal to a user of a wearable head device, the method comprising: identifying a source location corresponding to the audio signal; determining an acoustic axis corresponding to the audio signal; For each of the user's respective left and right ears, determining an angle between the acoustic axis and an individual ear; determining virtual speaker positions of a virtual speaker array collinear with the source locations and the individual ear positions, the virtual speaker array comprising a plurality of virtual speaker positions, each virtual speaker position of the plurality of virtual speaker positions being located on a surface of a sphere concentric with the user's head, the sphere having a first radius; determining head-related transfer functions (HRTFs) corresponding to the virtual speaker positions and the individual ears; determining a source radiation filter based on the determined angle; and processing the audio signal to generate an output audio signal for the individual ear, where processing the audio signal includes applying the HRTF and the source radiation filter to the audio signal; presenting the output audio signals to respective ears of the user via one or more speakers associated with the wearable head device; 16. A non-transitory computer readable medium comprising: (Item 32) Item 32. The non-transitory computer-readable medium of item 31, wherein the source location is separated from a center of the user's head by a distance that is less than the first radius. (Item 33) Item 32. The non-transitory computer-readable medium of item 31, wherein the source location is separated from a center of the user's head by a distance greater than the first radius. (Item 34) Item 32. The non-transitory computer-readable medium of item 31, wherein the source location is separated from a center of the user's head by a distance equal to the first radius. (Item 35) Item 32. The non-transitory computer-readable medium of item 31, wherein processing the audio signal further comprises attenuating the audio signal based on a distance between the source location and the user. (Item 36) Item 32. The non-transitory computer-readable medium of item 31, wherein processing the audio signal further comprises applying an interaural time difference to the audio signal. (Item 37) Item 32. The non-transitory computer-readable medium of item 31, wherein determining the HRTFs corresponding to the virtual speaker positions includes selecting the HRTFs from a plurality of HRTFs, each HRTF of the plurality of HRTFs describing a relationship between a listener and an audio source separated from the listener by a distance substantially equal to the first radius. (Item 38) Item 32. The non-transitory computer-readable medium of item 31, wherein processing the audio signal further comprises attenuating the audio signal based on a distance between the user and the source location. (Item 39) Item 32. The non-transitory computer-readable medium of item 31, wherein a distance from the source location to a center of the user's head is less than a radius of the user's head. (Item 40) Item 32. The non-transitory computer-readable medium of item 31, wherein a distance from the source location to a center of the user's head exceeds a radius of the user's head. (Item 41) Item 32. The non-transitory computer-readable medium of item 31, wherein a distance from the source location to a center of the user's head is substantially equal to a radius of the user's head. (Item 42) Item 32. The non-transitory computer-readable medium of item 31, wherein the angle includes one or more of an azimuth angle and an elevation angle. (Item 43) Item 32. The non-transitory computer-readable medium of item 31, wherein the wearable head device comprises the one or more speakers. (Item 44) Item 32. The non-transitory computer-readable medium of item 31, wherein the wearable head device does not include the one or more speakers. (Item 45) Item 32. The non-transitory computer-readable medium of item 31, wherein the one or more speakers are associated with headphones worn by the user. [Brief description of the drawings]
[0006] [Figure 1] FIG. 1 illustrates an exemplary wearable system according to some embodiments of the present disclosure.
[0007] [Diagram 2] FIG. 2 illustrates an example handheld controller that may be used in conjunction with an example wearable system according to some embodiments of the present disclosure.
[0008] [Diagram 3] FIG. 3 illustrates an example auxiliary unit that may be used in conjunction with an example wearable system according to some embodiments of the present disclosure.
[0009] [Figure 4] FIG. 4 illustrates an example functional block diagram for an example wearable system according to some embodiments of the disclosure.
[0010] [Diagram 5] FIG. 5 illustrates a binaural rendering system according to some embodiments of the disclosure.
[0011] [Figure 6A] 6A-6C illustrate example geometries for modeling audio effects from virtual sources, according to some embodiments of the present disclosure. [Figure 6B] 6A-6C illustrate example geometries for modeling audio effects from virtual sources, according to some embodiments of the present disclosure. [Figure 6C]6A-6C illustrate example geometries for modeling audio effects from virtual sources, according to some embodiments of the present disclosure.
[0012] [Figure 7] FIG. 7 illustrates an example of calculating the distance traveled by sound emitted by a point sound source, according to some embodiments of the present disclosure.
[0013] [Figure 8A] 8A-8C illustrate examples of sound sources relative to a listener's ears, according to some embodiments of the present disclosure. [Figure 8B] 8A-8C illustrate examples of sound sources relative to a listener's ears, according to some embodiments of the present disclosure. [Figure 8C] 8A-8C illustrate examples of sound sources relative to a listener's ears, according to some embodiments of the present disclosure.
[0014] [Figure 9A] 9A-9B illustrate example head-related transfer function (HRTF) magnitude responses in accordance with some embodiments of the present disclosure. [Figure 9B] 9A-9B illustrate example head-related transfer function (HRTF) magnitude responses in accordance with some embodiments of the present disclosure.
[0015] [Figure 10] FIG. 10 illustrates the source radiation angle of a user relative to the acoustic axis of a sound source, according to some embodiments of the present disclosure.
[0016] [Figure 11] FIG. 11 illustrates an example of a sound source panned inside the user's head, according to some embodiments of the present disclosure.
[0017] [Figure 12] FIG. 12 illustrates an example signal flow that may be implemented to render a sound source in the far field according to some embodiments of the present disclosure.
[0018] [Figure 13] FIG. 13 illustrates an example signal flow that may be implemented to render a sound source in the near field according to some embodiments of the present disclosure.
[0019] [Figure 14] FIG. 14 illustrates an example signal flow that may be implemented to render a sound source in the near field according to some embodiments of the present disclosure.
[0020] [Figure 15A] 15A-15D illustrate examples of a head coordinate system corresponding to a user and a device coordinate system corresponding to a device, according to some embodiments of the present disclosure. [Figure 15B] 15A-15D illustrate examples of a head coordinate system corresponding to a user and a device coordinate system corresponding to a device, according to some embodiments of the present disclosure. [Figure 15C] 15A-15D illustrate examples of a head coordinate system corresponding to a user and a device coordinate system corresponding to a device, according to some embodiments of the present disclosure. [Figure 15D] 15A-15D illustrate examples of a head coordinate system corresponding to a user and a device coordinate system corresponding to a device, according to some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0021] In the following description of the embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown, by way of illustration, specific embodiments which may be practiced. It is to be understood that other embodiments may be used and structural changes may be made without departing from the scope of the disclosed embodiments.
[0022] Exemplary Wearable System
[0023] 1 illustrates an exemplary wearable head device 100 configured to be worn on a user's head. The wearable head device 100 may be part of a broader wearable system that includes one or more components, such as a head device (e.g., wearable head device 100), a handheld controller (e.g., handheld controller 200 described below), and / or an auxiliary unit (e.g., auxiliary unit 300 described below). In some examples, the wearable head device 100 can be used for virtual reality, augmented reality, or mixed reality systems or applications. The wearable head device 100 includes one or more displays, such as displays 110A and 110B (which may include left and right transmissive displays and associated components for coupling light from the displays to the user's eyes, such as orthogonal pupil expansion (OPE) grating set 112A / 112B and exit pupil expansion (EPE) grating set 114A / 114B), left and right acoustic structures, such as speakers 120A and 120B (which may be mounted on temple arms 122A and 122B, respectively, and positioned adjacent the user's left and right ears), and an infrared sensor. The wearable head device 100 may include one or more sensors, such as a gyroscope, an accelerometer, a GPS unit, an inertial measurement unit (IMU, e.g., IMU 126), an acoustic sensor (e.g., microphone 150), a quadrature coil electromagnetic receiver (e.g., receiver 127 shown mounted on left temple arm 122A), left and right cameras oriented away from the user (e.g., depth (time of flight) cameras 130A and 130B), and left and right eye cameras oriented toward the user (e.g., for detecting the user's eye movements) (e.g., eye cameras 128A and 128B). However, the wearable head device 100 may incorporate any suitable display technology and any suitable number, type, or combination of sensors or other components without departing from the scope of the present disclosure.In some embodiments, the wearable head device 100 may incorporate one or more microphones 150 configured to detect audio signals generated by the user's voice, and such microphones may be positioned adjacent to the user's mouth. In some embodiments, the wearable head device 100 may incorporate networking features (e.g., Wi-Fi capabilities) to communicate with other devices and systems, including other wearable systems. The wearable head device 100 may further include components such as a battery, a processor, memory, a storage unit, or various input devices (e.g., buttons, touchpads), or may be coupled to a handheld controller (e.g., handheld controller 200) or auxiliary unit (e.g., auxiliary unit 300) that comprises one or more such components. In some embodiments, the sensors may be configured to output a set of coordinates of the head-mounted unit relative to the user's environment and may provide input to a processor to implement a simultaneous localization and mapping (SLAM) procedure and / or a visual odometry algorithm. In some embodiments, the wearable head device 100 may be coupled to a handheld controller 200 and / or an auxiliary unit 300, as described further below.
[0024] FIG. 2 illustrates an exemplary mobile handheld controller component 200 of an exemplary wearable system. In some examples, the handheld controller 200 may communicate wired or wirelessly with the wearable head device 100 and / or auxiliary unit 300 described below. In some examples, the handheld controller 200 includes a handle portion 220 to be held by a user and one or more buttons 240 disposed along a top surface 210. In some examples, the handheld controller 200 may be configured for use as an optical tracking target, e.g., a sensor (e.g., a camera or other optical sensor) of the wearable head device 100 may be configured to detect the position and / or orientation of the handheld controller 200, which in turn may indicate the position and / or orientation of a user's hand holding the handheld controller 200. In some examples, the handheld controller 200 may include a processor, a memory, a storage unit, a display, or one or more input devices such as those described above. In some examples, the handheld controller 200 includes one or more sensors (e.g., any of the sensors or tracking components described above with respect to the wearable head device 100). In some examples, the sensors can detect a position or orientation of the handheld controller 200 relative to the wearable head device 100 or relative to another component of a wearable system. In some examples, the sensors may be located in the handle portion 220 of the handheld controller 200 and / or may be mechanically coupled to the handheld controller. The handheld controller 200 can be configured to provide one or more output signals corresponding, for example, to a press state of the button 240, or to a position, orientation, and / or movement of the handheld controller 200 (e.g., via an IMU). Such output signals may be used as inputs to a processor of the wearable head device 100, to the auxiliary unit 300, or to another component of the wearable system.In some embodiments, the handheld controller 200 may include one or more microphones to detect sounds (e.g., a user's speech, environmental sounds) and, in some cases, provide signals corresponding to the detected sounds to a processor (e.g., a processor of the wearable head device 100).
[0025] FIG. 3 illustrates an exemplary auxiliary unit 300 of an exemplary wearable system. In some examples, the auxiliary unit 300 may communicate wired or wirelessly with the wearable head device 100 and / or the handheld controller 200. The auxiliary unit 300 may include a battery to provide energy to operate one or more components of the wearable system, such as the wearable head device 100 and / or the handheld controller 200 (including a display, a sensor, an acoustic structure, a processor, a microphone, and / or other components of the wearable head device 100 or the handheld controller 200). In some examples, the auxiliary unit 300 may include a processor, a memory, a storage unit, a display, one or more input devices, and / or one or more sensors, such as those described above. In some examples, the auxiliary unit 300 includes a clip 310 for attaching the auxiliary unit to a user (e.g., a belt worn by the user). An advantage of using the auxiliary unit 300 to store one or more components of a wearable system is that doing so may allow a large or heavy component to be carried on the user's waist, chest, or back, which are relatively better suited for supporting large and heavy objects, rather than being mounted on the user's head (e.g., when stored in the wearable head device 100) or carried by the user's hands (e.g., when stored in the handheld controller 200). This may be particularly advantageous with respect to relatively heavy or bulky components, such as batteries.
[0026] FIG. 4 illustrates an example functional block diagram that may correspond to an example wearable system 400, such as may include the example wearable head device 100, handheld controller 200, and auxiliary unit 300 described above. In some examples, the wearable system 400 may be used for virtual reality, augmented reality, or mixed reality applications. As shown in FIG. 4, the wearable system 400 may include an example handheld controller 400B, referred to herein as a "totem" (and that may correspond to the handheld controller 200 described above), which may include a totem / headgear six degree of freedom (6DOF) totem subsystem 404A. The wearable system 400 may also include an example headgear device 400A (which may correspond to the wearable head device 100 described above), which includes a totem / headgear 6DOF headgear subsystem 404B. In an embodiment, the 6DOF totem subsystem 404A and the 6DOF headgear subsystem 404B cooperate to determine six coordinates (e.g., offsets in three translation directions and rotations along three axes) of the handheld controller 400B relative to the headgear device 400A. The six degrees of freedom may be expressed relative to the coordinate system of the headgear device 400A. The three translation offsets may be expressed as X, Y, and Z offsets in such coordinate system, a translation matrix, or some other representation. The rotational degrees of freedom may be expressed as a sequence of yaw, pitch, and roll rotations, a vector, a rotation matrix, a quaternion, or some other representation. In some embodiments, one or more depth cameras 444 (and / or one or more non-depth cameras) and / or one or more optical targets (e.g., buttons 240 of the handheld controller 200 as described above or dedicated optical targets included in the handheld controller) included in the headgear device 400A can be used for 6DOF tracking.In some embodiments, the handheld controller 400B can include a camera as described above, and the headgear device 400A can include an optical target for optical tracking in conjunction with the camera. In some embodiments, the headgear device 400A and the handheld controller 400B each include a set of three orthogonally oriented solenoids that are used to wirelessly transmit and receive three distinguishable signals. By measuring the relative magnitudes of the three distinguishable signals received in each of the coils used to receive, the 6DOF of the handheld controller 400B relative to the headgear device 400A can be determined. In some embodiments, the 6DOF totem subsystem 404A can include an inertial measurement unit (IMU), which is useful for providing improved accuracy and / or more timely information regarding high speed movements of the handheld controller 400B.
[0027] In some implementations involving augmented or mixed reality applications, it may be desirable to transform coordinates from a local coordinate space (e.g., a coordinate space fixed relative to the headgear device 400A) to an inertial coordinate space or to an environmental coordinate space. For example, such a transformation may be necessary for the display of the headgear device 400A to present virtual objects in an expected position and orientation relative to the real environment (e.g., a virtual person sitting in a real chair facing forward, regardless of the position and orientation of the headgear device 400A), rather than in a fixed position and orientation on the display (e.g., in the same position on the display of the headgear device 400A). This can maintain the illusion that the virtual objects exist in the real environment (and do not appear unnaturally positioned in the real environment, for example, as the headgear device 400A shifts and rotates). In some embodiments, a compensation transformation between coordinate spaces can be determined by processing images from the depth camera 444 (e.g., using simultaneous localization and mapping (SLAM) and / or visual odometry procedures) to determine a transformation of the headgear device 400A relative to an inertial or environmental coordinate system. In the embodiment shown in FIG. 4, the depth camera 444 can be coupled to the SLAM / visual odometry block 406 and can provide images to the block 406. The SLAM / visual odometry block 406 implementation can include a processor configured to process the images and then determine the position and orientation of the user's head, which can be used to identify a transformation between the head coordinate space and the real coordinate space. Similarly, in some embodiments, an additional source of information regarding the user's head pose and location is obtained from the IMU 409 of the headgear device 400A. Information from the IMU 409 can be integrated with information from the SLAM / visual odometry block 406 to provide improved accuracy and / or more timely information regarding fast adjustments of the user's head pose and position.
[0028] In some embodiments, the depth camera 444 can provide 3D images to a hand gesture tracker 411, which can be implemented within a processor of the headgear device 400A. The hand gesture tracker 411 can identify the user's hand gestures, for example, by matching the 3D images received from the depth camera 444 to stored patterns representing hand gestures. Other suitable techniques for identifying the user's hand gestures will also be apparent.
[0029] In some embodiments, one or more processors 416 may be configured to receive data from the headgear subsystem 404B, the IMU 409, the SLAM / visual odometry block 406, the depth camera 444, the microphone 450, and / or the hand gesture tracker 411. The processor 416 may also send and receive control signals to the 6DOF totem system 404A. The processor 416 may be wirelessly coupled to the 6DOF totem system 404A, such as in embodiments where the handheld controller 400B is not tethered. The processor 416 may further communicate with additional components, such as an audiovisual content memory 418, a graphical processing unit (GPU) 420, and / or a digital signal processor (DSP) audio spatializer 422. The DSP audio spatializer 422 may be coupled to a head-related transfer function (HRTF) memory 425. The GPU 420 may include a left channel output coupled to a left source of imagewise modulated light 424 and a right channel output coupled to a right source of imagewise modulated light 426. The GPU 420 may output stereoscopic image data to the imagewise modulated light sources 424, 426. The DSP audio spatializer 422 may output audio to the left speaker 412 and / or the right speaker 414. The DSP audio spatializer 422 may receive an input from the processor 419 indicating a direction vector from the user to a virtual sound source (which may be moved by the user, e.g., via the handheld controller 400B). Based on the direction vector, the DSP audio spatializer 422 may determine a corresponding HRTF (e.g., by accessing an HRTF or by interpolating multiple HRTFs). The DSP audio spatializer 422 may then apply the determined HRTF to an audio signal, such as an audio signal corresponding to a virtual sound generated by a virtual object.This can improve the believability and realism of virtual sounds by incorporating the user's relative position and orientation to the virtual sounds in the mixed reality environment, i.e., by presenting virtual sounds that match the user's expectations of what they would hear if the virtual sounds were real sounds in a real environment.
[0030] 4, one or more of the processor 416, GPU 420, DSP audio spatializer 422, HRTF memory 425, and audio / visual content memory 418 may be included within an auxiliary unit 400C (which may correspond to auxiliary unit 300 described above). The auxiliary unit 400C may include a battery 427 to power its components and / or provide power to the headgear device 400A and / or the handheld controller 400B. Including such components within an auxiliary unit, which may be mounted on the user's waist, can limit the size and weight of the headgear device 400A, which in turn can reduce fatigue in the user's head and neck.
[0031] 4 presents elements corresponding to various components of the exemplary wearable system 400, various other suitable arrangements of these components will be apparent to those skilled in the art. For example, elements presented in FIG. 4 as being associated with the auxiliary unit 400C may instead be associated with the headgear device 400A or the handheld controller 400B. Further, some wearable systems may dispense with the handheld controller 400B or the auxiliary unit 400C entirely. Such variations and modifications are to be understood as falling within the scope of the disclosed embodiments.
[0032] Audio Rendering
[0033] The systems and methods described below can be implemented in an augmented reality or mixed reality system such as those described above. For example, one or more processors (e.g., CPU, DSP) of the augmented reality system can be used to process audio signals or to implement steps of the computer-implemented methods described below, sensors (e.g., cameras, acoustic sensors, IMU, LIDAR, GPS) of the augmented reality system can be used to determine the position and / or orientation of a user of the system or elements in the user's environment, and speakers of the augmented reality system can be used to present audio signals to the user. In some embodiments, an external audio playback device (e.g., headphones, earphones) can be used to deliver audio signals to the user's ears instead of the speakers of the system.
[0034] In an augmented or mixed reality system such as that described above, one or more processors (e.g., DSP audio spatializer 422) may process one or more audio signals for presentation to a user of a wearable head device via one or more speakers (e.g., left and right speakers 412 / 414 described above). The processing of audio signals requires a trade-off between the perceived authenticity of the audio signals, e.g., the degree to which an audio signal presented to a user in a mixed reality environment matches the user's expectations of how the audio signal would sound in a real environment, and the computational overhead involved in processing the audio signals.
[0035] Modeling near-field audio effects can improve the authenticity of a user's audio experience, but can be computationally prohibitive. In some embodiments, an integrated solution may combine a computationally efficient rendering approach with one or more near-field effects per ear. The one or more near-field effects per ear may include, for example, parallax angle in the simulation of sound incidence per ear, interaural time difference (ITD) based on object position and anthropometric data, near-field level changes due to distance, and / or magnitude response changes due to proximity to the user's head and / or source radiation variations due to parallax angle. In some embodiments, the integrated solution may be computationally efficient so as not to excessively increase computational costs.
[0036] In the far field, as the sound source moves closer to or farther from the user, the change at the user's ear may be the same from ear to ear and may be an attenuation of the signal for the sound source. In the near field, as the sound source moves closer to or farther from the user, the change at the user's ear may be different from ear to ear and may be more than just an attenuation of the signal for the sound source. In some embodiments, the near field and far field boundary may be where conditions change.
[0037] In some embodiments, a virtual speaker array (VSA) may be a discrete set of locations on a sphere centered on the center of the user's head. For each location on the sphere, a pair of HRTFs (e.g., a left-right pair) is provided. In some embodiments, the near field may be the region inside the VSA and the far field may be the region outside the VSA. Either a near-field approach or a far-field approach may be used in the VSA.
[0038] The distance from the center of the user's head to the VSA may be the distance at which the HRTF was obtained. For example, the HRTF filters may be measured or synthesized from a simulation. The measured / simulated distance from the VSA to the center of the user's head may be referred to as the "measurement distance" (MD). The distance from the virtual sound source to the center of the user's head may be referred to as the "source distance" (SD).
[0039] FIG. 5 illustrates a binaural rendering system 500 according to some embodiments. In the example system of FIG. 5, a mono input audio signal 501 (which may represent a virtual sound source) is split into a left signal 504 and a right signal 506 by an interaural time delay (ITD) module 502 of an encoder 503. In some examples, the left signal 504 and the right signal 506 may differ by an ITD (e.g., in milliseconds) determined by the ITD module 502. In an example, the left signal 504 is input to a left ear VSA module 510 and the right signal 506 is input to a right ear VSA module 520.
[0040] In an embodiment, the left ear VSA module 510 selects a set of left ear HRTF filters 550 (L 1 , … L N The left signal 504 can be panned across a set of N channels, each of which feeds one of the left and right channels 502, 504, 506, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, L1 , … g LN ) is the left incidence angle (ang L ) The left incidence angle may indicate the direction of sound incidence relative to a frontal direction from the center of the user's head. Although shown from a top-down perspective relative to the user's head in the figures, the left incidence angle may include angles in three dimensions, i.e., the left incidence angle may include azimuth and / or elevation angles.
[0041] Similarly, in an embodiment, the right ear VSA module 520 selects a set of right ear HRTF filters 560 (R1 , … R M ), respectively. The right ear HRTF filter 550 may be substantially delay-free. (Although only one HRTF filter bank is shown in the figure, multiple HRTF filter banks are envisioned, including those stored across a distributed system.) The panning gain 522 (g R1 , … g RM ) is the right incidence angle (ang R ) The right incidence angle may indicate the direction of sound incidence relative to a frontal direction from the center of the user's head. As noted above, the right incidence angle may include angles in three dimensions, i.e., the right incidence angle may include an azimuth angle and / or an elevation angle.
[0042] In some embodiments, such as the one shown, the left ear VSA module 510 may pan the left signal 504 across N channels, and the right ear VSA module may pan the right signal across M channels. In some embodiments, N and M may be equal. In some embodiments, N and M may be different. In these embodiments, the left ear VSA module may use a set of left ear HRTF filters (L 1 , … L N ), and the right-ear VSA module may feed a set of right-ear HRTF filters (R 1 , … R M ) for the left ear VSA module, as described above. L1 , … g LN ) is the left ear incidence angle (ang L ), and the panning gain (g R1 , … g RM ) is the right ear incidence angle (ang R ) may be a function of
[0043] The exemplary system illustrates a single encoder 503 and corresponding input signal 501. The input signal may correspond to a virtual sound source. In some embodiments, the system may include additional encoders and corresponding input signals. In these embodiments, the input signals may correspond to virtual sound sources. That is, each input signal may correspond to a virtual sound source.
[0044] In some embodiments, when rendering several virtual sound sources simultaneously, the system may include an encoder for each virtual sound source. In these embodiments, a mixing module (e.g., 530 in FIG. 5) receives the output from each of the encoders, mixes the received signals, and outputs the mixed signal to left and right HRTF filters of the HRTF filter bank.
[0045] 6A illustrates a geometry for modeling audio effects from a virtual sound source, according to some embodiments. A distance 630 from a virtual sound source 610 to the center of a user's head 620 (e.g., "source distance" (SD)) is equal to a distance 640 from a VSA 650 to the center of the user's head (e.g., "measurement distance" (MD)). As illustrated in FIG. 6A, a left angle of incidence 652 (ang L ) and right incidence angle 654 (ang R ) are equal. In some embodiments, the angle from the center 620 of the user's head to the virtual sound source 610 is equal to the panning gain (e.g., g L1 , …, g LN , g R1 , …, g RN ) In the embodiment shown, the virtual sound source position 610 is used as the position (612 / 614) for calculating the left-ear and right-ear panning.
[0046] FIG. 6B illustrates a geometry for modeling near-field audio effects from a virtual sound source, according to some embodiments. As shown, a distance 630 from the virtual sound source 610 to a reference point (e.g., “source distance” (SD)) is less than a distance 640 from the VSA 650 to the center of the user's head 620 (e.g., “measurement distance” (MD)). In some embodiments, the reference point may be the center of the user's head (620). In some embodiments, the reference point may be the midpoint between the user's two ears. As illustrated in FIG. 6B, the left incidence angle 652 (ang L ) is the right incidence angle 654 (ang R ) for each ear (e.g., left incidence angle 652 (ang L ) and right incidence angle 654 (ang R )) is different from that in MD640.
[0047] In some embodiments, the left incidence angle 652 (ang L ) may be derived by calculating the intersection of a line passing from the user's left ear through the location of the virtual sound source 610 and a sphere containing the VSA 650. A combined panning angle (azimuth and elevation angles) may be calculated with respect to the 3D environment as the spherical coordinate angle from the center of the user's head 620 to the intersection point.
[0048] Similarly, in some embodiments, the right incidence angle 654 (ang L ) may be derived by calculating the intersection of a line passing from the user's right ear through the location of the virtual sound source 610 and a sphere containing the VSA 650. A combined panning angle (azimuth and elevation angles) may be calculated for the 3D environment as the spherical coordinate angle from the center of the user's head 620 to the intersection point.
[0049] In some embodiments, the intersection between the line and the sphere may be calculated, for example, by combining an equation representing the line and an equation representing the sphere.
[0050] 6C illustrates a geometry for modeling far-field audio effects from a virtual sound source, according to some embodiments. A distance 630 from a virtual sound source 610 to a center 620 of a user's head (e.g., "source distance" (SD)) exceeds a distance 640 from a VSA 650 to the center 620 of the user's head (e.g., "measurement distance" (MD)). As illustrated in FIG. 6C, a left incidence angle 612 (ang L ) is the right incidence angle 614 (ang R ) for each ear (e.g., left angle of incidence (ang L ) and right incidence angle (ang R )) is different from that in MD.
[0051] In some embodiments, the left incidence angle 612 (ang L ) may be derived by calculating the intersection of a line passing from the user's left ear through the location of the virtual sound source 610 and a sphere containing the VSA 650. A combined panning angle (azimuth and elevation angles) may be calculated with respect to the 3D environment as the spherical coordinate angle from the center of the user's head 620 to the intersection point.
[0052] Similarly, in some embodiments, the right incidence angle 614 (ang R ) may be derived by calculating the intersection of a line passing from the user's right ear through the location of the virtual sound source 610 and a sphere containing the VSA 650. A combined panning angle (azimuth and elevation angles) may be calculated for the 3D environment as the spherical coordinate angle from the center of the user's head 620 to the intersection point.
[0053] In some embodiments, the intersection between the line and the sphere may be calculated, for example, by combining an equation representing the line and an equation representing the sphere.
[0054] In some embodiments, the rendering scheme may not distinguish between the left and right angles of incidence 612, 614, and instead assume that the left and right angles of incidence 612, 614 are equal. However, assuming that the left and right angles of incidence 612, 614 are equal may not be applicable or acceptable when reproducing near-field effects as described with respect to FIG. 6B and / or far-field effects as described with respect to FIG. 6C.
[0055] FIG. 7 illustrates a geometric model for calculating the distance traveled by sound emitted by a (point) sound source 710 to a user's ear 712, according to some embodiments. In the geometric model illustrated in FIG. 7, the user's head is assumed to be spherical. The same model is applied to each ear (e.g., left and right ear). The delay to each ear may be calculated by dividing the distance traveled by sound emitted by a (point) sound source 710 to the user's ear 712 (e.g., distance A+B in FIG. 7) by the speed of sound in the user's environment (e.g., air). Interaural time difference (ITD) may be the difference in delay between the two ears of the user. In some embodiments, ITD may be applied only to the contralateral ear relative to the location of the user's head and the sound source 710. In some embodiments, the geometric model illustrated in FIG. 7 may be used for any SD (e.g., near field or far field) and may not take into account the location of the ears on the user's head and / or the head size of the user's head.
[0056] In some embodiments, the geometric model illustrated in FIG. 7 may be used to calculate the attenuation due to the distance from the sound source 710 to each ear. In some embodiments, the attenuation may be calculated using a ratio of distances. The level difference for a near-field source may be calculated by evaluating the ratio of the source-to-ear distance for the desired source position to the source-to-ear distance for the source corresponding to the MD and angle calculated for panning (e.g., as illustrated in FIGS. 6A-6C). In some embodiments, a minimum distance from the ear may be used, for example, to avoid division by very small numbers, which may be computationally expensive and / or result in numerical overflow. In these embodiments, smaller distances may be clamped.
[0057] In some embodiments, the distances may be clamped. Clamping may include, for example, limiting distance values below a certain threshold to another value. In some embodiments, clamping may include using the limited distance values (referred to as clamped distance values) instead of the actual distance values for the calculation. Hard clamping may include limiting distance values below a certain threshold to that threshold. For example, if a threshold is 5 millimeters, distance values below that threshold may be set to that threshold, and that threshold may be used for the calculation instead of the actual distance values that are below that threshold. Soft clamping may include limiting distance values such that as they approach or fall below a certain threshold, they asymptotically approach the threshold. In some embodiments, instead of or in addition to clamping, the distance values may be increased by a predetermined amount so that the distance values never fall below the predetermined amount.
[0058] In some embodiments, a first minimum distance from the listener's ears may be used to calculate the gain and a second minimum distance from the listener's ears may be used to calculate other sound source position parameters such as angles used to calculate HRTF filters, interaural time differences, and the like. In some embodiments, the first minimum distance and the second minimum distance may be different.
[0059] In some embodiments, the minimum distance used to calculate the gain may be a function of one or more properties of the sound source. In some embodiments, the minimum distance used to calculate the gain may be a function of the level of the sound source (e.g., the RMS value of the signal over several frames), the size of the sound source, or the radiative properties of the sound source, and the like.
[0060] 8A-8C illustrate examples of sound sources relative to a listener's right ear, according to some embodiments. Figure 8A illustrates the case where a sound source 810 is at a distance 812 from a listener's right ear 820 that is greater than a first minimum distance 822 and a second minimum distance 824. In this embodiment, the distance 812 between the simulated sound source and the listener's right ear 820 is used to calculate gain and other sound source position parameters and is not clamped.
[0061] 8B illustrates the case where the simulated sound source 810 is at a distance 812 from the listener's right ear 820 that is below a first minimum distance 822 and above a second minimum distance 824. In this embodiment, the distance 812 is clamped for the gain calculation but not for calculating other parameters such as azimuth and elevation angles or interaural time difference. In other words, the first minimum distance 822 is used to calculate the gain and the distance 812 between the simulated sound source 810 and the listener's right ear 820 is used to calculate other sound source position parameters.
[0062] 8C illustrates the case where the simulated sound source 810 is closer to the ear than both the first minimum distance 822 and the second minimum distance 824. In this embodiment, the distance 812 is clamped for the gain calculation and for calculating the other sound source position parameters. In other words, the first minimum distance 822 is used to calculate the gain and the second minimum distance 824 is used to calculate the other sound source position parameters.
[0063] In some embodiments, the gain calculated from the distance may be limited directly instead of limiting the minimum distance used to calculate the gain, i.e., the gain may be calculated based on the distance as a first step, and in a second step the gain may be clamped so that it does not exceed a certain threshold.
[0064] In some embodiments, the loudness response of a sound source may change as the sound source moves closer to the listener's head. For example, low frequencies at the ipsilateral ear may be amplified and / or high frequencies at the contralateral ear may be attenuated as the sound source moves closer to the listener's head. The change in loudness response may lead to a change in the interaural level difference (ILD).
[0065] 9A and 9B illustrate HRTF magnitude responses 900A and 900B at the ears for a (point) sound source in the horizontal plane, respectively, according to some embodiments. The HRTF magnitude responses may be calculated using a spherical head model as a function of azimuth. FIG. 9A illustrates the magnitude response 900A for a (point) sound source in the far field (e.g., 1 meter from the center of the user's head). FIG. 9B illustrates the magnitude response 900B for a (point) sound source in the near field (e.g., 0.25 meters from the center of the user's head). As illustrated in FIGS. 9A and 9B, the change in ILD may be most noticeable at low frequencies. In the far field, the magnitude response for low frequency components may be constant (e.g., independent of the angle of source azimuth). In the near field, the magnitude response of low frequency components may be amplified for a sound source on the same side of the user's head / ear, which may lead to a higher ILD at low frequencies. In the near field, the magnitude response of high frequency components may be attenuated for sound sources on opposite sides of the user's head.
[0066] In some embodiments, the change in magnitude response may be taken into account, for example, by considering the HRTF filters used in binaural rendering. In the case of VSA, the HRTF filters may be approximated as HRTFs corresponding to the positions used to calculate right ear panning and the positions used to calculate left ear panning (e.g., as illustrated in Figures 6B and 6C). In some embodiments, the HRTF filters may be calculated using the direct MD HRTF. In some embodiments, the HRTF filters may be calculated using the panned spherical head model HRTF. In some embodiments, the compensation filters may be calculated independently of the disparity HRTF angle.
[0067] In some embodiments, the disparity HRTF angle may be calculated and then used to calculate a more accurate compensation filter. For example, referring to FIG. 6B, the position used to calculate the left ear panning may be compared to the virtual sound source position to calculate a synthesis filter for the left ear, and the position used to calculate the right ear panning may be compared to the virtual sound source position to calculate a synthesis filter for the right ear.
[0068] In some embodiments, once the attenuation due to distance has been taken into account, the magnitude difference may be captured using additional signal processing, which may consist of gain, low shelving filters, and high shelving filters to be applied to each ear signal.
[0069] In some embodiments, the wideband gain may be calculated for angles up to 120 degrees, for example, according to Equation 1 below. [ka]
[0070] During the ceremony, [ka] may be, for example, the angle of the corresponding HRTF in the MD relative to the user's ear position. In some embodiments, angles other than 120 degrees may also be used. In these embodiments, Equation 1 may be modified for each angle used.
[0071] In some embodiments, the wideband gain may be calculated for angles greater than 120 degrees, for example, according to Equation 2 below. [ka]
[0072] In some embodiments, angles other than 120 degrees may also be used, in which case Equation 2 may be modified for each angle used.
[0073] In some embodiments, the low shelving filter gain may be calculated, for example, according to Equation 3 below. [ka]
[0074] In some embodiments, other angles may also be used, in which case Equation 3 may be modified for each angle used.
[0075] In some embodiments, a high shelving filter gain may be calculated for angles greater than 110 degrees, for example, according to Equation 4 below. [ka]
[0076] During the ceremony, [ka] may be the angle of the source relative to the user's ear position. In some embodiments, angles other than 110 degrees may also be used. In these embodiments, Equation 4 may be modified for each angle used.
[0077] The aforementioned effects (e.g., gain, low shelving filter, and high shelving filter) may be attenuated as a function of distance. In some embodiments, a distance attenuation coefficient may be calculated, for example, according to Equation 5 below. [ka]
[0078] where HR is the head radius and MD is the measurement distance. [ka] is the source distance clamped to be at least as large as the head radius.
[0079] FIG. 10 illustrates the off-axis angle (or source radiation angle) of a user relative to the acoustic axis 1015 of a sound source 1010, according to some embodiments. In some embodiments, the source radiation angle may be used to evaluate the direct path magnitude response, for example, based on the source radiation properties. In some embodiments, the off-axis angle may be different for each ear as the source moves closer to the user's head. In the figure, source radiation angle 1020 corresponds to the left ear, source radiation angle 1030 corresponds to the center of the head, and source radiation angle 1040 corresponds to the right ear. Different off-axis angles for each ear may lead to separate direct path processing for each ear.
[0080] FIG. 11 illustrates a sound source 1110 panned inside the user's head, according to some embodiments. To create an in-head effect, the sound source 1110 may be processed as a cross-fade between binaural and stereo rendering. In some embodiments, the binaural rendering may be created with respect to a source 1112 located on or outside the user's head. In some embodiments, the location of the sound source 1112 may be defined as the intersection of a line passing from the center 1120 of the user's head through the simulated sound location 1110 with the surface 1130 of the user's head. In some embodiments, the stereo rendering may be created using amplitude and / or time-based panning techniques. In some embodiments, time-based panning techniques may be used to time-align the stereo and binaural signals at each ear, for example, by applying an ITD to the contralateral ear. In some embodiments, the ITD and ILD may be reduced to zero as the sound source approaches the center 1120 of the user's head (i.e., as the source distance 1150 approaches zero). In some embodiments, the crossfade between binaural and stereo may be calculated based on the SD, for example, and normalized by the approximate radius 1140 of the user's head.
[0081] In some embodiments, a filter (e.g., an EQ filter) may be applied for a sound source located at the center of the user's head. The EQ filter may be used to reduce sudden timbre changes as the sound source moves through the user's head. In some embodiments, the EQ filter may be scaled to match the magnitude response at the surface of the user's head as the simulated sound source moves from the center of the user's head to the surface of the user's head, thus further reducing the risk of sudden magnitude response changes as the sound source moves in and out of the user's head. In some embodiments, a cross-fade between the equalized signal and the unprocessed signal may be used based on the location of the sound source between the center of the user's head and the surface of the user's head.
[0082] In some embodiments, the EQ filter may be automatically calculated as an average of the filters used to render sources on the surface of the user's head. The EQ filter may be exposed to the user as a set of adjustable / configurable parameters. In some embodiments, the adjustable / configurable parameters may include a control frequency and an associated gain.
[0083] 12 illustrates a signal flow 1200 that may be implemented to render a sound source in the far field, according to some embodiments. As illustrated in FIG. 12, a far-field distance attenuation 1220 may be applied to an input signal 1210, such as that described above. A common EQ filter 1230 (e.g., a source radiation filter) may be applied to the result to model the sound source radiation, and the output of the filter 1230 may be split and sent to separate left and right channels, and a delay (1240A / 1240B) and VSA (1250A / 1250B) function may be applied to each channel, such as that described above with respect to FIG. 5, resulting in left and right ear signals 1290A / 1290B.
[0084] FIG. 13 illustrates a signal flow 1300 that may be implemented to render a sound source in the near field, according to some embodiments. As illustrated in FIG. 13, a far-field distance attenuation 1320 may be applied to an input signal 1310, such as that described above. The output may be split into left / right channels, and separate EQ filters may be applied to each ear (e.g., a left ear near-field and source radiation filter 1330A for the left ear and a right ear near-field and source radiation filter 1330B for the right ear) to model sound source radiation and near-field ILD effects, such as those described above. The filters may be implemented as one per ear after the left and right ear signals are separated. Note that in this case, any other EQ applied to both ears may be folded into those filters (e.g., a left ear near-field and source radiation filter and a right ear near-field and source radiation filter) to avoid additional processing. Delay (1340A / 1340B) and VSA (1350A / 1350B) functions may then be applied to each channel, such as those described above with respect to FIG. 5, resulting in left and right ear signals 1390A / 1390B.
[0085] In some embodiments, to optimize computational resources, the system may automatically switch between signal flows 1200 and 1300 based on, for example, whether the sound source to be rendered is in the far field or the near field. In some embodiments, filter states may need to be copied between filters (e.g., source radiation filter, left ear near field and source radiation filter, and right ear near field and source radiation filter) during transitions to avoid processing artifacts.
[0086] In some embodiments, the EQ filter described above may be bypassed when its setting is perceptually equivalent to a flat magnitude response with 0 dB gain. When the response is flat but with a gain that differs from zero, a wideband gain may be used to efficiently achieve the desired result.
[0087] FIG. 14 illustrates a signal flow 1400 that may be implemented to render a sound source in the near field, according to some embodiments. As illustrated in FIG. 14, a far-field distance attenuation 1420 may be applied to an input signal 1410, such as that described above. A left ear near-field and source radiation filter 1430 may be applied to the output. The output of 1430 may be split into left / right channels, and a second filter 1440 (e.g., a right-left ear near-field and source radiation difference filter) may then be used to process the right ear signal. The second filter models the difference between the right and left ear near-field and source radiation effects. In some embodiments, a difference filter may be applied to the left ear signal. In some embodiments, a difference filter may be applied to the contralateral ear, which may depend on the location of the sound source. Delay (1450A / 1450B) and VSA (1460A / 1460B) functions may be applied to each channel, such as those described above with respect to FIG. 5, resulting in left and right ear signals 1490A / 1490B.
[0088] The head coordinate system may be used to calculate the acoustic propagation from the audio object to the listener's ears. The device coordinate system may be used by a tracking device (such as one or more sensors of a wearable head device in an augmented reality system such as those described above) to track the position and orientation of the listener's head. In some embodiments, the head coordinate system and the device coordinate system may be different. The center of the listener's head may be used as the origin of the head coordinate system and used to reference the position of the audio object relative to the listener, and the forward direction of the head coordinate system may be defined as from the center of the listener's head through the listener's front field of view. In some embodiments, an arbitrary point in space may be used as the origin of the device coordinate system. In some embodiments, the origin of the device coordinate system may be a point located between the optical lenses of the visual projection system of the tracking device. In some embodiments, the forward direction of the device coordinate system may be relative to the tracking device itself and depend on the position of the tracking device on the listener's head. In some embodiments, the tracking device may have a non-zero pitch (i.e., tilted up or down) with respect to the horizontal plane of the head coordinate system, leading to a misalignment between the forward direction of the head coordinate system and the forward direction of the device coordinate system.
[0089] In some embodiments, differences between the head coordinate system and the device coordinate system may be compensated for by applying a transformation to the position of the audio object relative to the listener's head. In some embodiments, differences in the origins of the head coordinate system and the device coordinate system may be compensated for by translating the position of the audio object relative to the listener's head by an amount equal to the distance between the origin of the head coordinate system and the origin of the device coordinate system reference point in three dimensions (e.g., x, y, and z). In some embodiments, differences in angles between the head coordinate system axes and the device coordinate system axes may be compensated for by applying a rotation to the position of the audio object relative to the listener's head. For example, if the tracking device is tilted downward by N degrees, the position of the audio object may be rotated downward by N degrees prior to rendering the audio output for the listener. In some embodiments, audio object rotation compensation may be applied before audio object translation compensation. In some embodiments, compensations (e.g., rotation, translation, scaling, and the like) may be done together in a single transformation that includes all compensations (e.g., rotation, translation, scaling, and the like).
[0090] 15A-15D illustrate examples of a head coordinate system 1500 corresponding to a user and a device coordinate system 1510 corresponding to a device 1512, such as a head-mounted augmented reality device as described above, according to an embodiment. FIG. 15A illustrates a top view of an example where there is a frontal translation offset 1520 between the head coordinate system 1500 and the device coordinate system 1510. FIG. 15B illustrates a top view of an example where there is a frontal translation offset 1520 and a rotation about a vertical axis 1530 between the head coordinate system 1500 and the device coordinate system 1510. FIG. 15C illustrates a side view of an example where there is both a frontal translation offset 1520 and a vertical translation offset 1522 between the head coordinate system 1500 and the device coordinate system 1510. FIG. 15D shows a side view of an example where there is both a frontal translation offset 1520 and a vertical translation offset 1522 between the head coordinate system 1500 and the device coordinate system 1510 as well as a rotation about the left / right horizontal axis 1530.
[0091] In some embodiments, such as those depicted in Figures 15A-15D, the system may calculate an offset between the head coordinate system 1500 and the device coordinate system 1510 and compensate accordingly. The system may use sensor data, such as eye tracking data from one or more optical sensors, long-term gravity data from one or more inertial measurement units, flexion data from one or more flexion / head size sensors, and the like. Such data may be provided by one or more sensors of an augmented reality system, such as those described above.
[0092] Various exemplary embodiments of the present disclosure are described herein. These examples are referred to in a non-limiting sense. They are provided to illustrate the more broadly applicable aspects of the present disclosure. Various modifications may be made to the disclosed embodiments described, and equivalents may be substituted without departing from the true spirit and scope of the present disclosure. In addition, many modifications may be made to adapt a particular situation, material, composition, process, process action, or step to the objective, spirit, or scope of the present disclosure. Moreover, as will be understood by those skilled in the art, each of the individual variations described and illustrated herein has discrete components and features that can be easily separated from or combined with the features of any of the other several embodiments without departing from the scope or spirit of the present disclosure. All such modifications are intended to be within the scope of the claims associated with this disclosure.
[0093] The present disclosure includes methods that may be implemented using the subject devices. The methods may include the act of providing such a suitable device. Such provisioning may be implemented by an end user. In other words, the act of "providing" merely requires the end user to obtain, access, approach, locate, configure, activate, power on, or otherwise act to provide the device required in the subject methods. The methods recited herein may be performed in any order of the recited events and the recited sequence of events that is logically possible.
[0094] Exemplary aspects of the present disclosure have been described above, together with details regarding material selection and manufacturing. As for other details of the present disclosure, these can be understood in conjunction with the above-referenced patents and publications, and are generally known or can be understood by those skilled in the art. The same can be true with respect to the method-based aspects of the present disclosure in terms of additional acts as generally or logically adopted.
[0095] In addition, the present disclosure has been described with reference to several embodiments, optionally incorporating various features, but the present disclosure is not limited to those described or illustrated as each variation of the disclosure is considered. Various modifications may be made to the present disclosure as described, and equivalents (whether listed herein or not included for purposes of some brevity) may be substituted without departing from the true spirit and scope of the present disclosure. In addition, when a range of values is provided, it is to be understood that all intervening values between the upper and lower limits of the range, and any other stated value or intervening values within the stated range, are encompassed within the present disclosure.
[0096] It is also contemplated that any optional features of the described inventive variations may be described and claimed independently or in combination with any one or more of the features described herein. Reference to a singular item includes the possibility that there are multiple identical items present. More specifically, as used in this specification and the claims associated therewith, the singular forms "a," "an," "said," and "the" include plural references unless specifically stated otherwise. In other words, the use of articles allows for "at least one" of the items of the present subject matter in the above description and in the claims associated with this disclosure. Furthermore, it is noted that such claims may be drafted to exclude any optional element. Thus, this language is intended to serve as a predicate for the use of exclusive terminology such as "solely," "only," and the like in connection with the recitation of claim elements, or the use of a "negative" limitation.
[0097] Without the use of such exclusive terminology, the term "comprising" in a claim associated with this disclosure shall be deemed to permit the inclusion of any additional elements, regardless of whether a given number of elements are recited in such claim, or the addition of features may be deemed to change the nature of the elements recited in such claim. Except as specifically defined herein, all technical and scientific terms used herein shall be given the broadest possible commonly understood meaning while maintaining claim legitimacy.
[0098] The scope of the present disclosure is not intended to be limited to the examples provided and / or the present specification, but rather is to be limited only by the scope of the terms of the claims associated with this disclosure.
Claims
1. 1. A method for presenting an audio signal to a user of a wearable head device, the method comprising: identifying a source location corresponding to the audio signal via one or more sensors of the wearable head device; determining a reference point based on a spatial relationship between the user's head and the wearable head device via the one or more sensors of the wearable head device; For each of the user's respective left and right ears, determining virtual speaker positions substantially collinear with the source locations and the individual ear positions for a virtual speaker array associated with a sphere concentric with the reference point, the sphere having a first radius, the determined virtual speaker positions being located on a surface of the sphere; determining head-related transfer functions (HRTFs) corresponding to the virtual speaker positions; generating output audio signals for the individual ears based on the HRTFs and further based on the audio signals; attenuating the audio signal based on a distance between the source location and the individual ear, the distance being clamped at a minimum value; and presenting the output audio signals to the respective ears of the user via one or more speakers associated with the wearable head device. To carry out A method comprising:
2. The method of claim 1 , wherein the source location is separated from the reference point by a distance that is less than the first radius.
3. The method of claim 1 , wherein the source location is separated from the reference point by a distance that is greater than the first radius.
4. The method of claim 1 , wherein the source location is separated from the reference point by a distance equal to the first radius.
5. The method of claim 1 , wherein generating the output audio signal comprises applying an interaural time difference to the audio signal.
6. 2. The method of claim 1 , wherein determining the HRTFs corresponding to the virtual speaker positions comprises selecting the HRTFs from a plurality of HRTFs, each HRTF of the plurality of HRTFs describing a relationship between a listener and an audio source separated from the listener by a distance substantially equal to the first radius.
7. The method of claim 1 , wherein the wearable head device comprises the one or more speakers.
8. 1. A system comprising: A wearable head device; One or more sensors; one or more speakers; one or more processors configured to carry out the method; The method comprises: identifying a source location corresponding to an audio signal via the one or more sensors; determining, via the one or more sensors, a reference point based on a spatial relationship between the wearable head device and a head of a user of the wearable head device; For each of the user's respective left and right ears, determining virtual speaker positions substantially collinear with the source locations and the individual ear positions for a virtual speaker array associated with a sphere concentric with the reference point, the sphere having a first radius, the determined virtual speaker positions being located on a surface of the sphere; determining head-related transfer functions (HRTFs) corresponding to the virtual speaker positions; generating output audio signals for the individual ears based on the HRTFs and further based on the audio signals; attenuating the audio signal based on a distance between the source location and the individual ear, the distance being clamped at a minimum value; and presenting the output audio signals to the respective ears of the user via the one or more speakers. To carry out Including, the system.
9. The system of claim 8 , wherein the source location is separated from the reference point by a distance less than the first radius.
10. The system of claim 8 , wherein the source location is separated from the reference point by a distance that is greater than the first radius.
11. The system of claim 8 , wherein the source location is separated from the reference point by a distance equal to the first radius.
12. The system of claim 8 , wherein generating the output audio signal comprises applying an interaural time difference to the audio signal.
13. 9. The system of claim 8, wherein determining the HRTF corresponding to the virtual speaker position includes selecting the HRTF from a plurality of HRTFs, each HRTF of the plurality of HRTFs describing a relationship between a listener and an audio source separated from the listener by a distance substantially equal to the first radius.
14. The system of claim 8 , wherein the wearable head device comprises the one or more speakers.
15. 1. A non-transitory computer readable medium having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform a method of presenting an audio signal to a user of a wearable head device, the method comprising: identifying a source location corresponding to the audio signal via one or more sensors of the wearable head device; determining a reference point based on a spatial relationship between the user's head and the wearable head device via the one or more sensors of the wearable head device; For each of the user's respective left and right ears, determining virtual speaker positions substantially collinear with the source locations and the individual ear positions for a virtual speaker array associated with a sphere concentric with the reference point, the sphere having a first radius, the determined virtual speaker positions being located on a surface of the sphere; determining head-related transfer functions (HRTFs) corresponding to the virtual speaker positions; generating output audio signals for the individual ears based on the HRTFs and further based on the audio signals; attenuating the audio signal based on a distance between the source location and the individual ear, the distance being clamped at a minimum value; and presenting the output audio signals to the respective ears of the user via one or more speakers associated with the wearable head device. To carry out 16. A non-transitory computer readable medium comprising:
16. 16. The non-transitory computer-readable medium of claim 15, wherein the source location is separated from the reference point by a distance that is less than the first radius.
17. 16. The non-transitory computer readable medium of claim 15, wherein the source location is separated from the reference point by a distance that is greater than the first radius.
18. 16. The non-transitory computer-readable medium of claim 15, wherein the source location is separated from the reference point by a distance equal to the first radius.
19. 16. The non-transitory computer-readable medium of claim 15, the method further comprising applying an interaural time difference to the audio signal.
20. 16. The non-transitory computer-readable medium of claim 15, wherein determining the HRTF corresponding to the virtual speaker position includes selecting the HRTF from a plurality of HRTFs, each HRTF of the plurality of HRTFs describing a relationship between a listener and an audio source separated from the listener by a distance substantially equal to the first radius.
Citation Information
Patent Citations
Sound image localization controller
JP1994327100A
Sound image localization processor, method, and program
JP2008228155A
Sound image localization device and program
JP2014127936A
Spatial information presentation device, spatial information presentation method, and spatial information presentation computer
JP2015076797A
Decoupled binaural rendering
US9992602B1