JP3297752B2 - Vector quantization method - Google Patents

Vector quantization method

Info

Publication number
JP3297752B2
JP3297752B2 JP09226492A JP9226492A JP3297752B2 JP 3297752 B2 JP3297752 B2 JP 3297752B2 JP 09226492 A JP09226492 A JP 09226492A JP 9226492 A JP9226492 A JP 9226492A JP 3297752 B2 JP3297752 B2 JP 3297752B2
Authority
JP
Japan
Prior art keywords
vector
code
index
distance
quantization method
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.)
Expired - Lifetime
Application number
JP09226492A
Other languages
Japanese (ja)
Other versions
JPH05265498A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP09226492A priority Critical patent/JP3297752B2/en
Publication of JPH05265498A publication Critical patent/JPH05265498A/en
Application granted granted Critical
Publication of JP3297752B2 publication Critical patent/JP3297752B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、音声の波形やスペクト
ル包絡パラメータの複数のサンプル値をベクトルにまと
めて一つの符号で表現し、量子化するベクトル量子化方
法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector quantization method in which a plurality of sample values of a speech waveform and a spectrum envelope parameter are combined into a vector, represented by one code, and quantized.

【0002】[0002]

【従来の技術】音声を含むオーディオ信号や画像の圧縮
符号化を行う場合、例えば音声波形信号に対して、ベク
トル量子化を施し、該ベクトル量子化によって得られた
識別コード(インデックス)を符号化出力する高能率符
号化が行われることがある。
2. Description of the Related Art When compressing and encoding an audio signal or image including speech, for example, a speech waveform signal is subjected to vector quantization, and an identification code (index) obtained by the vector quantization is encoded. High-efficiency encoding for output may be performed.

【0003】上記ベクトル量子化とは、k次元ユークリ
ッド空間Rk に存在する入力ベクトルから出力ベクト
への写像(マッピング)Qである。但し、該出力ベ
クトルは、Y={ 1 , 2 ,・・・, N }のN個
の再生ベクトルの集合から1個が選ばれる。つまり、出
力ベクトルは、 =Q() 但し、∈Y ・・・・・・(1) と表せる。ここで、集合Yは、コードブックと呼ばれ、
N個(レベル)のコードベクトル 1 , 2 ,・・・,
N を持つ。このNは、コードブックサイズと呼ばれ
る。
The vector quantization is a mapping (mapping) Q of an input vector x existing in a k-dimensional Euclidean space R k to an output vector y . However, one of the output vectors y is selected from a set of N reproduction vectors of Y = { y 1, y 2 ,..., Y N }. That is, the output vector y, y = Q (x) where expressed as y ∈Y ······ (1). Here, the set Y is called a codebook,
N (level) code vectors y 1, y 2 ,.
has y N. This N is called a codebook size.

【0004】例えば、Nレベルのk次元ベクトル量子化
器は、N個の領域(セル)からなる入力空間の部分空間
を持つ。このN個のセルは、{R1 ,R2 ,・・・,R
N }で表され、例えば、図5に示すように、セルRi
いうのは、 i を代表ベクトルとして、選ぶような入力
ベクトルの集合ということができ、 Ri =Q-1(yi )={x∈Rk :Q(x)=yi } ・・・・・(2) という式になる。ここで、1≦i≦N である。
For example, an N-level k-dimensional vector quantizer has a subspace of an input space consisting of N regions (cells). The N cells are represented by {R 1 , R 2 ,.
Is represented by N}, for example, as shown in FIG. 5, because the cell R i is, as a representative vector y i, can be said that the set of input vectors x such as pick, Ri = Q-1 (yi ) = {X} Rk: Q (x) = yi} (2) Here, 1 ≦ i ≦ N.

【0005】上記分割された全てのセルの和は、もとの
k次元ユークリッド空間Rk に一致し、かつ、それらの
セルは重複(オーバーラップ)する部分がない。これを
式で表すと、
[0005] The sum of all the divided cells matches the original k-dimensional Euclidean space R k , and these cells have no overlapping parts. Expressing this as an equation,

【0006】[0006]

【数1】 (Equation 1)

【0007】となる。したがって、出力集合Yと対応す
るセルの分割{Ri }は、一意にベクトル量子化器Qを
決定する。
[0007] Therefore, the cell division {R i } corresponding to the output set Y uniquely determines the vector quantizer Q.

【0008】上記ベクトル量子化器は、コーダ(符号化
装置)Cとデコーダ(復号化装置)De に分けて考える
ことができる。該コーダCは上記入力ベクトルをイン
デックスiに写像(マッピング)する。但し、インデッ
クスiはI={1,2,・・・,N}というN個の集合
から選択され、 i=C() 但し、i∈I ・・・・・(4) となる。
The above-mentioned vector quantizer can be divided into a coder (encoding device) C and a decoder (decoding device) De. The coder C maps the input vector x to an index i. Here, the index i is selected from N sets of I = {1, 2,..., N}, and i = C ( x ) where i∈I... (4).

【0009】上記デコーダDe は上記インデックスiを
対応する再生ベクトル(出力ベクトル) i にマッピン
グする。但し、再生ベクトル i は上記コードブックY
より、選択される。これを式で表すと次の(5)式にな
る。 i =De (i) 但し、 i ∈Y ・・・・・(5)
The decoder De maps the index i to a corresponding reproduction vector (output vector) y i . However, the reproduction vector y i is the same as the codebook Y
Selected. This can be expressed by the following equation (5). y i = De (i) where y i ∈Y (5)

【0010】上記ベクトル量子化器の動作は、上記コー
ダCとデコーダDの組合せで式(1)、(2)、
(3)、(4)及び(5)式、次の式(6)のように表
現できる。 =Q()=De (i)=De (C()) ・・・・・(6)
The operation of the above-mentioned vector quantizer is represented by the equations (1), (2),
Expressions (3), (4) and (5) can be expressed as in the following expression (6). y = Q ( x ) = De (i) = De (C ( x )) (6)

【0011】上記インデクスiはバイナリ表現された2
進数となり、伝送速度であるベクトル量子化器のビット
レートBt 、ベクトル量子化器の分解能bは、 Bt =log2N (ビット/ベクトル) ・・・・・(7) b=Bt /k (ビット/サンプル) ・・・・・(8) となる。
[0011] The above index i is expressed in binary 2
The bit rate Bt of the vector quantizer and the resolution b of the vector quantizer, which is a transmission rate, are as follows: Bt = log 2 N (bit / vector) (7) b = Bt / k (bit / Sample) ... (8)

【0012】次に、誤差の評価尺度である歪み測度につ
いて説明する。この歪み測度d()は、入力ベク
トルと出力ベクトルの不一致度(誤差)を示す尺度
である。該歪み測度d()は、
Next, a description will be given of a distortion measure which is an evaluation scale of an error. The distortion measure d ( x , y ) is a measure indicating the degree of mismatch (error) between the input vector x and the output vector y . The distortion measure d ( x , y ) is

【0013】[0013]

【数2】 (Equation 2)

【0014】で表せる。ここでxi ,yi はベクトル
のi番目の要素である。
## EQU1 ## Where x i and y i are vectors
It is the i-th element of x and y .

【0015】すなわち、上記ベクトル量子化器のパフォ
ーマンスは、 Da =E[ d()] ・・・・・(10) で与えられる全平均歪みで定義される。ここで、Eは期
待値である。
That is, the performance of the above-described vector quantizer is defined by the total average distortion given by: Da = E [d ( x , y )] (10) Here, E is an expected value.

【0016】通常、上記(10)式は、多数のサンプルの
平均であり、
Usually, the above equation (10) is the average of many samples,

【0017】[0017]

【数3】 (Equation 3)

