[go: up one dir, main page]

HK1045747B - Using gain-adaptive quantization and non-uniform symbol lengths for audio coding - Google Patents

Using gain-adaptive quantization and non-uniform symbol lengths for audio coding Download PDF

Info

Publication number
HK1045747B
HK1045747B HK02107256.2A HK02107256A HK1045747B HK 1045747 B HK1045747 B HK 1045747B HK 02107256 A HK02107256 A HK 02107256A HK 1045747 B HK1045747 B HK 1045747B
Authority
HK
Hong Kong
Prior art keywords
components
signal
subband
gain factor
quantized
Prior art date
Application number
HK02107256.2A
Other languages
Chinese (zh)
Other versions
HK1045747A1 (en
Inventor
格兰特‧阿伦‧大卫森
格蘭特‧阿倫‧大衛森
查尔斯‧奎托‧罗宾逊
米切尔‧米德‧特鲁门
查爾斯‧奎托‧羅賓遜
米切爾‧米德‧特魯門
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26968028&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=HK1045747(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US09/349,645 external-priority patent/US6246345B1/en
Application filed by 多尔拜实验特许公司, 多爾拜實驗特許公司 filed Critical 多尔拜实验特许公司
Publication of HK1045747A1 publication Critical patent/HK1045747A1/en
Publication of HK1045747B publication Critical patent/HK1045747B/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

Techniques like Huffman coding can be used to represent digital audio signal components more efficiently using non-uniform length symbols than can be represented by other coding techniques using uniform length symbols. Unfortunately, the coding efficiency that can be achieved by Huffman coding depends on the probability density function of the information to be coded and the Huffman coding process itself requires considerable processing and memory ressources. A coding process that uses gain-adaptive quantization according to the present invention can realize the advantage of using non-uniform length symbols while overcoming the shortcomings of Huffman coding. In gain-adaptive quantization, the magnitudes of signal components to be encoded are compared to one or more thresholds and placed into classes according to the results of the comparison. The magnitudes of the components placed into one of the classes are modified according to a gain factor that is related to the threshold used to classify the components. Preferably, the gain factor may be expressed as a function of only the threshold value. Gain-adaptive quantization may be used to encode frequency subband signals in split-band audio coding systems. Additional features including cascaded gain-adaptive quantization, intra-frame coding, split-interval and non-overloading quantizers are disclosed.

Description

Applying gain adaptive quantization and variable length codes in audio coding
Technical Field
The present invention relates generally to encoding and decoding of signals. The invention is preferably used in a split-band encoding and decoding system in which frequency subband signals are encoded separately. The invention is particularly useful in subjective perceptual audio coding systems.
Technical Field
For a long time, the development of a form of encoded digital audio signal has been studied, which has low requirements on the information capacity of the transmission channel, but which storage medium is still capable of transmitting the encoded audio signal with a high level of subjective quality. Subjective perceptual audio coding systems attempt to achieve these contradictory goals by coding and quantizing audio signals using methods that mask inaudible synthetic quantization noise by using a majority of spectral components in the audio signal. In general, subjective perceptual audio coding systems have advantages for shape and amplitude control of quantization noise spectra that are below the psychoacoustic masking threshold of the coded signal.
A subjective perceptual coding method may be performed by a so-called split-band coder which applies an array of analysis filters to an audio signal to obtain subband signals corresponding to the critical bandwidth of the human auditory system, estimates an audio signal masking threshold by applying a subjective perceptual pattern or some other measure of the spectral extent of the audio signal to the subband signals, and establishes a quantized-scale-quantized subband signal whose subband signals are sufficiently small that the synthesized quantization noise is below the estimated audio signal masking threshold, quantizes the subband signal according to the established quantized scale and synthesizes a multi-component coded signal representing the quantized subband signals. An ancillary subjective perceptual decoding process may be performed by a so-called split-band decoder that extracts symbols from the encoded signal and recovers the quantized subband signals, obtains an inverse quantized representation of the quantized subband signals, and applies a bank of synthesis filters to the inverse quantized representation to generate an audio signal that ideally is not subjectively perceptually distinguishable from the original audio signal.
The encoding process in these coding systems often employs fixed length codes to represent quantized signal elements or components in each subband signal. However, the application of fixed length codes requires a high information capacity beyond what is necessary. The required information capacity can be reduced by applying a variable length code representing the quantized components in each subband signal.
One technique for providing variable length codes is huffman coding of quantized subband-signal components. Generally speaking, huffman coding tables have been selected in practical applications to represent the "training signal" of the coded signal. Huffman coding can provide very good coding gain if the average Probability Density Function (PDF) of the training signal is fairly close to the average Probability Density Function (PDF) of the actual signal to be coded, and this PDF is not uniform.
If the actual signal PDF being encoded is not close to the average PDF of the training signal, huffman coding will not achieve coding gain, but will cause coding loss, increasing the need for information capacity of the encoded signal. By using multiple codebook corresponding to different signal PDFs, the above problems can be avoided to a minimum; however, additional memory space is required to store the code books, and additional processing of the encoded signal is performed according to each code book, and then the one that provides the best result is selected therefrom.
There exists a coding technique that can represent blocks of quantized subband-signal components using variable length codes in each subband, that does not depend on any particular PDF of component values, and that can be performed efficiently with minimal computer and memory resources.
Disclosure of Invention
It is an object of the present invention to facilitate the use of variable length codes to represent quantized signal components of respective frequency subband signal components, such as in a split band coding system.
The present invention achieves this goal using a technique that does not rely on any specific PDF of component values to achieve good coding gain and that can be performed efficiently with minimal computer and memory resources. In some applications, the coding system may preferably use the functionality of the present invention in conjunction with other techniques, such as huffman coding.
According to an teachings of a part of the present invention, a method of encoding an input signal includes: receiving an input signal and generating a subband signal block representing subband signal components of a frequency subband of the input signal; comparing the amplitudes of the components in the subband signal block with a threshold, placing each component to one of two or more levels according to the amplitudes of the components, and obtaining a gain factor; applying a gain factor to the components placed in one of the stages to modify the amplitude of some of the components in the subband signal block; quantizing the components in the subband signal block; a coded signal control information for conveying the classification of the components is synthesized with a variable length code representing the quantized subband-signal components.
According to another aspect of the invention, a method of decoding an encoded signal comprises: receiving the encoded signal and deriving therefrom control information and a variable length code, and deriving from the variable length code subband signal components representing frequency subbands of the input signal; inverse quantizing the sub-band signal components to obtain sub-band signal inverse quantized components; applying a gain factor to modify the magnitude of the inverse quantized component in dependence on the control information; an output signal is generated in response to the subband signals inverse quantizing the components.
The methods may be embodied in the form of program instructions embodied in media, which may be executed by a device to implement the invention.
According to another teaching of the present invention, an apparatus for encoding an input signal includes: an analysis filter having an input for receiving an input signal and an output for providing a subband signal block representing subband signal components of a frequency subband of the input signal via the output; a subband signal block analyzer cascade-connected to the analysis filter, comparing amplitudes of components in the subband signal block with a threshold, placing each component to one of two or more levels of classification according to the amplitudes of the components, and obtaining a gain factor; a subband signal component processor cascade-connected to the subband signal block analyzer for applying a gain factor to the components placed in one of the stages to modify the amplitudes of some of the components in the subband signal block; a first quantizer cascaded after the subband-signal component processor for quantizing the components in the subband-signal block whose amplitudes are modified according to the gain factor; a formatter, cascaded after the first quantizer, synthesizes variable length codes representing the quantized subband-signal components and control information for conveying the component classes into an encoded signal.
According to another aspect of the invention there is provided a method of decoding an encoded signal, the method comprising: a reverse formatter for receiving the encoded signal and deriving control information and variable length codes therefrom and deriving quantized subband signal components from the variable length codes; a first inverse quantizer cascaded behind the inverse formatter, for obtaining a first inverse quantized component according to some sub-band signal components in the control information inverse quantized block; a sub-band signal block processor cascade-connected after the first inverse quantizer, for applying a gain factor to modify the amplitudes of some of the first inverse quantized components in the sub-band signal block according to the control information; a synthesis filter has an input cascaded after the subband-signal block processor and an output providing an output signal.
According to another aspect of the invention, a medium conveys (1) a variable length code representing quantized subband-signal components, characterized in that the quantized subband-signal components correspond to subband-signal block elements representing frequency subbands of an audio signal; (2) displaying control information for quantizing the sub-band signal component classification according to the corresponding sub-band signal block element; and (3) displaying a gain factor suitable for quantizing the subband-signal components based on the control information.
The various features and preferred embodiments of the present invention can be best understood from the following specification and drawings, the same reference numerals being used for the same elements in the several figures. The following discussion and illustrations are by way of example only and should not be construed to limit the scope of the invention.
Brief description of the drawings
Fig. 1 is a block diagram of a split-band encoder with gain adaptive quantization.
Fig. 2 is a block diagram of a split-band decoder with gain-adaptive quantization.
FIG. 3 is a flow chart illustrating the steps of an iterative bit allocation process.
Fig. 4 and 5 are graphical illustrations of the subband-signal blocks of hypothetical subband-signal components and the effect of applying gain to the components, respectively.
Fig. 6 is a block diagram of the multi-stage gain stage of gain adaptive quantization.
Fig. 7 and 8 are graphical illustrations of quantization functions.
Fig. 9A to 9C illustrate how a partition interval quantization function is implemented using a mapping transformation.
Fig. 10 to 12 are diagrammatic illustrations of the quantization function.
FIG. 13 is a block diagram of an apparatus that may be used to implement various portions of the present invention.
Modes for carrying out the invention
A. Coding system
It is an object of the present invention to improve the efficiency of representing quantized information such as audio information and to find a preferred application in coding systems applying split-band encoders and decoders. An embodiment of a split-band encoder and decoder integrates the various parts of the invention set forth in fig. 1 and 2.
1. Encoder for encoding a video signal
a) Analysis filter
In fig. 1 the analysis filter bank 12 receives an input signal from path 11, divides this input signal into subband signals representing subbands of the input signal band, and transmits the subband signals along paths 13 and 23. For clarity of illustration, the embodiments shown in fig. 1 and 2 illustrate only components of two subbands; however, for split-band encoders and decoders in a subjective perceptual coding system, it is common to process a plurality of subband signals corresponding to the critical frequency bandwidth of the human auditory system.
The analysis filter bank 12 performs filtering by various methods including polyphase filters, lattice filters, integral reflection filters (QMF), various time-domain to frequency-domain block conversions including: fourier type, cosine modulated filter bank, wavelet transform. In a preferred embodiment, the filter bank is implemented by weighting or modulating the superimposed blocks of digital audio samples by applying a decomposition window function and applying a specific Modified Discrete Cosine Transform (MDCT) in the weighted window blocks. The cited MDTC is disclosed in Princen, Johnson, Bradley, "subband/code conversion based on time-domain aliasing cancellation application filter bank design," 5 months 1987, pages 2161 to 2164, referred to herein as time-domain aliasing cancellation (TDAC) conversion, in international conference on acoustics, speech, and signal processing. Although the choice of implementation has a very important influence on the performance of a coding system, it is conceptually important to analyze the specific implementation of the filter bank for the present invention.
Each subband signal transmitted along paths 13 and 23 includes subband signal components arranged in blocks. In a preferred embodiment, each subband information block is represented in the form of a scale block, where the components are scaled by a scaling factor. For example, a floating point Block (BFP) form is used.
For example, if the analysis filter bank 12 is implemented by a block converter, the sub-band signals are generated by a block of conversion coefficients, which is generated by applying the converter to the input signal samples, and then sorting one or more of the close conversion coefficients to form the sub-band signal blocks. For example, if the analysis filter bank 12 is implemented by another type of digital filter, such as QMF, the subband signals are filtered by applying a filter to a series of input signal samples to generate a series of subband signal samples for each frequency subband, and then sorting the subband signal samples into blocks. The subband-signal components in these two examples are the transform coefficients and the subband-signal samples, respectively.
b) Subjective perception mode
In a preferred embodiment of the subjective perceptual coding system, the encoder uses a subjective perceptual model to establish respective quantization step widths for quantizing each subband signal. Fig. 3 illustrates a method for adaptively allocating bits using a subjective perceptual model. According to this method, step 51 applies a subjective perceptual model to information characterizing the input signal to create a desired quantized noise spectrum. In many embodiments, the noise level in the quantized noise spectrum corresponds to a psychoacoustic masking threshold of the input signal estimate. Step 52 establishes an initial pseudo-quantization step width for the components in the quantized subband-signal block. Step 53 determines the bit allocation required to achieve the desired quantization step width for all subband components. Preferably, a margin is left because the synthesis filter bank in the split-band decoder used to decode the encoded signal has a noise propagation effect. Methods for making such margins are disclosed in U.S. patent 5,623,577 and in U.S. patent application serial No.09/289,865 filed on 12.4.1999 entitled "quantization in subjective audio coders with synthesis filter noise compensation", which is incorporated herein by reference.
Step 54 determines whether the total allocation needs and the total available quantization bits are significantly different. If the total allocation is too high, 55 steps are increased by the proposed step width. If the total allocation is too low, step 55 is reduced by the proposed step width. The process returns to step 53 and the loop process stops until step 54 determines that the total allocation requirement to achieve the proposed step width is sufficiently close to the total number of available bits. Next, step 56 quantizes the subband signal components according to the established quantization step width.
c) Gain adaptive quantization
For example, by including the various parts of the invention in step 53, gain adaptive quantization can be incorporated into the method described above. Although the method described above is typical of many subjective perceptual coding systems, it is only one example of the ability to synthesize the coding process of the present invention. The present invention may be used in coding systems that use any basic subjective or objective criteria to establish the scale width of quantized signal components. For ease of discussion, the simplified embodiments are used herein to explain various portions of the invention.
The sub-band signal blocks of frequency sub-bands are passed along path 13 to a sub-band signal analyser 14 which compares the magnitude of the sub-band signal components in each block with a threshold and places each component into one of two levels according to the magnitude of the component. The control information for transmitting the component classification is transmitted to the formatter 19. In a preferred embodiment, the component whose magnitude is less than or equal to the threshold is placed at the first level. The sub-band signal analyzer 14 also obtains a gain factor to be used for a next-stage frequency band. As explained below, the gain factor value is preferably related to the threshold magnitude. For example, the threshold may be expressed as a function of only the gain factor. The threshold value may also be expressed as a function of a gain factor and other factors.
The subband signal components placed in the first stage are passed to a gain unit 15 which applies a gain factor obtained by the subband signal analyzer 14 to each component in the first stage, and the gain-corrected components are then passed to a quantizer 17. The quantizer 17 quantizes the gain-corrected components according to the first quantization step width, and transmits the final quantized components to the formatter 19. In a preferred embodiment, the first step width is set in accordance with a subjective perceptual mode and a threshold used by the subband signal analyzer 14.
The sub-band signal components not placed at the first level are passed along path 16 to quantizer 18, and quantizer 18 quantizes these components according to the second quantization step size. The second step width may be equal to the first step width; in a preferred embodiment, however, the second step width is less than the first step width.
The block of sub-band signals for the second frequency sub-band is transmitted along path 23 and processed by sub-band signal analyser 24, gain unit 25, quantisers 27 and 28 in the same manner as described above in relation to the first frequency sub-band. In a preferred embodiment, the threshold for each frequency subband is adaptive and independent of the thresholds for the other frequency subbands.
d) Encoded signal formatting
Formatter 19 synthesizes the control information used to convey the component classification and the variable length codes representing the quantized subband-signal components into an encoded signal and transmits the encoded signal along path 20 over a transmission medium (including baseband or modulated communication paths over the frequency spectrum in the ultrasonic to ultraviolet frequency range) or a storage medium (including magnetic tape, magnetic disk, and optical disk, which convey information using magnetic or optical recording techniques).
The symbol representing the quantized component may be the same as the quantized value or may be a type of code derived from the quantized value. For example, the symbols may be obtained directly from the quantizer or may be obtained by some process such as huffman coding the quantized values. These quantized values themselves can be conveniently used as variable length codes, since variable numbers of bits can be assigned to the quantized subband-signal components in the subbands.
2. Decoder
a) Encoded signal reverse formatting
In FIG. 2, inverse formatter 32 receives an encoded signal from path 31 and obtains therefrom symbols representing quantized subband-signal components and control information used to convey the component classification. A decoding process may be applied to derive the quantized components from the symbols, if necessary. In a preferred embodiment, the gain-corrected component is placed in the first stage. The inverse formatter 32 also obtains any subjective perceptual patterns and information necessary for the bit allocation process.
b) Gain adaptive inverse quantization
The inverse quantizer 33 receives the components of the sub-band signal block placed in the first stage, inversely quantizes them according to the first step width, and transmits the result to the gain unit 35. In a preferred embodiment, the first step width is set in accordance with a subjective perceptual mode and a threshold for classifying subband-signal components.
The gain unit 35 inverse quantizes the component from the inverse quantizer 33 using a gain factor and passes the gain-corrected component to the combiner 37. The gain unit 35 inversely performs the gain correction provided by the encoder gain unit 15 together. As explained above, this gain factor is preferably related to a threshold value for classifying subband-signal components.
Those sub-band signal components which are not placed at the first stage are passed to the inverse quantizer 34, the inverse quantizer 34 inversely quantizes these components according to the second step width, and passes the result to the synthesizer 37. The second step width may be equal to the first step width; in a preferred embodiment, however, the second step width is less than the first step width.
The synthesizer 37 forms one sub-band signal block by synthesizing the gain-corrected inversely quantized components received from the gain unit 35 with the inversely quantized components received from the inverse quantizer 36, and transfers the final sub-band signal block to the synthesis filter bank 39 along the path 38.
The quantized components in the block of subband signals for the second frequency subband are processed by inverse quantizers 43 and 44, gain unit 45 and combiner 47 in the same manner as described above for the first frequency subband and the final block of subband signals is passed along path 48 to synthesis filter bank 39.
c) Synthetic filter
The synthesis filter bank 39 may be implemented in various ways, in addition to the implementation of the analysis filter bank 12 discussed above. An output signal corresponding to the sub-band signal blocks of sub-band signal components received from paths 38 and 48 is generated along path 40.
B. Function(s)
1. Sub-band signal component classification
a) Simplifying threshold functions
The effect of gain adaptive quantization can be understood with reference to fig. 4, which illustrates the hypothetical blocks 111, 112 and 113 of subband-signal components in fig. 4. In the example, each subband signal block includes eight components numbered from 1 to 8. Each component is represented by a vertical line, the amplitude of which is represented by the height of the vertical line. For example, component 1 in block 111 has a magnitude slightly greater than the value of the ordinate 0.25 in the figure.
Line 102 represents the threshold at the 0.50 level. Each component in the 111 block is placed into one of two levels by comparing the magnitude of each component in the 111 block to a threshold. The components whose amplitudes are less than or equal to the threshold are placed at the first level. The remaining components are placed in the second stage. If those components whose amplitudes are exactly smaller than the threshold are placed at the first level, the results obtained are slightly different. For ease of discussion, it is assumed herein that the threshold comparison is performed according to the first example and is specifically described.
One of two gain factors is applied to the components placed in the 111 blocks of the first stage to obtain 112 the components in the blocks. For example, component 1 in block 112 has a magnitude slightly greater than 0.500, which is obtained by multiplying component 1 in block 111 by one of two gain factors. In contrast, since the components placed in the second stage are not modified by the gain factor, the magnitude of component 2 in block 112 is equal to the magnitude of component 2 in block 111.
Line 104 represents the threshold at a 0.25 level. Each component in the 111 block is placed into one of the two stages by comparing the component magnitudes to a threshold value and placing the component whose magnitude is less than or equal to the threshold value into the first stage, respectively. The remaining components are placed in the second stage.
The components in the block 113 are obtained by applying one of four gain factors to each 111 block component placed in the first stage. For example, the amplitude of component 3 in block 113 is about 0.44, which is obtained by multiplying the amplitude of component 3 in block 111 (about 0.11) by a gain factor equal to 4. Conversely, since the component placed in the second stage is not modified by the gain factor, the magnitude of component 1 in block 113 is equal to the magnitude of component 1 in block 111.
The threshold may be a function expressed in terms of gain factors only. As shown in these two examples, the threshold may be expressed as follows:
wherein Th represents a threshold value;
g denotes a gain factor.
b) Spare threshold function
The threshold obtained from expression (1) may then exceed the quantizer load when modified by the gain factor G, since the subband-signal components have a magnitude slightly smaller than the threshold Th.
A value is considered to exceed the quantizer load if its quantization error exceeds half the quantization step width. For a symmetric quantizer of equal step width, the quantization value ranges from-1 to +1, and the range of positive values over the quantizer load can be expressed as:
QOL>QMAX+ΔQ/2 (2a)
the range of negative values over the quantizer load can be expressed as:
QOL<-QMAX-ΔQ/2 (2b)
here QOLA value representing an overload quantizer;
QMAXrepresents the maximum quantized positive value;
Δ Q represents the step width.
For a b-bit quantizer with a symmetrical centerline sign and with an equivalent step width, the quantization value ranges from about-1 to +1, and the maximum quantization value Q is positiveMAXIs equal to 1-21-bStep width Δ Q equal to 21-bHalf the step width is equal to 2-bExpression 2a, which exceeds the positive value of the quantizer load, can be re-expressed as:
QOL>1-21-b+2-b=1-2-b (3a)
expression 2b, which exceeds the negative value of the quantizer load, can be re-expressed as:
QOL>-(1-21-b)-2-b=-1+2-b (3b)
the 100 line in fig. 4 represents the positive boundary of a 3-bit symmetrical centerline-signed quantizer that exceeds the quantizer load. The negative range of the quantizer is not shown in the figure. The maximum quantization positive value of the quantizer is 0.75 ═ 1-21-3) Half the step width is 0.125 ═ 2-3(ii) a The boundary at which the quantizer exceeds the positive value of the quantizer load is therefore 0.875 ═ 2 (1-2)1-3). The boundary of the negative value of the quantizer is-0.875.
The magnitude of component 5 in block 111 is slightly less than 0.500. When a gain factor equal to 2 is applied to this quantizer component, the resulting amplitude exceeds the quantizer load boundary. Component 6 presents a similar problem when the threshold 0.250 uses a gain factor equal to 4.
For a threshold that avoids exceeding the quantization positive threshold and optimally maps the component positive range in the first stage to the quantizer positive range, the expression is:
the quantization negative threshold may be expressed as:
in the remaining discussion, only positive thresholds are discussed. This simplification does not lose generality since those operations for comparing component magnitudes with a positive threshold are equivalent to other operations for comparing component magnitudes with positive and negative thresholds.
For the b-bit quantizer described above with symmetric centerline symbols, expression 4a of the threshold function can be re-expressed as:
the effect of the gain adaptive quantization using the spare threshold is illustrated in fig. 5, which illustrates hypothetical blocks 121, 122, 123 and 124 of subband-signal components. In the illustration of the example, each subband signal block comprises eight components numbered from 1 to 8, the amplitude of which is represented by the height of the vertical line. Lines 102 and 104 represent the thresholds of a 3-bit band symmetric centerline symbol quantizer with gain factors equal to 2 and 4, respectively. Line 100 represents a positive boundary beyond the quantizer load value.
The components in the block of subband signals 122 may be obtained by comparing 121 the magnitudes of the components in the block with a threshold 102 and applying a gain G-2 to the components whose magnitudes are less than or equal to the threshold. Similarly, the components in the block of subband signals 123 may be obtained by comparing 121 the magnitudes of the components in the block with the threshold 104 and applying a gain G-4 to the components having magnitudes less than or equal to the threshold. The components in the block of subband signals 124 may be obtained by a multi-stage technique as discussed below. Unlike the example of fig. 4 discussed above with respect to the first threshold, none of the gain-corrected components in fig. 5 exceed the quantizer range boundary.
On the one hand, the spare threshold according to expression 5 is needed because it avoids the quantizer being overloaded with small amplitude components in the first stage and optimizes loading the quantizer. On the other hand, this threshold may not be needed in some embodiments that seek to reach an optimal step width, because the threshold cannot be determined until the step width is established. In embodiments where the step width is varied by allocation bits, the step width cannot be established until the respective subband-signal block bit allocation b is known. These disadvantages will be explained in detail below.
2. Quantization
Preferably, the quantizer step width used to quantize the block of subband signals is varied in response to a gain factor of the block of subband signals. Applying one embodiment similar to the process described above and shown in fig. 3, a number b of bits is assigned to each component in a block of subband signals, and then the step width of each component, and possibly the bit assignment, is varied according to the gain factor selected for the block. For this embodiment, the gain factor is selected from four possible values representing gains 1, 2, 4 and 8. The components in the block are quantized using a quantizer with symmetrical centerline symbols.
The large magnitude components that are not placed in the first stage and not gain corrected are assigned the same number of bits b as they were assigned without the present invention. In embodiments using a split interval quantization function, discussed below, the bit allocation to these large magnitude components can be reduced for some gain factors.
The small amplitude component placed in the first stage and gain corrected is assigned a bit number according to table I.
Gain of Dispensing
1 b
2 b-1
4 b-2
8 b-3
TABLE I
A gain factor of 1 for a particular block of subband signals means that the gain modification function of the invention is not applied to that block and therefore the number of bits allocated to each component is the same as the number of bits b without the invention. The use of gain factors G2, 4 and 8 for a particular subband signal block provides the advantage of reduced allocation of 1, 2, 3 bits for that subband block, respectively.
The allocation shown in table I is limited by the number of bits per component not being less than 1. For example, for a particular subband signal block, the bit allocation process allocates b to 3 bits while selecting the gain factor G to 8 for that block, and for small amplitude components the bit allocation is reduced not to zero as shown in table I, but to 1. The expected result of the gain correction and bit allocation adjustment is that using fewer bits preserves the same signal to quantization noise ratio, and one embodiment may avoid selecting any gain factor that does not reduce the allocated bit number, if desired.
3. Control information
As explained above, the subband signal analyzer 14 provides control information to the formatter 19 for synthesizing the encoded signal. The control information is used to convey the classification of each component in the subband-signal block. Such control information may be included in the encoded signal by various methods.
One way to include control information is to put into the encoded signal a bit string for each subband signal block, each component in the block corresponding to a bit. One bit sets a value, e.g., a value of 1 indicates that the corresponding component is not a gain-corrected component, and one bit sets another value, e.g., a value of 0 indicates that the corresponding component is a gain-corrected component. Another approach is to embed a special "escape code" in the control information in the code components immediately preceding each gain-corrected or non-delta-corrected component.
In the preferred embodiment discussed above, a quantizer with symmetric centerline symbols is used, each large magnitude component without gain correction being preceded by an escape code equal to an unused quantized value. For example, for a 3-bit quantizer with two-level complementary component symbols, the quantized value range is a minimum value of-0.750 represented by the 3-bit binary string b '101 to a maximum value of +0.750 represented by the 3-bit binary string b' 011. The binary string b' 100 corresponding to-0.1000 is not used for quantization but can be used as control information. Similarly, the unused binary string of 4 bits with a two-level component symbol quantizer is b' 1000.
Referring to the block of subband signals 121 of fig. 5, components 4 and 5 are large amplitude components that exceed the threshold 102. If this threshold is used with a gain factor G-2, for the small amplitude component placed in the first stage, the bit allocation is b-1 as shown in table I. For example, if the process assigns the process assignment bit b-4 to each component bit in the 121 block, the assignment of each subband signal component will be reduced to 3-1 bits and the small magnitude component will be quantized with a 3-bit quantizer. The large magnitude components are components 4 and 5 in this example, would be quantized with a 4-bit quantizer and identified by control information equivalent to the unused binary character b' 100 of the 3-bit quantizer. The control information for each large amplitude component can be conveniently synthesized into a coded signal immediately in front of the large amplitude component.
It is suggested that the invention does not provide any advantages in the examples discussed in the preceding paragraph. The cost and overhead (6 bits) required to transmit the control information in this example is equal to the number of bits saved by the reduced bit allocation for small amplitude components. Referring to the example above, if there is only one large magnitude component in the block 121, the number of bits required by the present invention to transmit the block is 4. With a reduced bit allocation to 7 small amplitude components, 7 bits would be saved, requiring only 3 bits to convey large amplitude control information.
The above example omits an additional portion. In this example embodiment, 2 bits are required for each subband signal block to transmit the block using 4 gain factors, as mentioned above, a gain factor equal to 1 indicates that the inventive function is not used for a particular subband signal block.
The present invention generally does not help with the quantization of sub-band signal blocks having four or fewer components. In a subjective perceptual coding system that generates subband band signals corresponding to the critical frequency subband width of the human auditory system, the number of components in a low frequency subband band signal block is small, perhaps only one component per block, but the number of components per subband signal block increases with increasing subband frequency. As a result, in a preferred embodiment, the processing required to implement the functionality of the present invention may be limited to a wider sub-band. An additional control information may be embedded in the encoded signal to indicate the lowest frequency subband using gain adaptive quantization. The encoder adaptively selects a sub-band according to the characteristics of the input signal. This technique avoids providing control information for subbands that do not use gain adaptive quantization.
4. Decoder function
A decoder having the functionality of the present invention can adaptively change its inverse quantizer step width in any manner. For example, a decoder for decoding the encoded signal generated by the encoder embodiments discussed above may set the quantization step width by adaptive bit allocation. This decoder is implemented in a so-called forward adaptive system, where the allocation can be obtained directly from the encoded signal, it can be implemented in a so-called backward adaptive system, where the bit allocation can be obtained by repeating the same procedure as for the encoder, or it can be implemented in a hybrid of the two systems. Obtaining the allocation value in this way is referred to as "regular" bit allocation.
The decoder obtains control information from the encoded signal to identify the gain factors and the classification of the components in each subband signal block. Continuing with the example discussed above, communicating control information with a gain factor G of 1 shows that the gain adaptation function is not used and that the conventional bit allocation b for the block will be used for inverse vectorization of the particular sub-band signal block components. For other gain factor values, regular bit allocation b is used to determine an "escape code" value or control information identifying a large magnitude signal. In the above example, an allocation bit b-4 with a gain G-2 indicates that the control information is a binary character b' 100, which has a length equal to 3-bits (b-1). The presence of such control information in the encoded signal indicates that a large amplitude component is immediately followed.
The bit allocation for each gain-corrected component is adjusted according to table I and discussed above. The inverse quantization is performed using the appropriate step width and the gain correction component is limited by a gain factor that is inverse to the gain factor at which the gain correction is performed in the encoder. For example, if a small amplitude component is multiplied by a gain factor G of 2 in the encoder, the decoder applies an inverse gain G of 0.5 to the corresponding inverse quantized component.
c. Additional functions
In addition to the various discussions above, several other scenarios are discussed below.
1. Additional classification
According to one case, the component magnitudes in the subband-signal block are compared to two or more thresholds and placed at one level beyond two. Referring to FIG. 5, for example, each component magnitude in block 121 is compared to thresholds 102 and 104 and placed into one of three levels. Two gain factors are obtained for the multiple stages and applied to the appropriate components. For example, the gain factor G-4 is applied to components having a magnitude less than or equal to the threshold 104, and the gain factor G-2 is applied to components having a magnitude less than or equal to the threshold 102 but greater than the threshold 104. The gain factor G-2 is applied to all components having a magnitude less than or equal to the threshold 102 and the gain factor G-2 is in turn applied to all components having a magnitude less than or equal to the threshold 104.
2. Multi-stage operation
The gain correction process described above may be performed prior to the quantization multiplexing timing. Fig. 6 is a block diagram illustrating a cascaded two gain stage embodiment. In this embodiment, the subband signal analyzer 61 compares the magnitudes of the components in the subband signal block with a first threshold and places the components into one of two levels. Gain unit 62 applies a first gain factor to the components placed in the first stage. The value of the first gain factor is related to a first threshold.
The subband signal analyzer 64 compares the magnitudes of the remaining gain-modified components in the block to a second threshold and places the components in the other of the two stages. The gain unit 65 applies a second gain factor to the component placed in the second stage. The value of the second gain factor is related to a second threshold. If the second threshold is less than or equal to the first threshold, the sub-band signal analyzer 64 does not have to decompose those components that the analyzer 61 places having a magnitude greater than the first threshold.
Similar subband-signal block components as discussed above are quantized by quantizers 67 and 68.
Referring to fig. 5, the components in the block of subband signals 124 are obtained by applying successive gain stages, where subband analyzer 61 and gain unit 62 apply a gain factor G-2 to components having a magnitude less than or equal to threshold 102, and subband analyzer 64 and gain unit 65 apply a gain factor G-2 to gain-modified components having a magnitude less than or equal to threshold 102. For example, the components 1 to 3 and 6 to 8 in block 121 are modified in the first stage by a gain factor G of 2, and an intermediate result of the processing is displayed in block 122. The components 1, 3, 7 and 8 are modified in the second stage by a gain factor G of 2 and the results obtained are shown in block 124.
In embodiments using multiple gain stages, appropriate control information should provide that the decoder can perform a complementary set of multiple gain stages in the encoded component.
3. Optimizing bit allocation
There are several possible ways to apply gain adaptive quantization. A simple method decomposes the components in the respective subband signal block by activating a first threshold and an associated first gain factor G-2 and determines whether or not to generate a reduced bit requirement in the bit allocation based on the first threshold and the first gain factor gain adaptive quantization. If not, the analyzer stops and gain factor quantization cannot be performed. If a reduction occurs, the second threshold and second gain factor G4 decomposition continues to be applied. If applying the second threshold and the second gain factor does not result in a reduction of the bit allocation, the gain adaptive quantization is performed applying the first threshold and the first gain factor. If applying the second threshold and the second gain factor results in a reduction of the bit allocation, the third threshold and the third gain factor G-8 decomposition are continued to be applied. The process does not end until none of the thresholds and associated gain factors produce a bit allocation reduction, or all of the thresholds are combined and the associated gain factors are considered.
Another alternative method of searching for the optimal gain factor yields the maximum net gain by calculating the cost and gain offered by each possible threshold and associated gain factor and using the threshold and gain factors. For the example discussed above, the net gain of a particular threshold and associated gain factor is the overall reduction cost. The overall benefit is to reduce the number of bits saved by allocating bits to a small magnitude component of the gain correction. The cost is the number of bits required to convey control information for large amplitude components without gain correction.
One way in which optimization may be accomplished is shown in the following program fragment. This program fragment is represented in a pseudo-coded syntax, which includes some of the features of the C, FORTRAN and BASIC languages. Program fragments and other programs shown herein are not meant to be source code fragments that fit into compilation but which provide a part of the possible execution of the transfer.
     Gain(X,N,b){     Th2=(1-2^(-b))/gf[1](ii) a V/pair of gain factor G2 initialization threshold Th4 Th 2/2; v/pair of gain factor G4 initialization threshold Th8 Th 4/2; the initialization threshold n2 n4 n8 is 0 for the gain factor G8; v/initialize counter for (k 1 to N) {// initialize counter for each component k comp mag Abs9X [ k]) (ii) a // obtaining component amplitudesThe value if (CompMag > Th2) n2 ═ n2+ 1; // counting the above-mentioned component else if of Th2 ((Compmag > Th4) n4 ═ n4+ 1; counting the component else if between Th2 and Th4 ((C0mpMag > Th8) n8 ═ n8+ 1; counting the component between Th4 and Th 8; counting the component else if<dp n="d16"/>N24 ═ n2+ n 4; the Th4 described above has no large amplitude component n248 n24+ n 8; the Th8 above has no large amplitude component benefit2 ═ Min (b-1, 1); // each fractional bit number benefit4 ═ Min (b-1, 2) saved when G ═ 2 is used; // each fractional bit number benefit8 ═ Min (b-1, 3) saved when G ═ 4 is used; // net [0] for each small component digit saved when using G8]0; // Pair of net earnings without gain correction [1]](N-N2) benefit2-N2 (b-benefit 2); v/use of G2 net profit net [2](N-N24) benefit4-N24 (b-benefit 4); // use of G ═ 4 net profit net [3](N-N248) benefit8-N248 (b-benefit 8); // use G8 net gain j IndexMax (net j]J ═ 0 to 3); // obtaining maximum profit index Gain gf [ j ═ j](ii) a // get gain factor }
The function Gain provides an array of subband signal block components X, N components in the block and a regular bit allocation b. The first statement of the function computes different thresholds Th2 derived from array gf. in relation to the gain factor G ═ 2, initialized according to expression 5 shown above. In this example, gain factors gf [1], gf [2] and gf [3] are equivalent to G ═ 2, 4 and 8, respectively. The next statement initializes the thresholds associated with gain factors G-4 and 8. Then, a counter is initialized to zero for determining the number of large amplitude components in different stages.
The function Abs mentioned in the for loop statement takes the magnitude of each component in the X-array subband signal block, then compares the magnitude with a threshold, and starts the highest threshold. For example, if the magnitude is greater than the threshold Th2, the variable n2 is increased by 1. When the for loop is completed, variable n2 holds the number of components having a magnitude greater than threshold Th2, variable n4 holds the number of components having a magnitude greater than threshold Th4 but less than or equal to threshold Th2, and variable n8 holds the number of components having a magnitude greater than threshold Th8 but less than or equal to threshold Th 4.
The statements immediately following the for loop calculate the total number of components above the respective thresholds. The number of variables n24 indicates the number of components having a magnitude larger than the threshold Th4, and the number of variables n248 indicates the number of components having a magnitude larger than the threshold Th 8.
The next three statements describe the benefit to using each small component of the gain factor. The benefits may be 1, 2 and 3 bits per component as shown in table I above, but the benefits per component cannot exceed the b-1 bits because the bit allocation is limited to a minimum of one bit. For example, the variable benefiet2 represents the number of bits per small magnitude component for which the gain factor G is 2. As shown in Table I, the benefit may be one bit; however the gain is also limited to be no larger than the regular bit allocation b-1. The revenue calculation is provided by the function Min, returning the minimum of b-1 and 1.
The net gain is then calculated and distributed over the network array of cells. The unit net [0] represents a net benefit of value 0 without using gain adaptive quantization. The net gain for using gain factor G ═ 2 is distributed into net [1] by the appropriate gain per small-amplitude component benefit2 multiplied by the appropriate number of small-amplitude components (N-N2) and then subtracted the cost, the number of large-amplitude components N2 multiplied by the new quantizer length for the control information. The number of bits of the small amplitude component can be obtained by the reduced regular bit allocation b saved for each small amplitude component. For example, the small amplitude component bit number of gain factor G ═ 2 is (b-benefit 2). Similar computational implementations allocate the net gains of applications G-4 and 8 into variables net [2] and net [3], respectively.
The function IndexMax is called to obtain the array index j for the maximum net gain in the network array. This index usually obtains the appropriate Gain factor from the gf array returned by the function Gain.
4. Efficiency improvement using simplified threshold function
The various features of the present invention mentioned above can be combined into a subjective feeling of bit allocation as illustrated in fig. 3. In particular, these features may be performed at step 53. Step 53 performs a determination of the appropriate bit allocation for the quantized component in each encoded subband signal block in an iterative loop. Because of this, the efficiency of execution at step 53 is very important.
The above discussion is relatively inefficient in determining the optimal Gain factor function Gain for each block, since the number of subband-signal block components placed at different levels must be counted. Since the threshold obtained according to expression 5 cannot be calculated until the appropriate bit allocation b is known each time, the number of components must be repeatedly calculated each time.
In contrast to the threshold obtained according to expression 5, the threshold obtained according to expression 1 is less accurate but can be used for calculation before the proper bit allocation is known. These provided thresholds and component counts are computed out of the loop. Referring to the method shown in fig. 3, for example, the thresholds Th1, Th2, and Th3, the component counts n2, n24, and n248 can be calculated at step 52.
Alternative versions of the Gain function discussed above may be used in this embodiment, following the following program fragment as follows:
gain2(X, N) { benefit2 ═ Min (b-1, 1); // each fractional bit number benefit4 ═ Min (b-1, 2) saved when G ═ 2 is used; // each fractional bit number benefit8 ═ Min (b-1, 3) saved when G ═ 4 is used; // net [0] for each small component digit saved when using G8]0; // Pair of net earnings without gain correction [1]](N-N2) benefit2-N2 (b-benefit 2); v/use of G2 net profit net [2](N-N24) benefit4-N24 (b-benefit 4); // use of G ═ 4 net profit net [3](N-N248) benefit8-N248 (b-benefit 8); // use G8 net gain j IndexMax (net j]J ═ 0 to 3); // obtaining maximum profit index Gain gf [ j ═ j](ii) a // get gain factor }
The description of the function Gain2 is equivalent to the description of the function Gain discussed above, with the calculation of the net Gain for each Gain factor and the selection of the optimized Gain factor.
5. Quantization function
a) Dividing interval function
The quantization accuracy of large amplitude components is improved by applying a partitioned interval quantization function that quantizes input values at non-adjacent intervals.
Line 105 in fig. 7 is a graphical illustration of an effect function representing a 3-bit symmetrical centerline signal quantizer and a complementary inverse quantizer connected end-to-end. The values along the x-axis represent the values input to the quantizer and the values along the q- (x) -axis represent the corresponding values obtained from the inverse quantizer. Lines 100 and 109 represent the positive and negative bounds of this quantizer, respectively. Lines 102 and 108 represent the positive and negative thresholds, respectively, for gain factor G-2 according to expression 1 and lines 104 and 107 in fig. 4 represent the positive and negative thresholds, respectively, for gain factor G-4.
Referring to fig. 1, if the sub-band signal analyzer 14 classifies sub-band signal block components according to the threshold 102, then the quantizer 18 is provided with all components having magnitudes greater than the threshold 102. In other words, quantizer 18 cannot be used to quantize components that lie between thresholds 108 and 102. The blank indicates outside the quantizer usage scale.
Overload is overcome by a quantizer that performs a quantization function of the division interval. Various segmentation functions are possible. Fig. 8 is a graphical illustration of an end-to-end effect function representing a split-interval 3-bit symmetric centerline signal quantizer and a complementary inverse quantizer. Line 101 represents the function for a positive quantizer and line 106 represents the function for a negative quantizer.
The function shown in fig. 8 has eight quantization levels, as opposed to seven quantization levels as shown in fig. 7. An additional quantization level corresponding to-1 is obtained for a centerline quantization function by using the method discussed above.
b) Load-limiting quantizer
The quantizer does not perform the function beyond the one set forth in fig. 8 for a 3-bit quantizer and complementary inverse quantizer with split values in the range-1.0 to-0.5 and +0.5 to + 1.0. As explained above, a value exceeds the quantizer load if there is an error of more than half the quantizer step size in magnitude. In the example of fig. 8, the inverse quantizer output values are equal to-0.9375, -0.8125, -0.6875, -0.5625, +0.5625, +0.6875, +0.8125, +0.9375, and the step width values are equal to 0.125, respectively. The quantizer error value for all of the above-mentioned partition intervals is no more than equal to 0.0625 of one half of the quantizer step size. Reference is made herein to a "limited-load quantizer" because the quantizer cannot exceed its load.
Load limited single and split interval quantizers are necessary to achieve any step width and can be implemented by a quantization function that bounds the quantizer output using a "decision point" of the quantizer's appropriate interval quantization values. In general, the decision points are mutually divided by a certain distance d, and the decision points are respectively close to the end of an output value interval. When a complementary inverse quantizer is used, the intervals are provided to the quantizer, and the output values are divided by the specified step width and a maximum quantization error equal to one half of the specified step width.
c) Mapping function
One division interval quantizer may be performed by various methods. No particular implementation is critical. One implementation shown in fig. 9A includes a mapping transformer 72 cascaded after a quantizer 74. Map converter 72 receives input values from path 71, maps the input values into appropriate intervals, and transmits the mapped values along path 73 to quantizer 74.
If quantizer 74 is an asymmetric centerline signal quantizer, then the mapping functions represented by lines 80 and 81 illustrated in FIG. 9B will fit into mapping function 72. According to this mapping function, a-1.0 is mapped to a-1.0 at-1.0 to-0.5 intervals-1/2Delta Q to-0.5-1/2The interval of Δ Q, where Δ Q is the step width of quantizer 74, while the +1.0 to +0.5 interval maps to a range from-1/2Delta Q to +1.0-1/2The value of Δ Q. In this example, the classification has a magnitude equal to-0.5 or +0.5 at non-large magnitude components of the small magnitude components. Because of this, mapping converter 72 cannot map any data equal to-1/2An input value of Δ Q;however it can be mapped arbitrarily close to-1/2Input value of Δ Q.
A complementary split-interval inverse quantizer may be implemented by an asymmetric centerline signal inverse quantizer complementary to quantizer 74, followed by a mapping converter inverse to mapping converter 72.
d) Synthesis function
In one example discussed above, gain adaptive quantization with a gain factor G ═ 2 is typically used to quantize subband components with regular bits b equal to 3 bits. As discussed above in connection with table I, 3 bits are typically used to quantize the large amplitude component and 2 ═ 1 (b) bits are typically used to quantize the small amplitude component of the gain correction. The quantizer in fig. 8 that performs the quantization function preferably quantizes the large amplitude component in general.
A 2-bit symmetric centerline signal quantizer and complementary inverse quantizer implementation function 111 shown in fig. 10 may be used for the small amplitude gain correction component. Function 111 illustrates the quantizer and inverse quantizer scale and inverse scale effects considering the gain factor G-2. For inverse quantizer output values of-0.3333, 0.0 and +0.3333, the quantization decision points are at-0.1666 and +0.1666.
A composite function of the large and small amplitude components is illustrated in fig. 11.
e) Spare partition interval function
A split interval quantizer with a gain factor G of 2 and a threshold of about 0.500 provides an improvement of the one-bit quantization result. The improved result may be used to preserve the quantization result of the large magnitude component when the component bits are assigned a minus one. In the example discussed above, a 2-bit quantizer may be used to quantize the large and small magnitude components. The two quantizers shown in fig. 12 perform a composite quantization function. The quantizer performing quantization functions 112 and 113 is used to quantize large amplitude components with positive and negative amplification and the quantizer performing quantization function 111 is used to quantize small amplitude components.
The use of a partition interval quantization function with a large gain factor and a small threshold does not provide a complete improved quantization result; therefore, the number of bits cannot be reduced without sacrificing the quantization result. In a preferred embodiment, the large magnitude mantissa bits of the adaptive quantization are allocated b minus one bit using a gain factor G of 2.
The decoder that provides the inverse quantization function is complementary to the encoder that uses the quantization function.
6. Intra-frame coding
The term "encoded signal block" is referred to herein as a subband signal block encoding information that indicates that all frequency bands cover the used bandwidth of the input signal. Some coding systems synthesize multiple blocks of coded signals into large blocks of cells, which are referred to herein as frames of coded signals. A frame structure is useful in many applications where information covering encoded signal blocks is shared, information overhead is reduced, or where it is convenient to synthesize, for example, audio and video signals. Various subject matter relating to encoding audio information into audio/video application frames is disclosed in U.S. patent application Ser. No. PCT/US98/20751, filed on 17/10/1998, which is hereby incorporated by reference.
The gain adaptive quantization feature discussed above may be used for groups of subband blocks in different encoded signal blocks. This part may preferentially apply the encoded signal blocks to the frame structure. This technique groups the multiple subband signal block components in a frame, then classifies these components and applies gain factors to the groups of components described above. So-called intra coding techniques can share control information of components in a frame, and no specific set of encoded signal blocks is important for this practical technique.
D. Execute
The invention may be implemented in various ways, with software included in a general purpose computer system or other apparatus including more specialized components such as Digital Signal Processing (DSP) circuitry similar to the components of the general purpose computer system. The block diagram of the device 90 in fig. 13 may implement various portions of the present invention. The DSP92 provides computer results. RAM93 is system Random Access Memory (RAM). ROM94 represents one form of storage such as a Read Only Memory (ROM) storage device 90 for carrying out the necessary programs and for carrying out the various parts of the present invention. I/O control 95 represents interface circuitry to receive and transmit audio signals over communication channel 96. An analog-to-digital converter and a digital-to-analog converter may be included in I/O control 95 as receiving and transmitting analog audio signals. In the embodiment shown, the main system elements cascaded to bus 91 may represent more than one physical line; however, no bus structure is required to implement the present invention.
In an embodiment implemented in a general-purpose computer system, the additional components may include interface devices such as a keyboard or mouse and a display to control a storage medium such as magnetic tape or disk, optical disk, and storage devices. The storage medium may be used to record program instructions for operating, using and applying the system, and may include program embodiments that implement portions of the present invention.
The functions required to implement the invention may be performed by various means including specific logic elements, one or more ASICs and program controlled processes. The method performed by these elements is not important to the present invention.
Software implementing the present invention may be transmitted through a variety of machine readable media, through baseband, or over modulated communication paths from ultrasound to the ultraviolet frequency spectrum, or using storage media including magnetic tape, magnetic disk, and optical disk for information using magnetic or optical recording techniques. Different components in different parts of the computer system 90 implement various types of processing circuitry such as ASICs, general purpose integrated circuits, program controlled microprocessors in various forms of Read Only Memory (ROM) or RAM, and other technologies.

