(57)【要約】【課題】トーン性のスペクトル成分を含むオーディオ信号を符号化する際に周波数領域でのビット割り当ての無駄を省き効率的に符号化する。【解決手段】各ブロック浮動小数点ユニットに割り当てビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数を割り当てる。準備的な量子化ステップ数の割り当てに従い非ゼロ値のスペクトル成分を含むトーン性成分をブロック浮動小数点ユニット毎に探索して検出する。検出されたトーン性成分と残りの周波数スペクトルの符号化に必要なビット使用量を計算し、計算されたビット使用量を割り当てビット数と比較したときに余剰ビットが存在する場合は、余剰ビットをトーン性成分と残りの周波数スペクトルとで共用するようにトーン性成分に量子化ステップ数を割り当てる。余剰ビットのうちで残っているビットを用いて残りの周波数スペクトルに量子化ステップ数を割り当てる。【選択図】図１
2005265865.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て方法において、上記周波数スペクトルは、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定され、
上記オーディオ符号化のためのビット割り当て方法は、
（ａ）上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する前置割り当てステップと、
（ｂ）上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出ステップと、
（ｃ）上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当てステップと、
（ｄ）上記余剰のビットのうちで上記トーン性成分ビット割り当てステップを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する後置割り当てステップとを含むことを特徴とするオーディオ符号化のためのビット割り当て方法。
【請求項２】
上記トーン性成分検出ステップはさらに、
（ａ）上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認ステップと、
（ｂ）非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別ステップと、
（ｃ）当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別ステップと、
（ｄ）上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別ステップとを含むことを特徴とする請求項１記載のオーディオ符号化のためのビット割り当て方法。
【請求項３】
上記トーン性成分識別ステップにおいて、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含むことを特徴とする請求項２記載のオーディオ符号化のためのビット割り当て方法。
【請求項４】
上記トーン性成分検出ステップにおいて、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数であり、
上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定されたことを特徴とする請求項２又は３記載のオーディオ符号化のためのビット割り当て方法。
【請求項５】
上記トーン性成分ビット割り当てステップはさらに、
（ａ）複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、
（ｂ）上記基準が満たされない場合に、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる１つのトーン性成分シーケンスとするトーン性成分シーケンス設定ステップと、
（ｃ）上記１つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定ステップと、
（ｄ）上記１つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、
（ｅ）上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップと、
（ｆ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、
（ｇ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、
（ｈ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定ステップと、
（ｉ）上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含むことを特徴とする請求項１乃至４のいずれか１つに記載のオーディオ符号化のためのビット割り当て方法。
【請求項６】
上記トーン性成分シーケンス数決定ステップは、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、
上記トーン性成分シーケンス数決定ステップにおける上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする請求項５記載のオーディオ符号化のためのビット割り当て方法。
【請求項７】
上記トーン性成分ビット割り当てステップはさらに、
（ａ）複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、
（ｂ）上記基準が満たされる場合に、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる２つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定ステップと、
（ｃ）上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定ステップと、
（ｄ）上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、
（ｅ）上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップと、
（ｆ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、
（ｇ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、
（ｈ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記２つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記上限値よりも小さい上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定ステップと、
（ｉ）上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含むことを特徴とする請求項１乃至４のいずれか１つに記載のオーディオ符号化のためのビット割り当て方法。
【請求項８】
上記トーン性成分シーケンス数決定ステップは、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、
上記トーン性成分シーケンス数決定ステップにおいて、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする請求項７記載のオーディオ符号化のためのビット割り当て方法。
【請求項９】
上記トーン性成分シーケンス設定ステップにおいて、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分は、第１のトーン性成分シーケンスにグループ分けされ、残りのトーン性成分は第２のトーン性成分シーケンスにグループ分けされることを特徴とする請求項８記載のオーディオ符号化のためのビット割り当て方法。
【請求項１０】
上記シーケンス量子化ステップ数変更確定ステップにおいて、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、
（ａ）より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、当該シーケンス量子化ステップ数の値を最初に増大し、
（ｂ）上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう１つの上記シーケンス量子化ステップ数の値がもう１つの上記上限値より小さいならば、当該もう１つのシーケンス量子化ステップ数の値を最初に増大することを特徴とする請求項７乃至９のうちの１つに記載のオーディオ符号化のためのビット割り当て方法。
【請求項１１】
上記シーケンス量子化ステップ数設定ステップにおいて、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一であることを特徴とする請求項５乃至１０のうちの１つに記載のオーディオ符号化のためのビット割り当て方法。
【請求項１２】
上記ビット使用量計算ステップと、上記シーケンス量子化ステップ数変更確定ステップにおける上記ビットの使用量の再計算とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて実行されることを特徴とする請求項５乃至１１のうちの１つに記載のオーディオ符号化のためのビット割り当て方法。
【請求項１３】
ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て装置において、上記周波数スペクトルは、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定され、
上記オーディオ符号化のためのビット割り当て装置は、
（ａ）上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する前置割り当て手段と、
（ｂ）上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出手段と、
（ｃ）上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当て手段と、
（ｄ）上記余剰のビットのうちで、上記トーン性成分ビット割り当て手段が上記準備的な量子化ステップ数の割り当てを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する後置割り当て手段とを備えたことを特徴とするオーディオ符号化のためのビット割り当て装置。
【請求項１４】
上記トーン性成分検出手段はさらに、
（ａ）上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認手段と、
（ｂ）非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別手段と、
（ｃ）当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別手段と、
（ｄ）上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別手段とを備えたことを特徴とする請求項１３記載のオーディオ符号化のためのビット割り当て装置。
【請求項１５】
上記トーン性成分識別手段において、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含むことを特徴とする請求項１４記載のオーディオ符号化のためのビット割り当て装置。
【請求項１６】
上記トーン性成分検出手段において、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数であり、
上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定されたことを特徴とする請求項１４又は１５記載のオーディオ符号化のためのビット割り当て装置。
【請求項１７】
上記トーン性成分ビット割り当て手段はさらに、
（ａ）複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定手段と、
（ｂ）上記基準が満たされない場合に、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる１つのトーン性成分シーケンスとするトーン性成分シーケンス設定手段と、
（ｃ）上記１つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定手段と、
（ｄ）上記１つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成手段と、
（ｅ）上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算手段と、
（ｆ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当て手段の動作を中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消し手段と、
（ｇ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定手段と、
（ｈ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定手段と、
（ｉ）上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化手段とを備えたことを特徴とする請求項１３乃至１６のいずれか１つに記載のオーディオ符号化のためのビット割り当て装置。
【請求項１８】
上記トーン性成分シーケンス数決定手段は、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索する手段を含み、
上記トーン性成分シーケンス数決定手段における上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする請求項１７記載のオーディオ符号化のためのビット割り当て装置。
【請求項１９】
上記トーン性成分ビット割り当て手段はさらに、
（ａ）複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定手段と、
（ｂ）上記基準が満たされる場合に、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる２つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定手段と、
（ｃ）上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定手段と、
（ｄ）上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成手段と、
（ｅ）上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算手段と、
（ｆ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当て手段の動作を中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消し手段と、
（ｇ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定手段と、
（ｈ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記２つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記上限値よりも小さい上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定手段と、
（ｉ）上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化手段とを備えたことを特徴とする請求項１３乃至１６のいずれか１つに記載のオーディオ符号化のためのビット割り当て装置。
【請求項２０】
上記トーン性成分シーケンス数決定手段は、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索する手段を含み、
上記トーン性成分シーケンス数決定手段において、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする請求項１９記載のオーディオ符号化のためのビット割り当て装置。
【請求項２１】
上記トーン性成分シーケンス設定手段は、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分を、第１のトーン性成分シーケンスにグループ分けし、残りのトーン性成分を第２のトーン性成分シーケンスにグループ分けすることを特徴とする請求項２０記載のオーディオ符号化のためのビット割り当て装置。
【請求項２２】
上記シーケンス量子化ステップ数変更確定手段が、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、
（ａ）より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、上記シーケンス量子化ステップ数変更確定手段は当該シーケンス量子化ステップ数の値を最初に増大し、
（ｂ）上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう１つの上記シーケンス量子化ステップ数の値がもう１つの上記上限値より小さいならば、上記シーケンス量子化ステップ数変更確定手段は当該もう１つのシーケンス量子化ステップ数の値を最初に増大することを特徴とする請求項１９乃至２１のうちの１つに記載のオーディオ符号化のためのビット割り当て装置。
【請求項２３】
上記シーケンス量子化ステップ数設定手段において、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一であることを特徴とする請求項１７乃至２２のうちの１つに記載のオーディオ符号化のためのビット割り当て装置。
【請求項２４】
上記ビット使用量計算手段と、上記シーケンス量子化ステップ数変更確定手段とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて上記ビットの使用量の再計算を実行することを特徴とする請求項１７乃至２３のうちの１つに記載のオーディオ符号化のためのビット割り当て装置。
【請求項２５】
請求項１乃至１２のうちの１つに記載のオーディオ符号化のためのビット割り当て方法において記載の各ステップを用いて符号化されたディジタルオーディオ信号を記録したことを特徴とするコンピュータにより読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルオーディオ信号をディジタル伝送路を介して送信を行うためのもしくはディジタル記憶媒体又は記録媒体に記憶するためのオーディオ符号化装置において、特定の周波数にエネルギーが集中した典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を効率的に符号化する、オーディオ符号化のためのビット割り当て方法及び装置、並びに、当該オーディオ符号化のためのビット割り当て方法を用いて符号化されたディジタルオーディオ信号を記録した記録媒体に関する。
【背景技術】
【０００２】
入力されたディジタルオーディオ信号を時間領域から複数のスペクトル成分にてなる周波数領域に変換することを含むオーディオ符号化処理を実行するために、例えば、特許文献１及び２に記載の装置が存在し、特に、そのようなオーディオ符号化として、非特許文献１に記載のＡＴＲＡＣ３（Adaptive TRansform Acoustic Coding 3）の技術が存在する。
【０００３】
オーディオ符号化の目的は、圧縮符号化されたオーディオストリームが復号化器で伸張された後においても、元のソース信号に対して可能な限り高い忠実度が維持されるように、ディジタル化されたオーディオストリームを符号化器で可能な限り少ないビット数に圧縮することにある。オーディオ符号化処理の最も重要な段階がスペクトル量子化であることに、疑問の余地はない。スペクトル量子化は、オーディオ信号の１つのフレームにおける周波数領域の表現を、一連の離散的な値に変換する処理である。量子化ステップ数が大きくなるほど、より微細なスペクトル値を表現できるようになるが、大きな量子化ステップ数を表現するためにはより多くのビットが要求されて、符号化処理が複雑になる。また、実際のスペクトル値とその量子化された値との差が、量子化雑音となる。
【０００４】
周波数スペクトルを量子化する一般的なアプローチは、最初に、この周波数スペクトルを、可変な幅を有するスペクトル成分の複数の連続的なグループに分割することである。次に、各グループ内のスペクトル成分は、これらの値が予め設計された範囲に制限されるように、スケーリング（又は正規化）するための所定の係数（以後、この係数を「スケールファクタ」という。）で除算される。スペクトル成分の各グループに対して所定の量子化ステップ数が割り当てられ、スペクトル成分は次に前記量子化ステップ数と乗算されることで、スケーリングされたスペクトル値にされ、続いて、簡単なバイナリ表現のために、丸めによって離散整数にされる。低い周波数におけるグループは、通常、高い周波数におけるグループより少ないスペクトル成分を含む。スペクトル成分がこのように不均一に分配される理由は、ヒトの聴覚系の音響心理学的な特性に関係する。また、ビット割り当ては、最良の音質をもたらすように、各スペクトル成分のグループが取得すべき量子化ステップ数を決定することを目的としている。
【０００５】
【特許文献１】特許第３３３６６１７号公報。
【特許文献２】特開２０００−４１６３号公報。
【非特許文献１】藤原洋監修，「画像＆音声圧縮技術のすべて」，ＣＱ出版社，１６６−１７５ページ，２０００年４月。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
不可避的に、所定のオーディオ信号に対しては、ある連続的なグループ内のすべてのスペクトル成分に同一の量子化ステップ数を共用させることが理想的とはならない場合がある。ある連続的なグループの周波数スペクトル成分が、低いエネルギーを有する多数の成分と、ほんの少しの、エネルギーが集中した顕著な成分とから構成されていれば、そのグループには、その顕著な成分を正確に表現するために十分に大きい量子化ステップ数が与えられる必要がある。本願明細書では、制限された周波数帯域内にエネルギーが集中した顕著な成分が存在することを「トーン性」といい、この特徴的な顕著なスペクトル成分を「トーン性成分」という。結果として、その顕著な成分以外の低いエネルギーの成分は、たとえそれらが知覚的にはさほど重要でないとしても、顕著な成分と同じ大きさの量子化ステップ数を共用することとなる。これはビットの浪費に繋がり、例えば、１つのグループが３２個又は６４個のスペクトル成分を含むが、そのうちの３個又は４個のみが顕著な成分であるような場合には、ビットの浪費は特に深刻である。
【０００７】
特許文献１に記載されたような、トーン性成分の検出及び分離を実行するオーディオ符号化ツールが効果を示し得るのは、こうした状況である。特許文献１には、入力信号を符号化する符号化装置において、入力信号を周波数成分に変換する手段と、上記周波数成分をトーン性成分からなる第１の信号とその他の成分からなる第２の信号に分離する手段と、上記第１の信号を上記トーン性成分の周波数軸上での位置情報とともに符号化する第１の符号化手段と、上記第２の信号に基づく信号を符号化する第２の符号化手段とを有することを特徴とする信号符号化装置が記載されている。特許文献１記載の信号符号化装置は、顕著なスペクトル成分を識別しかつ抽出し、これらを別個に符号化することで、残りのスペクトル成分がより少ない量子化ステップ数で符号化され、よって貴重なビット数の消費量を少なくするために使用可能である。
【０００８】
トーン性成分の検出及び分離を実行するオーディオ符号化ツールはビットの節約のために有用であるが、一方で、そのようなオーディオ符号化には、上記検出及び分離に関連付けられたビットストリームの要素が存在し、これらのビットストリームの要素もまた所定のビット数のビットを消費するので、トーン性成分の検出及び分離を実行するオーディオ符号化ツールが適用される場合には、正味の節約ビット数が正になることを保証するように注意を払う必要がある。特許文献１記載の信号符号化装置では、その図４のステップＳ４において、スペクトル絶対値が局所的に見て他のスペクトル成分よりも大きい極大絶対値スペクトルか否かを判断し、ステップＳ５において、当該極大絶対値スペクトルを含むその時間ブロックにおける当該極大絶対値スペクトルの変数Ａと最大スペクトル絶対値の変数Ａ０との比と、所定の大きさを示す係数Ｐとの大小比較（Ａ／Ａ０＞Ｐ）を行い、ステップＳ８において、極大絶対値スペクトルの近隣のスペクトルのエネルギー値Ｘと、当該極大絶対値スペクトル及びその近隣のスペクトルを含む所定の帯域内のエネルギー値Ｙとの比と、所定の割合を示す係数Ｒとの大小比較（Ｘ／Ｙ＞Ｒ）を実行している。ゆえに、特許文献１記載の信号符号化装置では、あるスペクトル成分の振幅がその近隣のスペクトル成分の振幅に対して急激に増大していると判断されたならば常に当該スペクトル成分はトーン性成分であると判断される。そのため、特許文献１記載の信号符号化装置では、トーン性成分を検出して分離することによってビットを節約しようとしても、検出されたトーン性成分の位置などを伝達するためのビットのビット数が大きくなり、却ってビットを浪費してしまう可能性がある。
【０００９】
すなわち、トーン性成分の検出及び分離は、余分なビットストリームの要素を必要とするようになるので、スペクトル全体におけるすべてのトーン性成分に対して無差別に適用されるべきではない。まずは、ビットの多大な節約をもたらすことが期待されるトーン性成分を検出するための基準が作られる必要がある。また、節約されたビットは、トーン性成分に含まれるスペクトル成分と、その他の非トーン性スペクトルに含まれるスペクトル成分との間で共用される必要がある。このビットを共用するための処理は、過度の複雑さを課すものであってはならない。
【００１０】
従って、重要でないスペクトル成分に対して過度の量子化ステップ数が割り当てられることによるビットの無駄を省き、節約されたビットを再配分することにより元のオーディオ信号に対してより忠実な符号化（又は量子化）が可能な、オーディオ符号化のためのビット割り当て方法及び装置に対する必要性が存在する。
【００１１】
本発明の目的は、以上の問題点を解決し、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することが可能な、オーディオ符号化のためのビット割り当て方法及び装置を提供することにある。
【００１２】
また、本発明の別の目的は、上記オーディオ符号化のためのビット割り当て方法を用いて符号化されたディジタルオーディオ信号を記録した記録媒体を提供することにある。
【課題を解決するための手段】
【００１３】
第１の発明に係るオーディオ符号化のためのビット割り当て方法は、ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て方法が提供され、上記周波数スペクトルは、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定され、
上記オーディオ符号化のためのビット割り当て方法は、
（ａ）上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する前置割り当てステップと、
（ｂ）上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出ステップと、
（ｃ）上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当てステップと、
（ｄ）上記余剰のビットのうちで上記トーン性成分ビット割り当てステップを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する後置割り当てステップとを含むことを特徴とする。
【００１４】
上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分検出ステップはさらに、
（ａ）上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認ステップと、
（ｂ）非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別ステップと、
（ｃ）当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別ステップと、
（ｄ）上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別ステップとを含むことを特徴とする。
【００１５】
また、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分識別ステップにおいて、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含むことを特徴とする。
【００１６】
さらに、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分検出ステップにおいて、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数であり、
上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定されたことを特徴とする。
【００１７】
またさらに、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分ビット割り当てステップはさらに、
（ａ）複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、
（ｂ）上記基準が満たされない場合に、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる１つのトーン性成分シーケンスとするトーン性成分シーケンス設定ステップと、
（ｃ）上記１つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定ステップと、
（ｄ）上記１つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、
（ｅ）上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップと、
（ｆ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、
（ｇ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、
（ｈ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定ステップと、
（ｉ）上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含むことを特徴とする。
【００１８】
また、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分シーケンス数決定ステップは、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、
上記トーン性成分シーケンス数決定ステップにおける上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする。
【００１９】
さらに、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分ビット割り当てステップはさらに、
（ａ）複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、
（ｂ）上記基準が満たされる場合に、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる２つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定ステップと、
（ｃ）上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定ステップと、
（ｄ）上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、
（ｅ）上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップと、
（ｆ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、
（ｇ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、
（ｈ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記２つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記上限値よりも小さい上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定ステップと、
（ｉ）上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含むことを特徴とする。
【００２０】
またさらに、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分シーケンス数決定ステップは、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、
上記トーン性成分シーケンス数決定ステップにおいて、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする。
【００２１】
また、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分シーケンス設定ステップにおいて、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分は、第１のトーン性成分シーケンスにグループ分けされ、残りのトーン性成分は第２のトーン性成分シーケンスにグループ分けされることを特徴とする。
【００２２】
さらに、上記オーディオ符号化のためのビット割り当て方法において、上記シーケンス量子化ステップ数変更確定ステップにおいて、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、
（ａ）より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、当該シーケンス量子化ステップ数の値を最初に増大し、
（ｂ）上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう１つの上記シーケンス量子化ステップ数の値がもう１つの上記上限値より小さいならば、当該もう１つのシーケンス量子化ステップ数の値を最初に増大することを特徴とする。
【００２３】
またさらに、上記オーディオ符号化のためのビット割り当て方法において、上記シーケンス量子化ステップ数設定ステップにおいて、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一であることを特徴とする。
【００２４】
またさらに、上記オーディオ符号化のためのビット割り当て方法において、上記ビット使用量計算ステップと、上記シーケンス量子化ステップ数変更確定ステップにおける上記ビットの使用量の再計算とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて実行されることを特徴とする。
【００２５】
第２の発明に係るオーディオ符号化のためのビット割り当て装置は、ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て装置が提供され、上記周波数スペクトルは、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定され、
上記オーディオ符号化のためのビット割り当て装置は、
（ａ）上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する前置割り当て手段と、
（ｂ）上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出手段と、
（ｃ）上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当て手段と、
（ｄ）上記余剰のビットのうちで、上記トーン性成分ビット割り当て手段が上記準備的な量子化ステップ数の割り当てを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する後置割り当て手段とを備えたことを特徴とする。
【００２６】
上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分検出手段はさらに、
（ａ）上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認手段と、
（ｂ）非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別手段と、
（ｃ）当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別手段と、
（ｄ）上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別手段とを備えたことを特徴とする。
【００２７】
また、オーディオ符号化のためのビット割り当て装置において、上記トーン性成分識別手段において、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含むことを特徴とする。
【００２８】
さらに、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分検出手段において、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数であり、
上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定されたことを特徴とする。
【００２９】
またさらに、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分ビット割り当て手段はさらに、
（ａ）複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定手段と、
（ｂ）上記基準が満たされない場合に、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる１つのトーン性成分シーケンスとするトーン性成分シーケンス設定手段と、
（ｃ）上記１つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定手段と、
（ｄ）上記１つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成手段と、
（ｅ）上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算手段と、
（ｆ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当て手段の動作を中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消し手段と、
（ｇ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定手段と、
（ｈ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定手段と、
（ｉ）上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化手段とを備えたことを特徴とする。
【００３０】
また、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分シーケンス数決定手段は、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索する手段を含み、
上記トーン性成分シーケンス数決定手段における上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする。
【００３１】
さらに、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分ビット割り当て手段はさらに、
（ａ）複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定手段と、
（ｂ）上記基準が満たされる場合に、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる２つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定手段と、
（ｃ）上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定手段と、
（ｄ）上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成手段と、
（ｅ）上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算手段と、
（ｆ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当て手段の動作を中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消し手段と、
（ｇ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定手段と、
（ｈ）上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記２つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記上限値よりも小さい上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定手段と、
（ｉ）上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化手段とを備えたことを特徴とする。
【００３２】
またさらに、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分シーケンス数決定手段は、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索する手段を含み、
上記トーン性成分シーケンス数決定手段において、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする。
【００３３】
また、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分シーケンス設定手段は、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分を、第１のトーン性成分シーケンスにグループ分けし、残りのトーン性成分を第２のトーン性成分シーケンスにグループ分けすることを特徴とする。
【００３４】
さらに、上記オーディオ符号化のためのビット割り当て装置において、上記シーケンス量子化ステップ数変更確定手段が、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、
（ａ）より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、上記シーケンス量子化ステップ数変更確定手段は当該シーケンス量子化ステップ数の値を最初に増大し、
（ｂ）上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう１つの上記シーケンス量子化ステップ数の値がもう１つの上記上限値より小さいならば、上記シーケンス量子化ステップ数変更確定手段は当該もう１つのシーケンス量子化ステップ数の値を最初に増大することを特徴とする。
【００３５】
またさらに、上記オーディオ符号化のためのビット割り当て装置において、上記シーケンス量子化ステップ数設定手段において、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一であることを特徴とする。
【００３６】
またさらに、上記オーディオ符号化のためのビット割り当て装置において、上記ビット使用量計算手段と、上記シーケンス量子化ステップ数変更確定手段とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて上記ビットの使用量の再計算を実行することを特徴とする。
【００３７】
第３の発明に係る記録媒体は、上記オーディオ符号化のためのビット割り当て方法において記載の各ステップを用いて符号化されたディジタルオーディオ信号を記録したことを特徴とする。
【発明の効果】
【００３８】
従って、本発明によれば、トーン性成分を検出して分離する符号化器を使用することによってトーン性成分を含むディジタルオーディオ信号の音質を高めるための方法及び装置を提供する。この方法及び装置は、所定の基準を参照することによって使用可能なトーン性成分を選択し、周波数スペクトルをトーン性のスペクトル成分とその他のスペクトル成分とに分割し、量子化ステップ数の戦略的な再割り当てを実行してビット数の純節約量をもたらし、新たに生じたビットを両方のスペクトル成分間で共用して音質をバランス良く高める。本発明は、以上記載した特徴機能のすべてを高速かつさほど複雑でない方法で達成することができる。
【発明を実施するための最良の形態】
【００３９】
以下、図面を参照して本発明に係る実施形態について説明する。本願明細書における説明の大部分はＡＴＲＡＣ３符号化器を基礎として行うが、その適用可能性は、周波数領域のスペクトル信号に対して、トーン性成分符号化と非トーン性スペクトル符号化とを別個に実行する本実施形態と同様の符号化器（又は量子化器）とを採用する他の符号化器にまで拡張されることが可能である。
【００４０】
図１は、本発明の一実施形態に係るミニディスク記録再生システムの構成を示すブロック図である。この実施形態は、特に、オーディオエンコーダ２内の詳細構成に特徴を有している。
【００４１】
図１において、Ａ／Ｄコンバータ１はオーディオ入力信号をＡ／Ｄ変換してディジタル化されたオーディオサンプル信号に変換し、次いで、オーディオエンコーダ２は、詳細後述する周波数領域ビット割り当て処理を用いて上記変換されたオーディオサンプル信号を圧縮して符号化し、ＡＴＲＡＣ３のビットストリーム信号を発生する。次いで、ミニディスク記録装置３は、ＡＴＲＡＣ３のビットストリーム信号を所定の変調記録信号に変調した後、上記変調記録信号をミニディスク４に記録する。一方、ミニディスク再生装置５は、ミニディスク４から記録信号を再生して復調することにより、ＡＴＲＡＣ３のビットストリーム信号を再生する。さらに、オーディオデコーダ６は圧縮されているＡＴＲＡＣ３のビットストリーム信号をディジタルオーディオ信号に復号化した後、最後にＤ／Ａコンバータ７はディジタルオーディオ信号をＤ／Ａ変換してオーディオ出力信号を出力する。
【００４２】
上述の周波数領域ビット割り当て処理によって、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することができる。この実施形態では、記録再生システムは、ＡＴＲＡＣ３のビットストリーム信号をミニディスク４に記録するように構成されているが、本発明はこれに限らず、その他のコンピュータにより読み取り可能な記録媒体又は伝送媒体を用いるように記録再生システムや伝送システムを構成してもよい。記録媒体の例としては、Ｈｉ−ＭＤ、ＣＤ−ＲＯＭ、ＣＤ−ＲＡＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ及びＤＶＤ＋ＲＷなどのような光ディスクと、他の形式の光記録媒体と、ハードディスク等の磁気ディスクや磁気テープなどのような磁気記録媒体と、半導体記憶媒体とを含むが、これらに制限されない。
【００４３】
図２は、図１のオーディオエンコーダ２の詳細構成を示すブロック図である。図２において、オーディオエンコーダ２は、ＡＴＲＡＣ３の音声信号圧縮技術を用いた典型的な変換符号化器であるが、オーディオエンコーダ２の詳細構成のうち、特に、周波数領域ビット割り当て部１７の詳細動作において特徴を有している。ＡＴＲＡＣ３は、基本的に、４４．１ｋＨｚでサンプリングされたオーディオサンプル信号のストリームに対して構成された、サブバンド符号化と変換符号化の技術のハイブリッド符号化方法である。
【００４４】
図２に示すように、オーディオエンコーダ２は、時間領域においてそれぞれ１０２４個のサンプルを備える連続的なオーディオサンプル信号のフレームを、２ステージのＱＭＦ（直交ミラーフィルタ）分割フィルタ１０を用いて、４つの部分帯域（サブバンド）信号に周波数帯域分割し、次に、各部分帯域毎に、時間方向にそれぞれ２５６個のサンプル信号を有するフレームに分割した信号（以下、サブバンドフレームという。）を出力する。ここで、ＱＭＦ分割フィルタ１０は、詳しくは、オーディオサンプル信号を低域信号と高域信号に等分するローパスフィルタ１１及びハイパスフィルタ１２と、上記分割された低域及び高域信号を周波数についてさらに等分するフィルタバンク１３−１乃至１３−４とを備えて構成される。従って、ＱＭＦ分割フィルタ１０の出力は、それぞれ２５６個のサンプル信号を有する、４つのダウンサンプリングされたサブバンドフレームである。それらの各々は、時間軸上では、変形離散コサイン変換（ＭＤＣＴ変換）のための変換ブロックの半分の長さであり、０乃至５．５ｋＨｚ、５．５ｋＨｚ乃至１１ｋＨｚ、１１ｋＨｚ乃至１６．５ｋＨｚ、及び１６．５ｋＨｚ乃至２２ｋＨｚの４つの周波数帯のそれぞれから得られるオーディオ信号である。
【００４５】
次いで、フィルタバンク１３−１乃至１３−４の後段にそれぞれ、ジョイントステレオ処理を実行するジョイントステレオ処理部１４−１乃至１４−４をさらに備える。ジョイントステレオ処理部１４−１乃至１４−４は、例えば、ステレオ信号として入力されたオーディオ信号を、右チャンネル信号と左チャンネル信号との平均信号と、右チャンネル信号の利得データと、左チャンネル信号の利得データとに変換し、オーディオ信号のさらなる圧縮を達成することができる。このジョイントステレオ処理の処理形式に関する情報は、オーディオ信号とは別に、サイド情報としてビットストリームマルチプレクサ２０に送られる。
【００４６】
次いで、各サブバンドフレームに対して利得制御が実行される。ここで、サブバンドフレーム中の各オーディオサンプル信号に対する利得制御の大きさ（すなわち増幅率又は減衰率）を定義する利得係数を、サブバンドフレームを単位としてまとめたものを「修正関数」と呼ぶ。ジョイントステレオ処理部１４−１乃至１４−４から出力された各サブバンドフレームの信号は、利得制御部１５−１乃至１５−４にそれぞれ入力され、各利得制御部１５−１乃至１５−４は、各サブバンドフレームに対する修正関数を計算し、この計算された修正関数を用いて各サブバンドフレームに対して利得制御を実行する。計算された修正関数は、サイド情報としてビットストリームマルチプレクサ２０に送られる。
【００４７】
ただし、ジョイントステレオ処理と利得制御とを実行することは、本発明に係る実施形態においては必須の構成要素ではなく、オプションである。
【００４８】
利得制御部１５−１乃至１５−４は、さらに、ＭＤＣＴ処理部１６−１乃至１６−４における変形離散コサイン変換（ＭＤＣＴ）処理に先行した処理として、サブバンドフレームの境界における修正関数の連続性を保証しながら、２つの連続的なサブバンドフレーム、すなわち現在のサブバンドフレームと先行するサブバンドフレームとを互いに縦続接続する。ゆえに、縦続接続された２つのサブバンドフレームは、隣接するブロックがそれぞれ５０％の重複を有するＭＤＣＴのための変換ブロック全体を形成した後、ＭＤＣＴ処理部１６−１乃至１６−４に入力される。
【００４９】
ＭＤＣＴ処理部１６−１は、１つの周波数帯域で利得制御され、かつＭＤＣＴ処理するための変換ブロックに縦続接続された少なくとも２つのサブバンドフレーム毎の信号に対してそれぞれ変形離散コサイン変換処理を実行し、その結果として生じる周波数領域のスペクトル情報信号（スペクトル成分ｓｐｅｃ［ｉ］と表記する。）を周波数領域ビット割り当て部１７に出力する。
【００５０】
周波数領域ビット割り当て部１７は、量子化ステップ数前置割り当て部、トーン性成分検出部、トーン性成分ビット割り当て部、及び量子化ステップ数後置割り当て部など（いずれも図示せず。）を備えて構成され、ＭＤＣＴ処理された情報信号から、詳細後述する周波数領域ビット割り当て処理により、トーン性成分に含まれるスペクトル成分の信号と、残りの非トーン性の周波数スペクトルに含まれるスペクトル成分の信号とを分離して、それぞれをトーン性成分符号化器１８と非トーン性スペクトル符号化器１９に出力する。ここで、トーン性成分符号化器１８は、トーン性成分に含まれるスペクトル成分の信号に対して符号化及び量子化の処理を実行する一方、それとは個別に、非トーン性スペクトル符号化器１９は、非トーン性の周波数スペクトルに含まれるスペクトル成分の信号に対して符号化及び量子化の処理を実行する。
【００５１】
次いで、ビットストリームマルチプレクサ２０は、ハフマン符号化器及びマルチプレクサなど（図示せず。）を備えて構成され、トーン性成分符号化器１８と非トーン性スペクトル符号化器１９とにおいて符号化された信号を、複数個（例えば１４個）の固定長及び／又は可変長のハフマンテーブルを用いて圧縮し、次いで、ジョイントステレオ処理部１４−１乃至１４−４における処理データと、利得制御部１５−１乃至１５−４における利得制御データと、周波数領域ビット割り当て部１７におけるビット割り当てデータと、トーン性成分符号化器１８において符号化されたトーン性成分信号のデータと、非トーン性スペクトル符号化器１９において符号化された非トーン性のスペクトル信号のデータとを含み、ＡＴＲＡＣ３標準に従うサイド情報とを多重化することにより、ＡＴＲＡＣ３のビットストリーム信号を得て出力する。
【００５２】
本実施形態のオーディオエンコーダ２によれば、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することが可能である。オーディオエンコーダ２による周波数領域ビット割り当て処理は、高速での実行が可能であるにも拘わらず、優れた音質を実現することができる。また、このオーディオエンコーダ２によれば、音質を損なうことなく効率的に符号化されたディジタルオーディオ信号を得ることができる。
【００５３】
以下、本実施形態のオーディオエンコーダ２の周波数領域ビット割り当て部１７によって実行される周波数領域ビット割り当て処理の原理について説明する。
【００５４】
背景技術の項において説明したように、所定のオーディオ信号に対しては、あるグループ内のすべてのスペクトル成分に同一の量子化ステップ数を共用させることが理想的とはならない場合がある。図３（ａ）はトーン性成分の検出及び分離を用いないときの周波数領域の各スペクトル成分に対する量子化ステップ数の割り当てを示すグラフであり、図３（ｂ）は図２のオーディオエンコーダ２を用いてトーン性成分の検出及び分離を実行したときの周波数領域の各スペクトル成分に対する量子化ステップ数の割り当てを示すグラフである。これらの図は、周波数領域ビット割り当て部１７が、周波数スペクトルを、トーン性成分に属するスペクトル成分と、残りの非トーン性スペクトルに属するスペクトル成分とに分離し、それらに異なる量子化ステップ数を適用することによって、ビット数の節約量を向上させる様子を示している。図３（ａ）及び（ｂ）の縦軸は、グラフ中の折れ線に対応してオーディオ信号の信号強度を示すとともに、周波数軸（横軸）に平行な直線に対応して当該オーディオ信号に割り当てられた量子化ステップ数を示している。図３（ａ）に示されたように、あるグループの周波数成分（すなわちスペクトル成分）が、低いエネルギーを有する多数の成分と、ほんの少しの高いエネルギーを有する顕著な成分とから構成されていれば、そのグループには、その顕著な成分を正確に表現するために十分に大きい量子化ステップ数が与えられる必要がある。結果として、その顕著な成分以外の低いエネルギーの成分は、たとえそれらが知覚的にはさほど重要でないとしても、顕著な成分と同じ大きさの量子化ステップ数を共用することとなり、ビットの浪費に繋がる。
【００５５】
トーン性成分の検出及び分離を実行するオーディオ符号化ツールが効果を示し得るのは、こうした状況である。例示として、図３（ｂ）を参照されたい。その一方で、トーン性成分の検出及び分離を実行するオーディオ符号化には、上記検出及び分離に関連付けられたビットストリームの要素が存在し、これらのビットストリームの要素もまた所定のビット数のビットを消費するので、トーン性成分の検出及び分離を実行するオーディオ符号化ツールが適用される場合には、正味の節約ビット数が正になることを保証するように注意を払う必要がある。
【００５６】
本実施形態のための枠組みを説明するために、以下、周波数領域ビット割り当て部１７の動作について詳細に説明する。
【００５７】
本実施形態において、周波数領域ビット割り当て部１７は、ＭＤＣＴ処理部１６−１乃至１６−４において時間領域から周波数領域に変換された後の周波数スペクトルを、所定個数の連続したスペクトル成分をそれぞれ含む複数のグループに分割し、本願明細書では、これらのグループをブロック浮動小数点ユニット（ＢＦＵ）と呼ぶ。各ＭＤＣＴ処理部１６−１乃至１６−４は、変換後の周波数スペクトルとして、合計で１０２４個のスペクトル成分ｓｐｅｃ［ｉ］（０≦ｉ≦１０２３）を周波数領域ビット割り当て部１７に出力し、周波数領域ビット割り当て部１７は、周波数スペクトルの全体（すなわち１０２４個のスペクトル成分）を３２個のブロック浮動小数点ユニットに分割し、ここで、各ブロック浮動小数点ユニットには、低域側周波数から高域側周波数に向かって次第に増大するインデックスｂｕ（０≦ｂｕ≦３１）が付与される。最初のブロック浮動小数点ユニット（ｂｕ＝０で表される最も低域側のブロック浮動小数点ユニット）は最も少ない個数のスペクトル成分を含み、周波数帯が高くなるにつれてブロック浮動小数点ユニット中のスペクトル成分の個数は次第に増大し、最後のブロック浮動小数点ユニット（ｂｕ＝３１で表される最も高域側のブロック浮動小数点ユニット）は最も多い個数のスペクトル成分を含んでいる。表１は、各スペクトル成分を３２個のブロック浮動小数点ユニットにグループ分けした一例を示す。
【００５８】
【表１】
2005265865.tif 000003
【００５９】
表１において、ＦｉｒｓｔＳｐｅｃ（ｂｕ）は、ブロック浮動小数点ユニットｂｕの最初の（すなわち最も低域側の）スペクトル成分であり、ＬａｓｔＳｐｅｃ（ｂｕ）は、ブロック浮動小数点ユニットｂｕの最後の（すなわち最も高域側の）スペクトル成分である。ビット不足に起因して、すべてのブロック浮動小数点ユニットを符号化することは不可能であり、よって通常は帯域幅が犠牲にされる。符号化する最後の（すなわち最も高い周波数帯の）ブロック浮動小数点ユニットは、ｍａｘ＿ｂｆｕｎｉｔで特定される。
【００６０】
ブロック浮動小数点ユニットに対して正規化処理（スケーリング）を実行するために、多数のスケールファクタが指定されている。スケールファクタは、各スペクトル成分の値に対する正規化係数であって、単一のブロック浮動小数点ユニットに含まれる各スペクトル成分に対して共通である。スペクトル成分の値をスケールファクタで除算することによって正規化処理が実行される。下記は、スケールファクタのインデックスＳＦと、スケールファクタの実際の値ＳｃａｌｅＦａｃｔ（ＳＦ）との関係の一例である。
【００６１】
［数１］
ＳｃａｌｅＦａｃｔ（０）＝０．９９９９９９９９×２−５
ＳｃａｌｅＦａｃｔ（１）＝０．６２９９６０５２×２−４
ＳｃａｌｅＦａｃｔ（２）＝０．７９３７００５２×２−４
【００６２】
３≦ＳＦ≦６３の場合は、次式を満たす。
【００６３】
［数２］
ＳｃａｌｅＦａｃｔ（ＳＦ）＝２×ＳｃａｌｅＦａｃｔ（ＳＦ−３）
【００６４】
例えば、Ｍａｘが、ブロック浮動小数点ユニットｂｕ内におけるスペクトル成分の絶対値の最大値（例えば、１０００又は１００００など）であれば、当該ブロック浮動小数点ユニットｂｕに対するスケールファクタのインデックスをｓｆ＿ｉｎｄｅｘ［ｂｕ］で表すと、このインデックスｓｆ＿ｉｎｄｅｘ［ｂｕ］は、次式を満たす。
【００６５】
［数３］
ＳｃａｌｅＦａｃｔ（ｓｆ＿ｉｎｄｅｘ［ｂｕ］）＞Ｍａｘ
ＳｃａｌｅＦａｃｔ（ｓｆ＿ｉｎｄｅｘ［ｂｕ］−１）≦Ｍａｘ
【００６６】
以上説明したスケールファクタについての詳細については、特許文献２が参照される。
【００６７】
ブロック浮動小数点ユニットｂｕに対して、量子化ステップ数のインデックスをｓｔｅｐ［ｂｕ］（ｓｔｅｐ［ｂｕ］は０乃至７の整数）で表すとき、表２は、当該ブロック浮動小数点ユニットｂｕに対する量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］と、実際の最大量子化ステップ数ＭａｘＱｕａｎｔ（ｓｔｅｐ［ｂｕ］）との関係の一例を示す。
【００６８】
【表２】
2005265865.tif 000004
【００６９】
最大量子化ステップ数ＭａｘＱｕａｎｔ（ｓｔｅｐ［ｂｕ］）の値は、インデックスｓｔｅｐ［ｂｕ］の値が増大するにつれて増大する。
【００７０】
あるスペクトル成分ｓｐｅｃ［ｉ］の量子化値ＱＳ［ｉ］は、次式で得られる。
【００７１】
［数４］
ＱＳ［ｉ］
＝ＲＯＵＮＤ（ｓｐｅｃ［ｉ］×（ＭａｘＱｕａｎｔ（ｓｔｅｐ［ｂｕ］）＋０．５）
÷ＳｃａｌｅＦａｃｔ［ｓｆ＿ｉｎｄｅｘ［ｂｕ］］）
【００７２】
ここで、関数ＲＯＵＮＤ（  ）は、かっこ内の値の四捨五入を実行する。また、ブロック浮動小数点ユニットｂｕは、スペクトル成分ＦｉｒｓｔＳｐｅｃ（ｂｕ）以上でかつＬａｓｔＳｐｅｃ（ｂｕ）以下のスペクトル成分で構成される。すなわち、インデックスｉ及びｂｕは次式を満たす。
【００７３】
［数５］
ＦｉｒｓｔＳｐｅｃ［ｂｕ］≦ｉ≦ＬａｓｔＳｐｅｃ［ｂｕ］
０≦ｂｕ≦ｍａｘ＿ｂｆｕｎｉｔ
【００７４】
周波数領域ビット割り当て部１７は、入力された各スペクトル成分に対して、各ブロック浮動小数点ユニットを単位として仮数×指数の表現を用いた浮動小数点処理を実行する。ここで、各ブロック浮動小数点ユニット内では、それぞれ共通の指数を用いるが、上述のスケールファクタＳｃａｌｅＦａｃｔ［ｓｆ＿ｉｎｄｅｘ［ｂｕ］］が、「ｂｕ」のインデックスをそれぞれ有する各ブロック浮動小数点ユニットでの共通の指数部を表す。また、スペクトル成分ｓｐｅｃ［ｉ］の量子化値ＱＳ［ｉ］が浮動小数点の仮数部である。従って、スペクトル成分ｓｐｅｃ［ｉ］は、本実施形態の浮動小数点表示では、数４を変形することにより次式のように表される。
【００７５】
［数６］
ｓｐｅｃ［ｉ］＝ＳｃａｌｅＦａｃｔ［ｓｆ＿ｉｎｄｅｘ［ｂｕ］］×ＱＳ［ｉ］
÷（ＭａｘＱｕａｎｔ（ｓｔｅｐ［ｂｕ］）＋０．５）
【００７６】
本実施形態において、トーン性成分を検出して分離する周波数領域ビット割り当て部１７が設けられているのは、ビットの節約を達成するためでもある。まず最初に、符号化されるトーン性成分のロケーション（ｋ番目のトーン性成分の場合、開始ロケーションｃｌｏｃ［ｋ］として知られる。ここで、０≦ｃｌｏｃ［ｋ］≦１０２３を満たす。）が決定される必要がある。詳しくは、非特許文献１に記載されたように、オーディオエンコーダ２から出力される非トーン性スペクトルのデータは、ブロック浮動小数点ユニットｂｕ毎に与えられたスケールファクタのインデックスｓｆ＿ｉｎｄｅｘ［ｂｕ］と、量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］と、インデックスｉで表される各スペクトル成分の量子化値ＱＳ［ｉ］とを含む。また、オーディオエンコーダ２から出力されるトーン性成分のデータは、周波数スペクトル全体におけるｋ番目のトーン性成分の開始ロケーションｃｌｏｃ［ｋ］と、トーン性成分の帯域幅ｃｗｉｄ［ｋ］と、トーン性成分のスケールファクタのインデックスｃｓｆ［ｋ］と、トーン性成分の量子化ステップ数のインデックスｃｓｔｅｐ［ｋ］と、ｋ番目のトーン性成分に属するｊ番目のスペクトル成分の量子化値ＱＳ［ｋ，ｊ］（０≦ｊ≦ｃｗｉｄ［ｋ］−１）とを含む。
【００７７】
周波数領域ビット割り当て部１７は、さらに、複数のトーン性成分が検出された場合に、これらのトーン性成分を所定個数のトーン性成分シーケンスに分離する。トーン性成分シーケンスとは、符号化効率を向上させるために、複数のトーン性成分を、トーン性成分の帯域幅ｃｗｉｄ［ｋ］や、トーン性成分の量子化ステップ数のインデックスｃｓｔｅｐ［ｋ］などの属性によってグループ化するときの単位である。１つのトーン性成分シーケンスｃｓでは、トーン性成分の帯域幅ｃｗｉｄ［ｋ］及び量子化ステップ数のインデックスｃｓｔｅｐ［ｋ］は一定である。
【００７８】
周波数領域ビット割り当て部１７におけるトーン性成分の検出及び分離は、選択されたトーン性成分を、所定個数（ｃｏｍｐｏｓｅｑ＿ｎｕｍとして知られる。）のトーン性成分シーケンスにグループ分けする際における柔軟性を与える。言い換えると、複数のトーン性成分を、トーン性成分の帯域幅データや、トーン性成分の量子化ステップ数などの属性によってトーン性成分シーケンスにグループ化して符号化するときに自由度が存在し、トーン性成分シーケンスへのグループ化においては、様々な態様が可能である。本実施形態で、各トーン性成分シーケンスは、当該トーン性成分シーケンスに属するすべてのトーン性成分が、１つの量子化ステップ数のインデックスｃｓｔｅｐ［ｃｓ］（本願明細書では、シーケンス量子化ステップ数のインデックスという。ここで、ｃｓはトーン性成分シーケンスのインデックスである。）と１つの成分の帯域幅（ｃｗｉｄ［ｃｓ］として知られる。）とを共用するように特定される。
【００７９】
本実施形態に係る処理の方針は、上述のビットストリームの要素であって、周波数領域ビット割り当て部１７からビットストリームマルチプレクサ２０に出力されるサイド情報（すなわち、ｃｌｏｃ［ｋ］、ｃｏｍｐｏｓｅｑ＿ｎｕｍ、ｃｓｔｅｐ［ｃｓ］及びｃｗｉｄ［ｃｓ］）を決定することにある。さらに、本処理は、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、これらのサイド情報を過度に増加させることなく、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することを目的としている。
【００８０】
前述したように、トーン性成分を含む信号に対して、トーン性成分符号化ツールがコーデック又は符号化器に設けられている場合、こうしたツールはビット割り当てを改善するために使用される。このツールが使用されると、余分なビットストリームの要素を必要とするようになるので、スペクトル全体におけるすべてのトーン性成分に対して無差別に適用されるべきではない。まずは、ビットの多大な節約をもたらすことが期待されるトーン性成分を検出するための基準が作られる必要がある。この検出の原理は、別個に符号化するためにトーン性成分が抽出された後では音質に対するそれらトーン性成分の寄与に関する限り無視できるようになるトーン性成分を、ブロック浮動小数点ユニットから捜し出すことにある。
【００８１】
検出されたトーン性成分は強度において差を有する可能性もあり、そのため、そのトーン性成分が２つ又は複数の「シーケンス」に分割されかつ各シーケンスに異なる量子化ステップ数が与えられれば、ビットのさらなる節約が達成されるであろう。複数のシーケンスに分割することによって導入される余分なビットストリームの要素をモニタリングしながら、２つ又は複数のシーケンスの必要性を決定するための基準が設定される必要がある。
【００８２】
また、節約されたビットは、トーン性成分に属するスペクトル成分とその他のスペクトル成分との間で共用される必要がある。この共用するための処理は、過度の複雑さを課すものであってはならない。
【００８３】
次に、周波数領域ビット割り当て部１７における周波数領域ビット割り当て処理について、図４乃至図７のフローチャートを参照して説明する。
【００８４】
図４は、図２の周波数領域ビット割り当て部１７によって実行される周波数領域ビット割り当て処理を示すフローチャートである。図４は、本発明に係る実施形態の主要な処理を４つのモジュールに分解して示した図である。周波数領域ビット割り当て部１７は、最初に、ステップＳ１で量子化ステップ数の前置割り当て処理を実行し、ここでは、各ブロック浮動小数点ユニットに対して、入力されるディジタルオーディオ信号の周波数スペクトル全体のための割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように、準備的な量子化ステップ数の割り当てを実行する。周波数領域ビット割り当て部１７は、次いで、ステップＳ２でトーン性成分検出処理を実行し、ここでは、準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きい（本実施形態では、０より大きい）スペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出する。周波数領域ビット割り当て部１７は、ステップＳ３でトーン性成分ビット割り当て処理を実行し、ここでは、検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、計算されたビットの使用量を割り当てビットのビット数に対して比較したときに余剰のビットが存在すると判断された場合は、余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行する。ステップＳ３では、ビットの節約のために、トーン性成分シーケンスを検出する（後述）。最後に、周波数領域ビット割り当て部１７は、ステップＳ４で量子化ステップ数の後置割り当て処理を実行し、ここでは、余剰のビットのうちでステップＳ３を実行した後で残っているビットを用いて、残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する。
【００８５】
図４のステップＳ１における量子化ステップ数の前置割り当て処理について詳細に説明する。このステップでは、入力されるデータ及び出力されるデータとして、次の表のパラメータを含む。
【００８６】
【表３】
2005265865.tif 000005
【００８７】
本発明に係る実施形態の処理の最初のモジュールとして、ステップＳ１の量子化ステップ数の前置割り当て処理では、各ブロック浮動小数点ユニットに対するスケールファクタのインデックスｓｆ＿ｉｎｄｅｘ［ｂｕ］と量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］との準備的な値のセットを導出する。このステップでは、トーン性成分の存在は考慮されず、当業者に知られている一般的な量子化ステップ数の割り当て方法が適用可能である。例えば、特許文献２に記載のビット割り当て方法に従って、この前置割り当て処理を実行してもよい。
【００８８】
スケールファクタのインデックスｓｆ＿ｉｎｄｅｘ［ｂｕ］は、数３を参照して上で概説した方法によって導出されることが可能である。オーディオ符号化の技術分野には、スケールファクタについてのいくつかの定義が存在するが、本発明に係る実施形態の目的に従い、スケールファクタは、ブロック浮動小数点ユニット内におけるスペクトル成分ｓｐｅｃ［ｉ］の絶対値の最大値に比例する必要がある。
【００８９】
量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］を導出するためには、多くのビット割り当て方法が使用可能である。一般に、量子化ステップ数は、ある程度は、ブロック浮動小数点ユニット内の各スペクトル成分の強度に対して比例する必要がある。しかしながら、ビット割り当てを管理するためには、大きな強度のブロック浮動小数点ユニット（すなわち大きな強度のスペクトル成分を含むブロック浮動小数点ユニット）によって「マスキング」されると思われる当該大きな強度のブロック浮動小数点ユニットの近傍のブロック浮動小数点ユニットに対しては、より少ない量子化ステップ数が割り当てられるように、ヒトの聴覚系の音響心理学モデルも利用されるべきである。ビット割り当ての処理方法に関する詳細事項は、当業者に知られている一般的な方法に従うことが可能である。
【００９０】
量子化ステップ数の前置割り当て処理は、入力されるディジタルオーディオ信号の周波数スペクトル全体のために割り当てられた所定ビット数の割り当てビットを用いて、ビット不足を起こさずに追加の量子化ステップ数を付加することができなくなるまで実行される必要がある。符号化のために与えられた所定のビット数に対してビットが余るか不足するかを示すバランスを、ビットバランスという。以後、本願明細書において、本アルゴリズムのまさにこの段階における「ビットバランス」であって、シンタックス的に有効なフレームを生成するために必要な様々なビットストリームの要素（ジョイントステレオ処理部１４−１乃至１４−４、利得制御部１５−１乃至１５−４などの他の構成要素からのサイド情報を含む）において費やされるすべてのビット数を算入するように考慮したうえでの「ビットバランス」を表す包括的な変数として、残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓを使用する。残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓを計算するための詳細事項などは、当業者に知られている一般的な方法に従うことが可能である。本実施形態において、残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓは、余剰のビットが存在すれば正であり、ビット不足であれば負である。
【００９１】
次に、図４のステップＳ２におけるトーン性成分検出処理について詳細に説明する。このステップでは、入力されるデータ及び出力されるデータとして、次の表のパラメータを含む。
【００９２】
【表４】
2005265865.tif 000006
【００９３】
このステップＳ２及び次のステップＳ３の目的は、トーン性成分の検出及び分離を実行する周波数領域ビット割り当て部１７を使用することで、貴重なビット数のより効果的な分配を達成することにある。背景技術で説明したように、トーン性成分の検出及び分離を利用したオーディオ符号化を実行する際には、ビットストリームの要素へのオーバーヘッドが余分にかかり、よって、本発明者らは、あるブロック浮動小数点ユニットに対してトーン性成分符号化と非トーン性スペクトル符号化とが互いに排他的である場合にのみビットの節約が達成可能であると考えている。言い換えると、本実施形態では、あるブロック浮動小数点ユニットにおいていくつかの顕著なトーン性のスペクトル成分が存在し、かつ当該ブロック浮動小数点ユニットの残りの非トーン性のスペクトル成分の量子化値が０であってこれら非トーン性のスペクトル成分の符号化が実質的には実行されない場合においてのみ、当該顕著なスペクトル成分はトーン性成分として選び出される。また、非トーン性のスペクトル成分の量子化値が０であれば、これらのスペクトル成分を示すデータは実質的には伝送されることもない。この原理に基づいて、トーン性成分の検出は、個々のブロック浮動小数点ユニットを基準として実行される必要がある。あるブロック浮動小数点ユニットは、先行するステップＳ１で導出された量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］を参照してこのインデックスで表される量子化ステップ数を用いて符号化されたときに、そのスペクトル成分の大部分が０に量子化される場合には、トーン性成分符号化に適していると考えられる。言い換えると、ブロック浮動小数点ユニット全体を符号化しないことによって節約されるビット数が、いくつかの顕著な非ゼロのスペクトル成分をトーン性成分として符号化する場合に費やされるビット数を上回るように、トーン性成分符号化を実行する対象として選択されるスペクトル成分の総数はブロック浮動小数点ユニットのサイズに比べて少ない必要がある。
【００９４】
図５は、図４のサブルーチンであるステップＳ２のトーン性成分検出処理を示すフローチャートである。処理を開始すると、図５のステップＳ１１では、ブロック浮動小数点ユニットのインデックスｂｕを０に初期化する。このステップではまた、周波数スペクトル全体におけるトーン性成分の総数を表す新たな変数ＴＮＣを０に設定する。ステップＳ１２では、現在のブロック浮動小数点ユニットｂｕにおけるトーン性成分の総数を表す変数ＴＮＣ＿ｂｕを０にリセットする。ステップＳ１３では、トーン性成分検出が適用される前に、現在のブロック浮動小数点ユニットが少なくとも１つの非ゼロの量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］を有することを保証する。ステップＳ１３がＹＥＳのとき（すなわち、現在のブロック浮動小数点ユニットに非ゼロの量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］が存在しないとき）には、ステップＳ２３に進む。ステップＳ１３がＮＯの場合、ステップＳ１４に進む。ステップＳ１４ではブロック浮動小数点ユニットのサイズを計算し、後の比較のために、その値を変数ｓｉｚｅ＿ｂｕとして対応するレジスタ（図示せず。）に記憶する。このステップではまた、ブロック浮動小数点ユニットにおける最初のスペクトル成分のロケーションＦｉｒｓｔＳｐｅｃ［ｂｕ］を指示するように、スペクトル成分のインデックスｉを初期化する。
【００９５】
ステップＳ１５は、量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］で表される量子化ステップ数が適用される結果として、スペクトル成分ｓｐｅｃ［ｉ］が０に量子化されるか否かを１つずつチェックする。ステップＳ１５がＹＥＳであるとき、ステップＳ１８において、次のスペクトル成分ｓｐｅｃ［ｉ］が処理されるようにインデックスｉを１だけインクリメントする。ステップＳ１５がＮＯであるときは、インデックスｉをレジスタ（図示せず。）に記憶することによって潜在的なトーン性成分の開始ロケーションをマーキングする。すなわち、ステップＳ１６において、この潜在的なトーン性成分の開始ロケーションを表すインデックスｉを変数ｃｌｏｃ［ＴＮＣ］として対応するレジスタに記憶し、変数ＴＮＣ及びＴＮＣ＿ｂｕを共に１だけインクリメントする。
【００９６】
また、トーン性成分の帯域幅を決定することも必要である。処理を簡単化するために、本実施形態では、この帯域幅を所定の値ＦＩＸＥＤ＿ＴＯＮＥ＿ＷＩＤＴＨで固定するこに決定した。このことは、各トーン性成分が、正確に同じ個数のスペクトル成分を含むことを意味する。この決定の結果として、ステップＳ１７では、次のトーン性成分を検索するために、所定値ＦＩＸＥＤ＿ＴＯＮＥ＿ＷＩＤＴＨだけインデックスｉをインクリメントする。０に量子化されるか否かの検索は、ステップＳ１９に示されたように、インデックスｉがブロック浮動小数点ユニットにおける最後のスペクトル成分ＬａｓｔＳｐｅｃ［ｂｕ］に到達するまで反復され、最後のスペクトル成分ＬａｓｔＳｐｅｃ［ｂｕ］に到達した時点で終了する。
【００９７】
ステップＳ１９で、インデックスｉがブロック浮動小数点ユニットｂｕにおける最後のスペクトル成分ＬａｓｔＳｐｅｃ［ｂｕ］に到達したと判断されると、処理はステップＳ２０に進み、このとき、変数ＴＮＣ＿ｂｕは、現在のブロック浮動小数点ユニットｂｕにおいて発見された潜在的なトーン性成分の総数を含む。ステップＳ２０において、この値は、ステップＳ１４で計算された変数ｓｉｚｅ＿ｂｕの値と比較される。Ｎが１６以上の予め決められた定数であるとして、変数ＴＮＣ＿ｂｕが（ｓｉｚｅ＿ｂｕ／Ｎ）より大きい場合（ステップＳ２０がＹＥＳの場合）には、ビットの節約を達成できないものとみなし、よって、ステップＳ２３による次のブロック浮動小数点ユニットの処理に進む前に、ステップＳ２１で、現在のブロック浮動小数点ユニットにおいて検出されたすべての潜在的なトーン性成分を放棄し、次いで、ステップＳ２２において、変数ＴＮＣをその以前の値に戻す。これに対して、変数ＴＮＣ＿ｂｕが（ｓｉｚｅ＿ｂｕ／Ｎ）以下である場合（ステップＳ２０がＮＯの場合）には、ブロック浮動小数点ユニットｂｕ内で発見された潜在的なトーン性成分は実際にトーン性成分として識別される。ステップＳ２０がＮＯの場合には、すべての潜在的なトーン性成分は変数ｃｌｏｃ［ＴＮＣ］によって既にマーキングされているので、ステップＳ２３より前に追加の処理は必要とされない。以後、上述の条件を満たすブロック浮動小数点ユニットを「トーン性ブロック浮動小数点ユニット」という。ステップＳ２４の判断処理を実行することによって、符号化されるべきブロック浮動小数点ユニットのインデックスの最大値ｍａｘ＿ｂｆｕｎｉｔ以下のインデックスｂｕを有する、すべてのブロック浮動小数点ユニットが処理されることを保証する。
【００９８】
図８（ａ）及び（ｂ）は、３２個のスペクトル成分（インデックスｉで示される）にてなるブロック浮動小数点ユニットに対するトーン性成分検出処理の一例を示す。図８（ａ）は、周波数領域ビット割り当て部１７によって、トーン性成分の検出及び分離が適応されるものと判断されるブロック浮動小数点ユニットを示す図であり、図８（ｂ）は、周波数領域ビット割り当て部１７によって、トーン性成分の検出及び分離が適応されないものと判断されるブロック浮動小数点ユニットを示す図である。ここでは、トーン性成分の帯域幅は４（すなわち、連続する４個のスペクトル成分を含む。）で固定されている。図８（ａ）及び（ｂ）に示されようにブロック浮動小数点ユニットのサイズが３２であり、またステップＳ２０の定数Ｎを１６であるとすると、このブロック浮動小数点ユニットは最大で３２／１６＝２個までのトーン性成分を有することが可能である。図８（ａ）では、２個の潜在的なトーン性成分Ｔ１及びＴ２が存在するので、これらのトーン性成分Ｔ１及びＴ２は、トーン性成分の候補として次のトーン性成分ビット割り当て処理のステップＳ３で処理される。一方、図８（ｂ）では、３個の潜在的なトーン性成分Ｔ３乃至Ｔ５が存在するので、このブロック浮動小数点ユニットに対してトーン性成分の検出及び分離は適用されない。
【００９９】
このステップＳ２での処理が終了するまでに、いくつかのトーン性成分が発見されて記録されている可能性があるが、この時点では実際の符号化はまだ遂行されない。次のステップＳ３では、これら発見されたトーン性成分が２つの「トーン性成分シーケンス」に分割されるべきか否かを決定するとともに、これらを符号化する結果として節約される、又は浪費されるビット数を正確に計算する。トーン性成分の符号化を適用するか否かについての最終決定は、この計算の後に初めて行うことができる。
【０１００】
次に、図４のステップＳ３におけるトーン性成分ビット割り当て処理について詳細に説明する。このステップでは、入力されるデータ及び出力されるデータとして、次の表のパラメータを含む。
【０１０１】
【表５】
2005265865.tif 000007
【０１０２】
このステップＳ３の目的は、ステップＳ２のトーン性成分検出処理において検出されたトーン性成分を符号化することによりビットが節約され得るか否かを決定することにある。検出されたトーン性成分と、残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに、上述の残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓが正である、すなわち余剰のビットが存在すると判断された場合は、この余剰のビットをトーン性成分と残りの非トーン性の周波数スペクトルとで共用するように、トーン性成分に対する量子化ステップ数の割り当てを実行する。まず最初に、これは、複数のトーン性成分が検出された場合に、検出された各トーン性成分をいくつかのトーン性成分シーケンス（その個数は、ｃｏｍｐｏｓｅｑ＿ｎｕｍで表され、そのそれぞれに対して、インデックスｃｓが付与される。）に分割して、各トーン性成分シーケンスｃｓにおけるトーン性成分に共通のシーケンス量子化ステップ数のインデックスｃｓｔｅｐ［ｃｓ］及びトーン性成分の帯域幅ｃｗｉｄ［ｃｓ］を共用させる方が好ましいか否かを決定する。
【０１０３】
処理の簡単化のために、各トーン性成分の帯域幅ｃｗｉｄ［ｃｓ］が所定値ＦＩＸＥＤ＿ＴＯＮＥ＿ＷＩＤＴＨで固定されることは、先の項で既に述べた。本実施形態では、処理をさらに簡単化するために、トーン性成分シーケンスの総数ｃｏｍｐｏｓｅｑ＿ｎｕｍを１又は２に制限する。この制限は、処理の複雑さを軽減する上で合理的かつ重要であると思われ、かつこれは、ビットストリームの要素に関連付けられた、トーン性成分シーケンス毎のビット数を考慮したものである。
【０１０４】
図６は、図４のサブルーチンであるステップＳ３のトーン性成分ビット割り当て処理を示すフローチャートである。図６のフローチャートでは、このサブルーチン内での処理を実行するために、ステップＳ３１において、各ブロック浮動小数点ユニットｂｕ毎に与えられたスケールファクタのインデックスｓｆ＿ｉｎｄｅｘ［ｂｕ］から、すべてのトーン性成分に対するスケールファクタのインデックスｃｓｆ［ｋ］を検索する。これ以後の処理では、トーン性成分に対するスケールファクタのインデックスがｃｓｆ［ｋ］で表され、残りの非トーン性スペクトルに属するスペクトル成分に対するスケールファクタのインデックスがｓｆ＿ｉｎｄｅｘ［ｂｕ］で表される。ステップＳ３１において、さらに、検索して取得されたスケールファクタのインデックスｃｓｆ［ｋ］のうちで、最大のスケールファクタのインデックスｍａｘ＿ｃｓｆと、最小のスケールファクタのインデックスｍｉｎ＿ｃｓｆとを突きとめる。ステップＳ３２において、インデックスｍａｘ＿ｃｓｆ及びｍｉｎ＿ｃｓｆの両者の差をチェックする。この差が所定のしきい値ＣＯＭＳＥＱ＿ＴＨＲＥＳよりも大きいならば、このことは、トーン性成分間のトーン強度に大きな差のあることを意味し、よって、ステップＳ３３において、２つのトーン性成分シーケンスを用いるように指定する。ステップＳ３４において、ステップＳ３１で検索して取得されたインデックスｍｉｎ＿ｃｓｆ及びｍａｘ＿ｃｓｆの平均値より大きなスケールファクタのインデックスを有するトーン性成分を、第１のトーン性成分シーケンスｃｏｍｐｏｓｅｑ［１］になるようにグループ分けし、残りのトーン性成分を第２のトーン性成分シーケンスｃｏｍｐｏｓｅｑ［０］にグループ分けする。インデックスｍａｘ＿ｃｓｆとｍｉｎ＿ｃｓｆとの差がしきい値以下であれば、ステップＳ３５で、単一のトーン性成分シーケンスを用いるように指定し、ステップＳ３６で、すべてのトーン性成分を単一のトーン性成分シーケンスｃｏｍｐｏｓｅｑ［０］にまとめる。以下の説明では、トーン性成分シーケンスを表す記号として、ｃｏｍｐｏｓｅｑ［ｃｓ］を用いる（ただしｃｓはトーン成分シーケンス番号で、ｃｓ∈｛０，１｝とする）。
【０１０５】
あるトーン性成分シーケンスに属する各トーン性成分は、量子化ステップ数の前置割り当てステップＳ１において導出された以前の量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］の値を有するブロック浮動小数点ユニットを起源とするので、ステップＳ３７において、シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［ｃｓ］の初期値を、トーン性成分シーケンスｃｓ内のすべてのトーン性成分の量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］の最大値に設定する。ステップＳ３８において、ステップＳ３７で設定されたシーケンス量子化ステップ数のインデックスｃｓｔｅｐ［ｃｓ］は、トーン性成分シーケンスｃｓに含まれる各トーン性成分の間で共用するように設定され、次いで、トーン性成分のすべてのビットストリームの要素及びハフマン表現を考慮して、残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓを計算する。残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓの計算は、各トーン性成分シーケンス内の各トーン性成分が、インデックスｃｓｔｅｐ［ｃｓ］で表されるシーケンス量子化ステップ数を用いて量子化されたものとして、実行される必要がある。また、残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓの計算は、トーン性ブロック浮動小数点ユニットの量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］をゼロに設定することを考慮する必要がある。
【０１０６】
ステップＳ３９は、残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓの値が正であるか否かをチェックする。それが正でなければ、トーン性成分符号化はビットの節約をもたらすことはなく、従って、ステップＳ４２に進むことで処理を中止する。ステップＳ３９において残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓの値が正であれば、トーン性成分を分離して符号化することによってビットの節約が達成される。この時点で、処理はステップＳ４１へと分岐し、トーン性ブロック浮動小数点ユニットの量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］をゼロにリセットして処理を終了することが可能である。しかしながら、本発明者らは、節約されたビットが、トーン性成分に属するスペクトル成分と残りの非トーン性スペクトルに属するスペクトル成分とで共用される場合に、より優れた音質が実現可能であるということを発見している。従って、ステップＳ３９がＹＥＳのとき、ステップＳ４１に進む前に、ステップＳ４０において、節約されたビットをトーン性成分信号と残りの非トーン性のスペクトル信号とで共用するために、節約されたビットの割り当て処理を実行する。ビットを共用する簡単な方法は、シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［ｃｓ］の値を、これらが当該量子化ステップ数のインデックスのキャップ値（上限値）に到達していない場合に、少なくとも１だけインクリメントするというものである。トーン性成分シーケンスが２つ存在する場合は、キャップ値ＣＡＰ＿１及びＣＡＰ＿２（ここで、ＣＡＰ＿１＞ＣＡＰ＿２が成り立つものとする。）がそれぞれ、各々シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［１］及びｃｓｔｅｐ［０］に課される。ただ１つのトーン性成分シーケンスが存在する場合には、キャップ値ＣＡＰ＿１が課される。
【０１０７】
図７は、図６のサブルーチンであるステップＳ４０の節約されたビットの割り当て処理を示すフローチャートである。ステップＳ５１では、何個のトーン性成分シーケンスがインスタンスとして生成されているかをチェックする。２つのトーン性成分シーケンスが存在する場合には、ステップＳ５３において、より大きな信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数のインデックスｃｓｔｅｐ［１］がそのキャップ値ＣＡＰ＿１に達しているか否かをチェックする。シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［１］がそのキャップ値ＣＡＰ＿１に達している場合には、シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［１］の値を確定し、次にステップＳ５８で、より小さな信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数のインデックスｃｓｔｅｐ［０］について考察する。ステップＳ５３で、シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［１］がキャップ値ＣＡＰ＿１に達していなければ、ステップＳ５４でシーケンス量子化ステップ数のインデックスｃｓｔｅｐ［１］を１だけインクリメントし、次いで、ステップＳ５５で、インクリメントされた後のシーケンス量子化ステップ数のインデックスｃｓｔｅｐ［１］に基づいて符号化される場合の、残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓを再計算する。ステップＳ５６において、再計算された残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓが正であるか否かを判断し、このステップＳ５６がＮＯの場合、すなわち、ステップＳ５４のインクリメントによりビット不足が生じれば、ステップＳ５７において、ステップＳ５４のインクリメントを取り消して、シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［１］の値を確定する。ステップＳ５６において、依然として余剰のビットが存在する場合には、又はステップＳ５７でビット不足が解消された後は、ステップＳ５８で、より小さな信号強度を有するトーン性成分を含むトーン性成分シーケンスについて考察する。
【０１０８】
ステップＳ５８乃至Ｓ６２は、トーン性成分シーケンスｃｏｍｐｏｓｅｑ［１］に対してステップＳ５３乃至Ｓ５７で行ったものと同様の処理動作をトーン性成分シーケンスｃｏｍｐｏｓｅｑ［０］に対して実行する。ステップＳ５８において、より小さな信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数のインデックスｃｓｔｅｐ［０］がそのキャップ値ＣＡＰ＿２に達しているか否かをチェックする。シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［０］がそのキャップ値ＣＡＰ＿２に達している場合には、シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［０］の値を確定し、図６のステップＳ４１に進む。ステップＳ５８で、シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［０］がキャップ値ＣＡＰ＿１に達していなければ、ステップＳ５９でシーケンス量子化ステップ数のインデックスｃｓｔｅｐ［０］を１だけインクリメントし、次いで、ステップＳ６０で、インクリメントされた後のシーケンス量子化ステップ数のインデックスｃｓｔｅｐ［０］に基づいて符号化される場合の、残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓを再計算する。ステップＳ６１において、再計算された残りの利用可能なビット数ａｖａｉｌ＿ｂｉｔｓが正であるか否かを判断し、このステップＳ６１がＮＯの場合、ステップＳ６２において、ステップＳ５９のインクリメントを取り消し、シーケンス量子化ステップ数のインデックスｃｓｔｅｐ［０］の値を確定する。ステップＳ６１において、依然として余剰のビットが存在する場合には、又はステップＳ６２でビット不足が解消された後は、図６のステップＳ４１に進む。
【０１０９】
同様に、ステップＳ５１において、ただ１つのトーン性成分シーケンスのみが存在するということを確認すると、処理はステップＳ５２へ分岐し、ここで同様の一連の処理動作が実行される。
【０１１０】
最後に、処理はステップＳ４１に合流し、ここでトーン性ブロック浮動小数点ユニットの量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］が０に設定され、このステップＳ３の処理は終了する。ここで、０にリセットする理由は、トーン性ブロック浮動小数点ユニット内では、トーン性成分以外のスペクトル成分の量子化値は０であり、トーン性成分の量子化値はシーケンス量子化ステップ数ｃｓｔｅｐとして伝送されるので、当該トーン性ブロック浮動小数点ユニット内のスペクトル成分の量子化値を伝送する必要がないからである。
【０１１１】
最後に、図４のステップＳ４における量子化ステップ数の後置割り当て処理について詳細に説明する。このステップでは、入力されるデータ及び出力されるデータとして、次の表のパラメータを含む。
【０１１２】
【表６】
2005265865.tif 000008
【０１１３】
このモジュールの目的は、ビット不足を起こさずに量子化ステップ数をさらにインクリメントすることができなくなるまで、残りのブロック浮動小数点ユニットの量子化ステップ数のインデックスｓｔｅｐ［ｂｕ］をさらにインクリメントすることにより、トーン性成分符号化で節約されたビットを利用することにある。量子化ステップ数の前置割り当て処理に利用されたビット割り当て方法はここでも使用可能であるが、トーン性ブロック浮動小数点ユニットに対しては量子化ステップ数は付与されてはならない。
【０１１４】
以上説明したように、本実施形態の周波数領域ビット割り当て処理によれば、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することができる。本実施形態の周波数領域ビット割り当て処理は、高速での実行が可能であるにも拘わらず、優れた音質を実現することができる。
【０１１５】
また、本発明に係る実施形態として、以上説明した周波数領域ビット割り当て処理を実行するためのコンピュータプログラムや、当該コンピュータプログラムが記録された記録媒体を提供することができる。さらに、本発明に係る実施形態として、以上説明した周波数領域ビット割り当て処理を実行することによって符号化されたディジタルオーディオ信号を記録した記録媒体を提供することができる。
【０１１６】
以上説明したように、本発明に係る実施形態によれば、ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て方法が提供される。ここで、上記周波数スペクトルは、表１に記載のように、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定される。また、上記オーディオ符号化のためのビット割り当て方法は、図４のステップＳ１に記載のように、上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する量子化ステップ数の前置割り当て処理と、図４のステップＳ２に記載のように、上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出処理と、図４のステップＳ３に記載のように、上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当て処理と、図４のステップＳ４に記載のように、上記余剰のビットのうちで上記トーン性成分ビット割り当てステップを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する量子化ステップ数の後置割り当て処理とを含むことを特徴とする。
【０１１７】
上記トーン性成分検出ステップ処理のステップＳ２はさらに、図５のステップＳ１５乃至Ｓ１９に記載のように、上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認ステップと、図５のステップＳ１５乃至Ｓ１７に記載のように、非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別ステップと、図５のステップＳ２０に記載のように、当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別ステップと、図５のステップＳ１６に記載のように、上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別ステップとを含む。
【０１１８】
上記トーン性成分識別ステップにおいて、図５のステップＳ１７に記載のように、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含む。
【０１１９】
上記トーン性成分検出ステップにおいて、図５のステップＳ２０に記載のように、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数である。また、上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、表１に記載のように、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定される。
【０１２０】
上記トーン性成分ビット割り当て処理のステップＳ３はさらに、図６のステップＳ３２に記載のように、複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、上記基準が満たされない場合に、図６のステップＳ３５及びＳ３６に記載のように、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる１つのトーン性成分シーケンスとするトーン性成分シーケンス設定ステップと、図６のステップＳ３７に記載のように、上記１つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定ステップと、ステップＳ３８に記載のように、上記１つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップとを含む。ステップＳ３はさらに、図６のステップＳ４２に記載のように、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、図７のステップＳ５２がＮＯである場合、すなわち、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、図７のステップＳ５９乃至Ｓ６２に記載のように、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定ステップとを含む。ステップＳ３はさらに、図６のステップＳ４１に記載のように、上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含む。
【０１２１】
上記トーン性成分シーケンス数決定ステップは、図６のステップＳ３１に記載のように、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、上記トーン性成分シーケンス数決定ステップにおける上記基準は、ステップＳ３２に記載のように、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づく。
【０１２２】
上記トーン性成分ビット割り当て処理のステップＳ３はさらに、図６のステップＳ３２に記載のように、複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは２種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、図６の上記基準が満たされる場合に、ステップＳ３３及びＳ３４に記載のように、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる２つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定ステップと、図６のステップＳ３７に記載のように、上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定ステップと、図６のステップＳ３８に記載のように、上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップとを含む。ステップＳ３はさらに、図６のステップＳ４２に記載のように、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、図７のステップＳ５３及びＳ５８がＮＯである場合、すなわち、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、図７のステップＳ５４乃至Ｓ５７とステップＳ５９乃至Ｓ６２に記載のように、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記２つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記上限値よりも小さい上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定ステップとを含む。ステップＳ３はさらに、図６のステップＳ４１に記載のように、上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含む。
【０１２３】
上記トーン性成分シーケンス数決定ステップは、図６のステップＳ３１に記載のように、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、上記トーン性成分シーケンス数決定ステップにおいて、ステップＳ３２に記載のように、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づく。
【０１２４】
図６のステップＳ３４に記載のように、上記トーン性成分シーケンス設定ステップにおいて、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分は、第１のトーン性成分シーケンスにグループ分けされ、残りのトーン性成分は第２のトーン性成分シーケンスにグループ分けされる。
【０１２５】
上記シーケンス量子化ステップ数変更確定ステップにおいて、上記２つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、図７のステップＳ５４に記載のように、より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、当該シーケンス量子化ステップ数の値を最初に増大する。また、ステップＳ５４に記載のように、上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう１つの上記シーケンス量子化ステップ数の値がもう１つの上記上限値より小さいならば、当該もう１つのシーケンス量子化ステップ数の値を最初に増大する。
【０１２６】
図６のステップＳ３７に記載のように、上記シーケンス量子化ステップ数設定ステップにおいて、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一である。
【０１２７】
図６のステップＳ３８と、図７のＳ５５及びＳ６０に記載のように、上記ビット使用量計算ステップと、上記シーケンス量子化ステップ数変更確定ステップにおける上記ビットの使用量の再計算とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて実行される。
【産業上の利用可能性】
【０１２８】
以上説明したように、トーン性成分の検出及び分離を実行することによって符号化する符号化方法及び装置によれば、特定の周波数にエネルギーが集中したトーン性成分を検出することができるだけでなく、符号化のためのビットの節約を結果的にもたらす可能性のあるトーン性成分を選択することができる。節約されたビットをトーン性成分信号と残りの非トーン性のスペクトル信号とで共用することにより、この符号化方法及び装置は、トーン信号の音質を大幅に向上させることができることがわかる。従って、本発明によれば、オーディオ符号化のための効率的かつ高品質のトーン性成分を検出して分離する符号化方法及び装置を提供することができる。本発明に係る実施形態の周波数領域ビット割り当て処理を採用したオーディオエンコーダ２は、特にＬＳＩに実装された場合に、高速で動作しながらもなおトーン信号のために優れた音質を実現することができる。
【図面の簡単な説明】
【０１２９】
【図１】本発明の一実施形態に係るミニディスク記録再生システムの構成を示すブロック図である。
【図２】図１のオーディオエンコーダ２の詳細構成を示すブロック図である。
【図３】（ａ）はトーン性成分の検出及び分離を用いないときの周波数領域の各スペクトル成分に対する量子化ステップ数の割り当てを示すグラフであり、（ｂ）は図２のオーディオエンコーダ２を用いてトーン性成分の検出及び分離を実行したときの周波数領域の各スペクトル成分に対する量子化ステップ数の割り当てを示すグラフである。
【図４】図２の周波数領域ビット割り当て部１７によって実行される周波数領域ビット割り当て処理を示すフローチャートである。
【図５】図４のサブルーチンであるステップＳ２のトーン性成分検出処理を示すフローチャートである。
【図６】図４のサブルーチンであるステップＳ３のトーン性成分ビット割り当て処理を示すフローチャートである。
【図７】図６のサブルーチンであるステップＳ４０の節約されたビットの割り当て処理を示すフローチャートである。
【図８】（ａ）は、図２の周波数領域ビット割り当て部１７によって、トーン性成分の検出及び分離が適応されるものと判断されるブロック浮動小数点ユニットを示す図であり、（ｂ）は、図２の周波数領域ビット割り当て部１７によって、トーン性成分の検出及び分離が適応されないものと判断されるブロック浮動小数点ユニットを示す図である。
【符号の説明】
【０１３０】
１…Ａ／Ｄコンバータ、
２…オーディオエンコーダ、
３…ミニディスク記録装置、
４…ミニディスク、
５…ミニディスク再生装置、
６…オーディオデコーダ、
７…Ｄ／Ａコンバータ、
１０…ＱＭＦ分割フィルタ、
１１…ローパスフィルタ、
１２…ハイパスフィルタ、
１３−１乃至１３−４…フィルタバンク、
１４−１乃至１４−４…ジョイントステレオ処理部、
１５−１乃至１５−４…利得制御部、
１６−１乃至１６−４…ＭＤＣＴ処理部、
１７…ビット割り当て部、
１８−１乃至１８−４…トーン性成分符号化器、
１９−１乃至１９−４…非トーン性スペクトル符号化器、
２０…ビットストリームマルチプレクサ。
【図１】
2005265865.tif 000009
【図２】
2005265865.tif 000010
【図３】
2005265865.tif 000011
【図４】
2005265865.tif 000012
【図５】
2005265865.tif 000013
【図６】
2005265865.tif 000014
【図７】
2005265865.tif 000015
【図８】
2005265865.tif 000016