Patent Description:
In recent times, the multi-channel audio reproduction technique is becoming more and more important. This may be due to the fact that audio compression/encoding techniques such as the well-known mp3 technique have made it possible to distribute audio records via the Internet or other transmission channels having a limited bandwidth. The mp3 coding technique has become so famous because of the fact that it allows distribution of all the records in a stereo format, i.e., a digital representation of the audio record including a first or left stereo channel and a second or right stereo channel.

Nevertheless, there are basic shortcomings of conventional two-channel sound systems. Therefore, the surround technique has been developed. A recommended multi-channel-surround representation includes, in addition to the two stereo channels L and R, an additional center channel C and two surround channels Ls, Rs. This reference sound format is also referred to as three/two-stereo, which means three front channels and two surround channels. Generally, five transmission channels are required. In a playback environment, at least five speakers at five decent places are needed to get an optimum sweet spot in a certain distance of the five well-placed loudspeakers.

Several techniques are known in the art for reducing the amount of data required for transmission of a multi-channel audio signal. Such techniques are called joint stereo techniques. To this end, reference is made to Fig. <NUM>, which shows a joint stereo device <NUM>. This device can be a device implementing e.g. intensity stereo (IS) or binaural cue coding (BCC). Such a device generally receives - as an input - at least two channels (CH1, CH2,. CHn), and outputs at least a single carrier channel and parametric data. The parametric data are defined such that, in a decoder, an approximation of an original channel (CH1, CH2,. CHn) can be calculated.

Normally, the carrier channel will include subband samples, spectral coefficients, time domain samples etc., which provide a comparatively fine representation of the underlying signal, while the parametric data do not include such samples of spectral coefficients but include control parameters for controlling a certain reconstruction algorithm such as weighting by multiplication, time shifting, frequency shifting, phase shifting, etc.. The parametric data, therefore, include only a comparatively coarse representation of the signal or the associated channel. Stated in numbers, the amount of data required by a carrier channel will be in the range of <NUM> - <NUM> kbit/s, while the amount of data required by parametric side information for one channel will typically be in the range of <NUM>,<NUM> - <NUM>,<NUM> kbit/s. An example for parametric data are the well-known scale factors, intensity stereo information or binaural cue parameters as will be described below.

The BCC Technique is for example described in the AES convention paper <NUM>, "<NPL> "<NPL>", <NPL> and in "<NPL>.

In BCC encoding, a number of audio input channels are converted to a spectral representation using a DFT (Discrete Fourier Transform) based transform with overlapping windows. The resulting uniform spectrum is divided into non-overlapping partitions. Each partition approximately has a bandwidth proportional to the equivalent rectangular bandwidth (ERB). The BCC parameters are then estimated between two channels for each partition. These BCC parameters are normally given for each channel with respect to a reference channel and are furthermore quantized. The transmitted parameters are finally calculated in accordance with prescribed formulas (encoded), which may also depend on the specific partitions of the signal to be processed.

A number of BCC parameters do exist. The ICLD parameter, for example, describes the difference (ratio) of the energies contained in <NUM> compared channels. The ICC parameter (inter-channel coherence/correlation) describes the correlation between the two channels, which can be understood as the similarity of the waveforms of the two channels. The ICTD parameter (inter-channel time difference) describes a global time shift between the <NUM> channels whereas the IPD parameter (inter-channel phase difference) describes the same with respect to the phases of the signals.

One should be aware that, in a frame-wise processing of an audio signal, the BCC analysis is also performed frame-wise, i.e. time-varying, and also frequency-wise. This means that, for each spectral band, the BCC parameters are individually obtained. This further means that, in case a audio filter bank decomposes the input signal into for example <NUM> band pass signals, a BCC analysis block obtains a set of BCC parameters for each of the <NUM> bands.

A related technique, also known as parametric stereo, is described in <NPL>, and<NPL>.

