Source: http://www.google.com/patents/US20070016403?dq=5987118
Timestamp: 2017-09-21 04:30:20
Document Index: 778631405

Matched Legal Cases: ['art 16', 'art 18', 'art 16', 'art 18', 'art 16', 'art 18', 'art 18', 'art 18']

Patent US20070016403 - Audio coding - Google Patents
The central idea of the present invention is that the prior procedure, namely interpolation relative to the filter coefficients and the amplification value, for obtaining interpolated values for the intermediate audio values starting from the nodes has to be dismissed. Coding containing less audible...http://www.google.com/patents/US20070016403?utm_source=gb-gplus-sharePatent US20070016403 - Audio coding
Publication number US20070016403 A1
Application number US 11/460,425
Also published as CA2556099A1, CA2556099C, CN1918632A, CN1918632B, DE102004007200B3, DE502005002489D1, EP1687808A1, EP1687808B1, US7729903, WO2005078704A1
Publication number 11460425, 460425, US 2007/0016403 A1, US 2007/016403 A1, US 20070016403 A1, US 20070016403A1, US 2007016403 A1, US 2007016403A1, US-A1-20070016403, US-A1-2007016403, US2007/0016403A1, US2007/016403A1, US20070016403 A1, US20070016403A1, US2007016403 A1, US2007016403A1
Inventors Gerald Schuller, Stefan WABNIK, Marc Gayer
Original Assignee Gerald Schuller, Wabnik Stefan, Marc Gayer
US 20070016403 A1
an integrator for integrating information into the coded signal from which the block of quantized scaled filtered audio values, the version of the first parameterization, the version of the second parameterization, the first noise power limit and the second noise power limit may be derived.
integrating information into the coded signal from which the block of quantized scaled filtered audio values, the version of the first parameterization, the version of the second parameterization, the first noise power limit and the second noise power limit may be derived.
15. A device for decoding a coded signal into a decoded audio signal, wherein the coded signal contains information from which a predetermined block of quantized scaled filtered audio values, a version of a first parameterization, a version of a second parameterization, a first noise power limit and a second noise power limit may be derived, comprising:
16. A method for decoding a coded signal into a decoded audio signal, the coded signal containing information from which a predetermined block of quantized scaled filtered audio values, a version of a first parameterization, a version of a second parameterization, a first noise power limit and a second noise power limit may be derived, comprising the steps of:
17. A computer program having a program code for performing a method for coding an audio signal of a sequence of audio values into a coded signal, comprising the steps of: applying a psycho-acoustic model to a first block of audio values of the sequence of audio values and a second block of audio values of the sequence of audio values; calculating a version of a first parameterization of a parameterizable filter based on a result of applying the psycho-acoustic model to the first block and a version of a second parameterization of the parameterizable filter based on a result of applying the psycho-acoustic model to the second block; determining a first noise power limit based on the result of applying the psycho-acoustic model to the first block and a second noise power limit based on the result of applying the psycho-acoustic model to the second block; parameterizably filtering and scaling a predetermined block of audio values of the sequence of audio values to obtain a block of scaled filtered audio values corresponding to the predetermined block, comprising the following substeps: interpolating between the version of the first parameterization and the version of the second parameterization to obtain a version of an interpolated parameterization for a predetermined audio value in the predetermined block of audio values; interpolating between the first noise power limit and the second noise power limit to obtain an interpolated noise power limit for the predetermined audio value; determining an intermediate scaling value depending on the interpolated noise power limit; and applying the parameterizable filter with the version of the interpolated parameterization and the intermediate scaling value to the predetermined audio value to obtain one of the scaled filtered audio values; quantizing the scaled filtered audio values to obtain a block of quantized scaled filtered audio values; and integrating information into the coded signal from which the block of quantized scaled filtered audio values, the version of the first parameterization, the version of the second parameterization, the first noise power limit and the second noise power limit may be derived, when the computer program runs on a computer.
18. A computer program having a program code for performing a method for decoding a coded signal into a decoded audio signal, the coded signal containing information from which a predetermined block of quantized scaled filtered audio values, a version of a first parameterization, a version of a second parameterization, a first noise power limit and a second noise power limit may be derived, comprising the steps of: deriving the predetermined block of quantized scaled filtered audio values, the version of the first parameterization, the version of the second parameterization, the first noise power limit and the second noise power limit from the coded signal; parameterizably filtering and scaling the predetermined block of quantized scaled filtered audio values to obtain a corresponding block of decoded audio values, comprising the following substeps: interpolating between the version of the first parameterization and the version of the second parameterization to obtain a version of an interpolated parameterization for a predetermined audio value in the block of quantized scaled filtered audio values; interpolating between the first noise power limit and the second noise power limit to obtain an interpolated noise power limit for the predetermined audio value; determining an intermediate scaling value depending on the interpolated noise power limit; and applying the parameterizable filter with the version of the interpolated parameterization and the intermediate scaling value to the predetermined audio value to obtain one of the decoded audio values, when the computer program runs on a computer.
Audio compression methods, such as, for example, the MP3 format, experience a limit in their applicability when audio data is to be transferred via a bit rate-limited transmission channel in a, on the one hand, compressed manner, but, on the other hand, with as small a delay time as possible. In some applications, the delay time does not play a role, such as, for example, when archiving audio information. Small delay audio coders, which are sometimes referred to as “ultra low delay coders”, however, are necessary where time-critical audio signals are to be transmitted, such as, for example, in tele-conferencing, in wireless loudspeakers or microphones. For these fields of application, the article by Schuller G. et al. “Perceptual Audio Coding using Adaptive Pre- and Post-Filters and Lossless Compression”, IEEE Transactions on Speech and Audio Processing, vol. 10, no. 6, September 2002, pp. 379-390, suggests audio coding where the irrelevance reduction and the redundancy reduction are not performed based on a single transform, but on two separate transforms.
FIG. 1 shows an audio coder according to an embodiment of the present invention. The audio coder, which is generally indicated by 10, includes a data input 12 where it receives the audio signal to be coded, which, as will be explained in greater detail later referring to FIG. 5 a, consists of a sequence of audio values or sample values, and a data output where the coded signal is output, the information content of which will be discussed in greater detail referring to FIG. 5 b.
The audio coder 10 of FIG. 1 is divided into an irrelevance reduction part 16 and a redundancy reduction part 18. The irrelevance reduction part 16 includes means 20 for determining a listening threshold, means 22 for calculating an amplification value, means 24 for calculating a parameterization, node comparing means 26, a quantizer 28 and a parameterizable pre-filter 30 and an input FIFO (first in first out) buffer 32, a buffer or memory 38 and a multiplier or multiplying means 40. The redundancy reduction part 18 includes a compressor 34 and a bit rate controller 36.
The irrelevance reduction part 16 and the redundancy reduction part 18 are connected in series in this order between the data input 12 and the data output 14. In particular, the data input 12 is connected to a data input of the means 20 for determining a listening threshold and to a data input of the input buffer 32. A data output of the means 20 for determining a listening threshold is connected to an input of the means 24 for calculating a parameterization and to a data input of the means 22 for calculating an amplification value to pass on a listening threshold determined to same. The means 22 and 24 calculate a parameterization or amplification value based on the listening threshold and are connected to the node comparing means 26 to pass on these results to same. Depending on the result of the comparison, the node comparing means 26, as will be discussed subsequently, passes on the results calculated by the means 22 and 24 as input parameter or parameterization to the parameterizable pre-filter 30. The parameterizable pre-filter 30 is connected between a data output of the input buffer 32 and a data input of the buffer 38. The multiplier 40 is connected between a data output of the buffer 38 and the quantizer 28. The quantizer 28 passes on filtered audio values which may be multiplied or scaled, but always quantized, to the redundancy reduction part 18, more precisely to a data input of the compressor 34. The node comparing means 26 passes on information from which the input parameters passed to the parameterizable pre-filter 30 may be derived to the redundancy reduction part 18, more precisely to another data input of the compressor 34. The bit rate controller is connected to a control input of the multiplier 40 via a control connection to provide for the quantized filtered audio values, as received from the pre-filter 30, to be multiplied by the multiplier 40 by a suitable multiplicand, as will be discussed in greater detail below. The bit rate controller 36 is connected between a data output of the compressor 34 and the data output 14 of the audio coder 10 in order to determine the multiplicand for the multiplier 40 in a suitable manner. When each audio value passes the quantizer 40 for the first time, the multiplicand is at first set to a suitable scaling factor, such as, for example, 1. The buffer 38, however, continues storing each filtered audio value to give the bit rate controller 36, as will be described subsequently, a possibility of changing the multiplicand for another pass of a block of audio values. If such a change is not indicated by the bit rate controller 36, the buffer 38 may release the memory taken up by this block.
After the setup of the audio coder of FIG. 1 has been described above, the mode of functioning thereof will subsequently be described referring to FIGS. 2 to 7 b.
As can be seen from FIG. 2, the audio signal, when having reached the audio input 12, has already been obtained by audio signal sampling 50 from an analog audio signal. The audio signal sampling is performed with a predetermined sampling frequency, which is usually between 32 and 48 kHz. Consequently, at the data input 12 there is an audio signal consisting of a sequence of sample or audio values. Although the coding of the audio signal does not take place in a block-based manner, as will become obvious from the subsequent description, the audio values at the data input 12 are at first combined to form audio blocks in step 52. The combination to form audio blocks takes place only for the purpose of determining the listening threshold, as will become obvious from the following description, and takes place in an input stage of the means 20 for determining a listening threshold. In the present embodiment, it is exemplarily assumed that 128 successive audio values each are combined to form audio blocks and that the combination takes place such that, one the one hand, successive audio blocks do not overlap and, on the other hand, are direct neighbors of one another. This will exemplarily be discussed shortly referring to FIG. 5 a.
FIG. 5 a at 54 indicates the sequence of sample values, each sample value being illustrated by a rectangle 56. The sample values are numbered for illustration purposes, wherein for reasons of clarity in turn only some sample values of the sequence 54 are shown. As is indicated by braces above the sequence 54, 128 successive sample values each are combined to form a block according to the present embodiment, wherein the directly successive 128 sample values form the next block. Only as a precautionary measure, it is to be pointed out that the combination to form blocks could also be performed differently, exemplarily by overlapping blocks or spaced-apart blocks and blocks having another block size, although the block size of 128 in turn is preferred since it provides a good tradeoff between high audio quality on the one hand and the smallest possible delay time on the other hand.
In a subsequent step 64, the means 24 and the means 22 calculate from the listening threshold M(f) calculated (f indicating the frequency) an amplification value a or parameter set of N parameters x(i) (i=1, . . . , N) . The parameterization x(i) which the means 24 calculates in step 64 is provided for the parameterizable pre-filter 30 which is, for example, embodied in an adaptive filter structure, as is used in LPC coding (LPC=linear predictive coding). For example, s(n), n=0, . . . , 127, be the 128 audio values of the current audio block and s′(n) be the resulting filtered 128 audio values, then the filter is exemplarily embodied such that the following equation applies: s ′ ( n ) = s ( n ) - ∑ k = 1 K a k t s ( n - k ) ,
K being the filter order and ak t, k=1, . . . , K, being the filter coefficients, and the index t is to illustrate that the filter coefficients change in successive audio blocks. The means 24 then calculates the parameterization ak t such that the transfer function H(f) of the parameterizable pre-filter 30 roughly equals the inverse of the magnitude of the masking threshold M(f), i.e. such that the following applies: H ( f , t ) ≈ 1  M ( f , t ) 
wherein the dependence of t in turn is to illustrate that the masking threshold M(f) changes for different audio blocks. When implementing the pre-filter 30 as the adaptive filter mentioned above, the filter coefficients ak t will be obtained as follows: the inverse discrete Fourier transform of |M(f,t)|2 over the frequency for the block at the time t results in the target auto-correlation function rmm t(i). Then, the ak t are obtained by solving the linear equation system: ∑ k = 0 K - 1 r m m t (  k - i  ) a k t = r m m t ( i + 1 ) , 0 ≤ i < K .
Whereas consequently the means 24 calculates a parameterization for the parameterizable pre-filter 30 such that the transfer function thereof equals the inverse of the masking threshold, the means 22 calculates a noise power limit based on the listening threshold, namely a limit indicating which noise power the quantizer 28 is allowed to introduce into the audio signal filtered by the pre-filter 30 in order for the quantizing noise on the decoder side to be below the listening threshold M(f) or exactly equal it after post- or reverse-filtering. The means 22 calculates this noise power limit as the area below the square of the magnitude of the listening threshold M, i.e. as Σ|M(f)|2. This means 22 calculates the amplification value a from the noise power limit by calculating the root of the fraction of the quantizing noise power divided by the noise power limit. The quantizing noise is the noise caused by the quantizer 28. The noise caused by the quantizer 28 is, as will be described below, white noise and thus frequency-independent. The quantizing noise power is the power of the quantizing noise.
The parameterization calculated for block 1 still located in the FIFO 32, however, in contrast differed, according to the illustrative example of FIG. 5 a, by more than the predetermined threshold from the parameterization xc(i) and was thus passed on in step 68 to the pre-filter 30 as a parameterization x1(i), together with the amplification value a1 (step 70) and, if applicable, the pertaining noise power limit, wherein the indices of a and x in FIG. 5 are to be an index for the nodes, as are used in the interpolation to be discussed below, which is performed with regard to the sample values 128-255 in block 1, symbolized by an arrow 82 and realized by the steps following step 80 in FIG. 4. The processing at step 80 would thus start with the occurrence of the audio block with number 1.
After that, an index j is initialized to a sample value in step 86 to point to the oldest sample value remaining in the FIFO memory 32 or the first sample value of the current audio block “block 1”, i.e. in the present example of FIG. 5 the sample value 128. In step 88, the parameterizable pre-filter performs an interpolation between the filter coefficients xo and x1, wherein here the parameterization x0 acts as a node at the node having the audio value number 127 of the previous block 0 and the parameterization x1 acts as a node at the node having the audio value number 255 of the current block 1. These audio value positions 127 and 255 will subsequently be referred to as node 0 and node 1, wherein the node parameterizations referring to the nodes in FIG. 5 a are indicated by the arrows 90 and 92.
depending on the root of quantizing noise power q ( t j ) ,
Before the further procedure when processing the filtered sample values s′ will be described referring to FIG. 5, the purpose and background of the procedure of FIGS. 3 and 4 will be described below. The purpose of filtering is filtering the audio signal at the input 12 with an adaptive filter, the transfer function of which is continually adjusted to the inverse of the listening threshold to the best degree possible, which also changes over time. The reason for this is that, on the decoder side, the reverse-filtering the transfer function of which is correspondingly continuously adjusted to the listening threshold shapes the white quantizing noise introduced by quantizing the filtered audio signal, i.e. the frequency-constant quantizing noise, by an adaptive filter, namely adjusts same to the form of the listening threshold.
Subsequently, the further processing of the pre-filtered signal will be described referring to FIG. 6, which basically includes quantization and redundancy reduction. First, the filtered sample values output by the parameterizable pre-filter 30 are stored in the buffer 38 and at the same time let pass from the buffer 38 to the multiplier 40 where there are, since it is their first pass, at first passed on unchanged, namely with a scaling factor of one, by the multiplier 40 to the quantizer 28. There, the filtered audio values above an upper limit are cut in step 110 and then quantized in step 112. The two steps 110 and 112 are executed by the quantizer 28. In particular, the two steps 110 and 112 are preferably executed by the quantizer 28 in one step by quantizing the filtered audio values s′ by a quantizing step function which maps the filtered sample values s′ exemplarily present in a floating point illustration to a plurality of integer quantizing step values or indices and which has a flat course for the filtered sample values from a certain threshold value on so that filtered sample values greater than the threshold value are quantized to one and the same quantizing step. An example of such a quantizing step function is illustrated in FIG. 7 a.
The quantized filtered sample values are referred to by σ′ in FIG. 7 a. The quantizing step function preferably is a quantizing step function with a step size which is constant below the threshold value, i.e. the jump to the next quantizing step will always take place after a constant interval along the input values S′. In the implementation, the step size to the threshold value is adjusted such that the number of quantizing steps preferably corresponds to a power of 2. Compared to the floating point illustration of the incoming filtered sample values s′, the threshold value is smaller so that a maximum value of the illustratable region of the floating point illustration exceeds the threshold value.
A somewhat more specific example of the quantizing step function shown in FIG. 7 a would be one which rounds all the filtered sample values s′ to the next integer up to the threshold value, and from then on quantizes all filtered sample values above to the highest quantizing step, such as, for example, 256. This case is illustrated in FIG. 7 a.
Another example of a possible quantizing step function would be the one shown in FIG. 7 b. Up to the threshold value, the quantizing step function of FIG. 7 b corresponds to that of FIG. 7 a. Instead of having an abruptly flat course for sample values s′ above the threshold value, however, the quantizing step function continues with a steepness smaller than the steepness in the region below the threshold value. Put differently, the quantizing step size is greater above the threshold value. By this, a similar effect is achieved like by the quantizing function of FIG. 7 a, but, on the one hand, with more complexity due to the different step sizes of the quantizing step function above and below the threshold value and, on the other hand, improved audio quality, since very high filtered audio values s′ are not cut off completely but only quantized with greater a quantizing step size.
FIG. 5 b illustrates again the resulting coded signal which is generally indicated by 130. The coded signal includes side information and main data therebetween. The side information includes, as has already been mentioned, information from which for special audio blocks, namely audio blocks where a significant change in the filter coefficients has resulted in the sequence of audio blocks, the value of the amplification value and the value of the filter coefficients can be derived. If necessary, the side information will include further information relating to the amplification value used for the bit controller. Due to the mutual dependence of the amplification value and the noise power limit q, the side information may optionally, apart from the amplification value a# to a node #, also include the noise power limit q#, or only the latter. The side information is preferably arranged within the coded signal such that the side information to filter coefficients and pertaining amplification value or pertaining noise power limit is arranged in front of the main data to the audio block of quantized filtered audio values σ′, from which these filter coefficients with pertaining amplification values or pertaining noise power limit have been derived, i.e. the side information a0, x0(i) after block −1 and the side information a1, x1(i) after block 1. Put differently, the main data, i.e. the quantized filtered audio values σ′, starting from, excluding, an audio block of the kind where a significant change in the sequence of audio blocks has resulted in the filter coefficients, up to, including, the next audio block of this kind, in FIG. 5, for example, the audio values σ′(t0)-σ′(t255), will always be arranged between the side information block 132 to the first one of these two audio blocks (block −1) and the other side information block 134 to the second one of the two audio blocks (block 1). The audio values σ′(t0)-σ′(t127) are decodable or have been, as has been mentioned before referring to FIG. 5 a, obtained only by means of the side information 132, whereas the audio values σ′(t128)- σ(t255) have been obtained by interpolation by means of the side information 132 as support values at the node with the sample value number 127 and by means of the side information 134 as support values at the node with the sample value number 255 and are thus decodable only by means of both side information.
US8165871 Jun 2, 2008 Apr 24, 2012 Samsung Electronics Co., Ltd. Encoding method and apparatus for efficiently encoding sinusoidal signal whose magnitude is less than masking value according to psychoacoustic model and decoding method and apparatus for decoding encoded sinusoidal signal
US9277421 * Dec 3, 2014 Mar 1, 2016 Marvell International Ltd. System and method for estimating noise in a wireless signal using order statistics in the time domain
U.S. Classification 704/200.1, 704/E19.015, 704/E19.046
International Classification G10L19/032, G10L19/26
Cooperative Classification G10L19/032, G10L19/265
European Classification G10L19/032, G10L19/26P
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHULLER, GERALD;WABNIK, STEFAN;GAYER, MARC;SIGNING DATES FROM 20100413 TO 20100503;REEL/FRAME:024350/0101