Method and a decoder for attenuation of signal regions reconstructed with low accuracy
09595268 · 2017-03-14
Assignee
Inventors
Cpc classification
G10L19/02
PHYSICS
International classification
G10L19/00
PHYSICS
Abstract
The embodiments of the present invention improves conventional attenuation schemes by replacing constant attenuation with an adaptive attenuation scheme that allows more aggressive attenuation, without introducing audible change of signal frequency characteristics.
Claims
1. A method for a decoder for attenuating an audio signal, the method comprising: determining a width of a continuous spectral region, the continuous spectral region comprising spectral regions of the audio signal to be attenuated and coded with either a low number of bits or with no bits assigned; and attenuating the audio signal by applying an attenuation of the continuous spectral region adaptive to the width such that an increased width decreases the attenuation of the continuous spectral region.
2. The method according to claim 1 further comprising identifying the spectral regions by examining reconstructed subvectors to identify the spectral regions to be attenuated.
3. The method according to claim 2: wherein examining the reconstructed subvectors comprises examining the number of bits assigned to the reconstructed subvectors to determine whether the number of assigned bits falls below a predetermined threshold; and wherein a spectral region has low precision when the number of bits assigned to the corresponding reconstructed subvector falls below the predetermined threshold.
4. The method according to claim 3 further comprising encoding the subvectors with a pulse coding scheme; wherein the corresponding spectral region has low precision when comprising one or more consecutive subvectors where the number of pulses P(b) falls below a predetermined threshold.
5. The method according to claim 1 where the continuous spectral region further includes a region reconstructed using a bandwidth extension algorithm.
6. The method according to claim 1 further comprising identifying the spectral regions by identifying the spectral regions to be attenuated based on analysis received from an encoder, wherein the analysis identifies potential candidate spectral regions for attenuation based on whether a distance measure between a reconstructed synthesis signal and an input target signal in a frequency region is above a threshold.
7. A decoder for attenuating an audio signal, the decoder comprising a processor circuit configured to: determine a width of a continuous spectral region, the continuous spectral region comprising spectral regions of the audio signal to be attenuated and coded with either a low number of bits or with no bits assigned; and attenuate the audio signal by applying an attenuation of the continuous spectral region adaptive to the width such that an increased width decreases the attenuation of the continuous spectral region.
8. The decoder according to claim 7 wherein the processor circuit is further configured to examine reconstructed subvectors.
9. The decoder according to claim 8 wherein a spectral region has low precision when the number of bits assigned to the corresponding reconstructed subvector falls below a predetermined threshold.
10. The decoder according to claim 8: wherein a pulse coding scheme is employed to encode the subvectors; and wherein the corresponding spectral region has low precision when comprising one or more consecutive subvectors where the number of pulses P(b) falls below a predetermined threshold.
11. The decoder according to claim 7 where the continuous spectral region further includes a region reconstructed using a bandwidth extension algorithm.
12. The decoder according to claim 7: wherein the processor circuit is further configured to receive an analysis from an encoder; wherein the processor circuit is further configured to identify the spectral regions based on the received analysis; and wherein the analysis identifies potential candidate spectral regions for attenuation based on whether a distance measure between a reconstructed synthesis signal and an input target signal in frequency region is above a threshold.
13. A mobile terminal comprising: an attenuation controller of a decoder for attenuating an audio signal, wherein the attenuation controller comprises a processor circuit configured to: determine a width of a continuous spectral region, the continuous spectral region comprising spectral regions of the audio signal to be attenuated and coded with either a low number of bits or with no bits assigned; and attenuate the audio signal by applying an attenuation of the continuous spectral region adaptive to the width such that an increased width decreases the attenuation of the continuous spectral region.
14. A network node comprising: an attenuation controller of a decoder for attenuating an audio signal, wherein the attenuation controller comprises a processor circuit configured to: determine a width of a continuous spectral region, the continuous spectral region comprising spectral regions of the audio signal to be attenuated and coded with either a low number of bits or with no bits assigned; and attenuate the audio signal by applying an attenuation of the continuous spectral region adaptive to the width such that an increased width decreases the attenuation of the continuous spectral region.
15. A method for a decoder for attenuating an audio signal, the method comprising: determining a width of a continuous spectral region, the continuous spectral region comprising spectral regions of the audio signal to be attenuated and coded with no bits assigned; and attenuating the audio signal by applying an attenuation of the continuous spectral region adaptive to the width such that an increased width decreases the attenuation of the continuous spectral region.
16. The method according to claim 15 where the continuous spectral region further includes a region reconstructed using a bandwidth extension algorithm.
17. The method according to claim 15 further comprising identifying the spectral regions by identifying the spectral regions based on an analysis received from an encoder, wherein the analysis identifies potential candidate spectral regions for attenuation based on whether a distance measure between a reconstructed synthesis signal and an input target signal in a frequency region is above a threshold.
18. A decoder for attenuating an audio signal, the attenuation controller comprising a processor circuit configured to: determine a width of a continuous spectral region, the continuous spectral region comprising spectral regions of the audio signal to be attenuated and coded with no bits assigned; and attenuate the audio signal by applying an attenuation of the continuous spectral region adaptive to the width such that an increased width decreases the attenuation of the continuous spectral region.
19. The decoder according to claim 18 where the continuous spectral region further includes a region reconstructed using a bandwidth extension algorithm.
20. The decoder according to claim 18: wherein the processor circuit is further configured to receive an analysis from an encoder; wherein the processor circuit is further configured to identify the spectral regions based on the received analysis; and wherein the analysis identifies potential candidate spectral regions for attenuation based on whether a distance measure between a reconstructed synthesis signal and an input target signal in frequency region is above a threshold.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION
(12) The decoder according to embodiments of the present invention can be used in an audio codec, audio decoder, which can be used in end user devices such as mobile devices (e.g. a mobile phone) or stationary PCs, or in network nodes where decoding occurs. The solution of the embodiments of the invention relates to an adaptive attenuation that allows more aggressive attenuation, without introducing audible change of signal frequency characteristics. That is achieved in the attenuation controller in the decoder, as illustrated in a flowchart of
(13) The flowchart of
(14) An attenuation controller according to embodiments can be implemented in an audio decoder in a mobile terminal or in a network node. The audio decoder can be used in a real-time communication scenario targeting primarily speech or in a streaming scenario targeting primarily music.
(15) In one embodiment, the audio codec where the attenuation controller is being implemented is a transform domain audio codec e.g. employing a pulse-based vector quantization scheme. In this exemplary embodiment, a Factorial Pulse Coding (FPC) type quantizer is used but it is understood by a person skilled in the art that any vector quantizing scheme may be used. A schematic overview of such an audio codec is shown in
(16) A short audio segment (20-40 ms), denoted input audio, 100 is transformed to the frequency domain by a Modified Discrete Cosine Transform (MDCT). 105
(17) The MDCT vector X(k) 107 obtained by the MDCT 105 is split into multiple bands, i.e. subvectors. Note that any other suitable frequency transform may be used instead of MDCT, such as DFT or DCT.
(18) The energy in each band is calculated in an envelope calculator 110, which gives an approximation of the spectrum envelope.
(19) The spectrum envelope is quantized by an envelope quantizer 120, and the quantization indices are sent to the bitstream multiplexer in order to be stored or transmitted to a decoder.
(20) A residual vector 117 is obtained by scaling of the MDCT vectors using the inverse of the quantized envelope gains, e.g., the residual in each band is scaled to have unit Root-Mean-Square (RMS) Energy.
(21) Bits for a quantizer performing a quantization of different residual subvectors 125 are assigned by a bit allocator 130 based on quantized envelope energies. Due to a limited bit-budget, some of the subvectors receive no bits.
(22) Based on the number of available bits, the residual subvectors are quantized, and the quantization indices are transmitted to the decoder. Residual quantization is performed with a Factorial Pulse Coding (FPC) scheme. A multiplexer 135 multiplexes the quantization indices of the envelope and the subvector into a bitstream 140 which may be stored or transmitted to the decoder.
(23) It should be noted that residual subvectors with no bits assigned are not coded, but noise-filled at the decoder. This can be achieved by creating a virtual codebook from coded subvectors or any other noise-fill algorithm. The noise-fill creates content in the non-coded subvectors.
(24) With further reference to
(25) The embodiments of the presented invention are related to the envelope attenuation described above, previous step in the list above, where additional weighting of the envelope gains is added to control the energy of subvectors quantized with low precision, that is subvectors coded with a low number, or non-coded noise-filled subvectors. The subvectors coded with a low number of bits imply that the number of bits is insufficient to achieve a desirable accuracy. Thus, the insufficient number of bits is defined as a number of bits which are too low to be able to represent the spectral region with perceptually plausible quality. Note that this number will be dependent on the sensitivity of the audio perception for that region as well as the complexity of the signal region at hand.
(26) An overview of a decoder in such a scheme with the algorithm according to embodiments is shown in
(27) Accordingly, the attenuation controller is configured to identify spectral regions to be attenuated, to group the identified spectral regions to form a continuous spectral region, to determine a width of the continuous spectral region, and to apply an attenuation of the continuous spectral region adaptive to the width such that an increased width decreases the attenuation of the continuous spectral region.
(28) The low precision spectral regions to be attenuated are according to the embodiments either coded with a low number of bits or with no bits assigned. The step of identifying low precision spectral regions may also comprise an analysis of the reconstructed subvectors.
(29) With reference again to
(30) According to another embodiment, a pulse coding scheme is employed to encode the spectral subvectors and a spectral region is said to be represented with low precision if it consists of one or more consecutive subvectors where the number of pulses P(b) is below a predetermined threshold.
(31) Hence, it is determined if the spectral subvectors comprise of one or more consecutive subvectors where the number of pulses P(b) used to quantize the subvector fulfills equation 1.
P(b)<, b=1,2 . . . N.sub.b(1)
where N.sub.b is the number of subvectors and is a threshold with preferred value of =10. It should be noted that the number of pulses can be converted to a number of bits. Further, more elaborate methods may be applied to identify the low precision regions, e.g. by using the bitrate in conjunction with analysis of the synthesized shape vector. Such a setup is illustrated in
(32) Subvectors that received zero bits in the bit allocation and are noise-filled may also be included in this category.
(33) Returning to
(34) To obtain the best possible audio quality, it is desirable to attenuate the low precision regions of the spectrum. According to embodiments, the attenuation 204 is dependent on the width of low precision spectral region. Hence the attenuation should be decreased with the width. That implies that a narrow region allows a larger attenuation than a wider region.
(35) As an example, the attenuation can be obtained in two steps. First, an initial attenuation factor A(b) is decided per subvector b. For noise filled subvectors, the attenuation factor is decided based on the number of consecutive noise filling subvectors. For the low precision coded vectors an accuracy function may be used to define the initial attenuation. When the low precision regions are identified, the attenuation level for each region is estimated using the bandwidth of the low precision region. The attenuation factors are adjusted to form A(b) which take into consideration the low precision region bandwidth.
(36) An example attenuation limiting function A(b) depending on the bandwidth b of the low precision region is shown in
A(b)=(w)+(1(w))A(b)(2)
where (w) is defined in equation 3,
(37)
where w denotes the bandwidth in number of subvectors of the low precision region, and C and T are constants which control the adjustment function (w). In this example, it was found that suitable values were C=6 and T=5.
(38)
(39)
where f denotes the frequency bin of the spectrum and is a tuning parameter. One possible value for is L/4, where L is the number of coefficients in the MDCT spectrum. The equation (4) will allow more attenuation for higher frequencies, similar to what is already obtained in this embodiment. One could also make the inverse relation w.r.t. frequency like so
(40)
where denotes another tuning parameter. In this case the attenuation will be restricted for higher frequencies. This may be desirable if it is found that there is less benefit of attenuation for higher frequencies.
(41) In a further embodiment, the concept described above can be restricted to the noise-filled regions only, if due to specifics of the quantizer; sub-bands with low number of assigned bits are treated separately.
(42) In an alternative embodiment, the concept described in conjunction with the first embodiment can operate without noise-filled bands, e.g., if the codec operates at high-bitrate and noise-filled bands do not exist.
(43) In a further embodiment, the reconstructed spectrum also includes a region which is reconstructed using a bandwidth extension (BWE) algorithm. The concept of adaptive attenuation of low accuracy reconstructed signal regions can be used in combination with a BWE module. Modern BWE algorithms apply certain attenuation on reconstructed spectral regions that are detected to be very different from the corresponding regions in the target signal. Such attenuation can be also made adaptive according to the concept described above. BWE algorithm may be an integral part of the noise-filling unit 310 as disclosed in
(44) In a further embodiment, the decoder of an audio communication/compression system can implement the adaptive attenuation algorithm according to embodiments without explicitly accounting for regions that are noise-filled, bandwidth extended, or quantized with low number bits. Instead, regions candidate for attenuation can be selected based on an encoder side subvector analysis using a distance measure between the reconstructed subvector and the input subvector. The distance measure may also be calculated between the reconstruction and synthesis of the residual subvectors. A schematic overview of an encoder performing such analysis using a subvector analysis unit is illustrated in
(45) The attenuation controller which can be implemented in a decoder of e.g. a user equipment as shown in
(46) According to one embodiment, the spectral regions to be attenuated are coded with either a low number of bits or with no bits assigned. In addition, the identifier unit 703 configured to identify spectral regions that are coded with either a low number of bits or no bits assigned may further be configured to examine reconstructed subvectors to identify the spectral regions of the decoded frequency domain residual that are represented with low precision.
(47) A spectral region may be said to be represented with low precision when the assigned number of bits for the said reconstructed subvector is below a predetermined threshold.
(48) Alternatively, a pulse coding scheme is employed to encode the spectral subvectors and a spectral region is said to be represented with low precision if it consists of one or more consecutive subvectors where the number of pulses P(b) is below a predetermined threshold.
(49) According to a further embodiment, spectral regions that are coded with no bits assigned are identified and or spectral regions that are coded with a low number of bits are identified.
(50) The reconstructed spectrum can also include a region which is reconstructed using a bandwidth extension algorithm.
(51) According to a yet further embodiment, the attenuation controller 300 comprises an input/output unit 710 configured to receive an analysis from the encoder and wherein the identifier unit 703 is further configured to identify the spectral regions to be attenuated based on the received analysis. In the received analysis a distance measure between a reconstructed synthesis signal and an input target signal are used by the encoder. If the distance measure in certain frequency region is above a certain threshold, the spectral region is a potential candidate for attenuation.
(52) It should be noted that the units of the attenuation controller 300 of the decoder can be implemented by a processor 700 configured to process software portions providing the functionality of the units as illustrated in
(53) According to a further aspect of the present invention, a mobile device 800 comprising the attenuation controller 300 in a decoder according to the embodiments is provided as illustrated in