Reverberation gain normalization

By designing the series application of the reverb initial power (RIP) control system and the reverb in a virtual environment, the problem of difficulty in providing precise reverb control in the prior art is solved, and a better sense of immersion and reality is achieved.

CN119864004APending Publication Date: 2025-04-22MAGIC LEAP INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411858512.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-06-14
Filing Date
2019-06-14
Publication Date
2025-04-22

AI Technical Summary

Technical Problem

The prior art is difficult to provide precise and independent reverberation and reverberation attenuation control in a virtual environment, limiting the immersive experience of the user in a virtual environment.

Method used

A system and method are designed to provide precise and independent reverberation and attenuation control through the series application of a reverberation initial power (RIP) control system and reverberator. The system includes a reverb initial gain (RIG) and a RIP corrector, which enables the reverb effect to be adjusted as needed.

Benefits of technology

Accurate control of reverberation and attenuation time is achieved, the immersion and realism in the virtual environment is enhanced, and users' expectations for virtual sounds are met.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119864004A_ABST
    Figure CN119864004A_ABST
Patent Text Reader

Abstract

Systems and methods for providing precise and independently controlled reverberation characteristics are disclosed. In some embodiments, the system may include a reverberation processing system, a direct processing system, and a combiner. The reverberation processing system may include a reverberation initial power (RIP) control system and a reverberator. The RIP control system may include a reverberation initial gain (RIG) and an RIP corrector. The RIG may be configured to apply an RIG value to an input signal, and the RIP corrector may be configured to apply an RIP correction factor to a signal from the RIG. The reverberator may be configured to apply a reverberation effect to a signal from the RIP control system. In some embodiments, one or more values and / or correction factors may be calculated and applied such that signals output from components in the reverberation processing system are normalized to predetermined values (e.g., unit values (1.0)).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the Chinese patent application “Reverberation Gain Normalization” with application number 201980052745.3 (filing date June 14, 2019).

[0002] Citation of Related Applications

[0003] This application claims priority to U.S. Provisional Patent Application No. 62 / 685,235, filed on June 14, 2018, the entire contents of which are incorporated herein by reference. Technical Field

[0004] 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 it in series with a reverberator. The present disclosure also relates to calculating a reverberation energy correction (REC) factor and applying it in series with a reverberator. Background Art

[0005] Virtual environments are ubiquitous in computing environments and can find use in video games (where a virtual environment can represent a game world); maps (where a virtual environment can represent a terrain to be navigated); simulations (where a virtual environment can simulate a real environment); digital storytelling (where virtual characters can interact with each other in a virtual environment); and many other applications. Modern computer users are often comfortable perceiving and interacting with virtual environments. However, the technology used to render virtual environments can limit the user's experience in the virtual environment. For example, conventional displays (e.g., 2D display screens) and audio systems (e.g., fixed speakers) may not be able to implement a virtual environment in a way that creates a compelling, realistic, and immersive experience.

[0006] Virtual reality ("VR"), augmented reality ("AR"), mixed reality ("MR"), and related technologies (collectively, "XR") share the ability to present to a user of an XR system sensory information corresponding to a virtual environment represented by data in a computer system. By combining virtual visual and audio cues with real sight and sound, such systems can provide a uniquely salient sense of immersion and realism. Therefore, it may be desirable to present digital sound to a user of an XR system in a manner that the sound appears to occur naturally in the user's real environment and conforms to the user's expectations of the sound. In general, users expect that virtual sound will have the acoustic properties of the real environment in which the sound is heard. For example, a user of an XR system in a large concert hall will expect the XR system's virtual sound to have a large, hollow sound quality; conversely, a user in a small apartment will expect the sound to be softer, closer, and more immediate.

[0007] Digital or artificial reverberators can be used in audio and music signal processing to simulate the perceived effect of diffuse acoustic reverberation in a room. It may be desirable to have a system that provides precise and independent control of reverberation loudness and reverberation decay for each digital reverberator, e.g., for intuitive control by a sound designer. Summary of the invention

[0008] Systems and methods for providing precise and independent control of reverberation characteristics are disclosed. In some embodiments, the system may include a reverberation processing system, a direct processing system, and a combiner. The reverberation processing system may include a reverberation initial power (RIP) control system and a reverberator. The RIP control system may include a reverberation initial gain (RIG) and a RIP corrector. The RIG may be configured to apply a RIG value to an input signal, and the RIP corrector may be configured to apply a RIP correction factor to a signal from the RIG. The reverberator may be configured to apply a reverberation effect to a signal from the RIP control system.

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

[0010] In some embodiments, the RIG may include a reverberation gain (RG) configured to apply the RG value to the input signal. In some embodiments, the RIG may include a REC configured to apply the RE correction factor to the signal from the RG. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 An example wearable system is shown in accordance with some embodiments.

[0012] Figure 2 An example handheld controller is shown that may be used in conjunction with an example wearable system in accordance with some embodiments.

[0013] Figure 3 An example auxiliary unit that may be used in conjunction with an example wearable system is shown in accordance with some embodiments.

[0014] Figure 4 An example functional block diagram for an example wearable system is shown in accordance with some embodiments.

[0015] Figure 5A A block diagram of an example audio rendering system is shown in accordance with some embodiments.

[0016] Figure 5B A method for operating according to some embodiments is shown. Figure 5A Flow of an example process for an audio rendering system.

[0017] Figure 6 A graph showing an example reverberation RMS amplitude when the reverberation time is set to infinity according to some embodiments.

[0018] Figure 7 A graph showing an example RMS power that substantially follows an exponential decay after a reverberation start time in accordance with some embodiments.

[0019] Figure 8 An example output signal from the reverberator of FIG. 5 is shown, according to some embodiments.

[0020] Fig. 9 Shown are the magnitudes of impulse responses for an example reverberator including only comb filters, according to some examples.