Claims (28)

1. A method for encoding an input signal, comprising:
receiving an input signal and generating a subband signal block representing subband signal components of a frequency subband of the input signal;
comparing the amplitudes of the components in the subband signal block with a threshold, placing each component to one of two or more levels according to the amplitudes of the components, and obtaining a gain factor;
applying a gain factor to the components placed in one of the stages to modify the amplitude of some of the components in the block of subband signals;
quantizing the components in the block of subband signals;
an encoded signal control information is synthesized for conveying the component classification and the variable length code representing the quantized subband-signal components.
2. A method according to claim 1 for synthesizing control information into a coded signal representing those quantized subband-signal components having magnitudes that are not modified according to a gain factor, wherein the control information is conveyed by one or more reserved symbols that are not used to represent quantized subband-signal components.
3. The method according to claim 1 comprising: the threshold is obtained from a function that is related to the gain factor of the quantized component but not to the step width.
4. The method according to claim 1 comprising: the threshold is obtained from a function related to both the gain factor and the step width of the quantized component.
5. The method according to any of claims 1 to 4, comprising:
the components are placed in a level by adaptively assigning bits to the components, the respective step width of each component in the subband-signal block is adaptively changed according to the level, and a gain factor is obtained such that the number of bits assigned to the component having the modified magnitude is reduced while maintaining the respective step width.
6. The method according to any of claims 1 to 4, comprising: the components placed at one of the stages are quantized according to a partition interval quantization function.
7. The method of any of claims 1 to 4, placing components into one of three or more levels according to component magnitude, comprising:
one or more additional gain factors are obtained for each level respectively,
each additional gain factor is applied to the components placed in each stage.
8. The method according to any of claims 1 to 4, comprising:
comparing the magnitudes of at least some of the components in the subband-signal block with a second threshold, placing each component in one of two or more stages according to the component magnitudes, and obtaining a second gain factor;
applying a second gain factor to the components placed in the first of the two stages to modify the amplitude of some of the components in the subband-signal block;
characterized in that the variable length code represents quantized components modified by a gain factor and a second gain factor.
9. The method of any of claims 1 to 4, quantizing at least some of the components using one or more limited-load quantizers.
10. A method of decoding an encoded signal comprising:
receiving the encoded signal and deriving therefrom control information and a variable length code, and deriving quantized subband signal components representing frequency subbands of the input signal from the variable length code;
inverse quantizing the sub-band signal components to obtain sub-band signal inverse quantized components;
applying a gain factor to modify the magnitudes of some of the inverse quantized components in accordance with the control information;
an output signal is generated in response to the subband signals inverse quantizing the components.
11. The method of claim 10 for deriving control information from the encoded signal indicating those quantized subband-signal components having magnitudes that are not modified based on the gain factor, wherein the control information is conveyed by one or more reserved symbols that are not used to represent quantized subband-signal components.
12. The method according to claim 10 comprising: some components in the subband signal blocks are inverse quantized according to an inverse quantization function complementary to the split interval quantization function.
13. The method of any of claims 10 to 12 comprising: the magnitude of some of the inverse quantized components is modified by applying a second gain factor in accordance with the control information.
14. The method of any of claims 10 to 12 comprising: at least some of the quantized components are inverse quantized using one or more inverse quantizers complementary to the limited-loading quantizers.
15. An apparatus for encoding an input signal comprising:
an analysis filter having an input for receiving an input signal and an output for providing a subband signal block representing subband signal components of a frequency subband of the input signal via the output;
a subband signal block analyzer cascaded behind the analysis filter, comparing amplitudes of components in the subband signal block with a threshold, placing each component to one of two or more stages according to the amplitudes of the components, and obtaining a gain factor;
a subband signal component processor cascaded behind the subband signal block analyzer, for applying a gain factor to the components placed in one of the stages to modify the amplitude of some of the components in the subband signal block;
a first quantizer cascaded after the subband signal processor, for quantizing components in a subband signal block having modified magnitudes according to the gain factor;
the formatter, cascaded after the first quantizer, synthesizes the variable length codes representing the quantized subband-signal components and control information for conveying the component classes into a coded signal.
16. The apparatus of claim 15 comprising: a second quantizer cascaded after the sub-band signal block analyzer for quantizing the components placed in one of the stages according to a partition interval quantization function, characterized in that the formatter is cascaded after the second quantizer.
17. The apparatus according to claim 15 wherein the formatter assembles the control information into the encoded signal as quantized subband-signal components having magnitudes that are not modified according to the gain factor, and wherein the control information is conveyed by one or more reserved symbols that are not used to represent quantized subband-signal components.
18. The apparatus of any of claims 15 to 17 comprising: the threshold is obtained from a function that is related to the gain factor of the quantized component but not to the step width.
19. The apparatus of any of claims 15 to 17 comprising: the threshold is obtained from a function related to both the gain factor and the step width of the quantized component.
20. The apparatus of any one of claims 15 through 17, placing the components in a stage by adaptively assigning bits to the components, adaptively changing a respective quantization step width of each component in the subband-signal block according to the stage, and obtaining the gain factor such that the number of bits assigned to the component having the modified magnitude is reduced while maintaining the respective quantization step width.
21. Apparatus according to any one of claims 15 to 17, wherein each component is placed in one of three or more stages according to component magnitude, one or more additional gain factors are obtained for each stage respectively, and each additional gain factor is applied to the components placed in each stage.
22. Apparatus according to any one of claims 15 to 17, characterized in that:
comparing the magnitudes of at least some of the components in the subband-signal block with a second threshold, placing each component in one of two or more stages according to the component magnitudes, and obtaining a second gain factor;
applying a second gain factor to the components placed at the first of the two stages to modify the amplitudes of some of the components in the subband signal block;
characterized in that the variable length code represents quantized components modified by a gain factor and a second gain factor.
23. Apparatus according to any one of claims 15 to 17, arranged to quantize at least some of the components using one or more limited-duty quantizers.
24. An apparatus for decoding an encoded signal, comprising:
a reverse formatter for receiving the encoded signal and deriving therefrom the control information and the variable length code, and deriving quantized subband signal components from the variable length code;
a first inverse quantizer cascaded after the inverse formatter, for inversely quantizing some sub-band signal components in the block according to the control information to obtain a first inverse quantized component;
a sub-band signal block processor cascade-connected after the first inverse quantizer, for applying a gain factor to modify the amplitudes of some of the first inverse quantized components in the sub-band signal block according to the control information;
a synthesis filter has an input cascaded after the subband-signal processor and an output providing an output signal.
25. The apparatus according to claim 24, comprising a second inverse quantizer cascaded after the inverse formatter for inversely quantizing the other sub-band signal components according to an inverse quantizing function complementary to the split interval quantizing function to obtain second inversely quantized components, characterized in that the synthesis filter has an input cascaded after the second inverse quantizer.
26. The apparatus according to claim 24 wherein the inverse formatter obtains control information from the encoded signal indicating those quantized subband-signal components having magnitudes that are not modified according to the gain factor, and wherein the control information is conveyed by one or more reserved symbols that are not used to represent quantized subband-signal components.
27. Apparatus according to any of claims 24 to 26, characterised in that the magnitude of some of the dequantized components is modified by applying a second gain factor in dependence on the control information.
28. An apparatus according to any one of claims 24 to 26, wherein at least some of the quantized components are inverse quantized using one or more inverse quantizers complementary to the limited-loading quantizers.
OP
HK02107256.2A 1999-04-16 2000-04-11 Using gain-adaptive quantization and non-uniform symbol lengths for audio coding HK1045747B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29357799A 1999-04-16 1999-04-16
US09/349,645 1999-07-08
US09/349,645 US6246345B1 (en) 1999-04-16 1999-07-08 Using gain-adaptive quantization and non-uniform symbol lengths for improved audio coding
PCT/US2000/009604 WO2000063886A1 (en) 1999-04-16 2000-04-11 Using gain-adaptive quantization and non-uniform symbol lengths for audio coding