Summarizing, recent approaches for parametric coding of multi-channel audio signals ("Spatial Audio Coding", "Binaural Cue Coding" (BCC) etc.) represent a multi-channel audio signal by means of a downmix signal (could be monophonic or comprise several channels) and parametric side information ("spatial cues") characterizing its perceived spatial sound stage. It is desirable to keep the rate of side information as low as possible in order to minimize overhead information and leave as much of the available transmission capacity for the coding of the downmix signals.

One way to keep the bit rate of the side information low is to lossless encode the side information of a spatial audio scheme by applying, for example, entropy coding algorithms to the side information.

Lossless coding has been extensively applied in general audio coding in order to ensure an optimally compact representation for quantized spectral coefficients and other side information. Examples for appropriate encoding schemes and methods are given within the ISO/IEC standards MPEG1 part <NUM>, MPEG2 part <NUM> and MPEG4 part <NUM>.

These standards and, for example also the IEEE paper "<NPL>describe state of the art techniques that include the following measures to lossless encode quantized parameters:.

Another technique for the lossless encoding of coarsely quantized values into a single PCM code is proposed within the MPEG1 audio standard (called grouping within the standard and used for layer <NUM>). This is explained in more detail within the standard ISO/IEC <NUM>-<NUM>:<NUM>.

The publication "<NPL> gives some information on coding of BCC parameters. It is proposed, that quantized ICLD parameters are differentially encoded.

and that finally, the more efficient variant is selected as the representation of an original audio signal.

The ISO/IEC text "Text of second working draft for MPEG Surround", ISO/IEC JTC <NUM>/SC <NUM>/WG <NUM> N7387, July <NUM>, Poznan, Poland, describes the MPEG Surround standard (Spatial Audio Coding, SAC), that is capable of recreating N channels based on M<N transmitted channels, and additional control data.

<CIT> provides a method and an apparatus for spectral envelope encoding. The disclosure teaches how to perform and signal compactly a time/frequency mapping of the envelope representation, and further, encode the spectral envelope data efficiently using adaptive time/frequency directional coding. The method is applicable to both natural audio coding and speech coding systems and is especially suited for coders using SBR or other high frequency reconstruction methods.

As mentioned above, it has been proposed to optimize compression performance by applying differential coding over frequency and, alternatively, over time and select the more efficient variant. The selected variant is then signaled to a decoder via some side information.

There has been quite some effort made to reduce the size of a downmix audio channel and the corresponding side information. Nonetheless the achievable bit rates are still too high to allow for every possible application. For example, streaming of audio and video content to mobile phones requires the least possible bit rates and therefore a more efficient encoding of the content.

It is the object of the present invention to provide an improved coding concept achieving a lossless compression of parameter values with higher efficiency.

In accordance with the first aspect of the present invention, this object is achieved by a compression unit for compression of parameters in accordance with claim <NUM>.

In accordance with the second aspect of the present invention, this object is achieved by a decoder for decoding encoded blocks of parameters in accordance with claim <NUM>.

In accordance with the third aspect of the present invention, this object is achieved by a method for compression of parameters in accordance with claim <NUM>.

In accordance with the fourth aspect of the present invention, this object is achieved by a computer program in accordance with claim <NUM>.

In accordance with the fifth aspect of the present invention, this object is achieved by a method for decoding encoded blocks of parameters in accordance with claim <NUM>.

In accordance with the sixth aspect of the present invention, this object is achieved by a computer program in accordance with claim <NUM>.

The present invention is based on the finding that parameters including a first set of parameters of a representation of a first portion of an original signal and including a second set of parameters of a representation of a second portion of the original signal can be efficiently encoded, when the parameters are arranged in a first sequence of tuples and in a second sequence of tuples, wherein the first sequence of tuples comprises tuples of parameters having two parameters from a single portion of the original signal and wherein the second sequence of tuples comprises tuples of parameters having one parameter from the first portion and one parameter from the second portion of the original signal. An efficient encoding can be achieved using a bit estimator to estimate the number of necessary bits to encode the first and the second sequence of tuples, wherein only the sequence of tuples is encoded, that results in the lower number of bits.

