(57)【要約】【課題】ビット数が大きくなった場合にビット数及び計算量に見合う量子化性能を得るとともに、多段で量子化する際に前段で一旦小さくなった量子化歪みを後段で大きくしてしまうことを防ぎ、最終的な量子化歪みを小さくすること。【解決手段】ＶＱ部３０１、３０５、３１０、３１５は、量子化対象信号を量子化して復号信号を取得する。減算部３０２、３０７、３１２は、量子化対象信号から復号信号を減算して求めた誤差成分を後段の量子化対象信号として取得する。判定部３０３、３０８、３１３は、誤差成分の大きさが所定値未満の場合には、量子化を終了する。符号まとめ処理部３１７は、量子化の際の各段の符号を格納するとともに、量子化を終了する場合に、格納している各段の符号をまとめて出力する。【選択図】図４
2013055417.tif 000002
【特許請求の範囲】
【請求項１】
多段で量子化を行う量子化装置であって、
各段において量子化対象信号を量子化して符号を生成するとともに復号信号を生成する量子化手段と、
各段において、前記量子化対象信号から前記復号信号を減算して求めた誤差成分を後段の前記量子化対象信号として出力する減算手段と、
各段において、前記誤差成分の大きさが所定値以上の場合には、後段の前記量子化手段における量子化を継続し、前記誤差成分の大きさが所定値未満の場合には、前記量子化手段における量子化を終了する判定手段と、
各段の前記量子化手段における量子化により生成された各段の符号を格納するとともに、前記量子化手段における量子化を終了する場合に、格納している前記各段の符号をまとめて出力するまとめ手段と、
を具備する量子化装置。
【請求項２】
前記量子化手段は、
ベクトルである前記量子化対象信号をベクトル量子化する、
請求項１記載の量子化装置。
【請求項３】
前記量子化手段は、
前記復号信号としてコードベクトルを符号帳より取得する、
請求項１記載の量子化装置。
【請求項４】
前記量子化手段は、
ベクトルである前記量子化対象信号をベクトル量子化して符号を生成するとともに前記復号信号である復号ベクトルを生成し、
前記減算手段は、
ベクトルである前記量子化対象信号から前記復号ベクトルを減算して前記誤差成分である誤差ベクトルを出力する、
請求項１記載の量子化装置。
【請求項５】
前記判定手段は、
前記誤差成分の大きさを示す前記誤差成分のパワが所定値以上の場合には、後段の前記量子化手段における量子化を継続し、前記誤差成分のパワが所定値未満の場合には、前記量子化手段における量子化を終了する、
請求項１記載の量子化装置。
【請求項６】
多段で量子化を行う量子化方法であって、
各段において量子化対象信号を量子化して符号を生成するとともに復号信号を生成するステップと、
各段において、前記量子化対象信号から前記復号信号を減算して求めた誤差成分を後段の前記量子化対象信号として出力するステップと、
各段において、前記誤差成分の大きさが所定値以上の場合には後段の量子化を継続し、前記誤差成分の大きさが所定値未満の場合には量子化を終了するステップと、
各段の量子化により生成された各段の符号を格納するとともに、量子化を終了する場合に格納している前記各段の符号をまとめて出力するステップと、
を具備する量子化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多段で量子化を行う量子化装置及び量子化方法に関する。
【背景技術】
【０００２】
移動体通信においては、伝送帯域の有効利用のために、音声または画像のディジタル情報の圧縮符号化が必須である。その中でも携帯電話で広く利用されている音声コーデック技術に対する期待は大きく、圧縮率の高い従来の高効率符号化に対して、更により高音質となる符号化への要求が高まっている。また、音声通信は公衆で使用されるため、標準化が必須であり、それに伴う知的財産権の価値の大きさゆえに、世界各国の企業において研究開発が盛んに行われている。
【０００３】
近年では、音声及び音楽を符号化できるコーデックの標準化がＩＴＵ−Ｔ（International Telecommunication Union - Telecommunication Standardization Sector）及びＭＰＥＧ（Moving Picture Experts Group）で検討されており、より効率的で高品質の音声コーデックが求められている。
【０００４】
２０年前に確立された音声の発声機構をモデル化してベクトル量子化（ＶＱ：Vector Quantization）を応用した基本方式であるＣＥＬＰ（Code Excited Linear Prediction）によって、音声符号化技術は大きく性能を向上させた。ＣＥＬＰは、国際規格では、ＩＴＵ−Ｔ標準Ｇ．７２９、Ｇ．７２２．２、ＥＴＳＩ（European Telecommunications Standards Institute）標準ＡＭＲ（Adaptive Multiple Rate Coding）、ＡＭＲ−ＷＢ（Adaptive Multiple Rate - Wide Band）及び３ＧＰＰ（3rd Generation Partnership Project）２標準ＶＭＲ−ＷＢ（Variable Multiple rate - Wide Band）等の多くの標準方式に採用されている。
【０００５】
上記のＣＥＬＰでは、そのスペクトルの概形を低ビットレートで符号化することができ、ＬＰＣ分析を行うとともに、得られたパラメータを量子化する。特に、近年の標準方式で主に使用されているのは線スペクトルによる量子化であり、その代表的なものはＬＳＰ（Line Spectral Pair）、及びそれを改良したＩＳＰ（Immittance Spectral Pair）である。両者は、高い補間性を有することから、ベクトル量子化と親和性が高い。従って、ＬＳＰ及びＩＳＰでは、ベクトル量子化を符号化に用いることにより、低ビットレートでスペクトル情報を伝送することができる。これにより、ＣＥＬＰを基本とするコーデックの性能は格段に向上した。
【０００６】
そして、最近では、より高品質を求めるニーズに対応するために、広帯域信号（１６ｋｂｐｓ）及び超広帯域信号（３２ｋｂｐｓ）を符号化するコーデックが求められており、ＩＴＵ−Ｔ、ＭＰＥＧ、及び３ＧＰＰなどで標準化が進んでいる。広帯域及び超広帯域のディジタル信号を符号化するためにＬＰＣ（Linear Prediction Coding）係数を用いる場合は、１６次以上の次数の多いＬＳＰまたはＩＳＰを多くのビット数で符号化する必要がある。そのため、一般には、ターゲットベクトルを複数に分割し、それぞれをベクトル量子化するスプリットベクトル量子化が用いられる。しかし、スプリットベクトル量子化では、ベクトルの要素間の統計的相関を使うことができないので、符号化性能は落ちる。
【０００７】
そこで、より高い性能が得られる方法として、多段量子化（Multiple stage quantization）が用いられる（例えば、特許文献１）。多段量子化では、ベクトルを分割せずに、複数のベクトル量子化を用いて誤差が徐々に小さくなるように連続で量子化を行う。即ち、多段量子化は、前段の量子化の誤差ベクトルを後段で量子化するものである。
【０００８】
図１は、従来の多段量子化装置１０の構成を示すブロック図である。図１では、量子化対象であるターゲットベクトルを４段のＶＱ部で量子化するものである。
【０００９】
図１において、最初に、ＶＱ部１１は、入力したターゲットベクトルをベクトル量子化する。ＶＱ部１１は、ＶＱ部１１の内部に格納した符号帳の中から最も量子化歪の小さいコードベクトルの番号を符号として符号まとめ処理部１８に出力し、その時のコードベクトル（「復号ベクトル」とも呼ぶ）を減算部１２に出力する。
【００１０】
減算部１２は、ターゲットベクトルから、ＶＱ部１１より入力したコードベクトルを減算して誤差ベクトル（「残差ベクトル」とも呼ぶ。また後段の量子化部にとっては「量子化対象ベクトル」になる）を取得し、取得した誤差ベクトルをＶＱ部１３及び減算部１４に出力する。
【００１１】
ＶＱ部１３は、減算部１２から入力した誤差ベクトルをベクトル量子化する。ＶＱ部１３は、ＶＱ部１３の内部に格納された符号帳の中から最も量子化歪の小さいコードベクトルの番号を符号として符号まとめ処理部１８に出力し、その時のコードベクトルを減算部１４に出力する。
【００１２】
減算部１４は、減算部１２から入力した誤差ベクトルから、ＶＱ部１３から入力したコードベクトルを減算して誤差ベクトルを取得し、取得した誤差ベクトルをＶＱ部１５及び減算部１６に出力する。
【００１３】
ＶＱ部１５は、減算部１４から入力した誤差ベクトルをベクトル量子化する。ＶＱ部１５は、ＶＱ部１５の内部に格納された符号帳の中から最も量子化歪の小さいコードベクトルの番号を符号として符号まとめ処理部１８に出力し、その時のコードベクトルを減算部１６に出力する。
【００１４】
減算部１６は、減算部１４から入力した誤差ベクトルから、ＶＱ部１５から入力したコードベクトルを減算して誤差ベクトルを取得し、取得した誤差ベクトルをＶＱ部１７に出力する。
【００１５】
ＶＱ部１７は、減算部１６から入力した誤差ベクトルをベクトル量子化する。ＶＱ部１７は、ＶＱ部１７の内部に格納された符号帳の中から最も量子化歪の小さいコードベクトルの番号を符号として符号まとめ処理部１８に出力する。
【００１６】
符号まとめ処理部１８は、ＶＱ部１１、ＶＱ部１３、ＶＱ部１５及びＶＱ部１７から入力した符号をまとめて１つの符号とし、伝送する。デコーダは、上記と逆に伝送された符号に基づいて、４つの符号帳のコードベクトルを加算することによって符号化する。
【００１７】
上記のように多段構成にすることにより、量子化ビット数が大きい場合に、効率よく量子化することができる。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開昭６２−１８８５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、近年標準化が進んでいるＩＴＵ−Ｔ標準Ｇ．７１８においては、スペクトルパラメータを多段でベクトル量子化する場合において、ビット数が大きくなるにつれて段数が増え、それに伴ってビット数及び計算量が増えるが、ビット数及び計算量の増加の割に量子化歪を小さくできないという問題がある。また、従来の装置においては、多段ベクトル量子化において順次段数を進めていく途中で量子化精度が落ちた場合に、前段で一旦小さくなった量子化歪みを後段で大きくしてしまい、最終的な量子化歪みを小さくすることができないという問題がある。
【００２０】
本発明の目的は、ビット数が大きくなった場合にビット数及び計算量に見合う量子化性能を得ることができるとともに、多段で量子化する際に前段で一旦小さくなった量子化歪みを後段で大きくしてしまうことを防ぐことができ、最終的な量子化歪みを小さくすることができる量子化装置及び量子化方法を提供することである。
【課題を解決するための手段】
【００２１】
本発明の量子化装置は、多段で量子化を行う量子化装置であって、各段において量子化対象信号を量子化して符号を生成するとともに復号信号を生成する量子化手段と、各段において、前記量子化対象信号から前記復号信号を減算して求めた誤差成分を後段の前記量子化対象信号として出力する減算手段と、各段において、前記誤差成分の大きさが所定値以上の場合には、後段の前記量子化手段における量子化を継続し、前記誤差成分の大きさが所定値未満の場合には、前記量子化手段における量子化を終了する判定手段と、各段の前記量子化手段における量子化により生成された各段の符号を格納するとともに、前記量子化手段における量子化を終了する場合に、格納している前記各段の符号をまとめて出力するまとめ手段と、を具備する構成を採る。
【００２２】
本発明の量子化方法は、多段で量子化を行う量子化方法であって、各段において量子化対象信号を量子化して符号を生成するとともに復号信号を生成するステップと、各段において、前記量子化対象信号から前記復号信号を減算して求めた誤差成分を後段の前記量子化対象信号として出力するステップと、各段において、前記誤差成分の大きさが所定値以上の場合には後段の量子化を継続し、前記誤差成分の大きさが所定値未満の場合には量子化を終了するステップと、各段の量子化により生成された各段の符号を格納するとともに、量子化を終了する場合に格納している前記各段の符号をまとめて出力するステップと、を具備するようにした。
【発明の効果】
【００２３】
本発明によれば、ビット数が大きくなった場合にビット数及び計算量に見合う量子化性能を得ることができるとともに、多段で量子化する際に前段で一旦小さくなった量子化歪みを後段で大きくしてしまうことを防ぐことができ、最終的な量子化歪みを小さくすることができる。
【図面の簡単な説明】
【００２４】
【図１】従来の多段量子化装置の構成を示すブロック図
【図２】本発明の実施の形態におけるＣＥＬＰ符号化装置の構成を示すブロック図
【図３】本発明の実施の形態におけるＬＰＣ量子化部の構成を示すブロック図
【図４】本発明の実施の形態に係る量子化装置の構成を示すブロック図
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２６】
（実施の形態）
＜ＣＥＬＰ符号化装置の構成＞
図２は、本発明の実施の形態におけるＣＥＬＰ符号化装置１００の構成を示すブロック図である。
【００２７】
図２において、ＣＥＬＰ符号化装置１００は、声道情報と音源情報とからなる音声信号を、声道情報については、ＬＰＣパラメータ（線形予測係数）を求めることにより符号化し、音源情報については、予め記憶されている音声モデルのいずれを用いるかを特定するインデックスを求めることにより符号化する。音源情報については、適応符号帳１０３及び固定符号帳１０４でどのような音源ベクトル（コードベクトル）を生成するかを特定するインデックス（符号）を求めることにより符号化する。
【００２８】
具体的には、ＣＥＬＰ符号化装置１００は、以下の構成を有する。
【００２９】
ＬＰＣ分析部１０１は、音声信号に対して線形予測分析（ＬＰＣ分析）を施し、スペクトル包絡情報であるＬＰＣパラメータを求め、求めたＬＰＣパラメータをターゲットベクトルとしてＬＰＣ量子化部１０２及び聴感重み付け部１１１に出力する。
【００３０】
ＬＰＣ量子化部１０２は、ＬＰＣ分析部１０１から出力されて入力されたＬＰＣパラメータを量子化する。そして、ＬＰＣ量子化部１０２は、得られた量子化ＬＰＣパラメータをＬＰＣ合成フィルタ１０９に出力し、量子化ＬＰＣパラメータのインデックス（符号）をＣＥＬＰ符号化装置１００の外部へ出力する。なお、ＬＰＣ量子化部１０２の構成の詳細については後述する。
【００３１】
一方、適応符号帳１０３は、加算器１０８から入力した、ＬＰＣ合成フィルタ１０９で使用された過去の駆動音源を記憶しており、後述する歪み最小化部１１２から指示されたインデックスに対応する適応符号帳ラグに従って、記憶している駆動音源から１サブフレーム分の音源ベクトルを生成する。この音源ベクトルは、適応符号帳ベクトルとして乗算器１０６に出力される。
【００３２】
固定符号帳１０４は、音源符号化（音源量子化、音源ベクトル符号化とも呼ばれる）の符号帳である。固定符号長１０４は、所定形状の音源ベクトルを複数個予め記憶しており、歪み最小化部１１２から指示されたインデックスに対応する音源ベクトルを、固定符号帳ベクトルとして乗算器１０７に出力する。ここで、固定符号帳１０４は代数的音源であり、代数的符号帳を用いた場合について説明する。代数的音源とは、多くの標準コーデックに採用されている音源である。
【００３３】
なお、上記の適応符号帳１０３は、有声音のように周期性の強い成分を表現するために使われる。一方、固定符号帳１０４は、白色雑音のように周期性の弱い成分を表現するために使われる。
【００３４】
ゲイン符号帳１０５は、歪み最小化部１１２からの指示に従って、適応符号帳１０３から出力される適応符号帳ベクトル用のゲイン（適応符号帳ゲイン）、及び固定符号帳１０４から出力される固定符号帳ベクトル用のゲイン（固定符号帳ゲイン）を生成し、それぞれ乗算器１０６、１０７に出力する。
【００３５】
乗算器１０６は、ゲイン符号帳１０５から出力された適応符号帳ゲインを、適応符号帳１０３から出力された適応符号帳ベクトルに乗じ、乗算後の適応符号帳ベクトルを加算器１０８に出力する。
【００３６】
乗算器１０７は、ゲイン符号帳１０５から出力された固定符号帳ゲインを、固定符号帳１０４から出力された固定符号帳ベクトルに乗じ、乗算後の固定符号帳ベクトルを加算器１０８に出力する。
【００３７】
加算器１０８は、乗算器１０６から出力された適応符号帳ベクトルと、乗算器１０７から出力された固定符号帳ベクトルとを加算し、加算後の音源ベクトルを駆動音源として適応符号帳１０３及びＬＰＣ合成フィルタ１０９に出力する。
【００３８】
ＬＰＣ合成フィルタ１０９は、ＬＰＣ量子化部１０２から出力された量子化ＬＰＣパラメータをフィルタ係数とし、適応符号帳１０３及び固定符号帳１０４で生成される音源ベクトルを駆動音源としたフィルタ関数、すなわち、ＬＰＣ合成フィルタを用いて合成信号を生成する。この合成信号は、加算器１１０に出力される。
【００３９】
加算器１１０は、ＬＰＣ合成フィルタ１０９で生成された合成信号を音声信号から減算することによって誤差信号を算出し、この誤差信号を聴感重み付け部１１１に出力する。なお、この誤差信号が符号化歪みに相当する。
【００４０】
聴感重み付け部１１１は、ＬＰＣ分析部１０１から入力されるＬＰＣパラメータを用いて、加算器１１０から出力された符号化歪みに対して聴感的な重み付けを施し、歪み最小化部１１２に出力する。
【００４１】
歪み最小化部１１２は、聴感重み付け部１１１から出力された符号化歪みが最小となるような、適応符号帳１０３、固定符号帳１０４及びゲイン符号帳１０５の各インデックス（符号）をサブフレームごとに求め、これらのインデックスを符号化情報としてＣＥＬＰ符号化装置１００の外部に出力する。より詳細には、上記の適応符号帳１０３及び固定符号帳１０４に基づいて合成信号を生成し、この信号の符号化歪みを求める一連の処理は閉ループ制御（帰還制御）となっている。歪み最小化部１１２は、各符号帳に指示するインデックスを１サブフレーム内において様々に変化させることによって各符号帳を探索し、最終的に得られる、符号化歪みを最小とする各符号帳のインデックスを出力する。
【００４２】
なお、符号化歪みが最小となる際の駆動音源は、サブフレームごとに適応符号帳１０３へフィードバックされる。適応符号帳１０３は、このフィードバックにより、記憶されている駆動音源を更新する。
【００４３】
＜ＬＰＣ量子化部の構成＞
図３は、ＬＰＣ量子化部１０２の構成を示すブロック図である。ＬＰＣ量子化部１０２は、量子化装置２０１及びパラメータ生成部２０２により構成される。
【００４４】
量子化装置２０１は、ＬＰＣ分析部１０１から出力されて入力されたＬＰＣパラメータを量子化する。ここでの量子化は、多段ベクトル量子化（多段ＶＱ）により行われる。このため、各段で生成された量子化ＬＰＣパラメータをＬＰＣ合成フィルタ１０９で使用可能な状態にするために、量子化装置２０１は、各段で生成された量子化ＬＰＣパラメータをパラメータ生成部２０２に出力する。また、量子化装置２０１は、各段の量子化により生成された各段の量子化ＬＰＣパラメータのインデックス（符号）を、ＣＥＬＰ符号化装置１００の外部で使用可能な状態にまとめて、ＬＳＰ符号として出力する。なお、量子化装置２０１の構成の詳細については後述する。
【００４５】
パラメータ生成部２０２は、量子化装置２０１から出力された、多段ＶＱの各段で生成された量子化ＬＰＣパラメータを入力し、入力した量子化ＬＰＣパラメータをＬＰＣ合成フィルタ１０９で使用可能な状態にして、ＬＰＣ合成フィルタ１０９へ出力する。
【００４６】
＜量子化装置の構成＞
図４は、本発明の実施の形態に係る量子化装置２０１の構成を示すブロック図である。
【００４７】
量子化装置２０１で量子化されるターゲットベクトルは、ＬＳＰ（Line Spectral Pair）またはＩＳＰ（Imittance Spectral Pair）である。
【００４８】
本実施の形態では、スペクトルパラメータの量子化方法として多段ベクトル量子化（「多段ＶＱ」とも呼ぶ）を用いる。多段ＶＱとは、複数段のベクトル量子化を連続的に行い、前段の誤差ベクトルを後段で量子化する方法である。本実施の形態では、比較的量子化ビット数が多い場合について説明する。本実施の形態では、一例として、段数を４段及び候補数を「１」とする。
【００４９】
なお、ターゲットベクトル等の各ＶＱ部へ入力されるベクトルは、「量子化対象」または「量子化対象ベクトル」とも呼ばれる。各ＶＱ部は、「量子化部」とも呼ばれる。各ＶＱ部で符号化及び復号した結果として得られるコードベクトルは、「復号対象」とも呼ばれる。各減算部で求められる誤差ベクトルは、「誤差成分」とも呼ばれ、また、各ＶＱ部に入力される時に「量子化対象」または「量子化対象ベクトル」とも呼ばれる。誤差ベクトルの大きさである誤差パワは、「誤差成分の大きさ」とも呼ばれる。
【００５０】
以下に、段数毎にその構成を説明する。
【００５１】
（１段目の構成）
１段目は、ＶＱ部３０１、減算部３０２及び判定部３０３により構成される。
【００５２】
ＶＱ部３０１は、ＬＰＣ分析部１０１から入力したターゲットベクトルをベクトル量子化する。ＶＱ部３０１は、ＶＱ部３０１の内部に格納された符号帳の中から最も量子化歪の小さいコードベクトルの番号を符号として符号まとめ処理部３１７に出力し、その時のコードベクトル（「復号ベクトル」とも呼ぶ）を減算部３０２に出力する。また、ＶＱ部３０１は、このコードベクトルを、この段の量子化ＬＰＣパラメータとして、パラメータ生成部２０２へ出力する。
【００５３】
減算部３０２は、ＬＰＣ分析部１０１から入力したターゲットベクトルから、ＶＱ部３０１より入力した復号ベクトルを減算して誤差ベクトル（「残差ベクトル」とも呼ぶ。また後段の量子化部にとっては「量子化対象ベクトル」になる）を取得し、取得した誤差ベクトルを判定部３０３に出力する。この際の計算アルゴリズムを以下の（１）式に示す。
【数１】
2013055417.tif 000003
【００５４】
判定部３０３は、減算部３０２から入力した誤差ベクトルの大きさ（「量子化歪」または「量子化誤差」とも呼ぶ）を求める。即ち、判定部３０３は、誤差ベクトルの要素の２乗和を求める。この際の計算アルゴリズムを以下の（２）式に示す。
【数２】
2013055417.tif 000004
【００５５】
判定部３０３は、量子化歪を評価し、量子化歪が予め定められたしきい値より小さいか否かにより、２つのモードのうち何れのモードになるかを判定する。この際の計算アルゴリズムを以下の（３）式に示す。
【数３】
2013055417.tif 000005
【００５６】
判定部３０３は、（３）式より、モードが「０」である場合は、誤差ベクトルを更に量子化する必要があると判断する。この場合には、判定部３０３は、次の段のＶＱ部３０５から符号まとめ処理部３１７に符号を送るように、切替部３０６を制御するとともに、判定部３０３とＶＱ部３０５との間のスイッチ３０４を閉じて（ＯＮして）、誤差ベクトルをＶＱ部３０５に出力する。ここでの切替部３０６の制御は、アルゴリズム上では、ＶＱ部３０５を動かして符号まとめ処理部３１７に量子化結果である符号を送るということと等価である。スイッチ３０４を閉じることは、アルゴリズム上では、誤差ベクトルのバッファをＶＱ部３０５に渡して、ＶＱ部３０５を動かすことと等価である。
【００５７】
一方、判定部３０３は、（３）式より、モードが「１」である場合は、量子化歪が十分に小さいと判断し、次の段のＶＱ部３０５と符号まとめ処理部３１７との接続を切り離すように、切替部３０６を制御するととともに、スイッチ３０４を開く（ＯＦＦする）。また、その際、判定部３０３は、ＶＱ部３０５以降の処理を行わないという情報を伝えるために、「−１」という値を、切替部３０６を介して符号まとめ処理部３１７に出力する。この際、ＶＱ部３１０以降の各ブロックでは、情報を送る必要がないので何も処理を行わない。ここでの切替部３０６の制御は、アルゴリズム上では、ＶＱ部３０５から符号まとめ処理部３１７に符号を送る処理を行わないということと等価である。また、スイッチ３０４を開くことは、アルゴリズム上では、ＶＱ部３０５以降の処理を行わないということと等価である。
【００５８】
（２段目の構成）
２段目は、ＶＱ部３０５、減算部３０７及び判定部３０８により構成される。
【００５９】
ＶＱ部３０５は、判定部３０３から入力した誤差ベクトルをベクトル量子化する。ＶＱ部３０５は、ＶＱ部３０５の内部に格納された符号帳の中から最も量子化歪の小さいコードベクトルの番号を符号として符号まとめ処理部３１７に出力し、その時のコードベクトルを減算部３０７に出力する。また、ＶＱ部３０５は、このコードベクトルを、この段の量子化ＬＰＣパラメータとして、パラメータ生成部２０２へ出力する。
【００６０】
減算部３０７は、判定部３０３から入力した誤差ベクトルから、ＶＱ部３０５から入力した復号化ベクトルを減算し誤差ベクトルを取得し、取得した誤差ベクトルを判定部３０８に出力する。その際の計算アルゴリズムを以下の（４）式に示す。
【数４】
2013055417.tif 000006
【００６１】
判定部３０８は、減算部３０７から入力した誤差ベクトルの大きさを求める。即ち、判定部３０８は、誤差ベクトルの要素の２乗和を求める。その際の計算アルゴリズムを以下の（５）式に示す。
【数５】
2013055417.tif 000007
【００６２】
次に、判定部３０８は、量子化歪を評価し、量子化歪が予め定められたしきい値より小さいか否かにより、２つのモードのうち何れのモードになるかを判定する。その際の計算アルゴリズムを以下の（６）式に示す。
【数６】
2013055417.tif 000008
【００６３】
判定部３０８は、（６）式より、モードが「０」である場合は、誤差ベクトルを更に量子化する必要があると判断する。この場合には、判定部３０８は、次の段のＶＱ部３１０から符号まとめ処理部３１７に符号を送るように、切替部３１１を制御するとともに、判定部３０８とＶＱ部３１０との間のスイッチ３０９を閉じて（ＯＮして）、誤差ベクトルをＶＱ部３１０に出力する。ここでの切替部３１１の制御は、アルゴリズム上では、ＶＱ部３１０を動かして符号まとめ処理部３１７に量子化結果である符号を送るということと等価である。スイッチ３０９を閉じることは、アルゴリズム上では、誤差ベクトルのバッファをＶＱ部３１０に渡して、ＶＱ部３１０を動かすことと等価である。
【００６４】
一方、判定部３０８は、（６）式より、モードが「１」である場合は、量子化歪が十分に小さいと判断し、次の段のＶＱ部３１０と符号まとめ処理部３１７との接続を切り離すように、切替部３１１を制御するとともに、スイッチ３０９を開く（ＯＦＦにする）。また、その際、判定部３０８は、ＶＱ部３１０以降の処理を行わないという情報を伝えるために、「−１」という値を、切替部３１１を介して符号まとめ処理部３１７に出力する。この際、ＶＱ部３１０からは情報を送る必要がないので何も処理を行わない。ここでの切替部３１１の制御は、アルゴリズム上では、ＶＱ部３１０から符号まとめ処理部３１７に符号を送る処理を行わないということと等価である。スイッチ３０９を開くことは、アルゴリズム上では、ＶＱ部３１０以降の処理を行わないということと等価である。
【００６５】
（３段目の構成）
３段目は、ＶＱ部３１０、減算部３１２及び判定部３１３から構成される。
【００６６】
ＶＱ部３１０は、判定部３０８から入力した誤差ベクトルをベクトル量子化する。ＶＱ部３１０は、ＶＱ部３１０の内部に格納された符号帳の中から最も量子化歪の小さいコードベクトルの番号を符号として符号まとめ処理部３１７に出力し、その時のコードベクトルを減算部３１２に出力する。また、ＶＱ部３１０は、このコードベクトルを、この段の量子化ＬＰＣパラメータとして、パラメータ生成部２０２へ出力する。
【００６７】
減算部３１２は、判定部３０８から入力した誤差ベクトルから、ＶＱ部３１０から入力した復号化ベクトルを減算して誤差ベクトルを取得し、取得した誤差ベクトルを判定部３１３へ出力する。この際の計算アルゴリズムを以下の（７）式に示す。
【数７】
2013055417.tif 000009
【００６８】
判定部３１３は、誤差ベクトルの大きさを求める。即ち、判定部３１３は、誤差ベクトルの要素の２乗和を求める。その際の計算アルゴリズムを以下の（８）式に示す。
【数８】
2013055417.tif 000010
【００６９】
次に、判定部３１３は、量子化歪を評価し、予め定められたしきい値より小さいか否かにより、２つのモードのうち何れのモードになるかを判定する。その際の計算アルゴリズムを以下の（９）式に示す。
【数９】
2013055417.tif 000011
【００７０】
判定部３１３は、（９）式より、モードが「０」である場合は、誤差ベクトルを更に量子化する必要があると判断する。この場合には、判定部３１３は、次の段のＶＱ部３１５から符号まとめ処理部３１７に符号を送るように、切替部３１６を制御するとともに、判定部３１３とＶＱ部３１５との間のスイッチ３１４を閉じて（ＯＮにして）誤差ベクトルをＶＱ部３１５に出力する。ここでの切替部３１６の制御は、アルゴリズム上では、ＶＱ部３１５を動かして符号まとめ処理部３１７に量子化結果である符号を送るということと等価である。スイッチ３１４を閉じることは、アルゴリズム上では、誤差ベクトルのバッファをＶＱ部３１５に渡して、ＶＱ部３１５を動かすことと等価である。
【００７１】
一方、判定部３１３は、（９）式より、モードが「１」である場合は、量子化歪が十分に小さいと判断し、次の段のＶＱ部３１５と符号まとめ処理部３１７との接続を切り離すように、切替部３１６を制御するとともに、スイッチ３１４を開く（ＯＦＦにする）。また、その際、判定部３１３は、ＶＱ部３１５の処理を行わないという情報を伝えるために、「−１」という値を、切替部３１６を介して符号まとめ処理部３１７に出力する。ここでの切替部３１６の制御は、アルゴリズム上では、ＶＱ部３１５から符号まとめ処理部３１７に符号を送る処理を行わないということと等価である。スイッチ３１４を開くことは、アルゴリズム上では、ＶＱ部３１５以降の処理を行わないということと等価である。
【００７２】
（４段目の構成）
４段目は、ＶＱ部３１５により構成される。
【００７３】
ＶＱ部３１５は、判定部３１３から入力した誤差ベクトルをベクトル量子化する。ＶＱ部３１５は、ＶＱ部３１５の内部に格納された符号帳の中から最も量子化歪の小さいコードベクトルの番号を符号として符号まとめ処理部３１７に出力する。また、ＶＱ部３１５は、このコードベクトルを、この段の量子化ＬＰＣパラメータとして、パラメータ生成部２０２へ出力する。
【００７４】
以上で、１段目〜４段目の構成の説明を終える。
【００７５】
符号まとめ処理部３１７は、ＶＱ部３０１、ＶＱ部３０５、ＶＱ部３１０及びＶＱ部３１５から入力した符号等に基づき伝送する情報を求める。具体的には、符号まとめ処理部３１７は、ＶＱ部３０１、ＶＱ部３０５、ＶＱ部３１０及びＶＱ部３１５から順番に入力した符号を調べ、指定されたビット数内であれば符号としてまとめる。符号まとめ処理部３１７は、判定部３０３、判定部３０８及び判定部３１３から「−１」が入力した場合は、「−１」を出力した判定部以降においてベクトル量子化は行われなかったと判断し、まとめ動作を中止して、そこまでにまとめたＬＳＰ符号を図示しない復号装置に伝送する。
【００７６】
なお、上記では、４段で量子化する場合について説明したが、４段で量子化する場合に限らず、４段以外の段数で量子化する場合についても本発明を適用することができる。
【００７７】
＜符号まとめ処理部における処理＞
一例として、１段目〜４段目の各ＶＱ部の符号帳サイズを２Nであるとする。この場合、各段のベクトル量子化の際にＮビットで量子化できる。従って、前記の従来例では、総ビット数がＮビット×４段＝４Ｎビットで量子化できる。一方、本実施の形態では、１段目〜４段目の各ＶＱ部の符号帳サイズを、中断した場合も情報となるので、ビット数を従来例と合わせるために、第１段の符号帳のサイズだけ１つ少ない「２N−１」とする。これより、エントリ数は（１０）式のように計算され、従来例とほぼ同じ４Ｎビットで量子化できる。
【数１０】
2013055417.tif 000012
【００７８】
具体的には、まず、符号まとめ処理部３１７は、第１段の符号（ＶＱ部３０１から入力する符号）を符号バッファに格納する。この符号バッファは、伝送される符号がまとめて格納されるバッファである。この際、符号に「１」加算した値を格納する。これは、復号する際に、伝送される第１段の符号が必ず「０」より大きな数値になることは、どの段数まで量子化が行われたかを判断する根拠となるからである。この際の計算アルゴリズムを以下の（１１）式に示す。
【数１１】
2013055417.tif 000013
【００７９】
次に、符号まとめ処理部３１７は、第２段の符号（ＶＱ部３０５から送られる符号）が「−１」でなければ、符号バッファに第２段の符号を格納する。この際、符号バッファの値に２Nを乗ずる計算はビットシフトで実現できる。一方、符号まとめ処理部３１７は、第２段の符号が「−１」であれば（「０」より小さい値であれば）、符号のまとめ処理を中止し、それまでに符号バッファに格納した符号を伝送する。この際の計算アルゴリズムを以下の（１２）式に示す。
【数１２】
2013055417.tif 000014
【００８０】
次に、符号まとめ処理部３１７は、第３段の符号（ＶＱ部３１０から送られる符号）が「−１」でなければ、符号バッファに第３段の符号を格納する。一方、符号まとめ処理部３１７は、第３段の符号が「−１」であれば（「０」より小さい値であれば）、符号のまとめ処理を中止し、それまでに符号バッファに格納した符号を伝送する。この際の計算アルゴリズムを以下の（１３）式に示す。
【数１３】
2013055417.tif 000015
【００８１】
次に、符号まとめ処理部３１７は、第４段の符号（ＶＱ部３１５から送られる符号）が「−１」でなければ、符号バッファに第４段の符号を格納する。一方、符号まとめ処理部３１７は、第４段の符号が「−１」であれば（「０」より小さい値であれば）、符号のまとめ処理を中止し、それまでに符号バッファに格納した符号を伝送する。この際の計算アルゴリズムを以下の（１４）式に示す。
【数１４】
2013055417.tif 000016
【００８２】
符号まとめ処理部３１７は、上記により符号バッファに格納した符号を伝送する。
【００８３】
＜復号装置における符号の処理＞
符号まとめ処理部３１７から伝送された符号は、復号側で各ＶＱ部の符号に分けられて、それぞれのＶＱ部の符号帳で復号され、復号されたコードベクトルの和を計算することによってデコードされる。ここで、符号バッファの分け方について補足説明を行う。
【００８４】
この際、復号側では、まず伝送されてきた符号ｂを受け取り、以下の（１５）式により、受け取った符号ｂをＮビット毎に分解する。
【数１５】
2013055417.tif 000017
【００８５】
次に、ｑ１から順番に符号値を参照し、「０」でない符号値を探す。量子化の際に「１」を加算しているので、第１段のＶＱ部では符号は必ず「０」より大きくなる。従って、最初に「０」でない符号値が第１段のＶＱ部の符号であり、そこから順番に次の段のＶＱ部の符号になっている。つまり、どの段から符号値が「０」でないかを調べれば、ＶＱ部の段数のうち何段を使って量子化したかを知ることができる。各段のＶＱ部の符号の復号処理のアルゴリズムを以下の（１６）式に示す。
【数１６】
2013055417.tif 000018
【００８６】
＜従来と本発明との比較＞
計算量はＶＱ部のマッチングが支配的であるので、マッチングしたコードベクトルの数を計算する。計算の結果、従来では２N＊４＝４＊２Nで常に４＊２N回のマッチングが必要である。ここで本発明のマッチング回数は場合によって様々であるので、期待値を計算すると、（１７）式のようになる。
【数１７】
2013055417.tif 000019
【００８７】
従って、（１７）式より求めた期待値は、従来の約３／４であり、本発明は従来例と比較して、統計的に２５％の計算量の節約になる。
【００８８】
また、本発明のもう１つ効果である量子化性能の向上について説明する。
【００８９】
多段符号化の符号帳は、そのＶＱ部に入力される可能性のある量子化対象ベクトルを多数集めて学習用データとし、これにＬＢＧアルゴリズム（Linde-Buzo-GrayAlgorism）などのクラスタリング  アルゴリズムを用いて、学習データに対して量子化歪の総和が最少になるコードベクトル（学習アルゴリズムでは「セントロイド」と呼ぶ場合もある）を、指定された符号帳サイズの数だけ求めることによって作成される。
【００９０】
この符号帳作成方法を多段量子化に適応した場合の従来の欠点は、誤差ベクトルの大きさに関わりなく量子化を行うので、量子化歪が小さい学習データであっても、その近傍にある量子化歪が大きい学習データと同じクラスタになってしまうことである。この場合、作成された符号帳では、小さい量子化対象ベクトル（誤差ベクトル）を精度よく量子化できず、ＶＱ部によって逆に量子化歪が大きくなってしまうという現象が起こる。
【００９１】
これに対して、本実施の形態では、誤差ベクトルの大きさを考慮して量子化を行うことにより、量子化歪が小さい場合の学習データは集まらないので、量子化歪の大きな学習データに対して効率的なコードベクトルを求めることができる。従って、本実施の形態では、多段量子化を行って符号帳を作成することにより、量子化性能を向上させることができる。
【００９２】
＜本実施の形態の効果＞
このように、本実施の形態によれば、ビット数が大きくなった場合にビット数及び計算量に見合う量子化性能を得ることができる。
【００９３】
また、本実施の形態によれば、多段で量子化する際に前段で一旦小さくなった量子化歪みを後段で大きくしてしまうことを防ぐことができるとともに、計算量を抑制することができる。
【００９４】
＜本実施の形態の変形例＞
上記の実施の形態において、段数が４段の多段量子化について説明を行ったが、本発明はこれに限らず、任意の段数により量子化することができる。
【００９５】
また、上記実施の形態において、各ＶＱ部の符号帳の大きさは同じにしたが、本発明はこれに限らず、それぞれ異なる大きさの符号帳を適用できる。本発明は、ＶＱ部の符号帳のサイズに依存しないからである。
【００９６】
また、上記実施の形態において、各ＶＱ部の候補数を「１」としたが、本発明はこれに限らず、ビームサーチまたは木探索などで候補数を複数残す場合でも本発明は有効である。本発明は、候補数に依存しないからである。
【００９７】
また、上記実施の形態において、各段の量子化方法をベクトル量子化としたが、本発明はこれに限らず、ベクトル量子化以外の量子化方法を用いることができる。例えば、ＳＱ（Scalar Quantization）またはマトリクス量子化でも良い。本発明は、量子化の単位に依存しないからである。また、これに対応して、量子化対象はベクトルでなくとも、スカラーまたはマトリクスでも良いことは明らかである。
【００９８】
また、上記実施の形態において、ＣＥＬＰを用いたが、本発明はこれに限らず、ベクトル量子化を用いる符号化であれば、ＣＥＬＰ以外の符号化でもよい。例えば、ＭＤＣＴ（Modified Discrete Cosine Transform）またはＱＭＦ（Quadrature Mirror Filter）を利用したスペクトルの量子化を用いてもよいし、帯域拡張技術における低周波数領域のスペクトルの中から似たスペクトル形状を探索するアルゴリズムを用いてもよい。また、本発明は、ＬＰＣ分析を用いる符号化方式の全てに適用することができる。
【００９９】
また、上記実施例の形態において、ターゲットベクトルとしてＩＳＰまたはＬＳＰを使用したが、本発明はこれに限らず、他のパラメータを使用する場合でも本発明は有効である。本発明は、ターゲットベクトルの質に依存していないからである。
【０１００】
また、上記実施の形態において、量子化にユークリッド距離を用い、歪の計算に２乗和を用いたが、本発明はこれに限らず、重み付きユークリッド距離または市街地距離（絶対値の和）など他の距離尺度でもよい。歪尺度は重み付き２乗和または絶対値の和でも良い。本発明は、歪尺度に依存していないからである。
【０１０１】
また、上記実施の形態において、符号器に応用した場合を示したが、本発明はこれに限らず、音声認識、画像認識または画像符号化などに用いられる量子化にも応用することができる。本発明は、アルゴリズム全体の目的に依存しないからである。
【０１０２】
また、上記実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連携においてソフトウェアでも実現することも可能である。例えば、上記実施の形態において用いたスイッチは、ソフトウェアで実現する場合には、ＩＦ文による分岐を用いたプログラムとして実現することができる。
【０１０３】
上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１０４】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、または、ＬＳＩ内部の回路セルの接続または設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。
【０１０５】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【産業上の利用可能性】
【０１０６】
本発明にかかる量子化装置及び量子化方法は、信号を多段で量子化するのに好適である。
【符号の説明】
【０１０７】
１０２  ＬＰＣ量子化部
２０１  量子化装置
２０２  パラメータ生成部
３０１、３０５、３１０、３１５  ＶＱ部
３０２、３０７、３１２  減算部
３０３、３０８、３１３  判定部
３０４、３０９、３１４  スイッチ
３０６、３１１、３１６  切替部
３１７  符号まとめ処理部
【図１】
2013055417.tif 000020
【図２】
2013055417.tif 000021
【図３】
2013055417.tif 000022
【図４】
2013055417.tif 000023