WO2015000373A1 - 信号编码和解码方法以及设备 - Google Patents
信号编码和解码方法以及设备 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000003595 spectral effect Effects 0.000 claims abstract description 675
- 238000001228 spectrum Methods 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims description 1056
- 238000013139 quantization Methods 0.000 claims description 27
- 239000012792 core layer Substances 0.000 claims description 24
- 230000001052 transient effect Effects 0.000 claims description 22
- 238000011084 recovery Methods 0.000 claims description 15
- 238000012937 correction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 229920006395 saturated elastomer Polymers 0.000 description 7
- 238000010606 normalization Methods 0.000 description 6
- 230000000737 periodic effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0204—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation 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
Description
Claims
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751953A (zh) * | 2019-10-31 | 2021-05-04 | 北京小米移动软件有限公司 | 电子设备、控制方法、装置及存储介质 |
Families Citing this family (3)
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)
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)
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 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ обработки звукового сигнала |
-
2013
- 2013-07-01 CN CN201310271015.7A patent/CN104282312B/zh active Active
- 2013-07-01 CN CN201711387694.9A patent/CN108198564B/zh active Active
-
2014
- 2014-06-25 NZ NZ714187A patent/NZ714187A/en unknown
- 2014-06-25 UA UAA201513097A patent/UA113041C2/uk unknown
- 2014-06-25 MX MX2015017743A patent/MX359502B/es active IP Right Grant
- 2014-06-25 JP JP2016522220A patent/JP6289627B2/ja active Active
- 2014-06-25 SG SG11201509391RA patent/SG11201509391RA/en unknown
- 2014-06-25 KR KR1020157034359A patent/KR20160003264A/ko active Application Filing
- 2014-06-25 BR BR112015030852A patent/BR112015030852A2/pt not_active Application Discontinuation
- 2014-06-25 CA CA2912477A patent/CA2912477C/en active Active
- 2014-06-25 WO PCT/CN2014/080682 patent/WO2015000373A1/zh active Application Filing
- 2014-06-25 KR KR1020177020888A patent/KR20170089982A/ko not_active Application Discontinuation
- 2014-06-25 EP EP14820376.3A patent/EP2988299A4/en not_active Withdrawn
- 2014-06-25 MY MYPI2015704807A patent/MY163240A/en unknown
- 2014-06-25 RU RU2015156053A patent/RU2633097C2/ru active
- 2014-06-25 AU AU2014286765A patent/AU2014286765B2/en active Active
-
2015
- 2015-07-10 HK HK15106603.9A patent/HK1206136A1/zh unknown
- 2015-11-08 IL IL242498A patent/IL242498B/en active IP Right Grant
- 2015-12-30 US US14/984,703 patent/US10152981B2/en active Active
- 2015-12-30 CL CL2015003765A patent/CL2015003765A1/es unknown
-
2018
- 2018-10-22 US US16/167,281 patent/US10789964B2/en active Active
Patent Citations (5)
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)
Title |
---|
See also references of EP2988299A4 * |
Cited By (1)
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 |