(57)【要約】ピッチパルス情報を消失補償処理用の冗長情報として用いる場合に、最適なピッチパルスを検出することができる音声符号化装置。この装置において、探索始点決定部（１２１）は、ピッチパルスが存在し得る複数の点の中で最も過去にある点を探索始点として決定し、ピッチパルス候補選択部（１２２）は、探索始点から現フレームの先頭の点の１つ前の点までを探索範囲とし、この探索範囲において振幅が大きい復号音源ベクトルの位置をピッチパルス位置候補として選択し、切替スイッチ（１２５）は、ピッチパルス候補選択部（１２２）から入力される複数のピッチパルス位置候補を順次切り替えてパルス列生成部（１２３）および誤差最小化部（１２４）に出力し、パルス列生成部（１２３）は、切替スイッチ（１２５）から入力されたピッチパルス位置候補にピッチパルスを立てた場合に、現フレームでこのピッチパルスから適応符号帳成分として生成されるベクトルをパルス列として生成する。
2008108083.tif 000002
【特許請求の範囲】
【請求項１】
ピッチパルス情報を消失補償処理用の冗長情報として用いる音声符号化装置であって、
現フレームにおけるピッチ周期を用いて前フレームにおけるピッチパルス位置の探索範囲を決定する決定手段と、
前記前フレームの音源信号を用いて前記ピッチパルス位置の複数の候補を選択する選択手段と、
前記複数の候補を用いて前記現フレームにおける音源信号の適応符号帳成分を生成する生成手段と、
前記適応符号帳成分のベクトルと復号音源ベクトルとの誤差を最小とする前記前フレームの最終ピッチパルス位置を得る誤差最小化手段と、
を具備する音声符号化装置。
【請求項２】
前記決定手段は、前記現フレームに含まれる複数のサブフレーム各々の先頭から前記複数のサブフレーム各々におけるピッチ周期だけ遡った複数の位置のうち最も過去にある位置を前記探索範囲の開始点とする、
請求項１記載の音声符号化装置。
【請求項３】
前記選択手段は、前記探索範囲にある複数のピッチパルス位置を複数のグループに分け、前記複数のグループの各々において音源信号の振幅が最大となる位置を選択して前記複数の候補とする、
請求項１記載の音声符号化装置。
【請求項４】
前記生成手段は、前記現フレームにおけるピッチ周期およびピッチゲインを用いてパルス列を生成することにより前記適応符号帳成分を生成する、
請求項１記載の音声符号化装置。
【請求項５】
前記生成手段は、予め定められた上限数のパルスを有する前記パルス列を生成する、
請求項４記載の音声符号化装置。
【請求項６】
請求項１記載の音声符号化装置を具備する無線通信移動局装置。
【請求項７】
請求項１記載の音声符号化装置を具備する無線通信基地局装置。
【請求項８】
ピッチパルス情報を消失補償処理用の冗長情報として用いる音声符号化方法であって、
現フレームにおけるピッチ周期を用いて前フレームにおけるピッチパルス位置の探索範囲を決定し、
前記前フレームの音源信号を用いて前記ピッチパルス位置の複数の候補を選択し、
前記複数の候補を用いて前記現フレームにおける音源信号の適応符号帳成分を生成し、
前記適応符号帳成分のベクトルと復号音源ベクトルとの誤差を最小とする前記前フレームの最終ピッチパルス位置を得る、
音声符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、音声符号化装置および音声符号化方法に関する。
【背景技術】
【０００２】  ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）用の音声コーデックには、高いパケットロス耐性が要求される。次世代のＶｏＩＰ用コーデックでは、比較的高いフレーム消失率（例えば６％のフレーム消失率）においてもエラーフリーの品質を達成することが望まれる（ただし、消失誤りを補償するための冗長情報を伝送することを許容した場合）。【０００３】  ＣＥＬＰ（Ｃｏｄｅ  Ｅｘｃｉｔｅｄ  Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｏｎ）型の音声コーデックの場合、音声の立ち上がり部のフレームが消失することによる品質劣化が問題となるケースが多い。これは、立ち上がり部では信号の変化が大きく、直前のフレームの信号との相関性が低いため、直前のフレームの情報を用いた隠蔽処理が有効に機能しないことが原因であったり、立ち上がり部で符号化した音源信号が適応符号帳として後続の有声部のフレームにおいて積極的に使用されるため、立ち上がり部の消失の影響が後続する有声フレームに伝播し、復号音声信号の大きな歪につながりやすいことが原因であったりする。【０００４】  上記問題を解決するための従来技術として、前フレームの最後の声門パルス位置を現フレームの符号化情報と共に送るものがある（例えば、非特許文献１参照）。この技術では、音声符号化装置が、前フレームの音源信号（すなわち線形予測残差信号）においてフレーム終端から過去１ピッチ周期の間で振幅が最大であるパルス位置を声門パルス位置として検出し、その位置情報を符号化して現フレームの符号化情報と共に音声復号装置へ送る。音声復号装置では、復号フレームが消失している場合、次フレームで音声符号化装置から受信される声門パルス位置に声門パルスを配置して復号音声信号を生成する。
【非特許文献１】ＩＴＵ−Ｔ勧告Ｇ．７２９．１
【発明の開示】
【発明が解決しようとする課題】
【０００５】  しかしながら、上記従来技術では、ピッチ周期が正しくない場合（例えば倍ピッチ周期または半ピッチ周期である場合）、正しい声門パルス位置を検出できないことがある。また、音源信号に明確な声門パルスが存在しない場合（例えば複数のパルスが乱立するような場合）、ローパスフィルタ処理後の音源信号において、振幅が最大であるパルス位置が声門パルス位置として最適でないことがある。【０００６】  本発明の目的は、ピッチパルス情報を消失補償処理用の冗長情報として用いる場合に、最適なピッチパルスを検出することができる音声符号化装置および音声符号化方法を提供することである。
【課題を解決するための手段】
【０００７】  本発明の音声符号化装置は、ピッチパルス情報を消失補償処理用の冗長情報として用いる音声符号化装置であって、現フレームにおけるピッチ周期を用いて前フレームにおけるピッチパルス位置の探索範囲を決定する決定手段と、前記前フレームの音源信号を用いて前記ピッチパルス位置の複数の候補を選択する選択手段と、前記複数の候補を用いて前記現フレームにおける音源信号の適応符号帳成分を生成する生成手段と、前記適応符号帳成分のベクトルと復号音源ベクトルとの誤差を最小とする前記前フレームの最終ピッチパルス位置を得る誤差最小化手段と、を具備する構成を採る。
【発明の効果】
【０００８】  本発明によれば、ピッチパルス情報を消失補償処理用の冗長情報として用いる場合に、最適なピッチパルスを検出することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施の形態に係る音声符号化装置の構成を示すブロック図
【図２】本発明の一実施の形態に係る音声復号装置の構成を示すブロック図
【図３】本発明の一実施の形態に係るピッチパルス抽出部の構成を示すブロック図
【図４】本発明の一実施の形態に係る探索始点決定方法を説明するための図
【図５】本発明の一実施の形態に係る探索始点決定方法を説明するための図
【図６】本発明の一実施の形態に係る探索始点の決定手順を示すフロー図
【図７】本発明の一実施の形態に係るパルス列生成方法を説明するための図
【図８】本発明の一実施の形態に係るパルス列の生成手順を示すフロー図
【発明を実施するための最良の形態】
【００１０】  本発明では、前フレームの音源信号のピッチパルス（上記従来技術における声門パルスに相当し、１ピッチ周期長の音源信号中で振幅が極大となるサンプル）の位置情報をフレーム消失補償処理用の符号化情報として伝送する場合に、最適なピッチパルス位置を検出するために、前フレームの音源信号と現フレームの音源信号の双方を用いて前フレームの最後尾にあるピッチパルス位置を探索する。【００１１】  また、本発明では、前フレームの音源信号だけでなく、現フレームで適応符号帳成分として生成される音源信号がエラーフリーの音源信号に近くなるようにピッチパルス位置を探索する。つまり、本発明では、立ち上がり部で符号化した音源信号が適応符号帳として後続の有声部のフレームにおいて積極的に使用されるために、立ち上がり部の消失の影響が後続する有声フレームに伝播することの影響を考慮した探索を行う。このため、本発明では、後続フレームで行われる音源信号の復号処理を模擬してパルス列ベクトルを生成し、エラーフリーの復号音源ベクトルとの誤差が小さくなるようにピッチパルスの位置を決定する。【００１２】  また、適応符号帳に長期予測フィルタ（ピッチ予測フィルタ）をかけることにより音源ベクトルの適応符号帳成分を生成すると演算量が多くなってしまうため、本発明では、ピッチパルス位置と後続フレームにおけるピッチラグとを用いて簡易的にパルスベクトルを生成して演算量を減少させる。【００１３】  また、本発明では、ピッチパルス位置の探索を、前フレーム（消失フレームに相当）において予備選択した複数の位置候補に対して行う。すなわち、本発明では、予備選択は前フレームでの誤差を基準に行い、本選択（ピッチパルス位置の探索）は現フレーム（消失フレームの後続フレームに相当）での誤差を基準に行う。【００１４】  以下、本発明の一実施の形態について、添付図面を参照して説明する。【００１５】  本実施の形態に係る音声符号化装置は、現フレーム（ｎ）の符号化情報と、現フレームの１フレーム前のフレーム、すなわち、前フレーム（ｎ−１）の符号化情報とを１つの符号化データとして伝送するものである。また、本実施の形態に係る音声符号化装置は、前フレーム（ｎ−１）の音源信号に存在する複数のピッチパルスのうち時間的に最後にあるピッチパルスを効率よく、かつ、正確に探索する。【００１６】  図１に本実施の形態に係る音声符号化装置１０の構成を示す。なお、ＬＰＣ（Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｏｎ  Ｃｏｅｆｆｉｃｉｅｎｔ）パラメータ抽出部１１１、符号化部１１２、音源パラメータ抽出部１１３および符号化部１１４によりＣＥＬＰ符号化部１１が構成される。【００１７】  音声符号化装置１０では、現フレーム（ｎ）の情報がＣＥＬＰ符号化部１１によって符号化され、前フレーム（ｎ−１）の情報がピッチパルス抽出部１２および符号化部１３によって符号化される。音声符号化装置１０が前フレーム（ｎ−１）の情報を冗長情報として現フレーム（ｎ）の情報と共に伝送することにより、音声復号装置では、現在の符号化データの１つ前の符号化データが消失した場合でも現在の符号化データに含まれる前フレーム（ｎ−１）の情報を復号することにより復号音声信号の品質劣化���抑えることができる。冗長情報としては、前フレーム（ｎ−１）の音源信号に存在する複数のピッチパルスのうち時間的に最後にあるピッチパルス、すなわち、現フレーム（ｎ）に最も近い位置にあるピッチパルスの位置および振幅を用いる。【００１８】  音声符号化装置１０において、入力音声信号がＬＰＣパラメータ抽出部１１１および音源パラメータ抽出部１１３に入力される。【００１９】  ＬＰＣパラメータ抽出部１１１は、フレーム単位にＬＰＣパラメータを抽出して符号化部１１２に出力する。なお、ＬＰＣパラメータはＬＳＰ（Ｌｉｎｅ  Ｓｐｅｃｔｒｕｍ  ＰａｉｒまたはＬｉｎｅ  Ｓｐｅｃｔｒａｌ  Ｐａｉｒ）またはＬＳＦ（Ｌｉｎｅ  Ｓｐｅｃｔｒｕｍ  ＦｒｅｑｕｅｎｃｙまたはＬｉｎｅ  Ｓｐｅｃｔｒａｌ  Ｆｒｅｑｕｅｎｃｙ）等の形式であってもよい。【００２０】  符号化部１１２は、ＬＰＣパラメータを量子化および符号化し、未量子化ＬＰＣパラメータおよび量子化ＬＰＣパラメータを音源パラメータ抽出部１１３に出力し、符号化結果（ＬＰＣ符号）を多重化部１４に出力する。【００２１】  音源パラメータ抽出部１１３は、入力音声信号、未量子化ＬＰＣパラメータおよび量子化ＬＰＣパラメータを用いて、聴覚重み付け入力音声信号と聴覚重み付け合成音声信号との誤差が最小となる音源パラメータを決定し、その音源パラメータを符号化部１１４に出力する。一般的なＣＥＬＰ符号化の場合、音源パラメータは、ピッチラグ、固定符号帳インデックス、ピッチゲインおよび固定符号帳ゲインの４つのパラメータからなる。また、音源パラメータ抽出部１１３は、ピッチ周期、ピッチゲインおよび復号音源ベクトルをピッチパルス抽出部１２に出力する。【００２２】  符号化部１１４は、音源パラメータを符号化し、符号化結果（音源符号）を多重化部１４に出力する。【００２３】  ピッチパルス抽出部１２は、ピッチ周期、ピッチゲインおよび復号音源ベクトルを用いてピッチパルスを探索し、ピッチパルスの位置および振幅を符号化部１３に出力する。なお、ピッチパルス抽出部１２の詳細については後述する。【００２４】  符号化部１３はピッチパルスの位置および振幅を符号化し、符号化結果（ピッチパルス符号）を多重化部１４に出力する。【００２５】  多重化部１４は、ＬＰＣ符号と、音源符号と、ピッチパルス符号とを多重化して符号化ビットストリームを生成し、この符号化ビットストリームを伝送路へ送出する。【００２６】  図２に本実施の形態に係る音声復号装置２０の構成を示す。なお、復号部２３１、復号部２３２、音源生成部２３３および合成フィルタ２３４によりＣＥＬＰ復号部２３が構成される。【００２７】  音声復号装置２０において、音声符号化装置１０（図１）から送出された符号化ビットストリームが分離部２１に入力される。【００２８】  分離部２１は、符号化ビットストリームをＬＰＣ符号と、音源符号と、ピッチパルス符号とに分離し、ＬＰＣ符号および音源符号を遅延部２２に出力し、ピッチパルス符号を復号部２４に出力する。【００２９】  遅延部２２は、ＬＰＣ符号を１フレーム時間遅延させて復号部２３１に出力するとともに、音源符号を１フレーム時間遅延させて復号部２３２に出力する。【００３０】  復号部２３���は、遅延部２２から入力されるＬＰＣ符号、すなわち、１フレーム前のＬＰＣ符号を復号し、復号結果（ＬＰＣパラメータ）を合成フィルタ２３４に出力する。【００３１】  復号部２３２は、遅延部２２から入力される音源符号、すなわち、１フレーム前の音源符号を復号し、復号結果（音源パラメータ）を音源生成部２３３に出力する。音源パラメータは、上記のように、ピッチラグ、固定符号帳インデックス、ピッチゲインおよび固定符号帳ゲインの４つのパラメータからなる。【００３２】  復号部２４は、ピッチパルス符号を復号し、復号結果（ピッチパルスの位置および振幅）を音源生成部２３３に出力する。【００３３】  音源生成部２３３は、音源パラメータから音源信号を生成し、この音源信号を合成フィルタ２３４に出力する。ただし、１フレーム前のフレームが消失している場合は、音源生成部２３３は、ピッチパルスの位置および振幅に基づいてピッチパルスを立てて音源信号を生成し、この音源信号を合成フィルタ２３４に出力する。なお、現フレームも消失している場合は、音源生成部２３３は、前フレームの復号パラメータを繰り返し使う等、例えばＩＴＵ−Ｔ勧告Ｇ．７２９等で開示されているフレーム消失隠蔽処理を利用して音源信号を生成し、この音源信号を合成フィルタ２３４に出力する。【００３４】  合成フィルタ２３４は、復号部２３１から入力されたＬＰＣパラメータを用いて構成され、音源生成部２３３から入力された音源信号を駆動信号として復号音声信号を合成して出力する。【００３５】  次いで、ピッチパルス抽出部１２の詳細について説明する。図３に本実施の形態に係るピッチパルス抽出部１２の構成を示す。【００３６】  ピッチパルス抽出部１２において、ピッチ周期ｔ［０〜Ｎ−１］が探索始点決定部１２１およびパルス列生成部１２３に入力され、ピッチゲインｇ［０〜Ｎ−１］がパルス列生成部１２３に入力され、復号音源ベクトルがピッチパルス候補選択部１２２および誤差最小化部１２４に入力される。なお、この復号音源ベクトルはエラーフリーの音源ベクトルである。【００３７】  ここで、ピッチ周期ｔ［０］は現フレームの第１サブフレームのピッチ周期、ピッチ周期ｔ［１］は現フレームの第２サブフレームのピッチ周期、…、ピッチ周期ｔ［Ｎ−１］は現フレームの第Ｎサブフレーム（すなわち最終サブフレーム）のピッチ周期を表す。同様に、ピッチゲインｇ［０］は現フレームの第１サブフレームのピッチゲイン、ピッチゲインｇ［１］は現フレームの第２サブフレームのピッチゲイン、…、ピッチゲインｇ［Ｎ−１］は現フレームの第Ｎサブフレーム（すなわち最終サブフレーム）のピッチゲインを表す。また、復号音源ベクトルは、現フレームの先頭サンプルをｅｘ［０］とすれば、少なくともｅｘ［−ｔ＿ｍａｘ］〜ｅｘ［ｌ＿ｆｒａｍｅ−１］の範囲にある音源ベクトルである。ｔ＿ｍａｘはピッチ周期の最大値、ｌ＿ｆｒａｍｅはフレーム長である。つまり、本実施の形態では、前フレームの末尾から最大ピッチ周期長の過去の音源ベクトルと現フレーム１フレーム分の音源ベクトルとを合わせたエラーフリーの音源ベクトルがピッチパルス探索に用いられる。なお、音源パラメータ抽出部１１３にバッファを備え、これらす��ての音源ベクトルを音源パラメータ抽出部１１３から入力する構成、または、ピッチパルス抽出部１２にバッファを備え、音源パラメータ抽出部１１３からは現フレームの復号音源ベクトルのみを入力し、前フレームにおける最大ピッチ周期長の音源ベクトルはピッチパルス抽出部１２が備えるバッファに逐次保存および更新される構成のいずれを採ってもよい。【００３８】  探索始点決定部１２１は、ピッチパルスの探索範囲を決定する。具体的には、探索始点決定部１２１は、ピッチパルスが存在し得る複数の点の中で最も過去にある点を探索始点として決定する。この探索始点は、１フレームに１種類のピッチ周期しかなければ、すなわち、１フレームが複数のサブフレームに分かれていなければ、現フレームの先頭から現フレームのピッチ周期だけ過去に遡った点となる。一方、１フレームが複数のサブフレームに分かれていて、各サブフレームのピッチ周期が異なり得る場合は、この探索始点は、各サブフレームの先頭から各サブフレームにおけるピッチ周期だけ遡った複数の点のうち最も過去にある点となる。【００３９】  以下、探索始点決定部１２１での探索始点決定方法について図４、図５および図６を用いてより詳しく説明する。【００４０】  図４において、現フレームの先頭、すなわち、第１サブフレームの始点（０の点）から第１サブフレームにおけるピッチ周期ｔ［０］だけ遡った点（−ｔ［０］の点）が探索始点の第１候補となる。同様に、第ｎフレームにおける探索始点の第ｎ候補は、Ｍ＊（ｎ−１）−ｔ［ｎ−１］の点となる。Ｍはサブフレーム長（サンプル数）である。よって、１フレームがＮサブフレームから構成される場合、第Ｎサブフレームにおける探索始点の第Ｎ候補は、Ｍ＊（Ｎ−１）−ｔ［Ｎ−１］の点となる。そして、第１候補〜第Ｎ候補の中で時間的に最も過去にある点が選択されて探索始点に決定される。１フレーム内でピッチ周期の変動が小さい場合は、図４に示すように、探索始点の第１候補と第Ｎ候補とを比較すると第１候補の方がより過去にある。１フレーム内でピッチ周期の変動が小さければ（すなわち倍ピッチ周期や半ピッチ周期が発生していなければ）、探索始点の第１候補は第２候補〜第Ｎ候補のいずれよりも過去にあるので、第１候補が探索始点に決定される。【００４１】  一方、図５に示すように、第Ｎサブフレームにおけるピッチ周期が長く、探索始点の第１候補よりも第Ｎ候補の方が過去になる場合もある。この場合には、第１候補は探索始点とならない。【００４２】  そこで、本実施の形態では、図６に示す処理フローに従って探索始点を決定する。【００４３】  まず、ステップＳ６１において、探索始点の第１候補（０−ｔ［０］）を求める。【００４４】  そして、ステップＳ６２において、ステップＳ６１で求めた第１候補を探索始点に仮決定する。つまり、第１候補を仮候補とする。【００４５】  次いで、ステップＳ６３において、探索始点の第２候補を求める。【００４６】  次いで、ステップＳ６４において、仮候補（第１候補）と第２候補とを比較する。【００４７】  そして、第２候補が仮候補（第１候補）より過去にある場合、すなわち、第２候補の位置の値が仮候補（第１候補）の位置の値より小さい場合（ステップＳ６４：ＮＯ）には、ステップＳ６５において、仮候補を第２候補で更新する。つまり、この場合には、第２候補が新たな仮候補となる。【００４８】  一方、仮候補（第１候補）が第２候補より過去にある場合、すなわち、仮候補（第１候補）の位置の値が第２候補の位置の値より小さい場合（ステップＳ６４：ＹＥＳ）には、仮候補は第１候補のままとなる。【００４９】  そして、ステップＳ６４およびステップＳ６５の処理を第Ｎサブフレームまで繰り返す（ステップＳ６４〜ステップＳ６７）。【００５０】  そして、ステップＳ６８において、最終的な仮候補を探索始点として決定する。【００５１】  このような処理フローにより、探索始点は第１候補〜第Ｎ候補の中で時間的に最も過去にある点となる。【００５２】  このようにして探索始点決定部１２１で決定された探索始点がピッチパルス候補選択部１２２に入力される。【００５３】  ピッチパルス候補選択部１２２は、探索始点から現フレームの先頭の点の１つ前の点（すなわち前フレームの最後の点（前フレームの末尾の点））までを探索範囲とし、この探索範囲において振幅が大きい復号音源ベクトルの位置をピッチパルス位置候補として選択する。この選択処理の演算量を削減するために、ピッチパルス候補選択部１２２は、選択するピッチパルス位置候補の数と同数のグループに探索範囲を分割し、各グループの中からそれぞれ振幅最大の位置を検出し、検出された複数の位置をピッチパルス位置候補とする。ここで複数のグループは連続する点から構成されてもよく、また、ＩＴＵ−Ｔ勧告Ｇ．７２９に示された代数符号帳のように等間隔の複数の点の集合で構成されてもよい。複数のグループを連続する点から構成する場合には、例えば探索始点から探索終点（前フレームの末尾の点）までの間を均等に分割するとよい。また、複数のグループを等間隔の複数の点の集合で構成する場合には、例えば探索始点を０として０，５，１０…の点を第１グループ、１，６，１１…の点を第２グループ、…、４，９，１４…の点を第５グループのようにするとよい。【００５４】  このようにしてピッチパルス候補選択部１２２で選択されたピッチパルス位置候補が切替スイッチ１２５に入力される。【００５５】  切替スイッチ１２５は、ピッチパルス候補選択部１２２から入力される複数のピッチパルス位置候補を順次切り替えてパルス列生成部１２３および誤差最小化部１２４に出力する。【００５６】  パルス列生成部１２３は、切替スイッチ１２５から入力されたピッチパルス位置候補にピッチパルスを立てた場合に、現フレームでこのピッチパルスから適応符号帳成分として生成されるベクトルをパルス列として生成する。このパルス列の生成は、適応符号帳に長期予測フィルタ（ピッチ予測フィルタ）をかけることにより行うことができる。しかし、本実施の形態では、演算量を削減するために、パルス位置にピッチ周期を加算した位置にパルスを立てることによりこのパルス列を生成する。【００５７】  パルス列生成部１２３でのパルス列生成方法について図７（Ａ）〜（Ｃ）を用いて詳しく説明する。【００５８】  図７（Ａ）に示すように、ピッチパルス候補選択部１２２から切替スイッチ１２５を介して入力されたピッチパルス位置候��をＡとすると、まずＡに振幅Ｐ（＝１）のパルスを立てる。【００５９】  次いで、このパルス（位置：Ａ，振幅：Ｐ）を基にして第１サブフレームにパルスを立てる。まず、位置Ａからｔ［０］（第１サブフレームにおけるピッチ周期）後の位置Ｂ（＝Ａ＋ｔ［０］）が第１サブフレーム内にあるか否か判定する。図７（Ａ）の例では、位置Ｂは第１サブフレーム内にあるので、位置Ｂに振幅Ｑ（＝Ｐ＊ｇ［０］）のパルスを立てる。【００６０】  次いで、位置Ｂからｔ［０］後の位置Ｃ（＝Ｂ＋ｔ［０］）が第１サブフレーム内にあるか否か判定する。図７（Ｂ）の例では、位置Ｃは未だ第１サブフレーム内にあるので、位置Ｃに振幅Ｒ（＝Ｑ＊ｇ［０］）のパルスを立てる。そして、さらに位置Ｃからｔ［０］後の位置Ｃ’（＝Ｃ＋ｔ［０］）が第１サブフレーム内にあるか否か判定する。図７（Ｂ）の例では、位置Ｃ’は第１サブフレーム外にあるので、第１サブフレーム内に立てることが可能なすべてのパルスが立ったものと判断する。そして、第２サブフレームのパルス生成に移る。【００６１】  第２サブフレームのパルス生成は、図７（Ｃ）に示すように、第１サブフレームまでに立てたすべてのパルスの位置に第２サブフレームにおけるピッチ周期ｔ［１］を加算し、その加算結果により示される位置が第２サブフレーム内にあるか否か判定することにより行う。【００６２】  すなわち、図７（Ｃ）の例では、位置Ａにｔ［１］を加算した位置Ａ’は第２サブフレーム内にないので、位置Ａ’にはパルスを立てない。また、位置Ｂにｔ［１］を加算した位置Ｂ’は第２サブフレーム内にあるので、位置Ｂ’に振幅Ｑ’（＝Ｑ＊ｇ［１］）のパルスを立てる。また、位置Ｃにｔ［１］を加算した位置Ｄは第２サブフレーム内にあるので、位置Ｄに振幅Ｓ（＝Ｒ＊ｇ［１］）のパルスを立てる。そして、位置Ｃの次の位置Ｂ’にｔ［１］を加算した位置は第２サブフレーム外になるので、ここで第２サブフレームのパルス生成を終了する。【００６３】  すなわち、各ピッチパルス位置候補に対するこのようなパルス列生成は図８に示す処理フローに従って行われる。【００６４】  まず、ステップＳ８１において、入力されたピッチパルス位置候補に振幅＝１の初期パルスを立てる（初期パルス生成）。【００６５】  次いで、ステップＳ８２において、既に立てられたパルスを周期化元パルスに設定する。例えば、既に立てられたパルスのうち、最も過去にあるパルスを周期化元パルスに設定する。【００６６】  次いで、ステップＳ８３において、対象サブフレームのピッチ周期を用いて次のパルス（以下、周期化パルスと呼ぶ）の位置を生成する。すなわち、周期化元パルスの位置に対象サブフレームのピッチ周期を加算して得られた位置を周期化パルスの位置とする。【００６７】  ここで、ピッチ周期は小数精度であってもよい。小数精度の場合は、生成される周期化パルスの位置が整数にならない場合があるが、その場合には小数点以下を四捨五入する等して周期化パルスの位置を整数精度にする。これにより、パルス列のスパース性を保証し、後続の誤差演算における演算量の増加を抑えることができる。ただし、このようにして整数精度化したパルスの位置を再帰的に用いると時間的に後ろにあるパ��スの位置の誤差が大きくなる。そこで、パルスの位置を再帰的に用いる部分では、小数精度のまま周期化パルスの位置を求めるようにする。これにより、パルスの位置の誤差が累積されることを防ぐことができる。【００６８】  次いで、ステップＳ８４において、周期化パルスの位置が対象サブフレーム内にあるか否か判定する。【００６９】  周期化パルスの位置が対象サブフレーム内にある場合には（ステップＳ８４：ＹＥＳ）、ステップＳ８５において、次のパルス（すなわち、対象サブフレーム内にあると判断された前記周期化パルス）の振幅を求め（振幅生成）、その振幅を持つ次のパルスを生成して前記周期化パルスの位置に立てる。つまり、対象サブフレーム内にあると判断されたパルスをパルス列（すなわち周期化元のパルスの集合）に追加する。そして、ステップＳ８６に進む。【００７０】  一方、周期化パルスの位置が対象サブフレーム外にある場合には（ステップＳ８４：ＮＯ）、周期化パルスを生成することなくステップＳ８６に進む。【００７１】  ステップＳ８６では、周期化元パルスを次に移行する。すなわち、ステップＳ８３で得られた周期化パルスも含めたパルス列の中で、ここまで周期化元パルスとしていたパルスの次に時間的に過去側にあるパルスの位置を新たな周期化元パルスの位置とする。【００７２】  次いで、ステップＳ８７において、対象サブフレーム内において対象サブフレームのピッチ周期を用いて生成可能なすべての周期化パルスが生成されたか否か判定する。すなわち、対象サブフレームにおける周期化パルス生成が完了したか否か判定する。周期化元パルスの位置が対象サブフレーム外になる場合に、対象サブフレームにおける周期化パルス生成が完了したものとする。なお、サブフレーム毎のパルス数の上限値を予め設定しておき、対象サブフレームにおいて生成した周期化パルスの数がその上限値に達した場合に、対象サブフレームにおける周期化パルス生成が完了したものとしてもよい。これにより、パルス列生成の演算量に上限を設けることができる。なお、ステップＳ８７は、ステップＳ８１の直後にあってもよい。【００７３】  対象サブフレームにおける周期化パルス生成が完了した場合には（ステップＳ８７：ＹＥＳ）、ステップＳ８８において、対象サブフレームを次のサブフレームに移行する。【００７４】  一方、対象サブフレームにおける周期化パルス生成が完了していない場合には（ステップＳ８７：ＮＯ）、ステップＳ８３に戻る。【００７５】  次いで、ステップＳ８９において、全てのサブフレームにおけるパルス生成が完了したか否か判定する。【００７６】  そして、全てのサブフレームにおけるパルス生成が完了した場合には（ステップＳ８９：ＹＥＳ）、パルス列の生成を終了する。【００７７】  一方、全てのサブフレームにおけるパルス生成が完了していない場合には（ステップＳ８９：ＮＯ）、ステップＳ８２に戻り、周期化元パルスを既に生成したパルス列の先頭パルス（すなわち時間的に最も過去にあるパルス）に戻し、上記同様にして次のサブフレームを対象としたパルス列生成行う。【００７８】  このようにしてパルス列生成部１２３で生成された、各ピッチパルス位置候補に対するパルス列が誤差最小化部１���４に入力される。【００７９】  誤差最小化部１２４は、復号音源ベクトルと、パルス列ベクトルに最適ゲインを乗じたベクトルとの二乗誤差が最小であるか否か判定する。具体的には、誤差最小化部１２４は、過去に入力されたピッチパルス位置候補において最小となった二乗誤差より今回入力されたピッチパルス位置候補における二乗誤差がさらに小さいか否か判定する。そして、誤差最小化部１２４は、今回入力されたピッチパルス位置候補におけるパルス列ベクトルがこれまでで最小の二乗誤差が得られるパルス列ベクトルである場合には、ピッチパルス位置候補およびそのパルス列ベクトルを保存する。誤差最小化部１２４は、切替スイッチ１２５に順次切替指示を与えながら、すべてのピッチパルス位置候補について上記処理を行う。そして、誤差最小化部１２４は、すべてのピッチパルス位置候補について上記処理を終えた時点で保存されているピッチパルス位置候補をピッチパルス位置として出力するとともに、その時点で保存されているパルス列ベクトルに対する理想ゲインをピッチパルス振幅として出力する。なお、誤差最小化部１２４は、二乗誤差を計算することなく、二乗誤差の大小比較を行える評価尺度を用いて最小二乗誤差を得てもよい。【００８０】  このように、本実施の形態によれば、探索始点候補の選択を前フレームでの誤差に基づいて行う。また、最終的なピッチパルス位置の選択を、前フレームに立てられるピッチパルスと音源信号との誤差および現フレームにおいて立てられるパルス列と音源信号との誤差により行う、つまり、前フレームと現フレームの双方を考慮してピッチパルスを探索する。このため、消失フレームを隠蔽するためのピッチパルスとして最適なピッチパルス、すなわち、消失フレームと後続フレームの双方に対して有効なピッチパルスを検出することができる。これにより、音声復号装置では、消失フレームが発生した場合でも高品質な復号音声信号を得ることができる。【００８１】  また、本実施の形態によれば、音声符号化装置では、１フレーム前の符号化フレーム（ｎ−１）に対する消失補償処理用の冗長情報を現符号化フレーム（ｎ）で送るため、アルゴリズム遅延を生じずに、消失補償処理用の冗長情報を符号化することができる。これにより、音声復号装置では、消失補償の高品質化のための情報を使用しない場合には、復号処理全体のアルゴリズム遅延を１フレーム分短くすることが可能となる。【００８２】  また、本実施の形態によれば、１フレーム前の符号化フレーム（ｎ−１）に対する消失補償処理用の冗長情報を現符号化フレーム（ｎ）で送る。そのため、消失が想定されるフレームが立ち上がりフレーム等の重要フレームかどうかを時間的に未来の情報も用いて判定することができるので、その判定精度を高めることができる。【００８３】  以上、本発明の実施の形態について説明した。【００８４】  なお、上記実施の形態に係る音声符号化装置および音声復号装置は、移動体通信システムにおける無線通信移動局装置および無線通信基地局装置に搭載することが可能であり、これにより上記同様の作用および効果を有する無線通信移動局装置、無線通信基地局装置および移動体通信システムを提供することができる。【００８５】  また、上記実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はソフトウェアで実現することも可能である。例えば、本発明に係る音声符号化方法のアルゴリズムをプログラミング言語によって記述し、このプログラムを情報処理手段によって実行させることにより、本発明に係る音声符号化装置と同様の機能を実現することができる。【００８６】  また、上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。【００８７】  また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。【００８８】  さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。【００８９】  ２００７年３月２日出願の特願２００７−０５３５３０の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【００９０】  本発明に係る音声符号化装置および音声符号化方法は、移動体通信システムにおける無線通信移動局装置、無線通信基地局装置等に適用することができる。
【図１】
2008108083.tif 000003
【図２】
2008108083.tif 000004
【図３】
2008108083.tif 000005
【図４】
2008108083.tif 000006
【図５】
2008108083.tif 000007
【図６】
2008108083.tif 000008
【図７】
2008108083.tif 000009
【図８】
2008108083.tif 000010
【手続補正書】
【提出日】平成21年8月3日(2009.8.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピッチパルス情報を消失補償処理用の冗長情報として用いる音声符号化装置であって、
現フレームにおけるピッチ周期を用いて前フレームにおけるピッチパルス位置の探索範囲を決定する決定手段と、
前記前フレームの音源信号を用いて前記ピッチパルス位置の複数の候補を選択する選択手段と、
前記複数の候補を用いて前記現フレームにおける音源信号の適応符号帳成分を生成する生成手段と、
前記適応符号帳成分のベクトルと復号音源ベクトルとの誤差を最小とする前記前フレームの最終ピッチパルス位置を得る誤差最小化手段と、
を具備する音声符号化装置。
【請求項２】
前記決定手段は、前記現フレームに含まれる複数のサブフレーム各々の先頭から前記複数のサブフレーム各々におけるピッチ周期だけ遡った複数の位置のうち最も過去にある位置を前記探索範囲の開始点とする、
請求項１記載の音声符号化装置。
【請求項３】
前記選択手段は、前記探索範囲にある複数のピッチパルス位置を複数のグループに分け、前記複数のグループの各々において音源信号の振幅が最大となる位置を選択して前記複数の候補とする、
請求項１記載の音声符号化装置。
【請求項４】
前記生成手段は、前記現フレームにおけるピッチ周期およびピッチゲインを用いてパルス列を生成することにより前記適応符号帳成分を生成する、
請求項１記載の音声符号化装置。
【請求項５】
前記生成手段は、予め定められた上限数のパルスを有する前記パルス列を生成する、
請求項４記載の音声符号化装置。
【請求項６】
請求項１記載の音声符号化装置を具備する無線通信移動局装置。
【請求項７】
請求項１記載の音声符号化装置を具備する無線通信基地局装置。
【請求項８】
ピッチパルス情報を消失補償処理用の冗長情報として用いる音声符号化方法であって、
現フレームにおけるピッチ周期を用いて前フレームにおけるピッチパルス位置の探索範囲を決定し、
前記前フレームの音源信号を用いて前記ピッチパルス位置の複数の候補を選択し、
前記複数の候補を用いて前記現フレームにおける音源信号の適応符号帳成分を生成し、
前記適応符号帳成分のベクトルと復号音源ベクトルとの誤差を最小とする前記前フレームの最終ピッチパルス位置を得る、
音声符号化方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声符号化装置および音声符号化方法に関する。
【背景技術】
【０００２】
ＶｏＩＰ（Voice over IP）用の音声コーデックには、高いパケットロス耐性が要求される。次世代のＶｏＩＰ用コーデックでは、比較的高いフレーム消失率（例えば６％のフレーム消失率）においてもエラーフリーの品質を達成することが望まれる（ただし、消失誤りを補償するための冗長情報を伝送することを許容した場合）。
【０００３】
ＣＥＬＰ（Code Excited Linear Prediction）型の音声コーデックの場合、音声の立ち上がり部のフレームが消失することによる品質劣化が問題となるケースが多い。これは、立ち上がり部では信号の変化が大きく、直前のフレームの信号との相関性が低いため、直前のフレームの情報を用いた隠蔽処理が有効に機能しないことが原因であったり、立ち上がり部で符号化した音源信号が適応符号帳として後続の有声部のフレームにおいて積極的に使用されるため、立ち上がり部の消失の影響が後続する有声フレームに伝播し、復号音声信号の大きな歪につながりやすいことが原因であったりする。
【０００４】
上記問題を解決するための従来技術として、前フレームの最後の声門パルス位置を現フレームの符号化情報と共に送るものがある（例えば、非特許文献１参照）。この技術では、音声符号化装置が、前フレームの音源信号（すなわち線形予測残差信号）においてフレーム終端から過去１ピッチ周期の間で振幅が最大であるパルス位置を声門パルス位置として検出し、その位置情報を符号化して現フレームの符号化情報と共に音声復号装置へ送る。音声復号装置では、復号フレームが消失している場合、次フレームで音声符号化装置から受信される声門パルス位置に声門パルスを配置して復号音声信号を生成する。
【非特許文献１】ＩＴＵ−Ｔ勧告Ｇ.７２９.１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、ピッチ周期が正しくない場合（例えば倍ピッチ周期または半ピッチ周期である場合）、正しい声門パルス位置を検出できないことがある。また、音源信号に明確な声門パルスが存在しない場合（例えば複数のパルスが乱立するような場合）、ローパスフィルタ処理後の音源信号において、振幅が最大であるパルス位置が声門パルス位置として最適でないことがある。
【０００６】
本発明の目的は、ピッチパルス情報を消失補償処理用の冗長情報として用いる場合に、最適なピッチパルスを検出することができる音声符号化装置および音声符号化方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の音声符号化装置は、ピッチパルス情報を消失補償処理用の冗長情報として用いる音声符号化装置であって、現フレームにおけるピッチ周期を用いて前フレームにおけるピッチパルス位置の探索範囲を決定する決定手段と、前記前フレームの音源信号を用いて前記ピッチパルス位置の複数の候補を選択する選択手段と、前記複数の候補を用いて前記現フレームにおける音源信号の適応符号帳成分を生成する生成手段と、前記適応符号帳成分のベクトルと復号音源ベクトルとの誤差を最小とする前記前フレームの最終ピッチパルス位置を得る誤差最小化手段と、を具備する構成を採る。
【発明の効果】
【０００８】
本発明によれば、ピッチパルス情報を消失補償処理用の冗長情報として用いる場合に、最適なピッチパルスを検出することができる。
【発明を実施するための最良の形態】
【０００９】
本発明では、前フレームの音源信号のピッチパルス（上記従来技術における声門パルスに相当し、１ピッチ周期長の音源信号中で振幅が極大となるサンプル）の位置情報をフレーム消失補償処理用の符号化情報として伝送する場合に、最適なピッチパルス位置を検出するために、前フレームの音源信号と現フレームの音源信号の双方を用いて前フレームの最後尾にあるピッチパルス位置を探索する。
【００１０】
また、本発明では、前フレームの音源信号だけでなく、現フレームで適応符号帳成分として生成される音源信号がエラーフリーの音源信号に近くなるようにピッチパルス位置を探索する。つまり、本発明では、立ち上がり部で符号化した音源信号が適応符号帳として後続の有声部のフレームにおいて積極的に使用されるために、立ち上がり部の消失の影響が後続する有声フレームに伝播することの影響を考慮した探索を行う。このため、本発明では、後続フレームで行われる音源信号の復号処理を模擬してパルス列ベクトルを生成し、エラーフリーの復号音源ベクトルとの誤差が小さくなるようにピッチパルスの位置を決定する。
【００１１】
また、適応符号帳に長期予測フィルタ（ピッチ予測フィルタ）をかけることにより音源ベクトルの適応符号帳成分を生成すると演算量が多くなってしまうため、本発明では、ピッチパルス位置と後続フレームにおけるピッチラグとを用いて簡易的にパルスベクトルを生成して演算量を減少させる。
【００１２】
また、本発明では、ピッチパルス位置の探索を、前フレーム（消失フレームに相当）において予備選択した複数の位置候補に対して行う。すなわち、本発明では、予備選択は前フレームでの誤差を基準に行い、本選択（ピッチパルス位置の探索）は現フレーム（消失フレームの後続フレームに相当）での誤差を基準に行う。
【００１３】
以下、本発明の一実施の形態について、添付図面を参照して説明する。
【００１４】
本実施の形態に係る音声符号化装置は、現フレーム（ｎ）の符号化情報と、現フレームの１フレーム前のフレーム、すなわち、前フレーム（ｎ−１）の符号化情報とを１つの符号化データとして伝送するものである。また、本実施の形態に係る音声符号化装置は、前フレーム（ｎ−１）の音源信号に存在する複数のピッチパルスのうち時間的に最後にあるピッチパルスを効率よく、かつ、正確に探索する。
【００１５】
図１に本実施の形態に係る音声符号化装置１０の構成を示す。なお、ＬＰＣ（Linear Prediction Coefficient）パラメータ抽出部１１１、符号化部１１２、音源パラメータ抽
出部１１３および符号化部１１４によりＣＥＬＰ符号化部１１が構成される。
【００１６】
音声符号化装置１０では、現フレーム（ｎ）の情報がＣＥＬＰ符号化部１１によって符号化され、前フレーム（ｎ−１）の情報がピッチパルス抽出部１２および符号化部１３によって符号化される。音声符号化装置１０が前フレーム（ｎ−１）の情報を冗長情報として現フレーム（ｎ）の情報と共に伝送することにより、音声復号装置では、現在の符号化データの１つ前の符号化データが消失した場合でも現在の符号化データに含まれる前フレーム（ｎ−１）の情報を復号することにより復号音声信号の品質劣化を抑えることができる。冗長情報としては、前フレーム（ｎ−１）の音源信号に存在する複数のピッチパルスのうち時間的に最後にあるピッチパルス、すなわち、現フレーム（ｎ）に最も近い位置にあるピッチパルスの位置および振幅を用いる。
【００１７】
音声符号化装置１０において、入力音声信号がＬＰＣパラメータ抽出部１１１および音源パラメータ抽出部１１３に入力される。
【００１８】
ＬＰＣパラメータ抽出部１１１は、フレーム単位にＬＰＣパラメータを抽出して符号化部１１２に出力する。なお、ＬＰＣパラメータはＬＳＰ（Line Spectrum Pair または Line Spectral Pair）またはＬＳＦ（Line Spectrum Frequency または Line Spectral Frequency）等の形式であってもよい。
【００１９】
符号化部１１２は、ＬＰＣパラメータを量子化および符号化し、未量子化ＬＰＣパラメータおよび量子化ＬＰＣパラメータを音源パラメータ抽出部１１３に出力し、符号化結果（ＬＰＣ符号）を多重化部１４に出力する。
【００２０】
音源パラメータ抽出部１１３は、入力音声信号、未量子化ＬＰＣパラメータおよび量子化ＬＰＣパラメータを用いて、聴覚重み付け入力音声信号と聴覚重み付け合成音声信号との誤差が最小となる音源パラメータを決定し、その音源パラメータを符号化部１１４に出力する。一般的なＣＥＬＰ符号化の場合、音源パラメータは、ピッチラグ、固定符号帳インデックス、ピッチゲインおよび固定符号帳ゲインの４つのパラメータからなる。また、音源パラメータ抽出部１１３は、ピッチ周期、ピッチゲインおよび復号音源ベクトルをピッチパルス抽出部１２に出力する。
【００２１】
符号化部１１４は、音源パラメータを符号化し、符号化結果（音源符号）を多重化部１４に出力する。
【００２２】
ピッチパルス抽出部１２は、ピッチ周期、ピッチゲインおよび復号音源ベクトルを用いてピッチパルスを探索し、ピッチパルスの位置および振幅を符号化部１３に出力する。なお、ピッチパルス抽出部１２の詳細については後述する。
【００２３】
符号化部１３はピッチパルスの位置および振幅を符号化し、符号化結果（ピッチパルス符号）を多重化部１４に出力する。
【００２４】
多重化部１４は、ＬＰＣ符号と、音源符号と、ピッチパルス符号とを多重化して符号化ビットストリームを生成し、この符号化ビットストリームを伝送路へ送出する。
【００２５】
図２に本実施の形態に係る音声復号装置２０の構成を示す。なお、復号部２３１、復号部２３２、音源生成部２３３および合成フィルタ２３４によりＣＥＬＰ復号部２３が構成される。
【００２６】
音声復号装置２０において、音声符号化装置１０（図１）から送出された符号化ビット
ストリームが分離部２１に入力される。
【００２７】
分離部２１は、符号化ビットストリームをＬＰＣ符号と、音源符号と、ピッチパルス符号とに分離し、ＬＰＣ符号および音源符号を遅延部２２に出力し、ピッチパルス符号を復号部２４に出力する。
【００２８】
遅延部２２は、ＬＰＣ符号を１フレーム時間遅延させて復号部２３１に出力するとともに、音源符号を１フレーム時間遅延させて復号部２３２に出力する。
【００２９】
復号部２３１は、遅延部２２から入力されるＬＰＣ符号、すなわち、１フレーム前のＬＰＣ符号を復号し、復号結果（ＬＰＣパラメータ）を合成フィルタ２３４に出力する。
【００３０】
復号部２３２は、遅延部２２から入力される音源符号、すなわち、１フレーム前の音源符号を復号し、復号結果（音源パラメータ）を音源生成部２３３に出力する。音源パラメータは、上記のように、ピッチラグ、固定符号帳インデックス、ピッチゲインおよび固定符号帳ゲインの４つのパラメータからなる。
【００３１】
復号部２４は、ピッチパルス符号を復号し、復号結果（ピッチパルスの位置および振幅）を音源生成部２３３に出力する。
【００３２】
音源生成部２３３は、音源パラメータから音源信号を生成し、この音源信号を合成フィルタ２３４に出力する。ただし、１フレーム前のフレームが消失している場合は、音源生成部２３３は、ピッチパルスの位置および振幅に基づいてピッチパルスを立てて音源信号を生成し、この音源信号を合成フィルタ２３４に出力する。なお、現フレームも消失している場合は、音源生成部２３３は、前フレームの復号パラメータを繰り返し使う等、例えばＩＴＵ−Ｔ勧告Ｇ.７２９等で開示されているフレーム消失隠蔽処理を利用して音源信号を生成し、この音源信号を合成フィルタ２３４に出力する。
【００３３】
合成フィルタ２３４は、復号部２３１から入力されたＬＰＣパラメータを用いて構成され、音源生成部２３３から入力された音源信号を駆動信号として復号音声信号を合成して出力する。
【００３４】
次いで、ピッチパルス抽出部１２の詳細について説明する。図３に本実施の形態に係るピッチパルス抽出部１２の構成を示す。
【００３５】
ピッチパルス抽出部１２において、ピッチ周期ｔ［０〜Ｎ−１］が探索始点決定部１２１およびパルス列生成部１２３に入力され、ピッチゲインｇ［０〜Ｎ−１］がパルス列生成部１２３に入力され、復号音源ベクトルがピッチパルス候補選択部１２２および誤差最小化部１２４に入力される。なお、この復号音源ベクトルはエラーフリーの音源ベクトルである。
【００３６】
ここで、ピッチ周期ｔ［０］は現フレームの第１サブフレームのピッチ周期、ピッチ周期ｔ［１］は現フレームの第２サブフレームのピッチ周期、…、ピッチ周期ｔ［Ｎ−１］は現フレームの第Ｎサブフレーム（すなわち最終サブフレーム）のピッチ周期を表す。同様に、ピッチゲインｇ［０］は現フレームの第１サブフレームのピッチゲイン、ピッチゲインｇ［１］は現フレームの第２サブフレームのピッチゲイン、…、ピッチゲインｇ［Ｎ−１］は現フレームの第Ｎサブフレーム（すなわち最終サブフレーム）のピッチゲインを表す。また、復号音源ベクトルは、現フレームの先頭サンプルをｅｘ［０］とすれば、少なくともｅｘ［−ｔ＿ｍａｘ］〜ｅｘ［ｌ＿ｆｒａｍｅ−１］の範囲にある音源ベクトルである。ｔ＿ｍａｘはピッチ周期の最大値、ｌ＿ｆｒａｍｅはフレーム長である。つまり
、本実施の形態では、前フレームの末尾から最大ピッチ周期長の過去の音源ベクトルと現フレーム１フレーム分の音源ベクトルとを合わせたエラーフリーの音源ベクトルがピッチパルス探索に用いられる。なお、音源パラメータ抽出部１１３にバッファを備え、これらすべての音源ベクトルを音源パラメータ抽出部１１３から入力する構成、または、ピッチパルス抽出部１２にバッファを備え、音源パラメータ抽出部１１３からは現フレームの復号音源ベクトルのみを入力し、前フレームにおける最大ピッチ周期長の音源ベクトルはピッチパルス抽出部１２が備えるバッファに逐次保存および更新される構成のいずれを採ってもよい。
【００３７】
探索始点決定部１２１は、ピッチパルスの探索範囲を決定する。具体的には、探索始点決定部１２１は、ピッチパルスが存在し得る複数の点の中で最も過去にある点を探索始点として決定する。この探索始点は、１フレームに１種類のピッチ周期しかなければ、すなわち、１フレームが複数のサブフレームに分かれていなければ、現フレームの先頭から現フレームのピッチ周期だけ過去に遡った点となる。一方、１フレームが複数のサブフレームに分かれていて、各サブフレームのピッチ周期が異なり得る場合は、この探索始点は、各サブフレームの先頭から各サブフレームにおけるピッチ周期だけ遡った複数の点のうち最も過去にある点となる。
【００３８】
以下、探索始点決定部１２１での探索始点決定方法について図４、図５および図６を用いてより詳しく説明する。
【００３９】
図４において、現フレームの先頭、すなわち、第１サブフレームの始点（０の点）から第１サブフレームにおけるピッチ周期ｔ［０］だけ遡った点（−ｔ［０］の点）が探索始点の第１候補となる。同様に、第ｎフレームにおける探索始点の第ｎ候補は、Ｍ＊（ｎ−１）−ｔ［ｎ−１］の点となる。Ｍはサブフレーム長（サンプル数）である。よって、１フレームがＮサブフレームから構成される場合、第Ｎサブフレームにおける探索始点の第Ｎ候補は、Ｍ＊（Ｎ−１）−ｔ［Ｎ−１］の点となる。そして、第１候補〜第Ｎ候補の中で時間的に最も過去にある点が選択されて探索始点に決定される。１フレーム内でピッチ周期の変動が小さい場合は、図４に示すように、探索始点の第１候補と第Ｎ候補とを比較すると第１候補の方がより過去にある。１フレーム内でピッチ周期の変動が小さければ（すなわち倍ピッチ周期や半ピッチ周期が発生していなければ）、探索始点の第１候補は第２候補〜第Ｎ候補のいずれよりも過去にあるので、第１候補が探索始点に決定される。
【００４０】
一方、図５に示すように、第Ｎサブフレームにおけるピッチ周期が長く、探索始点の第１候補よりも第Ｎ候補の方が過去になる場合もある。この場合には、第１候補は探索始点とならない。
【００４１】
そこで、本実施の形態では、図６に示す処理フローに従って探索始点を決定する。
【００４２】
まず、ステップＳ６１において、探索始点の第１候補（０−ｔ［０］）を求める。
【００４３】
そして、ステップＳ６２において、ステップＳ６１で求めた第１候補を探索始点に仮決定する。つまり、第１候補を仮候補とする。
【００４４】
次いで、ステップＳ６３において、探索始点の第２候補を求める。
【００４５】
次いで、ステップＳ６４において、仮候補（第１候補）と第２候補とを比較する。
【００４６】
そして、第２候補が仮候補（第１候補）より過去にある場合、すなわち、第２候補の位置の値が仮候補（第１候補）の位置の値より小さい場合（ステップＳ６４：ＮＯ）には、
ステップＳ６５において、仮候補を第２候補で更新する。つまり、この場合には、第２候補が新たな仮候補となる。
【００４７】
一方、仮候補（第１候補）が第２候補より過去にある場合、すなわち、仮候補（第１候補）の位置の値が第２候補の位置の値より小さい場合（ステップＳ６４：ＹＥＳ）には、仮候補は第１候補のままとなる。
【００４８】
そして、ステップＳ６４およびステップＳ６５の処理を第Ｎサブフレームまで繰り返す（ステップＳ６４〜ステップＳ６７）。
【００４９】
そして、ステップＳ６８において、最終的な仮候補を探索始点として決定する。
【００５０】
このような処理フローにより、探索始点は第１候補〜第Ｎ候補の中で時間的に最も過去にある点となる。
【００５１】
このようにして探索始点決定部１２１で決定された探索始点がピッチパルス候補選択部１２２に入力される。
【００５２】
ピッチパルス候補選択部１２２は、探索始点から現フレームの先頭の点の１つ前の点（すなわち前フレームの最後の点（前フレームの末尾の点））までを探索範囲とし、この探索範囲において振幅が大きい復号音源ベクトルの位置をピッチパルス位置候補として選択する。この選択処理の演算量を削減するために、ピッチパルス候補選択部１２２は、選択するピッチパルス位置候補の数と同数のグループに探索範囲を分割し、各グループの中からそれぞれ振幅最大の位置を検出し、検出された複数の位置をピッチパルス位置候補とする。ここで複数のグループは連続する点から構成されてもよく、また、ＩＴＵ−Ｔ勧告Ｇ.７２９に示された代数符号帳のように等間隔の複数の点の集合で構成されてもよい。複数のグループを連続する点から構成する場合には、例えば探索始点から探索終点（前フレームの末尾の点）までの間を均等に分割するとよい。また、複数のグループを等間隔の複数の点の集合で構成する場合には、例えば探索始点を０として０，５，１０…の点を第１グループ、１，６，１１…の点を第２グループ、…、４，９，１４…の点を第５グループのようにするとよい。
【００５３】
このようにしてピッチパルス候補選択部１２２で選択されたピッチパルス位置候補が切替スイッチ１２５に入力される。
【００５４】
切替スイッチ１２５は、ピッチパルス候補選択部１２２から入力される複数のピッチパルス位置候補を順次切り替えてパルス列生成部１２３および誤差最小化部１２４に出力する。
【００５５】
パルス列生成部１２３は、切替スイッチ１２５から入力されたピッチパルス位置候補にピッチパルスを立てた場合に、現フレームでこのピッチパルスから適応符号帳成分として生成されるベクトルをパルス列として生成する。このパルス列の生成は、適応符号帳に長期予測フィルタ（ピッチ予測フィルタ）をかけることにより行うことができる。しかし、本実施の形態では、演算量を削減するために、パルス位置にピッチ周期を加算した位置にパルスを立てることによりこのパルス列を生成する。
【００５６】
パルス列生成部１２３でのパルス列生成方法について図７（Ａ）〜（Ｃ）を用いて詳しく説明する。
【００５７】
図７（Ａ）に示すように、ピッチパルス候補選択部１２２から切替スイッチ１２５を介
して入力されたピッチパルス位置候補をＡとすると、まずＡに振幅Ｐ（＝１）のパルスを立てる。
【００５８】
次いで、このパルス（位置：Ａ，振幅：Ｐ）を基にして第１サブフレームにパルスを立てる。まず、位置Ａからｔ［０］（第１サブフレームにおけるピッチ周期）後の位置Ｂ（＝Ａ＋ｔ［０］）が第１サブフレーム内にあるか否か判定する。図７（Ａ）の例では、位置Ｂは第１サブフレーム内にあるので、位置Ｂに振幅Ｑ（＝Ｐ＊ｇ［０］）のパルスを立てる。
【００５９】
次いで、位置Ｂからｔ［０］後の位置Ｃ（＝Ｂ＋ｔ［０］）が第１サブフレーム内にあるか否か判定する。図７（Ｂ）の例では、位置Ｃは未だ第１サブフレーム内にあるので、位置Ｃに振幅Ｒ（＝Ｑ＊ｇ［０］）のパルスを立てる。そして、さらに位置Ｃからｔ［０］後の位置Ｃ’（＝Ｃ＋ｔ［０］）が第１サブフレーム内にあるか否か判定する。図７（Ｂ）の例では、位置Ｃ’は第１サブフレーム外にあるので、第１サブフレーム内に立てることが可能なすべてのパルスが立ったものと判断する。そして、第２サブフレームのパルス生成に移る。
【００６０】
第２サブフレームのパルス生成は、図７（Ｃ）に示すように、第１サブフレームまでに立てたすべてのパルスの位置に第２サブフレームにおけるピッチ周期ｔ［１］を加算し、その加算結果により示される位置が第２サブフレーム内にあるか否か判定することにより行う。
【００６１】
すなわち、図７（Ｃ）の例では、位置Ａにｔ［１］を加算した位置Ａ’は第２サブフレーム内にないので、位置Ａ’にはパルスを立てない。また、位置Ｂにｔ［１］を加算した位置Ｂ’は第２サブフレーム内にあるので、位置Ｂ’に振幅Ｑ’（＝Ｑ＊ｇ［１］）のパルスを立てる。また、位置Ｃにｔ［１］を加算した位置Ｄは第２サブフレーム内にあるので、位置Ｄに振幅Ｓ（＝Ｒ＊ｇ［１］）のパルスを立てる。そして、位置Ｃの次の位置Ｂ’にｔ［１］を加算した位置は第２サブフレーム外になるので、ここで第２サブフレームのパルス生成を終了する。
【００６２】
すなわち、各ピッチパルス位置候補に対するこのようなパルス列生成は図８に示す処理フローに従って行われる。
【００６３】
まず、ステップＳ８１において、入力されたピッチパルス位置候補に振幅＝１の初期パルスを立てる（初期パルス生成）。
【００６４】
次いで、ステップＳ８２において、既に立てられたパルスを周期化元パルスに設定する。例えば、既に立てられたパルスのうち、最も過去にあるパルスを周期化元パルスに設定する。
【００６５】
次いで、ステップＳ８３において、対象サブフレームのピッチ周期を用いて次のパルス（以下、周期化パルスと呼ぶ）の位置を生成する。すなわち、周期化元パルスの位置に対象サブフレームのピッチ周期を加算して得られた位置を周期化パルスの位置とする。
【００６６】
ここで、ピッチ周期は小数精度であってもよい。小数精度の場合は、生成される周期化パルスの位置が整数にならない場合があるが、その場合には小数点以下を四捨五入する等して周期化パルスの位置を整数精度にする。これにより、パルス列のスパース性を保証し、後続の誤差演算における演算量の増加を抑えることができる。ただし、このようにして整数精度化したパルスの位置を再帰的に用いると時間的に後ろにあるパルスの位置の誤差が大きくなる。そこで、パルスの位置を再帰的に用いる部分では、小数精度のまま周期化
パルスの位置を求めるようにする。これにより、パルスの位置の誤差が累積されることを防ぐことができる。
【００６７】
次いで、ステップＳ８４において、周期化パルスの位置が対象サブフレーム内にあるか否か判定する。
【００６８】
周期化パルスの位置が対象サブフレーム内にある場合には（ステップＳ８４：ＹＥＳ）、ステップＳ８５において、次のパルス（すなわち、対象サブフレーム内にあると判断された前記周期化パルス）の振幅を求め（振幅生成）、その振幅を持つ次のパルスを生成して前記周期化パルスの位置に立てる。つまり、対象サブフレーム内にあると判断されたパルスをパルス列（すなわち周期化元のパルスの集合）に追加する。そして、ステップＳ８６に進む。
【００６９】
一方、周期化パルスの位置が対象サブフレーム外にある場合には（ステップＳ８４：ＮＯ）、周期化パルスを生成することなくステップＳ８６に進む。
【００７０】
ステップＳ８６では、周期化元パルスを次に移行する。すなわち、ステップＳ８３で得られた周期化パルスも含めたパルス列の中で、ここまで周期化元パルスとしていたパルスの次に時間的に過去側にあるパルスの位置を新たな周期化元パルスの位置とする。
【００７１】
次いで、ステップＳ８７において、対象サブフレーム内において対象サブフレームのピッチ周期を用いて生成可能なすべての周期化パルスが生成されたか否か判定する。すなわち、対象サブフレームにおける周期化パルス生成が完了したか否か判定する。周期化元パルスの位置が対象サブフレーム外になる場合に、対象サブフレームにおける周期化パルス生成が完了したものとする。なお、サブフレーム毎のパルス数の上限値を予め設定しておき、対象サブフレームにおいて生成した周期化パルスの数がその上限値に達した場合に、対象サブフレームにおける周期化パルス生成が完了したものとしてもよい。これにより、パルス列生成の演算量に上限を設けることができる。なお、ステップＳ８７は、ステップＳ８１の直後にあってもよい。
【００７２】
対象サブフレームにおける周期化パルス生成が完了した場合には（ステップＳ８７：ＹＥＳ）、ステップＳ８８において、対象サブフレームを次のサブフレームに移行する。
【００７３】
一方、対象サブフレームにおける周期化パルス生成が完了していない場合には（ステップＳ８７：ＮＯ）、ステップＳ８３に戻る。
【００７４】
次いで、ステップＳ８９において、全てのサブフレームにおけるパルス生成が完了したか否か判定する。
【００７５】
そして、全てのサブフレームにおけるパルス生成が完了した場合には（ステップＳ８９：ＹＥＳ）、パルス列の生成を終了する。
【００７６】
一方、全てのサブフレームにおけるパルス生成が完了していない場合には（ステップＳ８９：ＮＯ）、ステップＳ８２に戻り、周期化元パルスを既に生成したパルス列の先頭パルス（すなわち時間的に最も過去にあるパルス）に戻し、上記同様にして次のサブフレームを対象としたパルス列生成行う。
【００７７】
このようにしてパルス列生成部１２３で生成された、各ピッチパルス位置候補に対するパルス列が誤差最小化部１２４に入力される。
【００７８】
誤差最小化部１２４は、復号音源ベクトルと、パルス列ベクトルに最適ゲインを乗じたベクトルとの二乗誤差が最小であるか否か判定する。具体的には、誤差最小化部１２４は、過去に入力されたピッチパルス位置候補において最小となった二乗誤差より今回入力されたピッチパルス位置候補における二乗誤差がさらに小さいか否か判定する。そして、誤差最小化部１２４は、今回入力されたピッチパルス位置候補におけるパルス列ベクトルがこれまでで最小の二乗誤差が得られるパルス列ベクトルである場合には、ピッチパルス位置候補およびそのパルス列ベクトルを保存する。誤差最小化部１２４は、切替スイッチ１２５に順次切替指示を与えながら、すべてのピッチパルス位置候補について上記処理を行う。そして、誤差最小化部１２４は、すべてのピッチパルス位置候補について上記処理を終えた時点で保存されているピッチパルス位置候補をピッチパルス位置として出力するとともに、その時点で保存されているパルス列ベクトルに対する理想ゲインをピッチパルス振幅として出力する。なお、誤差最小化部１２４は、二乗誤差を計算することなく、二乗誤差の大小比較を行える評価尺度を用いて最小二乗誤差を得てもよい。
【００７９】
このように、本実施の形態によれば、探索始点候補の選択を前フレームでの誤差に基づいて行う。また、最終的なピッチパルス位置の選択を、前フレームに立てられるピッチパルスと音源信号との誤差および現フレームにおいて立てられるパルス列と音源信号との誤差により行う、つまり、前フレームと現フレームの双方を考慮してピッチパルスを探索する。このため、消失フレームを隠蔽するためのピッチパルスとして最適なピッチパルス、すなわち、消失フレームと後続フレームの双方に対して有効なピッチパルスを検出することができる。これにより、音声復号装置では、消失フレームが発生した場合でも高品質な復号音声信号を得ることができる。
【００８０】
また、本実施の形態によれば、音声符号化装置では、１フレーム前の符号化フレーム（ｎ−１）に対する消失補償処理用の冗長情報を現符号化フレーム（ｎ）で送るため、アルゴリズム遅延を生じずに、消失補償処理用の冗長情報を符号化することができる。これにより、音声復号装置では、消失補償の高品質化のための情報を使用しない場合には、復号処理全体のアルゴリズム遅延を１フレーム分短くすることが可能となる。
【００８１】
また、本実施の形態によれば、１フレーム前の符号化フレーム（ｎ−１）に対する消失補償処理用の冗長情報を現符号化フレーム（ｎ）で送る。そのため、消失が想定されるフレームが立ち上がりフレーム等の重要フレームかどうかを時間的に未来の情報も用いて判定することができるので、その判定精度を高めることができる。
【００８２】
以上、本発明の実施の形態について説明した。
【００８３】
なお、上記実施の形態に係る音声符号化装置および音声復号装置は、移動体通信システムにおける無線通信移動局装置および無線通信基地局装置に搭載することが可能であり、これにより上記同様の作用および効果を有する無線通信移動局装置、無線通信基地局装置および移動体通信システムを提供することができる。
【００８４】
また、上記実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はソフトウェアで実現することも可能である。例えば、本発明に係る音声符号化方法のアルゴリズムをプログラミング言語によって記述し、このプログラムを情報処理手段によって実行させることにより、本発明に係る音声符号化装置と同様の機能を実現することができる。
【００８５】
また、上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、Ｉ
Ｃ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００８６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。
【００８７】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【００８８】
２００７年３月２日出願の特願２００７−０５３５３０の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【００８９】
本発明に係る音声符号化装置および音声符号化方法は、移動体通信システムにおける無線通信移動局装置、無線通信基地局装置等に適用することができる。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施の形態に係る音声符号化装置の構成を示すブロック図
【図２】本発明の一実施の形態に係る音声復号装置の構成を示すブロック図
【図３】本発明の一実施の形態に係るピッチパルス抽出部の構成を示すブロック図
【図４】本発明の一実施の形態に係る探索始点決定方法を説明するための図
【図５】本発明の一実施の形態に係る探索始点決定方法を説明するための図
【図６】本発明の一実施の形態に係る探索始点の決定手順を示すフロー図
【図７】本発明の一実施の形態に係るパルス列生成方法を説明するための図
【図８】本発明の一実施の形態に係るパルス列の生成手順を示すフロー図
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008108083.tif 000011
【図２】
2008108083.tif 000012
【図３】
2008108083.tif 000013
【図４】
2008108083.tif 000014
【図５】
2008108083.tif 000015
【図６】
2008108083.tif 000016
【図７】
2008108083.tif 000017
【図８】
2008108083.tif 000018
【国際調査報告】
2008108083.tif 000019
2008108083.tif 000020