[0021] Fig.10 The magnitude of an impulse response for an example reverberator including an all-pass filter stage according to an example of the present disclosure is shown.

[0022] Fig.11A An example reverberation processing system having a reverberator including a comb filter is shown in accordance with some embodiments.

[0023] Fig. 11B A method for operating according to some embodiments is shown. Fig.11A Flow of an example process of a reverb processing system.

[0024] Fig. 12A An example reverberation processing system having a reverberator including a plurality of all-pass filters is shown.

[0025] Fig. 12B A flow diagram of an example process for operating the reverberation processing system of 12A is shown in accordance with some embodiments.

[0026] Fig.13 An impulse response of the reverberation processing system of FIG. 12 is shown, according to some embodiments.

[0027] Fig.14 Signal input and output through a reverberation processing system 510 is shown according to some embodiments.

[0028] Fig.15 A block diagram of an example FDN including a feedback matrix according to some embodiments is shown.

[0029] Fig.16A block diagram of an example FDN including a plurality of all-pass filters is shown in accordance with some embodiments.

[0030] Fig.17A A block diagram of an example reverberation processing system including a REC is shown in accordance with some embodiments.

[0031] Fig. 17B A method for operating according to some embodiments is shown. Fig.17A Flow of an example process of a reverb processing system.

[0032] Fig.18A An example calculation of RE overtime for a virtual sound source collocated with a virtual listener is shown in accordance with some embodiments.

[0033] Fig.18B An example calculated RE with instant reverberation onset is shown according to some embodiments.

[0034] Fig.19 A flow chart of an example reverberation processing system according to some embodiments is shown. DETAILED DESCRIPTION

[0035] In the following description of the examples, reference is made to the accompanying drawings which form a part hereof and in which is shown by way of illustration specific examples that can be practiced. It should be understood that other examples can be used and structural changes can be made without departing from the scope of the disclosed examples.

[0036] Example Wearable System

[0037] Figure 1An example wearable head device 100 configured to be worn on a user's head is shown. The wearable head device 100 can 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 in virtual reality, augmented reality, or mixed reality systems or applications. The wearable head device 100 may include 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 groups 112A / 112B and exit pupil expansion (EPE) grating groups 114A / 114B); left and right acoustic structures, such as speakers 120A and 120B (which may be mounted on temples 122A and 122B, respectively, 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., an IMU 126), acoustic sensors (e.g., microphones 150); orthogonal coil electromagnetic receivers (e.g., receiver 127 shown mounted to the 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 128 and 128B). However, the wearable head device 100 can be combined with any suitable display technology, as well as any suitable number, type, or combination of sensors, or other components that do not depart from the scope of the present invention. In some examples, the wearable head device 100 can be combined with one or more microphones 150 that are configured to detect audio signals generated by the user's voice; such microphones can be positioned in the wearable head device adjacent to the user's mouth. In some examples, the wearable head device 100 can be combined with 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) including one or more such components. In some examples, the sensor can be configured to output a set of coordinates of the head-mounted unit relative to the user's environment and can provide input to a processor that performs a simultaneous localization and mapping (SLAM) process and / or a visual odometry algorithm.In some examples, as described further below, the wearable head device 100 can be coupled to a handheld controller 200 and / or an auxiliary unit 300.

