WO2015000373A1 - 信号编码和解码方法以及设备 - Google Patents

信号编码和解码方法以及设备 Download PDF

Info

Publication number
WO2015000373A1
WO2015000373A1 PCT/CN2014/080682 CN2014080682W WO2015000373A1 WO 2015000373 A1 WO2015000373 A1 WO 2015000373A1 CN 2014080682 W CN2014080682 W CN 2014080682W WO 2015000373 A1 WO2015000373 A1 WO 2015000373A1
Authority
WO
WIPO (PCT)
Prior art keywords
vectors
spectral coefficients
vector
sub
bands
Prior art date
Application number
PCT/CN2014/080682
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
Priority to JP2016522220A priority Critical patent/JP6289627B2/ja
Priority to UAA201513097A priority patent/UA113041C2/uk
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CA2912477A priority patent/CA2912477C/en
Priority to KR1020177020888A priority patent/KR20170089982A/ko
Priority to NZ714187A priority patent/NZ714187A/en
Priority to BR112015030852A priority patent/BR112015030852A2/pt
Priority to MX2015017743A priority patent/MX359502B/es
Priority to EP14820376.3A priority patent/EP2988299A4/en
Priority to RU2015156053A priority patent/RU2633097C2/ru
Priority to KR1020157034359A priority patent/KR20160003264A/ko
Priority to AU2014286765A priority patent/AU2014286765B2/en
Priority to SG11201509391RA priority patent/SG11201509391RA/en
Publication of WO2015000373A1 publication Critical patent/WO2015000373A1/zh
Priority to IL242498A priority patent/IL242498B/en
Priority to US14/984,703 priority patent/US10152981B2/en
Priority to US16/167,281 priority patent/US10789964B2/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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
    • 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/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