【0018】のように表せる。但し、{ n }は入力ベ
クトル列であり、 n =Q( n )である。また、Mは
サンプル数である。
It can be expressed as follows. However, it is {x n} is the input vector sequence, y n = Q (x n ). M is the number of samples.

【0019】次に、上記ベクトル量子化器のコードブッ
クの生成に用いられるLBGアルゴリズムについて説明
しておく。本来、歪み測度と入力データのPDF(Prob
ability Density function: 確率密度関数)が分からな
いと具体的なベクトル量子化器のコードブックの設計は
難しかった。しかし、いわゆるトレーニングデータを使
うことによって、確率密度関数が分からなくてもベクト
ル量子化器のコードブックの設計ができる。例えば、次
元k、コードブックサイズN及びトレーニングデータx
(n)が決まっている場合、これらの要因から最適なコ
ードブックを作成でき、その方法がLBGと呼ばれるア
ルゴリズムである。すなわち、ある種類の大きさのトレ
ーニングデータが音声のPDFを表現しているものであ
るという前提をおくと、そのトレーニングデータに対し
て最適化を行うことでベクトル量子化器のコードブック
が生成できる。
Next, the LBG algorithm used for generating the codebook of the vector quantizer will be described. Originally, the distortion measure and the PDF (Prob
Without knowing the ability density function, it was difficult to design a codebook for a specific vector quantizer. However, by using training data, a codebook for a vector quantizer can be designed without knowing the probability density function. For example, dimension k, codebook size N and training data x
When (n) is determined, an optimal codebook can be created from these factors, and the method is an algorithm called LBG. That is, assuming that training data of a certain type represents audio PDF, a codebook of a vector quantizer can be generated by optimizing the training data. .

【0020】このLBGアルゴリズムの特徴は、分割の
ための条件であるNearest-NeighborCondition(ニアレ
ストネイバーコンディション:最適分割条件)と代表点
を決めるための条件であるCentroid Condition(セント
ロイドコンディション:代表点条件または重心条件)の
二つの繰り返しによって構成されることにある。すなわ
ち、分割と代表点をどういうふうに決めるかということ
を問題にしている。該最適分割条件とは、最適なコーデ
ィングの条件ということであり、具体的には、デコーダ
が与えられたときの最適なコーダの条件のことである。
また、上記代表点条件とは、コーダが与えられたときの
最適なデコーダの条件である。
The features of the LBG algorithm are Nearest-Neighbor Condition (neighboring condition: optimal dividing condition) which is a condition for division and Centroid Condition (centroid condition: representative point condition) which is a condition for determining a representative point. Or the center of gravity condition). In other words, the problem is how to determine the division and the representative point. The optimal division condition is an optimal coding condition, specifically, an optimal coder condition when a decoder is provided.
The representative point condition is an optimal decoder condition when a coder is given.

【0021】上記最適分割条件において、代表点が与え
られたときにセルRj は、 Rj ={x:d(x,yj )≦d(x,yi )for all i ≠j, i,j∈I} ・・・・・(12) のようになる。上記(12)式において、j番目のセルRj
は、j番目の代表点 iが最も近くなるような入力信号
の集合のことである。つまり、入力信号が与えられた
ときに自分に一番近い代表点を探すような入力の集合
が、その代表点を構成する空間Rj を決める。これは、
言い換えるとコードブックの中から今の入力に一番近い
コードベクトルを選びなさいということで、ベクトル量
子化器の操作そのもの、コーダの操作そのものを言うこ
とになる。
In the above optimum resolution conditions, the cell R j when the representative point is given, Rj = {x: d ( x, yj) ≦ d (x, yi) for all i ≠ j, i, j∈ I} ... (12) In the above equation (12), the j-th cell R j
Is the input signal such that the j-th representative point y i is closest
It is a set of x . That is, when a given input signal is given, a set of inputs x that searches for the nearest representative point determines the space Rj that constitutes that representative point. this is,
In other words, selecting the code vector closest to the current input from the code book means the operation itself of the vector quantizer and the operation of the coder itself.

【0022】上述したようにデコーダが決まれば最適な
コーダ(最小な歪を与えるような)は、求められる。コ
ーダC()は、 C()=j iff d( j )≦d( i )for all i∈I ・・・・・(13) となる。ここで、 iffとは、「〜のときに限り」という
ことである。これは、入力信号 j との距離がいか
なる他の i よりも近いときにインデクスjを出力する
ということを表す。すなわち、一番近い代表点を探して
そのインデクスを出力するのが最適なコーダであるとい
う意味である。
As described above, if the decoder is determined, an optimum coder (which gives the minimum distortion) is required. The coder C ( x ) is expressed as follows: C ( x ) = j iff d ( x , y j ) ≦ d ( x , y i ) for all i∈I (13) Here, iff means “only when”. This means that the index j is output when the distance between the input signals x and y j is shorter than any other y i . That is, it is the optimum coder to search for the nearest representative point and output the index.

【0023】上記代表点条件というのは、Ri という空
間が決められたとき、すなわち、コーダが決められたと
きに、最適な出力ベクトル i が、i番目のセルRi
いう空間の重心であり、この重心を代表ベクトルとする
というものである。この iは、 i =cent(Ri )∈Ri ・・・・・(14) と示される。
[0023] because the representative point conditions, when the space that Ri has been determined, i.e., when the coder is determined, optimal output vector y i is located in the center of gravity of the space of the i-th cell R i The center of gravity is used as a representative vector. This y i is expressed as y i = cent (R i ) ∈R i (14)

【0024】但し、Ri の重心cent(Ri )は以下のよ
うに定義される。 yc =cent(Ri ) if E[ d( c )|∈Ri ] ≦ E[ d()|∈Ri] for all ∈Ri ・・・・・(15) とする。この(15)式は、上記 c がRi という空間内の
代表点となるのは、該空間内に属する入力信号と該
c との歪の期待値が、最小化されるときであることを意
味する。そして、最適なコードベクトル i というの
は、上記Ri における歪みを最小化する。したがって、
コーダが決まれは最適なデコーダというのは、この空間
の代表点を出力するものであり、次の式(16)で表せる。
[0024] However, the center of gravity of the R i cent (R i) is defined as follows. yc = cent (Ri) if E [d (x, y c) | x ∈Ri] ≦ E [d (x, y) | x ∈Ri] and for all y ∈Ri ····· (15) . This equation (15) shows that the above-mentioned y c is a representative point in the space of R i because the input signal x and the y
This means that the expected value of the distortion with c is minimized. The optimal code vector y i minimizes the distortion in R i . Therefore,
When the coder is determined, the optimal decoder outputs the representative point of this space, and can be expressed by the following equation (16).

【0025】 De (i) =cent(Ri ) ・・・・・(16) 通常は、入力ベクトルxの平均値(加重平均値あるいは
単純平均)を代表点とする。
[0025] D e (i) = cent ( R i) ····· (16) typically has an average value of the input vector x (the weighted average value or simple average) as the representative point.

【0026】上記分割と代表点を決める条件である最適
分割条件と代表点条件が決まると上記LBGアルゴリズ
ムは、図6に示すフローチャートに従って、実行され
る。
When the optimum division condition and the representative point condition, which are conditions for determining the division and the representative point, are determined, the LBG algorithm is executed according to the flowchart shown in FIG.

【0027】先ず、ステップS21では、初期設定が行
われる。具体的には、歪みD-1を無限大に、また、繰り
返しの回数nを“0”(n=0)としておく。また、Y
0 を初期コードブック、εを閾値、nm を繰り返しの最
大回数と定義しておく。
First, in step S21, initialization is performed. Specifically, the distortion D −1 is set to infinity, and the number of repetitions n is set to “0” (n = 0). Also, Y
0 the initial codebook, threshold epsilon, be defined as the maximum number of repeated n m.