The basic principle therefore is, that one rearranges the parameters to be encoded, for example in time and in frequency, and finally uses the one arrangement( sequence of tuples) of the parameters for the compression, that results in the lower number of bits for the compressed parameters.

In an example, useful for understanding the invention but not forming part of the invention, two sets of spectral parameters, describing the spectral representation of two consecutive time portions of an original signal are adaptively grouped in pairs of two parameters to enhance the coding efficiency. Therefore, on the one hand a sequence of tuples is generated using tuples of parameters consisting of two neighboring frequency parameters from the same time portion. On the other hand, a second sequence of tuples is generated using tuples, that are built using a first parameter from the first time portion and the corresponding parameter from the second time portion of the original signal. Then, both sequences of tuples are encoded using a two-dimensional Huffman code. The two encoded sequences of tuples are compared in their sizes and the tuple resulting in the lower number of bits is finally selected to be transmitted. The information, which kind of tuples has been used to build the encoded data is transmitted to a decoder as additional side information.

One advantage of the previously described encoder is that due to the grouping of parameters into tuples consisting of two parameters, a two-dimensional Huffman code can be applied for the compression, which generally results in a lower bit rate.

A second advantage is, that the adaptive grouping, i.e. the concept to dynamically decide between two possible grouping strategies during the encoding process, yields a further decrease in the bit rate of the side information.

Deciding between the two grouping strategies only once for a set of two consecutive frames additionally reduces the amount of required side information, since the indication, which grouping strategy has been used during the encoding, has to be transmitted only once for a set of two complete consecutive time frames.

In a further embodiment of the present invention an inventive compression unit additionally comprises a differential encoder that differentially encodes the parameters either in time or in frequency prior to the adaptive grouping. That differential encoding together with the adaptive grouping and an appropriate Huffman codebook further reduces the size of the side information to be transmitted. The two differential encoding possibilities together with the two grouping strategies result in a total number of four possible combinations, further increasing the probability of finding an encoding rule, that results in a low side information bit rate.

In a further embodiment of the present invention, the inventive concept is used for a decompression unit, allowing to decode encoded blocks of parameters and to rebuild the original frames based on a side information signaling the grouping scheme underlying the encoded blocks of parameters. In an advantageous modification the inventive decoder also allows the decoding of data that has not been adaptively grouped, therefore a compatibility of the inventive decoder with existing equipment can be achieved.

Preferred embodiments of the present invention are subsequently described by referring to the enclosed drawings, wherein:.

<FIG> shows an inventive compression unit <NUM>, comprising a supplier <NUM>, a bit estimator <NUM> and a provider <NUM>.

The supplier <NUM> supplies a first sequence of tuples 106a and a second sequence of tuples 106b at two data outputs. The provider <NUM> receives the tuples 106a and 106b on two of his data inputs 108a and 108b. The bit estimator receives the two tuples on his data inputs 110a and 110b.

The bit estimator <NUM> estimates the number of bits that result from applying an encoding rule to the two tuples 106a and 106b. The bit estimator <NUM> chooses the tuple resulting in the lower number of bits and signals via a signaling output 112a, whether the tuple 106a or 106b will result in the lower number of bits.

Based on the decision of the bit estimator <NUM>, the tuple resulting in the lower number of bits is finally encoded into encoded blocks <NUM>, that are provided via output 120a of the provider <NUM>, wherein the provider further signals a sequence indication at his signaling line 120b, indicating what original sequence of tuples (106a or 106b) was encoded to derive the encoded blocks <NUM>.

In an alternative embodiment, the same functionality can be achieved, when the dashed connections 122a and 122b between the supplier <NUM> and the provider <NUM> are omitted. In this alternative scenario the bit estimator <NUM> would encode the sequence of tuples 106a and 106b, and would transfer two different encoded blocks 124a and 124b to the provider <NUM>, where the provider additionally signals from which of the original sequences of tuples 106a and 106b the encoded blocks 124a and 124b are derived. To this end, the signaling output 112a of the bit estimator <NUM> can be used or the signaling can be derived by the provider <NUM> implicitly.

In this alternative embodiment the provider <NUM> would simply forward the encoded block with the lower number of bits to its output 120a, additionally providing the sequence indication.

<FIG> shows an example of two adaptive grouping schemes that are used to derive a sequence of tuples to be encoded. To explain the principle of the adaptive grouping, four subsequent time frames 130a to 130d of an original signal are shown, wherein each of the frames is having a set of five spectral parameters 132a to 132e.

According to the example, the spectral parameters of two consecutive frames are grouped either in frequency, as illustrated by the tuples 134a and 134b or in time, as illustrated by the tuples 136a and 136b to build the sequences of tuples. The grouping in time results in a first sequence of tuples <NUM>, whereas the grouping in frequency results in the second sequence of tuples <NUM>.

The sequences of tuples <NUM> and <NUM> are encoded using for example a Huffman codebook, resulting into two different sequences of code words <NUM> and <NUM>. According to the present invention, the sequence of code words requiring the fewer number of bits, is finally transmitted to a decoder, that has to additionally receive a sequence indication, signaling whether time grouping or frequency grouping is underlying the sequence of code words. As can be seen in <FIG>, for the shown example of adaptive grouping of pairs of parameters (<NUM>-dimensional), the sequence indication can consist of only one single bit.

<FIG> shows some alternative grouping strategies that can be used to implement the adaptive grouping, allowing for Huffman codes with dimensions bigger than <NUM>, whereby the last alternative shows the adaptive grouping according to the invention.

<FIG> shows a grouping strategy for a two-dimensional Huffman code 146a, for a three-dimensional Huffman code 146b and for a four-dimensional Huffman code 146c. For each of the strategies two consecutive time frames are illustrated, wherein the parameters belonging to the same tuple are represented by the same capital letters.

In the case of the two-dimensional Huffman code the grouping is done as already illustrated in <FIG>, building two-dimensional tuples in frequency 148a and in time 148b. In case of building tuples consisting of three parameters, the frequency tuples 158a are such that three neighboring frequency parameters within one frame are grouped together to form a tuple. The time tuples 150b can be built such that two neighboring parameters from one frame are combined with one parameter from the other frame, as is shown in <FIG>.

In accordance with the invention, four-dimensional time grouped tuples 152a are built corresponding to the other time tuples by grouping four neighboring parameters of one frame into one tuple. The time grouping tuples 152b are built such that two neighboring parameters of one frame are combined with two neighboring parameters of the other frame, wherein the parameter pairs of the single frames are describing the same spectral property of the two consecutive time frames.

Allowing different grouping schemes, as illustrated in <FIG>, one can significantly reduce the bit rate of the side information, for example if one uses a variety of predefined Huffman codebooks of different dimensions, the dimension of the grouping can be varied within the encoding process such that the representation resulting in the lowest bit rate can be used at any time within the encoding process.

<FIG> shows, how an inventive compression unit, that additionally comprises a differential encoder, can be used to further decrease the side information, by applying some differential encoding before the Huffman encoding process.

To illustrate the differential encoding in time and frequency or in time and frequency, the same absolute representation of parameters <NUM> that was already shown in <FIG> is used as a basis for the various differential encoding steps. The first possibility is to differentially encode the parameters of the absolute representation <NUM> in frequency, resulting in the differentially encoded parameters <NUM>. As can be seen in <FIG>, to differentially encode the absolute representation <NUM>, the first parameter of each frame is left unchanged, whereas the second parameter is replaced by the difference of the second parameter and the first parameter of the absolute representation <NUM>. The other parameters within the differentially encoded representation are built following the same rule.

