(57)【特許請求の範囲】
【請求項１】
外部から受信される第１のフレームの周波数スペクトルデータを分析し、前記第１のフレームの最大周波数スペクトル絶対値を算出すること；
前記第１のフレームの最大周波数スペクトル絶対値及び以前に算出された第２のフレームの最大周波数スペクトル絶対値に基づいて前記第１のフレームの量子化に使用するための全帯域スケールファクターの初期値を設定すること；及び
前記の設定された全帯域スケールファクターの初期値に基づいて、前記第１のフレームの周波数スペクトルデータを量子化することを含み、
前記全帯域スケールファクターの初期値を設定することは、
特定の比較アルゴリズムを使用して、前記第１のフレームの最大周波数スペクトル絶対値を前記第２のフレームの最大周波数スペクトル絶対値と比較すること；及び
前記比較の結果値に対応する算出アルゴリズムを使用して、前記第１のフレームの量子化に使用するための全帯域スケールファクターの初期値を算出することを含むことを特徴とするオーディオ符号化器の量子化方法。
【請求項２】
前記第１のフレームの最大周波数スペクトル絶対値を算出することは、
前記第１のフレームの周波数スペクトルデータのうち絶対値が最も大きい部分の絶対値を算出することを含むことを特徴とする、請求項１に記載のオーディオ符号化器の量子化方法。
【請求項３】
前記第１のフレームの最大周波数スペクトル絶対値を前記第２のフレームの最大周波数スペクトル絶対値と比較することは、
前記第１のフレームの最大周波数スペクトル絶対値に２進ログを適用して第１の２進ログ値を算出すること；
前記第２のフレームの最大周波数スペクトル絶対値に２進ログを適用して第２の２進ログ値を算出すること；及び
前記第１の２進ログ値と前記第２の２進ログ値との差値を算出することを含むことを特徴とする、請求項１に記載のオーディオ符号化器の量子化方法。
【請求項４】
前記全帯域スケールファクターの初期値を設定することは、
前記第１の２進ログ値と前記第２の２進ログ値との差値に対応する算出アルゴリズムを抽出すること；及び
前記の抽出された算出アルゴリズムを使用して前記全帯域スケールファクターの初期値を算出することを含むことを特徴とする、請求項３に記載のオーディオ符号化器の量子化方法。
【請求項５】
前記算出アルゴリズムを抽出することは、
前記第１の２進ログ値と前記第２の２進ログ値との差値を少なくとも一つの定数値と比較することを含むことを特徴とする、請求項４に記載のオーディオ符号化器の量子化方法。
【請求項６】
前記全帯域スケールファクターの初期値を算出することは、
前記第２のフレームの全帯域スケールファクターの値、前記第１の２進ログ値から前記第２の２進ログ値を差し引いた値、特定の定数値のうち少なくともいずれか一つを使用して演算を行うことを含むことを特徴とする、請求項３に記載のオーディオ符号化器の量子化方法。
【請求項７】
前記の算出される前記第１のフレームの最大周波数スペクトル絶対値が０である場合、予め設定された定数値を前記第１のフレームの全帯域スケールファクターの初期値に設定することをさらに含むことを特徴とする、請求項１に記載のオーディオ符号化器の量子化方法。
【請求項８】
前記の量子化されたデータを符号化したデータの使用ビット数が予め設定された可用ビット数を超えないように全帯域スケールファクターを調整することをさらに含むことを特徴とする、請求項１に記載のオーディオ符号化器の量子化方法。
【請求項９】
前記全帯域スケールファクターを調整することは、
前記の量子化されたデータを符号化したデータの使用ビット数を計算すること；
前記の計算された使用ビット数と前記可用ビット数とを比較すること；及び
前記使用ビット数が前記可用ビット数を超える場合、前記全帯域スケールファクターを調整することを含むことを特徴とする、請求項８に記載のオーディオ符号化器の量子化方法。
【請求項１０】
前記可用ビット数から前記使用ビット数を差し引いた値が特定しきい値を超えないように前記全帯域スケールファクターを調整することをさらに含むことを特徴とする、請求項８に記載のオーディオ符号化器の量子化方法。
【請求項１１】
前記第１のフレームの周波数スペクトルデータの各周波数バンドの歪が前記各周波数バンドの許容歪を超えないように前記各周波数バンドに対応するバンドスケールファクターを調整することをさらに含むことを特徴とする、請求項１に記載のオーディオ符号化器の量子化方法。
【請求項１２】
外部から受信されるフレーム単位の周波数スペクトルデータを分析し、それぞれのフレームに対する最大周波数スペクトル絶対値を算出し、前記の算出された最大周波数スペクトル絶対値のフレーム間の変化度によって各フレームの全帯域スケールファクターの初期値を設定する初期値設定モジュール；及び
前記初期値設定モジュールによって設定された全帯域スケールファクターの初期値に基づいて量子化を行い、前記の量子化されたデータを符号化したデータの使用ビット数が予め設定された可用ビット数を超えないように全帯域スケールファクターを調整する少なくとも一つの機能モジュールを含み、
前記初期値設定モジュールは、現在のフレームの最大周波数スペクトル絶対値と以前のフレームの最大周波数スペクトル絶対値を算出し、前記現在のフレームの最大周波数スペクトル絶対値と以前のフレームの最大周波数スペクトル絶対値とを特定の比較アルゴリズムを使用して比較し、前記比較の結果値に対応する算出アルゴリズムを使用して前記全帯域スケールファクターの初期値を算出することを特徴とするオーディオ符号化器の量子化装置。
【請求項１３】
前記初期値設定モジュールは、前記現在のフレームの最大周波数スペクトル絶対値に２進ログを適用して第１の２進ログ値を算出し、前記以前のフレームの最大周波数スペクトル絶対値に２進ログを適用して第２の２進ログ値を算出した後、前記第１の２進ログ値と第２の２進ログ値との差値によって前記現在のフレームの全帯域スケールファクターの初期値を算出するための算出アルゴリズムを抽出することを特徴とする、請求項１２に記載のオーディオ符号化器の量子化装置。
【請求項１４】
前記少なくとも一つの機能モジュールは、
前記現在のフレームの全帯域スケールファクターの初期値に基づいて前記現在のフレームの周波数スペクトルデータを量子化する量子化モジュール；及び
前記量子化モジュールによって量子化されたデータを符号化したデータの使用ビット数が予め設定された可用ビット数を超えないように全帯域スケールファクターを調整する内部ループモジュールを含むことを特徴とする、請求項１２に記載のオーディオ符号化器の量子化装置。
【請求項１５】
前記内部ループモジュールは、前記可用ビット数と前記使用ビット数との差値が特定しきい値を超えないように前記全帯域スケールファクターを調整することを特徴とする、請求項１４に記載のオーディオ符号化器の量子化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオ符号化技術に関するものである。
【背景技術】
【０００２】
一般に、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）オーディオ符号化は、高品質及び高能率の符号化のためのＩＳＯ／ＩＥＣの標準方式である。ＭＰＥＧオーディオ符号化方法は、ＩＳＯ／ＩＥＣ  ＳＣ２９／ＷＧ１１に設置されたＭＰＥＧ内で動画符号化と並行して標準化された。ＭＰＥＧオーディオ符号化は、高い圧縮率を実現しながらも、主観的な音質の損失を最小化することに重点を置いた符号化標準である。
【０００３】
ＭＰＥＧオーディオ符号化は、多様な方式を使用して符号化中に生成される量子化雑音を聴取者が知覚できないようにする。例えば、ＭＰＥＧオーディオ符号化は、人間の知覚特性を反映し、知覚的重複性を除去することによって、符号化後にも良い音質を維持できるように心理音響モデルを使用する。心理音響モデルを使用するオーディオ符号化器は、オーディオ信号を聞く人間の聴覚特性を用いて人間が知覚しにくい詳細な情報は符号化時に省略することによって、符号量を節減し、高能率の圧縮を実現する。
【０００４】
心理音響モデルを使用するオーディオ符号化器は、人間が聞き取れる音の最小レベルである最小可聴限界（Ｔｈｒｅｓｈｏｌｄ  ｉｎ  Ｑｕｉｔｅ）、及びいずれかの音によって特定しきい値以下の小さい音が遮られる効果であるマスキング効果を用いる。例えば、心理音響モデルを使用するオーディオ符号化器は、人間が聞き取りにくい非常に低いか非常に高い周波数成分は符号化過程で除外することができ、いずれかの周波数成分によって遮られる周波数成分は本来より低い精度で符号化することもできる。
【０００５】
心理音響モデルを使用するオーディオ符号化器は、このような心理音響モデルを基盤にして計算される値を使用してデータの量子化及び符号化を行う。例えば、ＭＰＥＧオーディオ符号化器は、時間ドメインのオーディオデータを周波数ドメインのオーディオデータに変換した後、心理音響モデルモジュールを用いて各周波数バンド別最大許容雑音の量、すなわち、最大許容歪を求め、これに基づいて量子化及び符号化を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする技術的課題は、オーディオデータの量子化に使用するための全帯域スケールファクターの初期値を実際の全帯域スケールファクターの値と最大限近接するように予め設定し、量子化時のループ繰り返し回数を大幅に減少できる技術、システム及び装置を提供することにある。
【課題を解決するための手段】
【０００７】
このような技術的課題を解決するために、本発明の一側面では、オーディオ符号化器の量子化方法を提供する。前記オーディオ符号化器の量子化方法は、外部から受信される第１のフレームの周波数スペクトルデータを分析し、前記第１のフレームの最大周波数スペクトル絶対値を算出すること；前記第１のフレームの最大周波数スペクトル絶対値及び以前に算出された第２のフレームの最大周波数スペクトル絶対値に基づいて前記第１のフレームの量子化に使用するための全帯域スケールファクターの初期値を設定すること；及び前記の設定された全帯域スケールファクターの初期値に基づいて前記第１のフレームの周波数スペクトルデータを量子化することを含む。
【０００８】
前記第１のフレームの最大周波数スペクトル絶対値を算出することは、前記第１のフレームの周波数スペクトルデータのうち絶対値が最も大きい部分の絶対値を算出することを含むことができる。
【０００９】
前記全帯域スケールファクターの初期値を設定することは、特定の比較アルゴリズムを使用して、前記第１のフレームの最大周波数スペクトル絶対値を前記第２のフレームの最大周波数スペクトル絶対値と比較すること；及び前記比較の結果値に対応する算出アルゴリズムを使用して、前記第１のフレームの量子化に使用するための全帯域スケールファクターの初期値を算出することを含む。
【００１０】
前記第１のフレームの最大周波数スペクトル絶対値を前記第２のフレームの最大周波数スペクトル絶対値と比較することは、前記第１のフレームの最大周波数スペクトル絶対値に２進ログを適用して第１の２進ログ値を算出すること；前記第２のフレームの最大周波数スペクトル絶対値に２進ログを適用して第２の２進ログ値を算出すること；及び前記第１の２進ログ値と前記第２の２進ログ値との差値を算出することを含むことができる。
【００１１】
前記全帯域スケールファクターの初期値を設定することは、前記第１の２進ログ値と前記第２の２進ログ値との差値に対応する算出アルゴリズムを抽出すること；及び前記の抽出された算出アルゴリズムを使用して前記全帯域スケールファクターの初期値を算出することを含むこともできる。前記算出アルゴリズムを抽出することは、前記第１の２進ログ値と前記第２の２進ログ値との差値を少なくとも一つの定数値と比較することを含むことができる。
【００１２】
前記全帯域スケールファクターの初期値を算出することは、前記第２のフレームの全帯域スケールファクターの値、前記第１の２進ログ値から前記第２の２進ログ値を差し引いた値、特定の定数値のうち少なくともいずれか一つを使用して演算を行うことを含むことができる。
【００１３】
上述したオーディオデータの量子化方法は、前記の算出される前記第１のフレームの最大周波数スペクトル絶対値が０である場合、予め設定された定数値を前記第１のフレームの全帯域スケールファクターの初期値として設定することをさらに含むこともできる。
【００１４】
前記オーディオデータの量子化方法は、前記の量子化されたデータを符号化したデータの使用ビット数が予め設定された可用ビット数を超えないように全帯域スケールファクターを調整することをさらに含むこともできる。前記全帯域スケールファクターを調整することは、前記の量子化されたデータを符号化したデータの使用ビット数を計算すること；前記の計算された使用ビット数と前記可用ビット数とを比較すること；及び前記使用ビット数が前記可用ビット数を超える場合、前記全帯域スケールファクターを調整することを含むことができる。
【００１５】
前記オーディオデータの量子化方法は、前記可用ビット数から前記使用ビット数を差し引いた値が特定しきい値を超えないように前記全帯域スケールファクターを調整することをさらに含むこともできる。
【００１６】
前記オーディオデータの量子化方法は、前記第１のフレームの周波数スペクトルデータの各周波数バンドの歪が前記各周波数バンドの許容歪を超えないように前記各周波数バンドに対応するバンドスケールファクターを調整することをさらに含むこともできる。
【００１７】
一方、本発明の他の側面では、外部から受信される第１のフレームの周波数スペクトルデータの量子化に使用するための全帯域スケールファクターの初期値を設定する方法を提供する。前記方法は、前記第１のフレームのブロックタイプが前記第１のフレームの以前のフレームである第２のフレームのブロックタイプと異なっているかどうかを判断すること；及び前記第１のフレームのブロックタイプが前記第２のフレームのブロックタイプと異なっている場合、特定の定数値を前記全帯域スケールファクターの初期値として設定し、前記第１のフレームのブロックタイプが前記第２のフレームのブロックタイプと同一である場合、前記第１のフレーム及び第２のフレームの最大周波数スペクトル絶対値に基づいて前記全帯域スケールファクターの初期値を算出することを含むことができる。
【００１８】
一方、上述した本発明の技術的課題を解決するために、本発明の更に他の側面では、オーディオ符号化器の量子化装置を提供する。前記量子化装置は、外部から受信されるフレーム単位の周波数スペクトルデータを分析することによって、それぞれのフレームに対する最大周波数スペクトル絶対値を算出し、前記の算出された最大周波数スペクトル絶対値のフレーム間の変化度によって各フレームの全帯域スケールファクターの初期値を設定する初期値設定モジュール；及び前記初期値設定モジュールによって設定された全帯域スケールファクターの初期値に基づいて量子化を行い、前記の量子化されたデータを符号化したデータの使用ビット数が予め設定された可用ビット数を超えないように全帯域スケールファクターを調整する少なくとも一つの機能モジュールを含むことができる。
【００１９】
前記初期値設定モジュールは、現在のフレームの最大周波数スペクトル絶対値と以前のフレームの最大周波数スペクトル絶対値を算出し、前記現在のフレームの最大周波数スペクトル絶対値と以前のフレームの最大周波数スペクトル絶対値を特定の比較アルゴリズムを使用して比較する。
【００２０】
前記初期値設定モジュールは、前記現在のフレームの最大周波数スペクトル絶対値に２進ログを適用して第１の２進ログ値を算出し、前記以前のフレームの最大周波数スペクトル絶対値に２進ログを適用して第２の２進ログ値を算出することができる。また、前記初期値設定モジュールは、前記第１の２進ログ値と第２の２進ログ値との差値によって前記現在のフレームの全帯域スケールファクターの初期値を算出するための算出アルゴリズムを抽出することができる。
【００２１】
前記少なくとも一つの機能モジュールは、前記現在のフレームの全帯域スケールファクターの初期値に基づいて前記現在のフレームの周波数スペクトルデータを量子化する量子化モジュール；及び前記量子化モジュールによって量子化されたデータを符号化したデータの使用ビット数が予め設定された可用ビット数を超えないように全帯域スケールファクターを調整する内部ループモジュールを含むことができる。前記内部ループモジュールは、前記可用ビット数と前記使用ビット数との差値が特定しきい値を超えないように前記全帯域スケールファクターを調整することができる。
【発明の効果】
【００２２】
以上説明したように、本発明によると、フレームの周波数スペクトルデータを量子化するための全帯域スケールファクターの初期値を実際の全帯域スケールファクターの値に最大限近接するように予め設定することができる。したがって、量子化時に全帯域スケールファクターを調整するためのループの繰り返し回数を減少させ、オーディオ符号化器の演算量の負担を大幅に減少させることができる。
【図面の簡単な説明】
【００２３】
【図１】心理音響モデルを使用するオーディオ符号化器の通常の量子化過程を説明するためのフローチャートである。
【図２】本発明の好適な実施例に係る量子化方法を実現するための量子化装置を含むオーディオ符号化器の構成を示すブロック図である。
【図３】図２に示されている量子化部の詳細構成を示すブロック図である。
【図４】本発明の好適な実施例に係る量子化方法を説明するためのフローチャートである。
【図５】フレーム別の最大周波数スペクトル絶対値の２進ログ値とフレーム別に量子化に使用された実際の全帯域スケールファクターの決定値とを比較して示すグラフである。
【図６】各フレーム別の周波数スペクトルデータの量子化に使用された実際の全帯域スケールファクターの決定値を示すグラフである。
【図７】上述した全帯域スケールファクターの初期値推定方法によって推定された各フレーム別の全帯域スケールファクターの初期値を示すグラフである。
【図８】図６に示されている全帯域スケールファクターの値と図７に示されている全帯域スケールファクターの初期値とを比較して示すグラフである。
【発明を実施するための形態】
【００２４】
以下、本発明の属する分野で通常の知識を有する者が本発明を容易に実施できるように本発明の好適な実施例を添付の図面を参照して詳細に説明する。以下で説明する本発明の好適な実施例では、内容の明瞭性のために特定の技術用語を使用する。しかし、本発明は、その選択された特定用語に限定されるものではなく、それぞれの特定用語が類似する目的を達成するために類似する方式で動作する全ての技術同義語を含むことを予め明らかにしておく。
【００２５】
図１は、心理音響モデルを使用するオーディオ符号化器の通常の量子化過程を説明するためのフローチャートである。
【００２６】
従来のオーディオ符号化器は、周波数ドメインのデータを量子化するために多段階ループを行う。前記多段階ループは、内部ループ（Ｉｎｎｅｒ  Ｌｏｏｐ、ＩＬ）及び外部ループ（Ｏｕｔｅｒ  Ｌｏｏｐ、ＯＬ）を含むことができる。
【００２７】
内部ループ（ＩＬ）では、フレーム単位で受信される周波数ドメインのデータを全帯域スケールファクター及びバンドスケールファクターを使用して量子化し（段階：Ｓ１）、量子化されたデータを符号化したときのビット数、すなわち、使用ビット数が可用ビット数を超えないように全帯域スケールファクターを調整する（段階：Ｓ２〜Ｓ４）。また、外部ループ（ＯＬ）では、各周波数バンドの歪が許容歪を超えないようにバンドスケールファクターを調整する（段階：Ｓ５〜Ｓ７）。
【００２８】
上述したように、量子化過程時、内部ループでは、量子化されたデータを符号化したときの使用ビット数を可用ビット数と比較する過程を行う。このとき、前記使用ビット数は、量子化されたデータを符号化したときに算出可能であるので、毎ループごとに符号化過程が連係されなければならない。その理由は、全帯域スケールファクターの変化によって量子化されたデータはループごとに変わり、その結果、コードワード及びコードワードの長さが変わるためである。
【００２９】
このように、従来のオーディオ符号化器の量子化プロセスは、最適な値を得るまで外部ループと内部ループを複数回繰り返して行い、特に、内部ループは、毎ループごとに量子化データ及びその量子化されたデータを符号化したデータに基づく計算過程を含んでいるので、相当多くの演算が伴う。したがって、このような内部ループのループ繰り返し回数が多くなると、量子化及び符号化回数が増加し、オーディオ符号化器の演算量が過度に増加する。そして、このような演算量の増加は、結局、全体の符号化プロセスの遂行時間を遅延させ、ハードウェア資源にも過度の負担を与える原因となる。
【００３０】
図２は、本発明の好適な実施例に係る量子化方法を実現するための量子化装置を含むオーディオ符号化器の構成を示すブロック図である。
【００３１】
図２に示すように、オーディオ符号化器１００は、外部から入力される時間ドメインのオーディオデータ、例えば、ＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データをフレーム単位で受信し、これを処理した後、特定フォーマットの符号化されたビットストリームを出力する。
【００３２】
このようなオーディオ符号化器１００は、フィルターバンク部１０、ＭＤＣＴ（Ｍｏｄｉｆｉｅｄ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）部２０、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）部３０、心理音響モデル部４０、量子化部５０、符号化部６０及びビットストリーム出力部７０などを備えることができる。
【００３３】
フィルターバンク部１０は、外部から入力される時間ドメインのオーディオデータをフレーム単位で受信し、周波数ドメインのオーディオデータ、すなわち、周波数スペクトルデータに変換し、変換されたフレーム単位の周波数スペクトルデータを多数の周波数バンドに細分化する。例えば、フィルターバンク部１０は、オーディオデータの統計的な重複性を除去するために、フレーム単位の周波数スペクトルデータを、例えば、３２個のサーブバンドに細分化することができる。
【００３４】
ＦＦＴ部３０は、外部から入力される時間ドメインのオーディオデータを周波数スペクトルデータに変換し、変換された周波数スペクトルデータを心理音響モデル部４０に伝送する。
【００３５】
心理音響モデル部４０は、人間の聴覚特性による知覚的な重複性を除去するために、ＦＦＴ部３０から伝送される周波数スペクトルデータを受信し、それぞれの周波数バンドに対する許容歪を計算する。このとき、前記許容歪とは、人の聴力が認知できないほどの歪のうち最大に許容可能な歪を意味することができる。心理音響モデル部４０は、前記の計算される周波数バンド別の許容歪を量子化部５０に提供することができる。
【００３６】
一方、心理音響モデル部４０は、知覚エネルギーを計算してウィンドウスイッチングの可否を決定し、ウィンドウスイッチング情報をＭＤＣＴ部２０に伝送することができる。フレームのブロックタイプは、大きく四つに区分することができる。例えば、オーディオ信号が急激に変わる部分のフレームはショートブロック（Ｓｈｏｒｔ  Ｂｌｏｃｋ）と称し、オーディオ信号の変化が急激でない部分のフレームはロングブロック（Ｌｏｎｇ  Ｂｌｏｃｋ）と称し、ロングブロックからショートブロックに変わる部分のフレームはロングストップブロック（Ｌｏｎｇ  Ｓｔｏｐ  Ｂｌｏｃｋ）と称し、ショートブロックからロングブロックに変わる部分のフレームはロングスタートブロック（Ｌｏｎｇ  Ｓｔａｒｔ  Ｂｌｏｃｋ）と称することができる。
【００３７】
前記心理音響モデル部４０は、現在処理されるフレームのブロックタイプがショートブロックであるか、ロングブロックであるか、ロングストップブロックである、それともロングスタートブロックであるかによってそれぞれショートウィンドウ、ロングウィンドウ、ロングストップウィンドウ、ロングスタートウィンドウを適用することを示すウィンドウスイッチング情報を出力することができる。
【００３８】
ＭＤＣＴ部２０は、周波数スペクトルデータの分解能を増加させるために、フィルターバンク部１０によって多数の周波数バンドに分割された周波数スペクトルデータを、心理音響モデル部４０から受信されるウィンドウスイッチング情報によってさらに細分化して出力する。例えば、ＭＤＣＴ部２０は、ウィンドウスイッチング情報がロングウィンドウを示す場合、３６ポイントのＭＤＣＴを使用して既に分割された３２個の周波数バンドよりも細密に周波数スペクトルデータを分割することができる。または、ＭＤＣＴ部２０は、ウィンドウスイッチング情報がショートウィンドウを示す場合、例えば、１２ポイントのＭＤＣＴを使用して３２個の周波数バンドよりも細密に周波数スペクトルデータを分割することもできる。
【００３９】
量子化部５０は、ＭＤＣＴ部２０から伝送されるフレーム単位の周波数スペクトルデータを受信して量子化を行うことができる。また、周波数スペクトルデータを量子化した後、量子化されたデータを符号化したデータの使用ビット数が許容された可用ビット数を超えないように全帯域スケールファクターを調整することができ、周波数スペクトルデータの各周波数バンドの歪が許容歪を超えないようにバンドスケールファクターを調整することができる。
【００４０】
一方、量子化部５０は、全帯域スケールファクター及びバンドスケールファクターの調整のためのループの繰り返し回数を減少させるために、周波数スペクトルデータの量子化を行う前に、量子化に実際に使用する全帯域スケールファクターの値とほぼ同じ全帯域スケールファクターの初期値を予め設定する。このとき、量子化部５０は、フレーム間の最大周波数スペクトル絶対値の変化度に基づいて全帯域スケールファクターの初期値を推定することによって、全帯域スケールファクターの初期値を予め設定することができる。
【００４１】
符号化部６０は、量子化部５０によって量子化されたデータを符号化する機能を行うことができる。ビットストリーム出力部７０は、符号化部６０によって符号化されたデータを特定規格、例えば、ＭＰＥＧ２などによって規定されたビットストリームフォーマットにフォーマッティングした後、ビットストリームを出力することができる。
【００４２】
図３は、図２に示されている量子化部５０の詳細構成を示すブロック図である。
【００４３】
図２〜図３を参照すると、量子化部５０は、初期値設定モジュール５４、量子化モジュール５２、内部ループモジュール５６及び外部ループモジュール５８などを含むことができる。
【００４４】
初期値設定モジュール５４は、フレーム間の最大周波数スペクトル絶対値の変化度に基づいて全帯域スケールファクターの初期値を推定し、その値を設定する機能を行う。前記最大周波数スペクトル絶対値とは、フレームの周波数スペクトルデータの絶対値のうち最も大きい値を意味する。例えば、前記最大周波数スペクトル絶対値は、フレームの周波数スペクトルデータに含まれている多数の周波数バンドのうち最も大きい絶対値を有する周波数バンドの絶対値を意味することができる。
【００４５】
初期値設定モジュール５４は、ＭＤＣＴ部２０から量子化モジュール５２に受信されるフレーム単位の周波数スペクトルデータを分析し、該当フレームの最大周波数スペクトル絶対値を求めた後、前記フレームの最大周波数スペクトル絶対値を前記フレームの以前に処理されたフレームの最大周波数スペクトル絶対値と特定アルゴリズムを使用して比較することができる。
【００４６】
例えば、初期値設定モジュール５４は、現在ＭＤＣＴ部２０から受信されるフレームの周波数スペクトルデータを分析し、現在のフレームの最大周波数スペクトル絶対値を求め、これを予め定められた特定の比較アルゴリズムを使用して以前のフレーム（すなわち、現在のフレームの以前に処理されたフレーム）の最大周波数スペクトル絶対値と比較することができる。このとき、前記以前のフレームの最大周波数スペクトル絶対値は、以前のフレームの量子化を行う前に既に求められたものである。
【００４７】
初期値設定モジュール５４は、前記比較アルゴリズムを使用した比較結果値によって特定算出アルゴリズムを使用して現在のフレームの周波数スペクトルデータを量子化するのに使用する全帯域スケールファクターの初期値を算出する。すなわち、初期値設定モジュール５４は、現在のフレームの周波数スペクトル絶対値が以前のフレームの周波数スペクトル絶対値に比べてどれだけ変化したかによって該当の算出アルゴリズムを適用し、全帯域スケールファクターの初期値を算出する。
【００４８】
前記初期値設定モジュール５４は、前記比較アルゴリズムを使用した比較結果値に対応する算出アルゴリズムを予めテーブルの形態で格納することができる。このような全帯域スケールファクターの初期値を設定する過程は、後で再び詳細に説明することにする。一方、初期値設定モジュール５４は、内部ループモジュール５６の動作に必要なフラグ（Ｆｌａｇ）の初期値をセッティングすることもできる。
【００４９】
量子化モジュール５２は、ＭＤＣＴ部２０から伝送されるフレーム単位の周波数スペクトルデータを受信して量子化を行うことができる。量子化時、量子化モジュール５２は、内部ループモジュール５６によって調整される全帯域スケールファクター及び外部ループモジュール５８によって調整されるバンドスケールファクターを使用することができる。
【００５０】
内部ループモジュール５６は、量子化モジュール５２及び符号化部６０と連係して全帯域スケールファクターを調整する内部ループを行う。例えば、内部ループモジュール５６は、量子化モジュール５２を制御して量子化が行われるようにし、量子化されたデータを符号化したデータの使用ビット数が予め設定された可用ビット数を超えないように全帯域スケールファクターを調整する過程を行うことができる。前記内部ループモジュール５６によって最初に行われる内部ループでは、量子化時に前記初期値設定モジュールによって設定された全帯域スケールファクターの初期値を全帯域スケールファクターとして使用することができる。
【００５１】
一方、内部ループモジュール５６は、前記使用ビット数が可用ビット数を超えない場合、可用ビット数と使用ビット数との差が特定しきい値を超えないように全帯域スケールファクターを２次的に調整することもできる。例えば、内部ループモジュール５６は、可用ビット数から使用ビット数を差し引いた値を予め設定されたしきい値と比較し、可用ビット数から使用ビット数を差し引いた値が前記しきい値を超える場合、全帯域スケールファクターを調整することができる。
【００５２】
外部ループモジュール５８は、周波数スペクトルデータのそれぞれの周波数バンドの歪が該当の周波数バンドの許容歪を超えないようにバンドスケールファクターを調整する機能を行う。例えば、外部ループモジュール５８は、周波数スペクトルデータの各周波数バンドの歪を計算し、計算された各周波数バンドの歪を心理音響モデル部４０から伝送された許容歪と比較し、計算された歪が許容歪を超える場合、該当のバンドスケールファクターを調整する機能を行うことができる。
【００５３】
以上では、本発明の好適な実施例に係る量子化方法を実現するための装置の各例を説明した。以下では、上述した量子化部５０、すなわち、量子化装置を用いて量子化を行う手順について説明する。併せて、以下の説明を通して、上述した量子化部５０の機能もより詳細かつ明確になるだろう。
【００５４】
図４は、本発明の好適な実施例に係る量子化方法を説明するためのフローチャートである。
【００５５】
図４に示すように、量子化部５０は、まず、外部（例えば、ＭＤＣＴ部）から受信されるフレームの周波数スペクトルデータを量子化するのに使用する全帯域スケールファクターの初期値を推定して設定する（段階：Ｓ１１）。全帯域スケールファクターの初期値を推定するために、量子化部５０は、フレーム間の最大周波数スペクトル絶対値の変化度を用いる。前記最大周波数スペクトル絶対値は、上述したように、フレームの周波数スペクトルデータのサイズに絶対値の演算を行った値のうち最も大きい値を有する部分の絶対値を意味することができる。
【００５６】
具体的に、全帯域スケールファクターの初期値を推定するために、量子化部５０は、外部から受信される現在のフレームの周波数スペクトルデータを分析し、現在のフレームの最大周波数スペクトル絶対値を算出する。
【００５７】
続いて、量子化部５０は、前記の算出された現在のフレームの最大周波数スペクトル絶対値を以前のフレーム（すなわち、現在のフレームの以前に処理されたフレーム）の最大周波数スペクトル絶対値と所定の比較アルゴリズムを使用して比較する。このとき、前記以前のフレームの最大周波数スペクトル絶対値は、以前のフレームの処理時に既に求められたものでもある。
【００５８】
例えば、量子化部５０は、前記の算出された現在のフレームの最大周波数スペクトル絶対値に２進ログ（すなわち、「ｌｏｇ2」）を適用して第１の２進ログ値を算出し、これを以前のフレームの最大周波数スペクトル絶対値の２進ログ値、すなわち、第２の２進ログ値と比較することができる。前記第２の２進ログ値は、以前のフレームの全帯域スケールファクターの初期値を算出するときに既に算出されたものでもある。
【００５９】
次に、量子化部５０は、前記比較アルゴリズムを使用した比較結果値に基づいて、予め定められた算出アルゴリズムを予め格納された情報から抽出し、抽出された算出アルゴリズムを使用して現在のフレームの量子化に使用する全帯域スケールファクターの初期値を算出することができる。例えば、量子化部５０は、二つの２進ログ値、すなわち、第１の２進ログ値と第２の２進ログ値との差値に対応する特定算出アルゴリズムを使用して現在のフレームの量子化に使用する全帯域スケールファクターの初期値を算出することができる。
【００６０】
全帯域スケールファクターの初期値を設定するための算出アルゴリズムは、下記の数学式１に示す通りである。
【００６１】
【数１】
0005379871.tif 000002
【００６２】
前記数学式１で使用された各要素を定義すると、次の通りである。
【００６３】
１．ｉ：フレームインデックス。以下では、ｉを現在のフレームと仮定し、ｉ−１は以前のフレームと仮定する。
【００６４】
２．ｅｓｔ＿ｃｏｍｍｏｎ＿ｓｃａｌｅｆａｃ［ｉ］：現在のフレームの量子化を行うために推定された全帯域スケールファクターの初期値
【００６５】
３．ＣＳＦ［ｉ−１］：以前のフレームの量子化及び符号化過程によって決定された全帯域スケールファクター
【００６６】
４．ｍａｘ＿ｓｐｅｃ［ｉ］：現在のフレームの最大周波数スペクトル絶対値
【００６７】
５．Ａ、Ｂ、Ｃ、Ｄ：定数値。それぞれの値は、実験によって適正な値に決定することができる。
【００６８】
６．ｄｉｆｆ［ｉ］：現在のフレームの最大周波数スペクトル絶対値、すなわち、ｍａｘ＿ｓｐｅｃ［ｉ］の２進ログ値から以前のフレームの最大周波数スペクトル絶対値、すなわち、ｍａｘ＿ｓｐｅｃ［ｉ−１］の２進ログ値を差し引いた値。このようなｄｉｆｆ［ｉ］を数学式で表現すると、下記の数学式２に示す通りである。
【００６９】
【数２】
0005379871.tif 000003
【００７０】
前記数学式１を参照すると、量子化部５０は、現在のフレームの全帯域スケールファクターの初期値を推定するために、現在のフレームの最大周波数スペクトル絶対値の２進ログ値（例えば、第１の２進ログ値）から以前のフレームの最大周波数スペクトル絶対値の２進ログ値（例えば、第２の２進ログ値）を差し引いた値の絶対値、すなわち、二つの２進ログ値の差値｜ｄｉｆｆ［ｉ］｜によって対応する算出アルゴリズムを適用する。
【００７１】
例えば、前記二つの２進ログ値の差値｜ｄｉｆｆ［ｉ］｜が特定の定数であるＣより大きく、Ｄより小さい場合、現在のフレームの全帯域スケールファクターの初期値は、第１の２進ログ値から第２の２進ログ値を差し引いた値ｄｉｆｆ［ｉ］に特定の定数であるＡを掛けた値を以前のフレームの全帯域スケールファクター値ＣＳＦ［ｉ＋１］と加算することによって算出することができる。
【００７２】
また、前記二つの２進ログ値の差値｜ｄｉｆｆ［ｉ］｜が特定の定数であるＤと同じか、Ｄより大きい場合、現在のフレームの全帯域スケールファクターの初期値は、前記第１の２進ログ値から第２の２進ログ値を差し引いた値ｄｉｆｆ［ｉ］に特定の定数であるＢを掛けた値を以前のフレームの全帯域スケールファクター値ＣＳＦ［ｉ＋１］と加算することによって算出することができる。
【００７３】
前記二つの２進ログ値の差値｜ｄｉｆｆ［ｉ］｜が特定の定数であるＣと同じか、Ｃより小さい場合、現在のフレームの全帯域スケールファクターの初期値は、以前のフレームの全帯域スケールファクター値ＣＳＦ［ｉ＋１］と同一に設定することができる。
【００７４】
一方、現在のフレームの最大周波数スペクトル絶対値が０である場合、現在のフレームの全帯域スケールファクターの初期値は、予め設定された値、例えば、１０などに設定することができる。
【００７５】
上述した定数値Ａ、Ｂ、Ｃ、Ｄは、システムによって実験値に基づいて適宜設定できる値である。例えば、本実施例では、Ａは３．５８、Ｂは１．８、Ｃは０．４、Ｄは１５に設定すると仮定する。
【００７６】
量子化部５０は、前記数学式１及び２に対応する各情報、例えば、比較アルゴリズム、前記二つの２進ログ値の差値｜ｄｉｆｆ［ｉ］｜に対応する算出アルゴリズム、フレームの最大周波数スペクトル絶対値が０である場合の算出アルゴリズム（例えば、設定値）などを格納することができ、全帯域スケールファクターの計算時には、前記の格納された情報から必要な情報を抽出することができる。
【００７７】
図５は、フレーム別の最大周波数スペクトル絶対値の２進ログ値とフレーム別に量子化に使用された実際の全帯域スケールファクターの決定値とを比較して示すグラフである。
【００７８】
図５に示すように、符号化器に順次入力される４００個のフレームで、フレーム別の最大周波数スペクトル絶対値の２進ログ値は、フレーム別の実際の全帯域スケールファクターの決定値と類似する傾向を示す。
【００７９】
一方、図５に示したＡ―１、Ａ―２、Ａ―３の地点に該当するフレームは、オーディオデータが急激に変化する部分、すなわち、フレームのブロックタイプが変化する部分を意味することができる。例えば、前記各地点は、ロングブロックからショートブロックに変化したり、ショートブロックからロングブロックに変化する部分に該当するフレームであり得る。
【００８０】
このように、ブロックタイプが急激に変化する部分に該当するフレームの場合、最大周波数スペクトル絶対値の２進ログ値と実際の全帯域スケールファクターの決定値とが異なり得るので、量子化部５０は、ブロックタイプが急激に変化する部分のフレームに対しては予め設定された値、例えば、「１０」などに全帯域スケールファクターの初期値を設定することができる。
【００８１】
例えば、量子化部５０は、現在のフレームのブロックタイプと以前のフレームのブロックタイプとが異なっているかどうかを判断し、現在のフレームのブロックタイプと以前のフレームのブロックタイプとが異なっている場合は、予め設定された値を現在のフレームの全帯域スケールファクターの初期値として設定することができる。一方、現在のフレームのブロックタイプと以前のフレームのブロックタイプとが同一である場合、上述した方式通りに現在のフレームと以前のフレームの最大周波数スペクトル絶対値に基づいて全帯域スケールファクターの初期値を設定することができる。
【００８２】
図６は、各フレーム別の周波数スペクトルデータの量子化に使用された実際の全帯域スケールファクターの決定値を示すグラフで、図７は、上述した全帯域スケールファクターの初期値推定方法によって推定された各フレーム別の全帯域スケールファクターの初期値を示すグラフである。また、図８は、図６に示されている全帯域スケールファクターの値と図７に示されている全帯域スケールファクターの初期値とを比較して示すグラフである。
【００８３】
図６〜図８に示すように、周波数スペクトルデータの量子化に使用された実際の全帯域スケールファクターの決定値は、上述した推定方法によって推定された全帯域スケールファクターの初期値とほぼ一致することが分かる。
【００８４】
したがって、特定フレームの周波数スペクトルデータの量子化を開始する前に、前記量子化に使用する全帯域スケールファクターの初期値を実際の全帯域スケールファクターの決定値とほぼ類似するように推定して設定するので、全帯域スケールファクターを調整するためのループの繰り返し回数を大幅に減少できるようになる。したがって、符号化器の動作において、量子化及び符号化による演算負担を相当減少させることができる。
【００８５】
このように全帯域スケールファクターの初期値が設定されると、図４に示すように、量子化部５０は、内部ループの遂行に必要なフラグを第１の値、例えば、０に設定した後（段階：Ｓ１２）、全帯域スケールファクターを調整する内部ループＬ１を行うことができる（段階：Ｓ１３〜Ｓ２０）。内部ループＬ１を行うとき、量子化部５０は、前記の設定された全帯域スケールファクターの初期値を全帯域スケールファクターの開始値として使用するようになる。
【００８６】
内部ループＬ１で、まず、量子化部５０は、周波数スペクトルデータを量子化する（段階：Ｓ１３）、例えば、内部ループＬ１の１番目のループでは、設定された全帯域スケールファクターの初期値に基づいて量子化を行うことができる。
【００８７】
続いて、量子化部５０は、量子化されたデータを符号化したデータの使用ビット数が予め設定された可用ビット数を超えないように全帯域スケールファクターを調整する（段階：Ｓ１４、Ｓ１５、Ｓ１７、Ｓ１８）。
【００８８】
前記過程（段階：Ｓ１４、Ｓ１５、Ｓ１７、Ｓ１８）をより具体的に説明すると、量子化部５０は、量子化されたデータを符号化したデータの使用ビット数を計算することができる（段階：Ｓ１４）。例えば、量子化部５０は、量子化されたデータを符号化部６０で符号化すると、その符号化されたデータのビット数を計算することができる。
【００８９】
続いて、量子化部５０は、計算された使用ビット数と予め設定された可用ビット数とを比較する（段階：Ｓ１５）。このとき、前記の計算された使用ビット数が可用ビット数を超える場合、量子化部５０は、全帯域スケールファクターを調整することができる（段階：Ｓ１７）。例えば、量子化部５０は、全帯域スケールファクターの値を所定値（例えば、１など）だけ増加させることができる。全帯域スケールファクターを調整した後、量子化部５０は、フラグを第２の値、例えば、１に設定した後（段階Ｓ１８）、量子化段階（段階：Ｓ１３）以前に戻って内部ループＬ１を再び繰り返す。
【００９０】
一方、前記の計算された使用ビット数が可用ビット数と同じか、可用ビット数より少ない場合、量子化部５０は、可用ビット数と使用ビット数との差が特定しきい値を超えないように全帯域スケールファクターを調整する（段階：Ｓ１６、Ｓ１９、Ｓ２０）。
【００９１】
前記過程（段階：Ｓ１６、Ｓ１９、Ｓ２０）を具体的に説明すると、量子化部５０は、フラグをチェックし、フラグが第２の値（例えば、１など）であるかどうかを確認し（段階：Ｓ１６）、第２の値でない場合、可用ビット数から使用ビット数を差し引いた値がしきい値を超えるかどうかを判断する（段階：Ｓ１９）。
【００９２】
このとき、前記可用ビット数から使用ビット数を差し引いた値がしきい値を超える場合、量子化部５０は、全帯域スケールファクターを調整することができる（段階：Ｓ２０）。例えば、量子化部５０は、全帯域スケールファクターの値を所定値（例えば、１など）だけ減少させることができる。量子化部５０は、全帯域スケールファクターを調整した後、量子化段階（段階：Ｓ１３）以前に戻って内部ループＬ１を再び繰り返す。
【００９３】
一方、前記可用ビット数から使用ビット数を差し引いた値がしきい値と同じか、しきい値より少ない場合、又は、フラグが第１の値である場合、量子化部５０は外部ループＬ２を行うことができる。
【００９４】
外部ループＬ２で、量子化部５０は、まず、周波数スペクトルデータの各周波数バンドの歪を計算することができる（段階：Ｓ２１）。続いて、量子化部５０は、計算された各周波数バンドの歪を該当の周波数バンドの許容歪と比較し、計算された各周波数バンドの歪が該当の周波数バンドの許容歪より少ないかどうかを判断する（段階：Ｓ２２）。
【００９５】
このとき、各周波数バンドの歪が該当の周波数バンドの許容歪より大きい場合、量子化部５０は、該当のバンドスケールファクターを調整した後（段階：Ｓ２３）、量子化段階（段階：Ｓ１３）以前に戻る。一方、各周波数バンドの歪が該当の周波数バンドの許容歪より少ないか、それと同じ場合、量子化部５０は量子化を完了することができる。
【００９６】
以上、本発明について好適な実施例を参照して説明したが、該当の技術分野で熟練した当業者であれば、下記の特許請求の範囲に記載した本発明の技術的思想及び領域から逸脱しない範囲内で本発明を多様に修正及び変更して実施可能であることを理解できるだろう。したがって、本発明の今後の各実施例の変更は、本発明の技術を逸脱することはできないだろう。
【符号の説明】
【００９７】
１０：フィルターバンク部、２０：ＭＤＣＴ部、３０：ＦＦＴ部、４０：心理音響モデル部、５０：量子化部、５２：量子化モジュール、５４：初期値設定モジュール、５６：内部ループモジュール、５８：外部ループモジュール、６０：符号化部、７０：ビットストリーム出力部
【図１】
0005379871.tif 000004
【図２】
0005379871.tif 000005
【図３】
0005379871.tif 000006
【図４】
0005379871.tif 000007
【図５】
0005379871.tif 000008
【図６】
0005379871.tif 000009
【図７】
0005379871.tif 000010
【図８】
0005379871.tif 000011