Reverberation gain normalization

The system addresses the challenge of simulating accurate acoustic properties in virtual environments by using a reverberation processing system with RIG and RIP corrector, enhancing the immersive experience in VR, AR, and MR systems.

JP7714074B2Active Publication Date: 2025-07-28MAGIC LEAP INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024039810
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-06-14
Filing Date
2024-03-14
Publication Date
2025-07-28
Estimated Expiration
2039-06-14

AI Technical Summary

Technical Problem

Conventional audio systems fail to accurately simulate the acoustic properties of virtual environments, limiting the immersive experience in virtual reality, augmented reality, and mixed reality systems.

Method used

A system and method for providing accurate and independent control of reverberation properties using a reverberation processing system with a Reverberation Initial Gain (RIG) and a RIP corrector, combined with a reverberator that includes comb filters and all-pass filters to mimic environmental effects.

Benefits of technology

Enhances the realism of virtual sound by accurately simulating the acoustic properties of the environment, ensuring that virtual sounds match the user's expectations of their physical surroundings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007714074000017
    Figure 0007714074000017
  • Figure 0007714074000018
    Figure 0007714074000018
  • Figure 0007714074000019
    Figure 0007714074000019
Patent Text Reader

Abstract

To provide suitable reverberation gain normalization.SOLUTION: Systems and methods for providing accurate and independent control of reverberation properties are disclosed. In some embodiments, a system may include a reverberation processing system, a direct processing system, and a combiner. The reverberation processing system can include a reverb initial power (RIP) control system and a reverberator. The RIP control system can include a reverb initial gain (RIG) and a RIP corrector. The RIG can be configured to apply a RIG value to an input signal, and the RIP corrector can be configured to apply a RIP correction factor to a signal from the RIG. The reverberator can be configured to apply reverberation effects to a signal from the RIP control system. In some embodiments, one or more values and / or correction factors can be calculated and applied such that a signal output from a component in the reverberation processing system is normalized to a predetermined value (e.g., unity (1.0)).SELECTED DRAWING: Figure 5A
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] (Cross - Reference to Related Applications) This application claims the benefit of U.S. Provisional Patent Application No. 62 / 685,235, filed on June 14, 2018, which is hereby incorporated by reference in its entirety.

[0002] The present disclosure generally relates to reverberation algorithms and reverberators for using the disclosed reverberation algorithms. More specifically, the present disclosure relates to calculating a Reverberation Initial Power (RIP) correction factor and applying this in series with a reverberator. The present disclosure also relates to calculating a Reverberation Energy Correction (REC) factor and applying this in series with a reverberator.

Background Art

[0003] Virtual environments are prevalent in computing environments and find use in video games (where the virtual environment can represent a game world), maps (where the virtual environment can represent terrain to be navigated), simulations (where the virtual environment can simulate a real environment), digital storytelling (where virtual characters can interact with each other within the virtual environment), and many other applications. Modern computer users are generally comfortable perceiving and interacting with virtual environments. However, the user experience with virtual environments can be limited by the technology used to present the virtual environment. For example, conventional displays (e.g., 2D display screens) and audio systems (e.g., fixed speakers) may not be able to realize a virtual environment so as to attract people and create a realistic and immersive experience.

[0004] Virtual reality ("VR"), augmented reality ("AR"), mixed reality ("MR"), and related technologies (collectively, "XR") share the ability to present sensory information corresponding to a virtual environment represented by data within a computer system to a user of an XR system. Such systems can provide a uniquely enhanced sense of immersion and presence by combining virtual visual and audio cues with the sights and sounds of reality. Thus, it may be desirable to present digital sound to a user of an XR system such that the sound appears to occur naturally within the user's physical environment and consistently with what the user expects. Generally speaking, a user expects that virtual sounds will carry the acoustic properties of the physical environment in which they are heard. For example, a user of an XR system within a large concert hall expects that the virtual sound of the XR system will have a sound quality similar to that of a large cave, and conversely, a user within a small apartment expects that the sound will be more attenuated, proximate, and immediate.

[0005] Digital or artificial reverberators can be used in audio and music signal processing to simulate the perceived effects of room diffusion acoustical reverberation. For example, a system that provides accurate and independent control of reverberation volume and decay for each digital reverberator may be desired for intuitive control by a sound designer. SUMMARY OF THE INVENTION MEANS FOR SOLVING THE PROBLEM

[0006] A system and method are disclosed for providing accurate and independent control of reverberation properties. In some embodiments, the system may include a reverberation processing system, a direct processing system, and a combiner. The reverberation processing system can include a Reverberation Initial Power (RIP) control system and a reverberator. The RIP control system can include a Reverberation Initial Gain (RIG) and a RIP corrector. The RIG can be configured to apply an RIG value to the input signal, and the RIP corrector can be configured to apply an RIP correction factor to the signal from the RIG. The reverberator can be configured to apply a reverberation effect to the signal from the RIP control system.

[0007] In some embodiments, the reverberator can include one or more comb filters to filter out one or more frequencies within the system. The one or more frequencies can be filtered out, for example, to mimic environmental effects. In some embodiments, the reverberator can include one or more all-pass filters. Each all-pass filter can be configured to receive a signal from the comb filter and pass its input signal without changing its magnitude, but can change the phase of the signal.

