CN101345530B - Vector quantization method and vector quantizer - Google Patents

Vector quantization method and vector quantizer Download PDF

Info

Publication number
CN101345530B
CN101345530B CN2007101305191A CN200710130519A CN101345530B CN 101345530 B CN101345530 B CN 101345530B CN 2007101305191 A CN2007101305191 A CN 2007101305191A CN 200710130519 A CN200710130519 A CN 200710130519A CN 101345530 B CN101345530 B CN 101345530B
Authority
CN
China
Prior art keywords
vector
vectors
adjustment
basic
associating
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN2007101305191A
Other languages
Chinese (zh)
Other versions
CN101345530A (en
Inventor
李立雄
张德军
吴文海
张亮
王庭红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2007101305191A priority Critical patent/CN101345530B/en
Priority to KR1020097005033A priority patent/KR101083291B1/en
Priority to PCT/CN2007/071178 priority patent/WO2008067766A1/en
Priority to EP07846024A priority patent/EP2048787A4/en
Priority to JP2009536590A priority patent/JP5006404B2/en
Priority to US12/273,201 priority patent/US8335260B2/en
Publication of CN101345530A publication Critical patent/CN101345530A/en
Application granted granted Critical
Publication of CN101345530B publication Critical patent/CN101345530B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention discloses a vector quantification method. Combined codebook vector constituted by adjusting vector of basic codebook vector and its subvector quantifies vector to be quantified. The invention also provides corresponding vector quantizer. In the invention, basic codebook vector dynamic range is effectively enlarged , distortion degree and codebook storage and quantification calculated amount are reduced, single stage quantification effect amounts to or exceeds multi-stage quantification effect, vector is designed and adjusted by utilizing surviving certain inter-dimensional relativity after subtracting basic codebook vector from vector to be quantified to achieve the aim of accomplishing relative large dynamic regulation range by relative few adjusting vector number, adjusting vector number and calculated amount of quantification is reduced due to inter-dimensional relativity.

Description

A kind of vector quantization method and vector quantizer
Technical field
The present invention relates to coding techniques, be specifically related to a kind of vector quantization method and vector quantizer.
Background technology
Along with the develop rapidly of multimedia application, digital compression technology has obtained paying attention to widely and studying.The transmission of voice, image or video is all relied on for counsel in the high-quality compression coding mode of low code check.The compaction coding method that widely adopts comprises run length encoding, prediction and interpolation coding, vector quantization (VQ:Vector Quantization) coding etc. at present.Wherein vector quantization coding method is a kind of lossy coding mode, is widely used in voice and Image Compression with its high compression ratio and simple decoding process.
The core process of vector quantization coding is the process that input vector is quantized.Before quantizing, pass through the training or the study of great amount of samples earlier, or the method for self-organizing feature map neural network, obtain a series of normal vector model, each normal vector model is called a code book, some code books lump together and are called code book, and code book is equivalent to database in fact, and each code book is determined position in code book with its index.Data such as initial voice or image form input vector according to certain mode, and the process of vector quantization is exactly the process of the index of the nearest code book of searching and input vector in brief.Under the prerequisite that guarantees reproduction quality, dwindle the code book capacity, reduce computational complexity, be one of main target of vector quantization method research and development.
So that a kind of method of adpedance spectral frequency (ISF:Immittance Spectral Frequency) being carried out vector quantization---wideband adaptive encoding and decoding speech (AMR-WB+) method is an example in the speech coding, the concrete processing procedure of existing vector quantization is described below.
Voice signal obtains corresponding some rank LP coefficient through linear prediction (LP:Linear Prediction) device, the LP coefficient is transformed into frequency domain obtains the ISF vector be made up of several ISF parameters.AMR-WB+ adopts the associating vector quantization (SVQ:combination of Split Vector Quantization) and the mode of multi-stage vector quantization (MSVQ:Multi-Stage Vector Quantization) to quantize the ISF vector, specifically describes as follows:
1, adopts single order moving average (MA:Moving Average) predicted method, obtain the ISF prediction residual vector r of current n frame; If the ISF vector is 16 n dimensional vector ns, r also is one 16 n dimensional vector n so.
2, residual error vector r is carried out quantification treatment, as shown in table 1, table 1 is the Bit Allocation in Discrete and the code book use table of existing ISF vector quantization process.Earlier r being carried out first order division, obtain two one-level sub-vectors, is respectively r1 and the r2 7 dimensions of 9 dimensions; Use 8 bit quantization r1 and r2 respectively, then the number of corresponding employed code book is respectively 256 9 dimension code books and 256 7 dimension code books.
3, then r1 and r2 are carried out second level division respectively.The r1 of 9 dimensions is split into three secondary sub-vectors, is respectively: the r11 of 3 dimensions, use 6 bit quantizations, and corresponding code book is 64 3 dimension code books; The r12 of 3 dimensions uses 7 bit quantizations, and corresponding code book is 128 3 dimension code books; The r13 of 3 dimensions uses 7 bit quantizations, and corresponding code book is 128 3 dimension sign indicating number code books.The r2 of 7 dimensions is split into two secondary sub-vectors, is respectively: the r21 of 3 dimensions, use 5 bit quantizations, and corresponding code book is 32 3 dimension code books; The r22 of 4 dimensions uses 5 bit quantizations, and corresponding code book is 32 4 dimension code books.
With code book vector (comprising one-level sub-vector, secondary sub-vector etc.) when quantizing, is determined selected quantification code book by the deviation between each code book in measurement vector and the corresponding code book set above-mentioned.Generally can represent this deviation with respect to the distortion factor of vector by calculating code book, the distortion factor that is adopted among the AMR-WB+ generally can be expressed as, and vector to be quantified and corresponding code book are with the quadratic sum of the difference of dimension component.Usually can select to compare the code book of distortion factor minimum as quantizing code book with vector to be quantified.Quantization bit writes down the index of selected quantification code book, and decoding end can find the corresponding quantization code book according to this index, thereby recovers the reasonable approximation of initial input vector step by step with opposite process.
Table 1
Adopt above-mentioned quantization method that 16 dimension ISF vectors of voice signal are quantized, can obtain higher coding quality, but corresponding code book memory space is bigger, need travel through all code books during owing to calculating, so quantization complexity is also higher, amount of calculation is bigger.
Summary of the invention
The technical problem that the present invention solves provides a kind of vector quantization method and vector quantizer that can reduce quantization complexity.
A kind of vector quantization method comprises: obtain vector to be quantified; Obtain basic codebook vectors, described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts whole possibility number of combinations of the different values of all adjusting each dimension of vector in the set of vectors less than this; Obtain the adjustment vector corresponding with basic sub-vector; The combination of the adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize; Obtain the index of the basic codebook vectors corresponding and the index of adjusting vector with selecteed associating codebook vectors.
A kind of vector quantizer comprises: the vector input unit is used to obtain vector to be quantified; Code book unit, basis is used to provide basic codebook vectors, and described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts whole possibility number of combinations of the different values of all adjusting each dimension of vector in the set of vectors less than this; Adjust vector units, be used to the adjustment vector that provides corresponding with basic sub-vector; Quantifying unit, be used for obtaining basic codebook vectors and adjusting vector from described basic code book unit and adjustment vector units, the combination of the adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize; Quantize output unit, be used to obtain the index of the basic codebook vectors corresponding and the index of adjusting vector with the associating codebook vectors of described quantifying unit selection.
Adopt in the above-mentioned vector quantization method by the synthetic associating codebook vectors of the adjustment set of vectors of basic codebook vectors and its sub-vector and treat the method that quantization vector quantizes; Owing to adopt the adjustment vector that basic codebook vectors is adjusted, can make full use of the correlation between dimension, realize bigger dynamic adjusting range with less adjustment vector number, help the amount of calculation of lower quantization, reduce computational complexity.
Description of drawings
Fig. 1 is the embodiment of the invention one a vector quantization method schematic flow sheet;
Fig. 2 is the embodiment of the invention two vector quantization method schematic flow sheets;
Fig. 3 is the embodiment of the invention three vector quantization method schematic flow sheets;
Fig. 4 is an embodiment of the invention four-vector quantization method schematic flow sheet;
Fig. 5 is the embodiment of the invention five vector quantizer logical construction schematic diagrames;
Fig. 6 is a kind of logical construction schematic diagram of quantifying unit in the embodiment of the invention five;
Fig. 7 is the another kind of logical construction schematic diagram of quantifying unit in the embodiment of the invention five;
Fig. 8 is the embodiment of the invention six vector quantizer logical construction schematic diagrames;
Fig. 9 is the embodiment of the invention seven vector quantizer logical construction schematic diagrames;
Figure 10 is the embodiment of the invention eight vector quantizer logical construction schematic diagrames.
Embodiment
The embodiment of the invention provides a kind of vector quantization method, treats quantization vector by the synthetic associating codebook vectors of the adjustment set of vectors of basic codebook vectors and its sub-vector and quantizes.The embodiment of the invention also provides corresponding vector quantizer.Below be elaborated respectively.
Embodiment one, a kind of vector quantization method, flow process comprises step as shown in Figure 1:
A1, obtain vector to be quantified.
Alleged vector to be quantified in the present embodiment can be that the original vector of initial input in the vector quantization process, original vector divide the residual error vector after certain sub-vector that obtains, original vector quantize through one or more levels, certain sub-vector that the division of residual error vector obtains etc.
For example, suppose for L n dimensional vector n v,
v={v 1,v 2,…,v L}
It can be decomposed into experimental process vector (can certainly not decompose), the dimension that each sub-vector comprised can be the same or different, be expressed as,
{{v 1,v 2,…,v L1},{v L1+1,v L1+2,…,v L2},…,{v L(K-1)+1,v L(K-1)+2,…,v LK}}
Wherein, LK=L.Can be with wherein some sub-vectors as vector to be quantified.For the purpose of clear and concise, below vector unification to be quantified is expressed as v.
A2, obtain basic codebook vectors, described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts the whole of different values that all adjust each dimension of vector in the set of vectors less than this may number of combinations.
The vector that the basis codebook vectors is and vector to be quantified is tieed up together for example, for the vector v to be quantified of L dimension, can have the basic codebook vectors of A L dimension,
{
{u1 1,u1 2,…,u1 L},
{u2 1,u2 2,…,u2 L},
……,
{uA 1,uA 2,…,uA L},
}
The basis codebook vectors can be the codebook vectors that directly obtains by various code book training methods, also can be from wider codebook vectors, to search for the preferred codebook vectors of coming out by certain mode, can also be the sub-codebook vector that is made of the part dimension in the more codebook vectors of dimension, present embodiment limit.For the purpose of clear and concise, below basic codebook vectors unification is expressed as u, be expressed as ua, 1≤a≤A when needing really certain basic codebook vectors of finger.
Basic codebook vectors is formed (when having only a basic sub-vector, this basis sub-vector is basic codebook vectors self) by some basic sub-vectors in the present embodiment, for example, u is considered as being made up of K basic sub-vector,
u={u 1,u 2,…,u K}
={{u 1,u 2,…,u L1},{u L1+1,u L1+2,…,u L2},…,{u L(K-1)+1,u L(K-1)+2,…,u LK}}
Wherein, LK=L.Need to prove that basic sub-vector comprised respectively tie up component and do not require on dimension is continuous, following formula can be considered according to affiliated basic sub-vector, and each component in the basic codebook vectors is rearranged.For clarity sake, below each component that comprises in the basic sub-vector is represented with the sequence number in this basis sub-vector, that is, I is tieed up basic sub-vector be expressed as,
u k={u k(1),u k(2),…,u k(I)}
Wherein, 1≤k≤K; u k ( i ) = u i , k = 1 u L ( k - 1 ) + i , k > 1 , 1 ≤ i ≤ I .
Basis codebook vectors u has a two dimension or the above u of two dimension at least kCorresponding to an adjustment set of vectors, this adjustment set of vectors has N and adjusts vector adj K, n, 1≤n≤N, adj K, nDimension and pairing u kDimension is identical,
{
{adj k,1(1),adj k,1(2),…,adj k,1(I)},
{adj k,2(1),adj k,2(2),…,adj k,2(I)},
……,
{adj k,N(1),adj k,N(2),…,adj k,N(I)},
}
Certainly, the whole u that form u kCan have corresponding adjustment set of vectors, also part u only kHave.Different u kCan distinguish corresponding identical or different adjustment set of vectors, the adjustment vector number in the different adjustment set of vectors can be identical or different.But have whole possibility number of combinations of adjusting the N value of set of vectors less than the different values of all adjusting each dimension of vector in this adjustment set of vectors at least.The adjustment set of vectors that below will satisfy this condition is called optimizes and revises set of vectors, and the component of respectively tieing up of adjusting vector is called " adjustment amount ".For unoptimizable adjustment set of vectors, its N value equals respectively to tie up the whole of different values of adjustment amount may number of combinations, and the variation that is equivalent to respectively tie up between the adjustment amount does not have incidence relation, so its effect can be considered each dimension adjustment amount is adjusted respectively.
For example, suppose one optimize and revise set of vectors include 3 two dimensions adjust vectors 1 ,-1}, 0,0}, { 1,1}}, the 1st peacekeeping the 2nd dimension of all adjusting vector in this set all has 3 different values { 1,0,1}, therefore the whole possible number of combinations of the different values of two dimensions is 3 * 3=9 kind, specifically comprises following possible situation { { 1,-1}, and 1,0}, 1,1}, { 0,-1}, and 0,0}, 0,1}, { 1,-1}, and 1,0}, 1, and 1}}, obviously this is adjusted in the set of vectors and only comprises the part combined situation of respectively tieing up different values.
U is carried out u kDivision can be carried out according to the statistical analysis for the treatment of quantization vector v, and for example, the dimension that the difference vector statistics demonstration of v and u can be had same dynamic characteristic (become simultaneously and diminish greatly or simultaneously) is divided into a u kIn, like this at design and this u kCorresponding when optimizing and revising vectorial combination, can consider more that each dimension becomes situation big or that diminish simultaneously.Compare with the adjustment mode of ignoring the incidence relation between dimension fully, under same dynamic range (the different spans of promptly respectively tieing up adjustment amount are suitable), obviously reduce the possible number of adjusting combination; And under the possible number of same adjustment combination, then can effectively enlarge the dynamic range of adjustment.
A3, obtain the adjustment vector corresponding with basic sub-vector.
Corresponding to certain u kAdjustment vector adj K, nMultiple presentation mode can be arranged.For example, can concern vector g by comprising N K, nConcern that vector set is incompatible g be provided K, nBe adj K, nPerhaps with adj K, nHas definite function corresponding relation.Alleged function corresponding relation includes but not limited to:
1. multiplication relationship: adj for example K, nCan be expressed as g K, nProduct with certain real number;
2. plus-minus relation: adj for example K, nCan be expressed as g K, nWith certain reference vector and or poor;
Need to prove that reference vector can be by other adj that belong to same associating codebook vectors K, nThe concrete vector of determining of " n " value.At this moment, this reference vector can be called " with reference to code book ", it is illustrated in other when adjusting vectors for certain value, subsequently the further accommodation that should carry out of the adjustment vector of Xuan Zeing.
3. mixed relationship: adj for example K, nCan be expressed as g K, nPoor with the reference code book again with the product of certain real number.
g K, nIt is multiple that presentation mode itself also can have, and for example, can store and concern set of vectors, directly each g of being comprised of traversal K, nPerhaps also can obtain and certain u by certain account form of determining kCorresponding g K, nIn follow-up embodiment, will provide several typical modes to describe.
The combination of A4, adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize.
Present embodiment be utilize to basic codebook vectors u and with its each u kCorresponding adj K, nSyndicating search, treat that quantization vector v quantizes.
Suppose basic codebook vectors u (total A 's) K u kAll has corresponding adjustment set of vectors, K u kCorresponding adj K, nNumber be respectively { N 1, N 2..., N K, then by basic codebook vectors u and adjustment vector adj K, nThe number of the possible associating codebook vectors that is combined into is: Total=A * N 1* N 2* ... * N KTherefrom select according to the deviation of associating codebook vectors and vector v to be quantified and finally to be used to the associating codebook vectors that quantizes.Certainly, the foundation of selection can be not only the deviation of associating codebook vectors and v, can also introduce the deviation of associating codebook vectors and certain reference vector and come assisted Selection.
In the process of the deviation of calculating associating codebook vectors and vector v to be quantified, can adopt the whole bag of tricks search associating codebook vectors, include but not limited to following two kinds:
One, classification is calculated.Promptly calculate each ua of collocation for each ua kThe best adjust the vector and then the ua of the best adjustment vector of relatively having arranged in pairs or groups.Concrete steps comprise:
1, calculates the difference vector of vector to be quantified and current basic codebook vectors; Described difference vector is made up of some difference sub-vectors, and the dividing mode of difference sub-vector is identical with the dividing mode of basic sub-vector.
If v is the L n dimensional vector n, then the difference vector r of v and u also is the L n dimensional vector n, and r is divided into K difference sub-vector, r={r according to the mode of u 1, r 2..., r K, r k={ r k(1), r k(2) ..., r k(I) }.
2, for to the basic sub-vector of adjusting set of vectors should be arranged,, select the best of current basic sub-vector to adjust vector according to the deviation of the adjustment vector in this adjustment set of vectors with corresponding difference sub-vector.
Each ua to current ua kCarry out the best selection of adjusting vector respectively, certainly, if certain ua kDo not have corresponding adjustment set of vectors, then do not adjust.Can adopt multiple mode according to actual needs to the judgement of deviation when selecting the best to adjust vector, present embodiment does not limit this.For example can adopt accumulative total with the square value of accumulative total, the difference of the absolute difference of dimension component, or the accumulative total of the weighted quadratic value of difference etc.
Suppose the ua of certain I dimension kCorresponding is to have N kIndividual adj K, nOptimize and revise set of vectors, then selecting this ua kThe best when adjusting vector the expression mode of adoptable a kind of deviation be:
Δa k = Σ i = 1 I w k ( i ) | r k ( i ) - ad j k , n ( i ) | 2
Wherein, w k(i) be r kWith adj K, nThe weight of difference of i dimension component.The adj that searches is provided by steps A 3 K, n, compare Δ a k, select ua kBest adjustment vector adj K, n0, will with ua kCorresponding adj K, n0" n0 " value be designated as " n0 k", 1≤n0 k≤ N k, corresponding deviation is designated as Δ a K0For unoptimizable adjustment set of vectors, respectively every dimension component is calculated best adjustment amount and get final product, the adjustment vector of being made up of the best adjustment amount of each dimension is the best vector of adjusting.
3, each best deviation of adjusting vector of accumulative total, and the not corresponding basic sub-vector of set of vectors and the deviation of vector appropriate section to be quantified adjusted are as the deviation of the best associating codebook vectors corresponding with current basic codebook vectors.
Suppose K the ua of ua kIn, some is to should there being the adjustment set of vectors, and some does not adjust; Then for the basic sub-vector that does not adjust, count the deviation summation with the deviation of this sub-vector and vector v appropriate section to be quantified, for simplicity, with certain ua that does not adjust kStill be designated as Δ a with the deviation of v appropriate section K0, the deviation of then corresponding with ua the best associating codebook vectors can be expressed as,
Δa = Σ k = 1 K Δa k 0
4, the deviation of relatively more corresponding with each basic codebook vectors the best associating codebook vectors is selected the associating codebook vectors that is used to quantize.
Calculate respectively and A the Δ a of A ua relatively, select and finally be used to the associating codebook vectors that quantizes, suppose that the deviation of correspondence is designated as Δ a0,1≤a0≤A.
Two, overall calculation.Promptly generate this vector of joint code, directly more different then associating codebook vectors and the deviation of v earlier.Concrete steps comprise:
1, current basic codebook vectors is vector superposed with optional adjustment, generate the associating codebook vectors.
Suppose the K of a ua ua kAll to the adjustment vectorial combination should be arranged, the associating code book vector representation that then may generate is,
comb ( a , n 1 , · · · , n K ) = ua + Σ k = 1 K ad j k , n
N wherein kFor with ua kCorresponding adj K, n" n " value.If each adjusts adj in the vectorial combination K, nNumber be respectively { N 1, N 2..., N K, then can generate N altogether to each ua 1* N 2* ... * N KIndividual associating codebook vectors, all A ua can generate Total=A * N 1* N 2* ... * N KIndividual associating codebook vectors.
2, calculate the deviation of current associating codebook vectors and vector to be quantified.
The account form of deviation can with adj in the classification computing method K, nWith r kThe deviation calculation mode similar, just the range expansion of calculating is to whole dimensions of v.The deviation of associating codebook vectors and v is designated as Δ (a, n 1..., n K).
3, the more different associating codebook vectors and the deviation of described vector to be quantified are selected the associating codebook vectors that is used to quantize.
If clocklike produce the associating codebook vectors, obviously do not need to generate all Total associating codebook vectors according to certain order.For example, earlier fixing { a, n 1..., n K-1, provide and ua by steps A 3 search KCorresponding adj K, nGenerate the associating codebook vectors, then comparing the adj that comprises the best K, n0The associating codebook vectors after, fixing n KBe " n0 ", thereby need not at { a, n 1..., n K-1When changing, produce n KAssociating codebook vectors for other values.In this manner, (this is the situation that each adjustment set of vectors of hypothesis is all traveled through to need the number of the associating codebook vectors of generation mostly to be most, but if adjust in the set of vectors some adjustment amount value independent variation within the specific limits, then can search for the adjustment amount of determining independent variation earlier, and need not to travel through all possible situations, and this number can further reduce): Total s=A * [N 1+ (N 2-1)+... + (N K-1)]=A * (N 1+ N 2+ ... + N K-K+1), therefrom select and finally be used to the associating codebook vectors that quantizes, suppose that corresponding deviation is designated as Δ (a0, n0 1..., n0 K), 1≤a0≤A, 1≤n0 k≤ N k
The index of the basic codebook vectors that A5, acquisition are corresponding with selecteed associating codebook vectors and the index of adjusting vector.
Index for basic codebook vectors and adjustment vector can adopt multiple mode to carry out layout, and present embodiment will not limit.For example, can adopt sequence number that vector arranges index in similar set as this vector.
For the associating codebook vectors that employing method one in the steps A 4 is selected, according to the deviation delta a0 of final selection, the index that can determine basic codebook vectors is a0; Then according to each Δ a of Δ a0 correspondence K0, can determine that K the index of adjusting vector is { n0 1, n0 2..., n0 K, therefore the set of the whole quantization index that obtain is { a0, n0 1, n0 2..., n0 K.
For the associating codebook vectors that adopts method two to select in the steps A 4, can be directly according to final deviation delta (a0, the n0 that selects 1..., n0 K), determine that the set of whole quantization index is { a0, n0 1, n0 2..., n0 K.
Decoding end is decoding the set of quantization index { a0, n0 1, n0 2..., n0 KAfter, can find corresponding basic codebook vectors ua0 according to a0; Then respectively with each ua0 kCorresponding each adjusted in the set of vectors, by n0 1, n0 2..., n0 KFind corresponding adjustment vector adj K, n0(adj K, n0" n0 " value for " n0 k"), 1≤k≤K is then with ua0 and K adj K, n0Combination recovers the approximation of initialization vector v.
Present embodiment adopts by the synthetic associating codebook vectors of the adjustment set of vectors of basic codebook vectors and its sub-vector and treats the method that quantization vector quantizes; Because adopting the adjustment vector adjusts basic codebook vectors, effectively enlarged the dynamic range of basic codebook vectors, reduced the distortion factor, made and carry out the effect that single-stage quantizes to meet or exceed multi-stage quantization, effectively reduced the code book memory space and quantize amount of calculation; And the adjustment to basic codebook vectors is carried out with the form of adjusting vector, making it possible to make full use of vector to be quantified deducts the correlation that still exists between some dimension after the basic codebook vectors and designs the adjustment vector, reach the purpose that realizes bigger dynamic adjusting range with less adjustment vector number, simultaneously owing to the correlation of having utilized between dimension, make that adjustment vector number is less, help the amount of calculation of lower quantization.
Embodiment two, a kind of vector quantization method, the difference part of present embodiment and embodiment one are, utilize the scale factor relevant with basic codebook vectors to enlarge the dynamic range of adjusting vector.Flow process comprises step as shown in Figure 2:
B1, obtain vector to be quantified.
B2, obtain basic codebook vectors, described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts the whole of different values that all adjust each dimension of vector in the set of vectors less than this may number of combinations.
Above-mentioned steps B1, B2 can carry out with reference to the steps A among the embodiment one 1, A2.
B3, obtain and the corresponding scale factor of current basic codebook vectors.
Suppose that current basic codebook vectors is ua, 1≤a≤A, then corresponding with it scale factor can be designated as s a, s aObtain manner can be that corresponding ua obtains from the storage of presetting, can s be set according to statistics or empirical value aPerhaps also can calculate according to ua.
Be used for example, provide a kind of below according to ua calculating s aMethod, specifically comprise step:
1. calculate the mean vector of whole A ua.
Suppose that ua is the L n dimensional vector n, then the mean vector of A ua
Figure G071D0519120070718D000111
L dimension component be:
u → l = 1 A Σ a = 1 A ua l , 1 ≤ l ≤ L .
2. calculate each ua to mean vector
Figure G071D0519120070718D000113
Distance, with this distance as scale factor s a
s a = 1 L Σ l = 1 L ( ua l - u → l ) 2 .
B4, obtain the adjustment vector corresponding with basic sub-vector according to scale factor.
In the present embodiment corresponding to certain basic sub-vector ua of ua kAdjustment vector adj K, n, adopt to concern vector g by comprising N K, nThe incompatible mode that provides of vector set, g be provided K, nWith adj K, nHave as the minor function corresponding relation,
adj k,n=s a×g k,n
Herein will with adj K, nThe vector that concerns with above-mentioned function corresponding relation is called the adjustment coefficient vector, its set is called the set of adjustment coefficient vector, then above-mentioned function corresponding relation can be expressed as, and the adjustment set of vectors corresponding with certain basic sub-vector of certain basic codebook vectors shows as and the product of the corresponding adjustment coefficient vector of this basis sub-vector set with the corresponding proportion factor.
For example, suppose basic codebook vectors u for four-dimensional, preceding two dimension is the first sub-vector u 1, back two dimension is the second sub-vector u 2Wherein first sub-vector has corresponding adjustment set of vectors.Suppose to have two basic codebook vectors u1 and u2, the scale factor corresponding with basic codebook vectors u1 is s 1, the scale factor corresponding with basic codebook vectors u2 is s 2, with the first sub-vector u 1Corresponding adjustment coefficient vector set include 2 adjust coefficient vectors 1 ,-1}, 1,1}}.Then with the first sub-vector u1 of u1 1Corresponding adjustment set of vectors is s 1* 1 ,-1}, 1,1}}={{-s 1,-s 1, { s 1, s 1, with the first sub-vector u2 of u2 1Corresponding adjustment set of vectors is s 2* 1 ,-1}, 1,1}}={{-s 2,-s 2, { s 2, s 2.Because scale factor is corresponding with each basic codebook vectors, therefore the index of adjusting vector this moment can be expressed as the index of corresponding adjustment coefficient vector, and decoding end can recover corresponding adjustment vector according to the index of adjusting coefficient vector and the index of basic codebook vectors.
The combination of B5, adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize.
The index of the basic codebook vectors that B6, acquisition are corresponding with selecteed associating codebook vectors and the index of adjusting vector.
Above-mentioned steps B5, B6 can carry out with reference to the steps A among the embodiment one 4, A5.Need to prove in step B6, because scale factor is corresponding with each basic codebook vectors, therefore do not need to increase extra coded-bit, the index of adjusting vector this moment can be expressed as the index of corresponding adjustment coefficient vector, and decoding end can recover corresponding adjustment vector according to the index of adjusting coefficient vector and the index of basic codebook vectors.
Present embodiment adopts by scale factor and the product of adjusting coefficient vector and obtains the mode of adjusting vector, because it is relevant with concrete ua to adjust the value of vector, different ua can access different adjustment set of vectors by identical adjustment coefficient vector set, can make that the effect of adjusting is better, and effectively enlarge the dynamic range of adjusting vector.
Embodiment three, a kind of vector quantization method, present embodiment provide a kind of concrete method of obtaining the adjustment vector on embodiment one and two basis.Flow process comprises step as shown in Figure 3:
C1, obtain vector to be quantified.
C2, obtain basic codebook vectors, described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts the whole of different values that all adjust each dimension of vector in the set of vectors less than this may number of combinations.
Above-mentioned steps C1, C2 can carry out with reference to the steps A among the embodiment one 1, A2.
C3, obtain the adjustment vector corresponding, specifically comprise with basic sub-vector:
C31, search are corresponding with basic sub-vector concerns set of vectors, and the described set of vectors that concerns is described adjustment set of vectors or has the function corresponding relation with described adjustment set of vectors.The alleged vector that concerns can be the adjustment coefficient vector among the embodiment two, need obtain corresponding scale factor s in such cases after obtaining basic codebook vectors ua a
Search concerns that set of vectors specifically can be in the following way:
1. search concerns some subclass of set of vectors, and the number of each subclass institute inclusion relation vector equals whole whole possibility number of combinations that concern the different values of each dimension of vector in this subclass;
2. in each subclass, search for the different values of each dimension of corresponding relation vector.
Because in each subclass, each is tieed up component and is not had correlation each other, therefore the way of search that adopts can with searching class in unoptimizable adjustment set of vectors seemingly, that is, separate searches is respectively tieed up component.
Suppose and u kCorresponding concerns that set of vectors comprises N and concerns vector { g K, 1, g K, 2..., g K, N, concern values relation between the component respectively tieed up of vector according to these, can be with concerning that set of vectors is considered as being made up of several subclass, in each subclass, concern between the value of respectively tieing up component of vector no longer have correlation, can be considered independent variation each other; A kind of extreme situation is that each concerns that vector constitutes a subclass separately.
For example, suppose one by the two-dimentional relation vector form concern set of vectors 30,30}, 30,20}, { 20,30}, and 20,20}, 0,5}, { 30,-20}, 30 ,-30}} can be divided into it " bigger than normal ", " centre ", " less than normal " three subclass, is respectively:
" bigger than normal ": 30,30}, 30,20}, 20,30}, and 20,20}},
" centre ": 0,5}},
" less than normal ": 30 ,-30}, 30 ,-20}, 20 ,-30}, and 20 ,-20}}.
In " bigger than normal " subclass, respectively in value 20,30 separate searches concern vector the 1st, 2 the dimension; In " centre " subclass, search unique vector that concerns; Less than normal " in the subclass, separate searches concerns the 1st, 2 dimensions of vector in value-20 ,-30 respectively.
Can be numbered each subclass that concerns vector respectively, more various compound modes are arranged the sequence number that obtains various compound modes in subclass, such one concerns that vector just can be determined by the numbering of subclass under it and the sequence number in subclass.Certainly, this with according to concern vector whole concern arrangement in the set of vectors number come down to consistent.
The vector that concerns that C32, basis are obtained from concern set of vectors is adjusted vector accordingly.
The vector that concerns that obtains may directly be exactly to adjust vector, also may need process as obtaining adjusting vector after the calculating of multiply by scale factor that provides among the embodiment two.
The combination of C4, adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize.
The index of the basic codebook vectors that C5, acquisition are corresponding with selecteed associating codebook vectors and the index of adjusting vector.
Above-mentioned steps C4, C5 can carry out with reference to the steps A among the embodiment one 4, A5.Need to prove that in step C5 the index of the adjustment vector of acquisition is corresponding with this adjustment vector sequence number of vector in concerning set of vectors that concern.Concerning that set of vectors adopts under the situation of subset division, this sequence number can be expressed as and concern the affiliated numbering that concerns the vector subclass of vector and concern sequence number in the vector subclass at this.
Decoding end is after decoding the sequence number that concerns vector, can find this to concern vector in the set of vectors in concerning of correspondence, for example, utilize the subclass numbering to find the subclass that concerns that vector is affiliated, utilize the sequence number in the subclass to determine to concern vector again, can obtain to have adjusted vector according to the relation that concerns vector and adjust between the vector then.
Present embodiment adopts search to concern that the mode of set of vectors obtains the adjustment vector, and obtain manner is direct, and the amount of calculation of consumption is less.If further adopt the mode search of dividing subset to concern set of vectors, can be with concerning the storage of vector branch subclass, in each subclass inside, because whole value combinations of each dimension are provided, therefore can only store the different values of each dimension, needn't store compound mode, can reduce the part memory space.
Embodiment four, a kind of vector quantization method, present embodiment is compared with embodiment three, and the difference part is to provide the another kind of concrete method of obtaining the adjustment vector.Flow process comprises step as shown in Figure 4:
D1, obtain vector to be quantified.
D2, obtain basic codebook vectors, described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts the whole of different values that all adjust each dimension of vector in the set of vectors less than this may number of combinations.
Above-mentioned steps D1, D2 can carry out with reference to the steps A among the embodiment one 1, A2.
D3, obtain the adjustment vector corresponding, specifically comprise with basic sub-vector:
The different values of each dimension that concerns vector that D31, search and basic sub-vector are corresponding;
Concrete search can be divided into dual mode:
Mode one is only searched for the compound mode of different values, deviation is not judged; At this moment, Search Results is a kind of compound mode of each dimension.
Mode two, when each dimension of search (basic codebook vectors is constant), promptly the adjustment amount that produces according to its different values is judged the influence of this dimension deviation of associating codebook vectors, thereby determines the best value of this dimension; At this moment, Search Results is the best value of each dimension.
D32, judge whether the value combination of each dimension of current acquisition is the selectable effect relationship vector that has, if then execution in step D33 then continues execution in step D31 if not and finishes until search;
Whether in the combination of the value of each dimension of judging current acquisition is selectable when the effect relationship vector is arranged, specifically can adopt such method: the value of calculating each dimension of current acquisition is combined in the sequence number in all may making up, and judges according to described sequence number whether this value combination is the selectable effect relationship vector that has.
For example, suppose to concern vector for four-dimensional, every dimension has 5 possible different values, then has 625 possible vectors that concern, the wherein corresponding effect relationship vector that has of adjusting vector has 256.Two fixedly arrays with 625 are set,
Ga[id ']=D, id '=1 ..., 625}, D=1 or 0;
Gb[id’]=n,id’={1,…,625},1≤n≤256。
Ga[id '] in to have the corresponding D value of 256 id ' values be 1, represent 256 the effect relationship vector is arranged, these 256 id ' values are abbreviated as " effective id ' value "; Gb[id '] in the n value of corresponding effectively id ' value, get in 1~256 respectively, the sequence number that is worth as these 256 effective id '.Can adopt Gb[id ' is set in such a way] the n value: with effective id ' value sequence arrangement, from 1 to 256 successively correspondence a n value is set; As for Gb[id '] in the n value corresponding with other id ' value can adopt the any-mode setting.
When search one possible concern vector id1, id2, id3, during id4} (id1~id4 is respectively the value sequence number of respectively tieing up component), calculate this original sequence number that concerns vector and be:
id’=id1×125+id2×25+id3×5+id4,
Search Ga[id '], if Ga[id ']=1, judge that then this concerns vector for the effect relationship vector is arranged, can continue to obtain corresponding adjustment vector; Corresponding Ga[id '] corresponding n value, be the index of adjusting vector.
If Ga[id ']=0, judge that then this concerns the not corresponding adjustment vector of vector, proceed search.
For the way of search among the D31 one:
1, the value combination in each dimension of judging current acquisition is not the selectable effect relationship vector that has, and when needing to continue search, can directly skip current combination, continues to search in order;
2, determining travel through all values makes up and can judge to search for and finish; Perhaps determining to have searched for all has the effect relationship vector also can judge to search for and finishes;
3, in this case, there is the corresponding adjustment vector of effect relationship vector all can be provided for corresponding basic sub-vector with each.
For the way of search among the D31 two:
1, the value combination in each dimension of judging current acquisition is not the selectable effect relationship vector that has, and when needing to continue search, can adopt following variety of way:
1. produce an interim array, be used for depositing the value combination that the effect relationship vector is all arranged, in this interim array, search for then;
2. attempt adjusting the value of certain one dimension or certain apteryx, for example, adjust value one by one, up to being adjusted into effectively according to dimension order from big to small;
3. 2. similar, do not adjust but limit some dimension.
What 2, determine to search is to have the effect relationship vector can judge that search finishes;
3, in this case for each ua of basic codebook vectors ua k, being equivalent to only provide once has the effect relationship vector, and this has the corresponding ua of effect relationship vector kThe best adjust vector.
D33, obtain the adjustment vector according to the effect relationship vector that has of current acquisition.
At this moment, adjust set of vectors for the set of effect relationship vector all being arranged or having the function corresponding relation with the set that the effect relationship vector is all arranged; The index of adjusting vector then can be expressed as corresponding with this adjustment vector sequence number of effect relationship vector in the effect relationship vector is all arranged that have.
The combination of D4, adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize.
The index of the basic codebook vectors that D5, acquisition are corresponding with selecteed associating codebook vectors and the index of adjusting vector.
Above-mentioned steps D4, D5 can carry out with reference to the steps A among the embodiment one 4, A5.Need to prove that in step D5 the index of the adjustment vector of acquisition has the sequence number of effect relationship vector in the effect relationship vector is all arranged for corresponding with this adjustment vector.
Decoding end can be inquired about data and Gb[id ' after decoding the sequence number n that concerns vector] 256 fixedly array of corresponding setting,
Gc[n]=id’,n={1,…,256},1≤id’≤625。
Recover the original sequence number id ' that this concerns vector, then according to
id4=id’%5;id4’=Int[id’/5];
id3=id4’%5;id3’=Int[id4’/5];
id2=id3’%5;id2’=Int[id3’/5];
id1=id2’%5;
(wherein, remainder is got in " % " expression, and " Int " represents round numbers) respectively tieed up the value sequence number of component, thereby obtains the corresponding vector that concerns.
The mode of present embodiment employing excess search (being that the number of combinations of being searched for is less than the effective number of combinations that can carry out final index coding) is obtained and is concerned vector, obtain corresponding adjustment vector by judgement to combination validity, do not concern owing to do not need to store the actual effect relationship vectorial combination that has, can reduce memory space.
The vector quantization method that the above embodiment of the present invention provides (hereinafter to be referred as this method) can be used for various types of vector quantization processes, can use separately or use with other vector quantization methods merging, available this method is carried out the single-stage quantification to vector, also can carry out by this method the part continuation of quantification residual error after quantizing by this method execution single-stage or residual error and carry out the secondary quantification.Should be appreciated that the software of realizing vector quantization method of the present invention can be stored in the computer-readable medium.This software comprises the steps: to obtain vector to be quantified when carrying out; Obtain basic codebook vectors, described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts whole possibility number of combinations of the different values of all adjusting each dimension of vector in the set of vectors less than this; Obtain the adjustment vector corresponding with basic sub-vector; The combination of the adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize; Obtain the index of the basic codebook vectors corresponding and the index of adjusting vector with selecteed associating codebook vectors.Described computer-readable recording medium, as: ROM/RAM, magnetic disc, CD etc.
Vector quantizer to the embodiment of the invention is elaborated below.
Embodiment five, a kind of vector quantizer 10 as shown in Figure 5, comprising:
Vector input unit 11 is used to obtain vector to be quantified;
Code book unit, basis 12 is used to provide basic codebook vectors, and described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts whole possibility number of combinations of the different values of all adjusting each dimension of vector in the set of vectors less than this;
Adjust vector units 13, be used for providing the corresponding adjustment vector of basic sub-vector of the basic codebook vectors that provides with basic code book unit 12;
Quantifying unit 14, be used for from basic code book unit 12 and adjust vector units 13 and obtain basic codebook vectors and adjust vector, the combination of the adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, the deviation of the vector to be quantified that obtains according to associating codebook vectors and vector input unit 11, the associating codebook vectors that selection is used to quantize from possible associating codebook vectors;
Quantize output unit 15, be used to obtain the index of the basic codebook vectors corresponding and the index of adjusting vector with the associating codebook vectors of quantifying unit 14 selections.
Corresponding to the method one of the associating of the search among the embodiment one codebook vectors, the quantifying unit in the present embodiment specifically can adopt structure as shown in Figure 6, comprising:
Residual computations unit 1411 is used to calculate the difference vector of described vector to be quantified and the current basic codebook vectors of obtaining from described basic code book unit; Described difference vector is made up of some difference sub-vectors, and the dividing mode of difference sub-vector is identical with the dividing mode of basic sub-vector;
Residual quantization unit 1412, be used for for to the basic sub-vector of adjusting set of vectors should be arranged, according to the adjustment vector of adjusting in this adjustment set of vectors that vector units provides, the deviation of the difference sub-vector that obtains with corresponding residual computations unit 1411 selects the best of current basic sub-vector to adjust vector;
Deviation accumulated unit 1413, be used for each best deviation of adjusting vector that accumulative total residual quantization unit 1412 obtains, and the not corresponding basic sub-vector of set of vectors and the deviation of vector appropriate section to be quantified adjusted, as the deviation of the best associating codebook vectors corresponding with current basic codebook vectors;
Quantize selected cell 1414, be used for the deviation that comparison deviation accumulated unit 1413 the bests corresponding with each basic codebook vectors that obtain are united codebook vectors, select the associating codebook vectors that is used to quantize.
Corresponding to the method two of the associating of the search among the embodiment one codebook vectors, the quantifying unit in the present embodiment specifically can adopt structure as shown in Figure 7, comprising:
Associating vector units 1421 is used for the current basic codebook vectors of obtaining from basic code book unit generating the associating codebook vectors with vector superposed from adjusting the adjustment that vector units obtains;
Deviation calculation unit 1422 is used to calculate the associating codebook vectors of associating vector units 1421 current generations and the deviation of vector to be quantified;
Relatively selected cell 1423 is used for the different associating codebook vectors and the deviation of vector to be quantified that comparison deviation calculation unit 1422 obtains, the associating codebook vectors that selection is used to quantize.
The present embodiment vector quantizer can be used for carrying out the vector quantization method of describing among the embodiment one.
Embodiment six, a kind of vector quantizer 20 as shown in Figure 8, comprising:
Vector input unit 21 is used to obtain vector to be quantified;
Code book unit, basis 22 is used to provide basic codebook vectors, and described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts whole possibility number of combinations of the different values of all adjusting each dimension of vector in the set of vectors less than this;
Scale factor unit 23 is used to provide and the basic code book unit 22 current corresponding scale factors of basic codebook vectors that provide;
Adjust vector units 24, be used for providing the corresponding adjustment vector of basic sub-vector of the basic codebook vectors that provides with basic code book unit 22, this adjustment vector is the product of the scale factor that provides of adjustment coefficient vector corresponding with basic sub-vector and scale factor unit 23;
Quantifying unit 25, be used for from basic code book unit 22 and adjust vector units 24 and obtain basic codebook vectors and adjust vector, the combination of the adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize;
Quantize output unit 26, be used to obtain the index of the basic codebook vectors corresponding and the index of adjusting vector with the associating codebook vectors of quantifying unit 24 selections.
The present embodiment vector quantizer can be used for carrying out the vector quantization method of describing among the embodiment two.
Embodiment seven, a kind of vector quantizer 30 as shown in Figure 9, comprising:
Vector input unit 31 is used to obtain vector to be quantified;
Code book unit, basis 32 is used to provide basic codebook vectors, and described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts whole possibility number of combinations of the different values of all adjusting each dimension of vector in the set of vectors less than this;
Adjust vector units 33, comprise,
Set provides unit 331, be used to provide the basic sub-vector that provides with basic code book unit 32 corresponding concern set of vectors, the described set of vectors that concerns is described adjustment set of vectors or has the function corresponding relation with described adjustment set of vectors,
Adjust generation unit 332, being used to search for set provides the set of vectors that concerns that unit 331 provides, according to being adjusted vector accordingly from the described vector that concerns that obtains the set of vectors that concerns;
Quantifying unit 34, be used for from basic code book unit 32 and adjust vector units 33 and obtain basic codebook vectors and adjust vector, the combination of the adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize;
Quantize output unit 35, be used to obtain the index of the corresponding basic codebook vectors of the associating codebook vectors selected with quantifying unit 34 and the index of adjusting vector, this index is corresponding with this adjustment vector sequence number of vector in concerning set of vectors that concern.
The present embodiment vector quantizer can be used for carrying out the vector quantization method of describing among the embodiment three.
Embodiment eight, a kind of vector quantizer 40 as shown in figure 10, comprising:
Vector input unit 41 is used to obtain vector to be quantified;
Code book unit, basis 42 is used to provide basic codebook vectors, and described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts whole possibility number of combinations of the different values of all adjusting each dimension of vector in the set of vectors less than this;
Adjust vector units 43, comprise,
Excess search unit 431, the whole of different values that are used to search for corresponding each dimension that concerns vector of the basic sub-vector that provides with basic code book unit 42 may make up,
Whether vector selected cell 432, the value combination that is used to judge each dimension of excess search unit 431 current acquisitions are selectable the effect relationship vector to be arranged, if then obtain the adjustment vector according to the effect relationship vector that has of current acquisition; If not, then controlling the 431 continuation search of excess search unit finishes until search;
Quantifying unit 44, be used for from basic code book unit 42 and adjust vector units 43 and obtain basic codebook vectors and adjust vector, the combination of the adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize;
Quantize output unit 45, be used to obtain the index of the corresponding basic codebook vectors of the associating codebook vectors selected with quantifying unit 44 and the index of adjusting vector, this index has the sequence number of effect relationship vector in the effect relationship vector is all arranged for corresponding with this adjustment vector.
The present embodiment vector quantizer can be used for carrying out the vector quantization method of describing among the embodiment four.
The concrete structure of adjusting vector units among the foregoing description seven and the embodiment eight also can be used among embodiment five and the embodiment six.
By the foregoing description as can be seen, the embodiment of the invention adopts by the synthetic associating codebook vectors of the adjustment set of vectors of basic codebook vectors and its sub-vector and treats the method that quantization vector quantizes; Because adopting the adjustment vector adjusts basic codebook vectors, effectively enlarged the dynamic range of basic codebook vectors, reduced the distortion factor, made and carry out the effect that single-stage quantizes to meet or exceed multi-stage quantization, effectively reduced the code book memory space and quantize amount of calculation; And the adjustment to basic codebook vectors is carried out with the form of adjusting vector, making it possible to make full use of vector to be quantified deducts the correlation that still exists between some dimension after the basic codebook vectors and designs the adjustment vector, reach the purpose that realizes bigger dynamic adjusting range with less adjustment vector number, simultaneously owing to the correlation of having utilized between dimension, make that adjustment vector number is less, help the amount of calculation of lower quantization.When further employing is obtained the mode of adjusting vector by scale factor with the product of adjusting coefficient vector, because it is relevant with concrete ua to adjust the value of vector, different ua can access different adjustment set of vectors by identical adjustment coefficient vector set, can make that the effect of adjusting is better, and effectively enlarge the dynamic range of adjusting vector.When further adopting search to concern that the mode of set of vectors is obtained the adjustment vector, obtain manner is direct, and the amount of calculation of consumption is less.If further adopt the mode search of dividing subset to concern set of vectors, can be with concerning the storage of vector branch subclass, in each subclass inside, owing to provide the whole values of each dimension of institute to make up, therefore can only store the different values of each dimension, needn't store compound mode, can reduce the part memory space.Obtain when concern vector in the mode that further adopts the excess search, obtain corresponding adjustment vector, concern, can reduce memory space owing to do not need to store the actual effect relationship vectorial combination that has by judgement to combination validity.
For specifying the beneficial effect of the embodiment of the invention, below concrete relatively when quantizing 16 dimension ISF vectors of broadband non-voice class signal (Unvoiced), the various performance parameters of this method and ITU-T G.VBR baseline encoder method.(ITU-T G.VBR baseline encoder is similar to vector quantization method and the MSVQ among the AMR-WB+ that broadband non-voice class signal is adopted, does not just carry out the vector division in the process of multi-stage quantization.) wherein " quantification effect " for to the Unvoiced class altogether the ISF coefficient of 405336 frames quantize, 25 kinds of voice, 2112 sound materials that NTT provides are carried out providing after the all-round statistics.
One, ITU-T G.VBR baseline encoder method
Basic setup:
1, carries out eight grades of quantifications altogether.
2, the first order is selected 5 preferred code books according to weighted mean square error from the one-level code book, uses 64 16 dimension one-level code books altogether.
3, to each preferred code book, with two~eight-level-code book the residual error that the higher level quantizes is quantized successively, from 5 groups of results, select final quantized result at last.16 dimension code book numbers of the second~eight grade of use are followed successively by: 32,16,64,64,32,32,8.
Performance parameter:
1, number of coded bits: 6+5+4+6+6+5+5+3=40 bit.
2, memory space: 16 * (64+32+16+64+64+32+32+8)=4992 floating numbers.
3, amount of calculation: addition and subtraction about 21000 times, multiplication about 42000 times.
4, quantification effect: averaging spectrum distortion 0.975dB, 2.0~4.0dB account for 0.919% of sum, and>4.0dB accounts for 0.00715%.
Two, this method
Basic setup:
1, uses the basic codebook vectors (being divided into five basic sub-vectors) of 57 16 dimensions altogether.
2, corresponding scale factor of each basic codebook vectors.
3, the first basic sub-vector comprises the 1st~2 dimension, the adjustment amount of 7 independent variation of every dimension.
4, the second~five basic sub-vector comprises the 3rd~5 dimension, the 6th~8 dimension, the 9th~12 dimension, the 13rd~16 dimension respectively successively, corresponding separately one of the second~five basic sub-vector is adjusted set of vectors, each is adjusted set of vectors and is divided into 3 subclass, the adjustment amount of 3 independent variation of every dimension in each subclass.
Performance parameter:
1, number of coded bits: 40 bits.Because always have kind of the combination of 57 * 7 * 7 * (3 * 3 * 3 * 3) * (3 * 3 * 3 * 3) * (3 * 3 * 3 * 3 * 3) * (3 * 3 * 3 * 3 * 3)=1082065425777, and 40 bits allow the combination of 2^40=1099511627776 kind altogether, therefore can encode with 40 bits.
2, memory space: 16 * 57+57+7 * 2+14 * 3 * 3=1109 floating number.
3, amount of calculation: addition and subtraction about 25000 times, multiplication about 7500 times.
4, quantification effect: averaging spectrum distortion 0.943dB, 2.0~4.0dB account for 1.031% of sum, and>4.0dB accounts for 0.0054%.
Relatively the performance parameter of two kinds of methods as can be seen, under identical number of coded bits, no matter this method is memory space, computation complexity, or quantification effect all is better than ITU-T G.VBR baseline encoder method.
More than vector quantization method and vector quantizer that the embodiment of the invention provided are described in detail, used specific case herein principle of the present invention and execution mode are set forth, the explanation of above embodiment just is used for helping to understand method of the present invention and core concept thereof; Simultaneously, for one of ordinary skill in the art, according to thought of the present invention, the part that all can change in specific embodiments and applications, in sum, this description should not be construed as limitation of the present invention.

Claims (14)

1. a vector quantization method is characterized in that, comprising:
Obtain vector to be quantified;
Obtain basic codebook vectors, described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts whole possibility number of combinations of the different values of all adjusting each dimension of vector in the set of vectors less than this;
Obtain the adjustment vector corresponding with basic sub-vector;
The combination of the adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize;
Obtain the index of the basic codebook vectors corresponding and the index of adjusting vector with selecteed associating codebook vectors.
2. vector quantization method according to claim 1 is characterized in that, also comprises: obtain and the corresponding scale factor of current basic codebook vectors;
The adjustment set of vectors corresponding with certain basic sub-vector of current basic codebook vectors shows as and the product of the corresponding adjustment coefficient vector of this basis sub-vector set with described scale factor.
3. vector quantization method according to claim 1 is characterized in that, the step of the described associating codebook vectors that selection is used to quantize from possible associating codebook vectors comprises:
Calculate the difference vector of described vector to be quantified and current basic codebook vectors; Described difference vector is made up of some difference sub-vectors, and the dividing mode of difference sub-vector is identical with the dividing mode of basic sub-vector;
For to the basic sub-vector of adjusting set of vectors should be arranged,, select the best of current basic sub-vector to adjust vector according to the deviation of the adjustment vector in this adjustment set of vectors with corresponding difference sub-vector;
Each best deviation of adjusting vector of accumulative total, and the not corresponding basic sub-vector of set of vectors and the deviation of vector appropriate section to be quantified adjusted are as the deviation of the best associating codebook vectors corresponding with current basic codebook vectors;
The deviation of relatively more corresponding with each basic codebook vectors the best associating codebook vectors is selected the associating codebook vectors that is used to quantize.
4. vector quantization method according to claim 1 is characterized in that, the step of the described associating codebook vectors that selection is used to quantize from possible associating codebook vectors comprises:
Current basic codebook vectors with optionally adjustment is vector superposed, is generated the associating codebook vectors;
Calculate the deviation of current associating codebook vectors and described vector to be quantified;
The more different associating codebook vectors and the deviation of described vector to be quantified are selected the associating codebook vectors that is used to quantize.
5. according to any described vector quantization method of claim 1~4, it is characterized in that the described step of obtaining the adjustment vector corresponding with basic sub-vector comprises:
Search for the concern set of vectors corresponding with basic sub-vector, the described set of vectors that concerns is described adjustment set of vectors or has the set of function corresponding relation with described adjustment set of vectors,
According to being adjusted vector accordingly from the described vector that concerns that obtains the set of vectors that concerns;
The index of described adjustment vector is corresponding with this adjustment vector sequence number of vector in concerning set of vectors that concern.
6. vector quantization method according to claim 5 is characterized in that, the described search step that concern set of vectors corresponding with basic sub-vector comprises:
Search concerns some subclass of set of vectors, and the number of each subclass institute inclusion relation vector equals whole whole possibility number of combinations that concern the different values of each dimension of vector in this subclass,
In each subclass, the different values of each dimension of search corresponding relation vector;
The index of described adjustment vector is corresponding with this adjustment vector concern the numbering that concerns the vector subclass under the vector and concern sequence number in the vector subclass at this.
7. according to any described vector quantization method of claim 1~4, it is characterized in that the described step of obtaining the adjustment vector corresponding with basic sub-vector comprises:
The different values of search and corresponding each dimension that concerns vector of basic sub-vector,
Whether the value combination of judging each dimension of current acquisition is selectable the effect relationship vector to be arranged, if then obtain the adjustment vector according to the effect relationship vector that has of current acquisition; If not, then continuing search finishes until search;
Described adjustment set of vectors has the set of function corresponding relation for set that the effect relationship vector is all arranged or with the set that the effect relationship vector is all arranged; The index of described adjustment vector has the sequence number of effect relationship vector in the effect relationship vector is all arranged for corresponding with this adjustment vector.
8. vector quantization method according to claim 7, it is characterized in that, whether the value combination of described each dimension of judging current acquisition is selectablely to have the step of effect relationship vector to be specially: the value of calculating each dimension of current acquisition is combined in the sequence number in all may making up, and judges according to described sequence number whether this value combination is the selectable effect relationship vector that has.
9. a vector quantizer is characterized in that, comprising:
The vector input unit is used to obtain vector to be quantified;
Code book unit, basis is used to provide basic codebook vectors, and described basic codebook vectors is made up of some basic sub-vectors; In described several basic sub-vectors, have at least the above basic sub-vector of a two dimension or two dimension to adjust set of vectors corresponding to one, described adjustment set of vectors comprise N with the adjustment vector of this basis sub-vector with dimension; At least one described adjustment set of vectors satisfies, and N adjusts whole possibility number of combinations of the different values of all adjusting each dimension of vector in the set of vectors less than this;
Adjust vector units, be used to the adjustment vector that provides corresponding with basic sub-vector;
Quantifying unit, be used for obtaining basic codebook vectors and adjusting vector from described basic code book unit and adjustment vector units, the combination of the adjustment vector that basic codebook vectors and one or more and different basic sub-vectors are corresponding is considered as the associating codebook vectors, according to the deviation of associating codebook vectors and described vector to be quantified, from possible associating codebook vectors, select the associating codebook vectors that is used to quantize;
Quantize output unit, be used to obtain the index of the basic codebook vectors corresponding and the index of adjusting vector with the associating codebook vectors of described quantifying unit selection.
10. vector quantizer according to claim 9 is characterized in that, also comprises:
The scale factor unit is used to provide and the current corresponding scale factor of basic codebook vectors that provides in described basic code book unit;
The adjustment vector that described adjustment vector units provides is the product of the scale factor that adjustment coefficient vector corresponding with basic sub-vector and described scale factor unit provide.
11. vector quantizer according to claim 9 is characterized in that, described quantifying unit comprises:
The residual computations unit is used to calculate the difference vector of described vector to be quantified and the current basic codebook vectors of obtaining from described basic code book unit; Described difference vector is made up of some difference sub-vectors, and the dividing mode of difference sub-vector is identical with the dividing mode of basic sub-vector;
The residual quantization unit, be used for for to the basic sub-vector of adjusting set of vectors should be arranged, adjustment vector in this adjustment set of vectors that provides according to described adjustment vector units with the deviation of corresponding difference sub-vector, selects the best of current basic sub-vector to adjust vector;
The deviation accumulated unit is used for each best deviation of adjusting vector of accumulative total, and the not corresponding basic sub-vector of set of vectors and the deviation of vector appropriate section to be quantified adjusted, as the deviation of the best associating codebook vectors corresponding with current basic codebook vectors;
Quantize selected cell, be used for the deviation of the comparison the best associating codebook vectors corresponding, select the associating codebook vectors that is used to quantize with each basic codebook vectors.
12. vector quantizer according to claim 9 is characterized in that, described quantifying unit comprises:
The associating vector units is used for the current basic codebook vectors of obtaining from described basic code book unit vector superposedly with the adjustment of obtaining from described adjustment vector units, generates the associating codebook vectors;
The deviation calculation unit is used to calculate the associating codebook vectors of the current generation of described associating vector units and the deviation of described vector to be quantified;
Relatively selected cell is used for the more different associating codebook vectors and the deviation of described vector to be quantified, selects the associating codebook vectors that is used to quantize.
13., it is characterized in that described adjustment vector units comprises according to any described vector quantizer of claim 9~12:
Set provides the unit, is used to the set of vectors that concerns that provides corresponding with basic sub-vector, the described set of vectors that concerns is described adjustment set of vectors or has the set of function corresponding relation with described adjustment set of vectors;
Adjust generation unit, being used to search for described set provides the set of vectors that concerns that the unit provides, according to being adjusted vector accordingly from the described vector that concerns that obtains the set of vectors that concerns;
The index of the adjustment vector that described quantification output unit obtains is corresponding with this adjustment vector sequence number of vector in concerning set of vectors that concern.
14., it is characterized in that described adjustment vector units comprises according to any described vector quantizer of claim 9~12:
The excess search unit is used to search for the different values with corresponding each dimension that concerns vector of basic sub-vector;
Whether vector selected cell, the value combination that is used to judge each dimension of the current acquisition of described excess search unit are selectable the effect relationship vector to be arranged, if then obtain the adjustment vector according to the effect relationship vector that has of current acquisition; If not, then controlling described excess search unit continuation search finishes until search;
The index of the adjustment vector that described quantification output unit obtains has the sequence number of effect relationship vector in the effect relationship vector is all arranged for corresponding with this adjustment vector.
CN2007101305191A 2006-12-05 2007-07-11 Vector quantization method and vector quantizer Active CN101345530B (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2007101305191A CN101345530B (en) 2007-07-11 2007-07-11 Vector quantization method and vector quantizer
KR1020097005033A KR101083291B1 (en) 2006-12-05 2007-12-05 Method and device for vector quantization
PCT/CN2007/071178 WO2008067766A1 (en) 2006-12-05 2007-12-05 Method and device for quantizing vector
EP07846024A EP2048787A4 (en) 2006-12-05 2007-12-05 Method and device for quantizing vector
JP2009536590A JP5006404B2 (en) 2006-12-05 2007-12-05 Vector quantizer
US12/273,201 US8335260B2 (en) 2006-12-05 2008-11-18 Method and device for vector quantization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101305191A CN101345530B (en) 2007-07-11 2007-07-11 Vector quantization method and vector quantizer

Publications (2)

Publication Number Publication Date
CN101345530A CN101345530A (en) 2009-01-14
CN101345530B true CN101345530B (en) 2010-09-15

Family

ID=40247439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101305191A Active CN101345530B (en) 2006-12-05 2007-07-11 Vector quantization method and vector quantizer

Country Status (1)

Country Link
CN (1) CN101345530B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195760A (en) 2010-03-16 2011-09-21 松下电器产业株式会社 Wireless communication system, base station, terminal and method for generating codebook
KR102034419B1 (en) * 2014-07-28 2019-10-18 텔레폰악티에볼라겟엘엠에릭슨(펍) Pyramid vector quantizer shape search

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1120268A (en) * 1994-05-27 1996-04-10 株式会社东芝 Device for quantization vector
US5970443A (en) * 1996-09-24 1999-10-19 Yamaha Corporation Audio encoding and decoding system realizing vector quantization using code book in communication system
US6009387A (en) * 1997-03-20 1999-12-28 International Business Machines Corporation System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization
CN1420487A (en) * 2002-12-19 2003-05-28 北京工业大学 Method for quantizing one-step interpolation predicted vector of 1kb/s line spectral frequency parameter
US20030219167A1 (en) * 2002-05-23 2003-11-27 Petri Pikkarainen Method and system for forming HCVQ vector library

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1120268A (en) * 1994-05-27 1996-04-10 株式会社东芝 Device for quantization vector
US5970443A (en) * 1996-09-24 1999-10-19 Yamaha Corporation Audio encoding and decoding system realizing vector quantization using code book in communication system
US6009387A (en) * 1997-03-20 1999-12-28 International Business Machines Corporation System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization
US20030219167A1 (en) * 2002-05-23 2003-11-27 Petri Pikkarainen Method and system for forming HCVQ vector library
CN1420487A (en) * 2002-12-19 2003-05-28 北京工业大学 Method for quantizing one-step interpolation predicted vector of 1kb/s line spectral frequency parameter

Also Published As

Publication number Publication date
CN101345530A (en) 2009-01-14

Similar Documents

Publication Publication Date Title
CN101939781B (en) Audio encoder and decoder
CN102708868B (en) Use the complex transformation chnnel coding of expansion bands frequency coding
CN100530979C (en) A vector quantification method and vector quantifier
US6662154B2 (en) Method and system for information signal coding using combinatorial and huffman codes
CN101401153B (en) Improved coding/decoding of a digital audio signal, in CELP technique
CN101335004B (en) Method and apparatus for multi-stage quantization
EP1326235A2 (en) Efficient excitation quantization in noise feedback coding with general noise shaping
CN105654958A (en) Apparatus and method for encoding and decoding signal for high frequency bandwidth extension
CN105723455A (en) Encoder for encoding an audio signal, audio transmission system and method for determining correction values
US20170178649A1 (en) Method and device for quantization of linear prediction coefficient and method and device for inverse quantization
JP5006404B2 (en) Vector quantizer
EP3142110A1 (en) Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same
CN100580772C (en) Method and apparatus for coding informational signal
US20070271094A1 (en) Method and system for coding an information signal using closed loop adaptive bit allocation
CN102708871A (en) Line spectrum-to-parameter dimensional reduction quantizing method based on conditional Gaussian mixture model
CN101821800A (en) Vector quantizer, vector inverse quantizer, and the methods
CN101198041B (en) Vector quantization method and device
WO2009090875A1 (en) Vector quantizer, vector inverse quantizer, and methods therefor
CN101937680A (en) Vector quantization method for sorting and rearranging code book and vector quantizer thereof
CN101345530B (en) Vector quantization method and vector quantizer
US7206740B2 (en) Efficient excitation quantization in noise feedback coding with general noise shaping
CN102959871A (en) Encoding method, decoding method, encoding device, decoding device, program, and recording medium
US7110942B2 (en) Efficient excitation quantization in a noise feedback coding system using correlation techniques
CN105340010B (en) For quantifying and encoding audio signal envelope coding, processing and the decoded device and method of division audio signal envelope by application distribution
Mohammadi et al. Low cost vector quantization methods for spectral coding in low rate speech coders

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210423

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Device Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.