Definitions

  • the present invention relates to the field of signal processing and, in particular, to signal encoding and decoding methods and apparatus. Background technique
  • Embodiments of the present invention provide a signal encoding and decoding method and apparatus capable of improving the auditory quality of a signal.
  • a signal encoding method including: determining, according to a number of available bits and a first saturation threshold i, a number k of subbands to be encoded, where i is a positive number and k is a positive integer;
  • the quantized envelope selects k subbands from the respective subbands, or selects k subbands from the respective subbands according to a psychoacoustic model; performs an encoding operation on the spectral coefficients of the k subbands.
  • the performing an encoding operation on the spectral coefficients of the k sub-bands includes: normalizing the spectral coefficients of the k sub-bands to obtain a The k-subband normalized spectral coefficients are quantized; the k-subband normalized spectral coefficients are quantized to obtain the k sub-band quantized spectral coefficients.
  • the method further includes: if the number of remaining bits in the available number of bits is greater than or equal to the first bit after the one-time encoding operation a plurality of values, the m vectors to be coded twice are determined according to the remaining number of bits, the second saturation threshold j, and the spectral coefficients quantized by the k sub-bands, where j is a positive number, m a positive integer; performing a second encoding operation on the spectral coefficients of the m vectors.
  • the determining, according to the remaining number of bits, the second saturation threshold j, and the spectral coefficients of the k subband quantization Determining m vectors to be coded twice, comprising: determining a number m of vectors to be encoded according to the remaining number of bits and the second saturation threshold j; determining a candidate spectrum according to the k-subband quantized spectral coefficients a coefficient, the candidate spectral coefficient includes a spectral coefficient obtained by subtracting the corresponding k sub-band quantized spectral coefficients from the k sub-band normalized spectral coefficients; selecting a vector from which the candidate spectral coefficients belong Said m vectors.
  • the selecting the m vectors from the vector to which the candidate spectral coefficients belong includes: Sorting the associated vectors to obtain the sorted vectors; selecting the first m vectors from the sorted vectors; wherein the sorted vectors are divided into a first set of vectors and a second set of vectors, the first The group vector is arranged before the second group of vectors, and the first group of vectors corresponds to a vector in which the k-band quantized spectral coefficients belong to a median value of all 0s, and the second group of vectors corresponds to the The k-subband quantized spectral coefficients belong to a vector whose median value is not all zeros.
  • vectors of different subbands are arranged in the order of the sub-bands from the low frequency to the high frequency, and the vectors in the same sub-band are arranged in the original order of the vectors.
  • vectors of different subbands The inter-row is arranged in descending order of the envelopes quantized by the sub-bands in which the vectors are located, and the vectors in the same sub-band are arranged in the original order of the vectors.
  • the selecting, by the vector, the vector of the candidate spectral coefficients the following:
  • the sub-band quantized envelopes in which the associated vectors are located are in descending order, and m vectors are selected from the vectors to which the candidate spectral coefficients belong.
  • the spectrum of the m vectors Performing a second encoding operation on the coefficient comprising: determining a global gain of spectral coefficients of the m vectors; normalizing spectral coefficients of the m vectors using global gains of spectral coefficients of the m vectors; The m vector normalized spectral coefficients are quantized.
  • the performing the spectral coefficients of the m vectors a second encoding operation comprising: determining a global gain of a spectral coefficient of the first set of vectors and a global gain of spectral coefficients of the second set of vectors; using a global gain of the spectral coefficients of the first set of vectors
  • the spectral coefficients belonging to the first set of vectors among the m vectors are normalized, and the global gains of the spectral coefficients of the second set of vectors are used for the spectral coefficients belonging to the second set of vectors among the m vectors
  • Perform normalization quantize the m vector normalized spectral coefficients.
  • the And the first saturation threshold i determining the number k of subbands to be encoded, including: if the signal is a transient signal, a fricative signal or a large periodic signal, determining the code to be encoded according to the number of available bits and the first saturation threshold i The number of subbands k.
  • a signal decoding method including: determining, according to an available number of bits and a first saturation threshold i, a number k of subbands to be decoded, where i is a positive number and k is a positive integer; The envelope of the subband selects k subbands from the respective subbands, or selects k subbands from the respective subbands according to a psychoacoustic model; performs a decoding operation to obtain spectral coefficients of the k subband quantization .
  • the method further includes: if the number of remaining bits in the available number of bits after the one-time decoding is greater than or equal to the first bit number threshold, according to the remaining The number of bits and the second saturation threshold j, determining the number m of vectors to be decoded twice, where j is a positive number and m is a positive integer; performing a secondary decoding operation to obtain the m vector normalizations Spectral coefficient.
  • the method further includes: determining, between the m vector normalized spectral coefficients and the k sub-band quantized spectral coefficients Correspondence.
  • the determining between the m vector normalized spectral coefficients and the k sub-band quantized spectral coefficients Corresponding relationship including: determining a correspondence between the m vectors and a first type of vector in a vector to which the k subband quantized spectral coefficients belong, where the m vectors are between the first vector and the vector Yes - corresponding.
  • the determining the first class vector in the vector to which the m vector and the k subband quantized spectral coefficients belong Corresponding relationships include: sorting the vectors to which the k sub-band quantized spectral coefficients belong, to obtain a sorted vector, wherein the sorted vector is divided into a first set of vectors and a second set of vectors, The first set of vectors is arranged before the second set of vectors, and the first set of vectors includes a vector in which the median value of the first set of decoded spectral coefficients belongs to all 0s, and the second set of vectors includes a vector in which the median value of the first set of decoded spectral coefficients belongs to a non-all zero; a first m selected from the sorted vectors as the first class vector; establishing the first class vector and the The correspondence between m vectors.
  • vectors of different subbands are arranged in the order of the sub-bands from the low frequency to the high frequency, and the vectors in the same sub-band are arranged in the original order of the vectors.
  • vectors of different subbands The order is arranged in descending order of the envelope of the subband in which the vector is located, and the vector in the same subband is Arranged in the original order of the vectors.
  • the determining the first class vector in the vector to which the m vector and the k subband quantized spectral coefficients belong Corresponding relationship between: selecting, according to the order of the envelopes of the sub-bands in which the k-band quantized spectral coefficients belong, from the largest to the smallest, selecting the vector from which the k sub-band quantized spectral coefficients belong m as the first class vector; establishing a correspondence between the first class vector and the m vectors.
  • the method further includes: decoding a global gain of the m vectors; The global gains of the m vectors correct the m vector normalized spectral coefficients to obtain spectral coefficients of the m vectors.
  • the method further includes: decoding the first global gain and the second global gain; Correcting spectral coefficients corresponding to the first set of vectors among the m vector normalized spectral coefficients using the first global gain, and normalizing the m vectors using the second global gain The spectral coefficients corresponding to the second set of vectors are modified in the obtained spectral coefficients to obtain spectral coefficients of the m vectors.
  • the method further includes: the spectral coefficients and the m vectors that are quantized by the k subbands The spectral coefficients are superimposed to obtain spectral coefficients normalized by the k sub-bands; noise-filling the spectral coefficients with a value of 0 in the k-subband normalized spectral coefficients, and in the respective sub-bands The spectral coefficients of the other subbands other than the k subbands are recovered to obtain spectral coefficients of the first frequency band, wherein the first frequency band is composed of the respective subbands; using the envelope correction of the respective subbands Generating a spectral coefficient of the first frequency band to obtain a spectral coefficient normalized by the first frequency band; correcting a spectral coefficient normalized by the first frequency band using a global gain of the first frequency band to obtain a final A frequency band frequency domain signal.
  • the spectral coefficients of the k sub-band quantized and the spectral coefficients of the m vectors are superposed
  • the spectral coefficients normalized by k subbands including: a frequency normalized according to the m vectors Corresponding relationship between the spectral coefficients and the spectral coefficients quantized by the k subbands, superimposing the spectral coefficients of the m vectors and the spectral coefficients of the k subband quantization.
  • the median value of the spectral coefficients normalized to the k subbands is Performing noise filling on the spectral coefficients of 0 includes: determining a weighting value according to the core layer decoding information; using the weighting value, comparing the spectral coefficients normalized in the k subbands with the spectral coefficient having the value of 0 The adjacent spectral coefficients and random noise are weighted.
  • the determining, according to the core layer decoding information, determining the weighting value comprising: obtaining a signal classification from the core layer decoding information Information; if the signal classification information indicates that the signal is a fricative, acquiring a predetermined weighting value; if the signal classification information indicating signal is a signal other than the fricative, obtaining a pitch period from the core layer decoding information, And determining a weight value based on the pitch period.
  • Restoring the spectral coefficients of the other sub-bands other than the k sub-bands includes: selecting n sub-bands adjacent to the other sub-bands other than the k sub-bands from the respective sub-bands, and according to the n sub-sub- The spectral coefficients of the band recover the spectral coefficients of the other sub-bands other than the k sub-bands, where n is a positive integer; or, select p sub-bands from the k sub-bands, and according to the p sub-bands The spectral coefficients recover the spectral coefficients of the other sub-bands other than the k sub-bands, wherein the number of allocated bits of each of the p sub-bands is greater than or equal to the second bit number, where p is a positive integer .
  • the a saturation threshold i determining the number k of subbands to be decoded, comprising: if the signal is a transient signal, a fricative signal or a large periodic signal, determining the subband to be decoded according to the number of available bits and the first saturation threshold i The number k.
  • a signal encoding apparatus including: a determining unit, configured to determine, according to a number of available bits and a first saturation threshold i, a number k of subbands to be encoded, where i is a positive number and k is a positive integer a selection unit, configured to select k sub-bands from the respective sub-bands according to the sub-band quantized envelope according to the number of sub-bands determined by the determining unit, or from the respective sub-child according to a psychoacoustic model The k subbands are selected in the band; the coding unit is configured to perform an encoding operation on the spectral coefficients of the k subbands selected by the selecting unit.
  • the coding unit is specifically configured to: normalize spectrum coefficients of the k subbands to obtain a normalized spectrum of the k subbands a coefficient; quantizing the spectral coefficients normalized by the k subbands to obtain spectral coefficients of the k subband quantization.
  • the selecting unit is further configured to: if the number of remaining bits in the available number of bits is greater than the number of available bits after the one-time encoding operation Or equal to the first bit number threshold, determining m vectors to be twice coded according to the remaining number of bits, the second saturation threshold j, and the k-subband quantized spectral coefficients, where j is a positive number And m is a positive integer; the coding unit is further configured to perform a second coding operation on the spectral coefficients of the m vectors determined by the selection unit.
  • the selecting unit is specifically configured to: determine, according to the remaining number of bits and the second saturation threshold j, Coding the number of vectors m; determining candidate spectral coefficients according to the k sub-band quantized spectral coefficients, the candidate spectral coefficients including the k sub-band normalized spectral coefficients minus the corresponding k sub-band quantized spectra a spectral coefficient obtained by the coefficient; selecting the m vectors from the vectors to which the candidate spectral coefficients belong.
  • the selecting unit is specifically configured to: sort the vector to which the candidate spectral coefficients belong to obtain a sorted vector; select the first m vectors from the sorted vectors; wherein, the sorted vector partition a first set of vectors and a second set of vectors, the first set of vectors being ranked before the second set of vectors, wherein the first set of vectors corresponds to a vector value of the k subband quantized spectral coefficients An all-zero vector, the second set of vectors corresponding to a vector in which the k-subband quantized spectral coefficients belong to a median value other than all zeros.
  • the selecting unit is specifically configured to: according to the sub-band quantized envelope of the vector to which the candidate spectral coefficient belongs In a small order, m vectors are selected from the vectors to which the candidate spectral coefficients belong.
  • the coding unit is specifically configured to: determine the m vectors Global gain of the spectral coefficients; normalize the spectral coefficients of the m vectors using the global gain of the spectral coefficients of the m vectors; quantize the m vector normalized spectral coefficients.
  • the coding unit is specifically configured to: determine a global gain of a spectral coefficient of the first group of vectors, and the second group a global gain of the spectral coefficients of the vector; normalizing the spectral coefficients belonging to the first set of vectors of the m vectors using the global gain of the spectral coefficients of the first set of vectors, and using the second set global spectral coefficients vector gain vectors belonging to the m spectral coefficients of said second set of vectors will be normalized; of the m vectors normalized spectral coefficient.
  • the determining unit is specifically configured to: if the signal is a transient signal, a friction signal, or a large period signal, according to the available number of bits and the first saturation threshold i , determine the number k of subbands to be encoded.
  • a fourth aspect provides a signal decoding apparatus, including: a determining unit, configured to determine, according to a number of available bits and a first saturation threshold i, a number k of subbands to be decoded, where i is a positive number and k is a positive integer a selection unit, configured to select k sub-bands from the respective sub-bands according to the decoded envelope of each sub-band according to the number k of sub-bands determined by the determining unit, or from the respective ones according to a psychoacoustic model The k subbands are selected in the subband; the decoding unit is configured to perform a decoding operation to obtain the k subband quantized spectral coefficients selected by the selecting unit.
  • the first determining unit is further configured to: if the number of remaining bits in the available number of bits is greater than or equal to the first number of bits after the one-time decoding operation a threshold value, determining, according to the remaining number of bits, the second saturation threshold j, and the first set of decoded spectral coefficients, a number m of vectors to be decoded twice, where j is a positive number and m is a positive
  • the decoding unit is further configured to perform a secondary decoding operation to obtain the m vector normalized spectral coefficients.
  • the method further includes: a second determining unit, configured to determine the m vector normalized spectral coefficients and the k sub- Correspondence between quantized spectral coefficients.
  • the second determining unit is specifically configured to determine that the m vectors and the k subband quantized spectral coefficients belong to Correspondence between the first type of vectors in the vector, wherein the m vectors are in one-to-one correspondence with the first type of vectors.
  • the second determining unit is specifically configured to sort the vector to which the k sub-band quantized spectral coefficients belong, to obtain a sort a vector after the sorted vector is divided into a first set of vectors and a second set of vectors, the first set of vectors being arranged before the second set of vectors, the first set of vectors including the first a vector in which the group decoded spectral coefficients belong to a vector having all 0s, and the second set of vectors includes a vector in which the median value of the first set of decoded spectral coefficients belongs to a non-all 0; Selecting the first m in the vector as the first class vector; establishing the first class vector and the The correspondence between m vectors.
  • the second determining unit is specifically configured to use a subband of a vector to which the spectral coefficients quantized by the k subbands belong Enlarging the envelopes from large to small, selecting m from the vectors to which the k sub-band quantized spectral coefficients belong, as the first-class vector; establishing between the first-class vector and the m vectors Correspondence relationship.
  • the sixth possible implementation manner further includes: a correction unit; The global gain of the m vectors is used; the correcting unit is configured to correct the m vector normalized spectral coefficients by using the global gains of the m vectors to obtain spectral coefficients of the m vectors.
  • the method further includes: a modifying unit; the decoding unit is further configured to: decode the first global gain and the second global gain; Modifying, in the spectral coefficients normalized to the m vectors using the first global gain, spectral coefficients corresponding to the first set of vectors, and using the second global gain to the m The spectral coefficients corresponding to the second set of vectors in the vector normalized spectral coefficients are corrected to obtain spectral coefficients of the m vectors.
  • the method further includes: a superimposing unit and a restoring unit: The sub-band quantized spectral coefficients and the spectral coefficients of the m vectors are superimposed to obtain spectral coefficients of k sub-bands; the recovery unit is configured to normalize the k-band normalized spectral coefficients to 0 The spectral coefficients are noise-filled, and the spectral coefficients of the sub-bands other than k of the respective sub-bands are recovered to obtain spectral coefficients of the first frequency band, wherein the first frequency band is used by the respective sub-bands And the correcting unit is further configured to: use the envelope of each of the subbands to modify a spectral coefficient of the first frequency band to obtain a spectral coefficient normalized by the first frequency band; The first frequency band normalized spectral coefficients are modified using the global gain of the first frequency band to obtain a final first frequency band frequency domain signal
  • the superimposing unit is specifically configured to: perform spectral coefficients normalized according to the m vectors and the k subbands Corresponding relationships between the quantized spectral coefficients, superimposing the spectral coefficients of the m vectors and the spectral coefficients of the k sub-band quantization.
  • the recovering unit is specifically configured to: determine a weighting value according to the core layer decoding information; The weighting value weights the spectral coefficients adjacent to the spectral coefficients having the value of 0 and the random noise in the spectral coefficients normalized by the k subbands.
  • the recovering unit is specifically configured to: obtain signal classification information from the core layer decoding information; Obtaining a predetermined weighting value when the information indicating signal is a fricative sound; obtaining a pitch period from the core layer decoding information if the signal classification information indicating signal is a signal other than the fricative sound, and determining according to the pitch period Weighted value.
  • the recovery unit is specifically configured to use the Selecting n sub-bands adjacent to the other sub-bands other than the k sub-bands, and recovering spectral coefficients of the sub-bands other than the k sub-bands according to spectral coefficients of the n sub-bands, Where n is a positive integer; or, p sub-bands are selected from the k sub-bands, and spectral coefficients of other sub-bands other than the k sub-bands are recovered according to spectral coefficients of the p sub-bands, where The number of bits allocated to each of the p subbands is greater than or equal to the second bit number threshold, where p is a positive integer.
  • the first determining unit Specifically, if the signal is a transient signal, a fricative signal, or a large period signal, the number of sub-bands k to be decoded is determined according to the number of available bits and the first saturation threshold i.
  • the number of bits can be reduced. Decoding the spectral holes of the signal, thereby improving the auditory quality of the output signal.
  • FIG. 1 is a schematic flowchart of a signal encoding method according to an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a signal decoding method according to another embodiment of the present invention.
  • FIG. 3 is a schematic flow chart of a process of a signal encoding method according to an embodiment of the present invention.
  • 4 is a schematic diagram of a process of determining a vector of a secondary encoding, in accordance with an embodiment of the present invention.
  • Figure 5 is a schematic block diagram of a signal encoding apparatus in accordance with one embodiment of the present invention.
  • Figure 6 is a schematic block diagram of a signal decoding apparatus in accordance with one embodiment of the present invention.
  • FIG. 7 is a schematic block diagram of a signal encoding apparatus according to another embodiment of the present invention.
  • FIG. 8 is a schematic block diagram of a signal decoding apparatus according to another embodiment of the present invention. detailed description
  • Coding technology and decoding technology widely used in various electronic devices, such as: mobile phones, wireless devices, personal data assistants (PDAs), handheld or portable computers, Global Positioning System (GPS) Receiver/navigator, camera, audio/video player, camcorder, video recorder, surveillance equipment, etc.
  • PDAs personal data assistants
  • GPS Global Positioning System
  • the audio encoder or the audio decoder may be included in the preparation, and the audio encoder or the decoder may be directly implemented by a digital circuit or a chip such as a Digital Signal Processor (DSP) chip, or may be executed by the software code to execute the software in the processor. The process is implemented.
  • DSP Digital Signal Processor
  • FIG. 1 is a schematic flowchart of a signal encoding method according to an embodiment of the present invention.
  • the method of Figure 1 is performed by the encoder, such as a speech or audio encoder.
  • the signal referred to in the embodiment of the present invention may be a voice or an audio signal.
  • the encoding end may first convert the time domain signal into a frequency domain signal, for example, by using Fast Fourier Transform (FFT) or Modified Discrete Cosine Transform (MDCT). Frequency conversion. Then, the encoding end can normalize the spectral coefficients of the frequency domain signal by using the global gain, and band the normalized spectral coefficients to obtain the respective subbands.
  • FFT Fast Fourier Transform
  • MDCT Modified Discrete Cosine Transform
  • the number of available bits can refer to the total number of bits that can be used for encoding.
  • the first saturation threshold i can be predetermined.
  • the first saturation threshold i may be determined based on the following principle: when the number of bits allocated to each spectral coefficient in one subband is greater than or equal to the first saturation threshold i, then the bit allocated to the subband may be considered to reach saturation.
  • the average number of bits allocated per spectral coefficient may be the ratio of the number of bits allocated to the subband to the number of spectral coefficients of the subband.
  • the meaning that the number of bits allocated to the subband is saturated may mean that the performance of the subband is not significantly improved even if more bits are allocated to the subband.
  • the first saturation threshold i can be a positive number. Usually, i ⁇ 1.5.
  • the encoding end can follow the order of the envelopes quantized by each sub-band from the largest to the smallest, from each sub- Select k subbands in the band.
  • the encoding end may determine the importance of each sub-band according to a psychoacoustic model, and k sub-bands may be selected in descending order of importance of each sub-band.
  • the primary encoding herein may refer to the first encoding operation performed by the encoding end on the spectral coefficients during the encoding process.
  • the encoding operation may include operations such as normalization, quantization, and code stream.
  • the coding end uniformly performs bit allocation in the entire frequency band, and then encodes the entire frequency band, resulting in a lot of holes in the entire spectrum.
  • the encoding end first determines the number of sub-bands k to be encoded according to the number of available bits and the first saturation threshold, and then selects k sub-bands from each sub-band for encoding. The remaining subbands other than the k subbands are not allocated bits, so these remaining subbands are also not encoded. In this way, the k sub-bands can be better coded, and the spectral holes of the decoded signal can be reduced at the decoding end, thereby improving the quality of the output signal. Therefore, embodiments of the present invention can improve the auditory quality of a signal.
  • the number of bits can be reduced. Decoding the spectral holes of the signal, thereby improving the auditory quality of the output signal.
  • Embodiments of the present invention can be applied to various types of voice or audio signals, such as transient signals, fricative signals, or large periodic signals.
  • the encoding end may determine the number k of subbands to be encoded according to the number of available bits and the first saturation threshold i.
  • the encoder can determine whether the input signal is a transient signal, a fricative signal, or a large period signal. If the input signal is a transient signal, a fricative signal, or a large periodic signal, the method of Figure 1 can be performed. In this way, the coding quality of transient signals, fricative signals or large-cycle signals can be improved.
  • the encoding end may determine the number of stator strips k according to equation (1):
  • the encoding end may normalize the spectral coefficients of the k sub-bands to obtain k sub-band normalized spectral coefficients, and normalize the k sub-bands.
  • the spectral coefficients are quantized to obtain k sub-band quantized spectral coefficients.
  • the encoding operation may include a normalization operation and a quantization operation on the spectral coefficients.
  • the encoding side can normalize the spectral coefficients of the k sub-bands according to the prior art process.
  • the encoding end can quantize the spectral coefficients normalized by k sub-bands.
  • the encoder can use some Lattice Vector Quantization (LVQ) algorithms, Algebraic Vector Quantization (AVQ) or Spherical Vector Quantization (SVQ) algorithms. , quantizing the spectral coefficients normalized by k subbands.
  • LVQ Lattice Vector Quantization
  • AVQ Algebraic Vector Quantization
  • SVQ Spherical Vector Quantization
  • the characteristics of these vector quantization algorithms are as follows: After determining the number of bits to be allocated for each group of vectors to be quantized, the number of bits allocated to each group of vectors is no longer adjusted according to the number of remaining bits, and the process of assigning bits to each group of vectors is relatively Independent, based only on the size of the set of vectors themselves, rather than closed-loop bit allocation for all vectors.
  • the encoding operation also includes a write stream operation.
  • the encoding end may normalize and quantize the spectral coefficients of the k sub-bands, and then write an index of the k sub-band quantized spectral coefficients into the code stream.
  • the write stream operation may be performed after quantifying the k subbands, or may be performed after the second encoding operation to be described below. This embodiment of the present invention does not limit this.
  • the encoding end may be based on the remaining number of bits, the second The spectral coefficients quantized by the k and k subbands are saturated, and m vectors to be coded twice are determined, where j is a positive number and m is a positive integer.
  • the encoder can then perform a second encoding operation on the spectral coefficients of the m vectors.
  • the encoding end performs the first encoding operation on the spectral coefficients of the k sub-bands, and there may still be the remaining number of bits after the first encoding operation.
  • the encoding end may compare the remaining number of bits with the first bit number threshold. If the remaining number of bits is greater than or equal to the first bit number threshold, the encoding end may further perform the second encoding operation by using the remaining number of bits.
  • Both the first bit number threshold and the second saturation threshold j may be preset.
  • the second saturation threshold j and the first saturation threshold i may be equal or unequal, and they may all be determined based on the same principle, that is, the determination principle of the second saturation threshold j may be as follows: Internally averaged bits allocated by each spectral coefficient When the number is greater than or equal to the second saturation threshold j, then the bit allocated to the vector can be considered to be saturated. In general, j ⁇ 1.5.
  • the number of remaining bits after one encoding operation is greater than or equal to the first bit number threshold, then according to the remaining number of bits, the second saturated threshold j, and the k-band quantized spectral coefficients, it is determined that The m codes of the sub-encoding and the second-encoding operation of the spectral coefficients of the m vectors can fully utilize the remaining number of bits, thereby further improving the coding quality of the signal.
  • the encoding end may determine the number m of vectors to be encoded according to the remaining number of bits and the second saturated threshold j.
  • the encoding end may determine the candidate spectral coefficients according to the spectral coefficients quantized by the k sub-bands, and may select m vectors from the vectors to which the candidate spectral coefficients belong.
  • the candidate spectral coefficients may include spectral coefficients obtained by subtracting k sub-band normalized spectral coefficients from corresponding k sub-band quantized spectral coefficients.
  • the k-subband normalized spectral coefficients are corresponding to the k sub-band quantized spectral coefficients, so when performing the subtraction operation, the k sub-band normalized spectral coefficients and the k sub-band quantized spectral coefficients are - Corresponding subtraction. For example, assuming that there are 5 normalized spectral coefficients in k subbands, then in step 130, the encoding side can normalize the five spectral coefficients to obtain five normalized spectral coefficients. The encoder can then quantize the five normalized spectral coefficients to obtain five quantized spectral coefficients. The encoding end can respectively subtract the corresponding quantized spectral coefficients by using five normalized spectral coefficients.
  • the first normalized spectral coefficient can be subtracted from the first quantized spectral coefficient to obtain a new spectrum.
  • Coefficients, and so on, the encoder can get 5 new frequency coefficients. These five new spectral coefficients are the candidate spectral coefficients.
  • the encoding end may determine the number of vectors m according to equation (2).
  • m LC j x M) + 0.5" ( 2 )
  • C can represent the number of remaining bits and M can represent the number of spectral coefficients contained in each vector.
  • the encoding end may sort the vector to which the candidate spectral coefficients belong to obtain the sorted vector.
  • the encoding side can select the first m vectors from the sorted vectors.
  • the sorted vector may be divided into a first set of vectors and a second set of vectors, the first set of vectors being ranked before the second set of vectors, and the first set of vectors corresponding to the vector median of the k subband quantized spectral coefficients a vector of all 0s, the second set of vectors corresponding to the vector to which the k subband quantized spectral coefficients belong
  • the median is a vector that is not all zeros.
  • the candidate spectral coefficients are obtained by subtracting the spectral coefficients normalized by k subbands from the quantized spectral coefficients of the k subbands. Therefore, the vector to which the candidate spectral coefficients belong can also be understood as the subtraction of the vector to which the normalized spectral coefficients belong and the vector to which the quantized spectral coefficients belong. There may be a vector with a value of all 0s in the vector to which the k sub-band quantized spectral coefficients belong, and a vector with a value of all 0 may refer to a vector containing all spectral coefficients of 0. The encoding end can sort the vectors to which the candidate spectral coefficients belong to obtain the sorted vector.
  • the vector obtained by subtracting the vector of the spectral coefficients normalized by k subbands and the vector having the k-subband quantized spectral coefficients belonging to the vector of all 0s can be divided into the first group.
  • Vector, the vector to which the vector coefficient normalized by the k sub-bands belongs is subtracted from the vector in which the vector values of the k sub-band quantized spectral coefficients are not all zeros can be divided into the second group of vectors.
  • the first set of vectors can be placed before the second set of vectors, so the encoder can select the first m vectors from the first set of vectors when selecting m vectors. For example, suppose m is 5. If the first set of vectors has 4 vectors, the encoder can select 4 vectors from the first set of vectors and then select 1 vector from the second set of vectors. If the first set of vectors has 7 vectors, then the encoding side can select the first 5 vectors from the first set of vectors. That is, when selecting m vectors to be coded twice, the first set of vectors has a higher priority than the second set of vectors.
  • the vectors of different sub-bands may be in the order of low frequency to high frequency according to the frequency of the sub-band where the vector is located. Arranged, and vectors within the same sub-band can be arranged in the original order of the vectors.
  • the vector original order may refer to the original order of the vectors within their subbands. For example, suppose the first set of vectors has 5 vectors, numbered as vector 0, vector 1, vector 2, vector 3, and vector 4. Vector 1 and vector 2 belong to subband 0, vector 0 and vector 3 belong to subband 1, and vector 4 belongs to subband 2.
  • the vector original order in subband 0 is such that: vector 1 is before vector 2.
  • the vector original order in subband 1 is such that: vector 0 is before vector 3.
  • subband 0 has the lowest frequency
  • subband 2 has the highest frequency
  • subband 1 has the frequency between them.
  • the five vectors in the first set of vectors can be sorted as follows: First, the vectors belonging to different sub-bands are arranged in the order of sub-bands from low frequency to high frequency, that is, the vector belonging to sub-band 0 is ranked first. The vectors belonging to subband 1 are in the middle, and the vectors belonging to subband 2 are in the end. Then, the vectors belonging to the same subband The quantities can be arranged in the original order of the vectors.
  • the ordering of the five vectors in the first set of vectors can be as follows: Vector 1, Vector 2, Vector 0, Vector 3, Vector 4.
  • the second set of vectors is sorted in a manner similar to the first set of vectors, and will not be described again.
  • the vectors of different sub-bands are in descending order of the envelopes quantized according to the sub-band in which the vector is located. Arranged, and vectors within the same sub-band are arranged in the original order of the vectors.
  • the vectors of different sub-bands are ordered according to the envelope of the sub-band quantization.
  • the vectors in the same subband are also arranged in the original order of the vectors. For example, 4 sets the first set of vectors to have 5 vectors, numbered as vector 0, vector 1, vector 2, vector 3, and vector 4.
  • Vector 1 and vector 2 belong to subband 0, vector 0 and vector 3 belong to subband 1
  • vector 4 belongs to subband 2.
  • the original order of the vectors in subband 0 is this: Vector 1 is before vector 2.
  • the vector original order in subband 1 is this: Vector 0 is before vector 3.
  • the sorting of the five vectors in the first set of vectors can be as follows: Vector 0, Vector 3, Vector 1, Vector 2, Vector 4.
  • the encoding end may select m vectors from the vector to which the candidate spectral coefficients belong, in descending order of the sub-band quantized envelope in which the vector to which the candidate spectral coefficients belong.
  • the encoding end may no longer group the vectors to which the candidate spectral coefficients belong, but may select m vectors directly in descending order of the sub-band quantized envelopes. For example, suppose there are 4 vectors, numbered as vector 0, vector 1, vector 2, and vector 3. The four vectors belong to four different sub-bands, namely sub-band 0, sub-band 1, sub-band 2 and sub-band 3. Among them, the order from the largest to the smallest of the quantized envelopes of each subband is as follows: subband 2> subband 1> subband 3> subband 0. If three vectors are to be selected for secondary encoding, then vector 2, vector 1 and vector 3 can be selected in descending order of the envelopes quantized by each sub-band.
  • multiple vectors belong to the same subband, they may be selected according to the original order of multiple vectors in the subband, or for multiple vectors in the subband, a vector with all values of 0 may be selected first, and then the value is selected.
  • Non-all 0 vector For example, 4 ⁇ has 5 vectors, numbered from vector 0 to vector 4.
  • Vector 0 belongs to subband 0, vector 1 to vector 3 belong to subband 1, and vector 4 belongs to subband 2.
  • the order of the sub-band quantized envelopes is as follows: Subband 2>Subband 1>Subband 0.
  • the order of the sub-band quantized envelopes is first to choose vector 4, then you need to select the remaining 2 in vector 1 to vector 3 in sub-band 1.
  • the remaining 2 vectors may be selected according to the original order of vector 1 to vector 3 in the sub-band 1, or the vectors of vector 1 to vector 3 with all 0s may be preferentially selected, and then the selected value is non-all 0. Vector.
  • the encoding end can first normalize the spectral coefficients of the m vectors, and then quantize the m vector normalized spectral coefficients.
  • the encoding side may use a vector quantization algorithm used in one encoding, such as an algorithm such as AVQ or SVQ, to quantize m vector normalized spectral coefficients.
  • the encoding end can perform a write stream operation on the m vector quantized spectral coefficients.
  • the encoding end when normalizing the spectral coefficients of the m vectors, the encoding end can normalize the spectral coefficients of the m vectors by using different global gains.
  • the encoding end may determine the global gain of the spectral coefficients of the m vectors, and normalize the spectral coefficients of the m vectors using the global gain of the spectral coefficients of the m vectors, and then may be m The vector normalized spectral coefficients are quantized.
  • the encoding end may determine a global gain of the spectral coefficients of the first set of vectors and a global gain of the spectral coefficients of the second set of vectors.
  • the encoding end may normalize the spectral coefficients belonging to the first group of vectors among the m vectors using the global gain of the spectral coefficients of the first set of vectors, and use the global gain of the spectral coefficients of the second set of vectors to belong to the m vectors
  • the spectral coefficients of the second set of vectors are normalized.
  • the encoder can then quantize the m vector normalized spectral coefficients.
  • the encoder may also normalize the vectors selected from the two sets of vectors using the respective global gains of the two sets of vectors, respectively.
  • FIG. 2 is a schematic flowchart of a signal decoding method according to another embodiment of the present invention. The method of Figure 2 is performed by a decoding end, such as a speech or audio decoder.
  • the decoding end can decode the bit stream received from the encoding end.
  • the decoding end can perform core layer (Core) decoding to obtain low frequency band information, and simultaneously decode the envelope of each subband of the high frequency band and the global Gain. Then, the decoding end can perform a decoding operation and a recovery operation on the high-band spectral coefficients by using the information obtained by the above decoding.
  • Core core layer
  • the decoding end can perform a decoding operation and a recovery operation on the high-band spectral coefficients by using the information obtained by the above decoding.
  • Step 210 is similar to step 110 in FIG. 1, and details are not described herein again. Since the first saturation threshold i can be predetermined, the same first saturation threshold i can be used for the encoding end and the decoding end.
  • the decoding end may select k sub-bands from the respective sub-bands according to the order of the decoded envelopes of the respective sub-bands.
  • the decoding end may determine the importance of each sub-band according to a psychoacoustic model, and k sub-bands may be selected in descending order of importance of each sub-band.
  • a decoding operation can refer to the first decoding operation performed by the decoding end on the spectral coefficients during the decoding process.
  • a decoding operation may include operations such as dequantization.
  • the specific process of the decoding operation may refer to the prior art.
  • the decoding end may perform the first decoding operation on the received code stream.
  • the decoding end may use the encoding end to quantize the k-subband normalized spectral coefficients.
  • the vector quantization algorithm such as AVQ or SVQ, performs a dequantization operation based on the received code stream, thereby obtaining k sub-band quantized spectral coefficients.
  • the encoding side When encoding the spectral coefficients, the encoding side first determines the number of sub-bands k to be encoded according to the number of available bits and the first saturation threshold, and then selects k sub-bands from each sub-band for encoding. Since the decoding process is an inverse process of the encoding process, the decoding end may first determine the number of subbands k to be decoded according to the number of available bits and the first saturation threshold when decoding the spectral coefficients, and then select k subbands from each subband. Decoding is performed to improve the quality of the decoded signal and thereby improve the auditory quality of the output signal.
  • the spectrum hole of the decoded signal can be reduced, thereby enabling Improve the auditory quality of the output signal.
  • Embodiments of the present invention can be applied to various types of voice or audio signals, such as transient signals, fricative signals, or large periodic signals.
  • the decoding end may determine the subband to be decoded according to the available number of bits and the first saturation threshold i. The number k.
  • the decoding end may determine whether the signal to be decoded is a transient signal, a fricative tone signal, or a large period signal according to the decoded signal type or the signal type extracted from the decoded low frequency band information. If the signal to be decoded is a transient signal, a fricative signal, or a large periodic signal, the method of Figure 2 can be performed. In this way, the quality of transient signals, fricative signals or large-cycle signals can be improved.
  • the decoding end may also determine the number of sub-bands k according to equation (1).
  • the decoding end may be based on the remaining number of bits and the number of bits.
  • the second saturation threshold j determines the number m of vectors to be decoded twice, where j is a positive number and m is a positive integer.
  • the decoder can then perform a second decoding operation to obtain m vector normalized spectral coefficients.
  • the second saturation threshold j can also be predetermined, so that the decoding end and the encoding end can use the same second saturation threshold j.
  • the determination principle of the second saturation threshold j reference may be made to the description in the embodiment of FIG. 1, and details are not described herein again.
  • the secondary decoding operation may include operations such as dequantization.
  • the decoding end may use a vector quantization algorithm used in a decoding operation, such as an algorithm such as AVQ or SVQ, to perform a second dequantization operation based on the received code stream, thereby obtaining m vector normalized spectral coefficients.
  • the decoding end may also determine the number of vectors m according to equation (2).
  • the decoding end may determine a correspondence between m vector normalized spectral coefficients and k sub-band quantized spectral coefficients.
  • the decoding end may determine a correspondence between the m vectors and the first type of vector in the vector to which the k subband quantized spectral coefficients belong, where the m vectors are between the vector and the first type of vector. Yes - corresponding.
  • the encoding end selects m vectors from the vectors to which the candidate spectral coefficients belong to perform secondary encoding, and the candidate spectral coefficients are spectral coefficients normalized by k subbands and k subbands.
  • the quantized spectral coefficients are subtracted. Therefore, after the decoding end obtains m vector normalized spectral coefficients by secondary decoding, it is necessary to determine that the m vectors are specific candidate frequencies. Which vectors in the vector to which the spectral coefficients belong, that is, a one-to-one correspondence between the m vectors and the first type of vectors in the vector to which the k subband quantized spectral coefficients belong.
  • the decoding end may determine, according to different manners, a correspondence between the m vectors and the first type of vectors in the vector to which the k subband quantized spectral coefficients belong. It should be understood that the manner in which the decoder is based should be the same as the way in which the encoder selects m vectors for secondary encoding.
  • the decoding end may sort the vector to which the k sub-band quantized spectral coefficients belong to obtain the sorted vector, and then the decoding end may select the first m vectors from the sorted vectors.
  • the first type of vector and establishes the correspondence between the first type of vector and the m vectors.
  • the sorted vector is divided into a first set of vectors and a second set of vectors.
  • the first set of vectors is arranged before the second set of vectors, and the first set of vectors includes the first set of decoded spectral coefficients to which the median value of the vector belongs to all zeros.
  • the second set of vectors includes a vector in which the median value of the first set of decoded spectral coefficients belongs to a non-all zero.
  • the decoding end may sort the vectors to which the k sub-band quantized spectral coefficients belong, to obtain the sorted vector.
  • the sorted vector can be thought of as consisting of two sets of vectors. The first group of vectors is in front of the second set of vectors, the first set of vectors are all vectors with a value of all 0, and the second set of vectors are all vectors with non-all zeros. Then, the decoder can select the first m vectors from the sorted vectors as the first class vector. It can be seen that when the first type of vector is selected, the first set of vectors has a higher priority than the second set of vectors.
  • each vector in each group of vectors can also be sorted in different ways.
  • the vectors of different sub-bands are arranged in the order of low frequency to high frequency according to the sub-bands of the vector.
  • the vectors in the same subband are arranged in the original order of the vectors.
  • the vectors of different sub-bands are arranged according to the order of the sub-bands of the sub-bands of the vector. And the vectors in the same subband are arranged in the original order of the vectors.
  • the decoding end may be in the order of the sub-bands of the sub-bands to which the k-band quantized spectral coefficients belong, in descending order, from the vector to which the k sub-band quantized spectral coefficients belong. Select m as the first class vector.
  • the decoding end can establish a correspondence between the first type of vector and the m vectors.
  • the decoding end may decode the global gains of the m vectors, and correct the m vector normalized spectral coefficients by using the global gains of the m vectors to obtain the spectral coefficients of the m vectors. .
  • the decoding end can correct the second set of decoded spectral coefficients, where the decoding end can correct the m vector normalized spectral coefficients by using the global gain of the m vectors obtained by the decoding.
  • the decoding end may decode the first global gain and the second global gain, and use the first global gain to perform spectral coefficients corresponding to the first group of vectors among the m vector normalized spectral coefficients. Correcting, and correcting, by using the second global gain, the spectral coefficients corresponding to the second set of vector coefficients of the m vector normalized spectral coefficients to obtain spectral coefficients of the m vectors.
  • the encoding end can normalize the frequency coefficients of the m vectors using two global gains. Therefore, correspondingly, the decoding end can use two global gains to normalize m vectors. The spectral coefficients are corrected.
  • the decoding end may superimpose the k sub-band quantized spectral coefficients and the m vector spectral coefficients to obtain k sub-band normalized spectral coefficients.
  • the decoding end may perform noise filling on the spectral coefficients of the k sub-band normalized spectral coefficients with a value of 0, and recover the spectral coefficients of the sub-bands other than the k sub-bands in each sub-band to obtain the first The spectral coefficient of the frequency band, wherein the first frequency band is composed of individual sub-bands.
  • the encoding end may correct the spectral coefficients of the first frequency band by using the envelope of each subband to obtain a spectral coefficient normalized by the first frequency band, and then correct the spectral coefficients normalized by the first frequency band by using the global gain of the first frequency band. , to obtain the final first frequency band frequency domain signal.
  • the decoder can obtain the spectral coefficients obtained by decoding twice, which belong to the k subbands with bit allocation. Therefore, the spectral coefficients obtained by the two decodings are superimposed to obtain spectral coefficients normalized by k sub-bands. Specifically, the spectral coefficients quantized for the k sub-bands are substantially the spectral coefficients after the normalization process of the encoding end. The m-vector normalized spectral coefficients are essentially the spectral coefficients after the second normalization of the encoding end. Therefore, the decoding end needs to correct the m vector normalized spectral coefficients to obtain the spectrum of m vectors. coefficient.
  • the decoder can usually be filled with some noise, making the reconstructed audio signal sound more natural. And, the decoder needs The spectral coefficients of the subbands other than the k subbands in each subband are recovered, and since the first frequency band is composed of the above subbands, the spectral coefficients of the first frequency band are obtained.
  • the first frequency band may refer to a full frequency band, or may be a partial frequency band in the full frequency band. That is, the embodiment of the present invention can be applied to the processing of the full frequency band, and can also be applied to the processing of the partial frequency band in the full frequency band.
  • the decoding end may quantize the spectral coefficients of the m vectors and the k subbands according to the correspondence between the m vector normalized spectral coefficients and the k subband quantized spectral coefficients. The spectral coefficients are superimposed.
  • the decoding end may determine, by the correspondence, which of the vectors to which the candidate spectral coefficients belong, and the vector to which the candidate spectral coefficients belong is a vector to which the spectral coefficients normalized by the k subbands belong and k subbands.
  • the vector to which the quantized spectral coefficients belong is subtracted, so in order to obtain the k-subband normalized spectral coefficients, the decoding end may superimpose the spectral coefficients of the m vectors to correspond to the spectral coefficients of the m vectors according to the correspondence.
  • the k subbands are quantized on the spectral coefficients.
  • the decoding end may determine the weighting value according to the core layer decoding information, and then use the weighting value.
  • the spectral coefficients adjacent to the spectral coefficients having a value of 0 and the random noise are weighted among the spectral coefficients normalized in the k sub-bands.
  • the decoding end can perform power weighting on the spectral coefficients and random noise adjacent thereto.
  • the decoding end may obtain signal classification information from the core layer decoding information. If the signal classification information indicates that the signal is a fricative, the decoding end can acquire a predetermined weighting value. If the signal classification information indicates that the signal is other than the fricative, the decoding end can acquire the pitch period from the core layer decoded information and determine the weight value based on the pitch period.
  • the decoder can use different weighting values for different signal types. For example, if the signal is a fricative, the weighting value can be preset. For signals other than fricatives, the decoder can determine the weighting value based on the pitch period. Generally, the larger the pitch period, the smaller the weighting value.
  • the decoding end may select, from each subband, n subbands adjacent to the other subbands, and select spectral coefficients of the other subbands according to spectral coefficients of the n subbands. Perform recovery, where n is a positive integer.
  • the decoding end may select p sub-bands from the k sub-bands, and recover the spectral coefficients of the other sub-bands according to the spectral coefficients of the sub-bands, wherein the number of allocated bits of each sub-band in the p sub-bands is greater than or equal to the first The number of two bits is wide.
  • the decoding end may recover the spectral coefficients of the other sub-bands using the spectral coefficients of the sub-bands adjacent to the sub-bands other than the k sub-bands.
  • the decoding end may recover the spectral coefficients of the other subbands by using the spectral coefficients of the subbands with more bit allocation. For example, more bit allocation may mean that the number of bits is greater than or equal to a preset second bit number threshold.
  • the decoding end can perform frequency-time transform on the final frequency domain signal to obtain a final time domain signal.
  • FIG. 3 is a schematic flow chart of a process of a signal encoding method according to an embodiment of the present invention.
  • the coding end performs time-frequency transform on the time domain signal.
  • the coding end divides a subband of a spectral coefficient of the frequency domain signal.
  • the encoding end can calculate the global gain, normalize the original spectral coefficients using the global gain, and then band the normalized spectral coefficients to obtain the respective sub-bands.
  • the encoder calculates an envelope of each subband, and quantizes the envelope of each subband to obtain an envelope of each subband quantization.
  • the encoder determines the k subbands to be encoded.
  • the encoding end may use the process in the embodiment of FIG. 1 to determine k sub-bands, and details are not described herein again.
  • the coding end normalizes and quantizes the spectral coefficients of the k subbands.
  • the encoding end may normalize the spectral coefficients of the k sub-bands to obtain k sub-band normalized spectral coefficients. Then, the encoding end can quantize the k-subband normalized spectral coefficients, for example, using a lattice vector quantization algorithm to quantize the k sub-band normalized spectral coefficients to obtain k sub-band quantized spectral coefficients.
  • the encoding end determines whether the number of remaining bits in the number of available bits after one encoding is greater than or equal to the first bit number threshold.
  • the code end writes the code stream.
  • the coding end may perform the primary coding result, the quantized global gain, and the envelope of each sub-band quantization.
  • the index is written to the stream.
  • the specific process can refer to the prior art, and details are not described herein again.
  • the encoding end determines m vectors to be coded twice.
  • the encoding end may determine the candidate spectral coefficients according to the k sub-band quantized spectral coefficients, and select m vectors from the vectors to which the candidate spectral coefficients belong.
  • the candidate spectral coefficients may include spectral coefficients obtained by subtracting k subband normalized spectral coefficients from corresponding k subband quantized spectral coefficients.
  • the encoding end may select the first m vectors from the vectors to which the candidate spectral coefficients belong, where the vector to which the candidate spectral coefficients belong may be divided into the first group of vectors and the second group of vectors, and the first group of vectors is ranked in the second group.
  • the first set of vectors corresponds to a vector in which the k-band quantized spectral coefficients belong to a vector having all zeros
  • the second set of vectors corresponds to k sub-band quantized spectral coefficients to which the median value is non-all 0. Vector.
  • FIG. 4 is a schematic diagram of a process of determining a vector of a secondary code according to an embodiment of the present invention.
  • the encoding end determines three sub-bands, which are numbered from sub-band 1 to sub-band 3.
  • Sub-band 1 to sub-band 3 are arranged in the order of low frequency to high frequency.
  • the vector la in subband 1 contains a normalized spectral coefficient of 51151151.
  • the quantized spectral coefficients are quantized by the normalized spectral coefficients of the three sub-bands, and the specific values of the quantized spectral coefficients are shown in FIG. Among them, some spectral coefficients are quantized to 0, and some spectral coefficients are quantized to non-zero values. These quantized spectral coefficients also belong to 9 vectors, which can be numbered as vectors 2a to 2i, respectively. For example, the eight normalized spectral coefficients contained in the vector la of the subband 1 are quantized, and the eight quantized spectral coefficients are obtained as 40040240, which belong to the vector 2a. Pair subband 1
  • the vector lb contains 8 normalized spectral coefficients for quantization, resulting in 8 quantized spectral coefficients of 00000000, which belong to vector 2b.
  • the candidate spectral coefficients are obtained by subtracting the corresponding quantized spectral coefficients from the normalized spectral coefficients. For example, for the vector la of subband 1, the corresponding eight quantized spectral coefficients are subtracted from the eight normalized spectral coefficients 51151151 to 40040240, and new spectral coefficients 1111-111 are obtained. For the vector lb of subband 1, the eight quantized spectral coefficients 00000000 are subtracted from the eight normalized spectral coefficients 11111111 to obtain a new spectral coefficient 11111111. And so on. All new spectral coefficients obtained are candidate spectral coefficients, as shown in Figure 4.
  • the vector to which the candidate spectral coefficients belong can also be understood as the subtraction of the vector to which the normalized spectral coefficients belong and the vector to which the quantized spectral coefficients belong. Therefore, correspondingly, these candidate spectral coefficients also belong to nine vectors, and may be numbered 3a to 3i, respectively, in order to correspond to the normalized vector and the quantized vector, as shown in FIG. For example, the vector la minus the quantized vector 2a obtains the vector 3a, and the vector lb minus the quantized vector 2b yields the vector 3b.
  • These nine vectors can be composed of two sets of vectors, and there are four vectors in the first set of vectors, namely vector 3b, vector 3e, vector 3g, and vector 3i. There are five vectors in the second set of vectors, namely vector 3a, vector 3c, vector 3d, vector 3f, and vector 3h.
  • the first set of vectors is obtained by subtracting the vectors of the vectors 2a to 2i with all zeros.
  • the vector 3b is obtained by subtracting the vector 2b from the vector lb minus the value 0
  • the vector 3e is the vector le minus the value All 0's 2e vector is obtained; and so on.
  • the second set of vectors is obtained by subtracting the vectors of the vectors 2a to 2i whose values are not all zeros.
  • the vector 3a is obtained by subtracting the vector la from the vector la minus the non-all 0;
  • the vector 3c is the vector lc minus the vector 2c whose value is not all 0; and so on.
  • each set of vectors can be arranged in order from low frequency to high frequency according to the frequency of the sub-bands, and the vectors in the same sub-band can be arranged in the original order of the vectors.
  • vector 3b belongs to subband 1
  • vector 3e belongs to subband 2
  • vector 3g and vector 3i belong to subband 3.
  • vector 3a and vector 3c belong to subband 1
  • vector 3d and vector 3f belong to subband 2
  • vector 3h belongs to subband 3.
  • the encoding end may select the first m vectors as the vector of the second encoding from the set of vectors consisting of the first set of vectors and the second set of vectors.
  • the first 3 vectors can be selected for secondary encoding, namely vector 3b, vector 3e, and vector 3g.
  • the vectors of different sub-bands may also be in descending order of the envelope quantized according to the sub-band in which the vector is located. Arranged, and vectors within the same sub-band can be arranged in the original order of the vectors.
  • the coding end normalizes and quantizes the spectral coefficients of the m vectors.
  • the code end writes the code stream.
  • the encoding end may write the index of the spectral coefficient obtained at one time, the spectral coefficient obtained by the second encoding, the quantized global gain, and the envelope of each sub-band quantization into the code stream.
  • the specific process can refer to the prior art, and details are not described herein again.
  • the number of bits can be reduced. Decoding the spectral holes of the signal, thereby improving the auditory quality of the output signal.
  • the specific process of decoding is the inverse process of the encoding process shown in FIG. 3.
  • it is mainly described how to determine between m vectors and the first class vector in the vector to which the k subband quantized spectral coefficients belong.
  • Other processes may refer to the process of the embodiment of Fig. 2 and will not be described again.
  • the spectral coefficients of the vectors 2a to 2i can be obtained by the first decoding. It is assumed that m is 5 based on the remaining number of bits and the second saturation threshold j. Then, the decoding end can obtain the spectral coefficients of the five vectors of vector 3b, vector 3e, vector 3g, vector 3i, and vector 3a by the second decoding. Since the decoding end needs to superimpose the spectral coefficients of the five vectors with the vector 2b, the vector 2e, the vector 2g, the vector 2i, and the vector 2a, the decoding end obtains the vector 3b, the vector 3e, the vector 3g, the vector 3i, and the vector.
  • the decoding end first needs to determine the correspondence between the five vectors and the vector 2b, the vector 2e, the vector 2g, the vector 2i, and the vector 2a, that is, the vector 2b, the vector 2e, the vector 2g, the vector 2i, and the vector 2a.
  • the first vector in the vector to which the spectral coefficients quantized by the k subbands belong, and then the five vectors of vector 3b, vector 3e, vector 3g, vector 3i, and vector 3a The spectral coefficients are superimposed on the spectral coefficients of vector 2b, vector 2e, vector 2g, vector 2i, and vector 2a, respectively.
  • the decoding end may be determined in the manner described in the embodiment of FIG. 2, and details are not described herein again.
  • FIG. 5 is a schematic block diagram of a signal encoding apparatus in accordance with one embodiment of the present invention.
  • An example of device 500 of Figure 5 is a voice or audio encoder.
  • the device 500 includes a determining unit 510, a selecting unit 520, and an encoding unit 530.
  • the determining unit 510 determines the number of subbands k to be encoded based on the number of available bits and the first saturation threshold i, where i is a positive number and k is a positive integer.
  • the selecting unit 520 selects k sub-bands from the respective sub-bands according to the sub-band quantized envelope according to the number of sub-bands determined by the determining unit 510, or selects k sub-bands from the respective sub-bands according to the psychoacoustic model.
  • the encoding unit 530 performs an encoding operation on the spectral coefficients of the k sub-bands selected by the selecting unit 520.
  • the number of bits can be reduced. Decoding the spectral holes of the signal, thereby improving the auditory quality of the output signal.
  • the coding unit 530 may normalize the frequency coefficients of the k subbands to obtain k subband normalized spectral coefficients, and perform k subband normalized spectral coefficients. Quantize to obtain spectral coefficients of k sub-band quantization.
  • the selecting unit 520 may further according to the remaining number of bits, the second saturated
  • the value j and the k subband quantized spectral coefficients determine the m vectors to be coded twice, where j is a positive number and m is a positive integer.
  • the encoding unit 530 can also perform a secondary encoding operation on the spectral coefficients of the m vectors determined by the selecting unit 520.
  • the selecting unit 520 may determine, according to the remaining number of bits and the second saturation threshold j, the number m of vectors to be encoded, and determine candidate spectral coefficients according to the spectral coefficients of the k sub-band quantization, from the candidate. m vectors are selected from the vectors to which the spectral coefficients belong.
  • the candidate spectral coefficients may include spectral coefficients obtained by subtracting k subband normalized spectral coefficients from corresponding k subband quantized spectral coefficients.
  • the selecting unit 520 may sort the vectors to which the candidate spectral coefficients belong to obtain the sorted vector.
  • the selection unit 520 can select from the sorted vectors Select the first m vectors.
  • the sorted vector is divided into a first group of vectors and a second group of vectors, the first group of vectors is ranked before the second group of vectors, and the vector of the first group of vectors corresponding to the k sub-band quantized spectral coefficients belongs to the median value.
  • the vectors of different sub-bands may be in the order of low frequency to high frequency according to the frequency of the sub-band where the vector is located. Arranged, and vectors within the same sub-band can be arranged in the original order of the vectors.
  • the vectors of different sub-bands are in descending order of the envelopes quantized according to the sub-band in which the vector is located. Arranged, and vectors within the same sub-band are arranged in the original order of the vectors.
  • the selecting unit 520 may select m vectors from the vector to which the candidate spectral coefficients belong, in descending order of the sub-band quantized envelope in which the vector to which the candidate spectral coefficients belong.
  • the coding unit 530 may determine a global gain of spectral coefficients of the m vectors, and normalize the spectral coefficients of the m vectors using the global gain of the spectral coefficients of the m vectors, for m The vector normalized spectral coefficients are quantized.
  • the encoding unit 530 may determine a global gain of the spectral coefficients of the first set of vectors and a global gain of the spectral coefficients of the second set of vectors, using a global gain pair of spectral coefficients of the first set of vectors
  • the spectral coefficients belonging to the first set of vectors in the vector are normalized, and the spectral coefficients belonging to the second set of vectors in the m vectors are normalized using the global gain of the spectral coefficients of the second set of vectors, for m vectors
  • the normalized spectral coefficients are quantized.
  • the selecting unit 520 may determine m according to the following equation (2).
  • the determining unit 510 may determine k according to the following equation (1).
  • the determining unit 510 may determine the number k of subbands to be encoded according to the number of available bits and the first saturation threshold i.
  • Figure 6 is a schematic block diagram of a signal decoding apparatus in accordance with one embodiment of the present invention.
  • Figure 6 device An example of 600 is a speech or audio decoder.
  • the device 600 includes a first determining unit 610, a selecting unit 620, and a decoding unit 630.
  • the first determining unit 610 determines the number k of subbands to be decoded based on the number of available bits and the first saturation threshold i, where i is a positive number and k is a positive integer.
  • the selecting unit 620 selects k sub-bands from the respective sub-bands according to the envelope of the decoded sub-bands according to the number of sub-bands determined by the first determining unit 610, or selects k sub-bands from the respective sub-bands according to the psychoacoustic model.
  • Decoding unit 630 performs a decoding operation to obtain k sub-band quantized spectral coefficients selected by selection unit 620.
  • the spectrum hole of the decoded signal can be reduced, thereby enabling Improve the auditory quality of the output signal.
  • the first determining unit 610 may further according to the remaining number of bits and the second The saturation threshold j determines the number m of vectors to be decoded twice, where j is a positive number and m is a positive integer.
  • Decoding unit 630 can also perform a secondary decoding operation to obtain m vector normalized spectral coefficients.
  • the device 600 may further include a second determining unit 640.
  • the second determining unit 640 can determine the correspondence between the m vector normalized spectral coefficients and the k sub-band quantized spectral coefficients.
  • the second determining unit 640 may determine a correspondence between the m vectors and the first class vector in the vector to which the k sub-band quantized spectral coefficients belong, where the m vectors and the first class There is a one-to-one correspondence between vectors.
  • the second determining unit 640 may sort the vector to which the k sub-band quantized spectral coefficients belong to obtain the sorted vector; select the first m from the sorted vectors as the first class.
  • Vector establishes the correspondence between the first type of vector and m vectors.
  • the sorted vector is divided into a first set of vectors and a second set of vectors.
  • the first set of vectors is arranged before the second set of vectors, and the first set of vectors includes the first set of decoded spectral coefficients to which the median value of the vector belongs to all zeros.
  • the second set of vectors includes a vector in which the median value of the first set of decoded spectral coefficients belongs to a non-all zero.
  • the vectors of different sub-bands are arranged in order from low frequency to high frequency according to the frequency of the sub-band where the vector is located. And the vectors in the same subband are arranged in the original order of the vectors.
  • the vectors of different sub-bands are arranged according to the order of the sub-bands of the sub-bands of the vector. And the vectors in the same subband are arranged in the original order of the vectors.
  • the second determining unit 640 may, according to the order of the sub-bands of the sub-bands to which the k-band quantized spectral coefficients belong, from the largest to the smallest, and the spectral coefficients quantized from the k sub-bands In the vector, m is selected as the first type of vector; the correspondence between the first type of vector and m vectors is established.
  • the device 600 may further include a correction unit 650.
  • Decoding unit 630 can decode the global gain of the m vectors.
  • the unitary unit 650 can correct the m vector normalized frequency coefficients using the global gains of the m vectors to obtain the spectral coefficients of the m vectors.
  • the decoding unit 630 may decode the first global gain and the second global gain.
  • the correcting unit 650 may correct the spectral coefficients corresponding to the first group of vectors among the m vector normalized spectral coefficients by using the first global gain, and use the second global gain to normalize the spectral coefficients of the m vectors.
  • the spectral coefficients corresponding to the second set of vectors are corrected to obtain spectral coefficients of m vectors.
  • the device 600 may further include a superposition unit 660 and a recovery unit 670.
  • the superimposing unit 660 may superimpose the frequency coefficients of the k sub-band quantized and the frequency coefficients of the m vectors to obtain k sub-band normalized spectral coefficients.
  • the recovery unit 670 may perform noise filling on the spectral coefficients of the k sub-band normalized spectral coefficients with a value of 0, and recover the spectral coefficients of the sub-bands other than the k sub-bands in each sub-band to obtain the first A spectral coefficient of a frequency band, wherein the first frequency band is composed of individual sub-bands.
  • the correcting unit 650 can correct the spectral coefficients of the first frequency band using the envelope of each sub-band to obtain a spectral coefficient normalized by the first frequency band. Correction unit 650 can also modify the first band normalized spectral coefficients using the global gain of the first frequency band to obtain the final first frequency band frequency domain signal.
  • the recovery unit 670 may determine the weighting value according to the core layer decoding information, and use the weighting value to match the frequency value of 0 in the spectral coefficients normalized in the k subbands.
  • the spectral coefficients adjacent to the spectral coefficients and the random noise are weighted.
  • the recovery unit 670 may obtain signal classification information from the core layer decoding information. If the signal classification information indicates that the signal is a fricative, the restoration unit 670 can acquire a predetermined weighting value. If the signal classification information indicating signal is a signal other than the fricative sound, the restoration unit 670 may acquire the pitch period from the core layer decoding information, and determine the force port weight based on the pitch period.
  • the recovery unit 670 may select n sub-bands adjacent to the other sub-bands from each sub-band, and recover spectral coefficients of the other sub-bands according to spectral coefficients of the n sub-bands. , where n is a positive integer.
  • the recovery unit 670 may select p sub-bands from the k sub-bands, and recover the spectral coefficients of the other sub-bands according to the spectral coefficients of the p sub-bands, where the number of allocated bits of each of the p sub-bands is greater than or Equal to the second bit number threshold, where p is a positive integer.
  • the first determining unit 610 may determine m according to the following equation (2).
  • the first determining unit 610 may determine according to the following equation (1).
  • the first determining unit 610 may determine the number of subbands to be decoded according to the available number of bits and the first saturation threshold i. k.
  • FIG. 7 is a schematic block diagram of a signal encoding apparatus according to another embodiment of the present invention.
  • An example of device 700 of Figure 7 is a speech or audio encoder.
  • Device 700 includes a memory 710 and a processor 720.
  • Memory 710 can include random access memory, flash memory, read only memory, programmable read only memory, nonvolatile memory or registers, and the like.
  • the processor 720 can be a central processing unit (CPU).
  • Memory 710 is used to store executable instructions.
  • the processor 720 can execute executable instructions stored in the memory 710, configured to: determine, according to the number of available bits and the first saturation threshold i, a number k of subbands to be encoded, where i is a positive number and k is a positive integer; Each subband quantized envelope from each sub Select k subbands in the band, or select k subbands from each subband according to a psychoacoustic model; perform encoding operation on the spectral coefficients of k subbands.
  • the number of bits can be reduced. Decoding the spectral holes of the signal, thereby improving the auditory quality of the output signal.
  • the processor 720 may normalize the spectral coefficients of the k subbands to obtain k subband normalized spectral coefficients, and quantize the k subband normalized spectral coefficients. , to obtain spectral coefficients quantized by k sub-bands.
  • the processor 720 may further determine the remaining number of bits and the second saturation threshold. j and k subband quantized spectral coefficients, determining m vectors to be coded twice, where j is a positive number and m is a positive integer.
  • the processor 720 can also perform a second encoding operation on the spectral coefficients of the m vectors.
  • the processor 720 may determine, according to the remaining number of bits and the second saturation threshold j, the number m of vectors to be encoded, and determine candidate spectral coefficients according to the spectral coefficients of the k sub-band quantization, from the candidate. m vectors are selected from the vectors to which the spectral coefficients belong.
  • the candidate spectral coefficients may include spectral coefficients obtained by subtracting k subband normalized spectral coefficients from corresponding k subband quantized spectral coefficients.
  • the processor 720 may sort the vectors to which the candidate spectral coefficients belong to obtain the sorted vector, and select the first m vectors from the sorted vectors.
  • the sorted vector is divided into a first group of vectors and a second group of vectors, the first group of vectors is ranked before the second group of vectors, and the vector of the first group of vectors corresponding to the k sub-band quantized spectral coefficients belongs to the median value.
  • the vectors of different sub-bands may be in the order of low frequency to high frequency according to the frequency of the sub-band where the vector is located. Arranged, and vectors within the same sub-band can be arranged in the original order of the vectors.
  • the vectors of different sub-bands are in descending order of the envelopes quantized according to the sub-band in which the vector is located. Arrange And the vectors in the same subband are arranged in the original order of the vectors.
  • the processor 720 may select m vectors from the vector to which the candidate spectral coefficients belong, in descending order of the sub-band quantized envelope in which the vector to which the candidate spectral coefficients belong.
  • the processor 720 may determine a global gain of spectral coefficients of the m vectors, and normalize the spectral coefficients of the m vectors using the global gain of the spectral coefficients of the m vectors, for m The vector normalized spectral coefficients are quantized.
  • the processor 720 may determine a global gain of the spectral coefficients of the first set of vectors and a global gain of the spectral coefficients of the second set of vectors, using a global gain pair of spectral coefficients of the first set of vectors
  • the spectral coefficients belonging to the first set of vectors in the vector are normalized, and the spectral coefficients belonging to the second set of vectors in the m vectors are normalized using the global gain of the spectral coefficients of the second set of vectors, for m vectors
  • the normalized spectral coefficients are quantized.
  • the processor 720 may determine m according to the following equation (2). Alternatively, as another embodiment, the processor 720 may determine k according to the following equation (1). Optionally, as another embodiment, if the signal is a transient signal, a fricative signal, or a large period signal, the processor 720 can determine the number k of subbands to be encoded according to the number of available bits and the first saturation threshold i.
  • FIG. 8 is a schematic block diagram of a signal decoding apparatus according to another embodiment of the present invention.
  • An example of device 800 of Figure 6 is a speech or audio decoder.
  • Device 800 includes a memory 810 and a processor 820.
  • Memory 810 can include random access memory, flash memory, read only memory, programmable read only memory, nonvolatile memory or registers, and the like.
  • the processor 820 can be a central processing unit (CPU).
  • Memory 810 is used to store executable instructions.
  • the processor 820 can execute executable instructions stored in the memory 810, configured to: determine, according to the number of available bits and the first saturation threshold i, a number k of subbands to be decoded, where i is a positive number and k is a positive integer; The number of subbands k, k subbands are selected from each subband according to the envelope of each subband decoded, or k subbands are selected from each subband according to a psychoacoustic model; a decoding operation is performed to obtain k subband quantization Spectral coefficient.
  • the spectrum hole of the decoded signal can be reduced, thereby enabling Improve the auditory quality of the output signal.
  • the processor 820 may further according to the remaining number of bits and the second saturated
  • the value j determines the number m of vectors to be decoded twice, where j is a positive number and m is a positive integer.
  • the processor 820 can also perform a secondary decoding operation to obtain m vector normalized spectral coefficients.
  • the processor 820 may determine a correspondence between m vector normalized spectral coefficients and k sub-band quantized spectral coefficients.
  • the processor 820 may determine a correspondence between the m vectors and the first type of vectors in the vector to which the k subband quantized spectral coefficients belong, where the m vectors and the first type of vector There is a one-to-one correspondence.
  • the processor 820 may sort the vector to which the k sub-band quantized spectral coefficients belong, to obtain the sorted vector, and select the first m as the first-class vector from the sorted vectors. And can establish a correspondence between the first type of vector and m vectors.
  • the sorted vector is divided into a first set of vectors and a second set of vectors.
  • the first set of vectors is arranged before the second set of vectors, and the first set of vectors includes the first set of decoded spectral coefficients to which the median value of the vector belongs to all zeros.
  • the second set of vectors includes a vector in which the median value of the first set of decoded spectral coefficients belongs to a non-all zero.
  • the vectors of different sub-bands are arranged in order from low frequency to high frequency according to the frequency of the sub-band where the vector is located. And the vectors in the same subband are arranged in the original order of the vectors.
  • the vectors of different sub-bands are arranged according to the order of the sub-bands of the sub-bands of the vector. And the vectors in the same subband are arranged in the original order of the vectors.
  • the processor 820 may perform the vector of the sub-bands in which the k sub-band quantized spectral coefficients belong, in descending order, from the k sub-band quantized spectral coefficients. Select m as the first class vector; establish between the first class vector and m vectors Correspondence.
  • the processor 820 may decode the global gains of the m vectors, and correct the m vector normalized spectral coefficients by using the global gains of the m vectors to obtain the spectrum of the m vectors. coefficient.
  • the processor 820 may decode the first global gain and the second global gain, and use the first global gain to calculate a spectrum corresponding to the first group of vector coefficients of the m vector normalized spectral coefficients. The coefficients are corrected, and the spectral coefficients corresponding to the second set of vectors in the m vector normalized spectral coefficients are corrected using the second global gain to obtain spectral coefficients of the m vectors.
  • the processor 820 may superimpose the k subband quantized spectral coefficients and the m vector spectral coefficients to obtain k subband normalized spectral coefficients.
  • the processor 820 may perform noise filling on the spectral coefficients of the k sub-band normalized spectral coefficients with a value of 0, and recover the spectral coefficients of the sub-bands other than the k sub-bands in each sub-band to obtain the first A spectral coefficient of a frequency band, wherein the first frequency band is composed of individual sub-bands.
  • the processor 820 can correct the spectral coefficients of the first frequency band using the envelope of each subband to obtain a spectral coefficient normalized by the first frequency band.
  • the processor 820 can also modify the first band normalized spectral coefficients using the global gain of the first frequency band to obtain the final first frequency band frequency domain signal.
  • the processor 820 may determine the weighting value according to the core layer decoding information, and use the weighting value to select a spectral coefficient with a value of 0 in the spectral coefficients normalized in the k subbands. Adjacent spectral coefficients and random noise are weighted.
  • the processor 820 may obtain signal classification information from the core layer decoding information. If the signal classification information indicates that the signal is a fricative, the processor 820 can acquire a predetermined weighting value. If the signal classification information indicates that the signal is other than the fricative, the processor 820 can obtain the pitch period from the core layer decoded information and determine the weighting value based on the pitch period.
  • the processor 820 may select, from each subband, n subbands adjacent to the other subbands, and recover spectral coefficients of the other subbands according to spectral coefficients of the n subbands. , where n is a positive integer.
  • the processor 820 may select p sub-bands from the k sub-bands, and recover the spectral coefficients of the other sub-bands according to the spectral coefficients of the p sub-bands, where the number of allocated bits of each of the p sub-bands is greater than or Equal to the second bit number, where p Is a positive integer.
  • the processor 820 may determine m according to the following equation (2). Alternatively, as another embodiment, the processor 820 may determine k according to the following equation (1). Optionally, as another embodiment, if the signal is a transient signal, a fricative signal, or a large period signal, the processor 820 may determine the number k of subbands to be decoded according to the number of available bits and the first saturation threshold i.
  • the disclosed systems, devices, and methods may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or otherwise.
  • the components displayed for the unit may or may not be physical units, ie may be located in one place, or may be distributed over multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one single unit. Yuanzhong.
  • the functions, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例提供了信号编码和解码方法以及设备。该方法包括:根据可用比特数和第一饱和阈值i,确定将要编码的子带数目k,其中i为正数,k为正整数;根据各个子带量化的包络从各个子带中选择k个子带,或者根据心理声学模型从各个子带中选择k个子带;对k个子带的频谱系数进行一次编码操作。本发明实施例中,通过根据可用比特数和第一饱和阈值确定将要编码的子带数目k,并从各个子带中选择k个子带来进行编码,而非对整个频带进行编码,能够减少解码信号的频谱空洞,从而能够提升输出信号的听觉质量。