[0008] In some embodiments, the RIG can include a Reverberation Gain (RG) configured to apply an RG value to the input signal. In some embodiments, the RIG can include a REC configured to apply a RE correction factor to the signal from the RG. The present invention provides, for example, the following. (Item 1) A method for rendering an audio signal, the method comprising: receiving an input signal, the input signal including a first portion and a second portion, by using a reverberation processing system applying a Reverberation Initial Gain (RIG) value to the first portion of the input signal, Applying a Reverberation Initial Power (RIP) correction factor to a first portion of the input signal, wherein the RIP correction factor is applied after the RIG value is applied; introducing a reverberation effect within the first portion of the input signal; and performing; by using a direct processing system, introducing a delay into a second portion of the input signal; applying a gain to the second portion of the input signal; and performing; combining the first portion of the input signal from the reverberation processing system and the second portion of the input signal from the direct processing system; outputting the combined first and second portions of the input signal as an output signal, wherein the output signal is the audio signal; A method comprising. (Item 2) Calculating the RIP correction factor, wherein the RIP correction factor is calculated by a RIP corrector and applied to the first portion of the input signal; The method according to item 1, further comprising, wherein the RIP correction factor is calculated such that the signal output from the RIP corrector is normalized to 1.0. (Item 3) The method according to item 1, wherein the RIP correction factor depends on one or more of a reverberator topology, the number and duration of delay units, a connection gain, and filter parameters. (Item 4) The method according to item 1, wherein the RIP correction factor is equal to the RMS power of the reverberation impulse response. (Item 5) The method according to item 1, wherein introducing the reverberation effect within the first portion of the input signal includes filtering out one or more frequencies. (Item 6) The method according to item 1, wherein introducing the reverberation effect includes changing the phase of the first portion of the input signal. (Item 7) The introduction of the reverberation effect includes selecting a reverblator topology and setting internal reverblator parameters, the method according to item 1. (Item 8) The RIG value is equal to 1.0, and the method further includes calculating the RIP correction coefficient such that the RIP of the reverberation processing system is equal to 1.0, the method according to item 1. (Item 9) Setting the reverberation time to infinity, Recording the reverblator impulse response, Measuring the reverberation RMS amplitude and calculating the RIP correction coefficient thereby, further comprising, the RIP correction coefficient being related to the reciprocal of the reverberation RMS amplitude, the method according to item 1. (Item 10) Setting the reverberation time to a finite value, Recording the reverblator impulse response, Deriving the reverberation RMS amplitude decay curve, Determining the RMS amplitude at the release time and calculating the RIP correction coefficient thereby, further comprising, the RIP correction coefficient being related to the reciprocal of the reverberation RMS amplitude, the method according to item 1. (Item 11) The application of the RIG value applying a reverberation gain (RG) value to a first portion of the input signal, applying a reverberation energy (RE) correction coefficient to the first portion of the input signal, the RE correction coefficient being applied after the RG value is applied, comprising the method according to item 1. (Item 12) Calculating the RE correction coefficient, the RE correction coefficient being calculated by an RE corrector and applied to the first portion of the input signal, The method according to item 11, further comprising, wherein the RE corrector is calculated such that the signal output from the RE correction is normalized to 1.0. (Item 13) Calculating the RIG value, wherein the RIG value is equal to the RG value multiplied by the RE correction coefficient. The method according to item 11, further comprising. (Item 14) The method according to item 1, wherein the reverberation effect is introduced after the RIP correction coefficient is applied. (Item 15) A system, A wearable head device configured to provide an audio signal to a user, A circuit configured to render the audio signal, the circuit comprising: A reverberation processing system, A Reverberation Initial Gain (RIG) configured to apply a RIG value to a first portion of an input signal, A Reverberation Initial Power (RIP) corrector configured to apply a RIP correction coefficient to the signal from the RIG, and A reverberation processing system including: A reverbulator configured to introduce a reverberation effect into the signal from the RIP corrector, A direct processing system, A propagation delay configured to introduce a delay into a second portion of the input signal, A direct gain configured to apply a gain to the second portion of the input signal, and A direct processing system including: A combiner, Combining a first portion of the input signal from the reverberation processing system and a second portion of the input signal from the direct processing system, Outputting the combined first and second portions of the input signal as an output signal, wherein the output signal is the audio signal, A combiner configured to perform: A circuit including: A system comprising (Item 16) The system according to item 15, wherein the reverberator includes a plurality of comb filters configured to filter out one or more frequencies in the signal from the RIP corrector. (Item 17) The system according to item 16, wherein the reverberator includes a plurality of all-pass filters configured to change the phase of the signal from the plurality of comb filters. (Item 18) The system according to item 15, wherein the RIG includes a reverberation gain (RG) configured to apply an RG value to a first portion of the input signal. (Item 19) The system according to item 18, wherein the RIG further includes a reverberation energy (RE) corrector configured to apply an RE correction coefficient to the signal from the RG.

Brief Description of the Drawings

[0009]

Figure 1

[0010]

Figure 2

[0011]

Figure 3

[0012]

Figure 4

[0013]

Figure 5A

[0014]

Figure 5B

[0015]

Figure 6

[0016]

Figure 7

[0017]

Figure 8

[0018]

Figure 9

[0019]

Figure 10

[0020]

Figure 11A

[0021]

Figure 11B

[0022]

Figure 12A

[0023]

Figure 12B

[0024]

Figure 13

[0025]

Figure 14

[0026]

Figure 15

[0027]

Figure 16

[0028]

Figure 17A

[0029]

Figure 17B

[0030]

Figure 18A

[0031]

Figure 18B

[0032]

Figure 19

[0033] In the following description of the embodiments, reference is made to the accompanying drawings, which form a part hereof and in which are shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the disclosed embodiments.

[0034] Exemplary Wearable System

[0035] FIG. 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., the wearable head device 100), a handheld controller (e.g., the handheld controller 200 described below), and / or an auxiliary unit (e.g., the auxiliary unit 300 described below). In some embodiments, 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 (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 sets 112A / 112B and exit pupil expansion (EPE) grating sets 114A / 114B), left and right acoustic structures such as speakers 120A and 120B (mounted on respective arm members 122A and 122B and positioned adjacent to the user's left and right ears), one or more sensors such as an infrared sensor, an accelerometer, a GPS unit, an inertial measurement unit (IMU) (e.g., IMU 126), an acoustic sensor (e.g., microphone 150), an orthogonal coil electromagnetic receiver (e.g., receiver 127 shown mounted on the left arm member 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 towards the user (e.g., for detecting the user's eye movements) (e.g., eye cameras 128 and 128B). However, the wearable head device 100 can incorporate any suitable display technology and any suitable number, type, or combination of sensors or other components without departing from the scope of the invention.In some embodiments, the wearable head device 100 may incorporate one or more microphones 150 configured to detect an audio signal generated by the user's voice, such microphones may be positioned within the wearable head device 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, a memory, a storage unit, or various input devices (e.g., buttons, touch pads), or may be coupled to a handheld controller (e.g., handheld controller 200) or an auxiliary unit (e.g., auxiliary unit 300) comprising one or more such components. In some embodiments, the sensor may be configured to output a set of coordinates of the head-mounted unit with respect to the user's environment, provide the input to a processor, and perform 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 the handheld controller 200 and / or the auxiliary unit 300, as further described below.