【0028】ステップS22では、上記ステップS21
で初期コードブックY0 が与えられており、ここで与え
られたトレーニングデータを上記最適分割条件で全てエ
ンコーディングする。つまり、上記初期コードブックに
対して写像(マッピング)を行う。
In step S22, the above-mentioned step S21
, The initial codebook Y 0 is given, and all the training data given here are encoded under the above-mentioned optimal division condition. That is, mapping is performed on the initial codebook.

【0029】ステップS23では、入力データと出力デ
ータとの距離の二乗和を計算する歪み計算を行う。
In step S23, a distortion calculation for calculating the sum of squares of the distance between the input data and the output data is performed.

【0030】ステップS24では、前回の歪みDn-1
上記ステップS23で求められる今回の歪みDn とから
求められる歪みの減少率が閾値εより小さくなったか否
か、あるいは、繰り返しの回数nが予め決めておいた繰
り返し最大回数nm に達したか否かを判別し、YESを
判別するとこのLBGアルゴリズムの実行は終了し、N
Oを判別すると次のステップS25に進む。
In step S24, it is determined whether or not the reduction rate of the distortion obtained from the previous distortion D n-1 and the current distortion D n obtained in step S23 is smaller than a threshold value ε, or the number of repetitions n It is determined whether or not a predetermined maximum number of repetitions nm has been reached. If YES is determined, the execution of the LBG algorithm ends, and N
If O is determined, the process proceeds to the next step S25.

【0031】ステップS25は、上記ステップS21で
適切でない初期コードブックを設定したときに、入力デ
ータがまったくマッピングされないコードベクトルが存
在してしまうのでそれを避ける処理を行うステップであ
る。通常は、歪みの最も大きいセルの近傍に入力データ
がまったくマッピングされないコードベクトルを移して
やる。
In step S25, when an inappropriate initial codebook is set in step S21, there is a code vector to which no input data is mapped. Usually, a code vector to which no input data is mapped is moved near the cell having the largest distortion.

【0032】ステップS26では、新しい重心を計算に
よって求める。具体的には、与えられたセルの中に存在
するトレーニングデータの平均値を計算し、これを新し
いコードベクトルとし、それを更新していく。
In step S26, a new center of gravity is obtained by calculation. Specifically, the average value of the training data existing in a given cell is calculated, this is used as a new code vector, and the code vector is updated.

【0033】ステップS27に進むと上記ステップS2
2に戻り、上記ステップS24でYESが判別されまで
このフローを繰り返す。
When the process proceeds to step S27, the process proceeds to step S2.
2, the flow is repeated until YES is determined in step S24.

【0034】このフローの実行により、上記LBGアル
ゴリズムは、入力ベクトルと出力ベクトルの歪みを小さ
くする方向に収束し、ある程度のところで動作を打ち切
るものであることが分かる。
By executing this flow, it can be understood that the LBG algorithm converges in a direction to reduce the distortion between the input vector and the output vector, and terminates the operation at a certain point.

【0035】[0035]

【発明が解決しようとする課題】ところで、従来のLB
Gアルゴリズムによって、トレーニングしたベクトル量
子化器では、コードベクトルのユークリッド距離と、そ
のインデックスのハミング距離の間には、何の関係も持
たせていなかった。そのため、伝送路の符号誤りによっ
て、全く無関係なコードベクトルが選ばれてしまう虞れ
があった。
The conventional LB
In the vector quantizer trained by the G algorithm, there is no relation between the Euclidean distance of the code vector and the Hamming distance of the index. Therefore, there is a possibility that a completely unrelated code vector may be selected due to a code error in the transmission path.

【0036】一方、伝送路の符号誤りを考慮したベクト
ル量子化の設計方法も提案されているが、エラーが無か
ったときの特性が劣化してしまうという欠点があった。
On the other hand, a method of designing vector quantization in consideration of a transmission line code error has been proposed, but has a disadvantage that characteristics when no error occurs are deteriorated.

【0037】そこで、本発明は、上記実情に鑑みてなさ
れたものであり、ノーエラー時の特性の劣化を引き起こ
さず、かつ伝送路誤りに対し、ある程度の強度を持つベ
クトル量子化方法の提供を目的とする。
Accordingly, the present invention has been made in view of the above circumstances, and has as its object to provide a vector quantization method which does not cause deterioration of characteristics at the time of no error and has a certain strength against a transmission line error. And

【0038】[0038]

【課題を解決するための手段】本発明に係るピッチ抽出
装置は、コードブック内のコードベクトル間の距離とコ
ードベクトルのインデックスをバイナリ表現したときの
ハミング距離との各大小関係を一致させた複数個のM次
元コードベクトルから成るコードブックを用いて、入力
されたM次元ベクトルについて最適なコードベクトルを
検索し、検索されたコードベクトルのインデックスを出
力するベクトル量子化方法において、上記コードベクト
ル間の距離として、歪み測度の定義に用いられる加重マ
トリクスにより重み付けされて求められた距離を用いる
ことを特徴として上記課題を解決する。
According to the present invention, there is provided a pitch extracting apparatus, comprising: a plurality of codes each having a magnitude relationship between a distance between code vectors in a codebook and a Hamming distance when a code vector index is expressed in binary. In a vector quantization method of searching for an optimum code vector for an input M-dimensional vector using a codebook including M pieces of M-dimensional code vectors and outputting an index of the searched code vector, The above problem is solved by using, as a distance, a distance obtained by weighting with a weight matrix used for defining a distortion measure.

【0039】また、本発明に係るベクトル量子化方法
は、複数個のM次元コードベクトルから成るコードブッ
クを用いて、入力されたM次元ベクトルについて最適な
コードベクトルを検索し、検索されたコードベクトルの
インデックスを出力するベクトル量子化方法において、
上記インデックスを表すバイナリデータの一部のビット
を誤り訂正符号で保護し、残りのビットのハミング距離
と上記コードブック内のコードベクトル間の距離との各
大小関係を一致させることを特徴として上記課題を解決
する。
In the vector quantization method according to the present invention, an optimum code vector is searched for an input M-dimensional vector by using a code book including a plurality of M-dimensional code vectors, and the searched code vector is searched for. In a vector quantization method that outputs an index of
Some of the bits of the binary data representing the index are protected by an error correction code, and the magnitude relation between the Hamming distance of the remaining bits and the distance between the code vectors in the codebook is matched. Solve.

【0040】さらに、本発明に係るベクトル量子化方法
は、複数個のM次元コードベクトルから成るコードブッ
クを用いて、入力されたM次元ベクトルについて最適な
コードベクトルを検索し、検索されたコードベクトルの
インデックスを出力するベクトル量子化方法において、
上記インデックスを表すバイナリデータの一部のビット
を誤り訂正符号で保護し、残りのビットのハミング距離
と上記コードブック内のコードベクトル間の距離との各
大小関係を一致させるときに、上記コードベクトル間の
距離として、歪み測度の定義に用いられる加重マトリク
スにより重み付けされて求められた距離を用いることを
特徴として上記課題を解決する。
Further, according to the vector quantization method of the present invention, an optimum code vector is searched for an input M-dimensional vector by using a code book including a plurality of M-dimensional code vectors, and the searched code vector is obtained. In a vector quantization method that outputs an index of
When protecting some bits of the binary data representing the index with an error correction code and matching the magnitude relation between the Hamming distance of the remaining bits and the distance between the code vectors in the code book, the code vector The above problem is solved by using a distance obtained by weighting with a weight matrix used for defining a distortion measure as a distance between the two.

【0041】[0041]

