HK1069264B - Method and devices for coding/decoding an audio signal - Google Patents

Method and devices for coding/decoding an audio signal Download PDF

Info

Publication number
HK1069264B
HK1069264B HK04109985.4A HK04109985A HK1069264B HK 1069264 B HK1069264 B HK 1069264B HK 04109985 A HK04109985 A HK 04109985A HK 1069264 B HK1069264 B HK 1069264B
Authority
HK
Hong Kong
Prior art keywords
code
spectral
code word
bit stream
priority
Prior art date
Application number
HK04109985.4A
Other languages
German (de)
French (fr)
Chinese (zh)
Other versions
HK1069264A1 (en
Inventor
Ralph Sperschneider
Martin Dietz
Andreas Ehret
Karlheinz Brandenburg
Heinz Gerhauser
Ali Nowbakht-Irani
Pierre Lauber
Roland Bitto
Original Assignee
弗兰霍菲尔运输应用研究公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE1997147199 external-priority patent/DE19747199A1/en
Priority claimed from DE19840853A external-priority patent/DE19840853B4/en
Application filed by 弗兰霍菲尔运输应用研究公司 filed Critical 弗兰霍菲尔运输应用研究公司
Publication of HK1069264A1 publication Critical patent/HK1069264A1/en
Publication of HK1069264B publication Critical patent/HK1069264B/en

Links

Description

The present invention relates to processes and devices for encoding or decoding an audio signal or bit stream capable of performing error-resilient entropy encoding or decoding, and in particular error-resilient Huffman encoding or decoding.
Modern audio coding or decoding techniques, such as those that work with the MPEG-Layer 3 standard, are capable of compressing the data rate of audio signals by, for example, a factor of 12, without significantly decreasing the quality of the same. To achieve such a high data rate reduction, an audio signal is scanned, resulting in a sequence of time-discrete scan values. As is known in the art, this sequence of time-discrete scan values is framed by appropriate window functions to produce framed blocks of time-discrete scan values. A time-discrete block of window values is then produced by means of a filter, which is a discrete, specially modified data bank (MDCT) that is always transformed in the direction of the frequency band 1024 or MDCT, in order to produce a 50% frequency band in the frequency band, which is always given by a discrete, discrete, discrete transformer.
It is known that the receptivity of the human ear depends on the momentary spectrum of the audio signal itself. This dependence is captured in the so-called psychoacoustic model, which has long made it possible to calculate masking thresholds depending on the momentary spectrum. Masking means that a certain sound or spectral part is obscured when, for example, a neighboring spectral range has a relatively high energy. This fact of masking is exploited to quantise as roughly as possible the spectral values present after the transformation.The noise introduced by the quantization is to be below the masking threshold and thus inaudible. According to known procedures, therefore, a classification of the spectral values into so-called scale factor bands is carried out, which should correspond to the frequency groups of the human ear. Spectral values in a scale factor group are multiplied by a scale factor to scale spectral values of a scale factor as a whole. The scale factor bands scaled by the scale factor band are then quantized, resulting in quantized spectral values.
A very important aspect of data reduction is the entropy coding of the quantized spectral values following quantization. For entropy coding, Huffman coding is commonly used. Huffman coding is a variable-length coding, i.e. the length of the code word for a value to be coded depends on its occurrence probability. Logically, the shortest code, i.e. the shortest word code, is assigned to the most likely character, so that a very good redundancy reduction can be achieved with Huffman coding.
In audio coding, Huffman codes are used to encode the quantized spectral values. A modern audio codec, for example, working according to the MPEG-2 AAC standard, uses various Huffman code tables to encode the quantized spectral values, which are assigned to the spectrum by sections according to certain criteria.
Err1:Expecting ',' delimiter: line 1 column 261 (char 260)
A section is now assigned a so-called Huffman table from a number of such tables, just as in the MPEG-Layer-3 method, to achieve maximum redundancy reduction. In the bitstream of the AAC method, which usually has 1024 spectral values, the Huffman codewords for the spectral values are now in ascending frequency order.
Fig. 2 shows an example where the bitstream contains 10 Huffman codewords. Whenever a codeword is formed from a spectral value, 10 spectral values can be encoded here. However, usually 2 or 4 spectral values are always encoded together by a codeword, so Fig. 2 represents a part of the encoded bitstream containing 20 or 40 spectral values respectively.The code words with the numbers 2 and 8 respectively are relatively common, as the length of the individual code words is relatively small. The same is true for the code words with the numbers 6 to 10.
As already mentioned, it is clear from Fig. 2 that the Huffman code words for the coded spectral values are arranged linearly in increasing order in the bit stream with respect to frequency when considering a bit stream generated by a known coding device.
A major disadvantage of Huffman codes in the case of faulty channels is error propagation. For example, suppose that the codeword No. 2 in Fig. 2 is disturbed. With a certain not low probability, then the length of this wrong codeword No. 2 is also changed. It is thus different from the correct length. If in the example in Fig. 2 the codeword No. 2 has been changed in relation to its length by a disturbance, it is no longer possible for a coding engineer to determine the beginnings of codewords 3 - 10, i.e. almost the entire displayed audio code.
European Patent No 0612156 proposes that a solution to the problem of error reproduction is to arrange a part of the variable-length codewords in a grid and to distribute the remaining codewords in the remaining gaps, so that the beginning of a codeword can be more easily found without complete decoding or in case of erroneous transmission.
The known method partially removes error propagation by re-sorting the codewords. For some codewords a fixed place in the bitstream is agreed, while for the remaining codewords the remaining spaces are available. This does not cost additional bits, but in case of error prevents error propagation among the re-sorted codewords.
However, the decisive parameter for the efficiency of the known process is how the grid is determined in practical application, i.e. how many grid points must be used, what grid spacing the grid points have, etc. However, European Patent 0612156 provides no further guidance on how to design the grid efficiently, in addition to the general guidance on using a grid to reduce error propagation, in order to allow both error-proof coding and efficient coding.
EP 0 424 016 A2 reveals a method for the ear-adapted coding of audio signals. An estimate of the masking threshold of audio signals is determined as a function of frequency. In particular, a tonality index is generated which provides detailed information useful in forming the noise masking function. Decoding obtains the spectral information of the audio signal, and the decoder reconstructs an ear-adapted representation of the original spectrum based on transmitted page information. The page information can be an explicit indication of the quantization step or information relating to the type and manner of assignment of bits. Other information, which can also be used to decode a window, echo-forming, and other interpretation, can be used to decode and interpret other pages.
The present invention is intended to provide a concept for error-proof and yet efficient decoding of a bitstream.
This task is solved by a bitstream decoding process as described in claim 6 or by a bitstream decoding device as described in claim 1.
The use of the present invention in the present embodiments is to take advantage of the fact that the grid already proposed is designed or occupied in a certain way to achieve, in addition to a fault-resilient decoding, also an efficient decoding. The usefulness of this is that the codewords obtained by entropy coding in the form of a Huffman coding are inherently of different lengths, since the greatest coding gain is achieved when assigning a codeword to a value that occurs most frequently to a codeword that is as short as possible.
Err1:Expecting ',' delimiter: line 1 column 1644 (char 1643)
In the example, priority code words assigned to spectral values that are psychoacoustically significant are arranged in a grid in such a way that the beginning of the priority code words coincides with the grid points.
In another example, the grouping of spectral values into spectral segments is performed, with each spectral segment being assigned a different coding table.
A grid is now used which has several groups of grid points which are equidistant in themselves, such that the distance between the grid points of one group of grid points depends on the coding table used to encode a spectral section; in another spectral section another coding table is used to achieve optimal data reduction; in the other coding table another group of equidistant grid points is assigned, whereby the distance between two grid points of these other groups of grid points depends on the corresponding further coding table.
The distance between two grid points in the grid group assigned to this code table can now be chosen to be equal to or greater than the maximum code word length in the code table, so that the longest code word in this code table also has space in the grid.
Err1:Expecting ',' delimiter: line 1 column 897 (char 896)
Another way to determine the different grid point distances is to use the length of the longest actually occurring code word in the bitstream in an encoded spectral segment instead of the maximum code word length of a table.
Err1:Expecting ',' delimiter: line 1 column 297 (char 296)
In addition, according to another example, instead of a linear arrangement of codewords increasing in frequency, an arrangement can be used in which, for example, only every nth codeword (e.g. every 2nd or every 3rd or every 4th, ...) is arranged in the grid.
It is also preferable that the priority code words be determined in a certain way to achieve efficient operation, and therefore it is preferable to dismiss the assumption that the psychoacoustically important code words, i.e. priority code words, are those that encode the low frequency spectral values.
Priority codewords are usually codewords that encode psychoacoustically significant spectral lines, which are usually high energy spectral values.
For example, in the AAC standard there are eleven code tables with different absolute ranges. Code table No. 1 includes, for example, spectral values with an absolute value from -1 to +1, while code table No. 11 can encode spectral values from -8191 to +8191. The higher the code table, the larger the range allowed by the same value. This means that code tables with low numbers represent only relatively small values and therefore allow only relatively small errors, while code tables with higher numbers can represent relatively large values and therefore also allow relatively large errors.
If an error occurs in a low codebase, it may not be audible at all, because a faulty spectral line is created that is not as different from the originally correct spectral line in absolute terms. However, if an error occurs in the highest codebase, this error can in principle assume all possible absolute values in this codebase. If a spectral line encoded with the highest codebase, for example, had a low value and is decoded as a spectral line by an error during transmission in the decoder as having the highest value of this codebase, then this faulty spectral line will certainly be audible.
The most important code table for robustness is therefore the highest code table (code table No 11 for the AAC standard) as this code table allows escape values with a range between -213 + 1 (-8191) and +213 - 1 (+8191).
In another example, the AAC standard uses short windows for transient signals, decreasing the frequency resolution in favour of a higher temporal resolution, determining the priority code words so that psychoacoustically important spectral values, i.e. spectral values at lower frequencies or spectral values from higher coding tables, are placed at grid points with certainty, and eliminating the scale factor nesting used in the AAC standard.
The following are examples of preferred embodiments of the present invention, discussed in more detail in connection with the accompanying drawings. Fig. 1 an example of a grid of an encoded bitstream containing codewords, according to an example of an embodiment; and Fig. 2 a linear arrangement of codewords increasing in frequency according to the state of the art.
To illustrate the present invention, priority codewords are shown in bold in Figure 2, which is a known linear sequence of codewords of varying lengths, increasing with frequency. In Figure 2, priority codewords are codewords Nos. 1 to 5. As mentioned above, the codewords assigned to frequency-specifically low spectral values are then priority codewords if the audio signal contains, for example, a high proportion of speech or many tones which are relatively frequent. The codewords Nos. 6 to 10 in Figure 2 refer to much higher frequency spectral values which, while contributing to the overall impression of the decoded audio signal, do not have a significant impact on the psycho-pressure, but are probably less depressant.
Figure 1 now shows a bitstream having a number of grid points 10 - 18, where the distance between grid point 10 and grid point 12 is designated D1 while the distance between grid point 14 and grid point 16 is designated D2.
As regards the presentation of an embodiment example, only the part of the bitstream not specified in Fig. 10 is considered, which extends from grid point 10 to grid point 14. The priority code words 1 and 2 are now aligned in the grid to ensure that the main spectral components in the lower frequency range of the example signal shown in Fig. 2 are not subjected to error propagation when encoded. Non-priority words of the bitstream not specified in Fig. 14 are arranged according to the priority code words in order to fill the grid. It is not necessary to place the non-priority words at the end of the grid, since the number of words of a Huffman decode code is automatically indicated by the number of bits of a decode code. For example, in the case of a single bitstream, it is possible to know whether a single word of a particular bitcode has been added to the first and second priority code, i.e. whether a single bitcode has been added to the first and second priority code, i.e. whether a single bitcode has been added to the second priority code, i.e. in the case of a 9a, 7a, 8a, 8b, 8a, 8b, 8a, or 8a, and so on the first line.
As shown above, the second part of the bitstream of Fig. 1 already refers to another embodiment. If the D1 grid spacing were not changed to a smaller D2 grid spacing, a D1 grid spacing in which all priority code words 1 to 5 are to be arranged would result in such a long bitstream that there are not enough non-priority code words to fill all the remaining gaps in the grid, so to speak.
Err1:Expecting ',' delimiter: line 1 column 412 (char 411)
The bitstream is now accelerated by using 2 groups of grid points, the first group of grid points having grid points 10, 12 and 14, while the second group of grid points has grid points 14, 16 and 18. Furthermore, it is assumed that the Huffman code table has been assigned to the 0 spectral section, while the Huffman code table has been assigned to the 1 spectral section. Furthermore, it is assumed that the code word 2 is the n-word of the code word, which is the largest or the largest of the n-word of the table.
The bitstream section between grid point 14 and the end of the bitstream at codeword 10 shows, however, that in this example the codeword with the maximum length of the code table m does not appear in the bitstream.
The width of the grid is therefore set according to the coding table used in this example, but it should be noted that in this case the coding table used must already be known in the decoder for decoding, as a coding table number is already transmitted as side information for each spectral section, which allows a decoder to identify the coding table used from a given set of 11 different Huffman tables in this example.
Err1:Expecting ',' delimiter: line 1 column 1118 (char 1117)
According to another embodiment of the present invention, the spacing of the grid points of a group (e.g. group 1 or group 2) is set not to the length of the longest code word of a code table, but to the length of the longest actually occurring code word in a bit stream belonging to a code table. This is a further improvement over the previous embodiment, since even with this method the coding efficiency of the escape table is still not optimal. For coding reasons, the maximum code length of this table (within a spectrum) is significantly lower. The longest code word in the escape table is usually 49 bits long, for example.
Err1:Expecting ',' delimiter: line 1 column 886 (char 885)
The transmission of the maximum length of a codeword in a spectral section or block according to the present invention has a favourable side effect. The decoder can, according to the invention, on the basis of the maximum actual length, determine whether a longer codeword is present in a bitstream that may be disturbed. Long codewords usually mean a high energy of the spectral values. If a transmission error causes a very long codeword, exceptionally audible disturbances can occur.
It should be noted that the maximum number of grid points is desirable for the most error-resilient yet efficient coding. However, the number of grid points upwards is limited by the total length of the bitstream. This should not be increased by the grid, of course, as this would leave unused areas in the bitstream that would contradict the philosophy of the overall data compression.The flexibility would ideally lead to assigning a grid point to essentially every codeword, which is of course only possible with considerable effort.However, the arrangement of the grid points, i.e. the determination of the grid point distances depending on the code tables for each spectral section, allows a very efficient approach to the optimal state, especially since not all codewords are psychoacoustically significant, and especially since all psychoacoustically less significant codewords should also be sorted in the bitstream between the psychoacoustically important codewords arranged in a grid order so as not to leave any unused places in the bitstream.
Err1:Expecting ',' delimiter: line 1 column 224 (char 223)
Err1:Expecting ',' delimiter: line 1 column 858 (char 857)
In addition, the number of grid points for a bitstream is limited by the total length and the chosen grid point distance. For example, when a low-bandwidth scan is envisaged, it may be the case that the majority of the codewords are psychoacoustically significant codewords, since the signal has a theoretical possible useful bandwidth of 8 kHz when a 16 kHz shutdown rate is used.Err1:Expecting ',' delimiter: line 1 column 427 (char 426)If the spectral value or every third, etc., is known, the code words in between, if damaged during transmission, may be recovered in the decoder by error-masking techniques, such as prediction, etc.
The methods or devices for decoding a bitstream essentially mirror the coding described.
In a general method of decoding a bitstream representing an encoded audio signal, where the encoded bitstream has codewords of different lengths from a coding table and a grid with equidistant grid points (10, 12, 14), where the codewords have priority codewords representing certain spectral values that are psychoacoustically significant compared to other spectral values, and where priority codewords are aligned with grid points, (a) the distance D1 between two approachable grid points is recorded; (b) when the distance between two loudness grid points is known, (c) the grid points can be recoded in decoded bitcode in a decoded coding code in a decoded way that allows the decoded bitcode to be decoded in a way that allows the precedence of the frequency (for example, a linear sequence) to be obtained in a linear order (for example, a linear sequence) in which the audio values can be recoded in a sequence of priority values (for example, a linear sequence of frequencies) that can be obtained in a linear order (for example, a linear sequence of frequencies) in which the priority values are given in a given priority range, and which the noise can be recoded in a linear order (for example, in a linear sequence of frequencies) in a given frequency, in a given frequency, and in a given frequency range, and in a given frequency, and in a given frequency, where the same frequency, the same frequency, and the same frequency, and the same frequency, respectively, are used.
If the bitstream is encoded with only a single codetable, the distance between the grid points can be easily determined by taking the page information of the bitstream with which the codetable was encoded. Depending on the coding described, the distance is, for example, the length of the longest codeword of this table, which could be set in the encoder. If the distance is the length of the longest codeword actually occurring in a part of the bitstream to which a codetable is assigned, the same is transmitted to the decoder by means of the page information assigned to the bitstream, etc.
The decoder performs a rearrangement of the priority codewords and also the non-priority codewords by applying a pointer to the encoded bitstream. If the decoder knows the grid distance, then the same can jump to a grid point in frequency linear arrangement of the priority codewords and read the codeword starting there. When the reading of a codeword is finished, the pointer jumps to the next grid point and repeats the described process. If all priority codewords are read, then the non-priority codewords are already in the bitstream.
If a coding according to the third or fourth aspect of the present invention has been chosen, then scramble information can either be transmitted as page information or a scramble distribution is a priori determined and thus known to the decoder in advance.
The following describes a useful way of determining and handling priority codewords: after setting a grid for an encoded bitstream, by determining the grid spacing when using a single code table or the grid spacing when using multiple code tables, the priority codewords must be positioned in the grid so that the beginning of each priority codeword coincides with a grid point.
According to a preferred embodiment of the invention, this positioning is carried out in such a way that codewords from a sort table are sorted sequentially into the sort table's sort table. This is done starting with the first codeword in the sort table. By sorting the codewords into the sort table, therefore, the priority codewords can be influenced, whereby priority codewords are always the codewords of the sort table that have space in the grid, i.e. for the grid points.
The number of priority codewords is not predetermined. Priority codewords are written until the available memory for the encoded bitstream is full, i.e. until no further priority codeword can be written. The size of the memory is determined by the total number of bits previously used for the spectral data, i.e. the rasterization does not require additional bits. The memory is therefore limited by the number of codewords so that the coding efficiency does not decrease due to the rasterization.
An example of an embodiment is the determination of priority codewords, i.e. codewords representing spectral values that are psychoacoustically significant compared to other spectral values. For example, a psychoacoustically significant spectral line is a spectral line that contains more energy than another spectral line. Generally speaking, the more energy a spectral line contains, the more important it is.
The high-energy spectral lines have been assumed to be preferably at the lower end of the spectrum, which is true in many cases but not in some. An example of an embodiment goes beyond this assumption by using an implicit indicator to estimate the energy of the spectral line or lines encoded in a codeword when multiple spectral lines are encoded in a codeword.
This indicator is the code book or code table used, which may be, for example, a Huffman code table. For example, the AAC standard uses eleven tables. The range of values of these tables varies considerably. The maximum absolute values of Tables 1 to 11 are as follows: The number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of the number of
The maximum error is table-dependent, because of these different ranges of values. It is twice the absolute value of the given absolute value, taking into account the prefix for each table either explicitly present in the table or transmitted outside the table. According to the invention, the determination of the priority codewords is carried out on the basis of the code table used, with the indicator being the highest absolute value and implicitly the code table number. First, codewords are considered whose code table has the largest value range. Then, codewords whose code table has the second largest value, etc. In the example of the AAC standard, some codewords are considered as the table 11 followed by table 10 and some are placed in the following table 9 to table 2 and finally, the ones with the lowest priority are placed in the first and second row, and some are placed in the first row, with the lowest priority.
The advantage of this determination of codewords is that no additional information needs to be transmitted to the decoder, since the tables used are already transmitted in the page information and the decoder can determine from this information the codeword order used during the transmission.
Err1:Expecting ',' delimiter: line 1 column 139 (char 138)
For example, the AAC standard uses a group of eight MDCTs with 128 inputs instead of a 1024-output MDCT. This increases the time resolution of the encoder at the expense of frequency resolution. In general, short windows are used for transient signals. When short windows are used, for example, AAC produces eight consecutive full spectra, i.e. eight sets of spectral values, each set of spectral values covering the entire spectrum.
Err1:Expecting ',' delimiter: line 1 column 84 (char 83)
The following example shows this: in the example, a grouping was made into three groups: the first group contains two windows, the second group contains three windows and the third group also contains three windows. Each spectrum has 12 scale factor bands. The grouping is then as follows: The first group, the second window, the second window, the first scale factor band, the second group, the third window, the first scale factor band, the second group, the fourth window, the first scale factor band, the second group, the fifth window, the first scale factor band, the second group, the third window, the second scale factor band...
Err1:Expecting ',' delimiter: line 1 column 621 (char 620)
In a preferred embodiment, each unit is given 4 spectral lines. In the AAC standard, each window contains 32 units, which corresponds to 128 spectral lines. First window, first unit second window, first unit... eighth window, first unit first window, second unit second window, second unit... eighth window, second unit first window, third unit...
Err1:Expecting ',' delimiter: line 1 column 832 (char 831)
It should be noted that the pre-sorting of code words into a sort table is equivalent to determining the priority code words, since this table itself determines whether code words can be written at grid points with a very high probability.
In contrast, this pre-sorting is not done by means of a sort table, but can also be done by indexing, so that an indexing of the individual code words takes place, this indexing determining the order in which the indexed code words are written into the bit stream.
The AAC standard shows that some codebases are two-dimensional or four-dimensional, i.e. that a codeword encodes two or four spectral values respectively. It is therefore advantageous to group four or multiple spectral lines into a unit, since codewords encoding the same frequency range can be sorted directly in succession. The number of spectral lines from a unit is therefore preferably divisible by the different dimensions of the code table, i.e. the number of lines per unit must be a common multiple of the number of lines per codeword and preferably the smallest common multiple.
An increase in efficiency can be achieved by combining two of the examples described. In the case of short windows, if the re-sorting of the invention into units has been performed, the priority codeword determination can be down-sorted by the code table indicator, so that the result of the unit re-sorting is re-sorted to ensure that the codewords from higher code tables become priority codewords positioned at fixed grid points to achieve high error reliability.

Claims (8)

  1. An apparatus for decoding a bit stream, the bit stream comprising words (1, 2, 6, 7a) of different lengths from a code table (n) and, as side information, the length of the longest actually occurring code word in a block (0), characterized by:
    a decoder for decoding a bit stream, using the code table, the decoder being operative to detect whether a code word extracted from the bit stream is longer than the length of the longest actually occurring code word and therefore is a wrong code word, wherein a countermeasure is taken if such a wrong code word is detected.
  2. An apparatus according to claim 1, wherein fading out or disguising the wrong code word is performed as a countermeasure.
  3. An apparatus according to claim 1 or claim 2, wherein the bit stream represents an encoded audio signal, and wherein a long code word corresponds to a spectral value of the audio signal having high energy as compared with a comparably short code word corresponding to a spectral value having comparably low energy.
  4. An apparatus according to one of the preceding claims, wherein the bit stream represents an encoded audio signal, wherein the bit stream contains code words of different lengths from a code table and comprises a raster with equidistant raster points (10, 12, 14), wherein the code words include priority code words representing certain spectral values of a block of spectral values that are psycho-acoustically important as compared with other spectral values, wherein the block of spectral values represents a spectrum of a block of time samples of the audio signal, and wherein priority code words are aligned with raster points so that the beginning of a priority code word representing a spectral value of the block of spectral values coincides with a raster point, and that the beginning of another priority code word representing another spectral value of the block of spectral values coincides with another raster point, wherein the apparatus further comprises:
    a unit for detecting the distance (D1) between two adjacent raster points using the length of the longest actually occurring code word transmitted as side information in the bit stream, and for setting the distance equal to the length; and
    a unit for reading the priority code words aligned with the raster points in the encoded bit stream,
    wherein the beginning of a priority code word coincides with a raster point, so that the priority code words can be decoded using an associated code table to obtain decoded spectral values, and are transformed back into the time domain to obtain a decoded audio signal.
  5. An apparatus according to claim 4, wherein the encoded bit stream contains code words of different lengths from at least two code tables and comprises a raster with at least two groups of equidistant raster points (10, 12, 14 and 14, 16, 18), and, as side information, for one portion, the length of the longest actually occurring code word of the spectral portion, wherein the apparatus further comprises a unit for identifying the code table associated with a spectral portion, wherein the unit for detecting further is operative to set the distance between two raster points for code words associated with the spectral portion equal to the length of the longest actually occurring code word of the spectral portion, and wherein, when decoding, the priority code words of a spectral portion are decoded with the corresponding associated code table, and wherein the decoder further is operative to detect, for a portion, the code words associated with a portion, whether a code word associated with the portion is longer than the length of the longest actually occurring code word.
  6. A method of decoding a bit stream, the bit stream comprising code words (1, 2, 6, 7a) of different lengths from a code table (n) and, as side information, the length of the longest actually occurring code word in a block (0), comprising:
    decoding the bit stream, using the code table, wherein, in the step of decoding, it is detected whether a code word extracted from the bit stream is longer than the length of the longest actually occurring code word and therefore is a wrong code word; and
    taking a countermeasure if such a wrong code word is detected.
  7. A method according to claim 6, wherein the bit stream represents an encoded audio signal, wherein the bit stream contains code words of different lengths from a code table and comprises a raster with equidistant raster points (10, 12, 14), wherein the code words include priority code words representing certain spectral values of a block of spectral values that are psycho-acoustically important as compared with other spectral values, wherein the block of spectral values represents a spectrum of a block of temporal samples of the audio signal, and wherein priority code words are aligned with raster points, so that the beginning of a priority code word representing the spectral value of the block of spectral values coincides with a raster point, and the beginning of another priority code word representing another spectral value of the block of spectral values coincides with another raster point, wherein the method further comprises:
    detecting the distance (D1) between two adjacent raster points, using the length of the longest actually occurring code word transmitted as side information in the bit stream, and setting the distance equal to the length; and
    re-sorting the priority code words aligned with the raster points in the encoded bit stream such that a linear arrangement of the same frequency is obtained,
    wherein the beginning of the priority code word coincides with a raster point, so that the priority code words can be decoded using an associated code table to obtain decoded spectral values, and can be transformed back into the time domain to obtain a decoded audio signal.
  8. A method according to claim 7, wherein the encoded bit stream contains code words of different lengths from at least two code tables and comprises a raster with at least two groups of equidistant raster points (10, 12, 14 and 14, 16, 18), and, as side information, for a portion, the length of the longest actually occurring code word of the spectral portion, wherein the apparatus further comprises a unit for identifying the code table associated with a spectral portion, wherein, in the step of detecting the distance, the distance between two raster points for code words associated with the spectral portion is set equal to the length of the longest actually occurring code word of the spectral portion, and wherein, when decoding, the priority code words of a spectral portion are decoded with the corresponding associated code table, and wherein the sub-steps of detecting and taking are performed for a portion, using the length of the longest actually occurring code word for the respective portion, which is contained as side information in the bit stream.
HK04109985.4A 1997-10-24 2004-12-16 Method and devices for coding/decoding an audio signal HK1069264B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE1997147199 DE19747199A1 (en) 1997-10-24 1997-10-24 Rotary piston machine as an internal combustion engine
DE19747199 1997-10-24
DE19840853A DE19840853B4 (en) 1997-10-24 1998-09-07 Methods and devices for encoding an audio signal
DE19840853 1998-09-07

Publications (2)

Publication Number Publication Date
HK1069264A1 HK1069264A1 (en) 2005-05-13
HK1069264B true HK1069264B (en) 2009-11-27

Family

ID=

Similar Documents

Publication Publication Date Title
CA2356869C (en) Method and devices for coding or decoding an audio signal or bit stream
US8046236B2 (en) Apparatus and method for producing a data stream and apparatus and method for reading a data stream
EP1072036B1 (en) Fast frame optimisation in an audio encoder
US6930618B2 (en) Encoding method and apparatus, and decoding method and apparatus
EP2251981B1 (en) Method and apparatus for coding and decoding
HK1069264A1 (en) Method and devices for coding/decoding an audio signal
HK1069264B (en) Method and devices for coding/decoding an audio signal
JP3902642B2 (en) Method and apparatus for encoding or decoding audio signals or bitstreams
AU754371B2 (en) Method and device for generating a data flow from variable-length code words and a method and device for reading a data flow from variable-length code words
HK1033049B (en) Efficient coding of side information in a lossless encoder