[0036] Figure 2 illustrates an exemplary mobile handheld controller component 200 of an exemplary wearable system. In some embodiments, the handheld controller 200 may communicate wired or wirelessly with the wearable head device 100 and / or the auxiliary unit 300 described below. In some embodiments, the handheld controller 200 includes a handle portion 220 to be held by a user and one or more buttons 240 disposed along the upper surface 210. In some embodiments, the handheld controller 200 may be configured for use as an optical tracking target. For example, sensors (e.g., cameras or other optical sensors) 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 the hand of the user holding the handheld controller 200. In some embodiments, the handheld controller 200 may include one or more input devices such as a processor, memory, storage unit, display, or those described above. In some embodiments, 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 embodiments, the sensors may be capable of detecting the position or orientation of the handheld controller 200 relative to the wearable head device 100 or another component of the wearable system. In some embodiments, the sensors may be positioned within the handle portion 220 of the handheld controller 200 and / or may be mechanically coupled to the handheld controller. The handheld controller 200 may be configured to provide one or more output signals corresponding to, for example, the depressed state of the button 240, or the position, orientation, and / or motion (e.g., via an IMU) of the handheld controller 200. Such output signals may be used as input to the 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 can include one or more microphones to detect sound (e.g., the user's speech, ambient sound) and, in some cases, provide a signal corresponding to the detected sound to a processor (e.g., the processor of the wearable head device 100).

[0037] FIG. 3 illustrates an exemplary auxiliary unit 300 of an exemplary wearable system. In some embodiments, the auxiliary unit 300 may communicate with the wearable head device 100 and / or the handheld controller 200, either wired or wirelessly. The auxiliary unit 300 can include a battery to provide energy for operating one or more components of the wearable system, such as the wearable head device 100 and / or the handheld controller 200 (including a display, sensors, acoustic structures, processors, microphones, and / or other components of the wearable head device 100 or the handheld controller 200). In some embodiments, 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 embodiments, the auxiliary unit 300 includes a clip 310 (e.g., a belt worn by the user) for attaching the auxiliary unit to the user. The advantage of using the auxiliary unit 300 to store one or more components of the wearable system is that doing so can allow large or heavy components to be carried on the user's waist, chest, or back, which are relatively well-suited to support large and heavy objects, rather than being mounted on the user's head (e.g., when stored within the wearable head device 100) or carried by the user's hand (e.g., when stored within the handheld controller 200). This can be particularly advantageous for relatively heavy or bulky components such as a battery.

[0038] FIG. 4 shows an exemplary functional block diagram that may correspond to an exemplary wearable system 400, which may include, among other things, the exemplary wearable head device 100, the handheld controller 200, and the auxiliary unit 300 described above. In some embodiments, 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 exemplary handheld controller 400B, herein referred to as a “totem” (and may correspond to the handheld controller 200 described above), which may include a totem / headgear 6-degree-of-freedom (6DOF) totem subsystem 404A. The wearable system 400 may also include an exemplary wearable head device 400A (which may correspond to the wearable headgear device 100 described above), which may include 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 of the handheld controller 400B relative to the wearable head device 400A (e.g., offsets in three translational directions and rotations along three axes). The six degrees of freedom may be represented relative to the coordinate system of the wearable head device 400A. The three translational offsets may be represented as X, Y, and Z offsets, a translation matrix, or some other representation within such a coordinate system. The rotational degrees of freedom may be represented as a sequence, vector, rotation matrix, quaternion, or some other representation of yaw, pitch, and roll rotations. In some embodiments, one or more depth cameras 444 (and / or one or more non-depth cameras) included within the wearable head device 400A and / or one or more optical targets (e.g., buttons 240 of the handheld controller 200 as described above or dedicated optical targets included within the handheld controller) may be used for 6DOF tracking.In some embodiments, the handheld controller 400B can include a camera as described above, and the headgear 400A can include an optical target for optical tracking in conjunction with the camera. In some embodiments, the wearable head device 400A and the handheld controller 400B each include a set of three orthogonally oriented solenoids, which are used to wirelessly transmit and receive three distinguishable signals. The six degrees of freedom (6DOF) of the handheld controller 400B relative to the wearable head device 400A may be determined by measuring the relative magnitudes of the three distinguishable signals received in each of the coils for reception. In some embodiments, the 6DOF totem subsystem 404A can include an inertial measurement unit (IMU) that is useful for providing improved accuracy and / or more timely information regarding fast movement of the handheld controller 400B.

[0039] In some embodiments involving augmented or mixed reality applications, it may be desirable to transform coordinates from a local coordinate space (e.g., a coordinate space fixed with respect to the wearable head device 400A) to an inertial coordinate space or to an environmental coordinate space. For example, such a transformation may be necessary so that the display of the wearable head device 400A presents virtual objects at expected positions and orientations with respect to the real environment rather than at fixed positions and orientations on the display (e.g., at the same position on the display of the wearable head device 400A). For example, a virtual person sitting in a real chair facing forward (regardless of the position and orientation of the wearable head device 400A). This can maintain the illusion that the virtual object exists within the real environment (and, for example, does not appear unnaturally positioned within the real environment as the wearable head device 400A shifts and rotates). In some embodiments, a compensating 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 the transformation of the wearable head device 400A with respect to the 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 provide the image to the block 406. The SLAM / visual odometry block 406 implementation can include a processor configured to process the image and then determine the position and orientation of the user's head, which can be used to identify the 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 wearable head device 400A. The information from the IMU 409 can be integrated with the information from the SLAM / visual odometry block 406 to provide more timely information regarding improved accuracy and / or faster adjustment of the user's head pose and position.

[0040] In some embodiments, the depth camera 444 can supply a 3D image to a hand gesture tracker 411 that can be implemented within the processor of the wearable head device 400A. The hand gesture tracker 411 can identify a user's hand gesture, for example, by matching the 3D image received from the depth camera 444 to a stored pattern representing the hand gesture. Other suitable techniques for identifying a user's hand gesture will be apparent.

[0041] In some embodiments, one or more processors 416 may be configured to receive data from the headgear subsystem 404B, IMU 409, SLAM / visual odometry block 406, depth camera 444, microphone (not shown), and / or hand gesture tracker 411. The processor 416 may also be able to send and receive control signals to and from the 6DOF totem system 404A. The processor 416 may be wirelessly coupled to the 6DOF totem system 404A in embodiments where the handheld controller 400B is not tethered. The processor 416 may further communicate with additional components such as the audiovisual content memory 418, graphics processing unit (GPU) 420, and / or digital signal processor (DSP) audio spatializer 422. The DSP audio spatializer 422 may be coupled to the head-related transfer function (HRTF) memory 425. The GPU 420 may include a left channel output coupled to the left source 424 of light modulated per image and a right channel output coupled to the right source 426 of light modulated per image. The GPU 420 may output stereoscopic image data to the sources 424, 426 of light modulated per image. The DSP audio spatializer 422 may output audio to the left speaker 412 and / or right speaker 414. The DSP audio spatializer 422 may receive from the processor 416 an input indicating a direction vector from the user to a virtual sound source (e.g., movable by the user via the handheld controller 400B). Based on the direction vector, the DSP audio spatializer 422 may be able to determine the corresponding HRTF (e.g., by accessing the 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 the virtual sound generated by the virtual object.This can improve the credibility and realism of virtual sounds by incorporating the user's relative position and orientation with respect to the virtual sounds within the mixed reality environment, i.e., by presenting virtual sounds that match the user's expectations of what the virtual sounds would sound like if they were real sounds within the real environment.

[0042] In some embodiments, such as those shown in FIG. 4, one or more of the processor 416, GPU 420, DSP audio spatialization device 422, HRTF memory 425, and audio / visual content memory 418 may be included within an auxiliary unit 400C (which may correspond to the auxiliary unit 320 described above). The auxiliary unit 400C includes a battery 427 and may power its components and / or supply power to the wearable head device 400A and / or the handheld controller 400B. Incorporating such components within an auxiliary unit that can be mounted on the user's waist can limit the size and weight of the wearable head device 400A, which in turn can reduce fatigue in the user's head and neck.

[0043] FIG. 4 presents elements corresponding to various components of the exemplary wearable system 400, but various other suitable arrangements of these components will be apparent to those skilled in the art. For example, the elements presented in FIG. 4 as being associated with the auxiliary unit 400C may instead be associated with the wearable head device 400A or the handheld controller 400B. Additionally, some wearable systems may eliminate the handheld controller 400B or the auxiliary unit 400C entirely. Such changes and modifications are understood to be within the scope of the disclosed embodiments.

[0044] Mixed reality environment

[0045] Like all people, users of a composite reality system exist within the real environment, i.e., the three-dimensional portion of the "real world" and all of its contents that are perceivable by the user. For example, the user perceives the real environment using their normal human senses, i.e., vision, hearing, touch, taste, and smell, and interacts with the real environment by moving their own body within the real environment. Locations within the real environment can be described as coordinates within a coordinate space, and for example, the coordinates can include latitude, longitude, and altitude relative to sea level, distances in three orthogonal dimensions from a reference point, or other suitable values. Similarly, a vector can describe a quantity having a direction and magnitude within a coordinate space.

[0046] A computing device can maintain a representation of a virtual environment, for example, within a memory associated with the device. As used herein, a virtual environment is a computer representation of a three-dimensional space. The virtual environment can include representations of any object, action, signal, parameter, coordinate, vector, or other characteristic associated with that space. In some embodiments, circuitry (e.g., a processor) of the computing device can maintain and update the state of the virtual environment, i.e., the processor can determine the state of the virtual environment at a second time based on data associated with the virtual environment and / or inputs provided by a user at a first time. For example, if an object within the virtual environment is located at a first coordinate at a certain time, has certain programmed physical parameters (e.g., mass, coefficient of friction), and an input received from the user indicates that a force should be applied to the object in a certain direction vector, the processor can apply the laws of kinematics and use basic mechanics to determine the location of the object at that time. The processor can use any suitable information known about the virtual environment and / or any suitable inputs to determine the state of the virtual environment at a given time. When maintaining and updating the state of the virtual environment, the processor can execute any suitable software, including software related to creating and deleting virtual objects within the virtual environment, software (e.g., scripts) for defining the behavior of virtual objects or characters within the virtual environment, software for defining the behavior of signals (e.g., audio signals) within the virtual environment, software for creating and updating parameters associated with the virtual environment, software for generating audio signals within the virtual environment, software for handling inputs and outputs, software for implementing network operations, software for applying asset data (e.g., animation data for moving virtual objects over time), or many other possibilities.

[0047] Output devices such as displays or speakers can present any or all aspects of the virtual environment to the user. For example, the virtual environment may include virtual objects (which may include representations of inanimate objects, people, animals, light, etc.) that can be presented to the user. The processor can determine a view of the virtual environment (e.g., corresponding to a "camera" with origin coordinates, line of sight, and frustum), and render a visible scene of the virtual environment corresponding to that view on the display. Any suitable rendering technique may be used for this purpose. In some embodiments, the visible scene may include only some of the virtual objects within the virtual environment and may exclude other virtual objects. Similarly, the virtual environment may include audio aspects that can be presented to the user as one or more audio signals. For example, virtual objects within the virtual environment may generate sounds arising from the location coordinates of the object (e.g., a virtual character may speak or cause sound effects), or the virtual environment may be associated with musical cues or ambient sounds that may or may not be associated with a particular location. The processor can determine an audio signal corresponding to the "listener" coordinates, e.g., an audio signal that is mixed and processed to simulate an audio signal corresponding to a composite of the sounds within the virtual environment and that would be audible to a listener at the listener coordinates, and present the audio signal to the user via one or more speakers.

[0048] Since a virtual environment exists only as a computer construct, a user cannot directly perceive the virtual environment using their normal senses. Instead, a user can only indirectly perceive the virtual environment as presented to the user, for example, by way of a display, speakers, a tactile output device, etc. Similarly, a user cannot directly touch, manipulate, or otherwise interact with the virtual environment, but can provide input data to a processor that can use the device or sensor data to update the virtual environment via an input device or sensor. For example, a camera sensor can provide optical data indicating that a user is attempting to move an object within the virtual environment, and the processor can use that data to cause the object to respond accordingly within the virtual environment.

[0049] Reverberation algorithm and reverberator

[0050] In some embodiments, a digital reverberator may be designed based on a delay network with feedback. In such embodiments, reverberator algorithm design guidelines may be included / available for accurate parametric decay time control and for maintaining the reverberation volume when the decay time is varied. Relative adjustment of the reverberation volume may be achieved by providing an adjustable signal amplitude gain that cascades with the digital reverberator. This approach may enable a sound designer or recording engineer to independently adjust the reverberation decay time and reverberation volume while audibly monitoring the reverberator output signal to achieve a desired effect.

[0051] Programmatic applications such as bidirectional audio engines for video games or VR / AR / MR can simulate multiple moving sound sources at various positions and distances around a listener (e.g., a virtual listener) within a room / environment (e.g., a virtual room / environment), and relative reverberant volume control may not be sufficient. In some embodiments, an absolute reverberant volume that can be experienced from each virtual sound source during rendering is applied. For example, many factors such as the listener and sound source positions, and the acoustic properties of the room / environment simulated by, for example, a reverberator can adjust this value. In some embodiments such as in bidirectional audio applications, it is desirable to programmatically control the early reverberation power (RIP) as defined, for example, in "Analysis and synthesis of room reverberation based on a statistical time-frequency model" by Jean-Marc Jot, Laurent Cerveau, and Olivier Warusfel. The RIP may be used to characterize the virtual room regardless of the position of the virtual listener or virtual sound source.

[0052] In some embodiments, a reverberation algorithm (executed by a reverberator) may be configured to perceptually match the acoustic reverberation properties of a specific room. Exemplary acoustic reverberation properties can include, but are not limited to, early reverberation power (RIP) and reverberation decay time (T60). In some embodiments, the acoustic reverberation properties of the room may be calculated by computer simulation based on the geometric and / or physical description of the real or virtual room measured in the real room, or be equivalent.

[0053] Exemplary audio rendering system

[0054] FIG. 5A illustrates a block diagram of an exemplary audio rendering system according to some embodiments. FIG. 5B illustrates a flow of an exemplary process for operating the audio rendering system of FIG. 5A according to some embodiments.

[0055] The audio rendering system 500 can include a reverberation processing system 510A, a direct processing system 530, and a combiner 540. Both the reverberation processing system 510A and the direct processing system 530 can receive an input signal 501.

[0056] The reverberation processing system 510A can include a RIP control system 512 and a reverb later 514. The RIP control system 512 can receive the input signal 501 and output the signal to the reverb later 514. The RIP control system 512 can include a Reverberation Initial Gain (RIG) 516 and a RIP corrector 518. The RIG 516 can receive a first portion of the input signal 501 and output the signal to the RIP corrector 518. The RIG 516 can be configured to apply an RIG value to the input signal 501 (step 552 of process 550). The step of setting the RIG value can have the effect of defining the absolute amount of RIP in the output signal of the reverberation processing system 510A.

[0057] The RIP corrector 518 can receive the signal from the RIG 516, calculate a RIP correction coefficient, and be configured to apply it to its input signal (from the RIG 516) (step 554). The RIP corrector 518 can output the signal to the reverb later 514. The reverb later 514 can receive the signal from the RIP corrector 518 and be configured to introduce a reverberation effect into the signal (step 556). The reverberation effect can be based on, for example, a virtual environment. The reverb later 514 is discussed in more detail below.

[0058] The direct processing system 530 can include a propagation delay 532 and a direct gain 534. The direct processing system 530 and the propagation delay 532 can receive a second portion of the input signal 501. The propagation delay 532 can be configured to introduce a delay into the input signal 501 (step 558) and output the delayed signal to the direct gain 534. The direct gain 534 can receive the signal from the propagation delay 532 and can be configured to apply a gain to the signal (step 560).

[0059] The combiner 540 can receive output signals from both the reverberation processing system 510A and the direct processing system 530 and can be configured to combine (e.g., add, aggregate, etc.) the signals (step 562). The output from the combiner 540 can be the output signal 540 of the audio rendering system 500.

[0060] Exemplary Reverberation Initial Power (RIP) Normalization

[0061] In the reverberation processing system 510A, both the RIG 516 and the RIP corrector 518 can apply (and / or calculate) the RIG value and the RIP correction factor, respectively, such that when applied in series, the signal output from the RIP corrector 518 can be normalized to a predetermined value (e.g., unity (1.0)). That is, the RIG value of the output signal can be controlled by applying the RIG 516 in series with the RIP corrector 518. In some embodiments, the RIP correction factor can be applied immediately after the RIG value. The RIP normalization process is discussed in more detail below.

[0062] In some embodiments, to generate a reverberation tail, the reverberation algorithm may include, for example, a parallel comb filter, followed by a series of all-pass filters. In some embodiments, the digital reverberator may be constructed as a network that includes one or more delay units interconnected with feedback and / or feedforward paths, which may also include a signal gain scaling or filter unit. The RIP correction factor of a reverberation processing system, such as the reverberation processing system 510A of FIG. 5A, may depend on one or more parameters such as, for example, the reverberator topology, the number and duration of delay units included in the network, the connection gain, and the filter parameters.

[0063] In some embodiments, the RIP correction factor of the reverberation processing system may be equal to the root mean square (RMS) power of the impulse response of the reverberation system when the reverberation time is set to infinity. In some embodiments, for example, as illustrated in FIG. 6, when the reverberation time of the reverberator is set to infinity, the impulse response of the reverberator may be a non-decaying noise-like signal having a constant RMS amplitude with respect to time.

[0064] The RMS power P of the digital signal {x} at time t, represented in a sample rms (t) may be equal to the average of the squared signal amplitudes. In some embodiments, the RMS power may be expressed as follows.

Chemical formula

[0065] The RMS amplitude may be equal to the square root of the RMS power P rms (t). In some embodiments, the RMS amplitude may be expressed as follows. [Chemical]

[0066] In some embodiments, for the impulse response of the reverberator (as shown in FIG. 6), the RIP correction factor may be derived as the expected RMS power of a constant power signal following the start of reverberation where the reverberation decay time is set to infinity. FIG. 8 illustrates an exemplary output signal resulting from injecting a single impulse of amplitude 1.0 into the audio rendering system 500 of FIG. 5A. In such an instance, the reverberation decay time is set to infinity, the direct signal output is set to 1.0, and the direct signal output is delayed by the propagation delay from the source to the listener.

[0067] In some embodiments, the reverberation time of the reverberation processing system 510A may be set to a finite value. Using a finite value, the RMS power may substantially follow an exponential decay (after the start of reverberation) as shown in FIG. 7. The reverberation time (T60) of the reverberation processing system 510A may generally be defined as the duration over which the RMS power (or amplitude) decays by 60 dB. The RIP correction factor may be defined as the power measured on the RMS power decay curve extrapolated to time t = 0. Time t = 0 may be the time of emission of the input signal 501 (in FIG. 5A).

[0068] Exemplary Reverberator

[0069] In some embodiments, the reverbulator 514 (of FIG. 5A) may be configured to operate an echo algorithm such as that described in Smith, "J.O. Physical Audio Signal Processing" (http: / / ccrma.stanford.edu / ~jos / pasp / (online book, 2010 edition)). In these embodiments, the reverbulator may contain a comb filter stage. The comb filter stage may include 16 comb filters (e.g., 8 comb filters per ear), and each comb filter may be able to have a different feedback loop delay extension.

[0070] In some embodiments, the RIP correction factor for the reverbulator may be calculated by setting the reverberation time to infinity. Setting the reverberation time to infinity may be equivalent to assuming that the comb filter has no internal attenuation. When a Dirac impulse is input through the comb filter, the output signal of the reverbulator 514 may be, for example, a sequence of full-scale impulses.

[0071] FIG. 8 illustrates an exemplary output signal from the reverbulator 514 of FIG. 5A according to some embodiments. The reverbulator 514 may include a comb filter (not shown). If there is only one comb filter with a feedback loop delay extension d represented in the samples, the echo density may be equal to the reciprocal of the feedback loop delay extension d. The RMS amplitude may be equal to the square root of the echo density. The RMS amplitude may be expressed as follows.

Chemical formula

[0072] In some embodiments, the reverbulator may have multiple comb filters, and the RMS amplitude may be expressed as follows.

Chemical formula

[0073] Figure 9 illustrates the amplitude of the impulse response for an exemplary reverberator that includes only comb filters, according to some embodiments. In some embodiments, the reverberator may have a decay time that is set to a finite value. As shown in the figure, the RMS amplitude of the reverberator impulse response decays exponentially over time. On a dB scale, the RMS amplitude decays along a straight line, starting from a value equal to RIP at time t = 0. Time t = 0 may be the time of the emission of the unit impulse at the input (e.g., the time of the emission of the impulse by a virtual sound source).

[0074] Figure 10 illustrates the amplitude of the impulse response for an exemplary reverberator that includes an all-pass filter stage, according to an embodiment of the present disclosure. The reverberator may be similar to that described in Smith, "J.O. Physical Audio Signal Processing" (http: / / ccrma.stanford.edu / ~jos / pasp / (online book, 2010 edition)). The inclusion of the all-pass filter may not significantly affect the RMS amplitude of the reverberator impulse response (compared to the RMS amplitude of the reverberator impulse response in Figure 9), so the linear decay trend of the RMS amplitude in dB may be the same as the trend in Figure 9. In some embodiments, the linear decay trend may start from the same RIP value observed at time t = 0.

[0075] Figure 11A illustrates an exemplary echo processing system having a reverberator that includes a comb filter, according to some embodiments. Figure 11B illustrates the flow of an exemplary process for operating the echo processing system of Figure 11A, according to some embodiments.

[0076] The reverberation processing system 510B can include a RIP control system 512 and a reverberator 1114. The RIP control system 512 can include a RIG 516 and a RIP corrector 518. The RIP control system 512 and the RIP corrector 518 can be similar corresponding to those included within the reverberation processing system 510A (of FIG. 5A). The reverberation processing system 510B can receive an input signal 501 and output output signals 502A and 502B. In some embodiments, the reverberation processing system 510B can be included within the audio rendering system 500 of FIG. 5A instead of the reverberation processing system 510A (of FIG. 5A).

[0077] The RIG 516 may be configured to apply a RIG value (step 1152 of process 1150), and the RIP corrector 518 can apply a RIP correction coefficient (step 1154), and both are in series with the reverberator 1114. The series configuration of the RIG 516, the RIP corrector 518, and the reverberator 114 can make the RIP of the reverberation processing system 510B equal to the RIG.

[0078] In some embodiments, the RIP correction coefficient can be expressed as follows.

Chemical formula

[0079] The reverbulator 514 can receive a signal from the RIP control system 512 and can be configured to introduce a reverberation effect into the first portion of the input signal (step 1156). The reverbulator 514 can include one or more comb filters 1115. The comb filter 1115 can be configured to filter out one or more frequencies within the signal (step 1158). For example, the comb filter 1115 can filter out (e.g., cancel) one or more frequencies to mimic environmental effects (e.g., room walls). The reverbulator 1114 can output two or more output signals 502A and 502B (step 1160).

[0080] FIG. 12A illustrates an exemplary reverberation processing system having a reverbulator that includes a plurality of all-pass filters. FIG. 12B illustrates the flow of an exemplary process for operating the reverberation processing system of FIG. 12A according to some embodiments.

[0081] The reverberation processing system 510C can be similar to the reverberation processing system 510B (of FIG. 11A), but its reverbulator 1214 may additionally include a plurality of all-pass filters 1216. Steps 1252, 1254, 1256, 1258, and 1260 can be similar, respectively, and corresponding to steps 1152, 1154, 1156, 1158, and 1160.

[0082] The reverberation processing system 510C can include a RIP control system 512 and a reverberator 1214. The RIP control system 512 can include a RIG 516 and a RIP corrector 518. The RIP control system 512 and the RIP corrector 518 can be similar corresponding to those included within the reverberation processing system 510A (of FIG. 5A). The reverberation processing system 510B can receive an input signal 501 and output output signals 502A and 502B. In some embodiments, the reverberation processing system 510B can be included within the audio rendering system 500 of FIG. 5A instead of the reverberation processing system 510A (of FIG. 5A) or the reverberation processing system 510B (of FIG. 11).

[0083] The reverberator 1214 may additionally include an all-pass filter 1215 that can receive a signal from the comb filter 1115. Each all-pass filter 1215 can be configured to receive a signal from the comb filter 1115 and pass its input signal without changing its magnitude (step 1262). In some embodiments, the all-pass filter 1215 can change the phase of the signal. In some embodiments, each all-pass filter can receive a unique signal from the comb filter. The output of the all-pass filter 1215 can be the output signal 502 of the reverberation processing system 510C and the audio rendering system 500. For example, the all-pass filter 1215A can receive a unique signal from the comb filter 1115 and output the signal 502A, and similarly, the all-pass filter 1215B can receive a unique signal from the comb filter 1115 and output the signal 502B.

[0084] Comparing FIGS. 9 and 10, the inclusion of the all-pass filter 1216 may not significantly affect the output RMS amplitude decay trend.

[0085] When applying the RIP correction factor, when the reverberation time is set to infinity, the RIG value is set to 1.0, a single unit impulse is input through the reverberation processing system 510C, and a noise-like output with a constant RMS level of 1 can be obtained.

[0086] FIG. 13 illustrates an exemplary impulse response of the reverberation processing system 510C of FIG. 12 according to some embodiments. The reverberation time may be set to a finite number, and the RIG may be set to 1.0. On the dB scale, the RMS level may decrease along the straight decay line as shown in FIG. 10. However, due to the RIP correction factor, the RIP observed in FIG. 13 at time t = 0 can be normalized to 0 dB.

[0087] In some embodiments, the RIP normalization method described in connection with FIGS. 5, 6, 7, and 18A may be applied regardless of the specific digital reverberation algorithm implemented within the reverberator 514 of FIG. 5. For example, the reverberator may be constructed from a network of feedback and feedforward delay elements connected to a gain matrix.

[0088] FIG. 14 illustrates signal input and output through the reverberation processing system 510 according to some embodiments. For example, FIG. 14 illustrates the flow of a signal of any one of the reverberation processing systems 510 discussed above, such as those discussed in FIGS. 5A, 11A, and 12A. The RIG application step 1416 can include the step of setting the RIG value and applying this to the input signal 501. The RIP correction factor application step 1418 can include the step of calculating the RIP correction factor for the selected reverberator design and internal reverberator parameter settings. Additionally, passing the signal through the reverberator 1414 can cause the system to select a reverberator topology and set the internal reverberator parameters. As shown in the figure, the output of the reverberator 1414 can be the output signal 502.

[0089] Exemplary Feedback Delay Network

[0090] Embodiments disclosed herein may have a reverberator that includes, according to some embodiments, a feedback delay network (FDN). The FDN may include an identity matrix that may enable the output of a delay unit to be fed back to its input. FIG. 15A illustrates a block diagram of an exemplary FDN with a feedback matrix, according to some embodiments. FDN 1515 can include a feedback matrix 1520, a plurality of combiners 1522, a plurality of delays 1524, and a plurality of gains 1526.

[0091] Combiner 1522 can receive an input signal 1501 and can be configured to combine (e.g., add, aggregate, etc.) its inputs (step 1552 of process 1550). Combiner 1522 can also receive a signal from feedback matrix 1520. Delay 1524 can receive the combined signal from combiner 1522 and can be configured to introduce a delay into one or more signals (step 1554). Gain 1526 can receive a signal from delay 1524 and can be configured to introduce a gain into one or more signals (step 1556). The output signal from gain 1526 can form output signal 1502 and can also be input into feedback matrix 1520. In some embodiments, feedback matrix 1520 may be an N×N unitary (energy-preserving) matrix.

[0092] In the general case where feedback matrix 1520 is a unitary matrix, the RIP correction factor equation may also be given by Equation (5) because the overall energy transfer around the feedback loop of the reverberator does not change and there is no delay.

[0093] Regarding a given arbitrary selection of the reverberator design and internal parameter settings, for example, the RIP correction factor may be calculated. The calculated RIP correction factor may be such that when the RIG value is set to 1.0, the RIP of the overall reverberation processing system 510 is also 1.0.

[0094] In some embodiments, the reverberator may include an FDN with one or more all-pass filters. FIG. 16 illustrates a block diagram of an exemplary FDN with multiple all-pass filters according to some embodiments.

[0095] The FDN 1615 can include a plurality of all-pass filters 1630, a plurality of delays 1632, and a mixing matrix 1640B. The all-pass filter 1630 can include a plurality of gains 1526, an absorptive delay 1632, and another mixing matrix 1640A. The FDN 1615 may also include a plurality of combiners (not shown).

[0096] The all-pass filter 1630 may be configured to receive the input signal 1501 and pass the input signal without changing its magnitude. In some embodiments, the all-pass filter 1630 can change the phase of the signal. In some embodiments, each all-pass filter 1630 can be configured such that the power input to the all-pass filter 1630 can be equal to the power output from the all-pass filter. In other words, each all-pass filter 1630 cannot perform any absorption. Specifically, the absorptive delay 1632 can receive the input signal 1501 and can be configured to introduce a delay into the signal. In some embodiments, the absorptive delay 1632 can delay its input signal by the number of samples. In some embodiments, each absorptive delay 1632 can have an absorption level such that its output signal is at a level less than its input signal.

[0097] Gains 1526A and 1526B can be configured to introduce gain within their respective input signals. The input signal for gain 1526A can be the input signal to the absorptive delay, and the output signal for gain 1526B can be the output signal to the mixing matrix 1640A.

[0098] The output signal from the all-pass filter 1630 can be the input signal to the delay 1632. The delay 1632 can receive a signal from the all-pass filter 1630 and can be configured to introduce a delay within that individual signal. In some embodiments, the output signal from the delay 1632 can be combined to form the output signal 1502, or in some embodiments, these signals can be taken separately as multiple output channels elsewhere. In some embodiments, the output signal 1502 can be taken from other points within the network.

[0099] The output signal from the delay 1632 can also be the input signal into the mixing matrix 1640B. The mixing matrix 1640B can be configured to receive multiple input signals and can output that signal to be fed back into the all-pass filter 1630. In some embodiments, each mixing matrix can be a full mixing matrix.

[0100] In these reverberator topologies, the RIP correction factor may be represented by Equation (5) because the overall energy transfer within and around the feedback loop of the reverberator can remain unchanged and the delay can remain absent. In some embodiments, FDN 1615 may vary the input and / or output signal arrangements to achieve the desired output signal 1501.

[0101] FDN 1615 with the all-pass filter 1630 can be a reverberation system that takes the input signal 1501 as its input and creates a multi-channel output that can include the correct decaying echo signal. The input signal 1501 can be a mono input signal.

[0102] In some embodiments, the RIP correction factor, as shown in FIG. 6, is the reverberant RMS amplitude A when the reverberation time is set to infinity rms ({P}) may be expressed as a mathematical function of a set of reverberator parameters {P} that determine. For example, the RIP correction factor can be expressed as follows.

Chemical formula

[0103] For a given reverberator topology and a given setting of the delay unit length of the reverberator, the RIP correction factor is determined by the following steps: (1) setting the reverberation time to infinity; (2) recording the reverberator impulse response (as shown in FIG. 6); (3) measuring the reverberant RMS amplitude A rms ; and (4) calculating by performing the step of determining the RIP correction factor according to equation (6).

[0104] In some embodiments, the RIP correction factor is determined by the following steps: (1) setting the reverberation time to an arbitrary finite value; (2) recording the reverberator impulse response; (3) deriving the reverberant RMS amplitude decay curve A rms (t) (as shown in FIG. 7A or FIG. 7C); (4) determining the value (RMS amplitude) extrapolated at the release time t = 0 (represented as A rms (0) and shown in FIG. 10); and (5) calculating by performing the step of determining the RIP correction factor according to equation 7 (below).

Chemical formula

[0105] Exemplary reverberant energy normalization method

[0106] In some embodiments, for example, it may be desirable to provide a perceptually relevant reverberation gain control method for application developers, sound designers, and the like. For example, in some reverb later or room simulator embodiments, it may be desirable to provide program control over a measure of the power amplification factor representing the effect of the reverberation processing system on the power of the input signal. The power of the input signal may be expressed, for example, in dB. Program control over the power amplification factor may enable application developers, sound designers, and the like to determine, for example, the balance between the reverberant output signal volume and the input signal volume, or the direct sound output signal volume.

[0107] In some embodiments, the system can apply a reverberant energy (RE) correction factor. FIG. 17A illustrates a block diagram of an exemplary reverberation processing system including an RE corrector, according to some embodiments. FIG. 17B illustrates a flow of an exemplary process for operating the reverberation processing system of FIG. 17A, according to some embodiments.

[0108] The reverberation processing system 510D can include a RIP control system 512 and a reverb later 514. The RIP control system 512 can include a RIG 516 and a RIP corrector 518. The RIP control system 512, the reverb later 514, and the RIP corrector 518 can be similar corresponding to those included within the reverberation processing system 510A (of FIG. 5A). The reverberation processing system 510D can receive an input signal 501 and output an output signal 502. In some embodiments, the reverberation processing system 510D can be included within the audio rendering system 500 of FIG. 5A in place of the reverberation processing system 510A (of FIG. 5A), the reverberation processing system 510B (of FIG. 11A), or the reverberation processing system 510C (of FIG. 12A).

[0109] The reverberation processing system 510D may also include a RIG 516 that includes a reverberation gain (RG) 1716 and a RE corrector 1717. The RG 1716 can receive the input signal 501 and output the signal to the RE corrector 1717. The RG 1716 can be configured to apply an RG value to the first portion of the input signal 501 (step 1752 of process 1750). In some embodiments, the RIG can be implemented by cascading the RG 1716 with the RE corrector 1717 such that the RE correction coefficient is applied to the first portion of the input signal after the RG value is applied. In some embodiments, the RIG 516 can form a RIP control system 512 that is cascaded with a RIP corrector 518 and cascaded with a reverberator 514.

[0110] The RE corrector 1717 can receive the signal from the RG 1716, calculate a RE correction coefficient, and be configured to apply it to the input signal (from RG 1716) (step 1754). In some embodiments, the RE correction coefficient may be calculated to represent the total energy in the reverberator impulse response when (1) the RIP is set to 1.0 and (2) the reverberation start time is set equal to the time of the unit impulse release by the sound source. Both the RG 1716 and the REC 1717 can apply (and / or calculate) the RG value and the REC correction coefficient, respectively, such that when applied in series, the signal output from the RE corrector 1717 can be normalized to a predetermined value (e.g., unity (1.0)). The RIP of the output signal can be controlled by applying the reverberator gain in series with the reverberator, the reverberator energy correction coefficient, and the reverberator initial power coefficient, as shown in FIG. 17A. The RE normalization process is discussed in more detail below.

[0111] The RIP corrector 518 can receive a signal from the RIG 516, calculate a RIP correction factor, and be configured to apply it to its input signal (from the RIG 516) (step 1756). The reverb lator 514 can receive a signal from the RIP corrector 518 and be configured to introduce a reverberation effect into the signal (step 1758).

[0112] In some embodiments, the RIP of the virtual room may be controlled using the reverberation processing system 510A of FIG. 5A (included within the audio rendering system 500), the reverberation processing system 510B of FIG. 11A (included within the audio rendering system 500), or both. The RIG 516 of the reverberation processing system 510A (of FIG. 5A) may directly specify the RIP, and may be physically interpreted, for example, as being proportional to the reciprocal of the square root of the cubic volume of the virtual room, as shown in "Analysis and synthesis of room reverberation based on a statistical time-frequency model" by Jean-Marc Jot, Laurent Cerveau, and Olivier Warusfel.

[0113] The RG 516 of the reverberation processing system 510D (of FIG. 17A) may indirectly control the RIP of the virtual room by defining the RE. The RE may be a perceptually relevant quantity that is proportional to the expected energy of the reverberation that a user would receive from a virtual sound source if this were collocated at the same position as the virtual listener within the virtual room. An exemplary virtual sound source that is collocated at the same position as the virtual listener is the virtual listener's own voice or footsteps.

[0114] In some embodiments, RE can be calculated and used to represent the amplification of an input signal by a reverberation processing system. The amplification can be represented in terms of signal power. As shown in FIG. 7, RE can be equal to the area under the reverberation RMS power envelope integrated from the reverberation start time. In some embodiments, in a bidirectional audio engine for video games or virtual reality, the reverberation start time can be equal to at least the propagation delay with respect to a given virtual sound source. Thus, the calculation of RE with respect to a given virtual sound source can depend on the position of the virtual sound source.

[0115] FIG. 18A illustrates the calculated RE over time with respect to a virtual sound source collocated with a virtual listener according to some embodiments. In some embodiments, the reverberation start time can be assumed to be equal to the time of sound emission. In this case, RE can represent the total energy in the reverberator impulse response when the reverberation start time is assumed to be equal to the time of emission of a unit impulse by the sound source. RE can be equal to the area under the reverberation RMS power envelope integrated from the reverberation start time.

[0116] In some embodiments, the RMS power curve may be represented as a continuous function of time t. In such an instance, RE may be represented as follows.

Chemical formula

[0117] In some embodiments, such as discrete-time embodiments of a reverberation processing system, the RMS power curve can be represented as a function of discrete time t = n / F s In such an instance, RE may be represented as follows.

Chemical formula

[0118] In some embodiments, the RE correction factor may be calculated and applied in series with the RIP correction factor and the reverberator so that the RE can be normalized to a predetermined value (e.g., unity (1.0)). The REC may be set equal to the reciprocal of the square root of the RE, as follows.

Chemical formula

[0119] In some embodiments, the RIP of the output response signal may be controlled by applying an RG value in series with the RE correction factor, the RIP correction factor, and the reverberator, such as that shown in the reverberation processing system 510C of FIG. 17A. The RG value and the RE correction may be combined to determine the RIG, as follows.

Chemical formula

[0120] In some embodiments, the RIP may be mapped to a measured signal power amplification derived by the RE integrated within the system impulse response. As shown above in equations (10)-(11), this mapping enables control of the RIP via the well-known concept of the signal amplification factor, i.e., RG. In some embodiments, the advantage of assuming an instantaneous response start with respect to RE calculation, as shown in FIG. 18B and equations (8)-(9), may be that this mapping can be expressed without requiring that the user or listener position be considered.

[0121] In some embodiments, the reverberation RMS power curve of the impulse response of the reverberator 514 can be represented as a function of the decay time. The function of the decay time can start at t = 0.

Chemical formula

[0122] In some embodiments, the decay parameter can be expressed as a function of the decay time T60 as follows.

Chemical formula

[0123] The total RE may be expressed as follows.

Chemical formula

[0124] In some embodiments, RIP may be normalized to a predetermined value (e.g., unity (1.0)), and REC may be expressed as follows.

Chemical formula

[0125] In some embodiments, REC may be approximated according to the following equation.

Chemical formula

[0126] FIG. 19 illustrates the flow of an exemplary reverberation processing system according to some embodiments. For example, FIG. 19 can illustrate the flow of the reverberation processing system 510D of FIG. 17A. For a given arbitrary selection of the reverberator design and internal parameter settings, the RIP correction factor can be calculated, for example, by applying equations (5)-(7). In some embodiments, for a given runtime adjustment of the reverberation decay time T60, the total RE may be recalculated by applying equations (8)-(9), and RIP can be assumed to be normalized to 1.0. The REC coefficient can be derived according to equation (10).

[0127] Due to the application of the REC coefficient, adjusting the RG value or the reverberation decay time T60 at runtime can have the effect of automatically correcting the RIP of the reverberation processing system so that the RG can operate as an amplification coefficient for the RMS amplitude of the output signal (e.g., output signal 502) with respect to the RMS amplitude of the input signal (e.g., input signal 501). Note that adjusting the reverberation decay time T60 may not require recalculating the RIP correction coefficient in some embodiments because the RIP may not be affected by the modification of the decay time.

[0128] In some embodiments, REC may be defined based on measuring the RE as the energy in the reverberation tail between two points defined at a certain time from the sound source emission after setting the RIP to 1.0 by applying the RIP correction coefficient. This can be beneficial, for example, when using convolution with the measured reverberation tail.

[0129] In some embodiments, the RE correction coefficient may be defined based on measuring the RE as the energy in the reverberation tail between two points defined using an energy threshold after setting the RIP to 1.0 by applying the RIP correction coefficient. In some embodiments, an energy threshold relative to the direct sound or an absolute energy threshold may be used.

[0130] In some embodiments, the RE correction coefficient may be defined based on measuring the RE as the energy in the reverberation tail between one point defined at a certain time and one point defined using an energy threshold after setting the RIP to 1.0 by applying the RIP correction coefficient.

[0131] In some embodiments, the RE correction factor may be calculated by considering the weighted sum of the energies contributed by different combined spaces after setting the RIP of each reverberation tail to 1.0 by applying the RIP correction factor to each reverberation. An exemplary use of this RE correction factor calculation may be when the acoustic environment can include two or more combined spaces.

[0132] Regarding the systems and methods described above, the elements of the present systems and methods can be implemented, as appropriate, by one or more computer processors (e.g., a CPU or DSP). The present disclosure is not limited to any particular configuration of computer hardware that is used to implement these elements. In some cases, multiple computer systems can be employed to implement the systems and methods described above. For example, a first computer processor (e.g., the processor of a wearable device coupled to a microphone) can be utilized to receive input microphone signals and perform initial processing of those signals (e.g., signal conditioning and / or segmentation such as those described above). A second (and perhaps more computationally powerful) processor can then be utilized to perform more computationally intensive processing such as determining probability values associated with the speech segments of those signals. Another computer device such as a cloud server can host the speech recognition engine and the input signals are ultimately provided thereto. Other suitable configurations will also become apparent and are within the scope of the present disclosure.

[0133] It should be noted that the disclosed embodiments have been fully described with reference to the accompanying drawings, but various changes and modifications will be apparent to those skilled in the art. For example, the elements of one or more implementations may be combined, deleted, modified, or supplemented to form further implementations. Such changes and modifications are understood to be included within the scope of the disclosed embodiments as defined by the appended claims.

Claims

1. A method, the method comprising: Receiving an input signal, the input signal including a first part and a second part; Using a reverberation processing system; Applying a reverberation initial gain (RIG) value to the first part of the input signal; Applying a reverberation initial power (RIP) correction coefficient to the first part of the input signal, the RIP correction coefficient being applied after the RIG value is applied, and the application of the RIG value Applying a reverberation gain (RG) value to the first part of the input signal; Applying a reverberation energy (RE) correction coefficient to the first part of the input signal, the RE correction coefficient being applied after the RG value is applied; Including; Introducing a reverberation effect into the first part of the input signal, the reverberation effect being applied separately from the RIG value and the RIP correction coefficient; Performing; Using a direct processing system to process the second part of the input signal; Combining the first part of the input signal from the reverberation processing system and the second part of the input signal from the direct processing system; Outputting the combined first and second parts of the input signal as an output signal, the output signal being an audio signal; Including, a method.

2. Calculating the RIP correction coefficient, the RIP correction coefficient being calculated by a RIP corrector and applied to the first part of the input signal; Further including, the RIP correction coefficient being calculated such that the signal output from the RIP corrector is normalized to 1.0, the method according to claim 1.

3. The RIP correction coefficient depends on one or more of a reverberator topology, the number and duration of delay units, a connection gain, and filter parameters, the method according to claim 1.

4. The RIP correction coefficient is equal to the RMS power of the reverberation impulse response, the method according to claim 1.

5. The introduction of the reverberation effect in the first part of the input signal includes filtering out one or more frequencies, the method according to claim 1.

6. The introduction of the reverberation effect includes changing the phase of the first part of the input signal, the method according to claim 1.

7. The introduction of the reverberation effect includes selecting a reverberator topology and setting internal reverberator parameters, the method according to claim 1.

8. The RIG value is equal to 1.0, and the method further includes calculating the RIP correction factor such that the RIP of the reverberation processing system is equal to 1.0, the method according to claim 1.

9. Setting the reverberation time to infinity, Recording the reverberator impulse response, Measuring the reverberation RMS amplitude and further includes calculating the RIP correction factor thereby, The RIP correction factor is related to the reciprocal of the reverberation RMS amplitude, the method according to claim 1.

10. Setting the reverberation time to a finite value, Recording the reverberator impulse response, Deriving the reverberation RMS amplitude decay curve, Determining the RMS amplitude at the release time and further includes calculating the RIP correction factor thereby, The RIP correction factor is related to the reciprocal of the reverberation RMS amplitude, the method according to claim 1.

11. Calculating the RE correction factor, wherein the RE correction factor is calculated by an RE corrector and applied to a first portion of the input signal, and further includes, the RE correction factor is calculated such that the signal output from the RE corrector is normalized to 1.0, the method according to claim 1.

12. Calculating the RIG value, wherein the RIG value is equal to the RG value multiplied by the RE correction factor, and further includes, the method according to claim 1.

13. The reverberation effect is introduced after the RIP correction factor is applied, the method according to claim 1.

14. A system, A wearable head device configured to provide an audio signal to a user, A circuit configured to render the audio signal, the circuit comprising A reverberation processing system, A RIG configured to apply a reverberation initial gain (RIG) value to a first portion of an input signal, the RIG including an RG configured to apply a reverberation gain (RG) value to the first portion of the input signal, the RIG further including an RE corrector configured to apply a reverberation energy (RE) correction factor to the signal from the RG, An RIP corrector configured to apply an initial reverberation power (RIP) correction factor to the signal from the RIG, A reverberation processing system including: A reverb later configured to introduce a reverberation effect into the signal from the RIP corrector, the reverberation effect being applied separately from the RIG value and the RIP correction factor, A direct processing system configured to process a second portion of the input signal, A combiner, Combining a first portion of the input signal from the reverberation processing system and a second portion of the input signal from the direct processing system, Outputting the combined first and second portions of the input signal as an output signal, the output signal being the audio signal, A combiner configured to perform the above, A circuit including: A system comprising.

15. The system according to claim 14, wherein the reverb later includes a plurality of comb filters configured to filter out one or more frequencies in the signal from the RIP corrector.

16. The system according to claim 15, wherein the reverb later includes a plurality of all-pass filters configured to change the phase of the signal from the plurality of comb filters.

17. The system according to claim 14, wherein the RIG includes an RG configured to apply a reverberation gain (RG) value to the first portion of the input signal.

18. The system according to claim 17, wherein the RIG further includes an RE corrector configured to apply a reverberation energy (RE) correction factor to the signal from the RG.

19. A method, the method comprising: Receiving an input signal, the input signal including a first portion and a second portion, Using a reverberation processing system, Applying an initial reverberation gain (RIG) value to the first portion of the input signal, Applying an initial reverberation power (RIP) correction factor to the first portion of the input signal, the RIP correction factor being applied after the RIG value is applied, and the application of the RIG value Applying a reverberation gain (RG) value to the first portion of the input signal, Applying a reverberation energy (RE) correction factor to the first portion of the input signal, the RE correction factor being applied after the RG value is applied, Including, introducing a reverberation effect within a first portion of the input signal and doing so using a direct processing system to process a second portion of the input signal combining the first portion of the input signal from the reverberation processing system and the second portion of the input signal from the direct processing system outputting the combined first and second portions of the input signal as an output signal, wherein the output signal is an audio signal A method comprising.

Citation Information

Patent Citations

  • Reverberation adding device

    JP1992174900A

  • Reverberation device and method for reverberating audio signals

    JP2013508760A

  • Signal processing device and method, and program

    WO2019078034A1