【作用】本発明に係るベクトル量子化方法は、コードブ
ック内のコードベクトル間の距離として歪み測度の定義
に用いられる加重マトリクスにより重み付けされて求め
られた距離を用い、このコードベクトル間の距離とコー
ドベクトルのインデックスをバイナリ表現したときのハ
ミング距離との各大小関係を一致させる。
The vector quantization method according to the present invention uses a distance obtained by weighting with a weight matrix used for defining a distortion measure as a distance between code vectors in a code book. The magnitude relation between the code vector index and the Hamming distance when the code vector index is expressed in binary is matched.

【0042】また、本発明に係るベクトル量子化方法
は、コードベクトルのインデックスを表すバイナリデー
タの一部のビットを誤り訂正符号で保護し、残りのビッ
トのハミング距離とコードブック内のコードベクトルの
距離との各大小関係を一致させる。
In the vector quantization method according to the present invention, some bits of the binary data representing the index of the code vector are protected by an error correction code, and the Hamming distance of the remaining bits and the code vector Match each magnitude relationship with the distance.

【0043】また、本発明に係るベクトル量子化方法
は、コードベクトルのインデックスを表すバイナリデー
タの一部のビットを誤り訂正符号で保護し、残りのビッ
トのハミング距離とコードブック内のコードベクトルの
距離との各大小関係を一致させるときに、上記コードベ
クトルの距離として歪み測度の定義に用いられる加重マ
トリクスにより重み付けされて求められた距離を用い
る。
In the vector quantization method according to the present invention, some bits of the binary data representing the index of the code vector are protected by an error correction code, and the Hamming distance of the remaining bits and the code vector When matching the magnitude relations with the distance, a distance obtained by weighting with a weight matrix used for defining a distortion measure is used as the distance of the code vector.

【0044】[0044]

【実施例】以下に本発明に係るベクトル量子化方法の実
施例を図面を参照しながら説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the vector quantization method according to the present invention will be described below with reference to the drawings.

【0045】本発明に係るベクトル量子化方法の第1の
実施例の特徴は、コードブック内のコードベクトル間の
距離と、上記インデックスをバイナリ表現したときのハ
ミング距離との各大小関係を一致させた伝送路の誤りに
強いベクトル量子化方法である。
A feature of the first embodiment of the vector quantization method according to the present invention is that the magnitude relation between the distance between code vectors in the codebook and the Hamming distance when the index is expressed in binary is matched. This is a vector quantization method that is resistant to transmission line errors.

【0046】ここで、上記コードブックの基礎となる一
般的な初期コードブックの作成について説明する。
Here, the creation of a general initial codebook which is the basis of the above codebook will be described.

【0047】上述したLBGというのは、セル内で重心
を微調整して最適化していくだけであり、相互の位置関
係を変えることをしていない。そのため、初期コードブ
ックを基に出来上がる上記コードブックの善し悪しは、
初期コードブックの作成の仕方にだけ影響されて決定さ
れる。この第1の実施例では、初期コードブックの作成
にSplitting Algorhtm( スプリッティングアルゴリズ
ム) を用いる。
The above-mentioned LBG merely optimizes the center of gravity in the cell by fine adjustment, but does not change the mutual positional relationship. Therefore, the quality of the above codebook based on the initial codebook is
Determined only by the way the initial codebook is created. In the first embodiment, a splitting algorithm is used to create an initial codebook.

【0048】上記スプリッティングアルゴリズムによる
初期コードブックの作成は、最初に、全てのトレーニン
グデータの代表点を全トレーニングデータの平均から求
める。次に該代表点を少しずらして、2点の代表点にす
る。このとき、上記LBGを行い、その後2点の代表点
をそれぞれ少しずらして分割して、4点の代表点にす
る。このLBGと収束を何回も繰り返すと代表点は、
2、4、8・・2n 個に増えていく。この動作を式で示
すと次の式(17)になる。
To create an initial codebook by the splitting algorithm, first, a representative point of all training data is obtained from an average of all training data. Next, the representative points are slightly shifted to two representative points. At this time, the above-described LBG is performed, and then the two representative points are slightly shifted from each other and divided into four representative points. When this LBG and convergence are repeated many times, the representative point becomes
2, 4, 8,... 2 n This operation is expressed by the following expression (17).

【0049】 (N/2)+i =modify ( y i ,L) ・・・・・・(17) 但し、1≦i≦N/2、Lは y i のL番目の要素を表
す。
Y (N / 2) + i = modify ( y i , L) (17) where 1 ≦ i ≦ N / 2 and L represents the L-th element of y i .

【0050】したがって、このスプリッティングアルゴ
リズムによる初期コードブックの作成は、N/2レベル
のベクトル量子化器のコードベクトルY={ 1
2 ,・・・ N/2 }から、上記(17)式によって、Nレ
ベルの初期コードブックを得る方法である。
Therefore, the creation of the initial codebook by this splitting algorithm is based on the code vector Y = { y 1 ,
y 2, from ··· y N / 2}, the above equation (17), a method of obtaining the N-level initial codebook.

【0051】ここで、上記(17)式の右辺、modify (
y i ,L)は、(y1 ,y2 ,・・・yL ,yk )のL
番目を変形させるということであり、(y1 ,y2 ,・
・・yL+ε0 ,yk )と表せる。すなわち、コードベ
クトル i のL番目の要素を微小量ε0 だけずらす(言
い換えるとコードベクトルyi のL番目の要素に+ε0
の変形を加える)という関数である。
Here, the right side of the above equation (17), modify (
y i , L) is the L of (y 1 , y 2 ,..., y L , y k )
Is to be transformed, and (y 1 , y 2 ,.
··· y L + ε 0 , y k ). That is, the L-th element of the code vector y i is shifted by a small amount ε 0 (in other words, + ε 0 is added to the L-th element of the code vector y i ).
Is added).

【0052】そして、上記変形を加えたコードベクトル
L +ε0 を新たなスタートとして上記LBGによりト
レーニングし、分割させていく。
Then, using the modified code vector y L + ε 0 as a new start, training is performed by the LBG, and division is performed.

【0053】上述したスプリッティングアルゴリズムに
よる初期コードブックの作成では、最後の方に分裂を行
ったもの程、ユークリッド距離が近くなり、この性質を
利用することで本発明の第1の実施例が成立する。これ
を図1を用いて以下に説明する。図1は、一つのセル内
のトレーニングデータの平均から求められた一つの代表
点がLBGと収束の繰り返しにより、8分割されたセル
の代表点(8個)となるまでの様子を、図1のAは1
個、図1のBは2個、図1のCは4個、図1のDは8個
というようにその分割の変化と方向を示している。
In the creation of the initial codebook by the splitting algorithm described above, the Euclidean distance is closer to the end of the division, and the first embodiment of the present invention is established by utilizing this property. . This will be described below with reference to FIG. FIG. 1 shows a state in which one representative point obtained from an average of training data in one cell becomes a representative point (eight) of eight divided cells by repeating LBG and convergence. A is 1
1, B in FIG. 1 shows two, C in FIG. 1 shows four, and D in FIG. 1 shows eight changes and directions of the division.

【0054】ここで、図1のDの代表点 3 及び
7 は、図1のCでの'3が分割したものである。上記
3 をバイナリ表現すると“11”であり、 3 及び 7
のそれは“011”及び“111”となる。このこと
は、上記(17)式の (N/2)+i iとでは、インデック
スのMSB(最上位桁)の極性(1or0)が異なるだけ
であることを示す。したがって、 (N/2)+i i のコ
ードベクトル同士の距離は、かなり近いことが予想され
る。言い換えると、分裂が進む程、該分裂によるコード
ベクトルの移動の距離が小さくなる。これは、インデッ
クスの上位ビットを誤っても、下位ビットさえ合ってい
ればそんなに大きくずれることはないだろうというこを
示す。したがって、インデックスの上位ビットが誤って
もその影響は、相対的に小さくなる。
Here, the representative point of D in FIG.y Threeas well asy
7Is the C in FIG.y'ThreeIs a division. the abovey
ThreeIs expressed in binary as "11",y Threeas well asy 7
Are “011” and “111”. this thing
Is the above equation (17)y (N / 2) + iWheny iAnd the index
Only the polarity (1 or 0) of the MSB (most significant digit) of the
It is shown that. Therefore,y (N / 2) + iWheny iNo
The distance between code vectors is expected to be quite close.
You. In other words, the more the division progresses, the more the code
The moving distance of the vector is reduced. This is the index
Even if the upper bit of the
That it would n’t be so big
Show. Therefore, the upper bits of the index are incorrectly
The effect is relatively small.