Publications (2)

Publication Number Publication Date
HK1045747A1 HK1045747A1 (en) 2002-12-06
HK1045747B true HK1045747B (en) 2004-12-31

Family

ID=26968028

Family Applications (1)

Application Number Title Priority Date Filing Date
HK02107256.2A HK1045747B (en) 1999-04-16 2000-04-11 Using gain-adaptive quantization and non-uniform symbol lengths for audio coding

Country Status (17)

Country Link
EP (1) EP1175670B2 (en)
JP (1) JP4843142B2 (en)
KR (1) KR100893281B1 (en)
CN (1) CN1158646C (en)
AR (1) AR023444A1 (en)
AT (1) ATE269574T1 (en)
AU (1) AU771454B2 (en)
BR (1) BRPI0010672B1 (en)
CA (1) CA2368453C (en)
DE (1) DE60011606T3 (en)
DK (1) DK1175670T4 (en)
ES (1) ES2218148T5 (en)
HK (1) HK1045747B (en)
MX (1) MXPA01010447A (en)
MY (1) MY122486A (en)
TW (1) TW536692B (en)
WO (1) WO2000063886A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
DE102004007200B3 (en) 2004-02-13 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device for audio encoding has device for using filter to obtain scaled, filtered audio value, device for quantizing it to obtain block of quantized, scaled, filtered audio values and device for including information in coded signal
DE102004007184B3 (en) * 2004-02-13 2005-09-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for quantizing an information signal
DE102004007191B3 (en) 2004-02-13 2005-09-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding
CN100486332C (en) * 2005-11-17 2009-05-06 广达电脑股份有限公司 Method and apparatus for synthesized subband filtering
MX2008010836A (en) * 2006-02-24 2008-11-26 France Telecom Method for binary coding of quantization indices of a signal envelope, method for decoding a signal envelope and corresponding coding and decoding modules.
DE102006022346B4 (en) * 2006-05-12 2008-02-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Information signal coding
KR101482199B1 (en) * 2006-07-24 2015-01-14 마벨 월드 트레이드 리미티드 Magnetic and optical rotating storage systems with audio monitoring
ATE548727T1 (en) * 2007-03-02 2012-03-15 Ericsson Telefon Ab L M POST-FILTER FOR LAYERED CODECS
US20120029926A1 (en) 2010-07-30 2012-02-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
KR101492104B1 (en) * 2011-08-29 2015-02-11 주식회사 아이벡스피티홀딩스 Apparatus of decoding moving pictures
EP3457400B1 (en) * 2012-12-13 2023-08-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Voice audio encoding device, voice audio decoding device, voice audio encoding method, and voice audio decoding method
CN114420152B (en) * 2021-12-08 2025-07-08 深圳市东微智能科技股份有限公司 Sound frequency band adjusting method, device, equipment and storage medium
CN116366411B (en) * 2023-03-28 2024-03-08 扬州宇安电子科技有限公司 Multi-bit signal quantization self-adaptive threshold generation and quantization method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365553A (en) * 1990-11-30 1994-11-15 U.S. Philips Corporation Transmitter, encoding system and method employing use of a bit need determiner for subband coding a digital signal
KR960704300A (en) * 1994-05-25 1996-08-31 이데이 노부유키 Encoding method, decoding method, encoding / decoding method, encoding apparatus, decoding apparatus, and encoding / decoding apparatus (Encoding method, decoding method, encoding / decoding method, encoding apparatus, decoding apparatus, and encoding / decoding apparatus)
JP3307138B2 (en) * 1995-02-27 2002-07-24 ソニー株式会社 Signal encoding method and apparatus, and signal decoding method and apparatus
US5924064A (en) * 1996-10-07 1999-07-13 Picturetel Corporation Variable length coding using a plurality of region bit allocation patterns
US6006179A (en) * 1997-10-28 1999-12-21 America Online, Inc. Audio codec using adaptive sparse vector quantization with subband vector classification

