(57)【要約】  情報ビットが少ない場合であっても聴感的に良好な音質を得ること。シェイプ量子化部（１１１）は、所定の探索区間を複数に区切ったバンド毎にパルスを探索して符号化する区間探索部（１２１）と、この探索区間全体に渡ってパルスの探索を行う全体探索部（１２２）と、を備え、入力スペクトルのシェイプを少数のパルスの位置、極性で量子化する。区間探索部（１２１）は、所定の周波数より高いバンドで探索されたパルスを他のバンドで探索されたパルスよりも低いビット数で符号化する。全体探索部（１２２）は、所定の周波数より高いバンドに位置するパルスを他のパルスよりも低いビット数で符号化する。ゲイン量子化部（１１２）は、シェイプ量子化部（１１１）によって探索されたパルスのゲインをバンド毎に算出して量子化する。
2009125588.tif 000002
【特許請求の範囲】
【請求項１】
周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、
前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、
前記シェイプ量子化手段は、
所定の探索区間を複数に区切ったバンド毎に第１の波形を探索し、所定のバンドで探索された第１の波形を他の第１の波形よりも低いビット数で符号化する区間探索手段と、
前記所定の探索区間全体に渡って第２の波形を探索し、前記所定のバンドに位置する第２の波形が予め設定された条件を満たす場合に、前記所定のバンドに位置する第２の波形の位置の近傍の位置を符号化する全体探索手段と、を具備する、
符号化装置。
【請求項２】
前記全体探索手段は、バンド毎の理想ゲインによる符号化歪を評価しながら前記第２の波形を探索する、請求項１に記載の符号化装置。
【請求項３】
前記全体探索手段は、前記第２の波形に関する複数の位置情報を用いて複数の数値を算出し、前記複数の数値を用いて前記第２の波形に関する位置情報を符号化する請求項１に記載の符号化装置。
【請求項４】
前記全体探索手段は、前記所定のバンドに位置する第２の波形の位置情報を、前記所定のバンドで探索された第１の波形の前後の位置を区別できるように符号化する請求項１に記載の符号化装置。
【請求項５】
前記ゲイン量子化手段は、前記第１の波形および前記第２の波形のゲインをバンド毎に算出して符号化する、請求項１に記載の符号化装置。
【請求項６】
前記区間探索手段は、所定の探索区間を複数に区切ったバンドのうち、低い周波数帯域のバンドで分数精度の探索を行い、探索した波形の分数精度の位置を当該位置に最も近い整数精度の位置で表した位置情報を符号化する、請求項１に記載の符号化装置。
【請求項７】
前記ゲイン量子化手段は、探索した波形の分数精度の位置における波形のゲインを符号化する、請求項６に記載の符号化装置。
【請求項８】
周波数スペクトルのシェイプを符号化するシェイプ量子化工程と、
前記周波数スペクトルのゲインを符号化するゲイン量子化工程と、を具備し、
前記シェイプ量子化工程は、
所定の探索区間を複数に区切ったバンド毎に第１の波形を探索し、所定のバンドで探索された第１の波形を他の第１の波形よりも低いビット数で符号化する区間探索工程と、
前記所定の探索区間全体に渡って第２の波形を探索し、前記所定のバンドに位置する第２の波形が予め設定された条件を満たす場合に、前記所定のバンドに位置する第２の波形の位置の近傍の位置を符号化する全体探索工程と、を具備する、
符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号やオーディオ信号を符号化する符号化装置および符号化方法に関する。
【背景技術】
【０００２】
移動体通信においては、電波などの伝送路容量や記憶媒体の有効利用を図るため、音声や画像のディジタル情報に対して圧縮符号化を行うことが必須であり、これまでに多くの符号化／復号方式が開発されてきた。【０００３】
その中で、音声符号化技術は、音声の発声機構をモデル化してベクトル量子化を巧みに応用した基本方式「ＣＥＬＰ」（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
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特にスケーラブルコーデックの比較的低い階層では、割り当てられるビット数が少ないため、音源の変換符号化の性能は十分ではなかった。例えば、ＩＴＵ−Ｔ標準Ｇ．７２９．１では電話帯域（３００Ｈｚ〜３．４ｋＨｚ）の第２階層までで１２ｋｂｐｓのビットレートがあるが、次の広帯域（５０Ｈｚ〜７ｋＨｚ）を扱う第３階層には２ｋｂｐｓの割り当てしかない。このように情報ビットが少ない場合には、直交変換で得られたスペクトルを、符号帳を用いたベクトル量子化で符号化する方法では聴感的に十分な性能を得ることができない。【００１３】
さらに、上記Ｇ．７２９．１に関して、これから拡張標準化を行おうとしているスケーラブルコーデックでは、広帯域（５０Ｈｚ〜７ｋＨｚ）から超広帯域（１０Ｈｚ〜１５ｋＨｚ）にビットレートが増える拡張レイヤでも上記と同様の２ｋｂｐｓ程度の低ビットレートの配分しかなされず、帯域が８ｋＨｚ幅も増加するにもかかわらずビットレートを十分に確保することができない。【００１４】
本発明の目的は、情報ビットが少ない場合であっても聴感的に良好な音質を得ることができる符号化装置および符号化方法を提供することである。
【課題を解決するための手段】
【００１５】
本発明の符号化装置は、周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、前記シェイプ量子化手段は、所定の探索区間を複数に区切ったバンド毎に第１の波形を探索し、所定のバンドで探索された第１の波形を他の第１の波形よりも低いビット数で符号化する区間探索手段と、前記所定の探索区間全体に渡って第２の波形を探索し、前記所定のバンドに位置する第２の波形が予め設定された条件を満たす場合に、前記所定のバンドに位置する第２の波形の位置の近傍の位置を符号化する全体探索手段と、を具備する、構成を採る。【００１６】
本発明の符号化方法は、周波数スペクトルのシェイプを符号化するシェイプ量子化工程と、前記周波数スペクトルのゲインを符号化するゲイン量子化工程と、を具備し、前記シェイプ量子化工程は、所定の探索区間を複数に区切ったバンド毎に第１の波形を探索し、所定のバンドで探索された第１の波形を他の第１の波形よりも低いビット数で符号化する区間探索工程と、前記所定の探索区間全体に渡って第２の波形を探索し、前記所定のバンドに位置する第２の波形が予め設定された条件を満たす場合に、前記所定のバンドに位置する第２の波形の位置の近傍の位置を符号化する全体探索工程と、を具備する、方法を採る。
【発明の効果】
【００１７】
本発明によれば、エネルギが存在する周波数（位置）を正確に符号化することができるので、スペクトル符号化に特有の定性的な性能の向上を図ることができ、低ビットレートの場合でも良好な音質を得ることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態１及び２に係る音声符号化装置の構成を示すブロック図
【図２】本発明の実施の形態１及び２に係る音声復号装置の構成を示すブロック図
【図３】本発明の実施の形態１に係る区間探索部の探索アルゴリズムのフロー図
【図４】本発明の実施の形態１に係る区間探索部において探索されたパルスで表現されたスペクトルの例を示す図
【図５】本発明の実施の形態１に係る全体探索部の探索アルゴリズムのフロー図
【図６】本発明の実施の形態１に係る全体探索部の探索アルゴリズムのフロー図
【図７】全体で探索するパルスの位置の符号化結果の一例を示す図
【図８】本発明の実施の形態１に係る区間探索部および全体探索部において探索されたパルスで表現されたスペクトルの例を示す図
【図９】本発明の実施の形態１に係るスペクトル復号部の復号アルゴリズムのフロー図
【図１０】本発明の実施の形態２に係る区間探索部の探索アルゴリズムのフロー図
【図１１】本発明の実施の形態２に係る全体探索部の探索アルゴリズムのフロー図
【図１２】本発明の実施の形態２に係る全体探索部の探索アルゴリズムのフロー図
【発明を実施するための形態】
【００１９】
人間の聴覚は、電圧成分（デジタル信号の信号値）については対数的になっているため、音声信号を周波数軸に変換して符号化する場合に、スペクトル成分が高いほど周波数の精度が聴覚的に認識され難いという特性を有する。例えば、人間の聴覚は、信号値が１０ｄＢから２０ｄＢへ増加した場合と２０ｄＢから４０ｄＢへ増加した場合とで同じ量（２倍）の増加に感じられ、信号値が２０ｄＢと２１ｄＢの差を知覚することはできても、１０００ｄＢと１００１ｄＢの差を知覚することはできない。
【００２０】
本発明者は、この点に着目し本発明をするに至った。すなわち、本発明では、周波数スペクトルを少数のパルスで符号化するモデルとし、符号化する音声信号（時系列ベクトル）を直交変換で周波数領域に変換する符号化において、スペクトルの符号化を行った後、高周波数成分の周波数情報の精度を落として低ビットで符号化する。
【００２１】
以下、本発明の一実施の形態について、図面を用いて説明する。なお、本実施の形態では、符号化装置として音声符号化装置を、復号装置として音声復号装置を例として説明する。
【００２２】
図１は、本実施の形態に係る音声符号化装置の構成を示すブロック図である。図１に示す音声符号化装置は、ＬＰＣ分析部１０１、ＬＰＣ量子化部１０２、逆フィルタ１０３、直交変換部１０４、スペクトル符号化部１０５、および多重化部１０６を備える。スペクトル符号化部１０５は、シェイプ量子化部１１１およびゲイン量子化部１１２を備える。
【００２３】
ＬＰＣ分析部１０１は、入力音声信号に対して線形予測分析を行い、分析結果であるスペクトル包絡パラメータをＬＰＣ量子化部１０２に出力する。ＬＰＣ量子化部１０２は、ＬＰＣ分析部１０１から出力されたスペクトル包絡パラメータ（ＬＰＣ：線形予測係数）の量子化処理を行い、量子化ＬＰＣを表す符号を多重化部１０６に出力する。また、ＬＰＣ量子化部１０２は、量子化ＬＰＣを表す符号を復号して得られる復号パラメータを逆フィルタ１０３に出力する。なお、パラメータの量子化では、ベクトル量子化（ＶＱ）、予測量子化、多段ＶＱ、スプリットＶＱ等の形態が用いられる。
【００２４】
逆フィルタ１０３は、復号パラメータを用いて入力音声信号に対して逆フィルタを掛け、得られた残差成分を直交変換部１０４に出力する。
【００２５】
直交変換部１０４は、残差成分にサイン窓等の整合窓を掛け、ＭＤＣＴ（Modified Discrete Cosine Transform）を用いて直交変換を行い、周波数軸に変換されたスペクトル（以下、「入力スペクトル」という）をスペクトル符号化部１０５に出力する。なお、直交変換には他にＦＦＴ（Fast Fourier Transform）、ＫＬＴ（Karhunen-Loeve Transform）、ウェーブレット変換等があり、使用方法は異なるがどれを用いても入力スペクトルへの変換ができる。
【００２６】
なお、逆フィルタ１０３と直交変換部１０４とはその処理順を逆にする場合もある。すなわち、入力音声信号を直交変換したものに対して逆フィルタの周波数スペクトルで商算（対数軸で減算）を行えば、同様の入力スペクトルが得られる。
【００２７】
スペクトル符号化部１０５は、スペクトルのシェイプとゲインとに分けて入力スペクトルを量子化し、得られた量子化符号を多重化部１０６に出力する。シェイプ量子化部１１１は、入力スペクトルのシェイプを少数のパルスの位置、極性で量子化する。ここで、シェイプ符号化部１１１は、パルスの位置の符号化において、高周波数帯域の位置情報の精度を落とすことによりビット数を節約した符号化を行う。ゲイン量子化部１１２は、シェイプ量子化部１１１によって探索されたパルスのゲインをバンド毎に算出して量子化する。なお、シェイプ量子化部１１１、ゲイン量子化部１１２の詳細については後述する。
【００２８】
多重化部１０６は、ＬＰＣ量子化部１０２から量子化ＬＰＣを表す符号を入力し、スペクトル符号化部１０５から量子化入力スペクトルを表す符号を入力し、これらの情報を多重化して符号化情報として伝送路へ出力する。
【００２９】
図２は、本実施の形態に係る音声復号装置の構成を示すブロック図である。図２に示す音声復号装置は、分離部２０１、パラメータ復号部２０２、スペクトル復号部２０３、直交変換部２０４、および合成フィルタ２０５を備える。
【００３０】
図１の音声符号化装置から送信された符号化情報は、図２の音声復号装置で受信され、分離部２０１によって個々の符号に分離される。量子化ＬＰＣを表す符号はパラメータ復号部２０２に出力され、入力スペクトルの符号はスペクトル復号部２０３に出力される。
【００３１】
パラメータ復号部２０２は、スペクトル包絡パラメータの復号を行い、復号によって得られた復号パラメータを合成フィルタ２０５に出力する。
【００３２】
スペクトル復号部２０３は、図１に示したスペクトル符号化部１０５の符号化方法に対応する方法によってシェイプベクトルおよびゲインを復号し、復号したシェイプベクトルに復号ゲインを乗ずることによって復号スペクトルを得、復号スペクトルを直交変換部２０４に出力する。
【００３３】
直交変換部２０４は、スペクトル復号部２０３から出力された復号スペクトルに対して図１に示した直交変換部１０４の逆の変換を行い、変換によって得られた時系列の復号残差信号を合成フィルタ２０５に出力する。
【００３４】
合成フィルタ２０５は、パラメータ復号部２０２から出力された復号パラメータを用いて、直交変換部２０４から出力された復号残差信号に対して合成フィルタを掛け、出力音声信号を得る。
【００３５】
なお、図１の逆フィルタ１０３と直交変換部１０４の処理順を逆にする場合、図２の音声復号装置では、直交変換をする前に復号パラメータの周波数スペクトルで積算（対数軸で和算）を行い、得られたスペクトルに対して直交変換を行う。
【００３６】
次に、シェイプ量子化部１１１、ゲイン量子化部１１２の詳細について説明する。シェイプ量子化部１１１は、所定の探索区間を複数に区切ったバンド毎にパルスを探索する区間探索部１２１と、この探索区間全体に渡ってパルスを探索する全体探索部１２２と、を備える。
【００３７】
探索の基準となる式は以下の式（１）である。なお、式（１）において、Ｅは符号化歪、ｓｉは入力スペクトル、ｇは最適ゲイン、δはデルタ関数、ｐはパルスの位置である。
【数１】
2009125588.tif 000003
【００３８】
コスト関数を最小にするパルスの位置は、上記式（１)より、各々のバンドの中で入力スペクトルの絶対値|ｓｐ|が最大になる位置であり、極性は、そのパルスの位置の入力スペクトルの値の極性である。
【００３９】
以下、入力スペクトルのベクトル長が８０サンプル、バンド数が５であって、各バンドで１本のパルスと全体で３本のパルスとの計８本のパルスでスペクトルを符号化する場合を例に説明する。この場合、各バンドの長さは１６サンプルとなる。なお、探索されるパルスの振幅は「１」に固定で、極性は「＋−」である。
【００４０】
また、シェイプ符号化において、高周波数帯域の２バンドのパルスの位置の精度を落として、ビット数の節約を行う。具体的には、符号化は全ての位置で行うが、復号では基本的に高周波数帯域の２バンドの位置を「奇数」位置に限定する。なお、復号の際に既にパルスが存在している場合には、偶数位置にパルスを立てる場合がある。
【００４１】
区間探索部１２１は、バンド毎に、エネルギが最大の位置、極性（＋−）を探索し、１本ずつパルスを立てる。本例では、バンド数が５で、バンド毎にパルスの位置を示すために４ビット（位置のエントリ：１６）×３バンド＋３ビット（位置のエントリ：８）×２バンド、極性を示すためにパルス毎に１ビット（＋−）必要であるので、合計２３ビットの情報ビットとなる。なお、高周波数帯域の精度を落とさない場合には、５（バンド）×（４（位置）＋１（極性））＝２５ビットの情報ビットが必要になる。したがって、本例では、高周波数帯域の精度を落とさない場合に比べて２ビットを節約することができる。
【００４２】
区間探索部１２１の探索アルゴリズムのフローを図３に示す。なお、図３のフロー図で用いられる記号の内容は以下の通りである。
ｉ：位置
ｂ：バンドの番号
ｍａｘ：最大値
ｃ：カウンタ
ｐｏｓ[ｂ]：探索結果（位置）
ｐｏｌ[ｂ]：探索結果（極性）
ｓ[ｉ]：入力スペクトル
【００４３】
図３に示すように、区間探索部１２１は、バンド毎（０≦ｂ≦４）に、各サンプル（０≦ｃ≦１５）の入力スペクトルｓ[ｉ]を計算して、最大値ｍａｘを求める。
【００４４】
区間探索部１２１において探索されたパルスで表現されたスペクトルの例を図４に示す。図４に示すように、バンド幅１６サンプルの５つのバンドに、振幅「１」、極性「＋−」のパルスが１本ずつ立てられる。
【００４５】
高周波数帯域の２バンド以外のバンドについては、上記アルゴリズムで符号化した後、ｐｏｓ［ｂ］から各バンドの最初の位置の数値を引いたもの（０〜１５の数値）を位置の符号（４ビット）とする。高周波数帯域の２バンドについては、同数値を２で割ったもの（０〜７の数値）を位置の符号（３ビット）とする。
【００４６】
全体探索部１２２は、探索区間全体に渡って、３本のパルスを立てる位置を探索し、パルスの位置と極性を符号化する。全体探索部１２２における探索では、少ない情報ビット、少ない計算量で正確な位置を符号化するために、以下の５つの条件で探索を行う。（１）同じ位置に２つ以上のパルスを立てない。本例では、区間探索部１２１においてバンド毎に立てたパルスの位置にも立てないこととする。この工夫により、振幅成分の表現に情報ビットを使わないので効率的に情報ビットを使用することができる。（２）パルスを１本ずつ順番に開ループで探索する。探索の途中では、（１）のルールに従い、既に決定されたパルスの位置については探索の対象外とする。（３）位置の探索では、パルスが立たない方が良い場合も１つの位置として符号化する。（４）ゲインをバンド毎に符号化することを考慮して、バンド毎の理想ゲインによる符号化歪を評価しながらパルスを探索する。（５）位置情報の精度を落とす高周波数帯域の範囲については、全体で探索するパルスが、バンド毎のパルスと偶数−奇数で連続することは許すが、全体で探索するパルス同士が偶数−奇数で連続することは許さない。
【００４７】
全体探索部１２２は、入力スペクトル全体に渡って１本のパルスの探索を次の２段階のコスト評価で行う。まず、第１段階として、全体探索部１２２は、各バンドでのコストを評価し、最もコスト関数が小さくなる位置と極性とを求める。そして、第２段階として、全体探索部１２２は、上記探索が１つのバンド内を終了する毎に全体のコストを評価し、これが最小になるパルスの位置と極性とを最終結果として保存する。この探索を各バンドで順番に行っていく。この探索は、上記（１）から（５）の条件に合うように行われる。そして、１本のパルスの探索が終わると、そのパルスが探索位置にあるとして、次のパルスの探索を行う。これを繰り返して所定の本数（本例では、３本）になるまで探索を行う。
【００４８】
全体探索部１２２の探索アルゴリズムのフローを図５に示す。図５は、前処理のフロー図であり、図６は、本探索のフロー図である。なお、図６のフロー図に、上記（１）（２）（４）の条件に対応する部分について示す。
【００４９】
図５のフロー図で用いられる記号の内容は以下の通りである。
ｃ：カウンタ
ｐｆ[＊]：パルス有無フラグ
ｂ：バンドの番号
ｐｏｓ[＊]：検索結果（位置）
ｎ_ｓ[＊]：相関値
ｎ_ｍａｘ[＊]：相関値最大
ｎ２_ｓ[＊]：相関値２乗
ｎ２_ｍａｘ[＊]：相関値２乗最大
ｄ_ｓ[＊]：パワ値
ｄ_ｍａｘ[＊]：パワ値最大
ｓ[＊]：入力スペクトル
【００５０】
図６のフロー図で用いられる記号の内容は以下の通りである。
ｉ：パルス番号
ｉ０：パルス位置
ｃｍａｘ：コスト関数の最大値
ｐｆ[＊]：パルス有無フラグ（０：無、１：有）
ｉｉ０：バンド内の相対的パルス位置
ｎｏｍ：スペクトル振幅
ｎｏｍ２：分子項（スペクトルパワ）
ｄｅｎ：分母項
ｎ＿ｓ[＊]：相関値
ｄ＿ｓ[＊]：パワ値
ｓ[＊]：入力ベクトル
ｎ２＿ｓ[＊]：相関値２乗
ｎ＿ｍａｘ[＊]：相関値最大
ｎ２＿ｍａｘ[＊]：相関値２乗最大
ｉｄｘ＿ｍａｘ[＊]：各パルスの探索された結果（位置）（なお、ｉｄｘ＿ｍａｘ[＊]の０〜４までは図３のｐｏｓ[ｂ]と同一である。）
ｆｄ０、ｆｄ１、ｆｄ２：一時記憶用バッファ（実数型）
ｉｄ０，ｉｄ１：一時記憶用バッファ（整数型）
ｉｄ０＿ｓ、ｉｄ１＿ｓ：一時記憶用バッファ（整数型）
＞＞：ビットシフト（右へシフト）
＆：ビット列としてのアンド
【００５１】
なお、図５、図６の探索において、ｉｄｘ＿ｍａｘ[＊]が「−１」のままである場合が、上記条件（３）のパルスが立たない方が良い場合である。この具体的事象としては、バンド毎に探索したパルスや全範囲で探索したパルスでスペクトルを十分近似できており、これ以上同じ大きさのパルスを立ててもかえって符号化歪が大きくなってしまう場合などが挙げられる。
【００５２】
全体探索部１２２は、全体で探索した３本のパルスの極性を３（本）×１＝３ビットで符号化する。なお、位置が「−１」の場合、すなわちパルスが立たない場合には極性はどちらでもよい。ただし、ビット誤りの検出に用いられる場合もあるため、通常どちらかに固定される。
【００５３】
また、全体探索部１２２は、全体で探索したパルスの位置情報をバンド毎のパルスとの関係を考慮して符号化する。以下、その点について具体的に説明する。
【００５４】
全体探索部１２２は、バンド毎のパルスが立った場所を候補から除いてパルスの探索を行う。
【００５５】
ここで、本実施の形態では、高周波帯域の２バンドについて、復号において奇数の位置にパルスが立つように制限しているため、復号側のパルスが符号化側と同じ場所に立たない場合がある。例えば、第４バンドのパルスの位置が「５８」である場合、「５８」からこのバンドの最初の位置「４８」を減じた「１０」を２で除した「５」が符号になり、復号側では、これを２倍して「１」を加算して最初の位置を加えた「５×２＋１＋４８＝５９」がパルスの立つ位置になる。
【００５６】
この場合、全体で探索したパルスが「５９」である場合には、復号側では、バンドで探索したパルスと全体で探索したパルスとで位置が重なってしまう。
【００５７】
そこで、本実施の形態では、復号側では、バンドで探索したパルスと全体で探索したパルスとで位置が重ならないように、バンド毎のパルスの位置はそのままで、全体のパルスの位置をバンド毎のパルスの位置の前後で符号が異なるようにする。この例では、第４バンドのパルスの位置である「５８」付近を正確に表し、「・・・、４９、５１、５３、５５、５７、５８、５９、６１、６３、・・・」とする。
【００５８】
したがって、全体パルスの最初の１本目のパルスの位置のヴァリエーションは８０から、２バンドの精度を半分にすることで「６４」に減り、２バンドで探索した２本のパルスの位置付近で密に取るので、２つ増えて「６６」ということになる。この方法を取れば、パルスの位置が重なることなく、高域のパルスの位置情報の精度を下げることができる。第４バンドで「５８」、第５バンドで「７１」だった時の、第４、第５バンド付近における全体で探索するパルスの位置の符号化結果を図７に示す。
【００５９】
図７の場合における、全体で探索されたパルスの最初のパルスの位置の符号化方法は、以下の手順になる。（１）探索された位置が「４８」より小さい場合には、探索された位置からバンド毎に立つパルスの位置の分だけ左に詰めて求まる数値（以下、「位置数」という）を符号化し、処理を終了する。例えば、位置「３５」の場合で、これより小さい位置「０〜１５」、「１６〜３１」に１本ずつパルスがあったとすると、その位置数は「３５−２＝３３」となる。なお、「−１」についてはそのままにしておく。（２）探索された位置が「４８」以上の場合には、探索された位置から「４８」を減ずる。（３）（２）の値を「２」で割り、「４５」を加算する。（４）探索された位置が、「第４バンドの位置の復号位置」である「５８」以上の場合には、（３）で算出された値に「１」を加算し、処理を終了する。（５）探索された位置が「第５バンドの位置の復号位置」である「７１」以上の場合には、（４）で算出された値に「１」を加算し、処理を終了する。
【００６０】
上記のように、最初のパルスの位置符号エントリ数は「６４」になる。これは、パルスが立たない場合も１つの場合として符号化するので、実際に位置のある６３エントリ（図８から明らかな様に、パルスが存在する位置数は０〜６２である）よりも１つ増えるからである。
【００６１】
また、２番目のパルス、３番目のパルスは、前のパルスの符号をエントリから消去してその値を詰めて符号化すれば良いので、２番目のパルスのエントリ数は「６３」、３番目のパルスのエントリ数は「６２」となる。
【００６２】
次に、符号化に対応する復号方法について述べる。この処理は音声復号装置で行われるものである。
【００６３】
音声復号装置では、バンド毎の位置数の復号（符号に「２」を乗じて「１」を加算した値をバンドの最初の位置に加算）を行った後、以下の手順で、全体で探索されたパルスの最初のパルスの位置の復号を行う。（１）「第４バンドの位置の復号位置」である「５９」から「４８」を減じて、結果を「２」で除す。（２）「第５バンドの位置の復号位置」である「７１」から「４８」を減じて、結果を「２」で除す。（３）位置数が「４５」より小さい場合には、そのまま復号して処理を終了する。すなわち、バンド毎のパルス位置を考慮して位置を求める。（４）位置数が「４５」以上の場合には、位置数から「４５」を減じる。（５）（４）で算出された値が、（１）で算出された値に等しい場合には以下の（６）の計算を行い、（１）で算出された値に「１」を加算した値に等しい場合には以下の（７）の計算を行い、それ以外の場合には以下の（８）の計算を行う。（６）（４）で算出された値を２倍したものに「４８」を加算したものを復号値とし、「第４バンドの位置の復号位置」を「その復号値＋１」に変更して処理を終了する。（７）（４）で算出された値を２倍したものに「４９」を加算したものを復号値とし、「第４バンドの位置の復号位置」を「その復号値−１」に変更して処理を終了する。（８）（４）から更に「１」を減じる。（９）（８）で算出された値が、（２）で算出された値に等しい場合には以下の（１０）の計算を行い、（２）で算出された値に「１」を加算した値に等しい場合には以下の（１１）の計算を行い、それ以外の場合には以下の（１２）の計算を行う。（１０）（８）で算出された値を２倍したものに「４８」を加算したものを復号値とし、「第５バンドの位置の復号位置」を「その復号値＋１」に変更して処理を終了する。（１１）（８）で算出された値を２倍したものに「４９」を加算したものを復号値とし、「第５バンドの位置の復号位置」を「その復号値−１」に変更して処理を終了する。（１２）（８）から更に「１」を減じる。（１３）（１２）を２倍したものに「１」を加算したものを復号値として処理を終了する。
【００６４】
以上の処理を行うことにより、最初のパルスを復号することができる。２番目のパルスおよび３番目のパルスは、前のパルスの符号を越える場合に「１」を加算する等、前のパルスの位置数に応じて位置数を変換してから上記手順を行うことにより復号することができる。また、パルスが立たない場合の「−１」の位置については、その分をエントリに加えて位置数を求めればよい。この「−１」も加えた処理ついては、位置数の符号化の説明の際に後述する。
【００６５】
本実施の形態では、入力スペクトルが８０サンプル、高周波帯域の２バンドのビット数を落としたことにより、上記の様に６３通り、バンド毎に５パルスが既に立っている。したがって、「立たない場合」も考慮すると、位置のヴァリエーションを、以下の式（２）に示すように１６ビットで表すことができる。
【数２】
2009125588.tif 000004
【００６６】
なお、同じ位置に２つのパルスが立たないようにするというルールによって、組み合わせの数を少なくすることができ、このルールの効果は、全体で探索するパルス数が多い程大きくなる。
【００６７】
ここで、上記符号化で得られる位置数をまとめて符号化する方法について詳細に述べる。（１）３本のパルスの位置をその大きさでソーティングし、小さい数値から大きな数値に並べる。なお、「−１」についてはそのままにしておく。（２）「−１」を「そのパルスの最大の値＋１」の位置数に設定する。この場合、実際にパルスが存在する位置数と混同しないように調整しながら値の順番を決める。これにより、パルス＃０の位置数は０から６１まで、パルス＃１の位置数はパルス＃０の位置数から６２まで、パルス＃２の位置数はパルス＃１の位置数から６３までの範囲に限定され、下位の位置数が上位の位置数を超えないようになる。（３）そして、組み合わせの符号を求める以下の式（３）に示す統合処理により、位置数（ｉ０，ｉ１，ｉ２）を統合して符号（ｃ）を得る。この統合処理は、大きさの順番がある場合に全ての組み合わせを統合する計算処理である。
【数３】
2009125588.tif 000005
（４）そしてこのｃの１６ビットと極性のビット３を合わせて１９ビットの符号を得る。
【００６８】
なお、上記位置数の中で、パルス＃０が「６１」、パルス＃１が「６２」、パルス＃２が「６３」の場合が、そのパルスが立たない場合を示す位置数となる。例えば３つの位置数が（６１、−１、−１）という場合は、前の１つの位置数と「立たない場合」の位置数の関係から、（−１、６１、−１）と順番を変え、（６１、６１、６３）としなければならない。
【００６９】
このように、本例のように、入力スペクトルを８本のパルス列（バンド毎５本、全体３本）で表すモデルの場合、情報ビット４２ビットで符号化することができる。
【００７０】
区間探索部１２１および全体探索部１２２で探索されたパルスで表現されたスペクトルの例を図８に示す。なお、図８において、より太く表現されたパルスが全体探索部１２２において探索されたパルスである。
【００７１】
ゲイン量子化部１１２は、各バンドのゲインを量子化する。８本のパルスは各バンドに配置されているので、ゲイン量子化部１１２は、そのパルスと入力スペクトルとの相関を分析してゲインを求める。このゲインの量子化のアルゴリズムで重要な点は、ここで用いるパルスのシェイプが、符号を復号したパルス列ではなく、符号化側でパルスの探索で求められたパルス列そのものであるということである。すなわち、符号化前のパルス位置を使うということである。これは、本発明においては高周波数成分の位置の精度を落としているということにより、復号した位置を用いるとゲインが正しく符号化されないためである。ゲインは正しい位置のパルスで符号化される必要がある。
【００７２】
ゲイン量子化部１１２は、理想ゲインを求めてからスカラ量子化（ＳＱ）やベクトル量子化（ＶＱ）で符号化する場合、まず、以下の式（４）で理想ゲインを求める。なお、式（４）において、ｇｎはバンドｎの理想ゲイン、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｖｎ（ｉ）はバンドｎのシェイプを復号したベクトルである。
【数４】
2009125588.tif 000006
【００７３】
そして、ゲイン量子化部１１２は、理想ゲインをスカラ量子化する、または、５つのゲインをまとめてベクトル量子化により符号化する。ベクトル量子化する場合には、予測量子化、多段ＶＱ、スプリットＶＱ等により効率良く符号化することができる。また、ゲインは、聴感的には対数で聞こえるため、ゲインを対数変換してからＳＱ、ＶＱすれば、聴感的に良好な合成音が得られる。
【００７４】
なお、理想ゲインを求めるのではなく、符号化歪を直接評価する方法もある。例えば、５つのゲインをＶＱする場合、以下の式（５）を最小にする。なお、式（５）において、Ｅｋはｋ番目のゲインベクトルの歪み、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｇｎ（ｋ）はｋ番目のゲインベクトルのｎ番目の要素、ｖｎ（ｉ）はバンドｎのシェイプを復号したシェイプベクトルである。
【数５】
2009125588.tif 000007
【００７５】
次に、スペクトル復号部２０３における、全体で探索した３本のパルスの位置の復号方法について説明する。
【００７６】
スペクトル符号化部１０５の全体探索部１２２では、上記式（３）を用いて、位置数（ｉ０，ｉ１，ｉ２）を１つの符号に統合した。スペクトル復号部２０３では、この逆の処理を行うことになる。すなわち、スペクトル復号部２０３では、統合式の値を、各位置数を動かしながら順番に計算し、その値を下回る場合にその位置数を固定し、これを低次の位置数から上位に向かって１つずつ行っていくことによって復号する。図９は、スペクトル復号部２０３の復号アルゴリズムを示すフロー図である。
【００７７】
なお、図９において、エラー処理となっているステップへ進むのは、入力である統合された位置の符号ｋがビットエラーで異常になってしまった場合である。したがって、この場合には、所定のエラー処理により位置を求めなくてはならない。
【００７８】
また、復号器での計算量は、ループ処理がある分、符号器よりも増えることになる。ただし、それぞれのループは開ループであるのでコーデックの処理の全体量から見れば、復号器の計算量は余り大きなものではない。
【００７９】
このように実施の形態１によれば、エネルギが存在する周波数（位置）を正確に符号化することができるので、スペクトル符号化に特有の定性的な性能の向上を図ることができ、低ビットレートの場合でも良好な音質を得ることができる。
【００８０】
なお、上記実施の形態１では、５バンドの内、精度を落とす対象を高周波数帯域の２バンドに設定したが、本発明では精度を落とす対象とするバンド数に制限はない。聴覚的に周波数の差を感じない帯域を予め選んで精度を落とすバンドを決め、そのバンドに対して本発明を適用することにより、限られたビット数で高い品質の音声を符号化・復号することができる。なお、符号化する音声信号の帯域が高周波数領域に広ければ広いほど、精度を落とせるバンド数も増えることになる。
【００８１】
また、上記実施の形態１では、１／２倍の精度落ちで２つの位置を１つにし、復号される位置を奇数に固定するという方法を採ったが、本発明は固定する位置（偶数、奇数）にも依存しないし、精度を落とす度合いにも依存しない。１／２倍の精度落ちでは偶数に固定しても良いし、より高周波数帯域のバンドでは１／３倍、１／４倍の精度落ちに設定してもよい。例えば、１／３倍にする場合には、固定する位置の数値を、３で割り切れる、３で割ると１余る、３で割ると２余る、のいずれに固定しても本発明の効果を得ることができる。なお、符号化する音声信号の帯域が高周波数領域に広ければ広いほど、より精度を落とすことができることになる。
【００８２】
また、上記実施の形態１では、同じ位置に２つパルスを立てないという条件を設定したが、本発明では、部分的にこの条件を緩和してもよい。例えば、バンド毎に探索されるパルスと、複数のバンドにまたがる広い区間で探索されるパルスが同じ位置に立つことを認めるとすると、バンド毎のパルスを消すことができたり、振幅が２倍のパルスを立てたりすることができる。この条件を緩和するためには、パルス有無フラグｐｆ[＊]をバンド毎のパルスについて格納しなければよい。すなわち、図５の一番下のステップのpf[pos[b]]=1を省略すればよい。また、この条件を緩和する他の方法として、広い区間のパルス探索の際にパルス有無フラグに格納しなければよい。すなわち、図６の一番下のステップの最後のpf[idx_max[i+5]]=1を省略すればよい。ただし、この場合には位置のヴァリエーションが増加する。本実施の形態に示した様に単純な組み合わせではないので、場合分けをしてその場合毎に組み合わせを符号化する必要がある。
【００８３】
（実施の形態２）
本発明の実施の形態２に係る音声符号化装置の構成は、実施の形態１の図１に示した構成と同様であり、本発明の実施の形態２に係る音声復号装置の構成は、実施の形態１の図２に示した構成と同様であるので、これらの構成については、図１を及び図２を援用して、実施の形態１とは異なる機能について説明する。
【００８４】
本発明の実施の形態２に係る音声符号化装置において、スペクトル符号化部１０５のシェイプ量子化部１１１の詳細について説明する。シェイプ量子化部１１１は、所定の探索区間を複数に区切ったバンド毎にパルスを探索する区間探索部１２１と、この探索区間全体に渡ってパルスを探索する全体探索部１２２と、を備える。
【００８５】
探索の基準となる式は実施の形態１に示した式（１）であり、コスト関数を最小にするパルスの位置は、式（１)より、各々のバンドの中で入力スペクトルの絶対値|ｓｐ|が最大になる位置であり、極性は、そのパルスの位置の入力スペクトルの値の極性である。
【００８６】
以下、入力スペクトルのベクトル長が８０サンプル、バンド数が５であって、各バンドで１本のパルスと全体で３本のパルスとの計８本のパルスでスペクトルを符号化する場合を例に説明する。この場合、各バンドの長さは１６サンプルとなる。なお、探索されるパルスの振幅は「１」に固定で、極性は「＋−」である。
【００８７】
シェイプ符号化において、高周波数帯域の２バンドのパルスの位置の精度を落として、ビット数の節約を行う。具体的には、符号化は全ての位置で行うが、復号では基本的に高周波数帯域の２バンドの位置を「奇数」位置に限定する。なお、復号の際に既にパルスが存在している場合には、偶数位置にパルスを立てる場合がある。
【００８８】
また、低周波数帯域の３バンドでは、分数精度でパルスの位置を探索し、整数精度に落としてパルス位置の符号化を行う。このとき、理想ゲインは分数精度のパルス位置で得られた値を用い、パルス位置の符号化は分数精度のパルス位置に最も近い整数値で行う。これにより、より正確な値の理想ゲインを求めることができ、整数位置のみの探索と比較して、より高品質な復号音声が得られる。本実施の形態では、分数精度を１／３の精度とし、７次の内挿関数を用いて計算量を削減する。
【００８９】
区間探索部１２１は、バンド毎に、エネルギが最大の位置、極性（＋−）を探索し、１本ずつパルスを立てる。本例では、バンド数が５で、バンド毎にパルスの位置を示すために４ビット（位置のエントリ：１６）×３バンド＋３ビット（位置のエントリ：８）×２バンド、極性を示すためにパルス毎に１ビット（＋−）必要であるので、合計２３ビットの情報ビットとなる。なお、高周波数帯域の精度を落とさない場合には、５（バンド）×（４（位置）＋１（極性））＝２５ビットの情報ビットが必要になる。したがって、本例では、高周波数帯域の精度を落とさない場合に比べて２ビットを節約することができる。また、低周波数帯域の３バンドは、分数位置まで探索するが整数精度に落とすので、４ビットを節約することができる。
【００９０】
区間探索部１２１の探索アルゴリズムのフローを図１０に示す。なお、図１０のフロー図で用いられる記号の内容は、図３のフローに用いた記号に加え、ｍａｘ３ｓ（ｉ）が位置ｉの周りの分数精度の位置で探索したｓ[ｉ]の絶対値の最大を出力する関数を示す。ｍａｘ３ｓ（ｉ）を以下の式（６）に示す。
【数６】
2009125588.tif 000008
【００９１】
上式（６）の内挿関数εｊ−１／３、εｊ１／３は、シンク関数と円周率などから算出される。内挿関数の次数は７次であり、その一例を以下の式（７）に示す。
【数７】
2009125588.tif 000009
【００９２】
上記アルゴリズムで符号化した後、ｐｏｓ［ｂ］から各バンドの最初の位置の数値を引いたもの（０〜１５の数値）を位置の符号（４ビット）とする。高周波数帯域の２バンドについては、同数値を２で割ったもの（０〜７の数値）を位置の符号（３ビット）とする。
【００９３】
上述したモデルは、バンド毎に最適なパルスを配置するモデルであるが、結果的に全体として最も重要な位置にパルスを配置している。これは、スペクトルを符号化する情報ビットが少ない場合には、似た形状のベクトルを復号するよりも、エネルギのある位置に正確にパルスを立てる方が聴感的に良好な音質を得るという考え方に基づいている。
【００９４】
次に、全体探索部１２２の探索アルゴリズムのフローを図１１に示す。図１１は、前処理のフロー図であり、図１２は、本探索のフロー図である。
【００９５】
図１１のフロー図で用いられる記号の内容は、図５のフローに用いた記号に加え、ｍａｘ３ｓ（ｉ）が位置ｉの周りの分数精度の位置で探索したｓ[ｉ]の絶対値の最大を出力する関数を示す。また、図１２のフロー図で用いられる記号の内容は、図６のフローに用いた記号に加え、ｍａｘ３ｓ（ｉ）が増えている。
【００９６】
ここで、図１１及び図１２のフローにおいて、分数精度で絶対値の最大を出力する関数ｍａｘ３ｓ（ｉ）を使用しているが、これは図１０のバンド毎のパルス探索の際に全て一度求めている値なので、バンド毎の探索の際に４８のサイズのメモリ（ＲＡＭ等）に格納し、それをこのアルゴリズムで用いればよく、上記関数の計算は省略可能である。
【００９７】
続いて、上記アルゴリズムで探索されたパルスの位置と極性とを符号化するが、この内容は実施の形態１において既に説明した内容と同様であるので、この説明は省略する。
【００９８】
ゲイン量子化部１１２は、理想ゲインの求め方が実施の形態１とは異なる。すなわち、低周波数帯域の３バンドについては、理想ゲインは分数精度で探索したパルスの入力スペクトルの最大振幅である。本実施の形態では、理想ゲインを求めてスカラ量子化やベクトル量子化で符号化する場合、まず、以下の式（８）で理想ゲインを求める。なお、式（８）において、ｇｎはバンドｎの理想ゲイン、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｖｎ（ｉ）はバンドｎのシェイプを復号したベクトル、ｓｍｘ３（ｉ＋１６ｎ）は位置ｉ＋１６において分数精度で探索した値のうち振幅が最大になる値である。
【数８】
2009125588.tif 000010
【００９９】
上式（８）において、関数ｓｍｘ３（ｉ＋１６ｎ）はｍａｘ３ｓ（ｉ＋１６ｎ）に極性を加えたものである。したがって、実際に求めるアルゴリズムは、振幅の最大を求めながら極性を格納しておき、振幅を出力する際に極性を掛けるというものになる。関数で記述すると以下の式（９）となる。
【数９】
2009125588.tif 000011
【０１００】
なお、理想ゲインを求めるのではなく、符号化歪を直接評価する方法もある。例えば、５つのゲインをＶＱする場合、以下の式（１０）を最小にする。なお、式（１０）において、Ｅｋはｋ番目のゲインベクトルの歪み、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｇｎ（ｋ）はｋ番目のゲインベクトルのｎ番目の要素、ｖｎ（ｉ）はバンドｎのシェイプを復号したシェイプベクトルである。
【数１０】
2009125588.tif 000012
【０１０１】
上述した音声符号化装置から送信された符号化情報は、本発明の実施の形態２に係る音声復号装置のスペクトル復号部２０３において、音声符号化装置のスペクトル符号化部１０５のアルゴリズムに従って、各シェイプとゲインの情報が取り出され、復号したシェイプベクトルに復号ゲインを乗ずることによって復号される。なお、シェイプの復号において、全体で探索した３本のパルスの位置の復号方法は、実施の形態１において説明されているので、ここではその説明を省略する。
【０１０２】
このように実施の形態２によれば、低周波数帯域ではパルス位置を分数精度まで考慮した探索で正確なスペクトルの値を抽出することができるので音質を向上させることができる。このため、周波数変換されたスペクトルを効率よく低ビットレートで符号化することができ、低ビットレートでも良好な音質を得ることができる。
【０１０３】
なお、本実施の形態では、分数精度を１／３としたが、１／２でも１／４でもよく、どのような精度でもよい。精度の細かさに本発明の内容は依存しないためである。
【０１０４】
また、本実施の形態では、分数精度の値を求めるための関数の積和の次数を７次としたが、どんな次数でもよい。次数に本発明の内容は依存しないためである。また、この次数は多ければ多いほど精度は良くなるが、その一方で計算量が大きくなる。
【０１０５】
なお、上記各実施の形態では、シェイプ符号化の後にゲイン符号化を行う場合について説明したが、本発明では、ゲイン符号化の後にシェイプ符号化を行っても同様の性能を得ることができる。また、バンド毎のゲイン符号化を行ってから復号ゲインでスペクトルを正規化し、本発明のシェイプ符号化を行うという方法でもよい。
【０１０６】
また、上記各実施の形態では、スペクトルのシェイプの量子化時に、スペクトルの長さを８０、バンド数を５、各バンドで探索するパルス数を１本、全区間で探索するパルス数を３本とする場合を例にしたが、本発明は上記数値に全く依存せず、他の場合であっても同様の効果を得ることができる。
【０１０７】
また、上記各実施の形態では、「パルス」の探索について説明したが、これはデュアルパルス（２本のパルスの組）や分数位置のパルス（ＳＩＮＣ関数の波形）などの「固定波形」でも良い。固定の波形であれば、本発明は全く同じように使用することができる。
【０１０８】
また、本発明は、バンド幅が十分細かく比較的多くのゲインを符号化でき、情報ビット数が十分多い場合には、バンド毎のパルス探索だけ、あるいは複数のバンドにまたがる広い区間のパルス探索だけで性能を得ることもできる。
【０１０９】
また、上記各実施の形態では、直交変換後のスペクトルに対してパルスによる符号化を用いたが、本発明はこれに限られず、他のベクトルにも適用することができる。例えば、ＦＦＴや複素ＤＣＴ等では複素数ベクトルに本発明を適用すれば良いし、ウェーブレット変換などでは時系列のベクトルに本発明を適用すれば良い。また、本発明は、ＣＥＬＰの音源波形等、時系列のベクトルにも適用することができる。ＣＥＬＰの音源波形の場合には合成フィルタを伴うので、コスト関数が行列計算になるだけである。ただし、フィルタを伴う場合はパルスの探索は開ループでは性能が十分でないので、ある程度閉ループ探索を行わなければならない。パルスが多い場合などはビームサーチ等を行い、計算量を少なく抑えるのも有効である。
【０１１０】
また、本発明では、探索する波形がパルス（インパルス）に限定されず、他の固定波形（デュアルパルス、三角波、インパルス応答の有限波、フィルタの係数、適応的に形状を変える固定波形、等）でも全く同様の方法で探索することができ、同様の効果を得ることができる。
【０１１１】
また、上記各実施の形態では、ＣＥＬＰに対して用いる場合について説明したが、本発明はこれに限られず、他のコーデックであっても有効である。
【０１１２】
また、本発明に係る信号は、音声信号だけでなく、オーディオ信号でも良い。また、入力信号の代わりに、ＬＰＣ予測残差信号に対して本発明を適用する構成であっても良い。
【０１１３】
また、上記各実施の形態では、復号装置は、符号化装置が送信した符号化情報を受信して処理を行うとして説明したが、本発明はこれに限定されず、復号装置が受信し処理する符号化情報は、この復号装置で処理可能な符号化情報を生成可能な符号化装置が送信したものであれば良い。
【０１１４】
また、本発明に係る符号化装置および復号装置は、移動体通信システムにおける通信端末装置および基地局装置に搭載することが可能であり、これにより上記と同様の作用効果を有する通信端末装置、基地局装置、および移動体通信システムを提供することができる。
【０１１５】
また、ここでは、本発明をハードウェアで構成する場合を例にとって説明したが、本発明をソフトウェアで実現することも可能である。例えば、本発明に係るアルゴリズムをプログラミング言語によって記述し、このプログラムをメモリに記憶しておいて情報処理手段によって実行させることにより、本発明に係る符号化装置および復号装置と同様の機能を実現することができる。
【０１１６】
また、上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部または全てを含むように１チップ化されても良い。
【０１１７】
また、ここではＬＳＩとしたが、集積度の違いによって、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩ等と呼称されることもある。
【０１１８】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラム化することが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続もしくは設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１１９】
さらに、半導体技術の進歩または派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
【０１２０】
２００８年４月９日出願の特願２００８−１０１１７７及び２００８年１１月１４日出願の特願２００８−２９２６２６の日本出願に含まれる明細書、図面及び要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０１２１】
本発明は、音声信号やオーディオ信号を符号化する符号化装置、および符号化された信号を復号する復号装置等に用いるに好適である。
【図１】
2009125588.tif 000013
【図２】
2009125588.tif 000014
【図３】
2009125588.tif 000015
【図４】
2009125588.tif 000016
【図５】
2009125588.tif 000017
【図６】
2009125588.tif 000018
【図７】
2009125588.tif 000019
【図８】
2009125588.tif 000020
【図９】
2009125588.tif 000021
【図１０】
2009125588.tif 000022
【図１１】
2009125588.tif 000023
【図１２】
2009125588.tif 000024
【手続補正書】
【提出日】平成22年8月19日(2010.8.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号やオーディオ信号を符号化する符号化装置および符号化方法に関する。
【背景技術】
【０００２】
移動体通信においては、電波などの伝送路容量や記憶媒体の有効利用を図るため、音声や画像のディジタル情報に対して圧縮符号化を行うことが必須であり、これまでに多くの符号化／復号方式が開発されてきた。
【０００３】
その中で、音声符号化技術は、音声の発声機構をモデル化してベクトル量子化を巧みに応用した基本方式「ＣＥＬＰ」（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
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特にスケーラブルコーデックの比較的低い階層では、割り当てられるビット数が少ないため、音源の変換符号化の性能は十分ではなかった。例えば、ＩＴＵ−Ｔ標準Ｇ．７２９．１では電話帯域（３００Ｈｚ〜３．４ｋＨｚ）の第２階層までで１２ｋｂｐｓのビットレートがあるが、次の広帯域（５０Ｈｚ〜７ｋＨｚ）を扱う第３階層には２ｋｂｐｓの割り当てしかない。このように情報ビットが少ない場合には、直交変換で得られたスペクトルを、符号帳を用いたベクトル量子化で符号化する方法では聴感的に十分な性能を得ることができない。
【００１３】
さらに、上記Ｇ．７２９．１に関して、これから拡張標準化を行おうとしているスケーラブルコーデックでは、広帯域（５０Ｈｚ〜７ｋＨｚ）から超広帯域（１０Ｈｚ〜１５ｋＨｚ）にビットレートが増える拡張レイヤでも上記と同様の２ｋｂｐｓ程度の低ビットレートの配分しかなされず、帯域が８ｋＨｚ幅も増加するにもかかわらずビットレートを十分に確保することができない。
【００１４】
本発明の目的は、情報ビットが少ない場合であっても聴感的に良好な音質を得ることができる符号化装置および符号化方法を提供することである。
【課題を解決するための手段】
【００１５】
本発明の符号化装置は、周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、前記シェイプ量子化手段は、所定の探索区間を複数に区切ったバンド毎に第１の波形を探索し、所定のバンドで探索された第１の波形を他の第１の波形よりも低いビット数で符号化する区間探索手段と、前記所定の探索区間全体に渡って第２の波形を探索し、前記所定のバンドに位置する第２の波形が予め設定された条件を満たす場合に、前記所定のバンドに位置する第２の波形の位置の近傍の位置を符号化する全体探索手段と、を具備する、構成を採る。
【００１６】
本発明の符号化方法は、周波数スペクトルのシェイプを符号化するシェイプ量子化工程と、前記周波数スペクトルのゲインを符号化するゲイン量子化工程と、を具備し、前記シェイプ量子化工程は、所定の探索区間を複数に区切ったバンド毎に第１の波形を探索し、所定のバンドで探索された第１の波形を他の第１の波形よりも低いビット数で符号化する区間探索工程と、前記所定の探索区間全体に渡って第２の波形を探索し、前記所定のバンドに位置する第２の波形が予め設定された条件を満たす場合に、前記所定のバンドに位置する第２の波形の位置の近傍の位置を符号化する全体探索工程と、を具備する、方法を採る。
【発明の効果】
【００１７】
本発明によれば、エネルギが存在する周波数（位置）を正確に符号化することができるので、スペクトル符号化に特有の定性的な性能の向上を図ることができ、低ビットレートの場合でも良好な音質を得ることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態１及び２に係る音声符号化装置の構成を示すブロック図
【図２】本発明の実施の形態１及び２に係る音声復号装置の構成を示すブロック図
【図３】本発明の実施の形態１に係る区間探索部の探索アルゴリズムのフロー図
【図４】本発明の実施の形態１に係る区間探索部において探索されたパルスで表現されたスペクトルの例を示す図
【図５】本発明の実施の形態１に係る全体探索部の探索アルゴリズムのフロー図
【図６】本発明の実施の形態１に係る全体探索部の探索アルゴリズムのフロー図
【図７】全体で探索するパルスの位置の符号化結果の一例を示す図
【図８】本発明の実施の形態１に係る区間探索部および全体探索部において探索されたパルスで表現されたスペクトルの例を示す図
【図９】本発明の実施の形態１に係るスペクトル復号部の復号アルゴリズムのフロー図
【図１０】本発明の実施の形態２に係る区間探索部の探索アルゴリズムのフロー図
【図１１】本発明の実施の形態２に係る全体探索部の探索アルゴリズムのフロー図
【図１２】本発明の実施の形態２に係る全体探索部の探索アルゴリズムのフロー図
【発明を実施するための形態】
【００１９】
人間の聴覚は、電圧成分（デジタル信号の信号値）については対数的になっているため、音声信号を周波数軸に変換して符号化する場合に、スペクトル成分が高いほど周波数の精度が聴覚的に認識され難いという特性を有する。例えば、人間の聴覚は、信号値が１０ｄＢから２０ｄＢへ増加した場合と２０ｄＢから４０ｄＢへ増加した場合とで同じ量（２倍）の増加に感じられ、信号値が２０ｄＢと２１ｄＢの差を知覚することはできても、１０００ｄＢと１００１ｄＢの差を知覚することはできない。
【００２０】
本発明者は、この点に着目し本発明をするに至った。すなわち、本発明では、周波数スペクトルを少数のパルスで符号化するモデルとし、符号化する音声信号（時系列ベクトル）を直交変換で周波数領域に変換する符号化において、スペクトルの符号化を行った後、高周波数成分の周波数情報の精度を落として低ビットで符号化する。
【００２１】
以下、本発明の一実施の形態について、図面を用いて説明する。なお、本実施の形態では、符号化装置として音声符号化装置を、復号装置として音声復号装置を例として説明する。
【００２２】
図１は、本実施の形態に係る音声符号化装置の構成を示すブロック図である。図１に示す音声符号化装置は、ＬＰＣ分析部１０１、ＬＰＣ量子化部１０２、逆フィルタ１０３、直交変換部１０４、スペクトル符号化部１０５、および多重化部１０６を備える。スペクトル符号化部１０５は、シェイプ量子化部１１１およびゲイン量子化部１１２を備える。
【００２３】
ＬＰＣ分析部１０１は、入力音声信号に対して線形予測分析を行い、分析結果であるスペクトル包絡パラメータをＬＰＣ量子化部１０２に出力する。ＬＰＣ量子化部１０２は、ＬＰＣ分析部１０１から出力されたスペクトル包絡パラメータ（ＬＰＣ：線形予測係数）の量子化処理を行い、量子化ＬＰＣを表す符号を多重化部１０６に出力する。また、ＬＰＣ量子化部１０２は、量子化ＬＰＣを表す符号を復号して得られる復号パラメータを逆フィルタ１０３に出力する。なお、パラメータの量子化では、ベクトル量子化（ＶＱ）、予
測量子化、多段ＶＱ、スプリットＶＱ等の形態が用いられる。
【００２４】
逆フィルタ１０３は、復号パラメータを用いて入力音声信号に対して逆フィルタを掛け、得られた残差成分を直交変換部１０４に出力する。
【００２５】
直交変換部１０４は、残差成分にサイン窓等の整合窓を掛け、ＭＤＣＴ（Modified Discrete Cosine Transform）を用いて直交変換を行い、周波数軸に変換されたスペクトル（以下、「入力スペクトル」という）をスペクトル符号化部１０５に出力する。なお、直交変換には他にＦＦＴ（Fast Fourier Transform）、ＫＬＴ（Karhunen-Loeve Transform）、ウェーブレット変換等があり、使用方法は異なるがどれを用いても入力スペクトルへの変換ができる。
【００２６】
なお、逆フィルタ１０３と直交変換部１０４とはその処理順を逆にする場合もある。すなわち、入力音声信号を直交変換したものに対して逆フィルタの周波数スペクトルで商算（対数軸で減算）を行えば、同様の入力スペクトルが得られる。
【００２７】
スペクトル符号化部１０５は、スペクトルのシェイプとゲインとに分けて入力スペクトルを量子化し、得られた量子化符号を多重化部１０６に出力する。シェイプ量子化部１１１は、入力スペクトルのシェイプを少数のパルスの位置、極性で量子化する。ここで、シェイプ符号化部１１１は、パルスの位置の符号化において、高周波数帯域の位置情報の精度を落とすことによりビット数を節約した符号化を行う。ゲイン量子化部１１２は、シェイプ量子化部１１１によって探索されたパルスのゲインをバンド毎に算出して量子化する。なお、シェイプ量子化部１１１、ゲイン量子化部１１２の詳細については後述する。
【００２８】
多重化部１０６は、ＬＰＣ量子化部１０２から量子化ＬＰＣを表す符号を入力し、スペクトル符号化部１０５から量子化入力スペクトルを表す符号を入力し、これらの情報を多重化して符号化情報として伝送路へ出力する。
【００２９】
図２は、本実施の形態に係る音声復号装置の構成を示すブロック図である。図２に示す音声復号装置は、分離部２０１、パラメータ復号部２０２、スペクトル復号部２０３、直交変換部２０４、および合成フィルタ２０５を備える。
【００３０】
図１の音声符号化装置から送信された符号化情報は、図２の音声復号装置で受信され、分離部２０１によって個々の符号に分離される。量子化ＬＰＣを表す符号はパラメータ復号部２０２に出力され、入力スペクトルの符号はスペクトル復号部２０３に出力される。
【００３１】
パラメータ復号部２０２は、スペクトル包絡パラメータの復号を行い、復号によって得られた復号パラメータを合成フィルタ２０５に出力する。
【００３２】
スペクトル復号部２０３は、図１に示したスペクトル符号化部１０５の符号化方法に対応する方法によってシェイプベクトルおよびゲインを復号し、復号したシェイプベクトルに復号ゲインを乗ずることによって復号スペクトルを得、復号スペクトルを直交変換部２０４に出力する。
【００３３】
直交変換部２０４は、スペクトル復号部２０３から出力された復号スペクトルに対して図１に示した直交変換部１０４の逆の変換を行い、変換によって得られた時系列の復号残差信号を合成フィルタ２０５に出力する。
【００３４】
合成フィルタ２０５は、パラメータ復号部２０２から出力された復号パラメータを用いて、直交変換部２０４から出力された復号残差信号に対して合成フィルタを掛け、出力音
声信号を得る。
【００３５】
なお、図１の逆フィルタ１０３と直交変換部１０４の処理順を逆にする場合、図２の音声復号装置では、直交変換をする前に復号パラメータの周波数スペクトルで積算（対数軸で和算）を行い、得られたスペクトルに対して直交変換を行う。
【００３６】
次に、シェイプ量子化部１１１、ゲイン量子化部１１２の詳細について説明する。シェイプ量子化部１１１は、所定の探索区間を複数に区切ったバンド毎にパルスを探索する区間探索部１２１と、この探索区間全体に渡ってパルスを探索する全体探索部１２２と、を備える。
【００３７】
探索の基準となる式は以下の式（１）である。なお、式（１）において、Ｅは符号化歪、ｓｉは入力スペクトル、ｇは最適ゲイン、δはデルタ関数、ｐはパルスの位置である。
【数１】
2009125588.tif 000025
【００３８】
コスト関数を最小にするパルスの位置は、上記式（１)より、各々のバンドの中で入力スペクトルの絶対値|ｓｐ|が最大になる位置であり、極性は、そのパルスの位置の入力スペクトルの値の極性である。
【００３９】
以下、入力スペクトルのベクトル長が８０サンプル、バンド数が５であって、各バンドで１本のパルスと全体で３本のパルスとの計８本のパルスでスペクトルを符号化する場合を例に説明する。この場合、各バンドの長さは１６サンプルとなる。なお、探索されるパルスの振幅は「１」に固定で、極性は「＋−」である。
【００４０】
また、シェイプ符号化において、高周波数帯域の２バンドのパルスの位置の精度を落として、ビット数の節約を行う。具体的には、符号化は全ての位置で行うが、復号では基本的に高周波数帯域の２バンドの位置を「奇数」位置に限定する。なお、復号の際に既にパルスが存在している場合には、偶数位置にパルスを立てる場合がある。
【００４１】
区間探索部１２１は、バンド毎に、エネルギが最大の位置、極性（＋−）を探索し、１本ずつパルスを立てる。本例では、バンド数が５で、バンド毎にパルスの位置を示すために４ビット（位置のエントリ：１６）×３バンド＋３ビット（位置のエントリ：８）×２バンド、極性を示すためにパルス毎に１ビット（＋−）必要であるので、合計２３ビットの情報ビットとなる。なお、高周波数帯域の精度を落とさない場合には、５（バンド）×（４（位置）＋１（極性））＝２５ビットの情報ビットが必要になる。したがって、本例では、高周波数帯域の精度を落とさない場合に比べて２ビットを節約することができる。
【００４２】
区間探索部１２１の探索アルゴリズムのフローを図３に示す。なお、図３のフロー図で用いられる記号の内容は以下の通りである。
ｉ：位置
ｂ：バンドの番号
ｍａｘ：最大値
ｃ：カウンタ
ｐｏｓ[ｂ]：探索結果（位置）
ｐｏｌ[ｂ]：探索結果（極性）
ｓ[ｉ]：入力スペクトル
【００４３】
図３に示すように、区間探索部１２１は、バンド毎（０≦ｂ≦４）に、各サンプル（０≦ｃ≦１５）の入力スペクトルｓ[ｉ]を計算して、最大値ｍａｘを求める。
【００４４】
区間探索部１２１において探索されたパルスで表現されたスペクトルの例を図４に示す。図４に示すように、バンド幅１６サンプルの５つのバンドに、振幅「１」、極性「＋−」のパルスが１本ずつ立てられる。
【００４５】
高周波数帯域の２バンド以外のバンドについては、上記アルゴリズムで符号化した後、ｐｏｓ［ｂ］から各バンドの最初の位置の数値を引いたもの（０〜１５の数値）を位置の符号（４ビット）とする。高周波数帯域の２バンドについては、同数値を２で割ったもの（０〜７の数値）を位置の符号（３ビット）とする。
【００４６】
全体探索部１２２は、探索区間全体に渡って、３本のパルスを立てる位置を探索し、パルスの位置と極性を符号化する。全体探索部１２２における探索では、少ない情報ビット、少ない計算量で正確な位置を符号化するために、以下の５つの条件で探索を行う。
（１）同じ位置に２つ以上のパルスを立てない。本例では、区間探索部１２１においてバンド毎に立てたパルスの位置にも立てないこととする。この工夫により、振幅成分の表現に情報ビットを使わないので効率的に情報ビットを使用することができる。
（２）パルスを１本ずつ順番に開ループで探索する。探索の途中では、（１）のルールに従い、既に決定されたパルスの位置については探索の対象外とする。
（３）位置の探索では、パルスが立たない方が良い場合も１つの位置として符号化する。（４）ゲインをバンド毎に符号化することを考慮して、バンド毎の理想ゲインによる符号化歪を評価しながらパルスを探索する。
（５）位置情報の精度を落とす高周波数帯域の範囲については、全体で探索するパルスが、バンド毎のパルスと偶数−奇数で連続することは許すが、全体で探索するパルス同士が偶数−奇数で連続することは許さない。
【００４７】
全体探索部１２２は、入力スペクトル全体に渡って１本のパルスの探索を次の２段階のコスト評価で行う。まず、第１段階として、全体探索部１２２は、各バンドでのコストを評価し、最もコスト関数が小さくなる位置と極性とを求める。そして、第２段階として、全体探索部１２２は、上記探索が１つのバンド内を終了する毎に全体のコストを評価し、これが最小になるパルスの位置と極性とを最終結果として保存する。この探索を各バンドで順番に行っていく。この探索は、上記（１）から（５）の条件に合うように行われる。そして、１本のパルスの探索が終わると、そのパルスが探索位置にあるとして、次のパルスの探索を行う。これを繰り返して所定の本数（本例では、３本）になるまで探索を行う。
【００４８】
全体探索部１２２の探索アルゴリズムのフローを図５に示す。図５は、前処理のフロー図であり、図６は、本探索のフロー図である。なお、図６のフロー図に、上記（１）（２）（４）の条件に対応する部分について示す。
【００４９】
図５のフロー図で用いられる記号の内容は以下の通りである。
ｃ：カウンタ
ｐｆ[＊]：パルス有無フラグ
ｂ：バンドの番号
ｐｏｓ[＊]：検索結果（位置）
ｎ_ｓ[＊]：相関値
ｎ_ｍａｘ[＊]：相関値最大
ｎ２_ｓ[＊]：相関値２乗
ｎ２_ｍａｘ[＊]：相関値２乗最大
ｄ_ｓ[＊]：パワ値
ｄ_ｍａｘ[＊]：パワ値最大
ｓ[＊]：入力スペクトル
【００５０】
図６のフロー図で用いられる記号の内容は以下の通りである。
ｉ：パルス番号
ｉ０：パルス位置
ｃｍａｘ：コスト関数の最大値
ｐｆ[＊]：パルス有無フラグ（０：無、１：有）
ｉｉ０：バンド内の相対的パルス位置
ｎｏｍ：スペクトル振幅
ｎｏｍ２：分子項（スペクトルパワ）
ｄｅｎ：分母項
ｎ＿ｓ[＊]：相関値
ｄ＿ｓ[＊]：パワ値
ｓ[＊]：入力ベクトル
ｎ２＿ｓ[＊]：相関値２乗
ｎ＿ｍａｘ[＊]：相関値最大
ｎ２＿ｍａｘ[＊]：相関値２乗最大
ｉｄｘ＿ｍａｘ[＊]：各パルスの探索された結果（位置）
（なお、ｉｄｘ＿ｍａｘ[＊]の０〜４までは図３のｐｏｓ[ｂ]と同一である。）
ｆｄ０、ｆｄ１、ｆｄ２：一時記憶用バッファ（実数型）
ｉｄ０，ｉｄ１：一時記憶用バッファ（整数型）
ｉｄ０＿ｓ、ｉｄ１＿ｓ：一時記憶用バッファ（整数型）
＞＞：ビットシフト（右へシフト）
＆：ビット列としてのアンド
【００５１】
なお、図５、図６の探索において、ｉｄｘ＿ｍａｘ[＊]が「−１」のままである場合が、上記条件（３）のパルスが立たない方が良い場合である。この具体的事象としては、バンド毎に探索したパルスや全範囲で探索したパルスでスペクトルを十分近似できており、これ以上同じ大きさのパルスを立ててもかえって符号化歪が大きくなってしまう場合などが挙げられる。
【００５２】
全体探索部１２２は、全体で探索した３本のパルスの極性を３（本）×１＝３ビットで符号化する。なお、位置が「−１」の場合、すなわちパルスが立たない場合には極性はどちらでもよい。ただし、ビット誤りの検出に用いられる場合もあるため、通常どちらかに固定される。
【００５３】
また、全体探索部１２２は、全体で探索したパルスの位置情報をバンド毎のパルスとの関係を考慮して符号化する。以下、その点について具体的に説明する。
【００５４】
全体探索部１２２は、バンド毎のパルスが立った場所を候補から除いてパルスの探索を行う。
【００５５】
ここで、本実施の形態では、高周波帯域の２バンドについて、復号において奇数の位置にパルスが立つように制限しているため、復号側のパルスが符号化側と同じ場所に立たない場合がある。例えば、第４バンドのパルスの位置が「５８」である場合、「５８」からこのバンドの最初の位置「４８」を減じた「１０」を２で除した「５」が符号になり、復号側では、これを２倍して「１」を加算して最初の位置を加えた「５×２＋１＋４８＝５９」がパルスの立つ位置になる。
【００５６】
この場合、全体で探索したパルスが「５９」である場合には、復号側では、バンドで探索したパルスと全体で探索したパルスとで位置が重なってしまう。
【００５７】
そこで、本実施の形態では、復号側では、バンドで探索したパルスと全体で探索したパルスとで位置が重ならないように、バンド毎のパルスの位置はそのままで、全体のパルスの位置をバンド毎のパルスの位置の前後で符号が異なるようにする。この例では、第４バンドのパルスの位置である「５８」付近を正確に表し、「・・・、４９、５１、５３、５５、５７、５８、５９、６１、６３、・・・」とする。
【００５８】
したがって、全体パルスの最初の１本目のパルスの位置のヴァリエーションは８０から、２バンドの精度を半分にすることで「６４」に減り、２バンドで探索した２本のパルスの位置付近で密に取るので、２つ増えて「６６」ということになる。この方法を取れば、パルスの位置が重なることなく、高域のパルスの位置情報の精度を下げることができる。第４バンドで「５８」、第５バンドで「７１」だった時の、第４、第５バンド付近における全体で探索するパルスの位置の符号化結果を図７に示す。
【００５９】
図７の場合における、全体で探索されたパルスの最初のパルスの位置の符号化方法は、以下の手順になる。
（１）探索された位置が「４８」より小さい場合には、探索された位置からバンド毎に立つパルスの位置の分だけ左に詰めて求まる数値（以下、「位置数」という）を符号化し、処理を終了する。例えば、位置「３５」の場合で、これより小さい位置「０〜１５」、「１６〜３１」に１本ずつパルスがあったとすると、その位置数は「３５−２＝３３」となる。なお、「−１」についてはそのままにしておく。
（２）探索された位置が「４８」以上の場合には、探索された位置から「４８」を減ずる。
（３）（２）の値を「２」で割り、「４５」を加算する。
（４）探索された位置が、「第４バンドの位置の復号位置」である「５８」以上の場合には、（３）で算出された値に「１」を加算し、処理を終了する。
（５）探索された位置が「第５バンドの位置の復号位置」である「７１」以上の場合には、（４）で算出された値に「１」を加算し、処理を終了する。
【００６０】
上記のように、最初のパルスの位置符号エントリ数は「６４」になる。これは、パルスが立たない場合も１つの場合として符号化するので、実際に位置のある６３エントリ（図８から明らかな様に、パルスが存在する位置数は０〜６２である）よりも１つ増えるからである。
【００６１】
また、２番目のパルス、３番目のパルスは、前のパルスの符号をエントリから消去してその値を詰めて符号化すれば良いので、２番目のパルスのエントリ数は「６３」、３番目のパルスのエントリ数は「６２」となる。
【００６２】
次に、符号化に対応する復号方法について述べる。この処理は音声復号装置で行われるものである。
【００６３】
音声復号装置では、バンド毎の位置数の復号（符号に「２」を乗じて「１」を加算した値をバンドの最初の位置に加算）を行った後、以下の手順で、全体で探索されたパルスの最初のパルスの位置の復号を行う。
（１）「第４バンドの位置の復号位置」である「５９」から「４８」を減じて、結果を「２」で除す。
（２）「第５バンドの位置の復号位置」である「７１」から「４８」を減じて、結果を「
２」で除す。
（３）位置数が「４５」より小さい場合には、そのまま復号して処理を終了する。すなわち、バンド毎のパルス位置を考慮して位置を求める。
（４）位置数が「４５」以上の場合には、位置数から「４５」を減じる。
（５）（４）で算出された値が、（１）で算出された値に等しい場合には以下の（６）の計算を行い、（１）で算出された値に「１」を加算した値に等しい場合には以下の（７）の計算を行い、それ以外の場合には以下の（８）の計算を行う。
（６）（４）で算出された値を２倍したものに「４８」を加算したものを復号値とし、「第４バンドの位置の復号位置」を「その復号値＋１」に変更して処理を終了する。
（７）（４）で算出された値を２倍したものに「４９」を加算したものを復号値とし、「第４バンドの位置の復号位置」を「その復号値−１」に変更して処理を終了する。
（８）（４）から更に「１」を減じる。
（９）（８）で算出された値が、（２）で算出された値に等しい場合には以下の（１０）の計算を行い、（２）で算出された値に「１」を加算した値に等しい場合には以下の（１１）の計算を行い、それ以外の場合には以下の（１２）の計算を行う。
（１０）（８）で算出された値を２倍したものに「４８」を加算したものを復号値とし、「第５バンドの位置の復号位置」を「その復号値＋１」に変更して処理を終了する。
（１１）（８）で算出された値を２倍したものに「４９」を加算したものを復号値とし、「第５バンドの位置の復号位置」を「その復号値−１」に変更して処理を終了する。
（１２）（８）から更に「１」を減じる。
（１３）（１２）を２倍したものに「１」を加算したものを復号値として処理を終了する。
【００６４】
以上の処理を行うことにより、最初のパルスを復号することができる。２番目のパルスおよび３番目のパルスは、前のパルスの符号を越える場合に「１」を加算する等、前のパルスの位置数に応じて位置数を変換してから上記手順を行うことにより復号することができる。また、パルスが立たない場合の「−１」の位置については、その分をエントリに加えて位置数を求めればよい。この「−１」も加えた処理ついては、位置数の符号化の説明の際に後述する。
【００６５】
本実施の形態では、入力スペクトルが８０サンプル、高周波帯域の２バンドのビット数を落としたことにより、上記の様に６３通り、バンド毎に５パルスが既に立っている。したがって、「立たない場合」も考慮すると、位置のヴァリエーションを、以下の式（２）に示すように１６ビットで表すことができる。
【数２】
2009125588.tif 000026
【００６６】
なお、同じ位置に２つのパルスが立たないようにするというルールによって、組み合わせの数を少なくすることができ、このルールの効果は、全体で探索するパルス数が多い程大きくなる。
【００６７】
ここで、上記符号化で得られる位置数をまとめて符号化する方法について詳細に述べる。
（１）３本のパルスの位置をその大きさでソーティングし、小さい数値から大きな数値に並べる。なお、「−１」についてはそのままにしておく。
（２）「−１」を「そのパルスの最大の値＋１」の位置数に設定する。この場合、実際にパルスが存在する位置数と混同しないように調整しながら値の順番を決める。これにより、パルス＃０の位置数は０から６１まで、パルス＃１の位置数はパルス＃０の位置数から６２まで、パルス＃２の位置数はパルス＃１の位置数から６３までの範囲に限定され、下位の位置数が上位の位置数を超えないようになる。
（３）そして、組み合わせの符号を求める以下の式（３）に示す統合処理により、位置数（ｉ０，ｉ１，ｉ２）を統合して符号（ｃ）を得る。この統合処理は、大きさの順番がある場合に全ての組み合わせを統合する計算処理である。
【数３】
2009125588.tif 000027
（４）そしてこのｃの１６ビットと極性のビット３を合わせて１９ビットの符号を得る。
【００６８】
なお、上記位置数の中で、パルス＃０が「６１」、パルス＃１が「６２」、パルス＃２が「６３」の場合が、そのパルスが立たない場合を示す位置数となる。例えば３つの位置数が（６１、−１、−１）という場合は、前の１つの位置数と「立たない場合」の位置数の関係から、（−１、６１、−１）と順番を変え、（６１、６１、６３）としなければならない。
【００６９】
このように、本例のように、入力スペクトルを８本のパルス列（バンド毎５本、全体３本）で表すモデルの場合、情報ビット４２ビットで符号化することができる。
【００７０】
区間探索部１２１および全体探索部１２２で探索されたパルスで表現されたスペクトルの例を図８に示す。なお、図８において、より太く表現されたパルスが全体探索部１２２において探索されたパルスである。
【００７１】
ゲイン量子化部１１２は、各バンドのゲインを量子化する。８本のパルスは各バンドに配置されているので、ゲイン量子化部１１２は、そのパルスと入力スペクトルとの相関を分析してゲインを求める。このゲインの量子化のアルゴリズムで重要な点は、ここで用いるパルスのシェイプが、符号を復号したパルス列ではなく、符号化側でパルスの探索で求められたパルス列そのものであるということである。すなわち、符号化前のパルス位置を使うということである。これは、本発明においては高周波数成分の位置の精度を落としているということにより、復号した位置を用いるとゲインが正しく符号化されないためである。ゲインは正しい位置のパルスで符号化される必要がある。
【００７２】
ゲイン量子化部１１２は、理想ゲインを求めてからスカラ量子化（ＳＱ）やベクトル量子化（ＶＱ）で符号化する場合、まず、以下の式（４）で理想ゲインを求める。なお、式（４）において、ｇｎはバンドｎの理想ゲイン、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｖｎ（ｉ）はバンドｎのシェイプを復号したベクトルである。
【数４】
2009125588.tif 000028
【００７３】
そして、ゲイン量子化部１１２は、理想ゲインをスカラ量子化する、または、５つのゲインをまとめてベクトル量子化により符号化する。ベクトル量子化する場合には、予測量子化、多段ＶＱ、スプリットＶＱ等により効率良く符号化することができる。また、ゲインは、聴感的には対数で聞こえるため、ゲインを対数変換してからＳＱ、ＶＱすれば、聴感的に良好な合成音が得られる。
【００７４】
なお、理想ゲインを求めるのではなく、符号化歪を直接評価する方法もある。例えば、５つのゲインをＶＱする場合、以下の式（５）を最小にする。なお、式（５）において、Ｅｋはｋ番目のゲインベクトルの歪み、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｇｎ（ｋ）はｋ番目のゲインベクトルのｎ番目の要素、ｖｎ（ｉ）はバンドｎのシェイプを復号したシェイプベクトルである。
【数５】
2009125588.tif 000029
【００７５】
次に、スペクトル復号部２０３における、全体で探索した３本のパルスの位置の復号方法について説明する。
【００７６】
スペクトル符号化部１０５の全体探索部１２２では、上記式（３）を用いて、位置数（ｉ０，ｉ１，ｉ２）を１つの符号に統合した。スペクトル復号部２０３では、この逆の処理を行うことになる。すなわち、スペクトル復号部２０３では、統合式の値を、各位置数を動かしながら順番に計算し、その値を下回る場合にその位置数を固定し、これを低次の位置数から上位に向かって１つずつ行っていくことによって復号する。図９は、スペクトル復号部２０３の復号アルゴリズムを示すフロー図である。
【００７７】
なお、図９において、エラー処理となっているステップへ進むのは、入力である統合された位置の符号ｋがビットエラーで異常になってしまった場合である。したがって、この場合には、所定のエラー処理により位置を求めなくてはならない。
【００７８】
また、復号器での計算量は、ループ処理がある分、符号器よりも増えることになる。ただし、それぞれのループは開ループであるのでコーデックの処理の全体量から見れば、復号器の計算量は余り大きなものではない。
【００７９】
このように実施の形態１によれば、エネルギが存在する周波数（位置）を正確に符号化することができるので、スペクトル符号化に特有の定性的な性能の向上を図ることができ、低ビットレートの場合でも良好な音質を得ることができる。
【００８０】
なお、上記実施の形態１では、５バンドの内、精度を落とす対象を高周波数帯域の２バンドに設定したが、本発明では精度を落とす対象とするバンド数に制限はない。聴覚的に周波数の差を感じない帯域を予め選んで精度を落とすバンドを決め、そのバンドに対して本発明を適用することにより、限られたビット数で高い品質の音声を符号化・復号するこ
とができる。なお、符号化する音声信号の帯域が高周波数領域に広ければ広いほど、精度を落とせるバンド数も増えることになる。
【００８１】
また、上記実施の形態１では、１／２倍の精度落ちで２つの位置を１つにし、復号される位置を奇数に固定するという方法を採ったが、本発明は固定する位置（偶数、奇数）にも依存しないし、精度を落とす度合いにも依存しない。１／２倍の精度落ちでは偶数に固定しても良いし、より高周波数帯域のバンドでは１／３倍、１／４倍の精度落ちに設定してもよい。例えば、１／３倍にする場合には、固定する位置の数値を、３で割り切れる、３で割ると１余る、３で割ると２余る、のいずれに固定しても本発明の効果を得ることができる。なお、符号化する音声信号の帯域が高周波数領域に広ければ広いほど、より精度を落とすことができることになる。
【００８２】
また、上記実施の形態１では、同じ位置に２つパルスを立てないという条件を設定したが、本発明では、部分的にこの条件を緩和してもよい。例えば、バンド毎に探索されるパルスと、複数のバンドにまたがる広い区間で探索されるパルスが同じ位置に立つことを認めるとすると、バンド毎のパルスを消すことができたり、振幅が２倍のパルスを立てたりすることができる。この条件を緩和するためには、パルス有無フラグｐｆ[＊]をバンド毎のパルスについて格納しなければよい。すなわち、図５の一番下のステップのpf[pos[b]]=1を省略すればよい。また、この条件を緩和する他の方法として、広い区間のパルス探索の際にパルス有無フラグに格納しなければよい。すなわち、図６の一番下のステップの最後のpf[idx_max[i+5]]=1を省略すればよい。ただし、この場合には位置のヴァリエーションが増加する。本実施の形態に示した様に単純な組み合わせではないので、場合分けをしてその場合毎に組み合わせを符号化する必要がある。
【００８３】
（実施の形態２）
本発明の実施の形態２に係る音声符号化装置の構成は、実施の形態１の図１に示した構成と同様であり、本発明の実施の形態２に係る音声復号装置の構成は、実施の形態１の図２に示した構成と同様であるので、これらの構成については、図１を及び図２を援用して、実施の形態１とは異なる機能について説明する。
【００８４】
本発明の実施の形態２に係る音声符号化装置において、スペクトル符号化部１０５のシェイプ量子化部１１１の詳細について説明する。シェイプ量子化部１１１は、所定の探索区間を複数に区切ったバンド毎にパルスを探索する区間探索部１２１と、この探索区間全体に渡ってパルスを探索する全体探索部１２２と、を備える。
【００８５】
探索の基準となる式は実施の形態１に示した式（１）であり、コスト関数を最小にするパルスの位置は、式（１)より、各々のバンドの中で入力スペクトルの絶対値|ｓｐ|が最大になる位置であり、極性は、そのパルスの位置の入力スペクトルの値の極性である。
【００８６】
以下、入力スペクトルのベクトル長が８０サンプル、バンド数が５であって、各バンドで１本のパルスと全体で３本のパルスとの計８本のパルスでスペクトルを符号化する場合を例に説明する。この場合、各バンドの長さは１６サンプルとなる。なお、探索されるパルスの振幅は「１」に固定で、極性は「＋−」である。
【００８７】
シェイプ符号化において、高周波数帯域の２バンドのパルスの位置の精度を落として、ビット数の節約を行う。具体的には、符号化は全ての位置で行うが、復号では基本的に高周波数帯域の２バンドの位置を「奇数」位置に限定する。なお、復号の際に既にパルスが存在している場合には、偶数位置にパルスを立てる場合がある。
【００８８】
また、低周波数帯域の３バンドでは、分数精度でパルスの位置を探索し、整数精度に落
としてパルス位置の符号化を行う。このとき、理想ゲインは分数精度のパルス位置で得られた値を用い、パルス位置の符号化は分数精度のパルス位置に最も近い整数値で行う。これにより、より正確な値の理想ゲインを求めることができ、整数位置のみの探索と比較して、より高品質な復号音声が得られる。本実施の形態では、分数精度を１／３の精度とし、７次の内挿関数を用いて計算量を削減する。
【００８９】
区間探索部１２１は、バンド毎に、エネルギが最大の位置、極性（＋−）を探索し、１本ずつパルスを立てる。本例では、バンド数が５で、バンド毎にパルスの位置を示すために４ビット（位置のエントリ：１６）×３バンド＋３ビット（位置のエントリ：８）×２バンド、極性を示すためにパルス毎に１ビット（＋−）必要であるので、合計２３ビットの情報ビットとなる。なお、高周波数帯域の精度を落とさない場合には、５（バンド）×（４（位置）＋１（極性））＝２５ビットの情報ビットが必要になる。したがって、本例では、高周波数帯域の精度を落とさない場合に比べて２ビットを節約することができる。また、低周波数帯域の３バンドは、分数位置まで探索するが整数精度に落とすので、４ビットを節約することができる。
【００９０】
区間探索部１２１の探索アルゴリズムのフローを図１０に示す。なお、図１０のフロー図で用いられる記号の内容は、図３のフローに用いた記号に加え、ｍａｘ３ｓ（ｉ）が位置ｉの周りの分数精度の位置で探索したｓ[ｉ]の絶対値の最大を出力する関数を示す。ｍａｘ３ｓ（ｉ）を以下の式（６）に示す。
【数６】
2009125588.tif 000030
【００９１】
上式（６）の内挿関数εｊ−１／３、εｊ１／３は、シンク関数と円周率などから算出される。内挿関数の次数は７次であり、その一例を以下の式（７）に示す。
【数７】
2009125588.tif 000031
【００９２】
上記アルゴリズムで符号化した後、ｐｏｓ［ｂ］から各バンドの最初の位置の数値を引いたもの（０〜１５の数値）を位置の符号（４ビット）とする。高周波数帯域の２バンドについては、同数値を２で割ったもの（０〜７の数値）を位置の符号（３ビット）とする。
【００９３】
上述したモデルは、バンド毎に最適なパルスを配置するモデルであるが、結果的に全体
として最も重要な位置にパルスを配置している。これは、スペクトルを符号化する情報ビットが少ない場合には、似た形状のベクトルを復号するよりも、エネルギのある位置に正確にパルスを立てる方が聴感的に良好な音質を得るという考え方に基づいている。
【００９４】
次に、全体探索部１２２の探索アルゴリズムのフローを図１１に示す。図１１は、前処理のフロー図であり、図１２は、本探索のフロー図である。
【００９５】
図１１のフロー図で用いられる記号の内容は、図５のフローに用いた記号に加え、ｍａｘ３ｓ（ｉ）が位置ｉの周りの分数精度の位置で探索したｓ[ｉ]の絶対値の最大を出力する関数を示す。また、図１２のフロー図で用いられる記号の内容は、図６のフローに用いた記号に加え、ｍａｘ３ｓ（ｉ）が増えている。
【００９６】
ここで、図１１及び図１２のフローにおいて、分数精度で絶対値の最大を出力する関数ｍａｘ３ｓ（ｉ）を使用しているが、これは図１０のバンド毎のパルス探索の際に全て一度求めている値なので、バンド毎の探索の際に４８のサイズのメモリ（ＲＡＭ等）に格納し、それをこのアルゴリズムで用いればよく、上記関数の計算は省略可能である。
【００９７】
続いて、上記アルゴリズムで探索されたパルスの位置と極性とを符号化するが、この内容は実施の形態１において既に説明した内容と同様であるので、この説明は省略する。
【００９８】
ゲイン量子化部１１２は、理想ゲインの求め方が実施の形態１とは異なる。すなわち、低周波数帯域の３バンドについては、理想ゲインは分数精度で探索したパルスの入力スペクトルの最大振幅である。本実施の形態では、理想ゲインを求めてスカラ量子化やベクトル量子化で符号化する場合、まず、以下の式（８）で理想ゲインを求める。なお、式（８）において、ｇｎはバンドｎの理想ゲイン、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｖｎ（ｉ）はバンドｎのシェイプを復号したベクトル、ｓｍｘ３（ｉ＋１６ｎ）は位置ｉ＋１６において分数精度で探索した値のうち振幅が最大になる値である。
【数８】
2009125588.tif 000032
【００９９】
上式（８）において、関数ｓｍｘ３（ｉ＋１６ｎ）はｍａｘ３ｓ（ｉ＋１６ｎ）に極性を加えたものである。したがって、実際に求めるアルゴリズムは、振幅の最大を求めながら極性を格納しておき、振幅を出力する際に極性を掛けるというものになる。関数で記述すると以下の式（９）となる。
【数９】
2009125588.tif 000033
【０１００】
なお、理想ゲインを求めるのではなく、符号化歪を直接評価する方法もある。例えば、５つのゲインをＶＱする場合、以下の式（１０）を最小にする。なお、式（１０）において、Ｅｋはｋ番目のゲインベクトルの歪み、ｓ（ｉ＋１６ｎ）はバンドｎの入力スペクトル、ｇｎ（ｋ）はｋ番目のゲインベクトルのｎ番目の要素、ｖｎ（ｉ）はバンドｎのシェイプを復号したシェイプベクトルである。
【数１０】
2009125588.tif 000034
【０１０１】
上述した音声符号化装置から送信された符号化情報は、本発明の実施の形態２に係る音声復号装置のスペクトル復号部２０３において、音声符号化装置のスペクトル符号化部１０５のアルゴリズムに従って、各シェイプとゲインの情報が取り出され、復号したシェイプベクトルに復号ゲインを乗ずることによって復号される。なお、シェイプの復号において、全体で探索した３本のパルスの位置の復号方法は、実施の形態１において説明されているので、ここではその説明を省略する。
【０１０２】
このように実施の形態２によれば、低周波数帯域ではパルス位置を分数精度まで考慮した探索で正確なスペクトルの値を抽出することができるので音質を向上させることができる。このため、周波数変換されたスペクトルを効率よく低ビットレートで符号化することができ、低ビットレートでも良好な音質を得ることができる。
【０１０３】
なお、本実施の形態では、分数精度を１／３としたが、１／２でも１／４でもよく、どのような精度でもよい。精度の細かさに本発明の内容は依存しないためである。
【０１０４】
また、本実施の形態では、分数精度の値を求めるための関数の積和の次数を７次としたが、どんな次数でもよい。次数に本発明の内容は依存しないためである。また、この次数は多ければ多いほど精度は良くなるが、その一方で計算量が大きくなる。
【０１０５】
なお、上記各実施の形態では、シェイプ符号化の後にゲイン符号化を行う場合について説明したが、本発明では、ゲイン符号化の後にシェイプ符号化を行っても同様の性能を得ることができる。また、バンド毎のゲイン符号化を行ってから復号ゲインでスペクトルを正規化し、本発明のシェイプ符号化を行うという方法でもよい。
【０１０６】
また、上記各実施の形態では、スペクトルのシェイプの量子化時に、スペクトルの長さを８０、バンド数を５、各バンドで探索するパルス数を１本、全区間で探索するパルス数を３本とする場合を例にしたが、本発明は上記数値に全く依存せず、他の場合であっても同様の効果を得ることができる。
【０１０７】
また、上記各実施の形態では、「パルス」の探索について説明したが、これはデュアルパルス（２本のパルスの組）や分数位置のパルス（ＳＩＮＣ関数の波形）などの「固定波形」でも良い。固定の波形であれば、本発明は全く同じように使用することができる。
【０１０８】
また、本発明は、バンド幅が十分細かく比較的多くのゲインを符号化でき、情報ビット数が十分多い場合には、バンド毎のパルス探索だけ、あるいは複数のバンドにまたがる広い区間のパルス探索だけで性能を得ることもできる。
【０１０９】
また、上記各実施の形態では、直交変換後のスペクトルに対してパルスによる符号化を用いたが、本発明はこれに限られず、他のベクトルにも適用することができる。例えば、ＦＦＴや複素ＤＣＴ等では複素数ベクトルに本発明を適用すれば良いし、ウェーブレット変換などでは時系列のベクトルに本発明を適用すれば良い。また、本発明は、ＣＥＬＰの音源波形等、時系列のベクトルにも適用することができる。ＣＥＬＰの音源波形の場合には合成フィルタを伴うので、コスト関数が行列計算になるだけである。ただし、フィルタを伴う場合はパルスの探索は開ループでは性能が十分でないので、ある程度閉ループ探索を行わなければならない。パルスが多い場合などはビームサーチ等を行い、計算量を少なく抑えるのも有効である。
【０１１０】
また、本発明では、探索する波形がパルス（インパルス）に限定されず、他の固定波形（デュアルパルス、三角波、インパルス応答の有限波、フィルタの係数、適応的に形状を変える固定波形、等）でも全く同様の方法で探索することができ、同様の効果を得ることができる。
【０１１１】
また、上記各実施の形態では、ＣＥＬＰに対して用いる場合について説明したが、本発明はこれに限られず、他のコーデックであっても有効である。
【０１１２】
また、本発明に係る信号は、音声信号だけでなく、オーディオ信号でも良い。また、入力信号の代わりに、ＬＰＣ予測残差信号に対して本発明を適用する構成であっても良い。
【０１１３】
また、上記各実施の形態では、復号装置は、符号化装置が送信した符号化情報を受信して処理を行うとして説明したが、本発明はこれに限定されず、復号装置が受信し処理する符号化情報は、この復号装置で処理可能な符号化情報を生成可能な符号化装置が送信したものであれば良い。
【０１１４】
また、本発明に係る符号化装置および復号装置は、移動体通信システムにおける通信端末装置および基地局装置に搭載することが可能であり、これにより上記と同様の作用効果を有する通信端末装置、基地局装置、および移動体通信システムを提供することができる。
【０１１５】
また、ここでは、本発明をハードウェアで構成する場合を例にとって説明したが、本発明をソフトウェアで実現することも可能である。例えば、本発明に係るアルゴリズムをプログラミング言語によって記述し、このプログラムをメモリに記憶しておいて情報処理手段によって実行させることにより、本発明に係る符号化装置および復号装置と同様の機能を実現することができる。
【０１１６】
また、上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部または全てを含むように１チップ化されても良い。
【０１１７】
また、ここではＬＳＩとしたが、集積度の違いによって、ＩＣ、システムＬＳＩ、スー
パーＬＳＩ、ウルトラＬＳＩ等と呼称されることもある。
【０１１８】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラム化することが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続もしくは設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１１９】
さらに、半導体技術の進歩または派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
【０１２０】
２００８年４月９日出願の特願２００８−１０１１７７及び２００８年１１月１４日出願の特願２００８−２９２６２６の日本出願に含まれる明細書、図面及び要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０１２１】
本発明は、音声信号やオーディオ信号を符号化する符号化装置、および符号化された信号を復号する復号装置等に用いるに好適である。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
周波数スペクトルのシェイプを符号化するシェイプ量子化手段と、
前記周波数スペクトルのゲインを符号化するゲイン量子化手段と、を具備し、
前記シェイプ量子化手段は、
所定の探索区間を複数に区切ったバンド毎に第１の波形を探索し、所定のバンドで探索された第１の波形を他の第１の波形よりも低いビット数で符号化する区間探索手段と、
前記所定の探索区間全体に渡って第２の波形を探索し、前記所定のバンドに位置する第２の波形が予め設定された条件を満たす場合に、前記所定のバンドに位置する第２の波形の位置の近傍の位置を符号化する全体探索手段と、を具備する、
符号化装置。
【請求項２】
前記全体探索手段は、バンド毎の理想ゲインによる符号化歪を評価しながら前記第２の波形を探索する、請求項１に記載の符号化装置。
【請求項３】
前記全体探索手段は、前記第２の波形に関する複数の位置情報を用いて複数の数値を算出し、前記複数の数値を用いて前記第２の波形に関する位置情報を符号化する請求項１に記載の符号化装置。
【請求項４】
前記全体探索手段は、前記所定のバンドに位置する第２の波形の位置情報を、前記所定のバンドで探索された第１の波形の前後の位置を区別できるように符号化する請求項１に記載の符号化装置。
【請求項５】
前記ゲイン量子化手段は、前記第１の波形および前記第２の波形のゲインをバンド毎に算出して符号化する、請求項１に記載の符号化装置。
【請求項６】
前記区間探索手段は、所定の探索区間を複数に区切ったバンドのうち、低い周波数帯域のバンドで分数精度の探索を行い、探索した波形の分数精度の位置を当該位置に最も近い整数精度の位置で表した位置情報を符号化する、請求項１に記載の符号化装置。
【請求項７】
前記ゲイン量子化手段は、探索した波形の分数精度の位置における波形のゲインを符号化する、請求項６に記載の符号化装置。
【請求項８】
周波数スペクトルのシェイプを符号化するシェイプ量子化工程と、
前記周波数スペクトルのゲインを符号化するゲイン量子化工程と、を具備し、
前記シェイプ量子化工程は、
所定の探索区間を複数に区切ったバンド毎に第１の波形を探索し、所定のバンドで探索された第１の波形を他の第１の波形よりも低いビット数で符号化する区間探索工程と、
前記所定の探索区間全体に渡って第２の波形を探索し、前記所定のバンドに位置する第２の波形が予め設定された条件を満たす場合に、前記所定のバンドに位置する第２の波形の位置の近傍の位置を符号化する全体探索工程と、を具備する、
符号化方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009125588.tif 000035
【図２】
2009125588.tif 000036
【図３】
2009125588.tif 000037
【図４】
2009125588.tif 000038
【図５】
2009125588.tif 000039
【図６】
2009125588.tif 000040
【図７】
2009125588.tif 000041
【図８】
2009125588.tif 000042
【図９】
2009125588.tif 000043
【図１０】
2009125588.tif 000044
【図１１】
2009125588.tif 000045
【図１２】
2009125588.tif 000046
【国際調査報告】
2009125588.tif 000047
2009125588.tif 000048