[0038] Figure 2 An example mobile handheld controller assembly 200 of an example wearable system is shown. In some examples, the handheld controller 200 can communicate wired or wirelessly with the wearable head device 100 and / or the 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 can be configured to be used as an optical tracking target; for example, a sensor (e.g., a camera or other optical sensor) of the wearable head device 100 can be configured to detect the position and / or orientation of the handheld controller 200, thereby indicating by extension the position and / or orientation of the hand of the user holding the handheld controller 200. In some examples, such as described above, the handheld controller 200 can include a processor, a memory, a storage unit, a display, or one or more input devices. In some examples, the handheld controller 200 includes one or more sensors (e.g., any sensor or tracking component described above with respect to the wearable head device 100). In some examples, the sensor can detect the position or orientation of the handheld controller 200 relative to the wearable head device 100 or relative to another component of the wearable system. In some examples, the sensor can be positioned in the handle portion 220 of the handheld controller 200, and / or can be mechanically coupled to the handheld controller. The handheld controller 200 can be configured to provide one or more output signals, for example, corresponding to the pressed state of the button 240; or, the position, orientation and / or movement of the handheld controller 200 (e.g., via an IMU). Such output signals can be used as inputs to a processor of the wearable head device 100, the auxiliary unit 300, or another component of the wearable system. In some examples, the handheld controller 200 can include one or more microphones to detect sounds (e.g., the user's voice, ambient 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).

[0039] Figure 3An example auxiliary unit 300 of an example wearable system is shown. In some examples, the auxiliary unit 300 can communicate with the wearable head device 100 and / or the handheld controller 200 in wired or wireless communication. 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, as described above, 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. 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 auxiliary unit 300 to house one or more components of the wearable system is that doing so allows large or heavy components to be carried on the user's waist, chest, or back (which are relatively well suited to supporting larger and heavier objects), rather than mounted to the user's head (e.g., if housed in wearable head device 100) or carried by the user's hand (e.g., if housed in handheld controller 200). This may be particularly advantageous for relatively heavy or bulky components (such as batteries).

[0040] Figure 4 An example functional block diagram that may correspond to an example wearable system 400 (such as may include the above-described example wearable head device 100, handheld controller 200, and auxiliary unit 300) is shown. In some examples, the wearable system 400 may be used for virtual reality, augmented reality, or mixed reality applications. Figure 4As shown in , the wearable system 400 may include an example handheld controller 400B, referred to herein as a "totem" (and may correspond to the handheld controller 200 described above); the handheld controller 400B may include a six degrees of freedom (6DOF) totem subsystem 404A from totem to helmet (headgear). The wearable system 400 may also include an example wearable head device 400A (which may correspond to the wearable helmet device 100 described above); the wearable head device 400A includes a 6DOF helmet subsystem 404B from totem to helmet. In this example, the 6DOF totem subsystem 404A and the 6DOF helmet subsystem 404B jointly determine the six coordinates of the handheld controller 400B relative to the wearable head device 400A (e.g., offsets in three translation directions and rotations along three axes). The six degrees of freedom can be expressed relative to the coordinate system of the wearable head device 400A. In such a coordinate system, the three translation offsets can be expressed as X, Y, and Z offsets, which can be expressed as a translation matrix, or some other representation. The rotational degrees of freedom may be expressed as a sequence of yaw, pitch, and roll rotations; as a vector; as a rotation matrix; as a quaternion; or as some other representation. In some examples, one or more depth cameras 444 (and / or one or more non-depth cameras) included in the wearable head device 400A; and / or one or more optical sights (e.g., the button 240 of the handheld controller 200 described above, or a dedicated optical sight included in the handheld controller) may be used for 6DOF tracking. In some examples, as described above, the handheld controller 400B may include a camera; and the helmet 400A may include an optical sight for optical tracking with the camera. In some examples, the wearable head device 400A and the handheld controller 400B each include a set of three orthogonally oriented solenoids for wirelessly sending and receiving three distinguishable signals. By measuring the relative amplitudes of the three distinguishable signals received in each coil for receiving, the 6DOF of the handheld controller 400B relative to the wearable head device 400A can be determined. In some examples, the 6DOF totem subsystem 404A may include an inertial measurement unit (IMU) that may be used to provide improved accuracy and / or more timely information about rapidly moving handheld controller 400B.

[0041] In some examples involving augmented reality or mixed reality applications, it may be desirable to transform coordinates from a local coordinate space (e.g., a coordinate space that is fixed relative to the wearable head device 400A) to an inertial coordinate space or an ambient coordinate space. For example, such a transformation may be necessary for the display of the wearable head device 400A to present a virtual object (e.g., a virtual person sitting in a real chair, facing forward, regardless of the position and orientation of the wearable head device 400A) at an expected position and orientation relative to the real environment rather than a fixed position and orientation on the display (e.g., at the same position in the display of the wearable head device 400A). This can maintain the illusion that the virtual object exists in the real environment (and, for example, moves and rotates as the wearable head device 400A does not appear to be unnaturally positioned in the real environment). In some examples, compensating transformations 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 processes) in order to determine a transformation of the wearable head device 400A relative to an inertial or ambient coordinate system. Figure 4 In the example shown in , the depth camera 444 can be coupled to the SLAM / visual odometry module 406 and can provide images to the module 406. An implementation of the SLAM / visual odometry module 406 may include a processor configured to process the image and determine the position and orientation of the user's head, which can then be used to identify the transformation between the head coordinate space and the actual coordinate space. Similarly, in some examples, an additional source of information about the user's head posture and position is obtained from the IMU 409 of the wearable head device 400A. Information from the IMU 409 can be integrated with information from the SLAM / visual odometry module 406 to provide improved accuracy and / or more timely information for rapid adjustment of the user's head posture and position.

[0042] In some examples, the depth camera 444 can provide a 3D image to a gesture tracker 411, which can be implemented in a processor of the wearable head device 400A. The gesture tracker 411 can recognize the user's gesture, for example, by matching the 3D image received from the depth camera 444 with a stored pattern representing the gesture. Other suitable techniques for recognizing the user's gesture will be apparent.

[0043] In some examples, one or more processors 416 may be configured to receive data from the helmet subsystem 404B, the IMU 409, the SLAM / visual odometry module 406, the depth camera 444, a microphone (not shown), and / or a gesture tracker 411. The processor 416 may also send and receive control signals from the 6DOF totem system 404A. The processor 416 may be wirelessly coupled to the 6DOF totem system 404A, such as in an example where the handheld controller 400B is untethered. The processor 416 may further communicate with additional components, such as an audiovisual content storage 418, a graphics processing unit (GPU) 420, and / or a digital signal processor (DSP) audio sound field localizer 422. The DSP audio sound field localizer 422 may be coupled to a head-related transfer function (HRTF) storage 425. The GPU 420 may include a left channel output coupled to a left source 424 of image-forming modulated light and a right channel output coupled to a right source 426 of image-forming modulated light. GPU 420 can output stereo image data to the source of image modulated light 424, 426. DSP audio sound field locator 422 can output audio to left speaker 412 and / or right speaker 414. DSP audio sound field locator 422 can receive input indicating the direction vector from the user to the virtual sound source from processor 416 (the virtual sound source can be moved by the user, for example, via handheld controller 400B). Based on the direction vector, DSP audio sound field locator 422 can determine the corresponding HRTF (for example, by accessing HRTF, or by interpolating multiple HRTFs). Then, DSP audio sound field locator 422 can apply the determined HRTF to audio signals, such as audio signals corresponding to virtual sounds generated by virtual objects. By combining the relative position and orientation of the user relative to the virtual sound in a mixed reality environment, that is, by presenting a virtual sound that matches the user's expectation that the virtual sound sounds like a real sound in a real environment, the credibility and authenticity of the virtual sound can be enhanced.

[0044] In some examples, such as Figure 4 As shown in , one or more of the processor 416, GPU 420, DSP audio sound field localizer 422, HRTF memory 425, and audio / video content memory 418 may be included in an auxiliary unit 400C (which may correspond to the auxiliary unit 300 described above). The auxiliary unit 400C may include a battery 427 to power its components and / or to power the wearable head device 400A and / or the handheld controller 400B. Including such components in an auxiliary unit that can be mounted to the user's waist can limit the size and weight of the wearable head device 400A, which in turn can reduce fatigue on the user's head and neck.

