JPH04156181A - Vector quantization method and vector quantizer - Google Patents

Vector quantization method and vector quantizer

Info

Publication number
JPH04156181A
JPH04156181A JP2280988A JP28098890A JPH04156181A JP H04156181 A JPH04156181 A JP H04156181A JP 2280988 A JP2280988 A JP 2280988A JP 28098890 A JP28098890 A JP 28098890A JP H04156181 A JPH04156181 A JP H04156181A
Authority
JP
Japan
Prior art keywords
vector
distortion
upper limit
limit value
search
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.)
Granted
Application number
JP2280988A
Other languages
Japanese (ja)
Other versions
JP3015446B2 (en
Inventor
Keiichi Nakano
中野 恵一
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.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP2280988A priority Critical patent/JP3015446B2/en
Priority to US07/770,987 priority patent/US5194864A/en
Publication of JPH04156181A publication Critical patent/JPH04156181A/en
Application granted granted Critical
Publication of JP3015446B2 publication Critical patent/JP3015446B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To retrieve an optimum code book vector with a few number of times of calculation, high efficiency and at a high speed by providing a distortion upper limit setting process, a lower limit setting process, a storage comparison process, a partial distortion calculation process and an upper limit revision process to the quantizer. CONSTITUTION:A code book generating section 1 generates a code book 100 based on a training series and a sort table 200. Then an optimum vector retrieval section 2 retrieves an optimum code book vector. A distortion calculation section 22 calculates distortion of a code book vector Y and an input vector X based on the code book 100 and sets the sum of distortion of all dimensions as an upper limit. Since the distortion is calculated in the order of larger distortion, the calculation is stopped with a few number of calculation. Thus, the optimum code book vector is obtained efficiently.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はディジタル情報処理技術に係り、特にベクトル
量子化方法とそのベクトル量子化装置とに関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to digital information processing technology, and particularly to a vector quantization method and a vector quantization device.

(従来の技術) 一般に、画像や音声等を関数として表現した場合に、特
定の値域に関する離散化の操作が量子化である。すなわ
ち、標本化によって得られた標本点上の連続的な関数を
、有限個の値に直して表現することである。その具体的
な方法として、ベクトル量子化方法がある。
(Prior Art) Generally, when images, sounds, etc. are expressed as a function, quantization is a discretization operation regarding a specific value range. That is, the continuous function on the sample points obtained by sampling is expressed by converting it into a finite number of values. A specific method is a vector quantization method.

このベクトル量子化方法は、例えば入力した画像を複数
のブロックに分割して、各ブロックの画素を成分とする
1つのベクトルに対して量子化を行うものであり、例え
ば、特定のブロックに対し、発生頻度が大きいと思われ
る代表的な画像パターン(代表ベクトル)をいくつか定
めて識別符号を付し、符号器内に記憶しておく。これを
コードブックと称し、入力信号が帰着するとブロックご
とにそのパターンに最も似た代表ベクトルをそのコード
ブックから探索して、その識別符号を送出する方法であ
る。また音声等にも同様に適用されている。
In this vector quantization method, for example, an input image is divided into a plurality of blocks and quantization is performed on one vector whose components are the pixels of each block.For example, for a specific block, Several representative image patterns (representative vectors) that are considered to occur frequently are determined, assigned identification codes, and stored in the encoder. This is called a codebook, and when an input signal is returned, the representative vector most similar to the pattern is searched from the codebook for each block, and its identification code is sent out. It is also applied to audio etc. in the same way.

このようなベクトル量子化を実行するベクトル量子化装
置には、その処理の高速化を目的として、例えば、探索
するベクトルの数を減らすために構造的なコードブック
を用いる木(tree)探索法(A、Buzo、A、H
,Gray、Jr、、R,M、Gray、and J、
D、Markel  : ”5peech codin
g based upon vectorquanti
zation+、IEEE Trans、Acoust
、、5peech &Signal Process、
、ASSP−28,10,pp、5B2−574.Oc
t。
A vector quantization device that performs such vector quantization uses, for example, a tree search method (tree search method) that uses a structured codebook to reduce the number of vectors to be searched for the purpose of speeding up the processing. A.Buzo, A.H.
,Gray, Jr., ,R.M., Gray, and J.
D. Markel: “5peech codin
g based upon vector quantity
zation+, IEEE Trans, Acoust
,,5peech &Signal Process,
, ASSP-28, 10, pp. 5B2-574. Oc
t.

1980)が提案されている。1980) has been proposed.

また、ベクトル量子化するのに用いられる歪み計算の計
算回数を低減させる方法のうちで、ベクトルの生起確率
に従って、探索の順序を変える方法(特開平1〜218
279号公報)や、探索打ち切りベクトル内平均値を用
いる方法(申出、相澤、原島: “ベクトル量子化の直
交変換領域高速探索方式、信学論、pp、1102−1
110、Vol J69−B 。
Among the methods for reducing the number of distortion calculations used for vector quantization, there is a method of changing the search order according to the probability of occurrence of the vector (Japanese Patent Laid-Open No. 1-218
279 Publication), and a method using the average value within the search truncated vector (Kano, Aizawa, Harashima: “Fast search method for orthogonal transform domain for vector quantization, IEICE, pp. 1102-1
110, Vol J69-B.

No、10.198B)等が提案され、ベクトル量子化
の高速化が図られている。
No. 10.198B), etc. have been proposed to speed up vector quantization.

(発明が解決しようとしている課題) しかし、前述したようなベクトル量子化方式のうち木探
索法は、歪み計算の速度では他の方法に、 比べて高速
であるが、入力ベクトルが部分空間の境界の近傍にある
(「ベクトル量子化の直交変換領域高速探索方式」P、
1103右上参照)場合などには、コードブックから最
適ベクトルを得ることができないという欠点がある。従
って、木探索法は歪みを最小にするという意味では、正
確性に欠如する場合がある。
(Problem to be Solved by the Invention) However, among the vector quantization methods mentioned above, the tree search method is faster than other methods in terms of distortion calculation, but when the input vector is at the boundary of the subspace. (``Fast search method for orthogonal transform domain for vector quantization'' P,
1103 (see upper right corner)), there is a drawback that the optimal vector cannot be obtained from the codebook. Therefore, the tree search method may lack accuracy in terms of minimizing distortion.

