(57)【特許請求の範囲】
【請求項１】
オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化する方法であって、グループに属する時間ブロック間のスペクトルデータの変動の最大あるいは平均を表すグループスペクトル変動指標をグループ毎に算出するステップと、前記グループスペクトル変動指標の最大値を算出するステップと、前記最大値が第１の閾値より大きい場合に前記グループスペクトル変動指標を最大とするグループを分割するステップとを備えたことを特徴とするオーディオ信号符号化方法。
【請求項２】
オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化する方法であって、グループに属する時間ブロック間のスペクトルデータの変動の最大あるいは平均を表すグループスペクトル変動指標をグループ毎に算出するステップと、前記グループスペクトル変動指標の最大値を算出するステップと、前記最大値が第１の閾値より大きいかあるいはグループ数が第２の閾値より小さい場合に、前記グループスペクトル変動指標を最大とするグループを分割するステップとを備えたことを特徴とするオーディオ信号符号化方法。
【請求項３】
グループを分割するステップが、グループを分割した時の分割されたグループのグループスペクトル変動指標の最大あるいは平均を表す分割グループスペクトル変動指標を算出するステップと、すべての分割の中で前記分割グループスペクトル変動指標を最小とする分割を実行するステップとを備えたことを特徴とする請求項１あるいは請求項２記載のオーディオ信号符号化方法。
【請求項４】
オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化する方法であって、複数のチャンネルのグループ化を共通に設定する場合に、グループに属する時間ブロック間のスペクトルデータの変動の最大あるいは平均を表すグループスペクトル変動指標を複数のチャンネルについてそれぞれグループ毎に算出するステップと、前記複数のチャンネルのグループスペクトル変動指標の最大あるいは平均を複数チャンネルグループスペクトル変動指標として算出するステップと、前記複数チャンネルグループスペクトル変動指標の最大値を算出するステップと、前記最大値が第１の閾値より大きい場合に前記複数チャンネルグループスペクトル変動指標を最大とするグループを分割するステップとを備えたことを特徴とするオーディオ信号符号化方法。
【請求項５】
オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化する方法であって、複数のチャンネルのグループ化を共通に設定する場合に、グループに属する時間ブロック間のスペクトルデータの変動の最大あるいは平均を表すグループスペクトル変動指標を複数のチャンネルについてそれぞれグループ毎に算出するステップと、前記複数のチャンネルのグループスペクトル変動指標の最大あるいは平均を複数チャンネルグループスペクトル変動指標として算出するステップと、前記複数チャンネルグループスペクトル変動指標の最大値を算出するステップと、前記最大値が第１の閾値より大きいかあるいはグループ数が第２の閾値より小さい場合に、前記複数チャンネルグループスペクトル変動指標を最大とするグループを分割するステップとを備えたことを特徴とするオーディオ信号符号化方法。
【請求項６】
グループを分割するステップが、グループを分割した時の分割されたグループのグループスペクトル変動指標の最大あるいは平均を表す分割グループスペクトル変動指標を複数のチャンネルについてそれぞれ算出するステップと、前記複数のチャンネルの分割グループスペクトル変動指標の最大あるいは平均を複数チャンネル分割グループスペクトル変動指標として算出するステップと、すべての分割の中で前記複数チャンネル分割グループスペクトル変動指標を最小とする分割を実行するステップとを備えたことを特徴とする請求項４あるいは請求項５記載のオーディオ信号符号化方法。
【請求項７】
グループ数が第３の閾値以上となった場合にグループの分割を終了するステップを備えたことを特徴とする請求項１から請求項６のいずれかに記載のオーディオ信号符号化方法。
【請求項８】
符号化のビットレートに応じて前記第１から第３の閾値のいずれかを設定するステップを備えたことを特徴とする請求項１から請求項７のいずれかに記載のオーディオ信号符号化方法。
【請求項９】
請求項１から請求項８のいずれかに記載のオーディオ信号符号化方法をコンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラム。
【請求項１０】
請求項１から請求項８のいずれかに記載のオーディオ信号符号化方法をコンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化するオーディオ信号符号化方法に関する。
【０００２】
【従来の技術】
近年、オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化することにより、符号化効率を改善する手法が提案されている。
【０００３】
このような提案としては、ＭＰＥＧ−２  ＡＡＣ（Advanced Audio Coding）の規格書（ISO/IEC 13818-7, Information technology - Generic coding of moving pictures and associated audio information - Part 7: Advanced Audio Coding (AAC)）や日本国特許番号第２７３９３７７号に記載されたものが知られている。
【０００４】
しかしながら、これらの先行文献には、具体的なグループ化の決定方法については、記載されておらず、このため、例えば、あらかじめ設定した固定のグループ化方法で対応せざるを得なかった。
【０００５】
以下では、ＭＰＥＧ−２  ＡＡＣ（以下ＡＡＣと略す）のローコンプレキシティプロファイル（Low Complexity Profile）を例にとって、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化する従来例について説明する。
【０００６】
図７にＡＡＣエンコーダのブロック図を示す。図７において、７００と７０１はフィルタバンク、７１０と７１１はブロック長決定部、７２０はジョイントステレオデータ生成部、７３０は短時間ブロックグループ化決定部、７４０は量子化及び符号化部である。以上のように構成されたＡＡＣエンコーダについて、その動作を以下に述べる。
【０００７】
入力された左チャンネル（Ｌｃｈ）の時間軸のオーディオ信号は、フィルタバンク７００においてブロック長決定部７１０で決定された長さのブロックに分割され、ＭＤＣＴ（Modified Discrete Cosine Transform，変形離散コサイン変換）によりスペクトルデータ（ＭＤＣＴ係数）に変換される。この変換は変換ブロックを５０％ずつオーバーラップして実行し、例えば２０４８サンプルを１０２４本のＭＤＣＴ係数に変換する。同様に、入力された右チャンネル（Ｒｃｈ）の時間軸のオーディオ信号は、フィルタバンク７０１においてブロック長決定部７１１で決定された長さのブロックに分割され、ＭＤＣＴによりスペクトルデータに変換される。
【０００８】
ブロック長決定部７１０と７１１では、ＭＤＣＴのブロック長を決定し、出力する。ブロック長決定部７１０と７１１で、それぞれのチャンネルの信号の変化に応じてＭＤＣＴのブロック長を変化させることにより、プリエコーと呼ばれる疑似信号の発生による音質の劣化を防止する。すなわち、定常的な信号の場合には、ＭＤＣＴのブロック長を２０４８サンプルの長時間ブロックとし、１０２４本のスペクトルデータに変換する。一方、過渡的な信号の場合には２５６サンプルの短時間ブロックとし、１２８本のスペクトルデータに変換する。短時間ブロックでは、８個連続で短いブロック長を用いて変換することにより、出力のスペクトルデータの本数を８×１２８＝１０２４本として、長時間ブロックと一致させる。この１０２４本のスペクトルデータから成る符号化の単位をフレームと呼ぶ。
【０００９】
図８に短時間ブロックと長時間ブロックの例を示す。同図で、第０フレーム（Ｆ０）、第２フレーム（Ｆ２）、第３フレーム（Ｆ３）は、長時間ブロックのフレームであり、これに対して第１フレーム（Ｆ１）は連続した８個の短時間ブロックから成る短時間ブロックのフレームである。
【００１０】
次にジョイントステレオデータ生成部７２０では、左右のチャンネルの相関を利用して符号化効率を向上させるため、左右のチャンネルのスペクトルデータを入力として、ジョイントステレオ（ミッド／サイドステレオあるいはインテンシティステレオ）符号化に必要なジョイントステレオスペクトルデータを生成する。ここで、ジョイントステレオスペクトルデータとは、ミッド／サイド（和差）ステレオ符号化に必要な左チャンネルと右チャンネルのスペクトルデータの和と差、あるいはインテンシティステレオ符号化に必要な左チャンネルと右チャンネルのスペクトルデータの和（左右のチャンネルの位相が逆相の場合には差）である。なお、インテンシティステレオ符号化の場合、もう一方のチャンネルのスペクトルデータはゼロに設定される。
【００１１】
次に短時間ブロックグループ化決定部７３０では、短時間ブロックの符号化効率を向上するため、短時間ブロックのグループ化を行う。短時間ブロックのグループ化では、複数の連続する短時間ブロックをブロック単位でまとめ、スケールファクタバンドと呼ばれる複数のスペクトルデータから構成されるバンド単位で共通のステップサイズを用いて量子化することにより、量子化ステップサイズを表すスケールファクタ等のサイド情報を削減し、符号化効率を改善する。ＡＡＣの規格では、１フレーム当り、最小１個から最大８個のグループにグループ化することが可能である。ここでは、図９に示すように、８個の短時間ブロックを２個ずつ１グループとして、合計４個のグループ（Ｇ０，Ｇ１，Ｇ２，Ｇ３）にグループ化する。なお、ジョイントステレオスペクトルデータの場合には、２つのチャンネルのスペクトルデータが対になっているので、グループ化に際しても、図１０に示すように、２つのチャンネルのグループ化を共通に設定する必要がある。
【００１２】
量子化及び符号化部７４０では、左右のチャンネルのスペクトルデータ、あるいはジョイントステレオデータ生成部７２０からのジョイントスペクトルデータをスケールファクタバンド毎にまとめ、聴覚モデルに基づいてスペクトルデータのマスキングレベル、すなわち許容量子化ノイズレベルを算出し、算出された許容量子化ノイズレベルに基づいてスケールファクタバンド毎にスペクトルデータの量子化を行い、ハフマン符号化等の符号化処理を行い、高能率符号化データを出力する。
【００１３】
【発明が解決しようとする課題】
しかしながら、上記従来の複数の時間ブロックのスペクトルデータのグループ化では、スペクトルデータに依存しない固定的なグループ化であるため、符号化効率が劣化し、音質が劣化することがあるという課題があった。すなわち、スペクトルデータの時間変化が緩やかなところでは、本来は、より多くの時間ブロックを１グループとしてスケールファクタ等のサイド情報を削減し、符号化効率を改善すべきであるのにこれができず、また、スペクトルデータの時間変化が急激なところが、同一のグループにされると、同一の量子化ステップサイズを用いるため、小さなレベルの時間ブロックのスペクトルデータを十分表現することができず、このため音質が劣化するという課題があった。
【００１４】
本発明は上記問題点を解決するもので、時間ブロック間のスペクトルデータの変動に基づく最適なグループ化により、スペクトルデータとスケールファクタ等のサイド情報に割り当てるビット数を最適化し、音質の向上したオーディオ信号高能率符号化方法を提供することを目的とする。
【００１５】
また、２つのチャンネルのグループ化を共通に設定する必要のあるジョイントステレオスペクトルデータに対しても最適なグループ化を行い、スペクトルデータとスケールファクタ等のサイド情報に割り当てるビット数を最適化し、音質の向上したオーディオ信号高能率符号化方法を提供することを目的とする。
【００１６】
また、小さなレベルのスペクトルデータが複数の時間ブロックにわたって量子化されないことによる音質劣化を抑えたグループ化を行うオーディオ信号の高能率符号化方法を提供することを目的とする。
【００１７】
また、時間変化の極めて激しいフレームに対して、音質を大幅に劣化させることがないグループ化を行うオーディオ信号の高能率符号化方法を提供することを目的とする。
【００１８】
また、広い範囲のビットレートに対して適切なグループ化を行い、従来よりも音質の向上したオーディオ信号符号化方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
この課題を解決するために、本発明のオーディオ信号符号化方法は、オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化する方法であって、グループに属する時間ブロック間のスペクトルデータの変動の最大あるいは平均を表すグループスペクトル変動指標をグループ毎に算出するステップと、前記グループスペクトル変動指標の最大値を算出するステップと、前記最大値が第１の閾値より大きい場合に前記グループスペクトル変動指標を最大とするグループを分割するステップとを備えたものである。
【００２０】
また、本発明のオーディオ信号符号化方法は、オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化する方法であって、グループに属する時間ブロック間のスペクトルデータの変動の最大あるいは平均を表すグループスペクトル変動指標をグループ毎に算出するステップと、前記グループスペクトル変動指標の最大値を算出するステップと、前記最大値が第１の閾値より大きいかあるいはグループ数が第２の閾値より小さい場合に、前記グループスペクトル変動指標を最大とするグループを分割するステップとを備えたものである。
【００２１】
また、本発明のオーディオ信号符号化方法は、上記本発明のオーディオ信号符号化方法において、グループを分割するステップが、グループを分割した時の分割されたグループのグループスペクトル変動指標の最大あるいは平均を表す分割グループスペクトル変動指標を算出するステップと、すべての分割の中で前記分割グループスペクトル変動指標を最小とする分割を実行するステップとを備えたものである。
【００２２】
また、本発明のオーディオ信号符号化方法は、オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化する方法であって、複数のチャンネルのグループ化を共通に設定する場合に、グループに属する時間ブロック間のスペクトルデータの変動の最大あるいは平均を表すグループスペクトル変動指標を複数のチャンネルについてそれぞれグループ毎に算出するステップと、前記複数のチャンネルのグループスペクトル変動指標の最大あるいは平均を複数チャンネルグループスペクトル変動指標として算出するステップと、前記複数チャンネルグループスペクトル変動指標の最大値を算出するステップと、前記最大値が第１の閾値より大きい場合に前記複数チャンネルグループスペクトル変動指標を最大とするグループを分割するステップとを備えたものである。
【００２３】
また、本発明のオーディオ信号符号化方法は、オーディオ信号を時間ブロック単位でスペクトルデータに変換し、複数の時間ブロックのスペクトルデータをグループ化して高能率符号化する方法であって、複数のチャンネルのグループ化を共通に設定する場合に、グループに属する時間ブロック間のスペクトルデータの変動の最大あるいは平均を表すグループスペクトル変動指標を複数のチャンネルについてそれぞれグループ毎に算出するステップと、前記複数のチャンネルのグループスペクトル変動指標の最大あるいは平均を複数チャンネルグループスペクトル変動指標として算出するステップと、前記複数チャンネルグループスペクトル変動指標の最大値を算出するステップと、前記最大値が第１の閾値より大きいかあるいはグループ数が第２の閾値より小さい場合に、前記複数チャンネルグループスペクトル変動指標を最大とするグループを分割するステップとを備えたものである。
【００２４】
また、本発明のオーディオ信号符号化方法は、上記本発明のオーディオ信号符号化方法において、グループを分割するステップが、グループを分割した時の分割されたグループのグループスペクトル変動指標の最大あるいは平均を表す分割グループスペクトル変動指標を複数のチャンネルについてそれぞれ算出するステップと、前記複数のチャンネルの分割グループスペクトル変動指標の最大あるいは平均を複数チャンネル分割グループスペクトル変動指標として算出するステップと、すべての分割の中で前記複数チャンネル分割グループスペクトル変動指標を最小とする分割を実行するステップとを備えたものである。
【００２５】
また、本発明のオーディオ信号符号化方法は、上記本発明のオーディオ信号符号化方法において、グループ数が第３の閾値以上となった場合にグループの分割を終了するステップを備えたものである。
【００２６】
また、本発明のオーディオ信号符号化方法は、上記本発明のオーディオ信号符号化方法において、符号化のビットレートに応じて前記第１から第３の閾値のいずれかを設定するステップを備えたものである。
【００２７】
また、上記記載の本発明に係るオーディオ信号符号化方法をコンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラムとしたものである。
【００２８】
また、上記記載の本発明に係るオーディオ信号符号化方法をコンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体としたものである。
【００２９】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて説明する。
【００３０】
以下の実施の形態の説明では、本発明の特徴である複数の時間ブロックのスペクトルデータのグループ化の方法について、ＡＡＣエンコーダに適用した場合を例として説明する。即ち、オーディオ信号符号化装置（ＡＡＣエンコーダ）の構成としては、図７に示した通りである。
【００３１】
（実施の形態１）
図１は、本発明の実施の形態１のオーディオ信号符号化方法における複数の時間ブロックのスペクトルデータのグループ化の方法のステップを示すフローチャートである。
【００３２】
以下、図１を用いて実施の形態１における特徴部分としてのグループ化の方法について説明する。
【００３３】
最初にステップ１０１で、１グループ８ブロックに設定し、１フレームのグループ数を最小の１に設定する。本実施の形態では、当初の１グループから適宜グループを分割することにより、グループ化を決定する。
【００３４】
ステップ１０２で、第１の閾値の設定を行う。第１の閾値は、グループを分割するときの分割するグループに属する時間ブロックのスペクトルデータの変動を表すグループスペクトル変動指標に対する閾値である。
【００３５】
ステップ１０３で、グループ毎にグループに属するすべての時間ブロック間のスペクトルデータの変動の最大を表すところのグループスペクトル変動指標を以下のようにして算出する。
【００３６】
最初に、時間ブロック番号ｉ（０≦ｉ＜８）でスケールファクタバンド番号ｋ（０≦ｋ＜ｍａｘ＿ｓｆｂ、ただし、ｍａｘ＿ｓｆｂは最大スケールファクタバンド数）のバンドのスペクトルデータの絶対値の最大であるｍａｘｓｐｅｃ（ｉ）（ｋ）を算出する。次にグループに属する２つの時間ブロック、ｉとｊのブロック間のスペクトル変動を表すブロック間スペクトル変動指標ｄｅｖ（ｉ，ｊ）を（数１）で算出する。
【００３７】
【数１】
0004062971.tif 000002
【００３８】
ここで、ａｂｓ（ｘ）はｘの絶対値を表し、また、ｌｏｇ１０（ｘ）は１０を底とするｘの対数を表す。
【００３９】
なお、以上の説明では、ブロック間スペクトル変動指標の算出に時間ブロック番号とスケールファクタバンド番号で指定されるバンドのスペクトルデータの絶対値の最大を用いる例を示したが、前記スペクトルデータの絶対値の平均や、スペクトルデータの２乗和の平均の平方根を用いてもよい。また、２つのブロックの前記スペクトルデータの絶対値の最大の比の対数のスケールファクタバンドに関する総和の絶対値を用いる例を示したが、前記２つのブロックの前記スペクトルデータの絶対値の最大の差の２乗のスケールファクタバンドに関する総和を用いてもよい。
【００４０】
次に、グループに属するすべての時間ブロック間のブロック間スペクトル変動指標ｄｅｖ（ｉ，ｊ）の最大を算出し、グループスペクトル変動指標とする。
【００４１】
なお、以上の説明では、グループに属するすべてのブロック間スペクトル変動指標の最大を用いたが、平均を用いてもよい。
【００４２】
次にステップ１０４で、すべてのグループの中でのグループスペクトル変動指標の最大値を算出する。
【００４３】
次にステップ１０５で、ステップ１０４で算出したグループスペクトル変動指標の最大値と第１の閾値とを比較し、上記グループスペクトル変動指標の最大値が第１の閾値より大きい場合にはステップ１０６に行き、グループ分割を行う。また、上記グループスペクトル変動指標の最大値が第１の閾値以下の場合にはグループ化を終了する。したがって、グループ内の時間ブロックのスペクトル変動が大きい場合においてのみグループ分割はなされ、前記時間ブロックのスペクトル変動が小さい場合にはグループ分割はなされない。
【００４４】
ステップ１０６では、ステップ１０４で算出したグループスペクトル変動指標を最大とするグループを分割する。
【００４５】
図２は、ステップ１０６の詳細を示すフローチャートである。
【００４６】
ステップ２０１で、グループを分割した時の分割されたグループのグループスペクトル変動指標の最大を分割グループスペクトル変動指標として算出する。例えば、最初は、１グループ８ブロックに設定されているので、次の７通りの分割により、２グループに分割することが可能である。
（１）［０］と［１，２，３，４，５，６，７］
（２）［０，１］と［２，３，４，５，６，７］
（３）［０，１，２］と［３，４，５，６，７］
（４）［０，１，２，３］と［４，５，６，７］
（５）［０，１，２，３，４］と［５，６，７］
（６）［０，１，２，３，４，５］と［６，７］
（７）［０，１，２，３，４，５，６］と［７］
ここで、［］内は同一のグループに属する短時間ブロックの番号を表す。
【００４７】
このように分割された２つのグループのそれぞれに対してグループスペクトル変動指標を算出し、その最大を分割グループスペクトル変動指標として算出する。したがって、最初は、７つの分割グループスペクトル変動指標を算出する。
【００４８】
なお、以上の説明では、分割グループスペクトル変動指標として、分割された２つのグループのグループスペクトル変動指標の最大を用いる例を示したが、前記グループスペクトル変動指標の平均を用いてもよい。
【００４９】
次にステップ２０２で、すべての分割の中で分割グループスペクトル変動指標を最小とする分割を算出する。
【００５０】
次にステップ２０３で分割グループスペクトル変動指標を最小とする分割を実行する。
【００５１】
図１に戻って、ステップ１０７で、グループ数を１増加してステップ１０３に戻る。
【００５２】
以上のように本実施の形態では、グループ内のスペクトルデータの変動を表すグループスペクトル変動指標に基づき、前記グループスペクトル変動指標が第１の閾値より大きい場合に、最適な順序で（前記グループスペクトル変動指標の大きいグループから順に）グループ分割を行うことにより、スペクトルデータとスケールファクタ等のサイド情報に割り当てるビット数を最適化し、音質を向上することができる。
【００５３】
また、グループ分割に際して、分割グループスペクトル変動指標に基づき、前記分割グループスペクトル変動指標を最小とする分割を行うことにより、最適なグループ分割を行い、音質を向上することができる。
【００５４】
（実施の形態２）
図３は、本発明の実施の形態２のオーディオ信号符号化方法における複数の時間ブロックのスペクトルデータのグループ化の方法のステップを示すフローチャートである。
【００５５】
図３で図１と同一番号を付したステップは、図１に示したステップと同一である。図３と図１の相違点は、図３では、ステップ３０１とステップ３０２とステップ３０３が追加されている点にあるので、以下、これらのステップの処理内容について説明し、それ以外のステップについては説明を省略する。
【００５６】
ステップ３０１では、第２及び第３の閾値の設定を行う。第２の閾値は、グループ数の下限（最小グループ数）に関する閾値であり、第３の閾値はグループ数の上限（最大グループ数）に関する閾値である。第２の閾値は、グループ数が小さくなり過ぎて、小さなレベルのスペクトルデータが複数の時間ブロックにわたって量子化されないことによる音質劣化を抑えるためのものである。また、第３の閾値は、時間変化の極めて激しいフレームでグループ数が大きくなり過ぎて、サイド情報のビット数が増え、スペクトルデータのビット数が不足することによる音質劣化を抑えるためのものである。
【００５７】
ステップ３０２では、その時点でのグループ数と第３の閾値を比較し、グループ数が第３の閾値より小さい場合には、ステップ１０３に行き、グループ毎にグループスペクトル変動指標を算出する。また、グループ数が第３の閾値以上である場合には、グループ化を終了する。
【００５８】
ステップ３０３では、グループ数と第２の閾値を比較し、グループ数が第２の閾値より小さい場合には、ステップ１０６に行き、グループを分割する。また、グループ数が第２の閾値以上である場合にはステップ１０５に行き、グループスペクトル変動指標の最大値が第１の閾値より大きい場合のみ、ステップ１０６に行き、グループを分割する。
【００５９】
以上のように実施の形態２では、グループ化の最小グループ数を第２の閾値で設定することにより、グループを構成する時間ブロック数が大きくなり過ぎ、小さなレベルのスペクトルデータが複数の時間ブロックにわたって量子化されないことによる音質劣化を抑えることができる。
【００６０】
また、グループ化の最大グループ数を第３の閾値で設定することにより、サイド情報に割り当てるビット数を制限し、スペクトルデータに割り当てることにより、時間変化の極めて激しいフレームでの大幅な音質劣化を抑えることができる。
【００６１】
（実施の形態３）
図４は、本発明の実施の形態３のオーディオ信号符号化方法における複数の時間ブロックのスペクトルデータのグループ化の方法のステップを示すフローチャートである。
【００６２】
図４で図３と同一番号を付したステップは、図３に示したステップと同一である。図４と図３の相違点は、図４ではステップ４０１が追加されている点にあるので、以下、追加されたステップとそれに関連するステップについて説明し、それ以外のステップについては説明を省略する。
【００６３】
ステップ４０１では、ビットレートを入力する。
【００６４】
次にステップ１０２では、ステップ４０１で入力されたビットレートに応じて第１の閾値の設定を行う。すなわち、ビットレートが高い場合には、使用可能なビット数が増加するので、第１の閾値をより小さい値に設定することにより、グループ数を増加させ、スペクトルデータの時間変化をより正確に表現できるようにする。
【００６５】
同様に、ステップ３０１では、ステップ４０１で入力されたビットレートに応じて第２と第３の閾値の設定を行う。すなわち、ビットレートが高い場合には、使用可能なビット数が増加するので、第２の閾値をより大きな値に設定することにより、最小グループ数を増加させ、小さなレベルのスペクトルデータをより正確に表現できるようにする。
【００６６】
また、ビットレートが高い場合には、第３の閾値をより大きな値に設定することにより、最大グループ数を増加させ、スペクトルデータの時間変化の激しい場合にもスペクトルデータをより正確に表現できるようにする。
【００６７】
以上のように実施の形態３では、第１から第３の閾値をビットレートに応じて設定することにより、それぞれのビットレートに適したグループ化を行い、広い範囲のビットレートに対して音質を向上することができる。
【００６８】
なお、上記実施の形態では、第１から第３の閾値のすべてをビットレートに応じて設定したが、第１から第３の閾値のいずれかをビットレートに応じて設定するようにしてもよい。
【００６９】
（実施の形態４）
図５は、本発明の実施の形態４のオーディオ信号符号化方法における複数の時間ブロックのスペクトルデータのグループ化の方法のステップを示すフローチャートである。
【００７０】
実施の形態４は、２つのチャンネルの時間ブロックのグループ化を共通に設定する場合のグループ化の方法である。
【００７１】
例えば、ジョイントステレオ符号化では、２つのチャンネルのスペクトルデータを一対として取り扱うので、２つのチャンネルの時間ブロックのグループ化を共通に設定する必要がある。すなわち、実施の形態４は、例えば、ミッド／サイドステレオ符号化やインテンシティステレオ符号化に対して適用される。ただし、インテンシティステレオ符号化に関しては、一方のチャンネルのスペクトルデータはゼロに設定されているので、ゼロに設定されていないチャンネルのスペクトルデータに対して、例えば、実施の形態１〜３のグループ化を行い、それを２つのチャンネルに対して共通に適用してもよい。
【００７２】
以下、図５を用いて実施の形態４におけるグループ化の方法について説明する。
【００７３】
最初に、ステップ５０１で、１グループ８ブロックに設定し、１フレームのグループ数を最小の１に設定する。本実施の形態では、当初の１グループからグループを分割することにより、グループ化を決定する。
【００７４】
ステップ５０２で、ビットレートを入力する。
【００７５】
ステップ５０３で、ビットレートに応じて第１の閾値の設定を行う。第１の閾値は、２つのチャンネルで共通にグループを分割するときの前記グループに属する時間ブロックのスペクトルデータの変動を表す２チャンネルグループスペクトル変動指標に対する閾値である。
【００７６】
ステップ５０４で、ビットレートに応じて第２と第３の閾値の設定を行う。第２の閾値は、グループ数の下限（最小グループ数）に対する閾値であり、第３の閾値は、グループ数の上限（最大グループ数）に対する閾値である。第２の閾値は、グループ数が小さくなり過ぎて、小さなレベルのスペクトルデータが複数の時間ブロックにわたって量子化されないことによる音質劣化を抑えるためのものである。また、第３の閾値は、時間変化の極めて激しいフレームでグループ数が大きくなり過ぎて、サイド情報のビット数が増え、スペクトルデータのビット数が不足することによる音質劣化を抑えるためのものである。
【００７７】
ステップ５０５で、その時点でのグループ数と第３の閾値を比較し、グループ数が第３の閾値より小さい場合には、ステップ５０６に行く。また、グループ数が第３の閾値以上である場合には、グループ化を終了する。
【００７８】
ステップ５０６で、グループ毎にグループに属する時間ブロック間のスペクトルデータの変動の最大を表すグループスペクトル変動指標を２つのチャンネルについてそれぞれ算出する。各チャンネルのグループスペクトル変動指標の算出に関しては、実施の形態１のステップ１０３で説明した方法を用いる。
【００７９】
なお、以上の説明では、グループスペクトル変動指標として、グループに属する時間ブロック間のスペクトルデータの変動の最大を用いたが、グループに属する時間ブロック間のスペクトルデータの変動の平均を用いてもよい。
【００８０】
次にステップ５０７で、ステップ５０６で算出した２つのチャンネルのグループスペクトル変動指標の最大を算出し、２チャンネルグループスペクトル変動指標とする。
【００８１】
なお、以上の説明では、２つのチャンネルのグループスペクトル変動指標の最大を２チャンネルグループスペクトル変動指標として用いる例を示したが、前記グループスペクトル変動指標の平均を用いてもよい。
【００８２】
次にステップ５０８で、すべてのグループの中で２チャンネルグループスペクトル変動指標の最大値を算出する。
【００８３】
次にステップ５０９で、グループ数と第２の閾値を比較し、グループ数が第２の閾値より小さい場合には、ステップ５１１に行き、グループを分割する。また、グループ数が第２の閾値以上である場合にはステップ５１０に行く。
【００８４】
ステップ５１０で、ステップ５０８で算出した２チャンネルグループスペクトル変動指標の最大値と第１の閾値とを比較し、上記２チャンネルグループスペクトル変動指標の最大値が第１の閾値より大きい場合にはステップ５１１に行き、グループ分割を行う。そうでない場合にはグループ化を終了する。したがって、グループ内の時間ブロックのスペクトル変動が大きい場合においてのみグループ分割はなされ、前記時間ブロックのスペクトル変動が小さい場合にはグループ分割はなされない。
【００８５】
ステップ５１１では、ステップ５０８で算出した２チャンネルグループスペクトル変動指標を最大とするグループを分割する。
【００８６】
図６はステップ５１１の詳細を示すフローチャートである。
【００８７】
ステップ６０１で、グループを分割した時の分割されたグループのグループスペクトル変動指標の最大を分割グループスペクトル変動指標として、２つのチャンネルについてそれぞれ算出する。例えば、最初は、１グループ８ブロックに設定されているので、次の７通りの分割により、２グループに分割することが可能である。
（１）［０］と［１，２，３，４，５，６，７］
（２）［０，１］と［２，３，４，５，６，７］
（３）［０，１，２］と［３，４，５，６，７］
（４）［０，１，２，３］と［４，５，６，７］
（５）［０，１，２，３，４］と［５，６，７］
（６）［０，１，２，３，４，５］と［６，７］
（７）［０，１，２，３，４，５，６］と［７］
ここで、［］内は同一のグループに属する短時間ブロックの番号を表す。
【００８８】
このように分割された２つのグループのそれぞれに対してグループスペクトル変動指標を算出し、その最大を分割グループスペクトル変動指標として算出する。したがって、最初は、７つの分割グループスペクトル変動指標を２つのチャンネルについてそれぞれ算出する。
【００８９】
なお、以上の説明では、分割グループスペクトル変動指標として、分割された２つのグループのグループスペクトル変動指標の最大を用いる例を示したが、前記グループスペクトル変動指標の平均を用いてもよい。
【００９０】
次にステップ６０２で、同一のグループ分割に対する２つのチャンネルの分割グループスペクトル変動指標の最大を２チャンネル分割グループスペクトル変動指標として算出する。
【００９１】
なお、以上の説明では、２つのチャンネルの分割グループスペクトル変動指標の最大を２チャンネル分割グループスペクトル変動指標として用いる例を示したが、２つのチャンネルの分割グループスペクトル変動指標の平均を用いてもよい。
【００９２】
次のステップ６０３で、すべての分割の中で２チャンネル分割グループスペクトル変動指標を最小とする分割を算出する。
【００９３】
次にステップ６０４で、２チャンネル分割グループスペクトル変動指標を最小とする分割を実行する。
【００９４】
図５に戻って、ステップ５１２で、グループ数を１増加してステップ５０５に戻る。
【００９５】
以上のように本実施の形態では、２つのチャンネルで共通のグループ化を行うのに際して、グループ数が第３の閾値より小さい場合に、２つのチャンネルで共通なグループのスペクトルデータの変動を表す２チャンネルグループスペクトル変動指標に基づき、グループ数が第２の閾値より小さいかあるいは前記２チャンネルグループスペクトル変動指標が第１の閾値より大きいときに、最適な順序で（前記２チャンネルグループスペクトル変動指標の大きいグループから順に）グループ分割を行うことにより、スペクトルデータとスケールファクタ等のサイド情報に割り当てるビット数を最適化し、音質を向上することができる。
【００９６】
また、グループ分割に際して、２チャンネル分割グループスペクトル変動指標に基づき、前記２チャンネル分割グループスペクトル変動指標を最小とする分割を行うことにより、最適なグループ分割を行い、音質を向上することができる。
【００９７】
なお、以上の説明では、第２と第３の閾値を設定し、第２と第３の閾値とグループ数を比較するステップを設ける例を示したが、実施の形態１のように、これらのステップを省いてもよい。
【００９８】
なお、上記各実施の形態におけるオーディオ信号符号化方法は、コンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラムとして実現することができ、これをコンピュータ読み取り可能な記録媒体に記録してもよい。
【００９９】
【発明の効果】
以上のように本発明によれば、グループ内の時間ブロックのスペクトルデータの変動を表すグループスペクトル変動指標に基づき、グループスペクトル変動指標が第１の閾値より大きい場合に、最適な順序で（前記グループスペクトル変動指標の大きいグループから順に）グループ分割を行うことにより、スペクトルデータとスケールファクタ等のサイド情報に割り当てるビット数を最適化し、音質を向上することができる。
【０１００】
また、グループ分割に際して、分割グループスペクトル変動指標に基づき、前記分割グループスペクトル変動指標を最小とする分割を行うことにより、最適なグループ分割を行い、音質を向上することができる。
【０１０１】
また、最小グループ数を第２の閾値で設定することにより、グループを構成する時間ブロック数が大きくなり過ぎ、小さなレベルのスペクトルデータが複数の時間ブロックにわたって量子化されないことによる音質劣化を抑えることができる。
【０１０２】
また、最大グループ数を第３の閾値で設定することにより、サイド情報に割り当てるビット数を制限し、スペクトルデータに割り当てることにより、時間変化の極めて激しいフレームに対する大幅な音質劣化を抑えることができる。
【０１０３】
また、第１から第３の閾値のいずれかをビットレートに応じて設定することにより、それぞれのビットレートに適したグループ化を行い、広い範囲のビットレートに対して音質を向上することができる。
【０１０４】
また、ミッド／サイドステレオ符号化のように２つのチャンネルで共通のグループ化を行う場合に対して、２チャンネルグループスペクトル変動指標に基づき、前記２チャンネルグループスペクトル変動指標が第１の閾値より大きい場合には、最適な順序で（前記２チャンネルグループスペクトル変動指標の大きいグループから順に）グループ分割を行うことにより、スペクトルデータとスケールファクタ等のサイド情報に割り当てるビット数を最適化し、音質を向上することができる。
【０１０５】
また、グループ分割に際して、２チャンネル分割グループスペクトル変動指標に基づき、前記２チャンネル分割グループスペクトル変動指標を最小とする分割を行うことにより、最適なグループ分割を行い、音質を向上することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１のオーディオ信号符号化方法における複数の時間ブロックのグループ化の方法のステップを示すフローチャート
【図２】図１のオーディオ信号符号化方法におけるステップ１０６の詳細を示すフローチャート
【図３】同実施の形態２のオーディオ信号符号化方法における複数の時間ブロックのグループ化の方法のステップを示すフローチャート
【図４】同実施の形態３のオーディオ信号符号化方法における複数の時間ブロックのグループ化の方法のステップを示すフローチャート
【図５】同実施の形態４のオーディオ信号符号化方法における複数の時間ブロックのグループ化の方法のステップを示すフローチャート
【図６】図５のオーディオ信号符号化方法におけるステップ５１１の詳細を示すフローチャート
【図７】ＡＡＣエンコーダの構成を示すブロック図
【図８】ＡＡＣにおける短時間ブロックと長時間ブロックの例を説明するための説明図
【図９】ＡＡＣにおける短時間ブロックのグループ化の例を説明するための説明図
【図１０】ＡＡＣにおけるジョイントステレオ符号化時の短時間ブロックのグループ化の例を説明するための説明図
【符号の説明】
７００，７０１  フィルタバンク
７１０，７１１  ブロック長決定部
７２０  ジョイントステレオデータ生成部
７３０  短時間ブロックグループ化決定部
７４０  量子化及び符号化部
【図１】
0004062971.tif 000003
【図２】
0004062971.tif 000004
【図３】
0004062971.tif 000005
【図４】
0004062971.tif 000006
【図５】
0004062971.tif 000007
【図６】
0004062971.tif 000008
【図７】
0004062971.tif 000009
【図８】
0004062971.tif 000010
【図９】
0004062971.tif 000011
【図１０】
0004062971.tif 000012