Another possibility is the differential coding in time, yielding the representation <NUM>. This representation is built by leaving the complete first frame unchanged, whereas the parameters of the following frames are replaced by the difference of the parameter of the absolute representation and the same parameter of the previous frame, as can be seen in <FIG>.

A third possibility is to first encode differentially in frequency, followed by a differential encoding in time or vice versa, both resulting in the same encoded representation <NUM>, that is differentially encoded in time and frequency.

It is to be noted, that one has the chance to use those four different representations of the original signal as input to the adaptive grouping. Having a look at the different representations <NUM> to <NUM> of the given example of parameters, one can clearly see how the differential encoding has impact on the transmitted rate of side information. Looking at the absolute representation <NUM>, one recognizes, that neither a grouping in time nor in frequency would result in tuples having the same content. Therefore no appropriate Huffman codebook is constructable, that would assign the shortest code words to the tuples occurring most.

The case is different looking at the differentially in frequency encoded representation <NUM>, where one could construct a Huffman codebook that only needs to have four entries to cover the full representation, and where either the tuple (<NUM>, <NUM>) or the tuple (<NUM>, <NUM>) would be assigned the code word with minimum length, to achieve a compact side information.

The advantage is less obvious in the representation being differentially encoded in time <NUM>. Nonetheless one can gain also here, grouping in frequency and making use of the numerous tuples (<NUM>, <NUM>) and (<NUM>, <NUM>).

For the representation that is differentially encoded in time and in frequency <NUM>, one would even achieve a further reduction of the side information bit rate than in the representation <NUM>, since a grouping in time would result in a high multiplicity of the tuple (<NUM>, <NUM>), as indicated in the figure, allowing to construct a Huffman codebook, that would assign the shortest code word to the previous tuple.

As can be clearly seen in <FIG>, the high flexibility of the inventive concept making use of adaptive grouping and of differential encoding allows to choose the strategy that fits the original audio signal most, thus allowing to keep the side information bit rate low.

To summarize, in one preferred embodiment the quantized parameter values are first differentially encoded over time (variant <NUM>) and differentially over frequency (variant <NUM>). The resulting parameters can then be grouped adaptively over time (variant a) and frequency (variant b). As a result, four combinations are available (1a, 1b, 2a, 2b) from which the best is selected and signaled to the decoder. This could be done by a <NUM> bit information only, representing the variants 1a, 1b, 2a, 2b by, for example, the bit combination <NUM>, <NUM>, <NUM>, <NUM>.

<FIG> shows a decoder according to the current invention, to decode encoded blocks of parameters, wherein the block of parameters includes a first frame having a set of first spectral parameters and a second frame having a set of second spectral parameters.

The decoder <NUM> comprises a decompressor <NUM> and a frame builder <NUM>. The decompressor receives on an input an encoded block of parameters <NUM>. The decompressor derives, using a decoding rule, a sequence of tuples of parameters <NUM> from the encoded block of parameters <NUM>. This sequence of tuples of parameters <NUM> is input into the frame builder <NUM>.

The frame builder additionally receives a sequence indication <NUM>, indicating what sequence of tuples have been used by the encoder to build the encoded block of parameters.

The frame builder <NUM> then reorders the sequence of tuples <NUM> steered by the sequence indication <NUM> to reconstruct the first frame 112a and the second frame 112b from the sequence of tuples of parameters <NUM>.

Preferred embodiments of the present invention described above achieve a further enhancement of the coding efficiency by introducing adaptive grouping of values to be coded using a multi-dimensional Huffman code. As an example, both, two-dimensional grouping of values over frequency can be done as well as two-dimensional grouping of values over time. The encoding scheme would then do both types of encoding and choose the more advantageous one (i.e. the variant which requires less bits). This decision is signaled to the decoder via side information.

In further examples, as illustrated in <FIG>, it is also possible to build higher-dimensional Huffman codes, applying different grouping strategies to build the tuples. The given examples show grouping strategies that build the tuples by grouping together parameters from two consecutive frames only. Although not forming part of the invention, it is also possible to do the grouping using parameters from three or more consecutive frames, doing the grouping in a straight forward way.

