(57)【特許請求の範囲】
【請求項１】
種々の波形パターンを表現したコードベクトルと、それらのコードベクトルを特定するインデックスとの対応表を記憶してなるコードブックを符号化装置及び復号化装置の双方に設けると共に、
該コードブックは、
所定区間内のいくつかの代表的な信号パターンを示す主コードベクトルとそれらの主コードベクトルをそれぞれ特定する主インデックスとの対応表を記憶してなる主コードブックと、
量子化すべき被量子化ベクトルと前記主コードブックから選択された主コードベクトルとの差分を示す誤差ベクトルのいくつかの代表的パターンを示す誤差コードベクトルと、それらの誤差コードベクトルをそれぞれ特定する誤差インデックスとの対応表を記憶してなる誤差コードブックと
に共用され、
前記符号化装置では、前記被量子化ベクトルと最もマッチングする前記コードブック内のコードベクトルを前記主コードベクトルとして選択しそのインデックスを前記主インデックスとして出力すると共に、前記被量子化ベクトルと前記選択された主コードベクトルとの差分を誤差ベクトルとして算出し、この誤差ベクトルが所定値よりも大きいときに、前記誤差ベクトルと最もマッチングする前記コードブック内のコードベクトルを前記誤差コードベクトルとして選択しそのインデックスを前記誤差インデックスとして出力し、
前記復号化装置では、前記符号化装置側で得られた主インデックスに対応する主コードベクトルを前記コードブックを参照して求めると共に、前記誤差ベクトルが所定値よりも大きいときに、前記符号化装置側で得られた誤差インデックスに対応する誤差コードベクトルを前記コードブックを参照して求め、前記求められた主コードベクトルと誤差コードベクトルとを合成して前記被量子化ベクトルを復号化し、
前記コードブックに記憶される前記コードベクトルを、選択された前記誤差コードベクトルに基づいて適宜補正するとともに、前記補正に際し、前記誤差コードベクトルとして利用可能なコードベクトルの書換えを抑制するようにした
ことを特徴とするベクトル量子化による符号化復号化方式。
【請求項２】
種々の波形パターンを表現したコードベクトルと、それらのコードベクトルを特定するインデックスとの対応表を記憶してなり、所定区間内のいくつかの代表的な信号パターンを示す主コードベクトルとそれらの主コードベクトルをそれぞれ特定する主インデックスとの対応表としての主コードブックと、この誤差ベクトルのいくつかの代表的パターンを示す誤差コードベクトルとそれらの誤差コードベクトルをそれぞれ特定する誤差インデックスとの対応表としての誤差コードブックとに共用されるコードブックと、
量子化すべき被量子化ベクトルと前記コードブックの各コードベクトルとを比較して両者が最もマッチングするコードベクトルを前記主コードベクトルとして選択しそのインデックスを前記主インデックスとして出力する主ベクトル量子化手段と、
前記被量子化ベクトルと前記主ベクトル量子化手段で選択された前記主コードベクトルとの差分を誤差ベクトルとして算出する演算手段と、
前記演算手段で算出された前記誤差ベクトルが所定値よりも大きいことを検出する誤差量検出手段と、
この誤差量検出手段で前記誤差ベクトルが所定値よりも大きいことが検出されたときに前記誤差ベクトルと前記コードブックの各コードベクトルとを比較し両者が最もマッチングするコードベクトルを前記誤差コードベクトルとして選択しそのインデックスを前記誤差インデックスとして出力する誤差ベクトル量子化手段と、
前記誤差ベクトル量子化手段により選択された前記誤差コードベクトルに基づき、前記コードブックを書き換えるコードブック書換手段と、
前記コードブック書換手段による書き換えに際し、書き換えの可否についての重み付けを付与する書き換え重み付け部と
を備えたことを特徴とするベクトル量子化による符号化装置。
【請求項３】
種々の波形パターンを表現したコードベクトルと、それらのコードベクトルを特定するインデックスとの対応表を記憶してなり、所定区間内のいくつかの代表的な信号パターンを示す主コードベクトルとそれらの主コードベクトルをそれぞれ特定する主インデックスとの対応表としての主コードブックと、量子化すべき被量子化ベクトルと前記主コードブックから選択された主コードベクトルとの差分を示す誤差ベクトルのいくつかの代表的パターンを示す誤差コードベクトルと、それらの誤差コードベクトルをそれぞれ特定する誤差インデックスとの対応表としての誤差コードブックとに共用されるコードブックと、
与えられた前記主インデックスに対応する主コードベクトルを前記コードブックを参照して求める主ベクトル逆量子化手段と、
前記被量子化ベクトルと前記主コードベクトルとの誤差量が大きいときに与えられる前記誤差インデックスに対応する誤差コードベクトルを前記コードブックを参照して求める誤差ベクトル逆量子化手段と、
前記主ベクトル逆量子化手段で求められた前記主コードベクトルと前記誤差ベクトル逆量子化手段で求められた前記誤差コードベクトルとを合成して被量子化ベクトルの逆量子化結果として出力する演算手段と、
前記誤差コードベクトルに基づき、前記コードブックを書き換えるコードブック書換手段と、
前記コードブック書換手段による書き換えおいて、書き換えの可否についての重み付けを付与する書き換え重み付け部と
を備えたことを特徴とするベクトル量子化による復号化装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、コートブックを用いて音声や画像等を高能率に圧縮して伝送又は記録するためのベクトル量子化による符号化復号化方式に関する。
【０００２】
【従来の技術】
従来より、音声や画像を高能率に圧縮して伝送又は記録するためのベクトル量子化が知られている。ベクトル量子化では、量子化すべき信号波形を一定期区間ついて切り出し、この区間の波形パターンを１つの符号（インデックス）で表現する。このため予め種々の波形パターンを蓄えておき、各波形パターンにインデックスを付加しておく。種々の波形パターンは、サンプル数の次元数で表現されたベクトル情報であり、これらのベクトル情報をコードベクトル、これらのコードベクトルとインデックスとの対応表をコードブックと呼ぶ。
【０００３】
例えば音声の符号化方式の一つとして知られているＣＥＬＰ（"Code-Excited Linear Prediction : High Quality Speech at Very low Bit Rate" M.R.Schroeder, B.S.Atal ICASSP,1985 ）では、音声の予測残差成分をサブフレームと呼ばれる４０サンプル程のデータに分割し、この各サブフレームに対してベクトル量子化を適用している。
しかし、このベクトル量子化に使用されるコードブックは、多数の話者の平均的なものとなるので、特定の個人向けには最適化されていない。このため、量子化されるベクトルとコードブックのベクトルとの誤差が大きく、良質の音声を伝送することができない。コードブックとして蓄えられるコードベクトルの数が多ければ、音質は向上するが、反面、コードブックの量が大きくなりコストアップになると共に、インデックスの情報量も増すために伝送量も増す。また、コードブックのサーチに時間がかかるという問題もある。
【０００４】
そこで、少ないコードブックの情報量で量子化歪の発生を極力抑えるようにしたベクトル量子化器が、特開平２−１８６８３６号に開示されている。このベクトル量子化器は、ベクトル量子化時の最小歪が所定値よりも大きい場合に、その被量子化ベクトルを復号装置側にも送信して、コードブック中の最も過去に選択された量子化代表ベクトル（コードベクトル）と書き換えることにより、コードブックの内容を被量子化ベクトルの特性に応じて適応的に更新するものである。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来のベクトル量子化器では、コードブックの書換が発生した場合に、新しい量子化代表ベクトルそのものを伝送又は記録しなければならないので、そのための情報量が増すという問題がある。これは伝送情報容量が制限されたベクトル量子化を使用した携帯電話装置用の音声符号化復号化等に適用する場合などに、大きな欠点となる。
【０００６】
この発明は、このような問題点に鑑みなされたもので、コードブック内及び符号化装置と復号化装置との間の情報量を少なく抑えつつ、誤差の少ない高品質のベクトル量子化を実現することができるベクトル量子化による符号化復号化方式を提供することを目的とする。
【０００７】
【課題を解決するための手段】
この発明に係るベクトル量子化による符号化復号化方式は、種々の波形パターンを表現したコードベクトルと、それらのコードベクトルを特定するインデックスとの対応表を記憶してなるコードブックを符号化装置及び復号化装置の双方に設けると共に、該コードブックは、所定区間内のいくつかの代表的な信号パターンを示す主コードベクトルとそれらの主コードベクトルをそれぞれ特定する主インデックスとの対応表を記憶してなる主コードブックと、量子化すべき被量子化ベクトルと前記主コードブックから選択された主コードベクトルとの差分を示す誤差ベクトルのいくつかの代表的パターンを示す誤差コードベクトルと、それらの誤差コードベクトルをそれぞれ特定する誤差インデックスとの対応表を記憶してなる誤差コードブックとに共用され、前記符号化装置では、前記被量子化ベクトルと最もマッチングする前記コードブック内のコードベクトルを前記主コードベクトルとして選択しそのインデックスを前記主インデックスとして出力すると共に、前記被量子化ベクトルと前記選択された主コードベクトルとの差分を誤差ベクトルとして算出し、この誤差ベクトルが所定値よりも大きいときに、前記誤差ベクトルと最もマッチングする前記コードブック内のコードベクトルを前記誤差コードベクトルとして選択しそのインデックスを前記誤差インデックスとして出力し、前記復号化装置では、前記符号化装置側で得られた主インデックスに対応する主コードベクトルを前記コードブックを参照して求めると共に、前記誤差ベクトルが所定値よりも大きいときに、前記符号化装置側で得られた誤差インデックスに対応する誤差コードベクトルを前記コードブックを参照して求め、前記求められた主コードベクトルと誤差コードベクトルとを合成して前記被量子化ベクトルを復号化し、前記コードブックに記憶される前記コードベクトルを、選択された前記誤差コードベクトルに基づいて適宜補正するとともに、前記補正に際し、前記誤差コードベクトルとして利用可能なコードベクトルの書換えを抑制するようにしたことを特徴とする。
【０００８】
なお、前記主コードブック中の主コードベクトルを、前記選択された誤差コードベクトルにより適宜補正する主コードブック書換手段を、前記符号化装置及び復号化装置に更に備えるようにしてもよい。
また、前記主コードブックと誤差コードブックとを１つのコードブックとして共用し、１つのコードベクトルを主コードベクトルとしても誤差コードベクトルとしても使用可能とするようにしてもよい。
【０００９】
【作用】
この発明によれば、被量子化ベクトルをコードブックでベクトル量子化した際に、被量子化ベクトルと主コードベクトルとの間の誤差量を検出し、この誤差量が大きい場合には、その誤差ベクトルを更にコードブックによってベクトル量子化するようにしている。このため、ベクトル量子化における量子化歪成分についても更にベクトル量子化により情報圧縮され、コードブックの情報量及び符号化装置と復号化装置との間に受け渡す情報量を殆ど増やさずに、誤差の少ない高品質のベクトル量子化を実現することができる。
また、コードブックが、主コードブックと誤差コードブックを共用していて、１つのコードベクトルを主コードベクトル及び誤差コードベクトルのいずれとしても使用することができるので、コードブック内の情報量を少なく抑えつつ、誤差の少ない高品質のベクトル量子化を実現することができる。
【００１０】
また、ベクトル量子化時の量子化歪量が大きいときにコードブックの内容を誤差を修正したベクトルで更新することにより、コードブックの内容を被量子化ベクトルの特性に応じて適応的に変更することができる。そして、この場合でも、この発明によれば、誤差インデックス、即ちベクトル量子化された歪成分の情報のみを符号化装置側から復号化装置側に受け渡せば良いので、新しいコードベクトルそのものを伝送又は記録する従来の方式に比べ、伝送又は記録情報量を大幅に削減することができる。
【００１１】
【実施例】
以下、図面を参照して、この発明の実施例を説明する。
図１は、この発明の一実施例に係るＣＥＬＰ方式によるベクトル量子化を含む音声信号の符号化装置、図２は同じく復号化装置を示すブロック図である。
図１において、符号化装置に入力される音声信号は、Ａ／Ｄ変換器１でＡ／Ｄ変換されたのち、長期予測器２に供給される。長期予測器２では、入力されたディジタル音声信号を、例えば１６０サンプル毎のフレームに分割し、各フレーム毎に分析して、パーコール係数、ゲイン、ピッチ等の長期予測係数を符号化・多重化器３に出力する。また、長期予測器２は、入力されたディジタル音声信号から長期予測係数によって線形予測された信号を差し引いて長期予測残差成分を求め、これをフレーム分割部４に出力する。フレーム分割部４では、フレームタイマ５を用いて、この１６０サンプルの長期予測残差成分を、例えば４０サンプル毎のサブフレームに分割し、４０次元の予測残差ベクトルとして主ベクトル量子化部６に出力する。ＣＥＬＰでは、この予測残差ベクトルがベクトル量子化すべき被量子化ベクトルとなる。主ベクトル量子化部６は、予測残差ベクトルをベクトルの大きさが１となるように正規化すると共に、正規化後の予測残差ベクトルと最も距離的に近い主コードベクトルを主コードブック７から検索し、その主インデックスＩＤＸと正規化係数とを符号化・多重化部３に出力する。
【００１２】
主コードブック７は、例えば図３に示すような構成となっている。
即ち、主コードブック７には、多種の言語、人種及び性別等から選択された例えば５１２種類の代表的な予測残差成分の主コードベクトルが予め格納されている。また、主コードブック７には、各主コードベクトルと対応する形で、その主コードベクトルを特定する主インデックスＩＤＸが格納されている。主コードベクトルの数が多ければ、量子化誤差が少なくなり、高品質の符号化・復号化が実現できるが、反面、メモリの記憶容量を増さなくてはならずコストアップとなると共に、サーチにも時間がかかる。また、例えば５１２種類の主コードベクトルであれば、主インデックスＩＤＸとして９ビットの情報を伝送すれば良いが、主コードベクトルの種類が増えると、伝送すべきビット数も増える。
【００１３】
主コードブック７を構成するパターンベクトルを簡単のために２次元のベクトルとして２次元平面に表現すると、図４（ａ）の黒丸のようになる。ここで、黒丸に併記された数値は各主コードベクトルの主インデックスである。いま、量子化すべき予測残差ベクトルとして図中×で示すベクトルＶi がベクトル量子化部６に入力されると、このベクトルＶi はベクトルＶ12に最も近いので、主インデックス１２が主ベクトル量子化部６での量子化結果として選択されることになる。
【００１４】
このときの予測残差ベクトルと選択された主コードベクトルとの誤差（×とＶ12との誤差）は、減算器８によって計算される。減算器８の出力は誤差ベクトルとして誤差ベクトル量子化部９に与えられる。誤差ベクトル量子化部９は、誤差ベクトルをベクトルの大きさが１となるように正規化すると共に、正規化後の誤差ベクトルと最も距離的に近い誤差コードベクトルを誤差コードブック１０から検索し、その誤差インデックスＥＩＤＸと正規化係数とを符号化・多重化部３に出力する。
誤差コードブック１０も主コードブック７と同様の構成となっている。補正の効率を上げるには、大きなコードブックが有効であるが、このシステムでは主コードブック７を適応的に書き換えるので、それほど多種の誤差コードベクトルを用意しておく必要はなく、４０次元（サンプル）のベクトル量子化であれば、４０個の誤差コードベクトルを用意しておけば良い。この場合、主コードブック７と誤差コードブック１０との組み合わせにより表現可能なパターン数は、５１２×４０＝２０４８０通りとなるので、５５２通りのパターンで従来のコードブックにして２０４８０通りのパターンを記憶したのと等価になる。
【００１５】
減算器８からの誤差ベクトルは、誤差量検出部１１にも与えられている。誤差量検出部１１は、誤差ベクトルの大きさが所定値よりも大きいときに、誤差成分を伝送又は記録するための誤差送信フラグを“１”にする。
符号化・多重化部３は、誤差送信フラグが“０”のとき、即ち誤差成分が所定値より少ない場合、長期予測係数、ＩＤＸ、その正規化係数及び誤差送信フラグを符号化及び多重化して伝送路に送信又は記録媒体に記録し、誤差送信フラグが“１”のとき、これらの情報にＥＩＤＸ及びその正規化係数を加えて符号化及び多重化して伝送路に送信又は記録媒体に記録する。
【００１６】
一方、復号化装置側では、図２に示すように、受信又は読み出した信号は、逆符号化・逆多重化部２１に供給され、逆符号化・逆多重化されることにより、長期予測係数及び正規化係数と、主インデックスＩＤＸと、誤差インデックスＥＩＤＸと、誤差送信フラグとに分割される。長期予測係数及び正規化係数は、長期予測合成部２２に供給される。
また、復号化装置側にも符号化装置と同一内容の主コードブック２４及び誤差コードブック２６が備えられており、主ベクトル逆量子化部２３は、供給された主インデックスＩＤＸから主コードブック２４を参照することにより、主コードベクトルを選択し、誤差ベクトル逆量子化部２５は、供給された誤差インデックスＥＩＤＸから誤差コードブック２６を参照することにより、誤差コードベクトルを選択する。これにより主コードブック２４及び誤差コードブック２６からそれぞれ出力される主コードベクトル及び誤差コードベクトルは、加算器２７で加算され、長期予測合成部２２に供給される。長期予測合成部２２は、加算器２７から供給された主コードベクトルと誤差コードベクトルとの加算値を正規化係数によって元の信号レベルに戻し、この信号と長期予測係数から線形予測して求められた信号とを合成する。この合成信号がＤ／Ａ変換器２８でＤ／Ａ変換されて音声信号として出力される。
【００１７】
次に、主コードブック７，２４の更新処理について説明する。
符号化装置において、主コードブック７で選択された主コードベクトルと、誤差コードブック１０で選択された誤差コードブックとは、加算器１２によって加算される。加算器１２の出力は、主ベクトル量子化部６で選択された主コードベクトルよりも、主ベクトル量子化部６に入力される予測残差ベクトルにより近い値となる。一方、復号化装置においては、加算器２７の出力が、符号化装置の加算器１２の出力と同じになる。そして、これらの加算器１２，２７の出力を、誤差送信フラグが“１”のときに新たな主コードベクトルとして主コードブック７，２４内の選択された主コードベクトルと置き換える。図４（ｂ）は、同図（ａ）の主コードベクトルＶ12とその誤差コードベクトルとから新たに生成された主コードベクトルとを置き換えた例を示している。また、新たな主コードベクトルと所定時間当たりの最も選択頻度の低い主コードベクトルとを置き換えるようにしてもよい。
【００１８】
なお、このような主コードブック７の更新によってコードブックの内容を話者の特性に応じて適応的に変化させることができるが、電源投入時や、話者が変わって音声入力の特性が急変したような場合には、学習されたコードブックの内容では、かえって都合が悪い場合がある。この場合には、初期化信号等によってコードブック７，２４の内容を当初の内容にリセットするようにしても良い。コードブックの初期データは、他のＲＯＭ等に保存しておいても良いが、書き換えられたベクトル情報のみを主コードブック７，２４の空き領域に保存しておいて、初期化信号に基づいて、その内容を復活させるようにしても良い。
【００１９】
図５及び図６は、この発明の他の実施例に係る符号化復号化方式を説明するための図で、図５は符号化装置、図６は復号化装置をそれぞれ示すブロック図である。
この実施例のシステムが前述した実施例のシステムと異なる点は、主コードブックと誤差コードブックとが１つのコードブック１４，３０として共用されている点と、コードブック書換部１５，３１によるコードブック更新時に書換可否についての重み付けを付与する書換重み付け部１６，３２を付加している点である。
【００２０】
この実施例では、主コードベクトルと誤差コードベクトルとが共用され、１つのコードベクトルを主コードベクトル及び誤差コードベクトルのいずれとしても使用することができるので、例えば５１２通りのコードベクトルであれば、従来のコードベクトルにして５１２×５１２＝２６２１４４通りのコードベクトルを記憶したのと等価になる。
このコードブック１４，３０には、プリミティブなベクトル、例えは３次元のベクトルであれば、Ｘ，Ｙ，Ｚの各方向へのベクトル等を含むことが望ましい。このようなベクトルは、誤差を修正するための誤差コードベクトルとして必要だからである。
換言すると、このような誤差コードベクトルとして利用可能なコードベクトルは、コードブック書換部１５，３１で書き換えない方がよい。このため、書換重み付け部１６，３２は、このようなプリミティブなコードベクトルの書換を抑制するように、各コードベクトルに重み付けをする。また、プリミティブなコードベクトルは、極力、コードブック１４の先頭の方に書き込んでおくと、誤差コードベクトルの検索時間を短くすることができる。
【００２１】
なお、以上の実施例では、音声信号の予測残差ベクトルのベクトル量子化を例にとったが、音声信号そのもの、又は画像信号等のベクトル量子化にも同様に適用可能であることはいうまでもない。
【００２２】
【発明の効果】
以上述べたように、この発明によれば、被量子化ベクトルを主コードブックでベクトル量子化した際に、被量子化ベクトルと主コードベクトルとの間の誤差量を検出し、この誤差量が大きい場合には、その誤差ベクトルを更に誤差コードブックによってベクトル量子化するようにしているので、ベクトル量子化における量子化歪成分についても更にベクトル量子化により情報圧縮され、コードブックの情報量及び符号化装置と復号化装置との間に受け渡す情報量を殆ど増やさずに、誤差の少ない高品質のベクトル量子化を実現することができる。
また、コードブックが、主コードブックと誤差コードブックを共用していて、１つのコードベクトルを主コードベクトル及び誤差コードベクトルのいずれとしても使用することができるので、コードブック内の情報量を少なく抑えつつ、誤差の少ない高品質のベクトル量子化を実現することができる。
【００２３】
また、ベクトル量子化時の量子化歪量が大きいときにコードブックの内容を誤差を修正したベクトルに更新する場合でも、誤差インデックス、即ちベクトル量子化された歪成分の情報のみを符号化装置側から復号化装置側に受け渡せば良いので、新しいコードベクトルそのものを伝送又は記録する従来の方式に比べ、伝送又は記録情報量を大幅に削減することができる。
【図面の簡単な説明】
【図１】  この発明の一実施例に係るベクトル量子化による符号化装置のブロック図である。
【図２】  同ベクトル量子化による復号化装置のブロック図である。
【図３】  同符号化装置及び復号化装置におけるコードブックの内容を説明するための図である。
【図４】  同コードブックの更新前及び更新後のコードベクトルの内容を模式的に示す図である。
【図５】  この発明の他の実施例に係るベクトル量子化による符号化装置のブロック図である。
【図６】  同ベクトル量子化による復号化装置のブロック図である。
【符号の説明】
１…Ａ／Ｄ変換器、２…長期予測部、３…符号化・多重化部、４…フレーム分割部、５…フレームタイマ、６…主ベクトル量子化部、７，２４…主コードブック、８…減算器、９…誤差ベクトル量子化部、１０，２６…誤差コードブック、１１…誤差量検出部、１２，２７…加算器、１３，２９…主コードブック書換部、１４，３０…コードブック、１５，３１…コードブック書換部、１６，３２…書換重み付け部、２１…逆符号化・逆多重化部、２２…長期予測合成部、２３…主ベクトル逆量子化部、２５…誤差ベクトル逆量子化部、２８…Ｄ／Ａ変換器。
【図１】
0003828170.tif 000002
【図２】
0003828170.tif 000003
【図３】
0003828170.tif 000004
【図４】
0003828170.tif 000005
【図５】
0003828170.tif 000006
【図６】
0003828170.tif 000007