[0045] although Figure 4 Elements corresponding to the various components of the example wearable system 400 are presented, but various other suitable arrangements of these components will become apparent to those skilled in the art. For example, the auxiliary unit 400C associated with Figure 4 The elements presented in the embodiment may be associated with the wearable head device 400A or the handheld controller 400B instead. In addition, some wearable systems may completely abandon the handheld controller 400B or the auxiliary unit 400C. Such changes and modifications should be understood to be included within the scope of the disclosed examples.

[0046] Mixed reality environment

[0047] Like all people, users of mixed reality systems exist in a real environment, that is, the three-dimensional portion of the "real world" and all of its contents that the user can perceive. For example, the user perceives the real environment using ordinary human senses (sight, sound, touch, taste, smell) and interacts with the real environment by moving his or her body through the real environment. Positions in the real environment can be described as coordinates in a coordinate space; for example, 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, vectors can describe quantities that have direction and magnitude in a coordinate space.

[0048] A computing device may maintain a representation of a virtual environment, for example, in a memory associated with the device. As used herein, a virtual environment is a computational representation of a three-dimensional space. A virtual environment may include representations of any objects, actions, signals, parameters, coordinates, vectors, or other features associated with the space. In some examples, a circuit (e.g., a processor) of a computing device may maintain and update the state of a virtual environment; that is, the processor may determine the state of a virtual environment at a second time based on data associated with the virtual environment and / or input provided by a user at a first time. For example, if an object in a virtual environment is located at a first coordinate at that time and has certain programmed physical parameters (e.g., mass, coefficient of friction); and an input indicating that a force should be applied to the object in a direction vector is received from a user; the processor may apply the laws of kinematics to determine the position of the object at that time using basic mechanics. The processor may use any known appropriate information about the virtual environment and / or any appropriate input to determine the state of the virtual environment at that time. In maintaining and updating the state of the virtual environment, the processor may execute any appropriate software, including software related to creating and deleting virtual objects in the virtual environment; software (e.g., scripts) for defining the behavior of virtual objects or characters in the virtual environment; software for defining the behavior of signals (e.g., audio signals) in the virtual environment; software for creating and updating parameters associated with the virtual environment; software for generating audio signals in the virtual environment; software for processing input and output; software for implementing network operations; software for applying asset data (e.g., animation data to move virtual objects over time); or many other possibilities.

[0049] An output device (such as a display or speaker) can present any or all aspects of the virtual environment to the user. For example, the virtual environment can include virtual objects (which can include representations of inanimate objects, people, animals, lights, 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, view axes, and a frustum); and render the visible scene of the virtual environment corresponding to the view to the display. Any suitable rendering technology can be used for this purpose. In some examples, the visible scene can include only some virtual objects in the virtual environment and exclude certain other virtual objects. Similarly, the virtual environment can include audio aspects that can be presented to the user as one or more audio signals. For example, a virtual object in the virtual environment can generate sounds originating from the position coordinates of the object (e.g., a virtual character can speak or cause a sound effect); or the virtual environment can be associated with music cues or ambient sounds that may or may not be associated with a specific location. The processor may determine audio signals corresponding to "listener" coordinates, e.g., audio signals corresponding to a synthesis of sounds in a virtual environment, and mix and process to simulate the audio signals that would be heard by the listener at the listener coordinates, and present the audio signals to the user via one or more speakers.

[0050] Because the virtual environment exists only as a computing structure, the user cannot directly perceive the virtual environment using ordinary senses. Instead, the user can only indirectly perceive the virtual environment presented to the user, such as through a display, speakers, tactile output devices, etc. Similarly, the user cannot directly touch, manipulate, or otherwise interact with the virtual environment; but input data can be provided via input devices or sensors to a processor that can use the device or sensor data to update the virtual environment. For example, a camera sensor can provide optical data indicating that the user is trying to move an object in the virtual environment, and the processor can use this data to cause the object to respond accordingly in the virtual environment.

[0051] Reverberation Algorithms and Reverberators

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

[0053] Program applications such as video games or interactive audio engines for VR / AR / MR can simulate multiple moving sound sources at various positions and distances around a listener (e.g., a virtual listener) in a room / environment (e.g., a virtual room / environment), and relative reverberation loudness control may not be sufficient. In some embodiments, an absolute reverberation loudness is applied, which can be experienced from each virtual sound source when rendering. Many factors can adjust this value, such as the listener and sound source positions, and the acoustic characteristics of the room / environment (e.g., simulated by the reverberator). In some embodiments, such as in interactive audio applications, it is desirable to programmatically control the reverberation initial power (RIP), for example, as defined in "Analysis and synthesis of room reverberationbased on a statistical time-frequency model" by Jean-Marc Jot, Laurent Cerveau, and Olivier Warusfel. Regardless of the position of the virtual listener or virtual sound source, the RIP can be used to characterize the virtual room.

[0054] In some embodiments, the reverberation algorithm (performed by the reverberator) may be configured to perceptually match the acoustic reverberation characteristics of a particular room. Example acoustic reverberation characteristics may include, but are not limited to, reverberation initial power (RIP) and reverberation decay time (T60). In some embodiments, the acoustic reverberation characteristics of a room may be measured in a real room, calculated by computer simulation based on a geometric and / or physical description of a real room or a virtual room, etc.

[0055] Example Audio Rendering System

[0056] Figure 5A A block diagram of an example audio rendering system is shown in accordance with some embodiments. Figure 5B A method for operating according to some embodiments is shown. Figure 5A Flow of an example process for an audio rendering system.

[0057] The audio rendering system 500 may 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 may receive an input signal 501.

