WO2010092827A1 - ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法 - Google Patents

ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法 Download PDF

Info

Publication number
WO2010092827A1
WO2010092827A1 PCT/JP2010/000881 JP2010000881W WO2010092827A1 WO 2010092827 A1 WO2010092827 A1 WO 2010092827A1 JP 2010000881 W JP2010000881 W JP 2010000881W WO 2010092827 A1 WO2010092827 A1 WO 2010092827A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
code
quantization
matrix
lsp
Prior art date
Application number
PCT/JP2010/000881
Other languages
English (en)
French (fr)
Inventor
佐藤薫
森井利幸
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to EP10741107.6A priority Critical patent/EP2398149B1/en
Priority to US13/148,892 priority patent/US8493244B2/en
Priority to JP2010550471A priority patent/JP5335004B2/ja
Priority to RU2011134054/08A priority patent/RU2519027C2/ru
Publication of WO2010092827A1 publication Critical patent/WO2010092827A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • G10L19/07Line spectrum pair [LSP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • G10L2019/0005Multi-stage vector quantisation

Definitions

  • the present invention relates to a vector quantization apparatus, a vector inverse quantization apparatus, and a method for vector quantization of LSP (Line Spectral Pairs) parameters, and particularly to a packet communication system represented by Internet communication, a mobile communication system, and the like.
  • the present invention relates to a vector quantization apparatus, a vector inverse quantization apparatus, and a method thereof that perform vector quantization of LSP parameters used in a speech encoding / decoding apparatus that transmits speech signals.
  • audio signal encoding / decoding technology is indispensable for effective use of transmission path capacity such as radio waves and storage media. is there.
  • CELP Code Excited Linear Prediction
  • a CELP speech encoding apparatus encodes input speech based on a speech model stored in advance. Specifically, the CELP speech coding apparatus divides a digitized speech signal into frames with a constant time interval of about 10 to 20 ms, and performs linear prediction analysis on the speech signal in each frame to perform linear prediction. A coefficient (LPC: Linear Prediction Coefficient) and a linear prediction residual vector are obtained, and the linear prediction coefficient and the linear prediction residual vector are individually encoded.
  • LPC Linear Prediction Coefficient
  • LSP Line Spectral Pairs
  • vector quantization is often performed on the LSP parameter.
  • a code vector that is closest to the vector to be quantized is selected from a code book (code book) having a plurality of representative vectors (code vectors), and assigned to the selected code vector. This is a method of outputting a current index (code) as a quantization result.
  • Multi-stage vector quantization is a method in which a vector is quantized once and then the quantization error is further vector-quantized.
  • Divided vector quantization is a method in which each divided vector obtained by dividing a vector is quantized. It is a method to convert.
  • the LSP can be switched by appropriately switching the codebook used for vector quantization in accordance with speech characteristics (eg, voice voiced, unvoiced, mode information, etc.) having a correlation with the LSP to be quantized.
  • speech characteristics eg, voice voiced, unvoiced, mode information, etc.
  • classification vector quantization classification VQ
  • a narrowband LSP is classified according to characteristics using the interrelationship between a wideband LSP (LSP obtained from a wideband signal) and a narrowband LSP (LSP obtained from a narrowband signal).
  • the first-stage codebook of multistage vector quantization is switched according to the type of narrowband LSP feature (hereinafter referred to as the type of narrowband LSP), and the wideband LSP is vector quantized.
  • first-stage vector quantization is performed using a codebook corresponding to the type of narrowband LSP.
  • the deviation of the distribution of quantization errors differs depending on the type of narrowband LSP.
  • the second and subsequent vector quantization uses one common codebook regardless of the type of narrowband LSP, there is a problem that the second and subsequent vector quantization accuracy is insufficient.
  • FIG. 1 is a diagram for explaining the problems in the multistage vector quantization described above.
  • a black circle indicates a two-dimensional vector
  • a broken-line circle schematically indicates the magnitude of variance of the vector set
  • the center of the circle indicates the average of the vector set.
  • CBa1, CBa2,..., CBab correspond to each type of narrowband LSP and indicate a plurality of codebooks used for the first stage vector quantization.
  • CBb indicates a code book used for second-stage vector quantization.
  • An object of the present invention is to improve the quantization accuracy of vector quantization in the second and subsequent stages in multi-stage vector quantization in which the first stage codebook is switched according to the type of feature having a correlation with the quantization target vector. It is to provide a vector quantization device, a vector dequantization device, and methods thereof that can be used.
  • the vector quantization apparatus includes: a first selection unit that selects a classification code vector indicating a type of feature having a correlation with a quantization target vector from a plurality of classification code vectors; Using a second selection means for selecting a first codebook corresponding to the selected classification code vector from among the codebooks, and a plurality of first code vectors constituting the selected first codebook First quantization means for quantizing the quantization target vector to obtain a first code; and third selection means for selecting a first matrix corresponding to the selected classification code vector from a plurality of matrices; , Using a plurality of second code vectors and the selected first matrix, a first residual vector which is a difference between the first code vector indicated by the first code and the vector to be quantized.
  • the torque quantized employs a configuration comprising a second quantizing means for obtaining a second code, the.
  • the vector inverse quantization apparatus includes a first code obtained by quantizing a vector to be quantized in the vector quantization apparatus, a second code obtained by further quantizing the quantization error of the quantization, , Receiving means for selecting, a first selecting means for selecting a classification code vector indicating a type of feature having a correlation with the quantization target vector from among a plurality of classification code vectors, and a plurality of first codes Second selection means for selecting a first code book corresponding to the selected code vector for classification from among the code books, and a plurality of first code vectors constituting the selected first code book A first inverse quantization means for designating a first code vector corresponding to the first code; and a matrix corresponding to the selected classification code vector is selected from a plurality of matrices.
  • a third selecting unit designating a second code vector corresponding to the second code from a plurality of second code vectors; designating the designated second code vector; selecting the matrix; And a second inverse quantization unit that obtains a quantization vector using the first code vector.
  • the vector quantization method of the present invention includes a step of selecting a classification code vector indicating a type of feature having a correlation with a quantization target vector from a plurality of classification code vectors, and a plurality of first codebooks. Selecting a first codebook corresponding to the selected classification code vector, and using the plurality of first code vectors constituting the selected first codebook to determine the quantization target vector Quantizing to obtain a first code; selecting a first matrix corresponding to the selected classification code vector from a plurality of matrices; a plurality of second code vectors and the selected first code 1 matrix is used to quantize the first residual vector, which is the difference between the first code vector indicated by the first code and the vector to be quantized, Obtaining a second code, and to have.
  • the vector inverse quantization method of the present invention includes a first code obtained by quantizing a vector to be quantized in a vector quantization apparatus, a second code obtained by further quantizing the quantization error of the quantization, , A step of selecting a classification code vector indicating a type of feature having a correlation with the quantization target vector from among a plurality of classification code vectors, and a plurality of first codebooks Selecting a first codebook corresponding to the selected classification code vector, and corresponding to the first code from among a plurality of first code vectors constituting the selected first codebook Designating a first code vector to be selected, selecting a matrix corresponding to the selected classification code vector from a plurality of matrices, A second code vector corresponding to the second code is designated from among the second code vectors, and the designated second code vector, the selected matrix, and the designated first code vector And a step of obtaining a quantization vector.
  • the second-stage and subsequent vectors using the matrix corresponding to the type.
  • the wideband LSP is set as a vector quantization target, and the type of narrowband LSP having a correlation with the vector quantization target is used.
  • the code book used for the quantization of the eyes is switched will be described as an example.
  • a codebook used for the first-stage quantization may be switched using a quantized narrowband LSP (a narrowband LSP pre-quantized by a not-shown narrowband LSP quantizer).
  • the quantized narrowband LSP may be converted into a wideband form, and the codebook used for the first-stage quantization may be switched using the converted quantized narrowband LSP.
  • mapping matrix a matrix for moving the bias of the distribution of code vectors by performing matrix operation on all code vectors constituting the code book.
  • the mapping matrix is used to perform a matrix operation on a vector to be quantized as in the embodiment of the present invention, rather than being used to perform a matrix operation on a code vector. There are many cases.
  • FIG. 2 is a block diagram showing a main configuration of LSP vector quantization apparatus 100 according to the embodiment of the present invention.
  • the LSP vector quantization apparatus 100 quantizes an input LSP vector by three-stage multi-level vector quantization.
  • the LSP vector quantization apparatus 100 includes a classifier 101, a switch 102, a first code book 103, an adder 104, an error minimizing unit 105, a matrix determining unit 106, a matrix calculating unit 107, and a second code book 108. , An adder 109, a matrix calculation unit 110, a third codebook 111, and an adder 112.
  • the classifier 101 stores in advance a classification code book composed of a plurality of pieces of classification information indicating a plurality of types of narrowband LSP vectors.
  • the classifier 101 selects classification information indicating the type of the wideband LSP vector that is the vector quantization target from the classification codebook, and outputs the classification information to the switch 102 and the matrix determination unit 106.
  • the classifier 101 has a built-in classification code book composed of code vectors (classification code vectors) corresponding to each type of narrowband LSP vector.
  • the classifier 101 searches the codebook for classification to obtain a code vector that minimizes the square error with the input narrowband LSP vector.
  • the classifier 101 uses the index of the code vector obtained by the search as classification information indicating the type of the LSP vector.
  • the switch 102 selects one subcodebook corresponding to the classification information input from the classifier 101 from the first codebook 103 and connects the output terminal of the subcodebook to the adder 104.
  • the first codebook 103 stores in advance subcodebooks (CBa1 to CBan) corresponding to each type of narrowband LSP. That is, for example, when the total number of types of narrowband LSP is n, the number of subcodebooks constituting the first codebook 103 is also n.
  • the first code book 103 outputs, to the switch 102, the first code vector designated by the instruction from the error minimizing unit 105 among the plurality of first code vectors constituting the sub code book selected by the switch 102. To do.
  • the adder 104 calculates a difference between the wideband LSP vector input as a vector quantization target and the first code vector input from the switch 102, and outputs the difference to the error minimizing unit 105 as a first residual vector. To do. Further, adder 104 outputs to matrix calculation unit 107 one of the first residual vectors corresponding to each of the first code vectors, which is found to be minimum by the search of error minimizing unit 105.
  • the error minimizing unit 105 sets the squared error of the wideband LSP vector and the first code vector as a result of squaring the first residual vector input from the adder 104, and searches for the first codebook to find this square error. Find the first code vector that minimizes. Similarly, the error minimizing unit 105 searches the second codebook using the squared error of the first residual vector and the second code vector as a result of squaring the second residual vector input from the adder 109. Thus, a second code vector that minimizes the square error is obtained. Similarly, error minimizing section 105 uses the result of squaring the third residual vector input from adder 112 as the square error between the second residual vector and the third code vector, and searches for the third codebook. Thus, a third code vector that minimizes this square error is obtained. The error minimizing unit 105 collectively encodes the indexes assigned to the three code vectors obtained by the search, and outputs the encoded data.
  • the matrix determination unit 106 stores in advance a mapping matrix codebook including mapping matrices corresponding to each type of narrowband LSP vector.
  • the mapping matrix codebook is composed of two types of mapping matrix codebooks, a first mapping matrix codebook and a second mapping matrix codebook.
  • the first mapping matrix codebook includes a first mapping matrix used for performing matrix operation on the first code vector
  • the second mapping matrix codebook performs matrix operation on the second code vector. It consists of a second mapping matrix used to do.
  • the matrix determination unit 106 selects a first mapping matrix and a second mapping matrix corresponding to the classification information input from the classifier 101 from the mapping matrix codebook. Then, the matrix determination unit 106 outputs the inverse matrix of the selected first mapping matrix to the matrix operation unit 107, and outputs the inverse matrix of the selected second mapping matrix to the matrix operation unit 110.
  • the matrix calculation unit 107 performs matrix calculation on the first residual vector input from the adder 104 using the inverse matrix of the first mapping matrix input from the matrix determination unit 106, and the vector after matrix calculation Is output to the adder 109.
  • the second code book (CBb) 108 is composed of a plurality of second code vectors, and outputs the second code vector designated by the instruction from the error minimizing unit 105 to the adder 109.
  • the adder 109 obtains a difference between the vector after the matrix calculation input from the matrix calculation unit 107 and the second code vector input from the second codebook 108, and uses the difference as a second residual vector as an error. Output to the minimizing unit 105. Further, adder 109 outputs one of the second residual vectors corresponding to each of the second code vectors, which is found to be the minimum by the search of error minimizing section 105, to matrix computing section 110.
  • the matrix calculation unit 110 performs a matrix calculation on the second residual vector input from the adder 109 using an inverse matrix of the second mapping matrix input from the matrix determination unit 106, and a vector after the matrix calculation Is output to the adder 112.
  • the third code book 111 (CBc) is composed of a plurality of third code vectors, and outputs the third code vector designated by the instruction from the error minimizing unit 105 to the adder 112.
  • the adder 112 obtains a difference between the vector after matrix calculation input from the matrix calculation unit 110 and the third code vector input from the third codebook 111, and uses this difference as a third residual vector to minimize the error. To the conversion unit 105.
  • the operation performed by the LSP vector quantization apparatus 100 will be described by taking as an example the case where the order of the wideband LSP vector to be quantized is the R order.
  • the classifier 101 has a built-in classification codebook composed of n code vectors (classification code vectors) corresponding to each of the n types of narrowband LSP vectors.
  • the classifier 101 searches the code vector to obtain the mth code vector that minimizes the square error with the input narrowband LSP vector.
  • the classifier 101 outputs m (1 ⁇ m ⁇ n) as classification information to the switch 102 and the matrix determination unit 106.
  • the switch 102 selects the sub code book CBam corresponding to the classification information m from the first code book 103, and connects the output terminal of the sub code book to the adder 104.
  • D1 is the total number of code vectors of the first codebook
  • d1 is the index of the first code vector.
  • the error minimizing unit 105 stores the first code vector index d1 'that minimizes the square error Err as the first index d1_min.
  • the matrix determination unit 106 selects the inverse matrix MM_1 ⁇ 1 (m) of the first mapping matrix corresponding to the classification information m from the first mapping matrix codebook, and outputs it to the matrix calculation unit 107. Further, the matrix determination unit 106 selects the inverse matrix MM_2 ⁇ 1 (m) of the second mapping matrix corresponding to the classification information m from the second mapping matrix codebook, and outputs it to the matrix calculation unit 110.
  • D2 is the total number of code vectors of the second codebook
  • d2 is the code vector index.
  • the error minimizing unit 105 stores the second code vector index d2 'that minimizes the square error Err as the second index d2_min.
  • D3 is the total number of code vectors of the third codebook
  • d3 is the code vector index.
  • the error minimizing unit 105 stores the index d3 'of the third code vector that minimizes the square error Err as the third index d3_min. Then, the error minimizing unit 105 collectively encodes the first index d1_min, the second index d2_min, and the third index d3_min, and outputs the encoded data.
  • FIG. 3 is a block diagram showing the main configuration of LSP vector inverse quantization apparatus 200 according to the present embodiment.
  • the LSP vector inverse quantization apparatus 200 decodes the encoded data output from the LSP vector quantization apparatus 100, and generates a quantized LSP vector.
  • the LSP vector inverse quantization apparatus 200 includes a classifier 201, a code separation unit 202, a switch 203, a first code book 204, a matrix determination unit 205, a second code book (CBb) 206, a matrix calculation unit 207, an adder 208, A third code book (CBc) 209, a matrix calculation unit 210, and an adder 211 are provided.
  • the first codebook 204 includes a subcodebook having the same contents as the subcodebooks (CBa1 to CBan) included in the first codebook 103
  • the matrix determination unit 205 includes a mapping matrix codebook included in the matrix determination unit 106.
  • the second code book 206 includes a code book having the same contents as the code book included in the second code book 108
  • the third code book 209 includes a code book having the same contents as the code book included in the third code book 111.
  • the classifier 201 stores in advance a classification codebook including a plurality of classification information indicating a plurality of types of narrowband LSP vectors.
  • the classifier 201 selects classification information indicating the type of the wideband LSP vector that is a vector quantization target from the classification codebook, and outputs the classification information to the switch 203 and the matrix determination unit 205.
  • the classifier 201 has a built-in classification code book composed of code vectors (classification code vectors) corresponding to each type of narrowband LSP vector.
  • the classifier 201 searches the classification codebook to obtain a code vector that minimizes the square error with the quantized narrowband LSP vector input from a narrowband LSP quantizer (not shown).
  • the classifier 201 uses the code vector index obtained by the search as classification information indicating the type of the LSP vector.
  • the code separation unit 202 separates the encoded data transmitted from the LSP vector quantization apparatus 100 into a first index, a second index, and a third index.
  • the code separation unit 202 instructs the first code book 204 for the first index, instructs the second code book 206 for the second index, and instructs the third code book 209 for the third index.
  • the switch 203 selects one subcodebook (CBam) corresponding to the classification information input from the classifier 201 from the first codebook 204, and connects the output terminal of the subcodebook to the adder 208.
  • CBam subcodebook
  • the first code book 204 corresponds to the first index designated by the code separation unit 202 from among a plurality of first code vectors constituting the first code book (subcode book) selected by the switch 203. Two first code vectors are output to the switch 203.
  • the matrix determination unit 205 selects a first mapping matrix corresponding to the classification information input from the classifier 201 from the first mapping matrix codebook, and selects the selected first mapping matrix as a matrix calculation unit 207 and a matrix calculation unit. Output to 210.
  • the matrix determination unit 205 selects a second mapping matrix corresponding to the classification information input from the classifier 201 from the second mapping matrix codebook, and outputs the selected second mapping matrix to the matrix calculation unit 210. To do.
  • the second code book 206 outputs one second code vector corresponding to the second index designated by the code separation unit 202 to the matrix calculation unit 207.
  • the matrix calculation unit 207 performs matrix calculation on the second code vector input from the second codebook 206 using the first mapping matrix input from the matrix determination unit 205, and the matrix calculation result is added to the adder 208. Output to.
  • the adder 208 adds the first code vector input from the switch 203 and the matrix calculation result input from the matrix calculation unit 207, and outputs the obtained addition result to the adder 211.
  • the third code book 209 outputs one third code vector corresponding to the third index specified by the code separation unit 202 to the matrix calculation unit 210.
  • the matrix calculation unit 210 performs matrix calculation on the third code vector input from the third codebook 209 using the second mapping matrix input from the matrix determination unit 205, and the matrix calculation result is added to the adder 211. Output to.
  • the adder 211 adds the addition result input from the adder 208 and the matrix calculation result input from the matrix calculation unit 210, and outputs the obtained addition result as a quantized broadband LSP vector.
  • the classifier 201 has a built-in classification codebook composed of n code vectors (classification code vectors) corresponding to each of the n types of narrowband LSP vectors.
  • the classifier 201 searches the code vector to obtain the mth code vector that minimizes the square error with the quantized narrowband LSP vector input from a narrowband LSP quantizer (not shown).
  • the classifier 201 outputs m (1 ⁇ m ⁇ n) as classification information to the switch 203 and the matrix determination unit 205.
  • the code separation unit 202 separates the encoded data transmitted from the LSP vector quantization apparatus 100 into the first index d1_min, the second index d2_min, and the third index d3_min.
  • the code separation unit 202 instructs the first code book 204 for the first index d1_min, instructs the second code book 206 for the second index d2_min, and instructs the third code book 209 for the third index d3_min.
  • the switch 203 selects the sub code book CBam corresponding to the classification information m input from the classifier 201 from the first code book 204, and connects the output terminal of the sub code book to the adder 208.
  • the matrix determination unit 205 selects the first mapping matrix MM_1 (m) corresponding to the classification information m input from the classifier 201 from the first mapping matrix codebook, and sends it to the matrix calculation unit 207 and the matrix calculation unit 210. Output. Further, the matrix determination unit 205 selects the second mapping matrix MM_2 (m) corresponding to the classification information m input from the classifier 201 from the second mapping matrix codebook, and outputs it to the matrix calculation unit 210.
  • the first codebook, mapping matrix codebook, second codebook, and third codebook used in the LSP vector quantization apparatus 100 and the LSP vector inverse quantization apparatus 200 are created by learning in advance, A method for learning these codebooks will be described.
  • V LSP vectors obtained from a large number of learning speech data are prepared.
  • V LSP vectors are grouped for each type (n types), and D1 first code vectors CODE_1 (d1 ) are used according to a learning algorithm such as an LBG (Linde Buzo Gray) algorithm using the LSP vectors belonging to each group.
  • LBG Longde Buzo Gray
  • the first code book obtained by the above method using the V LSP vectors described above is used.
  • the first codebook obtained by the above method using the V LSP vectors described above is used.
  • the obtained V first residual vectors are grouped for each type (n types), and a centroid (average) C1 of the first residual vector set belonging to each group is obtained.
  • centroid D1 is obtained by calculating the average of all the second code vectors in the second code book.
  • centroid C1 of the first codebook and the centroid D1 of the second codebook are obtained for each type (n types). Then, a matrix operation is performed on the centroid D1 corresponding to the type m to obtain a matrix in which the centroid C1 and the centroid D1 match, and the obtained matrix is set as a first mapping matrix corresponding to the type m.
  • a first mapping matrix is obtained for each type (n types), and a first mapping matrix codebook is generated by assigning a serial number to each type of first mapping matrix and storing it.
  • the first mapping matrix MM_1 (d2) of the type m is obtained by solving the simultaneous equations of the following equation (14).
  • the first mapping matrix MM_1 (m) can be generated by obtaining the mapping matrix in two-dimensional units and obtaining the matrix product of the obtained mapping matrix.
  • a matrix TMP_1 that can map vector elements corresponding to the first and second orders is obtained by solving the simultaneous equations of the following equation (15).
  • a first mapping matrix MM_1 (m) is generated by obtaining a matrix product of the matrix TMP_1 and the matrix TMP_2 according to the following equation (17).
  • the matrix is obtained in units of two dimensions, and finally the mapping matrix is obtained by obtaining the matrix product of all the matrices.
  • the first codebook obtained by the above method using the V LSP vectors described above is used.
  • the obtained V second residual vectors are grouped for each type (n types), and the centroid C2 of the second residual vector set belonging to each group is obtained.
  • centroid D2 is obtained by calculating the average of all the third code vectors.
  • centroid C2 and the centroid D2 of the third codebook are obtained. Then, a matrix operation is performed on the centroid D2 corresponding to the type m to obtain a matrix in which the centroid C2 and the centroid D2 match, and the obtained matrix is set as a second mapping matrix corresponding to the type m.
  • a second mapping matrix is obtained for each type (n types), and a second mapping matrix codebook is generated by assigning a serial number to each type of second mapping matrix and storing it.
  • the second mapping matrix MM_2 (m) is the same procedure after the centroid C1 is replaced with the centroid C2 and the centroid D1 is replaced with the centroid D2 in the method for obtaining the first mapping matrix MM_1 (m). Can be obtained by performing
  • each codebook may be generated by a method other than the above method.
  • the first stage vector quantization codebook is switched according to the type of the narrowband LSP vector having a correlation with the wideband LSP vector.
  • a matrix operation is performed on the first residual vector using the first mapping matrix corresponding to the classification result of the narrowband LSP vector.
  • the bias in the distribution of the second-stage code vector can be adapted to the statistical distribution bias in the first-stage vector quantization error, and hence the quantization accuracy of the wideband LSP vector can be improved.
  • matrix calculation is performed on the second residual vector using the second mapping matrix corresponding to the classification result of the narrowband LSP vector.
  • the bias in the distribution of the third-stage code vector can be adapted to the bias in the distribution of the second-stage vector quantization error, and hence the quantization accuracy of the wideband LSP vector can be improved.
  • FIG. 4 is a diagram for conceptually explaining the effect of LSP vector quantization according to the present embodiment.
  • an arrow written as “rotation” indicates a process of performing a matrix operation on the second code vector set using a mapping matrix.
  • matrix calculation is performed using a mapping matrix corresponding to this type.
  • the distribution bias of the set of quantization error vectors after the matrix operation is matched with the distribution bias of the set of second code vectors constituting the common second codebook CBb used for the second stage vector quantization. be able to. Accordingly, the quantization accuracy of the second stage vector quantization can be improved.
  • the statistical distribution bias of the first stage vector quantization error is changed according to the bias of the second stage code vector distribution, and the second stage vector quantization error is changed.
  • the case where the statistical distribution bias is changed according to the third-stage code vector distribution has been described as an example.
  • the present invention is not limited to this, and the bias of the distribution of the code vector used for the second-stage vector quantization target is changed in accordance with the statistical distribution of the first-stage vector quantization error.
  • the bias of the distribution of the code vector used for the stage vector quantization target may be changed according to the statistical distribution bias of the second stage vector quantization error. This also provides the effect of improving the quantization accuracy of the wideband LSP vector, as in the present embodiment.
  • mapping matrix constituting the mapping matrix codebook included in the matrix determination unit 106 and the matrix determination unit 205 corresponds to the type of narrowband LSP vector
  • the present invention is not limited to this, and the mapping matrix constituting the mapping matrix codebook included in the matrix determination unit 106 and the matrix determination unit 205 may correspond to each type in which the features of speech are classified.
  • the classifier 101 inputs not the narrowband LSP vector but a parameter representing the voice feature as the voice feature information, and determines the switch 102 and the matrix using the voice feature type corresponding to the inputted voice feature information as the classification information. To the unit 106.
  • VMR-WB Very-Rate Multimode Wideband Speech Codec
  • the type information may be used as it is as a voice feature amount.
  • the present invention is not limited to this, and the two-stage vector quantization or four or more stages are performed.
  • the present invention can also be applied when performing vector quantization.
  • the wideband LSP vector is described as an example of the quantization target.
  • the quantization target is not limited to this and may be a vector other than the wideband LSP vector.
  • the case where the bias of the distribution of the code vector is moved by performing a matrix operation using the mapping matrix has been described as an example.
  • the present invention is not limited to this, and the bias of the distribution of the code vector may be moved by performing a matrix operation using a rotation matrix.
  • LSP vector inverse quantization apparatus 200 decodes encoded data output from LSP vector quantization apparatus 100.
  • the present invention is not limited to this, and any encoded data in a format that can be decoded by the LSP vector inverse quantization device 200 can be received and decoded by the LSP vector inverse quantization device. Needless to say.
  • the LSP vector quantization apparatus 100 and the LSP vector inverse quantization apparatus 200 have been described with reference to an example in which a matrix operation is performed on an R-dimensional vector using an R ⁇ R mapping matrix.
  • the present invention is not limited to this, and the LSP vector quantization apparatus 100 and the LSP vector inverse quantization apparatus 200 prepare, for example, a plurality of 2 ⁇ 2 mapping matrices, and each second-order vector element of an R-dimensional vector.
  • a matrix operation may be performed using a plurality of 2 ⁇ 2 mapping matrices. According to this configuration, it is possible to reduce the memory required for storing the mapping matrix, and further reduce the amount of calculation required for the matrix calculation.
  • Equation (18) the above equation (8) is represented by the following equation (19).
  • mapping matrix (MMA — 1 (m) , MMB — 1 (m), and MMC — 1 (m) ) by learning
  • a learning method when the above-described vector dimension number R is two-dimensional (the above formula (14 )) May be performed for each secondary vector element.
  • the vector quantization apparatus and the vector inverse quantization apparatus according to the present embodiment can be used in a CELP encoding apparatus / CELP decoding apparatus that encodes / decodes a speech signal, a musical sound signal, and the like.
  • the CELP encoding apparatus an LSP converted from a linear prediction coefficient obtained by linear prediction analysis of an input signal is input, quantization processing is performed, and the quantized quantized LSP is output to a synthesis filter.
  • the LSP vector quantization apparatus 100 according to the present embodiment is applied to a CELP speech coding apparatus, the LSP quantization unit that outputs a quantized LSP code representing the quantized LSP as encoded data is provided.
  • the LSP vector quantization apparatus 100 according to the present embodiment is arranged.
  • the quantized LSP is decoded from the quantized LSP code obtained by separating the received multiplexed code data.
  • the LSP vector inverse quantization apparatus 200 When the LSP vector inverse quantization apparatus 200 according to the present invention is applied to a CELP speech decoding apparatus, the LSP inverse quantization unit that outputs the decoded quantized LSP to the synthesis filter is connected to the present embodiment.
  • the LSP vector inverse quantization apparatus 200 may be disposed, and the same effect as described above can be obtained.
  • CELP encoding apparatus 400 and CELP decoding apparatus 450 including LSP vector quantization apparatus 100 and LSP vector inverse quantization apparatus 200 according to the present embodiment will be described using FIG. 5 and FIG.
  • FIG. 5 is a block diagram showing a main configuration of CELP encoding apparatus 400 including LSP vector quantization apparatus 100 according to the present embodiment.
  • the CELP encoding apparatus 400 divides the input voice / musical sound signal into a plurality of samples, and encodes each frame with the plurality of samples as one frame.
  • the pre-processing unit 401 performs high-pass filter processing for removing DC components on the input audio signal or musical tone signal, and performs waveform shaping processing or pre-emphasis processing for improving the performance of subsequent encoding processing. Then, the preprocessing unit 401 outputs the signal Xin obtained by these processes to the LSP analysis unit 402 and the adder 405.
  • the LSP analysis unit 402 performs linear prediction analysis using the signal Xin input from the preprocessing unit 401, converts the obtained LPC into an LSP vector, and outputs the LSP vector to the LSP vector quantization unit 403.
  • the LSP vector quantization unit 403 performs quantization on the LSP vector input from the LSP analysis unit 402.
  • the LSP vector quantization unit 403 outputs the obtained quantized LSP vector as a filter coefficient to the synthesis filter 404, and outputs the quantized LSP code (L) to the multiplexing unit 414.
  • LSP vector quantization section 403 LSP vector quantization apparatus 100 according to the present embodiment is applied. That is, the specific configuration and operation of LSP vector quantization section 403 are the same as those of LSP vector quantization apparatus 100.
  • the wideband LSP vector input to the LSP vector quantization apparatus 100 corresponds to the LSP vector input to the LSP vector quantization unit 403.
  • the encoded data output from the LSP vector quantization apparatus 100 corresponds to the quantized LSP code (L) output from the LSP vector quantization unit 403.
  • the filter coefficient input to the synthesis filter 404 is a quantized LSP vector obtained by inverse quantization using a quantized LSP code (L) in the LSP vector quantizing unit 403.
  • the narrowband LSP vector input to the LSP vector quantization apparatus 100 is input from the outside of the CELP encoding apparatus 400, for example.
  • the LSP vector quantization apparatus 100 when the LSP vector quantization apparatus 100 is applied to a scalable encoding apparatus (not shown) having a wideband CELP encoding section (corresponding to the CELP encoding apparatus 400) and a narrowband CELP encoding section, A narrowband LSP vector output from the narrowband CELP encoding unit is input to the LSP vector quantization apparatus 100.
  • the synthesis filter 404 uses the filter coefficient based on the quantized LSP vector input from the LSP vector quantization unit 403 to perform synthesis processing on a driving sound source input from an adder 411 described later, and generates the generated synthesis.
  • the signal is output to the adder 405.
  • the adder 405 calculates the error signal by inverting the polarity of the combined signal input from the combining filter 404 and adding the signal to the signal Xin input from the preprocessing unit 401, and outputs the error signal to the auditory weighting unit 412. To do.
  • the adaptive excitation codebook 406 stores in the buffer the driving excitation input from the adder 411 in the past, and one frame from the cut-out position specified by the adaptive excitation lag code (A) input from the parameter determination unit 413. Min samples are extracted from the buffer and output to the multiplier 409 as adaptive sound source vectors.
  • adaptive excitation codebook 406 updates the contents of the buffer each time a driving excitation is input from adder 411.
  • the quantization gain generation unit 407 determines the quantization adaptive excitation gain and the quantization fixed excitation gain based on the quantized excitation gain code (G) input from the parameter determination unit 413, and multiplies the multiplier 409 and the multiplier respectively. 410.
  • Fixed excitation codebook 408 outputs a vector having a shape specified by fixed excitation vector code (F) input from parameter determination section 413 to multiplier 410 as a fixed excitation vector.
  • Multiplier 409 multiplies the adaptive excitation vector input from adaptive excitation codebook 406 by the quantized adaptive excitation gain input from quantization gain generation section 407 and outputs the result to adder 411.
  • Multiplier 410 multiplies the quantized fixed excitation gain input from quantization gain generating section 407 by the fixed excitation vector input from fixed excitation codebook 408 and outputs the result to adder 411.
  • the adder 411 adds the adaptive excitation vector after gain multiplication input from the multiplier 409 and the fixed excitation vector after gain multiplication input from the multiplier 410, and uses the addition result as a driving sound source for the synthesis filter 404 and Output to adaptive excitation codebook 406.
  • the driving excitation input to adaptive excitation codebook 406 is stored in the buffer of adaptive excitation codebook 406.
  • the auditory weighting unit 412 performs auditory weighting processing on the error signal input from the adder 405 and outputs the result to the parameter determining unit 413 as coding distortion.
  • the parameter determination unit 413 selects an adaptive excitation lag that minimizes the coding distortion input from the auditory weighting unit 412 from the adaptive excitation codebook 406, and selects an adaptive excitation lag code (A) indicating the selection result. It outputs to 406 and the multiplexing part 414.
  • the adaptive sound source lag is a parameter indicating the position where the adaptive sound source vector is cut out.
  • the parameter determination unit 413 selects a fixed excitation vector that minimizes the coding distortion output from the perceptual weighting unit 412 from the fixed excitation codebook 408, and selects a fixed excitation vector code (F) indicating the selection result as the fixed excitation.
  • the data is output to the code book 408 and the multiplexing unit 414.
  • the parameter determination unit 413 selects the quantization adaptive excitation gain and the quantization fixed excitation gain that minimize the coding distortion output from the auditory weighting unit 412 from the quantization gain generation unit 407, and shows the selection result.
  • the quantized excitation gain code (G) is output to the quantization gain generation unit 407 and the multiplexing unit 414.
  • the multiplexing unit 414 is a quantized LSP code (L) input from the LSP vector quantization unit 403, an adaptive excitation lag code (A) input from the parameter determination unit 413, a fixed excitation vector code (F), and a quantum
  • the encoded excitation gain code (G) is multiplexed and encoded information is output.
  • FIG. 6 is a block diagram showing a main configuration of CELP decoding apparatus 450 including LSP vector inverse quantization apparatus 200 according to the present embodiment.
  • the separation unit 451 performs separation processing on the encoded information transmitted from the CELP encoding apparatus 400, and performs quantization LSP code (L), adaptive excitation lag code (A), and quantization excitation gain code.
  • L quantization LSP code
  • A adaptive excitation lag code
  • G quantization excitation gain code
  • Separation section 451 outputs the quantized LSP code (L) to LSP vector inverse quantization section 452, outputs the adaptive excitation lag code (A) to adaptive excitation codebook 453, and outputs the quantized excitation gain code (G). It outputs to quantization gain generation section 454 and outputs fixed excitation vector code (F) to fixed excitation codebook 455.
  • the LSP vector inverse quantization unit 452 decodes the quantized LSP vector from the quantized LSP code (L) input from the separating unit 451, and outputs the quantized LSP vector as a filter coefficient to the synthesis filter 459.
  • LSP vector dequantization section 452 LSP vector dequantization apparatus 200 according to the present embodiment is applied. That is, the specific configuration and operation of the LSP vector inverse quantization unit 452 are the same as those of the LSP vector inverse quantization apparatus 200. In this case, the encoded data input to the LSP vector inverse quantization apparatus 200 and the quantized LSP code (L) input to the LSP vector inverse quantization unit 452 correspond to each other.
  • the quantized broadband LSP vector output from the LSP vector inverse quantization apparatus 200 corresponds to the quantized LSP vector output from the LSP vector inverse quantization unit 452.
  • the narrowband LSP vector input to the LSP vector inverse quantization apparatus 200 is input from the outside of the CELP decoding apparatus 450, for example.
  • the LSP vector inverse quantization device 200 is applied to a scalable decoding device (not shown) having a wideband CELP decoding unit (corresponding to the CELP decoding device 450) and a narrowband CELP decoding unit
  • the narrowband CELP The narrowband LSP vector output from the decoding unit is input to the LSP vector inverse quantization apparatus 200.
  • the adaptive excitation codebook 453 extracts a sample for one frame from the extraction position specified by the adaptive excitation lag code (A) input from the separation unit 451 from the buffer, and uses the extracted vector as an adaptive excitation vector to the multiplier 456. Output.
  • adaptive excitation codebook 453 updates the contents of the buffer each time a driving excitation is input from adder 458.
  • the quantization gain generation unit 454 decodes the quantization adaptive excitation gain and the quantization fixed excitation gain indicated by the quantization excitation gain code (G) input from the separation unit 451, and multiplies the quantization adaptive excitation gain by the multiplier 456.
  • the quantized fixed sound source gain is output to the multiplier 457.
  • the fixed excitation codebook 455 generates a fixed excitation vector indicated by the fixed excitation vector code (F) input from the separation unit 451 and outputs it to the multiplier 457.
  • Multiplier 456 multiplies the adaptive excitation vector input from adaptive excitation codebook 453 by the quantized adaptive excitation gain input from quantization gain generating section 454 and outputs the result to adder 458.
  • Multiplier 457 multiplies the fixed excitation vector input from fixed excitation codebook 455 by the quantized fixed excitation gain input from quantization gain generation section 454 and outputs the result to adder 458.
  • the adder 458 adds the adaptive excitation vector after gain multiplication input from the multiplier 456 and the fixed excitation vector after gain multiplication input from the multiplier 457 to generate a driving excitation, and the generated driving
  • the sound source is output to synthesis filter 459 and adaptive excitation codebook 453.
  • the driving excitation input to adaptive excitation codebook 453 is stored in the buffer of adaptive excitation codebook 453.
  • the synthesis filter 459 performs synthesis processing using the driving sound source input from the adder 458 and the filter coefficient decoded by the LSP vector inverse quantization unit 452, and outputs the generated synthesized signal to the post-processing unit 460. To do.
  • the post-processing unit 460 performs processing for improving the subjective quality of speech, such as formant enhancement and pitch enhancement, and processing for improving the subjective quality of stationary noise, with respect to the synthesized signal input from the synthesis filter 459.
  • the obtained audio signal or musical sound signal is output.
  • the vector quantization accuracy / vector inverse quantization device is used to improve the vector quantization accuracy during encoding. Since it becomes possible to improve, the audio
  • CELP decoding apparatus 450 decodes encoded data output from CELP encoding apparatus 400 has been described.
  • the present invention is not limited to this, and it goes without saying that any encoded data in a format that can be decoded by the CELP decoding device 450 can be received and decoded by the CELP decoding device.
  • vector quantization apparatus the vector inverse quantization apparatus, and these methods according to the present invention are not limited to the above-described embodiments, and can be implemented with various modifications.
  • the vector quantization device the vector inverse quantization device, and these methods have been described for a speech signal or a musical sound signal, but may be applied to other possible signals.
  • the LSP is sometimes called LSF (Line Spectral Frequency), and the LSP may be read as LSF.
  • LSF Line Spectral Frequency
  • the present embodiment can be used as an ISP quantizing / inverse quantizing device by replacing LSP with ISP.
  • ISF InterferenceittSpectrum Frequency
  • the present embodiment can be used as an ISF quantization / inverse quantization apparatus by replacing LSP with ISF.
  • the vector quantization apparatus and vector inverse quantization apparatus can be mounted on a communication terminal apparatus or base station apparatus in a mobile communication system that transmits voice, music, or the like. Thereby, it is possible to provide a communication terminal apparatus and a base station apparatus having the same effects as described above.
  • the present invention can also be realized by software.
  • the vector quantization method and the vector inverse quantization method algorithm according to the present invention are described in a programming language, and the program is stored in a memory and executed by an information processing means, whereby the vector quantization method according to the present invention is performed. Functions similar to those of the quantization device and the vector inverse quantization device can be realized.
  • each functional block used in the description of each of the above embodiments is typically realized as an LSI which is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection or setting of circuit cells inside the LSI may be used.
  • the vector quantization apparatus, the vector inverse quantization apparatus, and these methods according to the present invention can be applied to applications such as speech encoding and speech decoding.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (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)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 量子化対象ベクトルとの相関を有する特徴の種類によって1段目のベクトル量子化のコードブックを切り替えるベクトル量子化の量子化精度を向上することができるLSPベクトル量子化装置。この装置において、分類器(101)は、複数の分類用コードベクトルの中から、量子化対象ベクトルとの相関を有する特徴の種類を示す分類用コードベクトルを選択し、スイッチ(102)は、複数の第1コードブックの中から上記種類に対応する第1コードブックを選択し、誤差最小化部(105)は、選択された第1コードブックを構成する複数の第1コードベクトルの中から、量子化対象ベクトルに最も近い第1コードベクトルを選択し、行列決定部(106)は、複数の行列の中から上記種類に対応する行列を選択し、誤差最小化部(105)は、選択された行列を用いて複数の第2コードベクトルの中から、選択された第1コードベクトルと量子化対象ベクトルとの残差ベクトルに最も近いものを選択する。

Description

ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
 本発明は、LSP(Line Spectral Pairs)パラメータのベクトル量子化を行うベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法に関し、特にインターネット通信に代表されるパケット通信システムや、移動通信システム等の分野で、音声信号の伝送を行う音声符号化・復号化装置に用いられるLSPパラメータのベクトル量子化を行うベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法に関する。
 ディジタル無線通信や、インターネット通信に代表されるパケット通信、あるいは音声蓄積などの分野においては、電波などの伝送路容量や記憶媒体の有効利用を図るため、音声信号の符号化・復号技術が不可欠である。その中で特に、CELP(Code Excited Linear Prediction)方式の音声符号化・復号技術が主流の技術となっている。
 CELP方式の音声符号化装置は、予め記憶された音声モデルに基づいて入力音声を符号化する。具体的には、CELP方式の音声符号化装置は、ディジタル化された音声信号を10~20ms程度の一定時間間隔のフレームに区切り、各フレーム内の音声信号に対して線形予測分析を行い線形予測係数(LPC:Linear Prediction Coefficient)と線形予測残差ベクトルを求め、線形予測係数と線形予測残差ベクトルとをそれぞれ個別に符号化する。線形予測係数を符号化する方法としては、線形予測係数をLSP(Line Spectral Pairs)パラメータに変換し、LSPパラメータを符号化することが一般的である。また、LSPパラメータを符号化する方法としては、LSPパラメータに対してベクトル量子化を行うことが多い。ベクトル量子化とは、代表的なベクトル(コードベクトル)を複数持つ符号帳(コードブック)の中から、量子化対象のベクトルに最も近いコードベクトルを選択し、選択されたコードベクトルに付与されているインデックス(符号)を量子化結果として出力する方法である。ベクトル量子化においては、使用できる情報量に応じてコードブックのサイズが決まる。例えば、8ビットの情報量でベクトル量子化を行う場合、コードブックは256(=2)種類のコードベクトルを用いて構成することができる。
 また、ベクトル量子化における情報量、計算量を低減するために、多段ベクトル量子化(MSVQ:Multi-Stage Vector Quantization)、または分割ベクトル量子化(SVQ:Split Vector Quantization)などの様々な技術が用いられている(例えば、非特許文献1参照)。多段ベクトル量子化とは、ベクトルを一度ベクトル量子化した後に量子化誤差を更にベクトル量子化する方法であり、分割ベクトル量子化とは、ベクトルを複数に分割して得られた分割ベクトルをそれぞれ量子化する方法である。
 また、量子化対象となるLSPとの相関を有する音声的特徴(例えば、音声の有声性、無声性、モード等の情報)に応じて、ベクトル量子化に用いるコードブックを適宜切り替えることにより、LSPの特徴に適したベクトル量子化を行い、LSP符号化の性能をさらに高める技術として分類ベクトル量子化(分類VQ)がある(例えば、非特許文献2参照)。例えば、スケーラブル符号化においては、広帯域LSP(広帯域信号から求められるLSP)と狭帯域LSP(狭帯域信号から求められるLSP)との相互関係を利用し、狭帯域LSPに対して特徴によって分類を行い、狭帯域LSPの特徴の種類(以下、狭帯域LSPの種類と略称する)に応じて多段ベクトル量子化の1段目のコードブックを切り替え、広帯域LSPをベクトル量子化する。
 また、多段ベクトル量子化と分類ベクトル量子化とを組み合わせてベクトル量子化を行うことが検討されている。この場合、多段ベクトル量子化の複数の段により構成されるコードブック群(1段目のコードブック、2段目のコードブック、…)を、狭帯域LSPの種類に応じて複数用意することにより量子化性能を向上させることができる一方、コードブック群を複数用意する必要があるため、より大きなメモリが必要となる。そこで、多段ベクトル量子化と分類ベクトル量子化とを組み合わせてベクトル量子化を行う場合、1段目のコードブックのみ狭帯域LSPの種類に応じて切り替え、2段目以降のコードブックは全ての狭帯域LSPの種類において共通とすることが検討されている(例えば、特許文献1参照)。これにより、多段ベクトル量子化において、分類ベクトル量子化による量子化性能向上の効果を得つつ、メモリの増加を抑えることができる。
国際公開第2006/030865号
Allen Gersho、Robert M. Gray著、古井、外3名訳、「ベクトル量子化と情報圧縮」、コロナ社、1998年11月10日、p.506、524-531 Allen Gersho、Robert M. Gray著、古井、外3名訳、「ベクトル量子化と情報圧縮」、コロナ社、1998年11月10日、p.491-493
 上記のような分類ベクトル量子化を利用する多段ベクトル量子化においては、狭帯域LSPの種類に対応するコードブックを用いて1段目のベクトル量子化が行われるため、1段目のベクトル量子化の量子化誤差の分布の偏りは狭帯域LSPの種類によって異なる。しかし、2段目以降のベクトル量子化では狭帯域LSPの種類にかかわらず共通の1つのコードブックを用いるため、2段目以降のベクトル量子化精度が不十分になってしまうという問題がある。
 図1は、上記の多段ベクトル量子化における問題点を説明するための図である。図1において、黒丸は2次元のベクトルを示し、破線の円はベクトル集合の分散の大きさを模式的に示し、円の中心は、ベクトル集合の平均を示す。また、図1において、CBa1、CBa2、…、CBanは、狭帯域LSPの各種類に対応し、1段目のベクトル量子化に用いられる複数のコードブックそれぞれを示す。CBbは、2段目のベクトル量子化に用いられるコードブックを示す。
 図1に示すように、コードブックCBa1、CBa2、…、CBanそれぞれを用いて1段目のベクトル量子化を行った結果、複数サンプルによる量子化誤差ベクトルの分布(図1に示す黒丸の分布)の偏りはそれぞれ異なる。このような分布の偏りが異なる量子化誤差ベクトルに対し、共通の第2コードベクトルを用いて2段目のベクトル量子化を行うと、2段目の量子化精度が劣化してしまう。
 本発明の目的は、量子化対象ベクトルとの相関を有する特徴の種類に応じて1段目のコードブックが切り替わる多段ベクトル量子化において、2段目以降のベクトル量子化の量子化精度を向上することができるベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法を提供することである。
 本発明のベクトル量子化装置は、複数の分類用コードベクトルの中から、量子化対象ベクトルとの相関を有する特徴の種類を示す分類用コードベクトルを選択する第1選択手段と、複数の第1コードブックの中から、選択された前記分類用コードベクトルに対応する第1コードブックを選択する第2選択手段と、選択された前記第1コードブックを構成する複数の第1コードベクトルを用いて前記量子化対象ベクトルを量子化し、第1符号を得る第1量子化手段と、複数の行列の中から、選択された前記分類用コードベクトルに対応する第1行列を選択する第3選択手段と、複数の第2コードベクトルおよび選択された前記第1行列を用い、前記第1符号が示す前記第1コードベクトルと、前記量子化対象ベクトルとの差である第1残差ベクトルを量子化し、第2符号を得る第2量子化手段と、を具備する構成を採る。
 本発明のベクトル逆量子化装置は、ベクトル量子化装置において量子化対象ベクトルを量子化して得られた第1符号と、前記量子化の量子化誤差をさらに量子化して得られた第2符号と、を受信する受信手段と、複数の分類用コードベクトルの中から、前記量子化対象ベクトルとの相関を有する特徴の種類を示す分類用コードベクトルを選択する第1選択手段と、複数の第1コードブックの中から、選択された前記分類用コードベクトルに対応する第1コードブックを選択する第2選択手段と、選択された前記第1コードブックを構成する複数の第1コードベクトルの中から、前記第1符号に対応する第1コードベクトルを指定する第1逆量子化手段と、複数の行列の中から、選択された前記分類用コードベクトルに対応する行列を選択する第3選択手段と、複数の第2コードベクトルの中から前記第2符号に対応する第2コードベクトルを指定し、指定された前記第2コードベクトルと、選択された前記行列と、指定された前記第1コードベクトルとを用い、量子化ベクトルを得る第2逆量子化手段と、を具備する構成を採る。
 本発明のベクトル量子化方法は、複数の分類用コードベクトルの中から、量子化対象ベクトルとの相関を有する特徴の種類を示す分類用コードベクトルを選択するステップと、複数の第1コードブックの中から、選択された前記分類用コードベクトルに対応する第1コードブックを選択するステップと、選択された前記第1コードブックを構成する複数の第1コードベクトルを用いて前記量子化対象ベクトルを量子化し、第1符号を得るステップと、複数の行列の中から、選択された前記分類用コードベクトルに対応する第1行列を選択するステップと、複数の第2コードベクトルおよび選択された前記第1行列を用い、前記第1符号が示す前記第1コードベクトルと、前記量子化対象ベクトルとの差である第1残差ベクトルを量子化し、第2符号を得るステップと、を有するようにした。
 本発明のベクトル逆量子化方法は、ベクトル量子化装置において量子化対象ベクトルを量子化して得られた第1符号と、前記量子化の量子化誤差をさらに量子化して得られた第2符号と、を受信するステップと、複数の分類用コードベクトルの中から、前記量子化対象ベクトルとの相関を有する特徴の種類を示す分類用コードベクトルを選択するステップと、複数の第1コードブックの中から、選択された前記分類用コードベクトルに対応する第1コードブックを選択するステップと、選択された前記第1コードブックを構成する複数の第1コードベクトルの中から、前記第1符号に対応する第1コードベクトルを指定するステップと、複数の行列の中から、選択された前記分類用コードベクトルに対応する行列を選択するステップと、複数の第2コードベクトルの中から前記第2符号に対応する第2コードベクトルを指定し、指定された前記第2コードベクトルと、選択された前記行列と、指定された前記第1コードベクトルとを用い、量子化ベクトルを得るステップと、を有するようにした。
 本発明によれば、量子化対象ベクトルとの相関を有する特徴の種類に応じて1段目のコードブックを切り替える多段ベクトル量子化において、上記種類に対応する行列を用いて2段目以降のベクトル量子化を行うことにより、2段目以降のベクトル量子化の量子化精度を向上することができる。
従来技術の多段ベクトル量子化における問題点を説明するための図 本発明の一実施の形態に係るLSPベクトル量子化装置の主要な構成を示すブロック図 本発明の一実施の形態に係るLSPベクトル逆量子化装置の主要な構成を示すブロック図 本発明の一実施の形態に係るLSPベクトル量子化の効果を概念的に説明するための図 本発明の一実施の形態に係るLSPベクトル量子化装置を備えるCELP符号化装置の主要な構成を示すブロック図 本発明の一実施の形態に係るLSPベクトル逆量子化装置を備えるCELP復号装置の主要な構成を示すブロック図
 以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。なお、本発明に係るベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法として、LSPベクトル量子化装置、LSPベクトル逆量子化装置、およびこれらの方法を例にとって説明する。
 また、本発明の実施の形態では、スケーラブル符号化の広帯域LSP量子化器において、広帯域LSPをベクトル量子化対象とし、ベクトル量子化対象との相関を有する狭帯域LSPの種類を用いて、1段目の量子化に用いるコードブックを切り替える場合を例にとって説明する。なお、狭帯域LSPの代わりに、量子化狭帯域LSP(図示しない狭帯域LSP量子化器によって予め量子化された狭帯域LSP)を用いて1段目の量子化に用いるコードブックを切り替えてもよい。また、量子化狭帯域LSPを広帯域形態に変換し、変換後の量子化狭帯域LSPを用いて1段目の量子化に用いるコードブックを切り替えてもよい。
 また、本発明の実施の形態において、コードブックを構成するコードベクトル全てに対して行列演算することにより、コードベクトルの分布の偏りを移動させるための行列のことを、マッピング行列と称することとする。なお、実際には、マッピング行列は、コードベクトルに対して行列演算するために用いられるよりも、本発明の実施の形態のように量子化対象であるベクトルに対して行列演算するために用いられることが多い。
 図2は、本発明の実施の形態に係るLSPベクトル量子化装置100の主要な構成を示すブロック図である。ここでは、LSPベクトル量子化装置100において、入力されるLSPベクトルを3段階の多段ベクトル量子化により量子化する場合を例にとって説明する。
 図2において、LSPベクトル量子化装置100は、分類器101、スイッチ102、第1コードブック103、加算器104、誤差最小化部105、行列決定部106、行列演算部107、第2コードブック108、加算器109、行列演算部110、第3コードブック111および加算器112を備える。
 分類器101は、狭帯域LSPベクトルの複数の種類それぞれを示す複数の分類情報からなる分類用コードブックを予め格納している。分類器101は、ベクトル量子化対象である広帯域LSPベクトルの種類を示す分類情報を分類用コードブックの中から選択し、スイッチ102、および行列決定部106に出力する。具体的には、分類器101は、狭帯域LSPベクトルの各種類に対応するコードベクトル(分類用コードベクトル)からなる分類用コードブックを内蔵している。分類器101は、分類用コードブックを探索することにより、入力される狭帯域LSPベクトルとの二乗誤差が最小となるコードベクトルを求める。分類器101は、探索により求めたコードベクトルのインデックスを、LSPベクトルの種類を示す分類情報とする。
 スイッチ102は、分類器101から入力される分類情報に対応するサブコードブックを第1コードブック103の中から1つ選択し、そのサブコードブックの出力端子を加算器104に接続する。
 第1コードブック103は、狭帯域LSPの各種類に対応したサブコードブック(CBa1~CBan)を予め格納している。すなわち、例えば狭帯域LSPの種類の総数がnである場合、第1コードブック103を構成するサブコードブックの数もnとなる。第1コードブック103は、スイッチ102で選択されたサブコードブックを構成する複数の第1コードベクトルの中から、誤差最小化部105からの指示により指示された第1コードベクトルをスイッチ102に出力する。
 加算器104は、ベクトル量子化対象として入力される広帯域LSPベクトルと、スイッチ102から入力される第1コードベクトルとの差を求め、この差を第1残差ベクトルとして誤差最小化部105に出力する。また、加算器104は、すべての第1コードベクトルそれぞれに対応する第1残差ベクトルのうち、誤差最小化部105の探索により最小となると分かった1つを行列演算部107に出力する。
 誤差最小化部105は、加算器104から入力される第1残差ベクトルを二乗した結果を広帯域LSPベクトルと第1コードベクトルとの二乗誤差とし、第1コードブックを探索することによりこの二乗誤差が最小となる第1コードベクトルを求める。同様に、誤差最小化部105は、加算器109から入力される第2残差ベクトルを二乗した結果を第1残差ベクトルと第2コードベクトルとの二乗誤差とし、第2コードブックを探索することによりこの二乗誤差が最小となる第2コードベクトルを得る。同様に、誤差最小化部105は、加算器112から入力される第3残差ベクトルを二乗した結果を第2残差ベクトルと第3コードベクトルとの二乗誤差とし、第3コードブックを探索することによりこの二乗誤差が最小となる第3コードベクトルを得る。誤差最小化部105は、探索により得られた3つのコードベクトルに付与されているインデックスを纏めて符号化し、符号化データとして出力する。
 行列決定部106は、狭帯域LSPベクトルの各種類に対応するマッピング行列からなるマッピング行列コードブックを予め格納している。ここでは、マッピング行列コードブックは、第1マッピング行列コードブックおよび第2マッピング行列コードブックの2種類のマッピング行列コードブックで構成される。また、第1マッピング行列コードブックは、第1コードベクトルに対して行列演算を行うために用いられる第1マッピング行列からなり、第2マッピング行列コードブックは、第2コードベクトルに対して行列演算を行うために用いられる第2マッピング行列からなる。行列決定部106は、分類器101から入力される分類情報に対応する第1マッピング行列および第2マッピング行列を、マッピング行列コードブックの中から選択する。そして、行列決定部106は、選択した第1マッピング行列の逆行列を行列演算部107に出力し、選択した第2マッピング行列の逆行列を行列演算部110に出力する。
 行列演算部107は、加算器104から入力された第1残差ベクトルに対して、行列決定部106から入力される第1マッピング行列の逆行列を用いて行列演算を行い、行列演算後のベクトルを加算器109に出力する。
 第2コードブック(CBb)108は、複数の第2コードベクトルからなり、誤差最小化部105からの指示により指示された第2コードベクトルを加算器109に出力する。
 加算器109は、行列演算部107から入力される、行列演算後のベクトルと、第2コードブック108から入力される第2コードベクトルとの差を求め、この差を第2残差ベクトルとして誤差最小化部105に出力する。また、加算器109は、すべての第2コードベクトルそれぞれに対応する第2残差ベクトルのうち、誤差最小化部105の探索により最小となると分かった1つを行列演算部110に出力する。
 行列演算部110は、加算器109から入力された第2残差ベクトルに対して、行列決定部106から入力される第2マッピング行列の逆行列を用いて行列演算を行い、行列演算後のベクトルを加算器112に出力する。
 第3コードブック111(CBc)は、複数の第3コードベクトルからなり、誤差最小化部105からの指示により指示された第3コードベクトルを加算器112に出力する。
 加算器112は、行列演算部110から入力される行列演算後のベクトルと、第3コードブック111から入力される第3コードベクトルとの差を求め、この差を第3残差ベクトルとして誤差最小化部105に出力する。
 次に、量子化対象となる広帯域LSPベクトルの次数がR次である場合を例にとって、LSPベクトル量子化装置100が行う動作について説明する。なお、以下の説明では、広帯域LSPベクトルをLSP(i)(i=0,1,…,R-1)と記す。
 分類器101は、狭帯域LSPベクトルのn個の種類それぞれに対応するn個のコードベクトル(分類用コードベクトル)からなる分類用コードブックを内蔵している。分類器101は、コードベクトルを探索することにより、入力される狭帯域LSPベクトルとの二乗誤差が最小となるm番目のコードベクトルを求める。分類器101は、m(1≦m≦n)を分類情報としてスイッチ102、および行列決定部106に出力する。
 スイッチ102は、分類情報mに対応するサブコードブックCBamを第1コードブック103の中から選択し、そのサブコードブックの出力端子を加算器104に接続する。
 第1コードブック103は、n個のサブコードブックCBa1~CBanのうち、CBamを構成する各第1コードベクトルCODE_1(d1)(i)(d1=0,1,…,D1-1、i=0,1,…,R-1)の中から、誤差最小化部105からの指示d1’により指示された第1コードベクトルCODE_1(d1’)(i)(i=0,1,…,R-1)をスイッチ102に出力する。ここで、D1は第1コードブックのコードベクトルの総数であり、d1は第1コードベクトルのインデックスである。ここで、第1コードブック103は、d1’=0からd1’=D1-1までのd1’の値を順次誤差最小化部105から指示される。
 加算器104は、ベクトル量子化対象として入力される広帯域LSPベクトルLSP(i)(i=0,1,…,R-1)と、第1コードブック103から入力される第1コードベクトルCODE_1(d1’)(i)(i=0,1,…,R-1)との差を下記の式(1)に従って求め、この差を第1残差ベクトルErr_1(d1’)(i)(i=0,1,…,R-1)として誤差最小化部105に出力する。また、加算器104は、d1’=0からd1’=D1-1までのd1’それぞれに対応する第1残差ベクトルErr_1(d1’)(i)(i=0,1,…,R-1)のうち、誤差最小化部105の探索により最小となると分かった第1残差ベクトルErr_1(d1_min)(i)(i=0,1,…,R-1)を行列演算部107に出力する。
Figure JPOXMLDOC01-appb-M000001
 誤差最小化部105は、d1’=0からd1’=D1-1までのd1’の値を順次第1コードブック103に指示し、d1’=0からd1’=D1-1までのd1’それぞれに対して、加算器104から入力される第1残差ベクトルErr_1(d1’)(i)(i=0,1,…,R-1)を下記の式(2)に従って二乗し、二乗誤差Errを求める。
Figure JPOXMLDOC01-appb-M000002
 誤差最小化部105は、二乗誤差Errが最小となる第1コードベクトルのインデックスd1’を第1インデックスd1_minとして記憶する。
 行列決定部106は、分類情報mに対応する第1マッピング行列の逆行列MM_1-1(m)を第1マッピング行列コードブックの中から選択し、行列演算部107に出力する。また、行列決定部106は、分類情報mに対応する第2マッピング行列の逆行列MM_2-1(m)を第2マッピング行列コードブックの中から選択し、行列演算部110に出力する。
 行列演算部107は、下記の式(3)に従って、加算器104から入力される第1残差ベクトルErr_1(d1_min)(i)(i=0,1,…,R-1)に対して、行列決定部106から入力される第1マッピング行列の逆行列MM_1-1(m)を用いて行列演算を行い、得られるMap_Err_1(d1_min)(i)(i=0,1,…,R-1)を加算器109に出力する。
Figure JPOXMLDOC01-appb-M000003
 第2コードブック108は、コードブックを構成する各第2コードベクトルCODE_2(d2)(i)(d2=0,1,…,D2-1、i=0,1,…,R-1)の中から、誤差最小化部105からの指示d2’により指示されたコードベクトルCODE_2(d2’)(i)(i=0,1,…,R-1)を加算器109に出力する。ここで、D2は第2コードブックのコードベクトルの総数であり、d2はコードベクトルのインデックスである。第2コードブック108は、d2’=0からd2’=D2-1までのd2’の値を順次誤差最小化部105から指示される。
 加算器109は、行列演算部107から入力される、行列演算後の第1残差ベクトルMap_Err_1(d1_min)(i)(i=0,1,…,R-1)と、第2コードブック108から入力される第2コードベクトルCODE_2(d2’)(i)(i=0,1,…,R-1)との差を下記の式(4)に従って求め、この差を第2残差ベクトルErr_2(d2’)(i)(i=0,1,…,R-1)として誤差最小化部105に出力する。また、加算器109は、d2’=0からd2’=D1-1までのd2’それぞれに対応する第2残差ベクトルErr_2(d2’)(i)(i=0,1,…,R-1)のうち、誤差最小化部105の探索により最小となると分かった第2残差ベクトルErr_2(d2_min)(i)(i=0,1,…,R-1)を行列演算部110に出力する。
Figure JPOXMLDOC01-appb-M000004
 ここで、誤差最小化部105は、d2’=0からd2’=D2-1までのd2’の値を順次第2コードブック108に指示し、d2’=0からd2’=D2-1までのd2’それぞれに対して、加算器109から入力される第2残差ベクトルErr_2(d2’)(i)(i=0,1,…,R-1)を下記の式(5)に従って二乗し、二乗誤差Errを求める。
Figure JPOXMLDOC01-appb-M000005
 誤差最小化部105は、二乗誤差Errが最小となる第2コードベクトルのインデックスd2’を第2インデックスd2_minとして記憶する。
 行列演算部110は、下記の式(6)に従って、加算器109から入力される第2残差ベクトルErr_2(d2_min)(i)(i=0,1,…,R-1)に対して、行列決定部106から入力される第2マッピング行列の逆行列MM_2-1(m)を用いて行列演算を行い、得られるMap_Err_2(d2_min)(i)(i=0,1,…,R-1)を加算器112に出力する。
Figure JPOXMLDOC01-appb-M000006
 第3コードブック111は、コードブックを構成する各第3コードベクトルCODE_3(d3)(i)(d3=0,1,…,D3-1、i=0,1,…,R-1)の中から、誤差最小化部105からの指示d3’により指示された第3コードベクトルCODE_3(d3’)(i)(i=0,1,…,R-1)を加算器112に出力する。ここで、D3は第3コードブックのコードベクトルの総数であり、d3はコードベクトルのインデックスである。第3コードブック111は、d3’=0からd3’=D3-1までのd3’の値を順次誤差最小化部105から指示される。
 加算器112は、行列演算部110から入力される、行列演算後の第2残差ベクトルMap_Err_2(d2_min)(i)(i=0,1,…,R-1)と、第3コードブック111から入力されるコードベクトルCODE_3(d3’)(i)(i=0,1,…,R-1)との差を下記の式(7)に従って求め、この差を第3残差ベクトルErr_3(d3’)(i)(i=0,1,…,R-1)として誤差最小化部105に出力する。
Figure JPOXMLDOC01-appb-M000007
 ここで、誤差最小化部105は、d3’=0からd3’=D3-1までのd3’の値を順次第3コードブック111に指示し、d3’=0からd3’=D3-1までのd3’それぞれに対して、加算器112から入力される第3残差ベクトルErr_3(d3’)(i)(i=0,1,…,R-1)を下記の式(8)に従って二乗し、二乗誤差Errを求める。
Figure JPOXMLDOC01-appb-M000008
 次いで、誤差最小化部105は、二乗誤差Errが最小となる第3コードベクトルのインデックスd3’を第3インデックスd3_minとして記憶する。そして、誤差最小化部105は、第1インデックスd1_min、第2インデックスd2_min、第3インデックスd3_minを纏めて符号化し、符号化データとして出力する。
 図3は、本実施の形態に係るLSPベクトル逆量子化装置200の主要な構成を示すブロック図である。LSPベクトル逆量子化装置200は、LSPベクトル量子化装置100において出力される符号化データを復号し、量子化LSPベクトルを生成する。
 LSPベクトル逆量子化装置200は、分類器201、符号分離部202、スイッチ203、第1コードブック204、行列決定部205、第2コードブック(CBb)206、行列演算部207、加算器208、第3コードブック(CBc)209、行列演算部210および加算器211を備える。なお、第1コードブック204は、第1コードブック103が備えるサブコードブック(CBa1~CBan)と同一内容のサブコードブックを備え、行列決定部205は、行列決定部106が備えるマッピング行列コードブックと同一内容のマッピング行列コードブックを備える。また、第2コードブック206は、第2コードブック108が備えるコードブックと同一内容のコードブックを備え、第3コードブック209は、第3コードブック111が備えるコードブックと同一内容のコードブックを備える。
 分類器201は、狭帯域LSPベクトルの複数の種類それぞれを示す複数の分類情報からなる分類用コードブックを予め格納している。分類器201は、ベクトル量子化対象である広帯域LSPベクトルの種類を示す分類情報を分類用コードブックの中から選択し、スイッチ203、および行列決定部205に出力する。具体的には、分類器201は、狭帯域LSPベクトルの各種類に対応するコードベクトル(分類用コードベクトル)からなる分類用コードブックを内蔵している。分類器201は、分類用コードブックを探索することにより、図示しない狭帯域LSP量子化器から入力される量子化狭帯域LSPベクトルとの二乗誤差が最小となるコードベクトルを求める。分類器201は、探索により求めたコードベクトルのインデックスを、LSPベクトルの種類を示す分類情報とする。
 符号分離部202は、LSPベクトル量子化装置100から送信される符号化データを第1インデックス、第2インデックスおよび第3インデックスに分離する。符号分離部202は、第1インデックスを第1コードブック204に指示し、第2インデックスを第2コードブック206に指示し、第3インデックスを第3コードブック209に指示する。
 スイッチ203は、分類器201から入力される分類情報に対応するサブコードブック(CBam)を第1コードブック204の中から1つ選び、そのサブコードブックの出力端子を加算器208に接続する。
 第1コードブック204は、スイッチ203で選択された第1コードブック(サブコードブック)を構成する複数の第1コードベクトルの中から、符号分離部202により指示された第1インデックスに対応する1つの第1コードベクトルをスイッチ203に出力する。
 行列決定部205は、分類器201から入力される分類情報に対応する第1マッピング行列を第1マッピング行列コードブックの中から選択し、選択した第1マッピング行列を行列演算部207および行列演算部210に出力する。また、行列決定部205は、分類器201から入力される分類情報に対応する第2マッピング行列を第2マッピング行列コードブックの中から選択し、選択した第2マッピング行列を行列演算部210に出力する。
 第2コードブック206は、符号分離部202により指示された第2インデックスに対応する1つの第2コードベクトルを行列演算部207に出力する。
 行列演算部207は、第2コードブック206から入力される第2コードベクトルに対して、行列決定部205から入力される第1マッピング行列を用いて行列演算を行い、行列演算結果を加算器208に出力する。
 加算器208は、スイッチ203から入力される第1コードベクトルと、行列演算部207から入力される行列演算結果とを加算し、得られる加算結果を加算器211に出力する。
 第3コードブック209は、符号分離部202により指示された第3インデックスに対応する1つの第3コードベクトルを行列演算部210に出力する。
 行列演算部210は、第3コードブック209から入力される第3コードベクトルに対して、行列決定部205から入力される第2マッピング行列を用いて行列演算を行い、行列演算結果を加算器211に出力する。
 加算器211は、加算器208から入力される加算結果と、行列演算部210から入力される行列演算結果とを加算し、得られる加算結果を量子化広帯域LSPベクトルとして出力する。
 次に、LSPベクトル逆量子化装置200の動作について説明する。
 分類器201は、狭帯域LSPベクトルのn個の種類それぞれに対応するn個のコードベクトル(分類用コードベクトル)からなる分類用コードブックを内蔵している。分類器201は、コードベクトルを探索することにより、図示しない狭帯域LSP量子化器から入力される量子化狭帯域LSPベクトルとの二乗誤差が最小となるm番目のコードベクトルを求める。分類器201は、m(1≦m≦n)を分類情報としてスイッチ203および行列決定部205に出力する。
 符号分離部202は、LSPベクトル量子化装置100から送信される符号化データを第1インデックスd1_min、第2インデックスd2_minおよび第3インデックスd3_minに分離する。符号分離部202は、第1インデックスd1_minを第1コードブック204に指示し、第2インデックスd2_minを第2コードブック206に指示し、第3インデックスd3_minを第3コードブック209に指示する。
 スイッチ203は、分類器201から入力される分類情報mに対応するサブコードブックCBamを第1コードブック204の中から選び、そのサブコードブックの出力端子を加算器208に接続する。
 第1コードブック204は、サブコードブックCBamを構成する各第1コードベクトルCODE_1(d1)(i)(d1=0,1,…,D1-1、i=0,1,…,R-1)の中から、符号分離部202からの指示d1_minにより指示された第1コードベクトルCODE_1(d1_min)(i)(i=0,1,…,R-1)をスイッチ203に出力する。
 行列決定部205は、分類器201から入力される分類情報mに対応する第1マッピング行列MM_1(m)を第1マッピング行列コードブックの中から選択し、行列演算部207および行列演算部210に出力する。また、行列決定部205は、分類器201から入力される分類情報mに対応する第2マッピング行列MM_2(m)を第2マッピング行列コードブックの中から選択し、行列演算部210に出力する。
 第2コードブック206は、第2コードブックを構成する各第2コードベクトルCODE_2(d2)(i)(d2=0,1,…,D2-1、i=0,1,…,R-1)の中から、符号分離部202からの指示d2_minにより指示された第2コードベクトルCODE_2(d2_min)(i)(i=0,1,…,R-1)を行列演算部207に出力する。
 行列演算部207は、下記の式(9)に従って、第2コードブック206から入力される第2コードベクトルCODE_2(d2_min)(i)(i=0,1,…,R-1)に対して、行列決定部205から入力される第1マッピング行列MM_1(m)を用いて行列演算を行い、得られる行列演算結果TMP_1(i)(i=0,1,…,R-1)を加算器208に出力する。
Figure JPOXMLDOC01-appb-M000009
 加算器208は、下記の式(10)に従って、行列演算部207から入力される行列演算結果TMP_1(i)と、スイッチ203から入力される第1コードベクトルCODE_1(d1_min)(i)(i=0,1,…,R-1)とを加算し、得られる加算結果TMP_2(i)(i=0,1,…,R-1)を加算器211に出力する。
Figure JPOXMLDOC01-appb-M000010
 第3コードブック209は、第3コードブックを構成する各第3コードベクトルCODE_3(d3)(i)(d3=0,1,…,D3-1、i=0,1,…,R-1)の中から、符号分離部202からの指示d3_minにより指示された第3コードベクトルCODE_3(d3_min)(i)(i=0,1,…,R-1)を行列演算部210に出力する。
 行列演算部210は、下記の式(11)に従って、第3コードブック209から入力される第3コードベクトルCODE_3(d3_min)(i)(i=0,1,…,R-1)に対して、行列決定部205から入力される第1マッピング行列MM_1(m)を用いて行列演算を行い、行列演算結果TMP_3(i)(i=0,1,…,R-1)を得る。そして、行列演算部210は、下記の式(12)に従って、行列演算結果TMP_3(i)(i=0,1,…,R-1)に対して、行列決定部205から入力される第2マッピング行列MM_2(m)を用いて行列演算を行い、得られる行列演算結果TMP_4(i)(i=0,1,…,R-1)を加算器211に出力する。
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000012
 加算器211は、下記の式(13)に従って、加算器208から入力される加算結果TMP_2(i)(i=0,1,…,R-1)と、行列演算部210から入力される行列演算結果TMP_4(i)(i=0,1,…,R-1)とを加算し、加算結果となるベクトルQ_LSP(i)(i=0,1,…,R-1)を量子化広帯域LSPベクトルとして出力する。
Figure JPOXMLDOC01-appb-M000013
 LSPベクトル量子化装置100およびLSPベクトル逆量子化装置200で用いられる第1コードブック、マッピング行列コードブック、第2コードブックおよび第3コードブックは、予め学習により求めて作成されたものであり、これらのコードブックの学習方法について説明する。
 第1コードブック103および第1コードブック204が備える第1コードブックを学習により求めるためには、まず多数の学習用の音声データから得られる多数の、例えばV個のLSPベクトルを用意する。次いで、V個のLSPベクトルを種類(n種類)毎にグループ化し、各グループに属するLSPベクトルを用いて、LBG(Linde Buzo Gray)アルゴリズム等の学習アルゴリズムに従いD1個の第1コードベクトルCODE_1(d1)(i)(d1=0,1,…,D1-1、i=0,1,…,R-1)を求め、各サブコードブックを生成する。
 第2コードブック108および第2コードブック206が備える第2コードブックを学習により求めるためには、上記のV個のLSPベクトルを用いて、上記方法で求めた第1コードブックによる1段目のベクトル量子化を行い、加算器104が出力する第1残差ベクトルErr_1(d1_min)(i)(i=0,1,…,R-1)をV個求める。次いで、V個の第1残差ベクトルErr_1(d1_min)(i)(i=0,1,…,R-1)を用いて、LBG(Linde Buzo Gray)アルゴリズム等の学習アルゴリズムに従いD2個の第2コードベクトルCODE_2(d2)(i)(d2=0,1,…,D1-1、i=0,1,…,R-1)を求め、第2コードブックを生成する。
 行列決定部106および行列決定部205が備える第1マッピング行列コードブックを学習により求めるためには、上記のV個のLSPベクトルを用いて、上記方法で求めた第1コードブックによる1段目のベクトル量子化を行い、加算器104が出力する第1残差ベクトルErr_1(d1_min)(i)(i=0,1,…,R-1)をV個求める。次いで、求めたV個の第1残差ベクトルを種類(n種類)毎にグループ化し、各グループに属する第1残差ベクトル集合のセントロイド(平均)C1を求める。
 次いで、第1コードブックと同様にして、第2コードブックにおいても、すべての第2コードベクトルの平均を計算することによりセントロイドD1を求める。
 このようにして各種類(n種類)において、第1コードブックのセントロイドC1および第2コードブックのセントロイドD1を求める。そして、種類mに対応するセントロイドD1に対して行列演算を行い、セントロイドC1とセントロイドD1とが一致する行列を求め、求めた行列を種類mに対応する第1マッピング行列とする。各種類(n種類)において第1マッピング行列を求め、各種類の第1マッピング行列に通し番号を付して格納することにより、第1マッピング行列コードブックを生成する。
 例えば、ベクトルの次元数Rが2次元の場合、種類mにおける第1マッピング行列MM_1(d2)は下記の式(14)の連立方程式を解くことにより求められる。
Figure JPOXMLDOC01-appb-M000014
 また、ベクトルの次元数Rが3次元以上の場合、2次元単位でマッピング行列を求め、得られたマッピング行列の行列積を求めることにより、第1マッピング行列MM_1(m)を生成することができる。例えば、ベクトルの次元数Rが3次元の場合、下記の式(15)の連立方程式を解くことにより、1,2次に相当するベクトル要素をマッピングできる行列TMP_1を求める。
Figure JPOXMLDOC01-appb-M000015
 次いで、下記の式(16)の連立方程式を解くことにより、2,3次に相当するベクトル要素をマッピングできる行列TMP_2を求める。
Figure JPOXMLDOC01-appb-M000016
 そして、下記の式(17)に従って行列TMP_1および行列TMP_2の行列積を求めることにより、第1マッピング行列MM_1(m)を生成する。
Figure JPOXMLDOC01-appb-M000017
 このように、ベクトルの次元数Rが3次元以上の場合、2次元単位で行列を求め、最終的にすべての行列の行列積を求めることによりマッピング行列を求める。
 第3コードブック111および第3コードブック209が備える第3コードブックを学習により求めるためには、上記のV個のLSPベクトルを用いて、上記方法で求めた第1コードブックによる1段目のベクトル量子化を行う。次いで、上記方法で求めた第1マッピング行列コードブックを用いて、第1マッピング行列演算後の第1残差ベクトルMap_Err_1(d1_min)(i)(i=0,1,…,R-1)をV個求める。次いで、上記方法で求めた第2コードブックによる2段目のベクトル量子化を行い、加算器109が出力する第2残差ベクトルErr_2(d2_min)(i)(i=0,1,…,R-1)をV個求める。次いで、V個の第2残差ベクトルErr_2(d2_min)(i)(i=0,1,…,R-1)を用いて、LBG(Linde Buzo Gray)アルゴリズム等の学習アルゴリズムに従いD3個の第3コードベクトルCODE_3(d3)(i)(d3=0,1,…,D1-1、i=0,1,…,R-1)を求め、第3コードブックを生成する。
 行列決定部106および行列決定部205が備える第2マッピング行列コードブックを学習により求めるためには、上記のV個のLSPベクトルを用いて、上記方法で求めた第1コードブックによる1段目のベクトル量子化を行い、上記方法で求めた第1マッピング行列を用いて行列演算を行い、上記方法で求めた第2コードブックによる2段目のベクトル量子化を行い、加算器109が出力する第2残差ベクトルErr_2(d2_min)(i)(i=0,1,…,R-1)をV個求める。次いで、求めたV個の第2残差ベクトルを種類(n種類)毎にグループ化し、各グループに属する第2残差ベクトル集合のセントロイドC2を求める。
 次いで、第3コードブックにおいても、すべての第3コードベクトルの平均を計算することによりセントロイドD2を求める。
 各種類(n種類)において、セントロイドC2および第3コードブックのセントロイドD2を求める。そして、種類mに対応するセントロイドD2に対して行列演算を行い、セントロイドC2とセントロイドD2とが一致する行列を求め、求めた行列を種類mに対応する第2マッピング行列とする。各種類(n種類)において第2マッピング行列を求め、各種類の第2マッピング行列に通し番号を付して格納することにより、第2マッピング行列コードブックを生成する。
 第2マッピング行列MM_2(m)は、上記の第1マッピング行列MM_1(m)を求める方法において、セントロイドC1をセントロイドC2に置き換え、セントロイドD1をセントロイドD2に置き換えた後に、同様の手順を行うことにより求めることができる。
 これらの学習の方法は一例であって、上記の方法以外で各コードブックを生成しても良い。
 このように、本実施の形態によれば、広帯域LSPベクトルとの相関を有する狭帯域LSPベクトルの種類により1段目のベクトル量子化のコードブックを切り換え、1段目のベクトル量子化誤差(第1残差ベクトル)の統計的な分布の偏りが種類毎に異なる多段ベクトル量子化において、狭帯域LSPベクトルの分類結果に対応する第1マッピング行列を用いて、第1残差ベクトルに対する行列演算を行う。これにより、2段目のコードベクトルの分布の偏りを1段目のベクトル量子化誤差の統計的な分布の偏りに適応させることができ、従って広帯域LSPベクトルの量子化精度を向上することができる。また、狭帯域LSPベクトルの分類結果に対応する第2マッピング行列を用いて、第2残差ベクトルに対する行列演算を行う。これにより、3段目のコードベクトルの分布の偏りを2段目のベクトル量子化誤差の分布の偏りに適応させることができ、従って、広帯域LSPベクトルの量子化精度を向上することができる。
 図4は、本実施の形態に係るLSPベクトル量子化の効果を概念的に説明するための図である。図4において、「回転」と書いてある矢印は、第2コードベクトルの集合に対してマッピング行列を用いて行列演算する処理を示す。図4に示すように、本実施の形態においては、狭帯域LSPの種類に対応する第1コードブックCBam(m<=n)を用いてベクトル量子化を行って得られる量子化誤差ベクトルに対して、この種類に対応するマッピング行列を用いて行列演算する。これにより行列演算後の量子化誤差ベクトルの集合の分布の偏りを、2段目のベクトル量子化に用いる共通の第2コードブックCBbを構成する第2コードベクトルの集合の分布の偏りに一致させることができる。従って、2段目のベクトル量子化の量子化精度を向上することができる。
 なお、本実施の形態においては、1段目のベクトル量子化誤差の統計的な分布の偏りを2段目のコードベクトルの分布の偏りに応じて変更し、2段目のベクトル量子化誤差の統計的な分布の偏りを3段目のコードベクトルの分布の偏りに応じて変更する場合を例にとって説明した。ただし、本発明はこれに限定されず、2段目のベクトル量子化対象に用いるコードベクトルの分布の偏りを1段目のベクトル量子化誤差の統計的な分布の偏りに応じて変更し、3段目のベクトル量子化対象に用いるコードベクトルの分布の偏りを2段目のベクトル量子化誤差の統計的な分布の偏りに応じて変更してもよい。これによっても、本実施の形態と同様に、広帯域LSPベクトルの量子化精度を向上する効果が得られる。
 また、本実施の形態では、行列決定部106および行列決定部205が備えるマッピング行列コードブックを構成するマッピング行列は狭帯域LSPベクトルの種類に対応している場合を例にとって説明した。ただし、本発明はこれに限定されず、行列決定部106および行列決定部205が備えるマッピング行列コードブックを構成するマッピング行列は、音声の特徴を分類した各種類に対応していてもよい。かかる場合、分類器101は、狭帯域LSPベクトルではなく音声の特徴を表すパラメータを音声特徴情報として入力し、入力された音声特徴情報に対応する音声特徴の種類を分類情報としてスイッチ102および行列決定部106に出力する。例えば、VMR-WB(Variable-Rate Multimode Wideband Speech Codec)のように、音声の有声性、雑音性等の特徴でエンコーダのタイプを切り換えるというような符号化装置に本発明を適用する場合、エンコーダのタイプの情報をそのまま音声特徴量として用いてよい。
 また、本実施の形態では、LSPベクトルに対して3段のベクトル量子化を行う場合を例にとって説明したが、本発明はこれに限定されず、2段のベクトル量子化、もしくは、4段以上のベクトル量子化を行う場合にも適用できる。
 また、本実施の形態では、LSPベクトルに対して3段の多段ベクトル量子化を行う場合を例にとって説明したが、本発明はこれに限定されず、分割ベクトル量子化と併用してベクトル量子化を行う場合にも適用できる。
 また、本実施の形態では、量子化対象として広帯域LSPベクトルを例にとって説明したが、量子化対象はこれに限定されず、広帯域LSPベクトル以外のベクトルであっても良い。
 また、本実施の形態では、マッピング行列を用いて行列演算することにより、コードベクトルの分布の偏りを移動させる場合を例にとって説明した。しかし、本発明はこれに限定されず、回転行列を用いて行列演算することにより、コードベクトルの分布の偏りを移動させてもよい。
 また、本実施の形態では、LSPベクトル逆量子化装置200は、LSPベクトル量子化装置100において出力される符号化データを復号するとした。ただし、本発明はこれに限定されず、LSPベクトル逆量子化装置200で復号可能な形式の符号化データであれば、LSPベクトル逆量子化装置で受信して復号することが可能であることは言うまでもない。
 また、本実施の形態では、LSPベクトル量子化装置100およびLSPベクトル逆量子化装置200が、R次元のベクトルに対してR×Rのマッピング行列を用いて行列演算する例を挙げて説明した。ただし、本発明はこれに限定されず、LSPベクトル量子化装置100およびLSPベクトル逆量子化装置200は、例えば、2×2のマッピング行列を複数用意し、R次元のベクトルの2次毎ベクトル要素に対して複数の2×2のマッピング行列をそれぞれ用いて行列演算してもよい。この構成によれば、マッピング行列を格納するのに必要なメモリを削減することができ、さらに、行列演算に要する演算量を削減することができる。
 例えば、ベクトルが6次元であり、3つの2×2のマッピング行列(MMA_1(m)、MMB_1(m)およびMMC_1(m))を用いて行列演算する場合、上記の式(3)は下記の式(18)に示すようになり、上記の式(8)は下記の式(19)に示すようになる。
Figure JPOXMLDOC01-appb-M000018
Figure JPOXMLDOC01-appb-M000019
 ここで、マッピング行列(MMA_1(m)、MMB_1(m)およびMMC_1(m))を学習により求めるには、上述したベクトルの次元数Rが2次元である場合の学習方法(上記の式(14))を、2次毎のベクトル要素に対して行えばよい。
 また、本実施の形態に係るベクトル量子化装置およびベクトル逆量子化装置は、音声信号や楽音信号等を符号化/復号するCELP符号化装置/CELP復号装置に用いることが可能である。CELP符号化装置においては、入力信号を線形予測分析して得られた線形予測係数から変換されたLSPを入力して量子化処理を行い、量子化された量子化LSPを合成フィルタに出力する。例えば、本実施の形態に係るLSPベクトル量子化装置100をCELP型音声符号化装置に適用する場合は、量子化LSPを表す量子化LSP符号を符号化データとして出力するLSP量子化部のところに、本実施の形態に係るLSPベクトル量子化装置100を配置する。これにより、ベクトル量子化精度を向上することが可能となるため、復号時の音声品質も向上する。一方、CELP復号装置においては、受信した多重化符号データを分離して得られた量子化LSP符号から量子化LSPを復号する。本発明に係るLSPベクトル逆量子化装置200をCELP型音声復号装置に適用する場合には、復号した量子化LSPを合成フィルタに出力するLSP逆量子化部のところに、本実施の形態に係るLSPベクトル逆量子化装置200を配置すればよく、上記と同様の作用効果が得られる。以下、図5および図6を用いて本実施の形態に係るLSPベクトル量子化装置100およびLSPベクトル逆量子化装置200を備えるCELP符号化装置400およびCELP復号装置450について説明する。
 図5は、本実施の形態に係るLSPベクトル量子化装置100を備えるCELP符号化装置400の主要な構成を示すブロック図である。CELP符号化装置400は、入力される音声・楽音信号を複数サンプルずつ区切り、複数サンプルを1フレームとしてフレーム毎に符号化を行う。
 前処理部401は、入力される音声信号または楽音信号に対して、DC成分を取り除くハイパスフィルタ処理を行い、また後続する符号化処理の性能改善のための波形整形処理もしくはプリエンファシス処理を行う。そして、前処理部401は、これらの処理により得られる信号XinをLSP分析部402および加算器405に出力する。
 LSP分析部402は、前処理部401から入力される信号Xinを用いて線形予測分析を行い、得られるLPCをLSPベクトルに変換してLSPベクトル量子化部403に出力する。
 LSPベクトル量子化部403は、LSP分析部402から入力されるLSPベクトルに対して量子化を行う。LSPベクトル量子化部403は、得られる量子化LSPベクトルをフィルタ係数として合成フィルタ404に出力し、量子化LSP符号(L)を多重化部414に出力する。ここで、LSPベクトル量子化部403としては、本実施の形態に係るLSPベクトル量子化装置100を適用する。すなわち、LSPベクトル量子化部403の具体的な構成および動作は、LSPベクトル量子化装置100と同様である。この場合、LSPベクトル量子化装置100に入力される広帯域LSPベクトルと、LSPベクトル量子化部403に入力されるLSPベクトルとは対応する。また、LSPベクトル量子化装置100が出力する符号化データと、LSPベクトル量子化部403が出力する量子化LSP符号(L)とは対応する。合成フィルタ404に入力されるフィルタ係数は、LSPベクトル量子化部403内において量子化LSP符号(L)を用いて逆量子化して得られた量子化LSPベクトルである。なお、LSPベクトル量子化装置100に入力される狭帯域LSPベクトルは、例えばCELP符号化装置400の外部から入力される。例えば、広帯域CELP符号化部(CELP符号化装置400に対応)と狭帯域CELP符号化部とを有するスケーラブル符号化装置(図示せず)にこのLSPベクトル量子化装置100を適用する場合には、狭帯域CELP符号化部から出力される狭帯域LSPベクトルがLSPベクトル量子化装置100に入力される。
 合成フィルタ404は、LSPベクトル量子化部403から入力される量子化LSPベクトルに基づくフィルタ係数を用いて、後述する加算器411から入力される駆動音源に対して合成処理を行い、生成される合成信号を加算器405に出力する。
 加算器405は、合成フィルタ404から入力される合成信号の極性を反転させ、前処理部401から入力される信号Xinに加算することにより誤差信号を算出し、誤差信号を聴覚重み付け部412に出力する。
 適応音源符号帳406は、過去に加算器411から入力された駆動音源をバッファに記憶しており、パラメータ決定部413から入力される適応音源ラグ符号(A)によって特定される切り出し位置から1フレーム分のサンプルをバッファより切り出し、適応音源ベクトルとして乗算器409に出力する。ここで、適応音源符号帳406は、加算器411から駆動音源が入力されるたびにバッファの内容を更新する。
 量子化利得生成部407は、パラメータ決定部413から入力される量子化音源利得符号(G)によって、量子化適応音源利得と量子化固定音源利得とを決定し、それぞれを乗算器409と乗算器410とに出力する。
 固定音源符号帳408は、パラメータ決定部413から入力される固定音源ベクトル符号(F)によって特定される形状を有するベクトルを固定音源ベクトルとして乗算器410に出力する。
 乗算器409は、量子化利得生成部407から入力される量子化適応音源利得を、適応音源符号帳406から入力される適応音源ベクトルに乗じて、加算器411に出力する。
 乗算器410は、量子化利得生成部407から入力される量子化固定音源利得を、固定音源符号帳408から入力される固定音源ベクトルに乗じて、加算器411に出力する。
 加算器411は、乗算器409から入力される利得乗算後の適応音源ベクトルと、乗算器410から入力される利得乗算後の固定音源ベクトルとを加算し、加算結果を駆動音源として合成フィルタ404および適応音源符号帳406に出力する。ここで、適応音源符号帳406に入力される駆動音源は、適応音源符号帳406のバッファに記憶される。
 聴覚重み付け部412は、加算器405から入力される誤差信号に対して聴覚的重み付け処理を行い、符号化歪みとしてパラメータ決定部413に出力する。
 パラメータ決定部413は、聴覚重み付け部412から入力される符号化歪みを最小とする適応音源ラグを適応音源符号帳406から選択し、選択結果を示す適応音源ラグ符号(A)を適応音源符号帳406および多重化部414に出力する。ここで、適応音源ラグとは、適応音源ベクトルを切り出す位置を示すパラメータである。また、パラメータ決定部413は、聴覚重み付け部412から出力される符号化歪みを最小とする固定音源ベクトルを固定音源符号帳408から選択し、選択結果を示す固定音源ベクトル符号(F)を固定音源符号帳408および多重化部414に出力する。また、パラメータ決定部413は、聴覚重み付け部412から出力される符号化歪みを最小とする量子化適応音源利得と量子化固定音源利得とを量子化利得生成部407から選択し、選択結果を示す量子化音源利得符号(G)を量子化利得生成部407および多重化部414に出力する。
 多重化部414は、LSPベクトル量子化部403から入力される量子化LSP符号(L)、パラメータ決定部413から入力される適応音源ラグ符号(A)、固定音源ベクトル符号(F)、および量子化音源利得符号(G)を多重化して符号化情報を出力する。
 図6は、本実施の形態に係るLSPベクトル逆量子化装置200を備えるCELP復号装置450の主要な構成を示すブロック図である。
 図6において、分離部451は、CELP符号化装置400から伝送される符号化情報に対して分離処理を行い、量子化LSP符号(L)、適応音源ラグ符号(A)、量子化音源利得符号(G)、固定音源ベクトル符号(F)を得る。分離部451は、量子化LSP符号(L)をLSPベクトル逆量子化部452に出力し、適応音源ラグ符号(A)を適応音源符号帳453に出力し、量子化音源利得符号(G)を量子化利得生成部454に出力し、固定音源ベクトル符号(F)を固定音源符号帳455に出力する。
 LSPベクトル逆量子化部452は、分離部451から入力される量子化LSP符号(L)から量子化LSPベクトルを復号し、量子化LSPベクトルをフィルタ係数として合成フィルタ459に出力する。ここで、LSPベクトル逆量子化部452としては、本実施の形態に係るLSPベクトル逆量子化装置200を適用する。すなわち、LSPベクトル逆量子化部452の具体的な構成および動作は、LSPベクトル逆量子化装置200と同様である。この場合、LSPベクトル逆量子化装置200に入力される符号化データと、LSPベクトル逆量子化部452に入力される量子化LSP符号(L)とは対応する。また、LSPベクトル逆量子化装置200が出力する量子化広帯域LSPベクトルと、LSPベクトル逆量子化部452が出力する量子化LSPベクトルとは対応する。なお、LSPベクトル逆量子化装置200に入力される狭帯域LSPベクトルは、例えばCELP復号装置450の外部から入力される。例えば、広帯域CELP復号部(CELP復号装置450に対応)と狭帯域CELP復号部とを有するスケーラブル復号装置(図示せず)にこのLSPベクトル逆量子化装置200を適用する場合には、狭帯域CELP復号部から出力される狭帯域LSPベクトルがLSPベクトル逆量子化装置200に入力される。
 適応音源符号帳453は、分離部451から入力される適応音源ラグ符号(A)により特定される切り出し位置から1フレーム分のサンプルをバッファより切り出し、切り出したベクトルを適応音源ベクトルとして乗算器456に出力する。ここで、適応音源符号帳453は、加算器458から駆動音源が入力されるたびにバッファの内容を更新する。
 量子化利得生成部454は、分離部451から入力される量子化音源利得符号(G)が示す量子化適応音源利得と量子化固定音源利得とを復号し、量子化適応音源利得を乗算器456に出力し、量子化固定音源利得を乗算器457に出力する。
 固定音源符号帳455は、分離部451から入力される固定音源ベクトル符号(F)が示す固定音源ベクトルを生成し、乗算器457に出力する。
 乗算器456は、適応音源符号帳453から入力される適応音源ベクトルに、量子化利得生成部454から入力される量子化適応音源利得を乗じて加算器458に出力する。
 乗算器457は、固定音源符号帳455から入力される固定音源ベクトルに、量子化利得生成部454から入力される量子化固定音源利得を乗じて加算器458に出力する。
 加算器458は、乗算器456から入力される利得乗算後の適応音源ベクトルと、乗算器457から入力される利得乗算後の固定音源ベクトルとを加算して駆動音源を生成し、生成される駆動音源を合成フィルタ459および適応音源符号帳453に出力する。ここで、適応音源符号帳453に入力される駆動音源は、適応音源符号帳453のバッファに記憶される。
 合成フィルタ459は、加算器458から入力される駆動音源と、LSPベクトル逆量子化部452で復号されたフィルタ係数とを用いて合成処理を行い、生成される合成信号を後処理部460に出力する。
 後処理部460は、合成フィルタ459から入力される合成信号に対して、ホルマント強調やピッチ強調などの音声の主観的な品質を改善する処理、および定常雑音の主観的品質を改善する処理を施し、得られる音声信号または楽音信号を出力する。
 このように、本実施の形態に係るCELP符号化装置/CELP復号装置によれば、本実施の形態によるベクトル量子化装置/ベクトル逆量子化装置を用いることにより、符号化時にベクトル量子化精度を向上させることが可能となるため、復号時の音声品質も向上させることができる。
 なお、本実施の形態では、CELP復号装置450は、CELP符号化装置400において出力される符号化データを復号する場合について説明した。しかし、本発明はこれに限定されず、CELP復号装置450で復号可能な形式の符号化データであれば、CELP復号装置で受信して復号することが可能であることは言うまでもない。
 以上、本発明の各実施の形態について説明した。
 なお、本発明に係るベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法は、上記各実施の形態に限定されず、種々変更して実施することが可能である。
 たとえば、上記実施の形態では、ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法において、音声信号または楽音信号を対象として説明したが、その他の可能な信号に適用しても良い。
 また、LSPは、LSF(Line Spectral Frequency)と呼ばれることもあり、LSPをLSFと読み替えてもよい。また、LSPの代わりにISP(Immittance Spectrum Pairs)をスペクトルパラメータとして量子化する場合はLSPをISPに読み替え、ISP量子化/逆量子化装置として本実施の形態を利用することができる。LSPの代わりにISF(Immittance Spectrum Frequency)をスペクトルパラメータとして量子化する場合はLSPをISFに読み替え、ISF量子化/逆量子化装置として本実施の形態を利用することができる。
 また、本発明に係るベクトル量子化装置およびベクトル逆量子化装置は、音声や楽音等の伝送を行う移動体通信システムにおける通信端末装置や基地局装置に搭載することが可能である。これにより上記と同様の作用効果を有する通信端末装置や基地局装置を提供することができる。
 また、ここでは、本発明をハードウェアで構成する場合を例にとって説明したが、本発明をソフトウェアで実現することも可能である。例えば、本発明に係るベクトル量子化方法およびベクトル逆量子化方法のアルゴリズムをプログラミング言語によって記述し、このプログラムをメモリに記憶しておいて情報処理手段によって実行させることにより、本発明に係るベクトル量子化装置およびベクトル逆量子化装置と同様の機能を実現することができる。
 また、上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部または全てを含むように1チップ化されてもよい。
 また、ここではLSIとしたが、集積度の違いによって、IC、システムLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラム化することが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続もしくは設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらに、半導体技術の進歩または派生する別技術により、LSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
 2009年2月13日出願の特願2009-031651の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
 本発明に係るベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法は、音声符号化および音声復号等の用途に適用することができる。

Claims (9)

  1.  複数の分類用コードベクトルの中から、量子化対象ベクトルとの相関を有する特徴の種類を示す分類用コードベクトルを選択する第1選択手段と、
     複数の第1コードブックの中から、選択された前記分類用コードベクトルに対応する第1コードブックを選択する第2選択手段と、
     選択された前記第1コードブックを構成する複数の第1コードベクトルを用いて前記量子化対象ベクトルを量子化し、第1符号を得る第1量子化手段と、
     複数の行列の中から、選択された前記分類用コードベクトルに対応する第1行列を選択する第3選択手段と、
     複数の第2コードベクトルおよび選択された前記第1行列を用い、前記第1符号が示す前記第1コードベクトルと、前記量子化対象ベクトルとの差である第1残差ベクトルを量子化し、第2符号を得る第2量子化手段と、
     を具備するベクトル量子化装置。
  2.  前記第2量子化手段は、
     前記複数の第2コードベクトルそれぞれに対して、選択された前記第1行列を用いた行列演算を行い、前記行列演算後の前記複数の第2コードベクトルを用いて前記第1残差ベクトルを量子化する、
     請求項1記載のベクトル量子化装置。
  3.  前記第2量子化手段は、
     前記第1残差ベクトルに対して、選択された前記第1行列の逆行列を用いた行列演算を行い、前記複数の第2コードベクトルを用いて前記行列演算後の前記第1残差ベクトルを量子化する、
     請求項1記載のベクトル量子化装置。
  4.  前記第1行列は回転行列である、
     請求項1記載のベクトル量子化装置。
  5.  前記選択手段は、さらに、前記複数の行列の中から、選択された前記分類用コードベクトルに対応する第2行列を選択し、
     複数の第3コードベクトルおよび選択された前記第2行列を用い、前記第2符号が示す前記第1残差ベクトルと、前記第2コードベクトルとの差である第2残差ベクトルを量子化し、第3符号を得る第3量子化手段、をさらに具備する、
     請求項1記載のベクトル量子化装置。
  6.  前記第2行列は回転行列である、
     請求項5記載のベクトル量子化装置。
  7.  ベクトル量子化装置において量子化対象ベクトルを量子化して得られた第1符号と、前記量子化の量子化誤差をさらに量子化して得られた第2符号と、を受信する受信手段と、
     複数の分類用コードベクトルの中から、前記量子化対象ベクトルとの相関を有する特徴の種類を示す分類用コードベクトルを選択する第1選択手段と、
     複数の第1コードブックの中から、選択された前記分類用コードベクトルに対応する第1コードブックを選択する第2選択手段と、
     選択された前記第1コードブックを構成する複数の第1コードベクトルの中から、前記第1符号に対応する第1コードベクトルを指定する第1逆量子化手段と、
     複数の行列の中から、選択された前記分類用コードベクトルに対応する行列を選択する第3選択手段と、
     複数の第2コードベクトルの中から前記第2符号に対応する第2コードベクトルを指定し、指定された前記第2コードベクトルと、選択された前記行列と、指定された前記第1コードベクトルとを用い、量子化ベクトルを得る第2逆量子化手段と、
     を具備するベクトル逆量子化装置。
  8.  複数の分類用コードベクトルの中から、量子化対象ベクトルとの相関を有する特徴の種類を示す分類用コードベクトルを選択するステップと、
     複数の第1コードブックの中から、選択された前記分類用コードベクトルに対応する第1コードブックを選択するステップと、
     選択された前記第1コードブックを構成する複数の第1コードベクトルを用いて前記量子化対象ベクトルを量子化し、第1符号を得るステップと、
     複数の行列の中から、選択された前記分類用コードベクトルに対応する第1行列を選択するステップと、
     複数の第2コードベクトルおよび選択された前記第1行列を用い、前記第1符号が示す前記第1コードベクトルと、前記量子化対象ベクトルとの差である第1残差ベクトルを量子化し、第2符号を得るステップと、
     を有するベクトル量子化方法。
  9.  ベクトル量子化装置において量子化対象ベクトルを量子化して得られた第1符号と、前記量子化の量子化誤差をさらに量子化して得られた第2符号と、を受信するステップと、
     複数の分類用コードベクトルの中から、前記量子化対象ベクトルとの相関を有する特徴の種類を示す分類用コードベクトルを選択するステップと、
     複数の第1コードブックの中から、選択された前記分類用コードベクトルに対応する第1コードブックを選択するステップと、
     選択された前記第1コードブックを構成する複数の第1コードベクトルの中から、前記第1符号に対応する第1コードベクトルを指定するステップと、
     複数の行列の中から、選択された前記分類用コードベクトルに対応する行列を選択するステップと、
     複数の第2コードベクトルの中から前記第2符号に対応する第2コードベクトルを指定し、指定された前記第2コードベクトルと、選択された前記行列と、指定された前記第1コードベクトルとを用い、量子化ベクトルを得るステップと、
     を有するベクトル逆量子化方法。
PCT/JP2010/000881 2009-02-13 2010-02-12 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法 WO2010092827A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP10741107.6A EP2398149B1 (en) 2009-02-13 2010-02-12 Vector quantization device, vector inverse-quantization device, and associated methods
US13/148,892 US8493244B2 (en) 2009-02-13 2010-02-12 Vector quantization device, vector inverse-quantization device, and methods of same
JP2010550471A JP5335004B2 (ja) 2009-02-13 2010-02-12 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
RU2011134054/08A RU2519027C2 (ru) 2009-02-13 2010-02-12 Устройство векторного квантования, устройство векторного обратного квантования и способы для этого

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009031651 2009-02-13
JP2009-031651 2009-02-13

Publications (1)

Publication Number Publication Date
WO2010092827A1 true WO2010092827A1 (ja) 2010-08-19

Family

ID=42561675

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/000881 WO2010092827A1 (ja) 2009-02-13 2010-02-12 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法

Country Status (5)

Country Link
US (1) US8493244B2 (ja)
EP (1) EP2398149B1 (ja)
JP (1) JP5335004B2 (ja)
RU (1) RU2519027C2 (ja)
WO (1) WO2010092827A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2541168C2 (ru) * 2010-09-02 2015-02-10 Майкрософт Корпорейшн Формирование и применение кодовой подкниги кодовой книги кодирования с контролем ошибок
JP2017509926A (ja) * 2014-03-28 2017-04-06 サムスン エレクトロニクス カンパニー リミテッド 線形予測係数量子化方法及びその装置、並びに線形予測係数逆量子化方法及びその装置
US10504532B2 (en) 2014-05-07 2019-12-10 Samsung Electronics Co., Ltd. Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9236063B2 (en) 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
EP3547261B1 (en) * 2012-03-29 2023-08-09 Telefonaktiebolaget LM Ericsson (publ) Vector quantizer
KR101821532B1 (ko) 2012-07-12 2018-03-08 노키아 테크놀로지스 오와이 벡터 양자화

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04351018A (ja) * 1991-05-28 1992-12-04 Fujitsu Ltd ゲイン・シェープベクトル量子化方式
JPH08275163A (ja) * 1995-03-31 1996-10-18 Canon Inc 画像処理装置およびその方法
JPH09120300A (ja) * 1995-10-25 1997-05-06 Fujitsu Ltd ベクトル量子化装置
JPH09258794A (ja) * 1996-03-18 1997-10-03 Fujitsu Ltd ベクトル量子化装置
JP2956473B2 (ja) * 1994-04-21 1999-10-04 日本電気株式会社 ベクトル量子化装置
JP3257386B2 (ja) * 1996-02-01 2002-02-18 松下電器産業株式会社 ベクトル量子化方法
WO2006030865A1 (ja) 2004-09-17 2006-03-23 Matsushita Electric Industrial Co., Ltd. スケーラブル符号化装置、スケーラブル復号化装置、スケーラブル符号化方法、スケーラブル復号化方法、通信端末装置および基地局装置
WO2006062202A1 (ja) * 2004-12-10 2006-06-15 Matsushita Electric Industrial Co., Ltd. 広帯域符号化装置、広帯域lsp予測装置、帯域スケーラブル符号化装置及び広帯域符号化方法
WO2008047795A1 (fr) * 2006-10-17 2008-04-24 Panasonic Corporation Dispositif de quantification vectorielle, dispositif de quantification vectorielle inverse et procédé associé
JP2009031651A (ja) 2007-07-30 2009-02-12 Canon Inc 画像形成装置、その制御方法、及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03257386A (ja) 1990-03-07 1991-11-15 Toshiba Corp 発電機脱調予測の誤判定防止方法
US5765127A (en) * 1992-03-18 1998-06-09 Sony Corp High efficiency encoding method
JP3224955B2 (ja) * 1994-05-27 2001-11-05 株式会社東芝 ベクトル量子化装置およびベクトル量子化方法
DE69628083T2 (de) 1995-03-31 2003-12-04 Canon K.K., Tokio/Tokyo Bildverarbeitungsgerät und Methode
JPH09311732A (ja) * 1996-05-23 1997-12-02 Olympus Optical Co Ltd 光学的手法を用いたベクトル照合装置とそれを用いたベクトル量子化演算装置
WO1999016050A1 (en) 1997-09-23 1999-04-01 Voxware, Inc. Scalable and embedded codec for speech and audio signals
US6067515A (en) * 1997-10-27 2000-05-23 Advanced Micro Devices, Inc. Split matrix quantization with split vector quantization error compensation and selective enhanced processing for robust speech recognition
CA2429832C (en) * 2000-11-30 2011-05-17 Matsushita Electric Industrial Co., Ltd. Lpc vector quantization apparatus
US7003454B2 (en) * 2001-05-16 2006-02-21 Nokia Corporation Method and system for line spectral frequency vector quantization in speech codec
CA2415105A1 (en) * 2002-12-24 2004-06-24 Voiceage Corporation A method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04351018A (ja) * 1991-05-28 1992-12-04 Fujitsu Ltd ゲイン・シェープベクトル量子化方式
JP2956473B2 (ja) * 1994-04-21 1999-10-04 日本電気株式会社 ベクトル量子化装置
JPH08275163A (ja) * 1995-03-31 1996-10-18 Canon Inc 画像処理装置およびその方法
JPH09120300A (ja) * 1995-10-25 1997-05-06 Fujitsu Ltd ベクトル量子化装置
JP3257386B2 (ja) * 1996-02-01 2002-02-18 松下電器産業株式会社 ベクトル量子化方法
JPH09258794A (ja) * 1996-03-18 1997-10-03 Fujitsu Ltd ベクトル量子化装置
WO2006030865A1 (ja) 2004-09-17 2006-03-23 Matsushita Electric Industrial Co., Ltd. スケーラブル符号化装置、スケーラブル復号化装置、スケーラブル符号化方法、スケーラブル復号化方法、通信端末装置および基地局装置
WO2006062202A1 (ja) * 2004-12-10 2006-06-15 Matsushita Electric Industrial Co., Ltd. 広帯域符号化装置、広帯域lsp予測装置、帯域スケーラブル符号化装置及び広帯域符号化方法
WO2008047795A1 (fr) * 2006-10-17 2008-04-24 Panasonic Corporation Dispositif de quantification vectorielle, dispositif de quantification vectorielle inverse et procédé associé
JP2009031651A (ja) 2007-07-30 2009-02-12 Canon Inc 画像形成装置、その制御方法、及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ALLEN GERSHO, ROBERT M. GRAY: "Vector quantization and information compression", 10 November 1998, CORONA PUBLISHING CO.,LTD. CORONA PUBLISHING CO.,LTD., pages: 491 - 493
ALLEN GERSHO, ROBERT M. GRAY: "Vector quantization and information compression", 10 November 1998, CORONA PUBLISHING CO.,LTD., pages: 506,524 - 531
See also references of EP2398149A4 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2541168C2 (ru) * 2010-09-02 2015-02-10 Майкрософт Корпорейшн Формирование и применение кодовой подкниги кодовой книги кодирования с контролем ошибок
US9363043B2 (en) 2010-09-02 2016-06-07 Microsoft Technology Licensing, Llc Generation and application of a sub-codebook of an error control coding codebook
RU2668988C2 (ru) * 2010-09-02 2018-10-05 Майкрософт Корпорейшн Формирование и применение кодовой подкниги кодовой книги кодирования с контролем ошибок
JP2017509926A (ja) * 2014-03-28 2017-04-06 サムスン エレクトロニクス カンパニー リミテッド 線形予測係数量子化方法及びその装置、並びに線形予測係数逆量子化方法及びその装置
US10515646B2 (en) 2014-03-28 2019-12-24 Samsung Electronics Co., Ltd. Method and device for quantization of linear prediction coefficient and method and device for inverse quantization
US11450329B2 (en) 2014-03-28 2022-09-20 Samsung Electronics Co., Ltd. Method and device for quantization of linear prediction coefficient and method and device for inverse quantization
US10504532B2 (en) 2014-05-07 2019-12-10 Samsung Electronics Co., Ltd. Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same
US11238878B2 (en) 2014-05-07 2022-02-01 Samsung Electronics Co., Ltd. Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same
US11922960B2 (en) 2014-05-07 2024-03-05 Samsung Electronics Co., Ltd. Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same

Also Published As

Publication number Publication date
EP2398149A1 (en) 2011-12-21
US8493244B2 (en) 2013-07-23
JPWO2010092827A1 (ja) 2012-08-16
EP2398149A4 (en) 2012-11-28
RU2519027C2 (ru) 2014-06-10
RU2011134054A (ru) 2013-03-20
US20110316732A1 (en) 2011-12-29
JP5335004B2 (ja) 2013-11-06
EP2398149B1 (en) 2014-05-07

Similar Documents

Publication Publication Date Title
JP5419714B2 (ja) ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
JP5300733B2 (ja) ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
JP5335004B2 (ja) ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
JPWO2008047795A1 (ja) ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
JP5190445B2 (ja) 符号化装置および符号化方法
WO2009090875A1 (ja) ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
JP5687706B2 (ja) 量子化装置及び量子化方法
JP6195138B2 (ja) 音声符号化装置及び音声符号化方法
JPH0764599A (ja) 線スペクトル対パラメータのベクトル量子化方法とクラスタリング方法および音声符号化方法並びにそれらの装置
JP2003345392A (ja) 分割型スケーリング因子を用いたスペクトル包絡パラメータのベクトル量子化器
WO2012053149A1 (ja) 音声分析装置、量子化装置、逆量子化装置、及びこれらの方法

Legal Events

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

Ref document number: 10741107

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2010550471

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2010741107

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13148892

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011134054

Country of ref document: RU