(57)【特許請求の範囲】
【請求項１】
複数チャネルからなるオーディオ信号を、可変長符号化方式によりビット保存を使用して符号化するオーディオ符号化器において、
前記ビット保存に蓄えられているビット数と、入力された前記オーディオ信号に対する心理聴覚分析の結果に基づき付加ビット数を求め、この求められた付加ビット数を、設定されたビットレートに基づく１フレームあたりの平均ビット数に加算することにより、前記オーディオ信号のフレームごとに符号化に利用可能なビット数を決定するビット割当て手段と、
前記入力されたオーディオ信号のチャネル間におけるパワー比を検出する検出手段と、
前記検出手段により検出されたチャネル間のパワー比を、前記ビット割当て手段により決定される利用可能ビット数のうちの前記付加ビット数に乗算することにより、当該付加ビット数を補正する補正手段と、
前記入力されたオーディオ信号をスケールファクタに基づいて量子化及び可変長符号化する処理を、前記補正された利用可能ビット数の範囲内で、量子化歪みがマスキングレベル以下になるまで繰り返し実行する繰り返しループ手段と、
前記量子化処理及び可変長符号化処理の繰り返し実行により得られた結果を含むオーディオビットストリームを形成する手段とを具備したことを特徴とするオーディオ符号化器。
【請求項２】
複数チャネルからなるオーディオ信号を、可変長符号化方式によりビット保存を使用して符号化するオーディオ符号化器において、
前記ビット保存に蓄えられているビット数と、入力された前記オーディオ信号に対する心理聴覚分析の結果に基づき、付加ビット数を求め、この求められた付加ビット数を、設定されたビットレートに基づく１フレームあたりの平均ビット数に加算することにより、前記オーディオ信号のフレームごとに符号化に利用可能なビット数を決定するビット割当て手段と、
前記心理聴覚分析の結果に基づいて、入力された前記オーディオ信号の各チャネル間の心理聴覚エントロピーの比を検出する検出手段と、
前記検出手段により検出されたチャネル間の心理聴覚エントロピーの比を、前記ビット割当て手段により決定される利用可能ビット数のうち前記付加ビット数に乗算することにより当該付加ビット数を補正する補正手段と、
入力された前記オーディオ信号をスケールファクタに基づいて量子化及び可変長符号化する処理を、前記補正された利用可能ビット数の範囲内で、量子化歪みがマスキングレベル以下になるまで繰り返し実行する繰り返しループ手段と、
前記量子化処理及び可変長符号化処理の繰り返し実行により得られた結果を含むオーディオビットストリームを形成する手段とを具備したことを特徴とするオーディオ符号化器。
【請求項３】
前記繰り返しループ手段は、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求める処理手段を備え、
前記処理手段は、量子化歪みがマスキングレベルを超えるスケールファクタバンド数が最小となるときのスケールファクタを保持し、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、前記保持されたスケールファクタをもとに準最適なスケールファクタの組み合わせを求めることを特徴とする請求項１又は２記載のオーディオ符号化器。
【請求項４】
前記繰り返しループ手段は、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求める処理手段を備え、
前記処理手段は、量子化歪みがマスキングレベルを超えるスケールファクタバンドのバンド幅に応じて重み付けされた値の合計が最小となるときのスケールファクタを保持し、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、前記保持されたスケールファクタをもとに準最適なスケールファクタの組み合わせを求めることを特徴とする請求項１又は２記載のオーディオ符号化器。
【請求項５】
前記繰り返しループ手段は、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求める処理手段を備え、
前記処理手段は、量子化歪みがマスキングレベルを超えるスケールファクタバンドの、量子化歪みとマスキングレベルとの差の合計が最小のときのスケールファクタを保持し、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、前記保持されたスケールファクタをもとに準最適なスケールファクタの組み合わせを求めることを特徴とする請求項１又は２記載のオーディオ符号化器。
【請求項６】
コンピュータを使用し、複数チャネルからなるオーディオ信号を可変長符号化方式によりビット保存を用いて符号化するオーディオ符号化器で使用される符号化処理プログラムにおいて、
前記入力されたオーディオ信号のチャネル間におけるパワー比を検出する処理ステップと、
前記ビット保存に蓄えられているビット数と、入力された前記オーディオ信号に対する心理聴覚分析の結果に基づき、付加ビット数を求め、この求められた付加ビット数を、設定されたビットレートに基づく１フレームあたりの平均ビット数に加算することにより、前記オーディオ信号のフレームごとに符号化に利用可能なビット数を決定する処理ステップと、
前記検出されたチャネル間のパワー比を、前記決定される利用可能ビット数のうちの前記付加ビット数に乗算することにより、当該付加ビット数を補正する処理ステップと、
前記入力されたオーディオ信号をスケールファクタに基づいて量子化及び可変長符号化する処理を、前記補正された利用可能ビット数の範囲内で、量子化歪みがマスキングレベル以下になるまで繰り返し実行する処理ステップと、
前記量子化処理及び可変長符号化処理の繰り返し実行により得られた結果を含むオーディオビットストリームを形成する処理ステップと
を、前記コンピュータに実行させることを特徴とするオーディオ信号の符号化処理プログラム。
【請求項７】
コンピュータを使用し、複数チャネルからなるオーディオ信号を可変長符号化方式によりビット保存を用いて符号化するオーディオ符号化器で使用される符号化処理プログラムにおいて、
心理聴覚分析の結果に基づいて、入力された前記オーディオ信号の各チャネル間の心理聴覚エントロピーの比を検出する処理ステップと、
前記ビット保存に蓄えられているビット数と、入力された前記オーディオ信号に対する心理聴覚分析の結果に基づき、付加ビット数を求め、この求められた付加ビット数を、設定されたビットレートに基づく１フレームあたりの平均ビット数に加算することにより、前記オーディオ信号のフレームごとに符号化に利用可能なビット数を決定する処理ステップと、
前記検出されたチャネル間の心理聴覚エントロピーの比を、前記決定される利用可能ビット数のうちの前記付加ビット数に乗算することにより当該付加ビット数を補正する処理ステップと、
前記入力されたオーディオ信号をスケールファクタに基づいて量子化及び可変長符号化する処理を、前記補正された利用可能ビット数の範囲内で、量子化歪みがマスキングレベル以下になるまで繰り返し実行する処理ステップと、
前記量子化処理及び可変長符号化処理の繰り返し実行により得られた結果を含むオーディオビットストリームを形成する処理ステップと
を、前記コンピュータに実行させることを特徴とするオーディオ信号の符号化処理プログラム。
【請求項８】
前記繰り返し実行する処理ステップは、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求めるステップを含み、
前記最適なスケールファクタの組み合わせを求めるステップは、量子化歪みがマスキングレベルを超えるスケールファクタバンド数が最小となるときのスケールファクタを保持し、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、前記保持されたスケールファクタをもとに準最適なスケールファクタの組み合わせを求めることを特徴とする請求項６又は７記載のオーディオ信号の符号化処理プログラム。
【請求項９】
前記繰り返し実行する処理ステップは、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求めるステップを含み、
前記最適なスケールファクタの組み合わせを求めるステップは、量子化歪みがマスキングレベルを超えるスケールファクタバンドのバンド幅に応じて重み付けされた値の合計が最小となるときのスケールファクタを保持し、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、前記保持されたスケールファクタをもとに準最適なスケールファクタの組み合わせを求めることを特徴とする請求項６又は７記載のオーディオ信号の符号化処理プログラム。
【請求項１０】
前記繰り返し実行する処理ステップは、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求めるステップを含み、
前記最適なスケールファクタの組み合わせを求めるステップは、量子化歪みがマスキングレベルを超えるスケールファクタバンドの、量子化歪みとマスキングレベルとの差の合計が最小のときのスケールファクタを保持し、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、前記保持されたスケールファクタをもとに準最適なスケールファクタの組み合わせを求めることを特徴とする請求項６又は７記載のオーディオ信号の符号化処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばＭＰＥＧ（Moving Picture Coding Experts Group）オーディオレコーダに設けられるオーディオ符号化器と、この符号化器においてオーディオ信号を符号化するために使用される符号化処理プログラムに関する。
【０００２】
【従来の技術】
ＭＰＥＧオーディオレコーダでは、心理聴覚分析を採用したオーディオ符号化器が用いられている。この種の符号化器は、入力されたオーディオ信号を、先ず時間／周波数変換部により時間領域の信号から周波数領域の信号に変換する。またそれと共に心理聴覚分析部により、高速フーリエ変換（ＦＦＴ）分析等を用いてスケールファクタバンドごとの信号対マスク比（ＳＭＲ）及び心理聴覚エントロピーをそれぞれ算出する。次に、量子化／可変長符号化／バッファ制御の繰り返しループにより、スケールファクタバンドごとのＳＭＲから心理聴覚に基づいた量子化誤差のマスキングレベルを算出する。そして、利用可能なビット数の範囲内で量子化処理及び可変長符号化処理を繰り返し実行し、これにより量子化誤差がマスキングレベル以下になるような最適なスケールファクタを求める。
【０００３】
また上記繰り返しループでは、符号化方式として可変長符号化方式を用いているため、各フレームで発生する符号化量は変化する。このため、ビット保存（bit reservoir）技術を用いている。すなわち、符号化発生量が少ないフレームでは、余ったビットを最大保存量を超えない範囲でビット保存に蓄積する。そして、この蓄積したビットを、オーディオ信号の立ち上がり等のように多くの符号化用のビットを必要とするフレームで利用する。多くのビットを必要とするか否かは、心理聴覚エントロピーに基づいて判定する。
【０００４】
上記繰り返しループにより得られたスケールファクタは、ビットストリーム形成部に入力される。ビットストリーム形成部では、上記繰り返しループにより得られた最適なスケールファクタの符号と、そのときの量子化値の可変長符号と、サイド情報とをもとに、所定のフォーマットのオーディオビットストリームを形成する。そして、この形成されたオーディオビットストリームを送信又は記録メディアへの蓄積に供する（例えば、非特許文献１参照。）。
【０００５】
ところで、上記量子化／可変長符号化／バッファ制御の繰り返しループでは、次のような処理が行われる。すなわち、先ず先に述べたスケールファクタバンドごとのＳＭＲから、心理聴覚に基づいた量子化誤差のマスキングレベルがスケールファクタバンドごとに計算される。続いて、ビット保存に蓄積されているビット数と、心理聴覚エントロピーとを考慮して、付加するビット数（add_bits）が求められる。そして、この算出された付加ビット数（add_bits）は、設定されたビットレートに基づく１フレームあたりの平均ビット数（mean_bits）に加算され、これにより利用可能な最大ビット数（max_bits）が決定される。
【０００６】
そうして、利用可能な最大ビット数（max_bits）が決定されると、スケールファクタ等を初期設定するための処理が行われ、続いて実際の周波数サンプルが現在のスケールファクタに基づき量子化される。その量子化値は可変長符号化され、これにより必要なビット数が求められる。もし、必要なビット数が利用可能な最大ビット数を超えている場合には、必要なビット数が利用可能なビット数以下になるまで量子化ステップサイズが大きな値に変更され、これにより必要なビット数が抑制される。
【０００７】
続いて、以上のように求められた量子化値と元の周波数サンプルとが比較され、スケールファクタバンドごとの量子化歪みが求められる。そして、量子化歪みがマスキングレベルを超えているスケールファクタバンド数（over）を求める。その結果、すべてのスケールファクタバンドにおいてその量子化歪みがマスキングレベル以下であれば（over=0）、繰り返しループから抜け出してそのときのスケールファクタが保存され、符号化に使用されたビット数が計算される。そして、この計算された使用ビット数と利用可能な最大ビット数との間に差（未使用ビット数）があれば、この未使用ビットが次フレーム以降のフレームの符号化処理に使用するためにビット保存に蓄積される。
【０００８】
一方、あるスケールファクタバンドにおいてその量子化歪みがマスキングレベルを超えていれば（over!=0）、それらすべてのスケールファクタが上限を超えずに修正可能であるか否かが判定される。そして、修正可能であればそれらのスケールファクタが増加される。以後、以上のループが繰り返し実行される。
【０００９】
設定されたビットレートが高く、利用可能な最大ビット数が十分にあるときには、量子化歪みが許容範囲以下のスケールファクタの組み合わせが見つかる。利用可能なビット数が少ないときにはループが繰り返し実行され、スケールファクタが上限値に達してしまう。この場合には、スケールファクタが修正不可能と判断され、準最適なスケールファクタの組み合わせが保存される。そして、符号化に使用されたビット数が計算され、この使用されたビット数と利用可能な最大ビット数との間に差（未使用ビット数）があれば、この未使用ビットが次フレーム以降のフレームの符号化処理に使用するためにビット保存に蓄積される。
【００１０】
入力されたオーディオ信号がステレオ信号の場合には、左右の各チャネルの信号ごとに、上述した量子化／可変長符号化／バッファ制御の繰り返しループの過程が繰り返し実行される。
【００１１】
【非特許文献１】
総合マルチメディア選書  「ＭＰＥＧ」  映像情報メディア学会  編
第６章  ＭＰＥＧオーディオ符号化（特にP141〜P153）
【００１２】
【発明が解決しようとする課題】
ところが、このような従来のオーディオ符号化器では、入力されたオーディオ信号のフレームごとに、ビット保存に蓄積されたビット数から利用可能な最大ビット数が順次計算され、この計算されたビット数が当該フレームの符号化処理のために割り当てられる。この処理は、入力されたオーディオ信号がステレオ信号の場合にも、一方のチャネルについての処理結果を他方のチャネルの処理に引き継ぐかたちで行われる。
【００１３】
このため、設定されたビットレートが低く、利用可能な最大ビット数が十分でない場合には、ステレオ信号の左右各チャネルのうち先に符号化処理されるチャネルの方に多くのビット数が割り当てられてしまい、後に符号化されるチャネルの符号化品質が劣化し易くなるという不具合を生じる。
【００１４】
この発明は上記事情に着目してなされたもので、その目的とするところは、ステレオ信号のように複数チャネルを有するオーディオ信号を符号化する場合に、設定されたビットレートが低い場合でも、複数のチャネルの各々についてそれぞれ適当なビット数を割り当てることを可能にし、これによりチャネル間における符号化品質のばらつきを低減したオーディオ符号化器とその符号化処理プログラムを提供することにある。
【００１５】
【課題を解決するための手段】
上記目的を達成するためにこの発明は、複数チャネルからなるオーディオ信号を、可変長符号化方式とビット保存技術を使用して符号化するオーディオ符号化器とその符号化プログラムにおいて、入力された上記オーディオ信号の各チャネル間における情報量の相違を検出し、その検出結果に基づいて、上記オーディオ信号の各フレームに割り当てる利用可能ビット数を補正する。そして、上記各チャネルのオーディオ信号をそれぞれスケールファクタに基づいて量子化及び可変長符号化する処理を、上記補正された利用可能ビット数の範囲内で、量子化歪みがマスキングレベル以下になるまで繰り返し実行し、この量子化処理及び可変長符号化処理により得られた結果をオーディオビットストリームにフォーマット化するようにしたものである。
【００１６】
具体的には、オーディオ信号のチャネル間におけるパワー比を検出し、この検出されたパワー比に基づいて、上記ビット割当てにより決定される利用可能ビット数を補正する。
【００１７】
また別の手段としては、心理聴覚分析によりオーディオ信号から求められる心理聴覚エントロピーのチャネル間の比を検出し、この検出された心理聴覚エントロピーの比に基づいて、上記ビット割当てにより決定される利用可能ビット数を補正する。
【００１８】
したがってこの発明によれば、量子化／可変長符号化／バッファ制御の繰り返しループの処理に先立ち、オーディオ信号のチャネル間における情報量の相違が検出され、その検出結果に基づいてビット割当てにより決定される利用可能ビット数が補正される。このため、設定されたビットレートが低く、利用可能な最大ビット数が十分でない場合であっても、複数のチャネルにそれぞれ適切なビット数が割り当てられる。したがって、先に符号化されるチャネルは勿論のこと、後に符号化されるチャネルについても、品質の劣化を招くことなく符号化を行うことが可能となり、これによりチャネル間の符号化品質のばらつきを低減することができる。
【００１９】
またこの発明は、上記繰り返しループにおいて、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求める際に、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、準最適なスケールファクタの組み合わせを求めることを特徴とする。
【００２０】
準最適なスケールファクタの組み合わせを求める手段としては、次の各手段が考えられる。
第１の手段は、量子化歪みがマスキングレベルを超えるスケールファクタバンド数が最小となるときのスケールファクタを保持しておく。そして、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合に、上記保持されているスケールファクタをもとに準最適なスケールファクタの組み合わせを求めるものである。
【００２１】
第２の手段は、量子化歪みがマスキングレベルを超えるスケールファクタバンドのバンド幅に応じて重み付けされた値の合計、つまり量子化歪みがマスキングレベルを超えるスケールファクタバンドのバンド幅の合計が最小となるときのスケールファクタを保持しておく。そして、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合に、上記保持されているスケールファクタをもとに準最適なスケールファクタの組み合わせを求めるものである。
第３の手段は、量子化歪みがマスキングレベルを超えるスケールファクタバンドの、量子化歪みとマスキングレベルとの差の合計、つまり量子化歪みがマスキングレベルを超えるスケールファクタバンドの量子化歪みの誤差の合計が最小のときのスケールファクタを保持しておく。そして、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、前記保持されているスケールファクタをもとに準最適なスケールファクタの組み合わせを求めるものである。
【００２２】
以上のように、準最適なスケールファクタを用意することによって、設定ビットレートが低く、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタバンドの組み合わせが見つからなかった場合でも、符号化されたオーディオ信号の品質劣化を抑制することが可能となる。
【００２３】
【発明の実施の形態】
（第１の実施形態）
図１は、この発明に係わるオーディオ符号化器の第１の実施形態を示す機能ブロック図である。このオーディオ符号化器は、ハイブリッドフィルタバンク１と、心理聴覚分析部２と、繰り返しループ３と、ビットストリーム形成部４とを備えている。
【００２４】
先ず心理聴覚分析部２は、高速フーリエ変換（ＦＦＴ：First Fourier Transform）部２１と、非予測可能性測定部２２と、信号対マスク比（ＳＭＲ：Signal-to-Mask Ratio）計算部２３と、心理聴覚エントロピー評価部２４とを有している。
【００２５】
心理聴覚分析部２には、例えば図示しないＰＣＭ（Pulse Code Modulation）符号化部により１６ビット直線量子化されたＰＣＭステレオオーディオ信号ＡＳが入力される。入力されたＰＣＭステレオオーディオ信号ＡＳは、高速フーリエ変換部２１でＦＦＴ分析されたのち、非予測可能性測定部２２により予測不可能性（Unpredictability）が測定される。ＳＭＲ計算部２３は、上記ＦＦＴ分析に基づいて、入力されたＰＣＭステレオオーディオ信号ＡＳのサブバンド（スケールファクタバンド）ごとのＳＭＲを計算する。心理聴覚エントロピー評価部２４は、上記計算されたＳＭＲをもとに心理聴覚エントロピーを求める。
【００２６】
なお、心理聴覚分析のモデルについては、杉山：“音響信号の高能率符号化”，連載講座「ディジタルテレビ放送の基礎技術」，テレビ誌，48，4，pp.447-454（Apr.1994）に詳しく述べられている。
【００２７】
ハイブリッドフィルタバンク１は、サブバンド分析フィルタバンク１１と、適応ブロック長の変形離散コサイン変換（ＭＤＣＴ：Modified Discrete Cosine Transform）部１２と、折り返し歪み削減バタフライ１３とを有している。
【００２８】
入力された上記ＰＣＭステレオオーディオ信号ＡＳは、サブバンド分析フィルタバンク１１により時間領域の信号から周波数領域の信号に変換されたのち、例えば３２帯域のサブバンド（スケールファクタバンド）の信号に分割される。サブバンド分析には、例えば５１２タップのポリフェーズフィルタバンク（ＰＦＢ：Polyphase Filter Bank）が用いられる。
【００２９】
適応ブロック長ＭＤＣＴ部１２は、プリエコーを抑圧するためのもので、上記分割された各サブバンド信号をさらに細かいスペクトルラインに写像する。このとき、適応ブロック長ＭＤＣＴ部１２のブロック長は、上記心理聴覚エントロピー評価部２４により求められる、予測不可能性を用いた心理聴覚エントロピーに基づいて決定される。折り返し歪み削減バタフライ１３は、上記適応ブロック長ＭＤＣＴ部１２により得られた写像信号に含まれる、周波数領域の折り返し歪みを除去する。
【００３０】
繰り返しループ３は、非線形量子化部３１と、スケールファクタ計算部３２と、バッファ制御部３３と、ハフマン符号化部３４と、サイド情報符号化部３５とを有している。
【００３１】
スケールファクタ計算部３２は、上記ＳＭＲ計算部２３により求められたスケールファクタバンドごとの信号対マスク比（ＳＭＲ）をもとに、心理聴覚モデルに基づいた量子化誤差のマスキングレベルをスケールファクタバンドごとに計算する。また、バッファ制御部３３のビット保存に蓄えられているビット数と、上記心理聴覚エントロピー評価部２４により求められた心理聴覚エントロピーとに基づいて、非線形量子化に利用可能な最大ビット数を決定する。さらにスケールファクタ計算部３２は、この利用可能な最大ビット数の決定に先立ち、前記入力されるオーディオ信号の左右各チャネル間のパワー比を算出する。算出されたパワー比は、上記利用可能な最大ビット数を補正するために用いられる。この補正された利用可能ビット数は、非線形量子化処理のために非線形量子化部３１に与えられる。
【００３２】
非線形量子化部３１は、上記スケールファクタ計算部３２によるビット割当てに従い、上記折り返し歪み削減バタフライ１３から出力された写像信号の非線形量子化を行う。この非線形量子化により得られた量子化値はハフマン符号化部３４により可変長符号化され、必要なビット数が求められる。この求められた必要ビット数は利用可能な最大ビット数と比較され、その比較結果をもとに量子化ステップサイズの変更が行われる。
【００３３】
以上の非線形量子化及び可変長符号化は繰り返しループを伴っており、すべてのスケールファクタバンドで量子化誤差がマスキングレベル以下になるまで繰り返される。そして、すべてのスケールファクタバンドで量子化誤差がマスキングレベル以下になると、このとき得られたスケールファクタが用いられる。またこの繰り返しループでは、符号化に使用されたビット数が計算され、未使用ビット数は次フレーム以降の符号化のためにバッファ制御部３３のビット保存に蓄積される。
【００３４】
サイド情報符号化部３５は、上記繰り返しループの終了後に、スケールファクタ計算部３２により算出されたスケールファクタをビット割当て情報やハフマンテーブルと共にサイド情報として符号化する。
【００３５】
ビットストリーム生成部４は、ヘッダと、上記ハフマン符号化部３４により符号化されたデータと、上記サイド情報符号化部３５により符号化されたサイド情報とを、所定のフォーマットに従い多重化してビットストリームを形成する。そして、この生成されたビットストリームを蓄積メディアへの蓄積に供するか、或いは通信路への送信に供する。
【００３６】
次に、以上のように構成されたオーディオ符号化器におけるステレオ信号の量子化／可変長符号化／バッファ制御の繰り返しループ３による処理動作を説明する。この処理動作は、プログラムをマイクロコンピュータ或いはＤＳＰ（Digital Signal Processor）に実行させることにより実現される。
【００３７】
図２は、その全体の処理手順と処理内容（メインルーチン）を示すフローチャートである。繰り返しループ３では、先ずステップ２ａにより、入力されるステレオオーディオ信号ＡＳの左右各チャネル間のパワー比が算出される。このパワー比の算出は次式により行われる。
【数１】
0003725876.tif 000002
【００３８】
繰り返しループ３では次に、入力されたステレオオーディオ信号ＡＳの左右両チャネルについて順次、量子化／可変長符号化／バッファ制御の繰り返しループ処理が行われる。
【００３９】
すなわち、ステップ２ｂで先ずチャネル番号ｃｈが初期化（ｃｈ＝０）される。そして、この初期化したチャネル番号ｃｈ＝０に対応するチャネル、例えば左チャネルの入力オーディオ信号について、ステップ２ｄにより量子化／可変長符号化／バッファ制御の繰り返しループ処理が実行される。
【００４０】
この左チャネルに対する繰り返しループ処理が終了すると、ステップ２ｅでチャネル番号ｃｈがインクリメント（ｃｈ＋＋）され、続いてこのインクリメントされたチャネル番号ｃｈ＝１に対応するチャネル、例えば右チャネルについて、ステップ２ｄにより量子化／可変長符号化／バッファ制御の繰り返しループ処理が実行される。そうして左右両チャネルに対する繰り返しループ処理が終了すると、ステップ２ｃでこの処理の終了が確認されて繰り返しループ処理は終了となる。
【００４１】
ところで、上記左右各チャネルに対する量子化／可変長符号化／バッファ制御の繰り返しループ処理は、次のように行われる。図３は、そのサブルーチンの処理手順と処理内容を示すフローチャートである。
【００４２】
すなわち、先ずステップ３ａでは、ＳＭＲ計算部３により計算されたスケールファクタバンドごとのＳＭＲから、心理聴覚に基づいた量子化誤差のマスキングレベルがスケールファクタバンドごとに計算される。続いてステップ３ｂでは、バッファ制御部３３のビット保存に蓄積されているビット数と、心理聴覚エントロピーとを考慮して、付加するビット数（add_bits）が求められる。この求められた付加ビット（add_bits）は、先にステップ２ａで算出された左右各チャネル間のパワー比（x_ratio[ch] ）をもとに、次のように補正される。
add_bits＝add_bits＊x_ratio[ch]          (4)
【００４３】
そして、この補正された付加ビット数（add_bits）は、設定されたビットレートに基づく１フレームあたりの平均ビット数（mean_bits）に加算され、これにより利用可能な最大ビット数（max_bits）が決定される。その計算式を以下に示す。
max_bits＝mean_bits＋add_bits          (5)
【００４４】
そうして利用可能な最大ビット数（max_bits）が算出されると、ステップ３ｃにおいてスケールファクタ等の初期設定が行われ、しかる後ステップ３ｄにより量子化及び可変長符号化処理が実行される。このステップ３ｄでは、実際の周波数サンプルを現在のスケールファクタに基づき量子化する処理が行われる。そして、その量子化値がハフマン符号化部３４により可変長符号化され、これにより符号化に必要なビット数が求められる。
【００４５】
この求められた必要ビット数は上記利用可能な最大ビット数（max_bits）と比較される。この比較の結果、符号化に必要な必要ビット数が利用可能な最大ビット数（max_bits）を超えている場合には、符号化に必要な必要ビット数が利用可能な最大ビット数（max_bits）以下になるまで量子化ステップサイズを大きくして必要ビット数を抑制する。
【００４６】
ステップ３ｅでは、上記ステップ３ｄにより決定された量子化値と元の周波数サンプルとが比較され、スケールファクタバンドごとの量子化歪みが求められる。ステップ３ｍでは、上記求められた量子化歪みがマスキングレベルを超えているスケールファクタバンド数（over）が求められる。そして、この求められたoverが０であるか否か（over=0?）がステップ３ｆで判定される。
【００４７】
この判定の結果、overが０であれば、すなわちすべてのスケールファクタバンドの量子化歪みがマスキングレベル以下であれば、繰り返しループから抜け出してステップ３ｇに移行する。そして、このステップ３ｇにおいて、このときのスケールファクタが保存される。また、符号化に使用されたビット数がステップ３ｈで計算され、この使用ビット数と利用可能な最大ビット数との差（未使用ビット数）が、次フレーム以降の符号化のためにビット保存に蓄積される。
【００４８】
一方、上記ステップ３ｆの比較の結果、あるスケールファクタバンドで量子化歪みがマスキングレベルを超えていた（over!=0）とする。この場合には、ステップ３ｉによりスケールファクタの修正が可能であるか否かが判定される。そして、すべてのスケールファクタが上限を越えずに修正可能ならば、ステップ３ｊによりこれらのスケールファクタを増加するように修正が行われる。そして、この修正後にステップ３ｄに戻り、以後すべてのスケールファクタバンドの量子化歪みが許容範囲内になるまで、ステップ３ｄ乃至ステップ３ｊによる量子化および可変長符号化処理の繰り返しループが実行される。
【００４９】
上記繰り返しループにおいては、設定ビットレートが高く利用可能な最大ビット数が十分にある場合には、量子化歪みが許容範囲内のスケールファクタの組み合わせが見つかる。これに対し、設定ビットレートが低く利用可能なビット数が少ない場合には、上記ループが繰り返されてスケールファクタが上限値に達してしまう。ステップ３ｉにおいてスケールファクタが上限値を超えて修正不可能と判定された場合には、ステップ３ｋにより準最適なスケールファクタの組み合わせが選択されて保存される。またそれと共に、符号化に使用したビット数がステップ３ｈで計算され、この使用ビット数と利用可能な最大ビット数との差（未使用ビット数）が、次フレーム以降の符号化のためにバッファ制御部３３のビット保存に蓄積される。
【００５０】
以上述べたように第１の実施形態では、繰り返しループ３において、先ずステレオオーディオ信号ＡＳの左右各チャネル間のパワー比（x_ratio[ch]）を算出する。そして、このチャネル間のパワー比（x_ratio[ch]）をもとに付加ビット数（add_bits）を補正することにより、ステレオオーディオ信号ＡＳのフレームごとに利用可能な最大ビット数（max_bits）を決定する。そして、この決定された利用可能な最大ビット数（max_bits）の範囲内で、ステレオオーディオ信号ＡＳのフレームに対し量子化及び可変長符号化を行い、量子化歪みがマスキングレベル以下となるスケールファクタを求めている。
【００５１】
したがって、利用可能な最大ビット数（max_bits）が入力オーディオ信号ＡＳの左右両チャネル間のパワー比（x_ratio[ch]）をもとに制御される。このため、設定ビットレートが低く利用可能な最大ビット数（max_bits）が十分でない場合でも、先に符号化されるチャネルに多くのビットが割り当てられて、後に符号化されるチャネルに利用可能なビット数が不足気味になる不具合は解消される。この結果、先に符号化されるチャネルは勿論のこと、後から符号化されるチャネルについても、品質の劣化を生じることなく符号化を行うことが可能となり、これによりチャネル間の符号化品質のばらつきを低減することができる。
【００５２】
（第２の実施形態）
この発明の第２の実施形態は、量子化／可変長符号化／バッファ制御の繰り返しループにおいて、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求める際に、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、量子化歪みがマスキングレベルを超えるスケールファクタバンド数が最小となるときのスケールファクタをもとに、準最適なスケールファクタの組み合わせを求めるものである。
【００５３】
図４は、この第２の実施形態に係わるオーディオ符号化器による、量子化／可変長符号化／バッファ制御の繰り返しループのサブルーチンの処理手順と処理内容を示すフローチャートである。なお、同図において前記図３と同一部分には同一符号を付して詳しい説明は省略する。また、オーディオ符号化器の構成についても図１と同一なので、ここでの説明は省略する。
【００５４】
ステップ３ｍにおいて量子化歪みがマスキングレベルを超えているスケールファクタバンド数（over）が算出されると、続いてステップ３ｎにおいて、上記ステップ３ｍで求められたoverがスケールファクタバンド数の最小値（over_min）と比較される。この比較の結果、上記求められたoverがover_minより小さければ、ステップ３ｏにおいてスケールファクタバンド数の最小値（over_min）がいま求められたoverに更新される。またそれと共にステップ３ｏでは、現在のスケールファクタが準最適なスケールファクタとして保存される。
【００５５】
続いてステップ３ｆでは、上記ステップ３ｍで求められたoverが０であるか否か（over=0?）が判定される。この判定の結果、over＝０、つまりすべてのスケールファクタバンドの量子化歪みがマスキングレベル以下であれば、繰り返しループから抜け出してステップ３ｇに移行する。そして、このステップ３ｇにおいて、このときのスケールファクタが保存される。また、符号化に使用されたビット数がステップ３ｈで計算され、この使用ビット数と利用可能な最大ビット数との差（未使用ビット数）が、次フレーム以降の符号化のためにビット保存に蓄積される。
【００５６】
一方、上記ステップ３ｆの比較の結果、あるスケールファクタバンドで量子化歪みがマスキングレベルを超えていた（over!=0）とする。この場合には、ステップ３ｉによりスケールファクタの修正が可能であるか否かが判定される。そして、すべてのスケールファクタが上限を越えずに修正可能ならば、ステップ３ｊによりこれらのスケールファクタを増加するように修正が行われる。そして、この修正後にステップ３ｄに戻り、以後すべてのスケールファクタバンドの量子化歪みが許容範囲内になるまで、ステップ３ｄ乃至ステップ３ｊによる量子化及び可変長符号化処理の繰り返しループが実行される。
【００５７】
上記繰り返しループにおいて、設定ビットレートが高く利用可能な最大ビット数が十分にある場合には、量子化歪みが許容範囲内のスケールファクタの組み合わせが見つかる。これに対し、設定ビットレートが低く利用可能なビット数が少ない場合には、上記ループが繰り返されてスケールファクタが上限値に達してしまう。ステップ３ｉにおいてスケールファクタが上限値を超えて修正不可能と判定された場合には、ステップ３ｐにより準最適なスケールファクタの組み合わせが元の値に復帰される。またそれと共に、符号化に使用したビット数がステップ３ｈで計算され、この使用ビット数と利用可能な最大ビット数との差（未使用ビット数）が、次フレーム以降のフレームの符号化のためにビット保存に蓄積される。
【００５８】
以上述べたように第２の実施形態では、ステップ３ｎ、ステップ３ｏ、ステップ３ｆ、ステップ３ｉ及びステップ３ｐを実行することにより、ループ内において量子化歪みがマスキングレベルを超えているスケールファクタバンド数（over）が最小（over_min）となるときのスケールファクタが保存され、すべてのスケールファクタバンドにおいて量子化歪みをマスキングレベル以下にするスケールファクタの組み合わせが見つからない場合には、上記保存されたスケールファクタから準最適なスケールファクタの組み合わせが得られる。
【００５９】
このため、設定ビットレートが低く、かつ利用可能な最大ビット数が十分でないことが原因で、すべてのスケールファクタバンドにおいて量子化歪みをマスキングレベル以下にするスケールファクタの組み合わせが見つからない場合でも、準最適なスケールファクタを用いて符号化が行われる。
【００６０】
したがって、第２の実施形態によれば、第１の実施形態で述べた左右両チャネル間における利用可能最大ビット数（max_bits）の偏重の解消と相俟って、入力オーディオ信号ＡＳのオーディオ符号化の品質劣化をさらに効果的に回避することができる。また、第２の実施形態であれば、スケールファクタバンド数を比較するだけの比較的簡単な処理により、準最適なスケールファクタの組み合わせが得られる利点がある。
【００６１】
（第３の実施形態）
この発明の第３の実施形態は、マスキングレベルを満たさない帯域を少なくするためにスケールファクタバンド幅は非一様、つまり低域が狭く広域になるほど広くなるように設定される点に着目する。そして、量子化／可変長符号化／バッファ制御の繰り返しループにおいて、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求める際に、量子化歪みがマスキングレベルを超えるスケールファクタバンドのバンド幅の合計が最小となるときのスケールファクタを保持しておく。そして、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合に、上記保持されているスケールファクタをもとに準最適なスケールファクタの組み合わせを求めるようにしたものである。
【００６２】
図５は、この第３の実施形態に係わるオーディオ符号化器による、量子化／可変長符号化／バッファ制御の繰り返しループの処理手順と処理内容を示すフローチャートである。なお、同図において前記図３と同一部分には同一符号を付して詳しい説明は省略する。また、オーディオ符号化器の構成についても図１と同一なので、ここでの説明は省略する。
【００６３】
ステップ３ｍにおいて量子化歪みがマスキングレベルを超えているスケールファクタバンド数（over）が算出されると、ステップ５ａでは、上記量子化歪みがマスキングレベルを超えているすべてのスケールファクタバンドのバンド幅の合計（width）が算出される。次にステップ５ｂにおいて、上記算出されたwidthが最小値（width_min）と比較される。この比較の結果、width＜width_minであれば、ステップ５ｃによりwidth_minが上記算出されたwidthに更新される。またそれと共に、ステップ５ｃにおいて、現在のスケールファクタが準最適なスケールファクタとして保存される。
【００６４】
続いてステップ３ｆでは、上記ステップ３ｍで求められたoverが０であるか否か（over=0?）が判定される。この判定の結果、over＝０、つまりすべてのスケールファクタバンドの量子化歪みがマスキングレベル以下であれば、繰り返しループから抜け出してステップ３ｇに移行する。そして、このステップ３ｇにおいて、このときのスケールファクタが保存される。また、符号化に使用されたビット数がステップ３ｈで計算され、この使用ビット数と利用可能な最大ビット数との差（未使用ビット数）が、次フレーム以降の符号化のためにビット保存に蓄積される。
【００６５】
一方、上記ステップ３ｆの比較の結果、あるスケールファクタバンドで量子化歪みがマスキングレベルを超えていた（over!=0）とする。この場合には、ステップ３ｉによりスケールファクタの修正が可能であるか否かが判定される。そして、すべてのスケールファクタが上限を越えずに修正可能ならば、ステップ３ｊによりこれらのスケールファクタを増加するように修正が行われる。そして、この修正後にステップ３ｄに戻り、以後すべてのスケールファクタバンドの量子化歪みが許容範囲内になるまで、ステップ３ｄ乃至ステップ３ｊによる量子化及び可変長符号化処理の繰り返しループが実行される。
【００６６】
上記繰り返しループにおいて、設定ビットレートが高く利用可能な最大ビット数が十分にある場合には、量子化歪みが許容範囲内のスケールファクタの組み合わせが見つかる。これに対し、設定ビットレートが低く利用可能なビット数が少ない場合には、上記ループが繰り返されてスケールファクタが上限値に達してしまう。ステップ３ｉにおいてスケールファクタが上限値を超えて修正不可能と判定された場合には、ステップ５ｄにより準最適なスケールファクタの組み合わせが元の値に復帰される。またそれと共に、符号化に使用したビット数がステップ３ｈで計算され、この使用ビット数と利用可能な最大ビット数との差（未使用ビット数）が、次フレーム以降のフレームの符号化のためにビット保存に蓄積される。
【００６７】
以上のように第３の実施形態では、ステップ５ａ、ステップ５ｂ及びステップ５ｃを実行することにより、ループ内において量子化歪みがマスキングレベルを超えているすべてのスケールファクタバンドのバンド幅の合計（width）が最小（width_min）となるときのスケールファクタが保存される。そして、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、上記保存されたスケールファクタが準最適なスケールファクタの組み合わせとして量子化及び符号化の処理に供される。
【００６８】
このため、前記第２の実施形態と同様に、設定ビットレートが低く、かつ利用可能な最大ビット数が十分でないことが原因で、すべてのスケールファクタバンドにおいて量子化歪みをマスキングレベル以下にするスケールファクタの組み合わせが見つからない場合でも、準最適なスケールファクタを用いて符号化が行われることになる。
【００６９】
したがって、第３の実施形態においても、第１の実施形態で述べた左右両チャネル間における利用可能最大ビット数（max_bits）の偏重の解消と相俟って、入力オーディオ信号ＡＳのオーディオ符号化の品質劣化を効果的に回避することができる。また、バンド幅の狭いスケールファクタバンド、つまりオーディオ信号の低域成分を重要視した量子化及び符号化処理を行うことが可能となる。
【００７０】
（第４の実施形態）
この発明の第４の実施形態は、量子化／可変長符号化／バッファ制御の繰り返しループにおいて、スケールファクタを繰り返し修正して量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせを求める際に、量子化歪みがマスキングレベルを超えるスケールファクタバンドの量子化歪みの誤差の合計が最小のときのスケールファクタを保持しておく。そして、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合には、前記保持されているスケールファクタをもとに準最適なスケールファクタの組み合わせを求めるものである。
【００７１】
図６は、この第４の実施形態に係わるオーディオ符号化器による、量子化／可変長符号化／バッファ制御の繰り返しループの処理手順と処理内容を示すフローチャートである。なお、同図において前記図３と同一部分には同一符号を付して詳しい説明は省略する。また、オーディオ符号化器の構成についても図１と同一なので、ここでの説明は省略する。
【００７２】
ステップ３ｍにおいて量子化歪みがマスキングレベルを超えているスケールファクタバンド数（over）が算出されると、ステップ６ａでは、上記量子化歪みがマスキングレベルを超えているすべてのスケールファクタバンドの、量子化歪みとマスキングレベルとの差の絶対値（｜量子化歪み−マスキングレベル｜）の合計（maskerr）が算出される。すなわち、量子化歪みがマスキングレベルを超えるスケールファクタバンドの量子化歪みの誤差の合計が算出される。次にステップ６ｂにおいて、上記算出されたmaskerrが最小値（maskerr_min）と比較される。この比較の結果、maskerr＜maskerr_minであれば、ステップ６ｃによりmaskerr_minが上記算出されたmaskerrに更新される。またそれと共に、ステップ６ｃにおいて、現在のスケールファクタが準最適なスケールファクタとして保存される。
【００７３】
続いてステップ３ｆでは、上記ステップ３ｍで求められたoverが０であるか否か（over=0?）が判定される。この判定の結果、over＝０、つまりすべてのスケールファクタバンドの量子化歪みがマスキングレベル以下であれば、繰り返しループから抜け出してステップ３ｇに移行する。そして、このステップ３ｇにおいて、このときのスケールファクタが保存される。また、符号化に使用されたビット数がステップ３ｈで計算され、この使用ビット数と利用可能な最大ビット数との差（未使用ビット数）が、次フレーム以降の符号化のためにビット保存に蓄積される。
【００７４】
一方、上記ステップ３ｆの比較の結果、あるスケールファクタバンドで量子化歪みがマスキングレベルを超えていた（over!=0）とする。この場合には、ステップ３ｉによりスケールファクタの修正が可能であるか否かが判定される。そして、すべてのスケールファクタが上限を越えずに修正可能ならば、ステップ３ｊによりこれらのスケールファクタを増加するように修正が行われる。そして、この修正後にステップ３ｄに戻り、以後すべてのスケールファクタバンドの量子化歪みが許容範囲内になるまで、ステップ３ｄ乃至ステップ３ｊによる量子化及び可変長符号化処理の繰り返しループが実行される。
【００７５】
上記繰り返しループにおいて、設定ビットレートが高く利用可能な最大ビット数が十分にある場合には、量子化歪みが許容範囲内のスケールファクタの組み合わせが見つかる。これに対し、設定ビットレートが低く利用可能なビット数が少ない場合には、上記ループが繰り返されてスケールファクタが上限値に達してしまう。ステップ３ｉにおいてスケールファクタが上限値を超えて修正不可能と判定された場合には、ステップ６ｄにより準最適なスケールファクタの組み合わせが元の値に復帰される。またそれと共に、符号化に使用したビット数がステップ３ｈで計算され、この使用ビット数と利用可能な最大ビット数との差（未使用ビット数）が、次フレーム以降のフレームの符号化のためにビット保存に蓄積される。
【００７６】
以上のように第４の実施形態では、ステップ６ａ、ステップ６ｂ及びステップ６ｃを実行することにより、ループ内において量子化歪みがマスキングレベルを超えているすべてのスケールファクタバンドの｜量子化歪み−マスキングレベル｜の合計（maskerr）が最小（maskerr_min）となるときのスケールファクタが保存される。そして、すべてのスケールファクタバンドにおいて量子化歪みがマスキングレベル以下になる最適なスケールファクタの組み合わせが見つからなかった場合に、上記保存されたスケールファクタが準最適なスケールファクタの組み合わせとして量子化及び符号化の処理に供される。
【００７７】
このため、前記第２及び第３の実施形態と同様に、設定ビットレートが低く、かつ利用可能な最大ビット数が十分でないことが原因で、すべてのスケールファクタバンドにおいて量子化歪みをマスキングレベル以下にするスケールファクタの組み合わせが見つからない場合でも、準最適なスケールファクタを用いて符号化が行われることになる。
【００７８】
したがって、第４の実施形態においても、第１の実施形態で述べた左右両チャネル間における利用可能最大ビット数（max_bits）の偏重の解消と相俟って、入力オーディオ信号ＡＳのオーディオ符号化の品質劣化を効果的に回避することができる。また、量子化歪みが最適化され、量子化歪みが最小となるように量子化及び符号化処理が行われることになる。
【００７９】
（その他の実施形態）
上記第１の実施形態では、左右両チャネル間のパワー比を求め、このパワー比をもとにフレームごとに利用可能な最大ビット数を制御するようにした。しかし、それに限るものではなく、左右両チャネル間の心理聴覚エントロピーの比を求め、この求められた心理聴覚エントロピーの比をもとにフレームごとに利用可能な最大ビット数を制御するようにしてもよい。このとき、上記心理聴覚エントロピーの比は、以下の式により求めることが可能である。
sum_pe    ＝  x_pe[0] ＋ x_pe[1]                      (6)
x_ratio[ch] ＝  x_pe[ch] ／ sum_pe    ch＝0 ，1        (7)
【００８０】
なお、チャネル間の情報量の相違を検出する手段は、パワー比や心理聴覚エントロピーの比以外に、パワーの差や心理聴覚エントロピーの差を求めるようにしてもよく、さらにはその他の要素の相違を検出するようにしてもよい。
【００８１】
また、前記各実施形態では、左右２チャネルからなるオーディオ信号を符号化する場合を例にとって説明したが、３チャネル以上のオーディオ信号を符号化する場合にもこの発明は適用可能である。
【００８２】
さらに、前記各実施形態では、繰り返しループの処理をプログラムの実行により実現する場合を例にとって説明したが、ハードウエアで実現することも可能である。
【００８３】
その他、オーディオ符号化器の構成、繰り返しループの処理手順とその内容、チャネル間の情報量の相違を検出する手段などについても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００８４】
【発明の効果】
以上詳述したようにこの発明では、複数チャネルからなるオーディオ信号を、可変長符号化方式とビット保存技術を使用して符号化するオーディオ符号化器とその符号化プログラムにおいて、入力された上記オーディオ信号の各チャネル間における情報量の相違を検出し、その検出結果に基づいて、上記オーディオ信号の各フレームに割り当てる利用可能ビット数を補正する。そして、上記各チャネルの信号に対し、上記補正された利用可能ビット数の範囲内で量子化処理及び可変長符号化処理を量子化歪みが所定量以下になるまで繰り返し実行し、この量子化処理及び可変長符号化処理により得られた結果をオーディオビットストリームにフォーマット化するようにしている。
【００８５】
したがってこの発明によれば、ステレオ信号のように複数チャネルを有するオーディオ信号を符号化する場合に、設定されたビットレートが低く利用可能な最大ビット数が十分でない場合であっても、複数のチャネルの各々にそれぞれ適当なビット数を割り当てることができ、これによりチャネル間における符号化品質のばらつきを低減することができるオーディオ符号化器とその符号化処理プログラムを提供することができる。
【図面の簡単な説明】
【図１】  この発明に係わるオーディオ符号化器の第１の実施形態を示す機能ブロック図。
【図２】  図１に示したオーディオ符号化器による繰り返しループの全体の処理手順と処理内容を示すフローチャート。
【図３】  図１に示したオーディオ符号化器による繰り返しループのサブルーチンの処理手順と処理内容を示すフローチャート。
【図４】  この発明に係わるオーディオ符号化器の第２の実施形態による量子化／可変長符号化／バッファ制御の繰り返しループの処理手順と処理内容を示すフローチャート。
【図５】  この発明に係わるオーディオ符号化器の第３の実施形態による量子化／可変長符号化／バッファ制御の繰り返しループのサブルーチンの処理手順と処理内容を示すフローチャート。
【図６】  この発明に係わるオーディオ符号化器の第４の実施形態による量子化／可変長符号化／バッファ制御の繰り返しループのサブルーチンの処理手順と処理内容を示すフローチャート。
【符号の説明】
１…ハイブリッドフィルタバンク、２…心理聴覚分析部、３…繰り返しループ、４…ビットストリーム形成部、１１…サブバンド分析フィルタバンク、１２…適応ブロック長ＭＤＣＴ、１３…折り返し歪み削減バタフライ、２１…高速フーリエ変換部（ＦＦＴ）、２２…非予測可能性測定部、２３…ＳＭＲ計算部、２４…心理聴覚エントロピー評価部、３１…非線形量子化部、３２…スケールファクタ計算部、３３…バッファ制御部、３４…ハフマン符号化部、３５…サイド情報符号化部。
【図１】
0003725876.tif 000003
【図２】
0003725876.tif 000004
【図３】
0003725876.tif 000005
【図４】
0003725876.tif 000006
【図５】
0003725876.tif 000007
【図６】
0003725876.tif 000008