また歪み計算回数を低減させる方法でもすべてのコード
ブックベクトルに対して少なくとも一回は探索しなけれ
ばならなく、もしくは何らかの処理を施す必要がある。
Furthermore, even in the method of reducing the number of distortion calculations, it is necessary to search all codebook vectors at least once, or it is necessary to perform some kind of processing.

以上のような従来の探索法において、帰着した入力ベク
トルの性質によっては、そのベクトルに相当スるコート
ブックベクトルの探索が、最適。
In the conventional search methods described above, depending on the properties of the resulting input vector, it is optimal to search for a coatbook vector corresponding to that vector.

高効率且つ高速化を満足することができなかった。It was not possible to satisfy the requirements of high efficiency and high speed.

そこで本発明は、どのような入力ベクトルに対しても、
最適なコードブックベクトルを少ない計算回数で高効率
に、且つ高速に探索することが可能なベクトル量子化方
法とそれを実行するベクトル量子化装置を提供すること
を目的とする。
Therefore, the present invention provides, for any input vector,
It is an object of the present invention to provide a vector quantization method that can search for an optimal codebook vector efficiently and at high speed with a small number of calculations, and a vector quantization device that executes the method.

(課題を解決するための手段) 本発明は上記目的を達成するために、第1手段として、
コードブックベクトルと入力ベクトルの各次元ごとに探
索未終了のコードブックベクトルが与える最小歪みのそ
れまでの和を歪みの下限値とする下限値設定工程と、コ
ードブックベクトルと人力ベクトルの各次元ごとに探索
終了のコードブックベクトルが与える最小歪みを歪みの
上限値とする上限値設定工程と、前記下限値と前記上限
値を格納し比較する格納比較工程と、前記格納比較工程
により前記下限値と前記上限値か比較され一致した時点
で探索を終了する探索終了工程と、前記探索終了工程に
より未終了とされたとき、低次元成分から順次、所定次
成分までのコードブラー クベクトルと入力ベクトルと
の歪みの部分和を算出する歪み部分和算出工程と、前記
部分和と前記上限値とを比較して、前記部分和が前記上
限値より大となるときには、それ以上の歪み計算を打ち
切る歪み計算打ち初工程と、前記部分和が前記上限値よ
り同値もしくは小なるときは、該部分和を新たな上限値
として更新する上限値更新工程とによってベクトル量子
化方法を提供することができる。
(Means for Solving the Problem) In order to achieve the above object, the present invention, as a first means,
A lower limit value setting step in which the sum of the minimum distortions given by unsearched codebook vectors is set as the lower limit value of distortion for each dimension of the codebook vector and the input vector, and a lower limit value setting step for each dimension of the codebook vector and human vector. an upper limit value setting step in which the minimum distortion given by the codebook vector at the end of the search is set as the upper limit value of distortion; a storage comparison step in which the lower limit value and the upper limit value are stored and compared; a search termination step in which the search is terminated when the upper limit values are compared and they match; and when the search is determined not to have been completed in the search termination step, the code blur vectors and input vectors are sequentially selected from the low-dimensional components up to the predetermined order components. a distortion partial sum calculation step of calculating a partial sum of distortion; and a distortion calculation process that compares the partial sum with the upper limit value and aborts further distortion calculations when the partial sum is larger than the upper limit value. A vector quantization method can be provided by an initial step and an upper limit updating step of updating the partial sum as a new upper limit when the partial sum is equal to or smaller than the upper limit.

また第2手段として、コードブックを形成する複数の次
元からなるベクトルに対して、該次元ごとに独自な成分
値を基底値として分類する分類手段と、入力ベクトルに
最も近似し且つ、未探索のコードブックベクトルに属す
る基底値との歪みのすべての次元にかかる和を算出する
下限値設定手段と、前記下限値と前記上限値を格納し比
較する格納比較手段と、前記格納比較工程により前記下
限値と前記上限値が比較され一致した時点で探索を終了
する探索終了手段と、前記探索終了工程により未終了と
されたとき、低次元成分から順次、所定次成分までのコ
ードブックベクトルと入力ベクトルとの歪みの部分和を
算出する歪み部分和算出手段と、前記部分和と前記上限
値とを比較して、前記部分和が前記上限値より大となる
ときには、それ以上の歪み計算を打ち切る歪み計算打ち
切り手段と、前記部分和が前記上限値より同値もしくは
小なるときは、該部分和を新たな上限値として更新する
上限値更新手段とを有するベクトル量子化装置を提供す
ることができる。
As a second means, for a vector consisting of multiple dimensions forming a codebook, there is a classification means for classifying a unique component value for each dimension as a base value, and a classification means for classifying a vector consisting of multiple dimensions forming a codebook as a base value, and a classification means for classifying a unique component value for each dimension as a base value. lower limit value setting means for calculating the sum of all dimensions of distortion with base values belonging to the codebook vector; storage comparison means for storing and comparing the lower limit value and the upper limit value; search terminating means for terminating the search when the value and the upper limit value are compared and when they match; and when the search is determined to be unfinished by the search terminating step, codebook vectors and input vectors sequentially from low-dimensional components to predetermined dimensional components; distortion partial sum calculation means for calculating a partial sum of distortion; and a distortion that compares the partial sum with the upper limit value and aborts further distortion calculation when the partial sum is larger than the upper limit value. It is possible to provide a vector quantization device having calculation aborting means and upper limit updating means for updating the partial sum as a new upper limit when the partial sum is equal to or smaller than the upper limit.

(作用) 以上のような構成のベクトル量子化方法およびベクトル
量子化装置によれば、すべての入力ベクトルに対する最
適なコードブックベクトルを効率よく高速に探索するこ
とができる。
(Operation) According to the vector quantization method and vector quantization device configured as described above, it is possible to efficiently and quickly search for an optimal codebook vector for all input vectors.