Also Published As

Publication number Publication date
WO2000063886A1 (en) 2000-10-26
ATE269574T1 (en) 2004-07-15
JP2002542522A (en) 2002-12-10
HK1045747A1 (en) 2002-12-06
BR0010672A (en) 2002-02-19
TW536692B (en) 2003-06-11
BRPI0010672B1 (en) 2016-06-07
DK1175670T3 (en) 2004-10-11
EP1175670B1 (en) 2004-06-16
EP1175670B2 (en) 2007-09-19
JP4843142B2 (en) 2011-12-21
DK1175670T4 (en) 2007-11-19
KR100893281B1 (en) 2009-04-17
MXPA01010447A (en) 2002-07-30
KR20010112434A (en) 2001-12-20
CN1158646C (en) 2004-07-21
EP1175670A1 (en) 2002-01-30
CN1347549A (en) 2002-05-01
AU771454B2 (en) 2004-03-25
DE60011606D1 (en) 2004-07-22
DE60011606T2 (en) 2005-06-23
AR023444A1 (en) 2002-09-04
ES2218148T3 (en) 2004-11-16
AU4227900A (en) 2000-11-02
DE60011606T3 (en) 2008-01-24
MY122486A (en) 2006-04-29
ES2218148T5 (en) 2008-02-16
CA2368453C (en) 2009-12-08
CA2368453A1 (en) 2000-10-26

