WO2011063694A1 - 一种可分层音频编码、解码方法及系统 - Google Patents

一种可分层音频编码、解码方法及系统 Download PDF

Info

Publication number
WO2011063694A1
WO2011063694A1 PCT/CN2010/078126 CN2010078126W WO2011063694A1 WO 2011063694 A1 WO2011063694 A1 WO 2011063694A1 CN 2010078126 W CN2010078126 W CN 2010078126W WO 2011063694 A1 WO2011063694 A1 WO 2011063694A1
Authority
WO
WIPO (PCT)
Prior art keywords
layer
coded
core layer
coding
subband
Prior art date
Application number
PCT/CN2010/078126
Other languages
English (en)
French (fr)
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
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to BR112012012573-7A priority Critical patent/BR112012012573B1/pt
Priority to JP2012535611A priority patent/JP5192099B2/ja
Priority to RU2012119783/08A priority patent/RU2509380C2/ru
Priority to EP10832601.8A priority patent/EP2482052B1/en
Priority to US13/505,064 priority patent/US8694325B2/en
Publication of WO2011063694A1 publication Critical patent/WO2011063694A1/zh
Priority to HK12111842.3A priority patent/HK1171079A1/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • 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/002Dynamic bit allocation
    • 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
    • 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/04Speech 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 predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • 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/0212Speech 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 orthogonal transformation
    • 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/028Noise substitution, i.e. substituting non-tonal spectral components by noisy source
    • 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
    • G10L19/038Vector quantisation, e.g. TwinVQ audio

Definitions

  • the present invention relates to a layered audio encoding and decoding method and system.
  • the present invention provides a layerable audio coding method, the method comprising:
  • the number of bit allocations is the number of bits to which a single frequency domain coefficient in an encoded subband is allocated.
  • the step of transmitting the number of bits satisfying the code rate requirement to the decoding end includes:
  • the edge information bits of the extension layer are first written into the MUX, and then the amplitude envelope code bits of the extension layer frequency domain coefficient coding subband are written into the MUX, and then the extension layer encodes the signal. Coded bits are written to the MUX;
  • the invention also provides a layerable audio decoding method, the method comprising:
  • the decoding end intercepts different bit numbers for decoding, and can reach a decoding rate of 36 kbps, 40 kbps, 48 kbps, 56 kbps or 64 kbps.
  • the code rate sent from the encoding end to the decoding end is 96 kbps, the number of different bits is intercepted at the decoding end.
  • Decoding can be performed to a decoding rate of 80 kbps or 96 kbps.
  • the residual signal amplitude envelope generating unit is configured to obtain, according to the amplitude envelope quantization index of each coding subband of the core layer and the bit allocation number of the corresponding coding subband, to obtain the amplitude packet of each coding subband of the residual signal.
  • the enhancement layer coded signal generating unit further includes a residual signal generating unit and an extended layer coded signal synthesizing unit;
  • the present invention also provides a layered audio decoding system, the system comprising: a bit stream demultiplexer, a core layer amplitude envelope decoding unit, a core layer bit allocation unit, a core layer decoding and an inverse quantization unit;
  • the method includes: an extended layer amplitude envelope decoding unit, a core layer residual signal amplitude envelope generating unit, an extended layer bit allocation unit, an extended layer encoded signal decoding and inverse quantization unit, a frequency domain coefficient generating unit, a noise filling unit, and a correction Discrete cosine inverse transform IMDCT unit;
  • the core layer residual signal amplitude envelope generating unit is configured to calculate the amplitude of each coding subband of the residual signal according to the amplitude envelope quantization index of each coding subband of the core layer and the bit allocation number of the corresponding coding subband Value envelope quantization index;
  • the IMDCT unit is configured to perform IMDCT on the entire frequency domain coefficients after noise filling to obtain an output audio signal.
  • the method includes:
  • Step 101 Perform MDCT (Modified Discrete Cosine Transform) on the audio stream with a frame length of 20 ms and a sampling rate of 32 kHz to obtain frequency domain coefficients on the N frequency domain samples.
  • MDCT Modified Discrete Cosine Transform
  • the quantized amplitude envelope reconstructed from the quantized exponent is 2 ⁇ ⁇ /2 .
  • the amplitude envelope quantization index of the first coded subband is encoded using 6 bits, ie 6 bits are consumed.
  • Step 104 Calculate an initial value of the importance of each coded subband of the core layer according to the code rate distortion theory and the coded subband amplitude envelope information, and perform bit allocation of the core layer according to the importance of each coded subband.
  • This step can be implemented using the following substeps:
  • the number of bits available core for core layer coding is extracted from the total number of bits available in the 20 ms frame length, and the bit number of the core layer side information core and the core layer coded subband amplitude envelope quantization are subtracted.
  • the number of bits consumed by the index, the bit Th-core obtains the remaining number of bits that can be used for encoding the kernel layer frequency domain coefficients - left-core, that is:
  • Re is the number of subbands encoded by the core layer.
  • the optimal bit value under the condition of the maximum quantization signal-to-noise ratio gain of each coding sub-band under the code rate distortion limit can be calculated:
  • N(L, K) N(L -l,K) + N(L -1, ⁇ -1) + N(L, K- ⁇ ) (L ⁇ K ⁇ )
  • Step 108a Perform the following energy normalization on the mth to-be quantized vector 1 normalized to the coded subband according to the number of bits regzow-bz() allocated by the single frequency domain coefficient in the coding subband:
  • Index vector k otherwise continue to add a small multiplier value W to the vector, and then quantize to /3 ⁇ 4 grid points until the zero vector is unconditionally satisfied; finally, according to the index vector calculation formula, the /3 ⁇ 4 grid point of the nearest zero vector condition is obtained.
  • Step 109c When the number of bits to which the single frequency domain coefficient of the coded subband is allocated is 1, if the quantization index is less than 127, the quantization index is encoded by using 7 bits, and the 7 bits are divided into 1 group of 3 bits and 1 Group 4 bits, Huffman coding is performed on two groups respectively; if the quantization index is equal to 127, its natural binary code value is "1111 1110", and the first 7 1s are divided into 1 group of 3 bits and 1 group of 4 bits, respectively Huffman coding is performed on two groups; if the quantization index is equal to 128, its natural binary code value is "1111 1111", and the first 7 1s are divided into 1 group of 3 bits and 1 group of 4 bits, respectively. Fuman coding.
  • Plvq_codebook(/, ⁇ ) plvq_code(tmp+ 1 );
  • Bit used hufFall bit used hufFall + plvq_bit count(tmp+ 1 );
  • plvq_count(,A:), and plvq_codebook(,:) are the Huffman bit consumption number and codeword of the _/subband first: 8-dimensional vector; plvq_bit_count_ rl-4 and plvq_code- rl-4 Find according to Table 6.
  • Step 109k Determine whether the bit allocation correction iteration count count is less than or equal to Maxcount, and if yes, jump to step 109f, otherwise the bit allocation correction process ends.
  • the core layer frequency domain coefficient vector quantization and coding unit is configured to normalize the frequency domain coefficients in the coded subband by using the quantized amplitude envelope values of the coded subbands, and then to the frequency domain that needs to be coded.
  • the coefficients are vector quantized and encoded to generate vector quantized values and coded bits of the frequency domain coefficients;
  • the extended layer coded signal generating unit is configured to inverse quantize the vector quantized frequency domain coefficients and output the core layer band with the MDCT unit The difference between the frequency domain coefficients within the range is calculated to obtain the core layer residual signal.
  • the core layer residual signal and the frequency domain coefficients above the core layer range output by the MDCT unit constitute an extended layer coded signal;
  • Y 1 ⁇ + ⁇ ) ⁇ scale ⁇ index)
  • a (2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 ) , scale ⁇ index) is the scaling factor, which can be found in Table 2.
  • X m 2 where 73 ⁇ 4(/) is the amplitude envelope quantization index of the jth coded subband.
  • Step 408 The extended layer coded signal is composed of a core layer residual signal and an extended layer frequency domain coefficient, and an initial value of each coded subband importance is calculated according to the amplitude envelope quantization index of each coded subband of the extended layer, and each The importance of the coding subband is allocated to each coding subband of the extension layer to obtain the bit allocation number of each coding subband of the extension layer; the calculation of the initial value of the coding subband of the decoding end and the bit allocation method and the coding subband of the coding end The calculation method of the importance initial value is the same as the bit allocation method.
  • the coded bits of the coded signal are decoded and inverse quantized by using the bit allocation number of the extended layer, and the inverse quantized data is inverse-normalized by using the quantized amplitude envelope value of each coded sub-band of the extended layer to obtain an extended layer. Coded signal.
  • FIG. 5 is a schematic structural diagram of an enhanced layered audio decoding system according to a first embodiment of the present invention.
  • the system includes: a bit stream demultiplexer (DeMUX) 501, and a core layer amplitude envelope decoding unit. 502.
  • the core layer amplitude envelope decoding unit is configured to perform Huffman decoding or direct decoding on the core layer amplitude envelope coded bits output by the bit stream demultiplexer according to the Flag_huff_rms value in the side information, to obtain a core.
  • the amplitude envelope quantization index ThqG) of each coding sub-band of the layer, J 0, ..., L_core-1;
  • the IMDCT unit is set to perform IMDCT on the noise-filled frequency domain coefficients to obtain the final audio output signal.
  • Step 603 Quantize and encode the amplitude envelope values of the coded subbands to obtain the amplitude envelope quantization index of each coded subband and the coded bits of the amplitude envelope, and the coded bits of the amplitude envelope need to be transmitted to MUX.
  • Step 103 Quantize and encode the amplitude envelope values of the coded subbands to obtain the amplitude envelope quantization index of each coded subband and the coded bits of the amplitude envelope, and the coded bits of the amplitude envelope need to be transmitted to MUX.
  • Step 606 Perform inverse quantization on the frequency domain coefficient of the core layer subjected to the vector quantization, and perform a difference calculation with the original frequency domain coefficient obtained by the MDCT to obtain a residual signal of the core layer, which is recorded as a residual signal 1 and is disabled.
  • the difference signal 1 and the frequency domain coefficients of the enhancement layer 1 constitute the coded signal of the enhancement layer 1; likewise, the difference between the coded signal of the extension layer k-1 and the inverse quantized value of the coded signal of the vector layer 2 of the vector layer is calculated.
  • the residual signal of the enhancement layer k-1 is obtained as a residual signal k
  • the coded signal of the enhancement layer k is composed of the residual signal k and the frequency domain coefficients of the enhancement layer k.
  • Step 608 Perform bit allocation on each coding sub-band in each extension layer (that is, perform bit allocation on each coding sub-band of each extension layer coded signal).
  • each coded subband calculates the initial value of each coded subband importance in each extension layer according to the calculated amplitude envelope quantization index of the enhancement layer coded signal, and using the same bit allocation scheme as the core layer, and encoding each code
  • the subband performs bit allocation; in this example, the total code rate of the audio stream is 96 kbps, the code rate of the core layer is 32 kbps, the maximum code rate of the extension layer 1 is 64 kbps, and the maximum code rate of the extension layer 2 is 96 kbps.
  • the number of coded bits that each extension layer can provide is calculated separately, and then bit allocation is performed until the bits are completely consumed.
  • the bit allocation method of each extension layer is the same as the bit allocation method of the core layer.
  • the writing order of the coded bits of the coded signal is to write the coded bits of each extended layer into the code stream according to the order of the extended layer from low to high; that is, the side information and the frequency domain coefficient of the k-1th extended layer are written first.
  • the sub-band amplitude envelope coded bits and the coded signal coded bits are encoded, and then the side information of the kth extension layer, the frequency domain coefficient coded sub-band amplitude envelope coded bits, and the coded signal coded bits are written.
  • the order in which the coded bits of the coded signal are written is ordered according to the initial importance of each subband; that is, the coded coded bits of the subband with the initial importance are preferentially written into the code stream.
  • Step 611 Construct a code rate layer according to the size of the code rate.
  • the -5 layer and the L 2 - 2 layer can be further divided into L 2 - 1 layers according to the number of rounded bits, corresponding to 80 kbps and L 2 - 2 layers, corresponding to 96 kbps.
  • the MDCT unit is configured to perform MDCT on the input audio stream to generate a frequency domain coefficient;
  • the amplitude envelope calculation unit is configured to perform subband division on the frequency domain coefficients output by the MDCT unit, and calculate a frequency domain packet of each coded subband
  • the amplitude value envelope quantization and coding unit is configured to quantize and encode the amplitude envelope values of the coded sub-bands output by the amplitude envelope calculation unit to generate an amplitude envelope quantization index of each coded sub-band And the encoded bits of the amplitude envelope;
  • the extended layer coded signal generating unit 1 is configured to inverse quantize the frequency domain coefficient vector quantization and the vector quantized frequency domain coefficients output by the coding unit, And performing a difference calculation with the frequency domain coefficient outputted by the MDCT unit to obtain a core layer residual signal (recorded as residual signal 1), and the coded signal of the extension layer 1 is composed of the residual signal 1 and the frequency domain coefficient of the enhancement layer 1 (remember For encoding signals 1);
  • the extension layer coded signal generating unit i+1 is arranged to inverse quantize the coded signal vector quantized by the coding layer vector of the extension layer i and the vector quantized coded signal i output from the coding unit i, and output it to the enhancement layer coded signal generation unit i
  • the coded signal i that has not undergone vector quantization is subjected to difference calculation to obtain a residual signal of the enhancement layer i (denoted as residual signal i+1), which is composed of the residual signal i+1 and the frequency domain coefficients of the enhancement layer i+1.
  • the side information is first decoded, and then the amplitude-encoded bits in the frame are Huffman-decoded or directly decoded according to the value of Flag_huff-rms, and the coded sub-bands of the core layer are obtained.
  • the magnitude envelope quantization index ThqG), j 0, ... - core - 1.
  • Step 802 Calculate an initial value of each coding subband of the core layer according to the amplitude envelope quantization index of each coding subband of the core layer, and perform bit allocation on each coding subband of the core layer by using the importance of the subband, to obtain a core layer.
  • the bit allocation method at the decoding end is exactly the same as the bit allocation method at the encoding end. In the bit allocation process, the bit allocation step size and the step size of the coding subband reduction after the bit allocation are varied.
  • the number of times of correction and the importance of each coded subband are adjusted according to the bit allocation of the core layer of the coding end, and the coding subband is further subjected to co ⁇ bit allocation, and then the whole process of bit allocation ends.
  • the step size of the coded subband allocation bit with the bit allocation number of 0 is 1 bit
  • the step size of the importance reduction after the bit allocation is 1, and the bit allocation number is greater than 0 and less than a certain threshold.
  • the bit allocation step size is 0.5 bits
  • the step size of the importance reduction after the bit allocation is also 0.5
  • the bit when the bit allocation number is greater than or equal to the wide value of the coded subband is additionally allocated bits.
  • the allocation step size is 1, and the step size of the importance reduction after the bit allocation is also 1;
  • Step 803 Using the bit allocation number of the core layer and the quantization amplitude envelope value (2 3 ⁇ 4 0)/2 of each coding subband, and decoding the coded bits of the core layer frequency domain coefficients according to Flag_huff_PL VQ , inverse quantization and denormalization processing, to obtain the core layer frequency domain coefficients.
  • the residual signal coding subband amplitude envelope quantization index in the high extension layer is calculated by using the low spreading layer coded signal coding subband amplitude envelope quantization index and the low spreading layer bit allocation number, that is, the extended layer i
  • the residual signal subband envelope quantization index of -1 is calculated by the coded signal encoding subband amplitude envelope quantization index of the enhancement layer i-1 and the corresponding correction value.
  • the residual signal of the spreading layer i-1 and the frequency domain coefficients of the spreading layer i constitute an encoded signal of the spreading layer i.
  • Step 805 Calculate an initial value of the importance of each coded subband according to an amplitude envelope quantization index of each coded subband coded signal of each extension layer, and code each subband of the extension layer according to the importance of each coded subband.
  • the bit allocation is performed to obtain the bit allocation number of the extension layer; the calculation of the initial value of the coding subband importance at the decoding end and the bit allocation method are the same as the calculation method and the bit allocation method of the initial value of each coding subband importance at the encoding end.
  • the decoding sequence of each extended layer coded signal is from a low extension layer to a high extension layer, and the order in which the coded subband coded signals are decoded in the same extension layer is determined according to an initial value of each coded subband importance. . If two coded subbands have the same importance, the low frequency coded subband is preferentially decoded, while the number of decoded bits is calculated, and decoding is stopped when the number of decoded bits satisfies the total number of bits required.
  • Step 808 Perform noise filling on the subbands to which the coded bits are not allocated during the encoding process.
  • Step 809 Perform IMDCT on the frequency-filled frequency domain coefficient to obtain a final audio output signal.
  • FIG. 9 is a schematic structural diagram of an extended layered audio decoding system according to a second embodiment of the present invention.
  • the system includes: a bit stream demultiplexer (DeMUX) 901, an amplitude envelope decoding unit 902, Core layer bit allocation unit 903, core layer decoding and inverse quantization unit 904, residual signal amplitude envelope generation unit, extension layer bit allocation unit, coded signal decoding and inverse quantization unit, frequency
  • the residual signal amplitude envelope generation unit is further divided into: residual signal amplitude envelope generation unit 1 to residual signal amplitude envelope generation Unit K; further dividing the extended layer bit allocation unit into: an extended layer bit allocation unit 1 to an extended layer bit allocation unit K; further dividing the encoded signal decoding and inverse quantization unit into: an encoded signal decoding and inverse quantization unit 1 to an encoded signal Decoding and inverse quantization unit ⁇ .
  • the amplitude envelope decoding unit is configured to perform Huffman decoding or direct decoding on the amplitude envelope coded bits output by the bit stream demultiplexer according to the Flag_huff_rms value in the side information, to obtain the core layer coders.
  • Band amplitude envelope quantization index ThqG), j 0, ..., L-core - 1;
  • the core layer bit allocation unit is configured to calculate an initial value of the importance of each coding subband of the core layer according to the amplitude envelope quantization index of each coding subband of the core layer output by the amplitude envelope decoding unit, and use the subband importance pair
  • the residual signal amplitude envelope generating unit i+1 is configured to calculate the residual subband residuals of the extended layer i by using the amplitude envelope quantization index of each coded subband in the extended layer i and the bit allocation number of the extended layer i
  • the frequency domain coefficient generating unit is configured to add the core layer frequency domain coefficients output by the core layer decoding and inverse quantization unit and the extended layer coded signals output by the coded signal decoding and inverse quantization unit to obtain a frequency domain coefficient output value;
  • the noise filling unit is configured to perform noise filling on the subbands of the frequency domain coefficient output values output by the frequency domain coefficient generating unit that are not allocated coded bits;
  • the layered audio coding and decoding method and system provided by the present invention use the same subband division and bit allocation method in the core layer and the extension layer, and calculate the extension layer amplitude according to the core layer amplitude envelope information.
  • the envelope information, in the core layer and the extension layer bit allocation fully considers the distribution characteristics of the signal itself, so that the core layer and the extension layer are closely connected, and the residual signal amplitude envelope information is not included in the extended layer code stream. , improve the efficiency of layered audio codec, and also improve the code utilization.

Landscapes

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

Description