In a modification of the inventive encoder, it is also possible to combine the differential grouping and the differential encoding strategies with the use of different Huffman codebooks to derive the shortest possible representation of the side information. This could further reduce the side information bit rate of an encoded audio signal at the cost of having additional side information parameters, signaling the Huffman codebook used for the encoding.

The described preferred embodiments of the present invention show the inventive concept for examples, where the grouping strategy does not change within two consecutive time frames. In a modification of the present invention it is of course also possible, to have multiple changes between the grouping in time and in frequency within a set of two frames, which would imply that the sequence indication is also supplied within the frames, to signal the change of grouping strategy.

In the given examples, the parameters are differentially encoded before being Huffman encoded. Of course every other lossless encoding rule is also possible prior to the Huffman encoding of the parameters, the aim of the encoding being to derive as much tuples with the same content as possible.

There are four different possible parameter representations given in <FIG>, namely the absolute representation, the differential representation in frequency, the differential representation in time and the differential representation in time and frequency. To choose between four representations, the side information signaling which representation has been used, has to be at least two bits in size, as indicated in <FIG>. To balance the win of a possible efficiency gain of the coding versus the additional spectral representation indication, one could of course also decide to principally allow only two possible representations, reducing the spectral representation indication to the length of a single bit.

As an example of an inventive decoder, <FIG> shows a decoder <NUM> that receives in addition to the encoded block of parameters <NUM> some side information. The side information steering the frame builder <NUM> only comprises a sequence indication <NUM> in the given example. A decoder according to the present invention can of course process any other side information required, especially a spectral representation indication, indicating the spectral representation that has been used to encode original frames.

Depending on certain implementation requirements of the inventive methods, the inventive methods can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, in particular a disk, DVD or a CD having electronically readable control signals stored thereon, which cooperate with a programmable computer system such that the inventive methods are performed. Generally, the present invention is, therefore, a computer program product with a program code stored on a machine readable carrier, the program code being operative for performing the inventive methods when the computer program product runs on a computer. In other words, the inventive methods are, therefore, a computer program having a program code for performing at least one of the inventive methods when the computer program runs on a computer.

Claim 1:
Compression unit for compression of parameters, the parameters including a first set of parameters including a representation of a first portion of an original audio signal, the parameters further including a second set of parameters including a representation of a second portion of the original audio signal, the second portion neighboring the first portion, comprising:
a supplier (<NUM>) configured for supplying a first tuple (152a) and a second tuple (152b), each tuple being a four-dimensional tuple having exactly four parameters, wherein the first set of parameters includes a representation of a first frame (130a) of the original audio signal and wherein the second set of parameters includes a representation of a second frame (130b) of the original audio signal;
a bit estimator (<NUM>) configured for estimating a number of bits necessary to encode the sets of parameters using a first sequence (<NUM>) of tuples including the first tuple (152a) and to encode the sets of parameters using a second sequence (<NUM>) of tuples including the second tuple (152b), based on an encoding rule; and
a provider (<NUM>) configured for providing encoded blocks (<NUM>), the provider (<NUM>) being operative to provide the encoded blocks (<NUM>) using the sequence of tuples resulting in a lower number of bits, and for providing a sequence indication (120b) indicating the sequence of tuples from which the encoded blocks (<NUM>) are derived,
wherein the supplier (<NUM>) is operative to supply the first tuple (152a) consisting of four parameters from the first set of parameters, the parameters being neighbored parameters of one frame within the representation of the original audio signal; and
the second tuple (152b) consisting of
two parameters from the first set of parameters, the two parameters being neighbored within the representation of the original audio signal, and
the same number of parameters from the second set of parameters, the same number of parameters being neighbored within the representation of the original audio signal,
wherein the two parameters from the first set of parameters and the same number of parameters from the second set of parameters describe the same frequency band in the first frame (130a) and in the second frame (130b).