(57)【要約】      （修正有）【課題】高位周波数帯域内のピークスペクトル領域の減衰による改善されたオーディオ符号化を実現する改善されたオーディオ符号化の概念を提供する。【解決手段】低位周波数帯域と高位周波数帯域とを有するオーディオ信号を符号化するためのオーディオ符号器であって、オーディオ信号の高位周波数帯域内のピークスペクトル領域を検出する検出部８０２と、低位周波数帯域の整形情報を用いて低位周波数帯域を整形し、低位周波数帯域の整形情報の少なくとも一部を用いて高位周波数帯域を整形するための、高位周波数帯域の検出されたピークスペクトル領域におけるスペクトル値を追加的に減衰させる整形部８０４と、整形された低位周波数帯域及び整形された高位周波数帯域を量子化し、整形された低位周波数帯域及び整形された高位周波数帯域からの量子化されたスペクトル値をエントロピー符号化するための量子化器及び符号器ステージ８０６と、を備える。【選択図】図８
2020181203.tif 000002
【特許請求の範囲】
【請求項１】
低位周波数帯域と高位周波数帯域とを有するオーディオ信号を符号化するためのオーディオ符号器であって、
前記オーディオ信号の前記高位周波数帯域内のピークスペクトル領域を検出するための検出部（８０２）と、
前記低位周波数帯域の整形情報を用いて前記低位周波数帯域を整形し、前記低位周波数帯域の整形情報の少なくとも一部を用いて前記高位周波数帯域を整形するための整形部（８０４）であって、前記高位周波数帯域の検出されたピークスペクトル領域におけるスペクトル値を追加的に減衰させるように構成された整形部（８０４）と、
整形された低位周波数帯域及び整形された高位周波数帯域を量子化し、前記整形された低位周波数帯域及び整形された高位周波数帯域からの量子化されたスペクトル値をエントロピー符号化するための量子化器及び符号器ステージ（８０６）と、
を備えたオーディオ符号器。
【請求項２】
時間フレームにおけるオーディオサンプルのブロックを分析することによって、前記オーディオ信号の時間フレームの線形予測係数を導出する線形予測分析部（８０８）であって、前記オーディオサンプルは前記低位周波数帯域に帯域制限されている、線形予測分析部（８０８）をさらに含み、
前記整形部（８０４）は、前記整形情報として前記線形予測係数を用いて前記低位周波数帯域を整形するように構成されており、
前記整形部（８０４）は、前記オーディオ信号の前記時間フレームにおける前記高位周波数帯域を整形するために、前記低位周波数帯域に帯域制限された前記オーディオサンプルのブロックから導出された前記線形予測係数の少なくとも一部を使用するように構成される、
請求項１に記載のオーディオ符号器。
【請求項３】
前記整形部（８０４）は、前記オーディオ信号の前記低位周波数帯域から導出される線形予測係数を使用して、前記低位周波数帯域の複数のサブバンドのための複数の整形ファクタを計算するよう構成され、
前記整形部（８０４）は、前記低位周波数帯域において、前記低位周波数帯域のあるサブバンドにおけるスペクトル係数を、その対応するサブバンドのために計算された整形ファクタを用いて、重み付けするよう構成され、
かつ前記高位周波数帯域におけるスペクトル係数を、前記低位周波数帯域のサブバンドの一つのために計算された整形ファクタを用いて重み付けするよう構成される、
請求項１または２に記載のオーディオ符号器。
【請求項４】
前記整形部（８０４）は、前記高位周波数帯域のスペクトル係数を、前記低位周波数帯域の最高のサブバンドのために計算された整形ファクタを用いて重み付けするよう構成され、前記最高のサブバンドは、前記低位周波数帯域のサブバンドのすべての中心周波数の中で最も高い中心周波数を有する、
請求項３に記載のオーディオ符号器。
【請求項５】
前記検出部（８０２）は、ある条件グループの少なくとも一つが真である場合に、前記高位周波数帯域におけるピークスペクトル領域を決定するように構成され、
前記条件グループは、低位周波数帯域振幅条件（１１０２）、ピーク距離条件（１１０４）、及びピーク振幅条件（１１０６）を少なくとも含む、
前記請求項１〜４のいずれか１項に記載のオーディオ符号器。
【請求項６】
前記検出部（８０２）は、前記低位周波数帯域振幅条件のために、
前記低位周波数帯域における最大スペクトル振幅（１２０２）と、
前記高位周波数帯域における最大スペクトル振幅（１２０４）と、を決定するよう構成され、
ゼロより大きな所定数によって重み付けられた前記低位周波数帯域における最大スペクトル振幅が、前記高位周波数帯域における最大スペクトル振幅（１２０４）より大きい場合に、前記低位周波数帯域振幅条件（１１０２）が真である、
請求項５に記載のオーディオ符号器。
【請求項７】
前記検出部（８０２）は、前記整形部（８０４）により適用される整形操作の前に、前記低位周波数帯域における最大スペクトル振幅又は前記高位周波数帯域における最大スペクトル振幅を検出するように構成され、又は前記所定数が４〜３０である、
請求項６に記載のオーディオ符号器。
【請求項８】
前記検出部（８０２）は、ピーク距離条件について、
前記低位周波数帯域における第１の最大スペクトル振幅（１３０２）と、
前記低位周波数帯域の中心周波数と前記高位周波数帯域の中心周波数との間の、境界周波数からの前記第１の最大スペクトル振幅の第１のスペクトル距離（１３０４）と、
前記高位周波数帯域における第２の最大スペクトル振幅（１３０６）と、
前記境界周波数から前記第２の最大スペクトル振幅までの前記第２の最大スペクトル振幅の第２のスペクトル距離（１３０８）と、
を決定するよう構成され、
前記第１のスペクトル距離によって重み付けされかつ１より大きな所定数によって重み付けられた前記第１の最大スペクトル振幅が、前記第２のスペクトル距離によって重み付けられた第２の最大スペクトル振幅よりも大きい場合（１３１０）に、前記ピーク距離条件（１１０４）が真である、
請求項５〜７のいずれか一項に記載のオーディオ符号器。
【請求項９】
前記検出部（８０２）は、前記第１の最大スペクトル振幅又は前記第２の最大スペクトル振幅を、前記追加的減衰なしの前記整形部（８０４）による整形操作に続いて、決定するように構成され、又は
前記境界周波数は、前記低位周波数帯域の最高周波数又は前記高位周波数帯域の最低周波数であり、又は
前記所定数は１．５と８との間である、
請求項８に記載のオーディオ符号器。
【請求項１０】
前記検出部（８０２）は、前記低位周波数帯域の一部分における第１の最大スペクトル振幅（１４０２）を決定するよう構成され、前記一部分は前記低位周波数帯域の所定の開始周波数から前記低位周波数帯域の最大周波数まで延びており、前記所定の開始周波数は前記低位周波数帯域の最小周波数よりも大きく、
前記検出部（８０２）は、前記高位周波数帯域における第２の最大スペクトル振幅（１４０４）を決定するよう構成され、
前記第２の最大スペクトル振幅が、１以上の所定数で重み付けされた第１の最大スペクトル振幅より大きい場合（１４０６）に、前記ピーク振幅条件（１１０６）が真である、
請求項５〜９のいずれか一項に記載のオーディオ符号器。
【請求項１１】
前記検出部（８０２）は、前記第１の最大スペクトル振幅又は前記第２の最大スペクトル振幅を、前記整形部（８０４）によって前記追加的減衰なしに適用される整形操作の後で決定するように構成され、若しくは前記所定の開始周波数は前記低位周波数帯域の前記最小周波数よりも高い低周波数の少なくとも１０％にあるか、若しくは前記所定の開始周波数は前記低位周波数帯域の最大周波数の半分の±１０％の許容差内で前記最大周波数の半分に等しい周波数であり、又は
前記所定数は、前記量子化器／符号器ステージによって提供されるビットレートに依存し、それによって、ビットレートが高いほど前記所定数が高くなり、又は
前記所定数は１．０と５．０との間である、
請求項１０に記載のオーディオ符号器。
【請求項１２】
前記検出部（８０２）は、前記３つの条件のうちの少なくとも２つ又は前記３つの条件が真である場合にのみ、前記ピークスペクトル領域を決定するように構成される、
請求項６から１１のいずれか一項に記載のオーディオ符号器。
【請求項１３】
前記検出部（８０２）は、前記スペクトル振幅として、実数スペクトルのスペクトル値の絶対値、複素スペクトルの大きさ、前記実数スペクトルの前記スペクトル値の任意の羃、又は前記複素スペクトルの大きさの任意の羃を決定するように構成され、前記羃は１より大きい、
請求項６〜１２のいずれか一項に記載のオーディオ符号器。
【請求項１４】
前記整形部（８０４）は、前記高位周波数帯域における最大スペクトル振幅に基づいて、又は前記低位周波数帯域における最大スペクトル振幅に基づいて、前記検出されたピークスペクトル領域における少なくとも１つのスペクトル値を減衰させるように構成される、
請求項１〜１３のいずれか１項に記載のオーディオ符号器。
【請求項１５】
前記整形部（８０４）は、前記低位周波数帯域の一部分における最大スペクトル振幅を決定するよう構成され、前記一部分は前記低位周波数帯域の所定の開始周波数から前記低位周波数帯域の最大周波数まで延びており、前記所定の開始周波数は前記低位周波数帯域の最小周波数より大きく、前記所定の開始周波数は好ましくは前記低位周波数帯域の最小周波数より高い前記低位周波数帯域の少なくとも１０％にあり、又は前記所定の開始周波数は好ましくは前記低位周波数帯域の最大周波数の半分の±１０％の許容誤差内で前記最大周波数の半分に等しい周波数である、
請求項１４に記載のオーディオ符号器。
【請求項１６】
前記整形部（８０４）は、減衰ファクタを用いて前記スペクトル値をさらに減衰させるよう構成され、前記減衰ファクタは、１以上である所定数により乗算（１６０６）され、かつ前記高位周波数帯域における最大スペクトル振幅（１６０４）によって除算された、前記低位周波数帯域における最大スペクトル振幅（１６０２）から導出される、
請求項１４又は１５に記載のオーディオ符号器。
【請求項１７】
前記整形部（８０４）は、検出されたピークスペクトル領域内のスペクトル値を、
−前記低位周波数帯域の整形情報の少なくとも一部を用いた第１の重み付け操作（１７０２、８０４ａ）と、減衰情報を用いた第２の後続の重み付け操作（１７０４、８０４ｂ）、又は
−減衰情報を使用した第１の重み付け操作と、前記低位周波数帯域についての前記整形情報の少なくとも一部を用いた第２の後続の重み付け操作、又は
−前記減衰情報と前記低位周波数帯域についての前記整形情報の少なくとも一部とから導出された結合された重み情報を用いた単一の重み付け操作、
に基づいて整形するように構成される、請求項１〜１６のいずれか１項に記載のオーディオ符号器。
【請求項１８】
前記低位周波数帯域についての重み情報は整形ファクタの集合であり、各整形ファクタは前記低位周波数帯域の１つのサブバンドと関連しており、
前記高位周波数帯域についての整形操作に使用される前記低位周波数帯域についての重み情報の少なくとも一部は、前記低位周波数帯域のすべてのサブバンドの最も高い中心周波数を有する前記低位周波数帯域のサブバンドに関連付けられた整形ファクタであり、又は
前記減衰情報は、前記検出されたスペクトル領域における少なくとも１つのスペクトル値に、または前記検出されたスペクトル領域における全てのスペクトル値に、または前記オーディオ信号の時間フレームに対して前記検出部（８０２）によって前記ピークスペクトル領域が検出された前記高位周波数帯域におけるすべてのスペクトル値に、適用される減衰ファクタであり、又は
前記整形部（８０４）は、前記検出部（８０２）が前記オーディオ信号の時間フレームの高位周波数帯域のいずれのピークスペクトル領域も検出しない場合に、如何なる追加的減衰も行わずに前記低位周波数帯域及び前記高位周波数帯域の整形を実行するよう構成されている、
請求項１７に記載のオーディオ符号器。
【請求項１９】
前記量子化器および符号器ステージ（８０６）は、エントロピー符号化されたオーディオ信号の所定のビットレートが得られるように、量子化器特性を推定するためのレートループプロセッサを含む、
請求項１〜１８のいずれか１項に記載のオーディオ符号器。
【請求項２０】
前記量子化器特性はグローバル利得であり、
前記量子化器および符号器ステージ（８０６）が、
前記低位周波数帯域における整形されたスペクトル値と、前記高位周波数帯域における整形されたスペクトル値とを、同じグローバル利得によって重み付けするための重み付け部（１５０２）と、
前記グローバル利得により重み付けされた値を量子化するための量子化器（１５０４）と、
量子化された値をエントロピー符号化するエントロピー符号器（１５０６）であって、前記エントロピー符号器は算術符号器またはハフマン符号器を含む、エントロピー符号器（１５０６）と、
を含む、
請求項１９記載のオーディオ符号器。
【請求項２１】
前記オーディオ符号器は、前記高位周波数帯域において、量子化されエントロピー符号化されるべきスペクトル値の第１グループと、ギャップ充填手順によりパラメトリックに符号化されるべきスペクトル値の第２グループとを決定するためのトーンマスクプロセッサ（１０１２）をさらに含み、前記トーンマスクプロセッサは、前記スペクトル値の第２グループをゼロ値に設定するよう構成されている、
請求項１〜２０のいずれか１項に記載のオーディオ符号器。
【請求項２２】
前記オーディオ符号器は、
共通プロセッサ（１００２）と、
周波数ドメイン符号器（１０１２，８０２，８０４，８０６）と、
線形予測符号器（１００８）と、をさらに備え、
前記周波数ドメイン符号器は、前記検出部（８０２）と、前記整形部（８０４）と、前記量子化器および符号器ステージ（８０６）とを含み、
前記共通プロセッサは、前記周波数ドメイン符号器および前記線形予測符号器によって使用されるべきデータを計算するよう構成される、
請求項１〜２１のいずれか１項に記載のオーディオ符号器。
【請求項２３】
前記共通プロセッサは、前記オーディオ信号をリサンプリング（１００６）して、前記オーディオ信号の時間フレームのために前記低位周波数帯域に帯域制限されたリサンプリング済みオーディオ信号帯域を得るように構成され、
前記共通プロセッサ（１００２）は、前記時間フレームにおけるオーディオサンプルのブロックを分析することによって、前記オーディオ信号の前記時間フレームについての線形予測係数を導出する線形予測分析部（８０８）を備え、前記オーディオサンプルは、前記低位周波数帯域に帯域制限されており、又は
前記共通プロセッサ（１００２）は、前記オーディオ信号の前記時間フレームが、前記線形予測符号器の出力または前記周波数ドメイン符号器の出力のいずれかによって表現されるように制御するよう構成される、
請求項２２に記載のオーディオ符号器。
【請求項２４】
前記周波数ドメイン符号器は、前記オーディオ信号の時間フレームを、前記低位周波数帯域及び前記高位周波数帯域を含む周波数表現へと変換するための時間−周波数変換部（１０１２）を含む、
請求項２２又は２３に記載のオーディオ符号器。
【請求項２５】
低位周波数帯域と高位周波数帯域とを有するオーディオ信号を符号化するための方法であって、
前記オーディオ信号の前記高位周波数帯域におけるピークスペクトル領域を検出するステップ(８０２)と、
前記低位周波数帯域のための整形情報を用いて、前記オーディオ信号の前記低位周波数帯域を整形（８０４）し、かつ前記低位周波数帯域のための整形情報の少なくとも一部を使用して、前記オーディオ信号の高位周波数帯域を整形（１７０２）するステップであって、前記高位周波数帯域の整形は、前記高位周波数帯域の検出されたピークスペクトル領域におけるスペクトル値の追加的減衰（１７０４）を含む、ステップと、
を含む方法。
【請求項２６】
コンピュータまたはプロセッサ上で実行されたとき、請求項２５に記載の方法を実行するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオ符号化に関し、好ましくは、ＥＶＳコーデックにおけるＭＤＣＴベースのＴＣＸのスペクトル係数の量子化を制御するための方法、装置またはコンピュータプログラムに関する。
【背景技術】
【０００２】
ＥＶＳコーデックの参照文献は、３ＧＰＰ  ＴＳ２４．４４５Ｖ１３．１（２０１６−０３）、第３世代パートナーシッププロジェクト、Ｔｅｃｈｎｉｃａｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｇｒｏｕｐ（技術仕様グループ）のサービス・システム、Ｅｎｈａｎｃｅｄ  Ｖｏｉｃｅ  Ｓｅｒｖｉｃｅｓ（高性能ボイスサービス：ＥＶＳ）用コーデック、詳細アルゴリズム記述（リリース１３）である。
【０００３】
しかしながら、本発明は、リリース１３以外の他のリリースによって定義されるような、他のＥＶＳバージョンにも有用であり、加えて、本発明は、例えば特許請求の範囲に定義されるような検出部、整形部及び量子化器及びコーダステージに依存するＥＶＳとは異なる他のすべてのオーディオ符号器においてさらに有用である。
【０００４】
さらに、独立請求項だけでなく従属請求項によっても定義されるすべての実施形態は、請求項の相互依存性によって概説されるように、または好ましい実施例において後述するように、互いに別個に、または一緒に使用することができることに留意すべきである。
【０００５】
ＥＶＳコーデック［非特許文献１］は、３ＧＰＰで指定されているように、狭帯域（ＮＢ）、広帯域（ＷＢ）、超広帯域（ＳＷＢ）または全帯域（ＦＢ）のスピーチおよびオーディオコンテンツのための最新ハイブリッドコーデックであり、信号分類に基づいて、いくつかの符号化アプローチの間で切り替えることができる。
【０００６】
図１は、ＥＶＳにおける共通の処理および異なる符号化スキームを示している。特に、図１における符号器の共通の処理部は、信号リサンプリングブロック１０１と、信号分析ブロック１０２とを含む。オーディオ入力信号は、オーディオ信号入力１０３において共通処理部に入力され、特に信号再サンプリングブロック１０１に入力される。信号リサンプリングブロック１０１は、コマンドラインパラメータを受信するためのコマンドライン入力をさらに有する。共通処理ステージの出力は、図１に見られるように、異なる要素に入力される。特に、図１は、線形予測ベース符号化ブロック（ＬＰベース符号化）１１０、周波数ドメイン符号化ブロック１２０、および非活動信号符号化／ＣＮＧブロック１３０を含む。ブロック１１０、１２０、１３０は、ビットストリームマルチプレクサ１４０に接続されている。さらに、スイッチ１５０は、分類部の決定に応じて、共通処理ステージの出力をＬＰベース符号化ブロック１１０、周波数ドメイン符号化ブロック１２０、または非活動信号符号化／ＣＮＧ（快適ノイズ生成）ブロック１３０のいずれかに切り替えるために設けられる。さらに、ビットストリームマルチプレクサ１４０は、分類部情報、すなわち、ブロック１０３で入力され、かつ共通処理部によって処理された入力信号のある現在の部分が、ブロック１１０、１２０、１３０のいずれを使用して符号化されているかの情報を受信する。
【０００７】
−ＣＥＬＰ符号化などのＬＰベース（線形予測ベース）符号化は、主に、スピーチまたはスピーチ優勢コンテンツおよび高い時間変動を伴う一般的なオーディオコンテンツに使用される。
−周波数ドメイン符号化は、音楽または背景ノイズのような他のすべての一般的なオーディオコンテンツに対して使用される。
【０００８】
低ビットレートおよび中ビットレートに対して最大品質を提供するために、共通処理モジュールにおける信号分析に基づいて、ＬＰベースの符号化と周波数ドメイン符号化との間の頻繁な切り替えが行われる。演算量を節約するために、コーデックは、後続のモジュールにおいても信号分析ステージの要素を再使用するよう最適化された。例えば、信号分析モジュールは、ＬＰ分析ステージを特徴とする。得られたＬＰフィルタ係数（ＬＰＣ）および残差信号は、最初に、ボイス活動検出部（ＶＡＤ）またはスピーチ／音楽分類部などのいくつかの信号分析ステップに使用される。第２に、ＬＰＣは、ＬＰベースの符号化方式および周波数ドメイン符号化方式の基本的な部分でもある。演算量を節約するために、ＣＥＬＰ符号器（ＳＲCELP）の内部サンプリングレートで、ＬＰ分析が実行される。
【０００９】
ＣＥＬＰ符号器は、１２．８ｋＨｚまたは１６ｋＨｚの内部サンプリングレート（ＳＲCELP）のいずれかで動作する。したがって、６．４または８ｋＨｚのオーディオ帯域幅までの信号を直接表すことができる。ＷＢ、ＳＷＢまたはＦＢでこの帯域幅を超えるオーディオコンテンツに対して、ＣＥＬＰの周波数表現より上のオーディオコンテンツは、帯域幅拡張機構によって符号化される。
【００１０】
ＭＤＣＴベースのＴＣＸは、周波数ドメイン符号化のサブモードである。ＬＰベースの符号化アプローチと同様に、ＴＣＸにおけるノイズ整形は、ＬＰフィルタに基づいて実行される。このＬＰＣ整形は、重み付き量子化ＬＰフィルタ係数から計算された利得ファクタをＭＤＣＴスペクトル（復号器側）に適用することにより、ＭＤＣＴドメインにおいて実行される。符号器側では、レートループの前に逆利得ファクタが適用される。これは、後段ではＬＰＣ整形利得の適用と呼ばれる。ＴＣＸは、入力サンプリングレート（ＳＲinp）に対して動作する。これは、付加的な帯域幅拡張なしに、ＭＤＣＴドメインにおいて完全なスペクトルを直接符号化するために利用される。ＭＤＣＴ変換が実行される入力サンプリングレートＳＲinpは、ＬＰ係数が計算されるＣＥＬＰサンプリングレートＳＲCELPよりも高くすることができる。したがって、ＬＰＣ整形利得は、ＭＤＣＴスペクトルのＣＥＬＰ周波数レンジ（ｆCELP）に対応する部分についてのみ計算することができ、スペクトルの残りの部分（もしあれば）については、最高周波数帯域の整形利得が使用される。
【００１１】
図２は、ＬＰＣ整形利得の適用、及びＭＤＣＴベースのＴＣＸについて、高レベルで示している。特に、図２は、符号器側における、ＴＣＸのノイズ整形および符号化、又は図１の周波数ドメイン符号化ブロック１２０の原理を示している。
【００１２】
特に、図２は符号器の概略ブロック図を示す。入力信号１０３はリサンプリングブロック２０１に入力され、ここでその信号にＣＥＬＰサンプリングレートＳＲCELP、即ち図１のＬＰベースの符号化ブロック１１０によって必要となるサンプリングレートへのリサンプリングが実行される。さらに、ＬＰＣパラメータを計算するＬＰＣ計算部２０３が設けられ、ブロック２０５においては、図１のＬＰベースの符号化ブロック１１０によってさらに処理される信号、即ちＡＣＥＬＰプロセッサを使用して符号化されるＬＰＣ残差信号を得るために、ＬＰＣベースの重み付けが実行される。
【００１３】
さらに、入力信号１０３は、如何なるリサンプリングなしに、ＭＤＣＴ変換として例示的に図示されている時間−スペクトル変換部２０７に入力される。さらに、ブロック２０９において、ブロック２０３によって計算されたＬＰＣパラメータがいくつかの計算の後に適用される。特に、ブロック２０９は、ライン２１３を介してブロック２０３から計算され、または代替的にもしくは追加的にブロック２０５から計算されたＬＰＣパラメータを受信し、次いで、対応する逆ＬＰＣ整形利得を適用するために、ＭＤＣＴまたは一般的にスペクトルドメイン重み係数を導出する。次に、ブロック２１１において、例えばグローバル利得を調整するレートループである一般的な量子化器／符号器操作が実行され、さらに、好ましくは周知のＥＶＳ符号器仕様に示されるような算術符号化を使用してスペクトル係数の量子化／符号化を実行し、ビットストリームを最終的に取得する。
【００１４】
ＳＲCELPでのコアコーダとより高いサンプリングレートで動作する帯域幅拡張機構とを組み合わせる、ＣＥＬＰ符号化手法とは対照的に、ＭＤＣＴベースの符号化手法は、入力サンプリングレートＳＲINPで直接的に動作し、フルスペクトルのコンテンツをＭＤＣＴドメインで符号化する。
【００１５】
ＭＤＣＴベースのＴＣＸは、１６ｋＨｚまでのオーディオコンテンツを、９．６または１３．２ｋビット／秒ＳＷＢのような低ビットレートで符号化する。このような低いビットレートでは、スペクトル係数の小さなサブセットのみを算術符号器によって直接符号化することができるので、スペクトル内の結果として生じるギャップ（０値の領域）は、２つの機構によって隠蔽される。
【００１６】
−ノイズ充填であって、復号化されたスペクトルにランダムノイズを挿入する。ノイズのエネルギーは、ビットストリーム内で伝送される利得ファクタによって制御される。
【００１７】
−インテリジェントギャップ充填（ＩＧＦ）であって、スペクトルの低い周波数部分から信号部分を挿入する。これらの挿入された周波数部分の特性は、ビットストリーム内で伝送されるパラメータによって制御される。
【００１８】
ノイズ充填は、最高周波数までの低周波数部分のために使用され、送信されたＬＰＣ（ｆCELP）によって制御可能である。この周波数よりも高い周波数では、ＩＧＦツールが使用され、このツールは挿入された周波数部分のレベルを制御するために他の機構を提供する。
【００１９】
どのスペクトル係数が符号化手順を生き残るか、またはノイズ充填もしくはＩＧＦによってどれが置換されるかを決定するために、２つのメカニズムがある。
【００２０】
１）レートループ(Rate loop)
逆ＬＰＣ整形利得を適用した後、レートループが適用される。このために、グローバル利得が推定される。その後、スペクトル係数は量子化され、量子化されたスペクトル係数は算術符号器で符号化される。算術符号器の実際の又は推定されたビット需要及び量子化誤差に基づいて、グローバル利得は増加又は減少される。これは量子化器の精度に影響する。精度が低いほど、より多くのスペクトル係数が０に量子化される。レートループの前に重み付きＬＰＣを使用して逆ＬＰＣ整形利得を適用することにより、知覚的に関係のないコンテンツよりも有意に高い確率で知覚的に関連するラインが生き残ることが保証される。
【００２１】
２）ＩＧＦトーンマスク（IGF Tonal mask）
ＬＰＣが利用可能でないｆCELPを超えた部分では、知覚的に関連するスペクトル成分を識別するための異なる機構が使用される：ライン毎のエネルギーが、ＩＧＦ領域における平均エネルギーと比較される。知覚的に関連する信号部分に対応する支配的なスペクトル線が維持され、他のすべての線は０に設定される。その後、ＩＧＦトーンマスクで前処理されたＭＤＣＴスペクトルは、レートループに供給される。
【００２２】
重み付きＬＰＣは、信号のスペクトル包絡に従う。重み付きＬＰＣを使用して逆ＬＰＣ整形利得を適用することによって、スペクトルの知覚的ホワイトニングが実行される。これは、符号化ループの前に、ＭＤＣＴスペクトルのダイナミックスを著しく減少させ、したがって、符号化ループ内のＭＤＣＴスペクトル係数の間のビット配分を制御する。
【００２３】
上述したように、重み付きＬＰＣは、ｆCELPを超える周波数に対しては利用可能ではない。これらのＭＤＣＴ係数に対して、ｆCELPよりも低い最高周波数帯域の整形利得が適用される。これが良好に機能するのはｆCELPよりも低い最高周波数帯域の整形利得がｆCELPよりも高い係数のエネルギーにほぼ対応する場合であり、その場合の多くはスペクトル傾斜に起因するものであり、ほとんどのオーディオ信号において観測され得る。したがって、高位帯域の整形情報が計算または送信される必要がないので、この手順は有利である。
【００２４】
しかし、ｆCELPを超える領域に強いスペクトル成分があり、ｆCELPより低い最高周波数帯域の整形利得が非常に低い場合、これは不整合をもたらす。この不整合は、最も高い振幅を有するスペクトル係数に焦点を当てた作業またはレートループに大きく影響する。これは、低いビットレートで、特に低帯域において、残りの信号成分を削除するであろうし、知覚的に不良な品質を生成する。
【００２５】
図３〜図６は、この問題を示している。図３は、逆ＬＰＣ整形利得を適用する前の絶対値ＭＤＣＴスペクトルを示し、図４は、対応するＬＰＣ整形利得を示す。ｆCELPより上側に視認できる強いピークがあり、これらピークはｆCELPより低い最高ピークと同じオーダーの大きさである。ｆCELPより上側のスペクトル成分は、ＩＧＦトーンマスクを使用した前処理の結果である。図５は、量子化の前であって、逆ＬＰＣ利得を適用した後の絶対値ＭＤＣＴスペクトルを示す。ここで、ｆCELPより上側のピークはｆCELPより下側のピークを有意に超えており、レートループが主にこれらのピークに焦点を合わせるという効果を有するであろう。図６は、低ビットレートでのレートループの結果を示す。ｆCELPより上側のピークを除く全てのスペクトル成分は、０に量子化されていた。これは、低周波数における聴覚心理的に非常に重要な信号部分が完全に失われているので、完全な復号化プロセスの後、知覚的に非常に悪い結果をもたらす。
【００２６】
図３は、逆ＬＰＣ整形利得を適用する前の臨界フレーム（critical frame）のＭＤＣＴスペクトルを示す。
【００２７】
図４は、適用されるＬＰＣ整形利得を示す。符号器側では、スペクトルに逆利得が乗算される。最後の利得値は、ｆCELPより上側のすべてのＭＤＣＴ係数に対して使用される。図４は右側境界にｆCELPを示す。
【００２８】
図５は、逆ＬＰＣ整形利得を適用した後の臨界フレームのＭＤＣＴスペクトルを示す。ｆCELPより上側の高いピークは明瞭に視認できる。
【００２９】
図６は、量子化後の臨界フレームのＭＤＣＴスペクトルを示している。表示されるスペクトルは、グローバル利得の適用を含むが、ＬＰＣ整形利得は含んでいない。ｆCELPを超えるピークを除く全てのスペクトル係数は、０に量子化されていることがわかる。
【先行技術文献】
【非特許文献】
【００３０】
【非特許文献１】[1] 3GPP TS 26.445 - Codec for Enhanced Voice Services (EVS); Detailed algorithmic description
【発明の概要】
【発明が解決しようとする課題】
【００３１】
本発明の目的は、改善されたオーディオ符号化の概念を提供することである。
【課題を解決するための手段】
【００３２】
この目的は、請求項１のオーディオ符号器、請求項２５のオーディオ信号を符号化する方法、または請求項２６のコンピュータプログラムによって達成される。
【００３３】
本発明は、オーディオ符号器に含まれる量子化器および符号器ステージの特異な特性に応じて、符号化すべきオーディオ信号を前処理することにより、このような従来技術の問題を解決することができるという発見に基づくものである。このために、オーディオ信号の高位周波数帯域のピークスペクトル領域が検出される。次に、低帯域の整形情報を用いて低周波帯域を整形し、低帯域の整形情報の少なくとも一部を用いて高位周波数帯域を整形する、整形部が用いられる。特に、整形部は、検出されたピークスペクトル領域内、すなわちオーディオ信号の高位周波数帯域における検出部によって検出されたピークスペクトル領域内のスペクトル値を減衰させるように追加的に構成される。次に、整形された低位周波数帯域と減衰された高位周波数帯域とが量子化され、かつエントロピー符号化される。
【００３４】
高位周波数帯域が選択的に、すなわち検出されたピークスペクトル領域内で減衰されていることにより、この検出されたピークスペクトル領域は、量子化器および符号器ステージの挙動をもはや十分に特徴付けることができない。
【００３５】
代わりに、オーディオ信号の高位周波数帯域において減衰が実行されているという事実に起因して、符号化動作の結果の全体的な知覚品質が改善される。特に低いビットレートであって、非常に低いビットレートが量子化器および符号器ステージの主な目標である場合、高位周波数帯域における高スペクトルピークは量子化器および符号器ステージによって必要とされるすべてのビットを消費しかねない。なぜなら、コーダは高い上側周波数部分に誘導され、その結果、これらの部分における利用可能なビットの大部分を使用しかねないからである。これは自動的に、知覚的により重要な低周波数レンジのための任意のビットがもはや利用可能でない状況をもたらせてしまう。したがって、このような手順は、符号化された高周波数部分のみを有し、その一方で低周波数部分は全く符号化されないか、または非常に大まかに符号化されているだけであるという信号をもたらすであろう。しかしながら、このような手順よりも知覚的に高い快適性を生む状況が判明してきた。即ち、支配的な高いスペクトル領域による問題のある状況が検出され、量子化器及びエントロピー符号器ステージを含む符号器手順を実行する前にそれらの高い周波数レンジのピークが減衰される状況である。
【００３６】
好ましくは、ピークスペクトル領域は、ＭＤＣＴスペクトルの高位周波数帯域で検出される。しかしながら、フィルタバンク、ＱＭＦフィルタバンク、ＤＦＴ、ＦＦＴ、又は任意の他の時間−周波数変換など、他の時間−スペクトル変換部を使用することも可能である。
【００３７】
さらに、本発明は、高位周波数帯域について整形情報を算出する必要がない点で有用である。その代わり、より低い周波数帯域に対して元々計算された整形情報が、高位周波数帯域を整形するために使用される。このように、本発明は、低帯域整形情報が高帯域を形成するためにも使用され得るので、計算的に非常に効率的な符号器を提供する。なぜなら、そのような状況すなわち高位周波数帯域における高いスペクトル値からもたらされる問題は、追加的減衰によって対処されるからであり、その追加的減衰は、例えば低帯域信号についてのＬＰＣパラメータによって特徴付けられ得る、低帯域信号のスペクトル包絡に典型的に基づいた単純な整形動作に加えて整形部によって追加的に適用される。しかし、スペクトル包絡は、スペクトルドメインにおいて整形を実行するために使用可能な任意の他の対応する尺度によって表現することもできる。
【００３８】
量子化器および符号器ステージは、整形された信号、すなわち整形された低帯域信号および整形された高帯域信号に対して量子化および符号化操作を実行するが、整形された高帯域信号は付加的な減衰をさらに受けている。
【００３９】
検出されたピークスペクトル領域における高帯域の減衰は、復号器により回復され得ない前処理動作であるが、しかし復号器の結果は、追加的減衰が適用されない状況と比較してより快適であり、その理由は、減衰によって知覚的により重要な低位周波数帯域に対してビットが残っているという事実が生じるからである。このように、ピークを有する高いスペクトル領域が全体の符号化結果を支配するという問題のある状況において、本発明は、そのようなピークを追加的に減衰させることで、最終的には、符号器は減衰された高周波数部分を有する信号を「見る」ことになり、したがって、符号化された信号が有用で知覚的に心地よい低周波数情報を依然として有している。高いスペクトル帯域に関する「犠牲」は、リスナーによって全く又は殆ど知覚されず、その理由は、リスナーが一般に信号の高周波数コンテンツの明瞭な描写を有しておらず、はるかに高い確率で低周波数成分に関する期待を有するからである。換言すると、非常に低いレベルの低周波数コンテンツを有するが、有意な高レベルの周波数コンテンツを有する信号は、典型的には不自然であると知覚される信号である。
【００４０】
本発明の好ましい実施形態は、ある時間フレームの線形予測係数を導出する線形予測分析部を含み、これらの線形予測係数は整形情報を表し、または整形情報はこれらの線形予測係数から導出される。
【００４１】
さらなる実施形態では、複数の整形ファクタが、低位周波数帯域の複数のサブバンドに対して計算され、高周波数帯域における重み付けのために、低位周波数帯域の最高のサブバンドに対して計算された整形ファクタが使用される。
【００４２】
さらなる実施形態では、検出部は、条件グループのうちの少なくとも一つが真である場合に、高位周波数帯域内のピークスペクトル領域を決定し、その条件グループは、少なくとも低位周波数帯域振幅条件、ピーク距離条件およびピーク振幅条件を含む。さらに好ましくは、ピークスペクトル領域は、２つの条件が同時に真である場合にのみ検出され、より好ましくは、ピークスペクトル領域は、３つの条件がすべて真である場合にのみ検出される。
【００４３】
さらなる実施形態では、検出部は、追加的減衰を伴うかまたは伴わない整形操作の前または後のいずれかで、条件を検査するために使用される、複数の値を決定する。
【００４４】
一実施形態では、整形部は、減衰ファクタを使用してスペクトル値をさらに減衰させ、この減衰ファクタは、１より大きいかまたは１に等しい所定の数で乗算され、かつ高位周波数帯域における最大スペクトル振幅によって除算された、低位周波数帯域における最大スペクトル振幅から導出される。
【００４５】
さらに、追加的減衰がどのように適用されるかについての具体的な方法は、いくつかの異なる方法で実施することができる。１つの方法は、検出されたピークスペクトル領域内のスペクトル値を整形するために、整形部がまず低位周波数帯域についての整形情報の少なくとも一部を使用して重み付けを実行することである。次に、その減衰情報を用いて後続の重み付け操作が実行される。
【００４６】
一つの代替手順は、まず減衰情報を使用して重み付け操作を適用し、次に、低位周波数帯域についての整形情報の少なくとも一部に対応する重み情報を使用して後続の重み付けを実行することである。さらに別の代替方法は、一方で減衰情報から導出され、他方で低位周波数帯域に関する整形情報の一部から導出される結合重み情報を用いて、単一の重み付け操作を適用することである。
【００４７】
乗算を用いて重み付けが行われる状況では、減衰情報は減衰ファクタであり、整形情報は整形ファクタであり、実際の結合重み情報は重みファクタ、すなわち単一の重み情報についての単一の重みファクタであり、この単一の重みファクタは、減衰情報と低帯域側帯域の整形情報とを乗算することによって導出される。このように、整形部は多くの異なる方法で実装することができるが、しかし、その結果は低帯域の整形情報と追加的減衰とを使用した高周波帯域の整形である、ことは明らかである。
【００４８】
一実施形態では、量子化器および符号器ステージは、エントロピー符号化されたオーディオ信号の所定のビットレートが得られるように、量子化器特性を推定するためのレートループプロセッサを含む。一実施形態では、この量子化器特性は、グローバル利得、つまり全周波数レンジに適用される利得値であり、すなわち量子化及び符号化されるべき全てのスペクトル値に適用される利得値である。要求されたビットレートがあるグローバル利得を使用して得られるビットレートより低いと思われるとき、グローバル利得は増加され、実際のビットレートが要求と一致するか、すなわち要求されたビットレート以下となるか否かが決定される。この手順は、グローバル利得が符号器において量子化の前に使用されるとき、スペクトル値がグローバル利得で除算されるように実行される。しかしながら、グローバル利得が異なるように使用される場合、すなわち量子化を実行する前にスペクトル値にグローバル利得を乗算することによって使用される場合には、実際のビットレートが高すぎる場合にグローバル利得が低減されるか、または実際のビットレートが許容可能な値よりも低い場合にグローバル利得が増加され得る。
【００４９】
しかし、あるレートループ条件においては、他の符号器ステージ特性を使用することもできる。１つの方法は、例えば、周波数選択的利得である。さらなる手順は、要求されるビットレートに応じてオーディオ信号の帯域幅を調整することである。一般に、最終的には、要求される（典型的には低い）ビットレートに一致するビットレートが得られるように、様々な量子化器特性へ変更され得る。
【００５０】
好ましくは、この手順は、インテリジェント・ギャップ充填処理（ＩＧＦ処理）と組み合わされるのに特に適している。この手順では、トーンマスクプロセッサは、量子化されエントロピー符号化されるべきスペクトル値の第１グループと、ギャップ充填手順によってパラメトリックに符号化されるべきスペクトル値の第２グループとを、高位周波数帯域において決定するために適用される。トーンマスクプロセッサは、スペクトル値の第２グループを０値に設定し、これらの値が量子化器／符号器ステージにおいて多くのビットを消費しないようにする。他方で、量子化及びエントロピー符号化されるべきスペクトル値の第１グループに属する典型的な値は、ある環境下において、量子化器／符号器ステージの問題状況の場合に検出され追加的に減衰され得るピークスペクトル領域内の値であるように思われる。したがって、インテリジェント・ギャップ充填フレームワーク内のトーンマスクプロセッサと、検出されたピークスペクトル領域の追加的減衰との組み合わせは、非常に効率的な符号器手順をもたらし、それはさらに、後方互換性があり、それにもかかわらず、非常に低いビットレートであっても良好な知覚的品質をもたらす。
【００５１】
ｆCELPより高い周波数に適用される利得を実際のＭＤＣＴスペクトル係数に良好に適合させるために、ＬＰＣの周波数レンジを拡張する方法または他の手段を含む実施形態は、この問題に対処する潜在的解決策よりも有利である。しかしながら、この手順は、コーデックが既に市場で展開されている場合に後方互換性を打ち消し、前述の方法は既存の実施への相互運用性を打ち消す可能性がある。
【００５２】
次に、添付の図面を参照して本発明の好ましい実施形態を説明する。
【図面の簡単な説明】
【００５３】
【図１】ＥＶＳにおける共通の処理および異なる符号化スキームを示す。
【図２】符号器側のＴＣＸにおけるノイズ整形及び符号化の原理を示す。
【図３】逆ＬＰＣ整形利得の適用前の臨界フレームのＭＤＣＴスペクトルを示す。
【図４】ＬＰＣ整形利得が適用された状態での図３の状況を示す。
【図５】逆ＬＰＣ整形利得の適用後の臨界フレームのＭＤＣＴスペクトルを示し、ｆCELPより上側の高いピークは明瞭に可視である。
【図６】ハイパス情報のみを有しローパス情報を有しない量子化後の臨界フレームのＭＤＣＴスペクトルを示す。
【図７】逆ＬＰＣ整形利得と本発明の符号器側前処理との適用後の臨界フレームのＭＤＣＴスペクトルを示す。
【図８】オーディオ信号を符号化するためのオーディオ符号器の好ましい実施形態を示す。
【図９】異なる周波数帯域のための異なる整形情報の計算と、高帯域のための低帯域整形情報の使用とに関する状況を示す。
【図１０】オーディオ符号器の好ましい実施形態を示す。
【図１１】ピークスペクトル領域を検出するための検出部の機能を説明するためのフローチャートである。
【図１２】低帯域振幅条件の実装の好ましい実装例を示す。
【図１３】ピーク距離条件の実装の好ましい実施形態を示す。
【図１４】ピーク振幅条件の実装の好ましい実装例を示す。
【図１５ａ】量子化器および符号器ステージの好ましい実装形態を示す。
【図１５ｂ】レートループプロセッサとしての量子化器および符号器ステージの動作を説明するためのフローチャートである。
【図１６】好ましい実施形態における減衰ファクタを決定するための決定手順を示す。
【図１７】低帯域整形情報を高位周波数帯域に適用し、整形されたスペクトル値を２つの後続のステップで追加的に減衰させる好適な実施例を示す。
【発明を実施するための形態】
【００５４】
図８は、低位周波数帯域および高位周波数帯域を有するオーディオ信号１０３を符号化するためのオーディオ符号器の好ましい実施形態を示す。オーディオ符号器は、オーディオ信号１０３の高位周波数帯域内のピークスペクトル領域を検出するための検出部８０２を備えている。さらに、オーディオ符号器は、低帯域のための整形情報を用いて低位周波数帯域を整形し、低位周波数帯域のための整形情報の少なくとも一部を使用して高位周波数帯域を整形する整形部８０４を含む。さらに、整形部は、高位周波数帯域において検出されたピークスペクトル領域内のスペクトル値を追加的に減衰させるように構成されている。
【００５５】
このように、整形部８０４は、低帯域のための整形情報を用いて、低帯域におけるある種の「単一整形」を実行する。さらに、整形部は、低帯域のための整形情報、および典型的には最高周波数の低帯域の整形情報を使用して、高帯域におけるある種の「単一の」整形を追加的に実行する。この「単一の」整形は、検出部８０２によってピークスペクトル領域が検出されていない高帯域におけるいくつかの実施形態の中で実行される。さらに、高帯域内のピークスペクトル領域に対して、一種の「二重」整形が実行され、すなわち、低帯域からの整形情報がピークスペクトル領域に適用され、さらに、追加的減衰がピークスペクトル領域に適用される。
【００５６】
整形部８０４の結果は整形された信号８０５である。整形された信号は、整形された低位周波数帯域と整形された高位周波数帯域とであり、整形された高位周波数帯域はピークスペクトル領域を含む。この整形された信号８０５は量子化器および符号器ステージ８０６に送られ、このステージは、整形された低位周波数帯域とピークスペクトル領域を含む整形された高位周波数帯域とを量子化し、かつ整形された低位周波数帯域とピークスペクトル領域を含む整形された高位周波数帯域とからの量子化されたスペクトル値をエントロピー符号化して、符号化されたオーディオ信号８１４を得るものである。
【００５７】
好ましくは、オーディオ符号器は、時間フレームにおけるオーディオサンプルのブロックを分析することによって、オーディオ信号の時間フレームについて線形予測係数を導出する線形予測符号化分析部８０８を含む。好ましくは、これらのオーディオサンプルは、低位周波数帯域に帯域制限されている。
【００５８】
さらに、整形部８０４は、図８に８１２で示すように、整形情報として線形予測係数を使用して、低位周波数帯域を整形するように構成される。さらに、整形部８０４は、オーディオ信号の時間フレームにおける高位周波数帯域を整形するために、低位周波数帯域に帯域制限されたオーディオサンプルのブロックから導出された線形予測係数の少なくとも一部を使用するように構成される。
【００５９】
図９に示すように、低位周波数帯域は、好ましくは、例えば４つのサブバンドＳＢ１、ＳＢ２、ＳＢ３およびＳＢ４のような複数のサブバンドに細分化される。さらに、概略的に図示されるように、サブバンド幅は、低位サブバンドから高位サブバンドにかけて増加する、すなわちサブバンドＳＢ４はサブバンドＳＢ１よりも周波数がより広い。しかし、他の実施形態では、同じ帯域幅を有する帯域も同様に使用することができる。
【００６０】
サブバンドＳＢ１〜ＳＢ４は、例えばｆCELPである境界周波数まで延びる。このように、境界周波数ｆCELPより低位のすべてのサブバンドは低帯域を構成し、境界周波数より高位の周波数コンテンツは高帯域を構成する。
【００６１】
特に、図８のＬＰＣ分析部８０８は、典型的には、各サブバンドについての整形情報を個別に計算する。このように、ＬＰＣ分析部８０８は、好ましくは、各サブバンドが関連する各整形情報を有するように、４つのサブバンドＳＢ１〜ＳＢ４に対して４つの異なる種類のサブバンド情報を計算する。
【００６２】
さらに、整形部８０４により各サブバンドＳＢ１〜ＳＢ４に対し、正にこのサブバンドについて計算された整形情報を用いて整形が適用される。重要なことは、高帯域について整形が行われるが、整形情報を計算する線形予測分析部が低位周波数帯域に帯域制限された帯域制限信号を受信するという事実に起因して、高帯域についての整形情報が算出されていないという点である。しかしながら、高周波数帯域についての整形を行うために、サブバンドＳＢ４の整形情報が高帯域を整形するために使用される。このように、整形部８０４は、低位周波数帯域の最も高いサブバンドについて計算された整形ファクタを使用して、高位周波数帯域のスペクトル係数を重み付けするように構成されている。図９のＳＢ４に対応する最も高いサブバンドは、低位周波数帯域のサブバンドの全ての中心周波数のうちで最も高い中心周波数を有する。
【００６３】
図１１は、検出部８０２の機能を説明するための好ましいフローチャートを示している。特に、検出部８０２は、あるグループの条件の少なくとも１つが真である場合に、高位周波数帯域におけるピークスペクトル領域を決定するように構成され、ここで、そのグループの条件は、低帯域振幅条件１１０２と、ピーク距離条件１１０４と、ピーク振幅条件１１０６とを含む。
【００６４】
好ましくは、異なる条件は、図１１に示された正にその順序で適用される。すなわち、低帯域振幅条件１１０２がピーク距離条件１１０４の前に算出され、ピーク距離条件がピーク振幅条件１１０６の前に算出される。ピークスペクトル領域を検出するために３つの条件全てが真でなければならない状況では、図１１における逐次的処理を適用することにより、計算効率の良い検出部が得られ、ある条件が真でない、すなわち偽である場合には即座に、ある時間フレームの検出処理を停止し、この時間フレームにおけるピークスペクトル領域の減衰が必要でないと判定される。したがって、ある時間フレームについて低帯域振幅条件１１０２が満たされていない、すなわち偽であると既に決定されている場合には、このコントローラは、この時間フレームにおけるピークスペクトル領域の減衰は必要ではないという決定をくだし、いかなる追加的減衰なしに処理が続く。しかし、条件１１０２が真であるとコントローラが判定した場合、第２の条件１１０４が決定される。このピーク距離条件は、ピーク振幅１１０６の前に再び決定され、その結果、条件１１０４が偽の結果をもたらす場合、ピークスペクトル領域の減衰が行われないとコントローラが判定する。ピーク距離条件１１０４が真の結果を有している場合にのみ、第３のピーク振幅条件１１０６が決定される。
【００６５】
他の実施形態では、多かれ少なかれ何らかの条件を決定することができ、逐次的または並列的な判定を実行することができる。しかしながら、バッテリー駆動であるモバイル用途において特に価値のある計算資源を節約するために、図１１に例示的に示されている逐次的な決定が好ましい。
【００６６】
図１２、１３、１４は、条件１１０２、１１０４および１１０６についての好ましい実施形態を提供する。
【００６７】
低帯域振幅条件では、ブロック１２０２で示されるように、低帯域における最大スペクトル振幅が決定される。この値はｍａｘ＿ｌｏｗである。さらに、ブロック１２０４では、ｍａｘ＿ｈｉｇｈとして示される高位帯域における最大スペクトル振幅が決定される。
【００６８】
ブロック１２０６では、条件１１０２の偽又は真の結果を得るために、ブロック１２０２及び１２０４から決定された値が好ましくは所定数ｃ1と一緒に処理される。好ましくは、ブロック１２０２および１２０４における決定は、低帯域整形情報を用いた整形の前、すなわち、スペクトル整形部８０４、又は図１０に関して８０４ａによって実行される手順の前に実行される。
【００６９】
ブロック１２０６で使用される図１２の所定数ｃ1について、１６の値が好ましいが、４と３０の間の値が同様に有用であることが証明されている。
【００７０】
図１３は、ピーク距離条件の好ましい実施形態を示している。ブロック１３０２において、ｍａｘ＿ｌｏｗとして示される、低帯域における第１の最大スペクトル振幅が決定される。
【００７１】
さらに、ブロック１３０４に示されるように、第１のスペクトル距離が決定される。この第１のスペクトル距離はｄｉｓｔ＿ｌｏｗとして示されている。特に、第１のスペクトル距離は、ブロック１３０２によって決定された第１の最大スペクトル振幅の、低位周波数帯域の中心周波数と高位周波数帯域の中心周波数との間の境界周波数からの距離である。好ましくは、境界周波数はｆ＿ｃｅｌｐであるが、この周波数は、先に概説したような任意の他の値を有することができる。
【００７２】
さらに、ブロック１３０６は、ｍａｘ＿ｈｉｇｈと呼ばれる高位帯域内の第２の最大スペクトル振幅を決定する。さらに、第２のスペクトル距離１３０８が決定され、ｄｉｓｔ＿ｈｉｇｈとして示される。境界周波数からの第２の最大スペクトル振幅の第２のスペクトル距離は、好ましくは、境界周波数としてｆ＿ｃｅｌｐを用いて再度決定されるのが好ましい。
【００７３】
さらに、ブロック１３１０では、第１のスペクトル距離によって重み付けされ、かつ１より大きい所定数によって重み付けされた第１の最大スペクトル振幅が、第２のスペクトル距離によって重み付けされた第２の最大スペクトル振幅より大きいとき、ピーク距離条件が真であるかどうか、が判定される。
【００７４】
好ましくは、所定の数ｃ2は、最も好ましい実施形態では４に等しい。１．５〜８の値が有用であることが証明されている。
【００７５】
好ましくは、ブロック１３０２および１３０６における決定は、低帯域整形情報を用いた整形の後、すなわちブロック８０４ａに続いて実行されるが、勿論図１０のブロック８０４ｂの前に実行される。
【００７６】
図１４は、ピーク振幅条件の好ましい実装形態を示す。特に、ブロック１４０２は低位帯域における第１の最大スペクトル振幅を決定し、ブロック１４０４は高位帯域における第２の最大スペクトル振幅を決定し、ここで、ブロック１４０２の結果がｍａｘ＿ｌｏｗ２として示され、ブロック１４０４の結果がｍａｘ＿ｈｉｇｈとして示される。
【００７７】
次に、ブロック１４０６で示すように、第２の最大スペクトル振幅が１以上の所定数ｃ3によって重み付けされた第１の最大スペクトル振幅より大きい場合には、ピーク振幅条件は真である。ｃ3は、好ましくは、異なるレートに依存して１．５の値又は３の値に設定されるが、一般に、１．０と５．０の間の値が有用であることが証明されている。
【００７８】
さらに、図１４に示されるように、ブロック１４０２、１４０４での判定は、低帯域整形情報を用いた整形の後に行われ、すなわちブロック８０４ａに示された処理の後で、かつブロック８０４ｂに示された処理の前に行われ、または図１７に関して言えば、ブロック１７０２の後でブロック１７０４の前に行われる。
【００７９】
他の実施形態では、ピーク振幅条件１１０６、特に図１４のブロック１４０２の手順は、低位周波数帯域の最小値、すなわちスペクトルの最低周波数値から決定されないが、低帯域における第１の最大スペクトル振幅の決定は低帯域の一部に基づいて決定され、その一部は、所定の開始周波数から低位周波数帯域の最大周波数まで延びており、所定の開始周波数は、低位周波数帯域の最小周波数よりも大きい。一実施形態では、所定の開始周波数は、低位周波数帯域の最小周波数よりも上側の低位周波数帯域の少なくとも１０％であるか、または他の実施形態では、所定の開始周波数は、最大周波数の半分の±１０％の許容範囲内で、低位周波数帯域の最大周波数の半分に等しい周波数である。
【００８０】
さらに、第３の所定数ｃ3は、量子化器／符号器ステージによって提供されるビットレートに依存するのが好ましく、所定数は高いビットレートに対してより高いことが好ましい。換言すると、量子化器および符号器ステージ８０６によって提供されるべきビットレートが高い場合、ｃ3は高く、ビットレートが低いと決定された場合、所定数ｃ3は低い。ブロック１４０６における好ましい式を考慮した場合、所定数ｃ3が高くなる程、ピークスペクトル領域がより稀に決定されることが明らかになる。しかし、ｃ3が小さい場合には、最終的に減衰されるべきスペクトル値が存在するピークスペクトル領域がより頻繁に決定される。
【００８１】
ブロック１２０２、１２０４、１４０２、１４０４または１３０２および１３０６は、スペクトル振幅を常に決定する。スペクトル振幅は様々に決定することができる。スペクトル包絡の決定の１つの方法は、実数スペクトルのスペクトル値の絶対値を決定することである。代替的に、スペクトル振幅は、複素スペクトル値の大きさであってもよい。他の実施形態では、スペクトル振幅は、実数スペクトルのスペクトル値の任意の羃であるか、または複素スペクトルの大きさの任意の羃であり、その羃は１より大きい。好ましくは、羃は整数であるが、１．５または２．５の羃がさらに有用であることが証明されている。しかしながら、好ましくは２または３の羃がよい。
【００８２】
一般に、整形部８０４は、高位周波数帯域における最大スペクトル振幅および／または低位周波数帯域における最大スペクトル振幅に基づいて、検出されたピークスペクトル領域内の少なくとも１つのスペクトル値を減衰させるように構成される。他の実施形態では、整形部は、低位周波数帯域の一部における最大スペクトル振幅を決定するように構成され、この一部は、低位周波数帯域の所定の開始周波数から低位周波数帯域の最大周波数まで延びている。所定の開始周波数は、低位周波数帯域の最小周波数よりも大きく、好ましくは、低位周波数帯域の最小周波数よりも高い低位周波数帯域の少なくとも１０％であるか、または所定の開始周波数は、最大周波数の半分の±１０％以内の許容範囲内で、低位周波数帯域の最大周波数の半分に等しい周波数であることが好ましい。
【００８３】
整形部はさらに、追加的減衰を決定する減衰ファクタを決定するように構成され、ここで減衰ファクタは、１以上の所定数が乗算され、かつ高位周波数帯域における最大スペクトル振幅で除算された、低位周波数帯域における最大スペクトル振幅から導出される。このために、低帯域における最大スペクトル振幅の決定（好ましくは整形後、すなわち図１０のブロック８０４ａの後、または図１７のブロック１７０２の後）を示すブロック１６０２が参照される。
【００８４】
さらに、整形部は、やはり好ましくは、例えば図１０のブロック８０４ａ、又は図１７のブロック１７０２によって実行される整形の後に、高帯域における最大スペクトル振幅を決定するように構成される。次に、ブロック１６０６において、減衰ファクタｆａｃが図示されるように計算され、ここで所定数ｃ3は１以上に設定される。実施形態において、図１６のｃ3は、図１４の場合と同じ所定数ｃ3である。しかしながら、他の実施形態では、図１６のｃ3は、図１４のｃ3とは異なるように設定することができる。さらに、減衰ファクタに直接影響を及ぼす図１６のｃ3はビットレートにも依存するので、図８に示される量子化器／符号器ステージ８０６によって実行されるように、より高いビットレートに対してより高い所定数ｃ3を設定することができる。
【００８５】
図１７は、図１０において、ブロック８０４ａ及び８０４ｂで示されたものと同様の好ましい実装例を示している。すなわち、ｆcelpのような境界周波数より上側のスペクトル値に対して低帯域利得情報を用いた整形が適用され、境界周波数より上側の整形されたスペクトル値が取得され、さらに次のステップ１７０４において、図１６のブロック１６０６により計算された減衰ファクタｆａｃが図１７のブロック１７０４に適用される。このように、図１７及び図１０は、整形部が、低位周波数帯域に関する整形情報の一部を使用する第１の重み付け動作と、減衰情報、すなわち例示的な減衰ファクタｆａｃを使用する第２の後続の重み付け動作とに基づいて、検出されたスペクトル領域内でスペクトル値を整形するように構成される状況を示す。
【００８６】
しかしながら、他の実施形態では、図１７におけるステップの順序は逆転され、そのため、第１の重み付け動作が減衰情報を使用して実行され、第２の後続の重み付け操作は、低位周波数帯域についての整形情報の少なくとも一部を使用して実行される。又は代替的に、一方では減衰情報に、他方では低位周波数帯域についての整形情報の少なくとも一部に、依存しかつそれから導出される、結合重み情報を使用した単一の重み付け操作を用いて整形が実行される。
【００８７】
図1７に示すように、追加の減衰情報は、検出されたピークスペクトル領域内の全てのスペクトル値に適用される。代替的に、減衰ファクタは、例えば、最も高いスペクトル値または最も高いスペクトル値のグループにのみ適用され、そのグループのメンバーは、例えば２〜１０の範囲であってもよい。さらに、実施形態はまた、オーディオ信号の時間フレームのために、ピークスペクトル領域が検出部によって検出されていた高位周波数帯域内の全てのスペクトル値に減衰ファクタを適用する。したがって、この実施形態では、ピークスペクトル領域として単一のスペクトル値のみが決定された場合に、同じ減衰ファクタが高位周波数帯域全体に適用される。
【００８８】
あるフレームについて、ピークスペクトル領域が検出されなかった場合、次に低位周波数帯域および高位周波数帯域は、整形部によって追加的減衰なしに整形される。このとき、時間フレームから時間フレームへの切り替えが実行され、ここでは、実装に応じて、減衰情報のある種の平滑化を行うことが好ましい。
【００８９】
好ましくは、量子化器および符号器ステージは、図１５ａおよび１５ｂに示されるように、レートループプロセッサを含む。一実施形態では、量子化器および符号器ステージ８０６は、グローバル利得重み付け部１５０２、量子化器１５０４、および算術符号器またはハフマン符号器などのエントロピー符号器１５０６を備える。さらに、エントロピー符号器１５０６は、時間フレームの量子化値のあるセットに対して、推定されまたは測定されたビットレートをコントローラ１５０８へ供給する。
【００９０】
コントローラ１５０８は、一方でループ終了基準を受信し、および／または他方で所定のビットレート情報を受信するように構成される。コントローラ１５０８が、所定のビットレートが得られない、および／または終了基準が満たされないと判定すると直ちに、コントローラは、調整済みのグローバル利得をグローバル利得重み付け部１５０２へ提供する。次に、グローバル利得重み付け部は、調整済のグローバル利得を、時間フレームの整形されかつ減衰されたスペクトル線に適用する。ブロック１５０２から出力される重み付けられたグローバル利得は量子化器１５０４へ供給され、量子化結果はエントロピー符号器１５０６へ供給され、このエントロピー符号器は調整済みのグローバル利得で重み付けされたデータに関する推定又は測定ビットレートを再度決定する。終了基準が満たされ、及び／又は所定のビットレートが満たされた場合、次に符号化されたオーディオ信号は出力ライン８１４で出力される。しかし、所定のビットレートが得られない、または終了基準が満たされない場合には、そのループは再び開始する。これは、図１５ｂにさらに詳細に示されている。
【００９１】
ブロック１５１０に示すように、ビットレートが高過ぎるとコントローラ１５０８が判断すると、ブロック１５１２に示すように、グローバル利得が増加する。したがって、全ての整形されかつ減衰されたスペクトル線は、増大されたグローバル利得で除算されるので、より小さくなり、次に量子化器がより小さいスペクトル値を量子化し、その結果、エントロピー符号器は、この時間フレームに対してより少数の必要なビットをもたらす。したがって、重み付け、量子化および符号化の手順は、図１５ｂのブロック１５１４で示されるように、調整済みのグローバル利得を用いて実行され、次にビットレートが高過ぎるかどうかが再度決定される。ビットレートが依然として高過ぎる場合、再度ブロック１５１２および１５１４が実行される。しかしながら、ビットレートが高過ぎないと判定された場合には、制御は終了基準が満たされているか否かを判定するステップ１５１６へと進む。終了基準が満たされると、レートループは停止され、最終的なグローバル利得は、図１０の出力インタフェース１０１４のような出力インタフェースを介して符号化された信号に追加的に導入される。
【００９２】
しかしながら、終了基準が満たされていないと判定された場合、ブロック１５１８に示すように、グローバル利得が減少され、最終的には、許容される最大ビットレートが使用される。これは、符号化が容易である時間フレームがより高い精度で、すなわち損失の少ない状態で符号化されることを保証する。したがって、このような場合、グローバル利得はブロック１５１８に示されるように減少され、ステップ１５１４はこの減少されたグローバル利得を用いて実行され、ステップ１５１０は結果としてのビットレートが高過ぎるか否かを調べるために実行される。
【００９３】
当然ながら、グローバル利得増加または減少の増分（increment）に関する特異な実装は、必要に応じて設定することができる。加えて、コントローラ１５０８は、ブロック１５１０、１５１２および１５１４を有するか、またはブロック１５１０、１５１６、１５１８および１５１４を有するかのいずれかで実装することができる。このように、実装に依存して、またグローバル利得の開始値に依存して、この手順は、非常に高いグローバル利得から開始して、ビットレート要件を依然として満たす最低のグローバル利得が見つかるまで開始されるようなものであり得る。一方、この手順は、非常に低いグローバル利得から開始され、許容ビットレートが得られるまでグローバル利得が増加されるような方法で行うことができる。さらに、図１５ｂに示すように、両方の手順間の組合せであっても適用することができる。
【００９４】
図１０は、切り替え型の時間ドメイン／周波数ドメインの符号器設定内への、ブロック８０２、８０４ａ、８０４ｂ、８０６からなる本発明のオーディオ符号器の埋め込みを示す。
【００９５】
特に、オーディオ符号器は共通プロセッサを含む。共通プロセッサは、ＡＣＥＬＰ／ＴＣＸコントローラ１００４と、リサンプラ１００６のような帯域制限部と、ＬＰＣ分析部８０８とからなる。これは、１００２で示されるハッチングされたボックスによって図示されている。
【００９６】
さらに、帯域制限部は、図８に関して既に説明したＬＰＣ分析部へと供給する。次に、ＬＰＣ分析部８０８により生成されたＬＰＣ整形情報はＣＥＬＰコーダ１００８に送られ、ＣＥＬＰコーダ１００８の出力は最終的に符号化された信号１０２０を生成する出力インタフェース１０１４に入力される。さらに、コーダ１００８からなる時間ドメイン符号化ブランチは、時間ドメイン帯域幅拡張コーダ１０１０を追加的に含み、この帯域幅拡張コーダは、情報、及び典型的には、入力１００１において入力された全帯域オーディオ信号の少なくとも高帯域についてのスペクトル包絡情報のようなパラメトリック情報を提供する。好ましくは、時間ドメイン帯域幅拡張コーダ１０１０によって処理された高帯域は、帯域制限部１００６によっても使用される境界周波数で始まる帯域である。このように、帯域制限部は低帯域を得るためにローパスフィルタリングを実行し、ローパス帯域制限部１００６によってフィルタ除去された高帯域は、時間ドメイン帯域幅拡張コーダ１０１０によって処理される。
【００９７】
他方、スペクトルドメインまたはＴＣＸ符号化ブランチは、時間−スペクトル変換部１０１２と、例えばギャップ充填符号器処理を得るために前述したようなトーンマスクとを含む。
【００９８】
次に、時間−スペクトル変換部１０１２と追加的な任意のトーンマスク処理との結果がスペクトル整形部８０４ａに入力され、スペクトル整形部８０４ａの結果は減衰部８０４ｂに入力される。減衰部８０４ｂは、時間ドメインデータ、または１０２２に示されるように時間−スペクトル変換ブロック１０１２の出力のいずれかを使用して検出を実行する、検出部８０２によって制御される。ブロック８０４ａおよび８０４ｂは共に、前述したように図８の整形部８０４を構成する。ブロック８０４の結果は、量子化器および符号器ステージ８０６に入力され、ある実施形態では、そのステージは所定のビットレートによって制御される。さらに、検出部によって適用される所定数も所定のビットレートに依存する場合、その所定のビットレートは検出部８０２（図１０には図示せず）にも入力される。
【００９９】
このように、符号化された信号１０２０は、量子化器および符号器ステージからのデータと、コントローラ１００４からの制御情報と、ＣＥＬＰコーダ１００８からの情報と、時間ドメイン帯域幅拡張コーダ１０１０からの情報とを受け取る。
【０１００】
次に、本発明の好ましい実施の形態について、さらに詳細に説明する。
【０１０１】
既存の実装に対する相互運用性および後方互換性を守る選択肢は、符号器側の前処理を実行することである。そのアルゴリズムは、後に説明するように、ＭＤＣＴスペクトルを分析する。ｆCELPより下側に有意な信号成分が存在し、レートループにおける完全なスペクトルの符号化を潜在的に破壊するような高いピークがｆCELPより上側に見出される場合、ｆCELPより上側のこれらピークは減衰される。その減衰は復号器側で回復され得ないが、結果として得られる復号化信号は、スペクトルの大部分が完全にゼロ化された従来よりも知覚的に有意に快適である。
【０１０２】
減衰は、ｆCELPより上側のピークにレートループが集中することを抑制し、有意な低周波ＭＤＣＴ係数がレートループ後に存続することを可能にする。
【０１０３】
以下のアルゴリズムは、符号器側の前処理を記述している。
【０１０４】
１）低帯域コンテンツの検出（例えば１１０２）
低帯域コンテンツの検出は、有意な低帯域信号部分が存在するかどうかを分析する。このために、逆ＬＰＣ整形利得の適用前に、ＭＤＣＴスペクトル上で、ｆCELPの下側および上側のＭＤＣＴスペクトルの最大振幅が探索される。検索手順は、以下の値をリターンする。
ａ）ｍａｘ＿ｌｏｗ＿ｐｒｅ：逆ＬＰＣ整形利得の適用前に絶対値のスペクトル上で評価された、ｆCELPより下側の最大ＭＤＣＴ係数。
ｂ）ｍａｘ＿ｈｉｇｈ＿ｐｒｅ：逆ＬＰＣ整形利得の適用前に絶対値のスペクトル上で評価された、ｆCELPより上側の最大ＭＤＣＴ係数。判定のために、以下の条件が評価される。
条件１：ｃ1＊ｍａｘ＿ｌｏｗ＿ｐｒｅ＞ｍａｘ＿ｈｉｇｈ＿ｐｒｅ。
条件１が真である場合、かなりの量の低帯域コンテンツが想定され、前処理が継続される。条件１が偽である場合、前処理が中止される。これは、例えば、ｆCELPより上側の正弦波掃引（sine-sweep）などの高帯域のみの信号に対して、損傷を与えないことを保証する。
【０１０５】
擬似コード：
2020181203.tif 000003
【０１０６】
ここで、ＸMは、逆ＬＰＣ利得整形を適用する前のＭＤＣＴスペクトルであり、ＬTCX(CELP)は、ｆCELPまでのＭＤＣＴ係数の数であり、ＬTCX(BW)は、フルＭＤＣＴスペクトルについてのＭＤＣＴ係数の数である。一実施例では、ｃ1は１６に設定され、ｆａｂｓは絶対値をリターンする。
【０１０７】
２）ピーク距離メトリックの評価（例えば１１０４）
ピーク距離メトリックは、ｆCELPより上側のスペクトルピークの算術符号器への影響を分析する。したがって、逆ＬＰＣ整形利得の適用後、すなわち算術符号器が適用されるドメインにおいて、ｆCELPより下側および上側のＭＤＣＴスペクトルの最大振幅が、ＭＤＣＴスペクトル上で探索される。最大振幅に加えて、ｆCELPからの距離も評価される。検索手順は、以下の値をリターンする。
ａ）ｍａｘ＿ｌｏｗ：逆ＬＰＣ整形利得の適用後に絶対値のスペクトル上で評価された、ｆCELPより下側の最大ＭＤＣＴ係数
ｂ）ｄｉｓｔ＿ｌｏｗ：  ｆCELPからのｍａｘ＿ｌｏｗの距離
ｃ）ｍａｘ＿ｈｉｇｈ：逆ＬＰＣ整形利得の適用後に絶対値のスペクトル上で評価された、ｆCELPより上側の最大ＭＤＣＴ係数
ｄ）ｄｉｓｔ＿ｈｉｇｈ：  ｆCELPからのｍａｘ＿ｈｉｇｈの距離
【０１０８】
判定のために、以下の条件が評価される。
条件２：ｃ2＊ｄｉｓｔ＿ｈｉｇｈ＊ｍａｘ＿ｈｉｇｈ＞ｄｉｓｔ＿ｌｏｗ＊ｍａｘ＿ｌｏｗ
条件２が真である場合、非常に高いスペクトルピークまたはこのピークの高周波数のいずれかに起因して、算術符号器に対して有意なストレスが想定される。高いピークは、レートループにおける符号化プロセスを支配することになり、高周波数は算術符号器を不利にするであろう。なぜなら、算術符号器は常に低周波数から高周波数へと作動する、すなわち、高周波数は符号化に非効率的だからである。条件２が真である場合、前処理は継続される。条件２が偽である場合には、前処理は中止される。
【０１０９】
2020181203.tif 000004
【０１１０】
ここで、
2020181203.tif 000005
は、逆ＬＰＣ利得整形を適用した後のＭＤＣＴスペクトルであり、ＬTCX(CELP)は、ｆCELPまでのＭＤＣＴ係数の数であり、ＬTCX(BW)は、フルＭＤＣＴスペクトルのためのＭＤＣＴ係数の数である。一実施例では、ｃ2は４に設定される。
【０１１１】
３）ピーク振幅の比較（例えば１１０６）
最後に、心理音響的に類似したスペクトル領域におけるピーク振幅が比較される。したがって、逆ＬＰＣ整形利得の適用後、ＭＤＣＴスペクトル上で、ｆCELPより下側および上側のＭＤＣＴスペクトルの最大振幅が探索される。ｆCELPより下側のＭＤＣＴスペクトルの最大振幅は、フルスペクトルについて探索されず、ｆlow＞０Ｈｚで開始するだけである。これは、心理音響的に最も重要でありかつ逆ＬＰＣ整形利得の適用後に通常最も高い振幅を有する、最も低い周波数を破棄するためであり、同様の心理音響的重要性を有する成分同士を単に比較するためである。探索手順は、以下の値をリターンする。
ａ）ｍａｘ＿ｌｏｗ２：ｆlowから始まる逆ＬＰＣ整形利得の適用後に、絶対値のスペクトル上で評価された、ｆCELPより下側の最大ＭＤＣＴ係数
ｂ）ｍａｘ＿ｈｉｇｈ：逆ＬＰＣ整形利得の適用後に、絶対値のスペクトル上で評価された、ｆCELPより上側の最大ＭＤＣＴ係数
【０１１２】
判定のために、以下の条件が評価される。
条件３：ｍａｘ＿ｈｉｇｈ＞ｃ3＊ｍａｘ＿ｌｏｗ２
条件３が真である場合、ｆCELPより上側のスペクトル係数が想定され、それはｆCELPの直ぐ下側よりも有意に高い振幅を有し、符号化のためにコストがかかると想定される。定数ｃ3は、チューニングパラメータである最大利得を定義する。条件２が真である場合、前処理は継続される。条件２が偽である場合には、前処理は中止される。
【０１１３】
擬似コード：
2020181203.tif 000006
【０１１４】
ここで、Ｌlowは、ｆlowに対応するオフセットであり、ＸMは、逆ＬＰＣ利得整形を適用した後のＭＤＣＴスペクトルであり、ＬTCX(CELP)は、ｆCELPまでのＭＤＣＴ係数の数であり、ＬTCX(BW)は、フルＭＤＣＴスペクトルについてのＭＤＣＴ係数の数である。一実施例の実装では、ｆlowは、ＬTCX(CELP)／２に設定される。例示的な実施例では、ｃ3は、低ビットレートに対しては１．５に設定され、高ビットレートに対しては３．０に設定される。
【０１１５】
４）ｆCELPより上側の高いピークの減衰（例えば、図１６および図１７）
条件１−３が真であることが判明した場合、ｆCELPより上側のピークの減衰が適用される。この減衰は、心理音響的に類似したスペクトル領域と比較して、最大利得ｃ3を可能にする。減衰ファクタは、以下のように計算される。
減衰ファクタ＝ｃ3＊ｍａｘ＿ｌｏｗ２／ｍａｘ＿ｈｉｇｈ
その後、減衰ファクタは、ｆCELPより上側のすべてのＭＤＣＴ係数に適用される。
【０１１６】
５）擬似コード：
2020181203.tif 000007
【０１１７】
ここで、ＸMは、逆ＬＰＣ利得整形を適用した後のＭＤＣＴスペクトルであり、ＬTCX(CELP)は、ｆCELPまでのＭＤＣＴ係数の数であり、ＬTCX(BW)は、フルＭＤＣＴスペクトルについてのＭＤＣＴ係数の数である。
【０１１８】
符号器側の前処理は、fCELPより上側の関連するスペクトル係数を依然として維持しながら、符号化ループに係るストレスを大幅に低減する。
【０１１９】
図７は、逆ＬＰＣ整形利得および上述した符号器側前処理の適用後の臨界フレームのＭＤＣＴスペクトルを示している。ｃ1、ｃ2およびｃ3に対して選択された数値に依存して、次にレートループに入力される、結果的に得られるスペクトルは、上記のように見え得る。それらは有意に低減されているが、利用可能なすべてのビットを消費することなく、依然としてレートループ後に存続する可能性が高い。
【０１２０】
いくつかの態様が装置に関して説明されてきたが、これらの態様は、ブロックまたはデバイスが方法ステップまたは方法ステップの特徴に対応する、対応する方法の説明を表すことは明らかである。同様に、方法ステップの文脈において説明される態様は、対応する装置の対応するブロックまたはアイテムまたは特徴の説明を表す。方法ステップの一部または全部は、例えばマイクロプロセッサ、プログラム可能なコンピュータ、または電子回路などのハードウェア装置によって実行される（または使用される）ことが可能である。いくつかの実施形態では、最も重要な方法ステップのうちの一つまたは複数は、そのような装置によって実行されてもよい。
【０１２１】
本発明の符号化オーディオ信号は、デジタル記憶媒体に格納することができ、又は無線伝送媒体又はインターネットのような有線伝送媒体のような伝送媒体上で伝送することができる。
【０１２２】
特定の実施要件に応じて、本発明の実施形態は、ハードウェアで実施されてもよいし、ソフトウェアで実施されてもよい。この実装は、それぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協働する（または協働することが可能な）電子的に読み取り可能な制御信号を記憶する、非一時的な記憶媒体、またはデジタル記憶媒体、例えばフレキシブルディスク、ＤＶＤ、ブルーレイ、ＣＤ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、またはフラッシュメモリを使用して実行することができる。したがって、デジタル記憶媒体は、コンピュータ可読であってもよい。
【０１２３】
本発明によるいくつかの実施形態は、本明細書に記載される方法のうちの一つが実行されるように、プログラム可能なコンピュータシステムと協働することができる、電子的に読み取り可能な制御信号を有するデータキャリアを含む。
【０１２４】
一般に、本発明の実施形態は、コンピュータプログラムプロダクトとして実装することができ、プログラムコードは、コンピュータプログラムプロダクトがコンピュータ上で実行されるときに、そのメソッドの一つを実行するように動作するプログラムコードを有する。プログラムコードは、例えば、機械読み取り可能なキャリアに格納されてもよい。
【０１２５】
他の実施形態は、機械可読キャリアに格納された、本明細書に記載された方法のうちの一つを実行するためのコンピュータプログラムを含む。
【０１２６】
言い換えると、本発明の方法の実施形態は、コンピュータプログラムがコンピュータ上で実行されるときに、本明細書に記載された方法の一つを実行するためのプログラムコードを有するコンピュータプログラムである。
【０１２７】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載される方法の一つを実行するためのコンピュータプログラムを、その上に記録されたデータキャリア（またはデジタル記憶媒体、またはコンピュータ可読媒体）である。データキャリア、デジタル記憶媒体、または記録された媒体は、一般的に有形および/または非移行性である。
【０１２８】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載される方法の一つを実行するためのコンピュータプログラムを表すデータストリームまたは一連の信号である。データストリームまたは信号シーケンスは、例えば、インターネットを介して、データ通信接続を介して転送されるように構成されてもよい。
【０１２９】
さらなる実施形態は、本明細書で説明される方法の一つを実行するように構成されるかまたは適合されるように構成された、例えば、コンピュータなどの処理手段、またはプログラム可能な論理デバイスを含む。
【０１３０】
さらなる実施形態は、本明細書に記載される方法の一つを実行するためのコンピュータプログラムをその上にインストールされたコンピュータを含む。
【０１３１】
本発明によるさらなる実施形態は、本明細書に記載される方法の一つを実行するためのコンピュータプログラムを受信器に転送（例えば、電子的または光学的に）するための装置またはシステムを含む。受信機は、例えば、コンピュータ、モバイル機器、メモリ機器などであってもよい。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを備えることができる。
【０１３２】
いくつかの実施形態において、プログラム可能な論理デバイス(例えば、フィールドプログラマブルゲートアレイ)を使用して、本明細書に記載されている方法の機能の一部または全部を実行することができる。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書で説明される方法のうちの一つを実行するためにマイクロプロセッサと協働することができる。一般に、本方法は、任意のハードウェア装置によって実行されることが好ましい。
【０１３３】
本明細書に記載される装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組み合わせを使用して実装することができる。
【０１３４】
本明細書に記載される装置、または本明細書に記載される装置の任意の構成要素は、少なくとも部分的にハードウェアおよび/またはソフトウェアで実装されてもよい。
【０１３５】
本明細書に記載される方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータとの組み合わせを使用して実行され得る。
【０１３６】
本明細書に記載される方法、または本明細書に記載される装置の任意の構成要素は、ハードウェアによって、および／またはソフトウェアによって、少なくとも部分的に実行され得る。
【０１３７】
上述した実施形態は、本発明の原理を説明するためのものである。本明細書中に記載される配置および詳細の変更および変形は、当業者には明らかであることが理解される。従って、本明細書の実施形態の説明および説明によって提示される特定の詳細によるものではなく、当該特許請求の範囲によってのみ限定されることが意図される。
【０１３８】
上記の説明では、開示を合理化するために、様々な特徴が、実施形態において一緒にグループ化されることがわかる。本開示の方法は、特許請求の範囲に記載された実施形態が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映すると解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、本発明の主題は、開示された単一の実施形態のすべての特徴よりも少ないものであってもよい。したがって、以下の特許請求の範囲は、詳細な説明に組み込まれ、各特許請求の範囲は、別個の実施形態として自立してもよい。各請求項は別個の実施形態として自立してもよいが、従属請求項は、特許請求の範囲において、一つ以上の他の請求項との特定の組み合わせを指してもよいが、他の実施形態は、従属請求項と各他の従属請求項の主題との組み合わせ、または各特徴と他の従属請求項または独立請求項との組み合わせを含んでもよいことに留意すべきである。特定の組み合わせが意図されていないと述べられていない限り、このような組み合わせは本明細書で提案されている。さらに、本特許請求の範囲が独立請求項に直接依存しない場合でも、ある請求項の特徴を任意の他の独立請求項に含めることも意図されている。
【０１３９】
本明細書又は特許請求の範囲に開示されている方法は、これらの方法の各ステップの各々を実行する手段を有するデバイスによって実施されてもよいことに留意されたい。
【０１４０】
さらに、いくつかの実施形態では、単一のステップは、複数のサブステップを含むか、または複数のサブステップに分割されてもよい。このようなサブステップは、明示的に除外されない限り、この単一ステップの開示に含まれてもよく、その一部であってもよい。
【０１４１】
［付録］
次に、上記標準リリース１３(Enhanced Voice Services(高性能ボイスサービス：ＥＶＳ）用の３ＧＰＰ  ＴＳ２６．４４５−コーデック、詳細なアルゴリズムの記述)の一部を示す。セクション５．３．３．２．３は整形部の好ましい実施形態を説明し、セクション５．３．３．２．７は量子化器および符号器ステージからの量子化器の好ましい実施形態を説明し、セクション５．３．３．２．８は量子化器および符号器ステージにおける符号器の好ましい実施形態における算術符号器を説明し、ここで、定ビットレートおよびグローバル利得に関する好ましいレートループはセクション５．３．２．８．１．２に記載されている。好ましい実施形態のＩＧＦの特徴は、セクション５．３．３．２．１１に記載されており、ここでは、セクション５．３．３．２．１１．５．１のＩＧＦトーンマスク計算に対して具体的な言及がなされる。標準の他の部分は、参照により本明細書中に援用される。
【０１４２】
５．３．３．２．３  ＭＤＣＴドメインにおけるＬＰＣ整形
【０１４３】
５．３．３．２．３．１    一般原理
ＬＰＣ整形は、重み付き量子化ＬＰフィルタ係数から計算された利得ファクタをＭＤＣＴスペクトルに適用することによって、ＭＤＣＴドメインにおいて実行される。ＭＤＣＴ変換が基礎とする入力サンプリングレートｓｒinpは、ＬＰ係数が計算されるＣＥＬＰサンプリングレートｓｒcelpよりも高くなり得る。したがって、ＬＰＣ整形利得は、ＭＤＣＴスペクトルのＣＥＬＰ周波数範囲に対応する部分についてのみ計算されてもよい。スペクトルの残りの部分（もしあれば）については、最も高い周波数帯域の整形利得が使用される。
【０１４４】
５．３．３．２．３．２  ＬＰＣ整形利得の計算
６４個のＬＰＣ整形利得を計算するために、重み付きＬＰフィルタ係数
2020181203.tif 000008
は、長さ１２８の奇数スタッキングＤＦＴを使用して、まず周波数ドメインに変換される。
2020181203.tif 000009
【０１４５】
次に、ＬＰＣ整形利得ｇLPCがＸLPCの逆数の絶対値として計算される。
2020181203.tif 000010
【０１４６】
５．３．３．２．３．３  ＬＰＣ整形利得をＭＤＣＴスペクトルに適用
ＣＥＬＰ周波数範囲に対応するＭＤＣＴ係数ＸMは、６４個のサブバンドにグループ化される。各サブバンドの係数は、整形スペクトル
2020181203.tif 000011
を得るために、対応するＬＰＣ整形利得の逆数で乗算される。ＣＥＬＰ周波数範囲
2020181203.tif 000012
に対応するＭＤＣＴビンの数が６４の倍数ではない場合、サブバンドの幅は、以下の擬似コードによって定義されるように、１ビンずつ変化する。
【０１４７】
2020181203.tif 000013
【０１４８】
ＣＥＬＰ周波数範囲より上側の残りのＭＤＣＴ係数（もしあれば）は、最後のＬＰＣ整形利得の逆数で乗算される。
2020181203.tif 000014
【０１４９】
５．３．３．２．４  適応型低周波エンファシス
【０１５０】
５．３．３．２．４．１  一般原理
適応型の低周波エンファシスおよびデ・エンファシス（ＡＬＦＥ）処理の目的は、低周波数における周波数ドメインＴＣＸコーデックの主観的性能を向上させることである。この目的のために、低周波ＭＤＣＴスペクトル線は、符号器内での量子化の前に増幅され、それによりそれらの量子化ＳＮＲが増加する。このブーストは、増幅アーチファクトを防止するために、内部及び外部の復号器における逆ＭＤＣＴ処理の前に取り消される。
【０１５１】
算術符号化アルゴリズムとビットレートとの選択に基づいて、符号器および復号器において一貫して選択される２つの異なるＡＬＦＥアルゴリズムがある。ＡＬＦＥアルゴリズム１は、９．６ｋｂｐｓ（包絡ベース算術符号器）および４８ｋｂｐｓ以上（コンテキストベース算術符号器）で使用される。ＡＬＦＥアルゴリズム２は、１３．２から３２kbps以下まで使用される。符号器において、ＡＬＦＥは、各ＭＤＣＴ量子化の直前（アルゴリズム１）又は直後（アルゴリズム２）に、ベクトルｘ［］内のスペクトル線に対して動作する。これは、コンテキストベース算術符号器の場合、レートループ内で複数回実行される（サブ条項５．３．３．２．８．１を参照）。
【０１５２】
５．３．３．２．４．２  適応型エンファシスアルゴリズム１
ＡＬＦＥアルゴリズム１は、ＬＰＣ周波数帯域利得ｌｐｃＧａｉｎｓ［］に基づいて動作する。最初に、利得指数０〜８のループ内で実行される比較演算を使用して、最初の９個の利得の最小値および最大値、すなわち低周波数（ＬＦ）利得が発見される。
【０１５３】
次いで、最小値と最大値との比が１／３２の閾値を超える場合、１番目のライン（ＤＣ）が（３２ｍｉｎ／ｍａｘ）0.25で増幅され、３３番目のラインが増幅されないように、ｘにおける最も低いラインの漸進的なブーストが実行される。
【０１５４】
2020181203.tif 000015
【０１５５】
５．３．３．２．４．３  適応型エンファシスアルゴリズム２
ＡＬＦＥアルゴリズム２は、アルゴリズム１とは異なり、送信されたＬＰＣ利得に基づいて動作するのではなく、量子化された低周波（ＬＦ）ＭＤＣＴラインへの修正によって信号化される。この手順は、５つの連続するステップに分けられる。
・ステップ１：最初に、低いスペクトル四半分
2020181203.tif 000016
内のインデックスｉ＿ｍａｘにおける第１の振幅最大値を、ｉｎｖＧａｉｎ＝２／ｇTCXを利用して発見し、その最大値を修正する：
ｘｑ［ｉ＿ｍａｘ］ ＋＝（ｘｑ［ｉ＿ｍａｘ］＜０）  ？  −２ ： ２
・ステップ２：次に、量子化を記述するサブ条項内と同様に、ｋ＝０…ｉ＿ｍａｘ−１の全てのラインを再量子化することによって、ｉ＿ｍａｘまでの全てのｘ［ｉ］の値範囲を圧縮する。ただし、この場合、ｇTCXの代わりにｉｎｖＧａｉｎをグローバル利得ファクタとして使用する。
・ステップ３：ｉ＿ｍａｘ＞−１である場合には、半分の高さとなる、
2020181203.tif 000017
よりも小さな第１の振幅最大値をｉｎｖＧａｉｎ＝４／ｇTCXを使用して発見し、その最大値を修正する：
ｘｑ［ｉ＿ｍａｘ］  ＋＝  （ｘｑ［ｉ＿ｍａｘ］  ＜  ０）  ？  −２  ：  ２
・ステップ４：ステップ２のように、前のステップで発見された半分の高さｉ＿ｍａｘまで全てのｘ［ｉ］を再圧縮および量子化する。
・ステップ５：ステップ１で見出された最初のｉ＿ｍａｘが−１より大きい場合には再びｉｎｖＧａｉｎ＝２／ｇTCXを利用し、その他の場合にはｉｎｖＧａｉｎ＝４／ｇTCXを利用して、発見された最後のｉ＿ｍａｘにおける２つのライン、すなわちｋ＝ｉ＿ｍａｘ＋１及びｉ＿ｍａｘ＋２における２つのラインを終了し、常に圧縮する。全てのｉ＿ｍａｘは−１に初期化される。詳細については、ｔｃｘ＿ｕｔｉｌｓ＿ｅｎｃ．ｃにおけるＡｄａｐｔＬｏｗＦｒｅｑＥｍｐｈ（）を参照されたい。
【０１５６】
５．３．３．２．５  パワースペクトルのスペクトルノイズ尺度
ＴＸＣ符号化プロセスにおける量子化のガイダンスのために、０（調性）と１（ノイズ状）との間のノイズ尺度が、ある特定周波数より上側の各ＭＤＣＴスペクトル線に対し、現在の変換パワースペクトルに基づいて決定される。パワースペクトルＸp（ｋ）は、同じ時間ドメイン信号セグメント上のＭＤＣＴ係数ＸM（ｋ）とＭＤＳＴ係数ＸS（ｋ）とから、同じ窓掛け操作を用いて計算される。
2020181203.tif 000018
【０１５７】
次に、ｎｏｉｓｅＦｌａｇｓ（ｋ）における各ノイズ尺度が以下のように計算される。まず、（例えばＴＣＸ遷移変換の後にＡＣＥＬＰフレームが続くなど）変換長が変化した場合、または（例えばより短い変換長が最後のフレームにおいて使用された場合など）前のフレームがＴＣＸ２０符号化を使用しなかった場合、
2020181203.tif 000019
までの全てのｎｏｉｓｅＦｌａｇｓ（ｋ）が０にリセットされる。ノイズ尺度開始ラインｋstartは、以下の表１に従って初期化される。
【０１５８】
【表１】
2020181203.tif 000020
【０１５９】
ＡＣＥＬＰからＴＣＸへの遷移に関しては、ｋstartは１．２５でスケーリングされる。次に、ノイズ尺度開始ラインｋstartが
2020181203.tif 000021
未満である場合、ｋstart以上におけるｎｏｉｓｅＦｌａｇｓ（ｋ）はパワースペクトルラインの累計から帰納的に導出される。
2020181203.tif 000022
2020181203.tif 000023
【０１６０】
さらに、上記ループにおいてｎｏｉｓｅＦｌａｇｓ（ｋ）が０に設定される度に、変数ｌａｓｔＴｏｎｅはｋに設定される。ｓ（ｋ）はそれ以上更新できないので、上側の７つのラインは別々に処理される（しかし、ｃ（ｋ）は上記のように計算される）。
2020181203.tif 000024
【０１６１】
2020181203.tif 000025
における上限ラインはノイズ状であると定義され、したがって
2020181203.tif 000026
である。最後に、上記の変数ｌａｓｔＴｏｎｅ（０に初期化された）が０より大きい場合には、ｎｏｉｓｅＦｌａｇｓ（ｌａｓｔＴｏｎｅ＋１）＝０となる。この手順は、ＴＣＸ２０においてのみ実行され、他のＴＣＸモードでは実行されないことに留意されたい。
2020181203.tif 000027
【０１６２】
５．３．３．２．６  ローパス係数検出部
ローパス係数ｃlpfは、３２．０ｋｂｐｓ未満のすべてのビットレートに対してパワースペクトルに基づいて決定される。したがって、パワースペクトルＸp（ｋ）は、すべての
2020181203.tif 000028
について、閾値ｔlpfに対して反復的に比較される。ここで、正則ＭＤＣＴ窓についてはｔlpf＝３２．０であり、ＡＣＥＬＰからＭＤＣＴへの遷移窓についてはｔlpf＝６４．０である。この反復は、Ｘp（ｋ）＞ｔlpfになれば直ちに停止する。
【０１６３】
ローパス係数ｃlpfは、
2020181203.tif 000029
と決定し、ここで、ｃlpf,prevは最後に決定されたローパス係数である。符号器の起動時には、ｃlpf,prevは１．０に設定される。ローパス係数ｃlpfは、ノイズ充填停止ビンを決定するために使用される（サブ条項５．３．３．２．１０．２を参照のこと）。
【０１６４】
５．３．３．２．７  適応型デッドゾーンを用いた均一量子化器
ＡＬＦＥの後またはその前に（適用されたエンファシスアルゴリズムに依存して、サブ条項５．３．３．２．４．１を参照）ＭＤＣＴスペクトル
2020181203.tif 000030
を均一に量子化するため、係数は、量子化のステップサイズを制御するグローバルゲインｇTCX（サブ条項５．３．３．２．８．１．１を参照）によって最初に除算される。その結果は次に、（ｇTCXに対して相対的な）係数の大きさと（サブ条項５．３．３．２．５においてｎｏｉｓｅＦｌａｇｓ（ｋ）によって定義されるような）トーナリティとに基づいて各係数に対して適合された丸めオフセットを用いて、０に向かって丸められる。低いトーナリティと大きさとを有する高周波スペクトル線については、０の丸めオフセットが使用されるのに対し、他の全てのスペクトル線については、０．３７５のオフセットが使用される。より具体的には、以下のアルゴリズムが実行される。
【０１６５】
インデックス
2020181203.tif 000031
における最も高い符号化済みＭＤＣＴ係数から出発して、条件
2020181203.tif 000032
が成立する限り、
2020181203.tif 000033
を設定し、ｋを１だけ減分する。次に、この条件が満たされない（これはｎｏｉｓｅＦｌａｇｓ（０）＝０により保証される）インデックスｋ'≧０にある第１のラインから下流側について、０．３７５の丸めオフセットを用いて０に向かって丸め操作を行い、得られた整数値を−３２７６８から３２７６７の範囲に制限する。
2020181203.tif 000034
ここで、ｋ＝０…ｋ'である。最後に、
2020181203.tif 000035
以上である
2020181203.tif 000036
の全ての量子化された係数はゼロに設定される。
【０１６６】
５．３．３．２．８  算術符号器
量子化されたスペクトル係数は、エントロピー符号化によって、より具体的には算術符号化によって、ノイズなしに符号化される。
【０１６７】
算術符号化は、そのコードを計算するために１４ビット精度確率(precision probabilities)を使用する。アルファベット確率分布は、種々の方法で導出することができる。低いレートでは、ＬＰＣ包絡から導出されるが、高いレートでは、それは過去のコンテキストから導出される。どちらの場合も、確率モデルを精緻化するために、高調波モデルを追加することができる。
【０１６８】
以下の擬似コードは、確率モデルに関連付けられた任意のシンボルを符号化するために使用される算術符号化ルーチンを記述する。確率モデルは、累積度数テーブル(cumulative frequency table)ｃｕｍ＿ｆｒｅｑ［］で表される。確率モデルの導出は以下のサブ条項に記載されている。
【０１６９】
2020181203.tif 000037
【０１７０】
ヘルパー関数ａｒｉ＿ｆｉｒｓｔ＿ｓｙｍｂｏｌ（）およびａｒｉ＿ｌａｓｔ＿ｓｙｍｂｏｌ（）は、生成された符号語の最初のシンボルおよび最後のシンボルをそれぞれ検出する。
【０１７１】
５．３．３．２．８．１  コンテキストベースの算術コーデック
【０１７２】
５．３．３．２．８．１．１  グローバル利得推定部
ＴＣＸフレームについてのグローバル利得ｇTCXの推定は、２つの反復工程で実行される。第１の推定は、ＳＱから各サンプルにつき１ビット当たり６ｄＢのＳＮＲ利得を考慮する。第２の推定はエントロピー符号化を考慮に入れることにより推定値を精緻化する。
【０１７３】
４つの係数からなる各ブロックのエネルギーが最初に計算される。
2020181203.tif 000038
【０１７４】
０．１２５ｄＢの最終分解能を用いて二分探索(bisection search)が行われる：
初期化：ｆａｃ＝ｏｆｆｓｅｔ＝１２．８およびｔａｒｇｅｔ＝０．１５（ｔａｒｇｅｔ＿ｂｉｔｓ−Ｌ／１６）と設定する。
反復：以下の操作ブロックを１０回実行する。
2020181203.tif 000039
【０１７５】
利得の第１の推定値は次に、以下の式によって与えられる。
2020181203.tif 000040
【０１７６】
５．３．３．２．８．１．２  定ビットレートおよびグローバル利得のためのレートループ
最良の利得ｇTCXをｕｓｅｄ＿ｂｉｔｓ≦ｔａｒｇｅｔ＿ｂｉｔｓの制約内で設定するために、ｇTCXとｕｓｅｄ＿ｂｉｔｓの収束プロプロセスが以下の変数及び定数を使用することによって実行される。
ＷLbとＷUbは下限と上限とに対応する重みを示し、
ｇLbとｇUbは下限と上限とに対応する利得を示し、
Ｌｂ＿ｆｏｕｎｄとＵｂ＿ｆｏｕｎｄはそれぞれｇLbとｇUbとが発見されたことを示すフラグであり、
μ及びηは、μ＝ｍａｘ（１，２.３−０．００２５*ｔａｒｇｅｔ＿ｂｉｔｓ）及びη＝１／μを有する変数であり、
λ及びνは定数であり、１０および０．９６として設定される。
【０１７７】
算術符号化によるビット消費の初期推定の後、ｔａｒｇｅｔ＿ｂｉｔｓがｕｓｅｄ＿ｂｉｔｓより大きいときｓｔｏｐは０に設定され、ｕｓｅｄ＿ｂｉｔｓがｔａｒｇｅｔ＿ｂｉｔｓより大きいときにはｓｔｏｐはｕｓｅｄ＿ｂｉｔｓとして設定される。
【０１７８】
ｓｔｏｐが０より大きい場合、これはｕｓｅｄ＿ｂｉｔｓがｔａｒｇｅｔ＿ｂｉｔｓより大きいことを意味する。ｇTCXは前のものよりも大きくなるように修正される必要があり、Ｌｂ＿ｆｏｕｎｄはＴＲＵＥ（真）として設定され、ｇLbは前のｇTCXとして設定される。ＷLbは次のように設定される。
2020181203.tif 000041
【０１７９】
Ｕｂ＿ｆｏｕｎｄが設定された場合、これはｕｓｅｄ＿ｂｉｔｓがｔａｒｇｅｔ＿ｂｉｔｓより小さかったことを意味し、gTCXが上限と下限との間の補間値として更新される。
2020181203.tif 000042
【０１８０】
その他の場合、Ｕｂ＿ｆｏｕｎｄはＦＡＬＳＥ（偽）であり、利得は以下のように増幅される。
2020181203.tif 000043
ここで、ｇUbを達成するのを加速するために、ｕｓｅｄ＿ｂｉｔｓ（＝ｓｔｏｐ）とｔａｒｇｅｔ＿ｂｉｔｓとの比が大きいほど増幅率が大きくなる。
【０１８１】
Ｓｔｏｐが０に等しい場合には、ｕｓｅｄ＿ｂｉｔｓがｔａｒｇｅｔ＿ｂｉｔｓより小さいことを意味する。ｇTCXは前の値よりも小さくなるべきであり、Ｕｂ＿ｆｏｕｎｄは１に設定され、Ｕｂは前のｇTCXとして設定され、ＷUbは次のように設定される。
2020181203.tif 000044
【０１８２】
Ｌｂ＿ｆｏｕｎｄが既に設定されている場合には、利得は次のように計算される。
2020181203.tif 000045
その他の場合には、帯域利得ｇLbを低下させることを加速するため、利得は次のように低減される。
2020181203.tif 000046
ここで、ｕｓｅｄ＿ｂｉｔｓとｔａｒｇｅｔ＿ｂｉｔｓとの比が小さいとき、利得はより大きな低減率を持つ。
【０１８３】
このような利得の補正後、量子化を行い、算術符号化によるｕｓｅｄ＿ｂｉｔｓの推定を行う。その結果、ｔａｒｇｅｔ＿ｂｉｔｓがｕｓｅｄ＿ｂｉｔｓより大きい場合にはｓｔｏｐが０に設定され、ｕｓｅｄ＿ｂｉｔｓがｔａｒｇｅｔ＿ｂｉｔｓより大きい場合にはｓｔｏｐがｕｓｅｄ＿ｂｉｔｓとして設定される。ループカウントが４未満であれば、その値ｓｔｏｐに応じて次のループで下限設定処理又は上限設定処理のいずれか一方を行う。ループカウントが４である場合、最終利得ｇTCXおよび量子化されたＭＤＣＴシーケンスＸQMDCT（ｋ）が得られる。
【０１８４】
５．３．３．２．８．１．３  確率モデル導出及び符号化
量子化されたスペクトル係数Ｘは、最も低い周波数の係数から始めて、最も高い周波数の係数へと進行するよう、ノイズなしに符号化される。それらは、いわゆる２−タプル｛ａ，ｂ｝に集合している２つの係数ａおよびｂのグループ単位で符号化される。
【０１８５】
各２−タプル｛ａ，ｂ｝は、３つの部分、すなわちＭＳＢ、ＬＳＢおよび正負符号に分割される。正負符号は、均一確率分布を使用して大きさから独立して符号化される。大きさ自身はさらに２つの部分、すなわち２つの最上位ビット（ＭＳＢ）と残りの最下位ビットプレーン（適用可能であれば、ＬＳＢ）に分割される。２つのスペクトル係数の大きさが３以下となる２−タプルは、ＭＳＢ符号化によって直接符号化される。そうでない場合、エスケープシンボルが、まず任意の付加的なビットプレーンを信号化するために送信される。
【０１８６】
２−タプルと、２−タプルの個々のスペクトル値ａおよびｂと、最上位ビットプレーンｍと、残りの最下位ビットプレーンｒとの間の関係は、以下の図１の実例で示されている。この実例では、３つのエスケープシンボルが実際の値ｍの前に送られ、それらは３つの伝送された最下位ビットプレーンを示している。
2020181203.tif 000047
【０１８７】
確率モデルは、過去のコンテキストから導出される。過去のコンテキストは、１２ビット毎のインデックス上に変換され、ａｒｉ＿ｃｆ＿ｍ［］に格納された６４の利用可能な確率モデルのうちの一つへと、ルックアップテーブルａｒｉ＿ｃｏｎｔｅｘｔ＿ｌｏｏｋｕｐ［］を用いてマップする。
【０１８８】
過去のコンテキストは、同じフレーム内で既に符号化された２つの２−タプルから導出される。このコンテキストは、過去の周波数内の直に隣接するか又はさらなる位置にあるものから導出され得る。ピーク領域（高調波ピークに属する係数）及び高調波モデルに従う他の（非ピーク）領域に対して、別個のコンテキストが維持される。高調波モデルが使用されない場合には、他の（非ピーク）領域コンテキストのみが使用される。
【０１８９】
スペクトルの末尾に位置するゼロのスペクトル値は伝送されない。それは最後の非ゼロの２−タプルのインデックスを伝送することによって達成される。高調波モデルが使用される場合、スペクトルの末尾は、ピーク領域係数からなるスペクトルの末尾として定義され、その後に他の（非ピーク）領域係数が続く。この定義はトレーリングゼロの数を増加させる傾向があるので、符号化効率を改善する。符号化するサンプルの数は、以下のように計算される。
2020181203.tif 000048
【０１９０】
以下のデータが以下の順序でビットストリーム内へと書き込まれる。
2020181203.tif 000049
２．エントロピー符号化されたＭＳＢ及びエスケープシンボル
３．１ビット単位の符号語を用いた正負符号
４．ビット予算が十分に使用されていない場合には区分に記述された残差量子化ビット
５．ＬＳＢはビットストリームバッファの終端から後方に向かって書き込まれる。
【０１９１】
以下の疑似コードは、コンテキストがどのように導出され、ＭＳＢ、正負符号、ＬＳＢのためのビットストリームデータがどのように計算されるかを記述する。入力される独立変数は、量子化スペクトル係数ｘ［］、考慮対象のスペクトルのサイズＬ、ビット予算ｔａｒｇｅｔ＿ｂｉｔｓ、高調波モデルパラメータ（ｐｉ，ｈｉ）及び最後の非ゼロのシンボルｌａｓｔｎｚのインデックスである。
【０１９２】
2020181203.tif 000050
【０１９３】
ヘルパー関数ari_save_states() と ari_restore_states() とは、算術的コーダ状態を保存するため及び回復するためにそれぞれ使用される。ビット予算に違反する場合には最後のシンボルの符号化をキャンセルし得る。更に、ビット予算がオーバーフローする場合には、ビット予算の終了に到達するまで、又はスペクトルのｌａｓｔｎｚサンプルを処理するまで、残りのビットをゼロで充填することができる。
【０１９４】
他のヘルパー関数を以下のサブ条項において説明する。
【０１９５】
５．３．３．２．８．１．４  次の係数の取得
2020181203.tif 000051
【０１９６】
ｉｉ［０］及びｉｉ［１］のカウンタは、ari_context_encode() (及び復号器においては ari_context_decode() も)の冒頭において０に初期化される。
【０１９７】
５．３．３．２．８．１．５  コンテキスト更新
コンテキストは以下の疑似コードで記述するように更新される。これは２個の４ビット単位のコンテキスト要素の連鎖で構成される。
【０１９８】
2020181203.tif 000052
【０１９９】
５．３．３．２．８．１．６  コンテキストの取得
最終的なコンテキストは２つの方法で修正される。
2020181203.tif 000053
コンテキストtは０〜１０２３のインデックスである。
【０２００】
５．３．３．２．８．１．７  ビット消費の推定
コンテキストベースの算術符号器のビット消費推定は、量子化のレートループ最適化のために必要である。この推定は、算術符号器をコールすることなくビット要求を計算することで実行される。生成されるビットは以下により正確に推定され得る。
【０２０１】
2020181203.tif 000054
ここで、ｐｒｏｂａは１６３８４に初期化された整数であり、ｍはＭＳＢシンボルである。
【０２０２】
５．３．３．２．８．１．８  高調波モデル
コンテキストベース算術符号化と包絡ベース算術符号化との両方に関し、高調波モデルは、高調波コンテキストを有するフレームのより効率的な符号化のために使用される。このモデルは、以下の条件のうちのいずれかが適用すると無効化される。
−ビットレートが、９．６，１３．２，１６．４，２４．４，３２，４８ｋｂｐｓのいずれかではない。
−前のフレームがＡＣＥＬＰで符号化されていた。
−包絡ベースの算術符号化が使用され且つ符号器タイプがＶｏｉｃｅｄでもＧｅｎｅｒｉｃでもない。
−ビットストリーム内の単一ビット高調波モデルフラグがゼロに設定されている。
このモデルが有効化されたとき、高調波の周波数ドメイン・インターバルは鍵となるパラメータであり、算術符号器の両方の特色のために共通して分析され符号化される。
【０２０３】
５．３．３．２．８．１．８．１  高調波のインターバルの符号化
ピッチラグ及び利得が後処理に使用されるとき、ラグパラメータは、高調波のインターバルを周波数ドメインで表現するために利用される。その他の場合、インターバルの通常の表現が適用される。
【０２０４】
５．３．３．２．８．１．８．１．１  時間ドメイン・ピッチラグに依存したインターバルの符号化
時間ドメインのピッチラグの整数部分ｄintがＭＤＣＴのフレームサイズＬTCXよりも小さい場合、７ビットの小数精度を有する周波数ドメインのインターバルユニット（ピッチラグに対応する高調波ピークの間）ＴUNITが次式で与えられる。
2020181203.tif 000055
ここで、ｄfrは時間ドメインでのピッチラグの小数部分を示し、ｒｅｓ＿ｍａｘは可能な小数値の最大数を示し、その値は条件次第で４又は６である。
【０２０５】
ＴUNITは限定された範囲を持つので、周波数ドメインにおける高調波ピーク間の実際のインターバルは、表２に示すビットを使用してＴUNITに対して相対的に符号化される。表３又は表４内に示す乗算ファクタの候補Ｒａｔｉｏ（）の中で、ＭＤＣＴドメイン変換係数の最適な高調波インターバルを与える乗数が選択される。
2020181203.tif 000056
【０２０６】
【表２】
2020181203.tif 000057
【０２０７】
【表３】
2020181203.tif 000058
【０２０８】
【表４】
2020181203.tif 000059
【０２０９】
５．３．３．２．８．１．８．１．２  時間ドメイン・ピッチラグに依存しないインターバルの符号化
時間ドメインにおけるピッチラグ及び利得が使用されないか、又はピッチ利得が０．４６以下である場合、不均一な分解能を有するインターバルの通常の符号化が使用される。
【０２１０】
スペクトルピークのユニットインターバルTUNITが次式のように符号化される。
2020181203.tif 000060
実際のインターバルTMDCTは、Resの小数分解能を用いて次式のように表される。
2020181203.tif 000061
【０２１１】
各パラメータを表５に示す。ここで「small size」とは、フレームサイズが２５６よりも小さいか、又は目標ビットレートが１５０以下であることを意味する。
【０２１２】
【表５】
2020181203.tif 000062
【０２１３】
５．３．３．２．８．１．８．２  空白
【０２１４】
５．３．３．２．８．１．８．３  高調波のインターバルの探索
高調波の最良のインターバルを求めて、符号器は、絶対値のＭＤＣＴ係数のピーク部分の重み付き合計ＥPERIODを最大化できるインデックスを発見しようと試みる。ＥABSM（ｋ）は、ＭＤＣＴドメイン変換係数の絶対値の３個のサンプルの合計を次式のように示す。
2020181203.tif 000063
ここで、ｎｕｍ＿ｐｅａｋは、
2020181203.tif 000064
が周波数ドメインでサンプルの限界に到達する最大数である。
【０２１５】
インターバルが時間ドメインにおけるピッチラグに依存しない場合、演算コストを節約するため階層的探索が使用される。インターバルのインデックスが８０未満である場合、周期性が４の粗いステップにより調査される。最良のインターバルを得た後に、より細密な周期性が最良のインターバルの周囲で−２から＋２まで探索される。インデックスが８０以上の場合、周期性は各インデックスについて探索される。
【０２１６】
５．３．３．２．８．１．８．４  高調波モデルの決定
初期推定において、高調波モデルを用いない使用ビットの数ｕｓｅｄ＿ｂｉｔｓ及び高調波モデルを用いた使用ビットの数ｕｓｅｄ＿ｂｉｔｓhmが取得され、消費ビットのインジケータＩｄｉｃａｔｏｒBが次式のように定義される。
2020181203.tif 000065
ここで、Ｉｎｄｅｘ＿ｂｉｔｓhmは高調波構成をモデル化するための追加的ビットを示し、ｓｔｏｐ及びｓｔｏｐhmは目標ビットよりも大きい場合の消費ビットを示す。従って、ＩｄｉｃａｔｏｒBが大きければ大きいほど、高調波モデルを使用することがより好ましくなる。相対的な周期性ｉｎｄｉｃａｔｏｒhmが、整形されたＭＤＣＴ係数のピーク領域の絶対値の正規化された和として次式で定義される。
2020181203.tif 000066
ここで、ＴMDCT_maxは、ＥPERIODの最大値を達成する高調波インターバルである。このフレームの周期性のスコアが次式のように閾値よりも大きい場合、
2020181203.tif 000067
このフレームは高調波モデルによって符号化されるべきと考えられる。利得ｇTCXで除算された整形済みのＭＤＣＴ係数は、ＭＤＣＴ係数の整数値の系列
2020181203.tif 000068
を生成するべく量子化され、高調波モデルを用いた算術符号化によって圧縮される。このプロセスは、消費ビットＢhmを用いてｇTCX及び
2020181203.tif 000069
を得るために反復的な収束処理（レートループ）を必要とする。収束の最後には、高調波モデルを確認するために、通常の（非高調波）モデルを用いた算術符号化によって
2020181203.tif 000070
のために消費されるビットＢno_hmが追加的に計算され、Ｂhmと比較される。ＢhmがＢno_hmよりも大きい場合、
2020181203.tif 000071
の算術符号化は通常のモデルを使用するよう変更される。Ｂhm−Ｂno_hmは、更なる強化のため残差量子化用に使用され得る。その他の場合には、高調波モデルが算術符号化で使用される。
【０２１７】
対照的に、このフレームの周期性のインジケータが閾値以下である場合、量子化と算術符号化とは通常のモデルを使用して実行されると想定され、整形されたＭＤＣＴ係数の整数値の系列
2020181203.tif 000072
を消費ビットＢno_hmを用いて生成することになる。レートループの収束の後で、高調波モデルを用いた算術符号化によって
2020181203.tif 000073
のために消費されるビットＢhmが計算される。Ｂno_hmがＢhmよりも大きい場合、
2020181203.tif 000074
の算術符号化は高調波モデルを使用するよう切換えられる。その他の場合には、通常のモデルが算術符号化で使用される。
【０２１８】
５．３．３．２．８．１．９  コンテキストベースの算術符号化における高調波情報の使用
コンテキストベースの算術符号化について、全ての領域が２つのカテゴリーに分類される。その１つはピーク部分であって、τUの高調波ピークのＵ番目（Ｕは限界までの正の整数）のピークに中心を持つ３個の連続的なサンプルで構成される。
2020181203.tif 000075
【０２１９】
他のサンプルは通常の部分又は谷の部分に帰属する。高調波ピーク部分は、高調波のインターバル及びそのインターバルの整数倍によって特定され得る。算術符号化はピーク領域と谷領域とで異なるコンテキストを使用する。
【０２２０】
記述および構成を簡素化するため、高調波モデルは以下のインデックス系列を使用する。
2020181203.tif 000076
【０２２１】
無効化された高調波モデルの場合、これら系列はｐｉ＝（）、及びｈｉ＝ｉｐ＝（０，…，ＬM−１）である。
【０２２２】
５．３．３．２．８．２  包絡ベースの算術符号化
ＭＤＣＴドメインにおいて、スペクトル線は知覚モデルＷ（ｚ）により、各線が同一精度で量子化され得るように重み付けられる。個々のスペクトルのばらつきは、知覚モデルによって重み付けられた線形予測子Ａ-1（ｚ）の形状に従う。よって、重み付き形状はＳ（ｚ）＝Ｗ（ｚ）Ａ-1（ｚ）となる。
【０２２３】
Ｗ（ｚ）は、サブ条項５．３．３．２．４．１及び５．３．３．２．４．２．に詳述したように、
2020181203.tif 000077
を周波数ドメインのＬＰＣ利得へと変換することで計算される。Ａ-1（ｚ）は、
2020181203.tif 000078
から、直接形係数(direct-form coefficients)へと変換し、チルト補償１−γｚ-1を適用し、最後に周波数ドメインＬＰＣ利得へと変換した後で導出される。他の全ての周波数整形ツール及び高調波モデルからの寄与もまた、この包絡形状Ｓ（ｚ）の中に含まれることになる。これはスペクトル線の相対的ばらつきを与えるだけであり、その一方で全体的包絡は任意のスケーリングを有することに注目すべきであり、それにより、包絡をスケーリングすることから始めなくてはならない。
【０２２４】
５．３．３．２．８．２．１  包絡スケーリング
ここでは、スペクトル線ｘkはゼロ平均であり、ラプラス分布に従って分散していると仮定する。よって、確率分布の関数は次式となる。
2020181203.tif 000079
【０２２５】
そのようなスペクトル線のエントロピー及び従ってビット消費は、ｂｉｔｓk＝１＋ｌｏｇ2２ｅｂkとなる。しかし、この式は、ゼロに量子化されるこれらスペクトル線のためにも正負符号が符号化されると想定している。この矛盾を補償するため、近似に代えて
2020181203.tif 000080
を使用し、この式はｂk≧０．０８について正確である。ｂk≦０．０８である線のビット消費はｂｉｔｓk＝ｌｏｇ2（１．０２２４）と仮定し、これはｂk＝０．０８におけるビット消費に合致する。大きなｂk＞２５５については、簡略化のために真のエントロピーｂｉｔｓk＝ｌｏｇ2（２ｅｂk）を用いる。
【０２２６】
ついで、スペクトル線のばらつきは、σk2＝２ｂk2となる。ｓk2が包絡形状のパワー｜Ｓ（ｚ）｜2のｋ番目の要素である場合、ｓk2はスペクトル線の相対エネルギーをγ2σk2＝ｂk2となるように記述し、ここでγはスケーリング係数である。換言すれば、ｓk2は意味のある大きさを持たないスペクトルの形状を記述するのみであり、γはその形状をスケールして実際のばらつきσk2を得るために使用される。
【０２２７】
ここでの目的は、スペクトルの全ての線をある算術符号器を用いて符号化する場合、ビット消費が予め定義されたレベルＢ、即ち
2020181203.tif 000081
と合致することである。その場合、目標ビットレートＢが達成されるよう、二分アルゴリズム(bi-section algorithm）を使用して適切なスケーリング係数γを決定することができる。
【０２２８】
包絡形状ｂkが、その形状に合致する信号の想定されるビット消費が目標ビットレートをもたらすようにスケーリングされたとき、スペクトル線の量子化へと進むことができる。
【０２２９】
５．３．３．２．８．２．２  量子化レートループ
量子化インターバルが
2020181203.tif 000082
となるように、ｘkが整数
2020181203.tif 000083
へと量子化されたと仮定すると、そのインターバル内で発生しているスペクトル線の確率は、
2020181203.tif 000084
については
2020181203.tif 000085
となり、
2020181203.tif 000086
については
2020181203.tif 000087
となる。
【０２３０】
これら２つの場合についてのビット消費は、理想的には次のようになる。
2020181203.tif 000088
【０２３１】
項目
2020181203.tif 000089
を予め計算しておくことで、全体スペクトルのビット消費を効率的に計算できる。
【０２３２】
次に、レートループが二分探索を用いて適用され得る。ここで、所望のビットレートに十分近づくまで、スペクトル線のスケーリングをファクタρで調節し、スペクトルのビット消費ρｘkを計算する。上述したビット消費の理想的な場合の値は、最終的なビット消費と必ずしも完全に一致する必要がないことに留意されたい。なぜなら、算術符号化は有限精度の近似を用いて動作するからである。よって、このレートループはビット消費の近似に依存するが、演算効率が良いという恩恵も受ける。
【０２３３】
最適なスケーリングσが決定されていた場合、スペクトルは標準的な算術符号器で符号化され得る。値
2020181203.tif 000090
に量子化されるスペクトル線は、インターバル
2020181203.tif 000091
へと符号化され、
2020181203.tif 000092
はインターバル
2020181203.tif 000093
へと符号化される。ｘk≠０の正負符号は、追加の１ビットを用いて符号化されるであろう。
【０２３４】
算術符号器は、上述のインターバルが全てのプラットフォームにわたってビット厳密(bit-exact)となるように、固定点演算実行(fixed point implementation)を用いて動作しなければならないことに留意されたい。従って、線形予測モデルおよび重み付けファクタを含む、算術符号器に対する全ての入力は、システムを通して固定点で実行されなければならない。
【０２３５】
５．３．３．２．８．２．３  確率モデルの導出と符号化
最適なスケーリングσが決定されていた場合、スペクトルは標準的な算術符号器で符号化され得る。値
2020181203.tif 000094
に量子化されるスペクトル線は、インターバル
2020181203.tif 000095
へと符号化され、
2020181203.tif 000096
はインターバル
2020181203.tif 000097
へと符号化される。ｘk≠０の正負符号は、追加の１ビットを用いて符号化されるであろう。
【０２３６】
５．３．３．２．８．２．４  包絡ベースの算術符号化における高調波モデル
包絡ベースの算術符号化の場合、高調波モデルが算術符号化を強化するために使用され得る。コンテキストベースの算術符号化の場合と同様の探索処理が、ＭＤＣＴドメインにおける高調波間のインターバルを推定するために使用される。しかしながら、高調波モデルは図２に示すようにＬＰＣ包絡と組み合わせて使用される。包絡の形状は高調波分析の情報に従ってレンダリングされる。
【０２３７】
周波数データサンプル内のｋにおける高調波形状は、
2020181203.tif 000098
のとき次式で定義され、
2020181203.tif 000099
その他の場合にはＱ（ｋ）＝１．０であり、ここで、τはＵ番目の高調波の中心位置を示し、
2020181203.tif 000100
である。ｈ及びσは各高調波の高さ及び幅を示し、次式のように単位インターバルに依存している。
2020181203.tif 000101
高さ及び幅は、インターバルが増大するに従って増大する。
【０２３８】
スペクトル包絡Ｓ（ｋ）は、ｋにおける高調波形状Ｑ（ｋ）により次式のように修正される。
2020181203.tif 000102
ここで、高調波成分の利得ｇharmは、ジェネリックモードについては常に０．７５に設定され、ｇharmは、２ビットを使用してボイスモードについてＥnormを最小化するよう{０．６，１．４，４．５，１０．０}から選択される。
2020181203.tif 000103
【０２３９】
2020181203.tif 000104
【０２４０】
５．３．３．２．９  グローバル利得符号化
【０２４１】
５．３．３．２．９．１  グローバル利得の最適化
最適なグローバル利得ｇoptは、量子化済み及び量子化されていないＭＤＣＴ係数から計算される。３２ｋｂｐｓまでのビットレートについては、このステップの前に、適応型低周波数デ・エンファシス（サブ条項６．２．２．３．２参照）が量子化済みＭＤＣＴ係数に適用される。その計算結果がゼロ以下の最適利得をもたらす場合、（推定およびレートループにより）以前に決定されたグローバル利得ｇTCXが使用される。
2020181203.tif 000105
【０２４２】
５．３．３．２．９．２  グローバル利得の量子化
復号器への伝送のため、最適なグローバル利得ｇoptは、７ビットのインデックスＩTCX,gainへと量子化される。
2020181203.tif 000106
逆量子化されたグローバル利得
2020181203.tif 000107
は、サブ条項６．２．２．３．３に定義されるように取得される。
【０２４３】
５．３．３．２．９．３  残差符号化
残差量子化は、第１のＳＱステージを精錬する精錬量子化レイヤ(refinement quantization layer)である。それは、最終的に未使用のビットｔａｒｇｅｔ＿ｂｉｔｓ−ｎｂｂｉｔｓを活用するものであり、ここでｎｂｂｉｔｓはエントロピー符号器によって消費されるビット数である。残差量子化は、ビットストリームが所望のサイズに到達したときはいつでも符号化を停止するように、貪欲な方策を採用し、エントロピー符号化は採用しない。
【０２４４】
残差量子化は、第１の量子化を２つの手段で精錬し得る。１番目の手段はグローバル利得量子化の精錬である。グローバル利得の精錬は、１３．２ｋｂｐｓ以上のレートについてのみ実行される。最大で３個の追加的ビットがそれに割り当てられる。量子化された利得
2020181203.tif 000108
は、ｎ＝０から開始してｎを１ずつ増分することで、以下の反復に従って順次精錬されていく。
2020181203.tif 000109
【０２４５】
精錬の２番目の手段は、量子化されたスペクトルを線毎に再量子化することから成る。まず、非ゼロの量子化済み線が１ビットの残差量子化器を用いて処理される。
2020181203.tif 000110
【０２４６】
最後に、ビットが残っておれば、ゼロの線が考慮対象となり、３つのレベルに量子化される。デッドゾーンを有するＳＱの丸めオフセットは、残差量子化器の設計に考慮されていたものである。
2020181203.tif 000111
【０２４７】
５．３．３．２．１０  ノイズ充填
復号器側では、係数がゼロに量子化されていたＭＤＣＴスペクトル内のギャップを充填するために、ノイズ充填が適用される。ノイズ充填は、疑似ランダムノイズをギャップに挿入し、ビンｋNFstartから開始してビンｋNFstop−１まで続く。復号器内で挿入されるノイズの量を制御するため、ノイズファクタが符号器側で計算され、復号器へと伝送される。
【０２４８】
５．３．３．２．１０．１  ノイズ充填チルト
ＬＰＣチルトを補償するため、チルト補償ファクタが計算される。１３．２ｋｂｐｓ未満のビットレートについては、チルト補償は、直接形量子化ＬＰ係数
2020181203.tif 000112
から計算され、それより高いビットレートについては定数値が使用される。
2020181203.tif 000113
【０２４９】
５．３．３．２．１０．２  ノイズ充填開始ビンおよび停止ビン
ノイズ充填の開始ビンおよび停止ビンは、次式で計算される。
2020181203.tif 000114
2020181203.tif 000115
【０２５０】
５．３．３．２．１０．３  ノイズ遷移幅
ノイズ充填セグメントの各側において、挿入されたノイズに対して遷移フェードアウトが適用される。遷移の幅（ビンの数）は以下のように定義される。
2020181203.tif 000116
ここで、ＨＭは算術コーデックに高調波モデルが使用されたことを示し、ｐｒｅｖｉｏｕｓは前のコーデックモードを示す。
【０２５１】
５．３．３．２．１０．４  ノイズセグメントの計算
ノイズ充填セグメントが決定される。それらは、ｋNFstartとｋNFstop,LPの間のＭＤＣＴスペクトルの連続的ビンのセグメントであり、これらに対する全ての係数がゼロに量子化されるものである。そのようなセグメントは次の疑似コードにより定義されるように決定される。
2020181203.tif 000117
ここで、ｋNF0（ｊ）及びｋNF1（ｊ）は、ノイズ充填セグメントjの開始ビン及び停止ビンであり、ｎNFは、セグメントの個数である。
【０２５２】
５．３．３．２．１０．５  ノイズファクタの計算
ノイズファクタは、ノイズ充填が適用されるビンの非量子化ＭＤＣＴ係数から計算される。
【０２５３】
ノイズ遷移幅ｗNFが３以下のビンである場合、減衰ファクタが偶数および奇数のＭＤＣＴビンのエネルギーに基づいて計算される。
2020181203.tif 000118
【０２５４】
各セグメントについて、量子化されないＭＤＣＴ係数から、グローバル利得とチルト補償と遷移とを適用して、誤差値が計算される。
2020181203.tif 000119
【０２５５】
各セグメントについての重みが、セグメントの幅に基づいて計算される。
2020181203.tif 000120
【０２５６】
次に、ノイズファクタが以下のように計算される。
2020181203.tif 000121
【０２５７】
５．３．３．２．１０．６  ノイズファクタの量子化
伝送のため、ノイズファクタは量子化されて３ビットのインデックスが取得される。
2020181203.tif 000122
【０２５８】
５．３．３．２．１１  インテリジェント・ギャップ充填
インテリジェント・ギャップ充填（ＩＧＦ）ツールは、スペクトル内のギャップ（ゼロ値の領域）を充填する高性能なノイズ充填技術である。これらのギャップは、符号化プロセスの中で、所与のスペクトルの大部分がビット制限に合わせるためにゼロに設定され得るような、粗い量子化によって発生し得る。しかしながら、ＩＧＦツールを使用すれば、これらの欠損信号部分は、受信機側（ＲＸ）において、送信側（ＴＸ）で計算されたパラメトリック情報を用いて再構成される。ＩＧＦは、ＴＣＸモードが活性である場合にのみ使用される。
【０２５９】
全てのＩＧＦ動作点に関する以下の表６を参照されたい。
【０２６０】
【表６】
2020181203.tif 000123
【０２６１】
送信側において、ＩＧＦは、複素値または実数値のＴＣＸスペクトルを使用して、スケールファクタ帯域のレベルを計算する。さらに、スペクトルホワイトニング・インデックスが、スペクトル平坦度とクレストファクタとを使用して計算される。算術符号器が、ノイズレス符号化および受信機（ＲＸ）側への効率的な送信のために使用される。
【０２６２】
５．３．３．２．１１．１  ＩＧＦヘルパー関数
【０２６３】
５．３．３．２．１１．１．１  遷移ファクタを用いたマッピング値
ＣＥＬＰからＴＣＸ符号化への遷移がある場合（ｉｓＣｅｌｐＴｏＴＣＸ＝ｔｒｕｅ）、又はＴＣＸ１０フレームが信号伝達された場合（ｉｓＴＣＸ１０＝ｔｒｕｅ）、ＴＣＸフレーム長は変化し得る。フレーム長が変化した場合、フレーム長に関連する全ての値が関数ｔＦを用いてマッピングされる。
2020181203.tif 000124
2020181203.tif 000125
ここで、ｎは自然数であり、例えばスケールファクタ帯域オフセットであり、ｆは遷移ファクタであり、表１１を参照されたい。
【０２６４】
５．３．３．２．１１．１．２  ＴＣＸパワースペクトル
現在のＴＣＸフレームのパワースペクトルＰ∈Ｐnが次式を用いて計算される。
2020181203.tif 000126
ここで、ｎは実際のＴＣＸ窓長さであり、Ｐ∈Ｐnは現在のＴＣＸスペクトルの（コサイン変換された）実数部分を含むベクトルであり、Ｉ∈Ｐnは現在のＴＣＸスペクトルの（サイン変換された）虚数部分を含むベクトルである。
【０２６５】
５．３．３．２．１１．１．３  スペクトル平坦度関数(spectral flatness measurement function)ＳＦＭ
Ｐ∈Ｐnはサブ条項５．３．３．２．１１．１．２に従って計算されたＴＣＸパワースペクトルであり、ｂはＳＦＭ尺度領域の開始線であり、ｅは停止線であると仮定する。
【０２６６】
ＩＧＦと共に適用されるＳＦＭ関数は以下のように定義される。
2020181203.tif 000127
2020181203.tif 000128
ここで、ｎは実際のＴＣＸ窓長さであり、ｐは次式で定義される。
2020181203.tif 000129
【０２６７】
５．３．３．２．１１．１．４  クレストファクタ関数ＣＲＥＳＴ
Ｐ∈Ｐnはサブ条項５．３．３．２．１１．１．２に従って計算されたＴＣＸパワースペクトルであり、ｂはクレストファクタ尺度領域の開始線であり、ｅは停止線であると仮定する。
【０２６８】
ＩＧＦと共に適用されるＣＲＥＳＴ関数は以下のように定義される。
2020181203.tif 000130
2020181203.tif 000131
ここで、ｎは実際のＴＣＸ窓長さであり、Ｅmaxは次式で定義される。
2020181203.tif 000132
【０２６９】
５．３．３．２．１１．１．５  マッピング関数ｈＴ
ｈＴマッピング関数は次式で定義される。
2020181203.tif 000133
2020181203.tif 000134
ここで、ｓは計算されたスペクトル平坦度値であり、ｋは範囲内のノイズ帯域である。閾値ＴｈＭk，ＴｈＳkについては、以下の表７を参照されたい。
【０２７０】
【表７】
2020181203.tif 000135
【０２７１】
５．３．３．２．１１．１．６  空白
【０２７２】
５．３．３．２．１１．１．７  ＩＧＦスケールファクタの表
ＩＧＦスケールファクタの表はＩＧＦが適用される全てのモデルに対して有効である
【０２７３】
【表８】
2020181203.tif 000136
【０２７４】
上記の表８は、ＴＣＸ２０の窓長さ及び遷移ファクタ１．００について言及するものである。
【０２７５】
全ての窓長さに対し以下の再マッピングを適用する。
2020181203.tif 000137
ここで、ｔＦはサブ条項５．３．３．２．１１．１．１に記載された遷移ファクタ・マッピング関数である。
【０２７６】
５．３．３．２．１１．１．８  マッピング関数ｍ
【表９】
2020181203.tif 000138
【０２７７】
全てのモードについて、ＩＧＦ領域における所与の目的線からソース線へアクセスするために、マッピング関数が定義される。
【０２７８】
【表１０】
2020181203.tif 000139
【０２７９】
マッピング関数ｍ１は次式で定義される。
2020181203.tif 000140
【０２８０】
マッピング関数ｍ２ａは次式で定義される。
2020181203.tif 000141
【０２８１】
マッピング関数ｍ２ｂは次式で定義される。
2020181203.tif 000142
【０２８２】
マッピング関数ｍ３ａは次式で定義される。
2020181203.tif 000143
【０２８３】
マッピング関数ｍ３ｂは次式で定義される。
2020181203.tif 000144
【０２８４】
マッピング関数ｍ３ｃは次式で定義される。
2020181203.tif 000145
【０２８５】
マッピング関数ｍ３ｄは次式で定義される。
2020181203.tif 000146
【０２８６】
マッピング関数ｍ４は次式で定義される。
2020181203.tif 000147
【０２８７】
値ｆは適切な遷移ファクタであり、これについては後段の表１１を参照されたい。ｔＦはサブ条項５．３．３．２．１１．１．１に記載された通りである。
【０２８８】
全ての値ｔ（０），ｔ（１），．．．，ｔ（ｎＢ）は、サブ条項５．３．３．２．１１．１．１に記載されたように、関数ｔＦを用いて既にマップされている筈である、ことに留意されたい。ｎＢについての値は表８に定義されている。
【０２８９】
ここに記載されるマッピング関数は、「マッピング関数ｍ」として本稿で言及され、現在のモードにとって適切な関数が選択されている、という想定に基づいている。
【０２９０】
５．３．３．２．１１．２  ＩＧＦ入力要素（ＴＸ）
ＩＧＦ符号器モジュールは、以下のベクトルとフラグとを入力として想定している。
Ｒ：現在のＴＣＸスペクトルの実数部分ＸMを有するベクトル
Ｉ：現在のＴＣＸスペクトルの虚数部分ＸSを有するベクトル
Ｐ：ＴＣＸパワースペクトルの値Ｘpを有するベクトル
ｉｓＴｒａｎｓｉｅｎｔ：現在のフレームが過渡を含む場合に信号伝達するフラグ、サブ条項５．３．２．４．１．１を参照。
ｉｓＴＣＸ１０：ＴＣＸ１０フレームを信号伝達するフラグ
ｉｓＴＣＸ２０：ＴＣＸ２０フレームを信号伝達するフラグ
ｉｓＣｅｌｐＴｏＴＣＸ：ＣＥＬＰからＴＣＸへの遷移を信号伝達するフラグであって、最後のフレームがＣＥＬＰであったかどうかのテストによりフラグを生成する
ｉｓＩｎｄｅｐＦｌａｇ：現在のフレームが前のフレームから独立していることを信号伝達するフラグ
【０２９１】
表１１に示すように、フラグｉｓＴＣＸ１０、ｉｓＴＣＸ２０、ｉｓＣｅｌｐＴｏＴＣＸにより信号伝達される以下の組合せがＩＧＦを用いて可能である。
【０２９２】
【表１１】
2020181203.tif 000148
【０２９３】
５．３．３．２．１１．３  送信（ＴＸ）側におけるＩＧＦ関数
全ての関数の申告は、入力要素がフレーム単位で提供されるという想定に基づいている。唯一の例外は、２つの連続するＴＣＸ１０フレームであって、２番目のフレームが１番目のフレームに依存して符号化されている場合である。
【０２９４】
５．３．３．２．１１．４  ＩＧＦスケールファクタの計算
このサブ条項は、ＩＧＦスケールファクタベクトルｇ（ｋ），ｋ＝０，１，...，ｎＢ−１が送信（ＴＸ）側においてどのように計算されるかについて説明する。
【０２９５】
５．３．３．２．１１．４．１  複素値の計算
ＴＣＸパワースペクトルＰが利用可能であれば、ＩＧＦスケールファクタ値ｇはＰを用いて計算され、
2020181203.tif 000149
ｍ：Ｎ→Ｎを、ＩＧＦ目標領域をサブ条項５．３．３．２．１１．１．８に記載のＩＧＦソース領域へとマップするマッピング関数と仮定して、次式を計算する。
2020181203.tif 000150
ここで、ｔ（０），ｔ（１），...，ｔ（ｎＢ）は、関数ｔＦを用いて既にマップされている筈であり（サブ条項５．３．３．２．１１．１．１参照）、ｎＢはＩＧＦスケールファクタ帯域の個数である（表８参照）。
【０２９６】
ｇ（ｋ）を次式により計算し、
2020181203.tif 000151
ｇ（ｋ）を次式により範囲［０，９１］⊂Ｚに制限する。
2020181203.tif 000152
【０２９７】
値ｇ（ｋ），ｋ＝０，１，...，ｎＢ−１は、サブ条項５．３．３．２．１１．８に記載の算術符号器を用いたさらなるロスレス圧縮の後で、受信機（ＲＸ）側へと送信されるであろう。
【０２９８】
５．３．３．２．１１．４．２  実数値の計算
ＴＣＸパワースペクトルが利用可能でない場合、以下の計算をする。
2020181203.tif 000153
ここで、ｔ（０），ｔ（１），...，ｔ（ｎＢ）は、関数ｔＦを用いて既にマップされているはずであり（サブ条項５．３．３．２．１１．１．１参照）、ｎＢは帯域の個数である（表８参照）。
【０２９９】
ｇ（ｋ）を次式により計算し、
2020181203.tif 000154
ｇ（ｋ）を次式により範囲［０，９１］⊂Ｚに制限する。
2020181203.tif 000155
【０３００】
値ｇ（ｋ），ｋ＝０，１，...，ｎＢ−１は、サブ条項５．３．３．２．１１．８に記載の算術符号器を用いたさらなるロスレス圧縮の後で、受信機（ＲＸ）側へと送信されるであろう。
【０３０１】
５．３．３．２．１１．５  ＩＧＦトーンマスク
どのスペクトル成分がコアコーダ用いて送信させるべきかを決定するために、トーンマスクが計算される。よって、全ての有意なスペクトルコンテンツが識別される一方で、ＩＧＦを介するパラメトリック符号化に適したコンテンツはゼロに量子化される。
【０３０２】
５．３．３．２．１１．５．１  ＩＧＦトーンマスクの計算
ＴＣＸパワースペクトルＰが利用可能でない場合、ｔ（０）を上回る全てのスペクトルコンテンツは消去される。
2020181203.tif 000156
ここで、ＲはＴＮＳを適用した後の実数値のＴＣＸスペクトルであり、ｎは現在のＴＣＸ窓長さである。
【０３０３】
ＴＣＸパワースペクトルＰが利用可能である場合、次式を計算する。
2020181203.tif 000157
ここで、ｔ（０）はＩＧＦ領域内の第１スペクトル線である。
【０３０４】
ＥHPを所与として、以下のアルゴリズムを適用する。
2020181203.tif 000158
【０３０５】
５．３．３．２．１１．６  ＩＧＦスペクトル平坦度の計算
【表１２】
2020181203.tif 000159
【０３０６】
ＩＧＦスペクトル平坦度の計算のために、２つの静的アレー（ｓｔａｔｉｃ  ａｒｒａｙｓ）  ｐｒｅｖＦＩＲ及びｐｒｅｖＩＩＲ、即ちサイズｎＴを持つ両方が、複数のフレームにわたってフィルタ状態を保持するために必要となる。追加的に、静的フラグ（ｓｔａｔｉｃ  ｆｌａｇ）ｗａｓＴｒａｎｓｉｅｎｔが前のフレームからの入力フラグｉｓＴｒａｎｓｉｅｎｔの情報を守るために必要となる。
【０３０７】
５．３．３．２．１１．６．１  フィルタ状態のリセット
ベクトルｐｒｅｖＦＩＲ及びｐｒｅｖＩＩＲは、両方ともＩＧＦモジュールにおけるサイズｎＴの静的アレーであり、両アレーはゼロを用いて初期化されている。
2020181203.tif 000160
【０３０８】
この初期化は以下のように実行されるべきである。
−コーデックスタートアップとともに
−任意のビットレート切り替えとともに
−任意のコーデックタイプ切り替えとともに
−ＣＥＬＰからＴＣＸへの遷移とともに、例えばｉｓＣｅｌｐＴｏＴＣＸ＝ｔｒｕｅ
−現在のフレームが過渡特性を有する場合、例えばｉｓＴｒａｎｓｉｅｎｔ＝ｔｒｕｅ
【０３０９】
５．３．３．２．１１．６．２  現ホワイトニングレベルのリセット
ベクトルｃｕｒｒＷＬｅｖｅｌは、全てのタイルについてゼロで初期化されるべきである。
2020181203.tif 000161
−コーデックスタートアップとともに
−任意のビットレート切り替えとともに
−任意のコーデックタイプ切り替えとともに
−ＣＥＬＰからＴＣＸへの遷移とともに、例えばｉｓＣｅｌｐＴｏＴＣＸ＝ｔｒｕｅ
【０３１０】
５．３．３．２．１１．６．３  スペクトル平坦度インデックスの計算
以下のステップ（１）〜（４）が連続的に実行されるべきである。
（１）前のレベルバッファを更新し、現在のレベルを初期化する。
2020181203.tif 000162
ｐｒｅｖＩｓＴｒａｎｓｉｅｎｔ又はｉｓＴｒａｎｓｉｅｎｔが真（ｔｒｕｅ）の場合、次式を適用する。
2020181203.tif 000163
その他の場合、パワースペクトルＰが利用可能であれば、次式を計算する。
2020181203.tif 000164
ここで、
2020181203.tif 000165
であり、ＳＦＭはサブ条項５．３．３．２．１１．１．３に記載のスペクトル平坦度関数であり、ＣＲＥＳＴはサブ条項５．３．３．２．１１．１．４に記載のクレストファクタ関数である。
次式を計算する。
2020181203.tif 000166
ベクトルｓ（ｋ）の計算の後で、フィルタ状態は次式のように更新される。
2020181203.tif 000167
【０３１１】
（２）計算された値に対してマッピング関数ｈＴ：Ｎ×Ｐ→Ｎが適用され、ホワイトニングレベル・インデックスベクトルｃｕｒｒＷＬｅｖｅｌを得る。マッピング関数ｈＴ：Ｎ×Ｐ→Ｎは、サブ条項５．３．３．２．１１．１．５に記載の通りである。
2020181203.tif 000168
【０３１２】
（３）選択されたモードを用いて（表１３を参照）、以下の最終的マッピングを適用する。
2020181203.tif 000169
【０３１３】
【表１３】
2020181203.tif 000170
【０３１４】
ステップ（４）を実行した後、ホワイトニングレベル・インデックスベクトルｃｕｒｒＷＬｅｖｅｌは送信準備が整った状態となっている。
【０３１５】
５．３．３．２．１１．６．４  ＩＧＦホワイトニングレベルの符号化
ベクトルｃｕｒｒＷＬｅｖｅｌで定義されたＩＧＦホワイトニングレベルは、１タイル当たり１又は２ビットを使用して伝送される。必要とされる総計ビットの厳密な数は、ｃｕｒｒＷＬｅｖｅｌ内に含まれる実際の値とｉｓＩｎｄｅｐフラグの値とに依存する。詳細なプロセスは以下の疑似コードにより記述される。
2020181203.tif 000171
ここで、ベクトルｐｒｅＷＬｅｖｅｌは前のフレームからのホワイトニングレベルを含み、関数ｅｎｃｏｄｅ＿ｗｈｉｔｅｎｉｎｇ＿ｌｅｖｅｌは、ホワイトニングレベルｃｕｒｒＷＬｅｖｅｌ（ｋ）のバイナリコードへの実際のマッピングで役割を果たす。その関数は以下の疑似コードに従って実行される。
2020181203.tif 000172
【０３１６】
５．３．３．２．１１．７  ＩＧＦ時間的平坦度インジケータ
ＩＧＦにより再構築された信号の時間的包絡は、伝送された時間的包絡平坦度の情報、即ちＩＧＦ平坦度インジケータに従って、受信機（ＲＸ）側において平坦化される。
【０３１７】
時間的平坦度は、周波数ドメインにおける線形予測利得として測定される。まず、現在のＴＣＸスペクトルの実数部分の線形予測が実行され、次に予測利得ηigfが計算される。
2020181203.tif 000173
ここで、ｋiは線形予測によって取得されたｉ番目のＰＡＲＣＯＲ係数である。
【０３１８】
サブ条項５．３．３．２．２．３に記載された予測利得ηigfと予測利得ηtnsとから、ＩＧＦ時間的平坦度インジケータフラグｉｓＩｇｆＴｅｍＦｌａｔが次式のように定義される。
2020181203.tif 000174
【０３１９】
５．３．３．２．１１．８  ＩＧＦノイズレス符号化
ＩＧＦスケールファクタベクトルｇは、ベクトルの効率的な表現をビットストリームへと書き込むため、算術符号器を用いてノイズレスに符号化される。
【０３２０】
モジュールはインフラストラクチャから普通の生の算術符号器関数を使用し、これらはコア符号器によって提供されたものである。使用される関数は、値ｂｉｔを符号化するａｒｉ＿ｅｎｃｏｄｅ＿１４ｂｉｔｓ＿ｓｉｇｎ（ｂｉｔ）と、累積度数テーブルｃｕｍｕｌａｔｉｖｅＦｒｅｑｕｅｎｃｙＴａｂｌｅを使用して２７個のシンボル（ＳＹＭＢＯＬＳ＿ＩＮ＿ＴＡＢＬＥ）から成るアルファベットからｖａｌｕｅを符号化するａｒｉ＿ｅｎｃｏｄｅ＿１４ｂｉｔｓ＿ｅｘｔ（ｖａｌｕｅ，ｃｕｌｕｌａｔｉｖｅＦｒｅｑｕｅｎｃｙＴａｂｌｅ）と、算術符号器を初期化するａｒｉ＿ｓｔａｒｔ＿ｅｎｃｏｄｉｎｇ＿１４ｂｉｔｓ（）と、算術符号器を終結させるａｒｉ＿ｆｉｎｉｓｈ＿ｅｎｃｏｄｉｎｇ＿１４ｂｉｔｓ（）とである。
【０３２１】
５．３．３．２．１１．８．１  ＩＧＦ独立性フラグ
ｉｓＩｎｄｅｐＦｌａｇのフラグがｔｒｕｅ（真）の値を持つ場合には、算術符号器の内部状態がリセットされる。このフラグは、ＴＣＸ１０窓（表１１を参照）が２つの連続的なＴＣＸ１０フレームの２番目のフレームに使用されるようなモードにおいてのみ、ｆａｌｓｅ（偽）に設定され得る。
【０３２２】
５．３．３．２．１１．８．２  ＩＧＦオールゼロフラグ
ＩＧＦオールゼロフラグは、全てのＩＧＦスケールファクタがゼロであることを信号伝達する。
2020181203.tif 000175
【０３２３】
ａｌｌＺｅｒｏフラグは、まずビットストリームに書き込まれる。このフラグがｔｒｕｅ（真）である場合、符号器状態はリセットされ、更なるデータはビットストリームに書き込まれない。その他の場合、算術符号化されたスケールファクタベクトルｇがビットストリーム内で続く。
【０３２４】
５．３．３．２．１１．８．３  ＩＧＦ算術符号化ヘルパー関数
【０３２５】
５．３．３．２．１１．８．３．１  リセット関数
算術符号器状態は、ｔ∈｛０，１｝と、前のフレームから保存されたベクトルｇの値を表現するｐｒｅｖベクトルとで構成される。ベクトルｇを符号化しているとき、ｔの値０は、有効な前のフレームが存在しないことを意味し、よってｐｒｅｖは定義されずかつ使用されない。ｔの値１は、有効な前のフレームが存在することを意味し、よってｐｒｅｖは妥当なデータを有しそれが使用されるが、このようなケースは、２つの連続的なＴＣＸ１０フレームの２番目のフレームのためにＴＣＸ１０窓（表１１を参照）が使用されるようなモードにおいてのみ起こり得る。算術符号器状態をリセットするためには、ｔ＝０を設定するだけで十分である。
【０３２６】
あるフレームがｉｓＩｎｄｅｐＦｌａｇセットを有する場合、符号器状態はスケールファクタベクトルｇを符号化する前にリセットされる。１番目のフレームがａｌｌＺｅｒｏ＝１をもっていた場合、ｔ＝０とｉｓＩｎｄｅｐＦｌａｇ＝ｆａｌｓｅとの組合せは妥当であり、２つの連続的なＴＣＸ１０フレームの２番目のフレームにとって発生し得るものであることに留意されたい。この特殊な場合、ｔ＝０であるため、フレームは前のフレームからのコンテキスト情報（ｐｒｅｖベクトル）を使用せず、独立フレームとして実際に符号化される。
【０３２７】
５．３．３．２．１１．８．３．２  ａｒｉｔｈ＿ｅｎｃｏｄｅ＿ｂｉｔｓ関数
ａｒｉｔｈ＿ｅｎｃｏｄｅ＿ｂｉｔｓ関数は、長さｎＢｉｔｓビットの正負符号のない整数ｘを、一度に１ビット書き込むことによって符号化する。
2020181203.tif 000176
【０３２８】
５．３．３．２．１１．８．３．２  符号器状態関数の保存と回復
符号器状態の保存は、関数ｉｉｓＩＧＦＳＣＦＥｎｃｏｄｅｒＳａｖｅＣｏｎｔｅｘｔＳｔａｔｅを使用して達成され、これは、ｔ及びｐｒｅｖベクトルをｔＳａｖｅ及びｐｒｅｖＳａｖｅベクトル内にそれぞれコピーするものである。符号器状態の回復は、補足的な関数ｉｉｓＩＧＦＳＣＦＥｎｃｏｄｅｒＲｅｓｔｏｒｅＣｏｎｔｅｘｔＳｔａｔｅを使用して実行され、これは、ｔＳａｖｅ及びｐｒｅｖＳａｖｅベクトルをｔ及びｐｒｅｖベクトル内にそれぞれコピーし戻すものである。
【０３２９】
５．３．３．２．１１．８．４  ＩＧＦ算術符号化
算術符号器はビットをカウントすることだけ可能であるべきであり、例えばビットをビットストリームに書き込むことなく算術符号化を実行すべきであることに注目されたい。ｆａｌｓｅ（偽）に設定されたパラメータｄｏＲｅａｌＥｎｃｏｄｉｎｇを使用して算術符号器がカウント要求と共にコールされた場合、算術符号器の内部状態は、そのコールの前にトップレベル関数ｉｉｓＩＧＦＳＣＦＥｎｃｏｄｅｒＥｎｃｏｄｅに保存されるべきであり、そのコールの後でコール者（ｃａｌｌｅｒ）によって回復されるべきである。このような特殊なケースでは、算術符号器によって内部的に生成されたビットはビットストリームに書き込まれない。
【０３３０】
ａｒｉｔｈ＿ｅｎｃｏｄｅ＿ｒｅｓｉｄｕａｌ関数は、累積度数テーブルｃｕｍｕｌａｔｉｖｅＦｒｅｑｕｅｎｃｙＴａｂｌｅとテーブルオフセットｔａｂｌｅＯｆｆｓｅｔとを使用して、整数値の予測残差ｘを符号化する。テーブルオフセットｔａｂｌｅＯｆｆｓｅｔは、符号化の前に値ｘを調節するために使用され、非常に小さいか非常に大きい値が僅かに効率の悪いエスケープ符号化を使用して符号化されるであろう全体確率を最小化する。ＭＩＮ＿ＥＮＣ＿ＳＥＰＡＲＡＴＥ＝−１２とＭＡＸ＿ＥＮＣ＿ＳＥＰＡＲＡＴＥ＝１２との間の値（両端の値を含む）は、累積度数テーブルｃｕｍｕｌａｔｉｖｅＦｒｅｑｕｅｎｃｙＴａｂｌｅとＳＹＭＢＯＬＳ＿ＩＮ＿ＴＡＢＬＥ＝２７のアルファベットサイズとを使用して直接的に符号化される。
【０３３１】
ＳＹＭＢＯＬＳ＿ＩＮ＿ＴＡＢＬＥシンボルの上述のアルファベットについて、値０と値ＳＹＭＢＯＬＳ＿ＩＮ＿ＴＡＢＬＥ−１とは、デフォルトインターバル内に適合するには値が小さ過ぎるか又は大き過ぎることを示すために、エスケープ符号として予約される。このような場合には、値ｅｘｔｒａが、分布の末尾の１つにおける値の位置を示す。値ｅｘｔｒａは、それが範囲｛０，．．．，１４｝内にあれば４ビットを使用して符号化され、それが範囲｛１５，．．．，１５＋６２｝内にあれば値１５を有する４ビットとその後続の追加の６ビットを使用して符号化され、それが１５＋６３以上であれば値１５を有する４ビットとその後続の値６３を有する追加の６ビットとその後続の追加の７ビットを使用して符号化される。これら３つのケースのうちの最後のケースが、わざと構成された人工的な信号が符号器内に想定外の大きな残差値状態を作りかねないような稀な状況を防止するために、主に有益となる。
【０３３２】
2020181203.tif 000177
【０３３３】
関数ｅｎｃｏｄｅ＿ｓｆｅ＿ｖｅｃｔｏｒは、ｎＢ個の整数値から成るスケールファクタベクトルｇを符号化する。符号器状態を構成する値ｔとｐｒｅｖベクトルとは、関数のための追加的パラメータとして使用される。トップレベル関数ｉｉｓＩＧＦＳＣＦＥｎｃｏｄｅｒＥｎｃｏｄｅは、関数ｅｎｃｏｄｅ＿ｓｆｅ＿ｖｅｃｔｏｒをコールする前に、通常の算術符号器初期化関数ａｒｉ＿ｓｔａｒｔ＿ｅｎｃｏｄｉｎｇ＿１４ｂｉｔｓ（）をコールしなければならず、後に算術符号器終結関数ａｒｉ＿ｄｏｎｅ＿ｅｎｃｏｄｉｎｇ＿１４ｂｉｔｓをもコールしなければならないことに注目されたい。
【０３３４】
関数ｑｕａｎｔ＿ｃｔｘは、コンテキスト値ｃｔｘを｛−３，．．．，３｝に制限することによって、コンテキスト値を量子化するために使用され、以下のように定義される。
2020181203.tif 000178
【０３３５】
コンテキスト値を計算するために使用される、疑似コードからのコメント内に示されたシンボル名の定義は、以下の表１４に記載されている。
【０３３６】
【表１４】
2020181203.tif 000179
【０３３７】
2020181203.tif 000180
【０３３８】
上述の関数において、ｔの値とベクトルｇ内のある値の位置ｆとに依存して、５つのケースが存在する。
・ｔ＝０及びｆ＝０のとき、独立フレームの第１のスケールファクタは、累積度数テーブルｃｆ＿ｓｅ００を用いて符号化される最上位ビットと、直接符号化される２つの最下位ビットとに分割することで符号化される。
・ｔ＝０及びｆ＝１のとき、独立フレームの第２のスケールファクタは、累積度数テーブルｃｆ＿ｓｅ０１を用いて（予測残差として）符号化される。
・ｔ＝０及びｆ≧２のとき、独立フレームの第３及び後続のスケールファクタは、量子化されたコンテキスト値ｃｔｘにより決定された累積度数テーブルｃｆ＿ｓｅ０２［ＣＴＸ＿ＯＦＦＳＥＴ＋ｃｔｘ］を用いて（予測残差として）符号化される。
・ｔ＝１及びｆ＝０のとき、依存型フレームの第１のスケールファクタは、累積度数テーブルｃｆ＿ｓｅ１０を用いて（予測残差として）符号化される。
・ｔ＝１及びｆ≧１のとき、依存型フレームの第２及び後続のスケールファクタは、量子化されたコンテキスト値ｃｔｘ＿ｔ及びｃｔｘ＿ｆにより決定された累積度数テーブルｃｆ＿ｓｅ１１［ＣＴＸ＿ＯＦＦＳＥＴ＋ｃｔｘ＿ｔ］［ＣＴＸ＿ＯＦＦＳＥＴ＋ｃｔｘ＿ｆ］を用いて（予測残差として）符号化される。
【０３３９】
所定の累積度数テーブルｃｆ＿ｓｅ０１、ｃｆ＿ｓｅ０２及びテーブルオフセットｃｆ＿ｏｆｆ＿ｓｅ０１、ｃｆ＿ｏｆｆ＿ｓｅ０２は、現在の動作点に依存し、またビットレートに暗黙的に依存し、さらにそれらは、符号器の初期化の間に各所与の動作点について利用可能な選択肢のセットから選択されることに留意されたい。累積度数テーブルｃｆ＿ｓｅ００は全ての動作点について共通であり、累積度数テーブルｃｆ＿ｓｅ１０及びｃｆ＿ｓｅ１１と、対応するテーブルオフセットｃｆ＿ｏｆｆ＿ｓｅ１０及びｃｆ＿ｏｆｆ＿ｓｅ１１ともまた共通であるが、それらは、依存型ＴＣＸ１０フレーム（ｔ＝１のとき）の場合に、４８ｋｂｐｓ以上のビットレートに対応する動作点に対してだけ使用される。
【０３４０】
５．３．３．２．１１．９  ＩＧＦビットストリームライタ
算術符号化されたＩＧＦスケールファクタ、ＩＧＦホワイトニングレベル及びＩＧＦ時間的平坦度インジケータは、ビットストリームを介して復号器側へと連続的に伝送される。ＩＧＦスケールファクタの符号化は、サブ条項５．３．３．２．１１．８．４に記載されている。ＩＧＦホワイトニングレベルは、サブ条項５．３．３．２．１１．６．４に記載のように符号化される。最後に、１ビットとして表現されるＩＧＦ時間的平坦度インジケータフラグがビットストリームに書き込まれる。
【０３４１】
ＴＣＸ２０フレームの場合、即ち（ｉｓＴＣＸ２０＝ｔｒｕｅ）の場合であって、カウント要求がビットストリームライタに信号伝達されない場合、ビットストリームライタの出力はビットストリームに直接供給される。２つのサブフレームが２０ｍｓフレーム内で依存的に符号化されるＴＣＸ１０フレームの場合、即ち（ｉｓＴＣＸ１０＝ｔｒｕｅ）の場合、各サブフレームへのビットストリームライタの出力は一時的バッファに書き込まれ、個々のサブフレームについてのビットストリームライタの出力を含む１つのビットストリームをもたらす。この一時的バッファのコンテンツは、最終的にそのビットストリームに書き込まれる。
[備考]
[請求項１]
低位周波数帯域と高位周波数帯域とを有するオーディオ信号を符号化するためのオーディオ符号器であって、
前記オーディオ信号の前記高位周波数帯域内のピークスペクトル領域を検出するための検出部（８０２）と、
前記低位周波数帯域の整形情報を用いて前記低位周波数帯域を整形し、前記低位周波数帯域の整形情報の少なくとも一部を用いて前記高位周波数帯域を整形するための整形部（８０４）であって、前記高位周波数帯域の検出されたピークスペクトル領域におけるスペクトル値を追加的に減衰させるように構成された整形部（８０４）と、
整形された低位周波数帯域及び整形された高位周波数帯域を量子化し、前記整形された低位周波数帯域及び整形された高位周波数帯域からの量子化されたスペクトル値をエントロピー符号化するための量子化器及び符号器ステージ（８０６）と、
を備えたオーディオ符号器。
[請求項２]
時間フレームにおけるオーディオサンプルのブロックを分析することによって、前記オーディオ信号の時間フレームの線形予測係数を導出する線形予測分析部（８０８）であって、前記オーディオサンプルは前記低位周波数帯域に帯域制限されている、線形予測分析部（８０８）をさらに含み、
前記整形部（８０４）は、前記整形情報として前記線形予測係数を用いて前記低位周波数帯域を整形するように構成されており、
前記整形部（８０４）は、前記オーディオ信号の前記時間フレームにおける前記高位周波数帯域を整形するために、前記低位周波数帯域に帯域制限された前記オーディオサンプルのブロックから導出された前記線形予測係数の少なくとも一部を使用するように構成される、
請求項１に記載のオーディオ符号器。
[請求項３]
前記整形部（８０４）は、前記オーディオ信号の前記低位周波数帯域から導出される線形予測係数を使用して、前記低位周波数帯域の複数のサブバンドのための複数の整形ファクタを計算するよう構成され、
前記整形部（８０４）は、前記低位周波数帯域において、前記低位周波数帯域のあるサブバンドにおけるスペクトル係数を、その対応するサブバンドのために計算された整形ファクタを用いて、重み付けするよう構成され、
かつ前記高位周波数帯域におけるスペクトル係数を、前記低位周波数帯域のサブバンドの一つのために計算された整形ファクタを用いて重み付けするよう構成される、
請求項１または２に記載のオーディオ符号器。
[請求項４]
前記整形部（８０４）は、前記高位周波数帯域のスペクトル係数を、前記低位周波数帯域の最高のサブバンドのために計算された整形ファクタを用いて重み付けするよう構成され、前記最高のサブバンドは、前記低位周波数帯域のサブバンドのすべての中心周波数の中で最も高い中心周波数を有する、
請求項３に記載のオーディオ符号器。
[請求項５]
前記検出部（８０２）は、ある条件グループの少なくとも一つが真である場合に、前記高位周波数帯域におけるピークスペクトル領域を決定するように構成され、
前記条件グループは、低位周波数帯域振幅条件（１１０２）、ピーク距離条件（１１０４）、及びピーク振幅条件（１１０６）を少なくとも含む、
前記請求項１〜４のいずれか１項に記載のオーディオ符号器。
[請求項６]
前記検出部（８０２）は、前記低位周波数帯域振幅条件のために、
前記低位周波数帯域における最大スペクトル振幅（１２０２）と、
前記高位周波数帯域における最大スペクトル振幅（１２０４）と、を決定するよう構成され、
ゼロより大きな所定数によって重み付けられた前記低位周波数帯域における最大スペクトル振幅が、前記高位周波数帯域における最大スペクトル振幅（１２０４）より大きい場合に、前記低位周波数帯域振幅条件（１１０２）が真である、
請求項５に記載のオーディオ符号器。
[請求項７]
前記検出部（８０２）は、前記整形部（８０４）により適用される整形操作の前に、前記低位周波数帯域における最大スペクトル振幅又は前記高位周波数帯域における最大スペクトル振幅を検出するように構成され、又は前記所定数が４〜３０である、
請求項６に記載のオーディオ符号器。
[請求項８]
前記検出部（８０２）は、ピーク距離条件について、
前記低位周波数帯域における第１の最大スペクトル振幅（１３０２）と、
前記低位周波数帯域の中心周波数と前記高位周波数帯域の中心周波数との間の、境界周波数からの前記第１の最大スペクトル振幅の第１のスペクトル距離（１３０４）と、
前記高位周波数帯域における第２の最大スペクトル振幅（１３０６）と、
前記境界周波数から前記第２の最大スペクトル振幅までの前記第２の最大スペクトル振幅の第２のスペクトル距離（１３０８）と、
を決定するよう構成され、
前記第１のスペクトル距離によって重み付けされかつ１より大きな所定数によって重み付けられた前記第１の最大スペクトル振幅が、前記第２のスペクトル距離によって重み付けられた第２の最大スペクトル振幅よりも大きい場合（１３１０）に、前記ピーク距離条件（１１０４）が真である、
請求項５〜７のいずれか一項に記載のオーディオ符号器。
[請求項９]
前記検出部（８０２）は、前記第１の最大スペクトル振幅又は前記第２の最大スペクトル振幅を、前記追加的減衰なしの前記整形部（８０４）による整形操作に続いて、決定するように構成され、又は
前記境界周波数は、前記低位周波数帯域の最高周波数又は前記高位周波数帯域の最低周波数であり、又は
前記所定数は１．５と８との間である、
請求項８に記載のオーディオ符号器。
[請求項１０]
前記検出部（８０２）は、前記低位周波数帯域の一部分における第１の最大スペクトル振幅（１４０２）を決定するよう構成され、前記一部分は前記低位周波数帯域の所定の開始周波数から前記低位周波数帯域の最大周波数まで延びており、前記所定の開始周波数は前記低位周波数帯域の最小周波数よりも大きく、
前記検出部（８０２）は、前記高位周波数帯域における第２の最大スペクトル振幅（１４０４）を決定するよう構成され、
前記第２の最大スペクトル振幅が、１以上の所定数で重み付けされた第１の最大スペクトル振幅より大きい場合（１４０６）に、前記ピーク振幅条件（１１０６）が真である、
請求項５〜９のいずれか一項に記載のオーディオ符号器。
[請求項１１]
前記検出部（８０２）は、前記第１の最大スペクトル振幅又は前記第２の最大スペクトル振幅を、前記整形部（８０４）によって前記追加的減衰なしに適用される整形操作の後で決定するように構成され、若しくは前記所定の開始周波数は前記低位周波数帯域の前記最小周波数よりも高い低周波数の少なくとも１０％にあるか、若しくは前記所定の開始周波数は前記低位周波数帯域の最大周波数の半分の±１０％の許容差内で前記最大周波数の半分に等しい周波数であり、又は
前記所定数は、前記量子化器／符号器ステージによって提供されるビットレートに依存し、それによって、ビットレートが高いほど前記所定数が高くなり、又は
前記所定数は１．０と５．０との間である、
請求項１０に記載のオーディオ符号器。
[請求項１２]
前記検出部（８０２）は、前記３つの条件のうちの少なくとも２つ又は前記３つの条件が真である場合にのみ、前記ピークスペクトル領域を決定するように構成される、
請求項６から１１のいずれか一項に記載のオーディオ符号器。
[請求項１３]
前記検出部（８０２）は、前記スペクトル振幅として、実数スペクトルのスペクトル値の絶対値、複素スペクトルの大きさ、前記実数スペクトルの前記スペクトル値の任意の羃、又は前記複素スペクトルの大きさの任意の羃を決定するように構成され、前記羃は１より大きい、
請求項６〜１２のいずれか一項に記載のオーディオ符号器。
[請求項１４]
前記整形部（８０４）は、前記高位周波数帯域における最大スペクトル振幅に基づいて、又は前記低位周波数帯域における最大スペクトル振幅に基づいて、前記検出されたピークスペクトル領域における少なくとも１つのスペクトル値を減衰させるように構成される、
請求項１〜１３のいずれか１項に記載のオーディオ符号器。
[請求項１５]
前記整形部（８０４）は、前記低位周波数帯域の一部分における最大スペクトル振幅を決定するよう構成され、前記一部分は前記低位周波数帯域の所定の開始周波数から前記低位周波数帯域の最大周波数まで延びており、前記所定の開始周波数は前記低位周波数帯域の最小周波数より大きく、前記所定の開始周波数は好ましくは前記低位周波数帯域の最小周波数より高い前記低位周波数帯域の少なくとも１０％にあり、又は前記所定の開始周波数は好ましくは前記低位周波数帯域の最大周波数の半分の±１０％の許容誤差内で前記最大周波数の半分に等しい周波数である、
請求項１４に記載のオーディオ符号器。
[請求項１６]
前記整形部（８０４）は、減衰ファクタを用いて前記スペクトル値をさらに減衰させるよう構成され、前記減衰ファクタは、１以上である所定数により乗算（１６０６）され、かつ前記高位周波数帯域における最大スペクトル振幅（１６０４）によって除算された、前記低位周波数帯域における最大スペクトル振幅（１６０２）から導出される、
請求項１４又は１５に記載のオーディオ符号器。
[請求項１７]
前記整形部（８０４）は、検出されたピークスペクトル領域内のスペクトル値を、
−前記低位周波数帯域の整形情報の少なくとも一部を用いた第１の重み付け操作（１７０２、８０４ａ）と、減衰情報を用いた第２の後続の重み付け操作（１７０４、８０４ｂ）、又は
−減衰情報を使用した第１の重み付け操作と、前記低位周波数帯域についての前記整形情報の少なくとも一部を用いた第２の後続の重み付け操作、又は
−前記減衰情報と前記低位周波数帯域についての前記整形情報の少なくとも一部とから導出された結合された重み情報を用いた単一の重み付け操作、
に基づいて整形するように構成される、請求項１〜１６のいずれか１項に記載のオーディオ符号器。
[請求項１８]
前記低位周波数帯域についての重み情報は整形ファクタの集合であり、各整形ファクタは前記低位周波数帯域の１つのサブバンドと関連しており、
前記高位周波数帯域についての整形操作に使用される前記低位周波数帯域についての重み情報の少なくとも一部は、前記低位周波数帯域のすべてのサブバンドの最も高い中心周波数を有する前記低位周波数帯域のサブバンドに関連付けられた整形ファクタであり、又は
前記減衰情報は、前記検出されたスペクトル領域における少なくとも１つのスペクトル値に、または前記検出されたスペクトル領域における全てのスペクトル値に、または前記オーディオ信号の時間フレームに対して前記検出部（８０２）によって前記ピークスペクトル領域が検出された前記高位周波数帯域におけるすべてのスペクトル値に、適用される減衰ファクタであり、又は
前記整形部（８０４）は、前記検出部（８０２）が前記オーディオ信号の時間フレームの高位周波数帯域のいずれのピークスペクトル領域も検出しない場合に、如何なる追加的減衰も行わずに前記低位周波数帯域及び前記高位周波数帯域の整形を実行するよう構成されている、
請求項１７に記載のオーディオ符号器。
[請求項１９]
前記量子化器および符号器ステージ（８０６）は、エントロピー符号化されたオーディオ信号の所定のビットレートが得られるように、量子化器特性を推定するためのレートループプロセッサを含む、
請求項１〜１８のいずれか１項に記載のオーディオ符号器。
[請求項２０]
前記量子化器特性はグローバル利得であり、
前記量子化器および符号器ステージ（８０６）が、
前記低位周波数帯域における整形されたスペクトル値と、前記高位周波数帯域における整形されたスペクトル値とを、同じグローバル利得によって重み付けするための重み付け部（１５０２）と、
前記グローバル利得により重み付けされた値を量子化するための量子化器（１５０４）と、
量子化された値をエントロピー符号化するエントロピー符号器（１５０６）であって、前記エントロピー符号器は算術符号器またはハフマン符号器を含む、エントロピー符号器（１５０６）と、
を含む、
請求項１９記載のオーディオ符号器。
[請求項２１]
前記オーディオ符号器は、前記高位周波数帯域において、量子化されエントロピー符号化されるべきスペクトル値の第１グループと、ギャップ充填手順によりパラメトリックに符号化されるべきスペクトル値の第２グループとを決定するためのトーンマスクプロセッサ（１０１２）をさらに含み、前記トーンマスクプロセッサは、前記スペクトル値の第２グループをゼロ値に設定するよう構成されている、
請求項１〜２０のいずれか１項に記載のオーディオ符号器。
[請求項２２]
前記オーディオ符号器は、
共通プロセッサ（１００２）と、
周波数ドメイン符号器（１０１２，８０２，８０４，８０６）と、
線形予測符号器（１００８）と、をさらに備え、
前記周波数ドメイン符号器は、前記検出部（８０２）と、前記整形部（８０４）と、前記量子化器および符号器ステージ（８０６）とを含み、
前記共通プロセッサは、前記周波数ドメイン符号器および前記線形予測符号器によって使用されるべきデータを計算するよう構成される、
請求項１〜２１のいずれか１項に記載のオーディオ符号器。
[請求項２３]
前記共通プロセッサは、前記オーディオ信号をリサンプリング（１００６）して、前記オーディオ信号の時間フレームのために前記低位周波数帯域に帯域制限されたリサンプリング済みオーディオ信号帯域を得るように構成され、
前記共通プロセッサ（１００２）は、前記時間フレームにおけるオーディオサンプルのブロックを分析することによって、前記オーディオ信号の前記時間フレームについての線形予測係数を導出する線形予測分析部（８０８）を備え、前記オーディオサンプルは、前記低位周波数帯域に帯域制限されており、又は
前記共通プロセッサ（１００２）は、前記オーディオ信号の前記時間フレームが、前記線形予測符号器の出力または前記周波数ドメイン符号器の出力のいずれかによって表現されるように制御するよう構成される、
請求項２２に記載のオーディオ符号器。
[請求項２４]
前記周波数ドメイン符号器は、前記オーディオ信号の時間フレームを、前記低位周波数帯域及び前記高位周波数帯域を含む周波数表現へと変換するための時間−周波数変換部（１０１２）を含む、
請求項２２又は２３に記載のオーディオ符号器。
[請求項２５]
低位周波数帯域と高位周波数帯域とを有するオーディオ信号を符号化するための方法であって、
前記オーディオ信号の前記高位周波数帯域におけるピークスペクトル領域を検出するステップ(８０２)と、
前記低位周波数帯域のための整形情報を用いて、前記オーディオ信号の前記低位周波数帯域を整形（８０４）し、かつ前記低位周波数帯域のための整形情報の少なくとも一部を使用して、前記オーディオ信号の高位周波数帯域を整形（１７０２）するステップであって、前記高位周波数帯域の整形は、前記高位周波数帯域の検出されたピークスペクトル領域におけるスペクトル値の追加的減衰（１７０４）を含む、ステップと、
を含む方法。
[請求項２６]
コンピュータまたはプロセッサ上で実行されたとき、請求項２５に記載の方法を実行するためのコンピュータプログラム。
【図１】
2020181203.tif 000181
【図２】
2020181203.tif 000182
【図３】
2020181203.tif 000183
【図４】
2020181203.tif 000184
【図５】
2020181203.tif 000185
【図６】
2020181203.tif 000186
【図７】
2020181203.tif 000187
【図８】
2020181203.tif 000188
【図９】
2020181203.tif 000189
【図１０】
2020181203.tif 000190
【図１１】
2020181203.tif 000191
【図１２】
2020181203.tif 000192
【図１３】
2020181203.tif 000193
【図１４】
2020181203.tif 000194
【図１５ａ】
2020181203.tif 000195
【図１５ｂ】
2020181203.tif 000196
【図１６】
2020181203.tif 000197
【図１７】
2020181203.tif 000198
【手続補正書】
【提出日】令和2年8月3日(2020.8.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
低位周波数帯域と高位周波数帯域とを有するオーディオ信号を符号化するためのオーディオ符号器であって、
前記オーディオ信号の前記低位周波数帯域内の有意な信号成分および前記高位周波数帯域内のピークスペクトル領域を検出するための検出部（８０２）と、
前記低位周波数帯域内の有意な信号成分が検出されたとき、前記高位周波数帯域の検出されたピークスペクトル領域におけるスペクトル値を減衰させる整形部（８０４）と、
前記低位周波数帯域及び減衰された高位周波数帯域を量子化し、前記低位周波数帯域及び前記減衰された高位周波数帯域からの量子化されたスペクトル値をエントロピー符号化するための量子化器及び符号器ステージ（８０６）と、
を備えたオーディオ符号器。
【請求項２】
時間フレームにおけるオーディオサンプルのブロックを分析することによって、前記オーディオ信号の時間フレームの線形予測係数を導出する線形予測分析部（８０８）であって、前記オーディオサンプルは前記低位周波数帯域に帯域制限されている、線形予測分析部（８０８）をさらに含み、
前記整形部（８０４）は、整形情報として前記線形予測係数を用いて前記低位周波数帯域を整形するように構成されており、
前記整形部（８０４）は、前記オーディオ信号の前記時間フレームにおける前記高位周波数帯域を整形するために、整形情報の少なくとも一部として、前記低位周波数帯域に帯域制限された前記オーディオサンプルのブロックから導出された前記線形予測係数の少なくとも一部を使用するように構成される、
請求項１に記載のオーディオ符号器。
【請求項３】
前記整形部（８０４）は、前記オーディオ信号の前記低位周波数帯域から導出される線形予測係数を使用して、前記低位周波数帯域の複数のサブバンドのための複数の整形ファクタを計算するよう構成され、
前記整形部（８０４）は、
前記低位周波数帯域において、前記低位周波数帯域の複数のサブバンドのうちのあるサブバンドにおけるスペクトル係数を、前記低位周波数帯域の複数のサブバンドのうちの当該サブバンドのために計算された整形ファクタを用いて、重み付けするよう構成され、
かつ前記高位周波数帯域におけるスペクトル係数を、前記低位周波数帯域の複数のサブバンドのうちの前記サブバンドのために計算された前記整形ファクタを用いて重み付けするよう構成される、
請求項１または２に記載のオーディオ符号器。
【請求項４】
前記整形部（８０４）は、前記高位周波数帯域のスペクトル係数を、前記低位周波数帯域の最高のサブバンドのために計算された整形ファクタを用いて重み付けするよう構成され、前記最高のサブバンドは、前記低位周波数帯域のサブバンドのすべての中心周波数の中で最も高い中心周波数を有する、
請求項３に記載のオーディオ符号器。
【請求項５】
前記検出部（８０２）は、ある条件グループの少なくとも一つが真である場合に、前記高位周波数帯域における検出されたピークスペクトル領域を決定するように構成され、
前記条件グループは、低位周波数帯域振幅条件（１１０２）、ピーク距離条件（１１０４）、及びピーク振幅条件（１１０６）を少なくとも含む、
請求項１〜４のいずれか１項に記載のオーディオ符号器。
【請求項６】
前記検出部（８０２）は、前記低位周波数帯域振幅条件のために、
前記低位周波数帯域における最大スペクトル振幅（１２０２）と、
前記高位周波数帯域における最大スペクトル振幅（１２０４）と、を決定するよう構成され、
ゼロより大きな所定数によって重み付けられた前記低位周波数帯域における最大スペクトル振幅が、前記高位周波数帯域における最大スペクトル振幅（１２０４）より大きい場合に、前記低位周波数帯域振幅条件（１１０２）が真である、
請求項５に記載のオーディオ符号器。
【請求項７】
前記検出部（８０２）は、前記整形部（８０４）により適用される整形操作の前に、前記低位周波数帯域における最大スペクトル振幅又は前記高位周波数帯域における最大スペクトル振幅を検出するように構成され、又は前記所定数が４〜３０である、
請求項６に記載のオーディオ符号器。
【請求項８】
前記検出部（８０２）は、ピーク距離条件について、
前記低位周波数帯域における第１の最大スペクトル振幅（１３０２）と、
前記低位周波数帯域の中心周波数と前記高位周波数帯域の中心周波数との間の境界周波数からの前記第１の最大スペクトル振幅（１３０２）の第１のスペクトル距離（１３０４）と、
前記高位周波数帯域における第２の最大スペクトル振幅（１３０６）と、
前記境界周波数から前記第２の最大スペクトル振幅までの前記第２の最大スペクトル振幅の第２のスペクトル距離（１３０８）と、
を決定するよう構成され、
前記第１のスペクトル距離によって重み付けされかつ１より大きな所定数によって重み付けられた前記第１の最大スペクトル振幅が、前記第２のスペクトル距離によって重み付けられた第２の最大スペクトル振幅よりも大きい場合（１３１０）に、前記ピーク距離条件（１１０４）が真である、
請求項５〜７のいずれか一項に記載のオーディオ符号器。
【請求項９】
前記検出部（８０２）は、前記第１の最大スペクトル振幅又は前記第２の最大スペクトル振幅を、追加的減衰なしの前記整形部（８０４）による整形操作に続いて、決定するように構成され、又は
前記境界周波数は、前記低位周波数帯域の最高周波数又は前記高位周波数帯域の最低周波数であり、又は
前記所定数は１．５と８との間である、
請求項８に記載のオーディオ符号器。
【請求項１０】
前記検出部（８０２）は、前記低位周波数帯域の一部分における第１の最大スペクトル振幅（１４０２）を決定するよう構成され、前記低位周波数帯域の一部分は前記低位周波数帯域の所定の開始周波数から前記低位周波数帯域の最大周波数まで延びており、前記所定の開始周波数は前記低位周波数帯域の最小周波数よりも大きく、
前記検出部（８０２）は、前記高位周波数帯域における第２の最大スペクトル振幅（１４０４）を決定するよう構成され、
前記第２の最大スペクトル振幅が、１以上の所定数で重み付けされた第１の最大スペクトル振幅より大きい場合（１４０６）に、前記ピーク振幅条件（１１０６）が真である、
請求項５〜９のいずれか一項に記載のオーディオ符号器。
【請求項１１】
前記検出部（８０２）は、前記第１の最大スペクトル振幅又は前記第２の最大スペクトル振幅を、前記整形部（８０４）によって追加的減衰なしに適用される整形操作の後で決定するように構成され、若しくは前記所定の開始周波数は前記低位周波数帯域の前記最小周波数よりも高い低周波数の少なくとも１０％にあるか、若しくは前記所定の開始周波数は前記低位周波数帯域の最大周波数の半分の±１０％の許容差内で前記最大周波数の半分に等しい周波数であり、又は
前記所定数は、前記量子化器および符号器ステージ（８０６）によって提供されるビットレートに依存し、それによって、ビットレートが高いほど前記所定数が高くなり、又は
前記所定数は１．０と５．０との間である、
請求項１０に記載のオーディオ符号器。
【請求項１２】
前記検出部は、３つの条件からなる条件グループのうち２つの条件だけが真である場合に、前記高位周波数帯域における検出されたピークスペクトル領域を決定するように構成されるか、又は
前記検出部は、前記３つの条件からなる条件グループのうち３つの条件が真である場合に、前記高位周波数帯域における検出されたピークスペクトル領域を決定するように構成され、
前記３つの条件からなる条件グループは、低位周波数帯域振幅条件、ピーク距離条件、及びピーク振幅条件を含む、
請求項６から１１のいずれか一項に記載のオーディオ符号器。
【請求項１３】
前記検出部（８０２）は、前記低位周波数帯域または前記高位周波数帯域において、前記スペクトル振幅として、実数スペクトルのスペクトル値の絶対値、複素スペクトルの大きさ、前記実数スペクトルのスペクトル値の任意の羃、又は前記複素スペクトルの大きさの任意の羃を決定するように構成され、前記実数スペクトルのスペクトル値の羃は１より大きいか、又は前記複素スペクトルの大きさの羃は１より大きい、
請求項６〜１２のいずれか一項に記載のオーディオ符号器。
【請求項１４】
前記整形部（８０４）は、前記高位周波数帯域における最大スペクトル振幅に基づいて、又は前記低位周波数帯域における最大スペクトル振幅に基づいて、前記高位周波数帯域内の検出されたピークスペクトル領域における少なくとも１つのスペクトル値を減衰させるように構成される、
請求項１〜１３のいずれか１項に記載のオーディオ符号器。
【請求項１５】
前記整形部（８０４）は、前記低位周波数帯域の一部分について前記低位周波数帯域内の最大スペクトル振幅を決定するよう構成され、前記低位周波数帯域の一部分は前記低位周波数帯域の所定の開始周波数から前記低位周波数帯域の最大周波数まで延びており、前記所定の開始周波数は前記低位周波数帯域の最小周波数より大きく、前記所定の開始周波数は好ましくは前記低位周波数帯域の最小周波数より高い前記低位周波数帯域の少なくとも１０％にあり、又は前記所定の開始周波数は好ましくは前記低位周波数帯域の最大周波数の半分の±１０％の許容誤差内で前記最大周波数の半分に等しい周波数である、
請求項１４に記載のオーディオ符号器。
【請求項１６】
前記整形部（８０４）は、減衰ファクタを用いて前記高位周波数帯域内の検出されたピークスペクトル領域における少なくとも１つのスペクトル値を減衰させるよう構成され、前記減衰ファクタは、１以上である所定数により乗算（１６０６）され、かつ前記高位周波数帯域における最大スペクトル振幅（１６０４）によって除算された、前記低位周波数帯域における最大スペクトル振幅（１６０２）から導出される、
請求項１４又は１５に記載のオーディオ符号器。
【請求項１７】
前記整形部（８０４）は、前記高位周波数帯域内の検出されたピークスペクトル領域内のスペクトル値を、
−前記低位周波数帯域の整形情報の少なくとも一部を用いた、前記高位周波数帯域内の検出されたピークスペクトル領域内のスペクトル値のための第１の重み付け操作と、減衰情報を用いた、前記高位周波数帯域内の検出されたピークスペクトル領域内のスペクトル値のための第２の後続の重み付け操作、又は
−減衰情報を使用した、前記高位周波数帯域内の検出されたピークスペクトル領域内のスペクトル値のための第１の重み付け操作と、前記低位周波数帯域についての前記整形情報の少なくとも一部を用いた、前記高位周波数帯域内の検出されたピークスペクトル領域内のスペクトル値のための第２の後続の重み付け操作、又は
−減衰情報と前記低位周波数帯域についての整形情報の少なくとも一部とから導出された結合された重み情報を用いた、前記高位周波数帯域内の検出されたピークスペクトル領域内のスペクトル値のための単一の重み付け操作、
に基づいて整形するように構成される、請求項１〜１６のいずれか１項に記載のオーディオ符号器。
【請求項１８】
前記低位周波数帯域についての整形情報は整形ファクタの集合であり、前記整形ファクタの集合の各整形ファクタは前記低位周波数帯域の１つのサブバンドと関連しており、
前記高位周波数帯域の整形に使用される前記低位周波数帯域についての整形情報の少なくとも一部は、前記低位周波数帯域のすべてのサブバンドの最も高い中心周波数を有する前記低位周波数帯域のサブバンドに関連付けられた整形ファクタであり、又は
前記減衰情報は、前記高位周波数帯域内の検出されたピークスペクトル領域における少なくとも１つのスペクトル値に適用されるか、または前記高位周波数帯域内の検出されたピークスペクトル領域における全てのスペクトル値に適用される、減衰ファクタであり、又は
前記検出部は、前記オーディオ信号のある時間フレームについて前記高位周波数帯域内の検出されるピークスペクトル領域を検出するよう構成され、かつ前記減衰情報は、前記オーディオ信号の前記時間フレームにおける前記高位周波数帯域内のすべてのスペクトル値に対して適用され、又は
前記検出部は、前記オーディオ信号のある時間フレームについて検出操作を実行するよう構成され、かつ前記整形部は、前記検出操作が前記オーディオ信号のある時間フレームの高位周波数帯域内でいずれのピークスペクトル領域も検出しない場合に、前記高位周波数帯域の如何なる追加的減衰も行わずに前記低位周波数帯域の整形及び前記高位周波数帯域の整形を実行するよう構成されている、
請求項１７に記載のオーディオ符号器。
【請求項１９】
前記量子化器および符号器ステージ（８０６）は、エントロピー符号化されたオーディオ信号の所定のビットレートが得られるように、量子化器特性を推定するためのレートループプロセッサを含む、
請求項１〜１８のいずれか１項に記載のオーディオ符号器。
【請求項２０】
前記量子化器特性はグローバル利得であり、
前記量子化器および符号器ステージ（８０６）が、
前記低位周波数帯域における整形されたスペクトル値を前記グローバル利得によって重み付けし、かつ前記高位周波数帯域における整形されたスペクトル値を前記グローバル利得によって重み付けするための重み付け部（１５０２）と、
前記グローバル利得により重み付けされた値を量子化し、整形された低位周波数帯域および整形された高位周波数帯域から量子化されたスペクトル値を取得するための量子化器（１５０４）と、
量子化された値をエントロピー符号化するエントロピー符号器（１５０６）であって、前記エントロピー符号器は算術符号器またはハフマン符号器を含む、エントロピー符号器（１５０６）と、
を含む、
請求項１９記載のオーディオ符号器。
【請求項２１】
前記オーディオ符号器は、前記高位周波数帯域において、量子化されエントロピー符号化されるべきスペクトル値の第１グループと、ギャップ充填手順によりパラメトリックに符号化されるべきスペクトル値の第２グループとを決定するためのトーンマスクプロセッサ（１０１２）をさらに含み、前記トーンマスクプロセッサは、前記スペクトル値の第２グループをゼロ値に設定するよう構成されている、
請求項１〜２０のいずれか１項に記載のオーディオ符号器。
【請求項２２】
前記オーディオ符号器は、
共通プロセッサ（１００２）と、
周波数ドメイン符号器（１０１２，８０２，８０４，８０６）と、
線形予測符号器（１００８）と、をさらに備え、
前記周波数ドメイン符号器は、前記検出部（８０２）と、前記整形部（８０４）と、前記量子化器および符号器ステージ（８０６）とを含み、
前記共通プロセッサは、前記周波数ドメイン符号器および前記線形予測符号器によって使用されるべきデータを計算するよう構成される、
請求項１〜２１のいずれか１項に記載のオーディオ符号器。
【請求項２３】
前記共通プロセッサは、前記オーディオ信号をリサンプリング（１００６）して、前記オーディオ信号の時間フレームのために前記低位周波数帯域に帯域制限されたリサンプリング済みオーディオ信号帯域を得るように構成され、
前記共通プロセッサ（１００２）は、前記時間フレームにおけるオーディオサンプルのブロックを分析することによって、前記オーディオ信号の前記時間フレームについての線形予測係数を導出する線形予測分析部（８０８）を備え、前記オーディオサンプルは、前記低位周波数帯域に帯域制限されており、又は
前記共通プロセッサ（１００２）は、前記オーディオ信号の前記時間フレームが、前記線形予測符号器の出力または前記周波数ドメイン符号器の出力のいずれかによって表現されるように制御するよう構成される、
請求項２２に記載のオーディオ符号器。
【請求項２４】
前記周波数ドメイン符号器は、前記オーディオ信号の時間フレームを、前記低位周波数帯域及び前記高位周波数帯域を含む周波数表現へと変換するための時間−周波数変換部（１０１２）を含む、
請求項２２又は２３に記載のオーディオ符号器。
【請求項２５】
低位周波数帯域と高位周波数帯域とを有するオーディオ信号を符号化するための方法であって、
前記オーディオ信号の前記低位周波数帯域内の有意な信号成分および前記高位周波数帯域内のピークスペクトル領域を検出するステップ(８０２)と、
前記低位周波数帯域内の有意な信号成分が検出されたとき、前記高位周波数帯域内の検出されたピークスペクトル領域におけるスペクトル値を減衰（１７０４）させるステップと、
前記低位周波数帯域及び減衰された高位周波数帯域を量子化し、前記低位周波数帯域及び前記減衰された高位周波数帯域からの量子化されたスペクトル値をエントロピー符号化するステップと、を含む方法。
【請求項２６】
コンピュータまたはプロセッサ上で実行されたとき、請求項２５に記載の方法を実行するためのコンピュータプログラム。