一种可分层音频编码、 解码方法及系统
技术领域
本发明涉及一种可分层音频编码、 解码方法及系统。
背景技术
可分层音频编码是指以分层的方式组织音频编码的码流, 一般分成一个 核心层和若干个扩展层, 解码器可以在没有高层(譬如扩展层)编码码流的 情况下实现只对低层 (譬如核心层)编码码流进行解码, 解码的层数越多, 音质提高得越大。
可分层编码技术对于通信网络有非常重要的实用价值。 一方面, 数据的 传输可以由不同信道共同合作完成, 而每个信道的丟包率都有可能不同, 这 时候往往需要对数据进行可分层处理, 将数据中重要的部分放在丟包率相对 较低的稳定信道中传输, 而将数据中次要的部分放在丟包率相对较高的非稳 定信道中传输, 从而保证当非稳定信道丟包时只会产生相对的音质下降, 而 不会出现一帧数据完全无法解码的情况。 另一方面, 某些通信网络(比如因 特网) 的带宽很不稳定, 不同用户之间的带宽各不相同, 不能釆用一个固定 的码率来兼顾不同带宽用户的需求, 而釆用可分层的编码方案就可以使得不 同用户在各自所拥有的带宽条件下获得最佳的音质享受。
传统的可分层音频编码方案, 比如 ITU ( International Telecommunication
Union, 国际电信联合会)的标准 G.729.1和 G.VBR, 所釆用的方式为核心层 使用语音编码, 扩展层釆用时域或者变换域编码。 核心层与扩展层之间的编 码方式相互独立, 这样就会造成编码效率低, 同时在中低码率的传输条件下 对音乐信号编码质量有影响。 另外一些可分层方案, 如 MPEG4 ( Moving Picture Experts Group 4 , 运动图像专家组 -4 ) 所釆用的 BSAC ( Bit-Slice Arithmetic Code, 比特时间片算术编码 )可变码率(或者可伸缩 )的编码方案, 仅从数据本身的大小出发进行比特分配和可分层操作, 没有考虑到整个信号 本身的残差感知分布特性,不能利用核心层已有的信息帮助扩展层进行编码, 使得编码效率不高。 发明内容
本发明所要解决的技术问题是, 克服现有技术的不足, 提供一种高效的 可分层音频编码、 解码方法及系统。
为了解决上述技术问题, 本发明提供一种可分层音频编码方法, 该方法 包括:
将音频信号经过修正离散余弦变换 MDCT后的频域系数, 划分为核心层 频域系数和扩展层频域系数, 将所述核心层频域系数和扩展层频域系数划分 成多个编码子带, 并对所述编码子带的幅值包络值进行量化和编码;
根据核心层各编码子带的幅值包络值对核心层各编码子带进行比特分 配,然后对核心层频域系数进行量化和编码得到核心层频域系数的编码比特; 根据核心层各编码子带的幅值包络值和比特分配数计算核心层残差信号 各编码子带的幅值包络值;
根据由核心层残差信号和扩展层频域系数构成的扩展层编码信号和由所 述扩展层编码信号构成的各编码子带的幅值包络值对扩展层各编码子带进行 比特分配, 然后对扩展层编码信号进行量化和编码得到扩展层编码信号的编 码比特; 以及
将核心层频域系数和扩展层频域系数构成的各编码子带的幅值包络编码 比特、核心层频域系数的编码比特和扩展层编码信号的编码比特复用打包后, 传送给解码端。
此外, 在将音频信号经过修正离散余弦变换 MDCT后的频域系数, 划分 为核心层频域系数和扩展层频域系数, 将所述核心层频域系数和扩展层频域 系数划分成多个编码子带的步骤中,
将 MDCT变换后的频域系数分成多个等间隔编码子带,或者按照听觉感 知特性划分成多个非均勾编码子带;将低频编码子带划分为核心层编码子带, 将高频编码子带划分为扩展层编码子带。
此外, 根据编码子带幅值包络值对各编码子带进行变步长比特分配; 在比特分配过程中, 对比特分配数为 0的编码子带分配比特的步长是 1 个比特, 比特分配后重要性降低的步长为 1 , 对比特分配数大于 0且小于分 类阔值的编码子带追加分配比特时的比特分配步长为 0.5 个比特, 比特分配 后重要性降低的步长为 0.5 ,对比特分配数大于等于所述分类阔值的编码子带 追加分配比特时的比特分配步长为 1 , 比特分配后重要性降低的步长为 1 ; 比特分配数是一个编码子带中单个频域系数所分配到的比特数。
此外,在对核心层频域系数和扩展层编码信号进行量化和编码的步骤中, 对比特分配数小于分类阔值的编码子带的待量化矢量釆用塔型格型矢量 量化方法进行量化和编码, 对比特分配数大于所述分类阔值的编码子带的待 量化矢量釆用球型格型矢量量化方法进行量化和编码;
比特分配数是一个编码子带中单个频域系数所分配到的比特数。
此外, 在根据核心层各编码子带的幅值包络值和比特分配数计算核心层 残差信号各编码子带的幅值包络值的步骤中,
釆用如下方法计算核心层残差信号各编码子带的幅值包络值:
对核心层频域系数的量化值进行反量化, 并与核心层频域系数进行差计 算, 得到核心层残差信号;
将核心层残差信号按与核心层频域系数相同的方法划分成编码子带, 根 据核心层各编码子带幅值包络值和比特分配数推算出核心层残差信号各编码 子带的幅值包络值。
此外, 推算出核心层残差信号各编码子带的幅值包络值的步骤包括: 计 算核心层各编码子带的幅值包络量化指数, 并与对应编码子带的量化指数修 正值进行差计算, 得到核心层残差信号各编码子带的幅值包络量化指数; 各编码子带的量化指数修正值大于等于 0, 且当核心层对应编码子带的 比特分配数增加时不减小; 以及
当核心层的编码子带的比特分配数为 0时, 量化指数修正值为 0, 当核 心层的编码子带的比特分配数为所限定的最大比特分配数时, 核心层残差信 号在该编码子带的幅值包络值为零。
此外, 编码子带的量化指数修正值是根据核心层比特分配数得到的, 当 核心层编码子带的比特分配数分别为 0、 1、 1.5、 2、 2.5、 3、 3.5、 4、 4.5、 5、 6、 7或 8时, 该编码子带所对应的量化指数修正值分别取 0、 1、 2、 3、 4、 5、 5、 6、 7、 7、 9、 10或 12;
此外, 得到核心层频域系数的编码比特的步骤包括:
计算核心层各编码子带的幅值包络量化指数, 对核心层各编码子带进行 比特分配; 以及
根据核心层各编码子带的幅值包络量化指数重建的核心层各编码子带的 量化幅值包络值对各编码子带的频域系数进行归一化, 根据核心层各编码子 带的比特分配数分别使用塔型格型矢量量化方法和球型格型矢量量化方法进 行量化和编码, 得到核心层频域系数的编码比特;
其中, 得到扩展层编码信号的编码比特的步骤包括:
用核心层残差信号和扩展层频域系数构成扩展层编码信号;
根据扩展层编码信号各编码子带的幅值包络量化指数, 对扩展层各编码 子带进行比特分配; 以及
根据扩展层各编码子带的幅值包络量化指数重建的扩展层各编码子带的 量化幅值包络值对各编码子带的编码信号进行归一化, 根据扩展层各编码子 带的比特分配数分别使用塔型格型矢量量化方法和球型格型矢量量化方法进 行量化和编码, 得到扩展层编码信号的编码比特。
此外, 在核心层频域系数和扩展层频域系数构成的各编码子带的幅值包 络编码比特、 核心层频域系数的编码比特和扩展层编码信号的编码比特复用 打包后, 传送给解码端的步骤中,
按照如下码流格式进行复用打包:
将核心层的边信息比特写入码流的帧头后面, 将核心层的编码子带幅值 包络编码比特写入比特流复用器 MUX,然后将核心层频域系数的编码比特写 入 MUX; 以及将扩展层的边信息比特写入 MUX, 将扩展层频域系数编码子 带的幅值包络编码比特写入 MUX, 然后将扩展层编码信号的编码比特写入 MUX;
根据所要求的码率, 将满足码率要求的比特数传送到解码端。
此外, 将扩展层编码信号编码比特按照各编码子带重要性的初始值从大 到小排序的顺序写入码流, 传送到解码端。
此外,核心层的边信息包括 MDCT系数构成的编码子带幅值包络的霍夫 曼编码标志位比特、 核心层频域系数的霍夫曼编码标志位比特和迭代次数比 特;
扩展层的边信息包括扩展层编码信号的霍夫曼编码标志位比特和迭代次 数比特。
此外, 将满足码率要求的比特数传送到解码端的步骤包括:
按照所限定的最大编码码率的比特数在整个所需编码的频带范围内, 对 核心层和扩展层编码, 使得在编码频带范围内达到最大编码码率;
在核心层编码比特之后, 将扩展层编码信号的编码比特按照各编码子带 重要性初始值从大到小的顺序写入比特流复用器; 以及
按照将编码子带重要性初始值小的编码子带的编码比特先舍去的原则, 将满足码率要求的比特数传送到解码端;
其中,将核心层对应的码率记为 L0层,根据扩展层舍去比特数的多少将 扩展层对应的各个码率分别记为 LI— 1层、 L1— 2层、直至 LI— K层,其中 LI— K 层的码率就是所述最大编码码率。
此外, 编码频带范围为 0 ~ 13.6kHz, 最大编码码率为 64kbps时, 釆用如 下编码码率分层方法将满足码率要求的比特数传送到解码端:
将编码频带范围 0 ~ 13.6kHz中 0 ~ 6.4kHz内的 MDCT频域系数划分成核 心层, 核心层所对应的最大码率是 32kbps, 记为 L0层; 扩展层的编码频带 范围为 0 ~ 13.6kHz, 其最大码率为 64kbps, 记为 —5层;
在送到解码端之前, 根据舍去比特数的多少将码率划分为 —1层, 对应 36kbps, Lj_2层,对应 40kbps, _3层,对应 48kbps, _ 层,对应 56kbps, 及 — 5层, 对应 64kbps。
此外, 在将音频信号经过修正离散余弦变换 MDCT后的频域系数, 划分 为核心层频域系数和扩展层频域系数的步骤之后, 所述方法还包括: 把扩展 层的频域系数按照频率从小到大的顺序分成 M个部分, 它们分别是扩展层 1 到扩展层 M的频域系数,其中扩展层 1中频域系数的频率最小,扩展层 M中 频域系数的频率最大;
在对核心层频域系数进行量化和编码的步骤之后, 所述方法还包括: 对 核心层频域系数的量化值进行反量化, 并与核心层频域系数进行差计算, 得 到核心层残差信号;
在所述根据核心层各编码子带的幅值包络值和比特分配数计算核心层残 差信号各编码子带的幅值包络值的步骤中, 将核心层残差信号按与核心层相 同的方法划分成编码子带, 根据核心层各编码子带的幅值包络值和比特分配 数推算出核心层残差信号各编码子带的幅值包络值;
在所述根据由核心层残差信号和扩展层频域系数构成的扩展层编码信号 和由所述扩展层编码信号构成的各编码子带的幅值包络值对扩展层各编码子 带进行比特分配, 然后对扩展层编码信号进行量化和编码得到扩展层编码信 号的编码比特的步骤中,
用核心层残差信号和扩展层 1的频域系数构成扩展层 1的编码信号, 根 据扩展层 1的编码信号计算各编码子带的幅值包络量化指数, 对扩展层 1各 编码子带进行比特分配; 根据扩展层 1的各编码子带的比特分配数对扩展层 1的编码信号进行量化和编码;
对扩展层 i的编码信号的量化值进行反量化,并与扩展层 i的编码信号进 行差计算, 得到扩展层 1的残差信号;
将扩展层 i的残差信号按与扩展层 i相同的方法划分成编码子带,根据扩 展层 i的各编码子带幅值包络值和比特分配数推算出扩展层 i的残差信号各子 带的幅值包络值;
根据扩展层 i的残差信号和扩展层 i+1的频域系数构成扩展层 i+1的编码 信号, 根据扩展层 i+1 的编码信号各编码子带的幅值包络量化指数, 对扩展 层 i+1的各编码子带进行比特分配; 以及
根据扩展层 i+1各编码子带的幅值包络量化指数重建的扩展层 i+1各编码 子带的量化幅值包络值和编码比特数对扩展层 i+1 各编码子带的编码信号进 行归一化、 矢量量化和编码, 得到扩展层 i+1的编码信号的编码比特;
所述 i=l,....N-l , N为大于 2的正整数。 此外, 按照如下码流格式进行复用打包:
在核心层的编码比特之后, 根据扩展层编号的大小, 将编号小的扩展层 的比特先写入比特流复用器 MUX,然后将编号大的扩展层的比特再写入比特 流复用器 MUX, 即先写入扩展层 i的比特再将扩展层 i+1的比特写入 MUX;
在同一个扩展层中,先将该扩展层的边信息比特写入 MUX, 然后将该扩 展层频域系数编码子带的幅值包络编码比特写入 MUX,然后将该扩展层编码 信号的编码比特写入 MUX;
根据所要求的码率, 将满足码率要求的比特数传送到解码端。
此外, 釆用如下编码码率分层方法将满足码率要求的比特数传送到解码 端:
按照所定最大编码码率的比特数在整个所需编码的频带范围内, 对核心 层和扩展层 1到扩展层 M进行编码,使得在编码频带范围内达到所定最大编 码码率; 在核心层编码比特之后, 将编号小的扩展层的比特优先写入比特流复用 器, 在同一个扩展层中将编码子带重要性初始值大的编码子带的编码比特优 先写入比特流复用器;
对于每一个扩展层, 根据各个分层的码率设计要求, 把比特流复用器后 部不必要的比特舍去, 既按照将编码子带重要性初始值小的编码子带的编码 比特先舍去的原则, 将满足码率要求的比特数传送到解码端;
将核心层对应的码率记为 L0层,根据所定传送码率的要求将各个扩展层 对应的最大码率分别记为 Li— 层、 L2— K2层、 直至 LM— ΚΜ层, 其中 LM— KM 层的码率就是编码器所要求的最大码率;
在扩展层 i和扩展层 i+1之间,根据舍去比特数的多少进一步将码率层细 化,即在 Li— IQ层和 L1+1— K1+1层之间根据舍去比特数的多少,划分出 L1+1— 1层, Li+i_2层, 直至 Li+i_Ki+i层。
此外, 编码频带范围为 0 ~ 20kHz, 最大编码码率为 96kbps时, 釆用如 下编码码率分层方法将满足码率要求的比特数传送到解码端:
将编码频带范围 0 ~ 20kHz中 0 ~ 6.4kHz内的 MDCT频域系数划分成核 心层, 核心层所对应的最大码率是 32kbps, 记为 L0层;
扩展层 1的编码频带范围为 0 ~ 13.6kHz,其最大码率为 64kbps,记为 —5 层; 扩展层 2的编码频带范围为 0 ~ 20kHz, 其最大码率为 96kbps, 记为 L2— 2 层;
在送到解码端之前, 根据舍去比特数的多少可以将 —5层和 L2— 2层之 间进一步划分为 L2— 1层, 对应 80kbps, 及 L2— 2层, 对应 96kbps。
本发明还提供一种可分层音频解码方法, 该方法包括:
对编码端传送过来的比特流进行解复用, 对核心层频域系数的幅值包络 编码比特进行解码, 得到核心层各编码子带的幅值包络值;
根据核心层各编码子带的幅值包络值, 对核心层各编码子带进行比特分 配, 并推算出核心层残差信号的幅值包络值; 对扩展层的频域系数幅值包络 编码比特进行解码, 得到扩展层频域系数幅值包络值; 根据核心层残差信号 的幅值包络值和扩展层频域系数幅值包络值对扩展层各编码子带进行比特分 配; 以及
根据核心层的比特分配数和扩展层的比特分配数, 分别对核心层频域系 数编码比特和扩展层编码信号的编码比特进行解码, 得到核心层频域系数和 扩展层编码信号, 将扩展层编码信号按照频带顺序重新排列, 并和核心层频 域系数相加, 得到全体带宽的频域系数, 对全体带宽的频域系数进行修正离 散余弦逆变换 IMDCT, 得到输出的音频信号。
此外, 推算残差信号的幅值包络值的方法为:
推算出核心层残差信号的幅值包络值的步骤包括:
计算核心层各编码子带的幅值包络量化指数, 并与对应编码子带的量化 指数修正值进行差计算, 得到核心层残差信号各编码子带的幅值包络量化指 数;
根据扩展层 i的各编码子带幅值包络和比特分配数推算出扩展层 i的残差 信号各子带的幅值包络值;
各编码子带的量化指数修正值大于等于 0, 且当核心层对应编码子带的 比特分配数增加时不减小; 以及 当核心层的编码子带的比特分配数为 0时, 量化指数修正值为 0, 当编 码子带的比特分配数为所限定的最大比特分配数时, 核心层残差信号在该编 码子带的幅值包络值为零。
此外, 编码子带的量化指数修正值是根据核心层比特分配数得到的, 当 核心层编码子带的比特分配数分别为 0、 1、 1.5、 2、 2.5、 3、 3.5、 4、 4.5、 5、 6、 7或 8时, 该编码子带所对应的量化指数修正值分别取 0、 1、 2、 3、 4、 5、 5、 6、 7、 7、 9、 10或 12;
此外, 得到核心层频域系数和扩展层编码信号的步骤包括:
根据核心层各编码子带的比特分配数、 量化幅值包络值和边信息对核心 层频域系数编码比特进行解码、 反量化及反归一化处理, 得到核心层频域系 数; 以及
根据扩展层各编码子带的比特分配数、 扩展层编码信号的量化幅值包络 值和边信息对该扩展层编码信号的编码比特进行解码、 反量化及反归一化处 理, 得到扩展层编码信号。
此外, 在对扩展层编码信号的编码比特进行解码的步骤中,
釆用如下顺序对扩展层编码信号的编码比特进行解码:
在不同的扩展层中, 各层解码的顺序是先对扩展层编号小的低扩展层的 幅值包络和各编码子带的编码比特进行解码, 然后再对扩展层编号大的高扩 展层的幅值包络和各编码子带的编码信号进行解码, 解码过程中计算已解码 的比特数, 当已解码的比特数满足总比特数要求时停止解码;
在同一个扩展层中, 各编码子带解码的顺序是根据各个编码子带重要性 的初始值决定的, 重要性大的编码子带优先解码, 如果有两个编码子带具有 相同的重要性, 则低频编码子带优先解码, 解码过程中计算已解码的比特数, 当已解码的比特数满足总比特数要求时停止解码。
此外, 当从编码端送往解码端的码率为 64kbps时, 在解码端截取不同的 比特数进行解码, 可以到 36kbps , 40kbps , 48kbps, 56kbps或 64kbps的解 码码率。 当从编码端送往解码端的码率为 96kbps时,在解码端截取不同的比特数 进行解码, 可以到 80kbps或 96kbps的解码码率。
本发明还提供一种可分层音频编码系统, 该系统包括: 修正离散余弦变 换 MDCT单元、 幅值包络计算单元、 幅值包络量化和编码单元、 核心层比特 分配单元、 核心层频域系数矢量量化和编码单元以及比特流复用器; 该系统 还包括: 扩展层编码信号生成单元、 残差信号幅值包络生成单元、 扩展层比 特分配单元以及扩展层编码信号矢量量化和编码单元; 其中: 所述 MDCT单元设置为, 对输入的音频信号进行修正离散余弦变换, 生 成核心层频域系数和扩展层频域系数;
所述幅值包络计算单元设置为, 将所述核心层频域系数和扩展层频域系 数中待编码的部分划分为核心层频域系数编码子带和扩展层频域系数编码子 带, 并计算各编码子带的幅值包络值; 所述幅值包络量化和编码单元设置为, 将所述核心层频域系数编码子带 和扩展层频域系数编码子带的幅值包络值进行量化和编码, 生成核心层频域 系数和扩展层频域系数各编码子带的幅值包络量化指数和幅值包络的编码比 特;
所述核心层比特分配单元设置为, 进行核心层的比特分配, 得到核心层 各编码子带的比特分配数;
所述核心层频域系数矢量量化和编码单元设置为, 使用根据核心层各编 码子带的幅值包络量化指数重建的核心层各编码子带的量化幅值包络值和比 特分配数对核心层各编码子带的频域系数进行归一化、 矢量量化和编码, 得 到核心层频域系数的编码比特;
所述扩展层编码信号生成单元设置为, 生成残差信号, 得到由残差信号 和扩展层频域系数构成的扩展层编码信号;
所述残差信号幅值包络生成单元设置为, 根据核心层各编码子带的幅值 包络量化指数与对应编码子带的比特分配数, 得到残差信号各编码子带的幅 值包络量化指数;
所述扩展层比特分配单元设置为 , 根据残差信号各编码子带的幅值包络 量化指数和扩展层频域系数各编码子带的幅值包络量化指数进行扩展层的比 特分配, 得到扩展层编码信号各编码子带的比特分配数;
所述扩展层编码信号矢量量化和编码单元设置为, 使用根据扩展层各编 码子带的幅值包络量化指数重建的扩展层各编码子带的量化幅值包络值和比 特分配数对扩展层各编码子带的编码信号进行归一化、 矢量量化和编码, 得 到扩展层编码信号的编码比特;
所述比特流复用器设置为, 将核心层边信息比特、 核心层各编码子带的 幅值包络的编码比特、 核心层频域系数的编码比特、 扩展层边信息比特, 扩 展层频域系数各幅值包络的编码比特和扩展层编码信号的编码比特进行打 包。
此外, 所述扩展层编码信号生成单元还包括残差信号生成单元和扩展层 编码信号合成单元;
所述残差信号生成单元设置为,对核心层频域系数的量化值进行反量化, 并与核心层频域系数进行差计算, 得到核心层残差信号;
所述扩展层编码信号合成单元设置为, 将核心层残差信号和扩展层的频 域系数按频带的顺序合成, 得到扩展层编码信号。
此外, 所述残差信号幅值包络生成单元还包含量化指数修正值获取单元 和残差信号幅值包络量化指数计算单元;
所述量化指数修正值获取单元设置为, 根据核心层各编码子带比特分配 数推算残差信号各编码子带的量化指数修正值, 各编码子带的量化指数修正 值大于等于 0 , 且当核心层对应编码子带的编码比特数增加时不减, 如果核 心层的编码子带的比特分配数为 0, 则量化指数修正值为 0, 如果编码子带的 比特分配数为所限定的最大比特分配数, 则残差信号在该编码子带的幅值包 络值为零;
所述残差信号幅值包络量化指数计算单元设置为, 将核心层各编码子带 的幅值包络量化指数与对应编码子带的量化指数修正值进行差计算, 得到核 心层残差信号各编码子带的幅值包络量化指数。
此外, 所述比特流复用器是设置为, 将扩展层编码信号编码比特按照各 编码子带重要性的初始值从大到小的顺序写入码流, 对于具有相同重要性的 编码子带, 低频编码子带的编码比特优先写入码流。
本发明还提供一种可分层音频解码系统, 该系统包括: 比特流解复用器、 核心层幅值包络解码单元、核心层比特分配单元、核心层解码和反量化单元; 该系统还包括: 扩展层幅值包络解码单元、 核心层残差信号幅值包络生成单 元、 扩展层比特分配单元、 扩展层编码信号解码和反量化单元、 频域系数生 成单元、 噪声填充单元和修正离散余弦逆变换 IMDCT单元; 其中:
所述核心层幅值包络解码单元设置为, 对所述比特流解复用器输出的核 心层编码子带幅值包络编码比特进行解码, 得到核心层各编码子带的幅值包 络量化指数; 所述核心层比特分配单元设置为, 进行核心层的比特分配, 得到核心层 各编码子带的比特分配数;
所述核心层解码和反量化单元设置为, 根据核心层各编码子带的幅值包 络量化指数计算得到核心层各编码子带的量化幅值包络值, 使用核心层各编 码子带的比特分配数和量化幅值包络值对所述比特流解复用器输出的核心层 频域系数编码比特进行解码、 反量化及反归一化处理, 得到核心层的频域系 数;
所述扩展层幅值包络解码单元设置为, 对比特流解复用器输出的扩展层 频域系数幅值包络编码比特进行解码, 得到扩展层频域系数各编码子带的幅 值包络量化指数;
所述核心层残差信号幅值包络生成单元设置为, 根据核心层各编码子带 的幅值包络量化指数与对应编码子带的比特分配数计算得到残差信号各编码 子带的幅值包络量化指数;
所述扩展层比特分配单元设置为 , 根据残差信号各编码子带的幅值包络 量化指数和扩展层频域系数各编码子带的幅值包络量化指数进行扩展层的比 特分配, 得到扩展层编码信号各编码子带的比特分配数;
所述扩展层编码信号解码和反量化单元设置为, 使用扩展层各编码子带 的幅值包络量化指数计算得到扩展层各编码子带的量化幅值包络值 , 使用扩 展层各编码子带的编码比特数和量化幅值包络值对所述比特流解复用器输出 的扩展层编码信号的编码比特进行解码、 反量化及反归一化处理, 得到扩展 层编码信号;
所述频域系数生成单元设置为, 根据频带顺序对所述扩展层编码信号解 码和反量化单元输出的扩展层的编码信号进行重新排序, 然后与所述核心层 解码和反量化单元输出的核心层频域系数做和计算, 得到频域系数输出值; 所述噪声填充单元设置为, 对编码过程中未分配编码比特的编码子带进 行噪声填充;
IMDCT单元设置为,对进行了噪声填充后的全体频域系数进行 IMDCT , 得到输出的音频信号。
此外, 所述核心层残差信号幅值包络生成单元还包括量化指数修正值获 取单元和残差信号幅值包络量化指数计算单元;
所述量化指数修正值获取单元设置为, 根据核心层各编码子带比特分配 数推算残差信号各编码子带的量化指数修正值, 并根据对应编码子带频域系 数的绝对值进行调整, 其中, 各编码子带的量化指数修正值大于等于 0, 且 当核心层对应编码子带的编码比特数增加时不减小, 如果核心层的编码子带 的比特分配数为 0, 则量化指数修正值为 0, 如果编码子带的比特分配数为所 限定的最大比特分配数, 则残差信号在该编码子带的幅值包络值为零;
所述残差信号幅值包络量化指数计算单元设置为, 将核心层各编码子带 的幅值包络量化指数与对应编码子带的量化指数修正值进行差计算, 得到核 心层残差信号各编码子带的幅值包络量化指数。
此外, 所述扩展层编码信号解码和反量化单元是设置为, 对扩展层编码 信号的各编码子带解码的顺序是根据各编码子带重要性的初始值决定的, 重 要性大的编码子带优先解码, 如果有两个编码子带具有相同的重要性, 则低 频编码子带优先解码, 解码过程中计算已解码的比特数, 当已解码的比特数 满足总比特数要求时停止解码。
分配方法, 并根据核心层幅值包络信息计算出扩展层幅值包络信息, 在核心 层与扩展层比特分配中都充分考虑信号本身的分布特性, 使得核心层与扩展 层之间紧密相连, 并且在扩展层码流中不包括残差信号幅值包络信息, 提高 了可分层音频编解码的效率, 同时也提高了代码利用率。
附图概述
图 1是本发明第一实施例增强型可分层音频编码方法的流程图; 图 2是本发明实施例在矢量量化后进行比特分配修正的方法流程图; 图 3是本发明第一实施例增强型可分层音频编码系统的结构示意图; 图 3a是本发明第一实施例可分层编码码流的示意图;
图 4是本发明第一实施例增强型可分层音频解码方法的流程图; 图 5是本发明第一实施例增强型可分层音频解码系统的结构示意图; 图 6是本发明第二实施例扩展型可分层音频编码方法的流程图; 图 6a是本发明第二实施例可分层编码码流的示意图;
图 7是本发明第二实施例扩展型可分层音频编码系统的结构示意图; 图 8是本发明第二实施例扩展型可分层音频解码方法的流程图; 图 9是本发明第二实施例扩展型可分层音频解码系统的结构示意图; 图 10是本发明中釆用在频带范围分层和根据码率分层的关系示意图。
本发明的较佳实施方式
本发明的核心思想是, 对核心层的量化噪声进行补偿, 在核心层和扩展 层中釆用相同的子带划分方法和比特分配方法, 并才艮据核心层幅值包络信息 计算出核心层的残差信号的幅值包络信息, 因此可以提高核心层的音质质量 而在扩展层码流中不传送残差信号幅值包络信息。
下面将结合附图和实施例对本发明进行详细描述。
第一实施例
图 1是本发明第一实施例增强型可分层音频编码方法的流程图。 本实施 例中以帧长为 20ms,釆样率为 32kHz的音频流为例具体说明本发明的可分层 音频编码方法。 在其它帧长和釆样率条件下, 本发明的方法同样适用。 如图
1所示, 该方法包括:
步骤 101:对帧长为 20ms、釆样率为 32kHz的音频流实施 MDCT( Modified Discrete Cosine Transform, 修正离散余弦变换)得到 N个频域釆样点上的频 域系数。
本步骤的具体实现方式可以是:
将当前帧的 N点时域釆样信号 与上一帧的 N点时域釆样信号 Xouin) 组 2N点时域釆样信号 , 2Ν点的时域釆样信号可由下式表示:
Figure imgf000017_0001
对 《)实施 MDCT, 得到如下频域系数: (:) = j(«)w(«)cos[ (« + +—)0+"4] k = 0,---,N-l (2) 其中, 表示正弦窗函数, 表达式为: w(«)-sin[— («+-)] η=0,···,2Ν-1 (3 )
2Ν 2
此外, 当帧长为 20ms, 釆样率为 32kHz时, N=640 (其他帧长及釆样率 可同样算出相应的 N) 。
步骤 102: 将 N点频域系数分成若干个子带, 所述子带可以是均匀划分, 也可以是非均匀划分, 在本实施例中釆用非均匀子带划分, 计算各个子带的 频域幅值包络(简称幅值包络) 。
本步骤可以釆用如下子步骤实现:
步骤 102a: 将所需编码的频带范围内的频域系数分成 L个子带(可以称 为编码子带) ;
本实施例中, 所需编码的频带范围是 0~ 13.6kHz, 可以按照人耳感知特 性进行非均勾子带划分, 表 1给出了一个具体的划分方式。
在表 1中将 0 ~ 13.6kHz频带范围内的频域系数划分成 28个编码子带, 也就是 L=28; 并将 13.6kHz以上的频域系数置为 0。 在本实施例中, 还划分出核心层的频域范围。 选择表 1中的 0~ 15号子 带作为核心层的子带, 共有 L core=l6 个子带。 核心层的频带范围是 0~ 6.4kHz。
起始频率点 结束频率点 子带宽度 子带序号
(Llndex) (Hlndex) (Bandwidth)
0 0 7 8
1 8 15 8
2 16 23 8
3 24 31 8
4 32 47 16
5 48 63 16
6 64 79 16
7 80 95 16
8 96 111 16
9 112 127 16
10 128 143 16
11 144 159 16
12 160 183 24
13 184 207 24
14 208 231 24
15 232 255 24
16 256 279 24
17 280 303 24
18 304 327 24
19 328 351 24
20 352 375 24
21 376 399 24
22 400 423 24
23 424 447 24
24 448 471 24
25 472 495 24
26 496 519 24
27 520 543 24 表 1 步骤 102b: 按照以下公式计算各编码子带的幅值包络:
Hlndex(j)
h(j)
Index(j) -Undex(j) + 1 k=I^、 其中, LIndex(J和 分别表示第 j个编码子带的起始频率点和结束 频率点, 其具体数值如表 1所示。 步骤 103: 对各编码子带的幅值包络值进行量化和编码, 得到幅值包络 的量化指数和幅值包络的编码比特, 幅值包络的编码比特需要传送到比特流 复用器(MUX) 中。
釆用以下公式( 5 )对各编码子带幅值包络进行量化, 得到各编码子带幅 值包络的量化指数, 即量化器的输出值:
Thg( ) = [2log2Th( )J (5)
其中, ^」表示向下取整, 1¾(0)为第一个编码子带的幅值包络量化指数, 将其范围限制在 [ - 5, 34]内,即当 Thq(0) < - 5时,令
Figure imgf000020_0001
= -5; 当 Thq(0) > 34时, 令 = 34。 根据量化指数重建的量化幅值包络为 2τ ω/2。 使用 6比特对第一个编码子带的幅值包络量化指数进行编码, 即消耗 6 比特。
各编码子带幅值包络量化指数间的差分运算值釆用如下公式计算:
Δ7¾ ) = Thq (j +\)-Thq(j) . = 0,…, - 2 (6) 可以对幅值包络进行如下修正以保证 Δ ¾( ·)的范围在[ - 15, 16]之内: 如果 A¾gC/)<- 15, 则令 Δ ¾ (_/·) = - 15, ¾g (_/·) = ¾g (_/· + 1) + 15, j = L-2,-,0; 如果 Δ ^ΟθΙδ , 则令 A7¾gC/) = 16, Thq(j + \) = Thq(j) + \6J = 0,...,L-2;
对 A7¾gC/),_/ = 0,...,J- 2进行霍夫曼 ( Huffinan )编码, 并计算此时所消耗的 比特数(称为霍夫曼编码比特, Huffinan coded bits ) 。 如果此时霍夫曼编码 比特大于等于固定分配的比特数(在本实施例中大于 L- l)x 5 ) , 则不使用 霍夫曼编码方式对 A7¾g(j'),j' = 0,...,J- 2进行编码, 并置霍夫曼编码标志位 Flag huff— = 0; 否则利用霍夫曼编码对 AThq (j), j = , ..., L - 2进行编码, 并置 霍夫曼编码标志位 ½#— r//w = 1。 幅值包络量化指数的编码比特(即幅 值包络差分值的编码比特)和霍夫曼编码标志位需要被传送到 MUX中。
步骤 104: 根据码率失真理论和编码子带幅值包络信息计算核心层各编 码子带重要性的初始值,并根据各编码子带的重要性进行核心层的比特分配。
本步骤可以釆用如下子步骤实现:
步骤 104a: 计算核心层单个频域系数的比特消耗平均值:
从 20ms帧长可提供的总的比特数 bits available中抽出用于核心层编码 的比特数 bits available core , 扣除核心层边信息消耗的比特数 bit sides core 和核心层编码子带幅值包络量化指数所消耗掉的比特数 bits Th— core ,得到剩 余的可用于核心层频域系数编码的比特数 bits— left— core , 即:
bits left core = bits available core - bit sides core - bits Th core ( 7 ) 边信息包括霍夫曼编码标志 Flag huff— rms、 Flag huff PL VQ和迭代次数 count的比犄。 Flag— huff— rms用于标识是否对核心层和扩展层编码子带幅值包 络量化指数使用了霍夫曼编码; Flag huff— PLVQ— core用于标识是否在对频域 系数进行矢量编码时使用了霍夫曼编码, 而迭代次数 count用于标识比特分 配修正时的迭代次数(详见后续步骤中的描述) 。
计算核心层单个频域系数的比特消耗平均值为 ―
― bits left core
R _ core = ( 8 )
HIndex(L _ core 1) + 1
其中, J _c。re为核心层编码子带的个数。
步骤 104b: 根据码率失真理论计算在最大量化信噪比增益条件下的最佳 比特值:
通过拉格朗日方法优化基于独立高斯分布随机变量的码率失真度, 可计 算得到该码率失真度界限下各编码子带的最大量化信噪比增益条件下的最佳 比特值为:
rr _ core( j) = [R _ core + Rmin _ core( j)] , y = 0, · · · , L _ core 1 ( 9 ) Rmin _ core(j) =― [Thq (j) - mean _ Thq _ core = 0, ···,!,_ core _ 1 ( 10) 以及
1 L_core-\
mean Th core Th (i)[HIndex(i) - LIndex(i) + 1]
_ HIndex{L _ core— 1) + 1 ~^
( 11 ) "
步骤 104c: 计算各编码子带在进行比特分配时的重要性初始值: 使用上述最佳比特值, 以及符合人耳感知特性的比例因子, 可以得到在 实际比特分配中用于控制比特分配的各编码子带的重要性初始值:
rk{j) = ax rr _ core(j) = [R _ core + _ core(j)], j = 0, · · · , Z _ core— 1 ( 12 ) 其中 为比例因子, 该因子跟编码码率相关, 可通过统计分析得到, 通 常 0< <1 , 在本实施例中 取值为 0.4; rk ()表示在进行比特分配时第 j个编 码子带的重要性。
步骤 104d: 根据各编码子带的重要性进行核心层的比特分配; 具体描述 下:
首先从各 rk (j)中找到最大值所在的编码子带, 假设该编码子带的编号为 jh, 然后增加该编码子带中每个频域系数的编码比特数 rego«_ t ), 并降低 该编码子带的重要性; 同时计算该子带编码消耗比特总数 Wt_to _M>«^ ); 最后计算所有编码子带所消耗比特数的总和 腿 (bit band used (/)), 7=0,..., L core- 1; 重复上述过程直至消耗比特数的总和满足可提供比特限制 条件下的最大值。
本步骤中的比特分配方法可以由如下伪代码表示:
令 region b it(J)=0 , j=0,l,■··,∑_ core - 1;
对于编码子带 0,1,..., — core - 1:
寻找 jk = arg max[rk(j)];
J=0,-,L- 如果 region— bitGk)<分类阔值 ^口果
Figure imgf000023_0001
令 region— bit jk) = region— bit jk) + 1;
计算 bit— band— used jk) = region— bit jk) * BandWidth jk);
令 rkGk) = rkGk) - 1;
否则如果 region— bit(jk)>=l
令 region— bit jk) = region— bit jk) + 0.5;
计算 bit— band— used jk) = region— bit jk) * BandWidth jk)*0.5;
令 rkGk) = rkGk)_0.5;
否则 口果 region— bit(jk)>
令 region— bit jk) = region— bit jk) + 1;
on _ bit( jk ) < MaxBit
Figure imgf000023_0002
一 ;
JkJ [-100 else 计算 bit— band— used jk) = region— bit jk) x BandWidth jk);
计算 bit— used— all = sum(bit— band— used()) 7=0,1 , ... ,L_core - 1; 如果 bit— used— all < bits— left— core -24, 返回并在各编码子带中重新寻找 jk, 循环计算比特分配数(或称为编码比特数) ; 其中 24为编码子带宽度的 最大值。
否则, 结束循环, 计算比特分配数, 输出此时的比特分配数。
最后,根据子带的重要性, 将剩余的不到 24个比特按如下原则分配给满 足要求的编码子带, 优先在比特分配为 1的编码子带中给每个频域系数分配 0.5个比特, 同时降低该编码子带的重要性 0.5; 否则给比特分配为 0的子带 中每个频域系数分配 1个比特,同时降低该编码子带的重要性 1,直至 bit— left -bit used all<4, 比特分配结束。 上述分类阔值的取值范围为大于等于 2且小于等于 8, 本实施例中可以 为 5。
其中, MaxBit为编码子带中单个频域系数所能分配到的最大的比特分配 数, 单位为 bit/频域系数。 本实施例中釆用 MaxBit=9。 这个值可以根据编解 码器的编码码率适当调整。 region— bitG)为第 j 个编码子带中单个频域系数所 分配的比特数, 也就是该子带中单个频域系数的编码比特数。
此外, 本步骤中也可以将 ¾( 、 或将 L xlog2[J¾( )]+ 」作为各编码子带 的比特分配重要性初始值进行核心层的比特分配, j=0, ... ,L_core - 1; 〃 >0。
步骤 105 : 用核心层各编码子带量化指数重建的量化幅值包络值对该编 码子带中的各频域系数进行归一化计算,然后对归一化的频域系数进行分组, 组成若干个矢量;
使用编码子带 j的量化幅值包络 7^^2对该编码子带中所有频域系数 进行归一化处理: n o rm a lize d ― X J
Figure imgf000024_0001
将编码子带中连续的 8个系数分组构成 1个 8维矢量。 根据表 1对编码 子带的划分,编码子带 ·中的系数正好可以分组构成 Lattice— D8G)个 8维矢量。 各个归一化后分组的 8维待量化矢量可表示为 , 其中 m表示该 8维矢量 在编码子带中的位置, 其范围在 0到 Lattice— D8G)-1之间。
步骤 106: 判断编码子带 j所分配比特数 region— bitG)的大小, 如果所分 配比特数 region— bitG)小于分类阔值, 则执行步骤 107和步骤 109 , 即对该编 码子带中待量化矢量釆用塔型格型矢量量化方法进行量化和编码; 如果所分 配比特数 reg o«— bz ( )大于等于该阔值, 则执行步骤 108和步骤 110 , 即对该 编码子带中的待量化矢量釆用球型格型矢量量化方法进行量化和编码; 本实 施例的阔值釆用 5比特。
步骤 107 : 对低比特编码子带釆用塔型格型矢量量化方法进行量化, 此 时子带 j所分配到的比特数满足: l<=regwn bit( }<5 本发明釆用基于 ¾格点的 8维格型矢量量化, 其中 /¾格点定义如下:
Figure imgf000025_0001
其中 Z8表示 8维的整数空间。 将 8维矢量映射到 (即量化到) /¾格点的 基本方法描述如下:
设 X为任意实数, x)表示取和 X相邻的两个整数中相距较近的整数的取 整量化, 表示取相邻的两个整数中相距较远的整数的取整量化。 对任意 矢量 =( ^,..., ^^,同样可定义/ (^0 = (/( ),/( ),...,/( 》。 在 )中选择 取整量化误差的绝对值最大的分量中的最小下标, 记为 由此定义 ( ) = (/^),/( ), J(¾),...,/(XS》, 则 )或 g( )中有一个且只有一个是/ ¾格 点的数值, 此时量化器输出/ ¾格点的量化值为:
Figure imgf000025_0002
将待量化矢量量化到 /¾格点的方法及求解 /¾格点索引的具体步骤如下: 步骤 107a : 待量化矢量的能量规整;
量化之前需要对待量化矢量进行能量规整。 根据待量化矢量所在编码子 带 j所分配的比特数 rego«— bz(), 从表 2中查询到该比特数所对应的码本序 号 (index)和能量缩放因子 (scale) ; 然后根据下面的公式对待量化矢量进 行能量规整:
Yscal ={YJ-^Y cale{index) 其中, 1 表示编码子带 中第 个归一化后的待量化 8维矢量, ¾∞fe表 示对】 进行能量规整后的 8维矢量, n rm m 。
表 2塔式格型矢量量化比特数与码本序号、 能量缩放因子及最大塔面能 量半径的对应关系
Figure imgf000025_0003
1 0 0. 5 2
1. 5 1 0. 65 4
2 2 0. 85 6
2. 5 3 1. 2 10
3 4 1. 6 14
3. 5 5 2. 25 22
4 6 3. 05 30
4. 5 7 4. 64 44 步骤 107b : 对规整后的矢量进行格点量化;
将能量规整后的 8维矢量 ¾Lfe量化到 /¾格点 上:
1 j ~ J DS 1 j, scale )
其中, /¾ (·)表示将某个 8维矢量映射到 /¾格点的量化算子。 步骤 107c : 根据/ ¾格点¾"的塔面能量对;¾∞¾的能量进行截断; 计算 /¾格点 的能量并和编码码本中的最大塔面能量半径 flrgefOifex)进行比较。 如果不大于最大塔面能量半径, 则计算该格点在码 本中的索引; 否则将该编码子带规整后的待量化矢量 i¾∞fe进行能量截断, 直到能量截断后的待量化矢量的量化格点的能量不大于最大塔面能量半径; 这时对能量截断后的待量化矢量持续增加其自身的一个小能量, 直至其量化 到 /¾格点的能量超过最大塔面能量半径;取最后一个能量不超过最大塔面能 量半径的 /¾格点作为待量化矢量的量化值。 具体过程可以用下面伪代码描 述:
计算 的塔面能量,即求编码子带 j中第 m个矢量的各分量绝对值之和,
Figure imgf000026_0001
Ybak = Y jm
Kbak = temp _ K
If temp— K> LargeK(index)
While temp_K> LargeK(index)
Figure imgf000027_0001
temp _ K = sum Ϋ"
Figure imgf000027_0002
Ybak = Y:r
Kbak = temp _ K
While temp_K<= LargeK(index)
Ybak = Y Jm
Kbak = temp _ K j, scale j, scale j ¾ V j , scale ) temp _ K = sum Ϋ.
Ym 二 Ybak
temp _ K 二 Kbak 这时的 是最后一个能量不超过最大塔面能量半径的 A格点 temp _ K是该格点的能量。 步骤 107d : 生成 Z¾格点 在码本中的量化索引; 根据以下步骤, 通过计算得到/ ¾格点) 在码本中的索引。 具体步骤如
步骤 1: 根据塔面能量的大小, 分别对各个塔面上的格点进行标号。
对于维数为 L的整数格点网格 ZL , 定义能量半径为 f的塔面为:
S(L,K) = {Y = ( x,y2,...,yL)^Z | 记 N(L, )为 S(U)中格点的个数, 对于整数格 ^来说, N(U)有如下的 递推关系:
N(J,0) = 1 (L≥ 0), Ν(0,Κ) = 0 (Κ≥ϊ)
N(L, K) = N(L -l,K) + N(L -1,^-1) + N(L, K-\) (L≥\K≥\)
对于能量半径为 K 的塔面上的整数格点 =( ;2,..., ^2£ , 用
[0,1,....,NCL,^)-1]中的某一个数 6来标识, 并称 b为该格点的标号。 求解标号 b的步骤如下:
步骤 1.1: 令 b=0, z=l, k=K, l=L, 根据上述的递推公式, 计算 N(wJ), =L,n<=K)。 定义:
Figure imgf000028_0001
步骤 1.2: 如果;尸 0, 则 b=b+0;
l-sgn( )
果 W=l, U'Jb = b + N(/ N(/-1, :-1)
Figure imgf000028_0002
如果y,|>l, 则 ΙΛ-Ι-I
b = b + N(l-l,k) + 2^N(l-l,k-j)
7=1
l-sgn(^)
+ N(/— ΐϋ Ι)
2
步骤 1.3: k = k-\yi \
Figure imgf000029_0001
则停止搜索, b为 Y的 标号, 否则继续步骤 1.2)。
步骤 2: 对所有塔面上的格点进行统一标号。
根据各个塔面的格点数和每个格点在各自塔面上的标号, 计算每个格点 在全体塔面中的标号: index b(J, m) - b(J, w) V(8, kk) 其中, kk为偶数。 此时的 zwifex— b(,w)即为/ ¾格点¾^在码本中的索引。 也就是编码子带 中第 w个 8维矢量的索引。
步骤 107e : 重复步骤 107a ~107d, 直到所有编码比特大于 0的编码子 带的各个 8维矢量都完成索引生成; 转向步骤 109。 步骤 108: 对高比特编码子带釆用球型格型矢量量化方法进行量化, 此 时子带 j所分配到的比特数满足: 5<=region_bit(j) <=9;
此处同样釆用基于/ ¾格的 8维格型矢量量化。
步骤 108a:根据编码子带 ·中单个频域系数所分配到的比特数 regzow— bz() 对该编码子带归一化后的第 m个待量化矢量 1 进行如下能量规整:
™ =^( y m -a)
其中 , a = (2- 6,2- 6,2- 6,2- 6,2- 6,2- 6,2- 6,2- 6 ) ,
\
β =—— - ~~ ,
scale(region _ bit(j))
而 scale(region— bit(J))表示编码子带中单个频域系数的比特分配数为 region _bit(j)时的能量缩放因子, 根据表 3可查到它们的对应关系。
表 3 球型格型矢量量化的比特分配数与能量缩放因子的对应关系 t匕 # 酉己 region—bit 能量缩放因子 scale
5 6
6 6.2
7 6.5
8 6.2
9 6.6
步骤 108b: 生成/ ¾格点的索引矢量。 将编码子带 j中进行能量缩放后的第 m个待量化矢量 映射到 /¾的格 点 上:
Figure imgf000030_0001
判断/ Α0^/2 °" ίω)是否为零矢量, 即它的各个分量是否都为零, 如 果是则称为零矢量条件满足, 否则称为零矢量条件不满足。
如果零矢量条件满足,那么索引矢量可由下面的索引矢量生成公式得到: k = (fj mG-1)mod2reg,on-b,tU) 输出此时/ ¾格点 的索引矢量 k, 其中 G为/ ¾格点的生成矩阵, 形式 下:
2 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0
1 0 0 1 0 0 0 0
G
1 0 0 0 1 0 0 0
1 0 0 0 0 1 0 0
1 0 0 0 0 0 1 0
1 0 0 0 0 0 0 1 如果零矢量条件不满足, 将矢量^ "的值除以 2, 直至零矢量条件 (f72 ίω)成立; 并备份^自身的小倍数值为 然后对缩减后的矢 量 加上备份的小倍数值 W, 再量化到/ ¾格点, 判断零矢量条件是否满足; 如果零矢量条件不满足, 则根据索引矢量计算公式得到最近满足零矢量条件 的 /¾格点的索引矢量 k, 否则继续对矢量 增加备份的小倍数值 W, 然后 再量化到/ ¾格点, 直至零矢量不条件满足; 最后根据索引矢量计算公式得到 最近满足零矢量条件的/ ¾格点的索引矢量 k; 输出/ ¾格点 的索引矢量 k。 这个过程也可通过下面的伪代码描述:
temp _D = fDg (7/ 12region-bit(j))
Ybak = Y jm
Dbak = temp _ D
While temp_D≠0
Ym =fDs(Ym)
temp _D = fDg (7/ 12region-bit(j))
}
w = Yll\6
Ybak = Y Jm
Dbak = temp _ D While temp _D = 0
Ybak = Ym
Dbak = temp _ D Ym=fDs(Ym) temp _D = fDg (7/ 12region-bit(j))
Ym =Ybak
J
k = (^G- i)mod ¾ 转向步骤 110; 步骤 109: 对低比特编码子带的矢量量化索引进行编码, 此时子带 j所分 配的比特数满足: \<=region bit(j)<5;
根据塔型格型矢量量化方法得到各个编码子带中每个 8维矢量的矢量量 化索引 index b{jj), 其中 表示编码子带 j的第 个 8维矢量。 对量化索引 index b( ,k)进行霍夫曼编码的步骤如下:
步骤 109a: 在单个频域系数所分配到的比特数为大于 1小于 5但除去 2 的所有编码子带中, 对每个矢量量化索引的自然二进制码中每 4位分成一组 并对其进行霍夫曼编码。
步骤 109b: 在单个频域系数所分配到的比特数为 2的所有编码子带中, 对每个 8维矢量的塔型格型矢量量化索引使用 15个比特进行编码。 在 15个 比特中, 对 3组 4位比特和 1组 3位比特分别进行霍夫曼编码。
步骤 109c: 当编码子带的单个频域系数所分配到的比特数为 1时, 如果 量化索引小于 127, 则对量化索引使用 7个比特进行编码, 把 7个比特分成 1 组 3比特和 1组 4比特,分别对两组进行霍夫曼编码;如果量化索引等于 127, 则它的自然二进制码值为" 1111 1110", 把前面 7个 1分成 1组 3比特和 1组 4比特, 分别对两组进行霍夫曼编码; 如果量化索引等于 128, 则它的自然二 进制码值为" 1111 1111", 把前面 7个 1分成 1组 3比特和 1组 4比特, 分别 对两组进行霍夫曼编码。
对量化索引进行霍夫曼编码的方法可用如下伪代码描述: 在所有的 region bit( ) =1.5和 2<region bit(J<5的编码子带内
n在 [0, region bitij) x 8/4 - 1]的范围内, 步长为 1递增, 做如下循环:
将 index bij c)^^ 4*"位,
计算 "ifex— b(, :)低 4比特位 i ;?, ^LtJt tmp = md(index b(jk), 15) 计算 tmp在码本中的码字及其比特消耗数:
plvq_codebook(/,^) = plvq_code(tmp+ 1 );
plvq_count(/,^) = plvq_bit_count(tmp+ 1 );
其中 plvq_codebook(,:), 和 plvq_count(,:)分别为 _/子带第 个 8维矢量 的霍夫曼编码码本中的码字和比特消耗数; lvq_bit_count和 plvq_code根据 表 4查找。
更新釆用霍夫曼编码后的比特消耗总数:
bit used hufFall = bit used hufFall + plvq_bit_count(tmp+ 1 );
在 region bit( ) =2的编码子带内
n在 [0, region bitij) x 8/4 - 2]的范围内, 步长为 1递增, 做如下循环:
将 index bij c)^^ 4*"位,
计算 "ifex— b(, :)低 4比特位 i ;?, ^LtJt tmp = md(index b(jk), 15) 计算 tmp在码本中的码字及其比特消耗:
plvq_count(/,^) = plvq_bit_count (tmp+ 1 ); plvq_codebook(/,^) = plvq_code (tmp+1);
其中 plvq_count( ,A:), 和 plvq_codebook( , :)分别为 _/子带第 :个 8维矢量 的霍夫曼比特消耗数和码字; plvq_bit— count和 plvq_code根据表 4查找。
更新釆用霍夫曼编码后的比特消耗总数:
bit used hufFall = bit used hufFall + plvq_bit_count(tmp+ 1 );
下面需要处理一个 3比特情况:
在 index— b(j ,ΐή右移 [region— bit(f) x 8/4 - 2]*4位后,
计算 "ifex— b( , :)低 3比特位
Figure imgf000034_0001
7) 计算 tmp在码本中的码字及其比特消耗:
plvq_count(/,^) = plvq_bit_count _r2_3 (tmp+1);
plvq_codebook(/,^) = plvq_code _r2_3 (tmp+1);
其中 plvq_count( ,A:), 和 plvq_codebook( , :)分别为 _/子带第 :个 8维矢量 的霍夫曼比特消耗数和码字; plvq_bit— count— r2— 3和 plvq_code— r2— 3根据表 5 查找。
更新釆用霍夫曼编码后的比特消耗总数:
bit used hufFall = bit used hufFall + plvq_bit count(tmp+ 1 );
在 region—biti ) =1的编码子带内
如果
Figure imgf000034_0002
计算 "ifex— b(,:)低 4比特位 也就 tmp = d(index—b( ,k) , 15) 计算 tmp在码本中的码字及其比特消耗:
plvq_count(/,^) = plvq_bit_count— rl— 4(tmp+l);
plvq_codebook(/,^) = plvq_code— rl— 4(tmp+l);
其中 plvq_count(,A:), 和 plvq_codebook(,:)分别为 _/子带第 :个 8维矢量 的霍夫曼比特消耗数和码字; plvq_bit— count— rl— 4和 plvq_code— rl— 4根据表 6 查找。
更新釆用霍夫曼后的比特消耗总数:
bit used hufFall = bit used hufFall + plvq_bit_count(tmp+ 1 );
下面需要处理一个 3比特情况:
将 index b(j,k)右移 4位,
计算 "ifex—b( , )低 3比特位 i/w?, 也就 tmp = and(index—b(JJc), 7) 计算 tmp在码本中的码字及其比特消耗:
plvq_count(/,^) = plvq_bit_count— rl— 3(tmp+l);
plvq_codebook(/,^) = plvq_code _rl_3(tmp+l);
其中 plvq_count(,:) , 和 plvq_codebook(,:)分别为 _/子带第 :个 8维矢量 的霍夫曼比特消耗数和码字; 码本 plvq_bit— count— rl— 3和 plvq_code— rl— 3根 据表 7查找。
更新釆用霍夫曼后的比特消耗总数:
bit used hufFall = bit used hufFall + plvq_bit count(tmp+ 1 ); 如果
Figure imgf000036_0001
{ 它的二进制值为" 1111 1110"
对于前三个 "1"和后四个 "1"分别查找表 7和表 6的霍夫曼码表 : 计算方法同前面 index b(j,k)< 下的情况.
更新釆用霍夫曼后的比特消耗总数: 总共需要 8个比特.
如果 index _b(jk)=\28
{ 它的二进制值为" 1111 1111"
对于前三个 "1"和后四个 "1"分别查找表 7和表 6的霍夫曼码表, 计算 方法同前面 index—b{j,k〈Un下的情况.
更新釆用霍夫曼后的比特消耗总数: 总共需要 8个比特.
表 4塔式矢量量化霍夫曼码表
Figure imgf000036_0002
7 4 10
8 4 11
9 5 30
10 5 25
11 5 18
12 5 9
13 5 14
14 5 2
15 4 15 表 5 塔式矢量量化霍夫曼码表
Tmp Plvq_bit_count_r2_3 plvq_code_r2_3
0 1 0
1 4 1
2 4 15
3 5 25
4 3 3
5 3 5
6 4 7
7 5 9
表 6塔式矢量量化霍夫曼码表
Tmp Plvq_bit_count_r 1—4 plvq_code_rl_4
0 3 7 1 5 13
2 5 29
3 4 14
4 4 3
5 4 6
6 4 1
7 4 0
8 4 8
9 4 12
10 4 4
1 1 4 10
12 4 9
13 4 5
14 4 1 1
15 4 2 表 7 塔式矢量量化霍夫曼码表
Tmp Plvq_bit_count_r 1—3 plvq_code_rl_3
0 2 1
1 3 0
2 3 2
3 4 7
4 4 15
5 3 6
6 3 4
Figure imgf000039_0001
步骤 109d: 判断霍夫曼编码是否节省比特。
将所有低比特编码子带的集合记为 C, 计算属于 C中所有编码子带的 8 维矢量的量化矢量索引经过霍夫曼编码后消耗比特的总数 Wt_M>«^_/m#_a//。 将 bit—used—huff—all和给 C 中所有编码子带说分配比特数的总数 sum{bit _ band _ used ( j\ j e C) 进 行 比 较 , ^口 果 bit _ used _ huff _ all < 匪 (bit _ band _ used(j), · e C) , 则传输霍夫曼编码后的量化矢量索引, 同时设置 霍 曼编码标志 Mag— huff— PLVQ为 1;否则, 直接对量化矢量索引进行自然编 码, 并设置霍夫曼编码标志 Flag huff PLVQ为 0。
步骤 109e: 比特分配数的修正。
若霍夫曼编码标志 Flag huff PLVQ为 0,则不修正编码子带的比特分配。 若霍 曼编码标志 Flag— huff— PLVQ为 1, 则利用霍夫曼编码节省下来的比特 对编码子带的比特分配进行修正。
如图 2所示, 比特分配修正流程具体包括如下步骤:
步骤 109f: 计算霍夫曼编码节省的比特数, 令 count=Q: diff _ huff = sum(bit _ band _ used (j), e C) - bit _ used _ huff _ all
步骤 109g: 如果 _½#大于零, 则在各 r () 0=0,..., - 1 ) 中寻找最 大值 rk(jk), 用公式表示为:
jk =arg ax[rk(j)]
y=o,--,i-i
步骤 109h:判断 region— bitGk)+l是否小于等于 9,如果是则执行步骤 109i, 否则将 jk对应的编码子带的重要性调整到最低(例如令 r^jk)=- 100) , 表 示无需再对该编码子带的比特分配数进行修正, 并跳转至步骤 109g。
步骤 109i:判断 diff— huff - (region— bitGk)+l) x BandWidth(jk)是否大于等于 0, 如果大于等于 0, 则执行步骤 109j, 即修正编码子带 jk的比特分配数 region _bit(jk) , 降低子带重要性 rkGk)的值, 令比特分配修正迭代次数 count =count+\, 并对编码子带 jk重新进行矢量量化和霍夫曼编码, 最后更新 diff— huff的值; 否则比特分配修正流程结束。
步骤 109j: 在比特分配修正过程中, 对比特分配数为 0的编码子带分配 1个比特, 比特分配后重要性降低 1, 对比特分配数大于 0且小于 5的编码子 带分配 0.5个比特, 比特分配后重要性降低 0.5, 对比特分配数大于 5的编码 子带分配 1个比特, 比特分配后重要性降低 1。
步骤 109k: 判断比特分配修正迭代次数 count是否小于等于 Maxcount, 如果是, 则跳转至步骤 109f, 否则比特分配修正流程结束。
上述 Maxcount为比特分配修正迭代次数上限值,该值由编码比特流及其 釆样率决定, 本实施例中釆用 Maxcount=31。
转向步骤 111。 步骤 110: 对高比特编码子带的矢量量化索引进行编码, 此时子带 j所分 配的比特数满足: 5<=region bit(j)<=90
根据 108的方法, 对编码比特数为 5到 9的编码子带中的 8维矢量进行 量化后得到矢量索引 k={kl, k2, k3, k4, k5, k6, k7, k8} , 根据单个频域系数所 分配到的比特数对索引矢量 k的各个分量进行直接编码, 得到该矢量的编码 比特。
步骤 111: 对上述核心层中经过矢量量化的频域系数进行反量化, 并与 原始的经过 MDCT后得到的频域系数进行差计算, 得到核心层的残差信号。
步骤 112: 对核心层的残差信号进行与频域系数相同的子带划分, 根据 核心层的编码子带幅值包络量化指数和核心层的比特分配数 (即各 region— bitG), j=0,...,L core - 1 )计算出核心层残差信号子带的幅值包络量化 指数。
本步骤可以釆用如下子步骤实现:
步骤 112a: 根据核心层各编码子带中单个频域系数所分配的比特数 region bitij), j=0,...,L core - \ , 计算得到核心层残差信号幅值包络量化指数 的修正值 diffregion_b it(J)) , J=0, ... ,L_core - 1;
其中, region— bit(j)= 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 6, 7, S,j=0,...,L core - 1 , 而幅值包络量化指数修正值可通过以下规则进行设置: diff(region_bitG)) > 0; 且
当 region_bit(j)>0时, diff(region_bit(j))随着 region_bit(j)值的增大而不 为了得到更好的编解码效果, 可以对各比特分配数(region— bit ) 下计算 出的子带幅值包络量化指数和直接从残差信号计算出的子带幅值包络量化指 数的差值进行统计, 得到概率最高的幅值包络量化指数修正值, 如表 8所示:
Figure imgf000041_0001
表 8
步骤 112b: 根据核心层中编码子带 j的幅值包络量化指数和表 8中的量 化指数修正值, 计算出核心层残差信号第 个子带的幅值包络量化指数: Tfiq (j) = Thq (j)― diff(region _ bit(j)) ,户 o, ... ,L—core― 1 其中, 是核心层中编码子带 J的幅值包络量化指数。
需要注意的是, 当核心层中某个编码子带的比特分配数为 0时, 则无需 对核心层残差信号的编码子带幅值包络进行^ ί 正, 这时核心层的残差信号子 带幅值包络值与核心层的编码子带幅值包络值相同。 此外, 当核心层中某个编码子带比特分配数 region— bitG)=9时, 置核心层 残差信号第 j个编码子带的量化幅值包络值为零。
步骤 113 : 在扩展层中对各编码子带进行比特分配:
扩展层的编码信号由核心层的残差信号, 和核心层频率范围以上的 MDCT系数构成。 扩展层子带划分由表 1决定。 子带 0, ... ,L core - l中的编 码信号是核心层残差信号, L core,… - \ 中的编码信号是相应子带中的 MDCT系数。
根据计算出的核心层残差信号的子带幅值包络量化指数、 扩展层中的 MDCT系数构成编码子带的幅值包络量化指数以及扩展层可用比特数, 釆用 与核心层相同的比特分配方案在整个扩展层频带范围内计算扩展层各编码子 带重要性的初始值, 并对各个编码子带进行比特分配。
本实施例中,扩展层频带范围是 0 ~ 13.6kHz。音频流的总码率为 64kbps, 核心层的码率为 32kbps, 则扩展层的最大码率为 64kbps。 根据核心层码率和 扩展层最大码率计算出扩展层中总的可用的比特数, 然后进行比特分配, 直 至比特完全消耗。
步骤 114: 根据扩展层各编码子带幅值包络量化指数和相应的比特分配 数, 对扩展层编码信号进行归一化、 矢量量化和编码, 得到编码信号的编码 比特。 其中, 扩展层中编码信号的矢量构成、 矢量量化方法和编码方法分别 与核心层中频域系数的矢量构成、 矢量量化方法和编码方法相同。
步骤 115: 如图 3a所示, 釆用如下方式构造可分层编码码流: 首先将核 心层的边信息按如下顺序写入比特流复用器 MUX , Flag huff— rms、 Flag huff PLVQ core和 count; 然后将核心层的编码子带幅值包络编码比特 写入 MUX, 然后将核心层频域系数的编码比特写入 MUX; 然后将扩展层的 矢量编码霍夫曼编码标志位 Flag huff— PLVQ—ext和扩展层迭代次数 count ext 写入 MUX, 然后将扩展层中 MDCT系数构成的编码子带 —core, ... ,L - 1 ) 的幅值包络编码比特写入 MUX , 然后将扩展层编码信号的编码比特写入 MUX; 最后将按上述顺序写成的可分层码流传送到解码端;
其中, 扩展层编码信号编码比特的写入顺序按照各编码子带重要性的初 始值排序。 即重要性初始值大的编码子带的编码比特优先写入码流, 对于具 有相同重要性的编码子带, 低频编码子带优先。
由于扩展层中的残差信号的幅值包络是由核心层的幅值包络和比特分配 数计算出来的, 因此不用传送到解码端。 这样既可以增加核心层带宽的编码 精度又不必附加比特用以传送残差信号的幅值包络值。
步骤 116: 根据码率的大小构造码率层。
根据所要求传送的码率, 把比特流复用器后部不必要的比特舍去后, 将 满足码率要求的比特数传送到解码端。 即按照编码子带重要性从小到大的顺 序舍去不必要的比特。
在本实施例中, 编码频带范围为 0 ~ 13.6kHz, 最大码率为 64kbps, 按码 率分层的方法如下:
将编码频带范围 0 ~ 6.4kHz内的 MDCT频域系数划分成核心层, 核心层 所对应的最大码率是 32kbps , 记为 L0 层; 扩展层的编码频带范围为 0 ~ 13.6kHz, 其最大码率为 64kbps, 记为 —5层;
在送到解码端之前, 根据舍去比特数的多少可以将码率划分为 —1层, 对应 36kbps, Lj_2层, 对应 40kbps, _3层, 对应 48kbps, _4层, 对应 56kbps及 Li— 5层, 对应 64kbps。
图 10表示了根据频带范围分层和根据码率分层的关系。
图 3是本发明第一实施例增强型可分层音频编码系统的结构示意图, 如 图 3所示, 该系统包含: MDCT单元 301、 幅值包络计算单元 302、 幅值包络 量化和编码单元 303、核心层比特分配单元 304、核心层频域系数矢量量化和 编码单元 305、 扩展层编码信号生成单元 306、 残差信号幅值包络生成单元 307、 扩展层比特分配单元 308、 扩展层编码信号矢量量化和编码单元 309、 比特流复用器(MUX ) 310; 其中:
MDCT单元设置为, 对输入的音频流进行 MDCT, 生成频域系数; 幅值包络计算单元设置为,将 MDCT单元输出的频域系数进行子带划分, 并计算各编码子带的频域幅值包络值。 根据幅值包络对应的子带位置, 它可 分成核心层的幅值包络和扩展成的幅值包络; 幅值包络量化和编码单元设置为, 对幅值包络计算单元输出的各编码子 带的幅值包络值进行量化和编码, 生成子带幅值包络的量化指数和幅值包络 量化指数的编码比特;
核心层比特分配单元设置为, 根据幅值包络量化和编码单元输出的子带 幅值包络的量化指数计算各编码子带重要性的初始值, 并根据各编码子带的 重要性进行核心层的比特分配;
核心层频域系数矢量量化和编码单元设置为, 利用量化后的各编码子带 的幅值包络值对该编码子带中的频域系数进行归一化处理, 然后对需要编码 的频域系数进行矢量量化和编码, 生成频域系数的矢量量化值和编码比特; 扩展层编码信号生成单元设置为, 对上述经过矢量量化的频域系数进行 反量化,并与 MDCT单元输出的核心层频带范围以内的频域系数进行差计算, 得到核心层残差信号。核心层残差信号和 MDCT单元输出的核心层范围以上 的频域系数构成扩展层编码信号;
残差信号幅值包络生成单元设置为, 对残差信号进行与频域系数相同的 子带划分, 根据核心层各编码子带的幅值包络量化指数和比特分配数计算出 残差信号各编码子带的幅值包络量化指数;
扩展层比特分配单元设置为, 在扩展层对各编码子带进行比特分配, 生 成扩展层各编码子带的比特分配数;
编码信号矢量量化和编码单元设置为, 根据扩展层的编码信号子带幅值 包络量化指数和相应的比特分配数对编码信号归一化、 矢量量化和编码得到 编码信号的编码比特;
比特流复用器设置为, 将边信息、 编码子带幅值包络编码比特、 核心层 频域系数的编码比特、 扩展层的编码信号的编码比特发送给解码端。
图 3中的各单元(模块) 的具体功能详见对图 1所示流程的描述。
图 4是本发明第一实施例增强型可分层音频解码方法的流程图。 如图 4 所示, 该方法包括:
步骤 401 : 从编码端传送过来的可分层码流中 (即从比特流解复用器 DeMUX中)提取一帧的编码比特; 提取出编码比特后, 首先对边信息进行解码, 然后根据 Flag— huff— rms的 值对该帧中核心层的各幅值包络编码比特进行霍夫曼解码或直接解码, 得到 核心层各编码子带的幅值包络量化指数 ThqG), j=0, ... ,L—core - 1。
步骤 402: 根据核心层各编码子带的幅值包络量化指数计算出核心层各 编码子带重要性初始值, 并利用子带重要性对核心层各编码子带进行比特分 配, 得到核心层的比特分配数; 解码端的比特分配方法和编码端的比特分配 方法完全相同。 在比特分配过程中, 比特分配步长及比特分配后编码子带重 要性降低的步长是变化的。
在完成上述比特分配过程后, 根据编码端核心层的比特分配修正次数 co 直和各编码子带的重要性, 对编码子带再进行 co ί次比特分配, 然后 比特分配全过程结束。
在比特分配过程中, 对比特分配数为 0的编码子带分配比特的步长是 1 个比特, 比特分配后重要性降低的步长为 1 , 对比特分配数大于 0且小于某 个阔值的编码子带追加分配比特时的比特分配步长为 0.5 个比特, 比特分配 后重要性降低的步长也为 0.5 ,对比特分配数大于等于该阔值的编码子带追加 分配比特时的比特分配步长为 1 , 比特分配后重要性降低的步长也为 1 ;
步骤 403 : 利用核心层的比特分配数和各编码子带的量化幅值包络值, 并根据 Flag—huff—PLVQ core对频域系数的编码比特进行解码、反量化及反归 一化处理, 得到核心层频域系数。
步骤 404: 在对频域系数的编码比特进行解码、 反量化时, 根据核心层 比特子带和高比特子带分别使用塔型格型矢量量化反量化方法和球型格型矢 量量化反量化方法进行反量化, 转向步骤 405和步骤 406。
步骤 405 : 根据边信息, 对低比特编码子带进行霍夫曼解码或者直接进 行自然解码得到低比特编码子带的塔型格型矢量量化的索引, 对所有塔型格 型矢量量化的索引进行反量化及反归一化, 得到该编码子带的频域系数; 转 向步骤 407。
405a) 如果 Flag— huff— PL VQ=0 , 直接解码得到低比特编码子带 ·的第 w 个矢量量化的索引 index— bG,m), 如果 Flag— huff— P ! ¾=1 , 那么根据编码子带 单个频域系数的比特分配数所对应的霍夫曼编码码表, 得到低比特编码子带 j的第 m个矢量量化的索引 index— bG,m);
当编码子带的单个频域系数所分配到的比特数为 1时, 如果量化索引的 自然二进制码值小于" 1111 111",则按照自然二进制码值计算量化索引; 如果 量化索引的自然二进制码值等于" 1111 111",则继续读入下一位比特,如果下 一位比特是 0, 则量化索引值为 127 , 如果下一位比特是 1 , 则量化索引值为 128。
405b) 对该量化索引的塔式格型矢量反量化的过程实际上是矢量量化过 程 107的逆过程, 反量化过程如下:
405c) 确定矢量量化索引所在的能量塔面及在该能量塔面上的标号: 在塔面能量从 2到 LargeK(region— bitG))中寻找 kk, 使得下面的不等式满 足:
N(8,kk) <= index— bG,m) < N(8,kk+2),
如果找到这样的 kk, 则 K=kk为量化索引 index— bG,m) 所对应 D8格点所 在塔面的能量, b= index— bG,m)-N(8,kk)为该 D8格点在所在塔面上的索引标号; 如果找不到这样的 kk,则量化索引 index— bG,m) 所对应 D8格点的塔面能 量 K=0及索引标号 b=0;
405d) 求解塔面能量为 K和索引标号为 b的 D8格点矢量 Y=(yl, y2 y3, y4, y5, y6, y7, y8,)的具体步骤如下:
步骤 1: 令 Y=(0,0,0,0,0,0,0,0), xb=0, i=l, k=K, 1=8;
步骤 2: 如果 b=xb那么 yi=0;跳转至步骤 6;
步骤 3: 如果 b<xb+N(l-l,k), 则 yi=0,跳转至步骤 5;
否则 , xb=xb+N(l-l ,k);令 j=l;
步骤 4: 如果 b<xb+2*N(l-l,k-j),则
^口果 xb<=b<xb+N(l-l,k-j), 则 yi=j;
如果 b>=xb+N(l-l,k-j), 则 yi=-j , xb=xb+N(l-l, k-j); 否则 xb=xb+2*N(l-l,k-j)J=j+l; 继续本步骤;
更新 k=k-|yi|, 1=1-1, i=i+l, 如果 k>0, 则跳转到步骤 2;
步骤 6: 如果 k>0, 则 y8=k-| yi| , Y=( yl, y2, ... , y8)为所求格点。
405e)对所求 D8格点进行能量反规整, 得到
Y 1 ={Υ + Ά)Ι scale{index) 其中, a = (2-6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 ) , scale{index)是缩放因子, 可从 表 2查找到。
405f)对 进行反归一化处理, 得到解码端恢复出的编码子带 j的第 m 个矢量的频域系数:
ThAj)l2
Xm = 2 其中, 7¾(/)为第 j个编码子带的幅值包络量化指数。
步骤 406: 对高比特编码子带直接解码得到高比特编码子带的矢量量化 索引, 对所有矢量量化索引进行反量化及反归一化, 得到该编码子带的频域 系数。
对高比特编码子带的编码比特直接进行自然解码得到高比特编码子带 的第 m个索引矢量 k,对该索引矢量进行球型格型矢量量化的反量化过程实 际上是量化过程的逆过程, 具体步骤如下:
406a)计算 x=k*G, 并计算 _yte /?=x/(2A(rego«— bz()); 其中, k为矢量 量化的索引矢量, reg0«_ t /)表示编码子带 j中单个频域系数的比特分配数; G为/ ¾格点的生成矩阵, 形式如下:
2 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0
1 0 0 1 0 0 0 0
G =
1 0 0 0 1 0 0 0
1 0 0 0 0 1 0 0
1 0 0 0 0 0 1 0
1 0 0 0 0 0 0 1
Figure imgf000047_0001
406c )对所求 D8格点进行能量反规整, 得到
= ca/e(reg謂— )/(2 。" - ) + a ,
其中, a = (2-6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 , 2- 6 ) , scale(region _ bit(j))是缩放因 子, 可从表 3查找到。
406d)对 进行反归一化处理, 得到解码端恢复出的编码子带 j的第 m 个矢量的频域系数: j ― j
其中, 7¾(/)为第 j个编码子带的幅值包络量化指数。
步骤 407: 利用核心层各编码子带的幅值包络量化指数和核心层的比特 分配数计算核心层残差信号的子带幅值包络量化指数; 解码端的计算方法与 编码端的计算方法完全相同。
根据 Flag— huff— rms的值对核心层频域范围以上的各幅值包络编码比特进 行霍夫曼解码或直接解码, 得到扩展层相应编码子带的幅值包络量化指数 Thq j) , j=,L— core, ... ,L _ 1。
步骤 408: 扩展层编码信号是由核心层残差信号和扩展层频域系数构成, 根据扩展层各编码子带的幅值包络量化指数计算各编码子带重要性的初始 值, 并使用各编码子带的重要性对扩展层各编码子带进行比特分配, 得到扩 展层各编码子带的比特分配数; 解码端的编码子带重要性初始值的计算和比 特分配方法与编码端的编码子带重要性初始值的计算方法和比特分配方法相 同。
步骤 409: 计算扩展层编码信号。
利用扩展层的比特分配数对编码信号的编码比特进行解码和反量化, 并 利用扩展层各编码子带的量化幅值包络值对反量化后的数据进行反归一化, 得到扩展层的编码信号。
扩展层的解码及反量化的方法和核心层解码及反量化的方法相同。
本步骤中, 各编码子带解码的顺序是根据各个编码子带重要性的初始值 决定的。 如果有两个编码子带具有相同的重要性, 则低频编码子带优先解码, 同时计算已解码的比特数, 当已解码的比特数满足总比特数要求时停止解码。 例如, 从编码端送往解码端的码率为 64kbps, 但是由于网络原因, 解码 端只能得到码流前面 48kbps的信息, 或解码端只支持 48kbps的解码, 所以 当解码端解码到 48kbps时就停止解码。
步骤 410: 将扩展层解码得到的编码信号按频率大小重新排列, 并将相 同频率下的核心层频域系数和扩展层编码信号相加得到频域系数输出值。
步骤 411 : 对编码过程中未分配编码比特的子带或传输过程中丟失了的 子带进行噪声填充。
步骤 412 : 对噪声填充后的频域系数进行 IMDCT ( Inverse Modified Discrete Cosine Transform, 修正离散余弦逆变换) , 得到最终的音频输出信 号。
图 5是本发明第一实施例增强型可分层音频解码系统的结构示意图, 如 图 5所示, 该系统包含: 比特流解复用器(DeMUX ) 501、 核心层幅值包络 解码单元 502、 核心层比特分配单元 503、 核心层解码和反量化单元 504、 核 心层残差信号幅值包络生成单元 505、扩展层幅值包络解码单元 506、扩展层 比特分配单元 507、扩展层编码信号解码和反量化单元 508、 频域系数生成单 元 509、 噪声填充单元 510、 IMDCT单元 511 ; 其中:
比特流解复用器设置为, 输出幅值包络编码比特、 频域系数编码比特和 扩展层编码信号编码比特;
核心层幅值包络解码单元设置为, 根据边信息中的 Flag— huff— rms值对比 特流解复用器输出的核心层幅值包络编码比特进行霍夫曼解码或直接解码, 得到核心层各编码子带的幅值包络量化指数 ThqG) , J=0, ... ,L_core- 1;
核心层比特分配单元设置为, 根据核心层幅值包络解码单元输出的核心 层各编码子带的幅值包络量化指数计算各编码子带重要性的初始值, 并使用 各编码子带的重要性对核心层各编码子带进行比特分配, 得到核心层的比特 分配数;
核心层解码和反量化单元设置为, 利用核心层的比特分配数和量化幅值 包络值,并根据边信息中的 Flag—huff—PLVQ core值对频域系数的编码比特进 行解码、 反量化及反归一化处 ί里, 得到核心层频域系数; 核心层残差信号幅值包络生成单元设置为, 利用核心层各编码子带的幅 值包络量化指数和核心层的比特分配数计算核心层相应编码子带残差信号的 幅值包络量化指数;
扩展层幅值包络解码单元设置为, 根据边信息中的 Flag— huff— rms值对比 特流解复用器输出的核心层范围以上的幅值包络编码比特进行霍夫曼解码或 直接解码, 得到扩展层中相应编码子带的幅值包络量化指数 ThqG), ]=
L—core, ... ,L -1 ;
扩展层比特分配单元设置为, 根据扩展层各编码子带编码信号的幅值包 络量化指数计算各编码子带重要性的初始值, 并使用各编码子带的重要性对 扩展层各编码子带进行比特分配, 得到扩展层的比特分配数;
扩展层编码信号解码和反量化单元设置为, 利用扩展层的比特分配数对 扩展层编码信号的编码比特进行解码, 并利用扩展层编码信号编码子带的量 化幅值包络值对解码得到的数据进行矢量反量化和反归一化, 得到扩展层的 编码信号;
频域系数生成单元设置为, 将核心层解码和反量化单元输出的核心层频 域系数和扩展层编码信号解码和反量化单元输出的扩展层编码信号相加, 得 到频域系数输出值;
噪声填充单元设置为, 对频域系数生成单元输出的频域系数输出值中未 分配比特的子带进行噪声填充;
IMDCT单元设置为, 对噪声填充后的频域系数进行 IMDCT , 得到最终 的音频输出信号。
第二实施例
图 6是本发明第二实施例扩展型可分层音频编码方法的流程图。 本实施 例中以帧长为 20ms,釆样率为 48kHz的音频流为例具体说明本发明的可分层 音频编码方法。 在其它帧长和釆样率条件下, 本发明的方法同样适用。 如图 6所示, 该方法包括:
步骤 601:对帧长为 20ms、釆样率为 48kHz的音频流实施 MDCT( Modified Discrete Cosine Transform, 修正离散余弦变换)得到 N点频域系数, 在本实 施例中 N=960。
本步骤的具体实现方法可参照步骤 101。
步骤 602: 将 N点频域系数分成若干非均匀子带, 计算各编码子带的幅 值包络(简称幅值包络) 。
102a: 将所需编码的频带范围内的频域系数分成 L个子带 (可以称为编 码子带) ;
本实施例中, 所需编码的频带范围是 0 ~ 20kHz, 可以按照人耳感知特性 进行非均勾子带划分, 表 9给出了一个具体的划分方式。
在表 9中将 0 ~ 20kHz频带范围内的频域系数划分成 36个编码子带, 也 就是 L=36; 并将 20kHz以上的频域系数置为 0。
在本实施例中, 还划分出核心层的频域范围。 选择表 9中的 0 ~ 15号子 带作为核心层的编码子带,共有 core=16个子带,核心层的频带范围是 0 ~ 6.4kHz; 选择表 9中的 0~27号子带作为扩展层 1的编码子带,共有 Ll=28个 编码子带, 扩展层 1的频率范围是 0~13.6kHz; 选择表 9中的 0~35号子带作 为扩展层 2的编码子带, 共有 L=36个子带, 扩展层 2频率范围是 0~20kHz。
表 9 实施例 2中的编码子带
Figure imgf000051_0001
10 128 143 16
11 144 159 16
12 160 183 24
13 184 207 24
14 208 231 24
15 232 255 24
16 256 279 24
17 280 303 24
18 304 327 24
19 328 351 24
20 352 375 24
21 376 399 24
22 400 423 24
23 424 447 24
24 448 471 24
25 472 495 24
26 496 519 24
27 520 543 24
28 544 575 32
29 576 607 32
30 608 639 32
31 640 671 32
32 672 703 32
33 704 735 32
34 736 767 32
35 768 799 32
计算各编码子带幅值包络的具体方法可参照步骤 102。
步骤 603: 对各编码子带的幅值包络值进行量化和编码, 得到各编码子 带的幅值包络量化指数和幅值包络的编码比特, 幅值包络的编码比特需要传 送到 MUX中。 本步骤的具体实现方法可参照步骤 103。
步骤 604: 根据码率失真理论和编码子带幅值包络信息计算各编码子带 重要性的初始值,并根据核心层各编码子带的重要性进行核心层的比特分配。
本步骤的具体实现方法可参照步骤 104。
步骤 605: 用核心层各编码子带的量化幅值包络值 ( 2Thq U)/2 )对该编码 子带中的各频域系数进行归一化计算, 然后对归一化的频域系数进行分组, 组成若干个矢量; 对所述矢量进行矢量量化和编码, 生成频域系数的矢量量 化值和编码比特; 频域系数的编码比特需要传送到 MUX中。
本步骤的具体实现方法可参照步骤 105至 110。
步骤 606: 对上述经过矢量量化的核心层频域系数进行反量化, 并与原 始的经过 MDCT后得到的频域系数进行差计算, 得到核心层残差信号, 记为 残差信号 1 , 由残差信号 1和扩展层 1的频域系数构成扩展层 1的编码信号; 同样, 由扩展层 k - 1的编码信号与经过矢量量化的扩展层 k - 1的编码信号 的反量化值进行差计算得到扩展层 k - 1的残差信号, 记为残差信号 k, 由残 差信号 k和扩展层 k的频域系数构成扩展层 k的编码信号。
步骤 607:对残差信号 k进行与扩展层 k - 1的编码信号同样的子带划分, 并计算残差信号 k的子带幅值包络量化指数。
根据核心层的子带幅值包络量化指数和核心层的比特分配数可计算出残 差信号 1的编码子带幅值包络量化指数。 同样, 高扩展层中的残差信号的编 码子带幅值包络量化指数可以利用低扩展层残差信号编码子带包络量化指数 和低扩展层的比特分配数推算出来的; 也就是说, 扩展层 k ( k>l ) 中的残差 信号 k子带包络量化指数是由扩展层 k - 1的编码信号编码子带包络量化指数 和相应的修正值计算出来的。
本步骤的具体实现方法可参照步骤 112。
步骤 608: 在各扩展层中对各编码子带进行比特分配(即对各扩展层编 码信号的各编码子带进行比特分配) 。
根据计算出的扩展层编码信号的幅值包络量化指数, 釆用与核心层相同 的比特分配方案在各扩展层中计算各编码子带重要性的初始值, 并对各编码 子带进行比特分配; 本实例中音频流的总码率为 96kbps , 核心层的码率为 32kbps, 扩展层 1的最大码率为 64kbps, 扩展层 2的最大码率为 96kbps。 分 别计算各扩展层可提供的编码比特数, 然后进行比特分配, 直至比特完全消 耗。 各扩展层的比特分配方法与核心层的比特分配方法相同。
步骤 609: 根据计算出的扩展层编码信号编码子带的量化幅值包络值和 相应的比特分配数, 对编码信号进行归一化、 矢量量化和编码, 得到编码信 号的编码比特。 其中, 各扩展层编码信号的矢量构成, 矢量量化方法和编码 方法都分别与核心层中频域系数的矢量构成,矢量量化方法和编码方法相同。
步骤 610: 如图 6a所示, 釆用如下方法构造可分层编码码流: 首先将核 心层的边信息按如下顺序写入比特流复用器 MUX , Flag huff—rms, Flag huff PLVQ— core和 count; 然后将核心层的编码子带幅值包络编码比特 写入 MUX, 然后将核心层频域系数的编码比特写入 MUX; 然后按各扩展层 的顺序将扩展层中的 Flag huff PLVQ和 count写入 MUX后, 将扩展层频域 系数的编码子带幅值包络编码比特写入 MUX,然后将编码信号的编码比特写 入 MUX; 最后将按上述顺序写成的可分层码流传送到解码端;
其中, 编码信号编码比特的写入顺序是按照扩展层从低到高的顺序将各 个扩展层的编码比特写入码流; 即先写完第 k - 1个扩展层的边信息、 频域系 数编码子带幅值包络编码比特和编码信号编码比特后再写第 k个扩展层的边 信息、 频域系数编码子带幅值包络编码比特和编码信号编码比特。 而在各扩 展层中, 写入编码信号编码比特的顺序是根据各子带的初始重要性排序的; 即初始重要性大的子带的编码信号编码比特优先写入码流。
步骤 611 : 根据码率的大小构造码率层。
根据所要求传送的码率, 把比特流复用器后部不必要的比特舍去后, 将 满足码率要求的比特数传送到解码端。 即按照编码子带重要性从小到大的顺 序舍去不必要的比特。
在本实施例中, 编码频带范围为 0 ~ 20kHz, 最大码率为 96kbps, 按码率 分层的方法如下:
将编码频带范围 0 ~ 6.4kHz内的 MDCT频域系数划分成核心层, 核心层 所对应的最大码率是 32kbps, 记为 L0层;
扩展层 1的编码频带范围为 0 ~ 13.6kHz,其最大码率为 64kbps,记为 —5 层; 扩展层 2的编码频带范围为 0 ~ 20kHz, 其最大码率为 96kbps, 记为 L2— 2 层;
在送到解码端之前, 根据舍去比特数的多少可以将 —5层和 L2— 2层之 间进一步划分为 L2— 1层, 对应 80kbps及 L2— 2层, 对应 96kbps。
图 10表示了根据频带范围分层和根据码率分层的关系。
图 7是本发明第二实施例扩展型可分层音频编码系统的结构示意图, 如 图 7所示, 该系统包含: MDCT单元 701、 幅值包络计算单元 702、 幅值包络 量化和编码单元 703、核心层比特分配单元 704、 频域系数矢量量化和编码单 元 705、 扩展层编码信号生成单元、 残差信号幅值包络生成单元、 扩展层比 特分配单元、 编码信号矢量量化和编码单元、 多路复用器 706。
图 7中为了清晰地描述各扩展层之间的数据交互关系, 将扩展层编码信 号生成单元进一步划分为: 扩展层编码信号生成单元 1至扩展层编码信号生 成单元 K; 将残差信号幅值包络生成单元进一步划分为: 残差信号幅值包络 生成单元 1至残差信号幅值包络生成单元 K; 将扩展层比特分配单元进一步 划分为: 扩展层比特分配单元 1至扩展层比特分配单元 K; 将编码信号矢量 量化和编码单元进一步划分为: 编码信号矢量量化和编码单元 1至编码信号 矢量量化和编码单元 K。
MDCT单元设置为, 对输入的音频流进行 MDCT , 生成频域系数; 幅值包络计算单元设置为,将 MDCT单元输出的频域系数进行子带划分, 并计算各编码子带的频域包络值; 幅值包络量化和编码单元设置为, 对幅值包络计算单元输出的各编码子 带的幅值包络值进行量化和编码, 生成各编码子带的幅值包络量化指数和幅 值包络的编码比特;
核心层比特分配单元设置为, 根据幅值包络量化和编码单元输出的核心 层各编码子带的幅值包络量化指数进行核心层的比特分配; 频域系数矢量量化和编码单元设置为, 利用核心层各编码子带的量化幅 值包络值对该子带中的频域系数进行归一化处理, 然后对需要编码的频域系 数进行矢量量化和编码, 生成核心层频域系数的矢量量化值和编码比特; 扩展层编码信号生成单元 1设置为, 对频域系数矢量量化和编码单元输 出的经过矢量量化的频域系数进行反量化, 并与 MDCT单元输出的频域系数 进行差计算, 得到核心层残差信号 (记为残差信号 1 ) , 由残差信号 1和扩 展层 1的频域系数构成扩展层 1的编码信号 (记为编码信号 1 ) ;
扩展层编码信号生成单元 i+1设置为,对扩展层 i的编码信号矢量量化和 编码单元 i输出的经过矢量量化的编码信号 i进行反量化,并将其与扩展层编 码信号生成单元 i输出的未经过矢量量化的编码信号 i进行差计算,得到扩展 层 i的残差信号 (记为残差信号 i+1 ) , 由残差信号 i+1和扩展层 i+1的频域 系数构成扩展层 i+1的编码信号 (记为编码信号 i+1 ) ; 其中, i=l,...,K _ l , K为扩展层个数。
残差信号幅值包络生成单元 1设置为, 对核心层的残差信号进行与核心 层频域系数相同的子带划分, 根据核心层的编码子带幅值包络量化指数和核 心层的比特分配数计算出核心层的残差信号 (残差信号 1 ) 的编码子带幅值 包络量化指数;
残差信号幅值包络生成单元 i+1设置为,根据扩展层 i的编码子带幅值包 络量化指数和比特分配数计算出扩展层 i的残差信号 (残差信号 i+1 )的编码 子带幅值包络量化指数; 其中, i=l,...,K _ l , K为扩展层个数;
扩展层比特分配单元 i设置为,在扩展层 i中对各编码子带进行比特分配, 生成扩展层 i的各编码子带的比特分配数; 其中, i=l,...,K, K为扩展层个数; 编码信号矢量量化和编码单元 i设置为,根据扩展层 i的编码信号编码子 带量化幅值包络值和相应的比特分配数对编码信号归一化、 矢量量化和编码 得到编码信号 i的编码比特; 其中, i=l,...,K, K为扩展层个数;
多路复用器设置为, 将边信息、 频域系数各编码子带幅值包络编码比特、 核心层频域系数的编码比特、 各扩展层的边信息和编码信号的编码比特发送 给解码端。 图 8是本发明第二实施例扩展型可分层音频解码方法的流程图。 如图 8 所示, 该方法包括:
步骤 801 : 从编码端传送过来的可分层码流中(即从多路分离器 DeMUX 中)提取一帧的编码比特;
提取出编码比特后, 首先对边信息进行解码, 然后根据 Flag— huff— rms的 值对该帧中的各幅值包络编码比特进行霍夫曼解码或直接解码, 得到核心层 各编码子带的幅值包络量化指数 ThqG) , j=0, ... — core - 1。
步骤 802: 根据核心层各编码子带的幅值包络量化指数计算出核心层各 编码子带重要性初始值, 并利用子带重要性对核心层各编码子带进行比特分 配, 得到核心层的比特分配数(即 Region_bitG), j=0, ... , L_core - \ ) ; 解码 端的比特分配方法和编码端的比特分配方法完全相同。 在比特分配过程中, 比特分配步长及比特分配后编码子带重要性降低的步长是变化的。
在完成上述比特分配过程后, 根据编码端核心层的比特分配修正次数 co 直和各编码子带的重要性, 对编码子带再进行 co ί次比特分配, 然后 比特分配全过程结束。
在比特分配过程中, 对比特分配数为 0的编码子带分配比特的步长是 1 个比特, 比特分配后重要性降低的步长为 1 , 对比特分配数大于 0且小于某 个阔值的编码子带追加分配比特时的比特分配步长为 0.5 个比特, 比特分配 后重要性降低的步长也为 0.5 ,对比特分配数大于等于该阔值的编码子带追加 分配比特时的比特分配步长为 1 , 比特分配后重要性降低的步长也为 1 ;
步骤 803 : 利用核心层的比特分配数和各编码子带的量化幅值包络值 ( 2¾ 0)/2 ) , 并根据 Flag— huff— PL VQ对核心层频域系数的编码比特进行解 码、 反量化及反归一化处理, 得到核心层频域系数。
步骤 804: 利用核心层各编码子带的幅值包络量化指数和核心层的比特 分配数计算核心层残差信号各编码子带的幅值包络量化指数; 解码端的计算 方法与编码端的计算方法完全相同。 核心层的残差信号和扩展层 1的频域系 数构成扩展层 1的编码信号。 同样, 高扩展层中的残差信号编码子带幅值包络量化指数是利用低扩展 层编码信号编码子带幅值包络量化指数和低扩展层比特分配数推算出来的, 即扩展层 i-1的残差信号子带包络量化指数是由扩展层 i - 1的编码信号编码 子带幅值包络量化指数和相应的修正值计算出来的。扩展层 i-1的残差信号和 扩展层 i的频域系数构成扩展层 i的编码信号。
步骤 805: 根据各扩展层各编码子带编码信号的幅值包络量化指数计算 各编码子带的重要性的初始值, 并根据各编码子带的重要性对该扩展层的各 编码子带进行比特分配, 得到该扩展层的比特分配数; 解码端的编码子带重 要性的初始值的计算和比特分配方法与编码端的各编码子带重要性的初始值 的计算方法和比特分配方法相同。
步骤 806: 计算扩展层编码信号。
利用扩展层的比特分配数对编码信号编码比特进行解码和矢量反量化, 并利用扩展层编码信号各编码子带的量化幅值包络值对反量化数据进行反归 一化, 得到扩展层的编码信号。
本步骤中, 各扩展层编码信号解码的顺序是从低扩展层到高扩展层, 而 在同一扩展层中各编码子带编码信号解码的顺序是根据各个编码子带重要性 的初始值决定的。 如果有两个编码子带具有相同的重要性, 则低频编码子带 优先解码, 同时计算已解码的比特数, 当已解码的比特数满足总比特数要求 时停止解码。
步骤 807: 将核心层频域系数和各扩展层编码信号相加得到频域系数输 出值。
步骤 808: 对编码过程中未分配编码比特的子带进行噪声填充。
步骤 809: 对噪声填充后的频域系数进行 IMDCT, 得到最终的音频输出 信号。
图 9是本发明第二实施例扩展型可分层音频解码系统的结构示意图, 如 图 9所示, 该系统包含: 比特流解复用器(DeMUX ) 901、 幅值包络解码单 元 902、 核心层比特分配单元 903、 核心层解码和反量化单元 904、 残差信号 幅值包络生成单元、 扩展层比特分配单元、 编码信号解码和反量化单元、 频 域系数生成单元 905、 噪声填充单元 906和 IMDCT单元 907。
图 9中为了清晰地描述各扩展层之间的数据交互关系, 将残差信号幅值 包络生成单元进一步划分为: 残差信号幅值包络生成单元 1至残差信号幅值 包络生成单元 K; 将扩展层比特分配单元进一步划分为: 扩展层比特分配单 元 1至扩展层比特分配单元 K;将编码信号解码和反量化单元进一步划分为: 编码信号解码和反量化单元 1至编码信号解码和反量化单元 κ。
比特流解复用器设置为, 输出幅值包络编码比特、 频域系数编码比特和 各扩展层的编码信号编码比特;
幅值包络解码单元设置为, 根据边信息中的 Flag— huff— rms值对比特流解 复用器输出的幅值包络编码比特进行霍夫曼解码或直接解码, 得到核心层各 编码子带的幅值包络量化指数 ThqG) , j=0, ... , L—core - 1;
核心层比特分配单元设置为, 根据幅值包络解码单元输出的核心层各编 码子带的幅值包络量化指数计算出核心层各编码子带重要性初始值, 并利用 子带重要性对核心层各编码子带进行比特分配,得到核心层的比特分配数(即 Region— bit j) , }=0, ... , L_core - 1 ) ;
核心层解码和反量化单元设置为, 利用核心层的比特分配数和各编码子 带的量化幅值包络值 ( 2nq UV1 ) , 并根据边信息中的 Flag— huff— PLVQ值对 频域系数的编码比特进行解码、 反量化及反归一化处理, 得到核心层频域系 数;
残差信号幅值包络生成单元 1设置为, 利用核心层各编码子带的幅值包 络量化指数和核心层的比特分配数计算核心层的各编码子带残差信号的幅值 包络量化指数;
残差信号幅值包络生成单元 i+1设置为 ,利用扩展层 i中各编码子带的幅 值包络量化指数和扩展层 i的比特分配数计算扩展层 i的各编码子带残差信号 的幅值包络量化指数; 其中, i=l, ... ,K - l , K为扩展层个数;
扩展层比特分配单元 i设置为,根据扩展层 i的各编码子带编码信号的幅 值包络量化指数计算扩展层 i的各编码子带重要性的初始值, 并使用扩展层 i 的各编码子带重要性对扩展层 i 的各编码子带进行比特分配, 得到扩展层 i 的比特分配数; 其中, i=l,...,K, K为扩展层个数;
编码信号解码和反量化单元 i设置为,利用扩展层 i的比特分配数对编码 信号 i编码比特进行解码和矢量反量化,并利用扩展层 i的编码信号编码子带 的量化幅值包络值对反量化数据进行反归一化, 得到扩展层 i 的编码信号; 其中, i=l,...,K, K为扩展层个数;
频域系数生成单元设置为, 将核心层解码和反量化单元输出的核心层频 域系数和编码信号解码和反量化单元输出的各扩展层编码信号相加, 得到频 域系数输出值;
噪声填充单元设置为, 对频域系数生成单元输出的频域系数输出值中未 分配编码比特的子带进行噪声填充;
IMDCT单元设置为, 对噪声填充后的频域系数进行 IMDCT, 得到最终 的音频输出信号。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序 来指令相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现。 相应地, 上述实施例中的各模块 /单元可以釆用 硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本发明不限制于任 何特定形式的硬件和软件的结合。
工业实用性
本发明提供的可分层音频编码、 解码方法及系统, 通过在核心层和扩展 层中釆用相同的子带划分和比特分配方法, 并根据核心层幅值包络信息计算 出扩展层幅值包络信息, 在核心层与扩展层比特分配中都充分考虑信号本身 的分布特性, 使得核心层与扩展层之间紧密相连, 并且在扩展层码流中不包 括残差信号幅值包络信息, 提高了可分层音频编解码的效率, 同时也提高了 代码的利用率。

Claims

权 利 要 求 书
1、 一种可分层音频编码方法, 该方法包括:
将音频信号经过修正离散余弦变换 MDCT后的频域系数, 划分为核心层 频域系数和扩展层频域系数, 将所述核心层频域系数和扩展层频域系数划分 成多个编码子带, 并对所述编码子带的幅值包络值进行量化和编码;
根据核心层各编码子带的幅值包络值对核心层各编码子带进行比特分 配,然后对核心层频域系数进行量化和编码得到核心层频域系数的编码比特; 根据核心层各编码子带的幅值包络值和比特分配数计算核心层残差信号 各编码子带的幅值包络值;
根据由核心层残差信号和扩展层频域系数构成的扩展层编码信号和由所 述扩展层编码信号构成的各编码子带的幅值包络值对扩展层各编码子带进行 比特分配, 然后对扩展层编码信号进行量化和编码得到扩展层编码信号的编 码比特; 以及
将核心层频域系数和扩展层频域系数构成的各编码子带的幅值包络编码 比特、核心层频域系数的编码比特和扩展层编码信号的编码比特复用打包后, 传送给解码端。
2、 如权利要求 1所述的方法, 其中, 在将音频信号经过修正离散余弦变 换 MDCT后的频域系数, 划分为核心层频域系数和扩展层频域系数, 将所述 核心层频域系数和扩展层频域系数划分成多个编码子带的步骤中,
将 MDCT变换后的频域系数分成多个等间隔编码子带,或者按照听觉感 知特性划分成多个非均勾编码子带;将低频编码子带划分为核心层编码子带, 将高频编码子带划分为扩展层编码子带。
3、 如权利要求 1所述的方法, 其中,
在对核心层频域系数和扩展层编码信号进行量化和编码的步骤中, 对比特分配数小于分类阔值的编码子带的待量化矢量釆用塔型格型矢量 量化方法进行量化和编码, 对比特分配数大于所述分类阔值的编码子带的待 量化矢量釆用球型格型矢量量化方法进行量化和编码; 比特分配数是一个编码子带中单个频域系数所分配到的比特数。
4、 如权利要求 1所述的方法, 其中, 在根据核心层各编码子带的幅值包 络值和比特分配数计算核心层残差信号各编码子带的幅值包络值的步骤中, 釆用如下方法计算核心层残差信号各编码子带的幅值包络值:
对核心层频域系数的量化值进行反量化, 并与核心层频域系数进行差计 算, 得到核心层残差信号;
将核心层残差信号按与核心层频域系数相同的方法划分成编码子带, 根 据核心层各编码子带幅值包络值和比特分配数推算出核心层残差信号各编码 子带的幅值包络值。
5、 如权利要求 4所述的方法, 其中, 推算出核心层残差信号各编码子带 的幅值包络值的步骤包括:
计算核心层各编码子带的幅值包络量化指数, 并与对应编码子带的量化 指数修正值进行差计算, 得到核心层残差信号各编码子带的幅值包络量化指 数;
各编码子带的量化指数修正值大于等于 0, 且当核心层对应编码子带的 比特分配数增加时不减小; 以及
当核心层的编码子带的比特分配数为 0时, 量化指数修正值为 0, 当核 心层的编码子带的比特分配数为所限定的最大比特分配数时, 核心层残差信 号在该编码子带的幅值包络值为零。
6、 如权利要求 1所述的方法, 其中, 得到核心层频域系数的编码比特的 步骤包括:
计算核心层各编码子带的幅值包络量化指数, 对核心层各编码子带进行 比特分配; 以及
根据核心层各编码子带的幅值包络量化指数重建的核心层各编码子带的 量化幅值包络值对各编码子带的频域系数进行归一化, 根据核心层各编码子 带的比特分配数分别使用塔型格型矢量量化方法和球型格型矢量量化方法进 行量化和编码, 得到核心层频域系数的编码比特;
其中, 得到扩展层编码信号的编码比特的步骤包括: 用核心层残差信号和扩展层频域系数构成扩展层编码信号; 根据扩展层编码信号各编码子带的幅值包络量化指数, 对扩展层各编码 子带进行比特分配; 以及
根据扩展层各编码子带的幅值包络量化指数重建的扩展层各编码子带的 量化幅值包络值对各编码子带的编码信号进行归一化, 根据扩展层各编码子 带的比特分配数分别使用塔型格型矢量量化方法和球型格型矢量量化方法进 行量化和编码, 得到扩展层编码信号的编码比特。
7、 如权利要求 1所述的方法, 其中, 在核心层频域系数和扩展层频域系 数构成的各编码子带的幅值包络编码比特、 核心层频域系数的编码比特和扩 展层编码信号的编码比特复用打包后, 传送给解码端的步骤中,
按照如下码流格式进行复用打包:
将核心层的边信息比特写入码流的帧头后面, 将核心层的编码子带幅值 包络编码比特写入比特流复用器 MUX,然后将核心层频域系数的编码比特写 入 MUX; 以及将扩展层的边信息比特写入 MUX, 将扩展层频域系数编码子 带的幅值包络编码比特写入 MUX, 然后将扩展层编码信号的编码比特写入 MUX;
根据所要求的码率, 将满足码率要求的比特数传送到解码端。
8、 如权利要求 7所述的方法, 其中,
核心层的边信息包括 MDCT系数构成的编码子带幅值包络的霍夫曼编码 标志位比特、 核心层频域系数的霍夫曼编码标志位比特和迭代次数比特; 扩展层的边信息包括扩展层编码信号的霍夫曼编码标志位比特和迭代次 数比特。
9、 如权利要求 7所述的方法, 其中, 将满足码率要求的比特数传送到 解码端的步骤包括:
按照所限定的最大编码码率的比特数在整个所需编码的频带范围内, 对 核心层和扩展层编码, 使得在编码频带范围内达到最大编码码率;
在核心层编码比特之后, 将扩展层编码信号的编码比特按照各编码子带 重要性初始值从大到小的顺序写入比特流复用器; 以及 按照将编码子带重要性初始值小的编码子带的编码比特先舍去的原则, 将满足码率要求的比特数传送到解码端;
其中,将核心层对应的码率记为 L0层,根据扩展层舍去比特数的多少将 扩展层对应的各个码率分别记为 LI— 1层、 L1— 2层、直至 LI— K层,其中 LI— K 层的码率就是所述最大编码码率。
10、 如权利要求 1至 4中任一权利要求所述的方法, 其中,
在将音频信号经过修正离散余弦变换 MDCT后的频域系数, 划分为核心 层频域系数和扩展层频域系数的步骤之后, 所述方法还包括: 把扩展层的频 域系数按照频率从小到大的顺序分成 M个部分, 它们分别是扩展层 1到扩展 层 M的频域系数, 其中扩展层 1中频域系数的频率最小, 扩展层 M中频域 系数的频率最大;
在对核心层频域系数进行量化和编码的步骤之后, 所述方法还包括: 对 核心层频域系数的量化值进行反量化, 并与核心层频域系数进行差计算, 得 到核心层残差信号;
在所述根据核心层各编码子带的幅值包络值和比特分配数计算核心层残 差信号各编码子带的幅值包络值的步骤中, 将核心层残差信号按与核心层相 同的方法划分成编码子带, 根据核心层各编码子带的幅值包络值和比特分配 数推算出核心层残差信号各编码子带的幅值包络值;
在所述根据由核心层残差信号和扩展层频域系数构成的扩展层编码信号 和由所述扩展层编码信号构成的各编码子带的幅值包络值对扩展层各编码子 带进行比特分配, 然后对扩展层编码信号进行量化和编码得到扩展层编码信 号的编码比特的步骤中,
用核心层残差信号和扩展层 1的频域系数构成扩展层 1的编码信号, 根 据扩展层 1的编码信号计算各编码子带的幅值包络量化指数, 对扩展层 1各 编码子带进行比特分配; 根据扩展层 1的各编码子带的比特分配数对扩展层 1的编码信号进行量化和编码;
对扩展层 i的编码信号的量化值进行反量化,并与扩展层 i的编码信号进 行差计算, 得到扩展层 1的残差信号; 将扩展层 i的残差信号按与扩展层 i相同的方法划分成编码子带,根据扩 展层 i的各编码子带幅值包络值和比特分配数推算出扩展层 i的残差信号各子 带的幅值包络值;
根据扩展层 i的残差信号和扩展层 i+1的频域系数构成扩展层 i+1的编码 信号, 根据扩展层 i+1 的编码信号各编码子带的幅值包络量化指数, 对扩展 层 i+1的各编码子带进行比特分配; 以及
根据扩展层 i+1各编码子带的幅值包络量化指数重建的扩展层 i+1各编码 子带的量化幅值包络值和编码比特数对扩展层 i+1 各编码子带的编码信号进 行归一化、 矢量量化和编码, 得到扩展层 i+1的编码信号的编码比特;
所述 i=l,....N-l , N为大于 2的正整数。
11、 如权利要求 1或 7所述的方法, 其中, 在将核心层频域系数和扩展 层频域系数构成的各编码子带的幅值包络编码比特、 核心层频域系数的编码 比特和扩展层编码信号的编码比特复用打包的处理中,
按照如下码流格式进行复用打包:
在核心层的编码比特之后, 根据扩展层编号的大小, 将编号小的扩展层 的比特先写入比特流复用器 MUX,然后将编号大的扩展层的比特再写入比特 流复用器 MUX;
在同一个扩展层中,先将该扩展层的边信息比特写入 MUX, 然后将该扩 展层频域系数编码子带的幅值包络编码比特写入 MUX,然后将该扩展层编码 信号的编码比特写入 MUX;
根据所要求的码率, 将满足码率要求的比特数传送到解码端。
12、 一种可分层音频解码方法, 该方法包括:
对编码端传送过来的比特流进行解复用, 对核心层频域系数的幅值包络 编码比特进行解码, 得到核心层各编码子带的幅值包络值;
根据核心层各编码子带的幅值包络值, 对核心层各编码子带进行比特分 配, 并推算出核心层残差信号的幅值包络值; 对扩展层的频域系数幅值包络 编码比特进行解码, 得到扩展层频域系数幅值包络值; 根据核心层残差信号 的幅值包络值和扩展层频域系数幅值包络值对扩展层各编码子带进行比特分 配; 以及
根据核心层的比特分配数和扩展层的比特分配数, 分别对核心层频域系 数编码比特和扩展层编码信号的编码比特进行解码, 得到核心层频域系数和 扩展层编码信号, 将扩展层编码信号按照频带顺序重新排列, 并和核心层频 域系数相加, 得到全体带宽的频域系数, 对全体带宽的频域系数进行修正离 散余弦逆变换 IMDCT, 得到输出的音频信号。
13、 如权利要求 12所述的方法, 其中, 推算出核心层残差信号的幅值包 络值的步骤包括:
计算核心层各编码子带的幅值包络量化指数, 并与对应编码子带的量化 指数修正值进行差计算, 得到核心层残差信号各编码子带的幅值包络量化指 数;
根据扩展层 i的各编码子带幅值包络和比特分配数推算出扩展层 i的残差 信号各子带的幅值包络值;
各编码子带的量化指数修正值大于等于 0, 且当核心层对应编码子带的 比特分配数增加时不减小; 以及
当核心层的编码子带的比特分配数为 0时, 量化指数修正值为 0, 当编 码子带的比特分配数为所限定的最大比特分配数时, 核心层残差信号在该编 码子带的幅值包络值为零。
14、 如权利要求 12所述的方法, 其中, 得到核心层频域系数和扩展层编 码信号的步骤包括:
根据核心层各编码子带的比特分配数、 量化幅值包络值和边信息对核心 层频域系数编码比特进行解码、 反量化及反归一化处理, 得到核心层频域系 数; 以及
根据扩展层各编码子带的比特分配数、 扩展层编码信号的量化幅值包络 值和边信息对该扩展层编码信号的编码比特进行解码、 反量化及反归一化处 理, 得到扩展层编码信号。
15、 如权利要求 12或 14所述的方法, 其中, 在对扩展层编码信号的编 码比特进行解码的步骤中, 釆用如下顺序对扩展层编码信号的编码比特进行解码:
在不同的扩展层中, 各层解码的顺序是先对扩展层编号小的低扩展层的 幅值包络和各编码子带的编码比特进行解码, 然后再对扩展层编号大的高扩 展层的幅值包络和各编码子带的编码信号进行解码, 解码过程中计算已解码 的比特数, 当已解码的比特数满足总比特数要求时停止解码;
在同一个扩展层中, 各编码子带解码的顺序是根据各个编码子带重要性 的初始值决定的, 重要性大的编码子带优先解码, 如果有两个编码子带具有 相同的重要性, 则低频编码子带优先解码, 解码过程中计算已解码的比特数, 当已解码的比特数满足总比特数要求时停止解码。
16、 一种可分层音频编码系统, 该系统包括: 修正离散余弦变换 MDCT 单元、 幅值包络计算单元、 幅值包络量化和编码单元、 核心层比特分配单元、 核心层频域系数矢量量化和编码单元以及比特流复用器; 该系统还包括: 扩 展层编码信号生成单元、 残差信号幅值包络生成单元、 扩展层比特分配单元 以及扩展层编码信号矢量量化和编码单元; 其中:
所述 MDCT单元设置为, 对输入的音频信号进行修正离散余弦变换, 生 成核心层频域系数和扩展层频域系数;
所述幅值包络计算单元设置为, 将所述核心层频域系数和扩展层频域系 数中待编码的部分划分为核心层频域系数编码子带和扩展层频域系数编码子 带, 并计算各编码子带的幅值包络值;
所述幅值包络量化和编码单元设置为, 将所述核心层频域系数编码子带 和扩展层频域系数编码子带的幅值包络值进行量化和编码, 生成核心层频域 系数和扩展层频域系数各编码子带的幅值包络量化指数和幅值包络的编码比 特;
所述核心层比特分配单元设置为, 进行核心层的比特分配, 得到核心层 各编码子带的比特分配数;
所述核心层频域系数矢量量化和编码单元设置为, 使用根据核心层各编 码子带的幅值包络量化指数重建的核心层各编码子带的量化幅值包络值和比 特分配数对核心层各编码子带的频域系数进行归一化、 矢量量化和编码, 得 到核心层频域系数的编码比特;
所述扩展层编码信号生成单元设置为, 生成残差信号, 得到由残差信号 和扩展层频域系数构成的扩展层编码信号;
所述残差信号幅值包络生成单元设置为, 根据核心层各编码子带的幅值 包络量化指数与对应编码子带的比特分配数, 得到残差信号各编码子带的幅 值包络量化指数;
所述扩展层比特分配单元设置为 , 根据残差信号各编码子带的幅值包络 量化指数和扩展层频域系数各编码子带的幅值包络量化指数进行扩展层的比 特分配, 得到扩展层编码信号各编码子带的比特分配数;
所述扩展层编码信号矢量量化和编码单元设置为, 使用根据扩展层各编 码子带的幅值包络量化指数重建的扩展层各编码子带的量化幅值包络值和比 特分配数对扩展层各编码子带的编码信号进行归一化、 矢量量化和编码, 得 到扩展层编码信号的编码比特;
所述比特流复用器设置为, 将核心层边信息比特、 核心层各编码子带的 幅值包络的编码比特、 核心层频域系数的编码比特、 扩展层边信息比特, 扩 展层频域系数各幅值包络的编码比特和扩展层编码信号的编码比特进行打 包。
17、 如权利要求 16所述的系统, 其中,
所述扩展层编码信号生成单元还包括残差信号生成单元和扩展层编码信 号合成单元;
所述残差信号生成单元设置为,对核心层频域系数的量化值进行反量化, 并与核心层频域系数进行差计算, 得到核心层残差信号;
所述扩展层编码信号合成单元设置为, 将核心层残差信号和扩展层的频 域系数按频带的顺序合成, 得到扩展层编码信号。
18、 如权利要求 16所述的系统, 其中,
所述残差信号幅值包络生成单元还包括量化指数修正值获取单元和残差 信号幅值包络量化指数计算单元;
所述量化指数修正值获取单元设置为, 根据核心层各编码子带比特分配 数推算残差信号各编码子带的量化指数修正值, 各编码子带的量化指数修正 值大于等于 0, 且当核心层对应编码子带的编码比特数增加时不减小, 如果 核心层的编码子带的比特分配数为 0, 则量化指数修正值为 0, 如果编码子带 的比特分配数为所限定的最大比特分配数, 则残差信号在该编码子带的幅值 包络值为零;
所述残差信号幅值包络量化指数计算单元设置为, 将核心层各编码子带 的幅值包络量化指数与对应编码子带的量化指数修正值进行差计算, 得到核 心层残差信号各编码子带的幅值包络量化指数。
19、 如权利要求 16所述的系统, 其中,
所述比特流复用器是设置为, 将扩展层编码信号编码比特按照各编码子 带重要性的初始值从大到小的顺序写入码流, 对于具有相同重要性的编码子 带, 低频编码子带的编码比特优先写入码流。
20、 一种可分层音频解码系统, 该系统包括: 比特流解复用器、 核心层 幅值包络解码单元、 核心层比特分配单元、 核心层解码和反量化单元; 该系 统还包括: 扩展层幅值包络解码单元、 核心层残差信号幅值包络生成单元、 扩展层比特分配单元、 扩展层编码信号解码和反量化单元、 频域系数生成单 元、 噪声填充单元和修正离散余弦逆变换 IMDCT单元; 其中:
所述核心层幅值包络解码单元设置为, 对所述比特流解复用器输出的核 心层编码子带幅值包络编码比特进行解码, 得到核心层各编码子带的幅值包 络量化指数;
所述核心层比特分配单元设置为, 进行核心层的比特分配, 得到核心层 各编码子带的比特分配数;
所述核心层解码和反量化单元设置为, 根据核心层各编码子带的幅值包 络量化指数计算得到核心层各编码子带的量化幅值包络值, 使用核心层各编 码子带的比特分配数和量化幅值包络值对所述比特流解复用器输出的核心层 频域系数编码比特进行解码、 反量化及反归一化处理, 得到核心层的频域系 数;
所述扩展层幅值包络解码单元设置为, 对比特流解复用器输出的扩展层 频域系数幅值包络编码比特进行解码, 得到扩展层频域系数各编码子带的幅 值包络量化指数;
所述核心层残差信号幅值包络生成单元设置为, 根据核心层各编码子带 的幅值包络量化指数与对应编码子带的比特分配数计算得到残差信号各编码 子带的幅值包络量化指数;
所述扩展层比特分配单元设置为 , 根据残差信号各编码子带的幅值包络 量化指数和扩展层频域系数各编码子带的幅值包络量化指数进行扩展层的比 特分配, 得到扩展层编码信号各编码子带的比特分配数;
所述扩展层编码信号解码和反量化单元设置为, 使用扩展层各编码子带 的幅值包络量化指数计算得到扩展层各编码子带的量化幅值包络值, 使用扩 展层各编码子带的编码比特数和量化幅值包络值对所述比特流解复用器输出 的扩展层编码信号的编码比特进行解码、 反量化及反归一化处理, 得到扩展 层编码信号;
所述频域系数生成单元设置为, 根据频带顺序对所述扩展层编码信号解 码和反量化单元输出的扩展层的编码信号进行重新排序, 然后与所述核心层 解码和反量化单元输出的核心层频域系数做和计算, 得到频域系数输出值; 所述噪声填充单元设置为, 对编码过程中未分配编码比特的编码子带进 行噪声填充;
IMDCT单元设置为,对进行了噪声填充后的全体频域系数进行 IMDCT , 得到输出的音频信号。
21、 如权利要求 20所述的系统, 其中,
所述核心层残差信号幅值包络生成单元还包括量化指数修正值获取单元 和残差信号幅值包络量化指数计算单元;
所述量化指数修正值获取单元设置为, 根据核心层各编码子带比特分配 数推算残差信号各编码子带的量化指数修正值, 并根据对应编码子带频域系 数的绝对值进行调整, 其中, 各编码子带的量化指数修正值大于等于 0, 且 当核心层对应编码子带的编码比特数增加时不减小, 如果核心层的编码子带 的比特分配数为 0, 则量化指数修正值为 0, 如果编码子带的比特分配数为所 限定的最大比特分配数, 则残差信号在该编码子带的幅值包络值为零; 所述残差信号幅值包络量化指数计算单元设置为, 将核心层各编码子带 的幅值包络量化指数与对应编码子带的量化指数修正值进行差计算, 得到核 心层残差信号各编码子带的幅值包络量化指数。
22、 如权利要求 20所述的系统, 其中,
所述扩展层编码信号解码和反量化单元是设置为, 对扩展层编码信号的 各编码子带解码的顺序是根据各编码子带重要性的初始值决定的, 重要性大 的编码子带优先解码, 如果有两个编码子带具有相同的重要性, 则低频编码 子带优先解码, 解码过程中计算已解码的比特数, 当已解码的比特数满足总 比特数要求时停止解码。
PCT/CN2010/078126 2009-11-27 2010-10-26 一种可分层音频编码、解码方法及系统 WO2011063694A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
BR112012012573-7A BR112012012573B1 (pt) 2009-11-27 2010-10-26 Método e sistema de codificação, decodificação hierárquicas de áudio
JP2012535611A JP5192099B2 (ja) 2009-11-27 2010-10-26 階層的オーディオ符号化、復号化方法及びシステム
RU2012119783/08A RU2509380C2 (ru) 2009-11-27 2010-10-26 Способ и устройство иерархического кодирования, декодирования аудио
EP10832601.8A EP2482052B1 (en) 2009-11-27 2010-10-26 Hierarchical audio coding / decoding method and system
US13/505,064 US8694325B2 (en) 2009-11-27 2010-10-26 Hierarchical audio coding, decoding method and system
HK12111842.3A HK1171079A1 (zh) 2009-11-27 2012-11-20 種可分層音頻編碼/解碼方法及系統

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200910249855.7 2009-11-27
CN2009102498557A CN102081927B (zh) 2009-11-27 2009-11-27 一种可分层音频编码、解码方法及系统

Publications (1)

Publication Number Publication Date
WO2011063694A1 true WO2011063694A1 (zh) 2011-06-03

Family

ID=44065854

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/078126 WO2011063694A1 (zh) 2009-11-27 2010-10-26 一种可分层音频编码、解码方法及系统

Country Status (8)

Country Link
US (1) US8694325B2 (zh)
EP (1) EP2482052B1 (zh)
JP (1) JP5192099B2 (zh)
CN (1) CN102081927B (zh)
BR (1) BR112012012573B1 (zh)
HK (1) HK1171079A1 (zh)
RU (1) RU2509380C2 (zh)
WO (1) WO2011063694A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140249806A1 (en) * 2011-10-28 2014-09-04 Panasonic Corporation Audio encoding apparatus, audio decoding apparatus, audio encoding method, and audio decoding method
EP2814028A4 (en) * 2012-02-10 2015-05-06 Panasonic Ip Corp America AUDIO AND LANGUAGE CODING DEVICE, AUDIO AND LANGUAGE DECODING DEVICE, AUDIO AND LANGUAGE CODING METHOD AND AUDIO AND LANGUAGE DECODING METHOD
US9437204B2 (en) 2012-03-29 2016-09-06 Telefonaktiebolaget Lm Ericsson (Publ) Transform encoding/decoding of harmonic audio signals
RU2640722C2 (ru) * 2013-04-05 2018-01-11 Долби Интернешнл Аб Усовершенствованный квантователь
RU2648953C2 (ru) * 2013-01-29 2018-03-28 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Наполнение шумом без побочной информации для celp-подобных кодеров
US10468035B2 (en) 2014-03-24 2019-11-05 Samsung Electronics Co., Ltd. High-band encoding method and device, and high-band decoding method and device
US11676614B2 (en) 2014-03-03 2023-06-13 Samsung Electronics Co., Ltd. Method and apparatus for high frequency decoding for bandwidth extension

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5850216B2 (ja) 2010-04-13 2016-02-03 ソニー株式会社 信号処理装置および方法、符号化装置および方法、復号装置および方法、並びにプログラム
JP5707842B2 (ja) 2010-10-15 2015-04-30 ソニー株式会社 符号化装置および方法、復号装置および方法、並びにプログラム
EP2676264B1 (en) * 2011-02-14 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder estimating background noise during active phases
SG192734A1 (en) 2011-02-14 2013-09-30 Fraunhofer Ges Forschung Apparatus and method for error concealment in low-delay unified speech and audio coding (usac)
JP5800915B2 (ja) 2011-02-14 2015-10-28 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ オーディオ信号のトラックのパルス位置の符号化および復号化
SG185519A1 (en) 2011-02-14 2012-12-28 Fraunhofer Ges Forschung Information signal representation using lapped transform
ES2623291T3 (es) 2011-02-14 2017-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificación de una porción de una señal de audio utilizando una detección de transitorios y un resultado de calidad
BR112013020482B1 (pt) 2011-02-14 2021-02-23 Fraunhofer Ges Forschung aparelho e método para processar um sinal de áudio decodificado em um domínio espectral
MY159444A (en) 2011-02-14 2017-01-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Encoding and decoding of pulse positions of tracks of an audio signal
JP5625126B2 (ja) 2011-02-14 2014-11-12 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン スペクトル領域ノイズ整形を使用する線形予測ベースコーディングスキーム
MY160265A (en) 2011-02-14 2017-02-28 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Apparatus and Method for Encoding and Decoding an Audio Signal Using an Aligned Look-Ahead Portion
RU2464649C1 (ru) * 2011-06-01 2012-10-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ обработки звукового сигнала
KR101398189B1 (ko) * 2012-03-27 2014-05-22 광주과학기술원 음성수신장치 및 음성수신방법
CN110706715B (zh) * 2012-03-29 2022-05-24 华为技术有限公司 信号编码和解码的方法和设备
PL2916318T3 (pl) * 2012-11-05 2020-04-30 Panasonic Intellectual Property Corporation Of America Urządzenie do kodowania dźwięku mowy, urządzenie do dekodowania dźwięku mowy, sposób kodowania dźwięku mowy oraz sposób dekodowania dźwięku mowy
CN103854653B (zh) * 2012-12-06 2016-12-28 华为技术有限公司 信号解码的方法和设备
MX341885B (es) * 2012-12-13 2016-09-07 Panasonic Ip Corp America Dispositivo de codificacion de sonido de voz, dispositivo de decodificacion de sonido de voz, metodo de codificacion de sonido de voz y metodo de decodificacion de sonido de voz.
RU2627102C2 (ru) * 2013-01-29 2017-08-03 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Декодер для формирования аудиосигнала с улучшенной частотной характеристикой, способ декодирования, кодер для формирования кодированного сигнала и способ кодирования с использованием компактной дополнительной информации для выбора
US9560386B2 (en) * 2013-02-21 2017-01-31 Mozilla Corporation Pyramid vector quantization for video coding
CN104103276B (zh) * 2013-04-12 2017-04-12 北京天籁传音数字技术有限公司 一种声音编解码装置及其方法
US9665541B2 (en) 2013-04-25 2017-05-30 Mozilla Corporation Encoding video data using reversible integer approximations of orthonormal transforms
MX353188B (es) * 2013-06-10 2018-01-05 Fraunhofer Ges Forschung Aparato y método para codificación, procesamiento y decodificación de la envolvente de la señal de audio mediante división de la envolvente de la señal de audio, mediante el uso de cuantificación de distribución y codificación.
PT3008726T (pt) 2013-06-10 2017-11-24 Fraunhofer Ges Forschung Aparelho e método de codificação, processamento e descodificação de envelope de sinal de áudio por modelação da representação de soma cumulativa empregando codificação e quantização de distribuição
CN108198564B (zh) 2013-07-01 2021-02-26 华为技术有限公司 信号编码和解码方法以及设备
EP2830064A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection
EP2830060A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Noise filling in multichannel audio coding
WO2015081699A1 (zh) 2013-12-02 2015-06-11 华为技术有限公司 一种编码方法及装置
KR20230042410A (ko) 2013-12-27 2023-03-28 소니그룹주식회사 복호화 장치 및 방법, 및 프로그램
EP3111560B1 (en) * 2014-02-27 2021-05-26 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for pyramid vector quantization indexing and de-indexing of audio/video sample vectors
US9564136B2 (en) * 2014-03-06 2017-02-07 Dts, Inc. Post-encoding bitrate reduction of multiple object audio
CN106409303B (zh) 2014-04-29 2019-09-20 华为技术有限公司 处理信号的方法及设备
EP2980792A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating an enhanced signal using independent noise-filling
JPWO2016052191A1 (ja) * 2014-09-30 2017-07-20 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10573331B2 (en) 2018-05-01 2020-02-25 Qualcomm Incorporated Cooperative pyramid vector quantizers for scalable audio coding
US10580424B2 (en) 2018-06-01 2020-03-03 Qualcomm Incorporated Perceptual audio coding as sequential decision-making problems
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
CN113113032A (zh) * 2020-01-10 2021-07-13 华为技术有限公司 一种音频编解码方法和音频编解码设备
WO2022104588A1 (en) * 2020-11-18 2022-05-27 Qualcomm Incorporated Subband level constellation shaping
CN115795067B (zh) * 2023-02-08 2023-04-21 济宁市质量计量检验检测研究院(济宁半导体及显示产品质量监督检验中心、济宁市纤维质量监测中心) 一种用于温度测量数据的存储方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684920A (en) * 1994-03-17 1997-11-04 Nippon Telegraph And Telephone Acoustic signal transform coding method and decoding method having a high efficiency envelope flattening method therein
US20060122830A1 (en) * 2004-12-08 2006-06-08 Electronics And Telecommunications Research Institute Embedded code-excited linerar prediction speech coding and decoding apparatus and method
CN101044552A (zh) * 2004-10-27 2007-09-26 松下电器产业株式会社 语音编码装置和语音编码方法
CN101206860A (zh) * 2006-12-20 2008-06-25 华为技术有限公司 一种可分层音频编解码方法及装置
CN101253557A (zh) * 2005-08-31 2008-08-27 松下电器产业株式会社 立体声编码装置、立体声解码装置、及立体声编码方法
CN101521014A (zh) * 2009-04-08 2009-09-02 武汉大学 音频带宽扩展编解码装置
CN101562015A (zh) * 2008-04-18 2009-10-21 华为技术有限公司 音频处理方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289308B1 (en) * 1990-06-01 2001-09-11 U.S. Philips Corporation Encoded wideband digital transmission signal and record carrier recorded with such a signal
RU2214047C2 (ru) * 1997-11-19 2003-10-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для масштабируемого кодирования/декодирования аудиосигналов
ES2247741T3 (es) * 1998-01-22 2006-03-01 Deutsche Telekom Ag Metodo para conmutacion controlada por señales entre esquemas de codificacion de audio.
WO2003091989A1 (en) * 2002-04-26 2003-11-06 Matsushita Electric Industrial Co., Ltd. Coding device, decoding device, coding method, and decoding method
CN101615396B (zh) * 2003-04-30 2012-05-09 松下电器产业株式会社 语音编码设备、以及语音解码设备
US8526412B2 (en) * 2003-10-24 2013-09-03 Qualcomm Incorporated Frequency division multiplexing of multiple data streams in a wireless multi-carrier communication system
CN1947173B (zh) * 2004-04-28 2011-02-09 松下电器产业株式会社 分层编码装置及分层编码方法
EP1742202B1 (en) * 2004-05-19 2008-05-07 Matsushita Electric Industrial Co., Ltd. Encoding device, decoding device, and method thereof
RU2500043C2 (ru) * 2004-11-05 2013-11-27 Панасоник Корпорэйшн Кодер, декодер, способ кодирования и способ декодирования
PL1839297T3 (pl) * 2005-01-11 2019-05-31 Koninklijke Philips Nv Skalowalne kodowanie/dekodowanie sygnałów audio
FR2888699A1 (fr) * 2005-07-13 2007-01-19 France Telecom Dispositif de codage/decodage hierachique
KR100738077B1 (ko) * 2005-09-28 2007-07-12 삼성전자주식회사 계층적 오디오 부호화 및 복호화 장치와 방법
US8069035B2 (en) * 2005-10-14 2011-11-29 Panasonic Corporation Scalable encoding apparatus, scalable decoding apparatus, and methods of them
US7835904B2 (en) * 2006-03-03 2010-11-16 Microsoft Corp. Perceptual, scalable audio compression
WO2007105586A1 (ja) * 2006-03-10 2007-09-20 Matsushita Electric Industrial Co., Ltd. 符号化装置および符号化方法
FR2898443A1 (fr) * 2006-03-13 2007-09-14 France Telecom Procede de codage d'un signal audio source, dispositif de codage, procede et dispositif de decodage, signal, produits programme d'ordinateur correspondants
AU2007332508B2 (en) * 2006-12-13 2012-08-16 Iii Holdings 12, Llc Encoding device, decoding device, and method thereof
JP4871894B2 (ja) * 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
ES2858423T3 (es) * 2007-08-27 2021-09-30 Ericsson Telefon Ab L M Método y dispositivo para el llenado de huecos espectrales
KR101449431B1 (ko) * 2007-10-09 2014-10-14 삼성전자주식회사 계층형 광대역 오디오 신호의 부호화 방법 및 장치
WO2011086924A1 (ja) * 2010-01-14 2011-07-21 パナソニック株式会社 音声符号化装置および音声符号化方法
WO2011156905A2 (en) * 2010-06-17 2011-12-22 Voiceage Corporation Multi-rate algebraic vector quantization with supplemental coding of missing spectrum sub-bands

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684920A (en) * 1994-03-17 1997-11-04 Nippon Telegraph And Telephone Acoustic signal transform coding method and decoding method having a high efficiency envelope flattening method therein
CN101044552A (zh) * 2004-10-27 2007-09-26 松下电器产业株式会社 语音编码装置和语音编码方法
US20060122830A1 (en) * 2004-12-08 2006-06-08 Electronics And Telecommunications Research Institute Embedded code-excited linerar prediction speech coding and decoding apparatus and method
CN101253557A (zh) * 2005-08-31 2008-08-27 松下电器产业株式会社 立体声编码装置、立体声解码装置、及立体声编码方法
CN101206860A (zh) * 2006-12-20 2008-06-25 华为技术有限公司 一种可分层音频编解码方法及装置
CN101562015A (zh) * 2008-04-18 2009-10-21 华为技术有限公司 音频处理方法及装置
CN101521014A (zh) * 2009-04-08 2009-09-02 武汉大学 音频带宽扩展编解码装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9786292B2 (en) 2011-10-28 2017-10-10 Panasonic Intellectual Property Corporation Of America Audio encoding apparatus, audio decoding apparatus, audio encoding method, and audio decoding method
EP2772912A4 (en) * 2011-10-28 2015-05-06 Panasonic Ip Corp America AUDIO CODING APPARATUS, AUDIO DECODING APPARATUS, AUDIO ENCODING METHOD, AND AUDIO DECODING METHOD
US20140249806A1 (en) * 2011-10-28 2014-09-04 Panasonic Corporation Audio encoding apparatus, audio decoding apparatus, audio encoding method, and audio decoding method
EP2814028A4 (en) * 2012-02-10 2015-05-06 Panasonic Ip Corp America AUDIO AND LANGUAGE CODING DEVICE, AUDIO AND LANGUAGE DECODING DEVICE, AUDIO AND LANGUAGE CODING METHOD AND AUDIO AND LANGUAGE DECODING METHOD
US9454972B2 (en) 2012-02-10 2016-09-27 Panasonic Intellectual Property Corporation Of America Audio and speech coding device, audio and speech decoding device, method for coding audio and speech, and method for decoding audio and speech
US9437204B2 (en) 2012-03-29 2016-09-06 Telefonaktiebolaget Lm Ericsson (Publ) Transform encoding/decoding of harmonic audio signals
RU2611017C2 (ru) * 2012-03-29 2017-02-17 Телефонактиеболагет Л М Эрикссон (Пабл) Преобразующее кодирование/декодирование гармонических звуковых сигналов
RU2637994C1 (ru) * 2012-03-29 2017-12-08 Телефонактиеболагет Л М Эрикссон (Пабл) Преобразующее кодирование/декодирование гармонических звуковых сигналов
US11264041B2 (en) 2012-03-29 2022-03-01 Telefonaktiebolaget Lm Ericsson (Publ) Transform encoding/decoding of harmonic audio signals
US10566003B2 (en) 2012-03-29 2020-02-18 Telefonaktiebolaget Lm Ericsson (Publ) Transform encoding/decoding of harmonic audio signals
RU2648953C2 (ru) * 2013-01-29 2018-03-28 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Наполнение шумом без побочной информации для celp-подобных кодеров
US10269365B2 (en) 2013-01-29 2019-04-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Noise filling without side information for CELP-like coders
US10984810B2 (en) 2013-01-29 2021-04-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Noise filling without side information for CELP-like coders
US9940942B2 (en) 2013-04-05 2018-04-10 Dolby International Ab Advanced quantizer
US10311884B2 (en) 2013-04-05 2019-06-04 Dolby International Ab Advanced quantizer
RU2640722C2 (ru) * 2013-04-05 2018-01-11 Долби Интернешнл Аб Усовершенствованный квантователь
US11676614B2 (en) 2014-03-03 2023-06-13 Samsung Electronics Co., Ltd. Method and apparatus for high frequency decoding for bandwidth extension
US10468035B2 (en) 2014-03-24 2019-11-05 Samsung Electronics Co., Ltd. High-band encoding method and device, and high-band decoding method and device
US10909993B2 (en) 2014-03-24 2021-02-02 Samsung Electronics Co., Ltd. High-band encoding method and device, and high-band decoding method and device
US11688406B2 (en) 2014-03-24 2023-06-27 Samsung Electronics Co., Ltd. High-band encoding method and device, and high-band decoding method and device

