JP3093879B2 - Vector quantization codebook creation and search device - Google Patents
Vector quantization codebook creation and search deviceInfo
- Publication number
- JP3093879B2 JP3093879B2 JP04199940A JP19994092A JP3093879B2 JP 3093879 B2 JP3093879 B2 JP 3093879B2 JP 04199940 A JP04199940 A JP 04199940A JP 19994092 A JP19994092 A JP 19994092A JP 3093879 B2 JP3093879 B2 JP 3093879B2
- Authority
- JP
- Japan
- Prior art keywords
- codebook
- vector
- distortion
- lower limit
- limit value
- 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 - Fee Related
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】この発明は、デジタル情報処理分
野に利用されると共に作成されたコードブックを探索す
るベクトル量子化コードブック作成及び探索装置に関す
るものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector quantization codebook creating and searching apparatus used in the digital information processing field and searching for a created codebook.
【0002】[0002]
【従来の技術】従来より、ベクトル量子化は能率の良い
データ圧縮法として、音声や画像の量子化に利用されて
いる。このベクトル量子化は、入力ベクトルX=(x
1,x2,…,xm)に対してコードブック{Y1,Y
2,…,Yn}の中からXとの歪みが最も小さい出力ベ
クトルYk=(yk1,yk2,…,ykm)を探索
し、XをYkに写像することと考えられる。2. Description of the Related Art Conventionally, vector quantization has been used for quantization of voice and images as an efficient data compression method. This vector quantization is performed by input vector X = (x
1, x2,..., Xm)
2,..., Yn}, an output vector Yk = (yk1, yk2,..., Ykm) with the smallest distortion from X is searched, and X is mapped to Yk.
【0003】そして、このベクトル量子化に用いるコー
ドブックは、現在、Lloyd のアルゴリズムの拡張である
LBG[Y.Linde, A.Buzo, and R.Gray:“An Algorithm
forVector Quantizer Design”, IEEE Trans. COM, Vo
l.28, No.1, pp562-574. (1980)]法等がよく使われて
いる。これらは、最初に初期コードブック(クラスタ)
を与え、学習ベクトルのデータ列に対する歪みが極小と
なるように、その時点のクラスタの中心を、そのクラス
タに属するベクトル群の重心で繰返し更新していくこと
で、最適なクラスを求めるアルゴリズムである。A codebook used for this vector quantization is currently based on LBG [Y. Linde, A. Buzo, and R. Gray: "An Algorithm", which is an extension of Lloyd's algorithm.
forVector Quantizer Design ”, IEEE Trans. COM, Vo
l.28, No.1, pp562-574. (1980)]. These are initially the initial codebook (cluster)
And the center of the cluster at that time is repeatedly updated with the center of gravity of the vector group belonging to the cluster so that the distortion with respect to the data sequence of the learning vector is minimized, thereby obtaining an optimal class. .
【0004】ところがこのアルゴリズムによれば、与え
られる初期クラスタによっては、ローカルミニマム(lo
cal minimum )状態に落ちる可能性があり、生成される
コードブックの性能は、与えられる初期クラスタにかな
り依存することが知られている。また、適切な初期クラ
スタを与える一般的な手法は知られていない。However, according to this algorithm, depending on the given initial cluster, the local minimum (lo
cal minimum) state, and the performance of the generated codebook is known to be significantly dependent on the given initial cluster. Further, a general method for providing an appropriate initial cluster is not known.
【0005】これに対し、ローカルミニマム状態に落ち
る危険がないアルゴリズムとして、PNN(Pairwise N
earest Neighbor Clustering)法[W.H.Equitz, “A Ne
w Vector Quantization Clustering Algorithm”, IEEE
Trans. ASSP, Vol.37, No.10, pp.1568-1575.(1989)]
が知られている。これは、最初に全ての学習ベクトルが
それと同数の別々のクラスタに所属するものとし、所望
の個数の最適クラスタが得られるまで、併合による誤差
の増加が最小という意味で最も近接する2つのクラスタ
を、順に併合していく手法である。On the other hand, a PNN (Pairwise N) algorithm is used as an algorithm that does not cause a risk of falling into a local minimum state.
earest Neighbor Clustering) method [WHEquitz, “A Ne
w Vector Quantization Clustering Algorithm ”, IEEE
Trans. ASSP, Vol.37, No.10, pp.1568-1575. (1989)]
It has been known. This assumes that all learning vectors initially belong to the same number of separate clusters, and the two closest clusters in the sense that the increase in errors due to merging is minimal until the desired number of optimal clusters is obtained. , In this order.
【0006】このアルゴリズムは、ローカルミニマム状
態に落ちることがないという優れた特徴を有している。
しかしながら、最も近接する2つのクラスタを見つける
ために、全てのクラスタのセットに対して、併合による
誤差の増加量を求めるN3のオーダーの計算が必要とな
り、学習ベクトルが多くなった場合に実用的でない。こ
れに対しては、k-d tree[J.H.Friedman, J.L.Bentley,
and R.A.Finkel,“AnAlgorithm for Finding Best Mat
ches in Logarithmic Expected Time”,ACM Trans. on
Math., Vol.3, pp209-226.(1977)]を用いて入力ベクト
ル空間を予め分割し、少数のクラスタに限定して併合す
るクラスタを探すFastPNN法が提案されている。
このFast PNN法は、高速にクラスタを作ること
ができるが、クラスタ空間のすべては探索しないので、
PNN法に比べて、その精度で劣ってしまうものであっ
た。This algorithm has an excellent feature that it does not fall into the local minimum state.
However, to find two clusters closest, relative to the set of all clusters, requires calculation of the order of N 3 seeking increase in error due to merging, practical when it becomes much learning vector Not. For this, the kd tree [JHFriedman, JLBentley,
and RAFinkel, “AnAlgorithm for Finding Best Mat
ches in Logarithmic Expected Time ”, ACM Trans. on
Math., Vol. 3, pp. 209-226. (1977)], a FastPNN method has been proposed in which an input vector space is divided in advance and limited to a small number of clusters to search for clusters to be merged.
This Fast PNN method can create a cluster at high speed, but does not search the entire cluster space.
The accuracy was inferior to that of the PNN method.
【0007】これに対し、本出願人は特願平4−107
554号に於いて、PNN法に現れる誤差の増加量の計
算を削減するため、誤差増加量の上限値と下限値を求め
るようにし、その一致により誤差増加量計算を打切るこ
とを可能とする手法を提案した。On the other hand, the present applicant has filed a Japanese Patent Application No. 4-107.
In No. 554, in order to reduce the calculation of the amount of increase in the error that appears in the PNN method, the upper limit and the lower limit of the amount of increase in the error are obtained, and the calculation of the amount of increase in the error can be discontinued by matching the upper and lower limits. A method was proposed.
【0008】一方、上述した手段等により作成されたベ
クトル量子化コードブックを探索するという、この種の
ベクトル量子化コードブック探索装置については、従来
その高速化を目的とした様々な手法が提案されている。On the other hand, with respect to this type of vector quantization codebook search apparatus for searching for a vector quantization codebook created by the above-described means and the like, various methods have been proposed for the purpose of increasing the speed. ing.
【0009】すなわち、探索するベクトルの数を減らす
ために構造的なコードブックを用いる木探索法(A.Buz
o, A.H.Gray, Jr.R.M.Gray, and J.D.Markel : "Speech
coding based upon vector quantization", IEEE Tran
s. Acoust., Speech & Signal Process., ASSP-28, 10,
pp.562-574, Oct., 1980)、歪み計算回数を低減させ
る方法として、コードブック間距離(今井、桑田、横
堀、臼井:“画像信号における高速ベクトル量子化の一
方式”、信学論Vol. J69-B, No.12, 1986,pp.1702-171
0)(特開平1−218279号公報)や、ベクトル内
平均値(中出、相澤、原島:”ベクトル量子化の直交変
換領域高速探索方式、信学論、pp.1102-1110, Vol J69-
B, No.10, 1986)を用いて探索を打ち切る方法等であ
る。That is, a tree search method (A. Buz) using a structural codebook to reduce the number of searched vectors
o, AHGray, Jr.RMGray, and JDMarkel: "Speech
coding based upon vector quantization ", IEEE Tran
s. Acoust., Speech & Signal Process., ASSP-28, 10,
pp.562-574, Oct., 1980), As a method to reduce the number of distortion calculations, the distance between codebooks (Imai, Kuwata, Yokobori, Usui: "A method of high-speed vector quantization in image signals", IEICE Tech. Vol. J69-B, No.12, 1986, pp.1702-171
0) (Japanese Unexamined Patent Publication No. Hei 1-218279) and mean values in vectors (Chuide, Aizawa, Harashima: "High-speed orthogonal transform domain search method of vector quantization, IEICE, pp.1102-1110, Vol J69-
B, No. 10, 1986) to terminate the search.
【0010】しかしながら、これらベクトル量子化方式
のうち、木探索法では歪みを最小にするという意味で、
必ずしも最適なベクトルを得ることができないという欠
点を有している。また、歪み計算回数を低減させる方法
でも、全てのコードブックベクトルに対して少なくとも
1度は、なんらかの処理を施す必要がある。すなわち、
これら従来の探索法では、最適なベクトルの探索を十分
に高速化できないという欠点を有していた。However, among these vector quantization methods, the tree search method minimizes distortion.
There is a disadvantage that an optimum vector cannot always be obtained. Even in the method of reducing the number of distortion calculations, it is necessary to perform some processing at least once on all the codebook vectors. That is,
These conventional search methods have a disadvantage that the search for the optimum vector cannot be sufficiently speeded up.
【0011】これに対し、本出願人は特願平2−280
988号に於いて、歪み計算を削減するため歪み量の上
限値と下限値を求めるようにし、その一致により歪み計
算を打ち切ることを可能とする手法を提案した。On the other hand, the present applicant has filed a Japanese Patent Application No. Hei 2-280.
In 988, a method was proposed in which an upper limit value and a lower limit value of the amount of distortion were obtained in order to reduce the amount of distortion calculation, and the distortion calculation could be discontinued by matching them.
【0012】[0012]
【発明が解決しようとする課題】すなわち、本出願人が
特願平4−107554号に於いて提案したベクトル量
子化コードブック作成装置に関する高速化手法は、LB
G法やPNN法、Fast PNN法の欠点を克服した
点において優れているが、更に高速化を図るため、より
多くの誤差増加量の計算を除去したいという要求があ
る。That is, the high-speed technique for the vector quantization codebook creating apparatus proposed by the present applicant in Japanese Patent Application No. 4-107554 is LB.
It is excellent in overcoming the drawbacks of the G method, the PNN method, and the Fast PNN method, but there is a demand to remove more calculation of the error increase in order to further increase the speed.
【0013】また、本出願人が特願平2−280988
号に於いて提案したベクトル量子化コードブック探索装
置に関する高速化手法によれば、従来の手法の欠点を克
服し、高速の探索が可能となるという点で優れている
が、これについても、更に高速化を図るため、より多く
の歪み計算を除去したいという要求が依然ある。The applicant of the present invention has also filed Japanese Patent Application No. 2-280988.
According to the speedup method for the vector quantization codebook search device proposed in No. 2, the shortcoming of the conventional method is overcome, and it is excellent in that a high-speed search becomes possible. There is still a need to remove more distortion calculations in order to speed up.
【0014】この発明は上記課題に鑑みてなされたもの
で、ベクトル量子化コードブック作成に於ける誤差増加
量計算とベクトル量子化コードブック探索に於ける歪み
計算を更に効率よく打ち切ることで、PNN法によるも
のと同じコードブックを少ない計算時間で且つ高速に作
成することが可能になると共に、全ての入力ベクトルに
対する最適なコードブックベクトルを高速に探索するこ
とが可能なベクトル量子化コードブック作成及び探索装
置を提供することを目的とする。SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problem, and more efficiently terminates the calculation of the amount of error in the creation of the vector quantization codebook and the calculation of the distortion in the search of the vector quantization codebook. And a vector quantization codebook capable of quickly searching for an optimal codebook vector for all input vectors, while enabling the same codebook to be created in a short time and with a short calculation time. It is an object to provide a search device.
【0015】[0015]
【課題を解決するための手段】すなわちこの発明は、初
期コードブックを構成するベクトル間の距離を次元毎に
ソートすると共にクラスタの併合により重心ベクトルが
生成される毎に上記ベクトル間の距離をソートして整列
状態を維持する第1のソート手段と、上記クラスタの併
合に伴う誤差増加量を計算し、その最小値が得られる毎
に上限値として更新する誤差増加量計算手段と、上記第
1のソート手段によるソート結果に基いて上記誤差増加
量の下限値を求める第1の下限値計算手段と、上記上限
値と上記下限値を用いて比較を行い最適のクラスタペア
の併合及び誤差増加量計算の打ち切りを決定する第1の
比較手段と、併合するクラスタペアの重心を計算しコー
ドブックに登録すると共に併合前のクラスタの重心を削
除するクラスタ重心計算手段とを有するベクトル量子化
コードブック作成部と、上記コードブックを構成するベ
クトルの要素を次元毎にソートする第2のソート手段
と、上記入力ベクトルと上記コードブックベクトルとの
次元毎の歪みの和を計算しその最小値が得られる毎に上
限値として更新する歪み計算手段と、上記第2のソート
手段によるソート結果に基いて歪みの下限値を求める第
2の下限値計算手段と、上記上限値と上記下限値を用い
て比較を行い最適コードブックベクトル探索の終了及び
歪み計算の打ち切りを決定する第2の比較手段とを有す
るベクトル量子化コードブック探索部とを具備すること
を特徴とする。That is, according to the present invention, the distance between the vectors constituting the initial codebook is sorted for each dimension, and the distance between the vectors is sorted each time a centroid vector is generated by merging clusters. A first sorter for maintaining an aligned state by calculating the error increase associated with the merging of the clusters, and an error increase amount calculator for updating as an upper limit every time the minimum value is obtained; A first lower limit value calculating unit for obtaining a lower limit value of the error increase amount based on a sorting result by the sort unit, and an optimal cluster pair merging and error increase amount by comparing using the upper limit value and the lower limit value First comparing means for determining the termination of the calculation, and a cluster weight for calculating the center of gravity of the cluster pair to be merged, registering it in the codebook, and deleting the center of gravity of the cluster before merging. A vector quantization codebook creating unit having calculation means; second sorting means for sorting the elements of the vector constituting the codebook for each dimension; and distortion for each dimension between the input vector and the codebook vector. And a second lower limit value calculating means for calculating a lower limit value of the distortion based on a result of the sorting by the second sorting means; A vector quantization codebook search unit having a second comparison means for performing comparison using the upper limit value and the lower limit value and determining termination of optimal codebook vector search and termination of distortion calculation. And
【0016】[0016]
【作用】この発明にあっては、ベクトル量子化コードブ
ック作成に於いて、各クラスタの重心ベクトルを次元毎
に分類し、併合による誤差の増加量を計算する対象とな
るベクトルの要素と最も近い要素が属する重心ベクトル
を有するクラスタから、順に誤差増加量の計算をする。
また、併合するのに最適なペアではないと分かったクラ
スタ以外の各クラスタの重心ベクトルと、誤差増加量計
算の対象ベクトルとから、その次元毎に最小誤差増加量
を計算し、その和を誤差増加量の下限値(その値よりも
誤差増加量が小さくなることはないという値)とする。
その一方で、誤差増加量計算が終わったクラスタの重心
ベクトルが与える最小の誤差増加量を、誤差増加量の上
限値(探索が済んだ範囲での最小の誤差増加量)とす
る。そして、この誤差増加量の下限値と上限値が一致し
た時点で、そのクラスタペアを併合するようにする。更
に、誤差増加量計算の対象となるコードブックベクトル
について、誤差増加量計算が終了した次元に対するその
計算された誤差増加量成分と、誤差増加量計算が終了し
ていない次元に対する誤差増加量の下限値を構成する誤
差増加量成分とを加算し、その加算された値が上限値以
上になれば、そのコードブックベクトルについての誤差
増加量計算を打ち切るようにする。上記誤差増加量計算
の対象となるコードブックベクトルを選択する順序の決
定と下限値の計算には、同一の分類結果を利用する。According to the present invention, in creating a vector quantization codebook, the center of gravity vectors of each cluster are classified for each dimension, and an element of a vector which is the target of calculating an increase in error due to merging is calculated. The error increment is calculated in order from the cluster having the centroid vector to which the element belongs.
Also, the minimum error increment is calculated for each dimension from the barycenter vector of each cluster other than the cluster found not to be the optimal pair for merging and the target vector for error increment calculation, and the sum is calculated as the error. The lower limit value of the increase amount (a value that the error increase amount does not become smaller than that value).
On the other hand, the minimum error increment given by the center-of-gravity vector of the cluster for which the error increment calculation has been completed is set as the upper limit of the error increment (the minimum error increment in the searched range). Then, when the lower limit value and the upper limit value of the error increase amount match, the cluster pair is merged. Further, for the codebook vector to be subjected to the error increase calculation, the calculated error increase component for the dimension for which the error increase calculation has been completed, and the lower limit of the error increase for the dimension for which the error increase calculation has not been completed. The error increase component constituting the value is added, and if the added value is equal to or larger than the upper limit, the calculation of the error increase for the codebook vector is terminated. The same classification result is used for the determination of the order of selecting the codebook vectors to be subjected to the above-described calculation of the error increase and the calculation of the lower limit.
【0017】また、ベクトル量子化コードブック探索に
ついては、コードブックベクトルと入力ベクトルの次元
毎に、最適なベクトルを与えないと判明したコードブッ
クベクトル以外のコードブックベクトルが与える最小歪
みを計算し、その和を歪みの下限値(その値よりも歪み
が小さくなることはないという値)とする。その一方
で、探索が終わったコードブックベクトルが与える最小
の歪みを歪みの上限値(探索が済んだ範囲での最小の歪
み量)とする。そして、この歪みの下限値と上限値が一
致した時点で探索を終了する。更に、歪み計算の対象と
なるコードブックベクトルについて、歪み計算が終了し
た次元に対するその計算された歪み成分と、歪み計算が
終了していない次元に対する歪みの下限値を構成する歪
み成分とを加算し、その加算された値が上限値以上にな
れば、そのコードブックベクトルについての歪み計算を
打ち切る。上記歪み計算の対象となるコードブックベク
トルを選択する順序の決定と下限値の計算には、同一の
分類結果を利用する。In the vector quantization codebook search, for each dimension of the codebook vector and the input vector, a minimum distortion given by a codebook vector other than a codebook vector determined not to provide an optimal vector is calculated. The sum is defined as a lower limit value of distortion (a value at which distortion does not become smaller than that value). On the other hand, the minimum distortion given by the searched codebook vector is defined as the upper limit of the distortion (the minimum distortion amount in the searched range). The search is terminated when the lower limit and the upper limit of the distortion match. Further, for the codebook vector to be subjected to the distortion calculation, the calculated distortion component for the dimension for which the distortion calculation has been completed and the distortion component constituting the lower limit value of the distortion for the dimension for which the distortion calculation has not been completed are added. , If the sum is equal to or greater than the upper limit, the distortion calculation for the codebook vector is terminated. The same classification result is used for determining the order of selecting the codebook vector to be subjected to the distortion calculation and calculating the lower limit.
【0018】これにより誤差増加量計算を効率よく打ち
切ることで、PNN法によるものと同じコードブック
を、少ない計算時間で高速に作成することが可能とな
る。また歪み計算を効率よく打ち切ることで、全ての入
力ベクトルに対する最適なコードブックベクトルを高速
に探索することが可能となる。As a result, by efficiently terminating the calculation of the amount of error increase, the same code book as that obtained by the PNN method can be created at a high speed in a short calculation time. In addition, by efficiently terminating the distortion calculation, it is possible to quickly search for an optimal codebook vector for all input vectors.
【0019】[0019]
【実施例】以下、図面を参照してこの発明の実施例を説
明する。尚、以下に述べる実施例では、コードブック作
成装置の誤差増加量計算に関する歪みとして2乗歪み
を、コードブック探索装置に関する歪みとして差分絶対
値歪みを例に用いているが、それぞれ他の歪みにも同様
に適用できる。Embodiments of the present invention will be described below with reference to the drawings. In the embodiment described below, the square distortion is used as an example of the distortion relating to the calculation of the error increase amount of the codebook creating apparatus, and the absolute difference distortion is used as the example of the distortion relating to the codebook searching apparatus. Can be similarly applied.
【0020】図1は、この発明の第1の実施例に係るベ
クトル量子化コードブック作成及び探索装置の構成を示
すブロック図である。本装置は大きく分けると、コード
ブック作成部1と、最適ベクトル探索部2とから構成さ
れる。FIG. 1 is a block diagram showing a configuration of a vector quantization codebook creating and searching apparatus according to a first embodiment of the present invention. This apparatus is roughly composed of a codebook creating unit 1 and an optimal vector searching unit 2.
【0021】コードブック作成部1は、コードブック作
成用ソート部11と、探索順序決定部12と、クラスタ
を併合することによる誤差の増加量を計算する誤差増加
量計算部13と、コードブック作成用下限値計算部14
と、コードブック作成用メモリ15と、コードブック作
成用比較部16と、クラスタ重心計算部17とから構成
される。The codebook creation unit 1 includes a codebook creation sort unit 11, a search order determination unit 12, an error increase calculation unit 13 for calculating an increase in error caused by merging clusters, and a codebook creation unit. Lower limit calculator 14
, A codebook creation memory 15, a codebook creation comparison unit 16, and a cluster centroid calculation unit 17.
【0022】上記コードブック作成用ソート部11は、
初期コードブックを初期状態とするコードブック31を
構成するベクトル間の距離を、次元毎にソートしてコー
ドブック作成用ソート表32を作成する。また、クラス
タが併合されて新しい重心ベクトルが生成される毎に、
コードブック作成用ソート表32を更新するものであ
る。The code book creation sort unit 11 includes:
The distance between the vectors constituting the codebook 31 with the initial codebook as the initial state is sorted for each dimension to create a codebook creation sort table 32. Also, each time a cluster is merged to generate a new centroid vector,
The code book creation sort table 32 is updated.
【0023】探索順序決定部12は、コードブック作成
用ソート表32を用いて、併合の対象となる可能性の高
いクラスタペアから誤差増加量計算を始めるように探索
順序を決定する。また、上記コードブック作成用下限値
計算部14は、コードブック作成用ソート表32を用い
て誤差の増加量の下限値を求めるものである。The search order determining unit 12 determines the search order using the codebook creation sort table 32 so as to start calculating the error increment from the cluster pair that is likely to be merged. Further, the codebook creation lower limit calculation unit 14 uses the codebook creation sort table 32 to find the lower limit of the error increase.
【0024】コードブック作成用メモリ15は、部分歪
み量、下限値、及び最小の誤差増加量を上限値として記
憶するものである。そして、コードブック作成用比較部
16は、この上限値と歪みの部分和、及び上限値と下限
値を用いて、上限値計算の打ち切り、及び最適クラスタ
ペアの併合を決定する。The codebook creation memory 15 stores a partial distortion amount, a lower limit value, and a minimum error increase amount as an upper limit value. Then, using the upper limit value and the partial sum of the distortions, and the upper limit value and the lower limit value, the codebook creating comparison unit 16 determines termination of the upper limit value calculation and merging of the optimal cluster pair.
【0025】更に、クラスタ重心計算部17は、併合す
るクラスタペアの重心を計算し、その結果を新たなコー
ドブックとしてコードブック31に登録する。それと共
に、併合前のクラスタの重心を削除するものである。Further, the cluster centroid calculator 17 calculates the centroid of the cluster pair to be merged, and registers the result in the codebook 31 as a new codebook. At the same time, the center of gravity of the cluster before merging is deleted.
【0026】一方、最適ベクトル探索部2は、コードブ
ック探索用ソート部21と、歪み計算部22と、コード
ブック探索用下限値計算部23と、コードブック探索用
メモリ24と、コードブック探索用比較部25により構
成されている。On the other hand, the optimal vector search section 2 includes a codebook search sort section 21, a distortion calculation section 22, a codebook search lower limit calculation section 23, a codebook search memory 24, and a codebook search memory 24. The comparison unit 25 is configured.
【0027】上記コードブック探索用ソート部21は、
コードブック作成部1で作成されたコードブック31を
ソートして、コードブック探索用ソート表33を作成す
るためのものである。また、歪み計算部22は、入力ベ
クトルXが入力されると、コードブックベクトルとの次
元毎の歪みの和を計算するものである。The code book search sorting unit 21 comprises:
This is for sorting the code book 31 created by the code book creating section 1 to create a sort table 33 for code book search. Further, when the input vector X is input, the distortion calculator 22 calculates the sum of the distortion for each dimension with the codebook vector.
【0028】コードブック探索用下限値計算部23は、
コードブック探索用ソート表33を用いて、歪みの下限
値を求めるものである。そして、コードブック探索用メ
モリ24は、部分歪み量、下限値、及び最小歪み量を上
限値として記憶する。コードブック探索用比較部25
は、この上限値と歪みの部分和、及び上限値と下限値を
用いて、歪み計算の打ち切り、及び探索の終了を決定す
る。次に、このベクトル量子化コードブック作成及び探
索装置の動作を説明する。尚、以下の説明では、コード
ブックベクトルの数をN、ベクトルの次元(要素)数を
Mとし、インデックスiで示されるコードブックベクト
ルをYiで表す。The codebook search lower limit calculator 23 calculates
The lower limit value of the distortion is obtained by using the codebook search sorting table 33. The codebook search memory 24 stores the partial distortion amount, the lower limit value, and the minimum distortion amount as the upper limit value. Codebook search comparison unit 25
Determines the termination of the distortion calculation and the end of the search using the upper sum and the partial sum of the distortion and the upper limit and the lower limit. Next, the operation of the vector quantization codebook creation and search apparatus will be described. In the following description, the number of codebook vectors is N, the number of vector dimensions (elements) is M, and the codebook vector indicated by index i is represented by Yi.
【0029】先ず、前処理として、コードブック作成用
ソート部11では、初期コードブックで構成されている
コードブック31から、次元毎に要素間の歪みの大小関
係でソートされたコードブック作成用ソート表32が生
成される。First, as a pre-process, the codebook creating sorter 11 sorts the codebook 31 composed of the initial codebook from the codebook 31 composed of the initial codebook by sorting the magnitude of the distortion between the elements for each dimension. Table 32 is generated.
【0030】次に、探索順序決定部12に於いて、併合
の対象となる可能性の高いクラスタペアから誤差増加量
計算を始めるように探索順序が決定される。ここでは、
ソート表32が用いられて、各次元で最小の歪みが与え
られるクラスタペアが、順に計算の候補とされる。ただ
し、この他にも、ソート表の全ての次元を通して次候補
となるクラスタペアを調べ、最も多くの次元で候補とな
っているクラスタペアから選択されるようにする等、探
索順序が決定される指標は計算の手間と効果を基に変更
が可能である。Next, the search order determination unit 12 determines the search order so that the error increment calculation is started from the cluster pair that is likely to be merged. here,
Using the sort table 32, cluster pairs to which the minimum distortion is given in each dimension are sequentially set as calculation candidates. However, besides this, the search order is determined such that the next candidate cluster pair is checked through all the dimensions of the sort table and the candidate cluster pair is selected from the candidate cluster pairs in the most dimensions. The index can be changed based on the calculation effort and effect.
【0031】次いで、クラスタペアの歪みを基にそのペ
アが併合されることによる誤差の増加量が計算される。
ここで、例えば2乗歪みが用いられた場合、クラスタが
併合されることで増加される誤差は、以下のように併合
されるクラスタそれぞれに所属するベクトル数で重み付
けされた平均2乗距離に等しくなる。Next, based on the distortion of the cluster pair, the amount of increase in error due to the merging of the pair is calculated.
Here, for example, when the square distortion is used, the error that is increased by merging the clusters is equal to the average square distance weighted by the number of vectors belonging to each of the merged clusters as follows. Become.
【0032】Ci:i番目のクラスタ、ni:Ciに属
するベクトル数、xi:Ciに属するベクトルの重心、
Si:Ciに属する数1で表されるベクトルと、Xiの
平均2乗距離、これに対し添字ijでCiとCjを併合し
てできるクラスタを表すと、数2、数3及び数4の関係
式のようになる。Ci: i-th cluster, ni: number of vectors belonging to Ci, xi: centroid of vectors belonging to Ci,
Si: A vector represented by Equation 1 belonging to Ci, an average square distance of Xi, and a cluster formed by combining Ci and Cj with a subscript ij, the relationship between Equations 2, 3, and 4 It looks like an expression.
【0033】[0033]
【数1】 (Equation 1)
【0034】[0034]
【数2】 (Equation 2)
【0035】[0035]
【数3】 (Equation 3)
【0036】[0036]
【数4】 (Equation 4)
【0037】尚、これらの式の導出は、近藤、板倉著
“極低ビットレート符号化に用いるセグメント量子化へ
のPNN法の検討”、信学技報SP91−71(DSP
91−64)に参照される。次に、上記数4の関係式に
基く計算の手順を、図2のフローチャートを参照して説
明する。The derivation of these equations is described in Kondo and Itakura, "Study of PNN Method for Segment Quantization Used for Very Low Bit Rate Coding," IEICE Technical Report SP91-71 (DSP
91-64). Next, the procedure of the calculation based on the above equation (4) will be described with reference to the flowchart of FIG.
【0038】先ず、所望のクラスタまで併合されたか否
かが判定され(ステップS1)、探索順序決定部12に
よって選択されたクラスタペアCiとCjに関するデー
タが、コードブック31から誤差増加量計算部13へ読
み込まれる(ステップS2)。次いで、最初に読み込ま
れたクラスタペアについて、誤差増加量計算部13で上
記数4の関係式に従って、併合による誤差の増加量が計
算される(ステップS3)。そして、これが上限値(H
LV)としてコードブック作成用比較部16に送出され
る。First, it is determined whether or not a desired cluster has been merged (step S1). Data relating to the cluster pair Ci and Cj selected by the search order determination unit 12 is obtained from the codebook 31 by the error increase amount calculation unit 13 Is read (step S2). Next, for the cluster pair that is read first, the error increase amount calculation unit 13 calculates the increase amount of the error due to the merging according to the relational expression of the above Expression 4 (step S3). And this is the upper limit (H
LV) is sent to the codebook creation comparing section 16.
【0039】一方、コードブック作成用下限値計算部1
4では、コードブック作成用ソート表32の最小値の組
み合せで誤差の増加量の下限値(LLV)が計算され
(ステップS4)、コードブック作成用比較部16に送
出される。このコードブック作成用比較部16では、上
記上限値と下限値がコードブック作成用メモリ15に書
き込まれると共に、比較される(ステップS5)。On the other hand, the lower limit calculation unit 1 for creating a code book
In step S4, the lower limit (LLV) of the error increase is calculated based on the combination of the minimum values in the codebook creation sort table 32 (step S4), and sent to the codebook creation comparison unit 16. The upper limit value and the lower limit value are written in the code book creation memory 15 and compared in the code book creation comparison unit 16 (step S5).
【0040】この比較に於いて、両者が一致する場合
は、そのクラスタペアが併合されて(ステップS6)、
新しいクラスタが生成される。そして、クラスタ重心計
算部17にて、併合されるクラスタペアの重心が計算さ
れ、新たなコードブックとしてコードブック31に登録
されると共に、併合前の2つのクラスタの重心が削除さ
れる。更に、コードブック作成用ソート部11で、コー
ドブック作成用ソート表32が更新される。In this comparison, if they match, the cluster pairs are merged (step S6),
A new cluster is created. Then, the center of gravity of the cluster pair to be merged is calculated by the cluster center of gravity calculation unit 17, registered in the codebook 31 as a new codebook, and the center of gravity of the two clusters before merging is deleted. Further, the codebook creation sort table 11 updates the codebook creation sort table 32.
【0041】上記ステップS5に於いて、上限値と下限
値が一致しない場合は、探索順序決定部12で次のクラ
スタペアが選択される(ステップS7)。次いで、誤差
増加量計算部13で、上記数4の関係式に従って併合に
よる誤差の増加量の部分和(Y)が計算される(ステッ
プS8)。If the upper and lower limits do not match in step S5, the next cluster pair is selected by the search order determining unit 12 (step S7). Next, the error increment calculator 13 calculates a partial sum (Y) of the error increment due to the merging in accordance with the relational expression of Equation 4 (step S8).
【0042】一方、Yとの比較の対象として、Yに未だ
加算されていない次元についての下限値を構成する成分
の和を上限値から減じた値Zが求められる(ステップS
9)。そして、これらYとZとの比較による計算の打ち
切りが実施される。すなわち、YとZとが比較されて
(ステップS10)、YがZと同じか大きくなった場
合、例え加算していない次元が全て下限値を構成する要
素から成っていたとしても、そのクラスタペアの併合に
よる誤差の増加が最小ではないことが分かる。したがっ
て、コードブック作成用比較部16では、このクラスタ
ペアがソート表の下限値計算の対象から除外される(ス
テップS11)。その後、ステップS4のコードブック
作成用下限値計算部14でのLLVの計算に戻される。On the other hand, a value Z obtained by subtracting the sum of the components constituting the lower limit value for the dimension not yet added to Y from the upper limit value is obtained as an object to be compared with Y (step S).
9). Then, the calculation is terminated by comparing these Y and Z. That is, Y and Z are compared (step S10), and if Y is equal to or greater than Z, the cluster pair of the cluster pair is added even if all of the unadded dimensions are composed of the elements constituting the lower limit. It can be seen that the increase in error due to merging is not the minimum. Therefore, in the code book creation comparing section 16, this cluster pair is excluded from the target of the lower limit value calculation of the sorted table (step S11). Thereafter, the process returns to the calculation of the LLV in the codebook creation lower limit calculator 14 in step S4.
【0043】一方、上記ステップS10に於いて、Y<
Zの場合は、インデックスkがインクリメントされた後
(ステップS12)、k>Mであるか否かが判定される
(ステップS13)。ここで、kがMと同じか若しくは
小さい場合は、Yの値が再び計算された後(ステップS
14)、ステップS9に戻る。On the other hand, in step S10, Y <
In the case of Z, after the index k is incremented (step S12), it is determined whether or not k> M (step S13). Here, if k is equal to or smaller than M, the value of Y is calculated again (step S
14), and return to step S9.
【0044】そして、数4の関係式を計算し終えて、そ
の値YがHLVよりも小さくなった場合、Yが新たなH
LVとされる(ステップS15)。そこで、それまでH
LVが与えられていたクラスタペアは、その併合による
誤差の増加が最小ではないことが分かる。したがって、
コードブック作成用比較部16に於いて、このクラスタ
ペアがソート表の下限値計算の対象から除外される(ス
テップS16)。その後、コードブック作成用下限値計
算部14でステップS4のLLVの計算に戻される。以
上のステップに従って、所望のクラスタ数になるまで併
合が続けられる。以上の結果、作成されたコードブック
31が、最適ベクトル探索部2での探索に使用される。
次に、符号化部である最適ベクトル探索部2の動作につ
いて、図3のフローチャートを参照して説明する。Then, after calculating the relational expression of Expression 4, if the value Y becomes smaller than HLV, Y becomes a new H.
LV (step S15). So, until then,
It can be seen that the increase in error due to the merging of the cluster pair given the LV is not minimal. Therefore,
In the codebook creation comparing section 16, this cluster pair is excluded from the target of calculation of the lower limit value of the sort table (step S16). Thereafter, the codebook creation lower limit calculator 14 returns to the calculation of the LLV in step S4. According to the above steps, merging is continued until the desired number of clusters is reached. As a result of the above, the created codebook 31 is used for the search in the optimum vector search unit 2.
Next, the operation of the optimal vector search unit 2 as an encoding unit will be described with reference to the flowchart in FIG.
【0045】先ず、前処理として、コードブック31が
コードブック探索用ソート部21にて次元毎に要素間の
歪みの大小関係でソートされ、コードブック探索用ソー
ト表33が生成される。図4(a)及び(b)は、上述
したコードブック31及びコードブック作成用ソート表
32の形式の一例としての模式図である。First, as preprocessing, the codebook 31 is sorted by the codebook search sorting unit 21 in accordance with the magnitude relationship of distortion between elements for each dimension, and a codebook search sort table 33 is generated. FIGS. 4A and 4B are schematic diagrams as an example of the format of the codebook 31 and the codebook creation sort table 32 described above.
【0046】図4(a)は、次元数とコードブックベク
トル数によって区分されたコードブックベクトルの成分
値と基底値番号と次元数によって構成される。そして、
図4(b)は、上記コードブックベクトルに対応する基
底値番号と次元数によって分類されて配置された基底値
とベクトル数によって構成される。FIG. 4A is composed of the component values of the codebook vector divided by the number of dimensions and the number of codebook vectors, the base value number, and the number of dimensions. And
FIG. 4B is composed of the basis values and the number of vectors classified and arranged according to the basis value number and the number of dimensions corresponding to the codebook vector.
【0047】こうして、以下に述べるように、最適なコ
ードブックベクトルが探索される。初めに、入力ベクト
ルXが歪み計算部22に入力される。この歪み計算部2
2では、コードブック31よりインデックス1に対応す
るコードブックベクトルY1が取り出される。そして、
入力ベクトルXとの歪みが計算される。これにより、全
次元の歪みの和HLV及びこのインデックスmin(こ
こでは1)が、コードブック探索用メモリ24に記憶さ
れる(ステップS21)。Thus, the optimum codebook vector is searched for as described below. First, the input vector X is input to the distortion calculator 22. This distortion calculator 2
In 2, the codebook vector Y1 corresponding to the index 1 is extracted from the codebook 31. And
The distortion with the input vector X is calculated. Thereby, the sum HLV of the distortions of all dimensions and the index min (here, 1) are stored in the codebook search memory 24 (step S21).
【0048】一方、コードブック探索用下限値計算部2
3では、コードブック探索用ソート表33を用いて、入
力ベクトルXとコードブックベクトルの基底値との差の
絶対値Ds(k)、Db(k)が、数5、数6の関係式
のように計算される。On the other hand, the codebook search lower limit calculator 2
3, the absolute values Ds (k) and Db (k) of the difference between the input vector X and the base value of the codebook vector are calculated using the codebook search sort table 33. Is calculated as
【0049】[0049]
【数5】 (Equation 5)
【0050】[0050]
【数6】 (Equation 6)
【0051】ここで、図5に示されるように、コードブ
ックベクトルの第k次成分を基底値に分類したとき、小
さいほうから数えてt番目に当たる基底値をVk(t)
で表し、入力ベクトルXに最も接近した基底値(最近接
基底値)を示すポインタが、p、qで示されている。ま
た、入力ベクトルXとコードブックベクトルの基底値と
の差をDs(k)、Db(k)とし、その差Ds(k)
はXよりも小さい側の差を表している。そして、下限値
LLVが数7の関係式により計算され、コードブック探
索用メモリ24に記憶される(ステップS22)。Here, as shown in FIG. 5, when the k-th component of the codebook vector is classified as a base value, the t-th base value counted from the smallest one is Vk (t)
And pointers indicating the base value closest to the input vector X (nearest base value) are indicated by p and q. Further, the difference between the input vector X and the base value of the codebook vector is defined as Ds (k) and Db (k), and the difference Ds (k)
Represents the difference on the side smaller than X. Then, the lower limit LLV is calculated by the relational expression of Expression 7, and is stored in the codebook search memory 24 (Step S22).
【0052】[0052]
【数7】 (Equation 7)
【0053】続いて、コードブック探索用比較部25で
は、コードブック探索用メモリ24に記憶されている上
限値HLVと下限値LLVが比較される(ステップS2
3)。このとき、HLVとLLVが一致すれば、HLV
は最小歪みであるから、インデックスminが出力され
て(ステップS24)、終了する。一方、HLVとLL
Vが一致しなければ、次のコードブックベクトルとの比
較が行われるために、インデックスiがインクリメント
される(ステップS25)。Subsequently, the code book search comparing section 25 compares the upper limit value HLV and the lower limit value LLV stored in the code book search memory 24 (step S2).
3). At this time, if HLV and LLV match, HLV
Is the minimum distortion, the index min is output (step S24), and the processing ends. On the other hand, HLV and LL
If V does not match, the index i is incremented for comparison with the next codebook vector (step S25).
【0054】歪み計算部22では、このインデックスi
でコードブック31からコードブックベクトルYiが取
り出され、入力ベクトルXとの歪みが計算される(ステ
ップS26)。ここでは、数8の関係式に表されるよう
に、低次成分から順に第j次成分までの歪みの部分和S
jが求められて、コードブック探索用比較部25に送ら
れる。The distortion calculator 22 calculates the index i
, The codebook vector Yi is extracted from the codebook 31, and the distortion with respect to the input vector X is calculated (step S26). Here, as represented by the relational expression of Expression 8, the partial sum S of the distortion from the low-order component to the j-th component in order
j is obtained and sent to the codebook search comparing section 25.
【0055】[0055]
【数8】 (Equation 8)
【0056】一方Sjとの比較の対象として、Sjに未
だ加算されていない次元についての下限値を構成する成
分の和を上限値から減じた値Zが求められる(ステップ
S27)。コードブック探索用比較部25では、部分和
SjとZとが比較される(ステップS28)。そして、
Sj≧Zの関係式が満たされた時点で、例え加算されて
いない次元が全て下限値を構成する要素から成っていた
としても、そのコードブックベクトルとの歪みが最小で
はないことが分かる。したがって、それ以上の歪み計算
は打ち切られる。On the other hand, a value Z obtained by subtracting from the upper limit the sum of the components constituting the lower limit for the dimension not yet added to Sj is obtained as an object to be compared with Sj (step S27). The codebook search comparing unit 25 compares the partial sum Sj with Z (step S28). And
At the time when the relational expression of Sj ≧ Z is satisfied, it can be seen that even if all the dimensions that have not been added are composed of the elements constituting the lower limit, the distortion from the codebook vector is not the minimum. Therefore, further distortion calculations are aborted.
【0057】歪み計算が打ち切られる場合には、次のコ
ードブックベクトルに対応するインデックスi+1が歪
み計算部22に送られ、次のコードブックベクトルに対
象が移る。また、インデックスiが示すベクトルは最小
歪みを与えないことが分かったので、このベクトルに対
応する基底値に属するベクトル数が1ずつ減らされる
(ステップS29)。When the distortion calculation is aborted, the index i + 1 corresponding to the next codebook vector is sent to the distortion calculator 22, and the target is shifted to the next codebook vector. Further, since it has been found that the vector indicated by the index i does not give the minimum distortion, the number of vectors belonging to the base value corresponding to this vector is reduced by 1 (step S29).
【0058】一方、歪み計算が打ち切られない場合に
は、ベクトルの次数jがM以上であるかが判定され(ス
テップS30)、j≧Mでなければjがインクリメント
されて歪み計算部22に送られる(ステップS31)。
ベクトルの次数jがMに等しくなっても、歪みの部分和
Sj(=SM)がそれまでの最小歪みHLVよりも小さ
ければ、これが新たな最小歪みHLVとしてコードブッ
ク探索用メモリ24に記憶される。この場合、インデッ
クスminが示すベクトルは最小歪みを与えないことが
分かるので、このベクトルに対応する基底値に属するベ
クトル数が1ずつ減らされる(ステップS32)。On the other hand, if the distortion calculation is not terminated, it is determined whether the order j of the vector is M or more (step S30). If j ≧ M, j is incremented and transmitted to the distortion calculation unit 22. Is performed (step S31).
Even if the degree j of the vector is equal to M, if the partial sum Sj (= SM) of the distortion is smaller than the previous minimum distortion HLV, this is stored in the codebook search memory 24 as a new minimum distortion HLV. . In this case, since it is found that the vector indicated by the index min does not give the minimum distortion, the number of vectors belonging to the base value corresponding to this vector is reduced by 1 (step S32).
【0059】そして、このときのインデックスiが新た
なインデックスminとしてコードブック探索用メモリ
24に記憶される。こうして、最小歪みを与えないこと
が分かったコードブックベクトルに対応する基底値に属
するベクトル数が1ずつ減らされたことに伴い、属する
ベクトル数が0になった最近接基底値があるか否かが判
定される(ステップS34)。Then, the index i at this time is stored in the codebook search memory 24 as a new index min. Thus, as the number of vectors belonging to the base value corresponding to the codebook vector found not to give the minimum distortion is reduced by one, whether or not there is a nearest base value in which the number of belonging vectors has become 0 Is determined (step S34).
【0060】このステップS34にて、最近接基底値が
存在する場合には、該当する最近接基底値ポインタpあ
るいはqが、属するベクトルが存在する基底値までずら
される(ステップS35)。その後、ステップS22に
戻って、コードブック探索用下限値計算部23に於いて
下限値が計算し直される。In step S34, if there is a closest base value, the corresponding closest base value pointer p or q is shifted to the base value in which the vector to which it belongs (step S35). Thereafter, the process returns to step S22, and the lower limit value is calculated again in the lower limit value calculating unit 23 for codebook search.
【0061】一方、上記ステップS34に於いて、最近
接基底値に属するベクトルの数が1つも0にならなかっ
た場合は、ステップS23に移行して、下限値はそのま
まで処理が続けられる。以上の手順が、上限値と下限値
が一致するまで行われる。On the other hand, if the number of vectors belonging to the nearest base value has not become zero in step S34, the process proceeds to step S23, and the processing is continued without changing the lower limit value. The above procedure is performed until the upper limit and the lower limit match.
【0062】上述したベクトル量子化コードブック作成
の処理手順に従えば、PNN法によってローカルミニマ
ム状態に落ちる心配なく得られるものと同じコードブッ
クを得ることができるにもかかわらず、PNN法のよう
に全てのベクトルの組み合せに対する併合による誤差の
増加量の計算を必要としない。すなわち、誤差増加量計
算の途中で、下限値を構成する要素値を含めて上限値と
の比較を行うことにより、誤差増加量計算を途中で打ち
切ることが可能である。According to the above-described procedure for creating a vector quantization codebook, the same codebook as that obtained without the fear of falling into the local minimum state by the PNN method can be obtained. There is no need to calculate the increase in error due to merging for all vector combinations. That is, during the calculation of the error increase amount, the calculation of the error increase amount can be interrupted on the way by comparing the upper limit value with the element value constituting the lower limit value.
【0063】また、上限値を下限値と比較することによ
って、誤差増加量計算の対象となるクラスタペアを削減
することができる。これにより、PNN法によってロー
カルミニマム状態に落ちる心配なく得られるものと同じ
コードブックを求めるための計算回数を非常に少なくす
ることができる。Further, by comparing the upper limit value with the lower limit value, it is possible to reduce the number of cluster pairs for which the error increase is calculated. This makes it possible to greatly reduce the number of calculations for obtaining the same codebook as obtained by the PNN method without worrying about falling into the local minimum state.
【0064】そして、上述したベクトル量子化コードブ
ック探索の処理手順に従えば、コードブックベクトルを
全探索することにより得られる最適解と同じ解を得るこ
とができるにもかかわらず、探索を途中で打ち切ること
ができる。また、各ベクトル量子化コードブックベクト
ルに関する歪み計算についても、下限値を構成する要素
値を含めて上限値との比較を行うことで、歪み計算を途
中で打ち切ることが可能である。これにより、入力ベク
トルに対する最適なコードブックベクトルを少ない計算
回数で効率よく求めることができる。According to the above-described procedure of the vector quantization codebook search, although the same solution as the optimal solution obtained by performing a full search of the codebook vector can be obtained, the search is stopped halfway. Can be discontinued. Also, regarding the distortion calculation for each vector quantization codebook vector, the distortion calculation can be interrupted halfway by comparing the distortion calculation with the upper limit value including the element values constituting the lower limit value. Thus, an optimal codebook vector for an input vector can be efficiently obtained with a small number of calculations.
【0065】更に、同実施例では、説明を簡略化するた
めにコードブック作成部1と、最適ベクトル探索部2と
を分けた構成としたが、これに限られるものではない。
すなわち、コードブック作成用ソート部11とコードブ
ック探索用ソート部21、誤差増加量計算部13と歪み
計算部22、コードブック作成用下限値計算部14とコ
ードブック探索用下限値計算部23、コードブック作成
用メモリ15とコードブック探索用メモリ24、そして
コードブック作成用比較部16とコードブック探索用比
較部25は、それぞれほぼ同じ処理を行うので、これら
をそれぞれ共通化することで装置を小型化することもで
きる。あるいは、コードブック作成部1と最適ベクトル
探索部2とを完全に独立した装置とすることで、それぞ
れの装置の小型化を図ることも可能である。Furthermore, in this embodiment, the codebook creating unit 1 and the optimum vector searching unit 2 are separated for the sake of simplicity of explanation, but the present invention is not limited to this.
That is, the codebook creation sort unit 11 and the codebook search sort unit 21, the error increase amount calculation unit 13 and the distortion calculation unit 22, the codebook creation lower limit calculation unit 14 and the codebook search lower limit calculation unit 23, The codebook creation memory 15 and the codebook search memory 24, and the codebook creation comparison unit 16 and the codebook search comparison unit 25 perform almost the same processing, respectively. It can be downsized. Alternatively, by making the codebook creating unit 1 and the optimal vector searching unit 2 completely independent devices, it is possible to reduce the size of each device.
【0066】更に、上述した実施例では、説明を簡略化
するために誤差増加量計算や歪み計算はベクトルの次元
の順に計算するようにしているが、これらに限られるも
のではない。すなわち、下限値を構成する要素のうち、
要素値が小さいものが存在している次元から先に部分和
の計算に取り入れるようにすることも可能である。これ
によれば、更に早い時期に上限値を越える可能性が高ま
るという効果がある。Further, in the above-described embodiment, the calculation of the amount of increase in the error and the calculation of the distortion are performed in the order of the vector dimension in order to simplify the description, but the present invention is not limited to this. That is, of the elements constituting the lower limit,
It is also possible to incorporate in the calculation of the partial sum first from the dimension where the element value is small. According to this, there is an effect that the possibility of exceeding the upper limit value is increased even earlier.
【0067】[0067]
【発明の効果】コードブックベクトルの作成及び探索処
理に於いて、必要となる誤差増加量計算と歪み計算を、
誤差増加量及び歪みの部分和と下限値を構成する要素値
とを合わせて評価して打ち切るようにした。これによ
り、誤差増加量及び歪みの部分和と上限値を単純に比較
するよりも早い時点で計算の打ち切りを決定することが
できるようになった。すなわち、非常に少ない計算量
で、コードブックベクトルを作成することと最適なコー
ドブックベクトルを効率よく高速に求めることが可能に
なった。In the codebook vector creation and search processing, the necessary error increment calculation and distortion calculation are performed.
The partial sum of the error increase and the distortion and the element value forming the lower limit are evaluated together and terminated. This makes it possible to determine the termination of the calculation at an earlier point in time than simply comparing the partial sum of the error increase and the distortion with the upper limit value. That is, it has become possible to generate a codebook vector with a very small amount of calculation and to efficiently and quickly obtain an optimal codebook vector.
【図1】この発明の第1の実施例に係るベクトル量子化
コードブック作成及び探索装置の構成を示すブロック図
である。FIG. 1 is a block diagram showing a configuration of a vector quantization codebook creating and searching device according to a first embodiment of the present invention.
【図2】図1のコードブック作成部1の動作を説明する
フローチャートである。FIG. 2 is a flowchart illustrating an operation of the codebook creating unit 1 of FIG.
【図3】図1の最適ベクトル探索部2の動作を説明する
フローチャートである。FIG. 3 is a flowchart illustrating an operation of an optimal vector search unit 2 of FIG.
【図4】コードブック31及びコードブック作成用ソー
ト表32の形式の一例としての模式図である。FIG. 4 is a schematic diagram illustrating an example of a format of a codebook 31 and a sort table 32 for creating a codebook.
【図5】入力ベクトルXとコードブックベクトルの基底
値との関係を示した図である。FIG. 5 is a diagram illustrating a relationship between an input vector X and a base value of a codebook vector.
1…コードブック作成部、2…最適ベクトル探索部、1
1…コードブック作成用ソート部、12…探索順序決定
部、13…誤差増加量計算部、14…コードブック作成
用下限値計算部、15…コードブック作成用メモリ、1
6…コードブック作成用比較部、17…クラスタ重心計
算部、21…コードブック探索用ソート部、22…歪み
計算部、23…コードブック探索用下限値計算部、24
…コードブック探索用メモリ、25…コードブック探索
用比較部、31…コードブック、32…コードブック作
成用ソート表、33…コードブック探索用ソート表。1 codebook creation unit 2 optimal vector search unit 1
DESCRIPTION OF SYMBOLS 1 ... Sort part for codebook creation, 12 ... Search order determination part, 13 ... Error calculation part, 14 ... Codebook creation lower limit calculation part, 15 ... Codebook creation memory, 1
Reference numeral 6: codebook creation comparison unit, 17: cluster centroid calculation unit, 21: codebook search sort unit, 22: distortion calculation unit, 23: codebook search lower limit calculation unit, 24
... Codebook search memory, 25. Codebook search comparison unit, 31. Codebook, 32. Codebook creation sort table, 33. Codebook search sort table.
フロントページの続き (56)参考文献 特開 昭58−218242(JP,A) 特開 昭59−77730(JP,A) 特開 昭60−172844(JP,A) 特開 平1−205638(JP,A) 特開 平2−131621(JP,A) 特開 平2−237270(JP,A) Y.Linde,A.Buzo,an d R.Gray:“An Algor ithm for Vector Qu antizer Design”,IE EE Trans.COM,Vol. 28,No.1,pp84−95.(Jan. 1980) (58)調査した分野(Int.Cl.7,DB名) H03M 7/30 Continuation of the front page (56) References JP-A-58-218242 (JP, A) JP-A-59-77730 (JP, A) JP-A-60-172844 (JP, A) JP-A-1-205638 (JP) JP-A-2-131621 (JP, A) JP-A-2-237270 (JP, A) Linde, A .; Buzo, and R.S. Gray: "An Algorithm for Vector Quantizer Design", IE EE Trans. COM, Vol. 1, pp84-95. (Jan. 1980) (58) Field surveyed (Int. Cl. 7 , DB name) H03M 7/30
Claims (1)
の距離を次元毎にソートすると共にクラスタの併合によ
り重心ベクトルが生成される毎に上記ベクトル間の距離
をソートして整列状態を維持する第1のソート手段と、
上記クラスタの併合に伴う誤差増加量を計算し、その最
小値が得られる毎に上限値として更新する誤差増加量計
算手段と、上記第1のソート手段によるソート結果に基
いて上記誤差増加量の下限値を求める第1の下限値計算
手段と、上記上限値と上記下限値を用いて比較を行い最
適のクラスタペアの併合及び誤差増加量計算の打ち切り
を決定する第1の比較手段と、併合するクラスタペアの
重心を計算しコードブックに登録すると共に併合前のク
ラスタの重心を削除するクラスタ重心計算手段とを有す
るベクトル量子化コードブック作成部と、 上記コードブックを構成するベクトルの要素を次元毎に
ソートする第2のソート手段と、上記入力ベクトルと上
記コードブックベクトルとの次元毎の歪みの和を計算し
その最小値が得られる毎に上限値として更新する歪み計
算手段と、上記第2のソート手段によるソート結果に基
いて歪みの下限値を求める第2の下限値計算手段と、上
記上限値と上記下限値を用いて比較を行い最適コードブ
ックベクトル探索の終了及び歪み計算の打ち切りを決定
する第2の比較手段とを有するベクトル量子化コードブ
ック探索部とを具備することを特徴とするベクトル量子
化コードブック作成及び探索装置。1. A method of sorting distances between vectors constituting an initial codebook for each dimension and sorting distances between vectors each time a centroid vector is generated by merging clusters, to maintain an aligned state. Sorting means,
An error increase amount calculating means for calculating an error increase amount due to the merging of the clusters, and updating the error increase amount as an upper limit every time the minimum value is obtained; and an error increase amount based on a sorting result by the first sorting means. First lower limit value calculating means for obtaining a lower limit value, first comparing means for comparing using the above upper limit value and the lower limit value to determine the optimal merging of cluster pairs and the termination of calculation of an error increase amount, A vector quantization codebook creating unit having a cluster centroid calculating means for calculating a centroid of a cluster pair to be registered and registering the centroid of a cluster before merging, and deleting a centroid of a cluster before merging; A second sorting unit that sorts the input vector and the codebook vector, and calculates a sum of distortions for each dimension of the input vector and the codebook vector, and sets an upper limit each time the minimum value is obtained. A distortion calculating means for updating as a value, a second lower limit calculating means for obtaining a lower limit value of distortion based on a result of sorting by the second sorting means, and a comparison between the upper limit value and the lower limit value, and optimization. A vector quantization codebook creation and search apparatus, comprising: a vector quantization codebook search unit having a second comparison unit that determines termination of a codebook vector search and termination of distortion calculation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04199940A JP3093879B2 (en) | 1992-07-27 | 1992-07-27 | Vector quantization codebook creation and search device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04199940A JP3093879B2 (en) | 1992-07-27 | 1992-07-27 | Vector quantization codebook creation and search device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0645946A JPH0645946A (en) | 1994-02-18 |
JP3093879B2 true JP3093879B2 (en) | 2000-10-03 |
Family
ID=16416131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04199940A Expired - Fee Related JP3093879B2 (en) | 1992-07-27 | 1992-07-27 | Vector quantization codebook creation and search device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3093879B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4631178B2 (en) * | 2001-02-05 | 2011-02-16 | ソニー株式会社 | Vector quantization method and vector quantization apparatus |
JP4590747B2 (en) * | 2001-02-06 | 2010-12-01 | ソニー株式会社 | Vector quantization codebook generation method and codebook generation apparatus |
WO2006007871A1 (en) * | 2004-07-23 | 2006-01-26 | Telecom Italia S.P.A. | Method for generating a vector codebook, method and device for compressing data, and distributed speech recognition system |
-
1992
- 1992-07-27 JP JP04199940A patent/JP3093879B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
Y.Linde,A.Buzo,and R.Gray:"An Algorithm for Vector Quantizer Design",IEEE Trans.COM,Vol.28,No.1,pp84−95.(Jan.1980) |
Also Published As
Publication number | Publication date |
---|---|
JPH0645946A (en) | 1994-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090043575A1 (en) | Quantized Feature Index Trajectory | |
Chang et al. | A fast LBG codebook training algorithm for vector quantization | |
CN107577990A (en) | A kind of extensive face identification method for accelerating retrieval based on GPU | |
JPH1055444A (en) | Recognition of face using feature vector with dct as base | |
CN110135460B (en) | Image information enhancement method based on VLAD convolution module | |
CN109886406A (en) | A kind of complex convolution neural network compression method based on depth-compression | |
CN110458175B (en) | Unmanned aerial vehicle image matching pair selection method and system based on vocabulary tree retrieval | |
CN108805257A (en) | A kind of neural network quantization method based on parameter norm | |
CN113837940A (en) | Image super-resolution reconstruction method and system based on dense residual error network | |
CN112614110A (en) | Method and device for evaluating image quality and terminal equipment | |
CN111694977A (en) | Vehicle image retrieval method based on data enhancement | |
JP3093879B2 (en) | Vector quantization codebook creation and search device | |
CN111860627A (en) | Feature comparison method, system, device and medium | |
CN113011444A (en) | Image identification method based on neural network frequency domain attention mechanism | |
JP3093868B2 (en) | Vector quantization codebook creation device | |
CN108536772B (en) | Image retrieval method based on multi-feature fusion and diffusion process reordering | |
CN116311062A (en) | Highway small target detection method | |
CN1381005A (en) | Method and apparatus for iterative training of classification system | |
CN115661923A (en) | Domain generalization pedestrian re-identification method of self-adaptive modeling domain features | |
CN116049469A (en) | Multi-matching search and super-resolution reconstruction method based on reference diagram | |
KR20040012156A (en) | Apparatus and method for determining a correlation coefficient between signals, and apparatus and method for determining a signal pitch thereof | |
JP3015446B2 (en) | Vector quantization method and vector quantization apparatus | |
CN112200275B (en) | Artificial neural network quantification method and device | |
CN115170951A (en) | Tree species identification method based on improved MobileNet V2 network model | |
JP3046871B2 (en) | Vector quantization method and vector quantization apparatus |
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: 20000704 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080728 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |