An apparatus and method for spatial rendering of reverberation
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- NOKIA TECHNOLOGIES OY
- Filing Date
- 2024-06-20
- Publication Date
- 2026-05-13
AI Technical Summary
Current methods for spatial rendering of reverberation in augmented and virtual reality struggle to accurately control the density and diffuseness of reverberation, leading to computational inefficiencies and inconsistent acoustic experiences across different environments.
A method and apparatus that configure a digital reverberator with a variable number of delay lines based on reverberation delay line parameters, allowing for controlled density and diffuseness of reverberated audio signals, using Huffman encoding and look-up tables to optimize processing capacity and acoustic characteristics.
Enables computationally efficient and accurate rendering of reverberation with varying densities, allowing multiple reverberators of different sizes to operate in parallel, improving the spatial impression of environments while reducing computational complexity.
Smart Images

Figure EP2024067189_16012025_PF_FP_ABST
Abstract
Description
[0001]AN APPARATUS AND METHOD FOR SPATIAL RENDERING OF REVERBERATION Field The present application relates to apparatus and methods for spatial rendering of reverberation, and not exclusively configuring a number of delay line loops for reverberation for reverberation in augmented reality and / or virtual reality apparatus. Background Reverberation refers to the persistence of sound in a space after the actual sound source has stopped. Different spaces are characterized by different reverberation characteristics. For conveying spatial impression of an environment, reproducing reverberation perceptually accurately is important. Room acoustics are often modelled with individually synthesized early reflection portion and a statistical model for the diffuse late reverberation. Figure 1 depicts an example of a synthesized room impulse response where the direct sound 101 is followed by discrete early reflections 103 (or reflection echoes) which have a direction of arrival (DOA) and diffuse late reverberation 105 which can be synthesized without any specific direction of arrival. The delay ^1(^) 102 in Figure 1 can be seen to denote the direct sound arrival delay from the source to the listener and the delay ^2(^) 104 can denote the delay from the source to the listener for one of the early reflections (in this case the first arriving reflection). One method of reproducing reverberation is to utilize a set of ^ loudspeakers (or virtual loudspeakers reproduced binaurally using a set of head- related transfer functions (HRTF)). The loudspeakers are positioned around the listener somewhat evenly. Mutually incoherent reverberant signals are reproduced from these loudspeakers, producing a perception of surrounding diffuse reverberation. The reverberation produced by the different loudspeakers has to be mutually incoherent. In a simple case the reverberations can be produced using the different channels of the same reverberator, where the output channels are uncorrelated but otherwise share the same acoustic characteristics such as reverberation time and level (specifically, the diffuse-to-direct ratio or reverberant-to-direct ratio or diffuse- to-total ratio or diffuse-to-source ratio or any other suitable parameter for representing reverberation energy or level). Such uncorrelated outputs sharing the same acoustic characteristics can be obtained, for example, from the output taps of a feedback delay network (FDN) reverberator with suitable tuning of the delay line lengths and mixing matrix, or from a reverberator based on using decaying uncorrelated noise sequences by using a different uncorrelated noise sequence in each channel. In this case, the different reverberant signals effectively have the same features, and the reverberation is typically perceived to be similar in all directions. There is provided according to a first aspect a method for rendering at least one audio signal, the method comprising: obtaining the at least one audio signal of an audio scene; obtaining at least one reverberation delay line parameter for the audio scene; configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generating at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal. The delay line parameter may furthermore control a density or diffuseness of the at least one reverberated audio signal. Obtaining at least one reverberation delay line parameter may comprise: obtaining an encoded number of delay line loops; and decoding the encoded number of delay line loops to provide the number of delay lines. The encoded number of delay line loops may be a Huffman encoded representation of the number. Obtaining at least one reverberation delay line parameter may comprise: obtaining a diffusion and / or density parameter; determining the number of delay lines based on the obtained diffusion and / or density parameter. Determining the number of delay lines based on the obtained diffusion and / or density parameter may comprise using a look up table to obtain the number of delay lines from the obtained diffusion or density parameter. Obtaining at least one reverberation delay line parameter may comprise: determining a processing or memory capacity associated with apparatus implementing the digital reverberator; determining the number of delay lines based on the processing or memory capacity associated with apparatus implementing the digital reverberator. The method may further comprise: obtaining at least one reverberation parameter, wherein the at least one reverberation parameter comprises at least one of: a delay line length parameter; a delay line length attenuation filter parameter; a reverberation ratio control filter parameter; a pre-delay line delay parameter; a feedback matrix coefficient parameter; and a directional configuration parameter. The method may further comprise configuring a digital reverberator based on the number of delay lines and the at least one reverberation parameter. Configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter may comprise configuring a digital reverberator with a set of the number of delay lines comprising positive feedback gain and the remainder of the number of delay lines comprising negative feedback gain, wherein the set is defined based on the at least one reverberation delay line parameter. The at least one reverberation delay line parameter may comprise one or both of: a first feedback delay line parameter indicating indices of positive feedback delay lines; and a second feedback delay line parameter indicating indices of negative feedback delay lines. Configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter may comprise: configuring a first digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; configuring a second digital reverberator with a second, and smaller, number of delay lines, wherein the second digital reverberator output channel positions are mapped to the output positions of the first digital reverberator. According to a second aspect there is provided a method for assisting the producing of reverberation for rendering at least one audio signal for an audio scene, the method comprising: obtaining a diffusion and / or density parameter; determining a number of delay lines based on the obtained diffusion and / or density parameter; encoding the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter. Determining the number of delay lines based on the obtained diffusion and / or density parameter may comprise using a look up table to obtain the number of delay lines from the obtained diffusion or density parameter. Encoding the defined number of delay lines as at least one reverberation delay line parameter may comprise Huffman encoding the number of delay lines. According to a third aspect there is provided an apparatus for producing reverberation for rendering at least one audio signal, the apparatus comprising at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the system at least to perform: obtaining the at least one audio signal of an audio scene; obtaining at least one reverberation delay line parameter for the audio scene; configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generating at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal. The delay line parameter may be caused to furthermore control a density or diffuseness of the at least one reverberated audio signal. The apparatus caused to perform obtaining at least one reverberation delay line parameter may be further caused to perform: obtaining an encoded number of delay line loops; and decoding the encoded number of delay line loops to provide the number of delay lines. The encoded number of delay line loops may be a Huffman encoded representation of the number. The apparatus caused to perform obtaining at least one reverberation delay line parameter may be caused to perform: obtaining a diffusion and / or density parameter; determining the number of delay lines based on the obtained diffusion and / or density parameter. The apparatus caused to perform determining the number of delay lines based on the obtained diffusion and / or density parameter may be caused to perform using a look up table to obtain the number of delay lines from the obtained diffusion or density parameter. The apparatus caused to perform obtaining at least one reverberation delay line parameter may be further caused to perform: determining a processing or memory capacity associated with apparatus implementing the digital reverberator; determining the number of delay lines based on the processing or memory capacity associated with apparatus implementing the digital reverberator. The apparatus may be further caused to perform: obtaining at least one reverberation parameter, wherein the at least one reverberation parameter may comprise at least one of: a delay line length parameter; a delay line length attenuation filter parameter; a reverberation ratio control filter parameter; a pre- delay line delay parameter; a feedback matrix coefficient parameter; and a directional configuration parameter. The apparatus may be further caused to perform configuring a digital reverberator based on the number of delay lines and the at least one reverberation parameter. The apparatus caused to perform configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter may be further caused to perform configuring a digital reverberator with a set of the number of delay lines comprising positive feedback gain and the remainder of the number of delay lines comprising negative feedback gain, wherein the set is defined based on the at least one reverberation delay line parameter. The at least one reverberation delay line parameter may comprise one or both of: a first feedback delay line parameter indicating indices of positive feedback delay lines; and a second feedback delay line parameter indicating indices of negative feedback delay lines. The apparatus caused to perform configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter may be caused to perform: configuring a first digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; configuring a second digital reverberator with a second, and smaller, number of delay lines, wherein the second digital reverberator output channel positions are mapped to the output positions of the first digital reverberator. According to a fourth aspect there is provided an apparatus for assisting the producing of reverberation for rendering at least one audio signal for an audio scene, the apparatus comprising at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the system at least to perform: obtaining a diffusion and / or density parameter; determining a number of delay lines based on the obtained diffusion and / or density parameter; encoding the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter. The apparatus caused to perform determining the number of delay lines based on the obtained diffusion and / or density parameter may be further caused to perform using a look up table to obtain the number of delay lines from the obtained diffusion or density parameter. The apparatus caused to perform encoding the defined number of delay lines as at least one reverberation delay line parameter may be caused to perform Huffman encoding the number of delay lines. According to a fifth aspect there is provided an apparatus for producing reverberation for rendering at least one audio signal, the apparatus comprising means configured to: obtain the at least one audio signal of an audio scene; obtain at least one reverberation delay line parameter for the audio scene; configure a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generate at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal. The delay line parameter may furthermore control a density or diffuseness of the at least one reverberated audio signal. The means configured to obtain at least one reverberation delay line parameter may be configured to: obtain an encoded number of delay line loops; and decode the encoded number of delay line loops to provide the number of delay lines. The encoded number of delay line loops may be a Huffman encoded representation of the number. The means configured to obtain at least one reverberation delay line parameter may be configured to: obtain a diffusion and / or density parameter; determine the number of delay lines based on the obtained diffusion and / or density parameter. The means configured to determine the number of delay lines based on the obtained diffusion and / or density parameter may be configured to use a look up table to obtain the number of delay lines from the obtained diffusion or density parameter. The means configured to obtain at least one reverberation delay line parameter may be configured to: determine a processing or memory capacity associated with apparatus implementing the digital reverberator; determine the number of delay lines based on the processing or memory capacity associated with apparatus implementing the digital reverberator. The means may be further configured to: obtain at least one reverberation parameter, wherein the at least one reverberation parameter comprises at least one of: a delay line length parameter; a delay line length attenuation filter parameter; a reverberation ratio control filter parameter; a pre-delay line delay parameter; a feedback matrix coefficient parameter; and a directional configuration parameter. The means may be further configured to configure a digital reverberator based on the number of delay lines and the at least one reverberation parameter. The means configured to configure a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter may be configured to configure a digital reverberator with a set of the number of delay lines comprising positive feedback gain and the remainder of the number of delay lines comprising negative feedback gain, wherein the set is defined based on the at least one reverberation delay line parameter. The at least one reverberation delay line parameter may comprise one or both of: a first feedback delay line parameter indicating indices of positive feedback delay lines; and a second feedback delay line parameter indicating indices of negative feedback delay lines. The means configured to configure a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter may be configured to: configure a first digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; configure a second digital reverberator with a second, and smaller, number of delay lines, wherein the second digital reverberator output channel positions are mapped to the output positions of the first digital reverberator. According to a sixth aspect there is provided an apparatus for assisting the producing of reverberation for rendering at least one audio signal for an audio scene, the apparatus comprising means configured to: obtain a diffusion and / or density parameter; determine a number of delay lines based on the obtained diffusion and / or density parameter; encode the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter. The means configured to determine the number of delay lines based on the obtained diffusion and / or density parameter may be configured to use a look up table to obtain the number of delay lines from the obtained diffusion or density parameter. The means configured to encode the defined number of delay lines as at least one reverberation delay line parameter may be configured to Huffman encode the number of delay lines. According to a seventh aspect there is provided an apparatus for producing reverberation for rendering at least one audio signal, the apparatus comprising: obtaining circuitry configured to obtain the at least one audio signal of an audio scene; obtaining circuitry configured to obtain at least one reverberation delay line parameter for the audio scene; configuring circuitry configured to configure a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generating circuitry configured to generate at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal. According to an eighth aspect there is provided an apparatus for assisting the producing of reverberation for rendering at least one audio signal for an audio scene, the apparatus comprising: obtaining circuitry configured to obtain a diffusion and / or density parameter; determining circuitry configured to determine a number of delay lines based on the obtained diffusion and / or density parameter; encoding circuitry configured to encode the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter. According to a ninth aspect there is provided a computer program comprising instructions [or a computer readable medium comprising instructions] for causing an apparatus, for producing reverberation for rendering at least one audio signal, the apparatus caused to perform at least the following: obtaining the at least one audio signal of an audio scene; obtaining at least one reverberation delay line parameter for the audio scene; configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generating at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal. According to a tenth aspect there is provided a computer program comprising instructions [or a computer readable medium comprising instructions] for causing an apparatus for assisting the producing of reverberation for rendering at least one audio signal for an audio scene, the apparatus caused to perform at least the following: obtaining a diffusion and / or density parameter; determining a number of delay lines based on the obtained diffusion and / or density parameter; encoding the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter. According to an eleventh aspect there is provided a non-transitory computer readable medium comprising program instructions for causing an apparatus, for rendering at least one audio signal, to perform at least the following: obtaining the at least one audio signal of an audio scene; obtaining at least one reverberation delay line parameter for the audio scene; configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generating at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal. According to a twelfth aspect there is provided a non-transitory computer readable medium comprising program instructions for causing an apparatus, for assisting the producing of reverberation for rendering at least one audio signal for an audio scene, to perform at least the following: obtaining a diffusion and / or density parameter; determining a number of delay lines based on the obtained diffusion and / or density parameter; encoding the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter. According to a thirteenth aspect there is provided an apparatus, for producing reverberation for rendering at least one audio signal, comprising: means for obtaining the at least one audio signal of an audio scene; means for obtaining at least one reverberation delay line parameter for the audio scene; means for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and means for generating at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal. According to a fourteenth aspect there is provided an apparatus for assisting the producing of reverberation for rendering at least one audio signal for an audio scene, the apparatus comprising: means for obtaining a diffusion and / or density parameter; means for determining a number of delay lines based on the obtained diffusion and / or density parameter; means for encoding the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter. According to a fifteenth aspect there is provided a computer readable medium comprising instructions for causing an apparatus, for rendering at least one audio signal, to perform at least the following: obtaining the at least one audio signal of an audio scene; obtaining at least one reverberation delay line parameter for the audio scene; configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generating at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal. According to a sixteenth aspect there is provided a computer readable medium comprising instructions for causing an apparatus, for rendering at least one audio signal for an audio scene, to perform at least the following: obtaining a diffusion and / or density parameter; determining a number of delay lines based on the obtained diffusion and / or density parameter; encoding the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter.. An apparatus comprising means for performing the actions of the method as described above. An apparatus configured to perform the actions of the method as described above. A computer program comprising program instructions for causing a computer to perform the method as described above. A computer program product stored on a medium may cause an apparatus to perform the method as described herein. An electronic device may comprise apparatus as described herein. A chipset may comprise apparatus as described herein. Embodiments of the present application aim to address problems associated with the state of the art. Summary of the Figures For a better understanding of the present application, reference will now be made by way of example to the accompanying drawings in which: Figure 1 shows a model of room acoustics with regard to the room impulse response; Figure 2 shows schematically an example apparatus within which some embodiments may be implemented; Figure 3 shows a flow diagram of the operation of the example apparatus as shown in Figure 2 with respect to reverberant audio signal rendering; Figure 4 shows schematically an example reverberator parameter determiner as shown in Figure 2 in further detail according to some embodiments; Figure 5 shows a flow diagram of the operation of the example reverberator parameter determiner as shown in Figure 4; Figure 6 shows schematically a reverberator which includes an example feedback delay network (FDN) as shown in Figure 2 in further detail according to some embodiments; Figure 7 shows a flow diagram of the operation of the Delay line number D determiner according to some embodiments; Figure 8 shows a flow diagram of the operation of the Delay line length determiner according to some embodiments; Figure 9 shows a flow diagram of the operation of the rendering based delay line length determiner according to some embodiments; Figures 10 to 12 show example impulse responses for various delay line configurations; Figure 13 shows an example system within which some embodiments can be implemented; and Figure 14 shows an example device suitable for implementing the apparatus shown in previous figures. Embodiments of the Application The following describes in further detail suitable apparatus and possible mechanisms for controlling the rendering of audio scenes. As indicated above a method of reproducing reverberation is to utilize a set of ^ loudspeakers (or virtual loudspeakers reproduced binaurally using a set of head-related transfer functions (HRTF)). The loudspeakers are positioned around the listener somewhat evenly. Mutually incoherent reverberant signals are reproduced from these loudspeakers, producing a perception of surrounding diffuse reverberation The positioning and the number of the loudspeakers suitable for producing the diffuse perception has been studied, e.g., in K. Hiyama, S. Komiyama, and K. Hamasaki, The Minimum Number of Loudspeakers and Its Arrangement for Reproducing the Spatial Impression of Diffuse Sound Field, AES 113thConvention, 2002 and C. Kirch, J Poppitz, T. Wendt, S. van der Par, and S. Ewert, Spatial Resolution of Late Reverberation in Virtual Acoustic Environments. Submitted to Trends in Hearing (currently available in the Carl von Ossietzky Universität Oldenburg website), 2021. It has been found that somewhere around 6 – 12 loudspeakers are required, depending on the positioning of the loudspeakers. The reverberation produced by the different loudspeakers is designed to be mutually incoherent, but, otherwise their content can be otherwise configured by the algorithm designer. In a simple case, for example, the reverberations can be produced using the different channels of the same reverberator, where the output channels are uncorrelated but otherwise share the same acoustic characteristics such as RT60 time and level (specifically, the diffuse-to-direct ratio or reverberant- to-direct ratio or source-energy-to-diffuse energy ratio). Such uncorrelated outputs sharing the same acoustic characteristics can be obtained, for example, from the output taps of a Feedback-Delay-Network (FDN) reverberator with suitable tuning of the delay line lengths, or from a reverberator based on using decaying uncorrelated noise sequences by using a different uncorrelated noise sequence in each channel. In this case, the different reverberant signals basically have the same features, and the reverberation is typically perceived to be similar to all directions. The diffusion, or the density of the impulse response of the FDN can be controlled by varying the number of delay line loops. The more delay line loops there are, the denser the impulse response becomes. Having a maximally dense impulse response is desirable for some content but requires more computational power than a smaller number of feedback delay loops. In a virtual acoustics rendering system, the reverberation is typically rendered as a combination of a certain, defined, number of distinct early reflections and a stochastic model for the late reverberation. The early reflection synthesis is typically time varying, whereas the late reverberation synthesis is not time varying. Together these two create a plausible reverberation rendering for a physical or virtual space. To achieve plausible diffuse late reverberation rendering it is desirable that the late reverberation processing operations are able to be configurable. In particular it is desirable to be able to adjust the level or spectrum of the reverberation which can be implemented with reverberation ratio filtering. Furthermore it is desirable to also be able to control the RT60 time of reverberation which can be accomplished with control of the delay line attenuation filters. It is also desirable to be also to control the delay or onset of the late reverberation which can be accomplished with control of a predelay line. However it would be advantageous to be able to control the diffusion or density of late reverberation. A suitable control can be accomplished by varying the number of delay line loops and the size of the feedback matrix in a FDN reverberator. Together these can be referred as FDN size. However, it is desirable to keep the FDN size as small as possible, as when the size of the FDN is made larger then the computational complexity required to implement it increases. Also, in some situations it is desirable to be able to execute several reverberators in parallel, the reverberators can have different sizes, while still allowing mixing audio signals between reverberators. Therefore, there is a need to enable the configuration of an FDN with different sizes and enable control of the FDN size either via the bitstream or at the renderer. In the meanwhile these implementations should be computationally efficient. Additionally these implementations should allow several reverberators, having different sizes, to be operated in parallel and enable efficient mixing of their outputs. The FDN as described herein and summarized herein later can be one similar to the those described in WO2022167720. The concept as discussed in the following embodiments is one in which relates to reproduction of (late) reverberation where apparatus and method are proposed that enable control of the diffusion (or density) of the output of a digital late reverberator and rendering reverberation using the late reverberator so that the rendering is computationally efficient with different reverberation densities and that reverberators configured at different densities can be running within the same audio scene. This in some embodiments is achieved by: obtaining reverberation parameters containing at least a reverberation time and diffuseness (or reverberator number of delay line loops or size); configuring a digital reverberator with reverberator parameters derived from the reverberation parameters and diffuseness, where at least one attenuation filter is configured based on the reverberation time and the number of delay line loops and / or feedback matrix size is configured based on the diffuseness; and rendering a reverberated signal using the reverberator and at least one input signal to achieve late reverberation which has density or diffuseness controlled by the diffuseness parameter (or reverberator number of delay line loops or size) In some embodiments, a Feedback-Delay-Network (FDN) reverberator with a number of output channels equal to the number of delay lines is used. The outputs of the reverberator can be reproduced with (virtual or real) loudspeakers in the corresponding directions. Furthermore in some embodiments the diffuseness parameter has values between 0 and 1, which is divided in to ranges, which correspond to reverberator sizes of 3, 7, 15, 31, 63, and 127 delay line loops. In some embodiments, the number of reverberator delay line loops or size is obtained directly as an input. In some embodiments the number of reverberator delay line loops depends at least partially on the available processing capacity of the device such that a fewer number of delay line loops are implemented when an available processing capacity is lower. The processing capacity can depend on the capabilities of the apparatus or device or the requirements of other processing stages, meaning that if other processing stages (or acoustic effects) require more processing capacity then less processing capacity is available for rendering the reverberation. In some embodiments the diffuseness is converted in an encoder device into a parameter describing FDN size or number of delay line loops and signalled in bitstream. The reverberator is configured in a decoder / renderer based on the received FDN size / number of delay line loops parameter. In some embodiments the diffuseness parameter is encoded into a bitstream by an encoder device and received by a decoder / renderer, which configures a reverberator using the decoded parameter. In some embodiments, multiple candidate FDN size or number of delay line loops are specified per each acoustic environment and a priority value for each candidate FDN size is encoded into a bitstream by an encoder. Subsequently, the decoder / renderer selects the FDN size / number of delay line loops depending on the computational capabilities of the rendering device. In some embodiments, the multiple diffuseness parameters corresponding to relevance (or roles) are encoded into a bitstream by an encoder separately for each acoustic environment. Subsequently, the decoder / renderer derives the FDN size / number of delay loop lines for each acoustic environment depending on the relevance (or role) of the acoustic environment. Examples of the different relevance / roles are listener acoustic environment, neighbour acoustic environment with portal rendering, or neighbouring acoustic environment as external source contribution. In some embodiments, in addition to the diffuseness parameter per each acoustic environment, a priority value and cumulative number of delay line loops for the entire audio scene is encoded into a bitstream by an encoder. Subsequently, the decoder / renderer derives the FDN size / number of delay line loops depending on the computational capabilities of the rendering device. The directions for the output channels of the reverberator (its delay line loops) are selected from a subset of a larger set of possible output directions in some embodiments. This selection causes the output spatial positions of a reverberator having a small number of outputs to be a subset of the output channel positions of a reverberator with a larger number of outputs. This enables convenient mixing of reverberator outputs during rendering and does not require spatializing extra spatial directions causing computational savings. The resulting reverberation is perceived to have reverberation where the density or diffuseness varies depending on the diffuseness (or reverberator size parameter). Moreover, the outputs of reverberators with different sizes can be combined (mixed) in a straightforward manner and do not result in significant extra computational cost. Figure 2 shows an example system or apparatus 299 suitable for implementing embodiments within a late or later reverberation audio signal processing system. The system comprises inputs such as audio signal 200, reverberation parameters 202. The system or apparatus 299 is configured to render reverberant binaural signals 208 as an output, containing late reverberation which are perceived according to the acoustic parameters carried in the reverberation parameters 202. In some embodiments the reverberation parameters 202 comprises suitable (non-directional) parameters for configuring the reverberator 201. Suitable reverberation parameters 202 can be defined for each acoustic environment (AE), and can include, for example, the reverberation times ^^^(^) in frequency bands (where ^ is the frequency band index), reverberant-to-direct ratio ^^^(^) in frequency bands, the pre-delay ^^^^, and room dimensions and diffuseness. Alternatively to the RDR, the diffuse-to-source energy ratio (DSR) can be used. Furthermore in some embodiments, alternatively to the diffuseness, a density parameter or a number of delay line (loops) D parameter can be received. The reverberation parameters 202 can, for example, be obtained from a bitstream or from a listening space description format (LSDF) input to the renderer. In some embodiments the system 299 comprises a Reverberator parameter determiner 203 configured to obtain the reverberation parameters 202 such as ^^^(^), ^^^(^), ^^^^and diffuseness and to convert the reverberation parameters 202 into suitable reverberator parameters 204 for the reverberator 201. In some embodiments the system 299 comprises a reverberator 201 configured to receive the audio signal 200 ^^^(^), where ^ is the sample (time) index. Furthermore, the reverberator 201 is configured to receive the reverberator parameters 204. The reverberator 201 is shown herein using a feedback network (FN) implemented as a feedback delay network (FDN) but in other embodiments the FN can be implemented using other suitable feedback architectures. In this example embodiment, the reverberator 201 has ^ output channels indexed with ^ = 1, 2, … , The resulting reverberant audio signals 210 ^^^^(^, ^) are mutually incoherent, and they have acoustical characteristics according to the reverberator parameters 204 and their number D depends on the input diffuseness (number of delay loops). Here, t denotes the sample index (time). In some embodiments the system 299 comprises a binaural renderer 205. The reverberant audio signals 206 ^^^^(^, ^) are forwarded to the binaural renderer 205. The binaural renderer 205 in some embodiments is configured to render the reverberated audio signals to reverberant binaural signals 208 ^^^^(^, ^^^^)(where ^^^^= 1, 2 is the binaural channel index), which can, for example, be reproduced using headphones. These signals are perceived as surrounding and enveloping with acoustical characteristics according to reverberation parameters 202 and in particular diffuseness (or reverberation density) being dependent on the diffuseness. Figure 3 shows an example flow diagram of the operations of the system shown in Figure 2 with respect to the reverberator and binaural renderer associated with the reverberator. First there is obtaining the audio signals, and reverberation parameters (diffuseness, room dimensions, and loudspeaker setup) as shown by 301. Then there is the operation of determining reverberator parameters (or otherwise reverberator configuration) from the reverberation parameters input and optionally the directional configuration as shown by 303. Then reverberated audio signals are generated based on the audio signal and the configured reverberator as shown by 305. Then reverberant binaural signals are rendered using the reverberated audio signals and directional configuration parameters as shown by 307. Then reverberant binaural signals are output as shown by 309. Figure 4 shows an example reverberator parameter determiner 203. The reverberator parameter determiner 203 in some embodiments is configured to obtain the reverberation parameters (and room dimensions) 202 and generate suitable reverberator parameters 204, such as: number D of delay lines; delay line length; delay line attenuation filter; reverberation ratio control filter; pre-delay line length; feedback matrix coefficients; and directional configuration. For example, the reverberator parameter determiner 203 comprises a delay line number D determiner 401. The delay line number D determiner 401 in some embodiments is configured to receive the diffuseness parameter and is configured to generate a delay line number D. Each Acoustic Environment (AE) is associated with an optional diffuseness parameter. The diffuseness parameter can be provided in the Encoder Input Format (EIF) file for Virtual Reality (VR) content and via the MPEG-I Listener Space Description Format (LSDF) for Augmented Reality (AR) content. The encoder input format (EIF) of MPEG-I can be updated, for example, as follows. A definition of diffuseness can be added: The diffuseness specifies the density or diffuseness of reverberation in an acoustic environment. Please note that smaller values of diffuseness may reduce the computational complexity while larger values of diffuseness may increase it. Thus, the diffuseness parameter also impacts computational complexity. Acoustic parameters can be updated as follows: <AcousticParameters> Inside of an <AcousticEnvironment> node, it declares the environment’s acoustic behaviour at a specific point in space. Child node Count Description <Frequency> >=1 Frequency data specification (see below) Attribute Type Flags Default Description Position (Required if multiple position Position O <AcousticParameters> are specified within one <AcousticEnvironment> predelay Float O none Pre-delay time in seconds Diffuseness or density of reverberation in the environment. The default value of 0.5 causes the default reverberator settings to be used, diffuseness Float O 0.5 while values less than the default down to zero and values higher than the default up to one cause sparser or denser reverberation being created, respectively. The diffuseness parameter in an example embodiment comprises values on the range [0, 1]. This range can be divided into uniform size segments corresponding to the supported delay line lengths. An example division is Lower limit of diffuseness Upper limit of diffuseness Number of delay line range range loops 0 0.1667 3 0.1667 0.3333 7 0.3333 0.5000 15 0.5000 0.6667 31 0.6667 0.8333 63 0.8333 1.0000 127 In some embodiments the division of the diffuseness range is other than uniform and can, for example, be non-uniform. Furthermore although 6 divisions are shown herein there can be more than 6 or fewer than 6 divisions. In other words there can be 6 possible reverberation configurations or more than or fewer than 6 possible reverberator configurations. In some embodiments the number of delay line loops (or delay line count) can be encoded into the bitstream. For example in some implementations the encoding is one that uses (the following) Huffman codes: Table delayLineCountCodes: Number of delay line loops Huffman codeword 3 0010 7 10 15 01 31 11 63 0001 127 0000 A possible way to complement the bitstream syntax of payloadReverb described in clause 6.2.8 table 47 in ISO MPEG-I WD(Working draft) for ISO 23090-4 is as below, with the update marked in italics: Syntax No.of Mnemonic bits payloadReverb() { if (revpresent) 1 bslbf { ReverbFreqGridData(); revNrElements = GetCountOrIndex(); for ( e = 0; e < revNrElements; e++) { revAcEnvID = GetID(); revFreqGridIdx[e]= GetCountOrIndex(); revPredelay[e] = GetDuration(false); Syntax No.of Mnemonic bits payloadReverb() { if (revDelayLineCountPresent) 1 bslbf { revDelayLineCount = var vlclbf LUT(delayLineCountCode) } for ( b = 0:fgdNrBands[revFreqGridIdx[e]] – 1) { revRT60[e][b] = GetDuration(false); } for ( b = 0:fgdNrBands[revFreqGridIdx[e]] – 1) { revDSR[e][b] = LUT(dsrCode); var vlclbf } } Where LUT() is configured to execute a query on look-up table corresponding to the field whose name is provided as argument, in this case the table delayLineCountCodes described above. In the above bitstream syntax, when the reverb delay line count is present (indicated by the Boolean revDelayLineCountPresent) then the delay line count is written via a table lookup from the delayLineCountCode table into the variable length codeword revDelayLineCount. The bitstream in above syntax can be transmitted or otherwise transported to the decoder / renderer device. In some embodiments, the diffuseness value for each acoustic environment can be quantized and / or otherwise coded and written into the bitstream instead of or in addition to the delayLineCountCode. If the diffuseness is coded, for example, via Huffman coding, then in this embodiment there can be a corresponding codeword diffusenessCode that corresponds to a quantized value of diffuseness. The benefit of coding the diffuseness into the bitstream can be that in this case the bitstream is not specific to a certain reverberator configuration, such as a feedback network being configurable with a set of delay line counts. In some other embodiments the bitstream can comprise other parameters in addition to the ones described above. Syntax No. of Mnemonic bits payloadReverb() { if (revpresent) 1 bslbf { ReverbFreqGridData(); revNrElements = GetCountOrIndex(); for ( e = 0; e < revNrElements; e++) { revAcEnvID = GetID(); revFreqGridIdx[e] = GetCountOrIndex(); revPredelay[e] = GetDuration(false); if 1 bslbf (revDelayLineCandidatesCountPresent) { revDelayLineCountCandidates = GetCountOrIndex(); for (int j = 0; j < revDelayLineCountCandidates; j++) { revDelayLineCount = var vlclbf LUT(delayLineCountCode) priorityValue = GetCountOrIndex(); } } for ( b = 0:fgdNrBands[revFreqGridIdx[e]] – 1) { revRT60[e][b] = GetDuration(false); } Syntax No. of Mnemonic bits payloadReverb() { for ( b = 0:fgdNrBands[revFreqGridIdx[e]] – 1) { revDSR[e][b] = LUT(dsrCode); var vlclbf } } In this further implementation if revDelayLineCandidatesCountPresent is equal to 1, then multiple candidate FDN sizes are available. The number of candidates can be specified by revDelayLineCountCandidates. The FDN size is indicated via the revDelayLineCount and the priority is indicated via priorityValue. A higher priority value indicates the most preferred. Typically, the highest required FDN size should be indicated as highest priority with other permissible lower FDN sizes with lower priority. If the lowest priority cannot be rendered, then the player should choose whether rendering outside the content creator recommendations is to be performed. As discussed later a corresponding decoding operation can be performed on the renderer side to recover the Huffman coded delay line count by inverse table lookup operation. In some embodiments the diffuseness is received instead of the (possibly coded) number of delay lines D. Thus in some embodiments the number of delay lines D is determined from a decoded number of delay lines D generated based on the diffuseness parameter and decoded from the received bitstream or determined from a received diffuseness parameter in a manner such as described later on. In some embodiments the reverberator parameter determiner 203 comprises a delay line length determiner 403. The delay line length determiner 403 can, in some implementations, be configured to determine delay line lengths mdfor each of ^ delay lines based on virtual room dimensions. Here, we use the dimensions of the enclosure, that is, a bounding box that encloses or is aligned with the walls of the physical or virtual room. For example, a shoebox shaped room can be defined with dimensions ^^^^, ^^^^, ^^^^. If the room is not shaped as a shoebox (or cuboid) then a shoebox can be fit inside the room and the dimensions of the fitted shoebox can be utilized for the delay line lengths. Alternatively, the dimensions can be obtained as three longest orthogonal dimensions in the non- shoebox shaped room, or by another suitable method. The delays can in some embodiments be set proportionally to standing wave resonance frequencies in the virtual room or physical room. In some embodiments there can be a first set of roomModes as below (with the three values depicting the x, y, and z of the mode, respectively): roomModes{ { 1.0, 0.0, 0.0 }, { 2.0, 1.0, 1.0 }, { 0.0, 2.0, 1.0 }, { 1.0, 0.0, 1.0 }, { 2.0, 1.0, 0.0 }, { 0.0, 1.0, 1.0 }, { 1.0, 1.0, 1.0 }, { 1.0, 1.0, 0.0 }, { 0.0, 1.0, 2.0 }, { 1.0, 2.0, 1.0 }, { 1.0, 2.0, 0.0 }, { 0.0, 0.0, 1.0 }, { 0.0, 1.0, 0.0 }, { 1.0, 0.0, 2.0 }, { 2.0, 0.0, 1.0 }, }; With these roomModes the delay line lengths can be calculated for a maximum of D=15. In case there are more delay lines (D>15), additional room modes can be calculated by modifying these modes and collecting the modified modes which are between a certain minimum and maximum frequency. A frequency corresponding to a mode can be calculated as freq = sqrt(mode.x * mode.x + mode.y * mode.y + mode.z * mode.z); The above modes can be modified by incrementing the x, y, z values by fractional steps such as 0.0, 0.4, 0.8, 1.2, 1.6, 2.0 or other suitable amounts. A modified mode can be checked if its frequency is between the minimum and maximum frequency of the first set of roomModes, and selected to be used if it falls in between. In such a manner a necessary number of additional modes can be created this way until enough room modes are obtained (as many as there are delay lines). In some alternative embodiments other methods can be used for the delay line length determination. The delay line lengths ^^can further be made to be mutually prime integers. This choice can then minimize coherent repetition in the impulse response of the FN. The sieve of the Sundaram algorithm can be used to find the prime numbers up to the maximum delay line length. Each delay line length can then be mapped to the closest prime number in the obtained set of prime numbers. In some embodiments the reverberator parameter determiner 203 further comprises a delay line attenuation filter parameter determiner 405 which is configured to determine attenuation filter coefficients. The attenuation filter coefficients in the delay lines can be configured so that an amount of attenuation happens at each signal recirculation through the delay line so that the desired ^^60(^) time is achieved. This is done in a frequency dependent manner to ensure the appropriate rate of decay of signal energy at specified frequencies. For a frequency bin ^, the desired attenuation per signal sample is calculated as ^^^^^^^^^^^^^^^^^^^^(^) = −60 / (^^∗ ^^60(^)), where ^^is the sampling rate. The attenuation in decibels for a delay line of length ^^is then ^^^^^^^^^^^^^(^) = ^^∗ ^^^^^^^^^^^^^^^^^^^^(^). Furthermore, the attenuation filters are designed as cascade graphic equalizer filters as described in V. Välimäki and J. Liski, “Accurate cascade graphic equalizer,” IEEE Signal Process. Lett., vol.24, no.2, pp.176–180, Feb.2017, for each delay line. The design procedure outlined takes as input a set of command gains at octave bands. There are also methods for a similar graphic EQ structure which can support third octave bands, increasing the number of biquad filters to 31 and providing a better match for detailed target responses such as indicated in J. Rämö, J. Liski, and V. Välimäki, “Third-Octave and Bark Graphic-Equalizer Design with Symmetric Band Filters,” Applied Sciences, vol.10, no.4, p.1222, Feb.2020. In some embodiments the reverberator parameter determiner 203 comprises a reverberation ratio control filter parameter determiner 407 which can be configured to determine reverberation ratio control filter parameters. The control filter parameters can be designed such that, when the filter is applied to the input signal of the reverberator, the output reverberation will have the desired energy ratio defined by the ^^^(^). The input to the design procedure can in some embodiments be the vector of RDR values ^^^(^)obtained by the reverberator parameter determiner 203. The GEQratio is configured to match the reverberator spectrum energy to the target spectrum energy. To do this, an estimate of the RDR of the reverberator output and the target RDR is determined. The RDR of the reverberator output can be obtained by rendering a unit impulse through the reverberator using the first reverberator parameters and measuring the energy of the reverberator output and energy of the unit impulse and calculating the ratio of these energies. In some embodiments the energy of the reverberator output can be measured from a certain time onwards, for example, from an input predelay time or other time indicating the beginning of where the RDR data has been given / provided / measured. In some embodiments the reverberation ratio control filter parameter determiner 407 is configured to create an input of a unit impulse followed by zeroes of a sufficient length to capture the reverberation tail. In practice, the length of the zero tail is adjusted to equal max(^^60(^)) plus the ^^^^in samples. The monophonic output signal ^^^^(^), which is a function of time ^, can be obtained by summation of the outputs of the feedback network 450. A long FFT (of length ^^^^) is calculated over ^^^^(^) and its absolute value can be obtained as ^^^(^^) = abs(^^^(^^^^(^)) Here, ^^ are the FFT bin indices. We furthermore obtain the positive half spectral energy density as ^(^^) = 1 / ^^^^ ∗ ^^^(^^)^where we add the energy from the negative frequency indices ^^ into the corresponding positive frequency indices ^^. The energy of a unit impulse can be calculated or obtained analytically. Denote it as ^^(^^). In some embodiments the band energies are calculated of both the positive half spectral energy density of the reverberator ^(^^) and the positive half spectral energy density of the unit impulse ^^(^^). Band energies can be calculated as where ^^^^and ^^^^^are the lowest and highest bin indices belonging to band ^, respectively. The band bin indices can be obtained by comparing the frequencies of the bins to the lower and upper frequencies of each band. The reproduced ^^^^^^(^)of the reverberator output at the frequency band k is obtained as ^^^^^^(^)= ^(^) / ^^(^) The target linear magnitude response for GEQratio can be obtained as ^^^^^^^^^^^^^^^^^^^^^^^(^) = sqrt(^^^(^)) / sqrt(^^^^^^(^)) where ^^^(^) is the linear target RDR value at band ^. The target response ^^^^^^^^^^^(^) = 20 ∗ log^^(^^^^^^^^^^^^^^^^^^^^^^^(^)) is input as for the graphic equalizer design routine as discussed in the previously cited documents of V. Välimäki and J. Liski, “Accurate cascade graphic equalizer,” IEEE Signal Process. Lett., vol.24, no.2, pp.176–180, Feb.2017 and J. Rämö, J. Liski, and V. Välimäki, “Third-Octave and Bark Graphic-Equalizer Design with Symmetric Band Filters,” Applied Sciences, vol.10, no.4, p.1222, Feb.2020. The RDR filter target response (control gains for the graphic EQ design routine) can also be obtained directly in the logarithmic domain as In some embodiments the reverberator parameter determiner 203 comprises a pre-delay line length determiner 409. The pre-delay line length determiner 409 is configured to determine and adjust the length ^^^^in samples of the pre-delay line based on the input pre-delay time ^^^^. The input pre-delay can be converted to samples and the length of the shortest FN delay line is subtracted from it. This can be set as the length ^^^^. This will cause the first echoes from the FN to occur after time ^^^^. In some other embodiments, the diffuse portion of the FN is set to start after time ^^^^. In this case ^^^^can be lower and can be set based on an estimate of the time at which the FDN output becomes diffuse and by setting the pre-delay line such that the desired time can be obtained. The reverberator parameter determiner 203 further comprises a feedback matrix coefficient determiner 411 configured to generate feedback matrix coefficients. The core processing of the FDN calculation is realized by the below method process: process(sampleCount) { m_oneOverM = 1.0f / sqrt(m_outputCount + 1); / / m_outputCount is equal to the number of delay line loops D m_outputBuffer->fill(0.F); outputScaler{ 1.0f / m_outputCount }; vector updated_v(m_outputCount); for (sampleIndex = 0; sampleIndex < sampleCount; sampleIndex++) { d = accumulate(m_v[0], m_v[m_outputCount], 0); alphaTimesD = m_alpha * d; fill(updated_v, 0.0f); for (delayLineIndex = 0; delayLineIndex < m_outputCount; delayLineIndex++) { / / Read position starts from the beginning of the ring buffer and moves backwards (from / / the beginning of the second half which repeats the first half). float* s = &m_v[m_outputCount - delayLineIndex]; b = 0; c = 0; for (dlId2 = 0; dlId2 < m_outputCount; dlId2++) { if (m_hasPositiveFeedbackGain[dlId2]) { b += s[dlId2]; } else { c += s[dlId2]; } } a = m_oneOverM * (b - c) + alphaTimesD; delayedSample = m_delayLines[delayLineIndex].getDelayedSample(m_inputBuffer- >at(sampleIndex) + a); filteredSample = m_filters[delayLineIndex]- >filter(delayedSample); updated_v[delayLineIndex] = filteredSample; (*m_outputBuffer)[delayLineIndex][sampleIndex] += filteredSample; } copy(&updated_v[0], m_outputCount, &m_v[0]); copy(&updated_v[0], m_outputCount, &m_v[m_outputCount]); for (outputChannelIndex = 0; outputChannelIndex < m_outputCount; outputChannelIndex++) { (*m_outputBuffer)[outputChannelIndex][sampleIndex] *= outputScaler; } } } The following parameters are needed to implement the core feedback matrix calculations of the FDN reverberator. In the example FDN shown later in Figure 6, the feedback matrix is depicted with A. The parameters required for feedback matrix calculation are listed for different numbers of reverb delay line loops D: / / D = 3 m_hasPositiveFeedbackGain = { 0, 1, 0, }; m_alpha = -0.1666666667f; / / D = 7 m_hasPositiveFeedbackGain = { 0, }; m_alpha = -0.0923495156f; / / D = 15 m_hasPositiveFeedbackGain = { 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, }; m_alpha = -0.0500000000f; / / D = 31 m_hasPositiveFeedbackGain = { 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, }; m_alpha = -0.0265555905f; / / D = 63 m_hasPositiveFeedbackGain = { 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0,};m_alpha = -0.0138888889f; / / D = 127 m_hasPositiveFeedbackGain = { 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, }; m_alpha = -0.0071780445f; In the above embodiment, m_hasPositiveFeedbackGain lists, for each delay line index d, whether the delay line value should be summed to the positive sum accumulator b (value of 1) or the negative sum accumulator c (value of zero). The benefit of the above embodiment is that m_hasPositiveFeedbackGain consists of zeros and ones and can thus be compactly stored in computer memory. The disadvantage in some central processing architectures is that there needs to be an if-condition within the FDN process loop which may not be optimal in terms of CPU processing speed. When CPU processing speed is important the following equivivalent modification can be done: Instead of m_hasPositiveFeebackGain, for the possible delay line counts indicate the delay line indices that should be accumulated into the positive accumulator variable b and the negative accumulator variable c: switch (m_outputCount) { case 3: m_hasPositiveFeedbackGain = { 1, }; m_hasNegativeFeedbackGain = { 0, 2, }; m_alpha = -0.1666666667f; break; case 7: m_hasPositiveFeedbackGain = { 1, 2, 4, }; m_hasNegativeFeedbackGain = { 0, 3, 5, 6, }; m_alpha = -0.0923495156f; break; case 15: m_hasPositiveFeedbackGain = { 1, 2, 3, 5, 6, 9, 11, }; m_hasNegativeFeedbackGain = { 0, 4, 7, 8, 10, 12, 13, 14, }; m_alpha = -0.0500000000f; break; case 31: m_hasPositiveFeedbackGain = { 1, 2, 3, 4, 6, 7, 9, 12, 13, 19, 20, 21, 24, 28, 30, }; m_hasNegativeFeedbackGain = { 0, 5, 8, 10, 11, 14, 15, 16, 17, 18, 22, 23, 25, 26, 27, 29, }; m_alpha = -0.0265555905f; break; case 63: m_hasPositiveFeedbackGain = { 1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15, 17, 19, 20, 25, 27, 28, 29, 33, 34, 36, 37, 39, 42, 46, 49, 50, 53, 55, 57, }; m_hasNegativeFeedbackGain = { 0, 6, 11, 12, 16, 18, 21, 22, 23, 24, 26, 30, 31, 32, 35, 38, 40, 41, 43, 44, 45, 47, 48, 51, 52, 54, 56, 58, 59, 60, 61, 62, }; m_alpha = -0.0138888889f; break; case 127: m_hasPositiveFeedbackGain = { 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 20, 22, 23, 24, 29, 30, 32, 33, 34, 36, 39, 40, 44, 46, 48, 49, 55, 57, 58, 59, 60, 64, 65, 66, 68, 69, 71, 72, 75, 78, 80, 83, 88, 91, 92, 93, 96, 98, 99, 101, 105, 109, 110, 113, 114, 116, 118, 120, }; m_hasNegativeFeedbackGain = { 0, 7, 13, 14, 19, 21, 25, 26, 27, 28, 31, 35, 37, 38, 41, 42, 43, 45, 47, 50, 51, 52, 53, 54, 56, 61, 62, 63, 67, 70, 73, 74, 76, 77, 79, 81, 82, 84, 85, 86, 87, 89, 90, 94, 95, 97, 100, 102, 103, 104, 106, 107, 108, 111, 112, 115, 117, 119, 121, 122, 123, 124, 125, 126, }; m_alpha = -0.0071780445f; break; } The method process then becomes: process(sampleCount) { m_oneOverM = 1.0f / sqrt(m_outputCount + 1); / / m_outputCount is equal to the number of delay line loops D m_outputBuffer->fill(0.F); outputScaler{ 1.0f / m_outputCount }; vector updated_v(m_outputCount); numPositiveItems = m_hasPositiveFeedbackGain.size(); numNegativeItems = m_hasNegativeFeedbackGain.size(); for (sampleIndex = 0; sampleIndex < sampleCount; sampleIndex++) { d = accumulate(m_v[0], m_v[m_outputCount], 0); alphaTimesD = m_alpha * d; fill(updated_v, 0.0f); for (delayLineIndex = 0; delayLineIndex < m_outputCount; delayLineIndex++) { / / Read position starts from the beginning of the ring buffer and moves backwards (from / / the beginning of the second half which repeats the first half). float* s = &m_v[m_outputCount - delayLineIndex]; b = 0; c = 0; positiveIdsPtr = &m_hasPositiveFeedbackGain[0]; negativeIdsPtr = &m_hasNegativeFeedbackGain[0]; for (dlId2{ 0 }; dlId2 < numPositiveItems; dlId2++) { b += s[*positiveIdsPtr++]; } for (dlId3{ 0 }; dlId3 < numNegativeItems; dlId3++) { c += s[*negativeIdsPtr++]; } a = m_oneOverM * (b - c) + alphaTimesD; delayedSample = m_delayLines[delayLineIndex].getDelayedSample(m_inputBuffer- >at(sampleIndex) + a); filteredSample = m_filters[delayLineIndex]- >filter(delayedSample); updated_v[delayLineIndex] = filteredSample; (*m_outputBuffer)[delayLineIndex][sampleIndex] += filteredSample; } copy(&updated_v[0], m_outputCount, &m_v[0]); copy(&updated_v[0], m_outputCount, &m_v[m_outputCount]); for (outputChannelIndex = 0; outputChannelIndex < m_outputCount; outputChannelIndex++) { (*m_outputBuffer)[outputChannelIndex][sampleIndex] *= outputScaler; } } } In the above example there is a summation of delay lines with their indices in m_hasPositiveFeedbackGain into the accumulator variable b and delay lines with their indices in m_hasNegativeFeedbackGain into the accumulator variable c. In some embodiments the directional configuration, i.e., the spatial position parameters for the reverberator outputs are derived based on D, minimum number of loudspeakers minNumLs, and maximum number of loudspeakers maxNumLs for different reverberators such that they all use a subset of the same basic loudspeaker configuration based on maxNumLs. This is performed by the Directional configuration determiner 413. The method of deriving the directional configuration can be implemented in the following manner in some embodiments. The directional configuration comprises - the Loudspeaker setup ^^^(^), ^^^(^), i = 1, …, numLs to be used for rendering the Directional Reverberant audio signals 206 in the Binaural Render 205. - the number of output channels numLs from the Reverberator 201 - the mapping of the D delay line output channels 201 from the FN to the numLs output channels, that is, outputMapping(d) = j, where j gets values from i = 1, …, numLs In case the reverberator number of output channels (delay lines or delay line loops) D is less than a predermined number of loudspeakers minNumLs such as 15, the number of output channels numLs is set equal to this minNumLs. In some embodiments the process can use the value minNumLs = 15 which enables creating an immersive loudspeaker setup (speakers also on elevated levels, not only on the horizontal plane). Output loudspeaker (LS) directions are created by first obtaining a maximum number of loudspeakers. In the example maxNumLs = 127. Then obtain a number of loudspeaker rings, in the example numRings = 4. The loudspeaker rings in this example correspond to elevation levels of 0, 30, 60, -30 degrees. The elevation level at 0 degrees is the horizontal plane, the elevation level 30 degrees corresponds to 30 degrees up from the horizontal plane, 60 degrees corresponds to a loudspeaker ring at 60 degrees above the horizontal plane, and -30 degrees corresponds to a level 30 degrees below the horizontal plane. Percentages of loudspeakers to be assigned to different rings is then obtained. In an example these are -For numLs >= 127: 0.45, 0.22, 0.11, 0.22 -For numLs >= 15 but less than 127: 0.50, 0.25, 0.0, 0.25 -else: 1, 0, 0, 0 That is, for loudspeaker setups having more loudspeakers the method uses also loudspeakers above or below the horizontal plane. For small loudspeaker setups only loudspeakers on the horizontal plane are used. Loudspeakers are then assigned to different rings. This means that a certain proportion of loudspeakers is assigned to each ring, as defined by the percentages of loudspeakers at different rings. First, allocation of loudspeakers to rings is performed to calculate how many loudspeakers should be assigned at each ring given the maximum number of loudspeakers. Given a total number of loudspeakers numLs, and a proportion (percentage) of loudspeakers for ring p(r), the ring loudspeaker azimuth angle assignments are made at a spacing of 360 / (p(r) * numLs). The elevation is the same for all loudspeakers on a ring. If numLs < maxNumLs, then a subset of the loudspeakers are selected to be used for assigning the output channels. Otherwise all the loudspeaker positions are used. Selecting the subset of loudspeaker positions (for numLs < maxNumLs) can in some embodiments be implemented in the following manner. Percentages of loudspeakers to be assigned to different rings are obtained in a manner similar to above. Then, a fraction of loudspeakers are picked from each ring such that the desired number of loudspeakers is obtained. The ratio of loudspeakers to be assigned to a ring is obtained as the fraction of the number of loudspeakers at a ring to the number of outputs to be assigned to that ring. That is, this step picks every Nth loudspeaker from a ring where N is the ratio of the number of loudspeakers at a ring and the number of outputs to be assigned to it. The remaining step is to assign the D reverb outputs, that is delay lines indexed with d, d = 1, …, D, to different loudspeakers. This can be implemented using a method such as described in UK patent application GB2206430.7 and can be summarised as the following operations: -arrange the delay line lengths in ascending order -select a starting position for the shortest delay line. In this case we select the loudspeaker channel that is closest to full left (azimuth 90, elevation 0). Alternatively, the method could select from full right, or in some other embodiments in alternative ways described in GB2206430.7. -calculate the Euclidean distances from the initial position to the remaining position. Positions are represented in the Cartesian domain (at one meter distance) for the Euclidean distance calculation. -select as the next position the loudspeaker having the largest distance to the initial position -repeat the procedure by finding the loudspeaker having the largest distance from the next position (and which does not yet have an output channel assigned) until all the outputs have been assigned. The output of this step is a loudspeaker assignment ^^^(^), ^^^(^), which lists for each of the output channels (indexed by d) the loudspeaker azimuth and elevation angle. In some embodiments the loudspeaker assignment is selected as a subset of the same loudspeaker setup having a certain maximum number of channels maxNumLs. In some embodiments there could be a maximum of 31 or 63 loudspeakers or other suitable number. In the example above the same basic set of 127 loudspeakers was used. When several acoustic environment reverberators are rendered, each possibly with different number of outputs numLs, then the combined output from the reverberators is formed based on the reverberator having the largest number of outputs largestNumLs. For example, if there are three environments AE1, AE2, and AE3 with reverberators configured at D(AE1) = 3, D(AE2) = 15, and D(AE3) = 31 delay lines, then the combined output will have largestNumLs = 31 outputs. This has the benefit that if there are several reverberators that are rendered in parallel, their outputs can be mixed and rendered from these loudspeakers (or less, depending on how many outputs are active). That is, the number of loudspeakers to be reproduced is not increased from this maximum number largestNumLs which results in computational savings. The output channel positions of the reverberators with 3 and 15 delay lines can be mapped to the outputs of the largest reverberator having 31 delay lines. This can be implemented by calculating the Euclidean distances between the output positions of the smaller reverberator and larger reverberator and assigning each smaller reverberator output to the closest larger reverberator output. The output of this step is outputMapping(d) = j, where j gets values from i = 1, …, numLs. The output of this step is the directional configuration, where outputMapping(d) = 1, j = 1, …, numLs is used to mix the D outputs of the FN 201 into numLs outputs, and the Loudspeaker setup ^^^(^), i = 1, …, numLs is provided to the Binaural renderer 205 for rendering the numLs output signals. The benefit of this approach is that there are no more outputs from the combined reverberator rendering (from all acoustic environments) than the largest reverberator. The outputs of all reverberators are combined (summed) to the joint output channels which amount to the number of outputs of the largest reverberator (the one having the largest number of outputs). If each of the reverberators would obtain a distinct spatial position, then computational complexity during binaural rendering (spatialization) would increase as each spatial output needs to be binauralized via HRTF filtering. Figure 5 shows example operations of the reverberator parameter determiner 203. The first operation is obtaining the number of delay lines D based on the diffuseness (either directly or indirectly – for example from an encoded delay line D value within the bitstream) as shown by 501. Then is shown determining delay line lengths based on the room dimensions and D as shown by 503. Following this is determining delay line attenuation filter parameters based on the delay line lengths, D and ^^60(^) as shown by 505. Then determining reverberation ratio control filter parameters based on the reverberation ratio as shown by 507. After this is determining length of a pre-delay line based on the pre-delay and the delay line lengths as shown by 509. Then is the determination of the feedback matrix calculation as shown by 511. Finally there is determination of the directional configuration based on D, minNumLs, and maxNumLs as shown by 513. Figure 6 shows in further detail the reverberator 201 introduced in Figure 2. As discussed above the reverberator 201 can be used to produce ^ uncorrelated outputs. In some embodiments the reverberator 201 is configured to produce D=15 (or some other determined number for D) outputs which are subsequently encoded to be rendered from different spatial directions defined by the directional configuration. In some embodiments the reverberator 201 comprises a pre-delay line ^^^^^^601, configured to receive and delay the input audio signal. The reverberator 201 also comprises a reverberation ratio control filter GEQratio603 which is configured to receive the pre-delay line output. The reverberator 201 further comprises a number ^ of feedback delay lines ^^^^651 and corresponding feedback delay line attenuation filters GEQd 653. The signals which are output from GEQd 653 are sent to inputs of a feedback matrix ^ 657. ^ signal combiners 654 (adders) sum the outputs of the feedback matrix ^ 657 with the output of GEQratio 603 to be used as inputs to each of the feedback delay lines ^^^^651. The output of the feedback delay line attenuation filters 653 are routed to ^ signal multipliers 661 which in turn output the reverberant audio signals 210. The output of the feedback delay line attenuation filters 653 are also the outputs of the FDN and outputs of the feedback delay line loops. The D feedback delay line loops of the FN thus comprise the adders 654, feedback delay lines 651, and feedback delay line attenuation filters 653. The number of these feedback delay line loops determines the complexity of the FN calculation as the calculations need to be done for each delay line loop in all these elements, and also in the feedback matrix A 657, for each incoming audio sample of Audio signal 200. Thus, in some embodiments the reverberator 201 is configured to receive reverberator parameters which comprise a delay length ^^^^, in samples, for pre- delay line ^^^^^^601, coefficients of a reverberation ratio control filter GEQratio 603, delay lengths ^^for each of ^ feedback delay lines ^^^^651, coefficients for each of ^ feedback delay line attenuation filters GEQd653, and coefficients for the feedback matrix ^ 657. The reverberator parameters also in some embodiments comprise output channel gains ^^which are used to configure ^ signal multipliers 661. In some embodiments the attenuation filter GEQd is a graphic equalizer (EQ) filter using ^ biquad IIR band filters. In the case of octave-band filtering, ^ = 10. Thus, the reverberator parameters corresponding to each graphic EQ filter comprise the feedforward and feedback coefficients for 10 biquad IIR filters, the gains for biquad band filters, and the overall gain. The feedback delay lines ^^^^651 can also be referred as loop delay lines or recirculating delay lines and the feedback delay line attenuation filters GEQd 653 can be referred to as loop filters or recirculating filters. In some embodiments the coefficients of feedback matrix ^ 657 are hardcoded in software code rather than provided as parameters. The reverberator thus comprises multiple recirculating delay lines (also referred as delay line loops) associated with the feedback network (FN) 650. The feedback matrix ^ 657 is used to control the recirculation gain and routing within the network. The feedback delay line attenuation filters GEQd 653 can be implemented in some embodiments as graphic EQ filters implemented as cascades of second-order section IIR filters and can facilitate controlling the energy decay rate at different frequencies. The feedback delay line attenuation filters GEQd 653 furthermore are designed such that they attenuate the signal by the desired amount with each pass through the FN such that the desired reverberation time (RT60) is achieved. With respect to Figure 7 is shown a flow diagram of embodiments in which the delay loop D number is determined in a ‘direct’ manner from the diffuseness values. The first operation is one of receiving or obtaining the diffuseness value such as shown by 701. Then is shown the operation of using a look up table (LUT) to compare diffuseness value against LUT thresholds to generate a delay line count D number such as shown by 703. Furthermore is shown the encoding and / or outputting the delay loop D number 705. Furthermore is shown in Figure 8 a flow diagram of the method of the determination of the delay lengths. The first operation is the obtaining the room dimensions and delay loop number D as shown by 801. Then is shown the defining of basic roomModes as shown by 803. Furthermore is shown the operation of determining delay line lengths based on the roomModes modified by the room dimensions as shown by 805. Then is the operation of outputting the delay line lengths as shown by 807. Furthermore in Figure 9 is shown the method of in which the delay loop D number is determined in a ‘indirect’ manner from the diffuseness values. Thus is shown the operation of obtaining the audio scene information (including reverberation parameters in bitsream or LSDF) such as shown by 901. The audio scene is contained in a bitstream and reverberation parameters either in the bitstream (for VR) or LSDF (for AR). The audio scene contains at least one audio element (object, channel, ambisonics) with a position. Reverberation parameters contain reverberation parameters as described in further detail above and include a parameter such as diffuseness which causes control of reverberator number of delay lines. In some embodiments an alternative parameter related to the number of reverberator delay lines, and thus controlling the reverberator echo density and computational complexity can be provided. Then is the operation of decoding the bitstream (and parse LSDF if it exists) to obtain audio scene and reverberator parameters as shown by 903. The next operation is the configuring reverberator with diffuseness impacting the number of delay lines for a reverberator as shown by 905. The configuring of a reverberator is based on the diffuseness (or the number of delay lines) impacting the reverberator number of delay line loops. Large values of diffuseness (or delay line loops) cause large number of delay lines to be initialized and visa versa. Having configured the reverberator then is the operation of rendering reverberated audio signal to the listener where the number of delay lines impacts the density / diffuseness of reverberation perception for the listener as shown by 907. The rendering of a reverberated signal to the listener where the number of delay line loops in the configured reverberator impacts the density / diffuseness of reverberation perception for the listener. With a high number of delay lines corresponding to higher levels of diffuseness a smoother and denser reverberator perception will be created. With a lower number of diffuseness and number of delay lines a sparser reverberation perception will be created. This means that individual pulses in the beginning of the reverberation can be audible. Generally, the selection of a suitable diffuseness and number of delay lines can be left for the content creator. A suitable value depends on the acoustic parameters (RT60, reverberation level) and the signal content (whether drums or vocals or musical instruments or any other type of sound). Generally, percussive content tends to require a larger number of delay lines and more diffuse reverb than less percussive content. The binaural renderer 205 is configured to receive the directional reverberant audio signals ^^^^(^, ^) and the loudspeaker setup ^^^(^), ^^^(^), i = 1, …, numLs. Based on the loudspeaker setup, an HRTF filter pair ℎ^^^(^, ^^^^, ^) (where ^ is the time index of the filter coefficients and ^^^^, is the index of the binaural channels) is selected for each loudspeaker channel ^. Using the HRTF filter pairs ℎ^^^(^, ^^^^, ^), binaural audio signals can be determined for each channel of the directional reverberant audio signals 206 by where ^ denotes convolution (the filtering may also be performed in the frequency domain in some implementations instead of time-domain convolution). Then, the binaural signals for the different loudspeaker channels ^ are summed in a binaural signal combiner by yielding the reverberant binaural signals ^^^^(^, ^^^^) 208 which is the output of the processing. Figures 10 to 12 depict example impulse response segments of the MPEG- I audio renderer with reverberator configured at 3, 15, and 31 delay lines, respectively. The impulse response gets smoother, that is, it is denser and has less prominent pulses with higher number of delay lines. Figure 13 shows schematically an example system where the embodiments are implemented in an encoder device 1901 which performs part of the functionality; writes data into a bitstream 1921 and transmits that for a renderer device 1941, which decodes the bitstream, performs reverberator processing according to the embodiments and outputs audio for headphone listening. The encoder side 1901 of Figure 13 can be performed on content creator computers and / or network server computers. The output of the encoder is the bitstream 1921 which is made available for downloading or streaming. The decoder / renderer 1941 functionality runs on an end-user-device, which can be a mobile device, personal computer, sound bar, tablet computer, car media system, home HiFi or theatre system, head mounted display for AR or VR, smart watch, or any suitable system for audio consumption. The encoder 1901 is configured to receive the virtual scene description 1900 and the audio signals 1904. The virtual scene description 1900 can be provided in the MPEG-I encoder input format (EIF) or in another suitable format. Generally, the virtual scene description contains an acoustically relevant description of the contents of the virtual scene, and contains, for example, the scene geometry as a mesh or as voxels, acoustic materials, acoustic environments with reverberation parameters, positions of sound sources, and other audio element related parameters such as whether reverberation is to be rendered for an audio element or not. The encoder 1901 in some embodiments comprises a scene and reverberation payload encoder 1913 configured to generate reverberation parameters. The encoder 1901 further comprises a MPEG-H 3D audio encoder 1914 configured to obtain the audio signals 1904 and MPEG-H encode them and pass them to a bitstream encoder 1915. The encoder 1901 furthermore in some embodiments comprises a bitstream encoder 1915 which is configured to receive the output of the scene and reverberation payload encoder 1913 and the encoded audio signals from the MPEG-H encoder 1914 and generate the bitstream 1921 which can be passed to the bitstream decoder 1941. The bitstream 1921 in some embodiments can be streamed to end-user devices or made available for download or stored. The decoder 1941 in some embodiments comprises a bitstream decoder 1951 configured to decode the bitstream. The decoder 1941 further can comprise a scene payload decoder 1953 configured to obtain the encoded reverberation parameters and decode these in an opposite or inverse operation to the reverberation payload encoder 1913. The reverberator parameter determiner 203 / 1952 is configured to receive the decoded reverberation parameters and room dimensions and number of delay lines 1950 information and generate the reverberator control parameters discussed herein. Note that in some embodiments no SRIR is received but reverberator parameters are obtained from the scene payload decoder 1953. Furthermore, the head pose generator 1957 receives information from a head mounted device 1970 or similar and generates head pose information or parameters which can be passed to the binaural renderer 209 / 1959, the early reflection renderer 990 / 1962 and the direct sound binaural renderer 1963. The decoder 1941 comprise MPEG-H 3D audio decoder 1954 which is configured to decode the audio signals and pass them to the reverberators 201 / 1961 and direct sound processing 1965. The decoder 1941 furthermore comprises reverberators 201 / 1961 configured to implement a suitable reverberation of the audio signals from the MPEG-H 3D audio decoder 1954. The output of the reverberators 201 / 1961 is configured to output reverberated audio based on the reverberator parameters to a binaural renderer 209 / 1959. The decoder furthermore comprises an early reflection renderer 990 / 1962 configured to obtain the output of the MPEG-H 3D audio decoder 1954 and generate early reflections as described above and pass these to an early reflection binaural renderer 1999. The decoder further comprises a binaural renderer 209 / 1959 configured to generate binaural reverberant audio signals from the output of the reverberators 201 / 1961. The decoder further comprises an early reflection (ER) binaural renderer 1999 configured to generate binaural early reflection audio signals from the output of the early reflection renderer 990 / 1962. Additionally the decoder / renderer 1941 comprises a direct sound processor 1965 which is configured to receive the decoded audio signals and configured to implement any direct sound processing such as air absorption and distance-gain attenuation and which can be passed to a direct sound binaural renderer 1963 which with the head orientation determination (from a suitable sensor) can generate the direct sound component which with the reverberant component is passed to a binaural signal combiner 1967. The binaural signal combiner 1967 is configured to combine the direct, early reflection, and reverberant parts to generate a suitable output (for example for headphone reproduction). Furthermore, in some embodiments the decoder comprises a head orientation determiner which passes the head orientation information to the head pose generator 1957. As an alternative to transmitting reverberation parameters from the encoder to the renderer it is possible in some embodiments to transmit reverberator parameters in the bitstream. Reverberator parameters refer to the FDN parameters such as delay line lengths, attenuation filters, reverberation ratio control filters, and so on. In some embodiments the assignment of reverberator outputs to loudspeaker channels happens during configuration of the reverberator. The assignment can be stored during configuration and provided to the reverberant signal router. In some embodiments, the output is a multichannel loudspeaker setup (such as 5.1 or 7.1+4 multichannel loudspeaker setup). In that case, the processing proposed in Figure 2 can be modified by using the directions of the actual loudspeakers as the directional configuration ^^^(^), ^^^(^), and omitting the binaural renderer, and reproducing the reverberant audio signals from the corresponding loudspeakers of the loudspeaker setup. Referring to Figure 15, in the case of loudspeaker output, instead of binaural renderer 205 / 1959 there will be loudspeaker renderer (or panner) which in the simplest case will just pass through the loudspeaker signals to a loudspeaker signal combiner which will replace the binaural signal combiner 1967. Correspondingly, the direct sound part and early reflection part are spatialized with a panner such as VBAP implemented instead of the binaural processors. With respect to Figure 14 an example electronic device which may be used as any of the apparatus parts of the system as described above. The device may be any suitable electronics device or apparatus. For example, in some embodiments the device 2000 is a mobile device, user equipment, tablet computer, computer, audio playback apparatus, etc. The device may for example be configured to implement the encoder or the renderer or any functional block as described above. In some embodiments the device 2000 comprises at least one processor or central processing unit 2007. The processor 2007 can be configured to execute various program codes such as the methods described herein. In some embodiments the device 2000 comprises a memory 2011. In some embodiments the at least one processor 2007 is coupled to the memory 2011. The memory 2011 can be any suitable storage means. In some embodiments the memory 2011 comprises a program code section for storing program codes implementable upon the processor 2007. Furthermore, in some embodiments the memory 2011 can further comprise a stored data section for storing data, for example data that has been processed or to be processed in accordance with the embodiments as described herein. The implemented program code stored within the program code section and the data stored within the stored data section can be retrieved by the processor 2007 whenever needed via the memory-processor coupling. In some embodiments the device 2000 comprises a user interface 2005. The user interface 2005 can be coupled in some embodiments to the processor 2007. In some embodiments the processor 2007 can control the operation of the user interface 2005 and receive inputs from the user interface 2005. In some embodiments the user interface 2005 can enable a user to input commands to the device 2000, for example via a keypad. In some embodiments the user interface 2005 can enable the user to obtain information from the device 2000. For example, the user interface 2005 may comprise a display configured to display information from the device 2000 to the user. The user interface 2005 can in some embodiments comprise a touch screen or touch interface capable of both enabling information to be entered to the device 2000 and further displaying information to the user of the device 2000. In some embodiments the user interface 2005 may be the user interface for communicating. In some embodiments the device 2000 comprises an input / output port 2009. The input / output port 2009 in some embodiments comprises a transceiver. The transceiver in such embodiments can be coupled to the processor 2007 and configured to enable a communication with other apparatus or electronic devices, for example via a wireless communications network. The transceiver or any suitable transceiver or transmitter and / or receiver means can in some embodiments be configured to communicate with other electronic devices or apparatus via a wire or wired coupling. The transceiver can communicate with further apparatus by any suitable known communications protocol. For example, in some embodiments the transceiver can use a suitable universal mobile telecommunications system (UMTS) protocol, a wireless local area network (WLAN) protocol such as for example IEEE 802.X, a suitable short-range radio frequency communication protocol such as Bluetooth, or infrared data communication pathway (IRDA). The input / output port 2009 may be configured to receive the signals. In some embodiments the device 2000 may be employed as at least part of the renderer. The input / output port 2009 may be coupled to headphones (which may be a headtracked or a non-tracked headphones) or similar. In general, the various embodiments of the invention may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof. The embodiments of this invention may be implemented by computer software executable by a data processor of the mobile device, such as in the processor entity, or by hardware, or by a combination of software and hardware. Further in this regard it should be noted that any blocks of the logic flow as in the Figures may represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. The software may be stored on such physical media as memory chips, or memory blocks implemented within the processor, magnetic media such as hard disk or floppy disks, and optical media such as for example DVD and the data variants thereof, CD. The memory may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The data processors may be of any type suitable to the local technical environment, and may include one or more of general-purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASIC), gate level circuits and processors based on multi-core processor architecture, as non-limiting examples. Embodiments of the inventions may be practiced in various components such as integrated circuit modules. The design of integrated circuits is by and large a highly automated process. Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate. Programs, such as those provided by Synopsys, Inc. of Mountain View, California and Cadence Design, of San Jose, California automatically route conductors and locate components on a semiconductor chip using well established rules of design as well as libraries of pre-stored design modules. Once the design for a semiconductor circuit has been completed, the resultant design, in a standardized electronic format (e.g., Opus, GDSII, or the like) may be transmitted to a semiconductor fabrication facility or "fab" for fabrication. As used in this application, the term “circuitry” may refer to one or more or all of the following: (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and (b) combinations of hardware circuits and software, such as (as applicable): (i) a combination of analog and / or digital hardware circuit(s) with software / firmware and (ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and I hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation. This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device. The term “non-transitory,” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal ) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM). As used herein, “at least one of the following: ” and “at least one of ” and similar wording, where the list of two or more elements are joined by “and” or “or”, mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements The foregoing description has provided by way of exemplary and non-limiting examples a full and informative description of the exemplary embodiment of this invention. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings of this invention will still fall within the scope of this invention as defined in the appended claims.
Claims
CLAIMS:
1. A method for producing reverberation for rendering at least one audio signal, the method comprising: obtaining the at least one audio signal of an audio scene; obtaining at least one reverberation delay line parameter for the audio scene; configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generating at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal.
2. The method as claimed in claim 1, such that the delay line parameter furthermore controls a density or diffuseness of the at least one reverberated audio signal.
3. The method as claimed in claim 1, wherein obtaining at least one reverberation delay line parameter comprises: obtaining an encoded number of delay line loops; and decoding the encoded number of delay line loops to provide the number of delay lines.
4. The method as claimed in claim 3, wherein the encoded number of delay line loops is a Huffman encoded representation of the number.
5. The method as claimed in any of claims 1 to 4, wherein obtaining at least one reverberation delay line parameter comprises: obtaining a diffusion and / or density parameter; and determining the number of delay lines based on the obtained diffusion and / or density parameter.
6. The method as claimed in claim 5, wherein determining the number of delay lines based on the obtained diffusion and / or density parameter comprises using a look up table to obtain the number of delay lines from the obtained diffusion or density parameter.
7. The method as claimed in any of claims 1 to 6, wherein obtaining at least one reverberation delay line parameter comprises: determining a processing or memory capacity associated with apparatus implementing the digital reverberator; and determining the number of delay lines based on the processing or memory capacity associated with apparatus implementing the digital reverberator.
8. The method as claimed in any of claims 1 to 7, further comprising: obtaining at least one reverberation parameter, wherein the at least one reverberation parameter comprises at least one of: a delay line length parameter; a delay line length attenuation filter parameter; a reverberation ratio control filter parameter; a pre-delay line delay parameter; a feedback matrix coefficient parameter; and a directional configuration parameter.
9. The method as claimed in claim 8, further comprising configuring a digital reverberator based on the number of delay lines and the at least one reverberation parameter.
10. The method as claimed in any of claims 1 to 9, wherein configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter comprises configuring a digital reverberator with a set of the number of delay lines comprising positive feedback gain and the remainder of the number of delay lines comprising negative feedback gain, wherein the set is defined based on the at least one reverberation delay line parameter.
11. The method as claimed in claim 10, wherein the at least one reverberation delay line parameter comprises one or both of: a first feedback delay line parameter indicating indices of positive feedback delay lines; and a second feedback delay line parameter indicating indices of negative feedback delay lines.
12. The method as claimed in any of claims 1 to 11, wherein configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter comprises: configuring a first digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and configuring a second digital reverberator with a second, and smaller, number of delay lines, wherein the second digital reverberator output channel positions are mapped to the output positions of the first digital reverberator.
13. A method for assisting producing of reverberation for rendering at least one audio signal for an audio scene, the method comprising: obtaining a diffusion and / or density parameter; determining a number of delay lines based on the obtained diffusion and / or density parameter; and encoding the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter.
14. The method as claimed in claim 13, wherein determining the number of delay lines based on the obtained diffusion and / or density parameter comprises using a look up table to obtain the number of delay lines from the obtained diffusion or density parameter.
15. The method as claimed in any of claims 13 or 14, wherein encoding the defined number of delay lines as at least one reverberation delay line parameter comprises Huffman encoding the number of delay lines.
16. An apparatus comprising means for performing the method of any of claims 1 to 15.
17. A computer program comprising instructions, which, when executed by an apparatus, cause the apparatus to perform the method of any of claims 1 to 15.
18. An apparatus for producing reverberation for rendering at least one audio signal, the apparatus comprising means configured to: obtain the at least one audio signal of an audio scene; obtain at least one reverberation delay line parameter for the audio scene; configure a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generate at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal.
19. An apparatus for assisting producing of reverberation for rendering at least one audio signal for an audio scene, the apparatus comprising means configured to: obtain a diffusion and / or density parameter; determine a number of delay lines based on the obtained diffusion and / or density parameter; and encode the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter.
20. An apparatus for producing reverberation for rendering at least one audio signal, the apparatus comprising at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the system at least to: obtain the at least one audio signal of an audio scene; obtain at least one reverberation delay line parameter for the audio scene; configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter; and generating at least one reverberated audio signal using the digital reverberator output and the at least one audio signal to achieve late reverberation during rendering the at least one audio signal within the audio scene, where the late reverberation is controlled by the at least one reverberation delay line parameter, such that the delay line parameter controls density of the at least one reverberated audio signal.
21. An apparatus for assisting producing of reverberation for rendering at least one audio signal for an audio scene, the apparatus comprising at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the system at least to: obtain a diffusion and / or density parameter; determine a number of delay lines based on the obtained diffusion and / or density parameter; and encode the number of delay lines as at least one reverberation delay line parameter for configuring a digital reverberator with a number of delay lines based on the at least one reverberation delay line parameter.