Also Published As

Publication number Publication date
CN102081927B (zh) 2012-07-18
HK1171079A1 (zh) 2013-03-15
EP2482052A4 (en) 2013-04-24
JP2013511054A (ja) 2013-03-28
BR112012012573B1 (pt) 2021-10-19
RU2509380C2 (ru) 2014-03-10
BR112012012573A2 (pt) 2020-12-01
US8694325B2 (en) 2014-04-08
RU2012119783A (ru) 2014-01-10
EP2482052A1 (en) 2012-08-01
US20120226505A1 (en) 2012-09-06
JP5192099B2 (ja) 2013-05-08
CN102081927A (zh) 2011-06-01
EP2482052B1 (en) 2014-07-16

Similar Documents

Publication Publication Date Title
WO2011063694A1 (zh) 一种可分层音频编码、解码方法及系统
WO2011127757A1 (zh) 可分层音频编解码方法和系统及瞬态信号可分层编解码方法
WO2011063594A1 (zh) 格型矢量量化音频编解码方法和系统
JP4977472B2 (ja) スケーラブル復号化装置
JP6600054B2 (ja) 方法、符号化器、復号化器、及び移動体機器
EP1914725B1 (en) Fast lattice vector quantization
EP1914724B1 (en) Dual-transform coding of audio signals
WO2008072670A1 (ja) 符号化装置、復号装置、およびこれらの方法
JP2019191594A (ja) 音声音響符号化装置、音声音響復号装置、音声音響符号化方法及び音声音響復号方法
EP2201566A1 (en) Joint enhancement of multi-channel audio
WO2006041055A1 (ja) スケーラブル符号化装置、スケーラブル復号装置及びスケーラブル符号化方法
WO2007114290A1 (ja) ベクトル量子化装置、ベクトル逆量子化装置、ベクトル量子化方法及びベクトル逆量子化方法
JP5544370B2 (ja) 符号化装置、復号装置およびこれらの方法
WO2012005212A1 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体
CN103503065B (zh) 用于衰减低精确度重构的信号区域的方法和解码器
JP5544371B2 (ja) 符号化装置、復号装置およびこれらの方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10832601

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010832601

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012535611

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13505064

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2012119783

Country of ref document: RU

Ref document number: A20120671

Country of ref document: BY

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112012012573

Country of ref document: BR

REG Reference to national code

Ref country code: BR

Ref legal event code: B01E

Ref document number: 112012012573

Country of ref document: BR

Free format text: APRESENTE TRADUCAO SIMPLES DA CERTIDAO DE DEPOSITO DA PRIORIDADE NO PAIS DE ORIGEM OU DECLARACAO ASSINADA, AMBAS CONTENDO TODOS OS DADOS IDENTIFICADORES DA PRIORIDADE, CONFORME ART. 16, 2O, DA LPI.

ENP Entry into the national phase

Ref document number: 112012012573

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20120525