[0058] The reverberation processing system 510A may include a RIP control system 512 and a reverberator 514. The RIP control system 512 may receive the input signal 501 and may output a signal to the reverberator 514. The RIP control system 512 may include a reverberation initial gain (RIG) 516 and a RIP corrector 518. The RIG 516 may receive a first portion of the input signal 501 and may output a signal to the RIP corrector 518. The RIG 516 may be configured to apply a RIG value to the input signal 501 (step 552 of process 550). Setting the RIG value may have the effect of specifying an absolute amount of RIP in the output signal of the reverberation processing system 510A.

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

[0060] Direct processing system 530 may include propagation delay 532 and direct gain 534. Direct processing system 530 and propagation delay 532 may receive a second portion of input signal 501. Propagation delay 532 may be configured to introduce a delay in input signal 501 (step 558), and may output the delayed signal to direct gain 534. Direct gain 534 may receive the signal from propagation delay 532, and may be configured to apply a gain to the signal (step 560).

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

[0062] Example Reverberation Initial Power (RIP) Normalization

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

[0064] In some embodiments, to produce a diffuse reverberation tail, the reverberation algorithm may, for example, include a comb filter in parallel followed by an all-pass filter in series. In some embodiments, the digital reverberator may be constructed as a network comprising one or more delay units interconnected with a feedback and / or feed-forward path, wherein the feedback and / or feed-forward path may also include a signal gain scaling or filter unit. Figure 5A The RIP correction factor of the reverberation processing system 510A of the reverberation processing system may depend on one or more parameters, such as the reverberator topology, the number and duration of delay units included in the network, connection gains, and filter parameters.

[0065] In some embodiments, when the reverberation time is set to infinity, 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. Figure 6 As shown in , 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 with a constant RMS amplitude over time.

[0066] The RMS power P of the digital signal {x} at time t represented in samples rms (t) can be equal to the average of the square of the signal amplitude. In some embodiments, the RMS power can be expressed as:

[0067]

[0068] Where t is time, N is the number of consecutive signal samples, and n is a signal sample. The average value can be evaluated over a signal window starting at time t and containing N consecutive signal samples.

[0069] The RMS amplitude can be equal to the RMS power P rms The square root of (t). In some embodiments, the RMS amplitude can be expressed as:

[0070]

[0071] In some embodiments, in the impulse response of the reverberator (e.g., Figure 6 ), the RIP correction factor can be derived as the expected RMS power of a constant power signal following the onset of reverberation, where the reverberation decay time is set to infinity. Figure 8 shows the result from running a single pulse of amplitude 1.0 to Figure 5A 1. Example output signals in the audio rendering system 500 of FIG. 1. In this case, 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 source-to-listener propagation delay.

[0072] In some embodiments, the reverberation time of the reverberation processing system 510A may be set to a finite value. For this finite value, the RMS power may substantially follow an exponential decay (after the reverberation start time), such as Figure 7 The reverberation time (T60) of the reverberation processing system 510A can generally be defined as the duration for which the RMS power (or amplitude) decays by 60 dB. The RIP correction factor can be defined as the power measured on the RMS power decay curve extrapolated to time t=0. Time t=0 can be the input signal 501 (at Figure 5A The launch time of the

[0073] Sample Reverb

[0074] In some embodiments, ( Figure 5A The reverberator 514 may be configured to run a reverberation algorithm, such as the reverberation algorithm described in "JO Physical Audio Signal Processing" by Smith, http: / / ccrma.stanford.edu / ~jos / pasp / , online book, 2010 edition. In these embodiments, the reverberator may include a comb filter stage. The comb filter stage may include 16 comb filters (e.g., eight comb filters for each ear), wherein each comb filter may have a different feedback loop delay length.

[0075] In some embodiments, the RIP correction factor for the reverberator 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 does not have any built-in attenuation. If Dirac pulses are input through the comb filter, the output signal of the reverberator 514 may be, for example, a sequence of full-scale pulses.

[0076] Figure 8 shows a diagram from which the Figure 5A 514. The reverberator 514 may include a comb filter (not shown). If there is only one comb filter with a feedback loop delay length d expressed in samples, the echo density may be equal to the inverse of the feedback loop delay length d. The RMS amplitude may be equal to the square root of the echo density. The RMS amplitude may be expressed as:

[0077]

[0078] In some embodiments, the reverberator may have multiple comb filters, and the RMS amplitude may be expressed as:

[0079]

[0080] Where N is the number of comb filters in the reverberator, d mean is the average feedback delay length. Average feedback delay length d mean It can be represented in samples and averaged over N comb filters.

[0081] Fig. 9 The magnitude of the impulse response of an example reverberator including only a comb filter according to some examples is shown. In some embodiments, the reverberator can set the decay time to a finite value. As shown, the RMS magnitude of the reverberator impulse response decreases exponentially with time. On a dB scale, the RMS magnitude decreases along a straight line and starts at a value equal to RIP at time t=0. Time t=0 can be the emission time of a unit pulse at the input (e.g., the time at which a pulse is emitted by a virtual sound source).

[0082] Fig.10 The magnitude of the impulse response of an example reverberator including an all-pass filter stage according to an example of the present disclosure is shown. The reverberator may be similar to the reverberator described in "JO Physical Audio Signal Processing" by Smith, http: / / ccrma.stanford.edu / ~jos / pasp / , online book, 2010 edition. Since the inclusion of the all-pass filter may not significantly affect the RMS magnitude of the reverberator impulse response (compared to Fig. 9 The RMS amplitude of the reverberator impulse response is compared to the RMS amplitude of the reverberator impulse response), so the linear decay trend of the RMS amplitude in dB may be different from Fig. 9 In some embodiments, the linear decay trend may start from the same RIP value observed at time t=0.

[0083] Fig.11A An example reverberation processing system having a reverberator including a comb filter is shown in accordance with some embodiments. Fig. 11B A method for operating according to some embodiments is shown. Fig.11A Flow of an example process of a reverb processing system.

[0084] The reverberation processing system 510B may include a RIP control system 512 and a reverberator 1114. The RIP control system 512 may include a RIG 516 and a RIP corrector 518. The RIP control system 512 and the RIP corrector 518 may be similar to ( Figure 5A The reverberation processing system 510B may receive the input signal 501 and output the output signals 502A and 502B. In some embodiments, the reverberation processing system 510B may replace the ( Figure 5A The reverberation processing system 510A includes Figure 5A In the audio rendering system 500.

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

[0086] In some embodiments, the RIP correction factor may be expressed as:

[0087]

[0088] When the RIG value is set to 1.0, applying the RIP correction factor to the signal may cause the RIP to be set to a predetermined value, such as unity (1.0).

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

[0090] Fig. 12A An example reverberation processing system having a reverberator including a plurality of all-pass filters is shown. Fig. 12B A method for operating according to some embodiments is shown. Fig. 12A Flow of an example process of a reverb processing system.

[0091] The reverberation processing system 510C may be similar to ( Fig.11A The reverberation processing system 510B of FIG. 5A is similar to the reverberation processing system 510B of FIG. 5B , but the reverberator 1214 thereof may further include a plurality of all-pass filters 1216. Steps 1252, 1254, 1256, 1258, and 1260 may be similar to steps 1152, 1154, 1156, 1158, and 1160, respectively.

[0092] The reverberation processing system 510C may include a RIP control system 512 and a reverberator 1214. The RIP control system 512 may include a RIG 516 and a RIP corrector 518. The RIP control system 512 and the RIP corrector 518 may be similar to ( Figure 5A The reverberation processing system 510B may receive the input signal 501 and output the output signals 502A and 502B. In some embodiments, the reverberation processing system 510B may replace the ( Figure 5A The reverberation processing system 510A (of FIG. 11 ) or the reverberation processing system 510B (of FIG. 11 ) includes Figure 5A In the audio rendering system 500.

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

[0094] Compare Fig. 9 and Fig.10 , including the all-pass filter 1216 may not significantly affect the output RMS amplitude attenuation trend.

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

[0096] Fig.13 An example impulse response of the reverberation processing system 510C of FIG. 12 is shown according to some embodiments. The reverberation time may be set to a finite amount, and the RIG may be set to 1.0. Fig.10 As shown, on a dB scale, the RMS level can fall along a straight attenuation line. However, due to the RIP correction factor, at time t = 0 Fig.13 The RIP observed in can be normalized to 0dB.

[0097] In some embodiments, the combination of FIG. 5, 6, 7 and Fig.18A The RIP normalization method described is applicable regardless of the particular digital reverberation algorithm implemented in the reverberator 514 of Figure 5. For example, the reverberator may be constructed from a network of feedback and feed-forward delay elements connected to a gain matrix.

[0098] Fig.14 5 shows signals input and output by the reverberation processing system 510 according to some embodiments. For example, Fig.14 Any of the reverberation processing systems 510 discussed above (e.g., FIG. Figure 5A , Fig.11A and Fig. 12A 1414). The step 1416 of applying RIG may include setting the RIG value and applying it to the input signal 501. The step 1418 of applying RIP correction factor may include calculating the RIP correction factor for the selected reverberator design and internal reverberator parameter settings. In addition, passing the signal through the reverberator 1414 may cause the system to select a reverberator topology and set internal reverberator parameters. As shown, the output of the reverberator 1414 may be the output signal 502.

[0099] Example Feedback Delay Network

[0100] According to some embodiments, embodiments disclosed herein may have a reverberator including a feedback delay network (FDN). The FDN may include an identity matrix, which may allow the output of a delay unit to be fed back to its input. Fig.15 A block diagram of an example FDN including a feedback matrix according to some embodiments is shown. The FDN 1515 may include a feedback matrix 1520, a plurality of combiners 1522, a plurality of delays 1524, and a plurality of gains 1526.

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

[0102] In the general case where the feedback matrix 1520 is a unitary matrix, the expression for the RIP correction factor can also be given by equation (5) since the total energy transfer around the reverberator feedback loop remains unchanged and is delay-free.

[0103] For example, a RIP correction factor may be calculated for a given arbitrary choice of reverberator design and internal parameter settings. The calculated RIP correction factor may be such that if the RIG value is set to 1.0, the RIP of the entire reverberation processing system 510 is also 1.0.

[0104] In some embodiments, the reverberator may include a FDN having one or more all-pass filters. Fig.16 A block diagram of an example FDN including a plurality of all-pass filters is shown in accordance with some embodiments.

[0105] The FDN 1615 may include a plurality of all-pass filters 1630, a plurality of delays 1632, and a mixing matrix 1640B. The all-pass filters 1630 may 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).

[0106] All-pass filter 1630 receives input signal 1501 and can be configured to pass its input signal without changing the amplitude of the input signal. In some embodiments, all-pass filter 1630 can change the phase of the signal. In some embodiments, each all-pass filter 1630 can be configured so that the power input to all-pass filter 1630 can be equal to the power output from the all-pass filter. In other words, each all-pass filter 1630 can be non-absorbent. Specifically, absorption delay 1632 can receive input signal 1501 and can be configured to introduce delay in the signal. In some embodiments, absorption delay 1632 can delay its input signal by multiple samples. In some embodiments, each absorption delay 1632 can have an absorption level that makes its output signal smaller than its input signal by a specific level.

[0107] Gains 1526A and 1526B may be configured to introduce gains into their respective input signals. The input signal of gain 1526A may be the input signal to the absorptive delay, and the output signal of gain 1526B may be the output signal to mixing matrix 1640A.

[0108] The output signal from the all-pass filter 1630 can be an input signal to the delayer 1632. The delayer 1632 can receive the signal from the all-pass filter 1630 and can be configured to introduce a delay into its respective signal. In some embodiments, the output signals from the delayer 1632 can be combined to form the output signal 1502, or, in some embodiments, these signals can be respectively regarded as multiple output channels in other. In some embodiments, the output signal 1502 can be obtained from other points in the network.

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

[0110] In these reverberator topologies, the RIP correction factor can be expressed by equation (5) because the total energy transfer in and around the reverberator's feedback loop can remain constant and delay-free. In some embodiments, the FDN 1615 can change the placement of input and / or output signals to achieve a desired output signal 1501.

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

[0112] In some embodiments, the RIP correction factor may be expressed as: rms ({P}) is a mathematical function of a set of reverberator parameters {P}. For example, the RIP correction factor can be expressed as:

[0113] RIPcorrection1 / A rms ({P}) (6)

[0114] For a given reverberator topology and a given setting for the reverberator's delay unit length, the RIP correction factor can be calculated by performing the following steps: (1) setting the reverberation time to infinity; (2) recording the reverberator's impulse response (e.g. Figure 6 (3) Measure the reverberation RMS amplitude A rms ; and (4) determining the RIP correction factor according to formula (6).

[0115] In some embodiments, the RIP correction factor can be calculated by performing the following steps: (1) setting the reverberation time to any finite value; (2) recording the impulse response of the reverberator; (3) deriving the reverberation RMS amplitude decay curve A. rms (t)(e.g. Figure 7 (4) determine its extrapolated value (RMS amplitude) at the emission time t = 0 (expressed as A rms (0), such as Fig.10 as shown); and (5) determining a RIP correction factor according to Formula 7 (below).

[0116] RIPcorrection1 / A rms (0}) (7)

[0117] Example Reverberation Energy Normalization Method

[0118] In some embodiments, it may be desirable to provide a perceptually relevant reverberation gain control method, e.g., for application developers, sound engineers, etc. For example, in some reverberator or room simulator embodiments, it may be desirable to provide programmatic control over a measure of a power amplification factor, where the power amplification factor represents the effect of the reverberation processing system on the power of an input signal. The power of the input signal may be expressed, for example, in dB. Programmatic control over the power amplification factor may allow, for example, an application developer, sound engineer, etc. to determine the balance between the loudness of a reverberation output signal and the loudness of an input signal, or to determine the loudness of a direct sound output signal.

[0119] In some embodiments, the system may apply a reverberation energy (RE) correction factor. Fig.17A A block diagram of an example reverberation processing system including an RE corrector according to some embodiments is shown. Fig. 17B A method for operating according to some embodiments is shown. Fig.17A Flow of an example process of a reverb processing system.

[0120] The reverberation processing system 510D may include a RIP control system 512 and a reverberator 514. The RIP control system 512 may include a RIG 516 and a RIP corrector 518. The RIP control system 512, the reverberator 514, and the RIP corrector 518 may be similar to ( Figure 5A The reverberation processing system 510D may receive the input signal 501 and may output the output signal 502. In some embodiments, the reverberation processing system 510D may replace the ( Figure 5A ) reverberation processing system 510A, ( Fig.11A ) reverberation processing system 510B, or ( Fig. 12A The reverberation processing system 510C includes Figure 5A In the audio rendering system 500.

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

[0122] The RE corrector 1717 may receive a signal from the RG 1716 and may be configured to calculate an RE correction factor and apply the RE correction factor to its input signal (from the RG 1716) (step 1754). In some embodiments, the RE correction factor may be calculated such that it represents the total energy in the reverberator impulse response when: (1) the RIP is set to 1.0, and (2) the reverberation onset time is set equal to the time at which a unit pulse is emitted by the sound source. Both the RG 1716 and the REC 1717 may apply (and / or calculate) an RG value and a REC correction factor, respectively, such that when applied in series, the signal output from the RE corrector 1717 may be normalized to a predetermined value (e.g., a unity value (1.0)). The RIP of the output signal may be controlled by applying a reverberator gain in series with the reverberator, the reverberator energy correction factor, and the reverberator initial power factor, such as Fig.17A The RE normalization process will be discussed in detail below.

[0123] The RIP corrector 518 may receive a signal from the RIG 516 and may be configured to calculate a RIP correction factor and apply the RIP correction factor to its input signal (from the RIG 516) (step 1756). The reverberator 514 may receive a signal from the RIP corrector 518 and may be configured to introduce a reverberation effect into the signal (step 1758).

[0124] In some embodiments, the audio rendering system 500 may be used. Figure 5A Reverberation processing system 510A (included in audio rendering system 500) Fig.11A The reverberation processing system 510B, or both, controls the RIP of the virtual room. Figure 5A The RIG 516 of the reverberation processing system 510A may specify the RIP directly and may be physically interpreted as being proportional to the inverse of the square root of the cubic volume of the virtual room, for example, 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.

[0125] ( Fig.17AThe RG 516 of the reverberation processing system 510D can indirectly control the RIP of the virtual room by specifying RE. If a virtual sound source is co-located with a virtual listener in the virtual room, RE can be a perceptually relevant amount proportional to the expected reverberation energy that a user will receive from the virtual sound source. An example virtual sound source co-located with a virtual listener is the virtual listener's own voice or footprint.

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

[0127] Fig.18A Calculated RE overtime for a virtual sound source collocated with a virtual listener according to some embodiments is shown. In some embodiments, the reverberation start time may be assumed to be equal to the time at which the sound is emitted. In this case, RE may represent the total energy in the reverberator impulse response when the reverberation start time is assumed to be equal to the time at which the sound source emits a unit pulse. RE may be equal to the area under the reverberation RMS power envelope integrated from the reverberation start time.

[0128] In some embodiments, the RMS power curve can be represented as a continuous function of time t. In this case, RE can be represented as

[0129]

[0130] In some embodiments, for example in a discrete time embodiment of a reverberation processing system, the RMS power curve may be expressed as a function of discrete time t=n / Fs. In this case, RE may be expressed as:

[0131]

[0132] Among them, Fs is the same rate.

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

[0134]

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

[0136] RIG=RG*REC (11)

[0137] Therefore, from the perspective of the signal domain RG quantity, the RE correction factor (REC) can be used instead of RIG to control the RIP correction factor.

[0138] In some embodiments, the RIP can be mapped to a measured signal power gain derived from the integrated RE in the system impulse response. As shown in equations (10)-(11) above, this mapping allows the RIP to be controlled through the familiar concept of a signal gain factor (i.e., RG). In some embodiments, Fig.18B An advantage of assuming the instantaneous reverberation onset for RE calculation as shown in equations (8)-(9) may be that the mapping can be represented without regard to the position of the user or listener.

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

[0140] P rms (t) = RIP*e -αt (12)

[0141] In some embodiments, the decay parameter may be expressed as a function of the decay time T60 as follows:

[0142] α=3*log(10) / T60 (13)

[0143] The total RE can be expressed as:

[0144]

[0145] In some embodiments, the RIP may be normalized to a predetermined value (eg, a unit value (1.0)), and the REC may be expressed as follows:

[0146]

[0147] In some embodiments, REC may be approximated according to the following equation:

[0148]

[0149] Fig.19 The flow of an example reverberation processing system according to some embodiments is shown. For example, Fig.19 It can be shown Fig.17A Flow of the reverberation processing system 510D. For a given arbitrary choice of reverberator design and internal parameter settings, the RIP correction factor can be calculated by applying, for example, formulas (5)-(7). In some embodiments, for a given runtime adjustment of the reverberation decay time T60, the total RE can be recalculated by applying formulas (8)-(9), where it can be assumed that the RIP is normalized to 1.0. The REC factor can be derived according to formula (10).

[0150] Due to the application of the REC factor, adjusting the RG value or the reverberation decay time T60 at runtime may have the effect of automatically correcting the RIP of the reverberation processing system, such that RG may be used as an amplification factor of the RMS amplitude of the output signal (e.g., output signal 502) relative to the RMS amplitude of the input signal (e.g., input signal 501). It should be noted that adjusting the reverberation decay time T60 may not require recalculating the RIP correction factor, as in some embodiments, the RIP may not be affected by the modification of the decay time.

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

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

[0153] In some embodiments, the RE correction factor may be defined based on measuring RE as the energy between a point defined in time and a point defined using an energy threshold in the reverberation tail, after the RIP is set to 1.0 by applying the RIP correction factor.

[0154] In some embodiments, the RE correction factor may be calculated by considering the weighted sum of the energies contributed by different coupled spaces, after setting the RIP of each reverberation tail to 1.0 by applying the RIP correction factor to each reverberation. An example application of this RE correction factor calculation may be the case of an acoustic environment comprising two or more coupled spaces.

[0155] With regard to the above-mentioned system and method, the elements of the system and method can be appropriately implemented by one or more computer processors (e.g., CPU or DSP). The present disclosure is not limited to any specific configuration of computer hardware for implementing these elements, including computer processors. In some cases, multiple computer systems can be used to implement the above-mentioned system and method. For example, a first computer processor (e.g., a processor of a wearable device coupled to a microphone) can be used to receive input microphone signals and perform initial processing of those signals (e.g., signal conditioning and / or segmentation, such as described above). A second (and perhaps more powerful computing power) processor can then be used to perform more computationally intensive processing, such as determining probability values ​​associated with speech segments of those signals. Another computer device such as a cloud server can host a speech recognition engine, ultimately providing it with input signals. Other suitable configurations will be apparent and within the scope of the present disclosure.

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

Claims

1. A method comprising: receiving an input signal, the input signal comprising a first portion and a second portion; Applying a reverberation initial gain RIG value to the first portion of the input signal; applying a reverberation initial power (RIP) correction factor to the first portion of the input signal after applying the RIG value to the first portion of the input signal; applying a reverberation effect to the first portion of the input signal, wherein the reverberation effect is applied separately from the RIG value and the RIP correction factor; applying a delay to the second portion of the input signal; applying a gain to the second portion of the input signal; combining the first portion of the input signal and the second portion of the input signal; and The first and second portions of the input signal combined are presented as an output signal.

2. The method according to claim 1, further comprising: determining the RIP correction factor, wherein the RIP correction factor is determined by a RIP corrector and applied to the first portion of the input signal, The RIP correction factor is determined such that a signal output from the RIP corrector is normalized to 1.

0.

3. The method according to claim 1, wherein: The RIP correction factor is based on one or more of: reverberator topology, number of delay units, delay duration, connection gain, and filter parameters.

4. The method according to claim 1, wherein: The RIP correction factor is based on the power of the reverberant impulse response.

5. The method according to claim 1, wherein: Applying the reverberation effect to the first portion of the input signal includes filtering one or more frequencies.

6. The method according to claim 1, wherein: Applying the reverberation effect includes changing a phase of the first portion of the input signal.

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

8. The method according to claim 1, wherein: The RIG value is a unity value and the method further comprises determining the RIP correction factor such that a RIP corrected signal is normalized to a unity value.

9. The method of claim 1, further comprising determining the RIP correction factor, wherein: Determining the RIP correction factor includes: Set the reverb time to infinity, Recording reverberator impulse responses, and Measures the RMS amplitude of the reverberation, and The RIP correction factor is inversely proportional to the reverberation RMS amplitude.

10. The method of claim 1, further comprising determining the RIP correction factor, wherein: Determining the RIP correction factor includes: Set the reverberation time to a finite value, Record the reverberator impulse response, Determines the reverberation RMS amplitude decay, and Determine the RMS amplitude at the time of transmission, and The RIP correction factor is inversely proportional to the reverberation RMS amplitude.