(57)【要約】【課題】  グローバルゲインの見積もりの計算処理量を減少させるとともに、音質劣化を防ぐことができる符号化装置及び方法、並びにプログラムを提供する。【解決手段】  グローバルゲイン見積もり部１６は、正規化係数及び指定されたビットレートに基づいて全周波数帯域の周波数スペクトルを量子化する量子化ステップサイズを見積もる。これにより、見積もりの計算処理量を減少させるとともに、音質劣化を防ぐことができる。【選択図】  図２
2010175634.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ信号が時間周波数変換され、所定の周波数帯域毎に分割された周波数スペクトルの量子化ステップサイズを、量子化誤差が許容量子化誤差を超えないように決定するための正規化係数を算出する正規化係数算出部と、
上記正規化係数及び指定されたビットレートに基づいて全周波数帯域の周波数スペクトルを量子化する量子化ステップサイズを見積もる見積部と、
上記見積もられた量子化ステップサイズに基づいて上記全周波数帯域の周波数スペクトルを量子化する量子化部と
を備える符号化装置。
【請求項２】
上記量子化部は、上記見積部で見積もられた量子化ステップサイズを初期値として、符号ビット量が使用可能ビット量に収まる最小の量子化ステップサイズを算出し、上記最小の量子化ステップサイズを用いて上記全周波数帯域の周波数スペクトルを量子化し、使用ビット量を算出する請求項１記載の符号化装置。
【請求項３】
上記見積部は、下記式（１）に基づいて量子化ステップサイズ（見積もりglobal_gain）を算出する請求項１記載の符号化装置。
【数１】
2010175634.tif 000011
ここで、scalefactor[b]はｂ番目の周波数帯域に対応する正規化係数、bw[b]はｂ番目の周波数帯域のバンド幅、Ｃ(bitrate)はビットレートにより決められる係数、first_global_gainは正規化係数が全周波数帯域で０のときのグローバルゲインを表す。
【請求項４】
前記ビットレートにより決められる係数Ｃ(bitrate)は、ビットレートの値を変数とするＮ次多項式により計算される請求項３記載の符号化装置。
【請求項５】
オーディオ信号が時間周波数変換され、所定の周波数帯域毎に分割された周波数スペクトルの量子化ステップサイズを、量子化誤差が許容量子化誤差を超えないように決定するための正規化係数を算出する正規化係数算出工程と、
上記正規化係数及び指定されたビットレートに基づいて全周波数帯域の周波数スペクトルを量子化する量子化ステップサイズを見積もる見積工程と、
上記見積もられた量子化ステップサイズに基づいて上記全周波数帯域の周波数スペクトルを量子化する量子化工程と
を有する符号化方法。
【請求項６】
オーディオ信号が時間周波数変換され、所定の周波数帯域毎に分割された周波数スペクトルの量子化ステップサイズを、量子化誤差が許容量子化誤差を超えないように決定するための正規化係数を算出する正規化係数算出工程と、
上記正規化係数及び指定されたビットレートに基づいて全周波数帯域の周波数スペクトルを量子化する量子化ステップサイズを見積もる見積工程と、
上記見積もられた量子化ステップサイズに基づいて上記全周波数帯域の周波数スペクトルを量子化する量子化工程と
を情報処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオ信号の符号化装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、高音質かつ高効率なオーディオ信号の符号化技術が、ＤＶＤ−Ｖｉｄｅｏ規格の音声トラック等に採用されている。また、符号化技術は、半導体メモリ、ＨＤＤ（Hard disk drive）などを利用した携帯オーディオプレイヤー、インターネットを介した音楽配信、家庭内ＬＡＮ（Local Area Network）におけるホームサーバへの楽曲蓄積などに広く利用され、その重要性も増している。
【０００３】
これらの符号化技術では、フィルタバンクによって周波数成分に変換された入力信号を、人間の聴覚の周波数分解能に基づいて設定される分割周波数帯域ごとにまとめ、量子化時に分割周波数帯域毎の正規化係数を聴覚分析の結果より決定する。そして、正規化係数と量子化スペクトルの組み合わせで周波数成分を表現することで情報量を削減している。この正規化係数は、実際には分割帯域毎の量子化粗さの調整を行う変数であり、正規化係数が１変化することによって、量子化粗さは１ステップ分変化することになる。
【０００４】
ＭＰＥＧ−１ Ａｕｄｉｏ Ｌａｙｅｒ ＩＩＩ（ＭＰ３）やＭＰＥＧ−２ ＡＡＣでは、この分割周波数帯域をスケールファクタバンド（ＳＦＢ）と呼び、正規化係数をスケールファクタと呼称する。
【０００５】
また、これらの変換符号化方式では、符号化単位である１フレーム全体の量子化粗さを制御することによって符号量を制御している。多くの変換符号化方式では、量子化粗さは、ある基数の整数乗幅でステップ状に制御されており、この整数を量子化ステップと呼ぶ。ＭＰＥＧオーディオ規格では、フレーム全体の量子化粗さを設定する量子化ステップを「グローバルゲイン」もしくは「コモンスケールファクタ」と呼称している。
【０００６】
また、前述のスケールファクタは量子化ステップとの相対値で表現することによって、これらの変数の符号に必要な情報量を削減している。例えば、ＭＰ３やＡＡＣでは、これらの変数が１変化することによって、実際の量子化粗さは２の３／１６乗分変化する。
【０００７】
変換符号化方式の量子化処理では、スケールファクタを制御して聴覚演算の結果を反映して量子化誤差がマスクされるように量子化歪みを制御すると同時に、量子化ステップを制御してフレーム全体の量子化粗さを適宜調整することによってフレーム全体の符号量制御を行う。これらの量子化粗さを決める二種類の数値は、符号化品質に重大な影響を及ぼすため、慎重かつ正確に、この二つの制御を同時に効率よく行うことが求められる。
【０００８】
ＭＰＥＧ−１ Ａｕｄｉｏ Ｌａｙｅｒ ＩＩＩの規格書(ISO/IEC 11172-3)やＭＰＥＧ−２ ＡＡＣの規格書(ISO/IEC 13818-7)では、量子化時にスケールファクタとグローバルゲインを適宜制御する方法が紹介されている。そこでは、歪み制御ループ（アウターループ）と符号量制御ループ（インナーループ）の二重ループによって繰り返し処理を行う方法が紹介されている。
【０００９】
しかし、この二重ループの構成では、グローバルゲインとスケールファクタが１刻みの制御しか行われないこともあり、処理が収束するまでにスペクトル量子化とビット計算が幾度となく延々と繰り返されることになる。
【００１０】
さらに、歪み制御ループでは逆量子化後に量子化誤差の計算を行っているが、この処理にも計算量がかかってしまう。そのため、この二重ループが収束するまでには膨大な処理量がかかってしまう。
【００１１】
この問題を解決するために、二重ループの繰り返し回数を削減することによって、処理量を削減しようとする様々な試みがなされている。例えば、聴覚分析によって求められるＳＦＢ毎の許容誤差エネルギーを用いることによって、スケールファクタをスペクトル量子化に先行して適宜計算することにより、二重ループの外側の歪み制御ループを取り除き、処理量を削減することが考えられる。二重ループのうち、聴覚演算結果を利用して事前にスケールファクタを計算することによって、外側の歪み制御ループを無くすことは可能である。
【００１２】
しかし、事前に計算されたスケールファクタに応じた使用ｂｉｔ量が使用可能ｂｉｔ量に収まるようなグローバルゲインを決定するためには、内側のループ（符号量制御ループ）における、スペクトル量子化と使用ｂｉｔ量計算を繰り返し行う必要がある。特に、スケールファクタ値が大きくなった場合には、ループ回数が多くなってしまい、処理量が多くなってしまう。
【００１３】
この問題を解決するための技術として、例えば特許文献１には、重み付けされた量子化前のスペクトル全体が持つ聴覚情報量から量子化後のスペクトル全体の情報量を減じ、量子化粗さの刻み幅から得られる係数を積算する方法が開示されている。このようにグローバルゲインをスペクトル量子化前に見積もることにより、内側のループ回数を減らして処理量を削減することができる。
【００１４】
グローバルゲインは、具体的には以下の式に基づいて見積もられる。
【００１５】
【数１】
2010175634.tif 000003
【００１６】
ただし、式（１）において、Ｘｉは量子化スペクトル、ｘｉは量子化前のスペクトル、scalefactorはｘｉが含まれるＳＦＢのスケールファクタである。また、Ｘｉの総量は使用可能ビットspectrum_bitsから見積もる。
【００１７】
【数２】
2010175634.tif 000004
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００６−１４５７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、前記式（１）、及び式（２）に基づく特許文献１の方法では、ビットレートが低くなるのに従って、量子化後のスペクトル全体の情報量（log2ΣXi）が過小になり、グローバルゲインの見積もり値が過大になってしまう。
【００２０】
また、量子化後のスペクトル総量（ΣXi）の見積もり精度、すなわち、前記（２）式における関数Ｆの構成に、グローバルゲインの見積もり精度が依存し、関数Ｆの構成によってはグローバルゲインの見積もり値の外れが大きくなる。
【００２１】
特に、ＭＰＥＧ１／２ ＬａｙｅｒＩＩＩ（ＭＰ３）の、１２８ｋｂｐｓ以下のビットレートにおいて、特許文献１の方法では、量子化後のスペクトル総量が正確に求まったとしても、従来の二重ループにより求められるグローバルゲインの値からのグローバルゲインの見積もり値の外れが大きくなってしまう。
【００２２】
また、特許文献１の技術では、階乗やlog関数の計算が必要であるため、グローバルゲインの見積もり計算自体に処理量がかっていた。さらに、グローバルゲインの見積もり値が実際の見積もり値より小さくなり、使用ｂｉｔ量が使用可能ｂｉｔ量に収まらない場合だけしか想定されていない。そのため、グローバルゲインの見積もり値が実際より大きくなってしまった場合、グローバルゲインの値の調整が行われず、使用ｂｉｔ量が使用可能ｂｉｔ量に収まるグローバルゲインの最小値より大きい値で量子化が行われてしまう。このため、量子化誤差が大きくなり音質が劣化してしまうことがあった。
【００２３】
本発明は、これらの問題点を鑑みてなされたものであり、グローバルゲインの見積もりの計算処理量を減少させるとともに、音質劣化を防ぐことができる符号化装置及び方法、並びにプログラムを提供する。
【課題を解決するための手段】
【００２４】
本発明に係る符号化装置は、オーディオ信号が時間周波数変換され、所定の周波数帯域毎に分割された周波数スペクトルの量子化ステップサイズを、量子化誤差が許容量子化誤差を超えないように決定するための正規化係数を算出する正規化係数算出部と、上記正規化係数及び指定されたビットレートに基づいて全周波数帯域の周波数スペクトルを量子化する量子化ステップサイズを見積もる見積部と、上記見積もられた量子化ステップサイズに基づいて上記全周波数帯域の周波数スペクトルを量子化する量子化部とを備える。
【００２５】
また、本発明に係る符号化方法は、オーディオ信号が時間周波数変換され、所定の周波数帯域毎に分割された周波数スペクトルの量子化ステップサイズを、量子化誤差が許容量子化誤差を超えないように決定するための正規化係数を算出する正規化係数算出工程と、上記正規化係数及び指定されたビットレートに基づいて全周波数帯域の周波数スペクトルを量子化する量子化ステップサイズを見積もる見積工程と、上記見積もられた量子化ステップサイズに基づいて上記全周波数帯域の周波数スペクトルを量子化する量子化工程とを有する。
【００２６】
また、本発明に係るプログラムは、オーディオ信号が時間周波数変換され、所定の周波数帯域毎に分割された周波数スペクトルの量子化ステップサイズを、量子化誤差が許容量子化誤差を超えないように決定するための正規化係数を算出する正規化係数算出工程と、上記正規化係数及び指定されたビットレートに基づいて全周波数帯域の周波数スペクトルを量子化する量子化ステップサイズを見積もる見積工程と、上記見積もられた量子化ステップサイズに基づいて上記全周波数帯域の周波数スペクトルを量子化する量子化工程とを情報処理装置に実行させる。
【発明の効果】
【００２７】
本発明は、正規化係数及び指定されたビットレートに基づいて全周波数帯域の周波数スペクトルを量子化する量子化ステップサイズを見積もるため、見積もりの計算処理量を減少させるとともに、音質劣化を防ぐことができる
【図面の簡単な説明】
【００２８】
【図１】グローバルゲインの見積もりを説明するための図である。
【図２】本発明の一実施の形態に係る符号化装置の構成を示すブロック図である。
【図３】グローバルゲインの見積もり処理を示すフローチャートである。
【図４】量子化処理を示すフローチャートである。
【図５】グローバルゲインの見積もり値を示すグラフである。
【図６】符号量制御ループ回数の平均値を示すグラフである。
【発明を実施するための形態】
【００２９】
以下、本発明の具体的な実施の形態について、図面を参照しながら詳細に説明する。ここでは、以下の順番で説明を行う。
１．発明の概要                        図１
２．全体構成                          図２
３．グローバルゲイン見積もり処理例    図３
４．量子化処理例                      図４
５．評価                              図５、図６
【００３０】
［１．発明の概要］
本実施の形態の具体例として示す符号化装置は、スケールファクタを与えた場合において、グローバルゲインの見積もりを行う際にビットレートを考慮することにより、グローバルゲインの見積もり精度を、ビットレートによらず上げるものである。
【００３１】
大きい値のスケールファクタを与えたとき、通常のＩＳＯコードで示されるインナーループ処理をそのまま行ってしまうと処理が重くなってしまう。具体的には、大きい値のスケールファクタが与えられると、その分グローバルゲインの増加量も大きくなってしまう。このため、通常のインナーループ処理を行うと、図１に示すようにグローバルゲインを１ずつ挙げていきながら量子化、ハフマンビット数計算を繰り返すことになり、インナーループ回数が多くなり処理が重くなってしまう。
【００３２】
本実施の形態における符号化装置では、最終的なグローバルゲインがいくつになるかを見積もってからインナーループ処理することで、インナーループ（符号量制御ループ）のループ回数を抑えて、ビットレートによらず処理量を削減する。
【００３３】
また、グローバルゲインの見積もり値が実際より大きくなる場合にも対応させて、最終的に求まるグローバルゲインが、使用ｂｉｔ量が使用可能ｂｉｔ量に収まる範囲内での最小値をとるようにする。これにより、グローバルゲインの見積もりが外れることによる音質劣化を防ぐことができる。
【００３４】
［２．全体構成］
次に、上述した符号化装置の具体的な構成について説明する。図２は、本発明の一実施形態に係る符号化装置の構成を示すブロック図である。この符号化装置は、心理聴覚モデル部１１と、フィルタバンク部１２と、ファーストグローバルゲイン算出部１３と、スケールファクタ算出部１４と、スケーリング部１５と、グローバルゲイン見積もり部１６と、量子化部１７と、符号化部１８と、フォーマッタ１９とを備える。
【００３５】
心理聴覚モデル部１１は、実際に符号化する時に用いるブロック長を判定して、ブロック長情報をフィルタバンク部１２へ出力する。また、心理聴覚モデル部１１は、ＳＭＲ（Signal to Mask Ratio）を算出し、スケールファクタ算出部１４に出力する。
【００３６】
フィルタバンク部１２は、オーディオ入力信号を、心理聴覚モデル部１１から出力されるブロック長情報に従って直交変換する。また、フィルタバンク部１２は、上記直交変換により得られた周波数変換係数（周波数スペクトル）を出力する。なお、符号化方式としてＭＰＥＧ−１／２ Ａｕｄｉｏ Ｌａｙｅｒ ＩＩＩ（ＭＰ３）、又はＡＡＣを採用している場合、フィルタバンク部１２での直交変換はＭＤＣＴとなる。ＭＤＣＴにより得られた周波数変換係数は、ＭＤＣＴ係数とも呼ばれる。
【００３７】
ファーストグローバルゲイン算出部１３は、スケールファクタが全ＳＦＢで０のときのグローバルゲイン（first global gain）を求めて、スケールファクタ算出部１４及びグローバルゲイン見積もり部１６に出力する。ファーストグローバルゲインを求める方法としては、従来の内部ループ処理（符号量制御ループ処理）により求めても良い。高速化を図る場合は、例えば、特開２００７−２９３１１８号公報に開示されているような、前フレームのグローバルゲインを利用する方法を用いることができる。
【００３８】
スケールファクタ算出部１４は、心理聴覚モデル部１１から入力されるＳＭＲとフィルタバンク部１２から入力される周波数変換係数から補正前のスケールファクタ（正規化係数）を決定し、スケーリング部１５及びグローバルゲイン見積もり部１６に出力する。スケールファクタは、周波数スペクトルの量子化ステップサイズを、量子化誤差が許容量子化誤差を超えないように決定するために用いられ、このスケールファクタは、量子化ステップサイズの相対値で示される。
【００３９】
また、許容誤差エネルギーに基づくスケールファクタの算出方法は、例えば、ＭＰＥＧ−１／２ Ｌａｙｅｒ ＩＩＩにおけるｂ番目のＳＦＢのスケールファクタをscalefactor[b]として、次式で求めることができる。
【００４０】
【数３】
2010175634.tif 000005
【００４１】
ただし、式（３）においてｘmin[b]は、ｂ番目のＳＦＢの許容誤差エネルギーであり、スペクトルエネルギーをenergy[b]、信号対マスク比をＳＭＲ[b]、帯域幅をｂｗ[b]とすると、このｘmin[b]は次式によって求められる。
【００４２】
【数４】
2010175634.tif 000006
【００４３】
また、式（３）の計算結果 need_q[b]は、量子化誤差のenergyをｘmin[b]以内に収めるために必要な量子化ステップ サイズの見積もり値を表している。また、式（３）におけるα、βは、任意係数であるが、need_q[b]の見積もり精度を高めるために、適宜チューニングする必要がある。α、βは、例えば、以下のような値が想定される。
【００４４】
【数５】
2010175634.tif 000007
【００４５】
また、式（４）において、first_global_gainは、スケールファクタが全ＳＦＢで０の時のグローバルゲインであり、式（４）の計算結果 need_sfac[b]は、need_q[b]から求まるスケールファクタの値を表す。need_sfac[b]は、ＭＰＥＧ−１／２ Ｌａｙｅｒ ＩＩＩの規格上で決められた制限範囲を超える場合があるので、適宜制限内に収めるようにする必要がある。その制限内に収める処理を表したのが式（５）である。なお、clip()は、スケールファクタを規格上の範囲内に収める処理を表す。
【００４６】
スケーリング部１５は、スケールファクタ算出部１４で決定されたスケールファクタを用いてフィルタバンク部１２から出力される周波数変換係数をスケーリングする。そしてスケーリング部１５は、上記のスケーリング後の周波数変換係数を量子化部１７へ出力する。
【００４７】
グローバルゲイン見積もり部１６は、スケールファクタ算出部１４で決定したスケールファクタ、ファーストグローバルゲイン算出部１３から入力されるfirst global gain、及び符号化する際のビットレート(bitrate)を入力として受け取り、後述のようにグローバルゲインの見積もり値を求める。
【００４８】
量子化部１７は、内部ループ処理（符号量制御ループ処理）により、グローバルゲイン見積もり部１６から出力されたグローバルゲイン見積もり値を初期値として、グローバルゲインの値を変化させて、符号化に使用するｂｉｔ量が使用可能ｂｉｔ量に収まるグローバルゲインの最小値を探索し、そのグローバルゲインの値によりスケーリング部１５から出力されたスケーリング後の周波数変換係数の量子化を行い、量子化された周波数変換係数(量子化スペクトル)を符号化部１８へ出力する。
【００４９】
符号化部１８は、量子化部１７の出力を所定の符号化方式に従って圧縮符号化し、符号化後の周波数変換係数をフォーマッタ１９へ出力する。
【００５０】
フォーマッタ１９は、符号化部１８の出力とスケールファクタ補正部から出力されるスケールファクタを所定のフォーマットに従って多重化して、多重化の結果を、符号化オーディオ信号ビットストリームとして出力する。
【００５１】
このように本実施の形態における符号化装置は、グローバルゲイン見積もり部１６においてビットレートをグローバルゲイン見積もりの要素に加えることで、見積もり値が最終的なグローバルゲインに近い値になる。その結果、量子化処理における符号量制御ループのループ回数が削減され、スケールファクタ値が大きい場合でも量子化の処理量の増加を(ビットレートによらず)防ぐことができる。
【００５２】
［３．グローバルゲイン見積もり処理例］
次に、上述したグローバルゲイン見積もり部１６における処理例について説明する。図３は、グローバルゲイン見積もり処理の一例を示すフローチャートである。
【００５３】
ステップＳ１１において、グローバルゲイン見積もり部１６は、例えばＭＰＥＧ１ ＬａｙｅｒＩＩＩの場合、（７）式に示すように係数Ｃをビットレート（bitrate[bps]）によって決定する。
【００５４】
【数６】
2010175634.tif 000008
【００５５】
係数Ｃの決め方は任意であるが、ビットレートの値を変数とするＮ次多項式により計算されることが好ましい。特に各符号化方式の規格で定められた適用可能なビットレート毎に、グローバルゲインの見積もり精度が良くなるような適正な値にすることが望まれ、必要に応じてチューニングされることが好ましい。ここで、Ｃ１、Ｃ２は係数であり、対象の音源により変えることが可能であるが、例えば以下のような固定値を用いても良い。
【００５６】
【数７】
2010175634.tif 000009
【００５７】
ステップＳ１１において、グローバルゲイン見積もり部１６は、(８)式により見積もりグローバルゲインを算出する。
【００５８】
【数８】
2010175634.tif 000010
【００５９】
ここで、scalefactor[b]は、ｂ番目のＳＦＢに対応するスケールファクタ、bw[b]はｂ番目のＳＦＢのバンド幅（ＳＦＢに属するスペクトルの本数）、Ｃ(bitrate)はビットレートにより決められる係数、first_global_gainはファーストグローバルゲイン算出部１３で算出されるスケールファクタが全ＳＦＢで０のときのグローバルゲインを表す。
【００６０】
このようにして、ビットレートをグローバルゲイン見積もりの要素に加えることで、見積もり値がビットレートによらず、スケールファクタを適用したときの最終的なグローバルゲインに近い値になり、結果、量子化部１７における内部ループ処理のループ回数が削減され、量子化の処理量が削減されることになる。
【００６１】
［４．量子化処理例］
前記（８）式により求められる見積もりグローバルゲインは、スケールファクタを適用した場合、最終的に求まるグローバルゲインの値を超えてしまう場合があるため、量子化部１７は、図４に示すフローチャートの量子化処理を行う。
【００６２】
ステップＳ２１において、量子化部１７は、グローバルゲイン見積もり部１６により求められた見積もりグローバルゲインをグローバルゲインの初期値とする。
【００６３】
ステップＳ２２において、量子化部１７は、１フレーム中で最大の周波数スペクトルを、グローバルゲイン初期値（見積もりグローバルゲイン）で量子化して、最大の量子化スペクトル（max_ix）を求める。
【００６４】
ステップＳ２３において、量子化部１７は、最大の量子化スペクトル（max_ix）が各符号化方式の規格で定められた最大の量子化値（MAX_QUANT以下）であるかを判定する。MAX_QUNATは、例えばＭＰＥＧ１／２ ＬａｙｅｒＩＩＩ、又はＡＡＣであれば８１９１になる。max_ixがMAX_QUANT以下であれば、ステップＳ２４の処理に進む。一方、max_ixがMAX_QUANTを超えていた場合は、グローバルゲインを増加させて、全ＳＦＢの量子化ステップサイズを粗くしなければいけないので、グローバルゲインの変化方向を示すフラグdirectionに増加方向を示す定数QSTEPSIZE_UPを設定する（ステップＳ２７）。
【００６５】
ステップＳ２４において、量子化部１７は、１フレーム全ての周波数スペクトルを、グローバルゲイン初期値（見積もりグローバルゲイン）で量子化して、その結果の量子化スペクトルを符号化する際に使用するｂｉｔ量を計算する。
【００６６】
ステップＳ２５において、量子化部１７は、ステップＳ２４で計算された使用ｂｉｔ量と現在のフレームで使用可能なｂｉｔ量を比較する。使用ｂｉｔ量が使用可能ｂｉｔ量を超えていた場合は、グローバルゲインを増加させて、全ＳＦＢの量子化ステップサイズを粗くしなければいけないので、グローバルゲインの変化方向を示すフラグdirectionに増加方向を示す定数QSTEPSIZE_UPを設定する（ステップＳ２７）。一方、使用ｂｉｔ量が使用可能ｂｉｔ量以内に収まっていた場合、見積もりグローバルゲイン値で符号化が可能ということであるが、見積もりグローバルゲインが過大である。すなわち、より細かい量子化ステップサイズをとれる可能性があるので、グローバルゲインの変化方向を示すフラグdirectionに減少方向を示す定数QSTEPSIZE_DOWNを設定して、グローバルゲインを減少させていくようにする（ステップＳ２６）。
【００６７】
ステップＳ２８において、量子化部１７は、グローバルゲインの変化方向を示すフラグdirectionの値をから、グローバルゲインを増加させる処理を選択するか、グローバルゲインを減少させる処理を選択するかを決定する。
【００６８】
以下、グローバルゲインを増加させて符号量制御を行う動作（ステップＳ２９〜ステップＳ３３）と、グローバルゲインを減少させて符号量制御を行う動作（ステップＳ３４〜ステップＳ４１）に分けて説明する。
【００６９】
グローバルゲインを増加させて符号量制御を行う動作は、ステップＳ２９において、現在のグローバルゲインを増加させる。そして、１フレーム中で最大の周波数スペクトルを、現在のグローバルゲインで量子化して、最大の量子化スペクトル（max_ix）を求める（ステップＳ３０）。
【００７０】
ステップＳ３１において、量子化部１７は、ステップＳ３０で求めたmax_ixがMAX_QUANT以下であるかを判定する。max_ixがMAX_QUANT以下であれば、ステップＳ３２の処理に進む。max_ixがMAX_QUANTを超えていた場合は、グローバルゲインを増加させなければいけないので、ステップＳ２９の処理に戻る。
【００７１】
ステップＳ３２において、量子化部１７は、１フレーム全ての周波数スペクトルを、現在のグローバルゲインで量子化して、その結果の量子化スペクトルを符号化する際に使用するｂｉｔ量を計算する。
【００７２】
ステップＳ３３において、量子化部１７は、ステップＳ３２で計算された使用ｂｉｔ量と現在のフレームで使用可能なｂｉｔ量を比較する。使用ｂｉｔ量が使用可能ｂｉｔ量を超えていた場合はグローバルゲインを増加させなければいけないので、ステップＳ２９の処理に戻る。一方、使用ｂｉｔ量が使用可能ｂｉｔ量以内に収まっていた場合は現在のグローバルゲインを最終結果として量子化処理を終了する。
【００７３】
また、グローバルゲインを減少させて符号量制御を行う動作は、ステップＳ３４において、見積もりグローバルゲインとfirst global gain (全てのＳＦＢでスケールファクタが０の場合のグローバルゲイン)を比較する。見積もりグローバルゲインがfirst global gain (全てのＳＦＢでスケールファクタが０の場合のグローバルゲイン)と等しい場合は、グローバルゲインを増減させる必要が無いので、見積もりグローバルゲインを最終結果として量子化処理を終了する（この場合、周波数スペクトル量子化と使用ｂｉｔ量計算は、ステップＳ２４の結果を用いる）。一方、見積もりグローバルゲインがfirst global gainと異なる場合はステップＳ３５の処理に進む。
【００７４】
ステップＳ３５において、量子化部１７は、現在のグローバルゲインを減少させ、ステップＳ３６の処理に進む。
【００７５】
ステップＳ３６において、量子化部１７は、１フレーム中で最大の周波数スペクトルを、現在のグローバルゲインで量子化して、最大の量子化スペクトルmax_ixを求める。
【００７６】
ステップＳ３７において、量子化部１７は、ステップＳ３６で求めたmax_ixがMAX_QUANT以下であるかを判定する。max_ixがMAX_QUANT以下であれば、ステップＳ３８の処理に進む。一方、max_ixがMAX_QUANTを超えていた場合は、グローバルゲインをこれ以上減少させられないので、ステップＳ４０の処理に進む(符号量制御ループを抜ける)。
【００７７】
ステップＳ３８において、量子化部１７は、１フレーム全ての周波数スペクトルを、現在のグローバルゲインで量子化して、その結果の量子化スペクトルを符号化する際に使用するｂｉｔ量を計算する。
【００７８】
ステップＳ３９において、量子化部１７は、ステップＳ３８で計算された使用ｂｉｔ量と現在のフレームで使用可能なｂｉｔ量を比較する。使用ｂｉｔ量が使用可能ｂｉｔ量を超えていた場合はグローバルゲインをこれ以上減少させられないので、ステップＳ４０の処理に進む(符号量制御ループを抜ける)。一方、使用ｂｉｔ量が使用可能ｂｉｔ量以内に収まっていた場合はグローバルゲインをさらに減少させられる可能性があるので、ステップＳ３５の処理に戻る。
【００７９】
ステップＳ４０において、量子化部１７は、現在のグローバルゲインでは使用ｂｉｔ量が使用可能ｂｉｔ量を超えているので、現在のグローバルゲインを増加させ、それを最終結果のグローバルゲインとする。
【００８０】
ステップＳ４１において、量子化部１７は、１フレーム全ての周波数スペクトルを、現在のグローバルゲインで量子化して、その結果の量子化スペクトルを符号化する際に使用するｂｉｔ量を計算し、量子化処理を終了する。
【００８１】
このように量子化処理を行うことにより、グローバルゲイン見積もり部１６で算出されたグローバルゲイン見積もり値が、最終的に求まるグローバルゲイン値よりも大きい場合にも対応することができる。
【００８２】
［５．評価］
図５は、グローバルゲインの見積もり値を示すグラフである。これは、通常の楽曲のＰＣＭ音源(2ch, Fs 44.1kHz, 10秒データ)を３２ｋｂｐｓのビットレートで符号化したときの、実際のグローバルゲインと、グローバルゲインの見積もり値（本手法）を比較したものである（横軸は処理フレーム、縦軸はグローバルゲインの値を表す）。このグラフから分かるように、本手法によれば実際のグローバルゲインと近い見積もり値を得ることができる。
【００８３】
また、図６は、符号量制御ループ回数の平均値を示すグラフである。これは、ＭＰＥＧ１／２ ＬａｙｅｒＩＩＩに対して本手法を適用して、９種類のテストＰＣＭ音源(2ch, Fs 44.1kHz, 10秒データ)を符号化させて、符号量制御ループ回数合計を求めて、９種の平均をとったものである。
【００８４】
図６を参照すると、グローバルゲインの見積もりなしでは、ループ回数の大幅な増加が見られるのに対し、本発明の方法では、どのビットレートにおいても、ループ回数の増加を抑えることができているのが分かる。
【００８５】
以上のようにビットレートをグローバルゲイン見積もりの要素に加えることで、見積もり値が、ビットレートによらず、スケールファクタを適用したときの最終的なグローバルゲインに近い値になる。その結果、量子化処理における符号量制御ループのループ回数が削減され、スケールファクタ値が大きい場合でも量子化の処理量の増加を(ビットレートによらず)防ぐことができる。
【００８６】
また、前記式（１）に基づく特許文献１の方法では、階乗、log関数の計算が入るため処理量が多くなってしまう。一方、本手法では、単純に、各ＳＦＢのスケールファクタ×バンド幅の総和に係数を掛けたものであり、全ＳＦＢでスケールファクタが０の時のグローバルゲインからのグローバルゲインの増加量を見積もっている。このため見積もり計算に掛かる処理量を最低限に抑えることができる。
【００８７】
また、量子化処理における符号量制御処理を、図４に示すようなフローで動作させることにより、グローバル ゲインの見積もり値がスケールファクタを適用した場合の最終的なグローバルゲイン値を超えてしまう場合にも対応することができる。具体的には、符号化に使用するｂｉｔ量が使用可能ｂｉｔ量に収まる範囲内で、グローバルゲインの最小値を探索できるため、見積もりが外れた場合の音質劣化を防ぐことができる。
【００８８】
なお、上述した実施の形態では、符号化処理をハードウェアにより行うこととしたが、ソフトウェアにより行うこともできる。ソフトウェアにより行う場合は、そのソフトウェアを構成するプログラムが汎用コンピュータ等の情報処理装置にインストールされる。このプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＤＶＤ(Digital Versatile Disc)、半導体メモリなどの記録媒体に一時的又永続的に格納（記録）され、いわゆるパッケージソフトウエアとして提供される。また、インターネットなどのネットワークからのダウンロードにより提供される。
【符号の説明】
【００８９】
１１  心理聴覚モデル部、  １２  フィルタバンク部、  １３  ファーストグローバルゲイン算出部、  １４  スケールファクタ算出部、  １５  スケーリング部、  １６  グローバルゲイン見積もり部、  １７  量子化部、  １８  符号化部、  １９  フォーマッタ
【図１】
2010175634.tif 000012
【図２】
2010175634.tif 000013
【図３】
2010175634.tif 000014
【図４】
2010175634.tif 000015
【図５】
2010175634.tif 000016
【図６】
2010175634.tif 000017