Description

信号编码和解码方法以及设备 技术领域
本发明涉及信号处理领域, 并且具体地, 涉及信号编码和解码方法以及 设备。 背景技术
目前的通信传输越来越重视语音或音频信号的质量, 因此对信号编解码 的要求也越来越高。 在现有的中低速率信号编解码算法中, 由于可供分配的 比特数不足, 所以将可供分配的比特数在整个频带内进行分配时, 频谱就会 出现很多空洞, 而且有一些即便是全 0的矢量, 也需要浪费 1比特表示。 此 外, 又由于这些算法的某些限制, 在编码后还可能有一定比特的剩余, 这又 造成了比特数的浪费。 从而造成解码端解码出来的信号质量不好。 发明内容
本发明实施例提供信号编码和解码方法以及设备, 能够提升信号的听觉 质量。
第一方面, 提供了一种信号编码方法, 包括: 根据可用比特数和第一饱 和阔值 i, 确定将要编码的子带数目 k, 其中 i为正数, k为正整数; 根据各个 子带量化的包络从所述各个子带中选择 k个子带, 或者根据心理声学模型从 所述各个子带中选择 k个子带; 对所述 k个子带的频谱系数进行一次编码操 作。
结合第一方面, 在第一种可能的实现方式中, 所述对所述 k个子带的频 谱系数进行一次编码操作, 包括: 对所述 k个子带的频谱系数进行归一化, 以得到所述 k个子带归一化的频谱系数; 对所述 k个子带归一化的频谱系数 进行量化, 以得到所述 k个子带量化的频谱系数。
结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 还包括: 如果在所述一次编码操作后所述可用比特数中剩余的比特数大于或 等于第一比特数阔值, 则根据所述剩余的比特数、所述第二饱和阔值 j和所述 k个子带量化的频谱系数, 确定将要二次编码的 m个矢量, 其中 j为正数, m 为正整数; 对所述 m个矢量的频谱系数进行二次编码操作。
结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述根据所述剩余的比特数、第二饱和阔值 j和所述 k个子带量化的频谱系数, 确定将要二次编码的 m个矢量, 包括: 根据所述剩余的比特数和所述第二饱 和阔值 j , 确定将要编码的矢量数目 m; 根据所述 k个子带量化的频谱系数确 定候选频谱系数, 所述候选频谱系数包括所述 k个子带归一化的频谱系数减 去对应的所述 k个子带量化的频谱系数所得到的频谱系数; 从所述候选频谱 系数所属的矢量中选择所述 m个矢量。
结合第一方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述从所述候选频谱系数所属的矢量中选择所述 m个矢量, 包括: 对所述候 选频谱系数所属的矢量进行排序, 以得到排序后的矢量; 从所述排序后的矢 量中选择前 m个矢量; 其中所述排序后的矢量划分为第一组矢量和第二组矢 量, 所述第一组矢量排在所述第二组矢量之前, 所述第一组矢量对应于所述 k 个子带量化的频谱系数所属的矢量中值为全 0 的矢量, 所述第二组矢量对应 于所述 k个子带量化的频谱系数所属的矢量中值为非全 0的矢量。
结合第一方面的第四种可能的实现方式, 在第五种可能的实现方式中, 在所述第一组矢量和所述第二组矢量中的每组矢量中, 不同子带的矢量之间 是按照矢量所在子带从低频到高频的顺序排列的, 且同一子带内的矢量是按 照矢量原始顺序排列的。
结合第一方面的第四种可能的实现方式, 在第六种可能的实现方式中, 在所述第一组矢量和所述第二组矢量中的每组矢量中, 不同子带的矢量之间 是按照矢量所在子带量化的包络从大到小的顺序排列的, 且同一子带内的矢 量是按照矢量原始顺序排列的。
结合第一方面的第三种可能的实现方式, 在第七种可能的实现方式中, 所述从所述候选频谱系数所属的矢量中选择所述 m个矢量, 包括: 按照所述 候选频谱系数所属的矢量所在的子带量化的包络从大到小的顺序, 从所述候 选频谱系数所属的矢量中选择 m个矢量。
结合第一方面的第二种可能的实现方式至第七种可能的实现方式中任一 可能的实现方式, 在第八种可能的实现方式中, 所述对所述 m个矢量的频谱 系数进行二次编码操作, 包括: 确定所述 m个矢量的频谱系数的全局增益; 使用所述 m个矢量的频谱系数的全局增益对所述 m个矢量的频谱系数进行归 一化; 对所述 m个矢量归一化的频谱系数进行量化。
结合第一方面的第四种可能的实现方式至第六种可能的实现方式中任一 可能的实现方式, 在第九种可能的实现方式中, 所述对所述 m个矢量的频谱 系数进行二次编码操作, 包括: 确定所述第一组矢量的频谱系数的全局增益 和所述第二组矢量的频谱系数的全局增益; 使用所述第一组矢量的频谱系数 的全局增益对所述 m个矢量中属于所述第一组矢量的频谱系数进行归一化, 并使用所述第二组矢量的频谱系数的全局增益对所述 m个矢量中属于所述第 二组矢量的频谱系数进行归一化; 对所述 m个矢量归一化的频谱系数进行量 化。
结合第一方面的第三种可能的实现方式至第九种可能的实现方式中任一 可能的实现方式, 在第十种可能的实现方式中, 所述根据所述剩余的比特数 和所述第二饱和阔值 j , 确定将要编码的矢量数目 m, 包括: 按照下列等式 确定 m: m = LC j x M) + 0.5」, 其中, C表示剩余的比特数, M表示每个矢量 所包含的频谱系数数目。
结合第一方面或第一方面的第一种可能的实现方式至第十种可能的实现 方式中任一可能的实现方式, 在第十一种可能的实现方式中, 所述根据可用 比特数和第一饱和阔值 i, 确定将要编码的子带数目 k, 包括: 按照下列等式 确定 k: k = [B/(i xL) + 0.5j, 其中, B表示可用比特数, L表示每个子带所包 含的频谱系数数目。
结合第一方面或第一方面的第一种可能的实现方式至第十一种可能的实 现方式中任一可能的实现方式, 在第十二种可能的实现方式中, 所述根据可 用比特数和第一饱和阔值 i, 确定将要编码的子带数目 k, 包括: 如果信号为 瞬态信号、 摩擦音信号或大周期信号, 则根据可用比特数和第一饱和阔值 i, 确定将要编码的子带数目 k。
第二方面, 提供了一种信号解码方法, 包括: 根据可用比特数和第一饱 和阔值 i, 确定将要解码的子带数目 k, 其中 i为正数, k为正整数; 根据解码 的各个子带的包络从所述各个子带中选择 k个子带, 或根据心理声学模型从 所述各个子带中选择 k个子带; 进行一次解码操作, 以得到所述 k个子带量 化的频谱系数。 结合第二方面, 在第一种可能的实现方式中, 还包括: 如果在所述一次 解码后所述可用比特数中剩余的比特数大于或等于第一比特数阔值, 则根据 所述剩余的比特数和所述第二饱和阔值 j , 确定将要二次解码的矢量数目 m, 其中 j为正数, m为正整数; 进行二次解码操作, 以得到所述 m个矢量归一 化的频谱系数。
结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式中, 还包括: 确定所述 m个矢量归一化的频谱系数与所述 k个子带量化的频谱系 数之间的对应关系。
结合第二方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述确定所述 m个矢量归一化的频谱系数与所述 k个子带量化的频谱系数之 间的对应关系, 包括: 确定所述 m个矢量与所述 k个子带量化的频谱系数所 属的矢量中第一类矢量之间的对应关系, 其中所述 m个矢量与所述第一类矢 量之间是——对应的。
结合第二方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述确定所述 m个矢量与所述 k个子带量化的频谱系数所属的矢量中的第一 类矢量之间的对应关系, 包括: 对所述 k个子带量化的频谱系数所属的矢量 进行排序, 得到排序后的矢量, 其中所述排序后的矢量划分为第一组矢量和 第二组矢量, 所述第一组矢量排列在所述第二组矢量之前, 所述第一组矢量 包括所述第一组解码的频谱系数所属的矢量中值为全 0 的矢量, 所述第二组 矢量包括所述第一组解码的频谱系数所属的矢量中值为非全 0 的矢量; 从所 述排序后的矢量中选择前 m个作为所述第一类矢量; 建立所述第一类矢量与 所述 m个矢量之间的对应关系。
结合第二方面的第四种可能的实现方式, 在第五种可能的实现方式中, 在所述第一组矢量和所述第二组矢量中的每组矢量中, 不同子带的矢量之间 是按照矢量所在子带从低频到高频的顺序排列的, 且同一子带内的矢量是按 照矢量原始顺序排列的。
结合第二方面的第四种可能的实现方式, 在第六种可能的实现方式中, 在所述第一组矢量和所述第二组矢量中的每组矢量中, 不同子带的矢量之间 是按照矢量所在子带的包络从大到小的顺序排列的, 且同一子带内的矢量是 按照矢量原始顺序排列的。
结合第二方面的第三种可能的实现方式, 在第七种可能的实现方式中, 所述确定所述 m个矢量与所述 k个子带量化的频谱系数所属的矢量中的第一 类矢量之间的对应关系, 包括: 按照所述 k个子带量化的频谱系数所属的矢 量所在的子带的包络从大到小的顺序, 从所述 k个子带量化的频谱系数所属 的矢量中选择 m个作为所述第一类矢量; 建立所述第一类矢量与所述 m个矢 量之间的对应关系。
结合第二方面的第二种可能的实现方式至第七种可能的实现方式中任一 实现方式, 在第八种可能的实现方式中, 还包括: 解码所述 m个矢量的全局 增益; 使用所述 m个矢量的全局增益对所述 m个矢量归一化的频谱系数进行 修正, 以得到所述 m个矢量的频谱系数。
结合第二方面的第四种可能的实现方式至第六种可能的实现方式中任一 实现方式, 在第九种可能的实现方式中, 还包括: 解码第一全局增益和第二 全局增益; 使用所述第一全局增益对所述 m个矢量归一化的频谱系数中与所 述第一组矢量对应的频谱系数进行修正, 并使用所述第二全局增益对所述 m 个矢量归一化的频谱系数中与所述第二组矢量对应的频谱系数进行修正, 以 得到所述 m个矢量的频谱系数。
结合第二方面的第八种可能的实现方式或第九种可能的实现方式, 在第 十种可能的实现方式中, 还包括: 对所述 k个子带量化的频谱系数和所述 m 个矢量的频谱系数进行叠加, 得到所述 k个子带归一化的频谱系数; 对所述 k 个子带归一化的频谱系数中值为 0 的频谱系数进行噪声填充, 并对所述各个 子带中除 k个子带之外的其它子带的频谱系数进行恢复, 以得到第一频带的 频谱系数, 其中所述第一频带由所述各个子带组成; 使用所述各个子带的包 络修正所述第一频带的频谱系数, 得到所述第一频带归一化的频谱系数; 使 用所述第一频带的全局增益对所述第一频带归一化的频谱系数进行修正, 以 得到最终的第一频带频域信号。
结合第二方面的第十种可能的实现方式, 在第十一种可能的实现方式中, 所述对所述 k个子带量化的频谱系数和所述 m个矢量的频谱系数进行叠加, 得到所述 k个子带归一化的频谱系数, 包括: 根据所述 m个矢量归一化的频 谱系数与所述 k个子带量化的频谱系数之间的对应关系, 对所述 m个矢量的 频谱系数和所述 k个子带量化的频谱系数进行叠加。
结合第二方面的第十种可能的实现方式或第十一种可能的实现方式, 在 第十二种可能的实现方式中,所述对所述 k个子带归一化的频谱系数中值为 0 的频谱系数进行噪声填充, 包括: 根据核心层解码信息, 确定加权值; 使用 所述加权值, 对在所述 k个子带归一化的频谱系数中与所述值为 0的频谱系 数相邻的频谱系数以及随机噪声进行加权。
结合第二方面的第十二种可能的实现方式, 在第十三种可能的实现方式 中, 所述根据核心层解码信息, 确定加权值, 包括: 从所述核心层解码信息 中获取信号分类信息; 如果所述信号分类信息指示信号为摩擦音, 则获取预 定的加权值; 如果所述信号分类信息指示信号为除摩擦音之外的其它信号, 则从所述核心层解码信息中获取基音周期, 并根据所述基音周期确定加权值。
结合第二方面的第十种可能的实现方式至第十三种可能的实现方式中任 一实现方式, 在第十四种可能的实现方式中, 所述对所述各个子带中除所述 k 个子带之外的其它子带的频谱系数进行恢复, 包括: 从所述各个子带中选择 与所述 k个子带之外的其它子带相邻的 n个子带, 并根据所述 n个子带的频 谱系数对所述 k个子带之外的其它子带的频谱系数进行恢复, 其中 n为正整 数; 或者, 从所述 k个子带中选择 p个子带, 并根据所述 p个子带的频谱系 数对所述 k个子带之外的其它子带的频谱系数进行恢复, 其中所述 p个子带 中每个子带被分配的比特数大于或等于第二比特数阔值, 其中 p为正整数。
结合第二方面的第一种可能的实现方式至第十四种可能的实现方式中任 一实现方式, 在第十五种可能的实现方式中, 所述根据所述剩余的比特数和 所述第二饱和阔值 j , 确定将要二次解码的矢量数目 m, 包括: 按照下列等 式确定 m: m = Lc/(j x M) + 0.5」, 其中, C表示剩余的比特数, M表示每个 矢量所包含的频谱系数数目。
结合第二方面或第二方面的第一种可能的实现方式至第十五种可能的实 现方式中任一实现方式, 在第十六种可能的实现方式中, 所述根据可用比特 数和第一饱和阔值 i, 确定将要解码的子带数目 k, 包括: 按照下列等式确定 k: k = LB/(i xL) + 0.5」, 其中, B表示可用比特数, L表示每个子带所包含的 频谱系数数目。
结合第二方面或第二方面的第一种可能的实现方式至第十六种可能的实 现方式中任一实现方式, 在第十七种可能的实现方式中, 所述根据可用比特 数和第一饱和阔值 i, 确定将要解码的子带数目 k, 包括: 如果信号为瞬态信 号、 摩擦音信号或大周期信号, 则根据可用比特数和第一饱和阔值 i, 确定将 要解码的子带数目 k。
第三方面, 提供了一种信号编码设备, 包括: 确定单元, 用于根据可用 比特数和第一饱和阔值 i , 确定将要编码的子带数目 k, 其中 i为正数, k为正 整数; 选择单元, 用于根据所述确定单元确定的所述子带数目 k, 根据各个子 带量化的包络从所述各个子带中选择 k个子带, 或者根据心理声学模型从所 述各个子带中选择 k个子带; 编码单元, 用于对所述选择单元所选择的 k个 子带的频谱系数进行一次编码操作。
结合第三方面, 在第一种可能的实现方式中, 所述编码单元具体用于: 对所述 k个子带的频谱系数进行归一化, 以得到所述 k个子带的归一化的频 谱系数; 对所述 k个子带归一化的频谱系数进行量化, 以得到所述 k个子带 量化的频谱系数。
结合第三方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述选择单元, 还用于如果在所述一次编码操作后所述可用比特数中剩余的 比特数大于或等于第一比特数阔值, 则根据所述剩余的比特数、 第二饱和阔 值 j和所述 k个子带量化的频谱系数, 确定将要二次编码的 m个矢量, 其中 j 为正数, m 为正整数; 所述编码单元, 还用于对所述选择单元所确定的所述 m个矢量的频谱系数进行二次编码操作。
结合第三方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述选择单元具体用于: 根据所述剩余的比特数和所述第二饱和阔值 j , 确定 将要编码的矢量数目 m; 根据所述 k个子带量化的频谱系数确定候选频谱系 数,所述候选频谱系数包括所述 k个子带归一化的频谱系数减去对应的所述 k 个子带量化的频谱系数所得到的频谱系数; 从所述候选频谱系数所属的矢量 中选择所述 m个矢量。
结合第三方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述选择单元具体用于: 对所述候选频谱系数所属的矢量进行排序, 以得到 排序后的矢量; 从所述排序后的矢量中选择前 m个矢量; 其中, 所述排序后 的矢量划分为第一组矢量和第二组矢量, 所述第一组矢量排在所述第二组矢 量之前, 所述第一组矢量对应于所述 k个子带量化的频谱系数所属的矢量中 值为全 0的矢量, 所述第二组矢量对应于所述 k个子带量化的频谱系数所属 的矢量中值为非全 0的矢量。
结合第三方面的第三种可能的实现方式, 在第五种可能的实现方式中, 所述选择单元具体用于按照所述候选频谱系数所属的矢量所在的子带量化的 包络从大到小的顺序, 从所述候选频谱系数所属的矢量中选择 m个矢量。
结合第三方面的第二种可能的实现方式至第五种可能的实现方式中任一 实现方式,在第六种可能的实现方式中, 所述编码单元具体用于: 确定所述 m 个矢量的频谱系数的全局增益; 使用所述 m个矢量的频谱系数的全局增益对 所述 m个矢量的频谱系数进行归一化; 对所述 m个矢量归一化的频谱系数进 行量化。
结合第三方面的第四种可能的实现方式, 在第七种可能的实现方式中, 所述编码单元具体用于: 确定所述第一组矢量的频谱系数的全局增益和所述 第二组矢量的频谱系数的全局增益; 使用所述第一组矢量的频谱系数的全局 增益对所述 m个矢量中属于所述第一组矢量的频谱系数进行归一化, 并使用 所述第二组矢量的频谱系数的全局增益对所述 m个矢量中属于所述第二组矢 量的频谱系数进行归一化; 对所述 m个矢量归一化的频谱系数进行量化。
结合第三方面的第三种可能的实现方式至第七种可能的实现方式中任一 实现方式, 在第八种可能的实现方式中, 所述选择单元具体用于按照下列等 式确定 m: m = LC j x M) + 0.5」, 其中, C表示剩余的比特数, M表示每个矢 量所包含的频谱系数数目。
结合第三方面或第三方面的第一种可能的实现方式至第八种可能的实现 方式中任一实现方式, 在第九种可能的实现方式中, 所述确定单元具体用于 按照下列等式确定 k: k = [B/(i xL) + 0.5j, 其中, B表示可用比特数, L表示 每个子带所包含的频谱系数数目。
结合第三方面或第三方面的第一种可能的实现方式至第九种可能的实现 方式中任一实现方式, 在第十种可能的实现方式中, 所述确定单元具体用于 如果信号为瞬态信号、 摩擦音信号或大周期信号, 则根据可用比特数和第一 饱和阔值 i, 确定将要编码的子带数目 k。
第四方面, 提供了一种信号解码设备, 包括: 确定单元, 用于根据可用 比特数和第一饱和阔值 i, 确定将要解码的子带数目 k, 其中 i为正数, k为正 整数; 选择单元, 用于根据所述确定单元确定的所述子带数目 k, 根据解码的 各个子带的包络从所述各个子带中选择 k个子带, 或根据心理声学模型从所 述各个子带中选择 k个子带; 解码单元, 用于进行一次解码操作, 以得到所 述选择单元所选择的所述 k个子带量化的频谱系数。
结合第四方面, 在第一种可能的实现方式中, 所述第一确定单元, 还用 于如果在所述一次解码操作后所述可用比特数中剩余的比特数大于或等于第 一比特数阔值, 则根据所述剩余的比特数、所述第二饱和阔值 j和所述第一组 解码的频谱系数, 确定将要二次解码的矢量数目 m, 其中 j为正数, m为正整 数; 所述解码单元, 还用于进行二次解码操作, 以得到所述 m个矢量归一化 的频谱系数。
结合第四方面的第一种可能的实现方式, 在第二种可能的实现方式中, 还包括: 第二确定单元, 用于确定所述 m个矢量归一化的频谱系数与所述 k 个子带量化的频谱系数之间的对应关系。
结合第四方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述第二确定单元具体用于确定所述 m个矢量与所述 k个子带量化的频谱系 数所属的矢量中第一类矢量之间的对应关系, 其中所述 m个矢量与所述第一 类矢量之间是一一对应的。
结合第四方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述第二确定单元具体用于对所述 k个子带量化的频谱系数所属的矢量进行 排序, 得到排序后的矢量, 其中所述排序后的矢量划分为第一组矢量和第二 组矢量, 所述第一组矢量排列在所述第二组矢量之前, 所述第一组矢量包括 所述第一组解码的频谱系数所属的矢量中值为全 0 的矢量, 所述第二组矢量 包括所述第一组解码的频谱系数所属的矢量中值为非全 0 的矢量; 从所述排 序后的矢量中选择前 m个作为所述第一类矢量; 建立所述第一类矢量与所述 m个矢量之间的对应关系。
结合第四方面的第三种可能的实现方式, 在第五种可能的实现方式中, 所述第二确定单元具体用于按照所述 k个子带量化的频谱系数所属的矢量所 在的子带的包络从大到小的顺序, 从所述 k个子带量化的频谱系数所属的矢 量中选择 m个作为所述第一类矢量; 建立所述第一类矢量与所述 m个矢量之 间的对应关系。
结合第四方面的第一种可能的实现方式至第五种可能的实现方式中任一 实现方式, 在第六种可能的实现方式中, 还包括修正单元; 所述解码单元还 用于解码所述 m个矢量的全局增益; 所述修正单元, 用于使用所述 m个矢量 的全局增益对所述 m个矢量归一化的频谱系数进行修正, 以得到所述 m个矢 量的频谱系数。
结合第四方面的第四种可能的实现方式, 在第七种可能的实现方式中, 还包括修正单元; 所述解码单元还用于解码第一全局增益和第二全局增益; 所述修正单元, 用于使用所述第一全局增益对所述 m个矢量归一化的频谱系 数中与所述第一组矢量对应的频谱系数进行修正, 并使用所述第二全局增益 对所述 m个矢量归一化的频谱系数中与所述第二组矢量对应的频谱系数进行 修正, 以得到所述 m个矢量的频谱系数。
结合第四方面的第六种可能的实现方式或第七种可能的实现方式, 在第 八种可能的实现方式中, 还包括叠加单元和恢复单元: 所述叠加单元, 用于 对所述 k个子带量化的频谱系数和所述 m个矢量的频谱系数进行叠加, 得到 k个子带的频谱系数; 所述恢复单元, 用于对所述 k个子带归一化的频谱系数 中值为 0的频谱系数进行噪声填充, 并对所述各个子带中除 k个之外的其它 子带的频谱系数进行恢复, 以得到第一频带的频谱系数, 其中所述第一频带 由所述各个子带组成; 所述修正单元, 还用于使用所述各个子带的包络修正 所述第一频带的频谱系数, 得到所述第一频带归一化的频谱系数; 所述修正 单元, 还用于使用所述第一频带的全局增益对所述第一频带归一化的频谱系 数进行修正, 以得到最终的第一频带频域信号。
结合第四方面的第八种可能的实现方式, 在第九种可能的实现方式中, 所述叠加单元具体用于根据所述 m个矢量归一化的频谱系数与所述 k个子带 量化的频谱系数之间的对应关系, 对所述 m个矢量的频谱系数和所述 k个子 带量化的频谱系数进行叠加。
结合第四方面的第八种可能的实现方式或第九种可能的实现方式, 在第 十种可能的实现方式中, 所述恢复单元具体用于: 根据核心层解码信息, 确 定加权值; 使用所述加权值, 对在所述 k个子带归一化的频谱系数中与所述 值为 0的频谱系数相邻的频谱系数以及随机噪声进行加权。
结合第四方面的第十种可能的实现方式, 在第十一种可能的实现方式中, 所述恢复单元具体用于: 从所述核心层解码信息中获取信号分类信息; 如果 所述信号分类信息指示信号为摩擦音, 则获取预定的加权值; 如果所述信号 分类信息指示信号为除摩擦音之外的其它信号, 则从所述核心层解码信息中 获取基音周期, 并根据所述基音周期确定加权值。
结合第四方面的第八种可能的实现方式至第十一种可能的实现方式中任 一实现方式, 在第十二种可能的实现方式中, 所述恢复单元具体用于从所述 各个子带中选择与所述 k个子带之外的其它子带相邻的 n个子带, 并根据所 述 n个子带的频谱系数对所述 k个子带之外的其它子带的频谱系数进行恢复, 其中 n为正整数; 或者, 从所述 k个子带中选择 p个子带, 并根据所述 p个 子带的频谱系数对所述 k个子带之外的其它子带的频谱系数进行恢复, 其中 所述 p个子带中每个子带被分配的比特数大于或等于第二比特数阔值,其中 p 为正整数。
结合第四方面的第一种可能的实现方式至第十二种可能的实现方式中任 一实现方式, 在第十三种可能的实现方式中, 所述第一确定单元具体用于按 照下歹1 J等式确定 m: m = LC j x M) + 0.5」, 其中, C表示剩余的比特数, M表 示每个矢量所包含的频谱系数数目。
结合第四方面或第四方面的第一种可能的实现方式至第十三种可能的实 现方式中任一实现方式, 在第十四种可能的实现方式中, 所述第一确定单元 具体用于按照下列等式确定 k: k = [B (i L) + 0.5」,其中, B表示可用比特数, L表示每个子带所包含的频谱系数数目。
结合第四方面或第四方面的第一种可能的实现方式至第十四种可能的实 现方式中任一实现方式, 在第十五种可能的实现方式中, 所述第一确定单元 具体用于如果信号为瞬态信号、 摩擦音信号或大周期信号, 则根据可用比特 数和第一饱和阔值 i, 确定将要解码的子带数目 k。
本发明实施例中, 通过根据可用比特数和第一饱和阔值确定将要编码的 子带数目 k, 并从各个子带中选择 k个子带来进行编码, 而非对整个频带进行 编码, 能够减少解码信号的频谱空洞, 从而能够提升输出信号的听觉质量。 附图说明
为了更清楚地说明本发明实施例的技术方案, 下面将对本发明实施例中 所需要使用的附图作简单地介绍, 显而易见地, 下面所描述的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的 前提下, 还可以根据这些附图获得其他的附图。
图 1是根据本发明实施例的信号编码方法的示意性流程图。
图 2是根据本发明另一实施例的信号解码方法的示意性流程图
图 3是根据本发明一个实施例的信号编码方法的过程的示意性流程图。 图 4是根据本发明实施例的确定二次编码的矢量的过程的示意图。
图 5是根据本发明一个实施例的信号编码设备的示意框图。
图 6是根据本发明一个实施例的信号解码设备的示意框图。
图 7是根据本发明另一实施例的信号编码设备的示意框图。
图 8是根据本发明另一实施例的信号解码设备的示意框图。 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例是本发明的一部分实施例, 而不 是全部实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创 造性劳动的前提下所获得的所有其他实施例, 都应属于本发明保护的范围。
编码技术和解码技术, 广泛应用于各种电子设备中, 例如: 移动电话, 无线装置, 个人数据助理(Personal Data Assistant, PDA ), 手持式或便携式 计算机, 全球定位系统(Global Positioning System, GPS )接收机 /导航器, 照 相机, 音频 /视频播放器, 摄像机, 录像机, 监控设备等。 通常, 这类电子设 备中包括音频编码器或音频解码器, 音频编码器或者解码器可以直接由数字 电路或芯片例如数字信号处理( Digital Signal Processor, DSP ) 芯片实现, 或 者由软件代码驱动处理器执行软件代码中的流程而实现。
图 1是根据本发明实施例的信号编码方法的示意性流程图。 图 1 的方法 由编码端执行, 例如语音或音频编码器。 本发明实施例中所指的信号, 可以 是语音或音频信号。
在编码过程中, 编码端可以先将时域信号变换为频域信号, 例如可以釆 用快速傅立叶变换 ( Fast Fourier Transform , FFT ) 或改进离散余弦变换 ( Modified Discrete Cosine Transform, MDCT )等算法进行时频变换。 然后, 编码端可以利用全局增益对频域信号的频谱系数进行归一化, 将归一化的频 谱系数进行分带以得到各个子带。
110, 根据可用比特数和第一饱和阔值 i, 确定将要编码的子带数目 k, 其 中 i为正数, k为正整数。
可用比特数可以是指能够用于编码的总比特数。
第一饱和阔值 i可以是预先确定的。 例如,可以基于如下原则确定第一饱 和阔值 i: 当一个子带内平均每个频谱系数分配的比特数大于或等于第一饱和 阔值 i时, 则可以认为向该子带分配的比特达到饱和。 平均每个频谱系数分配 的比特数可以是向该子带分配的比特数与该子带的频谱系数数目的比值。 向 子带分配的比特数达到饱和的含义可以是指即使向该子带分配更多的比特, 该子带的性能也不会有明显的提升。第一饱和阔值 i可以是正数。通常情况下, i≥1.5。
此外,也可以通过第一饱和阔值 i和频谱系数的数目, 确定可用比特数阔 值, 进而确定将要编码的子带数目 k。 例如: 预设 i=2, 总子带数目为 4, 有 两个子带内的频谱系数的数目为 64 , 有两个子带内的频谱系数的数目为 72; 这时, 三个子带包含的最少频谱系数的数目为 64+64+72=200, 所以, 可以设 定可用比特数阔值为 200*2=400, 当可用比特数 >400时, k为 4, 否则 k为 3。
120, 根据各个子带量化的包络从各个子带中选择 k个子带, 或者根据心 理声学模型从各个子带中选择 k个子带。
例如, 编码端可以按照各个子带量化的包络从大到小的顺序, 从各个子 带中选择 k个子带。 或者, 编码端可以根据心理声学模型确定各个子带的重 要性, 可以按照各个子带的重要性由高到低的顺序选择 k个子带。
130, 对 k个子带的频谱系数进行一次编码操作。
应理解, 此处的一次编码可以指编码端在编码过程中对频谱系数执行的 第一次编码操作。 本发明实施例中, 编码操作可以包括归一化、 量化和写码 流等操作。
现有技术中, 编码端在整个频带内统一进行比特分配, 然后对整个频带 进行编码, 造成整个频谱有很多空洞。 本发明实施例中, 编码端首先根据可 用比特数和第一饱和阔值确定将要编码的子带数目 k,然后从各个子带中选择 k个子带来进行编码。 不向除 k个子带以外剩余的子带分配比特, 因此这些剩 余的子带也不被编码。 这样使得这 k个子带能够被更好地编码, 在解码端能 够减少解码信号的频谱空洞, 从而提升输出信号的质量。 因此, 本发明实施 例能够提升信号的听觉质量。
本发明实施例中, 通过根据可用比特数和第一饱和阔值确定将要编码的 子带数目 k, 并从各个子带中选择 k个子带来进行编码, 而非对整个频带进行 编码, 能够减少解码信号的频谱空洞, 从而能够提升输出信号的听觉质量。
本发明实施例可以应用于各种类型的语音或音频信号, 例如瞬态信号、 摩擦音信号或大周期信号等。
可选地, 作为一个实施例, 如果信号为瞬态信号、 摩擦音信号或大周期 信号, 则编码端可以根据可用比特数和第一饱和阔值 i, 确定将要编码的子带 数目 k。
具体地, 编码端可以确定输入的信号是否为瞬态信号、 摩擦音信号或大 周期信号。 如果输入的信号为瞬态信号、 摩擦音信号或大周期信号, 则可以 执行图 1 的方法。 这样, 能够提升瞬态信号、 摩擦音信号或大周期信号的编 码质量。
可选地, 作为另一实施例, 在步骤 110中, 编码端可以按照等式( 1 )确 定子带数目 k:
k = LB/(i xL) + 0.5」 (l)
其中, B可以表示可用比特数, L可以表示一个子带中的频谱系数数目。 可选地, 作为另一实施例, 在步骤 130中, 编码端可以对 k个子带的频 谱系数进行归一化, 以得到 k个子带归一化的频谱系数, 并对 k个子带归一 化的频谱系数进行量化, 以得到 k个子带量化的频谱系数。
在步骤 130中, 编码操作可以包括对频谱系数的归一化操作和量化操作。 例如, 编码端可以按照现有技术的过程对 k个子带的频谱系数进行归一化。 在对 k个子带的频谱系数进行归一化后, 编码端可以对 k个子带归一化的频 谱系数进行量化。 例如, 编码端可以釆用某些格型矢量量化(Lattice Vector Quantization, LVQ )算法, 比 口代数矢量量 4匕 ( Algebraic Vector Quantization, AVQ )或球型矢量量化(Spherical Vector Quantization, SVQ )等算法, 对 k 个子带归一化的频谱系数进行量化。 这些矢量量化算法的特点如下: 确定对 要量化的每组矢量所要分配的比特数后, 不再根据剩余比特数对每组矢量分 配的比特数再次进行调整, 而且各组矢量分配比特的过程相对独立, 只根据 这一组矢量本身的数值大小确定, 而不是对所有矢量进行闭环的比特分配。
此外, 编码操作还包括写码流操作。 例如, 编码端可以对 k个子带的频 谱系数进行归一化以及量化后, 将 k个子带量化的频谱系数的索引写入码流。 写码流操作可以在对 k个子带量化后执行, 也可以在下面将要描述的二次编 码操作后执行。 本发明实施例对此不做限定。
可选地, 作为另一实施例, 在步骤 130之后, 如果在一次编码后可用比 特数中剩余的比特数大于或等于第一比特数阔值, 则编码端可以根据剩余的 比特数、第二饱和阔值 j和 k个子带量化的频谱系数,确定将要二次编码的 m 个矢量, 其中 j为正数, m为正整数。 然后编码端可以对 m个矢量的频谱系 数进行二次编码操作。
在上述步骤 130中, 编码端对 k个子带的频谱系数执行了第一次编码操 作, 在第一次编码操作后可能仍有剩余的比特数。 编码端可以将剩余的比特 数与第一比特数阔值进行比较, 如果剩余的比特数大于或等于第一比特数阔 值, 那么编码端还可以利用剩余的比特数进行第二次编码操作。 第一比特数 阔值和第二饱和阔值 j均可以是预先设置的。 第二饱和阔值 j与第一饱和阔值 i可以是相等的或不相等的, 它们均可以基于相同的原则来确定的, 即, 第二 饱和阔值 j的确定原则可以如下: 当一个矢量内平均每个频谱系数分配的比特 数大于或等于第二饱和阔值 j时, 则可以认为向该矢量分配的比特达到饱和。 一般情况下, j≥1.5。
本实施例中, 如果在一次编码操作后剩余的比特数大于或等于第一比特 数阔值, 则根据剩余的比特数、 第二饱和阔值 j和 k个子带量化的频谱系数, 确定将要二次编码的 m个矢量,并对 m个矢量的频谱系数进行二次编码操作, 因此能够充分利用剩余的比特数, 从而能够进一步提升信号的编码质量。
可选地, 作为另一实施例, 编码端可以根据剩余的比特数和第二饱和阔 值 j , 确定将要编码的矢量数目 m。 编码端可以根据 k个子带量化的频谱系数 确定候选频谱系数, 并可以从候选频谱系数所属的矢量中选择 m个矢量。 上 述候选频谱系数可以包括 k个子带归一化的频谱系数减去对应的 k个子带量 化的频谱系数所得到的频谱系数。
k个子带归一化的频谱系数与 k个子带量化的频谱系数是——对应的,因 此在执行减法操作时, k个子带归一化的频谱系数与 k个子带量化的频谱系数 是——对应相减。 例如, 假设在 k个子带内共有 5个归一化的频谱系数, 那 么可以在步骤 130中, 编码端可以对 5个频谱系数进行归一化, 得到 5个归 一化的频谱系数。 然后编码端可以对 5 个归一化的频谱系数进行量化, 从而 得到 5个量化的频谱系数。 编码端可以用 5个归一化的频谱系数分别减去各 自对应的量化的频谱系数, 例如可以使用第 1 个归一化的频谱系数减去第 1 个量化的频谱系数得到 1个新的频谱系数, 以此类推, 编码端可以得到 5个 新的频语系数。 这 5个新的频谱系数就是候选频谱系数。
可选地, 作为另一实施例, 编码端可以按照等式 (2 )确定矢量数目 m。 m = LC j x M) + 0.5」 ( 2 )
其中, C可以表示剩余的比特数, M可以表示每个矢量包含的频谱系数 数目。
可选地, 作为另一实施例, 编码端可以对候选频谱系数所属的矢量进行 排序, 以得到排序后的矢量。编码端可以从排序后的矢量中选择前 m个矢量。 其中, 排序后的矢量可以被划分为第一组矢量和第二组矢量, 第一组矢量排 在第二组矢量之前, 第一组矢量对应于 k个子带量化的频谱系数所属的矢量 中值为全 0的矢量, 第二组矢量对应于 k个子带量化的频谱系数所属的矢量 中值为非全 0的矢量。
由上述可知, 候选频谱系数是由 k个子带归一化的频谱系数与 k个子带 的量化的频谱系数相减得到的。 因此, 候选频谱系数所属的矢量也可以理解 为归一化的频谱系数所属的矢量与量化的频谱系数所属的矢量相减得到的。 k 个子带量化的频谱系数所属的矢量中可能存在值为全 0的矢量, 值为全 0的 矢量可以是指包含的频谱系数均为 0 的矢量。 编码端可以对候选频谱系数所 属的矢量进行排序, 得到排序后的矢量。 在排序后的矢量中, 通过 k个子带 归一化的频谱系数所属的矢量与 k个子带量化的频谱系数所属的矢量中值为 全 0的矢量相减所得到的矢量可以分为第一组矢量, 通过 k个子带归一化的 频谱系数所属的矢量与 k个子带量化的频谱系数所属的矢量中值为非全 0的 矢量相减所得到的矢量可以分为第二组矢量。
第一组矢量可以排在第二组矢量之前, 因此编码端在选择 m个矢量时, 可以从第一组矢量开始选择前 m个矢量。 例如, 假设 m为 5。 如果第一组矢 量有 4个矢量, 那么编码端可以从第一组矢量中选择 4个矢量, 然后从第二 组矢量中选择 1个矢量。 如果第一组矢量有 7个矢量, 那么编码端可以从第 一组矢量中选择前 5个矢量即可。 也就是, 在选择将要二次编码的 m个矢量 时, 第一组矢量的优先级高于第二组矢量。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间可以是按照矢量所在子带的频率从低频到高频的顺序排 列的, 且同一子带内的矢量可以是按照矢量原始顺序排列的。
矢量原始顺序可以是指矢量在其所属子带内的原本的顺序。 例如, 假设 第一组矢量有 5个矢量, 分别编号为矢量 0、 矢量 1、 矢量 2、 矢量 3和矢量 4。 矢量 1和矢量 2属于子带 0, 矢量 0和矢量 3属于子带 1 , 矢量 4属于子 带 2。 子带 0中的矢量原始顺序是这样的: 矢量 1排在矢量 2之前。 子带 1中 的矢量原始顺序是这样的: 矢量 0排在矢量 3之前。 在这 3个子带中, 子带 0 的频率最低, 子带 2的频率最高, 子带 1 的频率在它们之间。 那么, 第一组 矢量中 5个矢量的排序方式可以如下: 首先将属于不同子带之间的矢量按照 子带从低频到高频的顺序排列, 即属于子带 0的矢量排在最前面, 属于子带 1 的矢量排在中间, 属于子带 2 的矢量排在最后面。 然后, 属于同一子带的矢 量可以按照矢量原始顺序排列。 这样, 第一组矢量中 5个矢量的排序可以如 下: 矢量 1 , 矢量 2, 矢量 0, 矢量 3 , 矢量 4。 第二组矢量的排序方式类似于 第一组矢量, 不再赘述。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带量化的包络从大到小的顺序排列 的, 且同一子带内的矢量是按照矢量原始顺序排列的。
在该实施例中, 不同子带的矢量之间是按照子带量化的包络排序的。 而 同一子带内的矢量还是按照矢量原始顺序排列的。 例如, 4叚设第一组矢量有 5 个矢量, 分别编号为矢量 0、 矢量 1、 矢量 2、 矢量 3和矢量 4。 矢量 1和矢 量 2属于子带 0, 矢量 0和矢量 3属于子带 1 , 矢量 4属于子带 2。 子带 0中 的矢量原始顺序是这样的: 矢量 1排在矢量 2之前。 子带 1 中的矢量原始顺 序是这样的: 矢量 0排在矢量 3之前。 在这 3个子带中, 子带 2量化的包络 最小, 子带 1量化的包络最大, 子带 0量化的包络在它们之间。 那么, 第一 组矢量中 5个矢量的排序可以如下: 矢量 0, 矢量 3 , 矢量 1 , 矢量 2, 矢量 4。
可选地, 作为另一实施例, 编码端可以按照候选频谱系数所属的矢量所 在的子带量化的包络从大到小的顺序, 从候选频谱系数所属的矢量中选择 m 个矢量。
在该实施例中, 编码端可以不再对候选频谱系数所属的矢量进行分组, 而可以直接按照子带量化的包络从大到小的顺序选择 m个矢量。 例如, 假设 有 4个矢量, 分别编号为矢量 0、 矢量 1、 矢量 2和矢量 3。 4个矢量分别属 于 4个不同子带, 即子带 0、 子带 1、 子带 2和子带 3。 其中, 4叚设各个子带 量化的包络的从大到小的顺序如下: 子带 2>子带 1>子带 3>子带 0。 如果要选 择 3个矢量进行二次编码, 那么按照各个子带量化的包络的从大到小的顺序, 就可以选择矢量 2、 矢量 1和矢量 3。
如果多个矢量属于同一子带, 可以按照多个矢量在该子带内的原始顺序 选择, 或者, 对于该子带内的多个矢量, 可以先选择值为全 0 的矢量, 然后 选择值为非全 0的矢量。例如, 4艮设有 5个矢量,分别编号为矢量 0至矢量 4。 矢量 0属于子带 0, 矢量 1至矢量 3属于子带 1 , 矢量 4属于子带 2。 其中, 假设各个子带量化的包络的从大到小的顺序如下: 子带 2>子带 1>子带 0。 如 果要选择 3 个矢量进行二次编码, 那么各个子带量化的包络的从大到小的顺 序, 首先选择矢量 4, 然后需要在子带 1内的矢量 1至矢量 3中选择剩余的 2 个矢量。 此时, 可以按照矢量 1至矢量 3在子带 1内的原始顺序选择剩余的 2 个矢量, 或者也可以优先选择矢量 1至矢量 3中值为全 0的矢量, 然后选择 值为非全 0的矢量。
在对 m个矢量的频谱系数进行二次编码时, 编码端首先可以对 m个矢量 的频谱系数进行归一化, 然后对 m个矢量归一化的频谱系数进行量化。例如, 编码端可以釆用在一次编码时所使用的矢量量化算法, 比如 AVQ或 SVQ等 算法, 对 m个矢量归一化的频谱系数进行量化。 在得到 m个矢量量化的频谱 系数后, 编码端可以对 m个矢量量化的频谱系数执行写码流操作。
其中, 在对 m个矢量的频谱系数进行归一化时, 编码端可以釆用不同的 全局增益对 m个矢量的频谱系数进行归一化。
可选地, 作为另一实施例, 编码端可以确定 m个矢量的频谱系数的全局 增益, 使用 m个矢量的频谱系数的全局增益对 m个矢量的频谱系数进行归一 化, 然后可以对 m个矢量归一化的频谱系数进行量化。
可选地, 作为另一实施例, 编码端可以确定第一组矢量的频谱系数的全 局增益和第二组矢量的频谱系数的全局增益。 编码端可以使用第一组矢量的 频谱系数的全局增益对 m个矢量中属于第一组矢量的频谱系数进行归一化, 并使用第二组矢量的频谱系数的全局增益对 m个矢量中属于第二组矢量的频 谱系数进行归一化。然后编码端可以对 m个矢量归一化的频谱系数进行量化。
例如, 编码端也可以分别使用两组矢量各自的全局增益分别对从两组矢 量中选出来的矢量进行归一化。
上面描述了编码端对信号进行编码的过程, 解码是编码的逆过程。 图 2 是根据本发明另一实施例的信号解码方法的示意性流程图。 图 2 的方法由解 码端执行, 例如语音或音频解码器。
在解码过程中, 解码端可以对从编码端接收的比特流进行解码, 例如, 解码端可以进行核心层 (Core )解码来得到低频带信息, 同时解码高频带各 个子带的包络以及全局增益。 然后, 解码端可以利用上述解码得到的信息对 高频带频谱系数执行解码操作和恢复操作。 210, 根据可用比特数和第一饱和阔值 i, 确定将要解码的子带数目 k, 其 中 i为正数, k为正整数。
步骤 210类似与图 1中的步骤 110, 此处不再赘述。 由于第一饱和阔值 i 可以是预先确定的, 因此, 编码端和解码端可以使用相同的第一饱和阔值 i。
220, 根据解码的各个子带的包络从各个子带中选择 k个子带, 或者根据 心理声学模型从各个子带中选择 k个子带。
例如, 解码端可以根据解码的各个子带的包络从大到小的顺序, 从各个 子带中选择 k个子带。 或者, 解码端可以根据心理声学模型确定各个子带的 重要性, 可以按照各个子带的重要性由高到低的顺序选择 k个子带。
230, 进行一次解码操作, 以得到 k个子带量化的频谱系数。
类似于编码端, 一次解码操作可以指解码端在解码过程中对频谱系数执 行的第一次解码操作。 一次解码操作可以包括去量化等操作。 解码操作的具 体过程可以参照现有技术, 例如解码端可以对接收的码流执行第一次解码操 作, 比如解码端可以釆用编码端对 k个子带归一化的频谱系数进行量化时所 使用的矢量量化算法, 比如 AVQ或 SVQ等算法, 基于接收的码流执行一次 去量化操作, 从而得到 k个子带量化的频谱系数。
编码端在编码频谱系数时首先根据可用比特数和第一饱和阔值确定将要 编码的子带数目 k, 然后从各个子带中选择 k个子带来进行编码。 由于解码过 程是编码过程的逆过程, 因此, 解码端在解码频谱系数时可以首先根据可用 比特数和第一饱和阔值确定将要解码的子带数目 k, 然后从各个子带中选择 k 个子带来进行解码, 从而能够提升解码信号的质量, 进而提升输出信号的听 觉质量。
本发明实施例中, 通过根据可用比特数和第一饱和阔值确定将要解码的 子带数目 k, 并从各个子带中选择 k个子带来进行解码, 能够减少解码信号的 频谱空洞, 从而能够提升输出信号的听觉质量。
本发明实施例可以应用于各种类型的语音或音频信号, 例如瞬态信号、 摩擦音信号或大周期信号等。
可选地, 作为一个实施例, 如果信号为瞬态信号、 摩擦音信号或大周期 信号, 则解码端可以根据可用比特数和第一饱和阔值 i, 确定将要解码的子带 数目 k。
具体地, 解码端可以根据解码的信号类型或从解码的低频带信息中提取 的信号类型, 确定要解码的信号是否为瞬态信号、 摩擦音信号或大周期信号。 如果要解码的信号为瞬态信号、 摩擦音信号或大周期信号, 则可以执行图 2 的方法。 这样, 能够提升瞬态信号、 摩擦音信号或大周期信号的质量。
可选地, 作为另一实施例, 在步骤 210中, 解码端也可以按照等式( 1 ) 确定子带数目 k。
可选地, 作为另一实施例, 在步骤 230之后, 如果在一次解码操作后可 用比特数中剩余的比特数大于或等于第一比特数阔值, 则解码端可以根据剩 余的比特数和第二饱和阔值 j , 确定将要二次解码的矢量数目 m, 其中 j为正 数, m为正整数。 然后解码端可以进行二次解码操作, 以得到 m个矢量归一 化的频谱系数。
由于编码端在一次编码操作后可能进行了二次编码操作, 因此, 解码端 可以按照同样的判断方式确定是否需要进行二次解码操作。 第二饱和阔值 j 也可以是预先确定的, 因此解码端与编码端可以使用相同的第二饱和阔值 j。 第二饱和阔值 j的确定原则可以参照图 1的实施例中的描述, 此处不再赘述。
二次解码操作可以包括去量化等操作。 例如, 解码端可以釆用一次解码 操作时所使用的矢量量化算法, 比如 AVQ或 SVQ等算法, 基于接收的码流 执行第二次去量化操作, 从而得到 m个矢量归一化的频谱系数。
可选地, 作为另一实施例, 解码端也可以按照等式(2 )确定矢量数目 m。 可选地, 作为另一实施例, 解码端可以确定 m个矢量归一化的频谱系数 与 k个子带量化的频谱系数之间的对应关系。
可选地, 作为另一实施例, 解码端可以确定 m个矢量与 k个子带量化的 频谱系数所属的矢量中第一类矢量之间的对应关系, 其中 m个矢量与第一类 矢量之间是——对应的。
由图 1 的实施例的过程可知, 编码端从候选频谱系数所属的矢量中选择 了 m个矢量来进行二次编码, 而候选频谱系数是通过 k个子带归一化的频谱 系数与 k个子带量化的频谱系数进行相减得到的, 因此, 解码端在通过二次 解码获得 m个矢量归一化的频谱系数后, 需要确定这 m个矢量具体是候选频 谱系数所属的矢量中哪些矢量, 也就是确定 m个矢量与 k个子带量化的频谱 系数所属的矢量中第一类矢量之间的一一对应关系。
具体地, 解码端可以基于不同的方式确定 m个矢量与 k个子带量化的频 谱系数所属的矢量中第一类矢量之间的对应关系。 应理解, 解码端所依据的 方式应当与编码端选择用于二次编码的 m个矢量所依据的方式相同。
可选地, 作为另一实施例, 解码端可以对 k个子带量化的频谱系数所属 的矢量进行排序, 得到排序后的矢量, 然后, 解码端可以从排序后的矢量中 选择前 m个矢量作为第一类矢量, 并建立第一类矢量与 m个矢量之间的对应 关系。 其中, 排序后的矢量划分为第一组矢量和第二组矢量, 第一组矢量排 列在第二组矢量之前, 第一组矢量包括第一组解码的频谱系数所属的矢量中 值为全 0 的矢量, 第二组矢量包括第一组解码的频谱系数所属的矢量中值为 非全 0的矢量。
具体地, 解码端可以对 k个子带量化的频谱系数所属的矢量进行排序, 得到排序后的矢量。 排序后的矢量可以看作是由两组矢量组成。 其中第一组 矢量排在第二组矢量前面, 第一组矢量均为值为全 0 的矢量, 第二组矢量均 为值为非全 0的矢量。 然后, 解码端可以从排序后的矢量中选择前 m个矢量 作为第一类矢量。 可见, 在选择第一类矢量时, 第一组矢量的优先级高于第 二组矢量。
其中, 对于每组矢量中的各个矢量也可以按照不同的方式进行排序。 可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带从低频到高频的顺序排列的, 且同 一子带内的矢量是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带的包络从大到小的顺序排列的, 且 同一子带内的矢量是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 解码端可以按照 k个子带量化的频谱系数所 属的矢量所在的子带的包络从大到小的顺序, 从 k个子带量化的频谱系数所 属的矢量中选择 m个作为第一类矢量。 解码端可以建立第一类矢量与 m个矢 量之间的对应关系。 可选地, 作为另一实施例, 解码端可以解码 m个矢量的全局增益, 并使 用 m个矢量的全局增益对 m个矢量归一化的频谱系数进行修正,以得到 m个 矢量的频谱系数。
解码端可以对第二组解码的频谱系数进行修正, 此处解码端可以釆用解 码得到的 m个矢量的全局增益对 m个矢量归一化的频谱系数进行修正。
可选地, 作为另一实施例, 解码端可以解码第一全局增益和第二全局增 益, 使用第一全局增益对 m个矢量归一化的频谱系数中与第一组矢量对应的 频谱系数进行修正, 并使用第二全局增益对 m个矢量归一化的频谱系数中与 第二组矢量对应的频谱系数进行修正, 以得到 m个矢量的频谱系数。
由图 1的实施例的过程可知, 编码端可以使用两个全局增益对 m个矢量 的频语系数进行归一化, 因此, 相应地, 解码端可以使用两个全局增益对 m 个矢量归一化的频谱系数进行修正。
可选地, 作为另一实施例, 解码端可以对 k个子带量化的频谱系数和 m 个矢量的频谱系数进行叠加, 得到 k个子带归一化的频谱系数。 解码端可以 对 k个子带归一化的频谱系数中值为 0的频谱系数进行噪声填充, 并对各个 子带中除 k个子带之外的其它子带的频谱系数进行恢复, 以得到第一频带的 频谱系数, 其中第一频带由各个子带组成。 编码端可以使用各个子带的包络 修正第一频带的频谱系数, 得到第一频带归一化的频谱系数, 然后可以使用 第一频带的全局增益对第一频带归一化的频谱系数进行修正, 以得到最终的 第一频带频域信号。
解码端可以在两次解码后, 两次解码得到的频谱系数均属于有比特分配 的 k个子带。 因此, 将两次解码分别得到的频谱系数进行叠加, 得到 k个子 带归一化的频谱系数。 具体地, 对于 k个子带量化的频谱系数, 实质上是编 码端经过一次归一化处理后的频谱系数。 而 m个矢量归一化的频谱系数, 实 质是编码端经过二次归一化处理后的频谱系数, 因此解码端需要对 m个矢量 归一化的频谱系数进行修正, 得到 m个矢量的频谱系数。 然后可以对 k个子 带量化的频谱系数与 m个矢量的频谱系数进行叠加, 得到 k个子带归一化的 频谱系数。 对于 k个子带归一化的频谱系数值为 0的频谱系数, 解码端通常 可以填充一些噪声, 使得重建音频信号听起来更自然。 并且, 解码端还需要 恢复各个子带中除 k个子带之外的其它子带的频谱系数, 由于第一频带由上 述各个子带组成, 从而得到第一频带的频谱系数。 此处, 第一频带可以指全 频带, 也可以是全频带中的部分频带。 也就是, 本发明实施例可以应用于全 频带的处理, 也可以应用于全频带中部分频带的处理。
可选地, 作为另一实施例, 解码端可以根据 m个矢量归一化的频谱系数 与 k个子带量化的频谱系数之间的对应关系, 对 m个矢量的频谱系数和 k个 子带量化的频谱系数进行叠加。
具体地, 由于解码端可以通过对应关系确定 m个矢量是候选频谱系数所 属的矢量中哪些矢量, 而候选频谱系数所属的矢量是通过 k个子带归一化的 频谱系数所属的矢量与 k个子带量化的频谱系数所属的矢量相减得到的, 因 此为了获得 k个子带归一化的频谱系数, 解码端可以根据该对应关系将 m个 矢量的频谱系数叠加到与 m个矢量的频谱系数相对应的 k个子带量化的频谱 系数上。
为了对 k个子带归一化的频谱系数中值为 0的频谱系数进行噪声填充, 可选地, 作为另一实施例, 解码端可以根据核心层解码信息, 确定加权值, 然后使用加权值, 对在 k个子带归一化的频谱系数中与值为 0的频谱系数相 邻的频谱系数以及随机噪声进行加权。
具体地, 对于值为 0 的频谱系数, 解码端可以对与其相邻的频谱系数和 随机噪声进行力口权。
可选地, 作为另一实施例, 解码端可以从核心层解码信息中获取信号分 类信息。 如果信号分类信息指示信号为摩擦音, 则解码端可以获取预定的加 权值。 如果信号分类信息指示信号为除摩擦音之外的其它信号, 则解码端可 以从核心层解码信息中获取基音周期, 并根据基音周期确定加权值。
在通过加权方式进行噪声填充时, 针对不同的信号类型, 解码端可以釆 用不同的加权值。 例如, 如果信号为摩擦音, 那么该加权值可以是预先设定 的。 而对于摩擦音之外的其它信号, 解码端可以根据基音周期确定加权值。 通常, 基音周期越大, 加权值越小。
可选地, 作为另一实施例, 解码端可以从各个子带中选择与上述其它子 带相邻的 n个子带, 并根据 n个子带的频谱系数对上述其它子带的频谱系数 进行恢复, 其中 n为正整数。 或者, 解码端可以从 k个子带中选择 p个子带, 并根据 个子带的频谱系数对上述其它子带的频谱系数进行恢复, 其中 p个 子带中每个子带被分配的比特数大于或等于第二比特数阔值。
具体地, 解码端可以使用与除 k个子带之外的其它子带相邻的子带的频 谱系数对上述其它子带的频谱系数进行恢复。 或者, 解码端可以使用比特分 配较多的子带的频谱系数对上述其它子带的频谱系数进行恢复。 例如, 比特 分配较多可以是指比特数大于或等于预设的第二比特数阔值。
在得到最终的频域信号后, 解码端可以对最终的频域信号进行频时变换, 得到最终的时域信号。
下面将结合具体例子描述本发明实施例。 应理解, 这些例子只是为了帮 助本领域技术人员更好地理解本发明实施例, 而非限制本发明实施例的范围。
图 3是根据本发明一个实施例的信号编码方法的过程的示意性流程图。
301 , 编码端对时域信号进行时频变换。
302, 编码端对频域信号的频谱系数划分子带。
具体地, 编码端可以计算全局增益, 使用全局增益对原始的频谱系数进 行归一化, 然后对归一化后的频谱系数进行分带, 从而得到各个子带。
303 , 编码端计算各个子带的包络, 并对各个子带的包络进行量化, 得到 各个子带量化的包络。
304, 编码端确定将要编码的 k个子带。
具体地, 编码端可以釆用图 1 的实施例中的过程, 确定 k个子带, 此处 不再赘述。
305, 编码端对 k个子带的频谱系数进行归一化并量化。
具体地, 编码端可以对 k个子带的频谱系数进行归一化, 得到 k个子带 归一化的频谱系数。 然后编码端可以对 k个子带归一化的频谱系数进行量化, 例如釆用格型矢量量化算法,对 k个子带归一化的频谱系数进行量化,得到 k 个子带量化的频谱系数。
306, 编码端确定在一次编码后可用比特数中剩余的比特数是否大于或等 于第一比特数阔值。
如果剩余的比特数小于第一比特数阔值, 则转到步骤 307。 如果剩余的比特数大于或等于第一比特数阔值, 则转到步骤 308。
307 , 如果剩余的比特数小于第一比特数阔值, 则编码端写码流。
具体地, 如果剩余的比特数小于第一比特数阔值, 那么剩余的比特数将 不能用于二次编码, 编码端可以将一次编码结果、 量化的全局增益以及各个 子带量化的包络等的索引写入码流。 具体过程可以参照现有技术, 此处不再 赘述。
308, 如果剩余的比特数大于或等于第一比特数阔值, 则编码端确定将要 二次编码的 m个矢量。
具体地, 编码端可以根据 k个子带量化的频谱系数确定候选频谱系数, 从候选频谱系数所属的矢量中选择 m个矢量。
上述候选频谱系数可以包括 k个子带归一化的频谱系数减去对应的 k个 子带量化的频谱系数所得到的频谱系数。
作为示例, 编码端可以从候选频谱系数所属的矢量中选择前 m个矢量, 其中候选频谱系数所属的矢量可以被划分为第一组矢量和第二组矢量, 第一 组矢量排在第二组矢量之前, 第一组矢量对应于 k个子带量化的频谱系数所 属的矢量中值为全 0的矢量, 第二组矢量对应于 k个子带量化的频谱系数所 属的矢量中值为非全 0的矢量。
下面将结合具体例子进行描述。 图 4是根据本发明实施例的确定二次编 码的矢量的过程的示意图。
在图 4中, 4叚设在第一次编码时, 编码端确定了 3个子带, 分别编号为 子带 1至子带 3。 子带 1至子带 3是按照低频到高频的顺序排列的。每个子带 中有 3个矢量, 可以分别编号为矢量 la至 li。 每个矢量中有 8个归一化的频 谱系数, 这些频谱系数的具体取值可以如图 4所示。 例如, 子带 1 中的矢量 la包含的归一化的频谱系数为 51151151。
在对 3 个子带的归一化的频谱系数进行量化, 得到量化的频谱系数, 量 化的频谱系数的具体取值如图 4所示。 其中, 有些频谱系数被量化为 0 , 有些 频谱系数被量化为非 0的值。 这些量化的频谱系数也属于 9个矢量, 可以分 别编号为矢量 2a至 2i。 例如, 对子带 1的矢量 la包含的 8个归一化的频谱 系数量化, 得到 8个量化的频谱系数为 40040240 , 其属于矢量 2a。 对子带 1 的矢量 lb包含的 8个归一化的频谱系数进行量化, 得到 8个量化的频谱系数 为 00000000 , 其属于矢量 2b。
利用归一化的频谱系数减去对应的量化的频谱系数, 得到候选频谱系数。 例如, 对于子带 1的矢量 la, 利用 8个归一化的频谱系数 51151151减去对应 的 8个量化的频谱系数为 40040240,得到新的频谱系数 1111-111。对于子带 1 的矢量 lb, 利用 8个归一化的频谱系数 11111111减去 8个量化的频谱系数 00000000, 得到新的频谱系数 11111111。 以此类推。 得到的全部的新频谱系 数就是候选频谱系数, 如图 4所示。
从上述可以看出, 候选频谱系数所属的矢量也可以理解为归一化的频谱 系数所属的矢量与量化的频谱系数所属的矢量相减得到的。 因此, 相应地, 这些候选频谱系数也属于 9个矢量, 为了与上述归一化的矢量和量化的矢量 相对应, 可以分别编号为 3a至 3i, 如图 4所示。 例如, 上述矢量 la减去量 化的矢量 2a得到矢量 3a, 矢量 lb减去量化的矢量 2b得到矢量 3b。
这 9个矢量可以由两组矢量组成, 第一组矢量中有 4个矢量, 即矢量 3b、 矢量 3e、 矢量 3g和矢量 3i。 第二组矢量中有 5个矢量, 即矢量 3a、 矢量 3c、 矢量 3d、 矢量 3f和矢量 3h。 第一组矢量是通过减去矢量 2a至 2i中值为全 0 的矢量得到的, 例如, 矢量 3b是矢量 lb减去值为全 0的矢量 2b得到的; 矢 量 3e是矢量 le减去值为全 0的 2e的矢量得到的; 以此类推。 第二组矢量是 通过减去矢量 2a至 2i中值为非全 0的矢量得到的。 例如, 矢量 3a是矢量 la 减去值为非全 0的矢量 lb得到的; 矢量 3c是矢量 lc减去值为非全 0的矢量 2c得到的; 以此类推。
如图 4所示, 每组矢量均可以是按照子带的频率从低频到高频的顺序排 列的, 且同一子带内的矢量可以是按照矢量原始顺序排列的。 例如, 在第一 组矢量中, 矢量 3b属于子带 1 , 矢量 3e属于子带 2, 矢量 3g和矢量 3i属于 子带 3。 在第二组矢量中, 矢量 3a和矢量 3c属于子带 1 , 矢量 3d和矢量 3f 属于子带 2, 矢量 3h属于子带 3。
编码端可以从第一组矢量和第二组矢量组成的这组矢量中, 选择前 m个 矢量作为二次编码的矢量。 例如, 可以选择前 3 个矢量进行二次编码, 即矢 量 3b、 矢量 3e和矢量 3g。 应理解, 上述图 4 中的具体数值仅仅是为了帮助本领域技术人员更好地 理解本发明实施例, 而非限制本发明实施例的范围。
此外, 除了图 4所示的每组矢量中各个矢量的排序方式外, 在每组矢量 中, 不同子带的矢量之间也可以是按照矢量所在子带量化的包络从大到小的 顺序排列的, 且同一子带内的矢量可以是按照矢量原始顺序排列的。
309, 编码端对 m个矢量的频谱系数进行归一化并量化。
对 m个矢量的频谱系数进行归一化以及量化的具体过程可以参照图 1的 实施例所描述的内容, 此处不再赘述。
310, 编码端写码流。
具体地, 编码端可以将一次编码得到的频谱系数、 二次编码得到的频谱 系数、 量化的全局增益以及各个子带量化的包络等的索引写入码流。 具体过 程可以参照现有技术, 此处不再赘述。
本发明实施例中, 通过根据可用比特数和第一饱和阔值确定将要编码的 子带数目 k, 并从各个子带中选择 k个子带来进行编码, 而非对整个频带进行 编码, 能够减少解码信号的频谱空洞, 从而能够提升输出信号的听觉质量。
解码的具体过程是图 3所示的编码过程的逆过程, 下面结合图 4的例子, 重点描述如何确定 m个矢量与 k个子带量化的频谱系数所属的矢量中第一类 矢量之间的——对应关系。 其它过程可以参照图 2 的实施例的过程, 不再赘 述。
例如, 对于解码端, 通过第一次解码可以得到矢量 2a至矢量 2i的频谱系 数。 假设根据剩余比特数和第二饱和阔值 j , 确定 m为 5。 那么解码端可以通 过第二次解码得到矢量 3b、 矢量 3e、 矢量 3g、 矢量 3i和矢量 3a这 5个矢量 的频谱系数。 由于解码端需要将这 5个矢量的频谱系数分别与矢量 2b、 矢量 2e、 矢量 2g、 矢量 2i和矢量 2a叠加, 但是, 解码端在解码得到矢量 3b、 矢 量 3e、 矢量 3g、 矢量 3i和矢量 3a后, 并不知道这 5个矢量与矢量 2a至矢量 2i中的哪 5个相对应。 因此, 解码端首先需要确定这 5个矢量分别与矢量 2b、 矢量 2e、 矢量 2g、 矢量 2i和矢量 2a之间的——对应关系, 即矢量 2b、 矢量 2e、 矢量 2g、 矢量 2i和矢量 2a为 k个子带量化的频谱系数所属的矢量中第 一类矢量, 然后将矢量 3b、 矢量 3e、 矢量 3g、 矢量 3i和矢量 3a这 5个矢量 的频谱系数分别与矢量 2b、 矢量 2e、 矢量 2g、 矢量 2i和矢量 2a的频谱系数 叠加。 具体地, 解码端可以按照图 2 的实施例所描述的方式确定, 此处不再 赘述。
图 5是根据本发明一个实施例的信号编码设备的示意框图。 图 5的设备 500的例子为语音或音频编码器。 设备 500包括确定单元 510、 选择单元 520 和编码单元 530。
确定单元 510根据可用比特数和第一饱和阔值 i, 确定将要编码的子带数 目 k, 其中 i为正数, k为正整数。 选择单元 520根据确定单元 510确定的子 带数目 k,根据各个子带量化的包络从各个子带中选择 k个子带, 或者根据心 理声学模型从各个子带中选择 k个子带。 编码单元 530对选择单元 520所选 择的 k个子带的频谱系数进行一次编码操作。
本发明实施例中, 通过根据可用比特数和第一饱和阔值确定将要编码的 子带数目 k, 并从各个子带中选择 k个子带来进行编码, 而非对整个频带进行 编码, 能够减少解码信号的频谱空洞, 从而能够提升输出信号的听觉质量。
可选地, 作为一个实施例, 编码单元 530可以对 k个子带的频语系数进 行归一化, 以得到 k个子带归一化的频谱系数, 并对 k个子带归一化的频谱 系数进行量化, 以得到 k个子带量化的频谱系数。
可选地, 作为另一实施例, 如果在一次编码操作后可用比特数中剩余的 比特数大于或等于第一比特数阔值, 则选择单元 520还可以根据剩余的比特 数、 第二饱和阔值 j和 k个子带量化的频谱系数, 确定将要二次编码的 m个 矢量, 其中 j为正数, m为正整数。 编码单元 530还可以对选择单元 520所确 定的 m个矢量的频谱系数进行二次编码操作。
可选地, 作为另一实施例, 选择单元 520可以根据剩余的比特数和第二 饱和阔值 j , 确定将要编码的矢量数目 m, 根据 k个子带量化的频谱系数确定 候选频谱系数, 从候选频谱系数所属的矢量中选择 m个矢量。 其中, 候选频 谱系数可以包括 k个子带归一化的频谱系数减去对应的 k个子带量化的频谱 系数所得到的频谱系数。
可选地, 作为另一实施例, 选择单元 520可以对候选频谱系数所属的矢 量进行排序, 以得到排序后的矢量。 选择单元 520 可以从排序后的矢量中选 择前 m个矢量。 其中, 排序后的矢量划分为第一组矢量和第二组矢量, 第一 组矢量排在第二组矢量之前, 第一组矢量对应于 k个子带量化的频谱系数所 属的矢量中值为全 0的矢量, 第二组矢量对应于 k个子带量化的频谱系数所 属的矢量中值为非全 0的矢量。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间可以是按照矢量所在子带的频率从低频到高频的顺序排 列的, 且同一子带内的矢量可以是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带量化的包络从大到小的顺序排列 的, 且同一子带内的矢量是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 选择单元 520可以按照候选频谱系数所属的 矢量所在的子带量化的包络从大到小的顺序, 从候选频谱系数所属的矢量中 选择 m个矢量。
可选地, 作为另一实施例, 编码单元 530可以确定 m个矢量的频谱系数 的全局增益, 使用 m个矢量的频谱系数的全局增益对 m个矢量的频谱系数进 行归一化, 对 m个矢量归一化的频谱系数进行量化。
可选地, 作为另一实施例, 编码单元 530可以确定第一组矢量的频谱系 数的全局增益和第二组矢量的频谱系数的全局增益, 使用第一组矢量的频谱 系数的全局增益对 m个矢量中属于第一组矢量的频谱系数进行归一化, 并使 用第二组矢量的频谱系数的全局增益对 m个矢量中属于第二组矢量的频谱系 数进行归一化, 对 m个矢量归一化的频谱系数进行量化。
可选地, 作为另一实施例, 选择单元 520可以按照下列等式(2 )确定 m。 可选地, 作为另一实施例, 确定单元 510可以按照下列等式(1 )确定 k。 可选地, 作为另一实施例, 如果信号为瞬态信号、 摩擦音信号或大周期 信号, 则确定单元 510可以根据可用比特数和第一饱和阔值 i, 确定将要编码 的子带数目 k。
图 5的设备 500的其它功能和操作可以参照上面图 1、图 3和图 4的方法 实施例中涉及编码端的过程, 为了避免重复, 此处不再赘述。
图 6是根据本发明一个实施例的信号解码设备的示意框图。 图 6的设备 600的例子为语音或音频解码器。 设备 600包括第一确定单元 610、 选择单元 620和解码单元 630。
第一确定单元 610根据可用比特数和第一饱和阔值 i, 确定将要解码的子 带数目 k, 其中 i为正数, k为正整数。 选择单元 620根据第一确定单元 610 确定的子带数目 k, 根据解码的各个子带的包络从各个子带中选择 k个子带, 或根据心理声学模型从各个子带中选择 k个子带。 解码单元 630进行一次解 码操作, 以得到选择单元 620选择的 k个子带量化的频谱系数。
本发明实施例中, 通过根据可用比特数和第一饱和阔值确定将要解码的 子带数目 k, 并从各个子带中选择 k个子带来进行解码, 能够减少解码信号的 频谱空洞, 从而能够提升输出信号的听觉质量。
可选地, 作为另一实施例, 如果在一次解码操作后可用比特数中剩余的 比特数大于或等于第一比特数阔值, 则第一确定单元 610还可以根据剩余的 比特数和第二饱和阔值 j , 确定将要二次解码的矢量数目 m, 其中 j为正数, m为正整数。 解码单元 630还可以进行二次解码操作, 以得到 m个矢量归一 化的频谱系数。
可选地, 作为另一实施例, 设备 600还可以包括第二确定单元 640。 第二 确定单元 640可以确定 m个矢量归一化的频谱系数与 k个子带量化的频谱系 数之间的对应关系。
可选地, 作为另一实施例, 第二确定单元 640可以确定 m个矢量与 k个 子带量化的频谱系数所属的矢量中第一类矢量之间的对应关系, 其中 m个矢 量与第一类矢量之间是一一对应的。
可选地, 作为另一实施例, 第二确定单元 640可以对 k个子带量化的频 谱系数所属的矢量进行排序,得到排序后的矢量;从排序后的矢量中选择前 m 个作为第一类矢量; 建立第一类矢量与 m个矢量之间的对应关系。 其中, 排 序后的矢量划分为第一组矢量和第二组矢量, 第一组矢量排列在第二组矢量 之前, 第一组矢量包括第一组解码的频谱系数所属的矢量中值为全 0的矢量, 第二组矢量包括第一组解码的频谱系数所属的矢量中值为非全 0的矢量。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带的频率从低频到高频的顺序排列 的, 且同一子带内的矢量是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带的包络从大到小的顺序排列的, 且 同一子带内的矢量是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 第二确定单元 640可以按照 k个子带量化的 频谱系数所属的矢量所在的子带的包络从大到小的顺序, 从 k个子带量化的 频谱系数所属的矢量中选择 m个作为第一类矢量; 建立第一类矢量与 m个矢 量之间的对应关系。
可选地, 作为另一实施例, 设备 600还可以包括修正单元 650。
解码单元 630可以解码 m个矢量的全局增益。
爹正单元 650可以使用 m个矢量的全局增益对 m个矢量归一化的频语系 数进行修正, 以得到 m个矢量的频谱系数。
可选地, 作为另一实施例, 解码单元 630可以解码第一全局增益和第二 全局增益。
修正单元 650可以使用第一全局增益对 m个矢量归一化的频谱系数中与 第一组矢量对应的频谱系数进行修正, 并使用第二全局增益对 m个矢量归一 化的频谱系数中与第二组矢量对应的频谱系数进行修正, 以得到 m个矢量的 频谱系数。
可选地, 作为另一实施例, 设备 600还可以包括叠加单元 660和恢复单 元 670。 叠加单元 660可以对 k个子带量化的频语系数和 m个矢量的频语系 数进行叠加, 得到 k个子带归一化的频谱系数。 恢复单元 670可以对 k个子 带归一化的频谱系数中值为 0的频谱系数进行噪声填充,并对各个子带中除 k 个子带之外的其它子带的频谱系数进行恢复, 以得到第一频带的频谱系数, 其中第一频带由各个子带组成。 修正单元 650可以使用各个子带的包络修正 第一频带的频谱系数, 得到第一频带归一化的频谱系数。 修正单元 650还可 以使用第一频带的全局增益对第一频带归一化的频谱系数进行修正, 以得到 最终的第一频带频域信号。
可选地, 作为另一实施例, 恢复单元 670可以才艮据核心层解码信息, 确 定加权值, 并使用加权值, 对在 k个子带归一化的频谱系数中与值为 0的频 谱系数相邻的频谱系数以及随机噪声进行加权。
可选地, 作为另一实施例, 恢复单元 670可以从核心层解码信息中获取 信号分类信息。 如果信号分类信息指示信号为摩擦音, 则恢复单元 670 可以 获取预定的加权值。 如果信号分类信息指示信号为除摩擦音之外的其它信号, 则恢复单元 670 可以从核心层解码信息中获取基音周期, 并根据基音周期确 定力口权值。
可选地, 作为另一实施例, 恢复单元 670可以从各个子带中选择与上述 其它子带相邻的 n个子带, 并根据 n个子带的频谱系数对上述其它子带的频 谱系数进行恢复, 其中 n为正整数。 或者, 恢复单元 670可以从 k个子带中 选择 p个子带, 并根据 p个子带的频谱系数对上述其它子带的频谱系数进行 恢复, 其中 p个子带中每个子带被分配的比特数大于或等于第二比特数阔值, 其中 p为正整数。
可选地, 作为另一实施例, 第一确定单元 610可以按照下列等式(2 )确 定 m。
可选地, 作为另一实施例, 第一确定单元 610可以按照下列等式(1 )确 定 。
可选地, 作为另一实施例, 如果信号为瞬态信号、 摩擦音信号或大周期 信号, 则第一确定单元 610可以根据可用比特数和第一饱和阔值 i, 确定将要 解码的子带数目 k。
图 6的设备 600的其它功能和操作可以参照上面图 2的方法实施例中涉 及编码端的过程, 为了避免重复, 此处不再赘述。
图 7是根据本发明另一实施例的信号编码设备的示意框图。 图 7的设备 700的例子为语音或音频编码器。 设备 700包括存储器 710和处理器 720。
存储器 710可以包括随机存储器、 闪存、 只读存储器、 可编程只读存储 器、 非易失性存储器或寄存器等。 处理器 720 可以是中央处理器 (Central Processing Unit, CPU )„
存储器 710用于存储可执行指令。 处理器 720可以执行存储器 710中存 储的可执行指令, 用于: 根据可用比特数和第一饱和阔值 i, 确定将要编码的 子带数目 k, 其中 i为正数, k为正整数; 根据各个子带量化的包络从各个子 带中选择 k个子带, 或者根据心理声学模型从各个子带中选择 k个子带; 对 k 个子带的频谱系数进行一次编码操作。
本发明实施例中, 通过根据可用比特数和第一饱和阔值确定将要编码的 子带数目 k, 并从各个子带中选择 k个子带来进行编码, 而非对整个频带进行 编码, 能够减少解码信号的频谱空洞, 从而能够提升输出信号的听觉质量。
可选地, 作为一个实施例, 处理器 720可以对 k个子带的频谱系数进行 归一化, 以得到 k个子带归一化的频谱系数, 并对 k个子带归一化的频谱系 数进行量化, 以得到 k个子带量化的频谱系数。
可选地, 作为另一实施例, 如果在一次编码后可用比特数中剩余的比特 数大于或等于第一比特数阔值, 则处理器 720 还可以根据剩余的比特数、 第 二饱和阔值 j和 k个子带量化的频谱系数, 确定将要二次编码的 m个矢量, 其中 j为正数, m为正整数。 处理器 720还可以对 m个矢量的频谱系数进行 二次编码操作。
可选地, 作为另一实施例, 处理器 720可以根据剩余的比特数和第二饱 和阔值 j , 确定将要编码的矢量数目 m, 根据 k个子带量化的频谱系数确定候 选频谱系数, 从候选频谱系数所属的矢量中选择 m个矢量。 候选频谱系数可 以包括 k个子带归一化的频谱系数减去对应的 k个子带量化的频谱系数所得 到的频谱系数。
可选地, 作为另一实施例, 处理器 720 可以对候选频谱系数所属的矢量 进行排序, 以得到排序后的矢量, 从排序后的矢量中选择前 m个矢量。 其中, 排序后的矢量划分为第一组矢量和第二组矢量, 第一组矢量排在第二组矢量 之前, 第一组矢量对应于 k个子带量化的频谱系数所属的矢量中值为全 0的 矢量, 第二组矢量对应于 k个子带量化的频谱系数所属的矢量中值为非全 0 的矢量。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间可以是按照矢量所在子带的频率从低频到高频的顺序排 列的, 且同一子带内的矢量可以是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带量化的包络从大到小的顺序排列 的, 且同一子带内的矢量是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 处理器 720 可以按照候选频谱系数所属的矢 量所在的子带量化的包络从大到小的顺序, 从候选频谱系数所属的矢量中选 择 m个矢量。
可选地, 作为另一实施例, 处理器 720可以确定 m个矢量的频谱系数的 全局增益, 使用 m个矢量的频谱系数的全局增益对 m个矢量的频谱系数进行 归一化, 对 m个矢量归一化的频谱系数进行量化。
可选地, 作为另一实施例, 处理器 720可以确定第一组矢量的频谱系数 的全局增益和第二组矢量的频谱系数的全局增益, 使用第一组矢量的频谱系 数的全局增益对 m个矢量中属于第一组矢量的频谱系数进行归一化, 并使用 第二组矢量的频谱系数的全局增益对 m个矢量中属于第二组矢量的频谱系数 进行归一化, 对 m个矢量归一化的频谱系数进行量化。
可选地, 作为另一实施例, 处理器 720可以按照下列等式(2 )确定 m。 可选地, 作为另一实施例, 处理器 720可以按照下列等式(1 )确定 k。 可选地, 作为另一实施例, 如果信号为瞬态信号、 摩擦音信号或大周期 信号, 则处理器 720可以根据可用比特数和第一饱和阔值 i, 确定将要编码的 子带数目 k。
图 7的设备 700的其它功能和操作可以参照上面图 1、图 3和图 4的方法 实施例中涉及编码端的过程, 为了避免重复, 此处不再赘述。
图 8是根据本发明另一实施例的信号解码设备的示意框图。 图 6的设备 800的例子为语音或音频解码器。 设备 800包括存储器 810和处理器 820。
存储器 810可以包括随机存储器、 闪存、 只读存储器、 可编程只读存储 器、 非易失性存储器或寄存器等。 处理器 820 可以是中央处理器 (Central Processing Unit, CPU )„
存储器 810用于存储可执行指令。 处理器 820可以执行存储器 810中存 储的可执行指令, 用于: 根据可用比特数和第一饱和阔值 i, 确定将要解码的 子带数目 k, 其中 i为正数, k为正整数; 根据子带数目 k, 根据解码的各个 子带的包络从各个子带中选择 k个子带, 或根据心理声学模型从各个子带中 选择 k个子带; 进行一次解码操作, 以得到 k个子带量化的频谱系数。 本发明实施例中, 通过根据可用比特数和第一饱和阔值确定将要解码的 子带数目 k, 并从各个子带中选择 k个子带来进行解码, 能够减少解码信号的 频谱空洞, 从而能够提升输出信号的听觉质量。
可选地, 作为另一实施例, 如果在一次解码操作后可用比特数中剩余的 比特数大于或等于第一比特数阔值, 则处理器 820还可以根据剩余的比特数 和第二饱和阔值 j , 确定将要二次解码的矢量数目 m, 其中 j为正数, m为正 整数。 处理器 820还可以进行二次解码操作, 以得到 m个矢量归一化的频谱 系数。
可选地, 作为另一实施例, 处理器 820可以确定 m个矢量归一化的频谱 系数与 k个子带量化的频谱系数之间的对应关系。
可选地, 作为另一实施例, 处理器 820可以确定 m个矢量与 k个子带量 化的频谱系数所属的矢量中第一类矢量之间的对应关系, 其中 m个矢量与第 一类矢量之间是一一对应的。
可选地, 作为另一实施例, 处理器 820可以对 k个子带量化的频谱系数 所属的矢量进行排序, 得到排序后的矢量, 可以从排序后的矢量中选择前 m 个作为第一类矢量, 并可以建立第一类矢量与 m个矢量之间的对应关系。 其 中, 排序后的矢量划分为第一组矢量和第二组矢量, 第一组矢量排列在第二 组矢量之前, 第一组矢量包括第一组解码的频谱系数所属的矢量中值为全 0 的矢量, 第二组矢量包括第一组解码的频谱系数所属的矢量中值为非全 0 的 矢量。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带的频率从低频到高频的顺序排列 的, 且同一子带内的矢量是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 在第一组矢量和第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带的包络从大到小的顺序排列的, 且 同一子带内的矢量是按照矢量原始顺序排列的。
可选地, 作为另一实施例, 处理器 820可以按照 k个子带量化的频谱系 数所属的矢量所在的子带的包络从大到小的顺序, 从 k个子带量化的频谱系 数所属的矢量中选择 m个作为第一类矢量; 建立第一类矢量与 m个矢量之间 的对应关系。
可选地, 作为另一实施例, 处理器 820可以解码 m个矢量的全局增益, 并使用 m个矢量的全局增益对 m个矢量归一化的频谱系数进行修正, 以得到 m个矢量的频谱系数。
可选地, 作为另一实施例, 处理器 820 可以解码第一全局增益和第二全 局增益, 并使用第一全局增益对 m个矢量归一化的频谱系数中与第一组矢量 对应的频谱系数进行修正, 并使用第二全局增益对 m个矢量归一化的频谱系 数中与第二组矢量对应的频谱系数进行修正, 以得到 m个矢量的频谱系数。
可选地, 作为另一实施例, 处理器 820可以对 k个子带量化的频谱系数 和 m个矢量的频谱系数进行叠加, 得到 k个子带归一化的频谱系数。 处理器 820可以对 k个子带归一化的频谱系数中值为 0的频谱系数进行噪声填充,并 对各个子带中除 k个子带之外的其它子带的频谱系数进行恢复, 以得到第一 频带的频谱系数, 其中第一频带由各个子带组成。 处理器 820可以使用各个 子带的包络修正第一频带的频谱系数, 得到第一频带归一化的频谱系数。 处 理器 820还可以使用第一频带的全局增益对第一频带归一化的频谱系数进行 修正, 以得到最终的第一频带频域信号。
可选地, 作为另一实施例, 处理器 820可以才艮据核心层解码信息, 确定 加权值, 并使用加权值, 对在 k个子带归一化的频谱系数中与值为 0的频谱 系数相邻的频谱系数以及随机噪声进行加权。
可选地, 作为另一实施例, 处理器 820 可以从核心层解码信息中获取信 号分类信息。 如果信号分类信息指示信号为摩擦音, 则处理器 820可以获取 预定的加权值。 如果信号分类信息指示信号为除摩擦音之外的其它信号, 则 处理器 820 可以从核心层解码信息中获取基音周期, 并根据基音周期确定加 权值。
可选地, 作为另一实施例, 处理器 820 可以从各个子带中选择与上述其 它子带相邻的 n个子带, 并根据 n个子带的频谱系数对上述其它子带的频谱 系数进行恢复, 其中 n为正整数。 或者, 处理器 820可以从 k个子带中选择 p 个子带, 并根据 p个子带的频谱系数对上述其它子带的频谱系数进行恢复, 其中 p个子带中每个子带被分配的比特数大于或等于第二比特数阔值,其中 p 为正整数。
可选地, 作为另一实施例, 处理器 820可以按照下列等式(2 )确定 m。 可选地, 作为另一实施例, 处理器 820可以按照下列等式(1 )确定 k。 可选地, 作为另一实施例, 如果信号为瞬态信号、 摩擦音信号或大周期 信号, 则处理器 820可以根据可用比特数和第一饱和阔值 i, 确定将要解码的 子带数目 k。
图 8的设备 800的其它功能和操作可以参照上面图 2的方法实施例中涉 及编码端的过程, 为了避免重复, 此处不再赘述。
本领域普通技术人员可以意识到, 结合本文中所公开的实施例描述的各 示例的单元及算法步骤, 能够以电子硬件、 或者计算机软件和电子硬件的结 合来实现。 这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特 定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使用不同方 法来实现所描述的功能, 但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到, 为描述的方便和简洁, 上述描 述的系统、 装置和单元的具体工作过程, 可以参考前述方法实施例中的对应 过程, 在此不再赘述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统、 装置和 方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示 意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可 以有另外的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个 系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口, 装置或单元的间接耦合 或通信连接, 可以是电性, 机械或其它的形式。 为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个单 元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用 时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明的 技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可 以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者 网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。 而前述的 存储介质包括: U盘、 移动硬盘、 只读存储器(ROM, Read-Only Memory ), 随机存取存储器(RAM, Random Access Memory )、磁碟或者光盘等各种可以 存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应以所述权利要求的保护范围为准。