【0055】ここでは、上位ビットを重要にした方が後
の処理上便利であるので該コードブックのバイナリ表現
したインデックスのビット列のMSBとLSB(最下位
桁)とを入れ換える。上記図1のDの8個のインデック
スをコードベクトルと共に示したのが表1であり、コー
ドベクトルはそのままでインデックスのビット列のMS
BとLSBとを入れ換えたのが表2である。
Here, it is more convenient for the subsequent processing to make the upper bits important, so that the MSB and the LSB (least significant digit) of the bit string of the index expressed in binary in the codebook are exchanged. Table 1 shows the eight indices of D in FIG. 1 together with the code vector.
Table 2 shows that B and LSB are interchanged.

【0056】[0056]

【表1】 [Table 1]

【0057】[0057]

【表2】 [Table 2]

【0058】この表2において、例えば、コードベクト
3 とコードベクトル 7 は、10進数表現上は、
“6”と“7”に対応し、コードベクトル 0
4 は、“0”と“1”に対応する。該コードベクトル
3 とコードベクトル 7 及びコードベクトル 0 4
は、上記図1のDで見ればわかるようにそれぞれ互いに
一番近い距離にあるコードベクトル同士である。
In Table 2, for example, the code vector
Ley ThreeAnd code vectory 7Is, in decimal notation,
Code vectors corresponding to “6” and “7”y 0Wheny
FourCorresponds to “0” and “1”. The code vectory
ThreeAnd code vectory 7And code vectory 0Wheny Four
Can be seen from each other as can be seen from FIG.
The code vectors that are closest to each other.

【0059】したがって、インデックスの2進数表現の
LSBの“0”と“1”の違いというのは、10進数表
現の“0”と“1”、“2”と“3”、“4”と
“5”、“6”と“7”の違いであり、例えば“11
0”が“111”に誤っても、コードベクトル 3
7 に、また、“000”が“001”に誤っても、コー
ドベクトル 0 4 に誤るだけである。これらのコー
ドベクトル同士は、図1のD上でそれぞれ一番近い距離
にあるコードベクトル同士である。つまり、インデック
スのLSB側が誤ったとしても該インデックスに対応す
るコードベクトルの距離の誤りは、小さいものである。
Therefore, the difference between the LSB “0” and “1” in the binary representation of the index is the difference between “0” and “1” in the decimal representation, “2” and “3”, and “4”. The difference between “5”, “6” and “7”, for example, “11”
0 "is" even accidentally 111 ", the code vector y 3 is y
7, also incorrectly "000""001", the code vector y 0 is only err to y 4. These code vectors are code vectors that are closest to each other on D in FIG. That is, even if the LSB side of the index is incorrect, the error in the distance of the code vector corresponding to the index is small.

【0060】上記インデックスのバイナリデータではL
SB側のハミング距離を上記コードベクトル間の距離に
その大小関係を一致させていることになる。したがっ
て、上記インデックスのバイナリデータのMSB側だけ
を誤り訂正符号で保護するだけで例えば伝送路上での誤
りの影響を最小限に抑えることができる。
In the binary data of the above index, L
This means that the magnitude relationship between the Hamming distance on the SB side and the distance between the code vectors is matched. Therefore, only by protecting the MSB side of the binary data of the index with the error correction code, for example, the influence of an error on the transmission path can be minimized.

【0061】次に、本発明に係るベクトル量子化方法の
第2の実施例を説明する。この第2の実施例は、ベクト
ル量子化器のトレーニング時にハミング距離を考慮する
方法である。
Next, a second embodiment of the vector quantization method according to the present invention will be described. The second embodiment is a method in which the Hamming distance is considered when training a vector quantizer.

【0062】先ず、上記第2の実施例の説明に入る前
に、通信路にベクトル量子化器を整合し、通信誤りを考
慮した図2に示す通信システムを用いノーエラー時に特
性の劣化を起こしてしまうベクトル量子化方法を説明す
る。この図2に示した通信システムにおいて、入力端子
21からベクトル量子化器22に入力される入力ベクト
は、写像部22aによりマッピングされて iが出
力される。そして、その番号(インデックス)iがエン
コーダ22bからバイナリデータとして、通信路23を
介してデコーダ24に伝送される。デコーダ24では伝
送されてきたインデックスを逆量子化し出力端子25か
ら情報を出力する。
First, before entering into the description of the second embodiment, a vector quantizer is matched to a communication path, and the communication system shown in FIG. A vector quantization method will be described. In the communication system shown in FIG. 2, the input vector x input from the input terminal 21 to the vector quantizer 22 is mapped by the mapping unit 22a to output y i . Then, the number (index) i is transmitted from the encoder 22 b as binary data to the decoder 24 via the communication path 23. The decoder 24 dequantizes the transmitted index and outputs information from an output terminal 25.

【0063】上記インデックスiに伝送路23を通じて
誤りが付加されてデコーダ24に供給されるまでに上記
インデックスiがjに変化してしまう確率を確率P(j
|i)とする。すなわち、この確率P(j|i)は、送
信インデックスをiとしたとき受信インデックスがjで
ある確率である。この確率P(j|i)は、ビットエラ
ーレート(ビット誤り率)がeである2元対称通信路
(バイナリデータの通信路)では、
The probability that the index i changes to j before an error is added to the index i through the transmission line 23 and the index i is supplied to the decoder 24 is the probability P (j
| I). That is, the probability P (j | i) is the probability that the reception index is j when the transmission index is i. This probability P (j | i) is expressed by a binary symmetric communication channel (a communication channel of binary data) with a bit error rate (bit error rate) e.

【0064】[0064]

【数4】 (Equation 4)

【0065】と表せる。ここで、dijは、送信インデッ
クスiと受信インデックスjをバイナリ表現したときの
ハミング距離であり、Sは、送信インデックスiと受信
インデックスjをバイナリ表現したときの桁数(ビット
数)である。
Can be expressed as follows. Here, d ij is the Hamming distance when the transmission index i and the reception index j are represented in binary, and S is the number of digits (the number of bits) when the transmission index i and the reception index j are represented in binary.

【0066】上記(18)式で示した確率P(j|i)で通
信路誤りが発生するという条件で、セルの分割{Ri}
が与えられたときの最適な重心(代表点)y u は、
Under the condition that a channel error occurs at the probability P (j | i) shown in the above equation (18), the cell division {Ri}
Given the center of gravity (representative point) y u is given by

【0067】[0067]

【数5】 (Equation 5)

【0068】となる。この(19)式において、|Ri
は、部分空間Ri に属するトレーニングベクトルの数で
ある。通常の代表点を求める計算は、ある部分空間に属
するトレーニングベクトルの総和をその個数で割った
平均であるが、上記(19)式では、全ての部分空間に属す
るトレーニングベクトルの平均の和に対し、P(u|
i)という誤り確率で重み付けした加重平均を出してい
ることになる。したがって、上記(19)式は、送信インデ
ックスiが受信インデックスuに変化する確率で重み付
けされた重心での加重平均であるといえる。
Is obtained. In this equation (19), | R i |
Is the number of training vectors belonging to the subspace R i. The calculation for obtaining a typical representative point is an average obtained by dividing the sum of the training vectors x belonging to a certain subspace by the number thereof. In the above equation (19), the sum of the average of the training vectors x belonging to all the subspaces For P (u |
This means that a weighted average weighted by the error probability i) is output. Therefore, it can be said that the above equation (19) is a weighted average at the center of gravity weighted with the probability that the transmission index i changes to the reception index u.

