The present invention relates to the field of audio encoding/decoding, especially to spatial audio coding and spatial audio object coding, e.g. the field of 3D audio codec systems. Embodiments of the invention relate to a method for processing an audio signal in accordance with a room impulse response, to a signal processing unit, a binaural renderer, an audio encoder and an audio decoder.
Spatial audio coding tools are well-known in the art and are standardized, for example, in the MPEG-surround standard. Spatial audio coding starts from a plurality of original input, e.g., five or seven input channels, which are identified by their placement in a reproduction setup, e.g., as a left channel, a center channel, a right channel, a left surround channel, a right surround channel and a low frequency enhancement channel. A spatial audio encoder may derive one or more downmix channels from the original channels and, additionally, may derive parametric data relating to spatial cues such as interchannel level differences in the channel coherence values, interchannel phase differences, interchannel time differences, etc. The one or more downmix channels are transmitted together with the parametric side information indicating the spatial cues to a spatial audio decoder for decoding the downmix channels and the associated parametric data in order to finally obtain output channels which are an approximated version of the original input channels. The placement of the channels in the output setup may be fixed, e.g., a 5.1 format, a 7.1 format, etc.
Also, spatial audio object coding tools are well-known in the art and are standardized, for example, in the MPEG SAOC standard (SAOC=spatial audio object coding). In contrast to spatial audio coding starting from original channels, spatial audio object coding starts from audio objects which are not automatically dedicated for a certain rendering reproduction setup. Rather, the placement of the audio objects in the reproduction scene is flexible and may be set by a user, e.g., by inputting certain rendering information into a spatial audio object coding decoder. Alternatively or additionally, rendering information may be transmitted as additional side information or metadata; rendering information may include information at which position in the reproduction setup a certain audio object is to be placed (e.g. over time). In order to obtain a certain data compression, a number of audio objects is encoded using an SAOC encoder which calculates, from the input objects, one or more transport channels by downmixing the objects in accordance with certain downmixing information. Furthermore, the SAOC encoder calculates parametric side information representing inter-object cues such as object level differences (OLD), object coherence values, etc. As in SAC (SAC=Spatial Audio Coding), the inter object parametric data is calculated for individual time/frequency tiles. For a certain frame (for example, 1024 or 2048 samples) of the audio signal a plurality of frequency bands (for example 24, 32, or 64 bands) are considered so that parametric data is provided for each frame and each frequency band. For example, when an audio piece has 20 frames and when each frame is subdivided into 32 frequency bands, the number of time/frequency tiles is 640.
In 3D audio systems it may be desired to provide a spatial impression of an audio signal as if the audio signal is listened to in a specific room. In such a situation, a room impulse response of the specific room is provided, for example on the basis of a measurement thereof, and is used for processing the audio signal upon presenting it to a listener. It may be desired to process the direct sound and early reflections in such a presentation separated from the late reverberation.
It is the object underlying the present invention to provide an approved approach for separately processing the audio signal with an early part and a late reverberation of the room impulse response allowing to achieve a result being perceptually as far as possible identical to the result of a convolution of the audio signal with the complete impulse response.
According to an embodiment, a method for processing an audio signal in accordance with a room impulse response may have the steps of: separately processing the audio signal with an early part and a synthetic reverberation of the room impulse response, wherein processing the audio signal with the synthetic reverberation has generating a scaled reverberated signal, the scaling being dependent on the audio signal; and combining the audio signal processed with the early part of the room impulse response and the scaled reverberated signal.
Another embodiment may have a non-transitory digital storage medium having a computer program stored thereon to perform the method for processing an audio signal in accordance with a room impulse response having the steps of: separately processing the audio signal with an early part and a late reverberation of the room impulse response, wherein processing the late reverberation has generating a scaled reverberated signal, the scaling being dependent on the audio signal; and combining the audio signal processed with the early part of the room impulse response and the scaled reverberated signal, when said computer program is run by a computer.
According to another embodiment, a signal processing unit may have: an input for receiving an audio signal, an early part processor for processing the received audio signal in accordance with an early part of a room impulse response, a late reverberation processor for processing the received audio signal in accordance with a synthetic reverberation of the room impulse response, the late reverberation processor configured to generate a scaled reverberated signal, the scaling being dependent on the received audio signal; and an output for combining the processed early part of the received audio signal and the scaled reverberated signal into an output audio signal.
Another embodiment may have a binaural renderer having the inventive signal processing unit.
Another embodiment may have an audio encoder for coding audio signals, having: the inventive signal processing unit or a binaural renderer having the signal processing unit for processing the audio signals prior to coding.
Another embodiment may have an audio decoder for decoding encoded audio signals, having: an inventive signal processing unit or a binaural renderer having the signal processing unit for processing the decoded audio signals.
The present invention is based on the inventor's findings that in conventional approaches a problem exists in that upon processing of the audio signal in accordance the room impulse response the result of processing the audio signal separately with regard to the early part and the reverberation deviates from a result when applying a convolution with a complete impulse response. The invention is further based on the inventor's findings that an adequate level of reverberation depends on both the input audio signal and the impulse response, because the influence of the input audio signal on the reverberation is not fully preserved when, for example, using a synthetic reverberation approach. The influence of the impulse response may be considered by using known reverberation characteristics as input parameter. The influence of the input signal may be considered by a signal-dependent scaling for adapting the level of reverberation that is determined on the basis of the input audio signal. It has been found that by this approach the perceived level of the reverberation matches better the level of reverberation when using the full-convolution approach for the binaural rendering.
When compared to conventional approaches described above, the inventive approach is advantageous as it allows scaling the late reverberation without the need to calculate the full-convolutional result or without the need of applying an extensive and non-exact hearing model. Embodiments of the inventive approach provide an easy method to scale artificial late reverberation such that it sounds like the reverberation in a full-convolutional approach. The scaling is based on the input signal and no additional model of hearing or target reverberation loudness is needed. The scaling factor may be derived in a time frequency domain which is an advantage because also the audio material in the encoder/decoder chain is often available in this domain.
This is advantageous because the scaling can be easily determined from the input audio signal with a reduced computational overhead. For example, the scaling can be determined by simply determining the number of channels in the original audio signal that are downmixed to a currently considered downmix channel including a reduced number of channels when compared to the original audio signal. Alternatively, the number of active channels (channels showing some activity in a current audio frame) downmixed to the currently considered downmix channel may form the basis for scaling the reverberated signal.
Using a predefined correlation measure is advantageous as it reduces the computational complexity in the process. The predefined correlation measure may have a fixed value, e.g. in the range of 0.1 to 0.9, that may be determined empirically on the basis of an analysis of a plurality of audio signals. On the other hand, calculating the correlation measure is advantageous, despite the additional computational resources needed, in case it is desired to obtain a more precise measure for the currently processed audio signal individually.
This is advantageous because the gain factor can be easily calculated on the basis of the above parameters and can be applied flexibly with respect to the reverberator in the processing chain dependent of the implementation specifics.
g=c
u+ρ·(cc−cu)
This is advantageous because the factor scales over time with the number of active channels in the audio signal.
This is advantageous because the factor is directly dependent on the number of active channels in the audio signal. If no channels are active, then the reverberation is scaled with zero, if more channels are active the amplitude of the reverberation gets bigger.
This is advantageous because no abrupt changes occur for the scaling factor over time.
This is advantageous because the correlation can be described by one single value that describes the overall correlation of one audio frame. There is no need to handle multiple frequency-dependent values.
This is advantageous because, as mentioned above, just one single overall correlation value per frame is calculated (easy handling) and the calculation can be done similar to the “standard” Pearson's correlation coefficient, which also uses zero-mean signals and their standard deviations.
This is advantageous because the well-known formula for the Pearsons's correlation coefficient may be used and is transformed to a frequency- and time-dependent formula.
This is advantageous because the processing, e.g., in a reverberator, needs to handle less channels and the downmix process can directly be controlled.
Embodiments of the present invention will be described with regard to the accompanying drawings, in which:
Embodiments of the inventive approach will now be described. The following description will start with a system overview of a 3D audio codec system in which the inventive approach may be implemented.
In an embodiment of the present invention, the encoding/decoding system depicted in
The algorithm blocks for the overall 3D audio system shown in
The pre-renderer/mixer 102 may be optionally provided to convert a channel plus object input scene into a channel scene before encoding. Functionally, it is identical to the object renderer/mixer that will be described below. Pre-rendering of objects may be desired to ensure a deterministic signal entropy at the encoder input that is basically independent of the number of simultaneously active object signals. With pre-rendering of objects, no object metadata transmission is required. Discrete object signals are rendered to the channel layout that the encoder is configured to use. The weights of the objects for each channel are obtained from the associated object metadata (OAM).
The USAC encoder 116 is the core codec for loudspeaker-channel signals, discrete object signals, object downmix signals and pre-rendered signals. It is based on the MPEG-D USAC technology. It handles the coding of the above signals by creating channel-and object mapping information based on the geometric and semantic information of the input channel and object assignment. This mapping information describes how input channels and objects are mapped to USAC-channel elements, like channel pair elements (CPEs), single channel elements (SCEs), low frequency effects (LFEs) and quad channel elements (QCEs) and CPEs, SCEs and LFEs, and the corresponding information is transmitted to the decoder. All additional payloads like SAOC data 114, 118 or object metadata 126 are considered in the encoder's rate control. The coding of objects is possible in different ways, depending on the rate/distortion requirements and the interactivity requirements for the renderer. In accordance with embodiments, the following object coding variants are possible:
The SAOC encoder 112 and the SAOC decoder 220 for object signals may be based on the MPEG SAOC technology. The system is capable of recreating, modifying and rendering a number of audio objects based on a smaller number of transmitted channels and additional parametric data, such as OLDs, IOCs (Inter Object Coherence), DMGs (Down Mix Gains). The additional parametric data exhibits a significantly lower data rate than necessitated for transmitting all objects individually, making the coding very efficient. The SAOC encoder 112 takes as input the object/channel signals as monophonic waveforms and outputs the parametric information (which is packed into the 3D-Audio bitstream 128) and the SAOC transport channels (which are encoded using single channel elements and are transmitted). The SAOC decoder 220 reconstructs the object/channel signals from the decoded SAOC transport channels 210 and the parametric information 214, and generates the output audio scene based on the reproduction layout, the decompressed object metadata information and optionally on the basis of the user interaction information.
The object metadata codec (see OAM encoder 124 and OAM decoder 224) is provided so that, for each object, the associated metadata that specifies the geometrical position and volume of the objects in the 3D space is efficiently coded by quantization of the object properties in time and space. The compressed object metadata cOAM 126 is transmitted to the receiver 200 as side information.
The object renderer 216 utilizes the compressed object metadata to generate object waveforms according to the given reproduction format. Each object is rendered to a certain output channel according to its metadata. The output of this block results from the sum of the partial results. If both channel based content as well as discrete/parametric objects are decoded, the channel based waveforms and the rendered object waveforms are mixed by the mixer 226 before outputting the resulting waveforms 228 or before feeding them to a postprocessor module like the binaural renderer 236 or the loudspeaker renderer module 232.
The binaural renderer module 236 produces a binaural downmix of the multichannel audio material such that each input channel is represented by a virtual sound source. The processing is conducted frame-wise in the QMF (Quadrature Mirror Filterbank) domain, and the binauralization is based on measured binaural room impulse responses.
The loudspeaker renderer 232 converts between the transmitted channel configuration 228 and the desired reproduction format. It may also be called “format converter”. The format converter performs conversions to lower numbers of output channels, i.e., it creates downmixes.
As has been described above, in a binaural renderer, for example a binaural renderer as it is depicted in
In a binaural renderer, as mentioned above, it may be desired to process the direct sound and early reflections separate from the late reverberation, mainly because of the reduced computational complexity. The processing of the direct sound and early reflections may, for example, be imprinted to the audio signal by a convolutional approach carried out by the processor 406 (see
This processing is also described in known technology reference [1]. The result of the above described approach should be perceptually as far as possible identical to the result of a convolution of the complete impulse response, the full-conversion approach described with regard to
However, it has been found out that despite these input parameters provided to the reverberator, the influence of the input audio signal on the reverberation is not fully preserved when using a synthetic reverberation approach as is described with regard to
So far, there are no known approaches that compare the amount of late reverberation with the results of the full-convolutional approach or match it to the convolutional result. There are some techniques that try to rate the quality of late reverberation or how natural it sounds. For example, in one method a loudness measure for natural sounding reverberation is defined, which predicts the perceived loudness of reverberation using a loudness model. This approach is described in known technology reference [2], and the level can be fitted to a target value. The disadvantage of this approach is that it relies on a model of human hearing which is complicated and not exact. It also needs a target loudness to provide a scaling factor for the late reverberation that could be found using the full-convolution result.
In another method described in known technology reference [3] a cross-correlation criterion for artificial reverberation quality testing is used. However, this is only applicable for testing different reverberation algorithms, but not for multichannel audio, not for binaural audio and not for qualifying the scaling of late reverberation.
Another possible approach is to use of the number of input channels at the considered ear as a scaling factor, however this does not give a perceptually correct scaling, because the perceived amplitude of the overall sound signal depends on the correlation of the different audio channels and not just on the number of channels.
Therefore, in accordance with the inventive approach a signal-dependent scaling method is provided which adapts the level of reverberation according to the input audio signal. As mentioned above, the perceived level of the reverberation is desired to match with the level of reverberation when using the full-convolution approach for the binaural rendering, and the determination of a measure for an adequate level of reverberation is therefore important for achieving a good sound quality. In accordance with embodiments, an audio signal is separately processed with an early part and a late reverberation of the room impulse response, wherein processing the late reverberation comprises generating a scaled reverberated signal, the scaling being dependent on the audio signal. The processed early part of the audio signal and the scaled reverberated signal are combined into the output signal. In accordance with one embodiment the scaling is dependent on the condition of the one or more input channels of the audio signal (e.g. the number of input channels, the number of active input channels and/or the activity in the input channel). In accordance another embodiment the scaling is dependent on a predefined or calculated correlation measure for the audio signal. Alternative embodiments may perform the scaling based on a combination of the condition of the one or more input channels and the predefined or calculated correlation measure.
In accordance with embodiments the scaled reverberated signal may be generated by applying a gain factor that is determined based on the condition of the one or more input channels of the audio signal, or based on the predefined or calculated correlation measure for the audio signal, or based on a combination thereof.
In accordance with embodiments, separate processing the audio signal comprises processing the audio signal with the early reflection part 301, 302 of the room impulse response 300 during a first process, and processing the audio signal with the diffuse reverberation 304 of the room impulse response 300 during a second process that is different and separate from the first process. Changing from the first process to the second process occurs at the transition time. In accordance with further embodiments, in the second process the diffuse (late) reverberation 304 may be replaced by a synthetic reverberation. In this case the room impulse response applied to the first process contains only the early reflection part 300, 302 (see
In the following an embodiment of the inventive approach will be described in further detail in accordance with which the gain factor is calculated on the basis of a correlation analysis of the input audio signal.
The reverberation branch 512 further includes a correlation analysis processor 524 that receives the input signal 504 and generates a gain factor g at its output. Further, a gain stage 526 is provided that is coupled between the reverberator 514 and the adder 510. The gain stage 526 is controlled by the gain factor g, thereby generating at the output of the gain stage 526 the scaled reverberated signal rg [k] that is applied to the adder 510. The adder 510 combines the early processed part and the reverberated signal to provide the output signal y[k]which also includes two channels. Optionally, the reverberation branch 512 may comprise a low pass filter 528 coupled between the processor 524 and the gain stage for smoothing the gain factor over a number of audio frames. Optionally, a delay element 530 may also be provided between the output of the gain stage 526 and the adder 510 for delaying the scaled reverberated signal such that it matches a transition between the early reflection and the reverberation in the room impulse response.
As described above,
The multichannel binaural renderer depicted in
For calculating the scaling factors, a correlation measure is introduced that is based on the correlation coefficient and in accordance with embodiments, is defined in a two-dimensional time-frequency domain, for example the QMF domain. A correlation value between −1 and 1 is calculated for each multi-dimensional audio frame, each audio frame being defined by a number of frequency bands N, a number of time slots M per frame, and a number of audio channels A. One scaling factor per frame per ear is obtained.
In the following, an embodiment of the invention approach will be described in further detail. First of all, reference is made to the correlation measure used in the correlation analysis processor 524 of
where
This processing in accordance with the described embodiment is transferred to two dimensions in a time-frequency domain, for example the QMF-domain. The two dimensions are the time slots and the QMF bands. This approach is reasonable, because the data is often encoded and transmitted also in the time-frequency domain. The expectation operator is replaced with a mean operation over several time and/or frequency samples so that the time-frequency correlation measure between two zero-mean variables xm, xn in the range of (0, 1) is defined as follows:
where
After the calculation of this coefficient for a plurality of channel combinations (m, n) of one audio frame, the values of ρ[m, n, ti ] are combined to a single correlation measure ρm (ti) by taking the mean of (or averaging) a plurality of correlation values ρ[m,n,ti ]. It is noted that the audio frame may comprise 32 QMF time slots, and ti indicates the respective audio frame. The above processing may be summarized for one audio frame as follows:
In accordance with the above described embodiment the scaling was determined based on the calculated correlation measure for the audio signal. This is advantageous, despite the additional computational resources needed, e.g., when it is desired to obtain the correlation measure for the currently processed audio signal individually.
However, the present invention is not limited to such an approach. In accordance with other embodiments, rather that calculating the correlation measure also a predefined correlation measure may be used. Using a predefined correlation measure is advantageous as it reduces the computational complexity in the process. The predefined correlation measure may have a fixed value, e.g. 0.1 to 0.9, that may be determined empirically on the basis of an analysis of a plurality of audio signals. In such a case the correlation analysis 524 may be omitted and the gain of the gain stage may be set by an appropriate control signal.
In accordance with other embodiments the scaling may be dependent on the condition of the one or more input channels of the audio signal (e.g. the number of input channels, the number of active input channels and/or the activity in the input channel). This is advantageous because the scaling can be easily determined from the input audio signal with a reduced computational overhead. For example, the scaling can be determined by simply determining the number of channels in the original audio signal that are downmixed to a currently considered downmix channel including a reduced number of channels when compared to the original audio signal. Alternatively, the number of active channels (channels showing some activity in a current audio frame) downmixed to the currently considered downmix channel may form the basis for scaling the reverberated signal. this may be done in the block 524.
In the following, an embodiment will be described in detail determining the scaling of the reverberated signal on the basis of the condition of the one or more input channels of the audio signal and on the basis of a correlation measure (either fixed or calculated as above described). In accordance with such an embodiment, the gain factor or gain or scaling factor g is defined as follows:
where
cu is the factor that is applied if the downmixed channels are totally uncorrelated (no inter-channel dependencies). In case of using only the condition of the one or more input channels g=cu and the predefined fixed correlation coefficient is set to zero. cc is the factor that is applied if the downmixed channels are totally correlated (signals are weighted versions (plus phase-shift and offset) of each other's). In case of using only the condition of the one or more input channels g=cc and the predefined fixed correlation coefficient is set to one. These factors describe the minimum and maximum scaling of the late reverberation in the audio frame (depending on the number of (active) channels).
The “channel number” Kin is defined, in accordance with embodiments, as follows: A multichannel audio signal is downmixed to a stereo downmix using a downmix matrix 0 that defines which input channels are included in which downmix channel (size M×2, with M being the number of input channels of the audio input material, e.g. 6 channels for a 5.1 setup).
An example for the downmix matrix 0 may be as follows:
For each of the two downmix channels the scaling coefficient is calculated as follows:
g=f(cc, cu, ρav)=cu+ρav·(cc−cu)
with ρav being the average/mean value of all correlation coefficients ρ[m, n] for a number of Kin·Kin channel combinations [m, n] and cc, cu being dependent on the channel number Kin, which may be as follows:
An audio channel (in a predefined frame) may be considered active in case it has an amplitude or an energy within the predefined frame that exceeds a preset threshold value, e.g., in accordance with embodiments, an activity in an audio channel (in a predefined frame) may be defined as follows:
Instead of zero also another threshold (relative to the maximum energy or amplitude) bigger than zero may be used, e.g. a threshold of 0.01.
In accordance with embodiments, a gain factor for each ear is provided which depends on the number of active (time-varying) or the fixed number of included channels (downmix matrix unequal to zero) Kin in the downmix channel. It is assumed that the factor linearly increases between the totally uncorrelated and the totally correlated case. Totally uncorrelated means no inter-channel dependencies (correlation value is zero) and totally correlated means the signals are weighted versions of each other's (with phase difference of offset, correlation value is one).
As mentioned above, the gain or scaling factor g may be smoothed over the audio frames by the low pass filter 528. The low pass filter 528 may have a time constant of ts which results in a smoothed gain factor of gS(t) for a frame size k as follows:
where
The frame size k may be the size of an audio frame in time domain samples, e.g. 2048 samples.
The left channel reverbed signal of the audio frame x(ti) is then scaled by the factor gs,left(ti) and the right channel reverbed signal is scaled by the factor gs,right(ti). The scaling factor is once calculated with Kin as the number of (active non-zero or total number of) channels that are present in the left channel of the stereo downmix that is fed to the reverberator resulting in the scaling factor gs,left(ti). Then the scaling factor is calculated once more with Kin as the number of (active non-zero or total number of) channels that are present in the right channel of the stereo downmix that is fed to the reverberator resulting in the scaling factor gs,right(ti). The reverberator gives back a stereo reverberated version of the audio frame. The left channel of the reverberated version (or the left channel of the input of the reverberator) is scaled with gs,left(ti) and the right channel of the reverberated version (or the right channel of the input of the reverberator) is scaled with gs,right(ti).
The scaled artificial (synthetic) late reverberation is applied to the adder 510 to be added to the signal 506 which has been processed with the direct sound and the early reflections.
As mentioned above, the inventive approach, in accordance with embodiments may be used in a binaural processor for binaural processing of audio signals. In the following an embodiment of binaural processing of audio signals will be described. The binaural processing may be carried out as a decoder process converting the decoded signal into a binaural downmix signal that provides a surround sound experience when listened to over headphones.
The binaural renderer module 800 (e.g., the binaural renderer 236 of
Audio signals 802 that are fed into the binaural renderer module 800 are referred to as input signals in the following. Audio signals 830 that are the result of the binaural processing are referred to as output signals. The input signals 802 of the binaural renderer module 800 are audio output signals of the core decoder (see for example signals 228 in
(·)
(·)
The processing of the input signal is now described. The binaural renderer module operates on contiguous, non-overlapping frames of length L=2048 time domain samples of the input audio signals and outputs one frame of L samples per processed input frame of length L.
The initialization of the binaural processing block is carried out before the processing of the audio samples delivered by the core decoder (see for example the decoder of 200 in
The reverberator module 816a, 816b takes a frequency-dependent set of reverberation times 808 and energy values 810 as input parameters. These values are read from an interface at the initialization of the binaural processing module 800. In addition the transition time 832 from early reflections to late reverberation in time domain samples is read. The values may be stored in a binary file written with 32 bit per sample, float values, little-endian ordering. The read values that are needed for the processing are stated in the table below:
The binaural room impulse responses 804 are read from two dedicated files that store individually the left and right ear BRIRs. The time domain samples of the BRIRs are stored in integer wave-files with a resolution of 24 bit per sample and 32 channels. The ordering of BRIRs in the file is as stated in the following table:
If there is no BRIR measured at one of the loudspeaker positions, the corresponding channel in the wave file contains zero-values. The LFE channels are not used for the binaural processing.
As a preprocessing step, the given set of binaural room impulse responses (BRIRs) is transformed from time domain filters to complex-valued QMF domain filters. The implementation of the given time domain filters in the complex-valued QMF domain is carried out according to ISO/IEC FDIS 23003-1:2006, Annex B. The prototype filter coefficients for the filter conversion are used according to ISO/IEC FDIS 23003-1:2006, Annex B, Table B.1. The time domain representation {tilde over (h)}chv=[{tilde over (h)}1v . . . {tilde over (h)}N
The audio processing block of the binaural renderer module 800 obtains time domain audio samples 802 for Nin input channels from the core decoder and generates a binaural output signal 830 consisting of Nout=2 channels.
The processing takes as input
As the first processing step, the binaural renderer module transforms L=2048 time domain samples of the Nin-channel time domain input signal (coming from the core decoder) [{tilde over (y)}ch,1v . . . {tilde over (y)}ch,N
A QMF analysis as outlined in ISO/IEC 14496-3:2009, subclause 4.6.18.2 with the modifications stated in ISO/IEC 14496-3:2009, subclause 8.6.4.2. is performed on a frame of the time domain signal {tilde over (y)}chv to gain a frame of the QMF domain signal [ŷch,1n,k . . . ŷch,N
Next, a bandwise fast convolution 812 is carried out to process the QMF domain audio signal 802 and the QMF domain BRIRs 804. A FFT analysis may be carried out for each QMF frequency band k for each channel of the input signal 802 and each BRIR 804.
Due to the complex values in the QMF domain one FFT analysis is carried out on the real part of the QMF domain signal representation and one FFT analysis on the imaginary parts of the QMF domain signal representation. The results are then combined to form the final bandwise complex-valued pseudo-FFT domain signal
y̆
ch
n′,k=FFT(ŷchn′,k)=FFT((ŷchn′,k))+j·FFT((ŷchn′,k))
and the bandwise complex-valued BRIRs
h̆
1
n′,k=FFT(ĥ1n′,k)=FFT((ĥ1n′,k))+j·FFT((ĥ1n′,k)) for the left ear
h̆
2
n′,k=FFT(ĥ2n′,k)=FFT((ĥ2n′,k))+j·FFT((ĥ2n′,k)) for the right ear
The length of the FFT transform is determined according to the length of the complex valued QMF domain BRIR filters Ltrans,n and the frame length in QMF domain time slots Ln such that
L
FFT
=L
trans,n
+L
n−1.
The complex-valued pseudo-FFT domain signals are then multiplied with the complex-valued pseudo-FFT domain BRIR filters to form the fast convolution results. A vector mconv is used to signal which channel of the input signal corresponds to which BRIR pair in the BRIR data set.
This multiplication is done bandwise for all QMF frequency bands k with 1≤k≤K max . The maximum band Kmax is determined by the QMF band representing a frequency of either 18 kHz or the maximal signal frequency that is present in the audio signal from the core decoder
f
max=min(fmax,decoder, 18 kHz).
The multiplication results from each audio input channel with each BRIR pair are summed up in each QMF frequency band k with 1≤k≤Kmax resulting in an intermediate 2-channel Kmax-band pseudo-FFT domain signal.
are the pseudo-FFT convolution result z̆ch,convn′,k=[z̆ch,1,convn′,k, z̆ch,2,convn′,k] in the QMF domain frequency band k.
Next, a bandwise FFT synthesis is carried out to transform the convolution result back to the QMF domain resulting in an intermediate 2-channel Kmax-band QMF domain signal with LFFT time slots {circumflex over (z)}ch,convn,k=[{circumflex over (z)}ch,1,convn,k, {circumflex over (z)}ch,2,convn,k] with 1≤n≤LFFT, and 1≤k≤Kmax.
For each QMF domain input signal frame with L=32 timeslots a convolution result signal frame with L=32 timeslots is returned. The remaining LFFT−32 timeslots are stored and an overlap-add processing is carried out in the following frame(s).
As a second intermediate signal 826a, 826b a reverberation signal called {circumflex over (z)}ch,revn,k=[{circumflex over (z)}ch,1,revn,k, {circumflex over (z)}ch,2,revn,k] is generated by a frequency domain reverberator module 816a, 816b. The frequency domain reverberator 816a, 816b takes as input
The frequency domain reverberator 816a, 816b returns a 2-channel QMF domain late reverberation tail.
The maximum used band number of the frequency-dependent parameter set is calculated depending on the maximum frequency.
First, a QMF domain stereo downmix 818 of one frame of the input signal ŷchn,k is carried out to form the input of the reverberator by a weighted summation of the input signal channels. The weighting gains are contained in the downmix matrix MDMX. They are real-valued and non-negative and the downmix matrix is of dimension Nout×Nin. It contains a non-zero value where a channel of the input signal is mapped to one of the two output channels.
The channels that represent loudspeaker positions on the left hemisphere are mapped to the left output channel and the channels that represent loudspeakers located on the right hemisphere are mapped to the right output channel. The signals of these channels are weighted by a coefficient of 1. The channels that represent loudspeakers in the median plane are mapped to both output channels of the binaural signal. The input signals of these channels are weighted by a coefficient
In addition, an energy equalization step is performed in the downmix. It adapts the bandwise energy of one downmix channel to be equal to the sum of the bandwise energy of the input signal channels that are contained in this downmix channel. This energy equalization is conducted by a bandwise multiplication with a real-valued coefficient
c
eq,k=√{square root over (Pink/Poutk+ε·)}
The factor ceq,k is limited to an interval of [0.5, 2].The numerical constant ε is introduced to avoid a division by zero. The downmix is also bandlimited to the frequency fmax; the values in all higher frequency bands are set to zero.
In the frequency domain reverberator a mono downmix of the stereo input is calculated using an input mixer 900. This is done incoherently applying a 90° phase shift on the second input channel.
This mono signal is then fed to a feedback delay loop 902 in each frequency band k, which creates a decaying sequence of impulses. It is followed by parallel FIR decorrelators that distribute the signal energy in a decaying manner into the intervals between the impulses and create incoherence between the output channels. A decaying filter tap density is applied to create the energy decay. The filter tap phase operations are restricted to four options to implement a sparse and multiplier-free decorrelator.
After the calculation of the reverberation an inter-channel coherence (ICC) correction 904 is included in the reverberator module for every QMF frequency band. In the ICC correction step frequency-dependent direct gains gdirect and crossmix gains gcross are used to adapt the ICC.
The amount of energy and the reverberation times for the different frequency bands are contained in the input parameter set. The values are given at a number of frequency points which are internally mapped to the K=64 QMF frequency bands.
Two instances of the frequency domain reverberator are used to
calculate the final intermediate signal {circumflex over (z)}ch,revn,k=[{circumflex over (z)}ch,1,revn,k, {circumflex over (z)}ch,2,revn,k]. The signal {circumflex over (z)}ch,1,revn,k rev is the first output channel of the first instance of the reverberator, and {circumflex over (z)}ch,2,revn,k is the second output channel of the second instance of the reverberator. They are combined to the final reverberation signal frame that has the dimension of 2 channels, 64 bands and 32 time slots.
The stereo downmix 822 is both times scaled 821a,b according to a correlation measure 820 of the input signal frame to ensure the right scaling of the reverberator output. The scaling factor is defined as a value in the interval of [√{square root over (NDMX,act)}, NDMX,act] linearly depending on a correlation coefficient ccorr between 0 and 1 with
where σŷ
ccorr is calculated twice: once for the plurality of channels A, B that are active at the actual signal frame F and are included in the left channel of the stereo downmix and once for the plurality of channels A, B that are active at the actual signal frame F and that are included in the right channel of the stereo downmix. NDMX,act is the number of input channels that are downmixed to one downmix channel A (number of matrix element in the Ath row of the downmix matrix MDMX that are unequal to zero) and that are active in the current frame.
The scaling factors then are
The scaling factors are smoothed over audio signal frames by a 1st order low pass filter resulting in smoothed scaling factors scale {tilde over (c)}scale[{tilde over (c)}scale,1, {tilde over (c)}scale,2].
The scaling factors are initialized in the first audio input data frame by a time-domain correlation analysis with the same means.
The input of the first reverberator instance is scaled with the scaling factor {tilde over (c)}scale,1 and the input of the second reverberator instance is scaled with the scaling factor {tilde over (c)}scale,2.
Next, the convolutional result 814, {circumflex over (z)}ch,convn,k=[{circumflex over (z)}ch,1,convn,k, {circumflex over (z)}ch,2,convn,k] and the reverberator output 826a, 826b, {circumflex over (z)}ch,revn,k=[{circumflex over (z)}ch,1,revn,k, {circumflex over (z)}ch,2,revn,k], for one QMF domain audio input frame are combined by a mixing process 828 that bandwise adds up the two signals. Note that the upper bands higher than Kmax are zero in {circumflex over (z)}ch,revn,k because the convolution is only conducted in the bands up to Kmax.
The late reverberation output is delayed by an amount of d=((Ltrans−20·64+1)/64+0.5)+1 time slots in the mixing process.
The delay d takes into account the transition time from early reflections to late reflections in the BRIRs and an initial delay of the reverberator of 20 QMF time slots, as well as an analysis delay of 0.5 QMF time slots for the QMF analysis of the BRIRs to ensure the insertion of the late reverberation at a reasonable time slot. The combined signal {circumflex over (z)}chn,k at one time slot n calculated by {circumflex over (z)}ch,convn,k+{circumflex over (z)}ch,revn−d,k.
One 2-channel frame of 32 time slots of the QMF domain output signal {circumflex over (z)}chn,k is transformed to a 2-channel time domain signal frame with length L by the QMF synthesis according to ISO/IEC 14496-3:2009, subclause 4.6.18.4.2. yielding the final time domain output signal 830, {tilde over (z)}chv=[{tilde over (z)}ch,1v, {tilde over (z)}ch,2v].
In accordance with the inventive approach the synthetic or artificial late reverberation is scaled taking into consideration the characteristics of the input signal, thereby improving the quality of the output signal while taking advantage of the reduced computational complexity obtained by the separate processing. Also, as can be seen from the above description, no additional hearing models or target reverberation loudness are necessitated.
It is noted that the invention is not limited to the above described embodiment. For example, while the above embodiment has been described in combination with the QMF domain, it is noted that also other time-frequency domains may be used, for example the STFT domain. Also, the scaling factor may be calculated in a frequency-dependent manner so that the correlation is not calculated over the entire number of frequency bands, namely i∀[1, N], but is calculated in a number of S subsets defined as follows:
i
1∀[1, N1], i2∀[N1+1, N2], . . . , iS∀[NS−1+N]
Also, smoothing may be applied across the frequency bands or bands may be combined according to a specific rule, for example according to the frequency resolution of the hearing. Smoothing may be adapted to different time constants, for example dependent on the frame size or the preference of the listener.
The inventive approach may also be applied for different frame sizes, even a frame size of just one time slot in the time-frequency domain is possible.
In accordance with embodiments, different downmix matrices may be used for the downmix, for example symmetric downmix matrices or asymmetric matrices.
The correlation measure may be derived from parameters that are transmitted in the audio bitstream, for example from the inter-channel coherence in the MPEG surround or SAOC. Also, in accordance with embodiments it is possible to exclude some values of the matrix from the mean-value calculation, for example erroneously calculated values or values on the main diagonal, the autocorrelation values, if necessitated.
The process may be carried out at the encoder instead of using it in the binaural renderer at the decoder side, for example when applying a low complexity binaural profile. This results in that some representation of the scaling factors, for example the scaling factors themselves, the correlation measure between 0 and 1 and the like, and these parameters are transmitted in the bitstream from the encoder to the decoder for a fixed downstream matrix.
Also, while the above described embodiment is described applying the gain following the reverberator 514, it is noted that in accordance with other embodiments the gain can also be applied before the reverberator 514 or inside the reverberator, for example by modifying the gains inside the reverberator 514. This is advantageous as fewer computations may be necessitated.
Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, some one or more of the most important method steps may be executed by such an apparatus.
Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a non-transitory storage medium such as a digital storage medium, for example a floppy disc, a DVD, a Blu-Ray, a CD, a ROM, a PROM, and EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.
Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.
Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may, for example, be stored on a machine readable carrier.
Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.
A further embodiment of the inventive method is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the recorded medium are typically tangible and/or non-transitionary.
A further embodiment of the invention method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may, for example, be configured to be transferred via a data communication connection, for example, via the internet.
A further embodiment comprises a processing means, for example, a computer or a programmable logic device, configured to, or programmed to, perform one of the methods described herein.
A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
A further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.
In some embodiments, a programmable logic device (for example, a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods may be performed by any hardware apparatus.
An embodiment according to the invention comprises a method for processing an audio signal in accordance with a room impulse response that comprises separately processing the audio signal with an early part and a late reverberation of the room impulse response, wherein processing the late reverberation comprises generating a scaled reverberated signal, the scaling being dependent on the audio signal; and combining the audio signal processed with the early part of the room impulse response and the scaled reverberated signal.
A further embodiment comprises the method of the immediately preceding embodiment, wherein the scaling is dependent on the condition of the one or more input channels of the audio signal.
A further embodiment comprises the method of the immediately preceding embodiment, wherein the condition of the one or more input channels of the audio signal comprises one or more of the number of input channels, the number of active input channels and the activity in the input channel.
A further embodiment comprises the method of any of the three immediately preceding embodiments, wherein the scaling is dependent on a predefined or calculated correlation measure of the audio signal.
A further embodiment comprises the method of any of the four immediately preceding embodiments, wherein generating the scaled reverberated signal comprises applying a gain factor, wherein the gain factor is determined based on the condition of the one or more input channels of the audio signal and/or based on the predefined or calculated correlation measure for the audio signal.
A further embodiment comprises the method of the immediately preceding embodiment, wherein generating the scaled reverberated signal comprises applying the gain factor before, during or after processing the late reverberation of the audio signal
A further embodiment comprises the method of any of the two immediately preceding embodiments, wherein the gain factor is determined as follows:
g=c
u+ρ·(cc−cu)
where
A further embodiment comprises the method of the immediately preceding embodiment, wherein cu and cc are determined as follows:
where
A further embodiment comprises the method of any of the four immediately preceding embodiments, wherein the gain factor is low pass filtered over the plurality of audio frames.
A further embodiment comprises the method of the immediately preceding embodiment, wherein the gain factor is low pass filtered as follows:
where
A further embodiment comprises the method of any of the ten immediately preceding embodiments, wherein generating the scaled reverberated signal comprises a correlation analysis of the audio signal.
A further embodiment comprises the method of the immediately preceding embodiment, wherein the correlation analysis of the audio signal comprises determining for an audio frame of the audio signal a combined correlation measure, and wherein the combined correlation measure is calculated by combining the correlation coefficients for a plurality of channel combinations of one audio frame, each audio frame comprising one or more time slots.
A further embodiment comprises the method of the immediately preceding embodiment, wherein combining the correlation coefficients comprises averaging a plurality of correlation coefficients of the audio frame.
A further embodiment comprises the method of any of the two embodiments immediately preceding the immediately preceding embodiment, wherein determining the combined correlation measure comprises:
A further embodiment comprises the method of any of the four immediately preceding embodiments, wherein the correlation coefficient for a channel combination is calculated as follows:
where
A further embodiment comprises the method of any of the fifteen immediately preceding embodiments, comprising delaying the scaled reverberated signal to match its start to the transition point from early reflections to late reverberation in the room impulse response.
A further embodiment comprises the method of any of the sixteen immediately preceding embodiments, wherein processing the late reverberation of the audio signal comprises downmixing the audio signal and applying the downmixed audio signal to a reverberator.
A further embodiment comprises a non-tangible computer product including a computer readable medium storing instructions for carrying out the method of any of the seventeen immediately preceding embodiments when being executed by a computer.
A further embodiment comprises a signal processing unit, comprising an input for receiving an audio signal, an early part processor for processing the received audio signal in accordance with an early part of a room impulse response, a late reverberation processor for processing the received audio signal in accordance with a late reverberation of the room impulse response, the late reverberation processor configured to generate a scaled reverberated signal, the scaling being dependent on the received audio signal; and an output for combining the processed early part of the received audio signal and the scaled reverberated signal into an output audio signal.
A further embodiment comprises the signal processing unit of the immediately preceding embodiment, wherein the late reverberation processor comprises a reverberator receiving the audio signal and generating a reverberated signal; and a gain stage coupled to an input or to an output of the reverberator and controlled by a gain factor.
A further embodiment comprises the signal processing unit of the immediately preceding embodiment, comprising a correlation analyzer generating the gain factor dependent on the audio signal.
A further embodiment comprises the signal processing unit of any of the two immediately preceding embodiments, further comprising at least one of a low pass filter coupled to the gain stage, and a delay element coupled between the gain stage and an adder, the adder further coupled to the early part processor and the output.
A further embodiment comprises a binaural renderer, comprising a signal processing unit of any of the four immediately preceding embodiments.
A further embodiment comprises an audio encoder for coding audio signals, comprising a signal processing unit of any of the four embodiments immediately the immediately preceding embodiment or a binaural renderer of the immediately preceding embodiment for processing the audio signals prior to coding.
A further embodiment comprises an audio decoder for decoding encoded audio signals, comprising a signal processing unit of any of the four embodiments immediately the two immediately preceding embodiments or a binaural renderer of a signal processing unit of the embodiments immediately the immediately preceding embodiment for processing the decoded audio signals.
While this invention has been described in terms of several embodiments, there are alterations, permutations, and equivalents which will be apparent to others skilled in the art and which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and compositions of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
13177361.6 | Jul 2013 | EP | regional |
13189255.6 | Oct 2013 | EP | regional |
This application is a continuation of copending U.S. application Ser. No. 17/882,357, filed Aug. 5, 2022, which in turn is a continuation of U.S. application Ser. No. No. 17/094,795, filed Nov. 10, 2020 (U.S. Pat. No. 11,445,323 issued Sep. 13, 2022), which in turn is a continuation of U.S. application Ser. No. 15/922,138, filed Mar. 15, 2018 (U.S. Pat. No. 10,848,900 issued Nov. 24, 2020), which in turn is a continuation of U.S. application Ser. No. 15/002,177, filed Jan. 20, 2016 (USPN 9,955,282 issued Apr. 24, 2018), which in turn is a continuation of International Application No. PCT/EP2014/065534, filed Jul. 18, 2014, which are incorporated herein by reference in their entirety, and additionally claims priority from European Application No. 13177361.6, filed Jul. 22, 2013, and from European Application No. 13189255.6, filed Oct. 18, 2013, which are also incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 17882357 | Aug 2022 | US |
Child | 18419160 | US | |
Parent | 17094795 | Nov 2020 | US |
Child | 17882357 | US | |
Parent | 15922138 | Mar 2018 | US |
Child | 17094795 | US | |
Parent | 15002177 | Jan 2016 | US |
Child | 15922138 | US | |
Parent | PCT/EP2014/065534 | Jul 2014 | US |
Child | 15002177 | US |