Similar Documents

Publication Publication Date Title
CN1065381C (en) Digital audio signal coding and/or decoding method
CN1256715C (en) Encoding method, encoding device, decoding method, and decoding device
CN1101087C (en) Method and device for encoding signal, method and device for decoding signal, recording medium, and signal transmitting device
CN1099777C (en) Coding device, decoding device and coding method for digital signal
CN1038089C (en) Signal encoding or decoding device and signal encoding or decoding method
CN1103141C (en) Method and device for encoding information, method and device for decoding information, information transmitting method, and information recording medium
CN1132151C (en) multi-channel audio decoder
CN1131598C (en) Scalable audio encoding/decoding method and apparatus
CN1030129C (en) High efficiency digital data encoding and decoding apparatus
CN100338649C (en) Method, device and medium for processing audio signals and generating reconstructed audio signals
CN1183685C (en) System and method for entropy ercoding quantized transform coefficients of a sigral
CN1144179C (en) Sound signal decoding method and device, sound signal encoding method and device
CN1158646C (en) Using gain-adaptive quantization and non-uniform symbol lengths for audio coding
CN1662958A (en) Audio coding system using spectral hole filling
CN1765072A (en) Multi sound channel AF expansion support
CN1748248A (en) Spectral component conversion for encoding and low-complexity transcoding
CN1689069A (en) Sound encoding apparatus and sound encoding method
CN1816847A (en) Fidelity optimized variable frame length encoding
CN1237506C (en) Audio signal encoding method and device, audio signal decoding method and device
CN1411171A (en) Information coding/decoding method and apparatus, information recording medium and information transmission method
CN1677493A (en) Intensified audio-frequency coding-decoding device and method
CN1677490A (en) Intensified audio-frequency coding-decoding device and method
CN1117776A (en) Quantization device, quantization method, high-efficiency coding device, high-efficiency coding method, decoding device, high-efficiency decoding device, and recording medium
JP3900000B2 (en) Encoding method and apparatus, decoding method and apparatus, and program
CN1702974A (en) Method and apparatus for encoding/decoding a digital signal