(実施例) 以下、図面を参照して本発明の実施例を詳細に説明する
(Example) Hereinafter, an example of the present invention will be described in detail with reference to the drawings.

第1図は本発明の第1実施例にかかる高速ベクトル量子
化装置の構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of a high-speed vector quantization device according to a first embodiment of the present invention.

この高速ベクトル量子化装置の構成は、コードブック生
成部1と最適ベクトル探索部2に大別される。
The configuration of this high-speed vector quantization device is roughly divided into a codebook generation section 1 and an optimal vector search section 2.

前記コードブック生成部1においては、まず与えられた
トレーニング系列に基づきトレーニング部10は、コー
ドブック100を生成゛する。そして前記コードブック
100より、ソート部11は成分ごとに基底値(独自ベ
クトル成分量)に分類(ソート)して、ソート表200
を作成すると共に、前記基底値の番号を前記コードブッ
ク10〔の対応するベクトル成分に付加させる。
In the codebook generation section 1, a training section 10 first generates a codebook 100 based on a given training sequence. Based on the codebook 100, the sorting unit 11 classifies (sorts) each component into base values (unique vector component amounts) and creates a sorting table 200.
At the same time, the base value number is added to the corresponding vector component of the codebook 10.

そして最適ベクトル探索部2は、入力ベクトノ1Xが入
力されると、ソート表200の平均値を月いて成分の計
算順序を決定する成分計算順序状ガ部21と、入力ベク
トルXとコードブックベクトルとの次元ごとの歪みを計
算する次元歪み計算部22aおよびこの歪み部分和を計
算する部分歪−計算部22bとからなる歪み計算部22
と、ソート表200を用いて歪みの下限値を求める下限
値計算部23、部分歪み量、下限値、及び最小歪シ量を
上限値として記憶するメモリ24、この上ト値と歪みの
部分和を用いて歪み計算の打ち切りを決定し、また上限
値と下限値を用いて探索の終7を決定する比較部25と
から構成される。
When input vector number 1 A distortion calculation unit 22 includes a dimensional distortion calculation unit 22a that calculates distortion for each dimension of , and a partial distortion calculation unit 22b that calculates a partial sum of the distortion.
, a lower limit calculation unit 23 that calculates the lower limit value of distortion using the sorting table 200, a memory 24 that stores the partial distortion amount, the lower limit value, and the minimum distortion amount as the upper limit value, and a partial sum of the upper limit value and the distortion. The comparison unit 25 uses the upper limit value and the lower limit value to determine the end of the search.

さらに前記成分計算順序決定部21では、ソート表20
0の成分平均値を用いて、成分平均値と入力ベクトルX
の成分との違いが大きい順に成り計算が行われるように
成分計算順序表300が作成される。
Further, in the component calculation order determining unit 21, the sorting table 20
Using the component average value of 0, the component average value and the input vector
The component calculation order table 300 is created so that calculations are performed in descending order of the difference from the components.

)   また第2図(a)乃び(b)には前述したコー
ドブック100及びソート表200の形式の一例として
模式図を示す。
) Further, FIGS. 2(a) and 2(b) show schematic diagrams as an example of the format of the codebook 100 and sorting table 200 described above.

I   第2図(a)は、次元数とコードブックベクト
ル数によって区分されたコードブックベクトルの成分値
と基底値番号によって構成される。モしてく  第2図
(b)は、前記コードブックベクトルに対“  応する
基底値番号と次元数によって分類され配置された基底値
とベクトル数によって構成される。
I FIG. 2(a) is composed of component values and base value numbers of codebook vectors divided by the number of dimensions and the number of codebook vectors. FIG. 2(b) is composed of base values and vector numbers classified and arranged according to base value numbers and dimension numbers corresponding to the codebook vectors.

【   第2図(C)において、コードブックベクトル
・  の第に次成分を基底値に分類したとき、小さいは
1  うから数えてt番目にあたる基底値をrVk(t
)Jo  で表し、入力ベクトルXに最も接近した基底
値(最近接基底値)を示すポインタが、「p」。
[In Figure 2 (C), when the th order component of the codebook vector
) Jo, and the pointer indicating the base value closest to the input vector X (nearest base value) is "p".

rqJで示されている。そして、入力ベクトルXとコー
ドブックベクトルの基底値との差をDs(k)、Db(
k)として、その差D 5(k)はXよりも小さい側゛
  の差を表している。
It is indicated by rqJ. Then, the difference between the input vector X and the base value of the codebook vector is calculated as Ds(k) and Db(
k), the difference D5(k) represents the difference on the smaller side than X.

次に前述したように構成された第1の実施例のベクトル
量子化装置の動作について説明する。ここで、コードブ
ックベクトルの数を「N」、ベクトルの次元数をrMJ
とし、インデックスlで示されるコードブックベクトル
をr Y i Jで表す。
Next, the operation of the vector quantization apparatus of the first embodiment configured as described above will be explained. Here, the number of codebook vectors is "N", and the number of dimensions of the vector is rMJ
and the codebook vector indicated by index l is expressed as r Y i J.

まず前処理部としてのコードブック生成部1ではトレー
ニング系列に基づいたコードブック100ソート表20
0を生成する。
First, the codebook generation unit 1 as a preprocessing unit generates a codebook 100 and a sorting table 20 based on the training sequence.
Generates 0.

次に、第3図に示したフローチャートに従って符号化部
である最適ベクトル探索部2が最適なコードブックベク
トルを探索する。この手順を第1図の構成部材とその参
照番号を使って順次説明する。
Next, the optimal vector searching unit 2, which is an encoding unit, searches for an optimal codebook vector according to the flowchart shown in FIG. This procedure will be explained one by one using the constituent members and their reference numbers shown in FIG.

まず入力ベクトルXが成分計算順序決定部21に入力さ
れると、初期設定として、該成分計算順序決定部21は
ソート表200の成分平均値を用いて、成分平均値と入
力ベクトルXの成分との違いが大きい順に成分計算が行
われるように成分計算順序表300を作成する(以下、
説明を簡略化するために、最大の違いを与える成分を1
次、最小の違いを与える成分がM次となるように番号順
に並べ替えられたものとする)。
First, when the input vector A component calculation order table 300 is created so that component calculations are performed in order of the largest difference (hereinafter,
To simplify the explanation, the component that gives the largest difference is 1
Next, it is assumed that the components are rearranged in numerical order so that the component that gives the smallest difference becomes the M order.)

