JPH07115370A - 高速ベクトル量子化器および高速ベクトル量子化方法 - Google Patents

高速ベクトル量子化器および高速ベクトル量子化方法

Info

Publication number
JPH07115370A
JPH07115370A JP28592193A JP28592193A JPH07115370A JP H07115370 A JPH07115370 A JP H07115370A JP 28592193 A JP28592193 A JP 28592193A JP 28592193 A JP28592193 A JP 28592193A JP H07115370 A JPH07115370 A JP H07115370A
Authority
JP
Japan
Prior art keywords
vector
norm
node
region
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.)
Pending
Application number
JP28592193A
Other languages
English (en)
Inventor
Tatsuya Sato
龍哉 佐藤
Ichiro Akahori
一郎 赤堀
Keiji Furuhata
慶次 古畑
Hideki Sato
秀樹 佐藤
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.)
Denso Corp
Original Assignee
NipponDenso 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 NipponDenso Co Ltd filed Critical NipponDenso Co Ltd
Priority to JP28592193A priority Critical patent/JPH07115370A/ja
Publication of JPH07115370A publication Critical patent/JPH07115370A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】最小歪のコードベクトルが得られ、データ処理
能力を向上したベクトル量子化器およびベクトル量子化
方法を提供すること。 【構成】図1は高速ベクトル量子化器のブロック構成図
で、専用ICの距離計算回路1gを持つ検索制御手段1b、コ
ードブック(CB)1aから成り、CB 1a は、第m段までの二
分木構造のノード分割条件を有するROM である。縮小多
次元二分木を用いればさらに分割領域は大幅に縮小す
る。入力ベクトル1hが、CB 1a のどのコードベクトルに
最も近いかを二分木を辿り暫定解を求めた後、各ノード
で形成された領域との∞ノルムによる距離の自乗値と比
較され、全てのノードを調べ、最終的にバックトラック
制御部1cより結果が出力される。∞ノルム距離の計算
は、減算、自乗演算のみで、浮動小数点を含む開平演算
を必要とせず、ユークリッド距離を出して比較するより
も、かなり計算を省くことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、任意のベクトル信号入
力を規定のベクトル値に規格化したり、入力信号系列を
複数個まとめてブロック化し、これを多次元空間で量子
化するベクトル量子化器に関する。
【0002】
【従来の技術】ベクトル量子化を簡単な具体的な例で言
うと、デジタイザ等の平面デジタル入力装置で、ある任
意の座標点が入力された場合に、その点の座標値を、予
め決められた実数格子点のうちの、その入力点に最も近
い格子点の座標に置き換えて、特定の代表的な実数座標
値しかデータとして扱わないようにすることを行ってい
るが、この例では、代表点が整数の場合は、入力値の小
数点以下を四捨五入もしくは切捨て等の処理により簡単
に実現される。このように、任意に入力された座標値
を、特定の実数格子点座標というとびとびの値(量子
値)に規格化することが量子化であり、その要素が多次
元(上記例では二次元)であるのでベクトル量子化と呼
ばれることを言う。
【0003】従来このベクトル量子化は、特徴あるすぐ
れた符号化方式として音声認識や画像データ処理認識等
においてよく研究がなされている。例えば、「au」の
発音が「アー」なのか「オー」なのかを、マイクで拾っ
た音声信号によって自動的に判定するためには、このベ
クトル量子化技術が欠かせない。元々、ベクトル量子化
の一般的課題は、任意の、もしくは予想される全ての入
力ベクトルに対して量子化歪みの小さい(即ち距離また
は2次ノルムが最小な)代表点となるコードベクトルを
与えるコードブック(コードベクトルの集合)が設計さ
れていること、そして、効率よく入力ベクトルに近いコ
ードベクトルの符号を選択し出力する方式・アルゴリズ
ムを実現することである。
【0004】図2に、二次元の場合に入力されたベクト
ルxとコードベクトルYi との距離関係を示す。図2の
場合、入力ベクトルxに最小距離のコードベクトルはY
2 であることが明白であるが、多次元の場合や見た目に
同様な距離の場合は目視では判定できない。これを自動
的に装置で実施させることは容易ではない。
【0005】符号を効率よく選択することは、音声デー
タなど大量のデータをリアルタイムで処理するためには
必要不可欠であり、普通は取り扱うデータ量が多い為に
単純なアルゴリズムでは実用的でない。そこで様々なア
ルゴリズムが考案され、効率良く符号を選択できるよう
コードブックにデータ構造をもたせて、少ない処理時間
で結果が得られるよう工夫される。よく利用される分類
方法として、分岐限定法があり、とりわけそのうちの二
分木(ツリー)探索法がある。これは、全コードベクト
ルを大きく二つの部分に分け、その一つをさらに二つに
分けて、というように最終的に一つ一つのコードベクト
ルになるまで二分木状に分類した構造にしておくことで
探索(最小距離のコードベクトルを探すこと)を実行し
やすくする方法である。この二分木の分岐点をノードと
呼び、ブロック状態のコードベクトル群を含む分割され
た領域を意味し、下位のノードへの分岐を決めるノード
分岐条件を有している。ノードは階層的構造となり、最
上段がルート、最下段が終端ノードとなる。そしてこの
二分木構造の探索方法として、二つの代表的な最良優先
探索と深さ優先探索とがあるが、コンピュータ処理に
は、メモリが少なくて済み、プログラム容易な深さ優先
探索が良く利用される。
【0006】この深さ優先探索は、二分木構造の終端ノ
ードのレベルから探索し、同じ深さの活性ノード(その
深さのノードで下位のノードがあるノードもしくは未検
索のノード)がなければもう一段上位のレベルで活性ノ
ードについて探索が継続され、最終的に全ての終端ノー
ドがチェックされる。このように二分木の経路を下から
上へ後戻りするのでバックトラック方式とも呼ばれる。
この検索を用いた方法がFriedmanらによってFBF法と
して示されている(Friedman et al.;An Algorithm for
Finding Best Matches in Logarithmic Expected Tim
e, ACM Tran. Math. Software,Vol.3,No.3,pp.209-226
(1977).)。FBF法のk次元二分木のデータ構造におい
て、各非終端ノードに対するノード分岐条件として一つ
の分割軸と一つの閾値(スカラー量)を適切に決定し
て、k−1次元の境界(k次元空間におけるk−1次元
超平面)によってできるk次元空間の部分領域を形成
し、終端ノードの領域ではそれぞれ一つのコードベクト
ルを有するように構成してある。この構成で探索を行う
ので、入力ベクトルがどの領域に近く、どのコードベク
トルに最も近いのかを探索しやすい構造であり、それ
で、最適なコードベクトルを求めるために、平均的な距
離計算回数がFSC法の回数N回を大きく下回る、距離
計算回数O(logN)( logNの定数倍)で実現する方法
である。その他、主成分ベクトルを用いる方法も提案さ
れているが、しかしそれでも、これらは距離を計算する
際に根の計算を行うため浮動小数点計算が多くなり、そ
のため高価な乗算器を多数用意しなければならずコンピ
ュータ処理ではメモリ容量が多くなるという問題があ
る。従ってこれらの方法は、処理時間として最短時間な
ものではなく、大量データの処理に対応するには十分と
は言いがたい。
【0007】そこで、さらに高速に計算させる手法とし
て例えば特公平1-37047 号公報で示されるように、コー
ドブックの二分木構造で高速に解を見出す手法が提案さ
れている。この提案は二分木探索法の一つではあるが、
深さ優先探索ではなく、単純に最良のノード選択を行い
最下段に至るものであって、それまでの単純な全てのコ
ードベクトル(N個)について総計算するFSC(Full
Search Coding)法の場合(N回)と比べて少ない距離計
算回数 logNで符号化できる手法である。
【0008】
【発明が解決しようとする課題】しかしながら、前述の
高速二分木探索方法では、計算回数は確かに減少する
が、必ず最小距離となるコードベクトルを選択する保証
がない、という問題がある。このことは、解として歪の
極小値を選択してしまう可能性を残しているということ
で、応用の際に誤った認識・判定が成されてしまう可能
性があることを意味する。それで、k次元二分木を利用
するFBF法や主成分ベクトルを用いる方法に対して、
より短時間で最適なコードベクトルを求めることがで
き、しかも平均的な距離計算回数が前述の距離計算回数
程度のO(logN)で実現する方法が必要とされていた。
【0009】従って本発明の目的は、必ず最小歪(最小
距離または最小2次ノルム)のコードベクトルが得られ
て、距離計算回数がFBF法のO(logN)とほとんど変
わらず少なくて済むアルゴリズムで、かつさらに処理時
間の短い、データ処理能力を向上したベクトル量子化器
およびベクトル量子化方法を提供することである。
【0010】
【課題を解決するための手段】上記の課題を解決するた
め本発明の構成は、予めk(k≧1)次元二分木分割
の、一つの要素軸と該要素軸を分割する閾値とからなる
ノード分割条件と、前記ノード分割条件により定義され
て階層的な分割領域に分割されたコードブックとからな
る構造化データ部を有し、k次元の入力ベクトルに基づ
いて、前記コードブックに含まれる各コードベクトルの
うち該入力ベクトルと最小2次ノルムとなるコードベク
トルを順次探索する探索制御手段を有し、最小コードベ
クトルを示す出力を得る高速ベクトル量子化器におい
て、前記探索制御手段内に、前記コードブックの一つの
コードベクトルと前記入力ベクトルとの2次ノルムを算
出する距離計算手段を有し、前記入力ベクトルを入力
し、探索パラメータの初期値を設定し、該探索パラメー
タを基に、前記ノード分割条件により前記入力ベクトル
が、どの終端ノードに属するかを判定して、該終端ノー
ドに属するコードベクトルと前記入力ベクトルとの2次
ノルムおよび出力の暫定解を設定する暫定解探索手段
と、該二分木分割を後戻りして、暫定解の前記2次ノル
ムを、他の前記分割領域および前記入力ベクトル間の∞
ノルムと比較して、前記2次ノルムより短い∞ノルムの
分割領域を選択し、順次二分木分割をたどり、より短い
∞ノルムの分割領域に含まれるコードベクトルとの2次
ノルムと前記暫定解の2次ノルムとを比較して、より短
ければ前記暫定解を更新し、全ての分割領域が探索で判
定された後、得られた前記最小コードベクトルのインデ
ックスを前記出力として出力するバックトラック制御部
とを有することである。
【0011】また関連発明の構成は、前記k次元二分木
分割が、非終端ノードのノード分割条件である分割軸お
よび上方閾値、下方閾値の二閾値とから、該分割軸に関
して上方領域、中央領域、下方領域の3つに分割された
領域を構成し、二分木の分割領域を前記上方領域および
前記下方領域とし、前記中央領域にはコードベクトルを
含まない領域とした縮小k次元二分木分割となっている
ことである。
【0012】別の関連発明の構成は、前記構造化データ
部が、ROMから成り、前記ROMに、前記ノード分割
条件、前記インデックス、前記k次元コードベクトルが
記憶保持されていることを特徴とする。
【0013】さらに別の関連発明の構成は、前記距離計
算手段が、k(k≧1)次元空間で2次ノルムを演算す
る専用集積回路であるとなっていることである。
【0014】さらに別の関連発明の構成は、前記探索制
御手段に、前記2次ノルムの計算を実施しながら、前記
コードブックの分割された部分である領域の遠近が判断
され、前記計算を中断する機能を備え、該2次ノルムと
前回値との比較を行う比較器を有することである。
【0015】また第二発明の構成は、k(k≧1)次元
コードベクトルを有し、k次元二分木分割のノード分割
条件である分割軸と該分割軸の閾値とによって階層的な
二分木の段で定義されたk次元ベクトル空間の領域で前
記コードベクトルを分類したコードブックを基に、k次
元の入力ベクトルと最小2次ノルムとなる最小コードベ
クトルを探索し、該最小コードベクトルを示す出力を得
るバックトラック方式高速ベクトル量子化方法におい
て、前記領域の内、二分木階層構造の最下段の、前記入
力ベクトルが含まれる直属領域を前記ノード分割条件に
従って最初に探索して、該直属領域に属する直属コード
ベクトルと前記入力ベクトルとの2次ノルムの自乗値、
および該直属コードベクトルのインデックスを前記出力
の暫定解とし、探索が終了した領域のすぐ上段のノード
分割条件で決まる分割の他領域と前記入力ベクトルとの
∞ノルムと前記暫定解の2次ノルムとを自乗値で比較し
て、前記他領域と前記入力ベクトルとの遠近を判断し
て、より近距離の領域を選択してさらに下段の領域を探
索し、前記各ノード分割の最終段である終端ノードの領
域に含まれるコードベクトルと前記入力ベクトルとの2
次ノルムが前記暫定解の2次ノルムと自乗値で比較さ
れ、比較された結果、より短距離であれば前記暫定解の
2次ノルムの自乗値を更新し、短距離で無ければそのま
ま次の探索に移り、すべての領域を探索し、全ての領域
を探索し終えた時点で得られた前記最小ベクトルを示す
インデックスを出力することからなる高速ベクトル量子
化方法である。
【0016】第二発明の関連発明の構成は、前記2次ノ
ルムの計算において、当該2次ノルムの全ての計算を実
施しない内に、該2次ノルムの自乗値が前記暫定解の2
次ノルムの自乗値より大きくなれば、前記計算が中断さ
れて次の探索に進む判定を行うことである。
【0017】
【作用】FBF法によるk次元二分木分割されたコード
ブックを利用し、この二分木をたどって距離の最小なコ
ードベクトルを決定する探索で、まず最初に入力ベクト
ルが含まれる領域を求め、その領域のコードベクトルと
のユークリッド距離を暫定的に最短値(暫定解)として
おく。そして他の領域と入力ベクトルとの距離を探索で
比較する際に、∞ノルム(k次元の各要素の差の絶対値
のうち最大の値)の自乗値で比較し、短ければ選択され
る。そして終端ノードの場合は、その領域に含まれるコ
ードベクトルとの2次ノルム(ユークリッド距離)の自
乗値を算出して比較し、より短ければ暫定解を更新し
て、次々と全てのノードをついて探索を行う。すべての
探索を終えた際に、暫定解として得られているコードベ
クトルが求める最小距離のコードベクトルである。
【0018】2次ノルムで距離を計算する際、自乗値で
求める。これは距離演算手段において二点間の距離をピ
タゴラスの定理を用いて算出することを実行しているの
で、元々自乗値を計算しているためである。それで、こ
の計算を専用ICもしくは専用回路で実施する。また自
乗値のままであるので、マイクロプロセッサで処理時間
のかかる浮動小数点を含む開閉計算を必要としない。
【0019】縮小k次元二分木を利用する探索では、二
分木が上記FBF法を敷衍したものであり、非終端ノー
ドのノード分岐条件において、二つの閾値Hl とHh
によってそのノードの領域を三分割し、真ん中の領域に
はコードベクトルを含まないよう構成して、両端の領域
を選択して下段のノード構造が決められている。そのた
め、終端ノードの領域においては、もちろんコードベク
トルを一つ含むが、FBF法の場合に比べて小さい領域
で構成されている。コードベクトルの数が多いと領域の
大きさはより小さく構成される。それで、この縮小k次
元二分木による探索はFBF法の場合と同様であるが、
二分木の構成がFBF法と異なっているのみである。即
ち探索は、暫定解となる領域をまず探索して、その後他
の領域と入力ベクトルとの∞ノルムを算出して比較選択
する。そして終端ノード領域についてコードベクトルと
の2次ノルム(距離)を求めて真の最小距離として登録
され、その符号が出力される。
【0020】終端ノードにおいて、その領域のコードベ
クトルとの2次ノルムを算出する場合に、k次元ベクト
ルの要素ごとに長さを求めて、その自乗和を計算する
が、その際にその自乗和の値が暫定解の距離(自乗値)
をオーバーした時は、もう最後まで計算しなくても、求
めるコードベクトルではないことが判明するので、2次
ノルム計算の最中に暫定解との距離比較を行い、オーバ
ーした時点で次の探索に移るようにしてもよい。この距
離比較も自乗値で実施する。
【0021】
【発明の効果】幾何学的に正確な二点間のユークリッド
距離である2次ノルムを算出するには計算がルート計算
が入るなど複雑になるため演算処理時間がかかるが、自
乗値のままで比較すること、および∞ノルムの自乗値で
比較することで計算時間の短縮が実現する。さらに距離
計算の最中で暫定解より大きくなれば計算を打ち切るた
めに短縮化がはかれる。縮小k次元二分木の場合では、
k次元二分木の分割構成が、従来に比べて狭い領域で構
成されるので、より正確な距離判定が行われ、それで距
離計算が減少し、その分探索が少ない、つまり距離計算
回数が少なくなる。またこの探索法は必ず最小距離のコ
ードベクトルを探索して出力する。また距離計算の最終
値を待たなくとも、正確な判定のできる計算打切りをし
て、処理時間の短縮をはかることができる。
【0022】
【実施例】以下、本発明を具体的な実施例に基づいて説
明する。 (第一実施例)図1は、本発明の高速ベクトル量子化器
のブロック構成を示した図で、入力ベクトルx=(x1,x
2,x3, …,xk ) 1hはマイクロコンピュータなどから成
る検索制御手段を構成するバックトラック制御部1cと
距離計算回路(距離計算手段)1gとに入力される。予
め構成されたコードブック(構造化データ部)1aは、
内部で第1段から第m段まで二分木構造に設定された領
域分割情報を有するROMなどからなり、各段からは内
部で各ノードの分割条件を決める分割軸jと閾値hとが
選択信号出力ビット(選択信号出力部)1dに選択され
て選択回路1fに入力されている。この選択回路1fに
は、バックトラック制御部1cから探索すべき段が指示
される探索段1eがつながれ、この選択回路1fから、
対応する二分木の段のノード分割条件がバックトラック
制御部1cに出力されるように接続されている。またコ
ードブックの最終のm段からは、指示された領域に含ま
れるコードブックのコードベクトル値が距離計算回路1
gに接続され、実際のユークリッド距離(2次ノルム)
を計算してバックトラック制御部に入力される。この距
離計算回路1gは専用チップもしくは専用ICとするこ
とができ、高速な浮動少数点計算を実施させることがで
きる。
【0023】構造化データ部の二分木の構成は、第一実
施例では、FBF法でk次元のデータを分類した場合を
利用する。FBF法による二次元のコードベクトルを分
割した一例を図3に示す。FBF法の場合、k次元二分
木の分割は一つの次元、つまりベクトルの一要素の軸で
実施され、その軸の決定は、コードベクトルの要素の分
散値が最も大きい方向、即ち広がりが大きい要素の軸j
をとり、閾値hはその分割軸方向jの要素平均値Σyj
/n(yj は各コードベクトルのj軸要素、nは領域を
なすコードベクトル個数)を算出して決定してある。な
おこの図3(a)では、グラフの大きい正方形がこの二次
元の場合における入力ベクトルの取りうる全領域となっ
ているが、この外枠は特に限定する必要はなく、対象と
なる入力ベクトルの存在する範囲であればよい。
【0024】まず領域の分割は第1軸上の閾値h1で二
つのグループに分割されて、次にそれぞれの分割された
領域で今度は両領域とも第2軸の方向でそれぞれ閾値h
2、h3で分割される。同様にしてそれぞれの領域内に
一つのコードベクトルが含まれるように分割される。こ
の関係を二分木表現したものが図3(b) である。つまり
分割の分岐の基であるノードにその分割軸と閾値とが関
係し、ノード分岐条件として与えられる。そして最終段
3dになると、図3(a) では閾値で囲まれたある範囲の
領域を示すが、それは各コードベクトルそのものにな
る。因みに図3(a) の30で示される領域は、図3(b)
では31に相当する。このk次元二分木の構成は、ベク
トル量子化器にとっては予め設計されていることになる
ため、二分木は固定された構成となり、ノードの数や段
の数も決定していて、固定データとなる。なお図1の構
成では、二分木の階層はm段構成としている。
【0025】各段の内、最終段(終端ノード)以外の第
i段の構成は、図5に示すように、各ノード分岐条件の
分岐軸j、閾値hがそれぞれメモリレジスタに5a、5
b、5cのように格納され、選択信号ビットが当該第i
段のどのノードかを指示した際に、この段の内部にある
選択回路5d、5eが該当するノードの分岐軸、閾値を
出力する。段が深くなる程、つまりm-1 段が最も多くノ
ード分岐条件を保持し、それだけ指定するラインを必要
とする。実際には選択信号出力ビット1dにより、必要
なメモリレジスタのアドレスを指定する。この各段の出
力は図1のバックトラック制御部1cに入力される。
【0026】最終段の第m段は、図6に示す構成で、こ
こでは各ノードは終端でありコードベクトルが一つしか
ないので、コードベクトルのk個の要素が格納され、選
択信号ビットがどのノード、即ちどのコードベクトルか
を指定し、第m段内部の選択回路6dで指定されたコー
ドベクトルのデータが選択され、データおよびインデッ
クスがバックトラック制御部1cに出力される。
【0027】ここで、代表点ベクトルyi についてユー
クリッド距離(2次ノルム)を数式的に示すと数1式で
表される。
【数1】d(x,yi )≡‖x−yi 2 =( j=1Σ k|xj −yij2 1/2 これに対して∞ノルムは数2式のようである。
【数2】 dq (x,yi )≡‖x−yi q (q=∞) = max|xj −yij| これらの数式からわかるように、∞ノルムは単純な減算
のみで得られる。数1式は自乗和の計算と平方根の計算
が入るため、処理上時間がかかる。そこで平方根なしの
ままで値を比較をしても大小関係になんら影響はないこ
とから、距離の比較は自乗値で実施される。また、この
式を用いて、領域Sと入力ベクトルxとの距離を次式で
定義する。
【数3】 dq (x,S)≡ inf dq ( x,s ) , ∀ s∈S 従って、領域Sと入力ベクトルxとの∞ノルムは、領域
を形成する境界面(二次元は線)もしくはその延長面の
うちで入力ベクトルに最も近い領域点を含む面に対して
垂線を下ろした長さになる。その領域点が面と面との境
界であれば、その点を含む面すべてに対して垂線をおろ
し、その中の最も長い垂線が∞ノルムとなる。
【0028】上記の距離の関係を図4で説明する。各ノ
ードの領域において次の段をチェックする際に、分割軸
で軸方向の距離を出すので、当然、分割前の距離と分割
によってできた新しい距離との比較ができる。従って、
各領域との自乗距離の値はわかる。つまり図4(a) に示
すように、あるノードにおいて領域Sは軸jおよび閾値
hで分割され、その時点で距離DISTが図4(b) に示す半
径DISTのようであったとすると、その分割による新たな
領域Sl 、Sr との距離はそれぞれ、d(x,Sl )=
d(x,S)、d(x,Sr )となる。従って計算に用
いる∞ノルムの距離は、領域Sl に対してはd(x,
S)そのまま、領域Sr に対してはちょうど|xj −h
|(図4(b) の40)となる。図4(b) ではd(x,
S)が距離DISTより短いので、次に探索されるノードは
左のノードとなる。
【0029】この高速ベクトル量子化器は、入力ベクト
ル1hが入力されると、バックトラック制御部が処理を
実行し、後述するフローチャートに従って探索処理を実
施していく。各段のどのノードが問題になっているかを
選択信号出力ビット1dより指示し、コードブックはそ
のノード分割条件を出力する。この指示は段が増えるに
つれて順次ビットを決めていくので、たどってきた各段
のノード分割条件は保持され、下の段から戻ってくる際
に直ちに選択回路1fによってバックトラック制御部1
cへ値を出力できる(バックトラック動作)。出力され
たデータは探索段1eで指示する段数により選択回路1
fによって選択されて、このコードブックの出力が次の
段の判定に利用される。各段の探索結果から、該当する
コードベクトルデータが距離計算手段へ送られ、実際の
距離が算出される。それがバックトラック制御部で、他
の領域、即ち上段側で∞ノルムが計算され、そして最終
的に探索され決定されたインデックスが出力1iとして
バックトラック制御部1cより出力される。
【0030】以上のような構成で、主にバックトラック
制御部で実行されるプログラム処理は初期化処理と探索
ルーチンであり、これは図7に示される。一般に、初期
化として暫定解の自乗距離(DIST2)は∞とし、出力のイ
ンデックスIDX は有り得ない値として-1、探索の開始は
ルートから始めるよう0段(SL=0)に設定される。探索
ルーチンは例えば関数SEARCH名で図8に示される。ここ
では、この関数に再帰可能なプログラム言語を使用して
いるので簡単な記述ができる。
【0031】図8の関数SEARCHのフローチャートで、ま
ずk次元二分木の分割のスタートであるルート(第1
段、図3(b) の3aにあたる)のノードから検索を開始
する。まずステップ8aで現在の段から次の段を探索す
るために、探索段指示値であるSLを一つ増やす。そして
ステップ8bで、その一段下がった段が最終段か否かを
判断して、最終のm段なら、その領域に代表点のコード
ベクトルを一つだけ含む(以下、代表点と記す)わけだ
から、その代表点と入力ベクトル1hとの通常の数1式
による2次ノルムの自乗値Dを求めて、短い方を当面の
近い代表点(領域)としてセットし(ステップ8n)、
上段へもどってひとつの関数SEARCHの処理の流れが終了
する。
【0032】しかし最終段でなければ、ノード分岐条件
である分割軸jと閾値hとから、分割軸jに対応する入
力ベクトルの要素xj が閾値hのどちら側の領域にある
かをステップ8dで判定して、どちらのノードを探索す
るか決定する(ステップ8e、8f)。このとき図1の
選択信号出力ビットを一つ設定することなる。そして新
たな段でさらに次のノードを検索するために、再びフロ
ーチャートの最初からの処理を続行する(ステップ8
g、プログラムの再帰的呼出し)。この再帰的呼出しが
ノードの最終段(m段)になるまで続けられる。最終段
となれば、入力ベクトルに対してある分割された領域が
候補として示されていることになり、ステップ8l〜8
nのループでその最終段の領域の代表点と、数1式によ
るユークリッド距離の自乗Dが算出され比較される。そ
こで、より短い距離であると判定されれば、新たに暫定
解としてその代表点の自乗距離DIST2 とインデックスID
X をセットし(暫定解の更新)、次の探索へと進む。即
ちDIST2 は常に今までに探索した内での最小の距離の自
乗値が保持される。
【0033】そしてステップ8hで、再帰して繰り込ん
だ関数から上の段へ戻って、その段で∞ノルムを調べて
各ノードの遠近をチェックし、探索を実施していく。こ
こで、たどってきたノード分割条件は選択信号出力ビッ
トで保持されているので、直ちにこの段で残された領域
との∞ノルムの自乗値が比較される。そしてDIST2 より
短い、と判定されると、その残された領域にさらに最小
距離の代表点が存在する可能性があるため、その領域に
関してもさらに探索を続け(ステップ8i)、その領域
が最終段でなければ、さらに再帰呼出しで下段を調べて
いく(ステップ8j)。ステップ8hで、∞ノルムの自
乗値がDIST2 より大きければ距離は離れているので検索
する必要がなく、関数SEARCHの処理一回が終了し、上段
の処理に戻り、全てのノードを調べ尽くすまで続けられ
る。従って関数SEARCHの再帰呼出しは最高でm回の入れ
子状のステップフローとなる。
【0034】ここで用いる∞ノルムの計算では、入力ベ
クトルの各要素と、対応する領域の境界(閾値)との差
の内、最大のものを求めるだけで良い。従って演算は減
算および自乗演算のみで、浮動小数点を含む開平演算は
必要としない。そして、このような∞ノルムであって
も、実際のユークリッド距離の遠近関係が同等であるこ
とは数学的に成り立っているので、時間のかかる演算を
実施しないで領域の遠近関係が判明する。それで、暫定
解を決めた後に、以下、最も近い隣接領域との∞ノルム
の自乗値(xj −h)2が暫定解の自乗距離DIST2 より短
ければ、そちらが本当の最小である可能性がある、とい
う調べ方で、正規のユークリッド距離Dを算出して比較
するよりも、かなりの計算量を省くことができる。ま
た、最隣接領域の次に近い第二隣接領域は、領域の決め
方から、最近隣接領域より短くなることは有り得ないの
で探索しなくてよい。つまり上位の段で∞ノルムが大き
いと判断されるので、そのノード以下の段は全て距離は
大きく、以下の段の計算を省略することができる。但
し、最も近い隣接領域が二つ以上ある場合は全て検索す
る必要がある。
【0035】∞ノルムは、入力ベクトルの各要素に対
し、対象領域の各点の内、最も最短な点における、最も
差が大きい要素値をその領域との距離であるが、これ
は、領域の各要素を決める面(二次元の場合は直線)も
しくは面の延長上に入力ベクトルから垂線を下ろしたと
きに、その中で最も長いものをその領域との距離となる
ので、全て単純な引き算計算だけで求められ、従来の領
域の距離である、各要素の差の自乗和を二乗根した値と
比べると計算に要する時間は大幅に短縮、簡単化され
る。実際には、あるノードにおいて領域を分割する際
に、閾値によってそれぞれ分割された領域に対する∞ノ
ルムを算出しているので、その値を再利用する形にでき
る。
【0036】なお、図示しないが、距離Dを算出するス
テップ8lおよび8mにおいて、距離Dを算出する際に
各要素の自乗の合計を順次加算するたびごとにステップ
8mを実施するステップとすれば、最終の加算まで実施
しなくても距離が大きいことは明らかなので、演算を省
略してステップ8nをスキップすることができ、計算時
間をさらに短くすることもできる。
【0037】(第二実施例)FBF法と同様に、縮小k
次元二分木を用いたコードブックの場合も本発明を適用
でき、さらに効果がある。縮小k次元二分木を形成する
際の、領域の分割の軸の決め方はFBF法と同様である
が、ノード分割条件に二つの閾値があり、FBF法で決
められた閾値hの両側にそれぞれ一つずつ存在するコー
ドベクトルの分割軸に関する要素値を下方閾値hlow
上方閾値hhighという閾値にして、中央部分のコードベ
クトルの存在しない領域を除外する構成とする。つまり
下方閾値hlow はコードベクトルの分布の中央値以下の
ものの内最大な要素、上方閾値hhighは、該中央値以上
のものの内最小な要素を選択する。分布中央値付近に通
常存在する要素の存在しない領域を三つの中の中央領域
とする。その領域は元々コードベクトルが存在しないの
で除去し、コードベクトルが存在する領域だけについて
距離を考慮できるので、より確かな距離判定が行われ、
早く最終判定に至ることができる。
【0038】図9に、縮小2次元二分木を用いたコード
ブックの場合の領域分割(a) と二分木構成(b) の説明図
を示す。図9(a) の図でわかるように、FBF法に比べ
て、領域の大幅な縮小が実現する。これは領域がよりコ
ードベクトルに近づくことである。特にコードブックの
個数が多い程その効果は顕著となる。
【0039】縮小k次元二分木を用いたコードブックの
場合、閾値が二つの信号線になるが、全体の構成は図1
と変わらない。この場合のフローチャートも図10の関
数SEARCH2 で示される如く、ほとんど第一実施例と同様
であり、閾値が二つになったための処理で一部ステップ
10a、10b、10cなどが変更されているに過ぎな
い。閾値が上方と下方と二つあるので、この場合は∞ノ
ルムを決める際にステップ10aで判定された属する側
の領域とは遠い、離れた側の閾値を基準とする。そして
次段の領域としては二つの閾値で分割した領域に関して
探索を実施する。中央領域はもうコードベクトルは含ま
れていないので探索に付加する必要はない。
【0040】図11に、5次元一様乱数を用いたシミュ
レーションにおける処理時間の比較結果を示す。従来の
全数探索法のFSC法で計算途中打切りを利用した11
aは、コードブックサイズ(コードベクトル数) Nが増
大するにつれて急激に処理時間が増大している。一方、
最良な結果を与える一般化FBF法および縮小二分木構
造で計算途中打切りを利用した11bは、FSC法と比
べコードブックサイズが約27 個以上で、Nが大きくな
る程大幅に処理時間が短縮されていることがわかる。1
1cはFBF法による結果で、およそ29 個以上でFS
C法より効果を出している。
【0041】以上の二つの実施例では、二分木分割のコ
ードブック1aはすべて第m段まで終端で構成されてい
たが、分岐途中の段までで終端になっていても問題なく
検索できる。これはフローチャートの最初のステップで
最終段か否かを判定しているので、ルートからの段数が
異なっていても最終か否かで距離計算が振り分けられ、
一般的なツリー構成でも問題なく最小距離のコードベク
トルを同定できる上、ROMなどのデータを交換するこ
とで容易に実現できるからである。
【0042】以上のように、最適なコードベクトルを決
定するためのベクトル量子化器において、本発明の簡略
化した距離計算を適用することにより、正確さを失うこ
となく短時間に決定することができ高速ベクトル量化器
を実現することができる。
【図面の簡単な説明】
【図1】本発明の高速ベクトル量子化器の構造を示すブ
ロック図。
【図2】ベクトル量子化の概念図。
【図3】2次元ツリーの二分木の構成図。
【図4】探索領域の判定の説明図。
【図5】コードブックの第i段目の構成図。
【図6】コードブックの最終段、第m段の構成図。
【図7】バックトラック制御部の動作フローチャート
図。
【図8】k次元ツリー構造の探索関数SEARCHのフローチ
ャート図。
【図9】縮小2次元ツリー構造のコードブック構成図。
【図10】縮小k次元ツリー構造の探索関数SEARCH2 の
フローチャート図。
【図11】各方法によるシミュレーション計算結果の比
較図。
【符号の説明】
1a k次元二分木によるコードブック(構造化データ
部) 1b 探索制御手段 1c バックトラック制御部 1d 選択信号出力ビット(選択信号出力部) 1e 探索段(探索段設定手段) 1f 選択回路(条件選択手段) 1g 距離計算回路(距離計算手段) 1h 入力ベクトル 3a FBF法による二分木構造のルートのノード 3d FBF法による二次元二分木の最終段(終端ノー
ド) 30 一つの最終ノードに相当する分割された領域 31 上記30に示される領域の最終端ノード 5a、5b、5c ノード分割条件を格納したレジスタ 5d、5e 段構成内部のノード分割条件の選択回路 6d 最終段構成内部のコードベクトル選択回路 11a 従来の全検索法(FSC法)による処理時間結
果 11b 本発明の方法による処理時間結果 11c 従来のFBF法による処理時間結果 ステップ8a〜8gおよびステップ8l〜8n 暫定
解探索手段(関数SEARCHの再帰的呼出し)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 秀樹 愛知県刈谷市昭和町1丁目1番地 日本電 装株式会社内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 予めk(k≧1)次元二分木分割の、一
    つの要素軸と該要素軸を分割する閾値とからなるノード
    分割条件と、前記ノード分割条件により定義されて階層
    的な分割領域に分割されたコードブックとからなる構造
    化データ部を有し、k次元の入力ベクトルに基づいて、
    前記コードブックに含まれる各コードベクトルのうち該
    入力ベクトルと最小2次ノルムとなるコードベクトルを
    順次探索する探索制御手段を有し、最小コードベクトル
    を示す出力を得る高速ベクトル量子化器において、前記
    探索制御手段内に、 前記コードブックの一つのコードベクトルと前記入力ベ
    クトルとの2次ノルムを算出する距離計算手段を有し、 前記入力ベクトルを入力し、探索パラメータの初期値を
    設定し、該探索パラメータを基に、前記ノード分割条件
    により前記入力ベクトルが、どの終端ノードに属するか
    を判定して、該終端ノードに属するコードベクトルと前
    記入力ベクトルとの2次ノルムおよび出力の暫定解を設
    定する暫定解探索手段と、 該二分木分割を後戻りして、暫定解の前記2次ノルム
    を、他の前記分割領域および前記入力ベクトル間の∞ノ
    ルムと比較して、前記2次ノルムより短い∞ノルムの分
    割領域を選択し、順次二分木分割をたどり、より短い∞
    ノルムの分割領域に含まれるコードベクトルとの2次ノ
    ルムと前記暫定解の2次ノルムとを比較して、より短け
    れば前記暫定解を更新し、全ての分割領域が探索で判定
    された後、得られた前記最小コードベクトルのインデッ
    クスを前記出力として出力するバックトラック制御部と
    を有することを特徴とする高速ベクトル量子化器。
  2. 【請求項2】 前記k次元二分木分割は、非終端ノード
    のノード分割条件である分割軸および上方閾値、下方閾
    値の二閾値とから、該分割軸に関して上方領域、中央領
    域、下方領域の3つに分割された領域を構成し、二分木
    の分割領域を前記上方領域および前記下方領域とし、前
    記中央領域にはコードベクトルを含まない領域とした縮
    小k次元二分木分割であることを特徴とする請求項1に
    記載の高速ベクトル量子化器。
  3. 【請求項3】 前記構造化データ部が、ROMから成
    り、 前記ROMに、前記ノード分割条件、前記インデック
    ス、前記k次元コードベクトルが記憶保持されているこ
    とを特徴とする請求項1または2に記載の高速ベクトル
    量子化器。
  4. 【請求項4】 前記距離計算手段が、k(k≧1)次元
    空間で2次ノルムを演算する専用集積回路であることを
    特徴とする請求項1または2に記載の高速ベクトル量子
    化器。
  5. 【請求項5】 前記探索制御手段に、前記2次ノルムの
    計算を実施しながら、前記コードブックの分割された部
    分である領域の遠近が判断され、前記計算を中断する機
    能を備え、該2次ノルムと前回値との比較を行う比較器
    を有することを特徴とする請求項1または2に記載の高
    速ベクトル量子化器。
  6. 【請求項6】 k(k≧1)次元コードベクトルを有
    し、k次元二分木分割のノード分割条件である分割軸と
    該分割軸の閾値とによって階層的な二分木階層構造の段
    で定義されたk次元ベクトル空間の領域で前記コードベ
    クトルを分類したコードブックを基に、k次元の入力ベ
    クトルと最小2次ノルムとなる最小コードベクトルを探
    索し、該最小コードベクトルを示す出力を得るバックト
    ラック方式高速ベクトル量子化方法において、 前記領域の内、前記二分木階層構造の最下段の、前記入
    力ベクトルが含まれる直属領域を前記ノード分割条件に
    従って最初に探索して、該直属領域に属する直属コード
    ベクトルと前記入力ベクトルとの2次ノルムの自乗値、
    および該直属コードベクトルのインデックスを前記出力
    の暫定解とし、 探索が終了した領域のすぐ上段のノード分割条件で決ま
    る分割の他領域と前記入力ベクトルとの∞ノルムと前記
    暫定解の2次ノルムとを自乗値で比較して、前記他領域
    と前記入力ベクトルとの遠近を判断して、より近距離の
    領域を選択してさらに下段の領域を探索し、 前記各ノード分割の最終段である終端ノードの領域に含
    まれるコードベクトルと前記入力ベクトルとの2次ノル
    ムが前記暫定解の2次ノルムと自乗値で比較され、比較
    された結果、より短距離であれば前記暫定解の2次ノル
    ムの自乗値を更新し、短距離で無ければそのまま次の探
    索に移り、すべての領域を探索し、 全ての領域を探索し終えた時点で得られた前記最小ベク
    トルを示すインデックスを出力することを特徴とする高
    速ベクトル量子化方法。
  7. 【請求項7】 前記2次ノルムの計算において、当該2
    次ノルムの全ての計算を実施しない内に、該2次ノルム
    の自乗値が前記暫定解の2次ノルムの自乗値より大きく
    なれば、前記計算が中断されて次の探索に進む判定を行
    うことを特徴とする請求項6に記載の高速ベクトル量子
    化方法。
JP28592193A 1993-10-18 1993-10-18 高速ベクトル量子化器および高速ベクトル量子化方法 Pending JPH07115370A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28592193A JPH07115370A (ja) 1993-10-18 1993-10-18 高速ベクトル量子化器および高速ベクトル量子化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28592193A JPH07115370A (ja) 1993-10-18 1993-10-18 高速ベクトル量子化器および高速ベクトル量子化方法

Publications (1)

Publication Number Publication Date
JPH07115370A true JPH07115370A (ja) 1995-05-02

Family

ID=17697745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28592193A Pending JPH07115370A (ja) 1993-10-18 1993-10-18 高速ベクトル量子化器および高速ベクトル量子化方法

Country Status (1)

Country Link
JP (1) JPH07115370A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011182400A (ja) * 2010-03-03 2011-09-15 Ls Industrial Systems Co Ltd 無線送受信機における送信漏れ信号の相殺信号探索方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011182400A (ja) * 2010-03-03 2011-09-15 Ls Industrial Systems Co Ltd 無線送受信機における送信漏れ信号の相殺信号探索方法及び装置

Similar Documents

Publication Publication Date Title
JP3067980B2 (ja) ストリング・マッチング方法および装置
US5933806A (en) Method and system for pattern recognition based on dynamically constructing a subset of reference vectors
EP0313975A2 (en) Design and construction of a binary-tree system for language modelling
JP2000222581A (ja) 形状情報を用いるマルチメディアデ―タの検索方法及び装置
US5553284A (en) Method for indexing and searching handwritten documents in a database
KR19990010210A (ko) 대용량 패턴 정합 장치 및 방법
CN112766456B (zh) 浮点型深度神经网络的量化方法、装置、设备及存储介质
CN112101547A (zh) 一种对网络模型的剪枝方法、装置、电子设备及存储介质
CN114998958A (zh) 一种基于轻量化卷积神经网络的人脸识别方法
EP0248377B1 (en) Continuous speech recognition system
Ney A comparative study of two search strategies for connected word recognition: Dynamic programming and heuristic search
US7987250B2 (en) Maximum clique in a graph
KR100671099B1 (ko) 영상의 유사도 비교방법 및 그를 이용한 영상 검색 방법 및 장치
KR102374525B1 (ko) 키워드 스폿팅 장치, 방법 및 컴퓨터 판독 가능한 기록매체
JPH07115370A (ja) 高速ベクトル量子化器および高速ベクトル量子化方法
EP1290543A2 (en) Method and apparatus for iterative training of a classification system
JPH07334187A (ja) 音声認識装置
CN116468102A (zh) 刀具图像分类模型剪枝方法、装置、计算机设备
US5023920A (en) Method for finding the medial axis transform of an image
KR100626838B1 (ko) 대략적 최대 흐름 정합을 기반으로 하는 고속 영상 비교,검색 시스템 및 방법
US5974378A (en) Multi-stage vector quantization with efficient codebook search
JP3093868B2 (ja) ベクトル量子化コードブック作成装置
CN112017641A (zh) 一种语音处理方法、装置及存储介质
CN117874049B (zh) 一种手游数据更新方法及系统
JP3046871B2 (ja) ベクトル量子化方法及びベクトル量子化装置