【0069】また、コードブック{ i :i=1、2、
・・・N}が与えられたときの最適な分割Ru は、
Further, the code book { y i : i = 1, 2,
Optimal partition R u when · · · N} is given,

【0070】[0070]

【数6】 (Equation 6)

【0071】により表せる。つまり、上記(20)式は、エ
ンコーダがインデックスuを出力した時にそれが伝送路
でjに変化する確率P(j|u)で歪測度d(
, j )の加重平均をとって、その加重平均が最小とな
るインデックスuを選ぶ入力ベクトルの集合が形成す
る部分空間を表している。このとき、上述した最適分割
条件は、
Can be expressed by That is, the above equation (20) is
When the encoder outputs the index u,
And the distortion measure d (x
, y j) And take the weighted average
The input vector that chooses the index uxSet of
Subspace. At this time,
condition is,

【0072】[0072]

【数7】 (Equation 7)

【0073】と表せる。以上により、ビット誤り率eに
対して最適なコードブックが生成されるが、これは、ビ
ット誤り率eを考慮して作成されたコードブックであ
り、誤りが発生しなかったとき(ノーエラー時)の特性
が従来のベクトル量子化方法よりも劣化してしまうこと
になる。
Can be expressed as follows. As described above, an optimal codebook is generated for the bit error rate e. This is a codebook created in consideration of the bit error rate e, and when no error occurs (no error). Is degraded compared to the conventional vector quantization method.

【0074】そこで、本願の発明者は、ベクトル量子化
方法の第2の実施例として、ベクトル量子化器のトレー
ニング時にハミング距離を考慮し、ノーエラー時でも特
性の劣化を起こさないベクトル量子化方法を考察した。
Therefore, the present inventor has proposed a vector quantization method as a second embodiment of the vector quantization method in which the Hamming distance is taken into consideration when training the vector quantizer and the characteristic does not deteriorate even in the case of no error. Considered.

【0075】具体的には、上記ビット誤り率eを通信路
の信頼性が全くない値である0.5 に設定する。つまり、
上記P(u|i)及びP(i|u)を共に定数にする。
すると、インデックスは、セルのどこにとんでいくか分
からないという不安定な状態になる。これを避けるため
には、デコーダ側でセルの中心点を出力するのが一番良
いということになる。これは、上記(19)式で u が一ケ
所(トレーニングセット全体の重心)に集まることを意
味する。また、エンコーダ側は、(21)式で示すように全
ての入力ベクトルが同一のコードベクトルにマッピン
グされる。つまり、コードブックの状態として、どのよ
うにでも変形可能なエネルギーレベルの高い状態にな
る。
More specifically, the bit error rate e is set to 0.5, which is a value with no reliability of the communication path. That is,
P (u | i) and P (i | u) are both constants.
Then, the index is in an unstable state in which it does not know where to go to the cell. To avoid this, it is best to output the center point of the cell on the decoder side. This means that y u converges at one location (the center of gravity of the entire training set) in the above equation (19). On the encoder side, all input vectors x are mapped to the same code vector as shown in equation (21). In other words, the state of the codebook is a state where the energy level is high enough to be deformable in any way.

【0076】ここで、上記ビット誤り率eを0.5 から0
まで徐々に減少させていくことで、構造が徐々に固まっ
てきて最終的にビット誤り率eを0とすると、基のトレ
ーニングデータ全体をカバーするような部分空間がで
きる。すなわち、上記LBGトレーニングの過程で隣接
するセルのインデックスのハミング距離の影響が上記P
(i|j)を通じて反映されることになる。特に、上記
(19)式で示された代表点では、ハミング距離に応じて重
み付けを行いながら他セルの代表点を自身の代表点の更
新に影響させることになる。このように、上記エラーレ
ートeを0.5 から0 まで徐々に減少させていく過程は、
熱を徐々に取り除いて冷却してゆく過程に対応してい
る。
Here, the bit error rate e is set to 0.5 to 0
If the bit error rate e is finally reduced to 0 by gradually decreasing the structure until the bit error rate e becomes 0, a partial space that covers the entire original training data x is created. That is, in the course of the LBG training, the influence of the Hamming distance of the index of the adjacent cell is affected by the P
(I | j). In particular,
At the representative point represented by the expression (19), the representative point of another cell affects the update of its own representative point while performing weighting according to the Hamming distance. Thus, the process of gradually reducing the error rate e from 0.5 to 0 is as follows.
It corresponds to the process of gradually removing heat and cooling.

【0077】ここで、上記第2の実施例、すなわち、ベ
クトル量子化器のトレーニング時にハミング距離を考慮
し、ノーエラー時でも特性の劣化を起こさないベクトル
量子化方法の処理の流れを図3のフローチャートを用い
て説明する。
FIG. 3 is a flow chart of the second embodiment, that is, the flow of processing of the vector quantization method in which the Hamming distance is taken into account during training of the vector quantizer and the characteristics do not deteriorate even when there is no error. This will be described using FIG.

【0078】先ず、ステップS11では、初期設定が行
われる。具体的には、歪みD-1を無限大に、繰り返しの
回数nを“0”(n=0)とし、ビット誤り率eを0.49
とする。また、Y0 を初期コードブック、εを閾値、n
m を繰り返しの最大回数と定義しておく。
First, in step S11, initialization is performed. Specifically, the distortion D -1 is infinite, the number of repetitions n is "0" (n = 0), and the bit error rate e is 0.49.
And Also, Y 0 is the initial codebook, ε is the threshold, n
m is defined as the maximum number of repetitions.

【0079】ステップS12では、上記ステップS11
で初期コードブックY0 が与えられており、ここで与え
られたトレーニングデータを上記最適分割条件で全てエ
ンコーディングする。つまり、上記初期コードブックに
対して写像(マッピング)を行う。
In step S12, the above-mentioned step S11
, The initial codebook Y 0 is given, and all the training data given here are encoded under the above-mentioned optimal division condition. That is, mapping is performed on the initial codebook.

【0080】ステップS13では、入力データと出力デ
ータとの距離の二乗和を計算する歪み計算を行う。
In step S13, a distortion calculation for calculating the sum of squares of the distance between the input data and the output data is performed.

【0081】ステップS14では、前回の歪みDn-1
上記ステップS13での今回の歪みDn とから求められ
る歪みの減少率が閾値εより小さくなったか否か、ある
いは、繰り返しの回数nが予め決めておいた繰り返し最
大回数nm に達したか否かを判別し、YESを判別する
とステップS15に進み、NOが判別されるとステップ
S16に進む。
In step S14, it is determined whether or not the reduction rate of the distortion obtained from the previous distortion D n-1 and the current distortion D n in step S13 is smaller than the threshold value ε, or whether the number of repetitions n is It is determined whether or not a predetermined maximum number of repetitions nm has been reached. If YES is determined, the process proceeds to step S15. If NO is determined, the process proceeds to step S16.

【0082】ステップS15は、ビット誤り率eが0に
なったか否かの判別を行い、YESを判別するとフロー
は終了し、NOを判別するとステップS19に進む。
In step S15, it is determined whether or not the bit error rate e has become 0. If YES is determined, the flow ends. If NO is determined, the flow proceeds to step S19.