次に歪み計算部22では、コードブック100より、イ
ンデックス1に対応するコードブックベクトルY1を取
出し、入力ベクトルXとの歪みを、 計算して全次元の
歪みの和Uを(1)式1、 によって、算出して、これ
に対応するインデックスmin (ここでは1とする)
をメモリ25に記憶する(ステップSl)。すなわち、
全次元の歪みの和Uを上限値として設定する。
Next, the distortion calculation unit 22 extracts the codebook vector Y1 corresponding to index 1 from the codebook 100, calculates the distortion with the input vector Calculate the corresponding index min (here, it is set to 1)
is stored in the memory 25 (step Sl). That is,
The sum U of distortions in all dimensions is set as the upper limit.

一方、下限値計算部23は、ソート表200を用いて、
入力ベクトルXとコードブックベクトルの基底値との差
D 5(k)、Db(k)を次に示す(2)。
On the other hand, the lower limit calculation unit 23 uses the sorting table 200 to
The differences D5(k) and Db(k) between the input vector X and the base value of the codebook vector are shown below (2).

(3)式によって計算する。Calculate using equation (3).

Ds(k)= (X(k) −Vk(p))   ・・
(2)pb(k)−(Vk(q)−X(k) )   
−(3)ただし、第2図(C)に示す通り、kはベクト
ルの次元を表し、p、qはXに最も接近した基底値(最
近接基底値)を示すポインタであり、DsはXよりも大
きい側の差を表している。
Ds(k)=(X(k) −Vk(p))...
(2) pb(k)-(Vk(q)-X(k))
-(3) However, as shown in Figure 2 (C), k represents the dimension of the vector, p and q are pointers indicating the base value closest to X (nearest base value), and Ds is the pointer that indicates the base value closest to X. represents the difference on the larger side.

そして下限値りを次式(4)、 により計算しメモリ24に記憶する(ステップS2)。Then, the lower limit value is expressed by the following formula (4), is calculated and stored in the memory 24 (step S2).

そして引き続き、比較部25では、メモリ24に記憶し
である上限値Uと下限値りとを比較する(ステップS3
)。
Subsequently, the comparison unit 25 compares the upper limit value U and the lower limit value stored in the memory 24 (step S3
).

このとき、上限値Uと下限値りが一致すれば(Yes)
、上限値Uはすべてのコードブックベクトルに対する最
小歪みであるから、インデックスminを出力して終了
する(ステップS4)。
At this time, if the upper limit value U and the lower limit value match (Yes)
, the upper limit value U is the minimum distortion for all codebook vectors, so the index min is output and the process ends (step S4).

一方、上限値Uと下限値りが一致しなければ(No)、
次のコードブックベクトルとの比較を行うために、イン
デックスiをインクリメントする(ステップS5)。す
なわち、インデックスiに「1」を加算する、ここで第
j次成分は「1」とする。
On the other hand, if the upper limit value U and the lower limit value do not match (No),
The index i is incremented for comparison with the next codebook vector (step S5). That is, "1" is added to index i, where the jth component is "1".

歪み計算部22では、このインデックス1てコードブッ
クユ00からコードブックベクトルYiを取出し、入力
ベクトルXとの歪みを計算する(ステップS6)。ここ
では、低次元成分から順に第j次成分までの歪みの部分
和Sjを次式%式%) から求めて、比較部25に送出する。この比較部25で
は、部分和Sjとメモリに格納されている上限値Uとを
比較して(ステップS7)、Sj≧U        
     ・・・(6)が満たされた時点で(Yes)
、それ以上の歪み計算を打ち切る。
The distortion calculation unit 22 extracts the codebook vector Yi from the codebook U00 with index 1, and calculates the distortion with the input vector X (step S6). Here, the partial sum Sj of distortion from the low-dimensional component to the j-th component is determined from the following equation (%) and sent to the comparison unit 25. The comparison unit 25 compares the partial sum Sj with the upper limit value U stored in the memory (step S7), and determines that Sj≧U
...When (6) is satisfied (Yes)
, aborts further distortion calculations.

つまり、歪み計算が打ち切れる場合には、次のコードブ
ックベクトルに対応するインデックスi+1を歪み計算
部22に送り、次のコードブックベクトルに対象を移す
。またインデックスlが示すベクトルは、最小歪み(上
限値U)を与えないので、このベクトルに対応する基底
値に属するベクトル数を1ずつ減らしくステップs8)
、後述するステップ513へ移行スる。
That is, when the distortion calculation is terminated, the index i+1 corresponding to the next codebook vector is sent to the distortion calculation unit 22, and the target is shifted to the next codebook vector. Also, since the vector indicated by the index l does not give the minimum distortion (upper limit U), the number of vectors belonging to the base value corresponding to this vector is decreased by one (step s8).
, the process moves to step 513, which will be described later.

一方、歪み計算値が打ち切れない場合には(No)、ベ
クトルの次数jと次元数Mを比較する(ステップS9)
On the other hand, if the calculated distortion value cannot be truncated (No), the order j of the vector and the number of dimensions M are compared (step S9).
.

ここで、ベクトルの次元数Mより小さければ(No)、
ベクトルの次数jに「1」を加えて(ステップ510)
、ステップs6に戻す。すなわち、歪み計算部22に送
る(ステップS 10)。
Here, if it is smaller than the vector dimension M (No),
Add "1" to the order j of the vector (step 510)
, return to step s6. That is, it is sent to the distortion calculation section 22 (step S10).

また、ベクトルの次数jが次元数Mに等しくなっても歪
み部分和Sjがそれまでの最小歪みよりも小さければ(
Yes)、インデックスminが示すベクトルは最小歪
みを与えないことが分かるので、このベクトルに対応す
る基底値に属するベクトル数を1ずつ減らす(ステップ
511)。
Furthermore, even if the vector order j becomes equal to the dimension number M, if the distortion partial sum Sj is smaller than the previous minimum distortion, then (
Yes), it is found that the vector indicated by the index min does not give the minimum distortion, so the number of vectors belonging to the base value corresponding to this vector is decreased by one (step 511).

