(57)【要約】情報ビットが少ない場合であっても聴感的に良好な音質を得る符号化装置。この符号化装置では、シェイプ量子化部（１１１）は、所定の探索区間を複数に区切ったバンド毎にパルスを探索して符号化する区間探索部（１２１）と、この探索区間全体に渡ってパルスの探索を行う全体探索部（１２２）と、を備え、入力スペクトルのシェイプを少数のパルスの位置、極性で量子化する。ゲイン量子化部（１１２）は、シェイプ量子化部（１１１）によって探索されたパルスのゲインをバンド毎に算出して量子化する。
2008108076.tif 000002
【特許請求の範囲】
【請求項１】
周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、
前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、
前記シェイプ量子化手段は、
所定の探索区間を複数に区切ったバンド毎に第１の固定波形を探索する区間探索手段と、
前記所定の探索区間全体に渡って第２の固定波形を探索する全体探索手段と、を具備する、
符号化装置。
【請求項２】
前記全体探索手段は、バンド毎の理想ゲインによる符号化歪を評価しながら前記第２の固定波形を探索する、請求項１に記載の符号化装置。
【請求項３】
前記全体探索手段は、前記第２の固定波形の位置情報を、前記第２の固定波形の位置の組み合わせの数で符号化する請求項１に記載の符号化装置。
【請求項４】
ゲイン量子化手段は、前記第１の固定波形および前記第２の固定波形のゲインをバンド毎に算出して符号化する、請求項１に記載の符号化装置。
【請求項５】
周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、
前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、
前記シェイプ量子化手段は、所定の探索区間を複数に区切ったバンド毎の理想ゲインによる符号化歪を評価しながら固定波形を探索する、
符号化装置。
【請求項６】
周波数スペクトルのシェイプを符号化するシェイプ量子化工程と、
前記周波数スペクトルのゲインを符号化するゲイン量子化工程と、を具備し、
前記シェイプ量子化工程は、
所定の探索区間を複数に区切ったバンド毎に第１の固定波形を探索する区間探索工程と、
前記所定の探索区間全体に渡って第２の固定波形を探索する全体探索工程と、を具備する、
符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、音声信号やオーディオ信号を符号化する符号化装置および符号化方法に関する。
【背景技術】
【０００２】  移動体通信においては、電波などの伝送路容量や記憶媒体の有効利用を図るため、音声や画像のディジタル情報に対して圧縮符号化を行うことが必須であり、これまでに多くの符号化／復号方式が開発されてきた。【０００３】  その中で、音声符号化技術は、音声の発声機構をモデル化してベクトル量子化を巧みに応用した基本方式「ＣＥＬＰ」（Ｃｏｄｅ  Ｅｘｃｉｔｅｄ  Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｏｎ）によって性能が大きく向上した。また、オーディオ符号化等の楽音符号化技術は、変換符号化技術（ＭＰＥＧ標準ＡＣＣやＭＰ３等）により性能が大きく向上した。【０００４】  一方、ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ−Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ）などで標準化が進んでいるスケーラブルコーデックでは、従来の音声帯域（３００Ｈｚ〜３．４ｋＨｚ）から広帯域（〜７ｋＨｚ）までをカバーする仕様になっており、ビットレートも３２ｋｂｐｓ程度と高レートまで設定されている。したがって、広帯域のコーデックでは音楽もある程度符号化しなくてはならないので、ＣＥＬＰの様な、人間の発声モデルに基づいた、従来の低ビットレート音声符号化法だけでは対応できない。そこで、先に勧告化されたＩＴＵ−Ｔ標準Ｇ．７２９．１では、広帯域以上の音声の符号化にはオーディオコーデックの符号化方式である変換符号化を用いている。【０００５】  特許文献１には、スペクトルパラメータとピッチパラメータを用いる符号化方式において、スペクトルパラメータで音声信号に逆フィルタを掛けることによって得られる信号を直交変換して符号化すること、および、その符号化の例として代数的構造の符号帳によって符号化する方法が示されている。【０００６】  また、特許文献２には、線形予測パラメータと残差成分に分離して行う符号化方式であって、残差成分を直交変換し、そのパワで残差波形を正規化した後、ゲインの量子化と正規化残差の量子化を行うことが開示されている。また、特許文献２では、正規化残差の量子化方法としてベクトル量子化が挙げられている。【０００７】  また、非特許文献１には、ＴＣＸ（変換符号化された駆動音源とスペクトルパラメータのフィルタリングでモデル化した符号化の基本方式）において、音源スペクトルを改良した代数的符号帳で符号化する方法が開示され、この方法はＩＴＵ−Ｔ標準Ｇ．７２９．１に採用されている。【０００８】  また、非特許文献２には、ＭＰＥＧ標準方式「ＴＣ−ＷＶＱ」の記載がある。この方式も、直交変換方法としてＤＣＴ（離散コサイン変換）を用いて、線形予測残差を変換しスペクトルをベクトル量子化するものである。【０００９】  上記４つの先行技術等によって、音声信号の有効な符号化要素技術である線形予測パラメータのようなスペクトルパラメータの量子化を符号化に使用することができ、オーディオ符号化の効率化や低レート化を実現することができるようになった。
【特許文献１】特開平１０−２６０６９８号公報
【特許文献２】特開平０７−２６１８００号公報
【非特許文献１】Ｘｉｅ，Ａｄｏｕｌ，”ＥＭＢＥＤＤＥＤ  ＡＬＧＥＢＲＡＩＣ  ＶＥＣＴＯＲ  ＱＵＡＮＴＩＺＥＲＳ（ＥＡＶＱ）  ＷＩＴＨ  ＡＰＰＬＩＣＡＴＩＯＮ  ＴＯ  ＷＩＤＥＢＡＮＤ  ＳＰＥＥＣＨ  ＣＯＤＩＮＧ”ＩＣＡＳＳＰ’９６
【非特許文献２】Ｍｏｒｉｙａ，Ｈｏｎｄａ，”Ｔｒａｎｓｆｏｒｍ  Ｃｏｄｉｎｇ  ｏｆ  Ｓｐｅｅｃｈ  Ｕｓｉｎｇ  ａ  Ｗｅｉｇｈｔｅｄ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚｅｒ”ＩＥＥＥ  ｊｏｕｒｎａｌ  ｏｎ  ｓｅｌｅｃｔｅｄ  ａｒｅａｓ  ｉｎ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，Ｖｏｌ．６，Ｎｏ．２，Ｆｅｂｒｕａｒｙ  １９８８
【発明の開示】
【発明が解決しようとする課題】
【００１０】  しかしながら、特にスケーラブルコーデックの比較的低い階層では、割り当てられるビット数が少ないため、音源の変換符号化の性能は十分ではなかった。例えば、ＩＴＵ−Ｔ標準Ｇ．７２９．１では電話帯域（３００Ｈｚ〜３．４ｋＨｚ）の第２階層までで１２ｋｂｐｓのビットレートがあるが、次の広帯域（５０Ｈｚ〜７ｋＨｚ）を扱う第３階層には２ｋｂｐｓの割り当てしかない。このように情報ビットが少ない場合には、直交変換で得られたスペクトルを、符号帳を用いたベクトル量子化で符号化する方法では聴感的に十分な性能を得ることができない。【００１１】  本発明の目的は、情報ビットが少ない場合であっても聴感的に良好な音質を得ることができる符号化装置および符号化方法を提供することである。
【課題を解決するための手段】
【００１２】  本発明の符号化装置は、周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、前記シェイプ量子化手段は、所定の探索区間を複数に区切ったバンド毎に第１の固定波形を探索する区間探索手段と、前記所定の探索区間全体に渡って第２の固定波形を探索する全体探索手段と、を具備する、構成を採る。【００１３】  本発明の符号化方法は、周波数スペクトルのシェイプを符号化するシェイプ量子化工程と、前記周波数スペクトルのゲインを符号化するゲイン量子化工程と、を具備し、前記シェイプ量子化工程は、所定の探索区間を複数に区切ったバンド毎に第１の固定波形を探索する区間探索工程と、前記所定の探索区間全体に渡って第２の固定波形を探索する全体探索工程と、を具備する、方法を採る。
【発明の効果】
【００１４】  本発明によれば、エネルギが存在する周波数（位置）を正確に符号化することができるので、スペクトル符号化に特有の定性的な性能の向上を図ることができ、低ビットレートの場合でも良好な音質を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態に係る音声符号化装置の構成を示すブロック図
【図２】本発明の一実施の形態に係る音声復号装置の構成を示すブロック図
【図３】本発明の一実施の形態に係る区間探索部の探索アルゴリズムのフロー図
【図４】本発明の一実施の形態に係る区間探索部において探索されたパルスで表現されたスペクトルの例を示す図
【図５】本発明の一実施の形態に係る全体探索部の探索アルゴリズムのフロー図
【図６】本発明の一実施の形態に係る全体探索部の探索アルゴリズムのフロー図
【図７】本発明の一実施の形態に係る区間探索部および全体探索部において探索されたパルスで表現されたスペクトルの例を示す図
【図８】本発明の一実施の形態に係るスペクトル復号部の復号アルゴリズムのフロー図
【発明を実施するための最良の形態】
【００１６】  ＣＥＬＰ方式等の音声信号の符号化では、音声信号は音源と合成フィルタで表されることが多く、時系列ベクトルである音源信号がその信号に似た形状のベクトルを復号することができれば、合成フィルタで入力音声に近い波形を得ることができ、聴感的にも良好な音質を得ることができる。これは、ＣＥＬＰで用いられる代数的符号帳の成功にも繋がっている定性的な性質である。【００１７】  一方、周波数スペクトル（ベクトル）の符号化では、合成フィルタの成分はスペクトルゲインとなるので、そのゲインの歪よりもパワの大きい成分の周波数（位置）の歪に大きな重みがある。すなわち、入力スペクトルに似た形状のベクトルを復号するよりも、高いエネルギのある位置を正確に探索し、当該エネルギのある位置のパルスを復号することの方が、聴感的に良好な音質を得ることに繋がる。【００１８】  本発明者は、この点に着目し本発明をするに至った。すなわち、本発明では、周波数スペクトルを少数のパルスで符号化するモデルとし、符号化する音声信号（時系列ベクトル）を直交変換で周波数領域に変換し、符号化対象の周波数区間を複数のバンドに分け、各バンドそれぞれに１パルス、更に符号化対象の周波数区間全体で数パルスを探索する。【００１９】  また、本発明では、シェイプ（形状）の量子化とゲイン（大きさ）の量子化とに分け、シェイプの量子化では、理想ゲインを仮定して振幅は「１」で極性（＋−）のパルスを開ループ探索し、特に、符号化対象の周波数区間全体での探索では、同じ場所に２つパルスを立てないようにし、パルス位置の伝送情報として複数パルスの位置の組み合わせを符号化できるようにする。【００２０】  以下、本発明の一実施の形態について、図面を用いて説明する。【００２１】  図１は、本実施の形態に係る音声符号化装置の構成を示すブロック図である。図１に示す音声符号化装置は、ＬＰＣ分析部１０１、ＬＰＣ量子化部１０２、逆フィルタ１０３、直交変換部１０４、スペクトル符号化部１０５、および多重化部１０６を備える。スペクトル符号化部１０５は、シェイプ量子化部１１１およびゲイン量子化部１１２を備える。【００２２】  ＬＰＣ分析部１０１は、入力音声信号に対して線形予測分析を行い、分析結果であるスペクトル包絡パラメータをＬＰＣ量子化部１０２に出力する。ＬＰＣ量子化部１０２は、ＬＰＣ分析部１０１から出力されたスペクトル包絡パラメータ（ＬＰＣ：線形予測係数）の量子化処理を行い、量子化ＬＰＣを表す符号を多重化部１０６に出力する。また、ＬＰＣ量子化部１０２は、量子化ＬＰＣを表す符号を復号して得られる復号パラメータを逆フィルタ１０３に出力する。なお、パラメータの量子化では、ベクトル量子化（ＶＱ）、予測量子化、多段ＶＱ、スプリットＶＱ等の形態が用いられる。【００２３】  逆フィルタ１０３は、復号パラメータを用いて入力音声に対して逆フィルタを掛け、得られた残差成分を直交変換部１０４に出力する。【００２４】  直交変換部１０４は、残差成分にサイン窓等の整合窓を掛け、ＭＤＣＴを用いて直交変換を行い、周波数軸に変換されたスペクトル（以下、「入力スペクトル」という）をスペクトル符号化部１０５に出力する。なお、直交変換には他にＦＦＴ、ＫＬＴ、ウェーブレット変換等があり、使用方法は異なるがどれを用いても入力スペクトルへの変換ができる。【００２５】  なお、逆フィルタ１０３と直交変換部１０４はその処理順を逆にする場合もある。すなわち、入力音声を直交変換したものに対して逆フィルタの周波数スペクトルで商算（対数軸で減算）を行えば同様の入力スペクトルが得られる。【００２６】  スペクトル符号化部１０５は、入力スペクトルを、スペクトルのシェイプとゲインに分けて量子化し、得られた量子化符号を多重化部１０６に出力する。シェイプ量子化部１１１は、入力スペクトルのシェイプを少数のパルスの位置、極性で量子化し、ゲイン量子化部１１２は、シェイプ量子化部１１１によって探索されたパルスのゲインをバンド毎に算出して量子化する。なお、シェイプ量子化部１１１、ゲイン量子化部１１２の詳細については後述する。【００２７】  多重化部１０６は、ＬＰＣ量子化部１０２から量子化ＬＰＣを表す符号を入力し、スペクトル符号化部１０５から量子化入力スペクトルを表す符号を入力し、これらの情報を多重化して符号化情報として伝送路へ出力する。【００２８】  図２は、本実施の形態に係る音声復号装置の構成を示すブロック図である。図２に示す音声復号装置は、分離部２０１、パラメータ復号部２０２、スペクトル復号部２０３、直交変換部２０４、および合成フィルタ２０５を備える。【００２９】  図２において、符号化情報は、分離部２０１によって個々の符号に分離される。量子化ＬＰＣを表す符号はパラメータ復号部２０２に出力され、入力スペクトルの符号はスペクトル復号部２０３に出力される。【００３０】  パラメータ復号部２０２は、スペクトル包絡パラメータの復号を行い、復号によって得られた復号パラメータを合成フィルタ２０５に出力する。【００３１】  スペクトル復号部２０３は、図１に示したスペクトル符号化部１０５の符号化方法に対応する方法によってシェイプベクトルおよびゲインを復号し、復号したシェイプベクトルに復号ゲインを乗ずることによって復号スペクトルを得、復号スペクトルを直交変換部２０４に出力する。【００３２】  直交変換部２０４は、スペクトル復号部２０３から出力された復号スペクトルに対して図１に示した直交変換部１０４の逆の変換を行い、変換によって得られた時系列の復号残差信号を合成フィルタ２０５に出力する。【００３３】  合成フィルタ２０５は、パラメータ復号部２０２から出力された復号パラメータを用いて、直交変換部２０４から出力された復号残差信号に対して合成フィルタを掛け、出力音声を得る。【００３４】  なお、図１の逆フィルタ１０３と直交変換部１０４の処理順を逆にする場合、図２の音声復号装置では、直交変換をする前に復号パラメータの周波数スペクトルで積算（対数軸で和算）を行い、得られたスペクトルに対して直交変換を行う。【００３５】  次に、シェイプ量子化部１１１、ゲイン量子化部１１２の詳細について説明する。シェイプ量子化部１１１は、所定の探索区間を複数に区切ったバンド毎にパルスを探索する区間探索部１２１と、この探索区間全体に渡ってパルスを探索する全体探索部１２２と、を備える。【００３６】  探索の基準となる式は以下の式（１）である。なお、式（１）において、Ｅは符号化歪、ｓｉは入力スペクトル、ｇは最適ゲイン、δはデルタ関数、ｐはパルスの位置である。
【数１】
2008108076.tif 000003
【００３７】  コスト関数を最小にするパルスの位置は、上記式（１）より、各々のバンドの中で入力スペクトルの絶対値｜ｓｐ｜が最大になる位置であり、極性は、そのパルスの位置の入力スペクトルの値の極性である。【００３８】  以下、入力スペクトルのベクトル長が８０サンプル、バンド数が５であって、各バンドで１本のパルスと全体で３本のパルスの計８本のパルスでスペクトルを符号化する場合を例に説明する。この場合、各バンドの長さは１６サンプルとなる。なお、探索されるパルスの振幅は「１」に固定で、極性は「＋−」である。【００３９】  区間探索部１２１は、バンド毎に、エネルギが最大の位置、極性（＋−）を探索し、１本ずつパルスを立てる。本例では、バンド数が５で、バンド毎に、パルスの位置を示すために４ビット（位置のエントリ：１６）、極性を示すために１ビット（＋−）必要であるので、合計２５ビットの情報ビットとなる。【００４０】  区間探索部１２１の探索アルゴリズムのフローを図３に示す。なお、図３のフロー図で用いられる記号の内容は以下の通りである。
ｉ：位置
ｂ：バンドの番号
ｍａｘ：最大値
ｃ：カウンタ
ｐｏｓ［ｂ］：探索結果（位置）
ｐｏｌ［ｂ］：探索結果（極性）
ｓ［ｉ］：入力スペクトル【００４１】  図３に示すように、区間探索部１２１は、バンド毎（０≦ｂ≦４）に、各サンプル（０≦ｃ≦１５）の入力スペクトルｓ［ｉ］を計算して、最大値ｍａｘを求める。【００４２】  区間探索部１２１において探索されたパルスで表現されたスペクトルの例を図４に示す。図４に示すように、バンド幅１６サンプルの５つのバンドに、振幅「１」、極性「＋−」のパルスが１本ずつ立てられる。【００４３】  全体探索部１２２は、探索区間全体に渡って、３本のパルスを立てる位置を探索し、パルスの位置と極性を符号化する。全体探索部１２２における探索では、少ない情報ビット、少ない計算量で正確な位置を符号化するために以下の４つの条件で探索を行う。（１）同じ位置に２つ以上のパルスを立てない。本例では、区間探索部１２１においてバンド毎に立てたパルスの位置にも立てないこととする。この工夫により、振幅成分の表現に情報ビットを使わないので効率的に情報ビットを使用することができる。（２）パルスを１本ずつ順番に開ループで探索する。探索の途中では、（１）のルールに従い、既に決定されたパルスの位置については探索の対象外とする。（３）位置の探索では、パルスが立たない方が良い場合も１つの位置として符号化する。（４）ゲインをバンド毎に符号化することを考慮して、バンド毎の理想ゲインによる符号化歪を評価しながらパルスを探索する。【００４４】  全体探索部１２２は、入力スペクトル全体に渡って１本のパルスの探索を次の２段階のコスト評価で行う。まず、第１段階として、全体探索部１２２は、各バンドでのコストを評価し、最もコスト関数が小さくなる位置と極性を求める。そして、第２段階として、全体探索部１２２は、上記探索が１つのバンド内を終了する毎に全体のコストを評価し、これが最小になるパルスの位置と極性を最終結果として保存する。この探索を各バンドで順番に行っていく。この探索は、上記（１）ないし（４）の条件に合うように行われる。そして、１本のパルスの探索が終わると、そのパルスが探索位置にあるとして、次のパルスの探索を行う。これを繰り返して所定の本数（本例では、３本）になるまで探索を行う。【００４５】  全体探索部１２２の探索アルゴリズムのフローを図５に示す。図５は、前処理のフロー図であり、図６は、本探索のフロー図である。なお、図６のフロー図に、上記（１）（２）（４）の条件に対応する部分について示す。【００４６】  図５のフロー図で用いられる記号の内容は以下の通りである。
ｃ：カウンタ、
ｐｆ［＊］：パルス有無フラグ
ｂ：バンドの番号、
ｐｏｓ［＊］：検索結果（位置）
ｎ＿ｓ［＊］：相関値
ｎ＿ｍａｘ［＊］：相関値最大
ｎ２＿ｓ［＊］：相関値２乗
ｎ２＿ｍａｘ［＊］：相関値２乗最大
ｄ＿ｓ［＊］：パワ値
ｄ＿ｍａｘ［＊］：パワ値最大
ｓ［＊］：入力スペクトル【００４７】  図６のフロー図で用いられる記号の内容は以下の通りである。
ｉ：パルス番号
ｉ０：パルス位置
ｃｍａｘ：コスト関数の最大値
ｐｆ［＊］：パルス有無フラグ（０：無、１：有）
ｉｉ０：バンド内の相対的パルス位置
ｎｏｍ：スペクトル振幅
ｎｏｍ２：分子項（スペクトルパワ）
ｄｅｎ：分母項
ｎ＿ｓ［＊］：相関値
ｄ＿ｓ［＊］：パワ値
ｓ［＊］：入力ベクトル
ｎ２＿ｓ［＊］：相関値２乗
ｎ＿ｍａｘ［＊］：相関値最大
ｎ２＿ｍａｘ［＊］：相関値２乗最大
ｉｄｘ＿ｍａｘ［＊］：各パルスの探索された結果（位置）（なお、ｉｄｘ＿ｍａｘ［＊］の０〜４までは図３のｐｏｓ（ｂ）と同一である。）
ｆｄ０、ｆｄ１、ｆｄ２：一時記憶用バッファ（実数型）
ｉｄ０，ｉｄ１：一時記憶用バッファ（整数型）
ｉｄ０＿ｓ、ｉｄ１＿ｓ：一時記憶用バッファ（整数型）
＞＞：ビットシフト（右へシフト）
＆：ビット列としてのアンド【００４８】  なお、図５、図６の探索において、ｉｄｘ＿ｍａｘ［＊］が「−１」のままである場合が、上記条件（３）のパルスが立たない方が良い場合である。この具体的事象としては、バンド毎に探索したパルスや全範囲で探索したパルスでスペクトルを十分近似できており、これ以上同じ大きさのパルスを立ててもかえって符号化歪が大きくなってしまう場合などが挙げられる。【００４９】  探索したパルスの極性は、入力スペクトルのその位置の極性であり、全体探索部１２２は、この極性を３（本）×１＝３ビットで符号化する。なお、位置が「−１」の場合、すなわちパルスが立たない場合には極性はどちらでもよい。ただし、ビット誤りの検出に用いられる場合もあるため、通常どちらかに固定される。【００５０】  また、全体探索部１２２は、パルスの位置情報を、パルスの位置の組み合わせの数で符号化する。本例では、入力スペクトルが８０サンプルで、バンド毎に５パルスが既に立っているので、パルスを立てない場合も考慮すると位置のヴァリエーションは以下の式（２）の計算により１７ビットで表すことができる。
【数２】
2008108076.tif 000004
【００５１】  なお、同じ位置に２つのパルスが立たないようにするというルールによって、組み合わせの数を少なくすることができ、このルールの効果は、全体で探索するパルス数が多い程大きくなる。【００５２】  ここで、全体探索部１２２において探索したパルスの位置を符号化する方法について詳細に述べる。（１）３本のパルスの位置をその大きさでソーティングし、小さい数値から大きな数値に並べる。なお、「−１」についてはそのままにしておく。（２）バンド毎に立つパルスの位置の分だけ左に詰めて、位置の数値を小さくする。これで求まる数値を「位置数」と呼ぶ。なお、「−１」についてはそのままにしておく。例えば、パルスの位置が６６で、これより小さい位置には、０〜１５、１６〜３１、３２〜４７、４８〜６４に１本ずつパルスがあったとすると、位置数は「６６−４＝６２」になる。（３）「−１」を「そのパルスの最大の値＋１」の位置数に設定する。この場合、実際にパルスが存在する位置数と混同しないように調整しながら値の順番を決める。これにより、パルス＃０の位置数は０から７３まで、パルス＃１の位置数はパルス＃０の位置数から７４まで、パルス＃２の位置数はパルス＃１の位置数から７５までの範囲に限定され、下位の位置数が上位の位置数を超えないようになる。（４）そして、組み合わせの符号を求める以下の式（３）に示す統合処理により、位置数（ｉ０，ｉ１，ｉ２）を統合して符号（ｃ）を得る。この統合処理は大きさの順番がある場合に全ての組み合わせを統合する計算処理である。
【数３】
2008108076.tif 000005
（５）そして、このｃの１７ビットと極性のビット３を合わせて２０ビットの符号を得る。【００５３】  なお、上記位置数の中で、パルス＃０が「７３」、パルス＃１が「７４」、パルス＃２が「７５」の場合が、そのパルスが立たない場合を示す位置数となる。例えば３つの位置数が（７３、−１、−１）という場合は、前の１つの位置数と「立たない場合」の位置数の関係から、（−１、７３、−１）と順番を変え、（７３、７３、７４）とされる。【００５４】  このように、本例のように、入力スペクトルを８本のパルス列（バンド毎５本、全体３本）で表すモデルの場合、情報ビット４５ビットで符号化することができる。【００５５】  区間探索部１２１および全体探索部１２２で探索されたパルスで表現されたスペクトルの例を図７に示す。なお、図７において、より太く表現されたパルスが全体探索部１２２において探索されたパルスである。【００５６】  ゲイン量子化部１１２は、各バンドのゲインを量子化する。８本のパルスは各バンドに配置されているので、ゲイン量子化部１１２は、そのパルスと入力スペクトルとの相関を分析してゲインを求める。【００５７】  ゲイン量子化部１１２は、理想ゲインを求めてからスカラ量子化やベクトル量子化で符号化する場合、まず、以下の式（４）で理想ゲインを求める。なお、式（４）において、ｇｎはバンドｎの理想ゲイン、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｖｎ（ｉ）はバンドｎのシェイプを復号したベクトルである。
【数４】
2008108076.tif 000006
【００５８】  そして、ゲイン量子化部１１２は、理想ゲインをスカラ量子化（ＳＱ）する、または、５つのゲインをまとめてベクトル量子化により符号化する。ベクトル量子化する場合には、予測量子化、多段ＶＱ、スプリットＶＱ等により効率良く符号化することができる。また、ゲインは、聴感的には対数で聞こえるため、ゲインを対数変換してからＳＱ、ＶＱすれば聴感的に良好な合成音が得られる。【００５９】  なお、理想ゲインを求めるのではなく、符号化歪を直接評価する方法もある。例えば、５つのゲインをＶＱする場合、以下の式（５）を最小にする。なお、式（５）において、Ｅｋはｋ番目のゲインベクトルの歪み、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｇｎ（ｋ）はｋ番目のゲインベクトルのｎ番目の要素、ｖｎ（ｉ）はバンドｎのシェイプを復号したシェイプベクトルである。
【数５】
2008108076.tif 000007
【００６０】  次に、スペクトル復号部２０３における、全体で探索した３本のパルスの位置の復号方法について説明する。【００６１】  スペクトル符号化部１０５の全体探索部１２２では、上記式（３）を用いて、位置数（ｉ０，ｉ１，ｉ２）を１つの符号に統合した。スペクトル復号部２０３では、この逆の処理を行うことになる。すなわち、スペクトル復号部２０３では、統合式の値を、各位置数を動かしながら順番に計算し、その値を下回る場合にその位置数を固定し、これを低次の位置数から上位に向かって１つずつ行っていくことによって復号する。図８は、スペクトル復号部２０３の復号アルゴリズムを示すフロー図である。【００６２】  なお、図８において、エラー処理となっているステップへ進むのは、入力である統合された位置の符号ｋがビットエラーで異常になってしまった場合である。したがって、この場合には、所定のエラー処理により位置を求めなくてはならない。【００６３】  また、復号器での計算量は、ループ処理がある分、符号器よりも増えることになる。ただし、それぞれのループは開ループであるのでコーデックの処理の全体量から見れば、復号器の計算量は余り大きなものではない。【００６４】  このように、本実施の形態によれば、エネルギが存在する周波数（位置）を正確に符号化することができるので、スペクトル符号化に特有の定性的な性能の向上を図ることができ、低ビットレートの場合でも良好な音質を得ることができる。【００６５】  なお、本実施の形態では、シェイプ符号化の後にゲイン符号化を行う場合について説明したが、本発明では、ゲイン符号化の後にシェイプ符号化を行っても同様の性能を得ることができる。また、バンド毎のゲイン符号化を行ってから復号ゲインでスペクトルを正規化し、本発明のシェイプ符号化を行うという方法でもよい。【００６６】  また、上記実施の形態では、スペクトルのシェイプの量子化時に、スペクトルの長さを８０、バンド数を５、各バンドで探索するパルス数を１本、全区間で探索するパルス数を３本とする場合を例にしたが、本発明は上記数値に全く依存せず、他の場合であっても同様の効果を得ることができる。【００６７】  また、本発明は、バンド幅が十分細かく比較的多くのゲインを符号化でき、情報ビット数が十分多い場合には、バンド毎のパルス探索だけ、あるいは複数のバンドにまたがる広い区間のパルス探索だけで性能を得ることもできる。【００６８】  また、上記実施の形態では、同じ位置に２つパルスを立てないという条件を設定したが、本発明では、部分的にこの条件を緩和してもよい。例えば、バンド毎に探索されるパルスと、複数のバンドにまたがる広い区間で探索されるパルスが同じ位置に立つことを認めるとすると、バンド毎のパルスを消すことができたり、振幅が２倍のパルスを立てたりすることができる。この条件を緩和するためには、パルス有無フラグｐｆ［＊］をバンド毎のパルスについて格納しなければよい。すなわち、図５の一番下のステップのｐｆ［ｐｏｓ［ｂ］］＝１を省略すればよい。また、この条件を緩和する他の方法として、広い区間のパルス探索の際にパルス有無フラグに格納しなければよい。すなわち、図６の一番下のステップの最後のｐｆ［ｉｄｘ＿ｍａｘ［ｉ＋５］］＝１を省略すればよい。ただし、この場合には位置のヴァリエーションが増加する。本実施の形態に示した様に単純な組み合わせではないので、場合分けをしてその場合毎に組み合わせを符号化する必要がある。【００６９】  また、本実施の形態では直交変換後のスペクトルに対してパルスによる符号化を用いたが、本発明はこれに限られず、他のベクトルにも適用することができる。例えば、ＦＦＴや複素ＤＣＴ等では複素数ベクトルに本発明を適用すれば良いし、ウェーブレット変換などでは時系列のベクトルに本発明を適用すれば良い。また、本発明は、ＣＥＬＰの音源波形等、時系列のベクトルにも適用することができる。ＣＥＬＰの音源波形の場合には合成フィルタを伴うので、コスト関数が行列計算になるだけである。ただし、フィルタを伴う場合はパルスの探索は開ループでは性能が十分でないので、ある程度閉ループ探索を行わなければならない。パルスが多い場合などはビームサーチ等を行い、計算量を少なく抑えるのも有効である。【００７０】  また、本発明では、探索する波形がパルス（インパルス）に限定されず、他の固定波形（デュアルパルス、三角波、インパルス応答の有限波、フィルタの係数、適応的に形状を変える固定波形、等）でも全く同様の方法で探索することができ、同様の効果を得ることができる。【００７１】  また、本実施の形態では、ＣＥＬＰに対して用いる場合について説明したが、本発明はこれに限られず、他のコーデックであっても有効である。【００７２】  また、本発明に係る信号は、音声信号だけでなく、オーディオ信号でも良い。また、入力信号の代わりに、ＬＰＣ予測残差信号に対して本発明を適用する構成であっても良い。【００７３】  また、本発明に係る符号化装置および復号装置は、移動体通信システムにおける通信端末装置および基地局装置に搭載することが可能であり、これにより上記と同様の作用効果を有する通信端末装置、基地局装置、および移動体通信システムを提供することができる。【００７４】  また、ここでは、本発明をハードウェアで構成する場合を例にとって説明したが、本発明をソフトウェアで実現することも可能である。例えば、本発明に係るアルゴリズムをプログラミング言語によって記述し、このプログラムをメモリに記憶しておいて情報処理手段によって実行させることにより、本発明に係る符号化装置と同様の機能を実現することができる。【００７５】  また、上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部または全てを含むように１チップ化されても良い。【００７６】  また、ここではＬＳＩとしたが、集積度の違いによって、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩ等と呼称されることもある。【００７７】  また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラム化することが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続もしくは設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。【００７８】  さらに、半導体技術の進歩または派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。【００７９】  ２００７年３月２日出願の特願２００７−０５３４９７の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【００８０】  本発明は、音声信号やオーディオ信号を符号化する符号化装置、および符号化された信号を復号する復号装置等に用いるに好適である。
【図１】
2008108076.tif 000008
【図２】
2008108076.tif 000009
【図３】
2008108076.tif 000010
【図４】
2008108076.tif 000011
【図５】
2008108076.tif 000012
【図６】
2008108076.tif 000013
【図７】
2008108076.tif 000014
【図８】
2008108076.tif 000015
【手続補正書】
【提出日】平成21年8月12日(2009.8.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、
前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、
前記シェイプ量子化手段は、
所定の探索区間を複数に区切ったバンド毎に第１の固定波形を探索する区間探索手段と、
前記所定の探索区間全体に渡って第２の固定波形を探索する全体探索手段と、を具備する、
符号化装置。
【請求項２】
前記全体探索手段は、バンド毎の理想ゲインによる符号化歪を評価しながら前記第２の固定波形を探索する、請求項１に記載の符号化装置。
【請求項３】
前記全体探索手段は、前記第２の固定波形の位置情報を、前記第２の固定波形の位置の組み合わせの数で符号化する請求項１に記載の符号化装置。
【請求項４】
ゲイン量子化手段は、前記第１の固定波形および前記第２の固定波形のゲインをバンド毎に算出して符号化する、請求項１に記載の符号化装置。
【請求項５】
周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、
前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、
前記シェイプ量子化手段は、所定の探索区間を複数に区切ったバンド毎の理想ゲインによる符号化歪を評価しながら固定波形を探索する、
符号化装置。
【請求項６】
周波数スペクトルのシェイプを符号化するシェイプ量子化工程と、
前記周波数スペクトルのゲインを符号化するゲイン量子化工程と、を具備し、
前記シェイプ量子化工程は、
所定の探索区間を複数に区切ったバンド毎に第１の固定波形を探索する区間探索工程と、
前記所定の探索区間全体に渡って第２の固定波形を探索する全体探索工程と、を具備する、
符号化方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号やオーディオ信号を符号化する符号化装置および符号化方法に関する。
【背景技術】
【０００２】
移動体通信においては、電波などの伝送路容量や記憶媒体の有効利用を図るため、音声や画像のディジタル情報に対して圧縮符号化を行うことが必須であり、これまでに多くの符号化／復号方式が開発されてきた。
【０００３】
その中で、音声符号化技術は、音声の発声機構をモデル化してベクトル量子化を巧みに応用した基本方式「ＣＥＬＰ」（Code Excited Linear Prediction）によって性能が大きく向上した。また、オーディオ符号化等の楽音符号化技術は、変換符号化技術（ＭＰＥＧ標準ＡＣＣやＭＰ３等）により性能が大きく向上した。
【０００４】
一方、ＩＴＵ−Ｔ（International Telecommunication Union - Telecommunication Standardization Sector）などで標準化が進んでいるスケーラブルコーデックでは、従来の音声帯域（３００Ｈｚ〜３．４ｋＨｚ）から広帯域（〜７ｋＨｚ）までをカバーする仕様になっており、ビットレートも３２ｋｂｐｓ程度と高レートまで設定されている。したがって、広帯域のコーデックでは音楽もある程度符号化しなくてはならないので、ＣＥＬＰの様な、人間の発声モデルに基づいた、従来の低ビットレート音声符号化法だけでは対応できない。そこで、先に勧告化されたＩＴＵ−Ｔ標準Ｇ．７２９．１では、広帯域以上の音声の符号化にはオーディオコーデックの符号化方式である変換符号化を用いている。
【０００５】
特許文献１には、スペクトルパラメータとピッチパラメータを用いる符号化方式において、スペクトルパラメータで音声信号に逆フィルタを掛けることによって得られる信号を直交変換して符号化すること、および、その符号化の例として代数的構造の符号帳によって符号化する方法が示されている。
【０００６】
また、特許文献２には、線形予測パラメータと残差成分に分離して行う符号化方式であって、残差成分を直交変換し、そのパワで残差波形を正規化した後、ゲインの量子化と正規化残差の量子化を行うことが開示されている。また、特許文献２では、正規化残差の量子化方法としてベクトル量子化が挙げられている。
【０００７】
また、非特許文献１には、ＴＣＸ（変換符号化された駆動音源とスペクトルパラメータのフィルタリングでモデル化した符号化の基本方式）において、音源スペクトルを改良した代数的符号帳で符号化する方法が開示され、この方法はＩＴＵ−Ｔ標準Ｇ．７２９．１に採用されている。
【０００８】
また、非特許文献２には、ＭＰＥＧ標準方式「ＴＣ−ＷＶＱ」の記載がある。この方式も、直交変換方法としてＤＣＴ（離散コサイン変換）を用いて、線形予測残差を変換しスペクトルをベクトル量子化するものである。
【０００９】
上記４つの先行技術等によって、音声信号の有効な符号化要素技術である線形予測パラメータのようなスペクトルパラメータの量子化を符号化に使用することができ、オーディオ符号化の効率化や低レート化を実現することができるようになった。
【特許文献１】特開平１０−２６０６９８号公報
【特許文献２】特開平０７−２６１８００号公報
【非特許文献１】Xie,Adoul,”EMBEDDED ALGEBRAIC VECTOR QUANTIZERS(EAVQ) WITH APPLICATION TO WIDEBAND SPEECH CODING ”ICASSP’96
【非特許文献２】Moriya,Honda,”Transform Coding of Speech Using a Weighted Vector Quantizer”IEEE journal on selected areas in communications, Vol.6, No.2, February 1988
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特にスケーラブルコーデックの比較的低い階層では、割り当てられるビット数が少ないため、音源の変換符号化の性能は十分ではなかった。例えば、ＩＴＵ−Ｔ標準Ｇ．７２９．１では電話帯域（３００Ｈｚ〜３．４ｋＨｚ）の第２階層までで１２ｋｂｐｓのビットレートがあるが、次の広帯域（５０Ｈｚ〜７ｋＨｚ）を扱う第３階層には２ｋｂｐｓの割り当てしかない。このように情報ビットが少ない場合には、直交変換で得られたスペクトルを、符号帳を用いたベクトル量子化で符号化する方法では聴感的に十分な性能を得ることができない。
【００１１】
本発明の目的は、情報ビットが少ない場合であっても聴感的に良好な音質を得ることができる符号化装置および符号化方法を提供することである。
【課題を解決するための手段】
【００１２】
本発明の符号化装置は、周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、前記シェイプ量子化手段は、所定の探索区間を複数に区切ったバンド毎に第１の固定波形を探索する区間探索手段と、前記所定の探索区間全体に渡って第２の固定波形を探索する全体探索手段と、を具備する、構成を採る。
【００１３】
本発明の符号化方法は、周波数スペクトルのシェイプを符号化するシェイプ量子化工程と、前記周波数スペクトルのゲインを符号化するゲイン量子化工程と、を具備し、前記シェイプ量子化工程は、所定の探索区間を複数に区切ったバンド毎に第１の固定波形を探索する区間探索工程と、前記所定の探索区間全体に渡って第２の固定波形を探索する全体探索工程と、を具備する、方法を採る。
【発明の効果】
【００１４】
本発明によれば、エネルギが存在する周波数（位置）を正確に符号化することができるので、スペクトル符号化に特有の定性的な性能の向上を図ることができ、低ビットレートの場合でも良好な音質を得ることができる。
【発明を実施するための最良の形態】
【００１５】
ＣＥＬＰ方式等の音声信号の符号化では、音声信号は音源と合成フィルタで表されることが多く、時系列ベクトルである音源信号がその信号に似た形状のベクトルを復号することができれば、合成フィルタで入力音声に近い波形を得ることができ、聴感的にも良好な音質を得ることができる。これは、ＣＥＬＰで用いられる代数的符号帳の成功にも繋がっている定性的な性質である。
【００１６】
一方、周波数スペクトル（ベクトル）の符号化では、合成フィルタの成分はスペクトルゲインとなるので、そのゲインの歪よりもパワの大きい成分の周波数（位置）の歪に大きな重みがある。すなわち、入力スペクトルに似た形状のベクトルを復号するよりも、高いエネルギのある位置を正確に探索し、当該エネルギのある位置のパルスを復号することの方が、聴感的に良好な音質を得ることに繋がる。
【００１７】
本発明者は、この点に着目し本発明をするに至った。すなわち、本発明では、周波数スペクトルを少数のパルスで符号化するモデルとし、符号化する音声信号（時系列ベクトル）を直交変換で周波数領域に変換し、符号化対象の周波数区間を複数のバンドに分け、各バンドそれぞれに１パルス、更に符号化対象の周波数区間全体で数パルスを探索する。
【００１８】
また、本発明では、シェイプ（形状）の量子化とゲイン（大きさ）の量子化とに分け、シェイプの量子化では、理想ゲインを仮定して振幅は「１」で極性（＋−）のパルスを開ループ探索し、特に、符号化対象の周波数区間全体での探索では、同じ場所に２つパルスを立てないようにし、パルス位置の伝送情報として複数パルスの位置の組み合わせを符号化できるようにする。
【００１９】
以下、本発明の一実施の形態について、図面を用いて説明する。
【００２０】
図１は、本実施の形態に係る音声符号化装置の構成を示すブロック図である。図１に示す音声符号化装置は、ＬＰＣ分析部１０１、ＬＰＣ量子化部１０２、逆フィルタ１０３、直交変換部１０４、スペクトル符号化部１０５、および多重化部１０６を備える。スペクトル符号化部１０５は、シェイプ量子化部１１１およびゲイン量子化部１１２を備える。
【００２１】
ＬＰＣ分析部１０１は、入力音声信号に対して線形予測分析を行い、分析結果であるスペクトル包絡パラメータをＬＰＣ量子化部１０２に出力する。ＬＰＣ量子化部１０２は、ＬＰＣ分析部１０１から出力されたスペクトル包絡パラメータ（ＬＰＣ：線形予測係数）の量子化処理を行い、量子化ＬＰＣを表す符号を多重化部１０６に出力する。また、ＬＰＣ量子化部１０２は、量子化ＬＰＣを表す符号を復号して得られる復号パラメータを逆フィルタ１０３に出力する。なお、パラメータの量子化では、ベクトル量子化（ＶＱ）、予測量子化、多段ＶＱ、スプリットＶＱ等の形態が用いられる。
【００２２】
逆フィルタ１０３は、復号パラメータを用いて入力音声に対して逆フィルタを掛け、得られた残差成分を直交変換部１０４に出力する。
【００２３】
直交変換部１０４は、残差成分にサイン窓等の整合窓を掛け、ＭＤＣＴを用いて直交変換を行い、周波数軸に変換されたスペクトル（以下、「入力スペクトル」という）をスペクトル符号化部１０５に出力する。なお、直交変換には他にＦＦＴ、ＫＬＴ、ウェーブレット変換等があり、使用方法は異なるがどれを用いても入力スペクトルへの変換ができる。
【００２４】
なお、逆フィルタ１０３と直交変換部１０４はその処理順を逆にする場合もある。すなわち、入力音声を直交変換したものに対して逆フィルタの周波数スペクトルで商算（対数軸で減算）を行えば同様の入力スペクトルが得られる。
【００２５】
スペクトル符号化部１０５は、入力スペクトルを、スペクトルのシェイプとゲインに分けて量子化し、得られた量子化符号を多重化部１０６に出力する。シェイプ量子化部１１１は、入力スペクトルのシェイプを少数のパルスの位置、極性で量子化し、ゲイン量子化部１１２は、シェイプ量子化部１１１によって探索されたパルスのゲインをバンド毎に算出して量子化する。なお、シェイプ量子化部１１１、ゲイン量子化部１１２の詳細については後述する。
【００２６】
多重化部１０６は、ＬＰＣ量子化部１０２から量子化ＬＰＣを表す符号を入力し、スペクトル符号化部１０５から量子化入力スペクトルを表す符号を入力し、これらの情報を多重化して符号化情報として伝送路へ出力する。
【００２７】
図２は、本実施の形態に係る音声復号装置の構成を示すブロック図である。図２に示す音声復号装置は、分離部２０１、パラメータ復号部２０２、スペクトル復号部２０３、直交変換部２０４、および合成フィルタ２０５を備える。
【００２８】
図２において、符号化情報は、分離部２０１によって個々の符号に分離される。量子化ＬＰＣを表す符号はパラメータ復号部２０２に出力され、入力スペクトルの符号はスペクトル復号部２０３に出力される。
【００２９】
パラメータ復号部２０２は、スペクトル包絡パラメータの復号を行い、復号によって得られた復号パラメータを合成フィルタ２０５に出力する。
【００３０】
スペクトル復号部２０３は、図１に示したスペクトル符号化部１０５の符号化方法に対応する方法によってシェイプベクトルおよびゲインを復号し、復号したシェイプベクトルに復号ゲインを乗ずることによって復号スペクトルを得、復号スペクトルを直交変換部２０４に出力する。
【００３１】
直交変換部２０４は、スペクトル復号部２０３から出力された復号スペクトルに対して図１に示した直交変換部１０４の逆の変換を行い、変換によって得られた時系列の復号残差信号を合成フィルタ２０５に出力する。
【００３２】
合成フィルタ２０５は、パラメータ復号部２０２から出力された復号パラメータを用いて、直交変換部２０４から出力された復号残差信号に対して合成フィルタを掛け、出力音声を得る。
【００３３】
なお、図１の逆フィルタ１０３と直交変換部１０４の処理順を逆にする場合、図２の音声復号装置では、直交変換をする前に復号パラメータの周波数スペクトルで積算（対数軸で和算）を行い、得られたスペクトルに対して直交変換を行う。
【００３４】
次に、シェイプ量子化部１１１、ゲイン量子化部１１２の詳細について説明する。シェイプ量子化部１１１は、所定の探索区間を複数に区切ったバンド毎にパルスを探索する区間探索部１２１と、この探索区間全体に渡ってパルスを探索する全体探索部１２２と、を備える。
【００３５】
探索の基準となる式は以下の式（１）である。なお、式（１）において、Ｅは符号化歪、ｓｉは入力スペクトル、ｇは最適ゲイン、δはデルタ関数、ｐはパルスの位置である。
【数１】
2008108076.tif 000016
【００３６】
コスト関数を最小にするパルスの位置は、上記式（１)より、各々のバンドの中で入力スペクトルの絶対値|ｓｐ|が最大になる位置であり、極性は、そのパルスの位置の入力スペクトルの値の極性である。
【００３７】
以下、入力スペクトルのベクトル長が８０サンプル、バンド数が５であって、各バンドで１本のパルスと全体で３本のパルスの計８本のパルスでスペクトルを符号化する場合を例に説明する。この場合、各バンドの長さは１６サンプルとなる。なお、探索されるパルスの振幅は「１」に固定で、極性は「＋−」である。
【００３８】
区間探索部１２１は、バンド毎に、エネルギが最大の位置、極性（＋−）を探索し、１本ずつパルスを立てる。本例では、バンド数が５で、バンド毎に、パルスの位置を示すために４ビット（位置のエントリ：１６）、極性を示すために１ビット（＋−）必要であるので、合計２５ビットの情報ビットとなる。
【００３９】
区間探索部１２１の探索アルゴリズムのフローを図３に示す。なお、図３のフロー図で用いられる記号の内容は以下の通りである。
ｉ：位置
ｂ：バンドの番号
ｍａｘ：最大値
ｃ：カウンタ
ｐｏｓ[ｂ]：探索結果（位置）
ｐｏｌ[ｂ]：探索結果（極性）
ｓ[ｉ]：入力スペクトル
【００４０】
図３に示すように、区間探索部１２１は、バンド毎（０≦ｂ≦４）に、各サンプル（０≦ｃ≦１５）の入力スペクトルｓ[ｉ]を計算して、最大値ｍａｘを求める。
【００４１】
区間探索部１２１において探索されたパルスで表現されたスペクトルの例を図４に示す。図４に示すように、バンド幅１６サンプルの５つのバンドに、振幅「１」、極性「＋−」のパルスが１本ずつ立てられる。
【００４２】
全体探索部１２２は、探索区間全体に渡って、３本のパルスを立てる位置を探索し、パルスの位置と極性を符号化する。全体探索部１２２における探索では、少ない情報ビット、少ない計算量で正確な位置を符号化するために以下の４つの条件で探索を行う。
（１）同じ位置に２つ以上のパルスを立てない。本例では、区間探索部１２１においてバンド毎に立てたパルスの位置にも立てないこととする。この工夫により、振幅成分の表現に情報ビットを使わないので効率的に情報ビットを使用することができる。
（２）パルスを１本ずつ順番に開ループで探索する。探索の途中では、（１）のルールに従い、既に決定されたパルスの位置については探索の対象外とする。
（３）位置の探索では、パルスが立たない方が良い場合も１つの位置として符号化する。（４）ゲインをバンド毎に符号化することを考慮して、バンド毎の理想ゲインによる符号化歪を評価しながらパルスを探索する。
【００４３】
全体探索部１２２は、入力スペクトル全体に渡って１本のパルスの探索を次の２段階のコスト評価で行う。まず、第１段階として、全体探索部１２２は、各バンドでのコストを
評価し、最もコスト関数が小さくなる位置と極性を求める。そして、第２段階として、全体探索部１２２は、上記探索が１つのバンド内を終了する毎に全体のコストを評価し、これが最小になるパルスの位置と極性を最終結果として保存する。この探索を各バンドで順番に行っていく。この探索は、上記（１）ないし（４）の条件に合うように行われる。そして、１本のパルスの探索が終わると、そのパルスが探索位置にあるとして、次のパルスの探索を行う。これを繰り返して所定の本数（本例では、３本）になるまで探索を行う。
【００４４】
全体探索部１２２の探索アルゴリズムのフローを図５に示す。図５は、前処理のフロー図であり、図６は、本探索のフロー図である。なお、図６のフロー図に、上記（１）（２）（４）の条件に対応する部分について示す。
【００４５】
図５のフロー図で用いられる記号の内容は以下の通りである。
ｃ：カウンタ、
ｐｆ[＊]：パルス有無フラグ
ｂ：バンドの番号、
ｐｏｓ[＊]：検索結果（位置）
ｎ_ｓ[＊]：相関値
ｎ_ｍａｘ[＊]：相関値最大
ｎ２_ｓ[＊]：相関値２乗
ｎ２_ｍａｘ[＊]：相関値２乗最大
ｄ_ｓ[＊]：パワ値
ｄ_ｍａｘ[＊]：パワ値最大
ｓ[＊]：入力スペクトル
【００４６】
図６のフロー図で用いられる記号の内容は以下の通りである。
ｉ：パルス番号
ｉ０：パルス位置
ｃｍａｘ：コスト関数の最大値
ｐｆ[＊]：パルス有無フラグ（０：無、１：有）
ｉｉ０：バンド内の相対的パルス位置
ｎｏｍ：スペクトル振幅
ｎｏｍ２：分子項（スペクトルパワ）
ｄｅｎ：分母項
ｎ＿ｓ[＊]：相関値
ｄ＿ｓ[＊]：パワ値
ｓ[＊]：入力ベクトル
ｎ２＿ｓ[＊]：相関値２乗
ｎ＿ｍａｘ[＊]：相関値最大
ｎ２＿ｍａｘ[＊]：相関値２乗最大
ｉｄｘ＿ｍａｘ[＊]：各パルスの探索された結果（位置）
（なお、ｉｄｘ＿ｍａｘ[＊]の０〜４までは図３のｐｏｓ（ｂ）と同一である。）
ｆｄ０、ｆｄ１、ｆｄ２：一時記憶用バッファ（実数型）
ｉｄ０，ｉｄ１：一時記憶用バッファ（整数型）
ｉｄ０＿ｓ、ｉｄ１＿ｓ：一時記憶用バッファ（整数型）
＞＞：ビットシフト（右へシフト）
＆：ビット列としてのアンド
【００４７】
なお、図５、図６の探索において、ｉｄｘ＿ｍａｘ[＊]が「−１」のままである場合が、上記条件（３）のパルスが立たない方が良い場合である。この具体的事象としては、バンド毎に探索したパルスや全範囲で探索したパルスでスペクトルを十分近似できており、
これ以上同じ大きさのパルスを立ててもかえって符号化歪が大きくなってしまう場合などが挙げられる。
【００４８】
探索したパルスの極性は、入力スペクトルのその位置の極性であり、全体探索部１２２は、この極性を３（本）×１＝３ビットで符号化する。なお、位置が「−１」の場合、すなわちパルスが立たない場合には極性はどちらでもよい。ただし、ビット誤りの検出に用いられる場合もあるため、通常どちらかに固定される。
【００４９】
また、全体探索部１２２は、パルスの位置情報を、パルスの位置の組み合わせの数で符号化する。本例では、入力スペクトルが８０サンプルで、バンド毎に５パルスが既に立っているので、パルスを立てない場合も考慮すると位置のヴァリエーションは以下の式（２）の計算により１７ビットで表すことができる。
【数２】
2008108076.tif 000017
【００５０】
なお、同じ位置に２つのパルスが立たないようにするというルールによって、組み合わせの数を少なくすることができ、このルールの効果は、全体で探索するパルス数が多い程大きくなる。
【００５１】
ここで、全体探索部１２２において探索したパルスの位置を符号化する方法について詳細に述べる。
（１）３本のパルスの位置をその大きさでソーティングし、小さい数値から大きな数値に並べる。なお、「−１」についてはそのままにしておく。
（２）バンド毎に立つパルスの位置の分だけ左に詰めて、位置の数値を小さくする。これで求まる数値を「位置数」と呼ぶ。なお、「−１」についてはそのままにしておく。例えば、パルスの位置が６６で、これより小さい位置には、０〜１５、１６〜３１、３２〜４７、４８〜６４に１本ずつパルスがあったとすると、位置数は「６６−４＝６２」になる。
（３）「−１」を「そのパルスの最大の値＋１」の位置数に設定する。この場合、実際にパルスが存在する位置数と混同しないように調整しながら値の順番を決める。これにより、パルス＃０の位置数は０から７３まで、パルス＃１の位置数はパルス＃０の位置数から７４まで、パルス＃２の位置数はパルス＃１の位置数から７５までの範囲に限定され、下位の位置数が上位の位置数を超えないようになる。
（４）そして、組み合わせの符号を求める以下の式（３）に示す統合処理により、位置数（ｉ０，ｉ１，ｉ２）を統合して符号（ｃ）を得る。この統合処理は大きさの順番がある場合に全ての組み合わせを統合する計算処理である。
【数３】
2008108076.tif 000018
（５）そして、このｃの１７ビットと極性のビット３を合わせて２０ビットの符号を得る。
【００５２】
なお、上記位置数の中で、パルス＃０が「７３」、パルス＃１が「７４」、パルス＃２が「７５」の場合が、そのパルスが立たない場合を示す位置数となる。例えば３つの位置数が（７３、−１、−１）という場合は、前の１つの位置数と「立たない場合」の位置数の関係から、（−１、７３、−１）と順番を変え、（７３、７３、７４）とされる。
【００５３】
このように、本例のように、入力スペクトルを８本のパルス列（バンド毎５本、全体３本）で表すモデルの場合、情報ビット４５ビットで符号化することができる。
【００５４】
区間探索部１２１および全体探索部１２２で探索されたパルスで表現されたスペクトルの例を図７に示す。なお、図７において、より太く表現されたパルスが全体探索部１２２において探索されたパルスである。
【００５５】
ゲイン量子化部１１２は、各バンドのゲインを量子化する。８本のパルスは各バンドに配置されているので、ゲイン量子化部１１２は、そのパルスと入力スペクトルとの相関を分析してゲインを求める。
【００５６】
ゲイン量子化部１１２は、理想ゲインを求めてからスカラ量子化やベクトル量子化で符号化する場合、まず、以下の式（４）で理想ゲインを求める。なお、式（４）において、ｇｎはバンドｎの理想ゲイン、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｖｎ（ｉ）はバンドｎのシェイプを復号したベクトルである。
【数４】
2008108076.tif 000019
【００５７】
そして、ゲイン量子化部１１２は、理想ゲインをスカラ量子化（ＳＱ）する、または、５つのゲインをまとめてベクトル量子化により符号化する。ベクトル量子化する場合には、予測量子化、多段ＶＱ、スプリットＶＱ等により効率良く符号化することができる。また、ゲインは、聴感的には対数で聞こえるため、ゲインを対数変換してからＳＱ、ＶＱすれば聴感的に良好な合成音が得られる。
【００５８】
なお、理想ゲインを求めるのではなく、符号化歪を直接評価する方法もある。例えば、５つのゲインをＶＱする場合、以下の式（５）を最小にする。なお、式（５）において、Ｅｋはｋ番目のゲインベクトルの歪み、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｇｎ（ｋ）はｋ番目のゲインベクトルのｎ番目の要素、ｖｎ（ｉ）はバンドｎのシェイプを復号したシェイプベクトルである。
【数５】
2008108076.tif 000020
【００５９】
次に、スペクトル復号部２０３における、全体で探索した３本のパルスの位置の復号方法について説明する。
【００６０】
スペクトル符号化部１０５の全体探索部１２２では、上記式（３）を用いて、位置数（
ｉ０，ｉ１，ｉ２）を１つの符号に統合した。スペクトル復号部２０３では、この逆の処理を行うことになる。すなわち、スペクトル復号部２０３では、統合式の値を、各位置数を動かしながら順番に計算し、その値を下回る場合にその位置数を固定し、これを低次の位置数から上位に向かって１つずつ行っていくことによって復号する。図８は、スペクトル復号部２０３の復号アルゴリズムを示すフロー図である。
【００６１】
なお、図８において、エラー処理となっているステップへ進むのは、入力である統合された位置の符号ｋがビットエラーで異常になってしまった場合である。したがって、この場合には、所定のエラー処理により位置を求めなくてはならない。
【００６２】
また、復号器での計算量は、ループ処理がある分、符号器よりも増えることになる。ただし、それぞれのループは開ループであるのでコーデックの処理の全体量から見れば、復号器の計算量は余り大きなものではない。
【００６３】
このように、本実施の形態によれば、エネルギが存在する周波数（位置）を正確に符号化することができるので、スペクトル符号化に特有の定性的な性能の向上を図ることができ、低ビットレートの場合でも良好な音質を得ることができる。
【００６４】
なお、本実施の形態では、シェイプ符号化の後にゲイン符号化を行う場合について説明したが、本発明では、ゲイン符号化の後にシェイプ符号化を行っても同様の性能を得ることができる。また、バンド毎のゲイン符号化を行ってから復号ゲインでスペクトルを正規化し、本発明のシェイプ符号化を行うという方法でもよい。
【００６５】
また、上記実施の形態では、スペクトルのシェイプの量子化時に、スペクトルの長さを８０、バンド数を５、各バンドで探索するパルス数を１本、全区間で探索するパルス数を３本とする場合を例にしたが、本発明は上記数値に全く依存せず、他の場合であっても同様の効果を得ることができる。
【００６６】
また、本発明は、バンド幅が十分細かく比較的多くのゲインを符号化でき、情報ビット数が十分多い場合には、バンド毎のパルス探索だけ、あるいは複数のバンドにまたがる広い区間のパルス探索だけで性能を得ることもできる。
【００６７】
また、上記実施の形態では、同じ位置に２つパルスを立てないという条件を設定したが、本発明では、部分的にこの条件を緩和してもよい。例えば、バンド毎に探索されるパルスと、複数のバンドにまたがる広い区間で探索されるパルスが同じ位置に立つことを認めるとすると、バンド毎のパルスを消すことができたり、振幅が２倍のパルスを立てたりすることができる。この条件を緩和するためには、パルス有無フラグｐｆ[＊]をバンド毎のパルスについて格納しなければよい。すなわち、図５の一番下のステップのpf[pos[b]]=1を省略すればよい。また、この条件を緩和する他の方法として、広い区間のパルス探索の際にパルス有無フラグに格納しなければよい。すなわち、図６の一番下のステップの最後のpf[idx_max[i+5]]=1を省略すればよい。ただし、この場合には位置のヴァリエーションが増加する。本実施の形態に示した様に単純な組み合わせではないので、場合分けをしてその場合毎に組み合わせを符号化する必要がある。
【００６８】
また、本実施の形態では直交変換後のスペクトルに対してパルスによる符号化を用いたが、本発明はこれに限られず、他のベクトルにも適用することができる。例えば、ＦＦＴや複素ＤＣＴ等では複素数ベクトルに本発明を適用すれば良いし、ウェーブレット変換などでは時系列のベクトルに本発明を適用すれば良い。また、本発明は、ＣＥＬＰの音源波形等、時系列のベクトルにも適用することができる。ＣＥＬＰの音源波形の場合には合成フィルタを伴うので、コスト関数が行列計算になるだけである。ただし、フィルタを伴う
場合はパルスの探索は開ループでは性能が十分でないので、ある程度閉ループ探索を行わなければならない。パルスが多い場合などはビームサーチ等を行い、計算量を少なく抑えるのも有効である。
【００６９】
また、本発明では、探索する波形がパルス（インパルス）に限定されず、他の固定波形（デュアルパルス、三角波、インパルス応答の有限波、フィルタの係数、適応的に形状を変える固定波形、等）でも全く同様の方法で探索することができ、同様の効果を得ることができる。
【００７０】
また、本実施の形態では、ＣＥＬＰに対して用いる場合について説明したが、本発明はこれに限られず、他のコーデックであっても有効である。
【００７１】
また、本発明に係る信号は、音声信号だけでなく、オーディオ信号でも良い。また、入力信号の代わりに、ＬＰＣ予測残差信号に対して本発明を適用する構成であっても良い。
【００７２】
また、本発明に係る符号化装置および復号装置は、移動体通信システムにおける通信端末装置および基地局装置に搭載することが可能であり、これにより上記と同様の作用効果を有する通信端末装置、基地局装置、および移動体通信システムを提供することができる。
【００７３】
また、ここでは、本発明をハードウェアで構成する場合を例にとって説明したが、本発明をソフトウェアで実現することも可能である。例えば、本発明に係るアルゴリズムをプログラミング言語によって記述し、このプログラムをメモリに記憶しておいて情報処理手段によって実行させることにより、本発明に係る符号化装置と同様の機能を実現することができる。
【００７４】
また、上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部または全てを含むように１チップ化されても良い。
【００７５】
また、ここではＬＳＩとしたが、集積度の違いによって、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩ等と呼称されることもある。
【００７６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラム化することが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続もしくは設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【００７７】
さらに、半導体技術の進歩または派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
【００７８】
２００７年３月２日出願の特願２００７−０５３４９７の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【００７９】
本発明は、音声信号やオーディオ信号を符号化する符号化装置、および符号化された信号を復号する復号装置等に用いるに好適である。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施の形態に係る音声符号化装置の構成を示すブロック図
【図２】本発明の一実施の形態に係る音声復号装置の構成を示すブロック図
【図３】本発明の一実施の形態に係る区間探索部の探索アルゴリズムのフロー図
【図４】本発明の一実施の形態に係る区間探索部において探索されたパルスで表現されたスペクトルの例を示す図
【図５】本発明の一実施の形態に係る全体探索部の探索アルゴリズムのフロー図
【図６】本発明の一実施の形態に係る全体探索部の探索アルゴリズムのフロー図
【図７】本発明の一実施の形態に係る区間探索部および全体探索部において探索されたパルスで表現されたスペクトルの例を示す図
【図８】本発明の一実施の形態に係るスペクトル復号部の復号アルゴリズムのフロー図
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008108076.tif 000021
【図２】
2008108076.tif 000022
【図３】
2008108076.tif 000023
【図４】
2008108076.tif 000024
【図５】
2008108076.tif 000025
【図６】
2008108076.tif 000026
【図７】
2008108076.tif 000027
【図８】
2008108076.tif 000028
【国際調査報告】
2008108076.tif 000029
2008108076.tif 000030