JPH0537397A - ベクトル量子化器の符号帳設計方法 - Google Patents
ベクトル量子化器の符号帳設計方法Info
- Publication number
- JPH0537397A JPH0537397A JP3188956A JP18895691A JPH0537397A JP H0537397 A JPH0537397 A JP H0537397A JP 3188956 A JP3188956 A JP 3188956A JP 18895691 A JP18895691 A JP 18895691A JP H0537397 A JPH0537397 A JP H0537397A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- codebook
- code
- representative
- learning
- 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
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
し得るベクトル量子化器の符号帳設計方法を提供する。 【構成】 学習ベクトルを量子化して符号誤りのある伝
送路を伝送すると仮定した場合に符号誤りをも考慮して
各学習ベクトルを符号帳の中のそれぞれどの代表ベクト
ルに帰属させるかを更新し、この仮定のもとで学習ベク
トルと受信側の再生ベクトルとの歪みの平均値の総和の
極小化に基づいて代表ベクトルを更新し、受信側の再生
ベクトルと学習ベクトルとの歪みの平均値を反映する符
号帳の評価関数を小さくするように符号帳インデックス
の付け換えを行い、上記処理を交互に繰り返し用いるこ
とにより符号誤りのある場合の最適な符号帳を設計して
いる。
Description
符号化するためのベクトル量子化器を設計する方法に関
する。
高能率な量子化法のひとつとして、ベクトル量子化やマ
トリクス量子化(以後、これらをベクトル量子化という
言葉で代表させる)が知られている。ベクトル量子化に
おいては、与えられたビット数に応じて、符号帳と呼ば
れる部分に代表ベクトルパターンを蓄えておくが、この
代表パターンをどのように決めるかによって量子化器の
性能が左右される。
としてLBGアルゴリズムが知られている。この手法は
ベクトル量子化すべきベクトル空間の分布をよく表すよ
うな分布を持つ学習用ベクトルデータ系列を用意し、こ
れらの学習用データを量子化したときの歪みの総和を極
小にするように符号帳を設計する手法である。
期数を1とし、最適な代表ベクトルを求める操作と代表
ベクトルの数を2倍に増加させる操作を交互に行って、
目的とする数の代表ベクトルを得る。
学習用データがどの代表ベクトルに帰属するかを更新す
る処理を行い、その帰属状態において、歪みの総和が極
小となるように、代表ベクトルを更新する。上記帰属更
新処理と、代表ベクトルの更新処理を収束するまで交互
に繰り返し行うことにより、代表ベクトルは次第に最適
なものに近づいていく。この操作は Lloyd-Maxまたはk
平均アルゴリズムと呼ばれる。
合をいくつかの部分集合に分割する操作を意味し、上記
部分集合をクラスタ、分割操作をクラスタリングと呼
ぶ。LBGアルゴリズムの詳細は文献 Y.Linde.A.Buzo.
R.M.Gray著”An Algorithm forVector Quantizer Desig
n”.IEEE Trans.Commun.COM-28 p.p.84-95,1980 に記
載されている。
代表ベクトルと実際に伝送される符号との間に何等関係
がないため、伝送路において符号誤りが生じると著しく
品質劣化が生じることが指摘されている。
BGアルゴリズムの歪み尺度に、符号誤りを考慮した尺
度を用い、この尺度の総和が最小になるように学習すれ
ば、符号誤りが生じても被害が比較的少ないと報告され
ている。
通信学会論文誌 Vol.J67-B No.1 1984 しかし実際には、上記手法によっても、”最適”な解は
得られず、局所最小解に陥って期待したほどに符号誤り
に強い構造に設計できない。この理由は、LBGアルゴ
リズムが除々に最適解に近づける漸近的な手法であるた
め、容易に局所最小解に陥り、いったん陥るとそこから
抜け出す手段を有しないからである。
その目的とするところは、符号誤りに強く、より高性能
な符号帳を設計し得るベクトル量子化器の符号帳設計方
法を提供することにある。
め、本発明のベクトル量子化器の符号帳設計方法は、学
習用データを用いてベクトル量子化器の最適符号帳を設
計するベクトル量子化器の符号帳設計方法であって、学
習ベクトルを量子化して符号誤りのある伝送路を伝送す
ると仮定した場合に符号誤りをも考慮して各学習ベクト
ルを符号帳の中のそれぞれどの代表ベクトルに帰属させ
るかを更新し、前記仮定のもとにおける学習ベクトルと
受信側の再生ベクトルとの歪みの平均値の総和の極小化
に基づいて代表ベクトルを更新し、前記仮定のもとにお
いて受信側の再生ベクトルと学習ベクトルとの歪みの平
均値を反映する符号帳の評価関数を小さくするように符
号帳インデックスの付け換えを行う、上記処理を交互に
繰り返し用いることにより符号誤りのある場合の最適な
符号帳を設計することを要旨とする。
解、即ちより符号誤りに強い符号帳を得るために、前述
のLBGアルゴリズムにインデックス付けかえ操作を導
入する。インデックス付けかえ操作は、LBGアルゴリ
ズムにおいて、上記局所最小解から抜け出し、「真」の
解に近づける手段を与える。言い換えると、インデック
ス付けかえ操作は、ダイナミックに状態を変える働きを
する。
クトル(クラスタ)数Ni の符号帳が得られていると仮
定する。もし、Ni が目的とする数に達していれば、処
理を終了する。達していない場合には各クラスタの分割
操作を行う。
ルを初期値として、各学習データの帰属更新処理と、代
表ベクトルの更新処理を収束するまで交互に繰り返し行
う(Lloyd-Max アルゴリズム)。このときの歪み尺度に
は、符号誤りを考慮した尺度を用いる。上記処理が収束
すると、それ以上続けても歪みの総和は小さくならな
い。
作を行う。符号誤りを考慮した歪み尺度とは、例えば、
符号誤りがある伝送路を伝送したと仮定した場合の、受
信側における歪みの平均値を表す。従って、前記 Lloyd
-Maxアルゴリズムによっては、もはや歪みの総和を小さ
くできない場合でも、インデックスの付けかえ操作、例
えば任意の2つのインデックスの交換によって、歪みの
総和を小さくすることができる。一例として、任意の2
つのインデックスを交換して、符号誤りを考慮した歪み
の総和が小さくなれば交換し、小さくならなければ別の
インデックスの組を交換してみる。この操作を繰り返し
行い、どのインデックスの組を交換しても歪みの総和が
小さくならないようになるまで続ける。ここで、インデ
ックスの交換は、2つの間で交換してもよいし、3つ以
上で交換してもよい。
いが、インデックスの付けかえ操作によって、 Lloyd-M
axの局所最小解を抜け出していると考えられるので、再
度 Lloyd-Max、即ち、各学習データの帰属更新処理と、
代表ベクトルの更新処理を収束するまで交互に繰り返し
行う。
スタの分割処理と、上記歪み最小化操作を繰り返し、目
的とする数の代表ベクトルが得られた時点で終了する。
は、学習ベクトルを量子化して符号誤りのある伝送路を
伝送すると仮定した場合に符号誤りをも考慮して各学習
ベクトルを符号帳の中のそれぞれどの代表ベクトルに帰
属させるかを更新し、この仮定のもとで学習ベクトルと
受信側の再生ベクトルとの歪みの平均値の総和の極小化
に基づいて代表ベクトルを更新し、受信側の再生ベクト
ルと学習ベクトルとの歪みの平均値を反映する符号帳の
評価関数を小さくするように符号帳インデックスの付け
換えを行い、上記処理を交互に繰り返し用いることによ
り符号誤りのある場合の最適な符号帳を設計している。
誤りを考慮した歪み尺度を導入しただけでは、局所最小
解に陥って、十分に符号誤りに強い符号帳を設計できな
いことが多いが、本発明の手法を用いることによって局
所最小解に陥る危険を減らし、より高性能な符号帳を設
計することができる。
誤りを考慮した距離尺度を用いたLBG法で、最終的に
できあがった目的数の代表ベクトルを持つ符号帳に対し
て1回だけ適用することもでき、一見この方が計算量が
少なくて済むように思われる。しかし実際には、このよ
うなインデックス付けかえ操作の最適化は非常に難し
い。なぜなら、インデックス付けかえ操作そのものが、
容易に局所最小解に陥ってしまうからである。従って、
本発明に比べてはるかに多くの計算時間を費やしても、
LBG法によって作成した符号帳に比べ、ほとんど性能
は向上しない。
インデックス付けかえ操作が相互に影響しあい、わずか
な計算量の増加で、容易に最適に近い状態へと導くこと
ができる。
明する。図1は本発明によって設計した符号帳を用い
た、ベクトル量子化法の構成例を示したものである。送
信側では、符号帳1に蓄えられたM個の代表ベクトルc
(r)と入力ベクトルxとの歪みを歪み算出部2で算出
し、歪みが最小となるインデックスrを歪み判定部3で
判定し、符号化部4で符号化して伝送する。一方、受信
側では、符号化されて伝送されてくるインデックスrを
復号化部5で受信して、インデックスr’として復号化
し、符号帳6を介して対応する代表ベクトルをc
(r’)として出力する。ここで、伝送路に符号誤りが
ない、すなわちr=r’ならば問題はないが、例えば無
線通信のように品質の悪い伝送路の場合には、符号rの
うちの1ないし2ビットが反転して検波されることも少
なくない。そこで、仮にrの1ないし2ビットが反転し
てもc(r)とc(r’)の間に大きな差が生じないよ
うに符号帳を設計すれば、符号誤りによる品質の劣化を
最小限に抑えることができる。
が生じても品質劣化が少ないという観点で高性能な符号
帳の設計法の一例の概略をフローチャートで示したもの
である。これに先立ち、学習用のデータを用意する。学
習用データは、実際の符号化において符号化されるべき
データが分布する空間を有限のデータ系列で効果的に表
すように選択するのがよい。一般的には、学習データの
数は多いほうがよい。学習用データの分布が実際に符号
化されるデータの分布に比べて著しい偏りがある場合に
は、本発明によって設計した符号帳の性能が低下するこ
とになる。
トルの数を表す。初期値としてMをMo に設定する(ス
テップ110)。通常Mo は1に設定すると非常に都合
がよいが、必ずしも1にする必要はない。次に、代表ベ
クトルの初期値を決定する(ステップ120)。Mo =
1の場合には任意の値に設定してよい。なぜなら、Mo
のときの代表ベクトルの初期値は全く意味を持たないか
らである。なお、Mo ≠1のときには、適当な初期値を
設定しなければならない。一例として、適当に学習ベク
トルの中からピックアップして初期値とする方法があ
る。次に、ループカウンタ Repを0にリセットする(ス
テップ130)。次にステップ120で決定された代表
ベクトルを初期値として、誤りを考慮した歪み尺度によ
る Lloyd-Maxアルゴリズムにより、代表ベクトルを更新
する(ステップ140)。ステップ140の更新操作の
詳細を図4に示す。さらに図4における学習データの帰
属更新処理(ステップ310)の詳細を図5に示す。い
ま、M個の代表ベクトルが決まっているとする。これら
を {cj }, j=1,2,・・・,M とする。学習データの帰属更新では、N個の学習用デー
タが、それぞれどの代表ベクトルに帰属するかを決定す
る。図5において、第i番目の学習データと第j番目の
代表ベクトルとの符号誤りを考慮した歪み尺度 d(xi ,cj ) を計算する(ステップ440)。
号jを伝送したときに受信側で符号kが受信される確率
を p(k|j) と表す。p(k|j)を簡易的に計算する一例として、
通信路をランダムな二元対象通信路を仮定し、符号のビ
ット数をn、符号kと符号jとの間のハミング距離を
h、伝送路のランダムビット誤り率をeとすると、 p(k|j)=eh (1−e)n-h としてもよい。また、バースト誤りなど、ランダム誤り
とは異なった特性の誤りが生じる可能性がある場合に
は、p(k|j)として、それらを考慮した誤り確率を
用いてもよい。さらに、伝送するための符号化に誤り訂
正符号を併用したときには、誤り訂正符号を併用したと
きの誤り確率を用いればよく、誤り検出符号を併用した
場合には、受信側で誤りを検出し、修復処理をした後の
誤り確率を用いればよい。また、実際の確率よりも多少
誤り率を大きく見積もっても学習することにより、信頼
性を高めることもできる。
表す尺度を dv (xi ,cj ) で表すと、
の、受信側における dv (xi ,cj ) の期待値を表す。なお、dv (xi ,cj )の定義のし
かたは任意であるが、一般にはユークリッド距離や重み
付きユークリッド距離が用いられる。xi ,cj をそれ
ぞれ xi =(xi1,xi2,xi3,・・・,xip) cj =(cj1,cj2,cj3,・・・,cjp) で表すと、重み付きユークリッド距離は
合には、 wir=1.0 とすればよい。これらの距離を用いた場合には、上記d
(xi ,dj )の計算を高速に実現できることが知られ
ている。すなわち、
係なく、量子化器の初期化時に一度計算すればよく、
号帳を探索する尺度としては、上式において、xir 2 も
計算する必要がない。
計算し、最もd(xi ,cj )が小さくなった代表ベク
トルに、学習用の第i番目のデータを帰属させる。第i
番目のデータが第j番目の代表ベクトルに帰属すること
を Be(i)=j で表す。
学習用データをどの代表ベクトルに帰属させるかを決定
する。
る(ステップ320)。歪みの総和Dは次のように定義
される。
つめのΣはBe(i)=jを満たすiについての和を表
す。上式で求めたDがあらかじめ決められたしきい値よ
りも小さくなれば、ここで処理を終了し、小さくなけれ
ばステップ310で更新した学習データの帰属に対して
代表ベクトルが最適なものとなるように更新する。
間距離の定義式dv(xi ,cj )によって異なる。前
述のように、重み付きユークリッド距離を用いると、新
代表ベクトル c’j =(c’j1,c’j2,c’j3,・・・,c’jp) は、
jrで偏微分したものを0とおくことにより導出され、D
が極小となるcjrを示す。この新代表ベクトルを用い
て、再びステップ310に戻り、学習データの帰属更新
処理を行う。
2における Lloyd-Maxアルゴリズムによる代表ベクトル
の更新処理(ステップ140)が終了する。次のステッ
プ150ではループカウンタ Repの値を調べ、あらかじ
め決められた最大ループ回数Rep- max 以上ならステッ
プ180へ、それ未満ならばステップ160へ進む。Re
p- max は通常1で十分である。なお、 Rep- max が0
のときは、従来のLBG法に等しい。
ス付け換えを行う。その処理の詳細を図6に示す。
す。hの初期値は0に設定する(ステップ510)。符
号帳評価関数E算出処理(ステップ520)では、現在
の符号帳に対する初期評価関数Eを計算する。評価関数
Eには、前述の歪みの総和D、すなわち(*1)式を用
いるべきである。しかし、あるインデックスとあるイン
デックスを交換するたびに全学習用データを用いて歪み
の総和Dを計算しなおすことは、非常に多くの計算量を
必要とする。そこで、簡略的な手段として、確率p(k
|j)を用いて次の様に定義してもよい。
ルcj とck の間の距離を表し、一例として
よい。
目の代表ベクトルが使用される確率を表す。このように
Lloyd-Maxアルゴリズムの評価尺度と、インデックス付
け換えの尺度を異なったものに定義すると、一方で歪み
が減少したにもかかわらず、他方の処理で逆に歪みが増
大する可能性も生じる。しかし、実験の結果、インデッ
クス付け換えの評価関数を簡略化しても、悪影響は観察
されない。
に設定する(ステップ530)。次にj≠kなる任意の
2つのインデックスを交換したと仮定したときの評価関
数値Eを計算する(ステップ540,550)。j,k
の決め方は乱数を用いて決定してもよい。また、1≦j
≦M、1≦k≦Mのすべての組み合わせについて評価関
数Eを計算して、Eが最も小さくなったときのjとkを
用いても良い。j,kを交換して得られた評価関数の値
EがE minよりも小さければ、インデックスjとkが割
り当てられた代表ベクトルをお互いに交換する(ステッ
プ570)。このとき、ループのカウンタhは0にクリ
ア、再びステップ540に戻る。逆にEがE minよりも
小さくならなかった場合には、ループカウンタhの値に
1を加える(ステップ580)。このとき、hの値があ
らかじめ決められた値Lよりも大きくなった場合には、
どのインデックスを交換しても評価関数が小さくならな
いとみなして処理を終了する(ステップ590)。Lよ
りも小さい場合には、ステップ540に戻る。なお、こ
こでは、インデックスの交換を2つのインデックスで行
っているが、より局所最小解の危険を避けるため、3つ
以上で交換してみて、評価関数を計算してもよい。
タ Repを1インクリメントし(ステップ170)、ステ
ップ140に戻って再び誤り尺度 Lloyd-Maxアルゴリズ
ムを適用して代表ベクトルを更新する。ステップ140
と160を交互に行うことは、仮にステップ140で局
所最小解に陥って十分な性能が得られなくとも、ステッ
プ160におけるインデックスの付け換えにより局所最
小を抜け出す可能性があり、より真の最小解に近づくこ
とが期待される。計算量の増加が許されるならば、 Rep
- max の値を2以上にするとよい。
ち代表ベクトルの数Mが、あらかじめ割り当てられたビ
ット数Bによって定まるクラスタ数2B に達していない
場合には、16−aによってそれぞれのクラスタを分割
する(ステップ190)。分割によってクラスタ数は2
倍になる。これまでのクラスタ数をM、分割後のクラス
タ数をM’とすると、 M’=2M 分割により、M+1から2Mまでのインデックスが新た
に使用可能となる。ここで代表ベクトルの初期値をステ
ップ210において決定してステップ130に戻る。な
お、上記例では、クラスタを分割して2倍に増加させた
が、必ずしも2倍でなくてもよいし、クラスタによって
分割するものと、しないものがあってもよい。Mの初期
値Mo を1に設定し、1回の分割によって2倍ずつにし
ていくと、ステップ180において、容易にM=2B と
して終了することができ、都合がよい。
る。
現在の代表ベクトルをそのまま初期値とする。新しい初
期値をcj ’とすると、 c’j =cj , j=1,2,・・・,M である。また、新しく生成されたインデックスに対応す
る初期値は、 c’j =cj +Δ, j=M+1,M+2,・・・,2M とする。Δは微小なベクトルである。
してステップ130に戻り、以上の手順を繰り返す。
的とする数に達した場合には、学習の処理を終了し、そ
のときの代表ベクトルを最終的な符号帳の代表ベクトル
とする。
である場合には、ステップ190,200,210など
のクラスタの分割に伴う処理が不要であることは明らか
である。
との違いは、ステップ250と260の処理を、それぞ
れ1回ずつ行っている点である。当然、図2の方が良好
な結果が得られるが、計算を簡略化するために、図3の
構成にしてもよい。また、基本的には図3の構成で行
い、ステップ270において、M=2B となる直前のル
ープのみ図2のようにステップ140と160を交互に
行ってもよい。
符号帳の学習方法について説明した。しかし、上記のよ
うな単純構成のベクトル量子化器では、割り当てるビッ
ト数の増加にもとなって、量子化するための計算量と記
憶量が指数関数的に増大し、現在のハードウェア技術を
考慮しても、実時間処理するためや、計算コストを下げ
るためには、量子化ビット数を10から13ビット程度
以下に抑える必要がある。しかし、実際には、良好な量
子化品質を得るために、20ビットないし30ビットを
必要とすることも少なくない。このような問題に対し
て、少ない計算量で、しかも品質の劣化が少ない方法と
して、多段ベクトル量子化法が知られている。多段ベク
トル量子化法の構成を図7に示す。図7は、説明を簡単
にするために、3段の場合について説明した。多段ベク
トル量子化法とは、複数の小規模なベクトル量子化器を
縦続接続する方法である。各小規模なベクトル量子化器
は、大きく分けて、それぞれ符号帳、ベクトル加算器、
歪み判定部の3つの部分から成る。なお、1段目につい
ては、ベクトル加算器を省略してよい。1段目のベクト
ル量子化器の動作は、既に述べた通常のベクトル量子化
器と同じである。符号帳50の中に、M1 個の代表ベク
トルを蓄え、これらを順に歪み判定部53に送る。j番
目の代表ベクトルをcjr (1) (rはベクトルの次元を表
す)とすると、歪み判定部53では、cjr (1) と入力ベ
クトルxirとの歪みを判定し、最も歪みの小さくなった
代表ベクトルを1段目の量子化値(ベクトル)qir (1)
とする。2段目以降のs段目では、s−1段目までの量
子化値qir (s-1) にs段目の符号帳に蓄えられたj番目
の代表ベクトルcjr (s) を加えた、 qir (s-1) +cjr (s) と入力ベクトルxirとの歪みが最小になるj’番目の代
表ベクトルcj ’r (s) をs段目の代表ベクトルとし、 qir (s) =qir (s-1) +cj’r (s) をs段目までの量子化値とする。
などの任意の尺度でよい。後述する例えば(*2)式の
ような符号誤りを考慮した歪み尺度を用いると、符号誤
りが生じても劣化の少ない量子化器とすることができ
る。
での量子化値が決定されると、端子58より入力ベクト
ルxirの量子化値xir *として出力される。なお、上記
説明では、各段において代表ベクトル(各段までの量子
化値)を最適なものひとつに決定したが、途中の段で
は、いくつか量子化候補を残しておき、最終段までの量
子化値が最適になるように決定した方が、若干の計算量
増大につながるけれども、量子化性能はよい。なお、多
段ベクトル量子化法の詳細については、文献:B.H.Juan
g,A.H.Gray著”Multiple Stage Vector Quantization f
or Speech Coding”Proc.ICASSP82,p.p597-600(1982)
に記載されている。
の設計にも、歪み尺度を変更するだけで、容易に本発明
を利用できる。すなわち、多段ベクトル量子化器の符号
帳の設計は、1段目から順に設計していくのであるが、
1段目は通常のベクトル量子化器と実質的に同等である
ので、本発明をそのまま利用可能である。2段目以降に
ついても、図5における歪み尺度算出処理(ステップ4
40)の歪みの定義式、および図4における代表ベクト
ル更新処理(ステップ340)の更新式、ならびに図6
における符号帳評価関数E算出処理ステップ520,5
50の定義式を変更し、各段の符号帳設計において本発
明を適用するだけである。
入力ベクトルxirと量子化値(ベクトル) qijr (s) =qir (s-1) +cjr (s) とのベクトル間距離を重み付きユークリッド距離で表す
と、
をいったんケプストラムになおしてからユークリッド距
離をとってもよい。ベクトル間距離を上記dv (xi ,
qij (s ) )のように表すと、符号誤りを考慮した歪み尺
度は、
1からM(Mは代表ベクトルの数)まで計算し、最もd
(xi ,qij (s) )が小さくなったj’番目の代表ベク
トルに学習用の第i番目のデータを帰属させる。なおこ
こで、前段までの量子化値(ベクトル)qir (s-1) は、
もよいし、
表してもよい。一般には、後者のほうが性能が良い。ま
た、d(xi ,qij (s) )の式を展開し、
量子化時に処理を高速化することができる。
代表ベクトルjに帰属することを表す。また、Nは学習
データ数である。
う。
異なるのは、xirから1段前までの量子化値qir (s-1)
を差し引いて平均することである。なお、通常のベクト
ル量子化の場合、および多段ベクトル量子化における1
段目の量子化の場合でも、1段前までの量子化値を0と
考えれば、多段ベクトル量子化の特殊な場合であると考
えることができる。
(ステップ520,550)の定義式は、前述のよう
に、歪みの総和Dすなわち、(*3)式で表すのが望ま
しい。しかし、簡単のため
を考慮して
番目の代表ベクトルが使用される確率を、dc (cj
(s) ,ck (s) )は代表ベクトルcj (s) とck (s) の
間の距離を表し、一例としてユークリッド距離で定義し
てもよい。
ル量子化器の符号帳設計にも使用することができる。
は、なんらかのエラー訂正符号をつけて送信する場合が
多い。しかし、通信路のビットレートの制約によって
は、十分なエラー訂正符号を付加することができないこ
とも多い。そのような場合に、本発明の方法が威力を発
揮する。誤り訂正符号を用いないで本発明のみによって
全段の符号誤り対策をしてもよいが、部分的に誤り訂正
符号を用い、本発明と組み合わせる方法も効果的であ
る。多段ベクトル量子化の場合には、1段目が最も符号
誤りに対して品質の劣化が大きく、順に2段目、3段目
・・・と符号誤りに対する感度が下がっていくという性
質がある。そこで、誤り訂正符号を十分付加することが
できない場合には、1段目を誤り訂正符号によって強力
に保護し、2段目以降は誤り訂正符号によってよりも、
本発明において符号誤り率を適当に定めて符号誤りに強
い符号帳を設計することにより、エラーのないところで
の品質劣化が少なく、エラーが生じても品質の劣化が少
ない符号化器を構成することができる。例えば、本発明
によって、1段目はビット誤り率をゼロまたは、十分小
さな値で符号帳を学習し、2段目以降は、伝送路の符号
誤り率程度、または、2段目以降のはじめの方の段を実
際の符号誤り率よりも若干高めに、後ろの方の段は実際
の誤り率か、若干低めになるように設定して符号帳を設
計し、実際の符号化の場面では、1段目の符号のみに誤
り訂正符号をつけて伝送すると能率がよい。
干低いが、誤り検出能力の高いものが存在する。これ
は、受信した複数のビットの組のなかで、どのビットが
反転しているかを検出することはできないが、どれかが
反転していることを検出できるものである。このよう
に、訂正はできなくても、誤っていることさえわかれ
ば、受信側でその符号を使うことをやめ、しかるべき処
置をとることができる。例えば、音声信号などの場合に
は、時間軸において、前後のデータと相関が強いため、
受信したまちがった符号を使うよりも、前後の誤りのな
い受信信号(符号)から、誤りを検出した時点の信号を
推定するほうが劣化を小さく抑えることができる場合が
多い。例えば、1フレーム(伝送単位)前のデータをそ
のまま繰り返して使うか、前後の再生ベクトルを線形に
補間して当該時点の再生ベクトルとする方法がよく用い
られる。このように、本発明を用いて符号帳を設計する
場合には、伝送路の誤り率、誤り訂正符号、および、誤
り検出符号を用いた時の修復方法をも考慮に入れるとよ
い。
とよい。本発明の方法が威力を発揮する音声符号化の方
式のひとつに、CELP方式がある。この方式は、入力
音声信号を線形予測分析し、その結果得られた線形予測
係数を例えば線スペクトル対(LSP)と呼ばれるパラ
メータに変換する。LSPはその量子化特性が非常に優
れているので、よく用いられるが、LSP以外にも、P
ARCOR係数と呼ばれるパラメータに変換する方法も
ある。ここでは、これらのパラメータを総称して、線形
予測パラメータと呼ぶ。CELP方式ではまず、この線
形予測パラメータを量子化する。次に、上記線形予測パ
ラメータから得られる線形フィルタを、音源信号で駆動
して得られる信号と、入力信号との歪みが最小となるよ
うに音源信号を決定する。線形予測パラメータの量子
化、音源信号の量子化とも、通常はベクトル量子化を用
いるため、ともに本発明の手法は優れた結果をもたら
す。
用する方法の一例を述べる。まず、入力音声信号の線形
予測分析を行って得られた線形予測係数を線スペクトル
対(LSP)に変換する。線形予測分析の次数をpとす
ると、LSPはp次のベクトルとして得られ、このベク
トルをある符号で表すことができるように量子化する。
なお、LSPは、音声スペクトルの包絡特性を表すパラ
メータである。音声信号からLSPを算出する方法につ
いては、例えば、文献:吉井貞煕著「ディジタル音声処
理」(東海大学出版会)に記載されている。
10次、LSPを計算する時間周期(フレーム周期)は
20ms程度で行うとよい。なお通常、分析次数は10次
〜16次、フレーム周期は10〜40ms程度に設定す
る。学習用のデータは、計算時間の許す限り多くのデー
タを準備するとよいが、複数話者の異なった発声およそ
1500秒もあれば十分である。LSPをベクトル量子
化する際に、十分な品質を維持するためには、1ベクト
ルあたり20〜30ビット必要であるので、1段のベク
トル量子化器で実現することは、計算量と記憶量の観点
から現実的でない。そこで一例として、3段の多段ベク
トル量子化を用い、例えば1段目を8ビット、2段目を
8ビット、3段目を6ビットの、1ベクトルあたり22
ビットとする。1ベクトルあたりの必要ビット数は駆動
音源の量子化方法によって異なり、CELPでは20〜
22ビットで十分な品質が得られる。
実際の量子化時における距離尺度の誤り率の設定は、用
途によって異なるが、例えば移動体通信用では、1.0
〜3.0%程度に設定するとよい。ただし、符号誤り率
を高く設定すると、符号誤りのないところでの品質が劣
化するため、符号誤りのないときの品質を重視したい場
合には、誤り率は上記値よりも低めに設定するとよく、
また、符号誤りが生じたときの劣化防止を重視するので
あれば、上記値よりも若干高めに設定してもよい。ま
た、1段目は相対的に符号誤りに対する感度が高いの
で、1段目のみ誤り訂正符号または誤り検出符号を使用
すると効率がよい。この場合には1段目の学習・量子化
時の誤り率の設定は、十分低いかまたは0に設定してよ
く、2段目以降は伝送路に合わせた誤り率を設定する。
なお、誤り検出符号を用い、受信側で誤りが生じたこと
のみが検出された時には、受信した符号からベクトルを
再生することをやめ、前後の時間のベクトルから誤りを
検出した時刻のベクトルを推定するとよい。ベクトル間
の歪み尺度には、ユークリッド距離や重み付きユークリ
ッド距離、ケプストラム歪み等を用いるとよい。
帳を設計する方法の効果を調べるために、以下の条件に
よる実験を、コンピュータシミュレーションによって行
った。
ル量子化して、従来法との性能を比較する。ベクトル次
元は8次元、量子化ビット数は8ビットで、ベクトル量
子化器は1段で構成した。ベクトル間距離尺度はユーク
リッド距離を用いた。学習データは10,000ベクト
ル、テスト用には学習外の5,000ベクトルを用い、
全体のSN比で評価した。学習時および量子化時の符号
誤り率は1.0%に設定し、テストでは、チャネル誤り
率を0.0〜10%まで変化させてSN比の変化を調べ
た。比較した方法は、本発明の方法の他、従来法として
符号誤り率を全く考慮しないLBG法、歪み尺度として
符号誤りを考慮した尺度(誤り率1.0%に設定)を用
いたLBG法、また、上記誤りを考慮したLBG法が終
了したあとに、できあがった符号帳に対してインデック
ス付けかえを適用した方法について調べた。結果を図7
に示す。全く符号誤りを考慮しない場合には、△印と破
線で示すように、符号誤りとともに急速に劣化する。一
方、本発明による方法では、符号誤りのないところでわ
ずかに品質が劣化しているものの、符号誤りが生じても
劣化を少なく抑えている。また、●印と実線で示される
誤り尺度のLBG法でも、十分良好な品質が維持されて
いるが、本発明のほうが優れた結果を示している。ま
た、LBG法終了後にインデックス付けかえを行う方法
(□印と一点鎖線)では、誤り尺度LBGに比べてほと
んど改善していない。
のベクトル量子化器の設計において、非常に優れた方法
であることが示された。なお、本実験では無記憶ガウス
情報源を用いて性能を比較したが、実際の音声信号や画
像信号のような相関が強い信号の場合には、さらに大き
な効果が期待される。
局所最小解に陥る危険を低減し、より高性能な符号帳を
設計することができるとともに、またわずかな計算量の
増加により容易に最適に近い状態に導くことができる。
ル量子化器を構成する一例を示すブロック図である。
すフローチャートである。
すフローチャートである。
よる代表ベクトルの更新処理であるステップ140の詳
細な処理を示すフローチャートである。
であるステップ310の詳細な処理を示すフローチャー
トである。
あるステップ160の詳細な処理を示すフローチャート
である。
である。
ュレーションによる符号誤りの実験を行った結果を示す
図である。
Claims (3)
- 【請求項1】 学習用データを用いてベクトル量子化器
の最適符号帳を設計するベクトル量子化器の符号帳設計
方法であって、学習ベクトルを量子化して符号誤りのあ
る伝送路を伝送すると仮定した場合に符号誤りをも考慮
して各学習ベクトルを符号帳の中のそれぞれどの代表ベ
クトルに帰属させるかを更新し、前記仮定のもとにおけ
る学習ベクトルと受信側の再生ベクトルとの歪みの平均
値の総和の極小化に基づいて代表ベクトルを更新し、前
記仮定のもとにおいて受信側の再生ベクトルと学習ベク
トルとの歪みの平均値を反映する符号帳の評価関数を小
さくするように符号帳インデックスの付け換えを行い、
上記処理を交互に繰り返し用いることにより符号誤りの
ある場合の最適な符号帳を設計することを特徴とするベ
クトル量子化器の符号帳設計方法。 - 【請求項2】 代表ベクトルの初期数と代表ベクトルの
初期値を決定し、前記学習ベクトルの帰属を更新する処
理と前記代表ベクトルを更新する処理とを交互に繰り返
し使用する処理と、前記符号帳インデックスの付け換え
を行う処理を用いたインデックスの付け換えを行う処理
と、前記代表ベクトルの数を増加させる処理を繰り返し
行うことにより、所望の数の代表ベクトルを決定するこ
とを特徴とする請求項1記載のベクトル量子化器の符号
帳設計方法。 - 【請求項3】 前記学習ベクトルの帰属を更新する処理
と、前記代表ベクトルを更新する処理を交互に繰り返し
使用する処理と、前記符号帳インデックスの付け換えを
行う処理を用いたインデックスの付け換え処理の2つの
処理を交互に繰り返し行った後、代表ベクトルの数を増
加させる処理を行うことを特徴とする請求項1または2
記載のベクトル量子化器の符号帳設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3188956A JP3045197B2 (ja) | 1991-07-29 | 1991-07-29 | ベクトル量子化器の符号帳設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3188956A JP3045197B2 (ja) | 1991-07-29 | 1991-07-29 | ベクトル量子化器の符号帳設計方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0537397A true JPH0537397A (ja) | 1993-02-12 |
JP3045197B2 JP3045197B2 (ja) | 2000-05-29 |
Family
ID=16232868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3188956A Expired - Lifetime JP3045197B2 (ja) | 1991-07-29 | 1991-07-29 | ベクトル量子化器の符号帳設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3045197B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09293139A (ja) * | 1996-04-26 | 1997-11-11 | Nippon Telegr & Teleph Corp <Ntt> | ビデオ管理方法及び装置 |
US5774838A (en) * | 1994-09-30 | 1998-06-30 | Kabushiki Kaisha Toshiba | Speech coding system utilizing vector quantization capable of minimizing quality degradation caused by transmission code error |
JP2011009860A (ja) * | 2009-06-23 | 2011-01-13 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、復号方法、符号化器、復号器、プログラム |
JP2011009869A (ja) * | 2009-06-23 | 2011-01-13 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、復号方法、符号化器、復号器およびプログラム |
JP2011009861A (ja) * | 2009-06-23 | 2011-01-13 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、復号方法、符号化器、復号器、プログラム |
-
1991
- 1991-07-29 JP JP3188956A patent/JP3045197B2/ja not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774838A (en) * | 1994-09-30 | 1998-06-30 | Kabushiki Kaisha Toshiba | Speech coding system utilizing vector quantization capable of minimizing quality degradation caused by transmission code error |
JPH09293139A (ja) * | 1996-04-26 | 1997-11-11 | Nippon Telegr & Teleph Corp <Ntt> | ビデオ管理方法及び装置 |
JP2011009860A (ja) * | 2009-06-23 | 2011-01-13 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、復号方法、符号化器、復号器、プログラム |
JP2011009869A (ja) * | 2009-06-23 | 2011-01-13 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、復号方法、符号化器、復号器およびプログラム |
JP2011009861A (ja) * | 2009-06-23 | 2011-01-13 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、復号方法、符号化器、復号器、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3045197B2 (ja) | 2000-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5091945A (en) | Source dependent channel coding with error protection | |
JP3114197B2 (ja) | 音声パラメータ符号化方法 | |
Stewart et al. | The design of trellis waveform coders | |
EP1397869B1 (en) | Method of decoding a variable-length codeword sequence | |
KR100492965B1 (ko) | 벡터 양자화를 위한 고속 탐색방법 | |
US6134520A (en) | Split vector quantization using unequal subvectors | |
EP2274833B1 (en) | Vector quantisation method | |
JP3143956B2 (ja) | 音声パラメータ符号化方式 | |
CN111130567B (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
EP1282237A2 (en) | Decoding method and decoding apparatus of product code | |
US6321193B1 (en) | Distance and distortion estimation method and apparatus in channel optimized vector quantization | |
Liang et al. | Low-complexity error correction algorithm for cyclic redundancy check codes | |
JP3045197B2 (ja) | ベクトル量子化器の符号帳設計方法 | |
US9196255B2 (en) | Low complexity target vector identification | |
US11336306B2 (en) | Decoding apparatus, decoding method, and non-transitory computer readable medium | |
CA2054849C (en) | Speech parameter encoding method capable of transmitting a spectrum parameter at a reduced number of bits | |
Murugan et al. | A Data System Model with the Viterbi Algorithm for soft decision output | |
Ozaydin et al. | A 1200 bps speech coder with LSF matrix quantization | |
JPH06311143A (ja) | 誤り制御通信システム | |
KR100332748B1 (ko) | 음성인식의벡터양자화검색방법 | |
Sánchez et al. | Low complexity channel error mitigation for distributed speech recognition over wireless channels | |
Tuan et al. | Improving the Simulated Annealing algorithm for source codeword index assignment by using the mechanism of Tabu search algorithm | |
Tuan et al. | Improving the Simulated Annealing algorithm for the Index Assignment method to enhance the robustness of communication systems | |
CN115694730A (zh) | 基于智能路径选择的极化码译码方法及相关设备 | |
de Marca | On noisy channel quantizer design for unequal error protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090317 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090317 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 12 |