この最小歪みを新たな上限値Uとしてメモリ24に記憶
し、この時のインデックスiを新たなインデックスmi
nとしてメモリ24に記憶する(ステップ512)。
This minimum distortion is stored in the memory 24 as a new upper limit value U, and the index i at this time is set as a new index mi.
n in the memory 24 (step 512).

このようにして、最小歪みを与えないことが分かったコ
ードブックベクトルに対応する基底値に属するベクトル
数が1ずつ減らされたことに伴い、属するベクトル数が
「0」になった最近接基底値があるか否か判定する(ス
テップ813)。
In this way, the number of vectors belonging to the base value corresponding to the codebook vector that was found not to give the minimum distortion was decreased by 1, and the nearest base value to which the number of vectors belonging became "0" It is determined whether or not there is (step 813).

ここで、「0」の最近接基底値がある場合には(Yes
)、該当する最近接基底値ポインタrpJあるいは「q
」を属するベクトルが存在する基底値までずらしくステ
ップ514)、下限値りを、計算し直すためにステップ
S2に戻る。
Here, if there is a nearest base value of "0" (Yes
), the corresponding nearest base value pointer rpJ or “q
'' to the base value to which the vector belongs (step 514), and the process returns to step S2 to recalculate the lower limit value.

一方、最近接基底値に属するベクトルの数が「0」にな
らなかった場合は、下限値りはそのままでステップS3
により処理を続行する。
On the other hand, if the number of vectors belonging to the nearest base value does not become "0", the lower limit value remains unchanged and step S3
Processing continues.

前述したような手順で上限値Uと下限値りが一致するま
で行う。
The procedure described above is repeated until the upper limit value U and the lower limit value coincide.

以上のことから、コードブックベクトルを全探索するこ
とにより得られる最適解と同じ解を得ることができ、且
つ探索を途中で打ち切ることができる。また歪み計算に
ついても入力ベクトルに適応して、歪みが大きくなる可
能性が高い成分から順に計算するので部分歪みは最少の
計算で最大となり、少ない計算回数で打ち切ることか可
能となる。これにより入力ベクトルに対する最適なコー
ドブックベクトルを少ない計算回数で、効率よく求める
ことができる。また下限値計算部23における最近接基
底値と入力ベクトル成分との歪みは。
From the above, it is possible to obtain the same optimal solution as the optimal solution obtained by performing a complete search of the codebook vectors, and also to terminate the search midway. In addition, since the distortion calculation is adapted to the input vector and calculated in order of components that are likely to have a large distortion, the partial distortion can be maximized with the minimum number of calculations, making it possible to abort the calculations with a small number of calculations. As a result, the optimal codebook vector for the input vector can be efficiently obtained with a small number of calculations. Also, the distortion between the nearest base value and the input vector component in the lower limit calculation unit 23 is as follows.

成分ごとに全く独立して計算できるので、これを並列に
処理することでさらに高速化を計ることができる。
Since each component can be calculated completely independently, it is possible to further speed up the calculations by processing them in parallel.

次に第4図に本発明の第2の実施例として、ベクトル量
子化装置の構成を示す。この装置の構成は、第1の実施
例と同様にコードブックベクトル生成部ユと最適ベクト
ル探索部2によって構成される。
Next, FIG. 4 shows the configuration of a vector quantization device as a second embodiment of the present invention. The configuration of this device is composed of a codebook vector generating section 2 and an optimum vector searching section 2, as in the first embodiment.

このコードブックベクトル生成部1は、第1の実施例の
トレーニング部10及びソート部11に加エテ、コード
ブック100のベクトルを人力するとそのベクトルに対
応するインデックスを出力するようなネットワーク40
0を生成するネットワーク生成部12によって構成され
る。最適ベクトル探索部2は第1の実施例の成分計算順
序決定部21、歪み計算部22下限値計算部23、メモ
リ24、比較部25に、入力ベクトルXが入力されると
ネットワーク400を用いてコードブック100に対す
る探索順序を決定する探索順序決定、 部20を加えた
構成とした。
This codebook vector generation unit 1 includes a network 40 that adds the training unit 10 and the sorting unit 11 of the first embodiment, and outputs an index corresponding to the vector when a vector of the codebook 100 is manually generated.
It is constituted by a network generation unit 12 that generates 0. The optimal vector search unit 2 uses the network 400 when the input vector The configuration includes a search order determination section 20 that determines the search order for the codebook 100.

次にこのような構成の装置の動作について説明する。Next, the operation of the apparatus having such a configuration will be explained.

前述した第2実施例のうち、まず前処理部としてのコー
ドブック生成部1のネットワーク生成部12の動作につ
いて、第5図(a)に示したフローチャートを参照して
説明する。
In the second embodiment described above, the operation of the network generation section 12 of the codebook generation section 1 as a preprocessing section will first be explained with reference to the flowchart shown in FIG. 5(a).

すなわち、前記ネットワーク生成部12では、第5図(
a)のフローチャートに従って、バックプロパゲーショ
ン法(D、E、Rumelhart、G、E、Hint
on。
That is, in the network generation section 12,
According to the flowchart in a), the backpropagation method (D.E., Rumelhart, G.E., Hint.
On.

and R1,Williais : Learnin
g representationsby back−
propagating errors、Nature
、Vol、323−9゜pp、533−538.198
6 )などにより学習した、第5図(b)に示す構成の
ような、コードン・ツクに対応したネットワーク400
が生成される。
and R1, Williams: Learn
g representations by back-
propagating errors, Nature
, Vol, 323-9゜pp, 533-538.198
A network 400 compatible with cordons, such as the configuration shown in FIG. 5(b), learned by
is generated.