【0083】ステップS16は、上記ステップS11で
適切でない初期コードブックを設定したときに、入力デ
ータがまったくマッピングされないコードベクトルが存
在してしまうのでそれを避ける処理を行うステップであ
る。通常は、歪みの最も大きいセルの近傍に入力データ
がまったくマッピングされないコードベクトルを移して
やる。
In step S16, when an inappropriate initial codebook is set in step S11, there is a code vector to which no input data is mapped. Usually, a code vector to which no input data is mapped is moved near the cell having the largest distortion.

【0084】ステップS17では、新しい重心を上記
(19) 式に基づいて計算によって求める。
In step S17, a new center of gravity is obtained by calculation based on the above equation (19).

【0085】ステップS18に進むと上記ステップS1
2に戻り、上記ステップS15でYESが判別されるま
でこのフローを繰り返す。
When the process proceeds to step S18, the above-described step S1 is performed.
Returning to step 2, this flow is repeated until YES is determined in step S15.

【0086】ステップS19では、ビット誤り率eから
α(例えばα=0.01) を上記ステップS15でビット誤
り率e=0という判別がされるまで1フロー毎に減じて
いく。
In step S19, α (for example, α = 0.01) is reduced from the bit error rate e for each flow until it is determined in step S15 that the bit error rate e = 0.

【0087】このフローの実行により、本第2の実施例
は、最終的に、エラーレートe=0で最適化されたコー
ドブックができ、この第2の実施例によるノーエラー時
のベクトル量子化特性の劣化は、ほぼ発生しないことに
なる。
By executing this flow, in the second embodiment, a codebook optimized at the error rate e = 0 is finally formed, and the vector quantization characteristic at the time of no error according to the second embodiment is obtained. Will hardly occur.

【0088】また、Wビットで表現されるインデックス
の内、例えば上位gビットは誤り訂正にて守り下位W−
gビットは誤り訂正をかけないような時、下位のW−g
ビットのハミング距離だけを上記(18)式で反映させて、
P(i|j)を求めればよい。つまり、上位gビットの
同じもの同士は、ハミング距離を考慮し、上位gビット
のうち1ビットでも異なるものはP(i|j)=0とす
る。つまり、上位gビットは、誤り訂正で守られている
のでインデックスの上位gビットは、誤りがないと仮定
するのである。
In the index represented by W bits, for example, upper g bits are protected by error correction and lower W-bits are protected.
When g bits are not subjected to error correction, the lower W-g
Reflecting only the Hamming distance of the bit by the above equation (18),
P (i | j) may be obtained. That is, the same high-order g bits have the same Hamming distance, and P (i | j) = 0 if the high-order g bits differ even by one bit. That is, since the upper g bits are protected by error correction, it is assumed that the upper g bits of the index have no error.

【0089】次に、本発明に係るベクトル量子化方法の
第3の実施例を説明する。この第3の実施例は、N点の
初期コードブックに所望の構造を持たせる方法である。
上記ハミング距離とユークリッド距離とに相似関係のあ
る初期コードブックができれば、あとは通常のLBGで
トレーニングさせても構造はくずれないというものであ
る。
Next, a third embodiment of the vector quantization method according to the present invention will be described. The third embodiment is a method of giving a desired structure to the initial codebook of N points.
If an initial codebook having a similar relationship between the Hamming distance and the Euclidean distance is created, the structure will not be destroyed even after training with a normal LBG.

【0090】この第3の実施例における初期コードブッ
クの作成は、トレーニングデータを1サンプル入力する
毎に代表点の更新を行うものである。通常、図4に示す
ように、 j のセルに属するトレーニング入力データ
によって更新される代表点は、 j のみで、 j+1 及び
j+2 等の j new は、
The creation of the initial codebook in the third embodiment is to update the representative point every time one sample of training data is input. Usually, as shown in FIG. 4, the training input data x belonging to the cell of m j
Representative point is updated by the only m j, m j + 1 and
m j new such as m j + 2 is,

【0091】[0091]

【数8】 (Equation 8)

【0092】となるように更新される。Is updated so that

【0093】つまり、全てのトレーニングデータで検
索(スキャン)したら、次はαを小さくして同じスキャ
ンをし、さらにαを小さくして最終的には、0に収束さ
せることによって、初期コードブックを作成する。
That is, once all the training data x have been searched (scanned), the same scan is performed with a smaller α, and the α is further reduced and finally converged to 0, thereby obtaining the initial codebook. Create

【0094】本第3の実施例では、トレーニング入力デ
ータxが、周辺のすべてのセルに対して影響を与えるよ
うに、 j のみでなく j+1 及び j+2 等にもを反映
させている。例えば、 j+1 の場合は、
[0094] In this third embodiment, the training input data x, to affect to all the cells in the neighborhood, the m j not only m j + 1 and m j + 2, etc. is also x Is reflected. For example, for m j + 1 ,

【0095】[0095]

【数9】 (Equation 9)

【0096】のようになる。この(23)式において、f
(j+1,j)は、例えば、f(j+1,j)=P(j
+1|j)であるような、jとj+1のハミング距離の
逆数に比例する値を返す関数である。
Is as follows. In equation (23), f
(J + 1, j) is, for example, f (j + 1, j) = P (j
+1 | j), which returns a value proportional to the reciprocal of the Hamming distance between j and j + 1.

【0097】上記(23)式をより一般的に書き直すと、When the above equation (23) is rewritten more generally,

【0098】[0098]

【数10】 (Equation 10)

【0099】のようになる。ここで、上記(24)式のC
)は、入力に最も近い重心を持つセルのインデッ
クスuを返す。上記C()は、
Is as follows. Here, C in the above equation (24)
( X ) returns the index u of the cell with the centroid closest to the input x . The above C ( x ) is

【0100】[0100]

【数11】 [Equation 11]

【0101】と定義される。ここで、上記fの関数の例
としては、f(j,C())=P(j|C())を
用いることができる。このような更新方法で、初期コー
ドブックを作成し、そして、上述のLBGを行うのが本
第3の実施例である。
Is defined as Here, as an example of the function of f, f (j, C ( x )) = P (j | C ( x )) can be used. In the third embodiment, an initial codebook is created by such an updating method, and the above-described LBG is performed.

【0102】したがって、本発明に係る第3の実施例
は、ハミング距離とユークリッド距離とに相似関係のあ
るN点の初期コードブックができれば、あとは通常のL
BGでトレーニングさせても構造はくずれない。
Therefore, in the third embodiment according to the present invention, if an initial codebook of N points having a similar relationship between the Hamming distance and the Euclidean distance is created, the ordinary L
The structure does not collapse even if trained with BG.

【0103】[0103]

