(57)【要約】【課題】プリエコーを適宜抑制し、音質の良いビットストリームを作成することができるオーディオ符号化技術を提供することを課題とする。【解決手段】オーディオ入力信号を処理単位のフレームに分割するフレーム分割部（１）と、フレーム分割されたオーディオ入力信号を分析して聴覚エントロピー値を出力する聴覚心理演算部（３）と、聴覚心理演算部が出力する聴覚エントロピー値と聴覚エントロピー閾値とを基に、フレームの変換ブロック長を決定するブロック長判定部（４）と、ブロック長判定部が決定したブロック長に応じて、フレームをブロック化し、周波数スペクトルに変換するフィルタバンク（２）と、各フレームに割り当てる余剰ビット量を制御するビットリザーバ（６）とを有し、ブロック長判定部は、ビットリザーバが制御する余剰ビット量に応じて、聴覚エントロピー閾値を決定することを特徴とするオーディオ信号符号化装置が提供される。【選択図】        図１
2005003835.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ入力信号を処理単位のフレームに分割するフレーム分割部と、
前記フレーム分割されたオーディオ入力信号を分析して聴覚エントロピー値を出力する聴覚心理演算部と、
前記聴覚心理演算部が出力する聴覚エントロピー値と聴覚エントロピー閾値とを基に、前記フレームの変換ブロック長を決定するブロック長判定部と、
前記ブロック長判定部が決定したブロック長に応じて、前記フレームをブロック化し、周波数スペクトルに変換するフィルタバンクと、
各フレームに割り当てる余剰ビット量を制御するビットリザーバとを有し、
前記ブロック長判定部は、前記ビットリザーバが制御する余剰ビット量に応じて、前記聴覚エントロピー閾値を決定することを特徴とするオーディオ信号符号化装置。
【請求項２】
さらに、前記フィルタバンクによって変換される周波数スペクトルを複数の周波数帯域に分割して、前記聴覚心理演算部が演算する信号対マスク比に応じて各周波数帯域に割り当てるビット量を決定するビット割当て部と、
前記ビット割当て部によって決定されたビット割当てに応じて、前記フィルタバンクによって変換される周波数スペクトルを量子化する量子化部と、
前記量子化部によって量子化された量子化スペクトルを規定のフォーマットに従って整形したビットストリームを生成するビット整形部とを有することを特徴とする請求項１記載のオーディオ信号符号化装置。
【請求項３】
前記ブロック長判定部は、前記ビットリザーバが制御する余剰ビット量が最大余剰ビット量の半数より少ない場合、前記聴覚エントロピー閾値を増加することを特徴とする請求項１又は２記載のオーディオ信号符号化装置。
【請求項４】
前記ブロック長判定部は、前記ビットリザーバが制御する余剰ビット量が最大余剰ビット量の半数より多い場合、前記聴覚エントロピー閾値を減少することを特徴とする請求項１〜３のいずれか１項に記載のオーディオ信号符号化装置。
【請求項５】
前記ブロック長判定部は、前記ビットリザーバが制御する余剰ビット量に反比例するように前記聴覚エントロピー閾値を決定することを特徴とする請求項１〜４のいずれか１項に記載のオーディオ信号符号化装置。
【請求項６】
前記ブロック長判定部は、前記聴覚エントロピー閾値を所定範囲内において決定することを特徴とする請求項１〜５のいずれか１項に記載のオーディオ信号符号化装置。
【請求項７】
オーディオ入力信号を処理単位のフレームに分割するフレーム分割ステップと、
前記フレーム分割されたオーディオ入力信号を分析して聴覚エントロピー値を出力する聴覚心理演算ステップと、
前記出力された聴覚エントロピー値と聴覚エントロピー閾値とを基に、前記フレームの変換ブロック長を決定するブロック長判定ステップと、
前記決定したブロック長に応じて、前記フレームをブロック化し、周波数スペクトルに変換する変換ステップと、
各フレームに割り当てる余剰ビット量を制御する制御ステップとを有し、
前記ブロック長判定ステップは、前記余剰ビット量に応じて、前記聴覚エントロピー閾値を決定することを特徴とするオーディオ信号符号化方法。
【請求項８】
オーディオ入力信号を処理単位のフレームに分割するフレーム分割ステップと、
前記フレーム分割されたオーディオ入力信号を分析して聴覚エントロピー値を出力する聴覚心理演算ステップと、
前記出力された聴覚エントロピー値と聴覚エントロピー閾値とを基に、前記フレームの変換ブロック長を決定するブロック長判定ステップと、
前記決定したブロック長に応じて、前記フレームをブロック化し、周波数スペクトルに変換する変換ステップと、
各フレームに割り当てる余剰ビット量を制御する制御ステップとをコンピュータに実行させるためのプログラムであって、
前記ブロック長判定ステップは、前記余剰ビット量に応じて、前記聴覚エントロピー閾値を決定することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オーディオ信号の符号化技術に関し、特に、変換ブロック長の変更が可能な変換符号化技術を利用したオーディオ信号符号化技術に関する。
【０００２】
【従来の技術】
近年、高音質、かつ高効率なオーディオ信号符号化技術は、ＤＶＤ−Ｖｉｄｅｏの音声トラックや、半導体メモリやＨＤＤなどを利用した携帯オーディオプレイヤー、インターネットを介した音楽配信、家庭内ＬＡＮにおけるホームサーバなどに広く利用され、幅広く普及するとともにその重要性も増している。
【０００３】
このようなオーディオ信号符号化技術の多くは、変換符号化技術を利用して時間周波数変換を行っている。例えば、ＭＰＥＧ２−ＡＡＣやＤｏｌｂｙ  Ｄｉｇｉｔａｌ（ＡＣ−３）などでは、ＭＤＣＴなどの直交変換単体でフィルタバンクを構成しており、ＭＰＥＧ１  Ａｕｄｉｏ  Ｌａｙｅｒ３（ＭＰ３）やＡＴＲＡＣ（ＭＤ）では、ＱＭＦなどのサブバンド分割フィルタと直交変換を多段接続してフィルタバンクを構成している。
【０００４】
これらの高効率オーディオ符号化技術では、人間の聴覚特性を利用したマスキング分析を行うことによって、マスキングされると判断したスペクトル成分を取り除くことにより、圧縮効率を高めている。
【０００５】
これらの高効率オーディオ符号化技術で用いられているマスキング分析は、主に、静寂時の可聴周波数領域によるマスキングと、臨界帯域におけるマスカーによる周波数マスキングである。
【０００６】
上記マスキング分析により、人間に感知できないと判断される信号は主に高周波域の信号になるため、通常の場合、高周波成分の量子化誤差は多少大きくなってもマスキングされうる。
【０００７】
ところが、変換符号化方式では、オーディオ入力信号に急激な変化がある、いわゆる過渡状態の場合、急激な変化が起こっている部分の高周波成分の量子化誤差が、急激な変化の直前や直後の信号にまで影響を与えるため、リンギングノイズが生じる。
【０００８】
人間の聴覚特性として、大きな音が発生した場合、その直前と直後の時間は音が聞こえづらくなる。これを時間マスキング効果という。大きな音の後に聞こえなくなる時間は、個人差はあるが約１００ｍｓｅｃ程度と比較的長い。しかしながら、直前に働くマスキング効果の時間は約５〜６ｍｓｅｃと短い。従って、リンギングノイズが生じると、大きな音の前のノイズは感知されやすくなってしまう。これは一般にプリエコーと呼ばれる現象である。
【０００９】
以下、この現象を図を用いて説明する。
【００１０】
図８は、急激に変化しているオーディオ入力信号の一例である。この信号を、ＭＰＥＧ−２  ＡＡＣの通常のブロック長の場合の変換単位である２０４８  サンプルで符号化・復号化したオーディオ信号の例を図９に示している。図示したように急激な信号の変化の部分で生じている高周波域の量子化誤差が、ブロック全域に渡って影響している。
【００１１】
前述したように、振幅が急激に変化する部分の直前では、時間マスキング効果によって人間はノイズを感知できない。しかしながら、入力信号が音楽用ＣＤに用いられているＰＣＭ信号と同様な４４．１ＫＨｚサンプリング周波数を用いていると仮定して、変換単位を時間に換算すると、２０４８サンプルの時間は２０４８÷４４１００×１０００＝約４６．４４ｍｓとなるため、この前半の時間にノイズが生じているとしてもプリマスキング時間をはみだしてしまい、人間はプリエコーを感知してしまう。
【００１２】
これを抑制するための一方法として、種々のオーディオ符号化方式では、入力信号の急激な変化を検知して変換ブロック長を短くすることにより、急激な変化による高周波成分の量子化誤差が、変化直前の部分に及ばないようにすることで、プリエコーの発生を抑制している。
【００１３】
図１０では、ＭＰＥＧ−２  ＡＡＣにおけるショートブロック長の場合の変換単位である２５６サンプルで図８に示すオーディオ信号を符号化、復号化した場合の時間領域信号を示している。この場合、入力信号の急激な変化による高周波数域の量子化誤差の影響は、変化が発生している２５６サンプルブロックの中に閉じ込められてしまう。先ほどと同様に、このブロック長を４４．１ＫＨｚサンプリング周波数で時間に換算すると、約５．８０ｍｓとなるため、プリマスキング効果によりこのノイズを人間はほぼ感知できなくなり、結果としてプリエコーは消える。
【００１４】
なお、実際の処理では、変換によって生じる折り返し歪みを除去するために、変換兆単位のウィンドウ掛けを行った上で変換長の５０％ずつ入力サンプルをずらして変換を行ない、その結果の重ねあわせを行なうが、この手続きは本図では説明の便宜上省略している。
【００１５】
ところが、一般にブロック長を短くすると、周波数分解能が落ちることによりマスキング分析の精度が落ちるばかりでなく、量子化時に使用する各周波数帯域ごとの正規化係数（以下、スケールファクタ）がブロックの数だけ増大するために、そこで消費される情報量が増えてしまい、量子化時に本来ならスペクトル情報に割り当てるべきビットがスケールファクタに消費されてしまうため、符号化効率が低下する。その結果、特に低ビットレート時には量子化誤差が厳密にマスキングできなくなるため、ブロック長が長い場合に比較して、ノイズが感知されやすくなる恐れがある。
【００１６】
そこで、実際のブロック長を決定する場合は、プリエコーの抑制と符号化効率の低下によって発生するノイズとのバランスを適宜考慮して決める必要がある。
【００１７】
このブロック長選択方法として、ＭＰ３やＭＰＥＧ−２  ＡＡＣなどのＭＰＥＧ  Ａｕｄｉｏ符号化方式では、当該ブロック毎に聴覚エントロピー（以下ＰＥ）を算出し、予め定められたＰＥ閾値よりも大きい場合に、短いブロック長を選択することになっている。
【００１８】
また、上述したように、ショートブロックを選択して符号化処理を行う場合、ロングブロックで符号化処理を行うよりも総合的なビット消費量が増える。このようなフレーム毎のビット消費量の増減を吸収する仕組みとして、ビットリザーバが考案されている。これは、余剰ビットを蓄積するバッファを用意しておき、無音部のようなビット消費量の少ないフレームに割り当てられる余剰ビットを蓄積して、過渡状態のようにビット消費量が増えるフレームに蓄積した余剰ビットを割り当てる手法である。
【００１９】
例えば、ＭＰＥＧ２−ＡＡＣでは、１フレームに割り当てられる最大ビット数が規格によって６１４４×（ＬＦＥ（Ｌｏｗ  Ｆｒｅｑｕｅｎｃｙ  Ｅｎｈａｎｃｅｍｅｎｔ）以外のチャンネル数）ビットと定まっている。従って、４４．１ＫＨｚ、２チャンネル、ステレオのオーディオ入力信号を９６ｋｂｐｓのビットレートで符号化する場合、１フレーム当たりの平均ビット消費量は９６０００×１０２４／４４１００＝２２２９ビットであるため、ビットリザーバとして最大６１４４×２−２２２９＝１００５９ビットの大きさのバッファが用意される。
【００２０】
また、下記の特許文献１では、ＰＥの最大値から最小値を引いた差分と固定の閾値を比較することによってブロック長の切り替えを判断する技術が開示されている。
【００２１】
また、下記の特許文献２では、聴覚エントロピーの計算は行わずに、入力ＰＣＭ信号をブロック長よりも短いセグメントに分割し、振幅の急激な変化を検知し、急激な変化を検知した場合、その前のセグメントにおける量子化ノイズとそれ以前のセグメントのマスキング値を推定し、マスキングできない量子化ノイズが発生する場合に短いブロック長を選択するという方式が開示されている。
【００２２】
【特許文献１】
特開２０００−２７６１９８号公報
【特許文献２】
特開２００１−１４２４９３号公報
【００２３】
【発明が解決しようとする課題】
上記のように、例えばＭＰＥＧ−２  ＡＡＣ規格書（ＩＳＯ／ＩＥＣ１３８１８−７：１９９７）に記載されているブロック長判定方法では、ブロック毎のＰＥと固定のＰＥ閾値との比較のみでブロック長を決定している。ところが、このＰＥ閾値は実際には機器の実装や入力信号により変化するため、固定のＰＥ閾値をあらゆる場合に適用すると、楽曲によってはブロック長の決定が正しくないことが度々生じ、往々にして符号化効率が下がったり、プリエコーが生じたりして音質劣化する場合がある。
【００２４】
例えば、従来の固定のＰＥ閾値によって様々なオーディオ信号のブロック長選択を行うと、変化が激しい音楽では、短いブロック長が多用されることになるため、符号化効率が落ち、結果としてマスクされないノイズが増え、音質劣化する。逆に、大人しい音楽では、適切に短いブロック長が選択されずに、プリエコーが生じてしまう。
【００２５】
本発明は上記問題点に鑑みて考案されたものであり、ビットリザーバに蓄積されている余剰ビット量によってＰＥ閾値を適宜調整することにより、適切なブロック選択を可能にすることで、必要以上に短いブロック長が選択されることを防止して符号化効率を保ちながら、プリエコーを適宜抑制し、音質の良いビットストリームを作成することができるオーディオ符号化技術を提供するものである。
【００２６】
【課題を解決するための手段】
本発明の一観点によれば、オーディオ入力信号を処理単位のフレームに分割するフレーム分割部と、前記フレーム分割されたオーディオ入力信号を分析して聴覚エントロピー値を出力する聴覚心理演算部と、前記聴覚心理演算部が出力する聴覚エントロピー値と聴覚エントロピー閾値とを基に、前記フレームの変換ブロック長を決定するブロック長判定部と、前記ブロック長判定部が決定したブロック長に応じて、前記フレームをブロック化し、周波数スペクトルに変換するフィルタバンクと、各フレームに割り当てる余剰ビット量を制御するビットリザーバとを有し、前記ブロック長判定部は、前記ビットリザーバが制御する余剰ビット量に応じて、前記聴覚エントロピー閾値を決定することを特徴とするオーディオ信号符号化装置が提供される。
本発明の他の観点によれば、オーディオ入力信号を処理単位のフレームに分割するフレーム分割ステップと、前記フレーム分割されたオーディオ入力信号を分析して聴覚エントロピー値を出力する聴覚心理演算ステップと、前記出力された聴覚エントロピー値と聴覚エントロピー閾値とを基に、前記フレームの変換ブロック長を決定するブロック長判定ステップと、前記決定したブロック長に応じて、前記フレームをブロック化し、周波数スペクトルに変換する変換ステップと、各フレームに割り当てる余剰ビット量を制御する制御ステップとを有し、前記ブロック長判定ステップは、前記余剰ビット量に応じて、前記聴覚エントロピー閾値を決定することを特徴とするオーディオ信号符号化方法が提供される。
本発明のさらに他の観点によれば、オーディオ入力信号を処理単位のフレームに分割するフレーム分割ステップと、前記フレーム分割されたオーディオ入力信号を分析して聴覚エントロピー値を出力する聴覚心理演算ステップと、前記出力された聴覚エントロピー値と聴覚エントロピー閾値とを基に、前記フレームの変換ブロック長を決定するブロック長判定ステップと、前記決定したブロック長に応じて、前記フレームをブロック化し、周波数スペクトルに変換する変換ステップと、各フレームに割り当てる余剰ビット量を制御する制御ステップとをコンピュータに実行させるためのプログラムであって、前記ブロック長判定ステップは、前記余剰ビット量に応じて、前記聴覚エントロピー閾値を決定することを特徴とするプログラムが提供される。
【００２７】
ビットリザーバによって制御されている余剰ビット量に応じて、変換ブロック長決定の際に参照する聴覚エントロピー閾値を決定するため、プリエコーの発生を極力避けながらより符号化効率の高い符号化処理が可能となり、特に低ビットレート時に音質的な破綻の少ない符号化処理を実現することができる。すなわち、符号化効率の低下を防止しつつ、プリエコーの発生を極力抑えることにより高音質なビットストリームを作成することができる。
【００２８】
【発明の実施の形態】
（第１の実施形態）
以下図面を参照しながら本発明を詳細に説明する。
図１は、本発明の第１の実施形態におけるオーディオ符号化装置の一構成例である。
【００２９】
図示の構成において、１はオーディオ入力信号を処理単位であるフレームに分割するフレーム分割器である。ここで分割されたフレームは後述するフィルタバンク２と聴覚心理演算器３へ送出される。
【００３０】
２はフィルタバンクであり、フレームに分割された入力時間信号をブロック長判定器４によって指定された長さのブロック長で周波数スペクトルに変換する。
【００３１】
３は聴覚心理演算器であり、オーディオ入力信号をフレーム単位に分析し、聴覚エントロピー値の算出と、量子化単位となる分割周波数帯域ごとのマスキング計算を行う。この演算の結果、聴覚エントロピー値（ＰＥ）がブロック長判定器４に、また、各分割周波数帯域ごとの信号対マスク比（Ｓｉｇｎａｌ  Ｍａｓｋ  Ｒａｔｉｏ：ＳＭＲ）がビット割当て器５にそれぞれ出力される。
【００３２】
４はブロック長判定器であり、ビットリザーバ６に蓄積されている余剰ビット量に応じてＰＥ閾値を変更して保持し、聴覚心理演算器３から送出されるＰＥとＰＥ閾値とを比較して変換ブロック長を判定し、フィルタバンク２に通知する。
【００３３】
５はビット割当て器であり、聴覚心理演算器３より送出される分割周波数帯域ごとのＳＭＲ値やフィルタバンク２から出力される周波数スペクトルやビットリザーバ６からの割当てビット量を参考にして、各分割周波数帯域に割り当てるビット量を決定する。
【００３４】
６はビットリザーバであり、複数のフレームに渡り余剰ビットの調整を行い、蓄積された余剰ビット量をブロック長判定器４に出力し、また、各フレームに割り当てる総ビット量をビット割当て器５に通知する。
【００３５】
７は量子化器であり、フィルタバンク２が出力する周波数スペクトルの正規化係数（スケールファクタ）を各周波数帯域毎に算出し、ビット割当て器５が出力する、各周波数帯域に割り当てられたビット量に従って周波数スペクトルを量子化する。
【００３６】
８はビット整形器であり、量子化器７が出力するスケールファクタと量子化スペクトルを適宜規定のフォーマットに整形してビットストリームを作成し、出力する。
【００３７】
上記構成によるオーディオ信号符号化装置におけるオーディオ信号の処理動作を以下に説明する。
【００３８】
なお、本実施形態では説明の便宜のために符号化方式としてＭＰＥＧ２−ＡＡＣを例にとって説明するが、ＭＰ３など、ＰＥによってブロック長切り替え判定を行うその他の符号化方式についても全く同様な方法で実現可能である。
【００３９】
まず、処理に先立ち、各部の初期化を行う。このとき、ＰＥ閾値の初期値としては本実施形態において２０００が与えられ、ブロック長判定器４に格納される。
【００４０】
オーディオＰＣＭ信号などの入力オーディオ信号はフレーム分割器１によってフレーム単位に分割され、フィルタバンク２と聴覚心理演算器３に送出される。ＭＰＥＧ２−ＡＡＣ  ＬＣ（Ｌｏｗ−Ｃｏｍｐｌｅｘｉｔｙ）プロファイルの場合、１フレームは１０２４サンプルのＰＣＭ信号で構成される。
【００４１】
入力オーディオ信号はフレーム毎に聴覚心理演算器３によって聴覚エントロピーと各周波数帯域ごとのマスキング計算が行われる。算出された聴覚エントロピー値はブロック長判定器４によって、ＰＥ閾値と比較される。ここで、ＰＥ閾値よりも当該フレームのＰＥ値が大きい場合は、短いブロック長を使用することが判定され、そうでない場合は、長いブロック長を使用することが判定される。フィルタバンク２では、この判定に沿ったブロック長で、入力信号を周波数スペクトルへ変換する。
【００４２】
なお、ＭＰＥＧ２−ＡＡＣでは、フィルタバンクにおいて直交変換によるエイリアシングを除去するために、ＭＤＣＴによる重複変換が行われる。その都合上、時間周波数変換では、処理対象フレームとその直前のフレームを合わせた２０４８サンプルを一単位として入力し、１０２４個の周波数スペクトルを得る。このとき、長いブロック長を用いる場合は、入力信号の２０４８サンプルを一つのブロックとして直交変換を行い、１０２４個の周波数スペクトルを出力する。短いブロック長を用いる場合は、入力信号の２５６サンプルを一つのブロックとして１２８個の周波数スペクトルを出力する変換を、入力信号を１２８サンプルずつずらしながら都合８回の変換を行う。
【００４３】
フィルタバンク２から出力された周波数スペクトルと、聴覚心理演算器３から出力されたＳＭＲ値と、ビットリザーバ６から出力された各フレームの割り当て総ビット数によって、ビット割当て器５は各周波数帯域にビットを割り当て、量子化器７は各周波数帯域のスケールファクタを算出し、各周波数帯域に割り当てられたビットに従って周波数スペクトルを量子化する。
【００４４】
各周波数帯域のスケールファクタと量子化スペクトルはビット整形器８によって定められた書式に従ってビットストリームに整形されて、出力される。
【００４５】
１フレームの処理を終えると、ビットリザーバ６では余剰ビット量の計算を行い、ブロック長判定器４に出力する。ブロック長判定器４は、受け取った余剰ビット量によってＰＥ閾値を調整する。本実施形態において、余剰ビット量が最大余剰ビット量の二分の一以下の場合、ＰＥ閾値を１０増加し、余剰ビット量が最大余剰ビット量の二分の一以上の場合、ＰＥ閾値を１０減らす。すなわち、余剰ビット量が比較的少ない場合にはＰＥ閾値を上げることによってショートブロックが選択されにくくして符号化効率を高め、余剰ビット量が比較的多い場合はＰＥ閾値を下げることによって過渡状態を見逃すことによるプリエコーの発生を避けるようにする。この処理の詳細は図３を用いて後述する。
【００４６】
（第２の実施形態）
本発明は汎用的なＰＣ上で動作するソフトウェアプログラムとして実施することも可能である。以下、この場合について図面を用いて説明する。
【００４７】
図４は、本発明の第２の実施形態におけるオーディオ信号符号化装置の構成例である。
【００４８】
図示の構成において、１００はＣＰＵであり、オーディオ信号符号化処理のための演算、論理判断等を行い、１０２のバスを介して、バスに接続された各構成要素を制御する。
【００４９】
１０１はメモリであり、本実施形態の構成例における基本Ｉ／Ｏプログラムや、実行しているプログラムコード、プログラム処理時に必要なデータなどを格納する。
【００５０】
１０２はバスであり、ＣＰＵ１００の制御の対象とする構成要素を指示するアドレス信号を転送し、ＣＰＵ１００の制御の対象とする各構成要素のコントロール信号を転送し、各構成機器相互間のデータ転送を行う。
【００５１】
１０３は端末であり、装置の起動、各種条件や入力信号の設定、符号化開始の指示を行う。
【００５２】
１０４は外部記憶装置であり、データやプログラム等を記憶するための外部記憶領域である。データやプログラム等は必要に応じて保管され、また、保管されたデータやプログラムは必要な時に呼び出される。
【００５３】
１０５はメディアドライブであり、記録媒体に記録されているプログラムやデータ、デジタルオーディオ信号などはこのメディアドライブ１０５が読み取ることにより本オーディオ信号符号化装置にロードされる。また、外部記憶装置１０４に蓄えられた各種データや実行プログラムを、記録媒体に書き込むことができる。
【００５４】
１０６はマイクであり、音を集音してオーディオ信号に変換する。
【００５５】
１０７はスピーカーであり、任意のオーディオ信号データを実際の音にして出力することができる。
【００５６】
１０８は通信網であり、ＬＡＮ、公衆回線、無線回線、放送電波などで構成されている。
【００５７】
１０９は通信インターフェースであり、通信網１０８に接続されている。本実施形態のオーディオ信号符号化装置はこの機器を介して通信網を経由し、外部機器と通信し、データやプログラムを送受信することができる。
【００５８】
かかる各構成要素からなる本実施形態のオーディオ信号符号化装置においては、端末１０３からの各種の入力に応じて作動するものであって、端末１０３からの入力が供給されると、インターラプト信号がＣＰＵ１００に送られることによって、ＣＰＵ１００がメモリ１０１内に記憶してある各種の制御信号を読出し、それらの制御信号に従って、各種の制御が行われる。
【００５９】
本実施形態の装置は、基本Ｉ／Ｏプログラム、ＯＳ、および本オーディオ信号符号化処理プログラムをＣＰＵ１００が実行することによって動作する。基本Ｉ／Ｏプログラムはメモリ１０１中に書き込まれており、ＯＳは外部記憶装置１０４に書き込まれている。そして、本装置の電源がＯＮにされると、基本Ｉ／Ｏプログラム中のＩＰＬ（イニシャルプログラムローディング）機能により外部記憶装置１０４からＯＳがメモリ１０１に読み込まれ、ＯＳの動作が開始される。
【００６０】
本オーディオ信号符号化処理プログラムは、図２に示されるオーディオ信号符号化処理手順のフローチャートに基づいてプログラムコード化されたものである。
【００６１】
図５は、本オーディオ信号符号化処理プログラムおよび関連データを記録媒体に記録したときの内容構成図である。
【００６２】
本実施形態において、本オーディオ信号符号化処理プログラムおよび関連データは記録媒体に記録されている。図示したように記録媒体の先頭領域には、この記録媒体のディレクトリ情報が記録されており、その後にこの記録媒体のコンテンツである本オーディオ信号符号化処理プログラムと、オーディオ信号符号化処理関連データがファイルとして記録されている。
【００６３】
図６は本オーディオ信号符号化装置に、本オーディオ信号符号化処理プログラムを導入する模式図である。記録媒体に記録されたオーディオ信号符号化処理プログラムおよび関連データは、図６に示したようにメディアドライブ１０５を通じて本装置にロードすることができる。この記録媒体１１０を、パーソナルコンピュータのメディアドライブ１０５にセットすると、ＯＳ及び基本Ｉ／Ｏプログラムの制御のもとに本オーディオ信号符号化処理プログラムおよび関連データが記録媒体から読み出され、外部記憶装置１０４に格納される。その後、再起動時にこれらの情報がメモリ１０１にロードされて動作可能となる。
【００６４】
図７は、本オーディオ信号符号化装置処理プログラムがメモリ１０１にロードされ実行可能となった状態のメモリマップを示す。メモリ１０１には、基本Ｉ／Ｏプログラム、ＯＳ、オーディオ信号符号化処理プログラム、関連データ及びワークエリアが格納される。このとき、メモリ１０１のワークエリアには、ＰＥ閾値と余剰ビット量が格納されている。
【００６５】
以下、本実施形態においてＣＰＵ１００で実行されるオーディオ信号符号化処理をフローに従って説明する。
【００６６】
図２は、本実施形態におけるオーディオ信号符号化処理のフローチャートである。
【００６７】
まず、ステップＳ１は、符号化する入力オーディオ信号をユーザが端末１０３を用いて指定する処理である。本実施形態において、符号化するオーディオ信号は、外部記憶装置１０４に格納されているオーディオＰＣＭファイルでも良いし、マイク１０６で捉えたリアルタイムの音声信号をアナログ・デジタル変換した信号でも良い。処理を終えると、ステップＳ２へ進む。
【００６８】
ステップＳ２は、符号化する入力オーディオ信号が終了したかどうかを判定する処理である。入力信号が終了している場合は、ステップＳ１３へ処理が進む。未終了の場合は、ステップＳ３へ処理が進む。
【００６９】
ステップＳ３は、入力信号をチャンネルごとに処理単位であるフレームに分割する処理である。第１の実施形態での説明同様、例えば、ＭＰＥＧ２−ＡＡＣの場合、オーディオ入力信号をチャンネルごとに１０２４サンプルのフレームに分割する。処理を終えると、ステップＳ４へ処理が進む。
【００７０】
ステップＳ４は、符号化対象となっているフレームの聴覚心理演算を行う処理である。この演算の結果、処理対象フレームの聴覚エントロピー（ＰＥ）と、量子化単位である分割周波数帯域ごとのＳＭＲ値が算出される。処理を終えると、ステップＳ５へ処理が進む。
【００７１】
ステップＳ５は、ステップＳ４で算出された処理対象フレームのＰＥ値と、メモリ１０１上のＰＥ閾値とを比較し、変換ブロック長を判定する処理である。処理対象フレームのＰＥ値がＰＥ閾値よりも大きい場合は、ステップＳ６へ処理が進む。そうでない場合は、ステップＳ７へ処理が進む。
【００７２】
ステップＳ６では、ステップＳ５で行われた判定に基づき、処理対象フレームに対してショートブロック（短いブロック長）による直交変換を行う。ＭＰＥＧ２−ＡＡＣの場合、この結果１２８の周波数成分に分割されたスペクトルの組が８組得られる。処理を終えると、ステップＳ８に処理が進む。
【００７３】
ステップＳ７では、ステップＳ５で行われた判定に基づき、処理対象フレームに対してロングブロック（長いブロック長）による直交変換を行う。ＭＰＥＧ２−ＡＡＣの場合、この結果、１０２４の周波数成分に分割されたスペクトルの組が一組だけ得られる。処理を終えると、ステップＳ８に処理が進む。
【００７４】
ステップＳ８は、ビット割当てを行う処理である。本実施形態において、ビット割当ては二段階に行われる。まず、処理中のフレーム全体に割り当てるビットをメモリ１０１上の余剰ビット量やステップＳ４で算出された処理中のフレームのＰＥ値、変換ブロック長から決定し、次に、ステップＳ４で算出される分割周波数帯域ごとのＳＭＲ値と、ステップＳ７もしくはステップＳ８で得られる周波数スペクトルより、各分割周波数帯域に割り当てるビット量を決定する。このような処理は本実施形態のような変換符号化方法において一般的であるので、詳細は説明しない。処理を終えると、ステップＳ９へ処理が進む。
【００７５】
ステップＳ９は、各分割周波数帯域のスケールファクタを算出するとともに、ステップＳ８で割り当てられたビット量に従って、周波数スペクトルを量子化する処理である。処理を終えると、ステップＳ１０へ処理が進む。
【００７６】
ステップＳ１０は、ステップＳ９で算出されたスケールファクタと量子化スペクトルを、符号化方式によって定められたフォーマットに従って整形し、ビットストリームとして出力する処理である。本実施形態において、この処理によって出力されるビットストリームは、外部記憶装置１０４に格納されても良いし、あるいは、通信インターフェース１０９を介して回線網１０８に繋がっている外部機器に出力されても良い。処理を終えると、ステップＳ１１へ処理が進む。
【００７７】
ステップＳ１１は、ステップＳ１０で実際に出力されたビットストリームのビット量から、使用された余剰ビット、あるいは余ったビットを計算することにより、余剰ビット量を計算する処理である。算出された余剰ビット量は、メモリ１０１上に再格納される。処理を終えると、ステップＳ１２へ処理が進む。
【００７８】
ステップＳ１２は、ステップＳ１１で算出した余剰ビット量によって、メモリ１０１上のＰＥ閾値を調整する処理である。この処理の詳細は図３を用いて後述する。処理を終えると、ステップＳ２へ処理が進む。
【００７９】
ステップＳ１３は、聴覚心理演算や直交変換などで生じる遅延によってまだ出力されていない量子化スペクトルがメモリ上に残っているため、それらをビットストリームに整形して出力する処理である。処理を終えると、オーディオ信号符号化処理を終了する。
【００８０】
図３は、本実施形態におけるステップＳ１２の余剰ビット量によるＰＥ閾値調整処理を詳細化したフローチャートである。
【００８１】
ステップＳ１０１は、メモリ１０１上の余剰ビット量が最大余剰ビット量の半数（１／２）よりも少ないかどうかを判定する処理である。この判定の結果、余剰ビット量が最大余剰ビット量の半数よりも少ない場合は、ステップＳ１０３へ処理が進む。そうでない場合は、ステップＳ１０２へ処理が進む。
【００８２】
ステップＳ１０２は、余剰ビット量が最大余剰ビット量の半数より多いかどうかを判定する処理である。この判定の結果、余剰ビット量が最大余剰ビット量の半数よりも多い場合はステップＳ１０５へ処理が進む。そうでない場合は、余剰ビット量によるＰＥ閾値調整処理を終了し、リターンする。
【００８３】
ステップＳ１０３は、メモリ１０１上のＰＥ閾値が閾値上限に達しているかどうかを判定する処理である。この判定の結果、ＰＥ閾値が上限に達している場合は余剰ビット量によるＰＥ閾値調整処理を終了し、リターンする。そうでない場合は、ステップＳ１０４に処理が進む。
【００８４】
ステップＳ１０４は、メモリ１０１上のＰＥ閾値に１０を加える処理である。この結果、次回のステップＳ５のブロック判定時に、ＰＥ値が微妙な値の場合、短いブロック長と判断されにくくなり、より符号化効率を重視した判定を行うことになる。処理を終えると、余剰ビット量によるＰＥ閾値調整処理を終了し、リターンする。
【００８５】
ステップＳ１０５は、ＰＥ閾値が閾値下限に達しているかどうかを判定する処理である。この判定の結果、ＰＥ閾値が下限に達している場合は余剰ビット量によるＰＥ閾値調整処理を終了し、リターンする。そうでない場合は、ステップＳ１０６へ処理が進む。
【００８６】
ステップＳ１０６は、メモリ１０１上のＰＥ閾値から１０を引く処理である。この結果、次回のステップＳ５のブロック判定時に、ＰＥ値が微妙な値の場合、短いブロック長と判断されやすくなり、よりプリエコーの発生を防止する判定を行うことになる。処理を終えると、余剰ビット量によるＰＥ閾値調整処理を終了し、リターンする。
【００８７】
以上説明したように、本実施形態におけるオーディオ信号符号化処理では、ビットリザーバに蓄積されている余剰ビット量が少ない場合は、ＰＥ閾値を増加させて符号化効率を重視したブロック選択を行い、逆に余剰ビット量が多い場合はＰＥ閾値を減少させて、よりプリエコー防止を重視したブロック選択を行うことによって、プリエコーの発生を避けながら符号化効率の良い符号化処理が可能となり、音質の良い符号化処理を実現することができる。
【００８８】
なお、本実施形態では、ＰＥ閾値に上限と下限を設定し、その所定範囲内で調整することによって、極端なＰＥ閾値によって誤ったブロック選択が行われることによる音質劣化を防止している。
【００８９】
（その他の実施形態）
なお、本発明は上述した実施形態に限定されるものではない。
【００９０】
上述の第２の実施形態では、ＰＥ閾値の調整をゆるやかに行う例を示したが、ＰＥ閾値を直接余剰ビット量によって制御することも可能である。以下、この場合について図面を用いて説明する。
【００９１】
図１２は、この場合におけるステップＳ１２の余剰ビット量によるＰＥ閾値調整処理を詳細化したフローチャートである。なお、この場合において、ＰＥ閾値の上限を２５００、ＰＥ閾値の下限を１５００とする。
【００９２】
ステップＳ２０１は、余剰ビットによって直接ＰＥ閾値を算出する次式の演算を行う処理である。
ＰＥ閾値＝２５００−１０００×（余剰ビット量）／（最大余剰ビット量）
【００９３】
この演算を余剰ビット量による関数として、ＰＥ閾値との関係の軌跡を、図１１に示す。算出されたＰＥ閾値はメモリ１０１上に格納される。処理を終えると、ＰＥ閾値調整処理を終了し、リターンする。
【００９４】
図１１に示したように、この軌跡は、右下がりの直線となるため、余剰ビット量の増加とともにＰＥ閾値を減少させることになる。ＰＥ閾値は、余剰ビット量に反比例する。すなわち、余剰ビット量が大きければ大きいほどショートブロックと判定されやすくなるため、余ったビットを効率的に使用することが可能となり、また、余剰ビット量が少ないほどロングブロックと判定されやすくなるため、余剰ビット量が少ないほどショートブロック選択による符号化効率の劣化を防ぐことができる。
【００９５】
また、第２の実施形態の方法と比較して余剰ビット量に応じてＰＥ閾値を直接制御することが可能になるため、余剰ビットの状況に即時に応じたブロック判定が可能になり、特に低ビットレート時において符号化効率を向上させることになるため、音質的な破綻の少ないビットストリームを作成することができる。
【００９６】
また、上述の第２の実施形態では、特に記録媒体に関して言及していないが、これは、ＦＤ、ＨＤＤ、ＣＤ、ＤＶＤ、ＭＯ、半導体メモリなど、どのような記録媒体を用いても適用可能である。
【００９７】
以上説明したように、上記実施形態によれば、ビットリザーバによって管理されている余剰ビット量に応じて、ブロック長判定の際に参照するＰＥ閾値を適宜設定するため、プリエコーの発生を極力避けながらより符号化効率の高い符号化処理が可能となり、特に低ビットレート時に音質的な破綻の少ない符号化処理を実現することができる。すなわち、符号化効率の低下を防止しつつ、プリエコーの発生を極力抑えることにより高音質なビットストリームを作成することができる。
【００９８】
また、特許文献１（特開２０００−２７６１９８号公報）では、ＰＥの最大値から最小値を引いた差分と固定の閾値を比較することによってブロック長の切り替えを判断しているが、本実施形態では、ビットリザーバに蓄積されているビット量によってＰＥ閾値を変更することによって、より適切なブロック判定ができる。
【００９９】
また、特許文献２（特開２００１−１４２４９３号公報）の方式では、詳細な入力信号の分析を行っているため、聴覚心理演算は行わないもののある程度の処理負荷がかかる。また、低ビットレート時にも厳密にブロック長変更を行うために、符号化効率が損なわれる懸念がある。それに対して、本実施形態では、聴覚エントロピー計算は行うものの、ビットリザーバの蓄積量による閾値変更という処理を行うのみであるため、処理負担は標準方式と比べてほとんど変化せず、ビット量を考慮した適切なブロック長選択ができる。
【０１００】
本実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びコンピュータプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１０１】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１０２】
【発明の効果】
以上説明したように、ビットリザーバによって制御されている余剰ビット量に応じて、変換ブロック長決定の際に参照する聴覚エントロピー閾値を決定するため、プリエコーの発生を極力避けながらより符号化効率の高い符号化処理が可能となり、特に低ビットレート時に音質的な破綻の少ない符号化処理を実現することができる。すなわち、符号化効率の低下を防止しつつ、プリエコーの発生を極力抑えることにより高音質なビットストリームを作成することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態におけるオーディオ信号符号化装置の一構成例を示す図である。
【図２】本発明の第２の実施形態におけるオーディオ信号符号化処理のフローチャートである。
【図３】本発明の第２の実施形態における余剰ビット量によるＰＥ閾値調整処理のフローチャートである。
【図４】本発明の第２の実施形態におけるオーディオ信号符号化装置の一構成例を示す図である。
【図５】本発明の第２の実施形態におけるオーディオ信号符号化処理プログラムを格納した記憶媒体の内容構成例を示す図である。
【図６】本発明の第２の実施形態におけるオーディオ信号符号化処理をパーソナルコンピュータに導入する模式図である。
【図７】本発明の第２の実施形態におけるメモリマップ構成図である。
【図８】オーディオ信号の模倣図である。
【図９】図８で示されるオーディオ信号を２０４８サンプル単位で符号化、復号化した場合のオーディオ信号の模倣図である。
【図１０】図８で示されるオーディオ信号を２５６サンプル単位で符号化、復号化した場合のオーディオ信号の模倣図である。
【図１１】本発明の他の実施形態におけるＰＥ閾値調整関数の軌跡例を示す図である。
【図１２】本発明の他の実施形態における余剰ビット量によるＰＥ閾値調整処理のフローチャートである。
【符号の説明】
１  フレーム分割器
２  フィルタバンク
３  聴覚心理演算器
４  ブロック長判定器
５  ビット割当て器
６  ビットリザーバ
７  量子化器
８  ビット整形器
１００  ＣＰＵ
１０１  メモリ
１０２  バス
１０３  端末
１０４  外部記憶装置
１０５  メディアドライブ
１０６  マイク
１０７  スピーカー
１０８  通信回線
１０９  通信インターフェース
１１０  記憶媒体
【図１】
2005003835.tif 000003
【図２】
2005003835.tif 000004
【図３】
2005003835.tif 000005
【図４】
2005003835.tif 000006
【図５】
2005003835.tif 000007
【図６】
2005003835.tif 000008
【図７】
2005003835.tif 000009
【図８】
2005003835.tif 000010
【図９】
2005003835.tif 000011
【図１０】
2005003835.tif 000012
【図１１】
2005003835.tif 000013
【図１２】
2005003835.tif 000014