このネットワーク400は、入力ベクトルが人力するた
めの複数の入カニニットからなる入力層と、それぞれが
全ての前記入カニニットと接続する複数の中間ユニット
からなる中間層と、さらにそれぞれが全ての前記中間ユ
ニットと接続するコードブックベクトルの数に対応した
複数の出カニニットとによって構成されている。
This network 400 has an input layer consisting of a plurality of input units for manually inputting an input vector, an intermediate layer consisting of a plurality of intermediate units each connected to all the input units, and an intermediate layer each connected to all the intermediate units. and a plurality of output units corresponding to the number of connected codebook vectors.

そしてこのような結合は、1つのコードン・ツクベクト
ルが、1つの出カニニットに対応している単純な階層型
結合である。そしてこのような階層型結合の他にも、各
層内で各ユニットが相互結合された階層型結合などのニ
ューラルネ・ソトワークで代表される幾つかのネットワ
ークを用いることも可能である。
Such a combination is a simple hierarchical combination in which one cordon vector corresponds to one output unit. In addition to such hierarchical connections, it is also possible to use some networks typified by neural networks, such as hierarchical connections in which units are mutually connected within each layer.

次に第5図(a)のフローチャートを参照してネットワ
ークの形成方法について説明をする。ここでネットワー
クの結合係数の初期値は乱数値などにより設定されてい
るものとする。
Next, a method for forming a network will be explained with reference to the flowchart of FIG. 5(a). Here, it is assumed that the initial value of the network coupling coefficient is set using a random value or the like.

まず、インデックスiが「1」に初期設定される(ステ
ップ521)。次にまだ未設定のネットワークにコード
ブックベクトルYiを入力する(ステップ522)。そ
して入力された前記インデックスiに対応するように1
つの出カニニットが「1」を出力し、他の出カニニット
がrOJを出力するように、ネットワークの結合係数を
変更する(ステップ823)。
First, index i is initialized to "1" (step 521). Next, the codebook vector Yi is input to a network that has not yet been set (step 522). Then, 1 is set to correspond to the input index i.
The coupling coefficient of the network is changed so that one output unit outputs "1" and the other output units output rOJ (step 823).

そして、インデックスiがrlJ個からrNJ個まで処
理をしたか判定する(ステップ524)。
Then, it is determined whether index i has been processed from rlJ to rNJ (step 524).

ここで、インデックスiがN個に満たない時(NO)に
は、前記インデックスiに「1」を加算して(ステップ
525)、ステップS22に戻す。
Here, if the index i is less than N (NO), "1" is added to the index i (step 525), and the process returns to step S22.

また、インデックスLがN個と同数になった時(Yes
)には、入力したどのようなインデックスiに対しても
、1つのインデックスiは、1つの出カニニットに対応
して出力し、同じインデックスiであれば、必ず同じ出
カニニットが出力するか判定をする(ステップ526)
Also, when the index L becomes the same number as N (Yes
), for any input index i, one index i is output corresponding to one output crab unit, and if the same index i is, it is determined whether the same output crab unit is always output. (step 526)
.

そして、インデックスiが異なる出カニニットにまだ出
力する等の1つのインデックスiか1つのaカニニット
に対応していない場合(No)は、ステップS1に戻る
。またインデックスlが正しく出力されていると判定さ
れた場合(Yes)は、学習が完了したと見なし、この
ネットワーク400の形成工程を終了する。
Then, if the index i does not correspond to one index i or one a crab unit, such as when the index i is still output to a different output crab unit (No), the process returns to step S1. If it is determined that the index l has been correctly output (Yes), it is assumed that learning has been completed, and the process of forming this network 400 is ended.

次に符号化部である最適ベクトル探索部2では、はじめ
に入力ベクトルXが探索順序決定部20に入力される。
Next, in the optimal vector search unit 2, which is an encoding unit, the input vector X is first input to the search order determination unit 20.

この探索順序決定部20では、コードブックベクトルに
より学習が終了しているネットワーク400を用いて、
その出カニニットの発火量(出力量)が大きい順に探索
するようにインデックスを並び換える。そしてこの順に
したがって、第1の実施例と同様に第3図のフローチャ
ートに示した処理を行う。
In this search order determining unit 20, using the network 400 whose learning has been completed using the codebook vector,
The indexes are rearranged so that the search is performed in descending order of the firing amount (output amount) of the output crab units. Then, in accordance with this order, the processing shown in the flowchart of FIG. 3 is performed similarly to the first embodiment.

以上のような第2の実施例によれば、コードブックベク
トルがどのように分布していようとも、歪み計算が入力
ベクトルに最も近いコードブックベクトルから開始され
るので、他のほとんどのコードブックベクトルとは、と
は歪み計算をする必要かなくなるか、あるいは、歪み計
算か必要となっても少ない計算回数で打ち切ることか可
能となる。これにより、入力ベクトルに対する最適なコ
ードブックベクトルを求めるための計算回数を非常に少
なくすることができる。
According to the second embodiment as described above, no matter how the codebook vectors are distributed, the distortion calculation starts from the codebook vector closest to the input vector, so most other codebook vectors This means that there is no need to perform distortion calculations, or even if distortion calculations are necessary, they can be aborted with fewer calculations. This makes it possible to significantly reduce the number of calculations required to find the optimal codebook vector for the input vector.

以上の説明において、歪み計算は2乗歪みを用いたがこ
れに他の歪みを用いることも可能である。
In the above explanation, the distortion calculation used square distortion, but it is also possible to use other distortions.

また本発明は、前述した一実施例に限定されるものでは
なく、他にも発明の要旨を逸脱しない範囲で種々の変形
や応用が可能であることは勿論である。
Further, the present invention is not limited to the one embodiment described above, and it goes without saying that various modifications and applications can be made without departing from the gist of the invention.