【発明の効果】本発明に係るベクトル量子化方法は、コ
ードブック内のコードベクトル間の距離として歪み測度
の定義に用いられる加重マトリクスにより重み付けされ
て求められた距離を用い、このコードベクトル間の距離
とコードベクトルのインデックスをバイナリ表現したと
きのハミング距離との各大小関係を一致させるので、伝
送路の符号誤りの影響を抑えることができる。また、本
発明に係るベクトル量子化方法は、コードベクトルのイ
ンデックスを表すバイナリデータの一部のビットを誤り
訂正符号で保護し、残りのビットのハミング距離とコー
ドブック内のコードベクトルの距離との各大小関係を一
致させるので、伝送路の符号誤りの影響を抑えることが
できる。さらに、本発明に係るベクトル量子化方法は、
コードベクトルのインデックスを表すバイナリデータの
一部のビットを誤り訂正符号で保護し、残りのビットの
ハミング距離とコードブック内のコードベクトルの距離
との各大小関係を一致させるときに、上記コードベクト
ルの距離として歪み測度の定義に用いられる加重マトリ
クスにより重み付けされて求められた距離を用いるの
で、ノーエラー時の特性劣化を引き起こさずに伝送路の
符号誤りの影響を抑えることができる。
The vector quantization method according to the present invention uses a distance obtained by weighting with a weight matrix used for defining a distortion measure as a distance between code vectors in a code book. Since the magnitude relation between the distance and the Hamming distance when the index of the code vector is expressed in binary is matched, the influence of a code error on the transmission path can be suppressed. Further, the vector quantization method according to the present invention protects some bits of the binary data representing the index of the code vector with an error correction code, and calculates the difference between the Hamming distance of the remaining bits and the distance of the code vector in the code book. Since the magnitude relations are matched, the influence of a code error on the transmission path can be suppressed. Further, the vector quantization method according to the present invention,
When some bits of the binary data representing the index of the code vector are protected by an error correction code, and the magnitude relation between the Hamming distance of the remaining bits and the distance of the code vector in the code book is matched, the above code vector is used. Since the distance obtained by weighting using the weight matrix used for defining the distortion measure is used as the distance, the influence of a code error in the transmission path can be suppressed without causing the characteristic degradation at the time of no error.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係るベクトル量子化方法の第1の実施
例を説明するための模式図である。
FIG. 1 is a schematic diagram for explaining a first embodiment of a vector quantization method according to the present invention.

【図2】本発明に係るベクトル量子化方法の第2の実施
例を説明するために用いた一般的な通信システムの通信
誤りを説明するための図である。
FIG. 2 is a diagram for explaining a communication error of a general communication system used for explaining a second embodiment of the vector quantization method according to the present invention.

【図3】本発明に係るベクトル量子化方法の第2の実施
例を説明するためのフローチャートである。
FIG. 3 is a flowchart for explaining a second embodiment of the vector quantization method according to the present invention;

【図4】本発明に係るベクトル量子化方法の第3の実施
例を説明するための模式図である。
FIG. 4 is a schematic diagram for explaining a third embodiment of the vector quantization method according to the present invention.

【図5】従来のベクトル量子化器を説明するための模式
図である。
FIG. 5 is a schematic diagram for explaining a conventional vector quantizer.

【図6】LBGアルゴリズムを説明するためのフローチ
ャートである。
FIG. 6 is a flowchart for explaining an LBG algorithm.

フロントページの続き (56)参考文献 特開 平2−18600(JP,A) 特開 昭59−153346(JP,A) 特開 平1−205638(JP,A) 特開 昭63−285599(JP,A) (58)調査した分野(Int.Cl.7,DB名) G10L 19/00 - 19/02 H03M 7/30 H04B 14/04 Continuation of the front page (56) References JP-A-2-18600 (JP, A) JP-A-59-153346 (JP, A) JP-A-1-205638 (JP, A) JP-A-63-285599 (JP, A) , A) (58) Fields investigated (Int. Cl. 7 , DB name) G10L 19/00-19/02 H03M 7/30 H04B 14/04

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 コードブック内のコードベクトル間の距
離とコードベクトルのインデックスをバイナリ表現した
ときのハミング距離との各大小関係を一致させた複数個
のM次元コードベクトルから成るコードブックを用い
て、入力されたM次元ベクトルについて最適なコードベ
クトルを検索し、検索されたコードベクトルのインデッ
クスを出力するベクトル量子化方法において、上記コードベクトル間の距離として、歪み測度の定義に
用いられる加重マトリクスにより重み付けされて求めら
れた距離を用いる ことを特徴とするベクトル量子化方
法。
1. The distance between code vectors in a code book.
Binary representation of separation and code vector index
Using a codebook consisting of a plurality of M-dimensional code vectors in which the magnitude relation with the Hamming distance at the time is matched.
The optimal code vector for the input M-dimensional vector.
A vector quantization method for searching for a vector and outputting an index of the searched code vector, wherein a distance between the code vectors is defined as a distortion measure.
Weighted by the weight matrix used
A vector quantization method, characterized in that the distance is used .
【請求項2】 複数個のM次元コードベクトルから成る
コードブックを用いて、入力されたM次元ベクトルにつ
いて最適なコードベクトルを検索し、検索されたコード
ベクトルのインデックスを出力するベクトル量子化方法
において、 上記インデックスを表すバイナリデータの一部のビット
を誤り訂正符号で保護し、残りのビットのハミング距離
と上記コードブック内のコードベクトル間の距離との各
大小関係を一致させることを特徴とするベクトル量子化
方法。
2. The method according to claim 1, wherein a codebook comprising a plurality of M-dimensional code vectors is used.
In the vector quantization method for searching for an optimal code vector and outputting an index of the searched code vector, some bits of the binary data representing the index are protected by an error correction code, and the Hamming distance of the remaining bits is And a distance between code vectors in the code book.
【請求項3】 上記コードベクトル間の距離として、歪
み測度の定義に用いられる加重マトリクスにより重み付
けされて求められた距離を用いることを特徴とする請求
項2記載のベクトル量子化方法。
Wherein the distance between the code vectors, wherein which comprises using the distances determined are weighted by weighting matrix used in the definition of distortion measure
Item 4. The vector quantization method according to Item 2 .
JP09226492A 1992-03-18 1992-03-18 Vector quantization method Expired - Lifetime JP3297752B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09226492A JP3297752B2 (en) 1992-03-18 1992-03-18 Vector quantization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09226492A JP3297752B2 (en) 1992-03-18 1992-03-18 Vector quantization method

Publications (2)

Publication Number Publication Date
JPH05265498A JPH05265498A (en) 1993-10-15
JP3297752B2 true JP3297752B2 (en) 2002-07-02

Family

ID=14049548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09226492A Expired - Lifetime JP3297752B2 (en) 1992-03-18 1992-03-18 Vector quantization method

Country Status (1)

Country Link
JP (1) JP3297752B2 (en)

Also Published As

Publication number Publication date
JPH05265498A (en) 1993-10-15

Similar Documents

Publication Publication Date Title
US6836225B2 (en) Fast search method for nearest neighbor vector quantization
US8095863B2 (en) Low complexity decoding of low density parity check codes
US5091945A (en) Source dependent channel coding with error protection
EP0369689B1 (en) Vector quantizer for images
Azami et al. Combined source-channel coding: Panorama of methods
US7864083B2 (en) Efficient data compression and decompression of numeric sequences
US7310597B2 (en) System and method for enhancing bit error tolerance over a bandwidth limited channel
US20100332238A1 (en) Method and System for Lossless Value-Location Encoding
KR101083291B1 (en) Method and device for vector quantization
Adzhemov et al. Reducing Distortion when Applying the Rational Choice of the Digital Conversion Method
Gray et al. Full search and tree searched vector quantization of speech waveforms
US6321193B1 (en) Distance and distortion estimation method and apparatus in channel optimized vector quantization
Wang et al. Codebook organization to enhance maximum a posteriori detection of progressive transmission of vector quantized images over noisy channels
JP3297752B2 (en) Vector quantization method
US5671327A (en) Speech encoding apparatus utilizing stored code data
US6728319B1 (en) Decoding method and apparatus
Goyal et al. On optimal permutation codes
JP3045197B2 (en) Codebook design method for vector quantizer
Sun et al. Efficient vector quantization using genetic algorithm
US11823774B2 (en) Compression/decompression method and apparatus for genomic variant call data
Ostrowski et al. Genetic annealing search for index assignment in vector quantization
Xie et al. Fast and low-complexity LSF quantization using algebraic vector quantizer
Qin Hamming-distance-based binary representation of numbers
JP2549016B2 (en) Vector quantization
JP2957673B2 (en) Calculation method of inverse gray code inverse conversion value

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020305

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080419

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090419

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090419

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100419

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100419

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110419

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110419

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120419

Year of fee payment: 10

EXPY Cancellation because of completion of term