(57)【要約】【課題】量子化ステップサイズの探索回数を削減して平均処理量を軽減するとともに、探索精度を向上させたオーディオ符号化装置を提供する。【解決手段】適応収束処理Ａとして、量子化ステップサイズを操作するためのグローバルゲインを求め、この求めたグローバルゲインに基づいて周波数スペクトルを量子化し、この量子化によって得た量子化データの発生符号量を求める。そしてこの発生符号量をターゲット符号量と比較して所定の条件を満たさない場合には、再び、適応収束処理Ａを実施するが、それに際して、グローバルゲインを１だけ変化させた時の発生符号量変化量αを求め、これに基づいて前回の適応収束処理Ａで用いてグローバルゲインを補正し、これを用いて適応収束処理Ａを実施するようにしたものである。【選択図】      図３
2008065162.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ信号を時間領域の信号から周波数領域の周波数スペクトラムに変換する変換手段と、
前記周波数スペクトラムに基づいてターゲット符号量を求める第１検出手段と、
前記周波数スペクトラムに基づいてスケールファクタを求める第２検出手段と、
量子化手段と、第３検出手段と、補正手段とを備え、これらがループを形成してループ制御を行うループ制御手段とを具備し、
前記量子化手段は、前記補正手段で補正された量子化ステップサイズと前記スケールファクタとに基づいて、前記周波数スペクトラムを量子化して前記量子化データを得て、
前記第３検出手段は、前記ループ制御毎に前記量子化手段によって得られる量子化データに基づいて、このデータの符号量の変化量を求め、
前記補正手段は、前記第３検出手段が求めた変化量と前記ターゲット符号量とに基づいて、前記量子化手段で用いる量子化ステップサイズを補正することを特徴とするオーディオ符号化装置。
【請求項２】
さらに、前記ループ制御毎に、前記量子化データの符号量と前記ターゲット符号量の大小関係を検出する第４検出手段を備え、
前記補正手段は、前記大小関係が逆転した場合に、この逆転の基となったループ制御で用いた量子化ステップサイズの補正値の２分値と、前記第３検出手段が求めた変化量と前記ターゲット符号量とに基づく補正値とのうち、その大きさが小さい方の値に基づいて、前記量子化手段で用いる量子化ステップサイズを補正することを特徴とする請求項１に記載のオーディオ符号化装置。
【請求項３】
さらに、前記ループ制御毎に、前記量子化データの符号量と前記ターゲット符号量の大小関係を検出する第４検出手段と、
前記大小関係が逆転する前の量子化データを求めるのに用いた量子化ステップサイズと、前記大小関係が逆転した後の量子化データを求めるのに用いた量子化ステップサイズとを記憶する記憶手段と、
前記ループ制御の実施回数を検出する第５検出手段とを備え、
前記実施回数が予め設定した値を超えた場合に、前記記憶手段が記憶する量子化ステップサイズに基づく値を両端点とした２分探索により、量子化ステップサイズを決定する２分探索手段とを備えることを特徴とする請求項１に記載のオーディオ符号化装置。
【請求項４】
さらに、前記ターゲット符号量と前記量子化データの符号量との差を求める第６検出手段を備え、
前記ループ制御手段は、前記差が予め設定した値よりも大きい場合に、前記ループ制御を実施し、一方、前記差が予め設定した値以下の場合には、前記ループ制御を終了することを特徴とする請求項１に記載のオーディオ符号化装置。
【請求項５】
さらに、前記周波数スペクトラムと前記スケールファクタとに基づいて、前記量子化ステップサイズの稼働範囲を限定する限定手段を備え、
前記補正手段は、前記限定手段が限定した可動範囲内で、前記量子化ステップサイズを補正することを特徴とする請求項１に記載のオーディオ符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声信号を符号化するオーディオ符号化装置に関する。
【背景技術】
【０００２】
オーディオデータを符号化する場合、オーディオ符号化装置は、ターゲットビットレートを満たすように量子化ステップサイズを決定しており、２分探索によって最適な量子化ステップサイズを求めることがＡＡＣ（Advanced Audio Coding）で用いられているが、これ以外にも、例えば、１回目の量子化ステップサイズを予測により求めて、量子化・ビットカウントを実行し、そして、ターゲットビットレートを満たしていれば、符号化を終了する。一方、ターゲットビットレートを満たしていなければ、２回目の予測を実行する技術も開示されている。
【０００３】
そして、この技術では、１回目の符号量とターゲットビットレートとの差分がＮ以上なら、符号量が１回目より少なくなるように、２回目の量子化ステップサイズの予測を行い、一方、上記差分がＮ以内なら、１回目の量子化ステップを１ステップだけ更新した２回目の量子化ステップサイズの予測を行うようにしている（特許文献１参照）。
【０００４】
なお、特許文献１の手法は、差分閾値Ｎが小さい場合、収束速度は予測の精度に依存するが、予測方法を示していない。また、特許文献１の手法では、上記いずれの場合においても、差分閾値Ｎ以上で予測によってターゲットを満たした場合、ターゲット付近で予測が終了しているとは限らないという問題があった。
【特許文献１】特許第２６５５０６３号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のオーディオ符号化装置では、量子化ステップサイズの探索にかかる平均処理量が多く、またターゲット付近で探索が終了しているとは限らないという問題があった。  
この発明は上記の問題を解決すべくなされたもので、量子化ステップサイズの探索回数を削減して平均処理量を軽減するとともに、探索精度を向上させたオーディオ符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、この発明は、オーディオ信号を時間領域の信号から周波数領域の周波数スペクトラムに変換する変換手段と、周波数スペクトラムに基づいてターゲット符号量を求める第１検出手段と、周波数スペクトラムに基づいてスケールファクタを求める第２検出手段と、量子化手段と、第３検出手段と、補正手段とを備え、これらがループを形成してループ制御を行うループ制御手段とを具備し、量子化手段は、補正手段で補正された量子化ステップサイズとスケールファクタとに基づいて、周波数スペクトラムを量子化して量子化データを得て、第３検出手段は、ループ制御毎に量子化手段によって得られる量子化データに基づいて、このデータの符号量の変化量を求め、補正手段は、第３検出手段が求めた変化量とターゲット符号量とに基づいて、量子化手段で用いる量子化ステップサイズを補正するように構成した。
【発明の効果】
【０００７】
以上述べたように、この発明では、ループ制御毎に量子化手段によって得られる量子化データに基づいて、このデータの符号量の変化量を求め、この求めた変化量とターゲット符号量とに基づいて、量子化手段で用いる量子化ステップサイズを補正するようにしている。
【０００８】
したがって、この発明によれば、量子化データの符号量の変化量に応じて量子化ステップサイズを可変して量子化が行えるので、量子化ステップサイズの探索回数を削減して平均処理量を軽減するとともに、探索精度を向上させることが可能なオーディオ符号化装置を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、この発明の一実施形態について説明する。  
図１は、この発明の一実施形態に係わるオーディオ符号化装置の構成を示すものである。この例では、AAC(Advanced Audio Coding)エンコーダを例に挙げて説明する。このオーディオ符号化装置は、ブロック切替判定部１０と、時間／周波数変換部２０と、許容誤差算出部３０と、レート制御部４０と、スケールファクタ決定部５０と、量子化制御部６０と、フォーマット部７０とを備えている。
【００１０】
ブロック切替判定部１０は、入力されたPCM信号（オーディオ信号）の信号特性を検出し、この特性に基づいて、ロングブロックか、あるいはショートブロックを選択する判定を行う。一般的には、アタック音などの過渡的な信号の場合にショートブロックを選択するが、ここでは特に限定しない。この判定結果は、時間／周波数変換部２０、許容誤差算出部３０、レート制御部４０およびフォーマット部７０に出力される。
【００１１】
時間／周波数変換部２０は、ブロック切替判定部１０の判定結果にしたがったブロックで、入力されたPCM信号を時間領域の信号から周波数領域の信号に変換して、上記PCM信号の周波数スペクトルを得る。この周波数スペクトルは、許容誤差算出部３０、レート制御部４０、スケールファクタ決定部５０および量子化制御部６０に出力される。
【００１２】
許容誤差算出部３０は、心理聴覚モデルに基づいて、上記周波数スペクトルについて、周波数帯域毎に許容される量子化誤差（以下、許容量子化誤差と称する）を算出する。許容される量子化誤差とは、マスキング効果によって聴き手に知覚されにくい範囲の量子化誤差を意味するものであって、これに基づく量子化により、品質を落とさずに符号化ビット数を節約することができる。
【００１３】
レート制御部４０は、ブロック切替判定部１０で選択したブロック形状と、時間／周波数変換部２０で求めた周波数スペクトルに基づいて、現フレームのターゲット符号量（target）を算出する。このターゲット符号量（target）は、量子化制御部６０に出力される。
【００１４】
スケールファクタ決定部５０は、時間／周波数変換部２０で求めた周波数スペクトルの各周波数帯域について、許容誤差算出部３０で求めた許容量子化誤差を満たすスケールファクタ（scale_factor[sfb]）を算出する。この算出方法は、種々の方法が考えられるが、特に限定されない。
【００１５】
量子化制御部６０は、スケールファクタ決定部５０で求めたスケールファクタと、レート制御部４０で求めたターゲット符号量とに基づいて、時間／周波数変換部２０で求めた周波数スペクトルを量子化し、量子化データを得る。量子化制御部６０の処理の詳細については、後述する。
【００１６】
フォーマット部７０は、量子化制御部６０で得た量子化データを、ブロック切替判定部１０で選択したブロック形状に基づく規定のシンタックスに従って、符号化情報に変換してこれを一時的に格納し、出力する。
【００１７】
次に、図２および図３を参照して、量子化制御部６０の処理の詳細について説明する。図２に、量子化制御部６０の構成例を示す。また図３は、図２に示した構成により、量子化制御部６０が量子化データを得るまでの処理（量子化制御）を示したフローチャートであって、この処理はフレーム毎に実施する。  
まず、ステップ３ａでは、量子化ループ制御部６４において、初期設定として、ループ回数を示すパラメータnum_loopに初期値「１」を設定し、ステップ３ｂに移行する。
【００１８】
ステップ３ｂでは、グローバルゲイン稼動範囲限定部６１が、時間／周波数変換部２０が出力する周波数スペクトルと、スケールファクタ決定部５０で決定したスケールファクタ（scale_factor[sfb]）とに基づいて、全帯域共通の量子化ステップを操作するパラメータであるグローバルゲインの稼動範囲（Gmin、Gmax）を限定する。この稼働範囲（Gmin、Gmax）は、グローバルゲイン決定部６２および２分探索範囲決定部６８に通知される。
【００１９】
より詳細に説明すると、グローバルゲイン稼動範囲限定部６１は、上記スケールファクタ（scale_factor[sfb]）をAAC符号化における量子化の定義式（下式（１））に代入する。
【数１】
2008065162.tif 000003
【００２０】
この式（１）は、変形すると、下式（２）で示すことができる。
【数２】
2008065162.tif 000004
【００２１】
この式（２）において、以下の項のフレーム中最大値を求める。ここで、mdct_lineとscale_factor[sfb]は既に決まっている。
【数３】
2008065162.tif 000005
【００２２】
そして、上記の項の求まった最大値を下式（３）のようにAmaxとする。
【数４】
2008065162.tif 000006
【００２３】
ここで、AACのハフマン符号テーブルのレンジは、0 〜 8191なので、量子化値は下式（４）を満たす必要がある。
【数５】
2008065162.tif 000007
【００２４】
量子化値が0、8191となるようなグローバルゲインをそれぞれGmin、Gmaxとして計算を進めると、下式（５）が得られる。
【数６】
2008065162.tif 000008
【００２５】
つまり、グローバルゲインの可動範囲は下式（６）によって制限されることになるため、グローバルゲイン稼動範囲限定部６１は、この範囲を求めて、グローバルゲインの可動範囲とする。
【数７】
2008065162.tif 000009
【００２６】
AACの規格としてのグローバルゲインの可動範囲は、255のレンジがあるので、上式（６）によって探索範囲が３分の１以下に絞られる効果があり、量子化制御の処理量削減が可能となる。後続の量子化制御においては、以上のようにして、グローバルゲイン稼動範囲限定部６１が求めた式（６）範囲内で、グローバルゲイン探索が行われる。
【００２７】
ステップ３ｃでは、グローバルゲイン決定部６２が、初期値テーブル、または予測情報に基づいて、グローバルゲイン稼動範囲限定部６１が限定した稼働範囲でグローバルゲインを決定し、これを量子化・ビットカウント部６３に出力する。なお、初期値テーブルには、前フレームのグローバルゲインを予め保持している。すなわち、１回目の量子化ループでは、前回のループによる予測情報がないため、グローバルゲイン決定部６２は、初期値として前フレームのグローバルゲインを設定する。
【００２８】
一方、２回目以降のループにおいてグローバルゲイン決定部６２は、後述する適応収束処理Ａで求めたグローバルゲイン変更量（Δg）を用いて、下式（７）によって算出した値を、グローバルゲインとする。ここで、prev_global_gainは、前回ループでのグローバルゲインである。
【数８】
2008065162.tif 000010
【００２９】
ステップ３ｄでは、量子化・ビットカウント部６３が、ステップ３ｃでグローバルゲイン決定部６２が求めたグローバルゲインと、スケールファクタ決定部５０で決定したスケールファクタ（scale_factor[sfb]）とに基づいて量子化ステップサイズを決定し、これに基づいて、時間／周波数変換部２０が出力する周波数スペクトルを、量子化およびハフマン符号化するとともに、発生符号量のビットカウントを行って、発生符号量（cur_bits）を求める。これによって得られた量子化データおよび発生符号量（cur_bits）と、ステップ３ｃでグローバルゲイン決定部６２が求めたグローバルゲインが量子化ループ制御部６４に出力される。
【００３０】
ステップ３ｅでは、量子化ループ制御部６４が、ステップ３ｄで量子化・ビットカウント部６３が求めた発生符号量（cur_bits）基づいて、量子化制御の収束条件を満たしているか否かの判定を行う。すなわち、量子化ループ制御部６４は、まずステップ３ｄで求めた発生符号量（cur_bits）と、レート制御部４０で求めたターゲット符号量（target）の差分（sub_bits）を求め、そしてこれと予め設定した閾値（TH_BITS）と比較して、下式（８）を満たすか否かを判定する。
【数９】
2008065162.tif 000011
【００３１】
ここで、上式（８）を満たす場合には、所望の発生符号量を実現したものとみなして、量子化・ビットカウント部６３から出力された量子化データを、フォーマット部７０に出力し、当該処理（量子化制御）を終了する。
【００３２】
一方、上式（８）を満たさない場合、すなわち量子化制御の収束条件を満たさない場合には、ステップ３ｆに移行する。なお、従来は、下式に示すように、cur_bitsが必ずtarget以下となるよう制御していた。
【数１０】
2008065162.tif 000012
【００３３】
これに対して、量子化ループ制御部６４は、収束条件にマージンを持たせたルーズな制御を行うので、ビットリザーバがアンダーフローしなければ、上式（８）のように、cur_bits>targetの場合でも収束させることができ、音質を維持しつつ収束に要する時間を短縮できる。
【００３４】
ステップ３ｆでは、量子化ループ制御部６４が、ループ回数（num_loop）に応じて、信号特性に応じた適応的なグローバルゲイン予測を行う適応収束処理Ａを行うか、最大処理量を保証するために、２分探探索によるグローバルゲイン予測を行う最大ループ数保障処理Ｂを行うかの判定する。なお、この判定後、ループ回数（num_loop）を１だけインクリメントする。
【００３５】
すなわち、量子化ループ制御部６４は、ループ回数（num_loop）が規定値（TH_LOOP）以下の場合は、適応収束処理Ａを行うために、量子化・ビットカウント部６３から与えられたグローバルゲインと、ターゲット符号量（target）の差分（sub_bits）と、量子化・ビットカウント部６３から与えられた発生符号量（cur_bits）を予測情報更新部６５に出力し、ステップ３ｇに移行する。
【００３６】
一方、ループ回数（num_loop）が規定値（TH_LOOP）を越える場合には、量子化ループ制御部６４は、最大ループ数保障処理Ｂによって強制的に一定回数以内で収束させるために、２分探索範囲決定部６８に探索範囲の決定を行うように指示し、ステップ３ｋを行う。
【００３７】
なお、越えたのが初めての場合には、上記指示だけを行う。一方、越えたのが２回目以降の場合には、量子化・ビットカウント部６３から量子化ループ制御部６４に、後述する最大ループ数保障処理Ｂ（２分探索）により得られた発生符号量とグローバルゲインが出力されることになるので、最大ループ数保障処理Ｂに必要となる上記発生符号量とグローバルゲインを２分探索範囲決定部６８に出力する。
【００３８】
ステップ３ｇでは、予測情報更新部６５が、過去のループでのグローバルゲインを保持するとともに、過去のループでの発生符号量（cur_bits）を発生符号量（prev_bits）として保持しており、これらと、量子化ループ制御部６４から与えられたグローバルゲインおよび発生符号量（cur_bits）とに基づいて、グローバルゲインを１だけ変化させた時の発生符号量変化量αを求める。
【００３９】
下式（９）は、発生符号量変化量αを求めるための式の一例である。この例では、予測情報更新部６５が、前回ループのグローバルゲインと今回ループのグローバルゲインとの差分Δgと、前回ループの発生符号量（prev_bits）と、今回ループの発生符号量（cur_bits）とに基づいて、発生符号量変化量αを求める。
【数１１】
2008065162.tif 000013
【００４０】
このように直前のループの結果ではなく、さらに前のループの結果を用いるようにしてもよいし、複数の過去のループの結果を用いるようにしてもよい。また、１回目のループにおいては、prev_bitsが不定なので、αの初期値は式（９）によらず、規定の初期値、例えば130ビットに設定してもよい。これは一般音源で符号化した際の経験的な値であるが、初期値の範囲を限定するものではない。
【００４１】
そして、発生符号量変化量αを求めた後は、予測情報更新部６５は、この発生符号量変化量αと、量子化ループ制御部６４から与えられた差分（sub_bits）と、今回ループの発生符号量（cur_bits）と、前回のループでの発生符号量（prev_bits）と、今回ループのグローバルゲインを選択部６６に出力する。この出力後、予測情報更新部６５は、次回のループに備えて、今回ループの発生符号量（cur_bits）を、前回のループでの発生符号量（prev_bits）として保持する。グローバルゲインについても同様である。
【００４２】
ステップ３ｈでは、選択部６６が、予測情報更新部６５から与えられた今回ループのグローバルゲインを保持するとともに、この時点までに保持しておいた前回ループのグローバルゲインを、前回ループのグローバルゲインとして保持し直す。そして選択部６６は、予測情報更新部６５から与えられた、前回ループでの発生符号量（prev_bits）と、今回ループでの発生符号量（cur_bits）と、ターゲット符号量とに基づいて、次回ループでのグローバルゲイン変更量予測を予測部６７ａで行うか、または予測部６７ｂで行うかの選択を行う。
【００４３】
具体的には、選択部６６が、今回ループでの発生符号量（cur_bits）が、前回ループでの発生符号量（prev_bits）からターゲット符号量を跨ぐような値になったか否かで判定し、そして、跨がない場合には、ステップ３ｉに移行し、一方、跨ぐ場合には、ステップ３ｊに移行する。例えば、図４に示すように、初回のループでは発生符号量がターゲット符号量より少なく、２回目では多い場合、またはその逆の場合に、ステップ３ｊに移行する。
【００４４】
また跨ぐ場合には、この時点で保持している今回ループのグローバルゲインと前回ループのグローバルゲインとが、ターゲットを挟む両端点（cur_bits, prev_bits）を得るのに用いた量子化ステップサイズの基となるグローバルゲインであるため、上記グローバルゲインのうち、小さい方をGmin´、大きい方をGmax´として、２分探索範囲決定部６８に出力する。なお、この時点までに、すでに（Gmin´,Gmax´）を２分探索範囲決定部６８に出力している場合には、今回求めた（Gmin´,Gmax´）が２分探索範囲決定部６８にて採用される。
【００４５】
ステップ３ｉでは、選択部６６が、予測部６７ａに対して、予測情報更新部６５から与えられた発生符号量変化量αと差分（sub_bits）とを予測部６７ａに出力する。これにより予測部６７ａは、下式（１０）にしたがって、次回ループでのグローバルゲイン変更量（Δg）を求める。このグローバルゲイン変更量（Δg）は、予測情報として、グローバルゲイン決定部６２に出力される。
【数１２】
2008065162.tif 000014
【００４６】
ステップ３ｊでは、選択部６６が、予測部６７ｂに対して、予測情報更新部６５から与えられた発生符号量変化量αと差分（sub_bits）とを予測部６７ａに出力する。これにより予測部６７ｂは、上式（１０）にしたがって、グローバルゲイン変更量（Δg）を求める。予測部６７ｂは、前回ループのグローバルゲイン変更量（Δprev_g）を保持しており、さらにこれを用いた下式（１１）により、次回ループでのグローバルゲイン変更量（Δg）を求める。そしてこれを予測情報として、グローバルゲイン決定部６２に出力する。
【数１３】
2008065162.tif 000015
【００４７】
すなわち、選択部６６が予測部６７ｂを選択する場合、今回ループでの発生符号量（cur_bits）が、前回ループでの発生符号量（prev_bits）からターゲット符号量を跨ぐような値になっているため、上式（１１）の処理により、グローバルゲインの次回ループでの変化量が最大でも２分探索による場合と同じになり、量子化制御の発散が防止できる。
【００４８】
以上のようにして、予測部６７ａあるいは６７ｂにて予測されたΔgを用いて、再びステップ３ｃに戻り、次回ループのグローバルゲインが決定される。なお、予測部６７ａ、６７ｂのどちらでも、今回ループでの発生符号量（cur_bits）がターゲット符号量より大きい場合には、Δgは正の値となり、逆に今回ループでの発生符号量（cur_bits）がターゲット符号量より小さい場合には、Δgは負の値となる。すなわち、ターゲット符号量に近づける方向に発生符号量が変化するような符号を持つ。
【００４９】
一方、ステップ３ｋでは、ステップ３ｆにて量子化ループ制御部６４から探索範囲の決定を行うように指示された２分探索範囲決定部６８が、後続の２分探索をより効率的に行うため、ステップ３ｂで求めたグローバルゲイン稼動範囲（Gmin、Gmax）にさらに制限を加える。式（６）によれば、グローバルゲインの稼動範囲は、74に限定されているが、この条件で２分探索を行うと、収束までに７回の探索が必要となる。
【００５０】
ここで、下式（１２）のようにグローバルゲインの可動範囲を64まで限定すれば、収束までにかかる探索回数が6回となり、ループ数をさらに減らすことができる。下式（１２）のように制限した場合、高精度の量子化ステップサイズが探索範囲から除外されてしまうが、本発明者による音質評価によれば、符号化音の音質劣化は認められなかった。ここで、２分探索範囲決定部６８は、Gmin=Gmin+10と更新する。
【数１４】
2008065162.tif 000016
【００５１】
そして、ステップ３ｋにおいて２分探索範囲決定部６８は、ステップ３ｈで与えられた（Gmin´,Gmax´）がある場合には、これを用いて、下式（１３）にしたがって、さらにグローバルゲインの稼動範囲を制限する。そして、２分探索範囲決定部６８は、この制限したグローバルゲインの稼動範囲を２分探索部６９に通知する。
【数１５】
2008065162.tif 000017
【００５２】
ステップ３ｌでは、２分探索部６９が、２分探索範囲決定部６８から通知されるグローバルゲインの稼動範囲を端点とした２分探索を行って、グローバルゲインを決定する。これにより最大６回でターゲット符号量を満たすグローバルゲインを見つけることができ、異常なループ回数増加を回避することができる。
【００５３】
このようにして決定されたグローバルゲインは、グローバルゲイン決定部６２を通じて量子化・ビットカウント部６３に出力される。これに対して、量子化・ビットカウント部６３は、２分探索部６９が求めたグローバルゲインと、スケールファクタ決定部５０で決定したスケールファクタ（scale_factor[sfb]）とに基づいて量子化ステップサイズを決定し、これに基づいて、時間／周波数変換部２０が出力する周波数スペクトルを、量子化およびハフマン符号化するとともに、発生符号量のビットカウントを行って、発生符号量（cur_bits）を求める。
【００５４】
これによって得られた量子化データおよび発生符号量（cur_bits）と、上記グローバルゲインが量子化ループ制御部６４に出力される。量子化ループ制御部６４は、量子化・ビットカウント部６３が求めた発生符号量（cur_bits）基づいて、式（８）を満たすことを確認すると、量子化・ビットカウント部６３から出力された量子化データを、フォーマット部７０に出力し、当該処理（量子化制御）を終了する。
【００５５】
また式（８）を満たすことが確認できない場合には、再び２分探索を実施するために、今回ループで求めた発生符号量とグローバルゲインを２分探索範囲決定部６８に出力する。これに対して２分探索範囲決定部６８は、前回ループのグローバルゲインと、今回ループのグローバルゲインとに基づいて、２分探索の範囲を決定し、これを２分探索部６９に通知して、２分探索を実施する。
【００５６】
以上のように、上記構成のオーディオ符号化装置では、適応収束処理Ａとして、量子化ステップサイズを操作するためのグローバルゲインを求め、この求めたグローバルゲインに基づいて周波数スペクトルを量子化し、この量子化によって得た量子化データの発生符号量を求める。そしてこの発生符号量をターゲット符号量と比較して所定の条件を満たさない場合には、再び、適応収束処理Ａを実施するが、それに際して、グローバルゲインを１だけ変化させた時の発生符号量変化量αを求め、これに基づいて前回の適応収束処理Ａで用いてグローバルゲインを補正し、これを用いて適応収束処理Ａを実施するようにしている。
【００５７】
したがって、上記構成のオーディオ符号化装置によれば、グローバルゲインを１だけ変化させた時の発生符号量変化量αを求めて、これに基づいて量子化に用いるグローバルゲインを補正するようにしているので、量子化ステップサイズの探索回数を削減して平均処理量を軽減するとともに、探索精度を向上させることができる。
【００５８】
また上記実施の形態では、適応収束処理Ａを繰り返すうちに、ターゲット符号量と発生符号量の大小関係が逆転した場合には、上記発生符号量変化量αに基づく補正値（Δg）と、前回ループの２分探索に基づく補正値（Δprev_g/2）のうち、小さい方の値に基づいて、グローバルゲインを補正し、これを用いて適応収束処理Ａを実施するようにしている。したがって、上記構成のオーディオ符号化装置によれば、グローバルゲインの次回ループでの変化量が最大でも２分探索による場合と同じになり、量子化制御の発散が防止できる。
【００５９】
さらに上記実施の形態では、適応収束処理Ａを所定回数だけ繰り返しても収束しない場合には、よりグローバルゲインの稼働範囲に制限を加えた２分探索（最大ループ数保障処理Ｂ）を実施して、最大ループ数内で収束するようにしているので、ループ回数が異常に増大することを防止できる。
【００６０】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【００６１】
その一例として例えば、上記実施の形態では、発生符号量変化量αは、符号変化量に基づいて適応的に更新するようにしたが、これに代わって例えば、量子化値のピークに基づいて適応的に更新するようにしてもよい。また上記量子化値の複数ループの平均値に基づいて適応的に更新するようにしてもよい。さらには、上記量子化値のばらつき（ｓｆｍや分散など）に基づいて適応的に更新するようにしてもよい。
【００６２】
そしてまた、発生符号量変化量αは、量子化前の係数のばらつき（ｓｆｍや分散など）に基づいて適応的に更新するようにしてもよい。さらにまた、量子化値が０である割合に基づいて適応的に更新するようにしてもよい。
【００６３】
さらにまた、上記実施の形態では、量子化ステップサイズを決定するパラメータであるグローバルゲインをループ制御するようにしたが、量子化ステップサイズ自体をループ制御するようにしてもよい。この場合、例えば選択部６６が前回ループと今回ループのグローバルゲインを保持する代わりに、前回ループと今回ループの量子化ステップサイズを保持し、これをステップ３ｈにて２分探索範囲決定部６８に通知する。これに対して２分探索範囲決定部６８は、通知された前回ループと今回ループの量子化ステップサイズに基づいて、２分探索の範囲を限定し、この結果に基づいて、２分探索部６９が２分探索を行う。  
その他、この発明の要旨を逸脱しない範囲で種々の変形を施しても同様に実施可能であることはいうまでもない。
【図面の簡単な説明】
【００６４】
【図１】この発明に係わるオーディオ符号化装置の一実施形態の構成を示す回路ブロック図。
【図２】図１に示したオーディオ符号化装置の量子化制御部の構成を示す回路ブロック図。
【図３】図１に示したオーディオ符号化装置の量子化制御部の動作を説明するためのフローチャート。
【図４】図３に示した適応収束処理Ａを繰り返すうちに、ターゲット符号量と発生符号量の大小関係が逆転する様子を説明するための図。
【符号の説明】
【００６５】
１０…ブロック切替判定部、２０…時間／周波数変換部、３０…許容誤差算出部、４０…レート制御部、５０…スケールファクタ決定部、６０…量子化制御部、６１…グローバルゲイン稼動範囲限定部、６２…グローバルゲイン決定部、６３…量子化・ビットカウント部、６４…量子化ループ制御部、６５…予測情報更新部、６６…選択部、６７ａ…予測部、６７ｂ…予測部、６８…２分探索範囲決定部、６９…２分探索部、７０…フォーマット部。
【図１】
2008065162.tif 000018
【図２】
2008065162.tif 000019
【図３】
2008065162.tif 000020
【図４】
2008065162.tif 000021