[発明の効果コ 以上詳述したように本発明によれば、高効率に、且つ高
速に探索することが可能なベクトル量子化方法とその装
置を提供することができる。
[Effects of the Invention] As described in detail above, according to the present invention, it is possible to provide a vector quantization method and an apparatus therefor that can search with high efficiency and at high speed.

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

第1図は本発明の第1実施例にかかる高速ベクトル量子
化装置の構成を示すブロック図、第2図(a)はコード
ブックの一例とする模式図、第2図(b)はソート表の
一例とする模式図、第2図(C)はベクトルのある次元
における入力ベクトルXに最も接近した基底値(最近接
基底値)を示すポインタの動きを示す概念図、第3図は
最適ベクトル探索部が最適なコードブックベクトルを探
索するフローチャート、第4図は本発明の第2の実施例
にかかるベクトル量子化装置の構成を示す図、第5図(
a)はネットワークの形成方法の一例を示すフローチャ
ート、第5図(b)はネットワークの構成の一例を示す
図である。 1・・・コードブック生成部、2・・・最適ベクトル探
索部、10・・・トレーニング部、11・・・ソート部
、12・・・ネットワーク生成部、20・・・探索順序
判定部、21・・・成分計算順序決定部、22・・・歪
み計算部、22a・・・次元歪み計算部、22b・・・
部分歪み計算部、23・・・下限値計算部、24・・・
メモリ、25・・・比較部、100・・・・コードブッ
ク、200・・・ソート表、300・・・成分計算順序
表、400・・・ネットワーク。 手続補正書 平成  年3.9で4 日
FIG. 1 is a block diagram showing the configuration of a high-speed vector quantization device according to a first embodiment of the present invention, FIG. 2(a) is a schematic diagram as an example of a codebook, and FIG. 2(b) is a sorting table. A schematic diagram as an example, Figure 2 (C) is a conceptual diagram showing the movement of a pointer indicating the base value (nearest base value) closest to the input vector A flowchart in which the search unit searches for an optimal codebook vector, FIG. 4 is a diagram showing the configuration of the vector quantization device according to the second embodiment of the present invention, and FIG.
FIG. 5(a) is a flowchart showing an example of a method for forming a network, and FIG. 5(b) is a diagram showing an example of the configuration of the network. DESCRIPTION OF SYMBOLS 1... Codebook generation part, 2... Optimal vector search part, 10... Training part, 11... Sorting part, 12... Network generation part, 20... Search order determination part, 21 ...component calculation order determining unit, 22...distortion calculation unit, 22a...dimensional distortion calculation unit, 22b...
Partial distortion calculation unit, 23... Lower limit value calculation unit, 24...
Memory, 25...Comparison unit, 100...Codebook, 200...Sort table, 300...Component calculation order table, 400...Network. Procedural amendment written on March 9, 1998, 4 days

Claims (4)

【特許請求の範囲】[Claims] (1)入力ベクトルとコードブックベクトルとの比較に
よる探索が終了した内で、その中の最小歪みを歪みの上
限値とする上限値設定工程と、最小歪みを与えるコード
ブックベクトルおよび探索未終了のコードブックベクト
ルと、前記入力ベクトルとの次元ごとに算出される最小
歪みの和を歪みの下限値とする下限値設定工程と、 前記下限値と前記上限値を格納し比較する格納比較工程
と、 前記格納比較工程により前記上限値と前記下限値が比較
され一致した時点で探索を終了する探索終了工程と、 前記探索終了工程により未終了とされたとき、各次元ご
とに順次、所定次成分までのコードブックベクトルと入
力ベクトルとの歪みの部分和を算出する歪み部分和算出
工程と、 前記部分和と前記上限値とを比較して、前記部分和が前
記上限値より同値もしくは大となるときには、それ以上
の歪み計算を打ち切る歪み計算打ち切工程と、 前記部分和が前記上限値より小なるときは、該部分和を
新たな上限値として更新する上限値更新工程とを具備す
ることを特徴とするベクトル量子化方法。
(1) An upper limit value setting step in which the minimum distortion is set as the upper limit value of the distortion after the search by comparing the input vector and the codebook vector is completed; a lower limit value setting step in which the sum of minimum distortions calculated for each dimension of the codebook vector and the input vector is set as a lower limit value of distortion; a storage comparison step in which the lower limit value and the upper limit value are stored and compared; a search termination step in which the upper limit value and the lower limit value are compared in the storage comparison step and the search is terminated when they match; and when the search is determined to be unfinished in the search termination step, the search is sequentially performed for each dimension up to a predetermined order component; a distortion partial sum calculation step of calculating a partial sum of distortions between the codebook vector and the input vector; and comparing the partial sum with the upper limit value, and when the partial sum is equal to or larger than the upper limit value. , a distortion calculation abort step of aborting further distortion calculations, and an upper limit value updating step of updating the partial sum as a new upper limit value when the partial sum is smaller than the upper limit value. vector quantization method.
(2)各次元ごとのコードブックベクトルの平均値と入
力ベクトルとの差の絶対値を次元ごとに計算し、前記歪
み部分和算出工程において、前記差の絶対値が大きい成
分から順に計算の対象となるように、その選択の順序を
設定する工程を具備することを特徴とする請求項(1)
記載のベクトル量子化方法。
(2) The absolute value of the difference between the average value of the codebook vector for each dimension and the input vector is calculated for each dimension, and in the distortion partial sum calculation step, the components with the largest absolute value of the difference are calculated in order. Claim (1) characterized by comprising the step of setting the selection order so that
Vector quantization method described.
(3)入力ベクトルとコードブックベクトルとの比較に
よる探索が終了した内で、その中の最小歪みを歪みの上
限値とする上限値設定工程と、コードブックを形成する
複数の次元からなるベクトルに対して、該次元ごとに独
自な成分値を基底値として分類する分類手段と、 入力ベクトルに最も近似し且つ、未探索のコードブック
ベクトルおよび最小ベクトルを与えるコードブックベク
トルに属する基底値との歪みのすべての次元にかかる和
を算出する下限値設定手段と、 前記下限値と前記上限値を格納し比較する格納比較手段
と、 前記格納比較手段により前記下限値と前記上限値が比較
され一致した時点で探索を終了する探索終了手段と、 前記探索終了手段により未終了とされたとき、低次元成
分から順次、所定次成分までのコードブックベクトルと
入力ベクトルとの歪みの部分和を算出する歪み部分和算
出手段と、前記部分和と前記上限値とを比較して、前記
部分和が前記上限値より同値もしくは大となるときには
、それ以上の歪み計算を打ち切る歪み計算打ち切り手段
と、 前記部分和が前記上限値より小なるときは、該部分和を
新たな上限値として更新する上限値更新手段とを具備す
ることを特徴とするベクトル量子化装置。
(3) After completing the search by comparing the input vector and the codebook vector, there is an upper limit setting step in which the minimum distortion is set as the upper limit value of the distortion, and a vector consisting of multiple dimensions forming the codebook is set. On the other hand, a classification means that classifies a unique component value for each dimension as a base value, and a distortion between a base value belonging to a codebook vector that most closely approximates the input vector and provides an unsearched codebook vector and a minimum vector. a lower limit value setting means for calculating a sum over all dimensions of; a storage comparison means for storing and comparing the lower limit value and the upper limit value; and a storage comparison means for comparing the lower limit value and the upper limit value and determining whether they match. a search terminating means for terminating the search at a point in time; and a distortion for calculating a partial sum of distortions between a codebook vector and an input vector sequentially from a low-dimensional component to a predetermined order component when the search is determined to be unfinished by the search terminating means. a partial sum calculation means; a distortion calculation aborting means for comparing the partial sum and the upper limit value and aborting further distortion calculations when the partial sum is equal to or larger than the upper limit value; and the partial sum a vector quantization device, comprising upper limit updating means for updating the partial sum as a new upper limit when the partial sum is smaller than the upper limit.
(4)コードブックを形成するベクトルの平均値を次元
ごとに計算する平均値計算手段と、前記平均値計算手段
による平均値と入力ベクトルとの次元ごとの差の絶対値
を求める差分計算手段と、 前記差分計算手段による前記差分の絶対値が大きい順に
歪み計算をするように順序を決定する計算順序決定手段
とを具備することを特徴とするベクトル量子化装置。
(4) average value calculation means for calculating the average value of vectors forming a codebook for each dimension; and difference calculation means for calculating the absolute value of the difference for each dimension between the average value by the average value calculation means and the input vector. A vector quantization device, comprising: calculation order determining means for determining an order so that the distortion calculations are performed in descending order of the absolute value of the difference by the difference calculation means.
JP2280988A 1990-10-03 1990-10-19 Vector quantization method and vector quantization apparatus Expired - Fee Related JP3015446B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2280988A JP3015446B2 (en) 1990-10-19 1990-10-19 Vector quantization method and vector quantization apparatus
US07/770,987 US5194864A (en) 1990-10-03 1991-10-01 Vector quantization method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2280988A JP3015446B2 (en) 1990-10-19 1990-10-19 Vector quantization method and vector quantization apparatus

Publications (2)

Publication Number Publication Date
JPH04156181A true JPH04156181A (en) 1992-05-28
JP3015446B2 JP3015446B2 (en) 2000-03-06

Family

ID=17632694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2280988A Expired - Fee Related JP3015446B2 (en) 1990-10-03 1990-10-19 Vector quantization method and vector quantization apparatus

Country Status (1)

Country Link
JP (1) JP3015446B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5762879A (en) * 1994-11-02 1998-06-09 Todoroki Sangyo Kabushiki Kaisha Reaction heat control mechanism of heat exchange area regulation type in a chemical reaction apparatus
JP2002232295A (en) * 2001-02-05 2002-08-16 Sony Corp Method and device for quantizing vector
JP2002232296A (en) * 2001-02-06 2002-08-16 Sony Corp Method and device for generating code book for vector quantization

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5762879A (en) * 1994-11-02 1998-06-09 Todoroki Sangyo Kabushiki Kaisha Reaction heat control mechanism of heat exchange area regulation type in a chemical reaction apparatus
JP2002232295A (en) * 2001-02-05 2002-08-16 Sony Corp Method and device for quantizing vector
JP4631178B2 (en) * 2001-02-05 2011-02-16 ソニー株式会社 Vector quantization method and vector quantization apparatus
JP2002232296A (en) * 2001-02-06 2002-08-16 Sony Corp Method and device for generating code book for vector quantization
JP4590747B2 (en) * 2001-02-06 2010-12-01 ソニー株式会社 Vector quantization codebook generation method and codebook generation apparatus

Also Published As

Publication number Publication date
JP3015446B2 (en) 2000-03-06

Similar Documents

Publication Publication Date Title
He et al. Asymptotic soft filter pruning for deep convolutional neural networks
Liu et al. Frequency-domain dynamic pruning for convolutional neural networks
CN111198959B (en) Two-stage image retrieval method based on convolutional neural network
CN109716362B (en) Neural network device, vehicle control system, decomposition processing device, and program
Khrulkov et al. Tensorized embedding layers for efficient model compression
JP5235666B2 (en) Associative matrix method, system and computer program product using bit-plane representation of selected segments
Yu et al. Accelerating convolutional neural networks by group-wise 2D-filter pruning
CN111882040A (en) Convolutional neural network compression method based on channel number search
KR20200032258A (en) Finding k extreme values in constant processing time
Watanabe et al. A new pattern representation scheme using data compression
CN111177438B (en) Image characteristic value searching method and device, electronic equipment and storage medium
Liu et al. Multiobjective criteria for neural network structure selection and identification of nonlinear systems using genetic algorithms
CN110457514A (en) A kind of multi-tag image search method based on depth Hash
CN111723914A (en) Neural network architecture searching method based on convolution kernel prediction
CN114186084B (en) Online multi-mode Hash retrieval method, system, storage medium and equipment
CN112994701A (en) Data compression method and device, electronic equipment and computer readable medium
CN116225525A (en) Code complement method combining user feedback and deep learning
Eban et al. Structured multi-hashing for model compression
Kumar et al. CorrNet: pearson correlation based pruning for efficient convolutional neural networks
Cardinaux et al. Iteratively training look-up tables for network quantization
US5194864A (en) Vector quantization method and apparatus
US6286012B1 (en) Information filtering apparatus and information filtering method
Byttebier et al. Small-footprint acoustic scene classification through 8-bit quantization-aware training and pruning of ResNet models
Qi et al. Learning low resource consumption cnn through pruning and quantization
JPH04156181A (en) Vector quantization method and vector quantizer

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees