JP5707410B2 - 前に復号されたスペクトル値のグループの検出を使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム - Google Patents

前に復号されたスペクトル値のグループの検出を使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム Download PDF

Info

Publication number
JP5707410B2
JP5707410B2 JP2012534667A JP2012534667A JP5707410B2 JP 5707410 B2 JP5707410 B2 JP 5707410B2 JP 2012534667 A JP2012534667 A JP 2012534667A JP 2012534667 A JP2012534667 A JP 2012534667A JP 5707410 B2 JP5707410 B2 JP 5707410B2
Authority
JP
Japan
Prior art keywords
value
spectral
audio
decoded
spectral values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012534667A
Other languages
English (en)
Other versions
JP2013508762A (ja
Inventor
ギヨーム フックス
ギヨーム フックス
ヴィグネシュ サバラマン
ヴィグネシュ サバラマン
ニコラウス レッテルバッハ
ニコラウス レッテルバッハ
マルクス マルトラス
マルクス マルトラス
マルク ゲイヤー
マルク ゲイヤー
パトリック ヴァルムボルト
パトリック ヴァルムボルト
クリスティアン グリーベル
クリスティアン グリーベル
オリバー ヴァイス
オリバー ヴァイス
Original Assignee
フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ, フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ filed Critical フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
Publication of JP2013508762A publication Critical patent/JP2013508762A/ja
Application granted granted Critical
Publication of JP5707410B2 publication Critical patent/JP5707410B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders

Description

本発明による実施形態は、符号化されたオーディオ情報に基づいて、復号されたオーディオ情報を供給するためのオーディオ復号器、入力されたオーディオ情報に基づいて、符号化されたオーディオ情報を供給するためのオーディオ符号器、符号化されたオーディオ情報に基づいて、復号されたオーディオ情報を供給する方法、入力されたオーディオ情報に基づいて、符号化されたオーディオ情報を供給する方法、およびコンピュータプログラムに関する。
本発明による実施形態は、例えば、いわゆる音声音響統合符号器(USAC)のようなオーディオ符号器または復号器において使用できる改良されたスペクトルノイズレス符号化に関する。
以下に、本発明の背景が、発明の理解およびその効果を容易にするために、簡単に説明される。過去10年の間、より良いビットレート効率でオーディオコンテンツをデジタル的に格納し、分配する可能性を生み出すことに、多大な労力がかけられてきた。この点に関する1つの重要な業績が、国際規格ISO/IEC 14496―3の定義である。この規格のパート3は、オーディオコンテンツの符号化および復号化に関連し、パート3のサブパート4は、汎用オーディオ符号化に関連する。ISO/IEC 14496、パート3、サブパート4は、汎用のオーディオコンテンツの符号化および復号化のための構想を定める。加えて、更なる改良は、品質を改善するために、および/または、必要なビットレートを減少させるために提案された。
前記規格において示された構想によれば、時間領域オーディオ信号は、時間周波数表現に変換される。時間領域から時間周波数領域への変換は、一般的に、時間領域サンプルの、「フレーム」とも呼ばれる変換ブロックを使用して実行される。オーバーラップが、アーチファクトを効率よく回避する(または少なくとも、減少させる)ことを可能にするので、例えば半フレームだけシフトされたオーバーラップしているフレームを使用することが有利であることが分かっている。加えて、窓掛け(windowing)が、時間的に限定されたフレームのこの処理から生じているアーチファクトを回避するために実行されなければならないことが分かっている。
時間領域から時間周波数領域に、入力されたオーディオ信号の窓を掛けた部分を変換することによって、エネルギー圧縮が、多くの場合得られ、その結果、スペクトル値のいくつかは、複数の他のスペクトル値より著しく大きいマグニチュードを含む。したがって、多くの場合、スペクトル値の平均マグニチュードを著しく上回っているマグニチュードを有する比較的少ない数のスペクトル値がある。結果としてエネルギー圧縮をもたらしている時間領域時間周波数領域変換の典型的な実施例は、いわゆる修正離散コサイン変換(MDCT)である。
スペクトル値は、音響心理学的なモデルによってしばしばスケールされ、量子化される。その結果、量子化誤差は、音響心理学的により重要なスペクトル値に関しては、比較的小さく、音響心理学的にそれほど重要でないスペクトル値に関しては、比較的大きい。スケールされ量子化されたスペクトル値は、そのビットレート効率のよい表現を供給するために符号化される。
例えば、量子化されたスペクトル係数のいわゆるハフマン符号化の使用法は、国際規格ISO/IEC 14496―3:2005(E)、パート3、サブパート4(International Standard ISO/IEC 14496−3:2005(E),part3,subpart4)において説明される。しかし、スペクトル値の符号化の品質が、必要なビットレートに重要な影響を及ぼすことが分かっている。
また、携帯型の消費者向けデバイスにおいてしばしば実装され、従って、安価であり、低消費電力である必要があるオーディオ復号器の煩雑性は、スペクトル値を符号化するために使用された符号化に依存していることが分かっている。
International Standard ISO/IEC 14496−3:2005(E),part3,subpart4
この状況を考慮して、ビットレート効率およびリソース効率間の改善されたトレードオフを提供するオーディオコンテンツの符号化および復号化のための構想の必要がある。
本発明による実施形態は、符号化されたオーディオ情報(または符号化されたオーディオ表現)に基づいて、復号されたオーディオ情報(または復号されたオーディオ表現)を供給するためのオーディオ復号器を生み出す。オーディオ復号器は、スペクトル値の算術符号化された表現に基づいて、複数の復号されたスペクトル値を供給するための算術復号器を含む。オーディオ復号器はまた、復号されたオーディオ情報を得るために、復号されたスペクトル値を使用して、時間領域オーディオ表現を供給するための周波数領域時間領域変換器を含む。算術復号器は、コンテキスト状態に依存して、シンボルコードへのコード値のマッピングを示しているマッピングルールを選択するように構成される。算術復号器は、複数の前に復号されたスペクトル値に依存して、現在のコンテキスト状態を決定するように構成される。算術復号器は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たしている複数の前に復号されたスペクトル値のグループを検出して、その検出の結果に依存して、現在のコンテキスト状態を決定するまたは修正するように構成される。
本発明によるこの実施形態は、前に復号された(好ましくは隣接した)スペクトル値のこの種のグループが、スペクトル表現内の特有の特徴であって、したがって、現在のコンテキスト状態の決定を容易にするのに使用されうるので、それらのマグニチュードに関して所定の条件を満たしている複数の前に復号された(好ましくは、必ずではないが、隣接した)スペクトル値のグループの存在が、現在のコンテキスト状態の特に効率的な決定を可能にするという発見に基づく。例えば、特に小さいマグニチュードを含む複数の前に復号された(好ましくは隣接した)スペクトル値のグループを検出することによって、更なるスペクトル値が、(ビットレートに関して)より良い符号化効率で符号化および復号されうるように、スペクトルの中で比較的小さい振幅の部分を認識して、したがって、現在のコンテキスト状態を調整する(決定するまたは修正する)ことは可能である。あるいは、比較的大きい振幅を含む複数の前に復号された隣接したスペクトル値のグループは、検出されることができ、そのコンテキストは、符号化および復号化の効率を増加させるように適切に調整(決定または修正)できる。さらにまた、個々に、または、まとまって、所定の条件を満たす複数の前に復号された(好ましくは隣接した)スペクトル値のグループの検出は、多くの前に復号されたスペクトル値が組み合わさったコンテキスト計算よりも低い計算量で、しばしば実行可能である。要約すると、本発明による上述の実施形態は、単純化したコンテキスト計算を可能にし、隣接した比較的小さいスペクトル値のグループまたは隣接した比較的大きいスペクトル値のグループがある特定の信号群へのコンテキストの調整を可能にする。
好ましい実施形態において、算術復号器は、所定の条件が満たされていることの検出に応答して、前に復号されたスペクトル値から独立して、現在のコンテキスト状態を決定するまたは修正するように構成される。したがって、計算的に特に効率的な機構は、コンテキストを示している値の導出のために得られる。所定の条件を満たす複数の前に復号されたスペクトル値のグループの検出が、結果として、前に復号されたスペクトル値の計算的に大変な労力を要する数値的組み合わせを必要としない単純な機構をもたらす場合、コンテキストの意味がある適合を成し遂げることができることが分かっている。このように、他のアプローチと比較すると、計算量は削減される。また、この種の構想が、一般的に、処理装置で実行されるソフトウェアの実施態様においては非効率的であるので、コンテキスト導出の加速は、その検出に依存している複雑な計算ステップを省略することによって成し遂げることができる。
好ましい実施形態において、算術復号器は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に復号された隣接したスペクトル値のグループを検出するように構成される。
好ましい実施形態において、算術復号器は、個々に、または、まとまって、所定の閾値マグニチュードより小さいマグニチュードを含む複数の前に復号された隣接したスペクトル値のグループを検出して、その検出の結果に依存して、現在のコンテキスト状態を決定するように構成される。複数の隣接した比較的低いスペクトル値のグループが、この状況によく適合されるコンテキストを選択するために使用されうることが分かっている。隣接した比較的小さいスペクトル値のグループがある場合、次に復号されるスペクトル値もまた、比較的小さい値を含む有意な蓋然性がある。したがって、コンテキストの調整は、より良い符号化効率を提供し、そして、コンテキスト計算に時間消費することの回避を助けうる。
好ましい実施形態において、算術復号器は、前に復号されたスペクトル値の各々が0値である複数の前に復号された隣接したスペクトル値のグループを検出して、その検出の結果に依存して、コンテキスト状態を決定するように構成される。スペクトル的または時間的マスキング効果のために、0値をとる隣接したスペクトル値のグループがしばしばあることが分かっている。説明された実施形態は、この状況のための効果的な処理を供給する。加えて、0に量子化される隣接したスペクトル値の存在は、次に復号されるスペクトル値もまた結果としてマスキング効果をもたらす0値または比較的大きいスペクトル値であることの確率を非常に高くする。
好ましい実施形態において、算術復号器は、所定の閾値より小さい合計値を含む複数の前に復号された隣接したスペクトル値のグループを検出して、その検出の結果に依存して、コンテキスト状態を決定するように構成される。0である隣接したスペクトル値のグループに加えて、同様に平均においてほぼ0(すなわち所定の閾値より小さい合計値)である隣接したスペクトル値のグループも、コンテキストの適合のために使用されうるスペクトル表現(例えばオーディオコンテンツの時間周波数表現)の特有の特徴を構成することが分かっている。
好ましい実施形態において、算術復号器は、所定の条件の検出に応答して、現在のコンテキスト状態を所定の値にセットするように構成される。この反応は、非常に実行しやすく、さらに、結果としてより良い符号化効率を提供するコンテキストの適合をもたらすことが分かっている。
好ましい実施形態において、算術復号器は、所定の条件の検出に応答して、複数の前に復号されたスペクトル値の数値に依存して、現在のコンテキスト状態の計算を選択的に省略するように構成される。したがって、コンテキスト計算は、所定の条件を満たす複数の前に復号された隣接したスペクトル値のグループの検出に応答して、著しく単純化される。計算量を省くことによって、オーディオ信号復号器の電力消費量も削減され、モバイル機器において有意な利点を提供する。
好ましい実施形態において、算術復号器は、現在のコンテキスト状態を所定の条件の検出を信号で伝える値にセットするように構成される。所定の値の範囲にありうるこの種の値にコンテキスト状態を設定することによって、コンテキスト状態の後の評価は、制御されうる。しかし、値が所定の条件の検出を信号で伝える値の特有の範囲にありうる場合であっても、現在のコンテキスト状態がセットされる値が、他の範疇にも依存しうる点に留意する必要がある。
好ましい実施形態において、算術復号器は、復号されたスペクトル値にシンボルコードをマップするように構成される。
好ましい実施形態において、算術復号器は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数のスペクトル値のグループを検出するために、第1の時間周波数領域のスペクトル値を評価するように構成される。算術復号器は、所定の条件が満たされていない場合、第1の時間周波数領域とは異なる第2の時間周波数領域のスペクトル値に依存して、コンテキスト状態を示す数値を得るように構成される。コンテキスト計算のために通常使用される領域とは異なる領域の範囲内でマグニチュードに関して所定の条件を満たす複数のスペクトル値のグループを検出することが推薦できることが分かっている。これは、範囲、例えば、比較的小さいスペクトル値または比較的大きいスペクトル値を含んでいる領域の周波数範囲が、一般的に、コンテキスト状態を示している数値の数値計算のために考慮されるスペクトル値の領域の大きさより大きいことに起因する。したがって、所定の条件を満たしている複数のスペクトル値のグループの検出のために、そして、コンテキスト状態を示している数値の数値計算のために、異なる領域を分析することが推薦可能である。(ここで、その検出が1ビットも供給しない場合、数値計算は第2のステップにおいて予想されないだけでありえる。)
好ましい実施形態において、算術復号器は、コンテキスト状態に依存して、マッピングルールを選択するために、1つまたはそれ以上のハッシュテーブルを評価するように構成される。マッピングルールの選択が、所定の条件を満たす複数の隣接したスペクトル値を検出する機構によって制御されうることが分かっている。
本発明による実施形態は、入力されたオーディオ情報に基づいて、符号化されたオーディオ情報を供給するためのオーディオ符号器を生み出す。オーディオ符号器は、周波数領域オーディオ表現がスペクトル値のセットを含むように、入力されたオーディオ情報の時間領域表現に基づいて、周波数領域オーディオ表現を供給するためのエネルギー圧縮時間領域周波数領域変換器を含む。オーディオ符号器はまた、可変長コードワードを使用して、スペクトル値、またはその前処理されたバージョンを符号化するように構成された算術符号器を含む。算術符号器は、スペクトル値またはスペクトル値の最上位ビットプレーン(most−significant bit−plane)の値をコード値にマップするように構成される。算術符号器は、コンテキスト状態に依存して、コード値への、スペクトル値の、または、スペクトル値の最上位ビットプレーンのマッピングを示しているマッピングルールを選択するように構成される。算術符号器は、複数の前に符号化された隣接したスペクトル値に依存して、現在のコンテキスト状態を決定するように構成される。算術符号器は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に符号化された隣接したスペクトル値のグループを検出して、その検出の結果に依存して現在のコンテキスト状態を決定するように構成される。
このオーディオ信号符号器は、上述したオーディオ信号復号器と同じ発見に基づく。オーディオコンテンツの復号化に効率的であることを示したコンテキストの適合のための機構が、一貫したシステムを可能にするために、符号器側でも使用されなければならないことが分かっている。
本発明による実施形態は、符号化されたオーディオ情報に基づいて、復号されたオーディオ情報を供給する方法を生み出す。
本発明によるさらに別の実施形態は、入力されたオーディオ情報に基づいて符号化されたオーディオ情報を供給する方法を生み出す。
本発明による他の実施形態は、前記方法のうちの1つを実行するためのコンピュータプログラムを生み出す。
方法およびコンピュータプログラムは、上記したオーディオ復号器および上記したオーディオ符号器と同じ発見に基づく。
本発明による実施形態は、同封の図を参照して、以下に説明される。
図1aは、本発明の一実施形態によるオーディオ符号器のブロック略図を示す。 図1bは、本発明の一実施形態によるオーディオ符号器のブロック略図を示す。 図2aは、本発明の一実施形態によるオーディオ復号器のブロック略図を示す。 図2bは、本発明の一実施形態によるオーディオ復号器のブロック略図を示す。 図3は、スペクトル値を復号するためのアルゴリズム「value_decode()」の仮プログラムコード表現を示す。 図4は、状態計算のためのコンテキストの略図を示す。 図5aは、コンテキストをマップするためのアルゴリズム「arith_map_context()」の仮プログラムコード表現を示す。 図5bは、コンテキスト状態値を得るためのアルゴリズム「arith_get_context()」の仮プログラムコード表現を示す。 図5cは、コンテキスト状態値を得るためのアルゴリズム「arith_get_context()」の仮プログラムコード表現を示す。 図5dは、状態変数から累積度数分布表インデックス値「pki」を得るためのアルゴリズム「get_pk(s)」の仮プログラムコード表現を示す。 図5dは、状態変数から累積度数分布表インデックス値「pki」を得るためのアルゴリズム「get_pk(s)」の仮プログラムコード表現を示す。 図5eは、状態値から累積度数分布表インデックス値「pki」を得るためのアルゴリズム「arith_get_pk(s)」の仮プログラムコード表現を示す。 図5fは、状態値から累積度数分布表インデックス値「pki」を得るためのアルゴリズム「get_pk(unsigned long s)」の仮プログラムコード表現を示す。 図5gは、可変長コードワードからシンボルを算術復号化するためのアルゴリズム「arith_decode()」の仮プログラムコード表現を示す。 図5gは、可変長コードワードからシンボルを算術復号化するためのアルゴリズム「arith_decode()」の仮プログラムコード表現を示す。 図5hは、コンテキストを更新するためのアルゴリズム「arith_update_context()」の仮プログラムコード表現を示す。 図5iは、定義および変数のキャプションを示す。 図6aは、音声音響統合符号化(USAC)のシンタックス表現として生データブロックを示す。 図6bは、単一のチャンネル要素のシンタックス表現を示す。 図6cは、チャンネルペア要素のシンタックス表現を示す。 図6dは、「ics」制御情報のシンタックス表現を示す。 図6eは、周波数領域チャンネルストリームのシンタックス表現を示す。 図6fは、算術符号化スペクトルデータのシンタックス表現を示す。 図6gは、スペクトル値のセットを復号するためのシンタックス表現を示す。 図6hは、データ要素および変数のキャプションを示す。 図7は、本発明の他の実施形態によるオーディオ符号器のブロック略図を示す。 図8は、本発明の他の実施形態によるオーディオ復号器のブロック略図を示す。 図9は、本発明による符号化方式を有するUSACドラフト標準(draft standard)の作業原案3によるノイズレス符号化の比較のための構成を示す。 図10aは、それがUSACドラフト標準の作業原案4によって使用されるように、状態計算のためのコンテキストの略図を示す。 図10bは、それが本発明による実施形態において使用されるように、状態計算のためのコンテキストの略図を示す。 図11aは、USACドラフト標準の作業原案4による算術符号化方式において用いられているように、テーブルの概要を示す。 図11bは、本発明による算術符号化方式において用いられているように、テーブルの概要を示す。 図12aは、本発明による、そして、USACドラフト標準の作業原案4によるノイズレス符号化方式のための読取り専用メモリ要求の図示を示す。 図12bは、本発明による、そして、USACドラフト標準の作業原案4の構想による合計のUSAC復号器データ読取り専用メモリ要求の図示を示す。 図13aは、USACドラフト標準の作業原案3による算術符号器、および本発明の一実施形態による算術復号器を用いて、音声音響統合符号化コーダによって使用される平均ビットレートのテーブル表現を示す。 図13bは、USACドラフト標準の作業原案3によるおよび算術符号器、および本発明の一実施形態による算術符号器を用いて、音声音響統合符号化コーダのためのビットリザーバ制御のテーブル表現を示す。 図14は、USACドラフト標準の作業原案3による、そして、本発明の一実施形態によるUSACコーダのための平均ビットレートのテーブル表現を示す。 図15は、フレーム基準のUSACの最小、最大、および、平均ビットレートのテーブル表現を示す。 図16は、フレーム基準のベストおよびワーストケースのテーブル表現を示す。 図17(1)は、テーブル「ari_s_hash[387]」の内容のテーブル表現を示す。 図17(2)は、テーブル「ari_s_hash[387]」の内容のテーブル表現を示す。 図18は、テーブル「ari_gs_hash[225]」の内容のテーブル表現を示す。 図19(1)は、テーブル「ari_cf_m[64][9]」の内容のテーブル表現を示す。 図19(2)は、テーブル「ari_cf_m[64][9]」の内容のテーブル表現を示す。 図20(1)は、テーブル「ari_s_hash[387]」の内容のテーブル表現を示す。 図20(2)は、テーブル「ari_s_hash[387]」の内容のテーブル表現を示す。
1. 図7のオーディオ符号器
図7は、本発明の一実施形態によるオーディオ符号器のブロック略図を示す。オーディオ符号器700は、入力されたオーディオ情報710を受けて、それに基づいて、符号化されたオーディオ情報712を供給するように構成される。オーディオ符号器は、周波数領域オーディオ表現722がスペクトル値のセットを含むように、入力されたオーディオ情報710の時間領域表現に基づいて、周波数領域オーディオ表現722を供給するように構成されるエネルギー圧縮時間領域周波数領域変換器720を含む。オーディオ符号器700はまた、(例えば、複数の可変長コードワードを含みうる)符号化されたオーディオ情報712を得るために、可変長コードワードを使用して、(周波数領域オーディオ表現722を形成しているスペクトル値のセットから)スペクトル値またはその前処理されたバージョンを符号化するように構成される算術符号器730を含む。
算術符号器730は、コンテキスト状態に依存して、スペクトル値、またはスペクトル値の最上位ビットプレーンの値をコード値に(すなわち可変長コードワードに)マップするように構成される。算術符号器730は、コンテキスト状態に依存して、コード値への、スペクトル値の、または、スペクトル値の最上位ビットプレーンのマッピングを示しているマッピングルールを選択するように構成される。算術符号器は、前に符号化された(好ましくは、必ずではないが、隣接した)スペクトル値に依存して、現在のコンテキスト状態を決定するように構成される。この目的のために、算術符号器は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に符号化された隣接したスペクトル値のグループを検出して、その検出の結果に依存して、現在のコンテキスト状態を決定するように構成される。
図に示すように、コード値への、スペクトル値の、または、スペクトル値の最上位ビットプレーンのマッピングは、マッピングルール742を使用して、スペクトル値符号化740によって実行されうる。状態追跡器750は、コンテキスト状態を追跡するように構成されて、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に符号化された隣接したスペクトル値のグループを検出するために、グループ検出器752を含むことができる。好ましくは、状態追跡器750は、グループ検出器752によって実行された前記検出の結果に依存して現在のコンテキスト状態を決定するようにも構成される。したがって、状態追跡器750は、現在のコンテキスト状態を示している情報754を供給する。マッピングルール選択器760は、コード値への、スペクトル値の、または、スペクトル値の最上位ビットプレーンのマッピングを示しているマッピングルール(例えば累積度数分布表)を選択することができる。したがって、マッピングルール選択器760は、スペクトル符号化740にマッピングルール情報742を供給する。
上記を要約すると、オーディオ符号器700は、時間領域周波数領域変換器によって供給された周波数領域オーディオ表現の算術符号化を実行する。算術符号化は、マッピングルール(例えば累積度数分布表)が、前に符号化されたスペクトル値に依存して選択されるように、コンテキストに依存する。したがって、互いに、および/または、現在符号化されたスペクトル値(すなわち現在符号化されたスペクトル値の所定の環境内のスペクトル値)に、時間および/または周波数において(または少なくとも所定の環境内で)隣接したスペクトル値は、算術符号化によって評価された確率分布を調整するために、算術符号化において考慮される。適当なマッピングルールを選択するときに、検出は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に符号化された隣接したスペクトル値のグループがあるかどうかを検出するために実行される。この検出の結果は、現在のコンテキスト状態の選択において、すなわちマッピングルールの選択において、適用される。特に小さいまたは特に大きい複数のスペクトル値のグループがあるかどうかを検出することによって、時間周波数表現でありえる周波数領域オーディオ表現の範囲内に特別な特徴を認識することは可能である。例えば、複数の特に小さいまたは特に大きいスペクトル値のグループなどの特別な特徴は、この特定のコンテキスト状態が特により良い符号化効率を供給しうるように、特定のコンテキスト状態が使用されるべきであることを示す。このように、一般的に複数の前に符号化されたスペクトル値の組み合わせに基づいて他のコンテキスト評価と組み合わせて使用される所定の条件を満たす隣接したスペクトル値のグループの検出は、入力されたオーディオ情報がいくつかの特別な状態をとる(例えば、大きいマスクされた周波数範囲を含む)場合、適当なコンテキストの効率の良い選択を可能にする機構を供給する。
したがって、コンテキスト計算を十分に簡潔に保つとともに、効率的な符化が達成できる。

2. 図8のオーディオ復号器
図8は、オーディオ復号器800のブロック略図を示す。オーディオ復号器800は、符号化されたオーディオ情報810を受けて、それに基づいて、復号されたオーディオ情報812に供給するように構成される。オーディオ復号器800は、スペクトル値の算術符号化された表現821に基づいて、複数の復号されたスペクトル値822を供給するように構成される算術復号器820を含む。オーディオ復号器800はまた、復号されたスペクトル値822を受けて、時間領域オーディオ表現812を供給するように構成される周波数領域時間領域変換器830を含み、それは、復号されたオーディオ情報812を得るために、復号されたスペクトル値822を使用して、復号されたオーディオ情報を構成しうる。
算術復号器820はまた、スペクトル値の算術符号化された表現821のコード値を、復号されたスペクトル値の1つまたはそれ以上、または復号されたスペクトル値の1つまたはそれ以上の少なくとも一部(例えば最上位ビットプレーン)を示しているシンボルコードにマップするように構成されるスペクトル値決定器824を含む。スペクトル値決定器824は、マッピングルール情報828aによって示されうるマッピングルールに依存して、マッピングを実行するように構成されうる。
算術復号器820は、(コンテキスト状態情報826aによって示されうる)コンテキスト状態に依存して、(1つまたはそれ以上のスペクトル値を示している)シンボルコードへの(スペクトル値の算術符号化された表現821によって示される)コード値のマッピングを示しているマッピングルール(例えば累積度数分布表)を選択するように構成される。算術復号器820は、複数の前に復号されたスペクトル値822に依存して、現在のコンテキスト状態を決定するように構成される。この目的のために、前に復号されたスペクトル値を示している情報を受ける状態追跡器826は使用されうる。算術復号器はまた、個々に、または、まとまって、それらのマグニチュードに関する所定の条件を満たす複数の前に復号された(好ましくは、必ずではないが、隣接した)スペクトル値のグループを検出して、その検出の結果に依存して、(例えば、コンテキスト状態情報826aによって示された)現在のコンテキスト状態を決定するようにも構成される。
それらのマグニチュードに関して所定の条件を満たす複数の前に復号された隣接したスペクトル値のグループの検出は、例えば、状態追跡器826の一部であるグループ検出器によって実行されうる。したがって、現在のコンテキスト状態情報826aは、得られる。マッピングルールの選択は、現在のコンテキスト状態情報826aからマッピングルール情報828aを得て、スペクトル値決定器824にマッピングルール情報828aを供給するマッピングルール選択器828によって実行されうる。
オーディオ信号復号器800の機能に関して、マッピングルールが、複数の前に復号されたスペクトル値に依存して次々に決定される現在のコンテキスト状態に依存して選択されるので、算術復号器820は、平均して、復号されるスペクトル値によく適合されるマッピングルール(例えば累積度数分布表)を選択するように構成される点に留意する必要がある。したがって、復号される隣接したスペクトル値間の統計的依存性が利用できる。さらに、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に復号された隣接したスペクトル値のグループを検出することによって、マッピングルールを前に復号されたスペクトル値の特別な条件(またはパターン)に適合することは可能である。例えば、複数の比較的小さい前に復号された隣接したスペクトル値のグループが確認される場合、または、複数の比較的大きい前に復号された隣接したスペクトル値のグループが確認される場合、特定のマッピングルールは選択されうる。比較的大きいスペクトル値のグループの、または、比較的小さいスペクトル値のグループの存在が、特にこの種の条件に適合された専用のマッピングルールが使用されるべきであることの有意な指標として考慮されうることが分かっている。したがって、コンテキスト計算は、複数のスペクトル値のこの種のグループの検出を利用することによって、容易にできる(または加速できる)。また、上述の構想を適用することなしでは容易には考慮できなかったオーディオコンテンツの特性が考慮できる。例えば、通常のコンテキスト計算のために使用されたスペクトル値のセットと比較すると、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数のスペクトル値のグループの検出は、スペクトル値の異なるセットに基づいて実行できる。
更なる詳細について、以下に説明する。
3. 図1のオーディオ符号器
以下に、本発明の一実施形態によるオーディオ符号器について説明する。図1は、この種のオーディオ符号器100のブロック略図を示す。
オーディオ符号器100は、入力されたオーディオ情報110を受けて、それに基づいて、符号化されたオーディオ情報を構成するビットストリーム112を供給するように構成される。任意選択で、オーディオ符号器100は、入力されたオーディオ情報110を受けて、それに基づいて、前処理された入力されたオーディオ情報110aを供給するように構成される前処理器120を含む。オーディオ符号器100はまた、信号変換器とも呼ばれるエネルギー圧縮時間領域周波数領域信号変換器130を含む。変換器130は、入力されたオーディオ情報110、110aを受けて、それに基づいて、好ましくはスペクトル値のセットの形をとる、周波数領域オーディオ情報132を供給するように構成される。例えば、信号変換器130は、入力されたオーディオ情報110、110a(例えば時間領域サンプルのブロック)を受けて、各オーディオフレームのオーディオコンテンツを示しているスペクトル値のセットを供給するように構成されうる。さらに、信号変換器130は、複数の次のオーバーラップしているまたはオーバーラップしていない、入力されたオーディオ情報110、110aのオーディオフレームを受けて、それに基づいて、スペクトル値の続くセットのシーケンス、各フレームに関連したスペクトル値の1セットを含む時間周波数領域オーディオ表現を供給するように構成されうる。
エネルギー圧縮時間領域周波数領域信号変換器130は、異なる、オーバーラップしているまたはオーバーラップしていない周波数範囲と関連したスペクトル値を供給するエネルギー圧縮フィルタバンクを含みうる。例えば、信号変換器130は、変換窓を使用して、入力されたオーディオ情報110、110a(またはそのフレーム)の窓を掛けて(window)、その窓を掛けた入力されたオーディオ情報110、110a(またはその窓を掛けたフレーム)の修正離散コサイン変換を実行するように構成される窓掛けMDCT変換器130aを含みうる。したがって、周波数領域オーディオ表現132は、入力されたオーディオ情報のフレームと関連したMDCT係数の形で、例えば1024のスペクトル値のセットを含みうる。
オーディオ符号器100は、任意選択で、周波数領域オーディオ表現132を受けて、それに基づいて、後処理された周波数領域オーディオ表現142を供給するように構成されるスペクトル後処理器140を更に含みうる。スペクトル後処理器140は、例えば、時間的ノイズシェーピングおよび/または長期予測および/または従来技術において公知の他のスペクトル後処理も実行するように構成されうる。オーディオ符号器は、任意選択で、周波数領域オーディオ表現132またはその後処理されたバージョン142を受けて、スケールおよび量子化された周波数領域オーディオ表現152を供給するように構成されるスケーラ/量子化器150を更に含む。
オーディオ符号器100は、任意選択で、入力されたオーディオ情報110(またはその後処理されたバージョン110a)を受けて、それに基づいて、エネルギー圧縮時間領域周波数領域信号変換器130の制御のために、任意のスペクトル後処理器140の制御のために、および/または任意のスケーラ/量子化器150の制御のために使用されうる任意の制御情報を供給するように構成される心理音響モデル処理器160を更に含む。例えば、心理音響モデル処理器160は、入力されたオーディオ情報110、110aのどの成分が、オーディオコンテンツの人の知覚に特に重要であるか、そして、入力されたオーディオ情報110、110aのどの成分が、オーディオコンテンツの知覚にそれほど重要でないかを決定するために、入力されたオーディオ情報を分析するように構成されうる。したがって、心理音響モデル処理器160は、スケーラ/量子化器150、および/またはスケーラ/量子化器150によって適用された量子化分解能によって周波数領域オーディオ表現132、142のスケーリングを調整するためにオーディオ符号器100により使用される制御情報を供給しうる。従って、知覚的に重要なスケールファクターバンド(すなわちオーディオコンテンツの人の知覚にとって特に重要である隣接したスペクトル値のグループ)は、大きいスケーリングファクターによってスケールされて、比較的高い分解能によって量子化される。その一方で、知覚的にそれほど重要でないスケーリングファクターバンド(すなわち隣接したスペクトル値のグループ)は、比較的より小さいスケーリングファクターによってスケールされて、比較的低い量子化分解能によって量子化される。したがって、知覚的により重要な周波数のスケールされたスペクトル値は、一般的に、知覚的にそれほど重要でない周波数のスペクトル値より著しく大きい。
オーディオ符号器はまた、算術コードワード情報が周波数領域オーディオ表現152を示すように、周波数領域オーディオ表現132のスケールおよび量子化されたバージョン152(または、代わりに、周波数領域オーディオ表現132の後処理されたバージョン142、または周波数領域オーディオ表現132自体)を受けて、それに基づいて、算術コードワード情報172aを供給するように構成される算術符号器170を含む。
オーディオ符号器100はまた、算術コードワード情報172aを受けるように構成されるビットストリーム・ペイロード・フォーマッタ190を含む。例えば、ビットストリーム・ペイロード・フォーマッタ190はまた、一般的に、例えば、どのスケールファクターがスケーラ/量子化器150によって適用されたかを示しているスケールファクター情報などの付加情報を受けるようにも構成される。加えて、ビットストリーム・ペイロード・フォーマッタ190は、他の制御情報を受けるように構成されうる。ビットストリーム・ペイロード・フォーマッタ190は、所望のビットストリームシンタックスによって、ビットストリームを集めることによって受けた情報に基づいて、ビットストリーム112を供給するように構成され、それについては後述する。
以下に、算術符号器170に関する詳細について説明する。算術符号器170は、後処理され、スケールされ、量子化された周波数領域オーディオ表現132の複数のスペクトル値を受けるように構成される。算術符号器は、最上位ビットプレーン(most−significant bit−plane)mをスペクトル値から抽出するように構成される最上位ビットプレーン抽出器174を含む。最上位ビットプレーンが、スペクトル値の最上位ビットである1またはより多くのビット(例えば2または3ビット)を含むことができる点にここで留意すべきである。このように、最上位ビットプレーン抽出器174は、スペクトル値の最上位ビットプレーン値176を供給する。
算術符号器170はまた、最上位ビットプレーン値mを示している算術コードワードacod_m[pki][m]を決定するように構成される第1のコードワード決定器180を含む。任意選択で、コードワード決定器180は、例えば、いくつの下位ビットプレーン(less−significant bit−planes)が利用できるかを示している(そして、従って、最上位ビットプレーンの数値的重みを示している)1つまたはそれ以上のエスケープコードワード(また、本願明細書においては「ARITH_ESCAPE」とも示される)を供給することもできる。第1のコードワード決定器180は、累積度数分布表インデックスpkiを有している(またはそれにより参照される)選択された累積度数分布表を使用して、最上位ビットプレーン値mと関連したコードワードを供給するように構成されうる。
どの累積度数分布表が選択されるべきかについて決定するために、算術符号器は、好ましくは、例えば、どのスペクトル値が前に符号化されたかを見ることによって、算術符号器の状態を追跡するように構成される状態追跡器182を含む。従って、状態追跡器182は、状態情報184、例えば「s」または「t」によって示される状態値を供給する。算術符号器170はまた、状態情報184を受けて、選択された累積度数分布表を示している情報188をコードワード決定器180に供給するように構成される累積度数分布表選択器186を含む。例えば、累積度数分布表選択器186は、64の累積度数分布表のセットから、どの累積度数分布表が、コードワード決定器によって使用のために選択されるかについて示している累積度数分布表インデックス「pki」を供給しうる。あるいは、累積度数分布表選択器186は、全選択された累積度数分布表をコードワード決定器に供給しうる。このように、コードワード決定器180は、最上位ビットプレーン値mを符号化している実際のコードワードacod_m[pki][m]が、mという値および累積度数分布表インデックスpkiに依存し、従って、現在の状態情報184に依存するように、最上位ビットプレーン値mのコードワードacod_m[pki][m]の供給のための選択された累積度数分布表を使用しうる。符号化処理および得られたコードワードフォーマットに関する更なる詳細については、後述する。
符号化されるスペクトル値の1つまたはそれ以上が最上位ビットプレーンだけを使用して、符号化可能な値の範囲を上回る場合に、算術符号器170は、1つまたはそれ以上の下位ビットプレーンをスケールおよび量子化された周波数領域オーディオ表現152から抽出するように構成される下位ビットプレーン抽出器189aを更に含む。要望通り、下位ビットプレーンは、1またはそれ以上のビットを含むことができる。したがって、下位ビットプレーン抽出器189aは、下位ビットプレーン情報189bを供給する。算術符号器170はまた、下位ビットプレーン情報189dを受けて、それに基づいて、0、1、またはそれ以上の下位ビットプレーンの内容を示している0、1、またはそれ以上のコードワード「acod_r」を供給するように構成される第2のコードワード決定器189cを含む。第2のコードワード決定器189cは、下位ビットプレーン情報189bから下位ビットプレーンコードワード「acod_r」を抽出するために、算術符号化アルゴリズムまたはその他の符号化アルゴリズムも適用するように構成されうる。
符号化されるスケールおよび量子化されたスペクトル値が比較的小さい場合には、全く下位ビットプレーンはないこともあり、符号化される現在のスケールおよび量子化されたスペクトル値が、中間の範囲内にある場合には、1つの下位ビットプレーンがあり、そして、符号化されるスケールおよび量子化されたスペクトル値が、比較的大きい値をとる場合には、2以上の下位ビットプレーンがありうるように、下位ビットプレーンの数は、スケールおよび量子化されたスペクトル値152の値に依存して変化しうる点に、ここでは留意すべきである。
上記を要約すると、算術符号器170は、階層符号化処理を使用して、情報152によって示されるスケールおよび量子化されたスペクトル値を符号化するように構成される。(例えば、スペクトル値ごとに1、2または3ビットを含んでいる)最上位ビットプレーンは、最上位ビットプレーン値の算術コードワード「acod_m[pki][m]」を得るために符号化される。1またはそれ以上の下位ビットプレーン(例えば、1、2または3ビットを含んでいる下位ビットプレーンの各々)は、1またはそれ以上のコードワード「acod_r」を得るために符号化される。最上位ビットプレーンを符号化するときに、最上位ビットプレーンの値mは、コードワードacod_m[pki][m]にマップされる。この目的のために、64個の異なる累積度数分布表は、算術符号器170の状態に依存して、すなわち前に符号化されたスペクトル値に依存して、値mの符号化に利用できる。したがって、コードワード「acod_m[pki][m]」は、得られる。加えて、1またはそれ以上の下位ビットプレーンがある場合、1またはそれ以上のコードワード「acod_r」は、ビットストリームに供給され、含まれる。
リセット説明
任意選択で、オーディオ符号器100は、ビットレートにおける改善を、コンテキストをリセットすることによって、例えば状態インデックスをデフォルト値にセットすることによって得ることができるかどうか決定するように構成されうる。したがって、オーディオ符号器100は、算術符号化のためのコンテキストがリセットされるかどうか示しており、更に対応している復号器における算術復号化のためのコンテキストがリセットされるべきかどうかを示しているリセット情報(例えば「arith_reset_flag」と呼ぶ)を供給するように構成されうる。
ビットストリームフォーマットおよび適用された累積度数分布表に関する詳細については、後述する。
4. オーディオ復号器
以下に、本発明の一実施形態によるオーディオ復号器について説明する。図2は、この種のオーディオ復号器200のブロック略図を示す。
オーディオ復号器200は、符号化されたオーディオ情報を示し、そして、オーディオ符号器100によって供給されたビットストリーム112と同一でありえるビットストリーム210を受けるように構成される。オーディオ復号器200は、ビットストリーム210に基づいて、復号されたオーディオ情報212を供給する。
オーディオ復号器200は、ビットストリーム210を受けて、そのビットストリーム210から符号化された周波数領域オーディオ表現222を抽出するように構成される任意のビットストリーム・ペイロード・デフォーマッタ220を含む。例えば、ビットストリーム・ペイロード・デフォーマッタ220は、ビットストリーム210から、例えばスペクトル値の最上位ビットプレーン値mを示している算術コードワード「acod_m[pki][m]」や、周波数領域オーディオ表現のスペクトル値aの下位ビットプレーンの内容を示しているコードワード「acod_r」のような算術符号化されたスペクトルデータを抽出するように構成されうる。このように、符号化された周波数領域オーディオ表現222は、スペクトル値の算術符号化された表現を構成する(または含む)。ビットストリーム・ペイロード・デフォーマッタ220は、図2に示されていないが、ビットストリーム付加的制御情報から抽出するように更に構成される。加えて、ビットストリーム・ペイロード・デフォーマッタは、算術リセットフラグまたは「arith_reset_flag」とも呼ばれる状態リセット情報224をビットストリーム210から得るように任意選択で構成される。
オーディオ復号器200は、「スペクトルノイズレス復号器」とも呼ばれる算術復号器230を含む。算術復号器230は、符号化された周波数領域オーディオ表現220、および、任意選択で、状態リセット情報224を受けるように構成される。算術復号器230は、スペクトル値の復号された表現を含みうる復号された周波数領域オーディオ表現232を供給するようにも構成される。例えば、復号された周波数領域オーディオ表現232は、符号化された周波数領域オーディオ表現220によって示されるスペクトル値の復号された表現を含みうる。
オーディオ復号器200はまた、復号された周波数領域オーディオ表現232を受けて、それに基づいて、逆量子化および再スケールされた周波数領域オーディオ表現242を供給するように構成される任意の逆量子化器/リスケーラ(rescaler)240を含む。
オーディオ復号器200は、逆量子化および再スケールされた周波数領域オーディオ表現242を受けて、それに基づいて、逆量子化および再スケールされた周波数領域オーディオ表現242の前処理されたバージョン252を供給するように構成される任意のスペクトル前処理器250を更に含む。オーディオ復号器200はまた、「信号変換器」とも呼ばれる周波数領域時間領域信号変換器260を含む。信号変換器260は、逆量子化および再スケールされた周波数領域オーディオ表現242の前処理されたバージョン252(または、代わりに、逆量子化および再スケールされた周波数領域オーディオ表現242または復号化周波数領域オーディオ表現232)を受けて、それに基づいて、オーディオ情報の時間領域表現262を供給するように構成される。周波数領域時間領域信号変換器260は、例えば、逆修正離散コサイン変換(IMDCT)および適当な窓掛け処理(windowing)(ならびに、例えばオーバーラップ加算(overlap―and―add)のような他の補助機能)を実行するための変換器を含みうる。
オーディオ復号器200は、オーディオ情報の時間領域表現262を受けて、時間領域後処理を使用して、復号されたオーディオ情報212を得るように構成される任意の時間領域後処理器270を更に含みうる。しかし、後処理が省略される場合、時間領域表現262は、復号されたオーディオ情報212と同一でありえる。
逆量子化器/リスケーラ240、スペクトル前処理器250、周波数領域時間領域信号変換器260、および時間領域後処理器270が、ビットストリーム・ペイロード・デフォーマッタ220によってビットストリーム210から抽出される制御情報に依存して制御されうる点にここで留意されなければならない。
オーディオ復号器200の全体の機能を要約すると、復号された周波数領域オーディオ表現232、例えば符号化されたオーディオ情報のオーディオフレームと関連したスペクトル値のセットは、算術復号器230を使用して、符号化された周波数領域表現222に基づいて、得られうる。次に、MDCT係数でありえる例えば1024個のスペクトル値のセットは、逆量子化されて、再スケールされて、前処理される。したがって、スペクトル値(例えば1024個のMDCT係数)の逆量子化され、再スケールされ、スペクトルで前処理されたセットは、得られる。その後、オーディオフレームの時間領域表現は、周波数領域値(例えばMDCT係数)の逆量子化され、再スケールされ、スペクトルで前処理されたセットから得られる。したがって、オーディオフレームの時間領域表現は、得られる。一定のオーディオフレームの時間領域表現は、前および/または後のオーディオフレームの時間領域表現と組み合わされうる。例えば、続くオーディオフレームの時間領域表現間のオーバーラップ加算は、隣接したオーディオフレームの時間領域表現間の遷移をスムーズにするために、そして、エイリアシング除去を得るために、実行されうる。復号された時間周波数領域オーディオ表現232に基づいて、復号されたオーディオ情報212の再構成に関する詳細については、例えば、詳細な議論が与えられる国際規格ISO/IEC 14496―3、パート3、サブパート4が参照される。しかしながら、他のより精巧なオーバーラップおよびエイリアシング除去方式は、使用されうる。
以下に、算術復号器230に関するいくつかの詳細について説明する。算術復号器230は、最上位ビットプレーン値mを示している算術コードワードacod_m[pki][m]を受けるように構成される最上位ビットプレーン決定器284を含む。最上位ビットプレーン決定器284は、算術コードワード「acod_m[pki][m]」から最上位ビットプレーン値mを得るための複数の64個の累積度数分布表を含んでいるセットから、累積度数分布表を使用するように構成されうる。
最上位ビットプレーン決定器284は、コードワードacod_mに基づいて、スペクトル値の最上位ビットプレーンの値286を得るように構成される。算術復号器230は、スペクトル値の1またはそれ以上の下位ビットプレーンを示している1またはそれ以上のコードワード「acod_r」を受けるように構成される下位ビットプレーン決定器288を更に含む。したがって、下位ビットプレーン決定器288は、1またはそれ以上の下位ビットプレーンの復号された値290を供給するように構成される。オーディオ復号器200はまた、この種の下位ビットプレーンが現在のスペクトル値に利用できる場合に、スペクトル値の最上位ビットプレーンの復号された値286、および、スペクトル値の1またはそれ以上の下位ビットプレーンの復号された値290を受けるように構成されるビットプレーン結合器292を含む。したがって、ビットプレーン結合器292は、復号された周波数領域オーディオ表現232の一部である復号されたスペクトル値を供給する。当然、算術復号器230は、一般的に、オーディオコンテンツの現在のフレームと関連した復号されたスペクトル値のフルセットを得るために複数のスペクトル値を供給するように構成される。
算術復号器230は、算術復号器の状態を示している状態インデックス298に依存して、64の累積度数分布表のうちの1つを選択するように構成される累積度数分布表選択器296を更に含む。算術復号器230は、前に復号されたスペクトル値に依存して算術復号器の状態を追跡するように構成される状態追跡器299を更に含む。状態情報は、任意選択で、状態リセット情報224に応答して、デフォルト状態情報にリセットされうる。したがって、累積度数分布表選択器296は、コードワード「acod_m」に依存して、最上位ビットプレーン値mの復号化におけるアプリケーションのために、選択された累積度数分布表のインデックス(例えばpki)または選択された累積度数分布表自体を供給するように構成される。
オーディオ復号器200の機能を要約すると、オーディオ復号器200は、ビットレート効率のよい符号化をされた周波数領域オーディオ表現222を受けて、それに基づいて、復号された周波数領域オーディオ表現を得るように構成される。符号化された周波数領域オーディオ表現222に基づいて復号された周波数領域オーディオ表現232を得るために使用される算術復号器230において、隣接したスペクトル値の最上位ビットプレーンの値の異なる組み合わせの確率は、累積度数分布表を適用するように構成される算術復号器280を使用することにより利用される。換言すれば、スペクトル値間の統計的依存性は、前に計算された復号されたスペクトル値を見ることによって得られる状態インデックス298に依存して、64の異なる累積度数分布表を含んでいるセットから異なる累積度数分布表を選択することによって活用される。
5. スペクトルノイズレス符号化のツールについての概要
以下に、例えば算術符号器170および算術復号器230によって実行される符号化および復号化アルゴリズムに関する詳細について説明する。
復号化アルゴリズムの説明に焦点を合わせる。しかしながら、対応する符号化アルゴリズムが、マッピングが逆にされる復号化アルゴリズムについての教示によって実行できる点に留意されなければならない。
以下で述べられる復号化が、一般的に、後処理され、スケールされ、量子化されたスペクトル値のいわゆる「スペクトルノイズレス符号化」を可能にするために使用される点に留意する必要がある。スペクトルノイズレス符号化は、更に、例えば、エネルギー圧縮時間領域周波数領域変換器によって得られる量子化されたスペクトルの冗長性を更に削減するために、オーディオ符号化/復号化構想において使用される。
本発明の実施形態において使用されるスペクトルノイズレス符号化方式は、動的に適合されるコンテキストと関連した算術符号化に基づく。ノイズレス符号化は、(元のまたは符号化された表現の)量子化されたスペクトル値によって供給されて、例えば、複数の前に復号された隣接したスペクトル値から得られたコンテキストに依存する累積度数分布表を使用する。ここで、時間および周波数の両方における相隣関係は、図4にて示したように考慮される。(後に説明される)累積度数分布表は、可変長2進コードを生成するために算術符号器によって、そして、可変長2進コードから、復号された値を得るために算術復号器によって、使用される。
例えば、算術符号器170は、各確率に依存して、シンボルの一定のセットのための2進コードを生成する。2進コードは、シンボルのセットがある確率区間(probability interval)をコードワードにマップすることによって生成される。
以下に、スペクトルノイズレス符号化のツールの他の短い概要が与えられる。スペクトルノイズレス符号化は、量子化されたスペクトルの冗長性を更に削減するために使用される。スペクトルノイズレス符号化方式は、動的に適合されるコンテキストと関連した算術符号化に基づく。ノイズレス符号化は、量子化されたスペクトル値によって供給されて、例えば7つの前に復号された隣接したスペクトル値から得られたコンテキストに依存する累積度数分布表を使用する。
ここで、時間および周波数の両方における相隣関係は、図4に示したように考慮される。累積度数分布表は、可変長2進コードを生成するために、算術符号器により用いられる。
算術符号器は、シンボルおよびそれらの各確率の一定のセットのための2進コードを生成する。その2進コードは、シンボルのセットがある確率区間をコードワードにマップすることによって生成される。
6. 復号処理
6.1 復号処理概要
以下に、スペクトル値を復号する処理の概要が、複数のスペクトル値を復号する処理の仮プログラム符号表現を示す図3を参照にして与えられる。
複数のスペクトル値を復号する処理は、コンテキストの初期化310を含む。コンテキストの初期化310は、関数「arith_map_context(lg)」を使用して、前のコンテキストからの現在のコンテキストの導出を含む。前のコンテキストからの現在のコンテキストの導出は、コンテキストのリセットを含みうる。コンテキストのリセットおよび前のコンテキストからの現在のコンテキストの導出については、後述する。
複数のスペクトル値の復号化はまた、スペクトル値復号化312、および、コンテキスト更新が後述する関数「Arith_update_context(a,i,lg)」によって実行されるコンテキスト更新314の繰り返しを含む。スペクトル値復号化312およびコンテキスト更新314はlg回繰り返される。ここで、lgは、(例えばオーディオフレームに関して)復号されるスペクトル値の数を示す。スペクトル値復号化312は、コンテキスト値計算312a、最上位ビットプレーン復号化312b、および、下位ビットプレーン加算312cを含む。
状態値計算312aは、関数が第1の状態値sを返す関数「arith_get_context(i,lg,arith_reset_flag,N/2)」を使用した第1の状態値sの計算を含む。状態値計算312aはまた、レベル値「lev0」の、そして、レベル値「lev」の計算を含む。そして、レベル値「lev0」、「lev」は、24ビットだけ右に第1の状態値sをシフトすることによって得られる。状態値計算312aはまた、参照番号312aで図3に示された式による第2の状態値tの計算を含む。
最上位ビットプレーン復号化312bは、復号化アルゴリズム312baの反復実行を含む。ここで、変数jは、アルゴリズム312baの第1の実行の前に0に初期化される。
アルゴリズム312baは、後述する関数「arith_get_pk()」を使用して、第2の状態値tに依存した、そして、更に、レベル値「lev」およびlev0に依存した、(また、累積度数分布表インデックスとしても役立つ)状態インデックス「pki」の計算を含む。アルゴリズム312baはまた、状態インデックスpkiに依存した累積度数分布表の選択を含む。ここで、変数「cum_freq」は、状態インデックスpkiに依存して、64の累積度数分布表のうちの1つの先頭アドレスにセットされうる。また、変数「cfl」は、例えば、アルファベットにおけるシンボル数、すなわち復号できる異なる数に等しい選択された累積度数分布表の長さに初期化されうる。最上位ビットプレーン値mの復号化に利用できる「arith_cf_m[pki=0][9]」から「arith_cf_m[pki=63][9]」までのすべての累積度数分布表の長さは、8つの異なる最上位ビットプレーン値およびエスケープシンボルが復号できるので、9である。その後、最上位ビットプレーン値mは、(変数「cum_freq」および変数「cfl」によって示された)選択された累積度数分布表を考慮に入れて、関数「arith_decode()」を実行することによって得ることができる。最上位ビットプレーン値mを得るときに、ビットストリーム210の「acod_m」と呼ばれるビットは、評価されうる(例えば図6g参照)。
アルゴリズム312baはまた、最上位ビットプレーン値mがエスケープシンボル「ARITH_ESCAPE」と等しいかどうかをチェックすることを含む。最上位ビットプレーン値mが、算術エスケープシンボルと等しくない場合、アルゴリズム312baは、終了され(「break」条件)、従って、アルゴリズム312baの残りの命令は、スキップされる。したがって、処理の実行は、最上位ビットプレーン値mと等しいスペクトル値の設定(命令「a=m」)によって継続される。対照的に、復号された最上位ビットプレーン値mが、算術エスケープシンボル「ARITH_ESCAPE」と同一である場合、レベル値「lev」は1増やされる。上述のように、復号された最上位ビットプレーン値mが算術エスケープシンボルと異なるまで、アルゴリズム312baは、繰り返される。
最上位ビットプレーン復号化が完了する、すなわち、算術エスケープシンボルとは異なる最上位ビットプレーン値mが復号されるとすぐに、スペクトル値変数「a」は、最上位ビットプレーン値mに等しくなるようにセットされる。その後、下位ビットプレーンは、例えば、図3の参照番号312cに示すように得られる。スペクトル値の下位ビットプレーンごとに、2つのバイナリ値の中の1つは、復号される。例えば、下位ビットプレーン値rは、得られる。その後、スペクトル値変数「a」は、スペクトル値変数「a」の内容を左に1だけシフトすることによって、そして、現在復号された下位ビットプレーン値rを最下位ビットとして付け加えることによって、更新される。しかし、下位ビットプレーンの値を得るための構想が、本発明には特に関連しない点に留意する必要がある。いくつかの実施形態では、いかなる下位ビットプレーンの復号化も、省略されさえしうる。あるいは、異なる復号化アルゴリズムは、この目的のために使用されうる。
6.2 図4の復号順序
以下に、スペクトル値の復号順序について説明する。
スペクトル係数は、最低周波数係数から始まって、最高周波数係数まで進んで、ノイズレスに符号化されて、(例えばビットストリームにおいて)送信される。
(例えば、ISO/IEC 14496、パート3、サブパート4において述べられるように、修正離散コサイン変換を使用して得られる)先進的音響符号化からの係数は、「x_ac_quant[g][win][sfb][bin]」と呼ばれている配列に格納され、そして、ノイズレス符号化コードワード(例えばacod_m、acod_r)の送信の順序は、それらがその配列に受けて格納された順序で復号されるときに、「bin」(周波数インデックス)が最も早く増加するインデックスであり、「g」が最も遅く増加するインデックスであるようになる。
低い周波数と関連したスペクトル係数は、高い周波数と関連したスペクトル係数の前に符号化される。
変換符号化励振(tcx)からの係数は、配列x_tcx_invquant[win][bin]に直接格納され、そして、ノイズレス符号化コードワードの送信の順序は、それらがその配列に受けて格納された順序で復号されるときに、「bin」が最も早く増加するインデックスであり、「win」が最も遅く増加するインデックスであるようになる。換言すれば、スペクトル値が音声符号器の線形予測フィルタの変換符号化励振を示す場合、スペクトル値aは、変換符号化励振の隣接し増加する周波数と関連している。
低い周波数と関連したスペクトル係数は、高い周波数と関連したスペクトル係数の前に符号化される。
特に、オーディオ復号器200は、周波数領域時間領域信号変換を使用した時間領域オーディオ信号表現の「直接の」生成、および、周波数領域時間領域復号器と、周波数領域時間領域信号変換器の出力によって励振された線形予測フィルタの両方を使用したオーディオ信号表現の「間接的」供給の両方のために、算術復号器230によって供給される、復号された周波数領域オーディオ表現232を適用するように構成されうる。
換言すれば、その機能についてここで詳細に述べられる算術復号器200は、周波数領域において符号化されたオーディオコンテンツの時間周波数領域表現のスペクトル値の復号化に、そして、線形予測領域に符号化された音声信号を復号するように適用された線形予測フィルタのために刺激信号の時間周波数領域表現の供給に、よく適している。このように、算術復号器は、周波数領域符号化されたオーディオコンテンツおよび線形予測周波数領域符号化されたオーディオコンテンツの両方を処理できるオーディオ復号器における使用によく適する(変換符号化励振線形予測領域モード)。
6.3. 図5aおよび図5bのコンテキスト初期化
以下に、ステップ310において実行される(「コンテキストマッピング」とも示される)コンテキスト初期化について説明する。
コンテキスト初期化は、図5aに示されるアルゴリズム「arith_map_context()」による過去のコンテキストと現在のコンテキストとの間のマッピングを含む。図に示すように、現在のコンテキストは、2の第1の次元とn_contextの第2の次元を有する配列の形をとるグローバル変数q[2][n_context]に格納される。過去のコンテキストは、n_contextの次元を有する表の形をとる変数qs[n_context]に格納されたaである。変数「previous_lg」は、過去のコンテキストのスペクトル値の数を示す。
変数「lg」は、フレームにおいて復号するスペクトル係数の数を示す。変数「previous_lg」は、前のフレームのスペクトル線の前の数を示す。
コンテキストのマッピングは、アルゴリズム「arith_map_context()」によって実行されうる。現在の(例えば周波数領域符号化された)オーディオフレームと関連したスペクトル値の数が、i=0〜i=lg−1に関する前のオーディオフレームと関連したスペクトル値の数と同一である場合、関数「arith_map_context()」が、現在のコンテキスト配列qのエントリq[0][i]を、過去のコンテキスト配列qsの値qs[i]にセットする点にここで留意する必要がある。
しかし、現在のオーディオフレームと関連したスペクトル値の数が、前のオーディオフレームと関連したスペクトル値の数とは異なる場合、より複雑なマッピングが実行される。しかし、この場合におけるマッピングに関する詳細は、特に本発明の重要な着想とは関連せず、詳細に関しては図5aの仮プログラムコードが参照される。
6.4 図5bおよび図5cの状態値計算
以下に、状態値計算312aについて、更に詳細に説明する。
(図3に示すように)第1の状態値sが関数「arith_get_context(i,lg,arith_reset_flag,N/2)」の戻り値として得ることができる点に留意する必要がある。そして、それの仮プログラムコード表現は、図5bおよび図5cに示される。
状態値の計算に関して、状態評価のために使用されるコンテキストを示す図4も参照される。図4は、時間および周波数に関して、スペクトル値の二次元の表現を示す。横座標410は、時間を示し、縦座標412は、周波数を示す。図4に示すように、復号するためのスペクトル値420は、時間インデックスt0および周波数インデックスiと関連している。図に示すように、時間インデックスt0に関して、周波数インデックスi−1、i−2、およびi−3を有する組は、周波数インデックスiを有するスペクトル値420が復号されることになっている時間にすでに復号される。図4から分かるように、スペクトル値420が復号される前に、時間インデックスt0および周波数インデックスi−1を有するスペクトル値430はすでに復号され、スペクトル値430は、スペクトル値420の復号化のために使用されるコンテキストのために考慮される。同様に、スペクトル値420が復号される前に、時間インデックスt0および周波数インデックスi−2を有するスペクトル値434はすでに復号され、スペクトル値434は、スペクトル値420を復号するために使用されるコンテキストのために考慮される。同様に、スペクトル値420が復号される前に、時間インデックスt−1およびi−2の周波数インデックスを有するスペクトル値440、時間インデックスt−1および周波数インデックスi−1を有するスペクトル値444、時間インデックスt−1および周波数インデックスiを有するスペクトル値448、時間インデックスt−1および周波数インデックスi+1を有するスペクトル値452、並びに、時間インデックスt−1および周波数インデックスi+2を有するスペクトル値456はすでに復号されて、スペクトル値420を復号するために使用されるコンテキストの決定に関して考慮される。スペクトル値420がコンテキストのために復号されて、考慮される時間にすでに復号されたスペクトル値(係数)は、陰影のついた正方形によって示される。対照的に、破線を有する正方形によって示される(スペクトル値420が復号される時間に)すでに復号されたいくつかの他のスペクトル値、および、(スペクトル値420が復号される時に)まだ復号されておらず、破線を有する円によって示される他のスペクトル値は、スペクトル値420を復号するためのコンテキストを決定するために使用されない。
しかしながら、スペクトル値420を復号するためのコンテキストの「正規の」(または「通常の」)計算に使用されない、これらのスペクトル値のいくつかは、それにもかかわらず、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に復号された隣接したスペクトル値の検出のために評価されうる点に留意する必要がある。
ここで、仮プログラムコードの形で関数「arith_get_context()」の機能を示す図5bおよび図5cを参照すると、関数「arith_get_context()」により実行される第1のコンテキスト値「s」の計算に関して、より詳細に説明する。
その関数「arith_get_context()」が入力変数として、復号するスペクトル値のインデックスiを受けることに留意する必要がある。インデックスiは、一般的に周波数インデックスである。入力変数lgは、(現在のオーディオフレームに関して)予想された量子化係数の(合計)数を示す。変数Nは、変換のラインの数を示す。フラグ「arith_reset_flag」は、コンテキストがリセットされるべきかどうかを示す。関数「arith_get_context」は、出力値として、連結された状態インデックスsおよび予測されたビットプレーンレベルlev0を示す変数「t」を供給する。
関数「arith_get_context()」は、整数変数a0、c0、c1、c2、c3、c4、c5、c6、lev0、および「region」を使用する。
関数「arith_get_context()」は、主機能ブロックとして、第1の算術リセット処理510、複数の前に復号された隣接した0のスペクトル値のグループの検出512、第1の変数設定514、第2の変数設定516、レベル適合518、領域値設定520、レベル適合522、レベル限定524、算術リセット処理526、第3の変数設定528、第4の変数設定530、第5の変数設定532、レベル適合534および選択的な戻り値計算536を含む。
第1の算術リセット処理510において、算術リセットフラグ「arith_reset_flag」がセットされているかどうかが、復号するスペクトル値のインデックスが0に等しいかどうかと共にチェックされる。この場合、0のコンテキスト値が返され、その関数は終了される。
算術リセットフラグが非アクティブ(inactive)であり、かつ、復号するスペクトル値のインデックスiが0と異なる場合にのみ実行される複数の前に復号された0のスペクトル値のグループの検出512において、参照番号512aに示すように、「flag」と名づけた変数は1に初期化され、そして、参照番号512bに示すように、評価されることになっているスペクトル値の領域が決定される。その後、参照番号512bに示すように決定されるスペクトル値の領域は、参照番号512cに示すように評価される。前に復号された0のスペクトル値の十分な領域があることが分かった場合、参照番号512dに示すように、1のコンテキスト値が返される。例えば、復号されるスペクトル値のインデックスiが最大周波数インデックスlg−1の近くでなければ、上の周波数インデックス境界「lim_max」は、i+6にセットされる。その場合には、参照番号512bに示すように、上の周波数インデックス境界の特別な設定がなされる。さらに、復号するスペクトル値のインデックスiが0に近くなければ(i+lim_min<0)、下の周波数インデックス境界「lim_min」は−5にセットされる。その場合には、参照番号512bに示すように、下の周波数インデックス境界lim_minの特別な計算は実行される。ステップ512bにおいて決定されたスペクトル値の領域を評価するときに、評価は、まず、下の周波数インデックス境界lim_minと0との間の負の周波数インデックスkのために実行される。lim_minと0との間の周波数インデックスkに関して、コンテキスト値のq[0][k].cとq[1][k].cのうちの少なくとも1つが0と等しいかどうかを検証される。しかし、コンテキスト値q[0][k].cおよびq[1][k].cの両方が、lim_minと0との間の周波数インデックスkに関して0と異なる場合、0のスペクトル値の十分なグループがないことが結論づけられ、評価512cは終了される。その後、0とlim_maxの間の周波数インデックスに関して、コンテキスト値q[0][k].cは、評価される。0とlim_maxの間の周波数インデックスのいずれかに関してコンテキスト値q[0][k].cのいずれかが0とは異なることを発見する場合、前に復号された0のスペクトル値の十分なグループがないことが結論づけられ、評価512cは、終了される。しかし、lim_minと0との間の全ての周波数インデックスkに関して、0に等しい少なくとも1つのコンテキスト値q[0][k].cまたはq[1][k].cがあることが分かった場合、および、0とlim_maxとの間の全ての周波数インデックスkに関して、0のコンテキスト値q[0][k].cがある場合、前に復号された0のスペクトル値の十分なグループがあると結論づけられる。したがって、この場合、1というコンテキスト値が、更なる計算なしで、この条件を示すために返される。換言すれば、0の値を有する複数のコンテキスト値q[0][k].c、q[1][k].cの十分なグループが確認される場合、計算514、516、518、520、522、524、526、528、530、532、534、536はスキップされる。換言すれば、コンテキスト状態を示す返されたコンテキスト値は、所定の条件が満たされていることの検出に応答して、前に復号されたスペクトル値から独立して、決定される。
そうでない場合、すなわち、0であるコンテキスト値[q][0][k].c、[q][1][k].cの十分なグループがない場合、計算514、516、518、520、522、524、526、528、530、532、534、536の少なくともいくつかは、実行される。
復号されるスペクトル値のインデックスiが1より小さい場合(およびその場合にだけ)、選択的に実行される第1の変数設定514において、変数a0は、コンテキストに値q[1][i−1]をとるように初期化され、変数c0は、変数a0の絶対値をとるように初期化される。変数「lev0」は、0の値をとるように初期化される。その後、変数a0が比較的大きい絶対値を含む、すなわち、−4より小さい、または4より大きいまたは4に等しい場合、変数「lev0」およびc0は増加する。変数a0の値が、右へのシフト操作によって−4と3との間の範囲に持ってこられるまで、変数「lev0」およびc0の増加は、反復して実行される(ステップ514b)。
その後、変数c0および「lev0」は、最大値7と3に、それぞれ、制限される(ステップ514c)。
復号されるスペクトル値のインデックスiが1に等しく、かつ、算術リセットフラグ(「arith_reset_flag」)がアクティブである場合、変数c0およびlev0に基づいてのみ計算されるコンテキスト値は返される(ステップ514d)。したがって、復号するスペクトル値と同じ時間インデックスを有し、かつ、復号されるスペクトル値の周波数インデックスiより1だけ小さい周波数インデックスを有する唯一の前に復号されたスペクトル値だけが、コンテキスト計算のために考慮される(ステップ514d)。そうでない場合、すなわち、算術リセット機能がない場合、変数c4は初期化される(ステップ514e)。
結論として、第1の変数設定514において、変数c0および「lev0」は、現在復号されるスペクトル値と同じフレームのために、そして、前のスペクトルビンi−1のために復号された、前に復号されたスペクトル値に依存して、初期化される。変数c4は、(時間インデックスt−1を有する)前のオーディオフレームのために復号され、そして、現在復号されるスペクトル値と関連した周波数より(例えば、1周波数ビンだけ)低い周波数を有する前に復号されたスペクトル値に依存して初期化される。
現在復号されるスペクトル値の周波数インデックスが1より大きい場合(およびその場合だけ)選択的に実行される第2の変数設定516は、変数c1とc6の初期化、および変数lev0の更新を含む。変数c1は、周波数が現在復号されるスペクトル値の周波数より(例えば2周波数ビンだけ)小さい、現在のオーディオフレームの前に復号されたスペクトル値と関連したコンテキスト値q[1][i−2].cに依存して更新される。同様に、変数c6は、その関連した周波数は、現在復号されるスペクトル値と関連した周波数より(例えば2周波数ビンだけ)小さい、(時間インデックスt−1を有する)前フレームの前に復号されたスペクトル値を示す、コンテキスト値q[0][i−2].cに依存して初期化される。加えて、レベル変数「lev0」は、q[1][i−2].lがlev0より大きい場合に、それの関連した周波数が現在復号されるスペクトル値と関連した周波数より(例えば2周波数ビンだけ)小さい、現在フレームの前に復号されたスペクトル値と関連したレベル値q[1][i−2].lにセットされる。
復号されるスペクトル値のインデックスiが2より大きい場合(およびその場合にだけ)、レベル適合518および領域値設定520は、選択的に実行される。レベル適合518において、それの関連した周波数が現在復号されるスペクトル値と関連した周波数より(例えば3周波数ビンだけ)小さい、現在フレームの前に復号されたスペクトル値と関連するレベル値q[1][i−3].lが、レベル値lev0より大きい場合、レベル変数「lev0」は、q[1][i−3].lの値まで増やされる。
Figure 0005707410
現在復号されるスペクトル値が3より大きいスペクトルインデックスを含む場合(およびその場合だけ)、更なるレベル適合522は実行される。この場合において、現在復号されるスペクトル値と関連した周波数より例えば4周波数ビンだけ小さい周波数と関連した、現在のフレームの前に復号されたスペクトル値と関連するレベル値q[i][i−4].lが、現在のレベル「lev0」である場合には、レベル変数「lev0」は、増加する(値q[1][i−4].lにセットされる)(ステップ522)。レベル変数「lev0」は、3である最大値に制限される(ステップ524)。
算術リセット条件が検出され、現在復号されるスペクトル値のインデックスiが1より大きい場合、状態値は、領域変数「region」に依存するのと同様に、変数c0、c1、lev0に依存して返される(ステップ526)。したがって、算術リセット条件が与えられる場合、前のフレームの前に復号されたスペクトル値は、考慮に入れなくされる。
第3の変数設定528において、変数c2は、前に復号されたスペクトル値が現在復号されるスペクトル値と同じ周波数と関連している、(時間インデックスt−1を有する)前のオーディオフレームの前に復号されたスペクトル値と関連するコンテキスト値q[0][i].cにセットされる。
第4の変数設定530において、変数c3は、現在復号されるスペクトル値が可能な限り高い周波数インデックスlg−1と関連していない場合、周波数インデックスi+1を有する前のオーディオフレームの前に復号されたスペクトル値と関連するコンテキスト値q[0][i+1].cにセットされる。
第5の変数設定532において、変数c5は、現在復号されるスペクトル値の周波数インデックスiが最大周波数インデックス値にそれほど近くない(すなわち、周波数インデックス値lg−2またはlg−1をとらない)場合、周波数インデックスi+2を有する前のオーディオフレームの前に復号されたスペクトル値と関連するコンテキスト値q[0][i+1].cにセットされる。
周波数インデックスiが0に等しい場合(すなわち、現在復号されるスペクトル値が最低スペクトル値である場合)、レベル変数「lev0」の更なる適合は実行される。この場合において、変数c2またはc3が3という値をとる場合、レベル変数「lev0」は、0から1に増加する。それは、現在符号化されるスペクトル値と関連した周波数と比較して、同一周波数またはより高い周波数と関連している、前のオーディオフレームの前に復号されたスペクトル値が、比較的大きい値をとることを示す。
選択的な戻り値計算536において、戻り値は、現在復号されるスペクトル値のインデックスiが、値0、1、またはより大きい値をとるかどうかに依存して計算される。インデックスiが、0の値をとる場合、参照番号536aで示されるように、戻り値は、変数c2、c3、c5、およびlev0に依存して計算される。インデックスiが1の値をとる場合、参照番号536bに示すように、戻り値は、変数c0、c2、c3、c4、c5、および「lev0」に依存して計算される。インデックスiが0または1とは異なる値をとる場合、戻り値は、変数c0、c2、c3、c4、c1、c5、c6、「region」およびlev0に依存して計算される(参照番号536c)。
上記を要約すると、コンテキスト値計算「arith_get_context()」は、複数の前に復号された0のスペクトル値(または少なくとも、十分に小さいスペクトル値)のグループの検出512を含む。前に復号された0のスペクトル値の十分なグループが見つかった場合、特別なコンテキストの存在は、戻り値を1に設定することによって示される。そうでない場合、コンテキスト値計算は、実行される。一般に、コンテキスト値計算において、インデックス値iは、前に復号されたスペクトル値がいくつ評価されるべきかを決定するために評価されると言うことができる。例えば、現在復号されるスペクトル値の周波数インデックスiが下の境界(例えば0)の近くに、または、上の境界(例えばlg−1)の近くにある場合、評価された前に復号されたスペクトル値の数は減らされる。加えて、現在復号されるスペクトル値の周波数インデックスiが、最小値から十分に離れている場合であっても、異なるスペクトル領域は、領域値設定520によって区別される。したがって、異なるスペクトル領域(例えば、第1の、低周波スペクトル領域、第2の、中間スペクトル領域、および第3の、高周波スペクトル領域)の異なる統計学的性質は、考慮に入れられる。戻り値として算出されるコンテキスト値は、返されたコンテキスト値が、現在復号されるスペクトル値が第1の既定周波数領域にあるか、または、第2の既定周波数領域にあるか(またはその他の既定周波数領域にあるか)に依存するように、変数「region」に依存する。
6.5 マッピングルール選択
以下に、マッピングルールの選択、例えばシンボルコードへのコード値のマッピングを示す累積度数分布表について説明する。マッピングルールの選択は、状態値sまたはtによって示されるコンテキスト状態に依存してなされる。
6.5.1 図5dのアルゴリズムを使用したマッピングルール選択
以下に、図5dに記載の関数「get_pk」を使用したマッピングルールの選択について説明する。関数「get_pk」が、図3のアルゴリズムのサブアルゴリズム312baの「pki」の値を得るために実行されうる点に留意する必要がある。このように、関数「get_pk」は、図3のアルゴリズムの関数「arith_get_pk」に代わりうる。
また、図5dの関数「get_pk」が、図17(1)と図17(2)のテーブル「ari_s_hash[387]」、および図18のテーブル「ari_gs_hash[225]」を評価しうる点に留意すべきである。
関数「get_pk」は、入力変数として、図3の変数「t」と図3の変数「lev」、「lev0」の組み合わせによって得られうる状態値sを受ける。関数「get_pk」はまた、戻り値として、マッピングルールまたは累積度数分布表を示す変数「pki」の値を戻すように構成される。関数「get_pk」は、状態値sをマッピングルールインデックス値「pki」にマップするように構成される。
関数「get_pk」は、第1のテーブル評価540、および第2のテーブル評価544を含む。第1のテーブル評価540は、参照番号541に示すように、変数i_min、i_maxおよびiが初期化される変数初期化541を含む。第1のテーブル評価540はまた、反復テーブルサーチ542を含み、その過程で、状態値sと一致するテーブル「ari_s_hash」のエントリがあるかどうかの決定がなされる。この種の一致が反復テーブルサーチ542の間に確認される場合、関数get_pkは終了される。ここで、その関数の戻り値は、より詳細に説明されるように、状態値sと一致するテーブル「ari_s_hash」のエントリによって決定される。しかし、状態値sとテーブル「ari_s_hash」のエントリとの間の完全な一致が反復テーブルサーチ542の過程で発見されない場合、境界エントリチェック543が実行される。
ここで、第1のテーブル評価540の詳細に戻ると、サーチ区間が変数i_minおよびi_maxによって定義されることが分かる。条件i_max−i_min>1が満たされている場合には正当でありえる変数i_minおよびi_maxによって定義された区間が十分に大きい限り、反復テーブルサーチ542は繰り返される。その後、少なくともおよそ、区間の中央(i=i_min+(i_max−i_min)/2)を示すために、変数iはセットされる。その後、変数jは、変数iによって示された配列位置で、配列「ari_s_hash」で決定される値にセットされる(参照番号542)。テーブル「ari_s_hash」の各エントリが、テーブルエントリと関連する状態値と、テーブルエントリと関連しているマッピングルールインデックス値の両方を示す点に、ここで留意すべきである。テーブルエントリと関連している状態値は、テーブルエントリの最上位ビット(ビット8〜31)によって示される。その一方で、マッピングルールインデックス値は、前記テーブルエントリの下位ビット(例えばビット0〜7)によって示される。下の境界i_minまたは上の境界i_maxは、状態値sが変数iによって参照されるテーブル「ari_s_hash」のエントリ「ari_s_hash[i]」の最上位の24ビットによって示された状態値より小さいかどうかに依存して構成される。例えば、状態値sがエントリ「ari_s_hash[i]」の最上位の24ビットによって示された状態値より小さい場合、テーブル区間の上の境界i_maxは、値iにセットされる。したがって、反復テーブルサーチ542の次の反復のためのテーブル区間は、反復テーブルサーチ542の現在の反復のために使用されたテーブル区間(i_minからi_maxまで)の下半分に制限される。対照的に、状態値sがテーブルエントリ「ari_s_hash[i]」の最上位の24ビットによって示された状態値より大きい場合、反復テーブルサーチ542の次の反復のためのテーブル区間の下の境界i_minは、現在のテーブル区間(i_minとi_maxとの間)の上半分が、次の反復テーブルサーチのためのテーブル区間として使用されるように、値iにセットされる。しかし、状態値sがテーブルエントリ「ari_s_hash[i]」の最上位の24ビットによって示された状態値と同一であることが分かった場合、テーブルエントリ「ari_s_hash[i]」の最下位の8ビットによって示されたマッピングルールインデックス値は、関数「get_pk」によって返され、その関数は終了される。
変数i_minおよびi_maxによって定義されたテーブル区間が十分に小さくなるまで、反復テーブルサーチ542は繰り返される。
境界エントリチェック543は、反復テーブルサーチ542を補うために(任意選択で)実行される。インデックス変数iが、反復テーブルサーチ542の完了の後、インデックス変数i_maxと等しい場合、状態値sがテーブルエントリ「ari_s_hash[i_min]」の最上位の24ビットによって示された状態値と等しいかどうかの最終的なチェックがなされて、エントリ「ari_s_hash[i_min]」の最下位8ビットにより示されたマッピングルールインデックス値は、この場合、関数「get_pk」の結果として、返される。対照的に、インデックス変数iがインデックス変数i_maxとは異なる場合、状態値sがテーブルエントリ「ari_s_hash[i_max]」の最上位の24ビットによって示された状態値と等しいかどうかに関してのチェックが実行されて、前記テーブルエントリ「ari_s_hash[i_max]」の最下位8ビットにより示されたマッピングルールインデックス値は、この場合、関数「get_pk」の戻り値として返される。
しかし、境界エントリチェック543は、全体として任意のものとして考慮されうる点に留意する必要がある。
第1のテーブル評価540に続いて、第2のテーブル評価544は、「ダイレクトヒット(direct hit)」が第1のテーブル評価540の間に生じない場合、状態値sがテーブル「ari_s_hash」のエントリによって(または、より正確に言うと、その24の最上位ビットによって)示された状態値のうちの1つと同一であるという点で実行される。
第2のテーブル評価544は、参照番号545に示すように、インデックス変数i_min、iおよびi_maxが初期化される変数初期化545を含む。第2のテーブル評価544はまた、反復テーブルサーチ546を含み、その過程において、テーブル「ari_gs_hash」は、状態値sと同じ状態値を示すエントリに関してサーチされる。最後に、第2のテーブルサーチ544は、戻り値決定547を含む。
Figure 0005707410
両方とも反復テーブルサーチ542、546を使用する上述のテーブル評価540、544は、非常に高い計算効率を有する一定の有意な状態の存在のためのテーブル「ari_s_hash」および「ari_gs_hash」の検査を可能にする。特に、最も悪い場合でさえ、テーブルアクセス操作の数を相当に小さく保つことができる。テーブル「ari_s_hash」および「ari_gs_hash」の数値的順序付けが適当なハッシュ値のサーチの加速を可能にすることが分かっている。加えて、テーブルサイズは、テーブル「ari_s_hash」および「ari_gs_hash」においてエスケープシンボルが含まれることを要しないように、小さく保たれうる。このように、多数の異なる状態がある場合であっても、効率的なコンテキストハッシュ機構は確立される。第1の段階(第1のテーブル評価540)において、ダイレクトヒットのサーチが行われる(s==(j>>8))。
第2の段階(第2のテーブル評価544)において、状態値sの範囲は、マッピングルールインデックス値にマップされうる。このように、関連したエントリがテーブル「ari_s_hash」にある特に有意な状態、および、範囲ベースの処理があるそれほど有意でない状態のバランスのとれた処理は、実行されることができる。したがって、関数「get_pk」は、マッピングルール選択の効率的なインプリメンテーションを構成する。
更なる詳細のために、周知のプログラム言語Cによる表現の関数「get_pk」の機能を示す図5dの仮プログラムコードが参照される。
6.5.2 図5eのアルゴリズムを使用したマッピングルール選択
以下に、マッピングルールの選択のための他のアルゴリズムについて、図5eを参照して説明する。図5eのアルゴリズム「arith_get_pk」が、入力変数として、コンテキストの状態を示している状態値sを受ける点に留意する必要がある。関数「arith_get_pk」は、出力値または戻り値として、マッピングルール(例えば累積度数分布表)を選択するためのインデックスでありえる確率モデルのインデックス「pki」を供給する。
図5eの関数「arith_get_pk」が、図3の関数「value_decode」の関数「arith_get_pk」の機能をとりうる点に留意する必要がある。
また、関数「arith_get_pk」が、例えば、図20のテーブルari_s_hashおよび図18のテーブルari_gs_hashを評価しうることも留意すべきである。
図5eの関数「arith_get_pk」は、第1のテーブル評価550と第2のテーブル評価560とを含む。第1のテーブル評価550において、線形走査は、前記テーブルのエントリj=ari_s_hash[i]を得るために、テーブルari_s_hashによってなされる。テーブルari_s_hashのテーブルエントリj=ari_s_hash[i]の最上位の24ビットにより示された状態値が、状態値sと等しい場合、前記確認されたテーブルエントリj=ari_s_hash[i]の最下位8ビットにより示されたマッピングルールインデックス値「pki」は、返されて、関数「arith_get_pk」は終了される。したがって、「ダイレクトヒット」(テーブルエントリjの最上位の24ビットによって示された状態値と等しい状態値s)が確認されない限り、テーブルari_s_hashの全387エントリは、昇順に評価される。
ダイレクトヒットが、第1のテーブル評価550の範囲内に確認されない場合、第2のテーブル評価560は実行される。第2のテーブル評価の過程において、ゼロから最大値224まで線形に増えていくエントリインデックスiを有する線形走査は、実行される。第2のテーブル評価の間、テーブルiのためのテーブル「ari_gs_hash」のエントリ「ari_gs_hash[i]」は、読み取られて、テーブルエントリjの24の最上位ビットによって示された状態値が状態値sより大きいかどうかが決定されるので、テーブルエントリ「j=ari_gs_hash[i]」は、評価される。これが真ならば、前記テーブルエントリjの8の最下位ビットによって示されたマッピングルールインデックス値は、関数「arith_get_pk」の戻り値として返されて、関数「arith_get_pk」の実行は終了される。しかし、状態値sが現在のテーブルエントリj=ari_gs_hash[i]の24の最上位ビットによって示された状態値より小さくない場合、テーブルari_gs_hashのエントリによるスキャンは、テーブルインデックスiを増加させることによって続けられる。しかし、状態値sがテーブルari_gs_hashのエントリによって示された状態値のいずれかより大きい、または、等しい場合、テーブルari_gs_hashの最後のエントリの8の最下位ビットによって定義されたマッピングルールインデックス値「pki」は、関数「arith_get_pk」の戻り値として返される。
要約すると、図5eの関数「arith_get_pk」は、2ステップのハッシュ法を実行する。第1のステップにおいて、ダイレクトヒットのサーチが実行される。ここで、状態値sは、第1のテーブル「ari_s_hash」のエントリのいずれかによって定義された状態値と等しいかどうかが決定される。ダイレクトヒットが第1のテーブル評価550において確認される場合、戻り値は、第1のテーブル「ari_s_hash」から得られて、関数「arith_get_pk」は終了される。しかし、ダイレクトヒットが第1のテーブル評価550において確認されない場合、第2のテーブル評価560は実行される。第2のテーブル評価において、範囲ベースの評価は、実行される。第2のテーブル「ari_gs_hash」の続くエントリは、範囲を定める。状態値sが、現在のテーブルエントリ「j=ari_gs_hash[i]」の24の最上位ビットによって示された状態値が状態値sより大きいことによって示されるこの種の範囲内に位置することが分かった場合、テーブルエントリj=ari_gs_hash[i]の8つの最下位ビットによって示されたマッピングルールインデックス値「pki」は返される。
6.5.3 図5fのアルゴリズムを使用したマッピングルール選択
図5fの関数「get_pk」は、図5eの関数「arith_get_pk」に実質的に等しい。したがって、上記説明が参照される。詳しくは、図5fの仮プログラム表現が参照される。
図5fの関数「get_pk」が、図3の関数「value_decode」において呼ばれた関数「arith_get_pk」に代わることができる点に留意する必要がある。
6.6. 図5gの関数「arith_decode()」
以下において、関数「arith_decode()」の機能について、図5gを参照して詳述する。関数「arith_decode()」は、それがシーケンスの第1のシンボルである場合にTRUEを返し、そうでなければFALSEを返すヘルパー関数「arith_first_symbol(void)」を使用する点に留意する必要がある。関数「arith_decode()」はまた、ビットストリームの次のビットを得て、供給するヘルパー関数「arith_get_next_bit(void)」を使用する。
加えて、関数「arith_decode()」は、グローバル変数「low」、「high」および「value」を使用する。更に、関数「arith_decode()」は、入力変数として、選択された累積度数分布表の第1のエントリまたは(要素インデックスまたはエントリインデックス0を有する)要素を指す変数「cum_freq[]」を受ける。また、関数「arith_decode()」は、変数「cum_freq[]」によって示された選択された累積度数分布表の長さを示す入力変数「cfl」を使用する。
関数「arith_decode()」は、第1のステップとして、ヘルパー関数「arith_first_symbol()」がシンボルのシーケンスの第1のシンボルが復号されていることを示す場合に実行される変数初期化570aを含む。例えば、値初期化550aは、変数「value」が前記ビットによって示された値をとるように、ヘルパー関数「arith_get_next_bit」を使用してビットストリームから得られる複数の、例えば20ビットに依存して、変数「value」を初期化する。また、変数「low」は、0の値をとるように初期化されて、変数「high」は、1048575の値をとるように初期化される。
第2のステップ570bにおいて、変数「range」は、変数「high」および「low」の値の差よりも1だけ大きい値にセットされる。変数「cum」は、変数「low」の値とおよび変数「high」の値との間に変数「value」の値の相対位置を示す値にセットされる。したがって、変数「cum」は、変数「value」の値に依存して、例えば、0と216との間の値をとる。
ポインタpは、選択された累積度数分布表の先頭アドレスより1だけ小さい値に初期化される。
アルゴリズム「arith_decode()」はまた、反復的な累積度数分布表サーチ570cを含む。変数cflが1より小さくなる、または、1と等しくなるまで、反復的な累積度数分布表サーチは、繰り返される。反復的な累積度数分布表サーチ570cにおいて、ポインタ変数qは、ポインタ変数pの現在の値と変数「cfl」の2分の1の値の合計に等しい値にセットされる。エントリがポインタ変数qによってアドレス指定される選択された累積度数分布表のエントリの値*qが、変数「cum」の値より大きい場合、ポインタ変数pは、ポインタ変数qの値にセットされて、そして、変数「cfl」の値は、+1増加する。最後に、変数「cfl」は、1ビットだけ右にシフトされて、それによって、効率よく、変数「cfl」の値を2で割って、剰余部分を無視する。
したがって、反復的な累積度数分布表サーチ570cは、値cumが確認された区間内にあるように、累積度数分布表のエントリに囲まれている選択された累積度数分布表内に区間を確認するために、変数「cum」の値を、選択された累積度数分布表の複数のエントリと効率よく比較する。したがって、選択された累積度数分布表のエントリは、区間を定める。ここで、各シンボル値は、選択された累積度数分布表の区間の各々に関連する。また、累積度数分布表の2つの隣接した値間の区間の幅は、選択された累積度数分布表が、全体として、異なるシンボル(またはシンボル値)の確率分布を定めるように、前記区間と関連したシンボルの確率を定める。利用できる累積度数分布表に関する詳細は、図19を参照して、以下で述べられる。
さらに図5gを参照して、シンボル値は、ポインタ変数pの値から得られる。ここで、シンボル値は、参照番号570dに示すように得られる。このように、ポインタ変数pおよび先頭アドレス「cum_freq」の値の差は、変数「symbol」によって示されるシンボル値を得るために評価される。
アルゴリズム「arith_decode」はまた、変数「high」と「low」の適合570eを含む。変数「symbol」によって示されたシンボル値が、0とは異なる場合、参照番号570eに示すように、変数「high」は更新される。また、参照番号570eに示すように、変数「low」の値は、更新される。変数「high」は、変数「low」、変数「range」の値、および選択された累積度数分布表のインデックス「symbol−1」を有するエントリで決定される値にセットされる。変数「low」は、増加し、ここで、増加の大きさは、変数「range」、およびインデックス「symbol」を有する選択された累積度数分布表のエントリで決定される。したがって、変数「low」および「high」の値の差は、選択された累積度数分布表の2つの隣接したエントリ間の数値差に依存して、調整される。
したがって、低い確率を有するシンボル値が検出される場合、変数「low」および「high」の値間の区間は、狭い幅に削減される。対照的に、検出シンボル値が比較的大きい確率を含む場合、変数「low」および「high」の値間の区間の幅は、比較的大きい値にセットされる。さらにまた、変数「low」および「high」の値間の区間の幅は、累積度数分布表の検出されたシンボルおよび対応するエントリに依存している。
アルゴリズム「arith_decode()」はまた、区間再規格化(renormalization)570fを含む。そこにおいて、ステップ570eにおいて決定された区間は、「break」条件に達するまで、反復してシフトされて、スケールされる。区間再規格化570fにおいて、選択的な下方シフト操作570faは、実行される。変数「high」が、524286より小さい場合、何もなされず、区間再規格化は、区間サイズ増加演算570fbを続ける。しかし、変数「high」が524286より小さくない、かつ、変数「low」が524286以上であるまたはそれと等しい場合、変数「low」および「high」によって定義された区間が下にシフトされるように、そして、変数「value」の値も下にシフトされるように、変数「value」、「low」および「high」は、全て524286だけ減少する。しかし、変数「high」の値が524286より小さくないこと、および、変数「low」が524286より大きくないまたは等しいこと、および、変数「low」が262143より大きいまたは等しいこと、および、変数「high」が786429より小さいことが分かった場合に、変数「value」、「low」および「high」は、全て262143だけ減少し、それによって、変数「high」と「low」の値、および更には、変数「value」の値間の区間シフトダウンする。しかし、上記条件のどれも満たされていない場合、区間再規格化は終了される。
しかし、ステップ570faで評価される上述の条件のいずれかが、条件が満たされている場合、区間増加演算570fbは実行される。区間増加演算570fbにおいて、変数「low」の値は、2倍になる。また、変数「high」の値は、2倍になり、2倍の結果は、1だけ増加する。また、変数「value」の値は、(1ビットだけ左にシフトされ)2倍になり、そして、ヘルパー関数「arith_get_next_bit」によって得られるビットストリームの1ビットは、最下位ビットとして使用される。したがって、変数「low」および「high」の値間の区間のサイズは、およそ2倍になり、変数「value」の精度は、ビットストリームの新しいビットを使用することにより増加する。上記したように、「break」条件に達するまで、変数「low」および「high」の値間の区間が十分大きくなるまで、ステップ570faおよび570fbは繰り返される。
アルゴリズム「arith_decode()」の機能に関して、変数「low」および「high」の値間の区間が、変数「cum_freq」によって参照された累積度数分布表の2つの隣接したエントリに依存して、ステップ570eにおいて減じられる点に留意する必要がある。選択された累積度数分布表の2つの隣接した値間の区間が小さい場合、すなわち、隣接した値がともに比較的近い場合、ステップ570eにおいて得られる変数「low」および「high」の値間の区間は比較的小さい。対照的に、累積度数分布表の2つの隣接したエントリが更に間隔をあける場合、ステップ570eにおいて得られる変数「low」および「high」の値間の区間は比較的大きい。
従って、ステップ570eにおいて得られる変数「low」および「high」の値間の区間が比較的小さい場合、多数の区間再規格化ステップは、(条件評価570faの条件のいずれも満たされていないように、)「十分な」サイズに区間を再スケールするために実行される。したがって、ビットストリームから比較的多くの数のビットは、変数「value」の精度を増加させるために使用される。対照的に、ステップ570eにおいて得られた区間サイズが、比較的大きい場合、区間規格化ステップ570faおよび570fbのより小さい繰返し数だけは変数「low」および「high」の値間の区間を「十分な」サイズまで再規格化するために必要とされる。したがって、ビットストリームから比較的少ない数のビットだけが、変数「value」の精度を増加させて、次のシンボルの復号化を準備するために使用される。
上記を要約すると、比較的高い確率を含み、選択された累積度数分布表のエントリによって大きい区間と関連しているシンボルが復号される場合、比較的少ない数のビットしか、その後のシンボルの復号化を可能にするために、ビットストリームから読み取られない。対照的に、比較的少ない確率を含んで、そして、小区間は選択された累積度数分布表のエントリによって関連するシンボルが復号される場合、比較的多数のビットは、次のシンボルの復号化を準備するために、ビットストリームからとられる。
したがって、累積度数分布表のエントリは、異なるシンボルの確率を反映して、更にシーケンスのシンボルを復号するために必要な多くのビットを反映する。コンテキストに依存して、すなわち前に復号されたシンボル(またはスペクトル値)に依存して、累積度数分布表を変化させることによって、例えば、コンテキストに依存して異なる累積度数分布表を選択することによって、異なるシンボル間の推計学的な依存性が利用でき、それは続く(または隣接した)シンボルの特定の効率的な符合化を可能にする。
上記を要約すると、図5gに関して示された関数「arith_decode()」は、累積度数分布表「arith_cf_m[pki][]」で呼ばれ、(戻り変数「symbol」によって示されるシンボル値にセットされうる)最上位ビットプレーン値mを決定するために、関数「arith_get_pk()」によって返されたインデックス「pki」に対応する。
6.7 エスケープ機構
関数「arith_decode()」によってシンボル値として返される復号された最上位ビットプレーン値mがエスケープシンボル「ARITH_ESCAPE」であると共に、付加的な最上位ビットプレーン値mは、復号されて、変数「lev」は1だけ増加する。したがって、復号される下位ビットプレーンの数についてだけでなく、最上位ビットプレーン値mの数値的有意性についての情報が得られる。
エスケープシンボル「ARITH_ESCAPE」が復号される場合、レベル変数「lev」は1増やされる。したがって、最上位ビット(ビット24以上)によって示される値が、アルゴリズム312baの次の反復のために増加するので、関数「arith_get_pk」に入力される状態値も修正される。
6.8 図5hのコンテキスト更新
いったん、スペクトル値が完全に復号されると(すなわち、最下位ビットプレーンの全てが増やされると)、コンテキストテーブルqおよびqsは、関数「arith_update_context(a,i,lg)」を呼ぶことにより更新される。以下に、関数「arith_update_context(a,i,lg)」に関する詳細は、前記関数の仮プログラムコード表現を示す図5hを参照にして説明される。
関数「arith_update_context()」は、入力変数として、復号された量子化されたスペクトル係数a、復号されるスペクトル値の(または復号されたスペクトル値の)インデックスi、および現在のオーディオフレームと関連したスペクトル値(または係数)の数lgを受ける。
ステップ580において、現在復号され量子化されたスペクトル値(または係数)aは、コンテキストテーブルまたはコンテキスト配列qに複製する。したがって、コンテキストテーブルqのエントリq[1][i]は、aにセットされる。また、変数「a0」は、「a」の値にセットされる。
ステップ582において、コンテキストテーブルqのレベル値q[1][i].lは、決定される。デフォルトで、コンテキストテーブルqのレベル値q[1][i].lは、0にセットされる。しかし、現在符号化されたスペクトル値の絶対値が4より大きい場合、レベル値q[1][i].lは、増加する。各インクリメントによって、変数「a」は、1ビットだけ右にシフトする。変数a0の絶対値が4より小さくなる、または4に等しくなるまで、レベル値q[1][i].lのインクリメントは繰り返される。
ステップ584において、コンテキストテーブルqの2ビットのコンテキスト値q[1][i].cは、セットされる。2ビットのコンテキスト値q[1][i].cは、現在復号されたスペクトル値aが0に等しくなる場合、0の値にセットされる。そうでない場合、復号されたスペクトル値aの絶対値が1より小さい、または等しい場合、2ビットのコンテキスト値q[1][i].cは、1にセットされる。そうでない場合、現在復号されたスペクトル値aの絶対値が3より小さい、または等しい場合、2ビットのコンテキスト値q[1][i].cは、2にセットされる。そうでない場合、すなわち、現在復号されたスペクトル値aの絶対値が3より大きい場合、2ビットのコンテキスト値q[1][i].cは、3にセットされる。したがって、2ビットコンテキスト値q[1][i].cは、現在復号されたスペクトル係数aの非常に粗い量子化によって得られる。
現在復号されたスペクトル値のインデックスiが、フレームの係数(スペクトル値)の数lgに等しい場合に、すなわち、フレームの最後のスペクトル値が復号されて、コアモードが、線形予測領域コアモードである(「core_mode==1」によって示される)場合にのみ実行されるその後のステップ586において、エントリq[1][j].cは、コンテキストテーブルqs[k]にコピーされる。コピーは、現在のフレームのスペクトル値の数lgが、コンテキストテーブルqs[k]にエントリq[1][j].cのコピーのために考慮されるように、参照番号586に示すように実行される。加えて、変数「previous_lg」は、値1024をとる。
しかし、代わりに、現在復号されたスペクトル係数のインデックスiが、lgの値に達して、コアモードが周波数領域コアモードである(「core_mode==0」によって示される)場合、コンテキストテーブルqのエントリq[1][j].cは、コンテキストテーブルqs[j]にコピーされる。
この場合、変数「previous_lg」は、1024の値およびフレームのスペクトル値の数lg間の最小値にセットされる。
6.9 復号処理の概要
以下に、復号処理は、簡潔にまとめられる。詳細に関して、上記説明と、更に図3、図4および図5a〜図5iが参照される。
量子化されたスペクトル係数aは、最低周波数係数から始まって、最高周波数係数に進行して、ノイズレスに符号化され、送信される。
先進的音響符号化(AAC)からの係数は、配列「x_ac_quant[g][win][sfb][bin]」に格納されて、ノイズレス符号化コードワードの送信の順序は、その配列に受け取られ、格納された順番に復号されるときに、binが最も急速に増加するインデックスであって、gが最もゆっくり増加するインデックスであるようにされる。インデックスbinは、周波数ビンを示す。インデックス「sfb」は、スケールファクターバンドを示す。インデックス「win」は、窓を示す。インデックス「g」は、オーディオフレームを示す。
変換符号化励振からの係数は、直接、配列「x_tcx_invquant[win][bin]」に格納され、そして、ノイズレス符号化コードワードの送信の順序は、それらが配列に受け取られて格納された順番に復号されるときに、「bin」が最も急速に増加するインデックスであり、「win」が最もゆっくり増加するインデックスであるようにされる。
まず、マッピングは、コンテキストテーブルまたは配列「qs」に格納され、保存された過去のコンテキストと、(コンテキストテーブルまたは配列qに格納された)現在のフレームqのコンテキストとの間でなされる。過去のコンテキスト「qs」は、周波数線ごとに(または周波数ビンごとに)、2ビットに格納される。
コンテキストテーブル「qs」に格納された保存された過去のコンテキストとコンテキストテーブル「q」に格納された現在のフレームのコンテキスト間のマッピングは、関数「arith_map_context()」を使用して実行され、その仮プログラムコード表現は図5aに示される。
ノイズレス復号器は、符号付き量子化されたスペクトル係数「a」を出力する。
まず、コンテキストの状態は、復号する量子化されたスペクトル係数を囲んでいる前に復号されたスペクトル係数に基づいて算出される。コンテキストの状態sは、関数「arith_get_context()」によって返された値の24の第1ビットに対応する。返された値の第24番目ビットを越えたビットは、予測されたビットプレーンレベルlev0に対応する。変数「lev」は、lev0に初期化される。関数「arith_get_context」の仮プログラムコード表現は、図5bおよび図5cに示される。
いったん、状態sおよび予測されたレベル「lev0」が分かると、最上位の2ビット単位のプレーンmは、コンテキスト状態に対応する確率モデルに対応する適用された累積度数分布表を供給された、関数「arith_decode()」を使用して復号される。
通信は、関数「arith_get_pk()」によってなされる。
関数「arith_get_pk()」の仮プログラムコード表現は、図5eに示される。
関数「arith_get_pk()」に代わることができる他の関数「get_pk」の仮プログラムコードは、図5fに示される。関数「arith_get_pk()」に代わることができる他の関数「get_pk」の仮プログラムコードは、図5dに示される。
値mは、累積度数分布表、「arith_cf_m[pki][]」で呼ばれた関数「arith_decode()」を使用して復号される。ここで、「pki」が、関数「arith_get_pk()」によって(または、代わりに、関数「get_pk()」によって)、返されたインデックスに対応する。
算術符号器は、スケーリングを有するタグ生成の方法を使用した整数インプリメンテーションである(例えばK.Sayood「データ圧縮の入門書(Introduction to Data Compression)」、第三版、2006、エルゼビア社参照)。図5gに示された仮のCコードは、使用されたアルゴリズムを示す。
復号された値mがエスケープシンボル(「ARITH_ESCAPE」)であるときに、他の値mは、復号されて、変数「lev」は1だけ増加する。いったん、値mがエスケープシンボル(「ARITH_ESCAPE」)でないと、残りのビットプレーンは、「lev」回、累積度数分布表「arith_cf_r[]」を有する関数「arith_decode()」を呼ぶことによって、最上位から最下位レベルまで復号される。前記累積度数分布表「arith_cf_r[]」は、例えば、均一な確率分布を示しうる。
復号されたビットプレーンrは、以下の方法で、前に復号された値mを精錬することを可能にする:

a=m;
for(i=0;i<lev;i++){
r=arith_decode(arith_cf_r,2);
a=(a<<1)|(r&1);

いったん、スペクトルの量子化された係数aは、完全に復号されると、コンテキストテーブルq、または格納されたコンテキストqsは、復号する次の量子化されたスペクトル係数のために、関数「arith_update_context()」によって更新される。
関数「arith_update_context」の仮プログラムコード表現は、図5hに示される。
加えて、定義のキャプションは、図5iに示される。
7. マッピングテーブル
本発明による実施形態において、特に有利なテーブル「ari_s_hash」および「ari_gs_hash」および「ari_cf_m」は、図5dを参照に述べられた関数「get_pk」の実行のために、または、図5eを参照に述べられた関数「arith_get_pk」の実行のために、または、参照5fを参照に述べられた関数「get_pk」の実行のために、および、図5gを参照に述べられた関数「arith_decode」の実行のために使用される。
7.1. 図17のテーブル「ari_s_hash[387]」
図5dに関して説明された関数「get_pk」により用いられるテーブル「ari_s_hash」の特に有利なインプリメンテーションの内容は、図17の表に示される。図17のテーブルがテーブル「ari_s_hash[387]」の387のエントリをリストする点に留意する必要がある。また、図17のテーブル表現が、先頭値「0x00000200」が、要素インデックス(またはテーブルインデックス)0を有するテーブルエントリ「ari_s_hash[0]」に対応するように、最後の値「0x03D0713D」は、要素インデックスまたはテーブルインデックス386を有するテーブルエントリ「ari_s_hash[386]」に対応するように、その要素インデックスの順序で要素を示す点に留意すべきである。「0x」がテーブル「ari_s_hash」のテーブルエントリが16進数で示される点に更に留意すべきである。さらにまた、図17のテーブル「ari_s_hash」のテーブルエントリは、関数「get_pk」の第1のテーブル評価540の実行を可能にするために、番号順に配置される。
テーブル「ari_s_hash」のテーブルエントリの最上位の24ビットが、状態値を示す一方で、最下位の8ビットが、マッピングルールインデックス値pkiを示す点に更に留意すべきである。
このように、テーブル「ari_s_hash」のエントリは、マッピングルールインデックス値「pki」への状態値の「ダイレクトヒット」マッピングを示す。
7.2 図18のテーブル「ari_gs_hash」
テーブル「ari_gs_hash」の特に有利な実施形態の内容は、図18のテーブルに示される。テーブル18のテーブルが、テーブル「ari_gs_hash」のエントリをリストする点にここで留意すべきである。前記エントリは、一次元の整数型エントリインデックス(また、「要素インデックス」または「配列インデックス」または「テーブルインデックス」とも呼ばれる)によって参照され、それは、例えば、「i」で示される。合計225のエントリを含むテーブル「ari_gs_hash」が、図5dに示される関数「get_pk」の第2のテーブル評価544による使用に非常に適する点に留意する必要がある。
テーブル「ari_gs_hash」のエントリが、0と224との間にテーブルインデックス値iに関してテーブルインデックスiの昇順にリストされる点に留意する必要がある。用語「0x」は、テーブルエントリが16進数で表されることを示す。したがって、第1のテーブルエントリ「0X00000401」は、テーブルインデックス0を有するテーブルエントリ「ari_gs_hash[0]」に対応して、最後のテーブルエントリ「0Xffffff3f」は、テーブルインデックス224を有するテーブルエントリ「ari_gs_hash[224]」に対応する。
また、テーブルエントリが関数「get_pk」の第2のテーブル評価544のために適するように、テーブルエントリは、数値的に昇順に順序付けられることは留意すべきである。テーブル「ari_gs_hash」のテーブルエントリの24の最上位ビットは、状態値の範囲間の境界を示し、エントリの8個の最下位ビットは、24個の最上位ビットによって定義された状態値の範囲と関連したマッピングルールインデックス値「pki」を示す。
7.3 図19のテーブル「ari_cf_m」
図19は、64の累積度数分布表「ari_cf_m[pki][9]」のセットを示し、その一つは、例えば、関数「arith_decode」の実行のために、すなわち最上位ビットプレーン値の復号のために、オーディオ符号器100、700またはオーディオ復号器200、800によって、選択される。図19に示された64の累積度数分布表のうちの選択された一つは、関数「arith_decode()」の実行において、テーブル「cum_freq[]」の関数をとる。
図19から分かるように、各ラインは、9つのエントリを有する累積度数分布表を示す。例えば、第1のライン1910は、「pki=0」のための累積度数分布表の9つのエントリを示す。第2のライン1912は、「pki=1」のための累積度数分布表の9つのエントリを示す。最後に、第64番目のライン1964は、「pki=63」のための累積度数分布表の9つのエントリを示す。このように、図19は、「pki=0」から「pki=63」までの64の異なる累積度数分布表を事実上示す。ここで、64の累積度数分布表の各々は、1つのラインで示されて、前記累積度数分布表の各々は、9つのエントリを含む。
ライン(例えばライン1910またはライン1912またはライン1964)の中で、最も左の値は、累積度数分布表の第1のエントリを示し、最も右の値は、累積度数分布表の最後のエントリを示す。
したがって、図19のテーブル表現の各ライン1910、1912、1964は、図5gの関数「arith_decode」による使用のための累積度数分布表のエントリを示す。関数「arith_decode」の入力変数「cum_freq[]」は、テーブル「ari_cf_m」の(9つのエントリの個々のラインによって示される)64の累積度数分布表のうちのどれが現在のスペクトル係数の復号化に使用されるべきかについて示す。
7.4 図20のテーブル「ari_s_hash」
図20は、図5eまたは図5fの他の関数「arith_get_pk()」または「get_pk()」と組み合せて使用されうるテーブル「ari_s_hash」に代わるものを示す。
図20のテーブル「ari_s_hash」は、テーブルインデックスの昇順に図20にリストされる386のエントリを含む。このように、第1のテーブル値「0x0090D52E」は、テーブルインデックス0を有するテーブルエントリ「ari_s_hash[0]」に対応し、最後のテーブルエントリ「0x03D0513C」は、テーブルインデックス386を有するテーブルエントリ「ari_s_hash[386]」に対応する。
「0x」は、テーブルエントリが16進の形で示されることを示す。テーブル「ari_s_hash」のエントリの24の最上位ビットは、有意な状態を示して、テーブル「ari_s_hash」のエントリの8つの最下位ビットは、マッピングルールインデックス値を示す。
したがって、テーブル「ari_s_hash」のエントリは、マッピングルールインデックス値「pki」への有意な状態のマッピングを示す。
8. 性能評価および効果
本発明による実施形態は、計算量、所要メモリ量および符号化効率の間の改善されたトレードオフを得るために、上記のように、更新された関数(またはアルゴリズム)およびテーブルの更新されたセットを使用する。
一般的に言って、本発明による実施形態は、改良型のスペクトルノイズレス符号化を生み出す。
本説明は、スペクトル係数の改良型のスペクトルノイズレス符号化上のCEのための実施形態を説明する。提案された方式は、有意に所要メモリ量(RAM、ROM)を削減するが、その一方で、ノイズレス符号化性能を維持するUSACドラフト標準の作業原案4にて説明されるように、「オリジナルの」コンテキストベースの算術符号化方式に基づく。WD3(すなわち、USACドラフト標準の作業原案3に従うビットストリームに供給しているオーディオ符号器の出力の中で)の無損失性トランスコーディングは、可能であることを証明された。本願明細書において説明された方式は、一般に、スケーラブルあり、必要メモリ量と符号化性能との間のさらなる別のトレードオフを可能にする。本発明による実施形態は、USACドラフト標準の作業原案4において用いられているように、スペクトルノイズレス符号化方式と代わることを目指す。
本願明細書において説明された算術符号化方式は、参照モデル0(RM0)のような方式またはUSACドラフト標準の作業原案4(WD4)に基づく。周波数において、または、時間において先のスペクトル係数は、コンテキストをモデル化する。このコンテキストは、算術符号器(符号器または復号器)のための累積度数分布表の選択のために使用される。WD4による実施形態と比較して、コンテキストのモデル化は、更に改良され、そして、シンボル確率を保持しているテーブルは再調節された。異なる確率モデルの数は、32から64に増やされた。
本発明による実施形態は、長さ32ビットの900ワードまたは3600バイトに、テーブルサイズ(データROM要求)を削減する。対照的に、USACドラフト標準のWD4による実施形態は、16894.5ワードまたは76578バイトを必要とする。本発明のいくつか実施形態では、コアコーダチャネルごとに666ワード(2664バイト)から72(288バイト)まで、スタティックRAM要求は、削減される。同時に、それは、符号化性能を十分に保って、全9つの動作点の上の全体のデータ転送速度と比較して、およそ1.04%〜1.39%の利得に達することさえできる。作業原案3(WD3)ビットストリームの全ては、ビットリザーバ拘束条件に影響を及ぼすことなく、無損失性方法で変換されうる。
本発明の実施形態による提案された方式は、スケーラブルであり、メモリ量要求および符号化性能の間の柔軟なトレードオフが、可能である。テーブルサイズを増加することによって、符号化利得は、更に増加することができる。
以下に、USACドラフト標準のWD4による符号化構想に関する短い議論は、本願明細書において説明された構想の効果の理解を容易にするために提供される。USAC WD4において、コンテキストに基づく算術符号化方式は、量子化されたスペクトル係数のノイズレス符号化のために使用される。コンテキストとして、周波数および時間において先である復号されたスペクトル係数は、使用される。WD4によれば、最大数の16のスペクトル係数は、コンテキストとして使用され、そのうちの12は、時間において先である。両方とも、コンテキストのために使用され、復号されるスペクトル係数は、4個の要素の組(4−tuples)(すなわち、周波数において隣接した4つのスペクトル係数、図10a参照)として分類される。コンテキストは、削減されて、累積度数分布表にマップされる。そして、それは次に、スペクトル係数の次の組を復号するために使用される。
完全なWD4ノイズレス符号化方式のために、16894.5ワード(67578バイト)のメモリ要求(ROM)は、必要である。加えて、コアコーダチャネルごとのスタテッィックROMの666ワード(2664バイト)は、次のフレームのための状態を格納することを必要とする。
図11aのテーブル表現は、USAC WD4算術符号化方式において用いられているようなテーブルを示す。
全部のUSAC WD4復号器の合計メモリ要求は、プログラムコードのないデータROMのための37000ワード(148000バイト)およびスタティックRAMのための10000〜17000ワードであると推定される。ノイズレスコーダテーブルが合計データROM要求のおよそ45%を消費するということがはっきりと分かる。最大の個々のテーブルは、すでに4096ワード(16384バイト)を消費する。
すべてのテーブルの組み合わせおよび大きな個々のテーブルのサイズが、8〜32のkByte(例えばARM9e、TIC64xx、など)の典型的範囲にある低予算の携帯機器用の固定点チップによって供給されるような典型的キャッシュ容量を上回ることが分かっている。これは、テーブルのセットが、おそらく、データに速いランダムアクセスを可能にする高速データRAMに格納できないことを意味する。これは、全体の復号処理を低速にする。
以下に、提案された新しい方式について、簡潔に説明する。
前述の課題を解決するために、改良型のノイズレス符号化方式は、USACドラフト標準のWD4のような方式と取りかえるように提案される。コンテキストベースの算術符号化方式として、それは、USACドラフト標準のWD4の方式に基づくが、コンテキストから累積度数分布表の導出のために修正された方式を特徴とする。更に、コンテキスト導出およびシンボル符号化は、(USACドラフト標準のWD4のような4個の要素の組とは反対の)単一のスペクトル係数の粒度で実行した。全体で、7つのスペクトル係数は、(少なくともいくつかのケースにおいて)コンテキストのために使用される。マッピングの減少によって、合計64の確率モデルまたは累積度数分布表(WD4において:32)のうちの1つが選択される。
提案された方式において用いられているように、図10bは、状態計算のためのコンテキストの図示を示す。(ここで、ゼロ領域検出のために使用されたコンテキストは、図10bに示されない。)
以下に、提案された符号化方式を使用することにより達成されることができるメモリ要求の減少に関して短い考察が与えられる。提案された新しい方式は、900ワード(3600バイト)の合計ROM要求を呈する(提案された符号化方式において用いられているようなテーブルを示す図11bのテーブルを参照)。
USACドラフト標準のWD4のノイズレス符号化方式のROM要求と比較して、ROM要求は、15994.5ワード(64978バイト)削減される(提案されたようなノイズレス符号化方式の、そして、USACドラフト標準のWD4のノイズレス符号化方式のROM要求の図示を示す図12aを参照)。これは、およそ37000ワードからおよそ21000ワードまで、または43%以上を全部のUSAC復号器の全体のROM要求を削減する(現在の提案と同様に、USACドラフト標準のWD4の全部のUSAC復号器データROM要求の図示を示す図12bを参照)。
更に、次のフレーム(スタティックRAM)のコンテキスト導出のために必要とされる情報量も削減される。WD4によれば、一般的に、分解能10ビットの4個の要素の組ごとにグループインデックスに追加して、16ビットの分解能を有する係数(最大1152)の全体のセットは、格納されることを必要とした。そして、それをコアコーダチャンネルごとに666ワード(2664バイト)まで計上する(全部のUSAC WD4復号器:およそ10000〜17000ワード)。
本発明による実施形態において使用される新しい方式は、スペクトル係数ごとに持続的情報をわずか2ビットに下げる。そして、それをコアコーダごとに合計の72ワード(288バイト)まで計上する。スタティックメモリの要求は、594ワード(2376バイト)によって削減されることができる。
以下に、符号化効率の可能な増加に関するいくつかの詳細について説明する。新しい提案による実施形態の符号化効率は、USACドラフト標準のWD3による参照品質のビットストリームに対して比較された。その比較は、参照ソフトウェア復号器に基づいて、トランスコーダによって実行された。USACドラフト標準のWD3および提案された符号化方式によるノイズレス符号化の比較に関する詳細に関して、試験装置の略図を示す図9が参照される。
USACドラフト標準のWD3またはWD4実施形態と比較すると、メモリ要求は、本発明による実施形態において大幅に削減されるにもかかわらず、符号化効率は維持されるだけでなく、わずかに増加もする。符号化効率は、1.04%〜1.39%だけ平均して増加する。詳細については、本発明の一実施形態による作業原案算術符号器およびオーディオコーダ(例えばUSACオーディオコーダ)を使用してUSACコーダによって生成された平均ビットレートのテーブル表現を示す図13aのテーブルが参照される。
ビットリザーバ充填量レベルの測定によって、提案されたノイズレス符号化が全ての動作点に関してWD3ビットストリームを無損失性で変換することが可能であることが示された。詳細については、本発明の一実施例によるUSAC WD3およびオーディオコーダによるとオーディオコーダのためのビットリザーバ制御のテーブル表現を示す図13bのテーブルが参照される。
作動モードごとの平均ビットレートに関する詳細は、フレーム基準の最小、最大および平均ビットレート、およびフレーム基準のベスト/ワーストケースの性能は、図14、図15および図16のテーブルにおいて見ることができる。ここで、図14のテーブルは、USAC WD3によるオーディオコーダのための、そして、本発明の一実施例によるオーディオコーダのための平均ビットレートのテーブル表現を示し、図15のテーブルは、フレーム基準のUSACオーディオコーダの最小、最大、および、平均ビットレートのテーブル表現を示し、図16のテーブルは、フレーム基準のベストおよびワーストケースのテーブル表現を示す。
加えて、本発明による実施形態が、より良いスケーラビリティを提供する点に留意する必要がある。テーブルサイズを適応させることによって、所要メモリ量、計算量および符号化効率の間のトレードオフは、要求事項に従って調整できる。
9. ビットストリームシンタックス
9.1. スペクトルノイズレスコーダのペイロード
以下に、スペクトルノイズレスコーダのペイロードに関するいくつかの詳細について説明する。いくつかの実施形態において、例えばいわゆる線形予測領域、「符号化モード」および「周波数領域」符号化モードのような複数の異なる符号化モードがある。線形予測領域符号化モードにおいて、ノイズシェーピングは、オーディオ信号の線形予測分析に基づいて実行され、そして、ノイズシェーピングされた信号は、周波数領域に符号化される。周波数領域モードにおいて、ノイズシェーピングは、音響心理学的な分析に基づいて実行されて、オーディオコンテンツのノイズシェーピングされたバージョンは周波数領域において符号化される。
「線形予測領域」符号化信号および「周波数領域」符号化信号両方ともからのスペクトル係数は、スカラー量子化されて、それから最適にコンテキスト依存する算術符号化によってノイズレス符号化される。量子化係数は、最低周波数から最高周波数まで送られる。個々の量子化された係数は、最上位2ビット単位のプレーンmおよび残りの下位ビットプレーンrに分割される。値mは、係数の相隣関係に従って符号化される。コンテキストを考慮せずに、残りの下位ビットプレーンrは、エントロピー符号化される。値mおよびrは、算術符号器のシンボルを形成する。
詳細な算術復号化処理は、本願明細書において説明される。
9.2. シンタックス要素
以下に、算術符号化されたスペクトル情報を運んでいるビットストリームのビットストリームシンタックスは、図6a〜図6hを参照して説明される。
図6aは、いわゆるUSAC生データブロック(「usac_raw_data_block()」)のシンタックス表現を示す。
USAC生データブロックは、1またはそれ以上の単一チャンネル要素(「single_channel_element()」)、および/または、1またはそれ以上のチャンネルペア要素(「channel_pair_element()」)を含む。
ここで図6bを参照して、単一のチャンネル要素のシンタックスについて説明する。単一チャンネル要素は、線形予測領域チャンネルストリーム(「lpd_channel_stream()」)またはコアモードに依存した周波数領域チャンネルストリーム(「fd_channel_stream()」)を含む。
図6cは、チャンネルペア要素のシンタックス表現を示す。チャンネルペア要素は、コアモード情報(「core_mode0」、「core_mode1」)を含む。加えて、チャンネルペア要素は、コンフィギュレーション情報「ics_info()」を含みうる。加えて、コアモード情報に応じて、チャンネルペア要素は、第1のチャンネルと関連した線形予測領域チャンネルストリームまたは周波数領域チャンネルストリームを含み、チャンネルペア要素はまた、第2のチャンネルと関連した線形予測領域チャンネルストリームまたは周波数領域チャンネルストリームを含む。
そのシンタックス表現が図6dに示されるコンフィギュレーション情報「ics_info()」は、本発明に特に関連していない複数の異なるコンフィギュレーション情報項目を含む。
そのシンタックス表現が図6eに示される周波数領域チャンネルストリーム(「fd_channel_stream()」)は、利得情報(「global_gain」)およびコンフィギュレーション情報(「ics_info()」)を含む。加えて、周波数領域チャンネルストリームは、異なるスケールファクターバンドのスペクトル値のスケーリングのために使用されたスケールファクターを示し、そして、例えば、スケーラ150およびリスケーラ240によって適用されるスケールファクターデータ(「scale_factor_data()」)を含む。周波数領域チャンネルストリームはまた、算術符号化されたスペクトル値を示す算術符号化スペクトルデータ(「ac_spectral_data()」)を含む。
それのシンタックス表現が図6fに示される算術符号化スペクトルデータ(「ac_spectral_data()」)は、上記のように、選択的にコンテキストをリセットするために使用される任意の算術リセットフラグ(「arith_reset_flag」)を含む。加えて、算術符号化されたスペクトルデータは、算術符号化されたスペクトル値を運ぶ複数のアルゴリズムデータブロック(「arith_data」)を含む。算術符号化されたデータブロックの構造は、(変数「num_bands」によって示される)周波数バンドに、そして、更には、算術リセットフラグの状態に依存し、そのことは以下に述べられる。
算術符号化されたデータブロックの構造は、前記算術符号化されたデータブロックのシンタックス表現を示す図6gを参照して説明される。算術符号化されたデータブロック内のデータ表現は、符号化されるスペクトル値の数lg、算術リセットフラグの状態、および、更にはコンテキスト、すなわち前に符号化されたスペクトル値に依存する。
スペクトル値の現在のセットの符号化のためのコンテキストは、参照番号660で示されたコンテキスト決定アルゴリズムによって決定される。コンテキスト決定アルゴリズムに関する詳細については、図5aを参照にして、上述された。算術符号化されたデータブロックは、コードワードのlgセットを含む。そして、コードワードの各セットがスペクトル値を示す。コードワードのセットは、1と20ビットの間を用いたスペクトル値の最上位ビットプレーン値mを表している算術コードワード「acod_m[pki][m]」を含む。加えて、スペクトル値が正しい表現のために最上位ビットプレーンより多くのビットプレーンを必要とする場合、コードワードのセットは、1またはそれ以上のコードワード「acod_r[r]」を含む。コードワード「acod_r[r]」は、1〜20ビットを用いて下位ビットプレーンを示す。
しかし、1またはそれ以上の下位ビットプレーンが、スペクトル値の適当な表現のために、(最上位ビットプレーンに加えて)必要である場合、これは、1またはそれ以上のアルゴリズムエスケープコードワード(「ARITH_ESCAPE」)によって信号を伝えられる。このように、一般的に、スペクトル値に関して、いくつのビットプレーン(最上位ビットプレーン、および、おそらく、1またはそれ以上の付加的な下位ビットプレーン)が必要とされるかが決定されると言うことができる。1またはそれ以上の下位ビットプレーンが必要である場合、これは、それの累積度数分布表インデックスは変数pkiによって与えられる現在選択された累積度数分布表によって符号化される1またはそれ以上のアルゴリズムエスケープコードワード「acod_m[pki][ARITH_ESCAPE]」によって信号を送られる。加えて、1またはそれ以上のアルゴリズムエスケープコードワードがビットストリームに含まれる場合、符号664、662から分かるように、コンテキストは適用される。1またはそれ以上のアルゴリズムエスケープコードワードの後に、参照番号663に示すように、算術コードワード「acod_m[pki][m]」は、ビットストリームに含まれる。ここで、pkiは、(アルゴリズムエスケープコードワードの包含によって生じたコンテキスト適合を考慮に入れて)現在有効な確率モデルインデックスを示し、mは、符号化されるまたは復号されるスペクトル値の最上位ビットプレーン値を示す。
上記のように、下位ビットプレーンの存在は、1またはそれ以上のコードワード「acod_r[r]」の存在をもたらし、その各々は、最下位ビットプレーンの1ビットを示す。1またはそれ以上のコードワード「acod_r[r]」は、定数であって、かつ、コンテキスト依存している対応する累積度数分布表によって符号化される。
加えて、参照番号668に示すように、コンテキストが一般的に2つの続くスペクトル値の符号化のために異なるように、コンテキストは、各スペクトル値の符号化の後、更新される点に留意する必要がある。
図6hは、算術符号化されたデータブロックのシンタックスを定めている定義およびヘルプ要素のキャプションを示す。
上記を要約すると、オーディオコーダ100によって供給されうる、そして、オーディオ復号器200によって評価されうるビットストリームフォーマットが説明された。算術符号化されたスペクトル値のビットストリームは、上述の復号化アルゴリズムと適合するように、符号化される。
加えて、符号器が、復号器によって実行されたテーブル検索とほぼ逆である上述のテーブルを使用して、テーブル検索を実行すると通常みなすことができるように、符号化は、通常、復号化の逆演算である点に留意される必要がある。通常、復号化アルゴリズムおよび/または所望のビットストリームシンタックスを知っている当業者は、ビットストリームシンタックスで定められ、算術復号器によって必要とされたデータを供給する算術符号器を容易に設計することができると言うことができる。
10. 実施変形例
いくつかの態様が装置に関連して説明されたにもかかわらず、これらの態様はまた、対応する方法の記述も示すことが明らかである。ここで、ブロックまたはデバイスは、方法ステップまたは方法ステップの機能に対応する。類似して、方法ステップに関連して説明された態様はまた、対応するブロックまたは項目の記述または対応する装置の機能を示す。方法ステップの一部または全ては、例えばマイクロプロセッサ、プログラミング可能なコンピュータまたは電子回路のようなハードウェア装置によって(またはそれを使用して)実行されうる。いくつかの実施形態では、ある1つまたはそれ以上最も重要な方法ステップは、この種の装置によって実行されうる。
本発明の符号化されたオーディオ信号は、デジタル記憶媒体に格納できる、または、例えば無線伝送媒体またはインターネットなどの有線伝送媒体伝送媒体で送信できる。
特定の実現要求に応じて、本発明の実施形態は、ハードウェアにおいて、または、ソフトウェアにおいて実行できる。その実施は、各方法が実行されるように、プログラミング可能な計算機システムと協動する(または協動することができる)その上に格納される電子的に読み込み可能な制御信号を有するデジタル記憶媒体、例えばフロッピー(登録商標)ディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを使用して実行できる。従って、デジタル記憶媒体は、計算機可読でありえる。
本発明によるいくつかの実施形態は、本願明細書において説明された方法のうちの1つが実行されるように、プログラミング可能な計算機システムと協動することができる電子的に読み込み可能な制御信号を有するデータキャリアを含む。
通常、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実施でき、そして、そのコンピュータプログラム製品がコンピュータ上で動作するときに、そのプログラムコードはその方法のうちの1つを実行する働きをする。プログラムコードは、例えば、機械読み取り可読キャリアに格納されうる。
他の実施形態は、機械読み取り可読なキャリアに格納され、本願明細書において説明された方法のうちの1つを実行するためのコンピュータプログラムを含む。
換言すれば、本発明の方法の実施形態は、コンピュータプログラムがコンピュータ上で動作するときに、本願明細書において説明された方法のうちの1つを実行するためのプログラムコードを有するコンピュータプログラムである。
従って、本発明の方法の更なる実施形態は、その上に記録されて、本願明細書において説明された方法のうちの1つを実行するためのコンピュータプログラムを含んでいるデータキャリア(またはデジタル記憶媒体またはコンピュータ可読媒体)である。
従って、本発明の方法の更なる実施形態は、本願明細書において説明された方法のうちの1つを実行するためのコンピュータプログラムを示しているデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成されうる。
更なる実施形態は、本願明細書において説明された方法のうちの1つを実行するように構成された、または適合された処理手段、例えばコンピュータまたはプログラム可能な論理回路を含む。
更なる実施形態は、本願明細書において説明された方法のうちの1つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
いくつかの実施形態では、プログラム可能な論理回路(例えば論理プログラミング可能デバイス)は、本願明細書において説明された方法の機能の一部または全てを実行するために使用されうる。いくつかの実施形態では、論理プログラミング可能デバイスは、本願明細書において説明された方法のうちの1つを実行するために、マイクロプロセッサと協動しうる。通常、好ましくは、それらの方法は、いかなるハードウェア装置によっても実行される。
上述の実施形態は、本発明の原理のために、単に図示しているだけである。本装置の修正変更および本願明細書において説明された詳細が他の当業者にとって明らかであるものと理解される。従って、特許クレームの範囲のみによって限定されて、本願明細書における実施形態の記述および説明として示された具体的な詳細によっては限定されないという意図である。
前述が特に上記特定の実施形態に関して示され、説明された一方で、形式および詳細におけるさまざまな他の変更がその趣旨および範囲から逸脱することなく、なされうることは当業者によってよく理解されている。さまざまな変更が、本願明細書において開示され、続く請求項によって理解されたより広い構想から逸脱することなく、様々な実施形態に適応する際になされうることが理解される。
11. 結論
結論を言えば、本発明による実施形態が改良されたスペクトルノイズレス符号化方式を生み出す点に留意されることができる。新しい提案による実施形態は、16894.5ワードから900ワード(ROM)まで、そして、666ワードから72(コアコーダチャンネルごとのスタティックRAM)まで、メモリ要求の有意な削減を可能にする。これは、一実施形態において、およそ43%分の全部のシステムのデータROM要求の削減を可能にする。同時に、符号化性能は、完全には維持されるだけでなく、平均して増加されさえする。WD3(またはUSACドラフト標準のWD3によって供給されたビットストリーム)の無損失性トランスコーディングが可能であることは証明された。したがって、本発明による実施形態は、USACドラフト標準の来るべき作業原案に本願明細書において説明されたノイズレス復号化を適用することによって得られる。
要約すると、提案された新しいノイズレス符号化は、図6gに示されたようなビットストリーム要素のシンタックス「arith_data()」に関して、上記および図5hに示すようなスペクトルノイズレス符号器のペイロードに関して、上記のようなスペクトルノイズレス符号化に関して、図4に示されたような状態計算のためのコンテキストに関して、図5iに示したような定義に関して、図5a、5b、5c、5e、5g、5hを参照に上述したような復号処理に関して、そして、図17、18、20で示したようなテーブルに関して、そして、図5dで示したような関数「get_pk」に関して、MPEG USAC作業原案における修正を生じる。しかし、代わりに、図20によるテーブル「ari_s_hash」は、図17のテーブル「ari_s_hash」の代わりに使用されることができ、図5fの関数「get_pk」は、図5dによって関数「get_pk」の代わりに使用されることができる。

Claims (18)

  1. 符号化されたオーディオ情報(210;810)に基づいて、復号されたオーディオ情報(212;812)を供給するためのオーディオ復号器(200;800)であって、前記オーディオ復号器は、
    スペクトル値の算術符号化された表現(222;821)に基づいて、複数の復号されたスペクトル値(232;822)を供給するための算術復号器(230;820)と、
    前記復号されたオーディオ情報(212;812)を得るために、前記復号されたスペクトル値(232;822)を使用して、時間領域オーディオ表現(262;812)を供給するための周波数領域時間領域変換器(260;830)とを含み、
    前記算術復号器(230;820)は、コンテキスト状態(s)に依存して、シンボルコード(symbol)へのコード値(value)のマッピングを示しているマッピングルール(297;cum_freq[])を選択するように構成されること、および、
    前記算術復号器(230;820)は、複数の前に復号されたスペクトル値に依存して、前記現在のコンテキスト状態(s)を決定するように構成されること、
    前記算術復号器は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に復号されたスペクトル値のグループを検出して、前記検出の結果に依存して、前記現在のコンテキスト状態(s)を決定するまたは修正するように構成されること、
    前記算術復号器は、個々に、または、まとまって、それらのマグニチュードに関して前記所定の条件を満たす複数のスペクトル値のグループを検出するために、第1の時間周波数領域の前に復号されたスペクトル値を評価するように構成されること、および、
    前記算術復号器は、前記第1の時間周波数領域とは異なる第2の時間周波数領域の前に復号されたスペクトル値に依存して、前記所定の条件が満たされていない場合、前記コンテキスト状態(s)を示している数値を得るように構成されることを特徴とするオーディオ復号器。
  2. 前記算術復号器は、前記所定の条件が満たされていることの前記検出に応答して、前記前に復号されたスペクトル値から独立して、前記現在のコンテキスト状態(s)を決定するまたは修正するように構成されることを特徴とする請求項1に記載のオーディオ復号器(200;800)。
  3. 前記算術復号器は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に復号された隣接したスペクトル値のグループを検出するように構成されることを特徴とする請求項1または請求項2に記載のオーディオ復号器(200;800)。
  4. 前記算術復号器(230)は、個々に、または、まとまって、所定の閾値マグニチュードより小さいマグニチュードを含む複数の前に復号された隣接したスペクトル値のグループを検出して、前記検出の結果に依存して前記現在のコンテキスト状態(s)を決定するまたは修正するように構成されることを特徴とする請求項1〜請求項3のいずれか一項に記載のオーディオ復号器。
  5. 前記算術復号器は、前に復号されたスペクトル値の各々が0値である、複数の前記前に復号された隣接したスペクトル値のグループを検出して、前記検出の結果に依存して、前記コンテキスト状態(s)を決定するまたは修正するように構成されることを特徴とする請求項1〜請求項4のいずれか一項に記載のオーディオ復号器。
  6. 前記算術復号器は、所定の閾値より小さい合計値を含む複数の前に復号された隣接したスペクトル値のグループを検出して、前記検出の結果に依存して、前記現在の状態(s)を決定するまたは修正するように構成されることを特徴とする請求項1〜請求項4のいずれか一項に記載のオーディオ復号器。
  7. 前記算術復号器は、複数の前に復号された隣接したスペクトル値のグループが、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たすことの前記検出に応答して、前記現在のコンテキスト状態(s)を所定の値にセットするように構成されることを特徴とする請求項1〜請求項6のいずれか一項に記載のオーディオ復号器。
  8. 前記算術復号器(230)は、複数の前に復号された隣接したスペクトル値のグループが、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たすことの前記検出に応答して、複数の前に復号されたスペクトル値の数値に依存して、前記コンテキスト状態(s)の計算を選択的に省略するように構成されることを特徴とする請求項7に記載のオーディオ復号器。
  9. 前記算術復号器は、前記検出に応答して、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に復号された隣接したスペクトル値のグループの前記検出を信号で伝える値の範囲内にあるように、前記現在のコンテキスト状態(s)をセットするように構成されることを特徴とする請求項1〜請求項6のいずれか一項に記載のオーディオ復号器。
  10. 前記算術復号器は、復号されたスペクトル値(a)にシンボルコード(symbol;m)をマップするように構成されることを特徴とする請求項1〜請求項9のいずれか一項に記載のオーディオ復号器。
  11. 前記算術復号器は、前記コンテキスト状態(s)に依存して、マッピングルール(ari_cf_m[pki][9])を選択するために、1つまたはそれ以上のハッシュテーブル(ari_s_hash、ari_gs_hash)を評価するように構成されることを特徴とする請求項1〜請求項10のいずれか一項に記載のオーディオ復号器。
  12. 入力されたオーディオ情報(110;710)に基づいて、符号化されたオーディオ情報(112;712)を供給するためのオーディオ符号器(100;700)であって、前記オーディオ符号器は、
    周波数領域オーディオ表現(132;722)が、スペクトル値のセットを含むように、前記入力されたオーディオ情報の時間領域表現(110;710)に基づいて、前記周波数領域オーディオ表現(132;722)を供給するためのエネルギー圧縮時間領域周波数領域変換器(130;720)と、
    可変長コードワード(acod_m、acod_r)を使用して、スペクトル値(a)またはその前処理されたバージョンを符号化するように構成された算術符号器(170;730)であって、前記算術符号器(170)は、コード値(acod_m)に、スペクトル値(a)を、または、スペクトル値(a)の最上位ビットプレーンの値(m)をマップするように構成されることを特徴とする前記算術符号器とを含み、
    前記算術符号器は、コンテキスト状態(s)に依存して、コード値への、スペクトル値の、または、スペクトル値の最上位ビットプレーンのマッピングを示しているマッピングルールを選択するように構成されること、および、
    前記算術符号器は、複数の前に符号化されたスペクトル値に依存して、前記現在のコンテキスト状態(s)を決定するように構成されること、
    前記算術符号器は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に符号化されたスペクトル値のグループを検出して、前記検出の結果に依存して、前記現在のコンテキスト状態(s)を決定するまたは修正するように構成されること、
    前記算術符号器は、個々に、または、まとまって、それらのマグニチュードに関して前記所定の条件を満たす複数のスペクトル値のグループを検出するために、第1の時間周波数領域の前に符号化されたスペクトル値を評価するように構成されること、および、
    前記算術符号器は、前記第1の時間周波数領域とは異なる第2の時間周波数領域の前に 符号化されたスペクトル値に依存して、前記所定の条件が満たされていない場合、前記コンテキスト状態(s)を示している数値を得るように構成されることを特徴とするオーディオ符号器。
  13. 前記算術符号器は、前記所定の条件が満たされていることの前記検出に応答して、前記前に符号化されたスペクトル値から独立して、前記現在のコンテキスト状態(s)を決定するまたは修正するように構成されることを特徴とする請求項12に記載のオーディオ符号器(100;700)。
  14. 前記算術符号器は、個々に、または、まとまって、それらのマグニチュードに関して所定の条件を満たす複数の前に符号化された隣接したスペクトル値のグループを検出するように構成されることを特徴とする請求項12または請求項13に記載のオーディオ符号器(100;700)。
  15. 符号化されたオーディオ情報に基づいて、復号されたオーディオ情報を供給するための方法であって、前記方法は、
    スペクトル値の算術符号化された表現に基づいて、複数の復号されたスペクトル値を供給するステップ、および、
    前記復号されたオーディオ情報を得るために、前記復号されたスペクトル値を使用して、時間領域オーディオ表現を供給するステップを含み、
    前記複数の復号されたスペクトル値を供給するステップは、コンテキスト状態に依存して、復号された形で、スペクトル値、またはスペクトル値の最上位ビットプレーンを示しているシンボルコード(symbol)への、符号化された形で、スペクトル値、またはスペクトル値の最上位ビットプレーンを示しているコード値(acod_m;value)のマッピングを示しているマッピングルールを選択するステップを含むこと、および、
    前記現在のコンテキスト状態は、複数の前に復号されたスペクトル値に依存して決定されること、
    個々に、または、まとまって、それらのマグニチュードに関する所定の条件を満たす複数の前に復号されたスペクトル値のグループが検出されること、および、前記現在のコンテキスト状態が、前記検出の結果に依存して、決定されるまたは修正されること、
    第1の時間周波数領域の前に復号されたスペクトル値は、個々に、または、まとまって、それらのマグニチュードに関して前記所定の条件を満たす複数のスペクトル値のグループを検出するために、評価されること、および、
    前記コンテキスト状態(s)を示している前記数値は、前記所定の条件が満たされていない場合、前記第1の時間周波数領域とは異なる第2の時間周波数領域の前に復号されたスペクトル値に依存して、得られることを特徴とする方法。
  16. 入力されたオーディオ情報に基づいて、符号化されたオーディオ情報を供給するための方法であって、前記方法は、
    周波数領域オーディオ表現がスペクトル値のセットを含むように、エネルギー圧縮時間領域周波数領域変換を使用して、前記入力されたオーディオ情報の時間領域表現に基づいて、前記周波数領域オーディオ表現を供給するステップ、および、
    可変長コードワードを使用して、スペクトル値、または、その前処理されたバージョンを算術符号化するステップであって、スペクトル値、またはスペクトル値の最上位ビットプレーンの値は、コード値にマップされることを特徴とするステップを含み、
    コード値への、スペクトル値の、または、スペクトル値の最上位ビットプレーンのマッピングを示しているマッピングルールは、コンテキスト状態に依存して、選択されること、および、
    現在のコンテキスト状態は、複数の前に符号化された隣接したスペクトル値に依存して決定されること、
    個々に、または、合わせて、それらのマグニチュードに関する所定の条件を満たす複数の前に符号化されたスペクトル値のグループは、検出されて、前記現在のコンテキスト状態は、前記検出の結果に依存して、決定されるまたは修正されること、
    第1の時間周波数領域の前に符号化されたスペクトル値は、個々に、または、まとまって、それらのマグニチュードに関して前記所定の条件を満たす複数のスペクトル値のグループを検出するために、評価されること、および、
    前記コンテキスト状態(s)を示している前記数値は、前記所定の条件が満たされていない場合、前記第1の時間周波数領域とは異なる第2の時間周波数領域の前に符号化されたスペクトル値に依存して、得られることを特徴とする方法。
  17. プログラムがコンピュータ上で動作するときに、請求項15に記載の方法を実行するためのコンピュータプログラム。
  18. プログラムがコンピュータ上で動作するときに、請求項16に記載の方法を実行するた めのコンピュータプログラム。
JP2012534667A 2009-10-20 2010-10-19 前に復号されたスペクトル値のグループの検出を使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム Active JP5707410B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US25345909P 2009-10-20 2009-10-20
US61/253,459 2009-10-20
PCT/EP2010/065725 WO2011048098A1 (en) 2009-10-20 2010-10-19 Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values

Publications (2)

Publication Number Publication Date
JP2013508762A JP2013508762A (ja) 2013-03-07
JP5707410B2 true JP5707410B2 (ja) 2015-04-30

Family

ID=43259832

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2012534669A Active JP5589084B2 (ja) 2009-10-20 2010-10-19 反復的区間サイズ削減を使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム
JP2012534667A Active JP5707410B2 (ja) 2009-10-20 2010-10-19 前に復号されたスペクトル値のグループの検出を使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム
JP2012534668A Active JP5245014B2 (ja) 2009-10-20 2010-10-19 領域に依存した算術符号化マッピングルールを使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012534669A Active JP5589084B2 (ja) 2009-10-20 2010-10-19 反復的区間サイズ削減を使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012534668A Active JP5245014B2 (ja) 2009-10-20 2010-10-19 領域に依存した算術符号化マッピングルールを使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム

Country Status (19)

Country Link
US (6) US8706510B2 (ja)
EP (3) EP2491552B1 (ja)
JP (3) JP5589084B2 (ja)
KR (3) KR101419148B1 (ja)
CN (3) CN102667923B (ja)
AR (3) AR078705A1 (ja)
AU (1) AU2010309820B2 (ja)
BR (6) BR112012009445B1 (ja)
CA (4) CA2778325C (ja)
ES (3) ES2610163T3 (ja)
HK (2) HK1175289A1 (ja)
MX (3) MX2012004572A (ja)
MY (3) MY188408A (ja)
PL (3) PL2491552T3 (ja)
PT (1) PT2491553T (ja)
RU (3) RU2596596C2 (ja)
TW (3) TWI430262B (ja)
WO (3) WO2011048098A1 (ja)
ZA (3) ZA201203610B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2934052T3 (es) 2008-07-11 2023-02-16 Fraunhofer Ges Forschung Codificador de audio y decodificador de audio
EP2315358A1 (en) * 2009-10-09 2011-04-27 Thomson Licensing Method and device for arithmetic encoding or arithmetic decoding
BR112012009445B1 (pt) 2009-10-20 2023-02-14 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificador de áudio, decodificador de áudio, método para codificar uma informação de áudio, método para decodificar uma informação de áudio que utiliza uma detecção de um grupo de valores espectrais previamente decodificados
CN102859583B (zh) * 2010-01-12 2014-09-10 弗劳恩霍弗实用研究促进协会 利用对数值先前脉络值的数字表示之修改的音频编码器、音频解码器、编码音频信息的方法及解码音频信息的方法
AU2011287747B2 (en) * 2010-07-20 2015-02-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using an optimized hash table
CN110706715B (zh) 2012-03-29 2022-05-24 华为技术有限公司 信号编码和解码的方法和设备
LT2869563T (lt) 2012-07-02 2018-07-10 Samsung Electronics Co., Ltd. Vaizdo entropinio dekodavimo būdas
TWI557727B (zh) 2013-04-05 2016-11-11 杜比國際公司 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品
EP2830055A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Context-based entropy coding of sample values of a spectral envelope
WO2015037969A1 (ko) * 2013-09-16 2015-03-19 삼성전자 주식회사 신호 부호화방법 및 장치와 신호 복호화방법 및 장치
CN110867190B (zh) * 2013-09-16 2023-10-13 三星电子株式会社 信号编码方法和装置以及信号解码方法和装置
JP6763849B2 (ja) 2014-07-28 2020-09-30 サムスン エレクトロニクス カンパニー リミテッド スペクトル符号化方法
EP3799044B1 (en) * 2014-09-04 2023-12-20 Sony Group Corporation Transmission device, transmission method, reception device and reception method
TWI693595B (zh) * 2015-03-13 2020-05-11 瑞典商杜比國際公司 解碼具有增強頻譜帶複製元資料在至少一填充元素中的音訊位元流
TWI758146B (zh) * 2015-03-13 2022-03-11 瑞典商杜比國際公司 解碼具有增強頻譜帶複製元資料在至少一填充元素中的音訊位元流
WO2017050398A1 (en) * 2015-09-25 2017-03-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for signal-adaptive switching of the overlap ratio in audio transform coding
US10812550B1 (en) * 2016-08-03 2020-10-20 Amazon Technologies, Inc. Bitrate allocation for a multichannel media stream
ES2953832T3 (es) 2017-01-10 2023-11-16 Fraunhofer Ges Forschung Decodificador de audio, codificador de audio, método para proporcionar una señal de audio decodificada, método para proporcionar una señal de audio codificada, flujo de audio, proveedor de flujos de audio y programa informático que utiliza un identificador de flujo
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
EP3483884A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
EP3483880A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
WO2019091573A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
EP3483878A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
KR20200000649A (ko) 2018-06-25 2020-01-03 네이버 주식회사 오디오 병렬 트랜스코딩을 위한 방법 및 시스템
TWI672911B (zh) * 2019-03-06 2019-09-21 瑞昱半導體股份有限公司 解碼方法及相關電路
CN111757168B (zh) * 2019-03-29 2022-08-19 腾讯科技(深圳)有限公司 音频解码方法、装置、存储介质及设备
US11024322B2 (en) * 2019-05-31 2021-06-01 Verizon Patent And Licensing Inc. Methods and systems for encoding frequency-domain data

Family Cites Families (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222189A (en) 1989-01-27 1993-06-22 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
US5388181A (en) * 1990-05-29 1995-02-07 Anderson; David J. Digital audio compression system
US5835792A (en) 1993-06-24 1998-11-10 Discovision Associates Token-based adaptive video processing arrangement
US5659659A (en) 1993-07-26 1997-08-19 Alaris, Inc. Speech compressor using trellis encoding and linear prediction
CN1126264C (zh) * 1996-02-08 2003-10-29 松下电器产业株式会社 宽频带声音信号编码装置和宽频带声音信号编码解码装置
JP3305190B2 (ja) * 1996-03-11 2002-07-22 富士通株式会社 データ圧縮装置及びデータ復元装置
US6269338B1 (en) 1996-10-10 2001-07-31 U.S. Philips Corporation Data compression and expansion of an audio signal
JP3367370B2 (ja) 1997-03-14 2003-01-14 三菱電機株式会社 適応符号化方法
DE19730130C2 (de) 1997-07-14 2002-02-28 Fraunhofer Ges Forschung Verfahren zum Codieren eines Audiosignals
JPH11225078A (ja) * 1997-09-29 1999-08-17 Canon Inf Syst Res Australia Pty Ltd データ圧縮方法及び装置
RU2214047C2 (ru) * 1997-11-19 2003-10-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для масштабируемого кодирования/декодирования аудиосигналов
KR100335609B1 (ko) * 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
KR100335611B1 (ko) * 1997-11-20 2002-10-09 삼성전자 주식회사 비트율 조절이 가능한 스테레오 오디오 부호화/복호화 방법 및 장치
US6029126A (en) 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
CA2246532A1 (en) 1998-09-04 2000-03-04 Northern Telecom Limited Perceptual audio coding
DE19840835C2 (de) 1998-09-07 2003-01-09 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Entropiecodieren von Informationswörtern und Vorrichtung und Verfahren zum Decodieren von Entropie-codierten Informationswörtern
JP4504572B2 (ja) 1999-01-13 2010-07-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 符号化された信号への補足データの組み込み
DE19910621C2 (de) * 1999-03-10 2001-01-25 Thomas Poetter Vorrichtung und Verfahren zum Verbergen von Informationen und Vorrichtung und Verfahren zum Extrahieren von Informationen
US6751641B1 (en) 1999-08-17 2004-06-15 Eric Swanson Time domain data converter with output frequency domain conversion
US6978236B1 (en) 1999-10-01 2005-12-20 Coding Technologies Ab Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
JP2001119302A (ja) 1999-10-15 2001-04-27 Canon Inc 符号化装置、復号装置、情報処理システム、情報処理方法、及び記憶媒体
US7260523B2 (en) 1999-12-21 2007-08-21 Texas Instruments Incorporated Sub-band speech coding system
US20020016161A1 (en) 2000-02-10 2002-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for compression of speech encoded parameters
US6677869B2 (en) 2001-02-22 2004-01-13 Panasonic Communications Co., Ltd. Arithmetic coding apparatus and image processing apparatus
US6538583B1 (en) * 2001-03-16 2003-03-25 Analog Devices, Inc. Method and apparatus for context modeling
EP1405303A1 (en) 2001-06-28 2004-04-07 Koninklijke Philips Electronics N.V. Wideband signal transmission system
US20030093451A1 (en) 2001-09-21 2003-05-15 International Business Machines Corporation Reversible arithmetic coding for quantum data compression
DE10204617B4 (de) * 2002-02-05 2005-02-03 Siemens Ag Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
JP2003255999A (ja) 2002-03-06 2003-09-10 Toshiba Corp 符号化デジタルオーディオ信号の変速再生装置
JP4090862B2 (ja) * 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
PT1467491E (pt) * 2002-05-02 2007-03-30 Fraunhofer Ges Forschung Codificação aritmética de coeficientes de transformação
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
GB2388502A (en) 2002-05-10 2003-11-12 Chris Dunn Compression of frequency domain audio signals
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
KR100462611B1 (ko) 2002-06-27 2004-12-20 삼성전자주식회사 하모닉 성분을 이용한 오디오 코딩방법 및 장치
US7555434B2 (en) * 2002-07-19 2009-06-30 Nec Corporation Audio decoding device, decoding method, and program
DE20321883U1 (de) * 2002-09-04 2012-01-20 Microsoft Corp. Computervorrichtung und -system zum Entropiedecodieren quantisierter Transformationskoeffizienten eines Blockes
US7328150B2 (en) 2002-09-04 2008-02-05 Microsoft Corporation Innovations in pure lossless audio compression
US7299190B2 (en) 2002-09-04 2007-11-20 Microsoft Corporation Quantization and inverse quantization for audio
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
AU2003272833A1 (en) * 2002-09-17 2004-04-08 Vladimir Ceperkovic Fast codec with high compression ratio and minimum required resources
FR2846179B1 (fr) 2002-10-21 2005-02-04 Medialive Embrouillage adaptatif et progressif de flux audio
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
AU2003208517A1 (en) 2003-03-11 2004-09-30 Nokia Corporation Switching between coding schemes
US6900748B2 (en) 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US7562145B2 (en) 2003-08-28 2009-07-14 International Business Machines Corporation Application instance level workload distribution affinities
JP2005130099A (ja) 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
JP2005184232A (ja) 2003-12-17 2005-07-07 Sony Corp 符号化装置、プログラム、およびデータ処理方法
JP4241417B2 (ja) * 2004-02-04 2009-03-18 日本ビクター株式会社 算術復号化装置、および算術復号化プログラム
DE102004007200B3 (de) * 2004-02-13 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierung
CA2457988A1 (en) 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
US7516064B2 (en) 2004-02-19 2009-04-07 Dolby Laboratories Licensing Corporation Adaptive hybrid transform for signal analysis and synthesis
KR20050087956A (ko) 2004-02-27 2005-09-01 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
US20090299756A1 (en) 2004-03-01 2009-12-03 Dolby Laboratories Licensing Corporation Ratio of speech to non-speech audio such as for elderly or hearing-impaired listeners
WO2005086139A1 (en) 2004-03-01 2005-09-15 Dolby Laboratories Licensing Corporation Multichannel audio coding
KR100561869B1 (ko) * 2004-03-10 2006-03-17 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
US7577844B2 (en) 2004-03-17 2009-08-18 Microsoft Corporation Systems and methods for encoding randomly distributed features in an object
CN100584023C (zh) * 2004-07-14 2010-01-20 新加坡科技研究局 用于基于上下文的信号编码和解码的方法和设备
KR100624432B1 (ko) * 2004-08-05 2006-09-19 삼성전자주식회사 내용 기반 적응적 이진 산술 복호화 방법 및 장치
US20060047704A1 (en) 2004-08-31 2006-03-02 Kumar Chitra Gopalakrishnan Method and system for providing information services relevant to visual imagery
RU2387024C2 (ru) 2004-11-05 2010-04-20 Панасоник Корпорэйшн Кодер, декодер, способ кодирования и способ декодирования
US7903824B2 (en) 2005-01-10 2011-03-08 Agere Systems Inc. Compact side information for parametric coding of spatial audio
KR100829558B1 (ko) * 2005-01-12 2008-05-14 삼성전자주식회사 스케일러블 오디오 데이터 산술 복호화 방법 및 장치와스케일러블 오디오 비트스트림 절단 방법
CA2590705A1 (en) 2005-01-14 2006-07-20 Sungkyunkwan University Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
WO2006107837A1 (en) 2005-04-01 2006-10-12 Qualcomm Incorporated Methods and apparatus for encoding and decoding an highband portion of a speech signal
KR100694098B1 (ko) 2005-04-04 2007-03-12 한국과학기술원 산술 복호 방법 및 그 장치
KR100703773B1 (ko) 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
US7196641B2 (en) 2005-04-26 2007-03-27 Gen Dow Huang System and method for audio data compression and decompression using discrete wavelet transform (DWT)
ATE433182T1 (de) 2005-07-14 2009-06-15 Koninkl Philips Electronics Nv Audiokodierung und audiodekodierung
US7546240B2 (en) 2005-07-15 2009-06-09 Microsoft Corporation Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition
KR100851970B1 (ko) * 2005-07-15 2008-08-12 삼성전자주식회사 오디오 신호의 중요주파수 성분 추출방법 및 장치와 이를이용한 저비트율 오디오 신호 부호화/복호화 방법 및 장치
US7539612B2 (en) 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
US20070036228A1 (en) 2005-08-12 2007-02-15 Via Technologies Inc. Method and apparatus for audio encoding and decoding
US20080221907A1 (en) 2005-09-14 2008-09-11 Lg Electronics, Inc. Method and Apparatus for Decoding an Audio Signal
EP1932361A1 (en) * 2005-10-03 2008-06-18 Nokia Corporation Adaptive variable length codes for independent variables
US20070094035A1 (en) 2005-10-21 2007-04-26 Nokia Corporation Audio coding
KR100803206B1 (ko) 2005-11-11 2008-02-14 삼성전자주식회사 오디오 지문 생성과 오디오 데이터 검색 장치 및 방법
EP1995974B1 (en) 2005-12-05 2015-05-20 Huawei Technologies Co., Ltd. Method for realizing arithmetic coding
CN101133649B (zh) * 2005-12-07 2010-08-25 索尼株式会社 编码装置、编码方法以及解码装置、解码方法
KR101237413B1 (ko) * 2005-12-07 2013-02-26 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법, 오디오 신호의부호화 및 복호화 장치
US7283073B2 (en) 2005-12-19 2007-10-16 Primax Electronics Ltd. System for speeding up the arithmetic coding processing and method thereof
WO2007080211A1 (en) 2006-01-09 2007-07-19 Nokia Corporation Decoding of binaural audio signals
WO2007080225A1 (en) 2006-01-09 2007-07-19 Nokia Corporation Decoding of binaural audio signals
US7983343B2 (en) * 2006-01-12 2011-07-19 Lsi Corporation Context adaptive binary arithmetic decoding for high definition video
US7831434B2 (en) 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
KR100774585B1 (ko) 2006-02-10 2007-11-09 삼성전자주식회사 변조 스펙트럼을 이용한 음악 정보 검색 방법 및 그 장치
US8027479B2 (en) 2006-06-02 2011-09-27 Coding Technologies Ab Binaural multi-channel decoder in the context of non-energy conserving upmix rules
US7948409B2 (en) 2006-06-05 2011-05-24 Mediatek Inc. Automatic power control system for optical disc drive and method thereof
US8306125B2 (en) * 2006-06-21 2012-11-06 Digital Video Systems, Inc. 2-bin parallel decoder for advanced video processing
EP1883067A1 (en) * 2006-07-24 2008-01-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream
US8706507B2 (en) 2006-08-15 2014-04-22 Dolby Laboratories Licensing Corporation Arbitrary shaping of temporal noise envelope without side-information utilizing unchanged quantization
US7554468B2 (en) 2006-08-25 2009-06-30 Sony Computer Entertainment Inc, Entropy decoding methods and apparatus using most probable and least probable signal cases
JP4785706B2 (ja) 2006-11-01 2011-10-05 キヤノン株式会社 復号装置及び復号方法
DE102007017254B4 (de) 2006-11-16 2009-06-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zum Kodieren und Dekodieren
US20080243518A1 (en) 2006-11-16 2008-10-02 Alexey Oraevsky System And Method For Compressing And Reconstructing Audio Files
KR100868763B1 (ko) 2006-12-04 2008-11-13 삼성전자주식회사 오디오 신호의 중요 주파수 성분 추출 방법 및 장치와 이를이용한 오디오 신호의 부호화/복호화 방법 및 장치
US7365659B1 (en) 2006-12-06 2008-04-29 Silicon Image Gmbh Method of context adaptive binary arithmetic coding and coding apparatus using the same
ES2474915T3 (es) 2006-12-13 2014-07-09 Panasonic Intellectual Property Corporation Of America Dispositivo de codificación, dispositivo de decodificación y métodos correspondientes
CN101231850B (zh) 2007-01-23 2012-02-29 华为技术有限公司 编解码方法及装置
KR101365989B1 (ko) 2007-03-08 2014-02-25 삼성전자주식회사 트리 구조를 기반으로 한 엔트로피 부호화 및 복호화 장치및 방법
US7498960B2 (en) * 2007-04-19 2009-03-03 Analog Devices, Inc. Programmable compute system for executing an H.264 binary decode symbol instruction
JP2008289125A (ja) 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
ES2452348T3 (es) 2007-04-26 2014-04-01 Dolby International Ab Aparato y procedimiento para sintetizar una señal de salida
US7813567B2 (en) * 2007-04-26 2010-10-12 Texas Instruments Incorporated Method of CABAC significance MAP decoding suitable for use on VLIW data processors
JP4748113B2 (ja) 2007-06-04 2011-08-17 ソニー株式会社 学習装置および学習方法、並びにプログラムおよび記録媒体
JP5291096B2 (ja) * 2007-06-08 2013-09-18 エルジー エレクトロニクス インコーポレイティド オーディオ信号処理方法及び装置
CN101743586B (zh) 2007-06-11 2012-10-17 弗劳恩霍夫应用研究促进协会 音频编码器、编码方法、解码器、解码方法
US8521540B2 (en) 2007-08-17 2013-08-27 Qualcomm Incorporated Encoding and/or decoding digital signals using a permutation value
US20110116542A1 (en) * 2007-08-24 2011-05-19 France Telecom Symbol plane encoding/decoding with dynamic calculation of probability tables
US7839311B2 (en) 2007-08-31 2010-11-23 Qualcomm Incorporated Architecture for multi-stage decoding of a CABAC bitstream
TWI351180B (en) * 2007-09-29 2011-10-21 Novatek Microelectronics Corp Data encoding/decoding method and related apparatus capable of lowering signal power spectral density
US7777654B2 (en) 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
US8527265B2 (en) 2007-10-22 2013-09-03 Qualcomm Incorporated Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs
US8515767B2 (en) 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
US7714753B2 (en) 2007-12-11 2010-05-11 Intel Corporation Scalable context adaptive binary arithmetic coding
US8631060B2 (en) 2007-12-13 2014-01-14 Qualcomm Incorporated Fast algorithms for computation of 5-point DCT-II, DCT-IV, and DST-IV, and architectures
ATE500588T1 (de) * 2008-01-04 2011-03-15 Dolby Sweden Ab Audiokodierer und -dekodierer
US8600740B2 (en) 2008-01-28 2013-12-03 Qualcomm Incorporated Systems, methods and apparatus for context descriptor transmission
JP4893657B2 (ja) 2008-02-29 2012-03-07 ソニー株式会社 算術復号装置
WO2009110738A2 (ko) 2008-03-03 2009-09-11 엘지전자(주) 오디오 신호 처리 방법 및 장치
CN102789784B (zh) 2008-03-10 2016-06-08 弗劳恩霍夫应用研究促进协会 操纵具有瞬变事件的音频信号的方法和设备
JP5449133B2 (ja) * 2008-03-14 2014-03-19 パナソニック株式会社 符号化装置、復号装置およびこれらの方法
KR101247891B1 (ko) 2008-04-28 2013-03-26 고리츠다이가쿠호징 오사카후리츠다이가쿠 물체 인식용 화상 데이터베이스의 작성 방법, 처리 장치 및 처리용 프로그램
US7864083B2 (en) 2008-05-21 2011-01-04 Ocarina Networks, Inc. Efficient data compression and decompression of numeric sequences
ES2934052T3 (es) 2008-07-11 2023-02-16 Fraunhofer Ges Forschung Codificador de audio y decodificador de audio
EP2346029B1 (en) * 2008-07-11 2013-06-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, method for encoding an audio signal and corresponding computer program
US7714754B2 (en) * 2008-07-14 2010-05-11 Vixs Systems, Inc. Entropy decoder with pipelined processing and methods for use therewith
EP2146344B1 (en) * 2008-07-17 2016-07-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding/decoding scheme having a switchable bypass
JPWO2010016270A1 (ja) 2008-08-08 2012-01-19 パナソニック株式会社 量子化装置、符号化装置、量子化方法及び符号化方法
US20100088090A1 (en) * 2008-10-08 2010-04-08 Motorola, Inc. Arithmetic encoding for celp speech encoders
US7932843B2 (en) 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
US7982641B1 (en) 2008-11-06 2011-07-19 Marvell International Ltd. Context-based adaptive binary arithmetic coding engine
GB2466666B (en) * 2009-01-06 2013-01-23 Skype Speech coding
KR101622950B1 (ko) 2009-01-28 2016-05-23 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 그 장치
US8457975B2 (en) 2009-01-28 2013-06-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio decoder, audio encoder, methods for decoding and encoding an audio signal and computer program
KR20100136890A (ko) * 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
CA2763793C (en) 2009-06-23 2017-05-09 Voiceage Corporation Forward time-domain aliasing cancellation with application in weighted or original signal domain
MY163358A (en) 2009-10-08 2017-09-15 Fraunhofer-Gesellschaft Zur Förderung Der Angenwandten Forschung E V Multi-mode audio signal decoder,multi-mode audio signal encoder,methods and computer program using a linear-prediction-coding based noise shaping
EP2315358A1 (en) * 2009-10-09 2011-04-27 Thomson Licensing Method and device for arithmetic encoding or arithmetic decoding
BR112012009445B1 (pt) 2009-10-20 2023-02-14 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificador de áudio, decodificador de áudio, método para codificar uma informação de áudio, método para decodificar uma informação de áudio que utiliza uma detecção de um grupo de valores espectrais previamente decodificados
US8149144B2 (en) * 2009-12-31 2012-04-03 Motorola Mobility, Inc. Hybrid arithmetic-combinatorial encoder
CN102859583B (zh) * 2010-01-12 2014-09-10 弗劳恩霍弗实用研究促进协会 利用对数值先前脉络值的数字表示之修改的音频编码器、音频解码器、编码音频信息的方法及解码音频信息的方法
CN102131081A (zh) 2010-01-13 2011-07-20 华为技术有限公司 混合维度编解码方法和装置
AU2011287747B2 (en) * 2010-07-20 2015-02-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using an optimized hash table
EP2619758B1 (en) 2010-10-15 2015-08-19 Huawei Technologies Co., Ltd. Audio signal transformer and inverse transformer, methods for audio signal analysis and synthesis
US20120207400A1 (en) * 2011-02-10 2012-08-16 Hisao Sasai Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US8170333B2 (en) * 2011-10-13 2012-05-01 University Of Dayton Image processing systems employing image compression

Also Published As

Publication number Publication date
CA2778368C (en) 2016-01-26
EP2491552A1 (en) 2012-08-29
JP5589084B2 (ja) 2014-09-10
ZA201203607B (en) 2013-01-30
AU2010309821A1 (en) 2012-06-07
KR20120074312A (ko) 2012-07-05
US20230162742A1 (en) 2023-05-25
TWI426504B (zh) 2014-02-11
US8612240B2 (en) 2013-12-17
HK1175290A1 (en) 2013-06-28
JP2013508762A (ja) 2013-03-07
ZA201203609B (en) 2013-01-30
BR112012009445B1 (pt) 2023-02-14
ZA201203610B (en) 2013-01-30
BR122022013482B1 (pt) 2023-04-04
CN102667921A (zh) 2012-09-12
MY188408A (en) 2021-12-08
CN102667923A (zh) 2012-09-12
MX2012004572A (es) 2012-06-08
CA2907353C (en) 2018-02-06
JP2013508764A (ja) 2013-03-07
CA2907353A1 (en) 2011-04-28
TW201137857A (en) 2011-11-01
CN102667922B (zh) 2014-09-10
WO2011048099A1 (en) 2011-04-28
RU2605677C2 (ru) 2016-12-27
CA2778323A1 (en) 2011-04-28
BR112012009446B1 (pt) 2023-03-21
KR101419148B1 (ko) 2014-07-11
US9978380B2 (en) 2018-05-22
AR078706A1 (es) 2011-11-30
TWI451403B (zh) 2014-09-01
RU2012122278A (ru) 2013-11-27
PL2491554T3 (pl) 2014-08-29
TW201129969A (en) 2011-09-01
RU2012122275A (ru) 2013-11-27
CN102667923B (zh) 2014-11-05
JP5245014B2 (ja) 2013-07-24
CN102667921B (zh) 2014-09-10
RU2591663C2 (ru) 2016-07-20
CA2778323C (en) 2016-09-20
BR112012009446A2 (ja) 2021-12-07
EP2491554B1 (en) 2014-03-05
CA2778368A1 (en) 2011-04-28
KR101411780B1 (ko) 2014-06-24
US20120265540A1 (en) 2012-10-18
US11443752B2 (en) 2022-09-13
MY160813A (en) 2017-03-31
US20120330670A1 (en) 2012-12-27
US8655669B2 (en) 2014-02-18
ES2610163T3 (es) 2017-04-26
AR078705A1 (es) 2011-11-30
PT2491553T (pt) 2017-01-20
TW201137858A (en) 2011-11-01
EP2491554A1 (en) 2012-08-29
US20180174593A1 (en) 2018-06-21
RU2596596C2 (ru) 2016-09-10
ES2531013T3 (es) 2015-03-10
US20120278086A1 (en) 2012-11-01
MY160807A (en) 2017-03-31
RU2012122277A (ru) 2013-11-27
PL2491552T3 (pl) 2015-06-30
KR101419151B1 (ko) 2014-07-11
BR112012009448A2 (pt) 2022-03-08
EP2491552B1 (en) 2014-12-31
ES2454020T3 (es) 2014-04-09
US8706510B2 (en) 2014-04-22
TWI430262B (zh) 2014-03-11
AU2010309820B2 (en) 2014-05-08
MX2012004569A (es) 2012-06-08
CN102667922A (zh) 2012-09-12
MX2012004564A (es) 2012-06-08
BR122022013496B1 (pt) 2023-05-16
BR122022013454B1 (pt) 2023-05-16
PL2491553T3 (pl) 2017-05-31
AU2010309820A1 (en) 2012-06-07
WO2011048098A1 (en) 2011-04-28
CA2778325A1 (en) 2011-04-28
US20140081645A1 (en) 2014-03-20
EP2491553A1 (en) 2012-08-29
AU2010309898A1 (en) 2012-06-07
HK1175289A1 (en) 2013-06-28
BR112012009445A2 (pt) 2022-03-03
EP2491553B1 (en) 2016-10-12
AR078707A1 (es) 2011-11-30
KR20120074306A (ko) 2012-07-05
WO2011048100A1 (en) 2011-04-28
CA2778325C (en) 2015-10-06
KR20120074310A (ko) 2012-07-05
JP2013508763A (ja) 2013-03-07

Similar Documents

Publication Publication Date Title
JP5707410B2 (ja) 前に復号されたスペクトル値のグループの検出を使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム
JP5624159B2 (ja) オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化および復号するための方法、ならびに以前に復号されたスペクトル値のノルムに基づいてコンテキストサブ領域値を取得するコンピュータプログラム
JP5600805B2 (ja) 最適化されたハッシュテーブルを用いるオーディオエンコーダ、オーディオデコーダ、オーディオ情報を符号化するための方法、オーディオ情報を復号化するための方法およびコンピュータプログラム
AU2010309898B2 (en) Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130614

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150302

R150 Certificate of patent or registration of utility model

Ref document number: 5707410

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250