Claims

权 利 要 求 书
1. 一种信号编码方法, 其特征在于, 包括:
根据可用比特数和第一饱和阔值 i, 确定将要编码的子带数目 k, 其中 i 为正数, k为正整数;
根据各个子带量化的包络从所述各个子带中选择 k个子带, 或者根据心 理声学模型从所述各个子带中选择 k个子带;
对所述 k个子带的频谱系数进行一次编码操作。
2. 根据权利要求 1所述的方法, 其特征在于, 所述对所述 k个子带的频 谱系数进行一次编码操作, 包括:
对所述 k个子带的频谱系数进行归一化, 以得到所述 k个子带归一化的 频谱系数;
对所述 k个子带归一化的频谱系数进行量化, 以得到所述 k个子带量化 的频谱系数。
3. 根据权利要求 2所述的方法, 其特征在于, 所述方法还包括: 如果在所述一次编码操作后所述可用比特数中剩余的比特数大于或等于 第一比特数阔值, 则根据所述剩余的比特数、第二饱和阔值 j和所述 k个子带 量化的频谱系数, 确定将要二次编码的 m个矢量, 其中 j为正数, m为正整 数;
对所述 m个矢量的频谱系数进行二次编码操作。
4. 根据权利要求 3所述的方法, 其特征在于, 所述根据所述剩余的比特 数、所述第二饱和阔值 j和所述 k个子带量化的频谱系数,确定将要二次编码 的 m个矢量, 包括:
根据所述剩余的比特数和所述第二饱和阔值 j, 确定将要二次编码的矢量 数目 m;
根据所述 k个子带量化的频谱系数确定候选频谱系数, 所述候选频谱系 数包括所述 k个子带归一化的频谱系数减去对应的所述 k个子带量化的频谱 系数所得到的频谱系数;
从所述候选频谱系数所属的矢量中选择所述 m个矢量。
5. 根据权利要求 4所述的方法, 其特征在于, 所述从所述候选频谱系数 所属的矢量中选择所述 m个矢量, 包括:
对所述候选频谱系数所属的矢量进行排序, 以得到排序后的矢量; 从所述排序后的矢量中选择前 m个矢量;
其中, 所述排序后的矢量被划分为第一组矢量和第二组矢量, 所述第一 组矢量排在所述第二组矢量之前, 所述第一组矢量对应于所述 k个子带量化 的频谱系数所属的矢量中值为全 0的矢量, 所述第二组矢量对应于所述 k个 子带量化的频谱系数所属的矢量中值为非全 0的矢量。
6. 根据权利要求 5所述的方法, 其特征在于, 在所述第一组矢量和所述 第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带的频 率从低频到高频的顺序排列的, 且同一子带内的矢量是按照矢量原始顺序排 列的。
7. 根据权利要求 5所述的方法, 其特征在于, 在所述第一组矢量和所述 第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带量化 的包络从大到小的顺序排列的, 且同一子带内的矢量是按照矢量原始顺序排 列的。
8. 根据权利要求 4所述的方法, 其特征在于, 所述从所述候选频谱系数 所属的矢量中选择所述 m个矢量, 包括:
按照所述候选频谱系数所属的矢量所在的子带量化的包络从大到小的顺 序, 从所述候选频谱系数所属的矢量中选择 m个矢量。
9. 根据权利要求 3至 8中任一项所述的方法, 其特征在于, 所述对所述 m个矢量的频谱系数进行二次编码操作, 包括:
确定所述 m个矢量的频谱系数的全局增益;
使用所述 m个矢量的频谱系数的全局增益对所述 m个矢量的频谱系数进 行归一化;
对所述 m个矢量归一化的频谱系数进行量化。
10. 根据权利要求 5至 7中任一项所述的方法, 其特征在于, 所述对所 述 m个矢量的频谱系数进行二次编码操作, 包括:
确定所述第一组矢量的频谱系数的全局增益和所述第二组矢量的频谱系 数的全局增益; 使用所述第一组矢量的频谱系数的全局增益对所述 m个矢量中属于所述 第一组矢量的频谱系数进行归一化, 并使用所述第二组矢量的频谱系数的全 局增益对所述 m个矢量中属于所述第二组矢量的频谱系数进行归一化;
对所述 m个矢量归一化的频谱系数进行量化。
11. 根据权利要求 4至 10中任一项所述的方法, 其特征在于, 所述根据 所述剩余的比特数和所述第二饱和阔值 j , 确定将要二次编码的矢量数目 m, 包括:
按照下列等式确定 m:
m = LC jxM) + 0.5丄
其中, C表示剩余的比特数, M表示每个矢量所包含的频谱系数数目。
12. 根据权利要求 1至 11中任一项所述的方法, 其特征在于, 所述根据 可用比特数和第一饱和阔值 i, 确定将要编码的子带数目 k, 包括:
按照下列等式确定 k:
k = [B/(i xL) + 0.5j,
其中, B表示可用比特数, L表示每个子带所包含的频谱系数数目。
13. 根据权利要求 1至 12中任一项所述的方法, 其特征在于, 所述根据 可用比特数和第一饱和阔值 i, 确定将要编码的子带数目 k, 包括:
如果信号为瞬态信号、 摩擦音信号或大周期信号, 则根据可用比特数和 第一饱和阔值 i, 确定将要编码的子带数目 k。
14. 一种信号解码方法, 其特征在于, 包括:
根据可用比特数和第一饱和阔值 i, 确定将要解码的子带数目 k, 其中 i 为正数, k为正整数;
根据解码的各个子带的包络从所述各个子带中选择 k个子带, 或根据心 理声学模型从所述各个子带中选择 k个子带;
进行一次解码操作, 以得到所述 k个子带量化的频谱系数。
15. 根据权利要求 14所述的方法, 其特征在于, 所述方法还包括: 如果在所述一次解码操作后所述可用比特数中剩余的比特数大于或等于 第一比特数阔值, 则根据所述剩余的比特数和所述第二饱和阔值 j , 确定将要 二次解码的矢量数目 m, 其中 j为正数, m为正整数;
进行二次解码操作, 以得到所述 m个矢量归一化的频谱系数。
16. 根据权利要求 15所述的方法, 其特征在于, 所述方法还包括: 确定所述 m个矢量归一化的频谱系数与所述 k个子带量化的频谱系数之 间的对应关系。
17. 根据权利要求 16所述的方法, 其特征在于, 所述确定所述 m个矢量 归一化的频谱系数与所述 k个子带量化的频谱系数之间的对应关系, 包括: 确定所述 m个矢量与所述 k个子带量化的频谱系数所属的矢量中第一类 矢量之间的对应关系, 其中所述 m个矢量与所述第一类矢量之间是——对应 的。
18. 根据权利要求 17所述的方法, 其特征在于, 所述确定所述 m个矢量 与所述 k个子带量化的频谱系数所属的矢量中的第一类矢量之间的对应关系, 包括:
对所述 k个子带量化的频谱系数所属的矢量进行排序, 得到排序后的矢 量;
从所述排序后的矢量中选择前 m个作为所述第一类矢量;
建立所述第一类矢量与所述 m个矢量之间的对应关系;
其中, 所述排序后的矢量划分为第一组矢量和第二组矢量, 所述第一组 矢量排列在所述第二组矢量之前, 所述第一组矢量包括所述第一组解码的频 谱系数所属的矢量中值为全 0 的矢量, 所述第二组矢量包括所述第一组解码 的频谱系数所属的矢量中值为非全 0的矢量。
19. 根据权利要求 18所述的方法, 其特征在于, 在所述第一组矢量和所 述第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带的 频率从低频到高频的顺序排列的, 且同一子带内的矢量是按照矢量原始顺序 排列的。
20. 根据权利要求 18所述的方法, 其特征在于, 在所述第一组矢量和所 述第二组矢量中的每组矢量中, 不同子带的矢量之间是按照矢量所在子带的 包络从大到小的顺序排列的, 且同一子带内的矢量是按照矢量原始顺序排列 的。
21. 根据权利要求 17所述的方法, 其特征在于, 所述确定所述 m个矢量 与所述 k个子带量化的频谱系数所属的矢量中的第一类矢量之间的对应关系, 包括:
按照所述 k个子带量化的频谱系数所属的矢量所在的子带的包络从大到 小的顺序, 从所述 k个子带量化的频谱系数所属的矢量中选择 m个作为所述 第一类矢量;
建立所述第一类矢量与所述 m个矢量之间的对应关系。
22. 根据权利要求 16至 21 中任一项所述的方法, 其特征在于, 所述方 法还包括:
解码所述 m个矢量的全局增益;
使用所述 m个矢量的全局增益对所述 m个矢量归一化的频谱系数进行修 正, 以得到所述 m个矢量的频谱系数。
23. 根据权利要求 18至 20中任一项所述的方法, 其特征在于, 所述方 法还包括:
解码第一全局增益和第二全局增益;
使用所述第一全局增益对所述 m个矢量归一化的频谱系数中与所述第一 组矢量对应的频谱系数进行修正, 并使用所述第二全局增益对所述 m个矢量 归一化的频谱系数中与所述第二组矢量对应的频谱系数进行修正, 以得到所 述 m个矢量的频谱系数。
24. 根据权利要求 22或 23所述的方法, 其特征在于, 所述方法还包括: 对所述 k个子带量化的频谱系数和所述 m个矢量的频谱系数进行叠加, 得到所述 k个子带归一化的频谱系数;
对所述 k个子带归一化的频谱系数中值为 0的频谱系数进行噪声填充, 并对所述各个子带中除 k个子带之外的其它子带的频谱系数进行恢复, 以得 到第一频带的频谱系数, 其中所述第一频带由所述各个子带组成;
使用所述各个子带的包络修正所述第一频带的频谱系数, 得到所述第一 频带归一化的频谱系数; 使用所述第一频带的全局增益对所述第一频带归一 化的频谱系数进行修正, 以得到最终的第一频带频域信号。
25. 根据权利要求 24所述的方法, 其特征在于, 所述对所述 k个子带量 化的频谱系数和所述 m个矢量的频谱系数进行叠加, 得到所述 k个子带归一 化的频谱系数, 包括: 根据所述 m个矢量归一化的频谱系数与所述 k个子带量化的频谱系数之 间的对应关系, 对所述 m个矢量的频谱系数和所述 k个子带量化的频谱系数 进行叠力口。
26. 根据权利要求 24或 25所述的方法, 其特征在于, 所述对所述 k个 子带归一化的频谱系数中值为 0的频谱系数进行噪声填充, 包括:
根据核心层解码信息, 确定加权值;
使用所述加权值, 对在所述 k个子带归一化的频谱系数中与所述值为 0 的频谱系数相邻的频谱系数以及随机噪声进行加权。
27. 根据权利要求 26所述的方法, 其特征在于, 所述根据核心层解码信 息, 确定加权值, 包括:
从所述核心层解码信息中获取信号分类信息;
如果所述信号分类信息指示信号为摩擦音, 则获取预定的加权值; 如果所述信号分类信息指示信号为除摩擦音之外的其它信号, 则从所述 核心层解码信息中获取基音周期, 并根据所述基音周期确定加权值。
28. 根据权利要求 24至 27中任一项所述的方法, 其特征在于, 所述对 从所述各个子带中选择与所述 k个子带之外的其它子带相邻的 n个子带, 并根据所述 n个子带的频谱系数对所述 k个子带之外的其它子带的频谱系数 进行恢复, 其中 n为正整数; 或者,
从所述 k个子带中选择 p个子带, 并根据所述 p个子带的频谱系数对所 述 k个子带之外的其它子带的频谱系数进行恢复, 其中所述 p个子带中每个 子带被分配的比特数大于或等于第二比特数阔值, 其中 p为正整数。
29. 根据权利要求 15至 28中任一项所述的方法, 其特征在于, 所述根 据所述剩余的比特数和所述第二饱和阔值 j ,确定将要二次解码的矢量数目 m, 包括:
按照下列等式确定 m:
m = LC jxM) + 0.5丄
其中, C表示剩余的比特数, M表示每个矢量所包含的频谱系数数目。
30. 根据权利要求 14至 29中任一项所述的方法, 其特征在于, 所述根 据可用比特数和第一饱和阔值 i, 确定将要解码的子带数目 k, 包括: 按照下列等式确定 k:
k = [B/(i xL) + 0.5j,
其中, B表示可用比特数, L表示每个子带所包含的频谱系数数目。
31. 根据权利要求 14至 30中任一项所述的方法, 其特征在于, 所述根 据可用比特数和第一饱和阔值 i, 确定将要解码的子带数目 k, 包括:
如果信号为瞬态信号、 摩擦音信号或大周期信号, 则根据可用比特数和 第一饱和阔值 i, 确定将要解码的子带数目 k。
32. 一种信号编码设备, 其特征在于, 包括:
确定单元, 用于根据可用比特数和第一饱和阔值 i, 确定将要编码的子带 数目 k, 其中 i为正数, k为正整数;
选择单元, 用于根据所述确定单元确定的所述子带数目 k, 根据各个子带 量化的包络从所述各个子带中选择 k个子带, 或者根据心理声学模型从所述 各个子带中选择 k个子带;
编码单元, 用于对所述选择单元所选择的 k个子带的频谱系数进行一次 编码操作。
33. 根据权利要求 32所述的设备,其特征在于, 所述编码单元具体用于: 对所述 k个子带的频谱系数进行归一化, 以得到所述 k个子带的归一化的频 谱系数; 对所述 k个子带归一化的频谱系数进行量化, 以得到所述 k个子带 量化的频谱系数。
34. 根据权利要求 33所述的设备, 其特征在于,
所述选择单元, 还用于如果在所述一次编码操作后所述可用比特数中剩 余的比特数大于或等于第一比特数阔值, 则根据所述剩余的比特数、 第二饱 和阔值 j和所述 k个子带量化的频谱系数, 确定将要二次编码的 m个矢量, 其中 j为正数, m为正整数;
所述编码单元, 还用于对所述选择单元所确定的所述 m个矢量的频谱系 数进行二次编码操作。
35. 根据权利要求 34所述的设备,其特征在于, 所述选择单元具体用于: 根据所述剩余的比特数和所述第二饱和阔值 j , 确定将要编码的矢量数目 m; 根据所述 k个子带量化的频谱系数确定候选频谱系数, 所述候选频谱系数包 括所述 k个子带归一化的频谱系数减去对应的所述 k个子带量化的频谱系数 所得到的频谱系数; 从所述候选频谱系数所属的矢量中选择所述 m个矢量。
36. 根据权利要求 35所述的设备,其特征在于, 所述选择单元具体用于: 对所述候选频谱系数所属的矢量进行排序, 以得到排序后的矢量; 从所述排 序后的矢量中选择前 m个矢量; 其中, 所述排序后的矢量划分为第一组矢量 和第二组矢量, 所述第一组矢量排在所述第二组矢量之前, 所述第一组矢量 对应于所述 k个子带量化的频谱系数所属的矢量中值为全 0的矢量, 所述第 二组矢量对应于所述 k个子带量化的频谱系数所属的矢量中值为非全 0的矢 量。
37. 根据权利要求 35所述的设备, 其特征在于, 所述选择单元具体用于 按照所述候选频谱系数所属的矢量所在的子带量化的包络从大到小的顺序, 从所述候选频谱系数所属的矢量中选择 m个矢量。
38. 根据权利要求 34至 37中任一项所述的设备, 其特征在于, 所述编 码单元具体用于: 确定所述 m个矢量的频谱系数的全局增益; 使用所述 m个 矢量的频谱系数的全局增益对所述 m个矢量的频谱系数进行归一化; 对所述 m个矢量归一化的频谱系数进行量化。
39. 根据权利要求 36所述的设备,其特征在于, 所述编码单元具体用于: 确定所述第一组矢量的频谱系数的全局增益和所述第二组矢量的频谱系数的 全局增益; 使用所述第一组矢量的频谱系数的全局增益对所述 m个矢量中属 于所述第一组矢量的频谱系数进行归一化, 并使用所述第二组矢量的频谱系 数的全局增益对所述 m 个矢量中属于所述第二组矢量的频谱系数进行归一 化; 对所述 m个矢量归一化的频谱系数进行量化。
40. 根据权利要求 35至 39中任一项所述的设备, 其特征在于, 所述选 择单元具体用于按照下列等式确定 m:
m = LC/G x M) + 0.5」,
其中, C表示剩余的比特数, M表示每个矢量所包含的频谱系数数目。
41. 根据权利要求 32至 40中任一项所述的设备, 其特征在于, 所述确 定单元具体用于按照下列等式确定 k:
k = [B/(i xL) + 0.5j, 其中, B表示可用比特数, L表示每个子带所包含的频谱系数数目。
42. 根据权利要求 32至 41 中任一项所述的设备, 其特征在于, 所述确 定单元具体用于如果信号为瞬态信号、 摩擦音信号或大周期信号, 则根据可 用比特数和第一饱和阔值 i, 确定将要编码的子带数目 k。
43. —种信号解码设备, 其特征在于, 包括:
第一确定单元, 用于根据可用比特数和第一饱和阔值 i, 确定将要解码的 子带数目 k, 其中 i为正数, k为正整数;
选择单元, 用于根据所述第一确定单元确定的所述子带数目 k,根据解码 的各个子带的包络从所述各个子带中选择 k个子带, 或根据心理声学模型从 所述各个子带中选择 k个子带;
解码单元, 用于进行一次解码操作, 以得到所述选择单元所选择的所述 k 个子带量化的频谱系数。
44. 根据权利要求 43所述的设备, 其特征在于,
所述第一确定单元, 还用于如果在所述一次解码后所述可用比特数中剩 余的比特数大于或等于第一比特数阔值, 则根据所述剩余的比特数、 所述第 二饱和阔值 j 和所述第一组解码的频谱系数, 确定将要二次解码的矢量数目 m, 其中 j为正数, m为正整数;
所述解码单元, 还用于进行二次解码操作, 以得到所述 m个矢量归一化 的频谱系数。
45. 根据权利要求 44所述的设备, 其特征在于, 还包括:
第二确定单元, 用于确定所述 m个矢量归一化的频谱系数与所述 k个子 带量化的频谱系数之间的对应关系。
46. 根据权利要求 45所述的设备, 其特征在于, 所述第二确定单元具体 用于确定所述 m个矢量与所述 k个子带量化的频谱系数所属的矢量中第一类 矢量之间的对应关系, 其中所述 m个矢量与所述第一类矢量之间是——对应 的。
47. 根据权利要求 46所述的设备, 其特征在于, 所述第二确定单元具体 用于对所述 k个子带量化的频谱系数所属的矢量进行排序, 得到排序后的矢 量; 从所述排序后的矢量中选择前 m个作为所述第一类矢量; 建立所述第一 类矢量与所述 m个矢量之间的对应关系; 其中, 所述排序后的矢量划分为第 一组矢量和第二组矢量, 所述第一组矢量排列在所述第二组矢量之前, 所述 第一组矢量包括所述第一组解码的频谱系数所属的矢量中值为全 0 的矢量, 所述第二组矢量包括所述第一组解码的频谱系数所属的矢量中值为非全 0 的 矢量。
48. 根据权利要求 46所述的设备, 其特征在于, 所述第二确定单元具体 用于按照所述 k个子带量化的频谱系数所属的矢量所在的子带的包络从大到 小的顺序, 从所述 k个子带量化的频谱系数所属的矢量中选择 m个作为所述 第一类矢量; 建立所述第一类矢量与所述 m个矢量之间的对应关系。
49. 根据权利要求 44至 48中任一项所述的设备, 其特征在于, 还包括 修正单元;
所述解码单元还用于解码所述 m个矢量的全局增益;
所述修正单元, 用于使用所述 m个矢量的全局增益对所述 m个矢量归一 化的频谱系数进行修正, 以得到所述 m个矢量的频谱系数。
50. 根据权利要求 47所述的设备, 其特征在于, 还包括修正单元; 所述解码单元还用于解码第一全局增益和第二全局增益;
所述修正单元, 用于使用所述第一全局增益对所述 m个矢量归一化的频 谱系数中与所述第一组矢量对应的频谱系数进行修正, 并使用所述第二全局 增益对所述 m个矢量归一化的频谱系数中与所述第二组矢量对应的频谱系数 进行修正, 以得到所述 m个矢量的频谱系数。
51. 根据权利要求 49或 50所述的设备, 其特征在于, 还包括叠加单元 和恢复单元:
所述叠加单元, 用于对所述 k个子带量化的频谱系数和所述 m个矢量的 频谱系数进行叠加, 得到 k个子带的频谱系数;
所述恢复单元, 用于对所述 k个子带归一化的频谱系数中值为 0的频谱 系数进行噪声填充, 并对所述各个子带中除 k个之外的其它子带的频谱系数 进行恢复, 以得到第一频带的频谱系数, 其中所述第一频带由所述各个子带 组成;
所述修正单元, 还用于使用所述各个子带的包络修正所述第一频带的频 谱系数, 得到所述第一频带归一化的频谱系数;
所述修正单元, 还用于使用所述第一频带的全局增益对所述第一频带归 一化的频谱系数进行修正, 以得到最终的第一频带频域信号。
52. 根据权利要求 51所述的设备, 其特征在于, 所述叠加单元具体用于 根据所述 m个矢量归一化的频谱系数与所述 k个子带量化的频谱系数之间的 对应关系, 对所述 m个矢量的频谱系数和所述 k个子带量化的频谱系数进行 叠力口。
53. 根据权利要求 51或 52所述的设备, 其特征在于, 所述恢复单元具 体用于: 根据核心层解码信息, 确定加权值; 使用所述加权值, 对在所述 k 个子带归一化的频谱系数中与所述值为 0 的频谱系数相邻的频谱系数以及随 机噪声进行力口权。
54. 根据权利要求 53所述的设备,其特征在于, 所述恢复单元具体用于: 从所述核心层解码信息中获取信号分类信息; 如果所述信号分类信息指示信 号为摩擦音, 则获取预定的加权值; 如果所述信号分类信息指示信号为除摩 擦音之外的其它信号, 则从所述核心层解码信息中获取基音周期, 并根据所 述基音周期确定加权值。
55. 根据权利要求 51至 54中任一项所述的设备, 其特征在于, 所述恢 复单元具体用于从所述各个子带中选择与所述 k个子带之外的其它子带相邻 的 n个子带, 并根据所述 n个子带的频谱系数对所述 k个子带之外的其它子 带的频谱系数进行恢复, 其中 n为正整数; 或者, 从所述 k个子带中选择 p 个子带, 并根据所述 p个子带的频谱系数对所述 k个子带之外的其它子带的 频谱系数进行恢复, 其中所述 p个子带中每个子带被分配的比特数大于或等 于第二比特数阔值, 其中 p为正整数。
56. 根据权利要求 44至 55中任一项所述的设备, 其特征在于, 所述第 一确定单元具体用于按照下列等式确定 m:
m = LC/GxM) + 0.5」,
其中, C表示剩余的比特数, M表示每个矢量所包含的频谱系数数目。
57. 根据权利要求 43至 56中任一项所述的设备, 其特征在于, 所述第 一确定单元具体用于按照下列等式确定 k:
k = [B/(i xL) + 0.5j, 其中, B表示可用比特数, L表示每个子带所包含的频谱系数数目。
58. 根据权利要求 43至 57中任一项所述的设备, 其特征在于, 所述第 一确定单元具体用于如果信号为瞬态信号、 摩擦音信号或大周期信号, 则根 据可用比特数和第一饱和阔值 i, 确定将要解码的子带数目 k。
PCT/CN2014/080682 2013-07-01 2014-06-25 信号编码和解码方法以及设备 WO2015000373A1 (zh)

Priority Applications (15)

Application Number Priority Date Filing Date Title
RU2015156053A RU2633097C2 (ru) 2013-07-01 2014-06-25 Способы и устройства кодирования и декодирования сигнала
EP14820376.3A EP2988299A4 (en) 2013-07-01 2014-06-25 SIGNAL-CODING AND DECODING METHOD AND DEVICE
CA2912477A CA2912477C (en) 2013-07-01 2014-06-25 Signal encoding and decoding methods and devices
UAA201513097A UA113041C2 (uk) 2013-07-01 2014-06-25 Способи і пристрої для кодування і декодування сигналу
NZ714187A NZ714187A (en) 2013-07-01 2014-06-25 Signal encoding and decoding methods and devices
BR112015030852A BR112015030852A2 (pt) 2013-07-01 2014-06-25 método e dispositivo de codificação e decodificação de sinal
KR1020157034359A KR20160003264A (ko) 2013-07-01 2014-06-25 신호 인코딩 및 디코딩 방법 및 장치
JP2016522220A JP6289627B2 (ja) 2013-07-01 2014-06-25 信号の符号化および復号化の方法および装置
KR1020177020888A KR20170089982A (ko) 2013-07-01 2014-06-25 신호 인코딩 및 디코딩 방법 및 장치
MX2015017743A MX359502B (es) 2013-07-01 2014-06-25 Metodos y dispositivos de codificacion y decodificacion de señal.
AU2014286765A AU2014286765B2 (en) 2013-07-01 2014-06-25 Signal encoding and decoding methods and devices
SG11201509391RA SG11201509391RA (en) 2013-07-01 2014-06-25 Signal encoding and decoding methods and devices
IL242498A IL242498B (en) 2013-07-01 2015-11-08 Signal encoding and decoding methods and devices
US14/984,703 US10152981B2 (en) 2013-07-01 2015-12-30 Dynamic bit allocation methods and devices for audio signal
US16/167,281 US10789964B2 (en) 2013-07-01 2018-10-22 Dynamic bit allocation methods and devices for audio signal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310271015.7 2013-07-01
CN201310271015.7A CN104282312B (zh) 2013-07-01 2013-07-01 信号编码和解码方法以及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/984,703 Continuation US10152981B2 (en) 2013-07-01 2015-12-30 Dynamic bit allocation methods and devices for audio signal

Publications (1)

Publication Number Publication Date
WO2015000373A1 true WO2015000373A1 (zh) 2015-01-08

Family

ID=52143091

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/080682 WO2015000373A1 (zh) 2013-07-01 2014-06-25 信号编码和解码方法以及设备

Country Status (18)

Country Link
US (2) US10152981B2 (zh)
EP (1) EP2988299A4 (zh)
JP (1) JP6289627B2 (zh)
KR (2) KR20160003264A (zh)
CN (2) CN104282312B (zh)
AU (1) AU2014286765B2 (zh)
BR (1) BR112015030852A2 (zh)
CA (1) CA2912477C (zh)
CL (1) CL2015003765A1 (zh)
HK (1) HK1206136A1 (zh)
IL (1) IL242498B (zh)
MX (1) MX359502B (zh)
MY (1) MY163240A (zh)
NZ (1) NZ714187A (zh)
RU (1) RU2633097C2 (zh)
SG (1) SG11201509391RA (zh)
UA (1) UA113041C2 (zh)
WO (1) WO2015000373A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751953A (zh) * 2019-10-31 2021-05-04 北京小米移动软件有限公司 电子设备、控制方法、装置及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106409303B (zh) 2014-04-29 2019-09-20 华为技术有限公司 处理信号的方法及设备
CN113140225B (zh) * 2020-01-20 2024-07-02 腾讯科技(深圳)有限公司 语音信号处理方法、装置、电子设备及存储介质
CN117476013A (zh) * 2022-07-27 2024-01-30 华为技术有限公司 音频信号的处理方法、装置、存储介质及计算机程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105940A (zh) * 2007-06-27 2008-01-16 北京中星微电子有限公司 音频编解码的量化方法、反变换方法及音频编解码装置
CN101377926A (zh) * 2007-08-31 2009-03-04 瑞昱半导体股份有限公司 加速量化循环程序功能的音频编码方法
CN101494054A (zh) * 2009-02-09 2009-07-29 深圳华为通信技术有限公司 一种音频码率控制方法及系统
CN101523485A (zh) * 2006-10-02 2009-09-02 卡西欧计算机株式会社 音频编码装置、音频解码装置、音频编码方法、音频解码方法和信息记录介质
US20110075855A1 (en) * 2008-05-23 2011-03-31 Hyen-O Oh method and apparatus for processing audio signals

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235671A (en) 1990-10-15 1993-08-10 Gte Laboratories Incorporated Dynamic bit allocation subband excited transform coding method and apparatus
KR100188912B1 (ko) * 1992-09-21 1999-06-01 윤종용 서브밴드코딩의 비트재할당 방법
KR100269213B1 (ko) 1993-10-30 2000-10-16 윤종용 오디오신호의부호화방법
KR0144011B1 (ko) * 1994-12-31 1998-07-15 김주용 엠펙 오디오 데이타 고속 비트 할당 및 최적 비트 할당 방법
JP3519859B2 (ja) * 1996-03-26 2004-04-19 三菱電機株式会社 符号器及び復号器
JP3235543B2 (ja) 1997-10-22 2001-12-04 松下電器産業株式会社 音声符号化/復号化装置
US6148283A (en) 1998-09-23 2000-11-14 Qualcomm Inc. Method and apparatus using multi-path multi-stage vector quantizer
JP2005010337A (ja) * 2003-06-18 2005-01-13 Sony Corp 音声信号圧縮方法及び音声信号圧縮装置
WO2006116025A1 (en) * 2005-04-22 2006-11-02 Qualcomm Incorporated Systems, methods, and apparatus for gain factor smoothing
US8396717B2 (en) * 2005-09-30 2013-03-12 Panasonic Corporation Speech encoding apparatus and speech encoding method
EP1989707A2 (fr) 2006-02-24 2008-11-12 France Telecom Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants
JPWO2008084688A1 (ja) * 2006-12-27 2010-04-30 パナソニック株式会社 符号化装置、復号装置及びこれらの方法
WO2010031003A1 (en) * 2008-09-15 2010-03-18 Huawei Technologies Co., Ltd. Adding second enhancement layer to celp based core layer
JP5608660B2 (ja) * 2008-10-10 2014-10-15 テレフオンアクチーボラゲット エル エム エリクソン(パブル) エネルギ保存型マルチチャネルオーディオ符号化
CN103366755B (zh) * 2009-02-16 2016-05-18 韩国电子通信研究院 对音频信号进行编码和解码的方法和设备
CN101853663B (zh) 2009-03-30 2012-05-23 华为技术有限公司 比特分配方法、编码装置及解码装置
FR2947944A1 (fr) * 2009-07-07 2011-01-14 France Telecom Codage/decodage perfectionne de signaux audionumeriques
US8380524B2 (en) * 2009-11-26 2013-02-19 Research In Motion Limited Rate-distortion optimization for advanced audio coding
CN102081927B (zh) 2009-11-27 2012-07-18 中兴通讯股份有限公司 一种可分层音频编码、解码方法及系统
EP2362375A1 (en) 2010-02-26 2011-08-31 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Apparatus and method for modifying an audio signal using harmonic locking
US9508356B2 (en) 2010-04-19 2016-11-29 Panasonic Intellectual Property Corporation Of America Encoding device, decoding device, encoding method and decoding method
AU2011358654B2 (en) * 2011-02-09 2017-01-05 Telefonaktiebolaget L M Ericsson (Publ) Efficient encoding/decoding of audio signals
TWI606441B (zh) 2011-05-13 2017-11-21 三星電子股份有限公司 解碼裝置
RU2464649C1 (ru) 2011-06-01 2012-10-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ обработки звукового сигнала

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523485A (zh) * 2006-10-02 2009-09-02 卡西欧计算机株式会社 音频编码装置、音频解码装置、音频编码方法、音频解码方法和信息记录介质
CN101105940A (zh) * 2007-06-27 2008-01-16 北京中星微电子有限公司 音频编解码的量化方法、反变换方法及音频编解码装置
CN101377926A (zh) * 2007-08-31 2009-03-04 瑞昱半导体股份有限公司 加速量化循环程序功能的音频编码方法
US20110075855A1 (en) * 2008-05-23 2011-03-31 Hyen-O Oh method and apparatus for processing audio signals
CN101494054A (zh) * 2009-02-09 2009-07-29 深圳华为通信技术有限公司 一种音频码率控制方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2988299A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751953A (zh) * 2019-10-31 2021-05-04 北京小米移动软件有限公司 电子设备、控制方法、装置及存储介质

Also Published As

Publication number Publication date
US10789964B2 (en) 2020-09-29
NZ714187A (en) 2017-01-27
MX359502B (es) 2018-09-26
BR112015030852A2 (pt) 2017-07-25
KR20160003264A (ko) 2016-01-08
EP2988299A4 (en) 2016-05-25
KR20170089982A (ko) 2017-08-04
RU2633097C2 (ru) 2017-10-11
EP2988299A1 (en) 2016-02-24
CA2912477A1 (en) 2015-01-08
CN108198564A (zh) 2018-06-22
AU2014286765A1 (en) 2015-12-03
IL242498B (en) 2021-05-31
CA2912477C (en) 2019-04-09
MX2015017743A (es) 2016-04-04
JP6289627B2 (ja) 2018-03-14
US20160111104A1 (en) 2016-04-21
US20190057706A1 (en) 2019-02-21
RU2015156053A (ru) 2017-08-07
JP2016527546A (ja) 2016-09-08
CL2015003765A1 (es) 2016-09-23
CN108198564B (zh) 2021-02-26
MY163240A (en) 2017-08-30
US10152981B2 (en) 2018-12-11
UA113041C2 (uk) 2016-11-25
CN104282312A (zh) 2015-01-14
HK1206136A1 (zh) 2015-12-31
SG11201509391RA (en) 2015-12-30
AU2014286765B2 (en) 2017-03-02
CN104282312B (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
JP6574820B2 (ja) 高周波帯域信号を予測するための方法、符号化デバイス、および復号デバイス
EP2863388B1 (en) Bit allocation method and device for audio signal
JP2017138616A (ja) オーディオ信号符号化及び復号化方法並びにオーディオ信号符号化及び復号化装置
JP6202545B2 (ja) 帯域幅拡張周波数帯域信号を予測する方法、および復号デバイス
US10789964B2 (en) Dynamic bit allocation methods and devices for audio signal
CN114550732B (zh) 一种高频音频信号的编解码方法和相关装置
JP6141443B2 (ja) 符号化方法、復号化方法、符号化装置及び復号化装置
WO2015072914A1 (en) Split gain shape vector coding
RU2688259C2 (ru) Способ и устройство обработки сигналов
CN110660400A (zh) 立体声信号的编码、解码方法、编码装置和解码装置

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: 14820376

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 242498

Country of ref document: IL

ENP Entry into the national phase

Ref document number: 2912477

Country of ref document: CA

REEP Request for entry into the european phase

Ref document number: 2014820376

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014820376

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20157034359

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2014286765

Country of ref document: AU

Date of ref document: 20140625

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: MX/A/2015/017743

Country of ref document: MX

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112015030852

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2016522220

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: A201513097

Country of ref document: UA

ENP Entry into the national phase

Ref document number: 2015156053

Country of ref document: RU

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112015030852

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20151210