"符号化されたオーディオ情報210;810に基づいて復号化されたオーディオ情報212;812を提供するためのオーディオデコーダ200;800であって、前記オーディオデコーダは、スペクトル値の算術的に符号化された表現222;821に基づいて複数の復号化されたスペクトル値232;822を提供するための算術デコーダ230;820、および前記復号化されたオーディオ情報212;812を得るために、前記復号化されたスペクトル値232;822を用いて時間領域オーディオ表現262;812を提供するための周波数領域-時間領域コンバータ260;830を含み、前記算術デコーダ232;820は、数値的な現在のコンテクスト値cによって表されるコンテクスト状態sに基づいて、復号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すシンボルコードsymbol上への、符号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すコード値valueのマッピングを表すマッピングルール297;cum_freq[]を選択するように構成され、前記算術デコーダ230;820は、複数の前に復号化されたスペクトル値に基づいて前記数値的な現在のコンテクスト値cを決定するように構成され、前記算術デコーダは、前記マッピングルールを選択するために、エントリが前記数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルari_hash_m[]を評価するように構成され、前記算術デコーダは、値ari_hash_m[i]>>8がcに等しいまたはそれよりも大きいハッシュテーブルインデックス値iを見いだすために前記ハッシュテーブルを評価するように構成され、その一方で、前記見いだされたハッシュテーブルインデックス値iが0よりも大きい場合、前記値ari_hash_m[i-1]>>8はcよりも小さく、前記算術デコーダは、ari_hash_m[i]>>8がcに等しいときにari_hash_m[i]0xFFに等しいまたはそうでないときにari_lookup_m[i]に等しい確率モデルインデックスpkiによって決定される前記マッピングルールを選択するように構成され、前記ハッシュテーブルari_hash_mは、図221、図222、図223および図224に示されるように定義され、さらに前記マッピングテーブルari_lookup_mは、図21に示されるように定義される、オーディオデコーダ。前記算術デコーダは、アルゴリズムi=i_min;whilei_max-i_min>1{i=i_mini_max-i_min/2;j=ari_hash_m[i];ifc<j>>8i_max=i;elseifc>j>>8i_min=i;elsereturnj0xFF;}returnari_lookup_m[i_max];を用いて前記ハッシュテーブルを評価するように構成され、cは、前記数値的な現在のコンテクスト値またはそのスケールされたバージョンを表す変数を指定し、iは、現在のハッシュテーブルインデックス値を表す変数であり、i_minは、前記ハッシュテーブルの最初のエントリのハッシュテーブルインデックス値を指定するために初期化されさらにcおよびj>>8間の比較に基づいて選択的に更新される変数であり、条件c<j>>8は、前記変数cによって表される状態値が前記テーブルエントリari_hash_m[i]によって表される状態値よりも小さいことを定義し、j0xFFは、前記テーブルエントリari_hash_m[i]によって表されるマッピングルールインデックス値を表し、i_maxは、前記ハッシュテーブルの最後のエントリのハッシュテーブルインデックス値を指定するために初期化されさらにcおよびj>>8間の比較に基づいて選択的に更新される変数であり、条件c>j>>8は、前記変数cによって表される状態値が前記テーブルエントリari_hash_m[i]によって表される状態値よりも大きいことを定義し、jは、変数であり、リターン値は、確率モデルのインデックスpkiを指定し、さらにマッピングルールインデックス値であり、ari_hash_mは、前記ハッシュテーブルを指定し、ari_hash_m[i]は、ハッシュテーブルインデックス値iを有する前記ハッシュテーブルari_hash_mのエントリを指定し、ari_lookup_mは、マッピングテーブルを指定し、さらにari_lookup_m[i_max]は、マッピングテーブルインデックス値i_maxを有する前記マッピングテーブルari_lookup_mのエントリを指定する、請求項1に記載のオーディオデコーダ。前記算術デコーダは、前記マッピングルールインデックス値pkiに基づいてシンボルコードsymbol上へのコード値valueのマッピングを表す前記マッピングルール297;cum_freq[]を選択するように構成される、請求項1または請求項2に記載のオーディオデコーダ200;800。前記算術デコーダは、シンボルコードsymbol上へのコード値valueのマッピングを表す前記マッピングルール297;cum_freq[]を選択するためにテーブルインデックス値として前記マッピングルールインデックス値を用いるように構成される、請求項3に記載のオーディオデコーダ200;800。前記算術デコーダは、前記選択されたマッピングルールとして図231、図232、図233に示されるような前記テーブルari_cf_m[64][17]のサブテーブルari_cf_m[pki][17]のうちの1つを選択するように構成される、請求項1ないし請求項4のうちの1つに記載のオーディオデコーダ200;800。前記算術デコーダは、アルゴリズムc=c>>4;ifi<N/4-1c=cq[0][i1]<<12;c=c0xFFF0;ifi>0c=cq[1][i-1];ifi>3{ifq[1][i-3]q[1][i-2]q[1][i-1]<5returnc0x10000;}returnc;を用いて数値的な前のコンテクスト値に基づいて前記数値的な現在のコンテクスト値を得るように構成され、前記アルゴリズムは、スペクトル値のベクトルにおいて復号化するために、入力値として、前記数値的な前のコンテクスト値を表す値または変数cおよびスペクトル値の2タプルのインデックスを表す値または変数iを受信し、値または変数Nは、前記周波数領域-時間領域コンバータの再構成ウィンドウのウィンドウの長さを表し、さらに前記アルゴリズムは、出力値として、前記数値的な現在のコンテクスト値を表す更新された値または変数cを提供し、演算c>>4は、前記値または変数cの4ビットだけ右へのシフトを表し、q[0][i1]は、前のオーディオフレームと関連しさらに現在復号化されるスペクトル値の2タプルの現在の周波数インデックスよりも1だけ大きいより大きい周波数インデックスi1を関連付けるコンテクストサブ区域値を指定し、さらにq[1][i-1]は、現在のオーディオフレームと関連しさらに現在復号化されるスペクトル値の2タプルの現在の周波数インデックスよりも1だけ小さいより小さい周波数インデックスi-1を関連付けるコンテクストサブ区域値を指定し、q[1][i-2]は、現在のオーディオフレームと関連しさらに現在復号化されるスペクトル値の2タプルの現在の周波数インデックスよりも2だけ小さいより小さい周波数インデックスi-2を関連付けるコンテクストサブ区域値を指定し、q[1][i-3]は、現在のオーディオフレームと関連しさらに現在復号化されるスペクトル値の2タプルの現在の周波数インデックスよりも3だけ小さいより小さい周波数インデックスi-3を関連付けるコンテクストサブ区域値を指定する、請求項1ないし請求項5のうちの1つに記載のオーディオデコーダ。前記算術デコーダは、現在復号化される複数のスペクトル値の組合せを用いて、現在のオーディオフレームと関連しさらに現在復号化されるスペクトル値の前記2タプルの前記現在の周波数インデックスを関連付けるコンテクストサブ区域値q[1][i]を更新するように構成される、請求項6に記載のオーディオデコーダ。前記算術デコーダは、アルゴリズム{q[1][i]=ab1;ifq[1][i]>0xFq[1][i]=0xF;}を用いて、現在のオーディオフレームと関連しさらに現在復号化されるスペクトル値の2タプルの前記周波数インデックスを関連付けるコンテクストサブ区域値q[1][i]を更新するように構成され、aおよびbは、現在復号化される前記2タプルの復号化され符号なしの量子化されたスペクトル係数であり、さらにiは、現在復号化されるスペクトル値の前記2タプルの前記周波数インデックスである、請求項6または請求項7に記載のオーディオデコーダ。前記算術デコーダは、算術復号化アルゴリズム{ifarith_first_symbol{value=0;fori=1;i<=16;i{value=value<<1|arith_get_next_bit;}low=0;high=65535;}range=high-low1;cum=intvalue-low1<<14-int1/range;p=cum_freq-1;do{q=pcfl>>1;ifq>cum{p=q;cfl;}cfl>>=1;}whilecfl>1;symbol=p-cum_freq1;ifsymbolhigh=lowrangecum_freq[symbol-1]>>14-1;low=rangecum_freq[symbol]>>14;for;;{ifhigh<32768{}elseiflow>=32768{value-=32768;low-=32768;high-=32768;}elseiflow>=16384high<49152{value-=16384;low-=16384;high-=16384;}elsebreak;low=low;high=high1;value=value<<1|arith_get_next_bit;}returnsymbol;}を用いて、復号化されたスペクトル値の2タプルを表す復号化された値mを提供するように構成され、cum_freqは、シンボルコードsymbol上へのコード値valueのマッピングを表す選択されたテーブルまたはサブテーブルari_cf_m[pki][17]の開始を表す変数であり、cflは、シンボルコードsymbol上へのコード値valueのマッピングを表す前記選択されたテーブルまたはサブテーブルari_cf_m[pki][17]の長さを表す値または変数であり、ヘルパー関数arith_first_symbolは、復号化されるシンボルが一連のシンボルの最初のシンボルである場合に真をリターンし、さらにそうでない場合に偽をリターンし、ヘルパー関数get_next_bitは、ビットストリームの次のビットを提供し、変数lowは、グローバル変数であり、変数highは、グローバル変数であり、変数valueは、グローバル変数であり、rangeは、変数であり、cumは、変数であり、pは、シンボルコードsymbol上へのコード値valueのマッピングを表す前記選択されたテーブルまたはサブテーブルari_cf_m[pki][17]のエレメントを指し示す変数であり、qは、シンボルコードsymbol上へのコード値valueのマッピングを表す前記選択されたテーブルまたはサブテーブルari_cf_m[pki][17]のエレメントを指し示す変数であり、qは、前記変数qが指し示すシンボルコードsymbol上へのコード値valueのマッピングを表す前記選択されたテーブルまたはサブテーブルari_cf_m[pki][17]のテーブルエレメントまたはサブテーブルエレメントであり、変数symbolは、前記算術復号化アルゴリズムによってリターンされ、さらに前記算術デコーダは、前記算術復号化アルゴリズムのリターン値からスペクトル値の現在復号化された2タプルの最上位ビットプレーン値を導き出すように構成される、請求項1ないし請求項8のうちの1つに記載のオーディオデコーダ。符号化されたオーディオ情報210;810に基づいて復号化されたオーディオ情報212;812を提供するためのオーディオデコーダ200;800であって、前記オーディオデコーダは、スペクトル値の算術的に符号化された表現222;821に基づいて複数の復号化されたスペクトル値232;822を提供するための算術デコーダ230;820、および前記復号化されたオーディオ情報212;812を得るために、前記復号化されたスペクトル値232;822を用いて時間領域オーディオ表現262;812を提供するための周波数領域-時間領域コンバータ260;830を含み、前記算術デコーダ232;820は、数値的な現在のコンテクスト値cによって表されるコンテクスト状態sに基づいて、復号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すシンボルコードsymbol上への、符号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すコード値valueのマッピングを表すマッピングルール297;cum_freq[]を選択するように構成され、前記算術デコーダ230;820は、複数の前に復号化されたスペクトル値に基づいて前記数値的な現在のコンテクスト値cを決定するように構成され、前記算術デコーダは、前記マッピングルールを選択するために、エントリが前記数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルari_hash_m[]を評価するように構成され、前記ハッシュテーブルari_hash_mは、図221、図222、図223および図224に示されるように定義され、前記算術デコーダは、前記数値的な現在のコンテクスト値が前記ハッシュテーブルari_hash_mのエントリによって表されるテーブルコンテクスト値と同一であるかどうかを決定するためにまたは前記数値的な現在のコンテクスト値が位置する前記ハッシュテーブルari_hash_mのエントリによって表される間隔を決定するために前記ハッシュテーブルari_hash_mを評価するように、さらに、前記評価の結果に基づいて選択されたマッピングルールを表すマッピングルールインデックス値pkiを導き出すように構成される、オーディオデコーダ。前記算術デコーダは、前記数値的な現在のコンテクスト値cが得られたハッシュテーブルインデックス値i_maxによって指定される得られたハッシュテーブルエントリari_hash_m[i_max]および隣接するハッシュテーブルエントリari_hash_m[i_max-1]によって定義される間隔内に位置するように、テーブルエントリari_lookup_m[i_max]のハッシュテーブルインデックス値i_maxを反復的に得るために、前記数値的な現在のコンテクスト値cまたは前記数値的な現在のコンテクスト値のスケールされたバージョンsと前記ハッシュテーブルari_hash_m[]の一連の数値的に順序付けられたエントリj=ari_hash_m[i]またはサブエントリとを比較するように構成され、さらに前記算術デコーダは、前記数値的な現在のコンテクスト値cまたは前記数値的な現在のコンテクスト値のスケールされたバージョンsと前記ハッシュテーブルの現在のエントリまたはサブエントリari_hash_m[i]との間の比較の結果に基づいて、前記ハッシュテーブルari_hash_m[]の前記一連のエントリの次のエントリを決定するように構成される、請求項10に記載のオーディオデコーダ。前記算術デコーダは、前記数値的な現在のコンテクスト値cまたはそのスケールされたバージョンsが前記現在のハッシュテーブルインデックス値iによって指定される前記ハッシュテーブルj=ari_hash_m[i]の第1のサブエントリj>>8に等しいことが見いだされている場合、前記現在のハッシュテーブルインデックス値iによって指定される前記ハッシュテーブルari_hash_mの第2のサブエントリj0xFFによって定義されるマッピングルールを選択するように構成される、請求項11に記載のオーディオデコーダ。前記算術デコーダは、前記数値的な現在のコンテクスト値が前記ハッシュテーブルari_hash_mのサブエントリに等しいことが見いだされていない場合、マッピングテーブルari_lookup_mのエントリまたはサブエントリari_lookup_m[i_max]によって定義されるマッピングルールを選択するように構成され、前記算術デコーダは、前記反復的に得られたハッシュテーブルインデックス値i_maxに基づいて前記マッピングテーブルの前記エントリまたはサブエントリを選択するように構成される、請求項11または請求項12に記載のオーディオデコーダ。前記算術デコーダは、前記数値的な現在のコンテクスト値cが前記現在のハッシュテーブルインデックス値iによって指定される前記ハッシュテーブルの前記エントリari_hash_m[i]によって定義される値j>>8に等しいことが見いだされている場合、前記現在のハッシュテーブルインデックス値によって指定される前記ハッシュテーブルの前記エントリによって定義されるマッピングルールインデックス値を選択的に提供するように構成される、請求項10ないし請求項13のうちの1つに記載のオーディオデコーダ。符号化されたオーディオ情報210;810に基づいて復号化されたオーディオ情報212;812を提供するための方法であって、前記方法は、スペクトル値の算術的に符号化された表現222;821に基づいて複数の復号化されたスペクトル値232;822を提供するステップ、および前記復号化されたオーディオ情報212;812を得るために、前記復号化されたスペクトル値232;822を用いて時間領域オーディオ表現262;812を提供するステップを含み、前記複数の復号化されたスペクトル値を提供するステップは、数値的な現在のコンテクスト値cによって表されるコンテクスト状態sに基づいて、復号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すシンボルコードsymbol上への、符号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すコード値valueのマッピングを表すマッピングルール297;cum_freq[]を選択するステップを含み、前記数値的な現在のコンテクスト値cは、複数の前に復号化されたスペクトル値に基づいて決定され、エントリが前記数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルari_hash_m[]は、前記マッピングルールを選択するために評価され、前記ハッシュテーブルは、アルゴリズムi=i_min;whilei_max-i_min>1{i=i_mini_max-i_min/2;j=ari_hash_m[i];ifc<j>>8i_max=i;elseifc>j>>8i_min=i;elsereturnj0xFF;}returnari_lookup_m[i_max];を用いて評価され、cは、前記数値的な現在のコンテクスト値またはそのスケールされたバージョンを表す変数を指定し、iは、現在のハッシュテーブルインデックス値を表す変数であり、i_minは、前記ハッシュテーブルの最初のエントリのハッシュテーブルインデックス値を指定するために初期化されさらにcおよびj>>8間の比較に基づいて選択的に更新される変数であり、条件c<j>>8は、前記変数cによって表される状態値が前記テーブルエントリari_hash_m[i]によって表される状態値よりも小さいことを定義し、j0xFFは、前記テーブルエントリari_hash_m[i]によって表されるマッピングルールインデックス値を表し、i_maxは、前記ハッシュテーブルの最後のエントリのハッシュテーブルインデックス値を指定するために初期化されさらにcおよびj>>8間の比較に基づいて選択的に更新される変数であり、条件c>j>>8は、前記変数cによって表される状態値が前記テーブルエントリari_hash_m[i]によって表される状態値よりも大きいことを定義し、jは、変数であり、リータン値は、確率モデルのインデックスpkiを指定し、さらにマッピングルールインデックス値であり、ari_hash_mは、前記ハッシュテーブルを指定し、ari_hash_m[i]は、ハッシュテーブルインデックス値iを有する前記ハッシュテーブルari_hash_mのエントリを指定し、ari_lookup_mは、マッピングテーブルを指定し、ari_lookup_m[i_max]は、マッピングテーブルインデックス値i_maxを有する前記マッピングテーブルari_lookup_mのエントリを指定し、前記ハッシュテーブルari_hash_mは、図221、図222、図223、図224に示されるように定義され、さらに前記マッピングテーブルari_lookup_mは、図21に示されるように定義される、方法。符号化されたオーディオ情報210;810に基づいて復号化されたオーディオ情報212;812を提供するための方法であって、前記方法は、スペクトル値の算術的に符号化された表現222;821に基づいて複数の復号化されたスペクトル値232;822を提供するステップ、および前記復号化されたオーディオ情報212;812を得るために、前記復号化されたスペクトル値232;822を用いて時間領域オーディオ表現262;812を提供するステップを含み、複数の復号化されたスペクトル値を提供するステップは、数値的な現在のコンテクスト値cによって表されるコンテクスト状態sに基づいて、復号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すシンボルコードsymbol上への、符号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すコード値valueのマッピングを表すマッピングルール297;cum_freq[]を選択するステップを含み、前記数値的な現在のコンテクスト値cは、複数の前に復号化されたスペクトル値に基づいて決定され、エントリが前記数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルari_hash_m[]は、前記マッピングルールを選択するために評価され、前記ハッシュテーブルari_hash_mは、図221、図222、図223および図224に示されるように定義され、前記ハッシュテーブルari_hash_mは、前記数値的な現在のコンテクスト値が前記ハッシュテーブルari_hash_mのエントリによって表されるテーブルコンテクスト値と同一であるかどうかを決定するためにまたは前記数値的な現在のコンテクスト値が位置する前記ハッシュテーブルari_hash_mのエントリによって表される間隔を決定するために評価され、さらに選択されたマッピングルールを表すマッピングルールインデックス値pkiは、前記評価の結果に基づいて導き出される、方法。入力されたオーディオ情報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をマップするように構成される、算術エンコーダを含み、前記算術エンコーダは、数値的な現在のコンテクスト値cによって表されるコンテクスト状態sに基づいて、コード値上への、スペクトル値のまたはスペクトル値の最上位ビットプレーンのマッピングを表すマッピングルールを選択するように構成され、さらに前記算術エンコーダは、複数の前に符号化されたスペクトル値に基づいて前記数値的な現在のコンテクスト値cを決定するように構成され、さらに前記算術エンコーダは、前記マッピングルールを選択するために、エントリが前記数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルを評価するように構成され、前記ハッシュテーブルari_hash_mは、図221、図222、図223および図224に示されるように定義され、前記算術エンコーダは、前記数値的な現在のコンテクスト値が前記ハッシュテーブルari_hash_mのエントリによって表されるテーブルコンテクスト値と同一であるかどうかを決定するためにまたは前記数値的な現在のコンテクスト値が位置する前記ハッシュテーブルari_hash_mのエントリによって表される間隔を決定するために前記ハッシュテーブルari_hash_mを評価するように、さらに、前記評価の結果に基づいて選択されたマッピングルールを表すマッピングルールインデックス値pkiを導き出すように構成される、オーディオエンコーダ。入力されたオーディオ情報110;710に基づいて符号化されたオーディオ情報112;712を提供するための方法であって、前記方法は、周波数領域オーディオ表現132;722がスペクトル値のセットを含むように、前記入力されたオーディオ情報の時間領域表現110;710に基づいて周波数領域オーディオ表現132;722を提供するステップ、および可変長コードワードacod_m、acod_rを用いてスペクトル値aまたはその前処理されたバージョンを符号化するステップであって、スペクトル値aまたはスペクトル値aの最上位ビットプレーンの値mがコード値acod_m上にマップされる、ステップを含み、コード値上への、スペクトル値のまたはスペクトル値の最上位ビットプレーンのマッピングを表すマッピングルールは、数値的な現在のコンテクスト値cによって表されるコンテクスト状態sに基づいて選択され、さらに前記数値的な現在のコンテクスト値cは、複数の前に符号化されたスペクトル値に基づいて決定され、さらにエントリが前記数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルは、前記マッピングルールを選択するために評価され、前記ハッシュテーブルari_hash_mは、図221、図222、図223および図224に示されるように定義され、さらに前記ハッシュテーブルari_hash_mは、前記数値的な現在のコンテクスト値が前記ハッシュテーブルari_hash_mのエントリによって表されるテーブルコンテクスト値と同一であるかどうかを決定するためにまたは前記数値的な現在のコンテクスト値が位置する前記ハッシュテーブルari_hash_mのエントリによって表される間隔を決定するために評価され、さらに、選択されたマッピングルールを表すマッピングルールインデックス値pkiは、前記評価の結果に基づいて導き出される、方法。コンピュータプログラムがコンピュータで実行されるときに、請求項16または請求項18に記載の方法を実行するためのコンピュータプログラム。この状況を考慮して、ビットレート効率およびリソ-ス効率間の改良されたトレードオフを提供する、オーディオコンテンツの符号化および復号化のための概念が必要である。本発明による実施形態は、スペクトル値の算術的に符号化された表現に基づいて複数の復号化されたスペクトル値を提供するためのオーディオデコーダを作り出す。オーディオデコーダは、復号化されたオーディオ情報を得るために、復号化されたスペクトル値を用いて時間領域オーディオ表現を提供するための周波数領域-時間領域コンバータを含む。算術デコーダは、数値的な現在のコンテクスト値によって表されるコンテクスト状態に基づいて、復号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すシンボルコード上への、符号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すコード値のマッピングを表すマッピングルールを選択するように構成される。算術デコーダは、複数の前に復号化されたスペクトル値に基づいて数値的な現在のコンテクスト値を決定するように構成される。算術デコーダは、マッピングルールを選択するために、エントリが数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルを評価するように構成される。算術デコーダは、値ari_hash_m[i]>>8がcに等しいまたはそれよりも大きいハッシュテーブルインデックス値iを見いだすためにハッシュテーブルを評価するように構成され、その一方で、見いだされたハッシュテーブルインデックス値iが0よりも大きい場合、値ari_hash_m[i-1]>>8はcよりも小さい。さらに、算術デコーダは、ari_hash_m[i]>>8がcに等しいときにari_hash_m[i]0xFFに等しいまたはそうでないときにari_lookup_m[i]に等しい確率モデルインデックスpkiによって決定されるマッピングルールを選択するように構成される。本実施形態において、ハッシュテーブルari_hash_mは、図221、図222、図223および図224に示されるように定義される。さらに、マッピングテーブルari_lookup_mは、図21に示されるように定義される。図221から図224のハッシュテーブルを有する上述のアルゴリズムの組合せは、図221から図224に従うハッシュテーブルが特に適切な方法で数値的なコンテクスト値の重要な値および状態間隔の両方を定義するように、マッピングルールの特に効率的な選択を可能にすることが見いだされている。さらに、前記アルゴリズムおよび図221から図224に従うハッシュテーブル間の相互作用は、計算の複雑度を相当少なく保つとともに、特に良好な結果をもたらすことを示している。さらに、図21に定義されるマッピングテーブルは、上述のハッシュテーブルと併用するときに、前記アルゴリズムにも特によく適している。要約すると、上述のようなアルゴリズムに関連して図221から図224に示されるようなハッシュテーブルおよび図21に定義されるようなマッピングテーブルの使用は、良好な符号化/復号化効率および低い計算の複雑度をもたらす。好適な実施形態において、算術デコーダは、図5eに定義されるようなアルゴリズムを用いてハッシュテーブルを評価するように構成され、cは、数値的な現在のコンテクスト値またはそのスケールされたバージョンを表す変数を指定し、iは、現在のハッシュテーブルインデックス値を表す変数であり、ini_minは、ハッシュテーブルの最初のエントリのハッシュテーブルインデックス値を指定するために初期化されさらにcおよびj>>8間の比較に基づいて選択的に更新される変数である。上述のアルゴリズムにおいて、条件c<j>>8は、変数cによって表される状態値がテーブルエントリari_hash_m[i]によって表される状態値よりも小さいことを定義する。また、上述のアルゴリズムにおいて、j0xFFは、テーブルエントリari_hash_m[i]によって表されるマッピングルールインデックス値を表す。さらに、i_maxは、ハッシュテーブルの最後のエントリのハッシュテーブルインデックス値を指定するために初期化されさらにcおよびj>>8間の比較に基づいて選択的に更新される変数である。条件c>j>>8は、変数cによって表される状態値がテーブルエントリari_hash_m[i]によって表される状態値よりも大きいことを定義する。前記アルゴリズムのリターン値は、確率モデルのインデックスpkiを指定しさらにマッピングルールインデックス値である。ari_hash_mは、ハッシュテーブルを指定し、さらに、ari_hash_m[i]は、ハッシュテーブルインデックス値iを有するハッシュテーブルari_hash_mのエントリを指定する。ari_lookup_mは、マッピングテーブルを指定し、さらに、ari_lookup_m[i_max]は、マッピングインデックス値i_maxを有するマッピングテーブルari_lookup_mのエントリを指定する。図221から図224のハッシュテーブルを有する上述のアルゴリズムの組合せは、図5eに示されるように、図221から図224に従うハッシュが特に適切な方法で数値的なコンテクスト値の重要な値および状態間隔の両方を定義するように、マッピングルールの特に効率的な選択を可能にすることが見いだされている。さらに、図5eに従う前記アルゴリズムおよび図221から図224に従うハッシュテーブル間の相互作用は、テーブル検索のための速いアルゴリズムとの併用で特に良好な結果をもたらすことを示している。さらに、図21に定義されるマッピングテーブルは、上述のハッシュテーブルと併用するときに、前記アルゴリズムにも特によく適している。要約すると、図5eに定義されるようなアルゴリズムに関連して図221から図224に示されるようなハッシュテーブルおよび図21に定義されるようなマッピングテーブルの使用は、良好な符号化/復号化効率および低い計算の複雑度をもたらす。換言すれば、図5eの2分探索アルゴリズムは、上述に定義されるように、テーブルari_hash_mおよびari_lookup_mを用いて演算することによく適していることが見いだされている。しかしながら、検索アルゴリズムの容易に可能であるわずかな変更または重要な変更でさえも、本発明による概念を変更しないで行われうる点に留意すべきである。換言すれば、検索方法は、前述の方法に拘束されない。例えば図5eによる2分法の使用は、パフォーマンスをさらに改良するにもかかわらず、単純な徹底的な検索を実行することも可能であり、それにしても、それは、複雑度のいくらかの増加をもたらす。好適な実施形態において、算術デコーダは、例えば図5eに示されるアルゴリズムのリターン値として提供されるマッピングルールインデックス値pkiに基づいてシンボルコード上へのコード値のマッピングを表すマッピングルールを選択するように構成される。前記マッピングルールインデックス値pkiの使用は、非常に効率的であるが、その理由は、上述のテーブルおよび上述のアルゴリズムの相互作用が意味のあるマッピングルールインデックス値を提供するために最適化されるからである。好適な実施形態において、算術デコーダは、シンボルコード上へのコード値のマッピングを表すマッピングルールを選択するためにテーブルインデックス値としてマッピングルールインデックス値を用いるように構成される。テーブルインデックス値としてマッピングルールインデックス値の使用は、マッピングルールの計算的に効率的なメモリ効率のよい選択を可能にする。好適な実施形態において、算術デコーダは、選択されたマッピングルールとして、図231、図232、図233に定義されるように、テーブルari_cf_m[64][17]のサブテーブルのうちの1つを選択するように構成される。この概念は、テーブルari_cf_m[64][17]のサブテーブルによって定義されるマッピングルールが、図231、図232、図233に定義されるように、図21および図221から図224に従うテーブルとの併用で図5eによる上述のアルゴリズムの実行によって達成できる結果によく適しているという事実に基づく。好適な実施形態において、算術デコーダは、図5cに従うアルゴリズムを用いて数値的な前のコンテクスト値に基づいて数値的なコンテクスト値を得るように構成され、アルゴリズムは、スペクトル値のベクトルにおいて復号化するために、入力値として、数値的な前のコンテクスト値を表す値または変数cおよびスペクトル値の2タプルのインデックスを表す値または変数iを受信する。値または変数Nは、周波数領域-時間領域コンバータの再構成ウィンドウのウィンドウの長さを表す。アルゴリズムは、出力値として、数値的な現在のコンテクスト値を表す更新された値または変数cを提供する。アルゴリズムにおいて、演算c>>4は、値または変数cの4ビットだけ右へのシフトを表す。さらに、q[0][i1]は、前のオーディオフレームと関連しさらに現在復号化されるスペクトル値の2合計の現在の周波数インデックスよりも1だけ大きいより大きい周波数インデックスi1を関連付けるコンテクストサブ区域値を指定する。同様に、q[1][i-1]は、現在のオーディオフレームと関連しさらに現在復号化されるスペクトル値の2タプルの現在の周波数インデックスよりも1だけ小さいより小さい周波数インデックスi-1を関連付けるコンテクストサブ区域値を指定する。q[1][i-2]は、現在のオーディオフレームと関連しさらに現在復号化されるスペクトル値の2タプルの現在の周波数インデックスよりも2だけ小さいより小さい周波数インデックスi-2を関連付けるコンテクストサブ区域値を指定する。q[1][i-3]は、現在のオーディオフレームと関連しさらに現在復号化されるスペクトル値の2タプルの現在の周波数インデックスよりも3だけ小さいより小さい周波数インデックスi-3を関連付けるコンテクストサブ区域値を指定する。図5eによるアルゴリズムは、図21および図221から図224のテーブルを併用するときに、図5cのアルゴリズムを用いて得られる数値的な現在のコンテクスト値cに基づいてマッピングルールインデックス値を提供するためによく適していることが見いだされ、図5cのアルゴリズムを用いて数値的な現在のコンテクスト値を得ることは、計算的に特に効率的であるが、その理由は、図5cによるアルゴリズムが非常に単純な計算だけを必要とするからである。好適な実施形態において、算術デコーダは、現在のオーディオフレームと関連しさらに図5lによるアルゴリズムを用いて現在復号化されるスペクトル値の2タプルの現在の周波数インデックスを関連付けるコンテクストサブ区域値q[1][i]を更新するように構成され、aは、現在復号化されるスペクトル値の2タプルの第1のスペクトル値の絶対値を指定し、さらに、bは、現在復号化されるスペクトル値の2タプルの第2のスペクトル値を指定する。好適なアルゴリズムは、コンテクストサブ区域値の単純な更新のために非常によく適していることが明らかである。好適な実施形態において、算術デコーダは、図5gによる算術復号化アルゴリズムを用いて復号化されたスペクトル値の2タプルを表す復号化された値mを提供するように構成される。前記算術復号化アルゴリズムは、上述のアルゴリズムとの協働のために非常によく適していることが見いだされている。本発明による別の実施形態は、符号化されたオーディオ情報に基づいて復号化されたオーディオ情報を提供するためのデコーダを作り出す。オーディオデコーダは、スペクトル値の算術的に符号化された表現に基づいて複数の復号化されたスペクトル値を提供するための算術デコーダを含む。オーディオデコーダは、復号化されたオーディオ情報を得るために、復号化されたスペクトル値を用いて時間領域オーディオ表現を提供するための周波数領域-時間領域コンバータも含む。算術デコーダは、数値的な現在のコンテクスト値によって表されるコンテクスト状態に基づいて、復号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すシンボルコード上への、符号化された形式でスペクトル値またはスペクトル値の最上位ビットプレーンを表すコード値のマッピングを表すマッピングルールを選択するように構成される。算術デコーダは、複数の前に復号化されたスペクトル値に基づいて数値的な現在のコンテクスト値を決定するように構成される。算術デコーダは、マッピングルールを選択するために、エントリが数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルを評価するように構成される。ハッシュテーブルari_hash_mは、図221、図222、図223および図224に示されるように定義される。算術デコーダは、数値的な現在のコンテクスト値がハッシュテーブルのエントリによって表されるテーブルコンテクスト値と同一であるかどうかを決定するためにまたは数値的な現在のコンテクスト値が位置するハッシュテーブルのエントリによって表される間隔を決定するためにハッシュテーブルを評価するように、さらに、評価の結果に基づいて選択されたマッピングルールを表すマッピングルールインデックス値を導き出すように構成される。図221から図224に示されるようなハッシュテーブルari_hash_mは、それによってマッピングインデックス値を導き出すために、ハッシュテーブルのエントリによって表されるテーブルコンテクスト値およびハッシュテーブルのエントリによって表される間隔のための解析のためによく適していることが見いだされている。図221から図224に従うハッシュテーブルによるテーブルコンテクスト値および間隔の両方の定義は、テーブルコンテクスト値をチェックするためさらにテーブルコンテクスト値が位置しないハッシュテーブルのエントリによって定義される間隔を決定するための両方のために、前記ハッシュテーブルのエントリを用いるハッシュテーブルの評価のための単純な概念と併用するときに、マッピングルールの選択のための効率的なメカニズムを提供することが見いだされている。好適な実施形態において、算術デコーダは、数値的な現在のコンテクスト値が得られたハッシュテーブルインデックス値によって指定される得られたハッシュテーブルエントリおよび隣接するハッシュテーブルエントリによって定義される間隔内に位置するように、テーブルエントリのハッシュテーブルインデックス値を反復的に得るために、数値的な現在のコンテクスト値または数値的な現在のコンテクスト値のスケールされたバージョンとハッシュテーブルの一連の数値的に順序付けられたエントリまたはサブエントリとを比較するように構成される。この場合、算術デコーダは、数値的な現在のコンテクスト値または数値的な現在のコンテクスト値のスケールされたバージョンと現在のエントリまたはサブエントリとの間の比較の結果に基づいてハッシュテーブルの一連のエントリの次のエントリを決定するように構成される。このメカニズムは、図221から図224に従うハッシュテーブルの特に効率的な評価を可能にすることが認識されている。好適な実施形態において、算術デコーダは、数値的な現在のコンテクスト値またはそのスケールされたバージョンが現在のハッシュテーブルインデックス値によって指定されるハッシュテーブルの第1のサブエントリに等しいことが見いだされている場合、現在のハッシュテーブルインデックス値によって指定されるハッシュテーブルの第2のサブエントリによって定義されるマッピングルールを選択するように構成される。したがって、ハッシュテーブルのエントリは、図221から図224に従って定義されるように、二重機能を引き継ぐ。ハッシュテーブルの第1のサブエントリすなわちエントリの第1の部分は、数値的な現在のコンテクスト値の特に重要な状態を確認するために用いられ、その一方で、ハッシュテーブルの第2のサブエントリすなわちそのようなエントリの第2の部分は、例えば、マッピングルールインデックス値を定義することによってマッピングルールを定義する。このように、ハッシュテーブルのエントリは、非常に効率的な方法で用いられる。また、メカニズムは、ハッシュテーブルのエントリによってまたはより正確に言うとハッシュテーブルのサブエントリによって表される数値的な現在のコンテクスト値の特に重要な状態のためのマッピングルールインデックス値を提供する際に特に効率的である。このように、ハッシュテーブルの完全なエントリは、図221から図224に定義されるように、マッピングルールへの数値的な現在のコンテクスト値の特に重要な状態のマッピングおよび数値的な現在のコンテクスト値のそれほど重要でない状態の区域または間隔の間隔境界のルールを定義する。好適な実施形態において、算術デコーダは、数値的な現在のコンテクスト値がハッシュテーブルのサブエントリに等しいことが見いだされていない場合、マッピングテーブルari_lookup_mのエントリまたはサブエントリによって定義されるマッピングルールを選択するように構成される。この場合、算術デコーダは、反復的に得られたハッシュテーブルインデックス値に基づいてマッピングテーブルのエントリまたはサブエントリを選択するように構成される。このように、特に効率的な2テーブルメカニズムが作り出され、それは、数値的な現在のコンテクスト値の特に重要な状態のためおよび数値的な現在のコンテクスト値のそれほど重要でない状態のための両方のためにマッピングルールインデックス値を効率的に提供することを可能にする数値的な現在のコンテクスト値のそれほど重要でない状態は、ハッシュテーブルのエントリまたはサブエントリによって明確にすなわち個々に表されていない。好適な実施形態において、算術デコーダは、数値的な現在のコンテクスト値が現在のハッシュテーブルインデックス値によって指定されるハッシュテーブルのエントリによって定義される値に等しいことが見いだされている場合、得られたハッシュテーブルインデックス値によって指定されるハッシュテーブルのエントリによって定義されるマッピングルールインデックス値を選択的に提供するように構成される。このように、ハッシュテーブルのエントリの二重使用を可能にする効率的なメカニズムがある。本発明のさらなる実施形態は、符号化されたオーディオ情報に基づいて復号化されたオーディオ情報を提供するための方法を作り出す。前記方法は、前述のオーディオデコーダの機能を満たす。したがって、その方法は、議論が簡潔さのためにここで省略されるように、オーディオデコーダと同じ考えおよび知見に基づく。その方法は、オーディオデコーダの特徴および機能のいずれかによって補完できる点に留意すべきである。本発明による別の実施形態は、入力されたオーディオ情報に基づいて符号化されたオーディオ情報を提供するためのオーディオエンコーダを作り出す。オーディオエンコーダは、周波数領域オーディオ表現がスペクトル値のセットを含むように、入力されたオーディオ情報の時間領域表現に基づいて周波数領域オーディオ表現を提供するためのエネルギー圧縮の時間領域-周波数領域コンバータを含む。オーディオエンコーダは、可変長コードワードを用いてスペクトル値またはその前処理されたバージョンを符号化するように構成される算術エンコーダも含む。算術エンコーダは、コード値上に、スペクトル値またはスペクトル値の最上位ビットプレーンの値をマップするように構成される。算術エンコーダは、数値的な現在のコンテクスト値によって表されるコンテクスト状態に基づいて、コード値上への、スペクトル値またはスペクトル値の最上位ビットプレーンのマッピングを表すマッピングルールを選択するようにも構成される。算術エンコーダは、複数の前に符号化されたスペクトル値に基づいて数値的な現在のコンテクスト値を決定するように構成される。算術エンコーダは、マッピングルールを選択するために、エントリが数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルを評価するようにも構成される。ハッシュテーブルari_hash_mは、図221から図224に示されるように定義される。算術エンコーダは、数値的な現在のコンテクスト値がハッシュテーブルのエントリによって表されるテーブルコンテクスト値と同一であるかどうかを決定するためにまたは数値的な現在のコンテクスト値が位置するハッシュテーブルのエントリによって表される間隔を決定するためにハッシュテーブルを評価するように、さらに、前記評価の結果に基づいて選択されたマッピングルールを表すマッピングルールインデックス値を導き出すように構成される。オーディオエンコーダの機能は、上述のオーディオデコーダの機能と並行にある点に留意すべきである。したがって、簡潔さのためにオーディオデコーダの重要な考えの上述の議論について述べる。さらに、オーディオエンコーダは、オーディオデコーダの特徴および機能のいずれかによって補完できる点に留意すべきである。特に、マッピングルールの選択に関する特徴のいずれかは、オーディオエンコーダにおいて同様に実施することができ、符号化されたスペクトル値が、復号化されたスペクトル値に代わるなどである。本発明による別の実施形態は、入力されたオーディオ情報に基づいて符号化されたオーディオ情報を提供するための方法を作り出す。その方法は、同じ考えに基づいて前に記載されているオーディオエンコーダの機能を実行する。本発明による別の実施形態は、前に記載されている方法のうちの少なくとも1つを実行するためのコンピュータプログラムを作り出す。本発明による実施形態は、添付された図を参照して後に記載される。1.図7によるオーディオエンコーダ図7は、本発明の実施形態によるオーディオエンコーダの略ブロック図を示す。オーディオエンコーダ700は、入力されたオーディオ情報710を受信し、さらに、それに基づいて符号化されたオーディオ情報712を提供するように構成される。オーディオエンコーダは、周波数領域オーディオ表現722がスペクトル値のセットを含むように、入力されたオーディオ情報710の時間領域表現に基づいて周波数領域オーディオ表現722を提供するように構成されるエネルギー圧縮の時間領域-周波数領域コンバータ720を含む。オーディオエンコーダ700は、符号化されたオーディオ情報712を得るために例えば複数の可変長コードワードを含みうる可変長コードワードを用いて、周波数領域オーディオ表現722を形成するスペクトル値のセットからスペクトル値またはその前処理されたバージョンを符号化するように構成される算術エンコーダ730も含む。算術エンコーダ730は、コンテクスト状態に基づいてコード値上にすなわち可変長コードワード上に、スペクトル値またはスペクトル値の最上位ビットプレーンの値をマップするように構成される。算術エンコーダは、現在のコンテクスト状態に基づいて、コード値上への、スペクトル値のまたはスペクトル値の最上位ビットプレーンのマッピングを表すマッピングルールを選択するように構成される。算術エンコーダは、複数の前に符号化された好ましくは、必ずではないが、隣接するスペクトル値に基づいて、現在のコンテクスト状態または現在のコンテクスト状態を表す数値的な現在のコンテクスト値を決定するように構成される。この目的のために、算術エンコーダは、エントリが数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブルを評価するように構成される。hash_table以下においてari_hash_mにも指定されるは、好ましくは図221、図222、図223および図224のテーブル表現において示されるように定義される。さらに、算術エンコーダは、好ましくは、数値的な現在のコンテクスト値がハッシュテーブルari_hash_mのエントリによって表されるテーブルコンテクスト値と同一であるかどうかを決定するためにおよび/または数値的な現在のコンテクスト値が位置するハッシュテーブルari_hash_mのエントリによって表される間隔を決定するためにハッシュテーブルari_hash_mを評価するように、さらに、その評価の結果に基づいて選択されたマッピングルールを表すマッピングルールインデックス値例えばここにpkiによって指定されるを導き出すように構成される。場合によっては、マッピングルールインデックス値は、重要な状態値である数値的な現在のコンテクスト値と個々に関連しうる。また、共通のマッピングルールインデックス値は、間隔境界その間隔境界は、好ましくは、ハッシュテーブルのエントリによって定義されるによって囲まれる間隔内に位置する異なる数値的な現在のコンテクスト値と関連しうる。明らかなように、符号化されたオーディオ情報712のコード値上への、周波数領域オーディオ表現722のスペクトル値のまたはスペクトル値の最上位ビットプレーンのマッピングは、マッピングルール742を用いてスペクトル値符号化740によって実行されうる。状態トラッカ750は、コンテクスト状態を追跡するように構成されうる。状態トラッカ750は、現在のコンテクスト状態を表す情報754を提供する。現在のコンテクスト状態を表す情報754は、好ましくは、数値的な現在のコンテクスト値の形式をとりうる。マッピングルールセレクタ760は、コード値上への、スペクトル値のまたはスペクトル値の最上位ビットプレーンのマッピングを表すマッピングルール、例えば、累積度数テーブルを選択するように構成される。したがって、マッピングルールセレクタ760は、マッピングルール情報742をスペクトル値符号化740に提供する。マッピングルール情報742は、マッピングルールインデックス値のまたはマッピングルールインデックス値に基づいて選択される累積度数テーブルの形式をとりうる。マッピングルールセレクタ760は、エントリが数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブル762を含むまたは少なくとも評価する。好ましくは、ハッシュテーブル762ari_hash_m[742]のエントリは、図221から図224のテーブル表現において示されるように定義される。ハッシュテーブル762は、マッピングルールを選択するためにすなわちマッピングルール情報742を提供するために評価される。好ましくは、必ずではないが、マッピングルールインデックス値は、重要な状態値である数値的なコンテクスト値と個々に関連しうり、さらに、共通のマッピングルールインデックス値は、間隔境界によって囲まれる間隔内に位置する異なる数値的なコンテクスト値と関連しうる。上記を要約すると、オーディオエンコーダ700は、時間領域-周波数領域コンバータによって提供される周波数領域オーディオ表現の算術符号化を実行する。算術符号化は、マッピングルール例えば累積度数テーブルが前に符号化されたスペクトル値に基づいて選択されるように、コンテクストに依存する。したがって、互いにおよび/または現在符号化されたスペクトル値すなわち現在符号化されたスペクトル値の所定の環境内のスペクトル値に時間および/または周波数または少なくとも所定の環境内において隣接するスペクトル値は、算術符号化によって評価される確率分布を調整するために、算術符号化において考慮される。適切なマッピングルールを選択するときに、状態トラッカ750によって提供される数値的な現在のコンテクスト値754が評価される。典型的に異なるマッピングルールの数が数値的な現在のコンテクスト値754の可能な値の数よりも著しく小さいので、マッピングルールセレクタ760は、例えばマッピングルールインデックス値によって表される同じマッピングルールを比較的多数の異なる数値的なコンテクスト値に割り当てる。それにしても、典型的に、特定のマッピングルールが良好な符号化効率を得るために関連すべきである特定の数値的なコンテクスト値によって表される特定のスペクトル構成がある。数値的な現在のコンテクスト値に基づいてマッピングルールの選択は、単一のハッシュテーブルのエントリが重要な状態値および数値的な現在のコンテクスト値の間隔の境界の両方を定義する場合、特に高い計算効率で実行できることが見いだされている。さらに、図221、図222、図223および図224に定義されるようなハッシュテーブルの使用は、特に高い符号化効率をもたらすことが見いだされている。このメカニズムは、前記ハッシュテーブルとの併用で、マッピングルール選択の要求によく適していることが見いだされているが、その理由は、単一の重要な状態値または重要な数値的なコンテクスト値が共通のマッピングルールが関連する複数の重要でない状態値の左側間隔および共通のマッピングルールが関連する複数の重要でない状態値の右側間隔の間に埋め込まれる多くの場合があるからである。また、エントリが図221、図222、図223および図224のテーブルにおいて定義されさらに重要な状態値および数値的な現在のコンテクスト値の間隔の境界の両方を定義する単一のハッシュテーブルを用いるメカニズムは、異なる場合を効率的に取り扱うことができ、そこにおいて、例えば、中間に重要な状態値なしで重要でない数値的なコンテクスト値にも指定される重要でない状態値の2つの隣接する間隔がある。特に高い計算効率は、テーブルアクセスの数が少なく保たれるため達成される。例えば、単一の反復的なテーブル検索は、数値的な現在のコンテクスト値が前記ハッシュテーブルのエントリによって定義される重要な状態値のいずれかに等しいかどうかをまたは数値的な現在のコンテクスト値が重要でない状態値の間隔のどれに位置するかを見いだすために大部分の実施形態において十分である。したがって、時間がかかることおよびエネルギーを消耗することの両方であるテーブルアクセスの数は、少なく保つことができる。このように、ハッシュテーブル762を用いるマッピングルールセレクタ760は、計算の複雑度に関する特に効率的なマッピングルールセレクタとして考慮されうり、その一方で、ビットレートに関して良好な符号化効率を得ることをさらに可能にする。数値的な現在のコンテクスト値754からマッピングルール情報742の導出に関する詳細が以下に記載される。2.図8によるオーディオデコーダ図8は、オーディオデコーダ800の略ブロック図を示す。オーディオデコーダ800は、符号化されたオーディオ情報810を受信し、さらに、それに基づいて復号化されたオーディオ情報812を提供するように構成される。オーディオデコーダ800は、スペクトル値の算術的に符号化された表現821に基づいて複数のスペクトル値822を提供するように構成される算術デコーダ820を含む。オーディオデコーダ800は、復号化されたスペクトル値822を受信し、さらに、復号化されたオーディオ情報812を得るために、復号化されたスペクトル値822を用いて、復号化されたオーディオ情報を構成しうる時間領域オーディオ表現812を提供するように構成される周波数領域-時間領域コンバータ830も含む。算術デコーダ820は、スペクトル値決定器824を含み、それは、スペクトル値の算術的に符号化された表現821のコード値を、1つ以上の復号化されたスペクトル値または少なくとも1つ以上の復号化されたスペクトル値の部分例えば最上位ビットプレーンを表すシンボルコード上にマップするように構成される。スペクトル値決定器824は、マッピングルール情報828aによって表されうるマッピングルールに基づいてマッピングを実行するように構成されうる。マッピングルール情報828aは、例えば、マッピングルールインデックス値のまたは例えばマッピングルールインデックス値に基づいて選択される選択された累積度数テーブルの形式をとりうる。算術デコーダ820は、コンテクスト状態情報826aによって表されうるコンテクスト状態に基づいて、復号化された形式で1つ以上のスペクトル値またはその最上位ビットプレーンを表すシンボルコード上への、スペクトル値の算術的に符号化された表現821によって表されるコード値のマッピングを表すマッピングルール例えば累積度数テーブルを選択するように構成される。算術デコーダ820は、複数の前に復号化されたスペクトル値に基づいて数値的な現在のコンテクスト値によって表される現在のコンテクスト状態を決定するように構成される。この目的のために、前に復号化されたスペクトル値を表す情報を受信しさらにそれに基づいて現在のコンテクスト状態を表す数値的な現在のコンテクスト値826aを提供する状態トラッカ826が用いられうる。算術デコーダは、マッピングルールを選択するために、エントリが数値的なコンテクスト値中の重要な状態値および数値的なコンテクスト値の間隔の境界の両方を定義するハッシュテーブル829を評価するようにも構成される。好ましくは、ハッシュテーブル829ari_hash_m[742]のエントリは、図221から図224のテーブル表現において示されるように定義される。ハッシュテーブル829は、マッピングルールを選択するためにすなわちマッピングルール情報828aを提供するために評価される。好ましくは、マッピングルールインデックス値は、重要な状態値である数値的なコンテクスト値と個々に関連し、さらに、共通のマッピングルールインデックス値は、間隔境界によって囲まれる間隔内に位置する異なる数値的なコンテクスト値と関連する。ハッシュテーブル829の評価は、例えば、マッピングルールセレクタ828の一部でありうるハッシュテーブル評価器を用いて実行されうる。したがって、マッピングルール情報828aは、例えば、マッピングルールインデックス値の形式で、現在のコンテクスト状態を表す数値的な現在のコンテクスト値826aに基づいて得られる。マッピングルールセレクタ828は、例えば、ハッシュテーブル829の評価の結果に基づいてマッピングルールインデックス値828aを決定しうる。その代わりに、ハッシュテーブル829の評価は、マッピングルールインデックス値を直接的に提供しうる。オーディオ信号デコーダ800の機能に関して、算術デコーダ820は、平均して、復号化されるスペクトル値によく適しているマッピングルール例えば累積度数テーブルを選択するように構成される点に留意すべきであり、マッピングルールは、例えば数値的な現在のコンテクスト値によって表される現在のコンテクスト状態に基づいて選択されるので、複数の前に復号化されたスペクトル値に基づいて次々に決定される。したがって、復号化される隣接するスペクトル値間の統計依存を利用することができる。さらに、算術デコーダ820は、マッピングルールセレクタ828を用いて、計算の複雑度、テーブルサイズおよび符号化効率間の良好なトレードオフで、効率的に実施されうる。エントリが重要な状態値および重要でない状態値の間隔の間隔境界の両方を表す単一のハッシュテーブル829を評価することによって、単一の反復的なテーブル検索は、数値的な現在のコンテクスト値826aからマッピングルール情報828aを導き出すために十分でありうる。さらに、図221、図222、図223および図224に定義されるようなハッシュテーブルの使用は、特に高い符号化効率をもたらすことが見いだされている。したがって、比較的多数の異なる可能な数値的な現在のコンテクスト値を比較的より少数の異なるマッピングルールインデックス値にマップすることが可能である。上述のように、さらに図221から図224のテーブル表現において定義されるように、ハッシュテーブル829を用いることによって、多くの場合、単一の分離された重要な状態値重要なコンテクスト値が重要でない状態値重要でないコンテクスト値の左側間隔および重要でない状態値重要でないコンテクスト値の右側間隔の間に埋め込まれる知見を利用することが可能であり、異なるマッピングルールインデックス値は、左側間隔の状態値コンテクスト値および右側間隔の状態値コンテクスト値を比較するときに、重要な状態値重要なコンテクスト値と関連する。しかしながら、ハッシュテーブル829の使用は、中間に重要な状態値なしで、数値的な状態値の2つの間隔がすぐに隣接する状況のためにもよく適している。結論として、ハッシュテーブル829ari_hash_m[742]を評価するマッピングルールセレクタ828は、現在のコンテクスト状態に基づいてまたは現在のコンテクスト状態を表す数値的な現在のコンテクスト値に基づいて、マッピングルールを選択するときにまたはマッピングルールインデックス値を提供するときに、特に良好な効率をもたらすが、その理由は、ハッシングメカニズムがオーディオデコーダにおいて典型的なコンテクストシナリオによく適しているからである。詳細が以下に記載される。3.図9によるコンテクスト値ハッシングメカニズム以下において、マッピングルールセレクタ760および/またはマッピングルールセレクタ828において実施されうるコンテクストハッシングメカニズムが開示される。ハッシュテーブル762および/またはハッシュテーブル829は、図221から図224のテーブル表現において定義されるように、前記コンテクスト値ハッシングメカニズムを実施するために用いられうる。数値的な現在のコンテクスト値ハッシングシナリオを示す図9をこれから参照して、詳細が記載される。図9のグラフ表現において、横座標910は、数値的な現在のコンテクスト値の値すなわち数値的なコンテクスト値を表す。縦座標912は、マッピングルールインデックス値を表す。マーキング914は、重要でない状態を表す重要でない数値的なコンテクスト値のためのマッピングルールインデックス値を表す。マーキング916は、個々の真の重要な状態を表すindividual個々の真の重要な数値的なコンテクスト値のためのマッピングルールインデックス値を表す。マーキング916は、improper不適切な重要な状態を表すimproper不適切な数値的なコンテクスト値のためのマッピングルールインデックス値を表し、improper不適切な重要な状態は、同じマッピングルールインデックス値が重要でない数値的なコンテクスト値の隣接する間隔のうちの1つに関して関連する重要な状態である。明らかなように、ハッシュテーブルエントリari_hash_m[i1]は、c1の数値的なコンテクスト値を有する個々の真の重要な状態を表す。明らかなように、マッピングルールインデックス値mriv1は、数値的なコンテクスト値c1を有する個々の真の重要な状態と関連する。したがって、数値的なコンテクスト値c1およびマッピングルールインデックス値mriv1の両方は、ハッシュテーブルエントリari_hash_m[i1]によって表されうる。数値的なコンテクスト値の間隔932は、数値的なコンテクスト値c1によって囲まれ、数値的なコンテクスト値c1は、間隔932の最も大きい数値的なコンテクスト値がc1-1に等しいように、間隔932に属しない。mriv1と異なるmriv4のマッピングルールインデックス値は、間隔932の数値的なコンテクスト値と関連する。マッピングルールインデックス値mriv4は、例えば、付加的なテーブルari_lookup_mのテーブルエントリari_lookup_m[i1-1]によって表されうる。さらに、マッピングルールインデックス値mriv2は、間隔934内に位置する数値的なコンテクスト値と関連しうる。間隔934の下限は、重要な数値的なコンテクスト値である数値的なコンテクスト値c1によって決定され、数値的なコンテクスト値c1は、間隔932に帰属しない。したがって、間隔934の最も小さい値は、整数の数値的なコンテクスト値と仮定するc11に等しい。間隔934の別の境界は、数値的なコンテクスト値c2によって決定され、数値的なコンテクスト値c2は、間隔934の最も大きい値がc2-1に等しいように、間隔934に属しない。数値的なコンテクスト値c2は、ハッシュテーブルエントリari_hash_m[i2]によって表されるいわゆるimproper不適切な数値的なコンテクスト値である。例えば、マッピングルールインデックス値mriv2は、improper不適切な重要な数値的なコンテクスト値c2と関連する数値的なコンテクスト値が数値的なコンテクスト値c2によって囲まれる間隔934と関連するマッピングルールインデックス値に等しいように、数値的なコンテクスト値c2と関連しうる。さらに、数値的なコンテクスト値の間隔936も、数値的なコンテクスト値c2によって囲まれ、数値コンテクスト値c2は、間隔936の最も小さい数値的なコンテクスト値がc21に等しいように、間隔936に属しない。マッピングルールインデックス値mriv2と典型的に異なるマッピングルールインデックス値mriv3は、間隔936の数値的なコンテクスト値と関連する。明らかなように、数値的なコンテクスト値の間隔932と関連するマッピングルールインデックス値mriv4は、テーブルari_lookup_mのエントリari_lookup_m[i1-1]によって表されうり、間隔934の数値的なコンテクスト値と関連するマッピングルールインデックスmriv2は、テーブルari_lookup_mのテーブルエントリari_lookup_m[i1]によって表されうり、さらに、マッピングルールインデックス値mriv3は、テーブルari_lookup_mのテーブルエントリari_lookup_m[i2]によって表されうる。ここに示される例において、ハッシュテーブルインデックス値i2は、ハッシュテーブルインデックス値i1よりも1だけ大きくてもよい。図9から明らかなように、マッピングルールセレクタ760またはマッピングルールセレクタ828は、数値的な現在のコンテクスト値754、826aを受信しうり、さらに、テーブルari_hash_mのエントリを評価することによって、数値的な現在のコンテクスト値がindividual個々の重要な状態値またはimproper不適切な重要な状態値であるかどうかにかかわりなく重要な状態値であるかどうかを、または、数値的な現在のコンテクスト値がindividual個々のまたはimproper不適切な重要な状態値c1、c2によって囲まれる間隔932、934、936のうちの1つ内に位置するかどうかを決定しうる。数値的な現在のコンテクスト値が重要な状態値c1、c2に等しいかどうかのチェックと数値的な現在のコンテクスト値が重要な状態値に等しくない場合において数値的な現在のコンテクスト値が間隔932、934、936のどれに位置するかの評価との両方は、単一の共通のハッシュテーブル検索を用いて実行されうる。さらに、ハッシュテーブルari_hash_mの評価は、ハッシュテーブルインデックス値例えばi1-1、i1またはi2を得るために用いられうる。このように、マッピングルールセレクタ760、828は、単一のハッシュテーブル762、829例えばハッシュテーブルari_hash_mを評価することによって、重要な状態値例えばc1またはc2および/または間隔例えば932、934、936を指定するハッシュテーブルインデックス値例えばi1-1、i1またはi2と数値的な現在のコンテクスト値が重要な状態値にも指定される重要なコンテクスト値であるかどうかに関する情報とを得るように構成されうる。さらに、ハッシュテーブル762、829ari_hash_mの評価において、数値的な現在のコンテクスト値がsignificant重要なコンテクスト値またはsignificant重要な状態値でないことが見いだされている場合、ハッシュテーブルari_hash_mの評価から得られるハッシュテーブルインデックス値例えばi1-1、i1またはi2は、数値的なコンテクスト値の間隔932、934、936と関連するマッピングルールインデックス値を得るために用いられうる。例えば、ハッシュテーブルインデックス値例えばi1-1、i1またはi2は、数値的な現在のコンテクスト値が位置する間隔932、934、936と関連するマッピングルールインデックス値を表す付加的なマッピングテーブル例えばari_lookup_mのエントリを指定するために用いられうる。詳しくは、アルゴリズムarith_get_pkの詳細な議論について以下に述べるこのアルゴリズムarith_get_pkのための異なるオプションがあり、その例が図5eおよび図5fに示される。さらに、間隔のサイズは、状況によって異なりうる点に留意すべきである。場合によっては、数値的なコンテクスト値の間隔は、単一の数値的なコンテクスト値を含む。しかしながら、多くの場合、間隔は、複数の数値的なコンテクスト値を含みうる。4.図10によるオーディオエンコーダ図10は、本発明の実施形態によるオーディオエンコーダ1000の略ブロック図を示す。図10によるオーディオエンコーダ1000は、同一の信号および手段が図7および図10に同一の参照番号で指定されるように、図7によるオーディオエンコーダ700と類似している。オーディオエンコーダ1000は、入力されたオーディオ情報710を受信し、さらに、それに基づいて符号化されたオーディオ情報712を提供するように構成される。オーディオエンコーダ1000は、周波数領域オーディオ表現722がスペクトル値のセットを含むように、入力されたオーディオ情報710の時間領域表現に基づいて周波数領域表現722を提供するように構成されるエネルギー圧縮の時間領域-周波数領域コンバータ720を含む。オーディオエンコーダ1000は、例えば複数の可変長コードワードを含みうる符号化されたオーディオ情報712を得るために可変長コードワードを用いて、周波数領域オーディオ表現722を形成するスペクトル値のセットからスペクトル値またはその前処理されたバージョンを符号化するように構成される算術エンコーダ1030も含む。算術エンコーダ1030は、コンテクスト状態に基づいてコード値上にすなわち可変長コードワード上に、スペクトル値または複数のスペクトル値を、または、スペクトル値のまたは複数のスペクトル値の最上位ビットプレーンの値をマップするように構成される。算術エンコーダ1030は、コンテクスト状態に基づいてコード値上への、スペクトル値のまたは複数のスペクトル値の、または、スペクトル値のまたは複数のスペクトル値の最上位ビットプレーンのマッピングを表すマッピングルールを選択するように構成される。算術エンコーダは、複数の前に符号化された好ましくは、必ずではないが隣接するスペクトル値に基づいて現在のコンテクスト状態を決定するように構成される。この目的のために、算術エンコーダは、符号化される1つ以上のスペクトル値と関連するコンテクスト状態を表す数値的な現在のコンテクスト値の数表現を得るために例えば対応するマッピングルールを選択するために、コンテクストサブ区域値に基づいて、1つ以上の前に符号化されたスペクトル値と関連するコンテクスト状態を表す数値的な前のコンテクスト値の数表現を修正するように例えば対応するマッピングルールを選択するように構成される。明らかなように、コード値上への、スペクトル値のまたは複数のスペクトル値の、または、スペクトル値のまたは複数のスペクトル値の最上位ビットプレーンのマッピングは、マッピングルール情報742によって表されるマッピングルールを用いてスペクトル値符号化740によって実行されうる。状態トラッカ750は、コンテクスト状態を追跡するように構成されうる。状態トラッカ750は、符号化される1つ以上のスペクトル値の符号化と関連するコンテクスト状態を表す数値的な現在のコンテクスト値の数表現を得るために、コンテクストサブ区域値に基づいて、1つ以上の前に符号化されたスペクトル値の符号化と関連するコンテクスト状態を表す数値的な前のコンテクスト値の数表現を修正するように構成されうる。数値的な前のコンテクスト値の数表現の修正は、例えば、数値的な前のコンテクスト値および1つ以上のコンテクストサブ区域値を受信しさらに数値的な現在のコンテクスト値を提供する数表現修正器1052によって実行されうる。したがって、状態トラッカ1050は、例えば、数値的な現在のコンテクスト値の形式で、現在のコンテクスト状態を表す情報754を提供する。マッピングルールセレクタ1060は、コード値上への、スペクトル値のまたは複数のスペクトル値の、または、スペクトル値のまたは複数のスペクトル値の最上位ビットプレーンのマッピングを表すマッピングルール、例えば累積度数テーブルを選択しうる。したがって、マッピングルールセレクタ1060は、マッピングルール情報742をスペクトル符号化740に提供する。いくつかの実施形態において、状態トラッカ1050は、状態トラッカ750または状態トラッカ826と同一であってもよい点に留意すべきである。また、いくつかの実施形態において、マッピングルールセレクタ1060は、マッピングルールセレクタ760またはマッピングルールセレクタ828と同一であってもよい点にも留意すべきである。好ましくは、マッピングルールセレクタ828は、図221から図224のテーブル表現において定義されるように、マッピングルールの選択のためのハッシュテーブルari_hash_m[742]を用いるように構成されうる。例えば、マッピングルールセレクタは、図7および図8に関して上述のような機能を実行しうる。上記を要約すると、オーディオエンコーダ1000は、時間領域-周波数領域コンバータによって提供される周波数領域オーディオ表現の算術符号化を実行する。算術符号化は、マッピングルール例えば累積度数テーブルが前に符号化されたスペクトル値に基づいて選択されるように、コンテクストに依存する。したがって、互いにおよび/または現在符号化されたスペクトル値すなわち現在符号化されたスペクトル値の所定の環境内のスペクトル値に時間および/または周波数または少なくとも所定の環境内において隣接するスペクトル値は、算術符号化によって評価される確率分布を調整するために、算術符号化において考慮される。数値的な現在のコンテクスト値を決定するときに、1つ以上の前に符号化されたスペクトル値と関連するコンテクスト状態を表す数値的な前のコンテクスト値の数表現は、符号化される1つ以上のスペクトル値と関連するコンテクスト状態を表す数値的な現在のコンテクスト値の数表現を得るために、コンテクストサブ区域値に基づいて修正される。このアプローチは、完全な再計算が従来のアプローチにおいてかなりの量のリソースを消費するという数値的な現在のコンテクスト値の完全な再計算を回避することを可能にする。多種多様な可能性は、数値的な前のコンテクスト値の数表現のリスケーリングの組合せ、数値的な前のコンテクスト値の数表現へのまたは数値的な前のコンテクスト値の処理された数表現へのコンテクストサブ区域値またはそれから導き出される値の加算、コンテクストサブ区域値に基づく数値的な前のコンテクスト値の全体の数表現よりはむしろ数表現の部分の置換、その他を含む、数値的な前のコンテクスト値の数表現の修正のために存在する。このように、典型的に、数値的な現在のコンテクスト値の数値的な表現は、数値的な前のコンテクスト値の数表現に基づいて、さらに、少なくとも1つのコンテクストサブ区域値にも基づいて得られ、典型的に、演算の組合せは、例えば、加算演算、減算演算、乗算演算、分割演算、ブールのAND演算、ブールのOR演算、ブールのNAND演算、ブールのNOR演算、ブールの否定演算、補数演算またはシフト演算からの2つ以上の演算のように、数値的な前のコンテクスト値とコンテクストサブ区域値を組み合わせるために実行される。したがって、少なくとも数値的な前のコンテクスト値の数表現の部分は、数値的な前のコンテクスト値から数値的な現在のコンテクスト値を導き出すときに、異なる位置への任意のシフトを除いて典型的に不変に維持される。対照的に、数値的な前のコンテクスト値の数表現の他の部分は、1つ以上のコンテクストサブ区域値に基づいて変更される。このように、数値的な現在のコンテクスト値は、比較的少ない計算量で得ることができ、その一方で、数値的な現在のコンテクスト値の完全な再計算を回避する。このように、マッピングルールセレクタ1060による使用によく適しさらに図221、図222、図223、図224のテーブル表現において定義されるようなハッシュテーブルari_hash_mとの併用での使用に特によく適している意味のある数値的な現在のコンテクスト値を得ることができる。したがって、効率的な符号化は、コンテクスト計算を十分に単純に保つことによって達成することができる。5.図11によるオーディオデコーダ図11は、オーディオデコーダ1100の略ブロック図を示す。オーディオデコーダ1100は、同一の信号、手段および機能が同一の参照番号で指定されるように、図8によるオーディオデコーダ800と類似している。オーディオデコーダ1100は、符号化されたオーディオ情報810を受信し、さらに、それに基づいて復号化されたオーディオ情報812を提供するように構成される。オーディオデコーダ1100は、スペクトル値の算術的に符号化された表現821に基づいて複数の復号化されたスペクトル値822を提供するように構成される算術デコーダ1120を含む。オーディオデコーダ1100は、復号化されたスペクトル値822を受信し、さらに、復号化されたオーディオ情報812を得るために、復号化されたスペクトル値822を用いて、復号化されたオーディオ情報を構成しうる時間領域オーディオ表現812を提供するように構成される周波数領域-時間領域コンバータ830も含む。算術デコーダ1120は、1つ以上の復号化されたスペクトル値または少なくとも1つ以上の復号化されたスペクトル値の部分例えば最上位ビットプレーンを表すシンボルコード上に、スペクトル値の算術的に符号化された表現821のコード値をマップするように構成されるスペクトル値決定器824を含む。スペクトル値決定器824は、マッピングルール情報828aによって表されうるマッピングルールに基づいてマッピングを実行するように構成されうる。マッピングルール情報828aは、例えば、マッピングルールインデックス値を含みうり、または、累積度数テーブルのエントリの選択されたセットを含みうる。算術デコーダ1120は、コンテクスト状態がコンテクスト状態情報1126aによって表されうるコンテクスト状態に基づいて1つ以上のスペクトル値を表すシンボルコード上への、スペクトル値の算術的に符号化された表現821によって表されるコード値のマッピングを表すマッピングルール例えば累積度数テーブルを選択するように構成される。コンテクスト状態情報1126aは、数値的な現在のコンテクスト値の形式をとりうる。算術デコーダ1120は、複数の前に復号化されたスペクトル値822に基づいて現在のコンテクスト状態を決定するように構成される。この目的のために、前に復号化されたスペクトル値を表す情報を受信する状態トラッカ1126が用いられうる。算術デコーダは、復号化される1つ以上のスペクトル値と関連するコンテクスト状態を表す数値的な現在のコンテクスト値の数表現を得るために、コンテクストサブ区域値に基づいて、1つ以上の前に復号化されたスペクトル値と関連するコンテクスト状態を表す数値的な前のコンテクスト値の数表現を修正するように構成される。数値的な前のコンテクスト値の数表現の修正は、例えば、状態トラッカ1126の部分である数表現修正器1127によって実行されうる。したがって、現在のコンテクスト状態情報1126aは、例えば、数値的な現在のコンテクスト値の形式で得られる。マッピングルールの選択は、現在のコンテクスト状態情報1126aからマッピングルール情報828aを導き出しさらにマッピングルール情報828aをスペクトル値決定器824に提供するマッピングルールセレクタ1128によって実行されうる。好ましくは、マッピングルールセレクタ1128は、図221から図224のテーブル表現において定義されるように、マッピングルールの選択のためのハッシュテーブルari_hash_m[742]を用いるうに構成されうる。例えば、マッピングルールセレクタは、図7および図8に関して上述のような機能を実行しうる。オーディオ信号デコーダ1100の機能に関して、算術デコーダ1120は、平均して、復号化されるスペクトル値によく適しているマッピングルール例えば累積度数テーブルを選択するように構成される点に留意すべきであり、マッピングルールは、現在のコンテクスト状態に基づいて選択されるので、複数の前に復号化されたスペクトル値に基づいて次々に決定される。したがって、復号化される隣接するスペクトル値間の統計依存を利用することができる。さらに、復号化される1つ以上のスペクトル値の復号化と関連するコンテクスト状態を表す数値的な現在のコンテクスト値の数表現を得るために、コンテクストサブ区域値に基づいて、1つ以上の前に復号化されたスペクトル値の復号化と関連するコンテクスト状態を表す数値的な前のコンテクスト値の数表現を修正することによって、比較的少ない計算量で、マッピングルールインデックス値へのマッピングによく適しさらに図221、図222、図223、図224のテーブル表現において定義されるようなハッシュテーブルari_hash_mとの併用での使用に特によく適している現在のコンテクスト状態に関する意味のある情報を得ることが可能である。少なくともおそらくビットシフトされまたはスケールされたバージョンにおいて数値的な前のコンテクスト値の数表現の部分を維持するとともに、数値的な前のコンテクスト値において考慮されなかったが数値的な現在のコンテクスト値において考慮されるべきであるコンテクストサブ区域値に基づいて数値的な前のコンテクスト値の数表現の別の部分を更新することによって、数値的な現在のコンテクスト値を導き出す演算の数を相当に少なく保つことができる。また、隣接するスペクトル値を復号化するために用いられるコンテクストが典型的に類似しまたは相関するという事実を利用することが可能である。例えば、第1のスペクトル値のまたは第1の複数のスペクトル値の復号化のためのコンテクストは、前に復号化されたスペクトル値の第1のセットに依存する。第1のスペクトル値またはスペクトル値の第1のセットに隣接する第2のスペクトル値またはスペクトル値の第2のセットの復号化のためのコンテクストは、前に復号化されたスペクトル値の第2のセットを含みうる。第1のスペクトル値および第2のスペクトル値が例えば関連した周波数に関して隣接されると仮定されるので、第1のスペクトル値の符号化のためのコンテクストを決定するスペクトル値の第1のセットは、第2のスペクトル値の復号化のためのコンテクストを決定するスペクトル値の第2のセットといくらかのオーバーラップを含みうる。したがって、第2のスペクトル値の復号化のためのコンテクスト状態は、第1のスペクトル値の復号化のためのコンテクスト状態といくらかの相関を含むことが容易に理解できる。コンテクスト導出すなわち数値的な現在のコンテクスト値の導出の計算効率は、そのような相関を利用することによって達成することができる。隣接するスペクトル値の復号化のためのコンテクスト状態間の例えば数値的な前のコンテクスト値によって表されるコンテクスト状態および数値的な現在のコンテクスト値によって表されるコンテクスト状態間の相関は、数値的な前のコンテクスト状態の導出のために考慮されないコンテクストサブ区域値に依存する数値的な前のコンテクスト値のそれらの部分だけを修正することによって、さらに、数値的な前のコンテクスト値から数値的な現在のコンテクスト値を導き出すことによって、効率的に利用することができることが見いだされている。結論として、ここに記載されている概念は、数値的な現在のコンテクスト値を導き出すときに、特に良好な計算効率を可能にする。詳細が以下に記載される。6.図12によるオーディオエンコーダ図12は、本発明の実施形態によるオーディオエンコーダの略ブロック図を示す。図12によるオーディオエンコーダ1200は、同一の手段、信号および機能が同一参照番号で指定されるように、図7によるオーディオエンコーダ700と類似している。オーディオエンコーダ1200は、入力されたオーディオ情報710を受信し、さらに、それに基づいて符号化されたオーディオ情報712を提供するように構成される。オーディオエンコーダ1200は、周波数領域オーディオ表現722がスペクトル値のセットを含むように、入力されたオーディオ情報710の時間領域オーディオ表現に基づいて周波数領域オーディオ表現722を提供するように構成されるエネルギー圧縮の時間領域-周波数領域コンバータ720を含む。オーディオエンコーダ1200は、例えば複数の可変長コードワードを含みうる符号化されたオーディオ情報712を得るために可変長コードワードを用いて、周波数領域オーディオ表現722を形成するスペクトル値のセットからスペクトル値または複数のスペクトル値、または、その前処理されたバージョンを符号化するように構成される算術エンコーダ1230も含む。算術エンコーダ1230は、コンテクスト状態に基づいて、コード値上にすなわち可変長コードワード上に、スペクトル値または複数のスペクトル値、または、スペクトル値のまたは複数のスペクトル値の最上位ビットプレーンの値をマップするように構成される。算術エンコーダ1230は、コンテクスト状態に基づいて、コード値上への、スペクトル値のまたは複数のスペクトル値の、または、スペクトル値のまたは複数のスペクトル値の最上位ビットプレーンのマッピングを表すマッピングルールを選択するように構成される。算術エンコーダは、複数の前に符号化された好ましくは、必ずではないが、隣接するスペクトル値に基づいて現在のコンテクスト状態を決定するように構成される。この目的のために、算術エンコーダは、前に符号化されたスペクトル値に基づいて複数のコンテクストサブ区域値を得るように、前記コンテクストサブ区域値を格納するように、さらに、格納されたコンテクストサブ区域値に基づいて符号化される1つ以上のスペクトル値と関連する数値的な現在のコンテクスト値を導き出すように構成される。さらに、算術エンコーダは、複数の前に符号化されたスペクトル値と関連する共通のコンテクストサブ区域値を得るために、複数の前に符号化されたスペクトル値によって形成されるベクトルのノルムを計算するように構成される。明らかなように、コード値上への、スペクトル値のまたは複数のスペクトル値の、または、スペクトル値のまたは複数のスペクトル値の最上位ビットプレーンのマッピングは、マッピングルール情報742によって表されるマッピングルールを用いてスペクトル値符号化740によって実行されうる。状態トラッカ1250は、コンテクスト状態を追跡するように構成されうり、さらに、複数の前に符号化されたスペクトル値と関連する共通のコンテクストサブ区域値を得るために、複数の前に符号化されたスペクトル値によって形成されるベクトルのノルムを計算するためにコンテクストサブ区域値コンピュータ1252を含みうる。状態トラッカ1250は、好ましくは、コンテクストサブ区域値コンピュータ1252によって実行されるコンテクストサブ区域値の前記計算の結果に基づいて現在のコンテクスト状態を決定するようにも構成される。したがって、状態トラッカ1250は、現在のコンテクスト状態を表す情報1254を提供する。マッピングルールセレクタ1260は、コード値上への、スペクトル値のまたはスペクトル値の最上位ビットプレーンのマッピングを表すマッピングルール、例えば累積度数テーブルを選択しうる。したがって、マッピングルールセレクタ1260は、マッピングルール情報742をスペクトル符号化740に提供する。好ましくは、マッピングルールセレクタ1260は、図221から図224のテーブル表現において定義されるように、マッピングルールの選択のためのハッシュテーブルari_hash_m[742]を用いるように構成されうる。例えば、マッピングルールセレクタは、図7および図8に関して上述のような機能を実行しうる。上記を要約すると、オーディオエンコーダ1200は、時間領域-周波数領域コンバータ720によって提供される周波数領域オーディオ表現の算術符号化を実行する。算術符号化は、マッピングルール例えば累積度数テーブルが前に符号化されたスペクトル値に基づいて選択されるように、コンテクストに依存する。したがって、互いにおよび/または現在符号化されたスペクトル値すなわち現在符号化されたスペクトル値の所定の環境内のスペクトル値に時間および/または周波数または少なくとも所定の環境内において隣接するスペクトル値は、算術符号化によって評価される確率分布を調整するために、算術符号化において考慮される。数値的な現在のコンテクスト値を提供するために、複数の前に符号化されたスペクトル値と関連するコンテクストサブ区域値は、複数の前に符号化されたスペクトル値によって形成されるベクトルのノルムの計算に基づいて得られる。数値的な現在のコンテクスト値の決定の結果は、現在のコンテクスト状態の選択においてすなわちマッピングルールの選択において適用される。複数の前に符号化されたスペクトル値によって形成されるベクトルのノルムを計算することによって、符号化される1つ以上のスペクトル値のコンテクストの部分を表す意味のある情報を得ることができ、前に符号化されたスペクトル値のベクトルのノルムは、典型的に比較的少数のビットで表すことができる。このように、数値的な現在のコンテクスト値の導出において後の使用のために格納される必要があるコンテクスト情報の量は、コンテクストサブ区域値の計算のための上述のアプローチを適用することによって十分に少なく保つことができる。前に符号化されたスペクトル値のベクトルのノルムは、典型的にコンテクストの状態に関する最も重要な情報を含むことが見いだされている。対照的に、前記前に符号化されたスペクトル値の符号は、後の使用のために格納される情報の量を低減するために前に復号化されたスペクトル値の符号を無視することに意味があるように、典型的にコンテクストの状態に与える下位の影響を含むことが見いだされている。また、前に符号化されたスペクトル値のベクトルのノルムの計算は、典型的にノルムの計算によって得られる平均効果が実質的に影響を受けないコンテクスト状態に関する最も重要な情報をそのままにするように、コンテクストサブ区域値の導出のための合理的なアプローチであることが見いだされている。要約すると、コンテクストサブ区域値コンピュータ1252によって実行されるコンテクストサブ区域値計算は、コンパクトなコンテクストサブ区域情報を記憶および後の使用に提供することを可能にし、コンテクスト状態に関する最も関連した情報は、情報の量の低減にもかかわらず保存される。さらに、上述のように得られる数値的な現在のコンテクスト値は、図221から図224のテーブル表現において定義されるように、ハッシュテーブルari_hash_m[742]を用いてマッピングルールの選択に非常によく適していることが見いだされている。例えば、マッピングルールセレクタは、図7および図8に関して上述のような機能を実行しうる。したがって、入力されたオーディオ情報710の効率的な符号化を達成することができ、その一方で、算術エンコーダ1230によって格納される計算量およびデータの量を十分に少なく保つ。7.図13によるオーディオデコーダ図13は、オーディオデコーダ1300の略ブロック図を示す。オーディオデコーダ1300は、図8によるオーディオデコーダ800および図11によるオーディオデコーダ1100と類似しているので、同一の手段、信号および機能が同一の番号で指定される。オーディオデコーダ1300は、符号化されたオーディオ情報810を受信し、さらに、それに基づいて復号化されたオーディオ情報812を提供するように構成される。オーディオデコーダ1300は、スペクトル値の算術的に符号化された表現821に基づいて複数の復号化されたスペクトル値822を提供するように構成される算術デコーダ1320を含む。オーディオデコーダ1300は、復号化されたスペクトル値822を受信し、さらに、復号化オーディオ情報812を得るために、復号化されたスペクトル値822を用いて、復号化されたオーディオ情報を構成しうる時間領域オーディオ表現812を提供するように構成される周波数領域時間領域コンバータ830も含む。算術デコーダ1320は、1つ以上の復号化されたスペクトル値または少なくとも1つ以上の復号化されたスペクトル値の部分例えば最上位ビットプレーンを表すシンボルコード上に、スペクトル値の算術的に符号化された表現821のコード値をマップするように構成されるスペクトル値決定器824を含む。スペクトル値決定器824は、マッピングルール情報828aによって表されるマッピングルールに基づいてマッピングを実行するように構成されうる。マッピングルール情報828aは、例えば、マッピングルールインデックス値または累積度数テーブルのエントリの選択されたセットを含みうる。算術デコーダ1320は、コンテクスト状態情報1326aによって表されうるコンテクスト状態に基づいて、1つ以上のスペクトル値を表すシンボルコード上への、スペクトル値の算術的に符号化された表現821によって表されるコード値のマッピングを表すマッピングルール例えば累積度数テーブルを選択するように構成される。好ましくは、算術デコーダ1320は、図221から図224のテーブル表現において定義されるように、マッピングルールの選択のためのハッシュテーブルari_hash_m[742]を用いるように構成されうる。例えば、算術デコーダ1320は、図7および図8に関して上述のような機能を実行しうる。算術デコーダ1320は、複数の前に復号化されたスペクトル値822に基づいて現在のコンテクスト状態を決定するように構成される。この目的のために、前に復号化されたスペクトル値を表す情報を受信する状態トラッカ1326が用いられうる。算術デコーダは、前に復号化されたスペクトル値に基づいて複数のコンテクストサブ区域値を得るように、さらに、前記コンテクストサブ区域値を格納するようにも構成される。算術デコーダは、格納されたコンテクストサブ区域値に基づいて復号化される1つ以上のスペクトル値と関連する数値的な現在のコンテクスト値を導き出すように構成される。算術デコーダ1320は、複数の前に復号化されたスペクトル値と関連する共通のコンテクストサブ区域値を得るために、複数の前に復号化されたスペクトル値によって形成されるベクトルのノルムを計算するように構成される。複数の前の符号化されたスペクトル値によって形成されるベクトルのノルムの計算は、複数の前に復号化されたスペクトル値と関連する共通のコンテクストサブ区域値を得るために、例えば、状態トラッカ1326の部分であるコンテクストサブ区域値コンピュータ1327によって実行されうる。したがって、現在のコンテクスト状態情報1326aは、コンテクストサブ区域値に基づいて得られ、状態トラッカ1326は、好ましくは、格納されたコンテクストサブ区域値に基づいて復号化される1つ以上のスペクトル値と関連する数値的な現在のコンテクスト値を提供する。マッピングルールの選択は、現在のコンテクスト状態情報1326aからマッピングルール情報828aを導き出しさらにマッピングルール情報828aをスペクトル値決定器824に提供するマッピングルールセレクタ1328によって実行されうる。オーディオ信号デコーダ1300の機能に関して、算術デコーダ1320は、平均して、復号化されるスペクトル値によく適しているマッピングルール例えば累積度数テーブルを選択するように構成される点に留意すべきであり、マッピングルールは、現在のコンテクスト状態に基づいて選択されるので、複数の前に復号化されたスペクトル値に基づいて次々に決定される。したがって、復号化される隣接するスペクトル値間の統計依存を利用することができる。しかしながら、メモリ使用に関して、数値的なコンテクスト値の決定において後の使用のために、複数の前に復号化されたスペクトル値に形成されるベクトルのノルムの計算に基づくコンテクストサブ区域値を格納することが効率的であることが見いだされている。そのようなコンテクストサブ区域値は、最も関連したコンテクスト情報をまだ含むことも見いだされている。したがって、状態トラッカ1326によって用いられる概念は、符号化効率、計算効率および記憶効率間の良好な妥協を構成する。詳細が以下に記載される。8.図1によるオーディオエンコーダ以下において、本発明の実施形態によるオーディオエンコーダが記載される。図1は、そのようなオーディオエンコーダ100の略ブロック図を示す。オーディオエンコーダ100は、入力されたオーディオ情報110を受信し、さらに、それに基づいて符号化されたオーディオ情報を構成するビットストリーム112を提供するように構成される。オーディオエンコーダ100は、入力されたオーディオ情報110を受信し、さらに、それに基づいて前処理された入力されたオーディオ情報110aを提供するように構成されるプリプロセッサ120を任意に含む。オーディオエンコーダ100は、信号コンバータにも指定されるエネルギー圧縮の時間領域-周波数領域信号変換器130も含む。信号コンバータ130は、入力されたオーディオ情報110、110aを受信し、さらに、それに基づいて好ましくはスペクトル値のセットの形式をとる周波数領域オーディオ情報132を提供するように構成される。例えば、信号変換器130は、入力されたオーディオ情報110、110aのフレーム例えば時間領域サンプルのブロックを受信し、さらに、それぞれのオーディオフレームのオーディオコンテンツを表すスペクトル値のセットを提供するように構成されうる。加えて、信号変換器130は、入力されたオーディオ情報110、110aの複数の後の、オーバーラップするまたはでオーバーラップしないオーディオフレームを受信し、さらに、それに基づいてスペクトル値の一連の後のセット、それぞれのフレームと関連するスペクトル値のセットを含む時間周波数領域オーディオ表現を提供するように構成されうる。エネルギー圧縮の時間領域-周波数領域信号変換器130は、異なる、オーバーラップするまたはオーバーラップしない周波数レンジと関連するスペクトル値を提供するエネルギー圧縮のフィルタバンクを含みうる。例えば、信号変換器130は、変換ウィンドウを用いて入力されたオーディオ情報110、110aまたはそのフレームをウィンドウ化し、さらに、ウィンドウ化された入力されたオーディオ情報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による周波数領域オーディオ表現132、142のスケーリングおよび/またはスケーラ/量子化器150によって適用される量子化解像度を調整するためにオーディオエンコーダ100によって用いられる制御情報を提供しうる。したがって、知覚的に重要なスケールファクタバンドすなわちオーディオコンテンツの人間の知覚にとって特に重要である隣接するスペクトル値のグループは、大きいスケーリングファクタでスケールされさらに比較的高解像度で量子化され、その一方で、知覚的にそれほど重要でないスケールファクタバンドすなわち隣接するスペクトル値のグループは、比較的より小さいスケーリングファクタでスケールされさらに比較的より低い量子化解像度で量子化される。したがって、知覚的により重要な周波数のスケールされたスペクトル値は、典型的に知覚的にそれほど重要でない周波数のスペクトル値よりも著しく大きい。オーディオエンコーダは、周波数領域オーディオ表現132のスケールされ量子化されたバージョン152または、その代わりに、周波数領域オーディオ表現132の後処理されたバージョン142または周波数領域オーディオ表現132そのものを受信し、さらに、算術コードワード情報が周波数領域オーディオ表現152を表すように、それに基づいて算術コードワード情報172aを提供するように構成される算術エンコーダ170も含む。オーディオエンコーダ100は、算術コードワード情報172aを受信するように構成されるビットストリームペイロードフォーマッタ190も含む。ビットストリームペイロードフォーマッタ190は、例えば、どのスケールファクタがスケーラ/量子化器150によって適用されるかを表すスケールファクタ情報ように、典型的に付加的な情報を受信するようにも構成される。加えて、ビットストリームペイロードフォーマッタ190は、他の制御情報を受信するように構成されうる。ビットストリームペイロードフォーマッタ190は、以下に述べられる所望のビットストリーム構文に従うビットストリームをアセンブルすることによって受信された情報に基づいてビットストリーム112を提供するように構成される。以下において、算術エンコーダ170に関する詳細が記載される。算術エンコーダ170は、周波数領域オーディオ表現132の複数の後処理されスケールされ量子化されたスペクトル値を受信するように構成される。算術エンコーダは、スペクトル値からまたは2つのスペクトル値から、最上位ビットプレーンmを導き出すように構成される最上位ビットプレーン抽出器174含む。最上位ビットプレーンは、スペクトル値の最上位ビットである1つ以上のビット例えば2つまたは3つのビットを含みうる点にここで留意すべきである。このように、最上位ビットプレーン抽出器174は、スペクトル値の最上位ビットプレーン値176を提供する。しかしながら、その代わりに、最上位ビットプレーン抽出器174は、複数のスペクトル値例えばスペクトル値のaおよびbの最上位ビットプレーンを組み合わせる組み合わされた最上位ビットプレーン値mを提供しうる。スペクトル値aの最上位ビットプレーンは、mで指定される。その代わりに、複数のスペクトル値a、bの組み合わされた最上位ビットプレーン値は、mで指定される。算術エンコーダ170は、最上位ビットプレーン値mを表す算術コードワードacod_m[pki][m]を決定するように構成される第1のコードワード決定器180も含む。任意に、コードワード決定器180は、例えば、どれくらいの下位ビットプレーンが利用できるかを示すさらに、したがって、最上位ビットプレーンの数値的な重みを示す1つ以上のエスケープコードワードここにARITH_ESCAPEとも指定されるを提供することもできる。第1のコードワード決定器180は、累積度数テーブルインデックスpkiを有するまたはによって参照される選択された累積度数テーブルを用いて最上位ビットプレーン値mと関連するコードワードを提供するように構成されうる。どの累積度数テーブルが選択されるべきかに関して決定するために、算術エンコーダは、好ましくは、例えば、どのスペクトル値が前に符号化されたかを観察することによって、算術エンコーダの状態を追跡するように構成される状態トラッカ182を含む。したがって、状態トラッカ182は、状態情報184、例えばsまたはtまたはcで指定される状態値を提供する。算術エンコーダ170は、状態情報184を受信し、さらに、選択された累積度数テーブルを表す情報188をコードワード決定器180に提供するように構成される累積度数テーブルセレクタ186も含む。例えば、累積度数テーブルセレクタ186は、どの累積度数テーブルが、64の累積度数テーブルのセットから、コードワード決定器によって使用のために選択されるかを表す累積度数テーブルインデックスpkiを提供しうる。その代わりに、累積度数テーブルセレクタ186は、全体の選択された累積度数テーブルまたはサブテーブルをコードワード決定器に提供しうる。このように、コードワード決定器180は、最上位ビットプレーン値mを符号化する実際のコードワードacod_m[pki][m]が、mの値および累積度数テーブルインデックスpkiに、さらにしたがって現在の状態情報184に依存するように、最上位ビットプレーン値mのコードワードacod_m[pki][m]の提供のための選択された累積度数テーブルまたはサブテーブルを用いることができる。符号化処理および得られたコードワード形式に関する詳細が以下に記載される。しかしながら、いくつかの実施形態において、状態トラッカ182は、状態トラッカ750、状態トラッカ1050または状態トラッカ1250と同一であってもよく、または、状態トラッカ750、状態トラッカ1050または状態トラッカ1250の機能をとってもよい点に留意すべきである。また、累積度数テーブルセレクタ186は、いくつかの実施形態において、マッピングルールセレクタ760、マッピングルールセレクタ1060またはマッピングルールセレクタ1260と同一であってもよく、または、マッピングルールセレクタ760、マッピングルールセレクタ1060またはマッピングルールセレクタ1260の機能をとってもよい点にも留意すべきである。さらに、第1のコードワード決定器180は、いくつかの実施形態において、スペクトル値符号化740と同一であってもよく、または、その機能をとってもよい。算術エンコーダ170は、符号化される1つ以上のスペクトル値が最上位ビットプレーンだけを用いて符号化できる値の範囲を超える場合、スケールされ量子化された周波数領域オーディオ表現152から1つ以上の下位ビットプレーンを抽出するように構成される下位ビットプレーン抽出器189aをさらに含む。下位ビットプレーンは、所望にように、1つ以上のビットを含みうる。したがって、下位ビットプレーン抽出器189aは、下位ビットプレーン情報189bを提供する。算術エンコーダ170は、下位ビットプレーン情報189bを受信し、さらに、それに基づいて0または1つ以上の下位ビットプレーンのコンテンツを表す0または1つ以上のコードワードacod_rを提供するように構成される第2のコードワード決定器189cも含む。第2のコードワード決定器189cは、下位ビットプレーン情報189bから下位ビットプレーンコードワードacod_rを導き出すために算術符号化アルゴリズムまたは他のいかなる符号化アルゴリズムを適用するように構成されうる。下位ビットプレーンの数は、符号化されるスケールされ量子化されたスペクトル値が比較的小さい場合、下位ビットプレーンが全くないように、符号化される現在のスケールされ量子化されたスペクトル値が中間の範囲にある場合、1つの下位ビットプレーンがあるように、さらに、符号化されるスケールされ量子化されたスペクトル値が比較的大きい値をとる場合、複数の下位ビットプレーンがあるように、スケールされ量子化されたスペクトル値152の値に基づいて変化しうる点にここで留意すべきである。上記を要約すると、算術エンコーダ170は、階層的な符号化処理を用いて、情報152によって表されるスケールされ量子化されたスペクトル値を符号化するように構成される。1つ以上のスペクトル値の例えばスペクトル値ごとに1、2または3ビットを含む最上位ビットプレーンは、最上位ビットプレーン値mの算術コードワードacod_m[pki][m]を得るために符号化される。1つ以上のスペクトル値の1つ以上の下位ビットプレーン例えば1、2または3ビットを含む下位ビットプレーンのそれぞれは、1つ以上のコードワードacod_rを得るために符号化される。最上位ビットプレーンを符号化するときに、最上位ビットプレーンの値mは、コードワードacod_m[pki][m]にマップされる。この目的のために、64の異なる累積度数テーブルは、算術エンコーダ170の状態に基づいてすなわち前に符号化されたスペクトル値に基づいて値mの符号化のために利用できる。したがって、コードワードacod_m[pki][m]が得られる。加えて、1つ以上のコードワードacod_rは、1つ以上の下位ビットプレーンがある場合、ビットストリームに提供されさらに含められる。リセットの説明オーディオエンコーダ100は、ビットレートにおける改良がコンテクストをリセットすることによって、例えば状態インデックスをデフォルト値に設定することによって得ることができるかどうかを決定するように任意に構成されうる。したがって、オーディオエンコーダ100は、算術符号化のためのコンテクストがリセットされるどうかを示し、さらに、対応するデコーダにおいて算術復号化するためのコンテクストがリセットされるべきであるかどうかも示すリセット情報例えば指名されたarith_reset_flagを提供するように構成されうる。ビットストリーム形式および適用された累積度数テーブルに関する詳細が以下に記載される。9.図2によるオーディオデコーダ以下において、本発明の実施形態によるオーディオデコーダが記載される。図2は、そのようなオーディオデコーダ200の略ブロック図を示す。オーディオデコーダ200は、符号化されたオーディオ情報を表し、さらに、オーディオエンコーダ100によって提供されるビットストリーム112と同一でありうるビットストリーム210を受信するように構成される。オーディオデコーダ200は、ビットストリーム210に基づいて復号化されたオーディオ情報212を提供する。オーディオデコーダ200は、ビットストリーム210を受信し、さらに、ビットストリーム210から符号化された周波数領域オーディオ表現222を抽出するように構成される任意のビットストリームペイロードデフォーマッタ220を含む。例えば、ビットストリームペイロードデフォーマッタ220は、ビットストリーム210から、例えば、周波数領域オーディオ表現の、スペクトル値aのまたは複数のスペクトル値a、bの最上位ビットプレーン値mを表す算術コードワードacod_m[pki][m]およびスペクトル値aのまたは複数のスペクトル値a、bの下位ビットプレーンのコンテンツを表すコードワードacod_rのような算術的に符号化されたスペクトルデータを抽出するように構成されうる。このように、符号化された周波数領域オーディオ表現222は、スペクトル値の算術的に符号化された表現を構成するまたは含む。ビットストリームペイロードデフォーマッタ220は、ビットストリームから図2に示されない付加的な制御情報を抽出するようにさらに構成される。加えて、ビットストリームペイロードデフォーマッタは、ビットストリーム210から、算術リセットフラグまたはarith_reset_flagにも指定される状態リセット情報224を抽出するように任意に構成される。オーディオデコーダ200は、spectralnoiselessdecorderスペクトルノイズレスデコーダにも指定される算術デコーダ230を含む。算術デコーダ230は、符号化された周波数領域オーディオ表現222および任意に状態リセット情報224を受信するように構成される。算術デコーダ230は、スペクトル値の復号化された表現を含みうる復号化された周波数領域オーディオ表現232を提供するようにも構成される。例えば、復号化された周波数領域オーディオ表現232は、符号化された周波数領域オーディオ表現222によって表されるスペクトル値の復号化された表現を含みうる。オーディオデコーダ200は、復号化された周波数領域オーディオ表現232を受信し、さらに、それに基づいて逆に量子化されリスケールされた周波数領域オーディオ表現242を提供するように構成される任意の逆量子化器/リスケーラ240も含む。オーディオデコーダ200は、逆に量子化されリスケールされた周波数領域オーディオ表現242を受信し、さらに、それに基づいて逆に量子化されリスケールされた周波数領域オーディオ表現242の前処理されたバージョン252を提供するように構成される任意のスペクトルプリプロセッサ250も含む。オーディオデコーダ200は、signalconverter信号コンバータにも指定される周波数領域-時間領域信号変換器260も含む。信号変換器260は、逆に量子化されリスケールされた周波数領域オーディオ表現242の前処理されたバージョン252または、その代わりに、逆に量子化されリスケールされた周波数領域オーディオ表現242または復号化された周波数領域オーディオ表現232を受信し、さらに、それに基づいてオーディオ情報の時間領域表現262を提供するように構成される。周波数領域-時間領域信号変換器260は、例えば、逆修正離散コサイン変換IMDCTおよび適切なウィンドウ化その他に例えばオーバーラップ加算のような他の補助機能を実行するための変換器を含みうる。オーディオデコーダ200は、オーディオ情報の時間領域表現262を受信し、さらに、時間領域後処理を用いて復号化されたオーディオ情報212を得るように構成される任意の時間領域ポストプロセッサ270をさらに含みうる。しかしながら、後処理が省略される場合、時間領域表現262は、復号化されたオーディオ情報212と同一であってもよい。逆量子化器/リスケーラ240、スペクトルプリプロセッサ250、周波数領域-時間領域信号変換器260および時間領域ポストプロセッサ270は、ビットストリームペイロードデフォーマッタ220によってビットストリーム210から抽出される制御情報に基づいて制御されうる点にここで留意すべきである。オーディオデコーダ200の全体の機能を要約すると、復号化された周波数領域オーディオ表現232、例えば符号化されたオーディオ情報のオーディオフレームと関連するスペクトル値のセットは、算術デコーダ230を用いて符号化された周波数領域表現222に基づいて得られうる。その後、MDCT係数であってもよい例えば1024のスペクトル値のセットは、逆に量子化され、リスケールされさらに前処理される。したがって、スペクトル値例えば1024のMDCT係数の逆に量子化され、リスケールされさらにスペクトル的に前処理されたセットが得られる。その後、オーディオフレームの時間領域表現は、周波数領域値例えばMDCT係数の逆に量子化され、リスケールされさらにスペクトル的に前処理されたセットから導き出される。したがって、オーディオフレームの時間領域表現が得られる。所定のオーディオフレームの時間領域表現は、前のおよび/または後のオーディオフレームの時間領域表現と組み合わされうる。例えば、後のオーディオフレームの時間領域表現間のオーバーラップ加算は、隣接するオーディオフレームの時間領域表現間の遷移を滑らかにするために、さらに、エイリアシングキャンセルを得るために実行されうる。復号化された時間周波数領域オーディオ表現232に基づく復号化されたオーディオ情報212の再構成に関して詳しくは、例えば、詳細な議論が示される国際規格ISO/IEC14496-3、パート3、サブパート4について述べる。しかしながら、他のより精巧なオーバーラップおよびエイリアシングキャンセルが用いられうる。以下において、算術デコーダ230に関するいくつかの詳細が説明される。算術デコーダ230は、最上位ビットプレーン値mを表す算術コードワードacod_m[pki][m]を受信するように構成される最上位ビットプレーン決定器284を含む。最上位ビットプレーン決定器284は、算術コードワードacod_m[pki][m]から最上位ビットプレーン値mを導き出すための複数の64の累積度数テーブルを含むセットから累積度数テーブルを用いるように構成されうる。最上位ビットプレーン決定器284は、コードワードacod_mに基づいて1つ以上のスペクトル値の最上位ビットプレーンの値286を導き出すように構成される。算術デコーダ230は、スペクトル値の1つ以上の下位ビットプレーンを表す1つ以上のコードワードacod_rを受信するように構成される下位ビットプレーン決定器288をさらに含む。したがって、下位ビットプレーン決定器288は、1つ以上の下位ビットプレーンの復号化された値290を提供するように構成される。オーディオデコーダ200は、そのような下位ビットプレーンが現在のスペクトル値に利用できる場合、1つ以上のスペクトル値の最上位ビットプレーンの復号化された値286およびスペクトル値の1つ以上の下位ビットプレーンの復号化された値290を受信するように構成されるビットプレーンコンバイナ292も含む。したがって、ビットプレーンコンバイナ292は、復号化された周波数領域オーディオ表現232の部分である復号化されたスペクトル値を提供する。当然、算術デコーダ230は、オーディオコンテンツの現在のフレームと関連する復号化されたスペクトル値のフルセットを得るために、典型的に複数のスペクトル値を提供するように構成される。算術デコーダ230は、算術デコーダの状態を表す状態インデックス298に基づいて64の累積度数テーブルari_cf_m[64][17]0≦pki≦63で、17のエントリを有するそれぞれのテーブルari_cf_m[pki][17]のうちの1つを選択するように構成される累積度数テーブルセレクタ296をさらに含む。累積度数テーブルのうちの1つを選択するために、累積度数テーブルセレクタは、好ましくは、図221、図222、図223、図224のテーブル表現によって定義されるようなハッシュテーブルari_hash_m[742]を評価する。ハッシュテーブルari_hash_m[742]のこの評価に関する詳細が以下に記載される。算術デコーダ230は、前に復号化されたスペクトル値に基づいて算術デコーダの状態を追跡するように構成される状態トラッカ299をさらに含む。状態情報は、状態リセット情報224に応じてデフォルト状態情報に任意にリセットされうる。したがって、累積度数テーブルセレクタ296は、コードワードacod_mに基づいて最上位ビットプレーン値mの復号化の際においてアプリケーションのために、選択された累積度数テーブルのインデックス例えばpki、または、選択された累積度数テーブルまたはサブテーブルそのものを提供するように構成される。オーディオデコーダ200の機能を要約すると、オーディオデコーダ200は、ビットレート効率的に符号化された周波数領域オーディオ表現222を受信し、さらに、それに基づいて復号化された周波数領域オーディオ表現を得るように構成される。符号化された周波数領域オーディオ表現222に基づいて復号化された周波数領域オーディオ表現232を得るために用いられる算術デコーダ230において、隣接するスペクトル値の最上位ビットプレーンの値の異なる組合せの確率は、累積度数テーブルを適用するように構成される算術デコーダ280を用いることによって利用される。換言すれば、スペクトル値間の統計依存は、前に計算された復号化されたスペクトル値を観察することによって得られる状態インデックス298に基づいて64の異なる累積度数テーブルを含むセットから異なる累積度数テーブルを選択することによって利用される。状態トラッカ299は、状態トラッカ826、状態トラッカ1126または状態トラッカ1326と同一であってもよく、または、状態トラッカ826、状態トラッカ1126または状態トラッカ1326の機能をとってもよい点に留意すべきである。累積度数テーブルセレクタ296は、マッピングルールセレクタ828、マッピングルールセレクタ1128またはマッピングルールセレクタ1328と同一であってもよく、または、マッピングルールセレクタ828、マッピングルールセレクタ1128またはマッピングルールセレクタ1328の機能をとってもよい。最上位ビットプレーン決定器284は、スペクトル値決定器824と同一であってもよく、または、スペクトル値決定器824の機能をとってもよい。10.スペクトルノイズレス符号化のツールの概要以下において、例えば算術エンコーダ170および算術デコーダ230によって実行される符号化および復号化アルゴリズムに関する詳細が説明される。焦点が復号化アルゴリズムの説明に置かれる。しかしながら、対応する符号化アルゴリズムは、復号化アルゴリズムの教示に従って実行できる点に留意すべきであり、符号化されたおよび復号化されたスペクトル値間のマッピングは逆にされ、さらに、マッピングルールインデックス値の計算は実質的に同一である。エンコーダにおいて、符号化されたスペクトル値が、復号化されたスペクトル値に代わる。また、符号化されるスペクトル値は、復号化されるためのスペクトル値に代わる。以下において述べられる復号化は、典型的に後処理され、スケールされさらに量子化されたスペクトル値のいわゆるspectralnoiselesscodingスペクトルノイズレス符号化を可能にするために用いられる点に留意すべきである。スペクトルノイズレス符号化は、例えば、エネルギー圧縮の時間領域-周波数領域変換器によって得られる量子化されたスペクトルの冗長性をさらに低減するためにオーディオ符号化/復号化概念または他のいかなる符号化/復号化概念において用いられる。本発明の実施形態において用いられるスペクトルノイズレス符号化スキームは、動的に適しているコンテクストに関連して算術符号化に基づく。本発明によるいくつかの実施形態において、スペクトルノイズレス符号化スキームは、2つの隣接したスペクトル係数が組み合わされる2タプルに基づく。それぞれの2タプルは、符号、最上位2ビット的なプレーンおよび残りの下位ビットプレーンに分割される。最上位2ビット的なプレーンmのためのノイズレス符号化は、4つの前に復号化された2タプルから導き出されるコンテクストに依存する累積度数テーブルを用いる。ノイズレス符号化は、例えば、量子化されたスペクトル値によって供給され、さらに、4つの前に復号化された隣接する2タプルから導き出されるコンテクストに依存する累積度数テーブルを用いる。ここで、時間および周波数の両方における近辺は、好ましくは、図4に示されるように考慮される。そして、累積度数テーブルそれは以下に説明されるは、可変長2進コードを生成するために算術コーダによってさらに、可変長2進コードから復号化された値を導き出すために算術デコーダによって用いられる。例えば、算術コーダ170は、シンボルの所定のセットおよびそれらのそれぞれの確率のための2進コードをすなわちそれぞれの確率に基づいて生成する。2進コードは、シンボルのセットが位置する確率間隔をコードワードにマップすることによって生成される。残りの下位ビットプレーンまたはビットプレーンrのためのノイズレス符号化は、例えば、単一の累積度数テーブルを用いる。累積度数は、例えば、下位ビットプレーンにおいて生じるシンボルの一様分布に対応し、すなわち、0または1が下位ビットプレーンにおいて生じることは、同じ確率があることが期待される。しかしながら、残りの下位ビットプレーンまたはビットプレーンの符号化のための他の解決策が用いられうる。以下において、スペクトルノイズレス符号化のツールの別の簡単な概要が示される。スペクトルノイズレス符号化は、量子化されたスペクトルの冗長性をさらに低減するために用いる。スペクトルノイズレス符号化スキームは、動的に適しているコンテクストに関連して、算術符号化に基づく。ノイズレス符号化は、量子化されたスペクトル値によって供給され、さらに、例えば、スペクトル値の4つの前に復号化された隣接する2タプルから導き出されるコンテクストに依存する累積度数テーブルを用いる。ここで、時間および周波数の両方における近辺は、図4に示されるように考慮される。そして、累積度数テーブルは、可変長2進コードを生成するために算術コーダによって用いられる。算術コーダは、シンボルの所定のセットおよびそれらのそれぞれの確率のための2進コードを生成する。2進コードは、シンボルのセットが位置する確率間隔をコードワードにマップすることによって生成される。11.復号化処理11.1復号化処理の概要以下において、スペクトル値の符号化の処理の概要が、複数のスペクトル値の復号化の処理の疑似プログラムコード表現を示す図3を参照して示される。複数のスペクトル値の復号化の処理は、コンテクストの初期化310を含む。コンテクストの初期化310は、関数arith_map_contextN,arith_reset_flagを用いて、前のコンテクストからの現在のコンテクストの導出を含む。前のコンテクストからの現在のコンテクストの導出は、コンテクストのリセットを選択的に含みうる。コンテクストのリセットおよび前のコンテクストからの現在のコンテクストの導出の両方は、以下に述べられる。好ましくは、図5aによる関数arith_map_contextN,arith_reset_flagが用いられうるが、その代わりに、図5bによる関数が用いられてもよい。複数のスペクトル値の復号化は、スペクトル値復号化312およびコンテクスト更新313の反復も含み、コンテクスト更新313は、以下に記載される関数arith_update_contexti,a,bによって実行される。スペクトル値復号化312およびコンテクスト更新313は、lg/2時間繰り返され、lg/2は、いわゆるARITH_STOPシンボルが検出されない限り、例えば、オーディオフレームのために復号化されるスペクトル値の2タプルの数を示す。さらに、lgスペクトル値のセットの復号化は、符号復号化314およびフィニッシングステップ315も含む。スペクトル値のタプルの復号化312は、コンテクスト値計算312a、最上位ビットプレーン復号化312b、算術停止シンボル検出312c、下位ビットプレーン加算312d、および配列更新312eを含む。状態値計算312aは、例えば、図5cまたは図5dに示されるような関数arith_get_contextc,i,Nの呼び出しを含む。好ましくは、図5cによる関数arith_get_contextc,i,Nが用いられる。したがって、数値的な現在のコンテクスト状態値cは、関数arith_get_contextc,i,Nの関数呼び出しのリターン値として提供される。明らかなように、関数arith_get_contextc,i,Nに入力変数として働くcでも指定される数値的な前のコンテクスト値は、リターン値として、数値的な現在のコンテクスト値cを得るために更新される。最上位ビットプレーン復号化312bは、復号化アルゴリズム312baの反復的な実行およびアルゴリズム312baの結果値mから値a、bの導出312bbを含む。アルゴリズム312baの準備において、変数levは、ゼロに初期化される。アルゴリズム312baは、break命令または条件に達するまで、繰り返される。アルゴリズム312baは、以下に述べられさらにその実施形態が例えば図5eおよび図5fに示される関数arith_get_pkを用いて、数値的な現在のコンテクスト値cに基づいて、さらに、レベル値esc_nbにも基づいて、累積度数テーブルインデックスとしても働く状態インデックスpkiの計算を含む。好ましくは、図5eによる関数arith_get_pkcが用いられる。アルゴリズム312baは、関数arith_get_pkの呼び出しによってリターンされる状態インデックスpkiに基づいて累積度数テーブルの選択も含み、変数cum_freqは、状態インデックスpkiに基づいて64の累積度数テーブルまたはサブテーブルから1つの開始アドレスに設定されうる。変数cflは、選択された累積度数テーブルまたはサブテーブルの長さにも初期化されうり、それは、例えば、アルファベットにおけるシンボルの数、すなわち復号化することができる異なる値の数に等しい。最上位ビットプレーン値mの復号化のために利用できるari_cf_m[pki=0][17]からari_cf_m[pki=63][17]までの全ての累積度数テーブルまたはサブテーブルの長さは、16の異なる最上位ビットプレーン値およびエスケープシンボルARITH_ESCAPEを復号化することができるように、17である。好ましくは、累積度数テーブルまたはサブテーブルari_cf_m[pki=0][17]からari_cf_m[pki=63][17]までを定義する累積度数テーブルari_cf_m[64][17]は、図231、図232、図233によるテーブル表現において定義されるように、選択された累積度数テーブルまたはサブテーブルを得るために、評価される。その後、最上位ビットプレーン値mは、変数cum_freqおよび変数cflによって表される選択された累積度数テーブルを考慮して、関数arith_decodeを実行することによって得られうる。最上位ビットプレーン値mを導き出すときに、ビットストリーム210のビット指名されたacod_mは、評価されうる例えば図6gまたは図6hを参照。好ましくは、図5gによる関数arith_decodecum_freq,cflが用いられるが、その代わりに、図5hおよび図5iによる関数arith_decodecum_freq,cflが用いられてもよい。アルゴリズム312baは、最上位ビットプレーン値mがエスケープシンボルARITH_ESCAPEに等しいかどうかをチェックすることも含む。最上位ビットプレーン値mが算術エスケープシンボルに等しくない場合、アルゴリズム312baは、停止されbreak条件、さらに、アルゴリズム312baの残りの命令は、スキップされる。したがって、処理の実行は、ステップ312bbでの値bのおよび値aの設定で続けられる。対照的に、復号化された最上位ビットプレーン値mが算術エスケープシンボルまたはARITH_ESCAPEと同一である場合、レベル値levは、1だけ増加される。レベル値esc_nbは、変数levが7よりも大きい場合でない限り、レベル値levに等しく設定され、この場合、変数esc_nbは、7に等しく設定される。上述のように、アルゴリズム312baは、それから復号化された最上位ビットプレーン値mが算術エスケープシンボルと異なるまで繰り返され、修正されたコンテクストが用いられるその理由は、関数arith_get_pkの入力パラメータが変数esc_nbの値に基づいて適しているからである。最上位ビットプレーンがアルゴリズム312baの1回の実行または反復的な実行を用いて復号化されるとすぐに、すなわち、算術エスケープシンボルと異なる最上位ビットプレーン値mが復号化されていると、スペクトル値変数bは、最上位ビットプレーン値mの複数の例えば2つの上位ビットに等しく設定され、さらに、スペクトル値変数aは、最上位ビットプレーン値mの例えば2つの最下位ビットに設定される。この機能に関する詳細が、例えば、参照番号312bbから明らかである。その後、ステップ312cにおいて算術停止シンボルがあるかどうかがチェックされる。これは、最上位ビットプレーン値mがゼロに等しくさらに変数levがゼロよりも大きいかどうかの場合である。したがって、算術停止条件は、unusual異常な条件によって信号で伝えられ、最上位ビットプレーン値mは、ゼロに等しく、その一方で、変数levは、増加した数値的な重みが最上位ビットプレーン値mと関連することを示す。換言すれば、算術停止条件は、最小の数値的な重みよりも大きい増加した数値的な重みがゼロに等しい最上位ビットプレーン値に示されるべきことをビットストリームが示す場合、検出され、それは、通常の符号化状況において生じない条件である。換言すれば、算術停止条件は、符号化された算術エスケープシンボルの後に0の符号化された最上位ビットプレーン値が続く場合、信号で伝えられる。ステップ312cにおいて実行される算術停止条件があるかどうかをの評価の後、下位ビットプレーンは、例えば、図3に参照番号312dで示されるように得られる。下位ビットプレーンごとに、2つの2進値が復号化される。2進値のうちの1つは、変数aまたはスペクトル値のタプルの第1のスペクトル値と関連し、さらに、2進値のうちの1つは、変数bまたはスペクトル値のタプルの第2のスペクトル値と関連する。下位ビットプレーンの数は、変数levによって指定される。もしあれば1つ以上の最下位ビットプレーンの復号化において、アルゴリズム312daは、反復的に実行され、アルゴリズム312daの実行の数は、変数levによって決定される。アルゴリズム312daの最初の反復は、ステップ312bbにおいて設定されるような変数a、bの値に基づいて実行される点にここで留意すべきである。アルゴリズム312daのさらなる反復は、変数a、bの更新された変数値に基づいて実行される。反復の始めに、累積度数テーブルが選択される。その後、算術復号化が変数rの値を得るために実行され、変数rの値は、複数の下位ビットを、例えば、変数aと関連する1つの下位ビットおよび変数bと関連する1つの下位ビットを表す。関数ARITH_DECODEは、例えば図5gに定義されるように、値rを得るために用いられ、累積度数テーブルarith_cf_rは、算術復号化のために用いられる。その後、変数aおよびbの値は、更新される。この目的のために、変数aは、1ビットだけ左にシフトされ、さらに、シフトされた変数aの最下位ビットは、値rの最下位ビットによって定義される値を設定する。変数bは、1ビットだけ左にシフトされ、さらに、シフトされた変数bの最下位ビットは、変数rのビット1によって定義される値を設定し、変数rのビット1は、変数rの2進表現において2の数値的な重みを有する。アルゴリズム312baは、それから全ての最下位ビットが復号化されるまで繰り返される。下位ビットプレーンの復号化の後、配列x_ac_decは、変数a、bの値が配列インデックス2iおよび2i1を有する前記配列のエントリに格納されるという点において更新される。その後、コンテクスト状態は、関数arith_update_contexti,a,bを呼び出すことによって更新され、その詳細が、図5gを参照して以下に説明される。好ましくは、関数arith_update_contexti,a,bは、図5lに定義されるように、用いられうる。ステップ313において実行されるコンテクスト状態の更新に続いて、アルゴリズム312および313は、実行中の変数iがlg/2の値に達しまたは算術停止条件が検出されるまで、繰り返される。その後、フィニッシュアルゴリズムarith_finishが、参照番号315から明らかなように実行される。フィニッシュアルゴリズムarith_finishの詳細が、図5mを参照して記載される。フィニッシュアルゴリズム315に続いて、スペクトル値の符号は、アルゴリズム314を用いて復号化される。明らかなように、ゼロと異なるスペクトル値の符号は、個々に符号化される。アルゴリズム314において、符号は、i=0およびゼロでないi=lg-1間のインデックスiを有するスペクトル値の全てのために読み取られる。i=0およびi=lg-1間のスペクトル値インデックスiを有するゼロでないスペクトル値ごとに、値典型的には単一のビットsがビットストリームから読み取られる。ビットストリームから読み取られるsの値が1に等しい場合、前記スペクトル値の符号は、逆にされる。この目的のために、アクセスは、インデックスiを有するスペクトル値がゼロに等しいかどうかを決定するためさらに復号化されたスペクトル値の符号を更新するための両方のために、配列x_ac_decに行われる。しかしながら、変数a、bの符号は、符号復号化314において不変のまま残される点に留意すべきである。符号復号化314の前にフィニッシュアルゴリズム315を実行することによって、ARITH_STOPシンボルの後に全ての必要なbinsをリセットすることが可能である。下位ビットプレーンの値を得るための概念は、本発明によるいくつかの実施形態において特定の関連性がない点にここで留意すべきである。いくつかの実施形態において、いかなる下位ビットプレーンの復号化も、省略されることがある。その代わりに、異なる復号化アルゴリズムが、この目的のために用いられうる。11.2図4による復号化順序以下において、スペクトル値の復号化順序が記載される。量子化されたスペクトル係数x_ac_dec[]は、最も低い周波数係数から始まって最も高い周波数係数に進んで例えばビットストリームにおいてノイズレスに符号化されさらに伝送される。したがって、量子化されたスペクトル係数x_ac_dec[]は、最も低い周波数係数から始まって最も高い周波数係数に進んでノイズレスに復号化される。量子化されたスペクトル係数は、{a,b}でも指定されるいわゆる2タプルa、bにおいて集める2つの連続した例えば周波数において隣接する係数aおよびbのグループによって復号化される。量子化されたスペクトル係数は、qdecでもときどき指定される点にここで留意すべきである。周波数領域モードのための復号化された係数x_ac_dec[]例えば、ISO/IEC14496のパート3のサブパート4に述べられるように、修正離散コサイン変換を用いて得られる、例えば、アドバンストオーディオ符号化のための復号化された係数は、それから配列x_ac_quant[g][win][sfb][bin]に格納される。ノイズレス符号化コードワードの伝送の順序は、それらが受信される順序に復号化されさらに配列に格納されるときに、binが最も急速にインクリメントするインデックスであり、さらに、gが最もゆっくりインクリメントするインデックスである。コードワード内において、復号化の順序は、a、bすなわち、aそしてbである。変換符号化された励起TCXのための復号化された係数x_ac_dec[]は、例えば、配列x_tcx_invquant[win][bin]に直接的に格納され、さらに、ノイズレス符号化コードワードの伝送の順序は、それらが受信される順序に復号化されさらに配列に格納されるときに、binが最も急速にインクリメントするインデックスであり、さらに、winが最もゆっくりインクリメントするインデックスである。コードワード内において、復号化の順序は、a、bすなわち、aそしてbである。換言すれば、スペクトル値がスピーチコーダの線形予測フィルタの変換符号化された励起を表す場合、スペクトル値a、bは、変換符号化された励起の隣接し増加する周波数と関連する。より低い周波数と関連するスペクトル係数は、より高い周波数と関連するスペクトル係数の前に典型的に符号化されさらに復号化される。特に、オーディオデコーダ200は、復号化された周波数領域表現232を適用するように構成されうり、それは、周波数領域-時間領域信号変換を用いて時間領域オーディオ信号表現のdirect直接的な生成のためと周波数領域-時間領域信号変換器の出力によって励起される周波数領域-時間領域デコーダおよび線形予測フィルタの両方を用いて時間領域オーディオ信号表現のindirect間接的な提供のためとの両方のために、算術デコーダ230によって提供される。換言すれば、機能がここで詳細に述べられる算術デコーダは、周波数領域において符号化されるオーディオコンテンツの時間周波数領域表現のスペクトル値を復号化するために、さらに、線形予測領域において符号化されるスピーチ信号を復号化するまたは合成するために適している線形予測フィルタのための刺激信号の時間周波数領域表現の提供のために、よく適している。このように、算術デコーダは、周波数領域符号化されたオーディオコンテンツおよび線形予測周波数領域符号化されたオーディオコンテンツ変換符号化された励起線形予測領域モードを取り扱うことができるオーディオにおいての使用によく適している。11.3図5aおよび図5bによるコンテクスト初期化以下において、ステップ310において実行されるcontextmappingコンテクストマッピングにも指定されるコンテクスト初期化が記載される。コンテクスト初期化は、第1のサンプルが図5aに示されさらに第2のサンプルが図5bに示されるアルゴリズムarith_map_contextに従って過去のコンテクストおよび現在のコンテクスト間のマッピングを含む。明らかなように、現在のコンテクストは、2の第1の次元およびn_contextの第2の次元を有する配列の形式をとるグローバル変数q[2][n_context]に格納される。過去のコンテクストは、それが用いられる場合n_contextの次元を有するテーブルの形式をとる変数qs[n_context]に任意に必ずではないが格納されうる。図5aにおいて実例アルゴリズムarith_map_contextを参照して、入力変数Nは、現在のウィンドウの長さを表し、さらに、入力変数arith_reset_flagは、コンテクストがリセットされるべきであるかどうかを示す。さらに、グローバル変数previous_Nは、前のウィンドウの長さを表す。典型的に、ウィンドウと関連するスペクトル値の数は、少なくとも近似的に、時間領域サンプルに関して前記ウィンドウの半分の長さに等しい点にここで留意すべきである。さらに、したがって、スペクトル値の2タプルの数は、時間領域サンプルに関して前記ウィンドウの1/4の長さに少なくとも近似的に等しい点に留意すべきである。最初に、フラグarith_reset_flagは、コンテクストがリセットされなければならないかどうかを決定する点に留意すべきである。図5aの例を参照して、コンテクストのマッピングは、アルゴリズムarith_map_contextに従って実行されうる。関数arith_map_contextは、フラグarith_reset_flagがアクティブでありさらにしたがってコンテクストがリセットされるべきであることを示す場合、現在のコンテクスト配列qのエントリq[0][j]をj=0からj=N/4-1までにゼロに設定する点にここで留意すべきである。さもなければ、すなわち、フラグarith_reset_flagがインアクティブである場合、現在のコンテクスト配列qのエントリq[0][j]は、現在のコンテクスト配列qのエントリq[1][k]から導き出される。図5aによる関数arith_map_contextは、現在の例えば周波数領域符号化されたオーディオフレームと関連するスペクトル値の数がj=k=0からj=k=N/4-1までに前のオーディオフレームと関連するスペクトル値の数と同一である場合、現在のコンテクスト配列qのエントリq[0][j]を現在のコンテクスト配列qの値q[1][k]に設定する点に留意すべきである。現在のオーディオフレームと関連するスペクトル値の数が前のオーディオフレームと関連するスペクトル値の数と異なる場合、より複雑なマッピングが実行される。しかしながら、この場合においてマッピングに関する詳細は、詳しくは図5aの疑似プログラムコードについて述べるように、特に本発明の重要な考えのために特に関連しない。さらに、数値的な現在のコンテクスト値cのための初期化値は、関数arith_map_contextによってリターンされる。この初期化値は、例えば、12ビットだけ左にシフトされるエントリq[0][0]の値に等しい。したがって、数値的な現在のコンテクスト値cは、反復的な更新のために適切に初期化される。さらに、図5bは、その代わりに用いられうるアルゴリズムarith_map_contextの別の例を示す。詳しくは、図5bにおける疑似プログラムコードについて述べる。上記を要約すると、フラグarith_reset_flagは、コンテクストがリセットされなければならないかどうかを決定する。フラグが真である場合、アルゴリズムarith_map_contextのリセットサブアルゴリズム500aが呼び出される。しかしながら、その代わりに、フラグarith_reset_flagがコンテクストのリセットが実行されるべきでないことを示すインアクティブである場合、復号化処理は、コンテクストエレメントベクトルまたは配列qがq[1][]に格納される前のフレームのコンテクストエレメントをq[0][]にコピーしさらにマップすることによって更新される初期設定段階から始まる。q内のコンテクストエレメントは、2タプルごとに4ビットに格納される。コンテクストエレメントのコピーおよび/またはマッピングは、例えば、サブアルゴリズム500bにおいて実行される。さらに、コンテクストが確実に決定されることができない場合、例えば、前のフレームのデータが利用できない場合、さらに、arith_reset_flagが設定されない場合、スペクトルデータの復号化が続けられなく、さらに、現在のarith_dataエレメントの読み取りがスキップされるべきである点に留意すべきである。図5bの例において、復号化処理は、マッピングがqsに格納される保存された過去のコンテクストおよび現在のフレームqのコンテクスト間で行われる初期設定段階から始まる。過去のコンテクストqsは、周波数ラインごとに2ビットに格納される。11.4図5cおよび図5dによる状態値計算以下において、状態値計算312aがさらに詳細に記載される。第1の好適なアルゴリズムは、図5cを参照して記載され、さらに、第2の代わりの実例アルゴリズムは、図5dを参照して記載される。図3に示されるような数値的な現在のコンテクスト値cは、疑似プログラムコード表現が図5cに示される関数arith_get_contextc,i,Nのリターン値として得ることができる点に留意すべきである。しかしながら、その代わりに、数値的な現在のコンテクスト値cは、疑似プログラムコード表現が図5dに示される関数arith_get_contextc,iのリターン値として得ることができる。状態値の計算に関して、状態評価のためにすなわち数値的な現在のコンテクスト値cの計算のために用いられるコンテクストを示す図4についても述べる。図4は、時間および周波数の両方上に、スペクトル値の2次元表現を示す。横座標410は時間を表し、さらに、縦座標412は周波数を表す。図4において明らかなように、好ましくは数値的な現在のコンテクスト値を用いて復号化するスペクトル値のタプル420は、時間インデックスt0および周波数インデックスiと関連する。明らかなように、時間インデックスt0について、周波数インデックスi-1、i-2およびi-3を有するタプルは、周波数インデックスiを有するタプル420のスペクトル値が復号化される時間にすでに復号化されている。図4から明らかなように、時間インデックスt0および周波数インデックスi-1を有するスペクトル値430は、スペクトル値のタプル420が復号化される前にすでに復号化され、さらに、スペクトル値のタプル430は、スペクトル値のタプル420の復号化のために用いられるコンテクストのために考慮される。同様に、時間インデックスt0-1およびi-1の周波数インデックスを有するスペクトル値のタプル440、時間インデックスt0-1およびiの周波数インデックスを有するスペクトル値のタプル450、および、時間インデックスt0-1およびi1の周波数インデックスを有するスペクトル値のタプル460は、スペクトル値のタプル420が復号化される前にすでに復号化され、さらに、スペクトル値のタプル420を復号化するために用いられるコンテクストの決定のために考慮される。タプル420のスペクトル値が復号化される時間にすでに復号化されさらにコンテクストのために考慮されるスペクトル値係数は、陰影のついた正方形によって示される。対照的に、タプル420のスペクトル値が復号化される時間にすでに復号化されているがタプル420のスペクトル値の復号化のためのコンテクストのために考慮されないいくつかの他のスペクトル値は、点線を有する正方形によって表され、さらに、タプル420のスペクトル値が復号化される時間にまだ復号化されていない他のスペクトル値は、点線を有する円によって示される。点線を有する正方形によって表されるタプルおよび点線を有する円によって表されるタプルは、タプル420のスペクトル値を復号化するためのコンテクストを決定するために用いられない。しかしながら、タプル420のスペクトル値を復号化するためのコンテクストのregular普通のまたはnormal通常の計算のために用いられないこれらのスペクトル値のいくつかは、それにしても、個々にまたはこれらを基に、それらの大きさに関する所定の条件を満たす複数の前に復号化された隣接するスペクトル値の検出のために評価されうる点に留意すべきである。この問題に関する詳細が以下に述べられる。図5cをこれから参照して、アルゴリズムarith_get_contextc,i,Nの詳細が記載される。図5cは、周知のC言語および/またはC言語の変換を用いる疑似プログラムコードの形式で前記関数arith_get_contextc,i,Nの機能を示す。このように、関数arith_get_contextc,i,Nによって実行される数値的な現在のコンテクスト値cの計算に関するより詳細が記載される。関数arith_get_contextc,i,Nは、入力変数として、数値的な前のコンテクスト値cによって表されうるoldstatecontext前の状態コンテクストを受信する点に留意すべきである。関数arith_get_contextc,i,Nは、入力変数として、復号化するスペクトル値の2タプルのインデックスiも受信する。インデックスiは、典型的に周波数インデックスである。入力変数Nは、スペクトル値が復号化されるウィンドウのウィンドウの長さを表す。関数arith_get_contextc,i,Nは、出力値として、更新された状態コンテクストを表しさらに数値的な現在のコンテクスト値として考慮されうる入力変数cの更新されたバージョンを提供する。要約すると、関数arith_get_contextc,i,Nは、入力変数として数値的な前のコンテクスト値cを受信し、さらに、その更新されたバージョンを提供し、それは、数値的な現在のコンテクスト値として考慮される。加えて、関数arith_get_contextは、変数i、Nを考慮し、さらに、globalグローバル配列q[][]にアクセスする。関数arith_get_contextc,i,Nの詳細に関して、初期的に2進形式で数値的な前のコンテクスト値を表す変数cは、ステップ504aにおいて4ビットだけ右にシフトされる点に留意すべきである。したがって、入力変数cによって表される数値的な前のコンテクスト値の4つの最下位ビットが破棄される。また、数値的な前のコンテクスト値の他のビットの数値的な重み例えば16倍低減される。さらに、2タプルのインデックスiがN/4-1よりも小さいすなわち最大値をとらない場合、数値的な現在のコンテクスト値は、エントリq[0][i1]の値がステップ504aにおいて得られるシフトされたコンテクスト値のビット12~15にすなわち212、213、214および215の数値的な重みを有するビットに加算されるという点において、修正される。この目的のために、配列q[][]のエントリq[0][i1]または、より正確に言うと、前記エントリによって表される値の2進表現は、12ビットだけ左にシフトされる。エントリq[0][i1]によって表される値のシフトされたバージョンは、それから、ステップ504aにおいて導き出されるコンテクスト値cに、すなわち数値的な前のコンテクスト値のビットシフトされた4ビットだけ右にシフトされた数表現に加算される。配列q[][]のエントリq[0][i1]は、オーディオコンテンツの前の部分例えば、図4に関して定義されるように、時間インデックスt0-1を有するオーディオコンテンツの部分および関数arith_get_contextc,i,Nによって出力される数値的な現在のコンテクスト値cを用いて現在復号化されるスペクトル値のタプルよりも高い周波数例えば、図4に関して定義されるように、周波数インデックスi1を有する周波数と関連するサブ区域値を表す点にここで留意すべきである。換言すれば、スペクトル値のタプル420は、数値的な現在のコンテクスト値を用いて復号化される場合、エントリq[0][i1]は、前に復号化されたスペクトル値のタプル460に基づきうる。12ビットだけ左にシフトされる配列q[][]のエントリq[0][i1]の選択的な加算は、参照番号504bで示される。明らかなように、エントリq[0][i1]によって表される値の加算は、周波数インデックスiが最も大きい周波数インデックスi=N/4-1を有するスペクトル値のタプルを指定しない場合、当然に実行されるだけである。その後、ステップ504cにおいて、ブールのAND演算が実行され、変数cの値は、変数cの更新された値を得るために、0xFFF0の16進値とAND組み合わされる。そのようなAND演算を実行することによって、変数cの4つの最下位ビットがゼロに効果的に設定される。ステップ504dにおいて、エントリq[1][i-1]の値は、それによって変数cの値を更新するために、ステップ504cによって得られる変数cの値に加算される。しかしながら、ステップ504dにおいて変数cの前記更新は、復号化する2タプルの周波数インデックスiがゼロよりも大きい場合、実行されるだけである。エントリq[1][i-1]は、数値的な現在のコンテクスト値を用いて復号化されるスペクトル値の周波数よりも小さい周波数のためのオーディオコンテンツの現在の部分の前に復号化されたスペクトル値のタプルに基づくコンテクストサブ区域値である点に留意すべきである。例えば、配列q[][]のエントリq[1][i-1]は、スペクトル値のタプル420が関数arith_get_contextc,i,Nの現在の実行によってリターンされる数値的な現在のコンテクスト値を用いて復号化されると仮定される場合、時間インデックスt0および周波数インデックスi-1を有するタプル430と関連しうる。要約すると、数値的な前のコンテクスト値のビット0、1、2および3すなわち4つの最下位ビットの部分は、数値的な前のコンテクスト値の2進数表現からそれらをシフトすることによってステップ504aにおいて破棄される。さらに、シフトされた変数cのすなわちシフトされた数値的な前のコンテクスト値のビット12、13、14および15は、ステップ504bにおいてコンテクストサブ区域値q[0][i1]によって定義される値をとるために設定される。シフトされた数値的な前のコンテクスト値のビット0、1、2および3すなわち元の数値的な前のコンテクスト値のビット4、5、6および7は、ステップ504cおよび504dにおいてコンテクストサブ区域値q[1][i-1]によって上書きされる。したがって、数値的な前のコンテクスト値のビット0~3は、スペクトル値のタプル432と関連するコンテクストサブ区域値を表し、数値的な前のコンテクスト値のビット4~7は、前に復号化されたスペクトル値のタプル434と関連するコンテクストサブ区域値を表し、数値的な前のコンテクスト値のビット8~11は、前に復号化されたスペクトル値のタプル440と関連するコンテクストサブ区域値を表し、さらに、数値的な前のコンテクスト値のビット12~15は、前に復号化されたスペクトル値のタプル450と関連するコンテクストサブ区域値を表すといえる。関数arith_get_contextc,i,Nに入力される数値的な前のコンテクスト値は、スペクトル値のタプル430の復号化と関連する。関数arith_get_contextc,i,Nの出力変数として得られる数値的な現在のコンテクスト値は、スペクトル値のタプル420の復号化と関連する。したがって、数値的な現在のコンテクスト値のビット0~3は、スペクトル値のタプル430と関連するコンテクストサブ区域値を表し、数値的な現在のコンテクスト値のビット4~7は、スペクトル値のタプル440と関連するコンテクストサブ区域値を表し、数値的な現在のコンテクスト値のビット8~11は、スペクトル値のタプル450と関連する数値的なサブ区域値を表し、さらに、数値的な現在のコンテクスト値のビット12~15は、スペクトル値のタプル460と関連するコンテクストサブ区域値を表す。このように、数値的な前のコンテクスト値の部分、すなわち数値的な前のコンテクスト値のビット8~15は、数値的な現在のコンテクスト値のビット4~11として、数値的な現在のコンテクスト値に含まれることも明らかである。対照的に、現在の数値的な前のコンテクスト値のビット0~7は、数値的な前のコンテクスト値の数表現から数値的な現在のコンテクスト値の数表現を導き出すときに破棄される。ステップ504eにおいて、数値的な現在のコンテクスト値を表す変数cは、復号化する2タプルの周波数インデックスiが例えば3の所定の数よりも大きい場合、選択的に更新される。この場合、すなわちiが3よりも大きい場合、コンテクストサブ区域値q[1][i-3]、q[1][i-2]およびq[1][i-1]の合計が例えば5の所定の値よりも小さいまたはそれに等しいかどうかが決定される。前記コンテクストサブ区域値の合計が前記所定の値よりも小さいことが見いだされている場合、例えば0x10000の16進値が、変数cに加算される。したがって、変数cは、コンテクストサブ区域値q[1][i-3]、q[1][i-2]およびq[1][i-1]が特に小さい合計値を含む条件があるかどうかを変数cが示すように設定される。例えば、数値的な現在のコンテクスト値のビット16は、そのような条件を示すフラグとして働きうる。結論として、関数arith_get_contextc,i,Nのリターン値は、ステップ504a、504b、504c、504dおよび504eによって決定され、数値的な現在のコンテクスト値は、ステップ504a、504b、504cおよび504dにおいて数値的な前のコンテクスト値から導き出され、さらに、平均して、特に小さい絶対値を有する前に復号化されたスペクトル値の環境を示すフラグは、ステップ504eにおいて導き出されさらに変数cに加算される。したがって、ステップ504a、504b、504c、504dにおいて得られる変数cの値は、ステップ504eにおいて評価される条件が満たされない場合、ステップ504fにおいて、関数arith_get_contextc,i,Nのリターン値としてリターンされる。対照的に、ステップ504a、504b、504cおよび504dにおいて導き出される変数cの値は、ステップ540eにおいて評価される条件が満たされる場合、ステップ504eにおいて、0x10000の16進値だけインクリメントされ、さらに、このインクリメント演算の結果がリターンされる。上記を要約すると、ノイズレスデコーダは、以下に詳しく記載されるように符号なしの量子化されたスペクトル係数の2タプルを出力する点に留意すべきである。最初に、コンテクストの状態cは、復号化する2タプルsurroundingを囲む前に復号化されたスペクトル係数に基づいて計算される。好適な実施形態において、例えば数値的なコンテクスト値cによって表される状態は、2つの新しい2タプル例えば2タプル430および460だけを考慮して、数値的な前のコンテクスト値に指定される最後の復号化された2タプルのコンテクスト状態を用いて増加的に更新される。状態は、例えば数値的な現在のコンテクスト値の数表現を用いて17ビットに符号化され、さらに、関数arith_get_contextによってリターンされる。詳しくは、図5cのプログラムコード表現について述べる。さらに、関数arith_get_contextの代わりの実施形態の疑似プログラムコードは、図5dに示される点に留意すべきである。図5dによる関数arith_get_contextc,iは、図5cによる関数arith_get_contextc,i,Nと類似している。しかしながら、図5dによる関数arith_get_contextc,iは、i=0の最小の周波数インデックスまたはi=N/4-1の最大の周波数インデックスを含むスペクトル値のタプルの特別な取り扱いまたは復号化を含まない。11.5マッピングルール選択以下において、マッピングルール、例えばシンボルコード上へのコードワード値のマッピングを表す累積度数テーブルの選択が記載される。マッピングルールの選択は、数値的な現在のコンテクスト値cによって表されるコンテクスト状態に基づいて行われる。11.5.1図5eによるアルゴリズムを用いるマッピングルール選択以下において、関数arith_get_pkcを用いるマッピングルールの選択が記載される。関数arith_get_pkは、スペクトル値のタプルを提供するためのコード値acod_mを復号化するときに、サブアルゴリズム312baの始めに呼び出される点に留意すべきである。関数arith_get_pkcは、アルゴリズム312bの異なる反復の異なる引数で呼び出される点に留意すべきである。例えば、アルゴリズム312bの最初の反復において、関数arith_get_pkcは、ステップ312aで関数arith_get_contextc,i,Nの前の実行によって提供される数値的な現在のコンテクスト値cに等しい引数で呼び出される。対照的に、サブアルゴリズム312baのさらなら反復において、関数arith_get_pkcは、ステップ312aにおいて関数arith_get_contextc,i,Nによって提供される数値的な現在のコンテクスト値cおよび変数esc_nbの値のビットシフトされたバージョンの合計である引数で呼び出され、変数esc_nbの値は、17ビットだけ左にシフトされる。このように、関数arith_get_contextc,i,Nによって提供される数値的な現在のコンテクスト値cは、312baアルゴリズムの最初の反復においてすなわち比較的小さいスペクトル値の復号化において、関数arith_get_pkの入力値として用いられる。対照的に、比較的より大きいスペクトル値を復号化するときに、関数arith_get_pkの入力変数は、変数esc_nbの値が、図3に示されるように、考慮されるという点において、修正される。関数arith_get_pkcの第1の好適な実施形態の疑似プログラムコード表現を示す図5eをこれから参照して、関数arith_get_pkは、入力値としての変数cを受信する点に留意すべきであり、変数cは、コンテクストの状態を表し、さらに、関数arith_get_pkの入力変数cは、少なくともいくらかの状況において関数arith_get_contextによってリターン変数として提供される数値的な現在のコンテクスト値に等しい。さらに、関数arith_get_pkは、出力変数として、確率モデルのインデックスを表しさらにマッピングルールインデックス値として考慮されうる変数pkiを提供する点に留意すべきである。図5eを参照して、関数arith_get_pkは、変数初期化506aを含むことが明らかであり、変数i_minは、-1の値をとるために初期化される。同様に、変数iは、変数iも-1の値に初期化されるように、変数i_minに等しく設定される。変数i_maxは、詳細が図21を参照して記載されるように、テーブルari_lookup_m[]のエントリの数よりも1だけ小さい値をとるために初期化される。したがって、変数i_minおよびi_maxは、間隔を定義する。例えば、i_maxは、値741に初期化されうる。その後、検索506bは、関数arith_get_pkの入力変数cの値が前記エントリおよび隣接するエントリによって定義される間隔内に位置するように、図221、図222、図223、図224のテーブル表現において定義されるように選択されるテーブルari_hash_mのエントリを指定するインデックス値を確認するために実行される。検索506bにおいて、サブアルゴリズム506baは、繰り返され、その一方で、変数i_maxおよびi_min間の差は、1よりも大きい。サブアルゴリズム506baにおいて、変数iは、変数i_minおよびi_maxの値の算術平均に等しく設定される。したがって、変数iは、変数i_minおよびi_maxの値によって定義されるテーブル間隔の中央において図221、図222、図223および図224のテーブル表現において定義されるようなテーブルari_hash_m[]のエントリを指定する。その後、変数jは、テーブルari_hash_m[]のエントリari_hash_m[i]の値に等しく設定される。このように、変数jは、エントリが変数i_minおよびi_maxによって定義されるテーブル間隔の中央に位置するテーブルari_hash_m[]のエントリによって定義される値をとる。その後、変数i_minおよびi_maxによって定義される間隔は、関数arith_get_pkの入力変数cの値がテーブルari_hash_m[]のテーブルエントリj=ari_hash_m[i]の最上位ビットによって定義される状態値と異なる場合、更新される。例えば、テーブルari_hash_m[]のエントリのupperbits上位ビットビット8および上位は、重要な状態値を表す。したがって、値j>>8は、ハッシュテーブルインデックス値iによって指定されるテーブルari_hash_m[]のエントリj=ari_hash_m[i]によって表される重要な状態値を表す。したがって、変数cの値が値j>>8よりも小さい場合、これは、変数cによって表される状態値がテーブルari_hash_m[]のエントリari_hash_m[i]によって表される重要な状態値よりも小さいことを意味する。この場合、変数i_maxの値は、変数iの値に等しく設定され、それは、次々に、i_minおよびi_maxによって定義される間隔のサイズが低減されるという効果を有し、新しい間隔は、前の間隔の下半分に近似的に等しい。変数cによって表されるコンテクスト値が配列ari_hash_m[]のエントリari_hash_m[i]によって表される重要な状態値よりも大きいことを意味する、関数arith_get_pkの入力変数cが値j>>8よりも大きいことが見いだされている場合、変数i_minの値は、変数iの値に等しく設定される。したがって、変数i_minおよびi_maxの値によって定義される間隔のサイズは、変数i_minおよびi_maxの前の値によって定義される、前の間隔のサイズの近似的に半分に低減される。より正確に言うと、変数i_minの更新された値によってさらに変数i_maxの前の不変の値によって定義される間隔は、変数cの値がエントリari_hash_m[i]によって定義される重要な状態値よりも大きい場合に、前の間隔の上半分に近似的に等しい。しかしながら、アルゴリズムarith_get_pkの入力変数cによって表されるコンテクスト値がエントリari_hash_m[i]によって定義される重要な状態値に等しいことすなわちc==j>>8が見いだされている場合、エントリari_hash_m[i]の最下位8ビットによって定義されるマッピングルールインデックス値は、関数arith_get_pkのリターン値としてリターンされる命令returnj0xFF。上記を要約すると、最上位ビットビット8および上位が重要な状態値を表すエントリari_hash_m[i]は、それぞれの反復506baにおいて評価され、さらに、関数arith_get_pkの入力変数cによって表されるコンテクスト値または数値的な現在のコンテクスト値は、前記テーブルエントリari_hash_m[i]によって表される重要な状態値と比較される。入力変数cによって表されるコンテクスト値がテーブルエントリari_hash_m[i]によって表される重要な状態値よりも小さい場合、テーブル間隔の値i_maxによって表される上方境界は、低減され、さらに、入力変数cによって表されるコンテクスト値がテーブルエントリari_hash_m[i]によって表される重要な状態値よりも大きい場合、テーブル間隔の変数i_minの値によって表される下方境界は、増加される。前記の両方の場合において、サブアルゴリズム506baは、i_maxおよびi_min間の差によって定義される間隔のサイズが1よりも小さいまたはそれに等しい場合を除いて、繰り返される。対照的に、変数cによって表されるコンテクスト値がテーブルエントリari_hash_m[i]によって表される重要な状態値に等しい場合、関数arith_get_pkは、停止され、リターン値は、テーブルエントリari_hash_m[i]の最下位8ビットによって定義される。しかしながら、間隔サイズがその最小値に達するので検索506bが終了されるi_max-i_minが1よりも小さいまたはそれに等しい場合、関数arith_get_pkのリターン値は、参照番号506cから明らかであるテーブルari_lookup_m[]のエントリari_lookup_m[i_max]によって決定される。テーブルari_lookup_m[]は、好ましくは、図21のテーブル表現において定義されるように選択され、さらに、そのため、テーブルari_lookup_m[742]に等しくなりうる。したがって、好ましくは図221、図222、図223、図224に定義されるようなテーブルari_hash_m[742]に等しいテーブルari_hash_m[]のエントリは、重要な状態値および間隔の境界の両方を定義する。サブアルゴリズム506baにおいて、検索間隔境界i_minおよびi_maxは、ハッシュテーブルインデックスiが少なくとも近似的に間隔境界値i_minおよびi_maxによって定義される検索間隔の中央に位置するテーブルari_hash_m[]のエントリari_hash_m[i]が、少なくとも入力変数cによって表されるコンテクスト値に近似するように、反復的に適している。このように、入力変数cによって表されるコンテクスト値が、サブアルゴリズム506baの反復の完了の後に、ari_hash_m[i_min]およびari_hash_m[i_max]によって定義される間隔内に位置することは、入力変数cによって表されるコンテクスト値がテーブルari_hash_m[]のエントリによって表される重要な状態値に等しくない限り、達成される。しかしながら、i_max-i_minによって定義される間隔のサイズがその最小値に達するまたは上回るので、サブアルゴリズム506baの反復的な繰り返しが終了される場合、入力変数cによって表されるコンテクスト値は、重要な状態値でないと仮定される。この場合、間隔の上方境界を指定するインデックスi_maxは、それにしても用いられる。サブアルゴリズム506baの最後の反復において達する間隔の上方の値i_maxは、図21のテーブルari_lookup_m[742]に等しくてもよいテーブルari_lookup_mへのアクセスのためのテーブルインデックス値として再使用される。テーブルari_lookup_m[]は、複数の隣接する数値的なコンテクスト値の間隔と関連するマッピングルールインデックス値を表す。テーブルari_lookup_m[]のエントリによって表されるマッピングルールインデックス値が関連する間隔は、テーブルari_hash_m[]のエントリによって表される重要な状態値によって定義される。テーブルari_hash_mのエントリは、重要な状態値および隣接する数値的なコンテクスト値の間隔の間隔境界の両方を定義する。アルゴリズム506bの実行において、入力変数cによって表される数値的なコンテクスト値が重要な状態値に等しいかどうかが決定され、さらに、これがそうでない場合、境界が重要な状態値によって定義される複数の間隔から数値的なコンテクスト値の間隔には、入力変数cによって表されるコンテクスト値が位置する。このように、アルゴリズム506bは、入力変数cが重要な状態値を表すかどうかを決定し、さらに、それがそうでない場合、入力変数cによって表されるコンテクスト値が位置する重要な状態値によって囲まれる間隔を確認するという二重機能を満たす。したがって、アルゴリズム506eは、特に効率的であり、さらに、比較的少数のテーブルアクセスだけを必要とする。上記を要約すると、コンテクスト状態cは、最上位2ビット的なプレーンmを復号化するために用いられる累積度数テーブルを決定する。cから対応する累積度数テーブルインデックスpkiへのマッピングは、関数arith_get_pkによって実行される。前記関数arith_get_pkの疑似プログラムコード表現は、図5eを参照して説明されている。上記をさらに要約すると、値mは、累積度数テーブルarith_cf_m[pki][]で呼び出される以下でさらに詳細に表される関数arith_decodeを用いて復号化され、pkiは、疑似Cコードの形式で図5eに関して表される関数arith_get_pkによってリターンされるマッピングルールインデックス値にも指定されるインデックスに対応する。11.5.2図5fによるアルゴリズムを用いるマッピングルール選択以下において、マッピングルール選択アルゴリズムarith_get_pkの別の実施形態がスペクトル値のタプルの復号化に用いられうるそのようなアルゴリズムの疑似プログラムコード表現を示す図5fに関して説明される。図5fによるアルゴリズムは、アルゴリズムget_pkのまたはアルゴリズムarith_get_pkの最適化されたバージョン例えば速度最適化されたバージョンとして考慮されうる。図5fによるアルゴリズムarith_get_pkは、入力変数として、コンテクストの状態を表す変数cを受信する。入力変数cは、例えば、数値的な現在のコンテクスト値を表しうる。アルゴリズムarith_get_pkは、出力変数として、入力変数cによって表されるコンテクストの状態に関連する確率分布または確率モデルのインデックスを表す変数pkiを提供する。変数pkiは、例えば、マッピングルールインデックス値であってもよい。図5fによるアルゴリズムは、配列i_diff[]のコンテンツの定義を含む。明らかなように、配列インデックス0を有する配列i_diff[]の最初のエントリは、299に等しく、さらに、配列インデックス1~8を有するさらなる配列エントリは、149、74、37、18、9、4、2および1の値をとる。したがって、ハッシュテーブルインデックス値i_minの選択のためのステップサイズは、配列i_diff[]のエントリが前記ステップサイズを定義するように、それぞれの反復で低減される。詳しくは、以下の議論について述べる。しかしながら、配列i_diff[]の異なるステップサイズ、例えば異なるコンテンツは、実際に選択されうり、配列i_diff[]のコンテンツは、ハッシュテーブルari_hash_m[i]のサイズに当然に適している。変数i_minは、アルゴリズムarith_get_pkの始めに右に0の値をとるために初期化される点に留意すべきである。初期化ステップ508aにおいて、変数sは、入力変数cに基づいて初期化され、変数cの数表現は、変数sの数表現を得るために、8ビットだけ左にシフトされる。その後、テーブル検索508bは、ハッシュテーブルari_hash_m[]のエントリのハッシュテーブルインデックス値i_minを確認するために、コンテクスト値cによって表されるコンテクスト値が、ハッシュテーブルエントリari_hash_m[i_min]によって表されるコンテクスト値と他のエントリari_hash_mがそのハッシュテーブルインデックス値に関してハッシュテーブルエントリari_hash_m[i_min]に隣接する別のハッシュテーブルエントリari_hash_mによって表されるコンテクスト値とによって囲まれる間隔内に位置するように、実行される。このように、アルゴリズム508bは、ハッシュテーブルエントリari_hash_m[i_min]が少なくとも入力変数cによって表されるコンテクスト値に近似するように、ハッシュテーブルari_hash_m[]のエントリj=ari_hash_m[i_min]を指定するハッシュテーブルインデックス値i_minの決定を可能にする。テーブル検索508bは、サブアルゴリズム508baの反復的な実行を含み、サブアルゴリズム508baは、所定の数の例えば9回の反復のために実行される。サブアルゴリズム508baの第1のステップにおいて、変数iは、変数i_minの値およびテーブルエントリi_diff[k]の値の合計に等しい値に設定される。kは、サブアルゴリズム508baのそれぞれの反復で、k=0の初期値から始まる、インクリメントされる実行中の変数である点にここで留意すべきである。配列i_diff[]は、所定のインクリメント値を定義し、インクリメント値は、インクリメントするテーブルインデックスkすなわち反復のインクリメントする数とともに低減する。サブアルゴリズム508baの第2のステップにおいて、テーブルエントリari_hash_m[]の値は、変数jにコピーされる。好ましくは、テーブルari_hash_m[]のテーブルエントリの最上位ビットは、数値的なコンテクスト値重要な状態値を表し、さらに、テーブルari_hash_m[]のエントリの最下位ビットビット0~7は、それぞれの重要な状態値と関連するマッピングルールインデックス値を表す。サブアルゴリズム508baの第3のステップにおいて、変数Sの値は、変数jの値と比較され、さらに、変数i_minは、変数sの値が変数jの値よりも大きい場合、値i1に選択的に設定される。その後、サブアルゴリズム508baの第1のステップ、第2のステップおよび第3のステップは、所定の回数、例えば9回、繰り返される。このように、サブアルゴリズム508baのそれぞれの実行において、変数i_minの値は、現在有効なハッシュテーブルインデックスi_mini_diff[]によって表されるコンテクスト値が入力変数cによって表されるコンテクスト値よりも小さい場合およびその場合に限り、i_diff[]1だけインクリメントされる。したがって、ハッシュテーブルインデックス値i_minは、入力変数cによってさらにしたがって変数sによって表されるコンテクスト値がエントリari_hash_m[i=i_mindiff[k]]によって表されるコンテクスト値よりも大きい場合およびその場合に限り、サブアルゴリズム508baのそれぞれの実行において反復的に増加される。さらに、単一の比較、すなわち変数sの値が変数jの値よりも大きいかどうかに関する比較だけがサブアルゴリズム508baのそれぞれの実行において実行される点に留意すべきである。したがって、アルゴリズム508baは、計算的に特に効率的である。さらに、変数i_minの最終的な値に関して異なる可能な結果がある点に留意すべきである。例えば、テーブルエントリari_hash_m[i_min]によって表されるコンテクスト値が入力変数cによって表されるコンテクスト値よりも小さく、さらに、テーブルエントリari_hash_m[i_min1]によって表されるコンテクスト値が入力変数cによって表されるコンテクスト値よりも大きいサブアルゴリズム512baの最後の実行の後に変数i_minの値があることが可能である。その代わりに、サブアルゴリズム508baの最後の実行の後、ハッシュテーブルエントリari_hash_m[i_min-1]によって表されるコンテクスト値が入力変数cによって表されるコンテクスト値よりも小さく、さらに、エントリari_hash_m[i_min]によって表されるコンテクスト値が入力変数cによって表されるコンテクスト値よりも大きいことが起こりうる。しかしながら、その代わりに、ハッシュテーブルエントリari_hash_m[i_min]によって表されるコンテクスト値が入力変数cによって表されるコンテクスト値と同一であることが起こりうる。このために、決定ベースのリターン値提供508cが実行される。変数jは、ハッシュテーブルエントリari_hash_m[i_min]の値をとるために設定される。その後、入力変数cによってさらに変数sによっても表されるコンテクスト値がエントリari_hash_m[i_min]によって表されるコンテクスト値よりも大きい条件s>jによって定義される第1の場合かどうか、または、入力変数cによって表されるコンテクスト値がハッシュテーブルエントリari_hash_m[i_min]によって表されるコンテクスト値よりも小さい条件c<j>>8によって定義される第2の場合かどうか、または、入力変数cによって表されるコンテクスト値がエントリari_hash_m[i_min]によって表されるコンテクスト値に等しい第3の場合かどうかが、決定される。第1の場合s>jにおいて、テーブルインデックス値i_min1によって指定されるテーブルari_lookup_m[]のエントリari_lookup_m[i_min1]は、関数arith_get_pkの出力値としてリターンされる。第2の場合c<j>>8において、テーブルインデックス値i_minによって指定されるテーブルari_lookup_m[]のエントリari_lookup_m[i_min]は、関数arith_get_pkのリターン値としてリターンされる。第3の場合すなわち入力変数cによって表されるコンテクスト値がテーブルエントリari_hash_m[i_min]によって表される重要な状態値に等しい場合において、ハッシュテーブルエントリari_hash_m[i_min]の最下位8ビットによって表されるマッピングルールインデックス値は、関数arith_get_pkのリターン値としてリターンされる。上記を要約すると、特に単純なテーブル検索がステップ508bにおいて実行され、テーブル検索は、入力変数cによって表されるコンテクスト値がテーブルari_hash_m[]の状態エントリのうちの1つによって定義される重要な状態値に等しいかどうかを区別しないで変数i_minの変数値を提供する。テーブル検索508bに続いて実行されるステップ508cにおいて、入力変数cによって表されるコンテクスト値およびハッシュテーブルエントリari_hash_m[i_min]によって表される重要な状態値間の大きさ関係が評価され、さらに、関数arith_get_pkのリターン値が前記評価の結果に基づいて選択され、テーブル評価508bにおいて決定される変数i_minの値は、入力変数cによって表されるコンテクスト値がハッシュテーブルエントリari_hash_m[i_min]によって表される重要な状態値と異なる場合であっても、マッピングルールインデックス値を選択するために考慮される。アルゴリズムにおける比較は、好ましくはまたはその代わりに、コンテクストインデックス数値的なコンテクスト値cおよびj=ari_hash_m[i]>>8間において行われるべきである点にさらに留意すべきである。実際、テーブルari_hash_m[]のそれぞれのエントリは、第8のビットを超えて符号化されるコンテクストインデックスおよび8つの第1のビット最下位ビットに符号化されるその対応する確率モデルを表す。現在の実施において、我々は、主に、s=c<<8がari_hash_m[i]よりも大きいかどうかについて検出することに等しい現在のコンテクストcがari_hash_m[i]>>8よりも大きいかどうかについて知っていることに興味がある。上記を要約すると、例えば図5cによるアルゴリズムarith_get_contextc,i,Nまたは図5dによるアルゴリズムarith_get_contextc,iを用いて達成されうるコンテクスト状態が計算されると、最上位2ビット的なプレーンは、コンテクスト状態に対応する確率モデルに対応する適切な累積度数テーブルで呼び出される以下に記載されるアルゴリズムarith_decodeを用いて復号化される。対応は、関数arith_get_pk、例えば図5fに関して述べられている関数arith_get_pkによって行われる。11.6算術復号化11.6.1図5gによるアルゴリズムを用いる算術復号化以下において、関数arith_decodeの好適な実施の機能が図5gに関して詳細に述べられる。図5gは、用いられたアルゴリズムを表す疑似Cコードを示す。関数arith_decodeは、それがシーケンスの最初のシンボルである場合にTRUEをリターンし、そうでない場合にFALSEをリターンするヘルパー関数arith_first_symbolvoidを用いる点に留意すべきである。また、関数arith_decodeは、ビットストリームの次のビットを得てさらに提供するヘルパー関数arith_get_next_bitvoidも用いる。加えて、関数arith_decodeは、グローバル変数low、highおよびvalueを用いる。さらに、関数arith_decodeは、入力変数として、選択された累積度数テーブルまたは累積度数サブテーブル好ましくは、図231、図232、図233のテーブル表現によって定義されるように、テーブルari_cf_m[64][17]のサブテーブルari_cf_m[pki=0][17]からari_cf_m[pki=63][17]までのうちの1つのエレメントインデックスまたはエントリインデックス0を有する最初のエントリまたはエレメントの方を指し示す変数cum_freq[]を受信する。また、関数arith_decodeは、変数cum_freq[]によって指定される選択された累積度数テーブルまたは累積度数サブテーブルの長さを示す入力変数cflを用いる。関数arith_decodeは、第1のステップとして、一連のシンボルの最初のシンボルが復号化されていることをヘルパー関数arith_first_symbolが示す場合に実行される変数初期化570aを含む。値初期化550aは、変数valueが前記ビットによって表される値をとるように、ヘルパー関数arith_get_next_bitを用いてビットストリームから得られる複数の例えば16のビットに基づいて変数valueを初期化する。また、変数lowは、0の値をとるために初期化され、さらに、、変数highは、65535の値をとるために初期化される。第2のステップ570bにおいて、変数rangeは、変数highおよびlowの値間の差よりも1だけ大きい値に設定される。変数cumは、変数lowの値および変数highの値間の変数valueの値の相対的な位置を表す値に設定される。したがって、変数cumは、例えば、変数valueの値に基づいて0および216間の値をとる。ポインタpは、選択された累積度数テーブルまたはサブテーブルの開始アドレスよりも1だけ小さい値に初期化される。アルゴリズムarith_decodeは、反復的な累積度数テーブル検索570cも含む。反復的な累積度数テーブル検索は、変数1cfがlよりも小さいまたはそれに等しいまで繰り返される。反復的な累積度数テーブル検索570cにおいて、ポインタ変数qは、ポインタ変数pの現在の値および変数cflの半分の値の合計に等しい値に設定される。エントリがポインタ変数qによって述べられる選択された累積度数テーブルのエントリqが変数cumの値よりも大きい場合、ポインタ変数pは、ポインタ変数qの値に設定され、さらに、変数cflの値は、インクリメントされる。最後に、変数cflは、1ビットだけ右にシフトされ、それによって、効果的に変数cflの値を2で分割しさらにモジュロ部分を無視する。したがって、反復的な累積度数テーブル検索570cは、値cumが確認された間隔内に位置するように、累積度数テーブルのエントリによって囲まれる選択された累積度数テーブル内で間隔を確認するために、変数cumの値を選択された累積度数テーブルの複数のエントリと効果的に比較する。したがって、選択された累積度数テーブルのエントリは、間隔を定義し、それぞれのシンボル値は、選択された累積度数テーブルの間隔のそれぞれに関連する。また、累積度数テーブルの2つの隣接する値間の間隔の幅は、その全体において選択された累積度数テーブルが異なるシンボルまたはシンボル値の確率分布を定義するように、前記間隔と関連するシンボルの確率を定義する。利用できる累積度数テーブルまたは累積度数サブテーブルに関する詳細が図23を参照して以下に述べられる。図5gを再び参照して、シンボル値は、ポインタ変数pの値から導き出され、シンボル値は、参照番号570dで示されるように導き出される。このように、ポインタ変数pの値および開始アドレスcum_freq間の差は、変数symbolによって表されるシンボル値を得るために評価される。アルゴリズムarith_decodeは、変数highおよびlowの適合570eも含む。変数symbolによって表されるシンボル値が0と異なる場合、変数highは、参照番号570eに示されるように、更新される。また、変数lowの値は、参照番号570eに示されるように、更新される。変数highは、変数lowの値、変数rangeおよび選択された累積度数テーブルまたは累積度数サブテーブルのインデックスsymbol-1を有するエントリによって決定される値に設定される。変数lowは、増加し、増加の大きさは、変数rangeおよびインデックスsymbolを有する選択された累積度数テーブルのエントリによって決定される。したがって、変数lowおよびhighの値間の差は、選択された累積度数テーブルの2つの隣接するエントリ間の数値的な差に基づいて調整される。したがって、低い確率を有するシンボル値が検出される場合、変数lowおよびhighの値間の間隔は、狭い幅に低減される。対照的に、検出されたシンボル値が比較的大きい確率を含む場合、変数lowおよびhighの値間の間隔の幅は、比較的大きい値に設定される。再び、変数lowおよびhighの値間の間隔の幅は、累積度数テーブルの検出されたシンボルおよび対応するエントリに依存する。アルゴリズムarith_decodeは、間隔繰り込み570fも含み、ステップ570eにおいて決定される間隔は、break条件に達するまで反復的にシフトされさらにスケールされる。間隔繰り込み570fにおいて、選択的な下方シフト演算570faが実行される。変数highが32768よりも小さい場合、何も行われなく、さらに、間隔繰り込みが間隔サイズ増加演算570fbを続ける。しかしながら、変数highが32768よりも小さくなく、さらに、変数lowが32768以上である場合、変数value、lowおよびhighの全ては、変数lowおよびhighによって定義される間隔が下方にシフトされ、さらに、変数valueの値も下方にシフトされるように、32768だけ低減される。しかしながら、変数highの値が32768よりも小さくなく、さらに、変数lowが32768以上でなく、さらに、変数lowが16384以上であり、さらに、変数highが49152よりも小さいことが見いだされている場合、変数value、lowおよびhighの全ては、16384だけ低減され、それによって、変数highおよびlowの値の間の間隔と変数valueの値とを下方にシフトする。しかしながら、上述の条件のどちらも満たされない場合、間隔繰り込みは、停止される。しかしながら、ステップ570faにおいて評価される上述の条件のいずれかが満たされる場合、間隔増加演算570fbは、実行される。間隔増加演算570fbにおいて、変数lowの値は、2倍になる。また、変数highの値は、2倍になり、さらに、2倍にする結果は、1だけ増加される。また、変数valueの値は、1ビットだけ左にシフトされ2倍になり、さらに、ヘルパー関数arith_get_next_bitによって得られるビットストリームのビットは、最下位ビットとして用いられる。したがって、変数lowおよびhighの値間の間隔のサイズは、近似的に2倍になり、さらに、変数valueの精度は、ビットストリームの新しいビットを用いることによって増加される。上述のように、ステップ570faおよび570fbは、break条件に達するまで、すなわち変数lowおよびhighの値間の間隔が十分に大きくなるまで繰り返される。アルゴリズムarith_decodeの機能に関して、変数lowおよびhighの値間の間隔は、変数cum_freqによって参照される累積度数テーブルの2つの隣接するエントリに基づいてステップ570eにおいて低減される点に留意すべきである。選択された累積度数テーブルの2つの隣接する値間の間隔が小さい場合、すなわち隣接する値が互いに比較的接近している場合、ステップ570eにおいて得られる変数lowおよびhighの値間の間隔は、比較的小さい。対照的に、累積度数テーブルの2つの隣接するエントリがさらに間隔を置かれる場合、ステップ570eにおいて得られる変数lowおよびhighの値間の間隔は、比較的大きい。したがって、ステップ570eにおいて得られる変数lowおよびhighの値間の間隔が比較的小さい場合、多数の間隔繰り込みステップは、条件評価570faの条件のどちらも満たされないように、間隔をsufficient十分なサイズにリスケールするために実行される。したがって、ビットストリームからの比較的多数のビットが、変数valueの精度を増加するために用いられる。対照的に、ステップ570eにおいて得られる間隔サイズが比較的大きい場合、間隔繰り込みステップ570faおよび570fbのより少数の反復だけが、変数lowおよびhighの値間の間隔をsufficient十分なサイズに繰り込むために必要とされる。したがって、ビットストリームからの比較的少数のビットだけが、変数valueの精度を増加しさらに次のシンボルの復号化を準備するために用いられる。上記を要約すると、比較的高い確率を含みさらに大きい間隔が選択された累積度数テーブルのエントリによって関連するシンボルが、復号化される場合、比較的少数のビットだけが、後のシンボルの復号化を可能にするために、ビットストリームから読み取られる。対照的に、比較的小さい確率を含みさらに小さい間隔が選択された累積度数テーブルのエントリによって関連するシンボルが、復号化される場合、比較的多数のビットが、次のシンボルの復号化を準備するために、ビットストリームからとられる。したがって、累積度数テーブルのエントリは、異なるシンボルの確率を反映し、さらに一連のシンボルを復号化するために必要なビットの数も反映する。コンテクストに基づいてすなわち前に復号化されたシンボルまたはスペクトル値に基づいて累積度数テーブルを変化することによって、例えば、コンテクストに基づいて異なる累積度数テーブルを選択することによって、後のまたは隣接するシンボルの特定のビットレート効率的な符号化を可能にする異なるシンボル間の確率論的な依存を利用することができる。上記を要約すると、図5gに関して記載されている関数arith_decodeは、リターン変数symbolによって表されるシンボル値に設定されうる最上位ビットプレーン値mを決定するために関数arith_get_pkによってリターンされるインデックスpkiに対応する、累積度数テーブルarith_cf_m[pki][]で呼び出される。上記を要約すると、算術デコーダは、スケーリングを有するタグ生成の方法を用いる整数実施である。詳しくは、K.Sayoodの書籍IntroductiontoDataCompression、第3版、2006年、ElsevierInc.について述べる。図5gによるコンピュータプログラムコードは、本発明の実施形態による用いられたアルゴリズムを表す。11.6.2図5hおよび図5iによるアルゴリズムを用いる算術復号化図5hおよび図5iは、図5gに関して記載されるアルゴリズムarith_decodeに代わるものとして用いることができるアルゴリズムarith_decodeの別の実施形態の疑似プログラムコード表現を示す。図5gおよび図5hおよび図5iによる両方のアルゴリズムは、図3によるアルゴリズムvalues_decodeにおいて用いられうる点に留意すべきである。要約すると、値mは、好ましくは図231、図232、図233のテーブル表現において定義されるテーブルari_cf_m[67][17]のサブテーブルである累積度数テーブルarith_cf_m[pki][]で呼び出される関数arith_decodeを用いて復号化され、pkiは、関数arith_get_pkによってリターンされるインデックスに対応する。算術コーダまたはデコーダは、スケーリングを有するタグ生成の方法を用いる整数実施である。詳しくは、K.Sayoodの書籍IntroductiontoDataCompression、第3版、2006年、ElsevierInc.について述べる。図5hおよび図5iによるコンピュータプログラムコードは、用いられたるアルゴリズムを表す。11.7エスケープメカニズム以下において、図3による復号化アルゴリズムvalues_decodeにおいて用いられるエスケープメカニズムが簡単に述べられる。関数arith_decodeのリターン値として提供される復号化された値mがエスケープシンボルARITH_ESCAPEであるときに、変数levおよびesc_nbは、1だけインクリメントされ、さらに、別の値mは、復号化される。この場合、関数arith_get_pkまたはget_pkは、入力引数として値cesc_nb<<17でもう一度呼び出され、変数esc_nbは、同じ2タプルのために前に復号化されさらに7にバウンドされるエスケープシンボルの数を表す。要約すると、エスケープシンボルが確認される場合、最上位ビットプレーン値mは、増加された数値的な重みを含むと仮定される。さらに、現在の数値的な復号化は、繰り返され、修正された数値的な現在のコンテクスト値cesc_nb<<17は、入力変数として関数arith_get_pkに用いられる。したがって、異なるマッピングルールインデックス値pkiは、サブアルゴリズムの異なる反復において典型的に得られる。11.8算術停止メカニズム以下において、算術停止メカニズムが記載される。算術停止メカニズムは、上方の周波数部分がオーディオエンコーダにおいて0に完全に量子化される場合に、必要なビットの数の低減を可能にする。実施形態において、算術停止メカニズムは、以下のように実施されうる。一旦、値mがエスケープシンボルARITH_ESCAPEでないと、デコーダは、連続したmがARITH_STOPシンボルを形成するかどうかをチェックする。条件esc_nb>0m==0が真である場合、ARITH_STOPシンボルは、検出され、さらに、復号化処理は、終了する。この場合、デコーダは、直接的に、以下に記載される符号復号化または以下に記載されるarith_finish関数にジャンプする。条件は、フレームの残りがゼロ値から成ることを意味する。11.9下位ビットプレーン復号化以下において、1つ以上の下位ビットプレーンの復号化が記載される。下位ビットプレーンの復号化は、例えば、図3に示されるステップ312dにおいて実行される。しかしながら、その代わりに、図5jおよび図5nに示されるようなアルゴリズムが用いられうり、図5jのアルゴリズムは、好適なアルゴリズムである。11.9.1図5jによる下位ビットプレーン復号化図5jをこれから参照して、変数aおよびbの値は、値mから導き出されることが明らかである。例えば、値mの数表現は、変数bの数表現を得るために、2ビットだけ右にシフトされる。さらに、変数aの値は、変数mの値から、2ビットだけ左にビットシフトされる、変数bの値のビットシフトされたバージョンを減算することによって得られる。その後、最下位ビットプレーン値rの算術復号化は、繰り返され、反復の数は、変数levの値によって決定される。最下位ビットプレーン値rは、関数arith_decodeを用いて得られ、最下位ビットプレーン復号化に適している累積度数テーブルが、用いられる累積度数テーブルarith_cf_r。変数rの1の数値的な重みを有する最下位ビットは、変数aによって表されるスペクトル値の下位ビットプレーンを表し、さらに、変数rの2の数値的な重みを有するビットは、変数bによって表されるスペクトル値の下位ビットを表す。したがって、変数aは、変数aを1ビットだけ左にシフトし、さらに、最下位ビットとして変数rの1の数値的な重みを有するビットを加算することによって更新される。同様に、変数bは、変数bを1ビットだけ左にシフトし、さらに、変数rの2の数値的な重みを有するビットを加算することによって更新される。したがって、変数a、bのビットを伝える2つの最も重要な情報は、最上位ビットプレーン値mによって決定され、さらに、値aおよびbのもしあれば1つ以上の最下位ビットは、1つ以上の下位ビットプレーン値rによって決定される。上記を要約すると、ARITH_STOPシンボルが満たされない場合、残りのビットプレーンは、いずれかが存在する場合、現在の2タプルのためにそれから復号化される。残りのビットプレーンは、累積度数テーブルarith_cf_r[]で関数arith_decodelev回数を呼び出すことによって、最上位から最下位レベルまで復号化される。復号化されたビットプレーンrは、疑似プログラムコードが図5jに示されるアルゴリズムに従って前に復号化された値mをリファインすることを許可する。11.9.2図5nによる下位ビットバンド復号化しかしながら、その代わりに、疑似プログラムコード表現が図5nに示されるアルゴリズムを、下位ビットプレーン復号化のために用いることもできる。この場合、ARITH_STOPシンボルが満たされない場合、残りのビットプレーンは、いずれかが存在する場合、現在の2タプルのためにそれから復号化される。残りのビットプレーンは、累積度数テーブルarith_cf_rでlev回数arith_decodeを呼び出すことによって、最上位から最下位レベルまで復号化される。復号化されたビットプレーンrは、図5nに示されるアルゴリズムに従って前に復号化された値mのリファインのために許可する。11.10コンテクスト更新11.10.1図5k、図5lおよび図5mによるコンテクスト更新以下において、スペクトル値のタプルの復号化を完全にするために用いられる演算が図5kおよび図5lを参照して記載される。さらに、オーディオコンテンツの現在の部分例えば現在のフレームと関連するスペクトル値のタプルのセットの復号化を完全にするために用いられる演算が記載される。図5k、図5lおよび図5mによるアルゴリズムは、代わりのアルゴリズムが用いられうるにもかかわらず、好ましい点に留意すべきである。図5kをこれから参照して、下位ビット復号化312dの後に、配列x_ac_dec[]のエントリインデックス2iを有するエントリがaに等しく設定され、さらに、配列x_ac_dec[]のエントリインデックス2i1を有するエントリがbに等しく設定されることが明らかである。換言すれば、下位ビット復号化312dの後の時点で、2タプル{a,b}の符号なしの値は、完全に復号化される。それは、図5kに示されるアルゴリズムに従ってスペクトル係数を保持する配列例えば配列x_ac_dec[]に保存される。その後、コンテクストqは、次の2タプルのためにも更新される。このコンテクスト更新は、最後の2タプルのためにも実行されなければならない点に留意すべきである。このコンテクスト更新は、疑似プログラムコード表現が図5lに示される関数arith_update_contextによって実行される。図5lをこれから参照して、関数arith_update_contexti,a,bは、入力変数として、2タプルの復号化され符号なしの量子化されたスペクトル係数またはスペクトル値a、bを受信することが明らかである。加えて、関数arith_update_contextは、入力変数として、復号化する量子化されたスペクトル係数のインデックスi例えば周波数インデックスも受信する。換言すれば、入力変数iは、例えば、絶対値が入力変数a、bによって定義されるスペクトル値のタプルのインデックスであってもよい。明らかなように、配列q[][]のエントリq[1][i]は、ab1に等しい値に設定されうる。加えて、配列q[][]のエントリq[1][i]の値は、0xFの16進値に制限されうる。このように、配列q[][]のエントリq[1][i]は、周波数インデックスiを有するスペクトル値の現在復号化されたタプル{a,b}の絶対値の合計を計算しさらに前記合計の結果に1を加算することによって得られる。配列q[][]のエントリq[1][i]は、それが付加的なスペクトル値またはスペクトル値のタプルの後の復号化のために用いられるコンテクストのサブ区域を表すので、コンテクストサブ区域値として考慮されうる点にここで留意すべきである。その符号付きのバージョンが配列x_ac_dec[]のエントリx_ac_dec[2i]およびx_ac_dec[2i1]に格納される2つの現在復号化されたスペクトル値の絶対値aおよびbの合計は、復号化されたスペクトル値のノルム例えばL1ノルムの計算として考慮されうる点にここで留意すべきである。複数の前に復号化されたスペクトル値によって形成されるベクトルのノルムを表すコンテクストサブ区域値すなわち配列q[][]のエントリは、特に意味がありさらにメモリ効率がよいことが見いだされている。複数の前に復号化スペクトル値に基づいて計算されるそのようなノルムは、コンパクトな形式で意味のあるコンテクスト情報を含むことが見いだされている。スペクトル値の符号は、典型的にコンテクストの選択のために特に関連しないことが見いだされている。複数の前に復号化されたスペクトル値全体のノルムの形成は、いくつかの詳細が破棄される場合があるにもかかわらず、典型的に最も重要な情報を維持することも見いだされている。さらに、最大値への数値的な現在のコンテクスト値の制限は、典型的に情報の多大な損失をもたらさないことが見いだされている。むしろ、所定の閾値よりも大きい重要なスペクトル値のための同じコンテクスト状態を用いることがより効率的であることが見いだされている。このように、コンテクストサブ区域値の制限は、メモリ効率のさらなる改良をもたらす。さらに、特定の最大値へのコンテクストサブ区域値の制限は、例えば図5cおよび図5dに関して記載されている数値的な現在のコンテクスト値の特に単純なおよび計算的に効率的な更新を可能にすることが見いだされている。コンテクストサブ区域値を比較的小さい値に例えば15の値に制限することによって、複数のコンテクストサブ区域値に基づくコンテクスト状態を、図5cおよび図5dを参照して述べられている効率的な形式で表すことができる。さらに、1および15間の値へのコンテクストサブ区域値の制限は、精度およびメモリ効率間の特に良好な妥協をもたらすことが見いだされているが、その理由は、4ビットがそのようなコンテクストサブ区域値を格納するために十分であるからである。しかしながら、いくつかの他の実施形態において、コンテクストサブ区域値は、単一の復号化されたスペクトル値だけに基づいてもよい点に留意すべきである。この場合、ノルムの形成は、任意に省略されうる。フレームの次の2タプルは、関数arith_get_contextから始まって、iを1だけインクリメントすることによってさらに上述と同じ処理をやり直すことによって、関数arith_update_contextの完了の後に復号化される。lg/2の2タプルがフレーム内で復号化されるときにまたは停止シンボルARITH_STOPが生じると、スペクトル振幅の復号化処理が終了し、さらに、符号の復号化が開始する。符号の復号化に関する詳細が図3に関して述べられ、符号の復号化は、参照番号314において示される。一旦、全ての符号なしの量子化されたスペクトル係数が復号化されると、対応する符号が加算される。x_ac_decのヌルでない量子化された値ごとに、ビットが読み取られる。読み取られたビット値が1に等しい場合、量子化された値は正であり、何も行われず、さらに、符号付きの値は前に復号化された符号なしの値に等しい。さもなければすなわち読み取られたビット値が0に等しい場合、復号化された係数またはスペクトル値は負であり、さらに、2つの補数は符号なしの値からとられる。符号ビットは、下からより高い周波数まで読み取られる。詳しくは、図3についてさらに符号復号化314に関する説明について述べる。復号化は、関数arith_finishを呼び出すことによって終了される。残りのスペクトル係数は、0に設定される。それぞれのコンテクスト状態は、対応して更新される。詳しくは、関数arith_finishの疑似プログラムコード表現を示す図5mについて述べる。明らかなように、関数arith_finishは、復号化され量子化されたスペクトル係数を表す入力変数lgを受信する。好ましくは、関数arith_finishの入力変数lgは、スペクトル値を考慮しないで、0値がARITH_STOPシンボルの検出に応じて割り当てられている実際に復号化されたスペクトル係数の数を表す。関数arith_finishの入力変数Nは、現在のウィンドウすなわちオーディオコンテンツの現在の部分と関連するウィンドウのウィンドウの長さを表す。典型的に、長さNのウィンドウと関連するスペクトル値の数は、N/2に等しく、さらに、ウィンドウの長さNのウィンドウと関連するスペクトル値の2タプルの数は、N/4に等しい。関数arith_finishは、入力値として、復号化されたスペクトル値のベクトルx_ac_decまたは少なくとも復号化されたスペクトル係数のそのようなベクトルの参照を受信する。関数arith_finishは、スペクトル値が算術停止条件の存在のため復号化されなかった配列またはベクトルx_ac_decのエントリを0に設定するように構成される。さらに、関数arith_finishは、値が算術停止条件の存在のため復号化されなかったスペクトル値と関連するコンテクストサブ区域値q[1][i]を1の所定の値に設定する。1の所定の値は、スペクトル値のタプルに対応し、両方のスペクトル値は、0に等しい。したがって、関数arith_finishは、算術停止条件の存在においても、スペクトル値の全体の配列またはベクトルx_ac_dec[]およびコンテクストサブ区域値q[1][i]の全体の配列を更新することを可能にする。11.10.2図5oおよび図5pによるコンテクスト更新以下において、コンテクスト更新の別の実施形態が図5oおよび図5pを参照して記載される。2タプルa、bの符号なしの値が完全に復号化される時点で、コンテクストqは、それから次の2タプルのために更新される。更新は、現在の2タプルが最後の2タプルである場合にも実行される。両方の更新は、疑似プログラムコード表現が図5oに示される関数arith_update_contextによって行われる。フレームの次の2タプルは、それから、iを1だけインクリメトしさらに関数arith_decodeを呼び出すことによって復号化される。lg/2の2タプルがフレームですでに復号化された場合、または、停止シンボルARITH_STOPが生じる場合、関数arith_finishが呼び出される。コンテクストは、次のフレームのための配列またはベクトルqsにおいて保存されさらに格納される。関数arith_save_contextの疑似プログラムコードは、図5pに示される。一旦、全ての符号なしの量子化されたスペクトル係数が復号化されると、符号がそれから加算される。qdecの非量子化された値ごとに、ビットが読み取られる。読み取られたビット値が0に等しい場合、量子化された値は正であり、何も行われず、さらに、符号付の値は前に復号化された符号なしの値に等しい。さもなければ、復号化された係数は負であり、さらに、2つの補数は符号なしの値からとられる。符号付のビットは、下から高い周波数まで読み取られる。11.11復号化処理の要約以下において、復号化処理が簡単に要約される。詳しくは、上述の議論および図3、図4、図5a、図5c、図5e、図5g、図5j、図5k、図5lおよび図5mについて述べる。量子化されたスペクトル係数x_ac_dec[]は、最も低い周波数係数から始まって最も高い周波数係数に進んでノイズレスに復号化される。それらは、{a,b}でも指定されるいわゆる2タプルa、bにおいて集める2つの連続した係数a、bのグループによって復号化される。周波数領域のためのすなわち周波数領域モードのための復号化された係数x_ac_dec[]は、それから配列x_ac_quant[g][win][sfb][bin]に格納される。ノイズレス符号化コードワードの伝送の順序は、それらが受信される順序に復号化されさらに配列に格納されるときに、binが最も急速にインクリメントするインデックスであり、さらに、gが最もゆっくりインクリメントするインデックスである。コードワード内において、復号化の順序は、aそしてbである。TCXのためのすなわち変換符号化された励起を用いるオーディオ復号化のための復号化された係数x_ac_dec[]は、例えば、配列x_tcx_invquant[win][bin]に直接的に格納され、さらに、ノイズレス符号化コードワードの伝送の順序は、それらが受信される順序に復号化されさらに配列に格納されるときに、binが最も急速にインクリメントするインデックスであり、さらに、winが最もゆっくりインクリメントするインデックスである。コードワード内において、復号化の順序は、aそしてbである。最初に、フラグarith_reset_flagは、コンテクストがリセットされなければならないかどうかを決定する。フラグが真である場合、これは、関数arith_map_contextにおいて考慮される。復号化処理は、コンテクストエレメントベクトルqがq[1][]に格納される前のフレームのコンテクストエレメントをq[0][]にコピーしさらにマップすることによって更新される初期設定段階から始まる。q内のコンテクストエレメントは、2タプルごとに4ビットに格納される。詳しくは、図5aの疑似プログラムコードについて述べる。ノイズレスデコーダは、符号なしの量子化されたスペクトル係数の2タプルを出力する。最初に、コンテクストの状態cは、復号化する2タプルを囲む前に復号化されたスペクトル係数に基づいて計算される。したがって、状態は、2つの新しい2タプルだけを考慮して、最後の復号化された2タプルのコンテクスト状態を用いて増加的に更新される。状態は、17ビットに復号化され、さらに、関数arith_get_contextによってリターンされる。設定された関数arith_get_contextの疑似プログラムコード表現は、図5cに示される。コンテクスト状態cは、最上位2ビット的なプレーンmを復号化するために用いられる累積度数テーブルを決定する。cから対応する累積度数テーブルインデックスpkiへのマッピングは、関数arith_get_pkによって実行される。関数arith_get_pkの疑似プログラムコード表現は、図5eに示される。値mは、累積度数テーブルarith_cf_m[pki][]で呼び出される関数arith_decodeを用いて復号化され、pkiは、arith_get_pkによってリターンされるインデックスに対応する。算術コーダおよびデコーダは、スケーリングを有するタグ生成の方法を用いる整数実施である。図5gによる疑似プログラムコードは、用いられたアルゴリズムを表す。復号化された値mがエスケープシンボルARITH_ESCAPEであるときに、変数levおよびesc_nbは、1だけインクリメントされ、さらに、別の値mは、復号化される。この場合、関数get_pkは、入力引数として値cesc_nb<<17でもう一度呼び出され、esc_nbは、同じ2タプルのために前に復号化されさらに7にバウンドされるエスケープシンボルの数である。一旦、値mがエスケープシンボルARITH_ESCAPEでないと、デコーダは、連続したmがARITH_STOPシンボルを形成するかどうかをチェックする。条件esc_nb>0m==0が真である場合、ARITH_STOPシンボルは、検出され、さらに、復号化処理は、終了する。デコーダは、直接的に、以下に記載される符号復号化にジャンプする。条件は、フレームの残りが0値から成ることを意味する。ARITH_STOPシンボルが満たされない場合、残りのビットプレーンは、いずれかが存在する場合、現在の2タプルのためにそれから復号化される。残りのビットプレーンは、累積度数テーブルarith_cf_r[]でarith_decodelev回数を呼び出すことによって、最上位から最下位レベルまで復号化される。復号化されたビットプレーンrは、擬似プログラムコードが図5jに示されるアルゴリズムに従って、前に復号化された値mのリファインを許可する。この時点で、2タプルa、bの符号なしの値は、完全に復号化される。それは、疑似プログラムコード表現が図5kに示されるアルゴリズムに従ってスペクトル係数を保持するエレメントに保存される。コンテクストqは、次の2タプルのためにも更新される。このコンテクスト更新は、最後の2タプルのためにも実行されなければならない点に留意すべきである。このコンテクスト更新は、疑似プログラムコード表現が図5lに示される関数arith_update_contextによって実行される。フレームの次の2タプルは、関数arith_get_contextから始まって、iを1だけインクリメントすることによってさらに上述と同じ処理をやり直すことによって復号化される。lg/2の2タプルがフレーム内で復号化されるときにまたは停止シンボルARITH_STOPが生じるときに、スペクトル振幅の復号化処理が終了し、さらに、符号の復号化が開始する。復号化は、関数arith_finishを呼び出すことによって終了される。残りのスペクトル係数は、0に設定される。それぞれのコンテクスト状態は、対応して更新される。関数arith_finishの疑似プログラムコード表現は、図5mに示される。一旦、全ての符号なしの量子化されたスペクトル係数が復号化されると、対応する符号が加算される。x_ac_decのヌルでない量子化された値ごとに、ビットが読み取られる。読み取られたビット値が1に等しい場合、量子化された値は正であり、何も行われず、さらに、符号付きの値は前に復号化された符号なしの値に等しい。さもなければ、復号化された係数は負であり、さらに、2つの補数は符号なしの値からとられる。符号付のビットは、下から高い周波数まで読み取られる。11.12凡例図5qは、図5a、5c、5e、5f、5g、5j、5k、5lおよび5mによるアルゴリズムに関連する定義の凡例を示す。図5rは、図5b、5d、5f、5h、5i、5n、5oおよび5pによるアルゴリズムに関連する定義の凡例を示す。12.マッピングテーブル本発明による実施形態において、特に有利なテーブルari_lookup_m、ari_hash_mおよびari_cf_mは、図5eまたは図5fによる関数arith_get_pkの実行のために、さらに、図5g、図5hおよび図5iに関して述べられた関数arith_decodeの実行のために用いられる。しかしながら、異なるテーブルがいくつかの代わりの実施形態において用いられうる点に留意すべきである。12.1図221、図222、図223および図224によるテーブルari_hash_m[742]関数arith_get_pkによって用いられ、第1の好適な実施形態が図5eに関して記載されさらに第2実施形態が図5fに関して記載されている、テーブルari_hash_mの特に有利な実施のコンテンツは、図221から図224のテーブルにおいて示される。図221から図224のテーブル表現は、テーブルまたは配列ari_hash_m[742]の742のエントリをリストする点に留意すべきである。図221から図224のテーブル表現は、最初の値0x00000104ULがエレメントインデックスまたはテーブルインデックス0を有するテーブルエントリari_hash_m[0]に対応するように、さらに、最後の値0xFFFFFF00ULがエレメントインデックスまたはテーブルインデックス741を有するテーブルエントリari_hash_m[741]に対応するように、エレメントインデックスの順序にエレメントを示す点にも留意すべきである。0xは、テーブルari_hash_m[]のテーブルエントリが16進形式において表されることを示す点にここでさらに留意すべきである。さらに、添え字ULは、テーブルari_hash_m[]のテーブルエントリが32ビットの精度を有する符号なしのlong整数値として表されることを示す点にここで留意すべきである。さらに、図221から図224によるテーブルari_hash_m[]のテーブルエントリは、関数arith_get_pkのテーブル検索506b、508b、510bの実行を可能にするために、数値的な順序に配置される点に留意すべきである。テーブルari_hash_mのテーブルエントリの最上位24ビットは、特定の重要な状態値を表しさらに第1のサブエントリとして考慮されうり、その一方で、最下位8ビットは、マッピングルールインデックス値pkiを表すさらに第2のサブエントリとして考慮されうる点にさらに留意すべきである。このように、テーブルari_hash_m[]のエントリは、マッピングルールインデックス値pki上に、コンテクスト値のdirecthit直接的なヒットのマッピングを表す。しかしながら、テーブルari_hash_m[]のエントリの最上位24ビットは、同時に、同じマッピングルールインデックス値が関連する数値的なコンテクスト値の間隔の間隔境界を表す。この概念に関する詳細は、すでに上述されている。12.2図21によるテーブルari_lookup_mテーブルari_lookup_mの特に有利な実施形態のコンテンツが図21の表において示される。図21の表は、テーブルari_lookup_mのエントリをリストする点にここで留意すべきである。エントリは、例えば、i_maxまたはi_minまたはiで指定されるelementindexエレメントインデックスまたはarrayindex配列インデックスまたはtableindexテーブルインデックスにも指定される1次元整数型エントリインデックスによって参照される。742のエントリの合計を含むテーブルari_lookup_mは、図5eまたは図5fによる関数arith_get_pkによる使用のためによく適している点に留意すべきである。図21によるari_lookup_mは、テーブル図22によるテーブルari_hash_mと協働するために適している点に留意すべきである。テーブルari_lookup_m[742]のエントリは、0および741間にテーブルインデックスi例えばi_minまたはi_maxまたはiの昇順にリストされる点に留意すべきである。ターム0xは、テーブルエントリが16進形式に表されることを示す。したがって、最初のテーブルエントリ0x01は、テーブルインデックス0を有するテーブルエントリari_lookup_m[0]に対応し、さらに、最後のテーブルエントリ0x27は、テーブルインデックス741を有するテーブルエントリari_lookup_m[741]に対応する。テーブルari_lookup_m[]のエントリは、テーブルarith_hash_m[]の隣接するエントリによって定義される間隔と関連する点に留意すべきである。このように、テーブルari_lookup_mのエントリは、数値的なコンテクスト値の間隔と関連するマッピングルールインデックス値を表し、間隔は、テーブルarith_hash_mのエントリによって定義される。12.3.図231、図232および図233によるテーブルari_cf_m[64][17]図23は、1つが、例えば、関数arith_decodeの実行のために、すなわち最上位ビットプレーン値の復号化のために、オーディオエンコーダ100、700またはオーディオデコーダ200、800によって選択される、64の累積度数テーブルまたはサブテーブルari_cf_m[pki][17]のセットを示す。図231から図233に示される64の累積度数テーブルまたはサブテーブルのうちの選択された1つは、関数arith_decodeの実行においてテーブルcum_freq[]の関数をとる。図231から図233で明らかなように、それぞれのサブブロックまたはラインは、17のエントリを有する累積度数テーブルを表す。例えば、第1のサブブロックまたはライン2310は、pki=0のための累積度数テーブルの17のエントリを表す。第2のサブブロックまたはライン2312は、pki=1のための累積度数テーブルの17のエントリを表す。最後に、第64のサブブロックまたはライン2364は、pki=63のための累積度数テーブルの17のエントリを表す。このように、図231から図233は、pki=0からpki=95までのための64の異なる累積度数テーブルまたはサブテーブルを効果的に表し、64の累積度数テーブルのそれぞれは、波括弧よって囲まれるサブブロックまたはラインによって表され、さらに、前記累積度数テーブルのそれぞれは、17のエントリを含む。サブブロックまたはライン例えば、サブブロックまたはライン2310または2312、または、サブブロックまたはライン2396内で、最初の値例えば最初のサブブロック2310の最初の値708は、サブブロックまたはラインによって表される0の配列インデックスまたはテーブルインデックスを有する累積度数テーブルの最初のエントリを表し、さらに、最後の値例えば最初のサブブロックまたはライン2310の最後の値0は、サブブロックまたはラインによって表される16の配列インデックスまたはテーブルインデックスを有する累積度数テーブルの最後のエントリを表す。したがって、図23のテーブル表現のそれぞれのサブブロックまたはライン2310、2312、2364は、図5gによるまたは図5hおよび図5iによる関数arith_decodeによる使用のための累積度数テーブルのエントリを表す。関数arith_decodeの入力変数cum_freq[]は、テーブルarith_cf_mの17のエントリの個々のサブブロックによって表される64の累積度数テーブルのどれが現在のスペクトル係数の復号化のために用いられるべきであるかを表す。12.4図24によるテーブルari_cf_r[]図24は、テーブルari_cf_r[]のコンテンツを示す。前記テーブルの4つのエントリが図24に示される。しかしながら、テーブルari_cf_rは、最終的には他の実施形態において異なってもよい点に留意すべきである。13.概要、パフォーマンス評価および効果上述のように、本発明による実施形態は、計算の複雑度、必要メモリおよび符号化効率間の改良されたトレードオフを得るために、更新された関数またはアルゴリズムおよびテーブルの更新されたセットを用いる。一般的に言って、本発明による実施形態は、改良されたスペクトルノイズレス符号化を作り出す。本発明による実施形態は、USAC統合スピーチオーディオ符号化においてスペクトルノイズレス符号化の強化を記載する。本発明による実施形態は、MPEG入力されたペーパm16912およびm17002に示されるようなスキームに基づいて、スペクトル係数の改良されたスペクトルノイズレス符号化上のCEのための更新された提案を作り出す。両方の提案は、評価され、潜在的な欠点が除去され、さらに、強さが組み合わされた。加えて、本発明の実施形態は、現在のUSAC仕様においてアプリケーションのためのノイズレススペクトル符号化テーブルの更新を含む。13.1.概要以下において、簡単な概要が示される。USAC統合スピーチオーディオ符号化の進行中の規格化の間に、USACにおいて強化されたスペクトルノイズレス符号化スキーム別称エントロピー符号化スキームが、提案された。この強化されたスペクトルノイズレス符号化スキームは、量子化されたスペクトル係数をロスレスの方法でより効率的に符号化するために役立つ。したがって、スペクトル係数は、可変長の対応するコードワードにマップされる。このエントロピー符号化スキームは、コンテクストベースの算術符号化スキームに基づく。スペクトル係数のコンテクストすなわち隣接するスペクトル係数は、スペクトル係数の算術符号化のために用いられる確率分布累積度数テーブルを決定する。本発明による実施形態は、USACのコンテクストにおいて前に提案されるように、スペクトル符号化スキームのためのテーブルの更新されたセットを用いる。背景を示すために、従来のスペクトルノイズレス符号化技術は、第1にアルゴリズムさらに第2に訓練されたテーブルのセットからなるまたは、少なくともアルゴリズムおよび訓練されたテーブルのセットを含む点に留意すべきである。訓練されたテーブルのこの従来のセットは、USACWD4ビットストリームに基づく。USACが現在WD7に進んで、さらに、重要な変更がその間にUSAC仕様に適用されているので、再訓練されたテーブルの新しいセットは、ごく最近のUSACバージョンWD7に基づく本発明による実施形態において用いられる。アルゴリズムそのものは、不変のままである。副次的な効果として、再訓練されたテーブルは、前に示されたスキームのどれよりも良好な圧縮パフォーマンスを提供する。本発明によれば、従来の訓練されたテーブルを、さらなる符号化パフォーマンスをもたらすここで示されるような再訓練されたテーブルと置き換えることが提案される。13.2.序文以下において、序文が提供される。USAC作業項目について、ノイズレス符号化スキームを更新することに関するいくつかの提案は、共同で最後の会議の間に言及された。しかしながら、この作業は、基本的に第89回の会議で始められた。それから、USACWD4参照品質ビットストリームおよびデータベースを訓練するWD4上の訓練に基づいてパフォーマンス結果を示すことは、スペクトル係数符号化に関する全ての提案のための一般的なやり方であった。一方、USACの他の分野に対する大きな改良は、特にステレオ処理およびウィンドウ化において、今日現在、USAC仕様に組み込まれている。これらの改良もスペクトルノイズレス符号化のための統計にわずかに影響を及ぼすことが見いだされた。したがって、ノイズレス符号化CEsのために示される結果は、準最適にみなされるが、その理由は、それらが最新のWD修正に対応しないからである。したがって、更新されたアルゴリズムにさらに符号化されさらに復号化されるスペクトル値の統計により良好に適しているスペクトルノイズレス符号化テーブルが示唆される。13.3.アルゴリズムの簡単な説明以下において、アルゴリズムの簡単な説明が提供される。メモリフットプリントおよび計算の複雑度の問題を解決するために、改良されたノイズレス符号化スキームは、ワーキングドラフト6/7WD6/7におけるようなスキームを置き換えるために提案された。開発における主な焦点は、圧縮効率を維持しさらに計算の複雑度を増加しないとともに、メモリ需要を低減することに置かれた。より詳しくは、目標は、圧縮パフォーマンス、複雑度および必要メモリの多次元複雑度スペースにおて最良のトレードオフに達することであった。提案された符号化スキーム提案は、WD6/7ノイズレスコーダの主な特徴、すなわちコンテクスト適合を取り入れる。コンテクストは、過去および現在のフレームの両方からWD6/7におけるように生じる前に復号化されたスペクトル係数を用いて導き出される。しかしながら、スペクトル係数は、これから、2タプルを形成するための2係数を一緒に組み合わせることによって符号化される。別の違う点は、スペクトル係数がこれから3つの部分、符号、MSBおよびLSBに分割されるという事実にある。符号は、それらが存在する場合、2つの部分、2つの最上位ビットおよび残りのビットにさらに分割される大きさから、独立して符号化される。2つのエレメントの大きさが3よりも小さいまたはそれに等しい2タプルは、MSB符号化によって直接的に符号化される。さもなければ、エスケープコードワードは、いかなる付加的なビットプレーンも信号で伝えるために、最初に伝送される。ベースバージョンにおいて、失った情報、LSBおよび符号は、一様確率分布を用いて両方とも符号化される。テーブルサイズ低減は、17のシンボルのための確率だけが格納される必要がある:{[0;3][0;3]}ESCシンボル;グループ化テーブルegroups、dgroups、dgvectorsを格納する必要がない;さらにハッシュテーブルのサイズが適切な訓練で低減されうるので、まだ可能である。13.3.1MSB符号化以下において、MSB符号化が記載される。すでに述べたように、WD6/7、前の提案および現在の提案間の主な違いは、シンボルの次元である。WD6/7において、4タプルがコンテクスト生成およびノイズレス符号化のために考慮された。前の提案において、1タプルが必要ROMを低減するために代わりに用いられた。我々の開発の間に、2タプルは、計算の複雑度を増加しないで、必要ROMを低減するために最良の妥協であることが見いだされた。コンテクスト導出のための4つの4タプルを考慮する代わりに、現在、4つの2タプルが考慮される。図25に示されるように、3つの2タプルが過去のフレームからさらに1つが現在のフレームからもたらされる。テーブルサイズ低減は、3つの主な要因による。第1に、17のシンボルのための確率だけが格納される必要があるすなわち{[0;3][0;3]}ESCシンボル。グループ化テーブルすなわちegroups、dgroups、dgvectorsがもはや必要ない。さらに、ハッシュテーブルのサイズが適切な訓練を実行することによって低減された。次元が4から2に低減されたにもかかわらず、複雑度は、WD6/7におけるような範囲に維持された。それは、コンテクスト生成およびハッシュテーブルアクセスの両方を単純化することによって達成された。異なる単純化および最適化は、符号化パフォーマンスが影響を受けなくしかもわずかに改良された方法で行われた。13.3.2LSB符号化LSBは、一様確率分布で符号化される。WD6/7と比較して、LSBは、現在4tタプルの代わりに2タプルで考慮される。しかしながら、最下位ビットの異なる符号化が可能である。13.3.3符号符号化符号は、複雑度低減のために算術コアコーダを用いないで符号化される。符号は、対応する大きさがヌルでないときにだけ、1ビットで伝送される。0は正の値をさらに1は負の値を意味する。13.4.テーブルの提案された更新この貢献は、USACスペクトルノイズレス符号化スキームのためのテーブルの更新されたセットを提供する。テーブルは、現在のUSACWD6/7ビットストリームに基づいて再訓練された。訓練する処理から生じる実際のテーブルから離れて、アルゴリズムが不変のままである。新しいテーブルの符号化効率および必要メモリの再訓練の効果を調査することは、前の提案M17558およびWD6に対して比較される。WD6は、a第92回の会議の結果がこの参照に関して示された、さらに、bWD6およびWD7間の違いがスペクトル係数のエントロピー符号化または分布に関して効果なしにバグ修正する非常に軽微なだけであるので、基準点として選択される。13.4.1符号化効率最初に、テーブルの提案された新しいセットの符号化効率が、USACWD6およびM17558において提案されるようなCEに対して比較される。図26のテーブル表現において明らかなように、純粋に再訓練することによって、符号化効率において平均増加はWD6と比較して1.74M17558から2.45本発明の実施形態による新しい提案に増加することができる。M17558と比較して、圧縮ゲインを、このように本発明による実施形態においておよそ0.7だけ増加することができる。図27は、全ての操作点のための圧縮ゲインを視覚化する。明らかなように、少なくとも2の最小圧縮ゲインを、WD6と比較して本発明による実施形態を用いて達することができる。例えば12kbit/sおよび16kbit/sのような低いレートに対して、圧縮ゲインは、わずかにでも増加される。良好なパフォーマンスは、例えば64kbit/sのようなより高いビットレートでも保持され、3を超える符号化効率において重要な増加を観察することができる。全てのWD6参照品質ビットストリームのロスレストランスコーディングは、ビットリザーバ制約を違反しないで可能であることを証明された点に留意すべきである。より詳細な結果がセクション13.6.において示される。13.4.2メモリ需要および複雑度第2に、メモリ需要および複雑度は、USACWD6およびM17558において提案されるようなCEに対して比較される。図28のテーブルは、WD6、M17558における提案および本発明の実施形態による新しい提案におけるようなノイズレスコーダのためのメモリ需要を比較する。明らかに分かるように、メモリ需要は、M17558において提案されるように、新しいアルゴリズムを採用することによって著しく低減される。さらに、新しい提案のために、全テーブルサイズは、1441ワードの全ROM需要およびオーディオチャンネルごとに64ワード32ビットの全RAM需要をもたらす、ほとんど80ワード32ビットだけわずかに低減されることも明らかである。ROM需要において少なく保存することは、WD6訓練ビットストリームの新しいセットに基づいて自動訓練アルゴリズムによって見いだされる、確率モデルの数およびハッシュテーブルサイズ間のより良好なトレードオフの結果である。さらに詳しくは、図29のテーブルについて述べる。複雑度に関して、新しく提案されたスキームの計算の複雑度は、USACにおいて現在のノイズレスの最適化されたバージョンに対して比較された。新しい符号化スキームは、現在のスキームと同じ複雑度の順序を有することが、penandpaperペンおよびペーパ方法によってさらにコードに命令することによって見いだされた。32kbpsのステレオのための図30のテーブルおよび12kbpsのモノラルの操作点のための図31のテーブルにおいて報告されるように、推定された複雑度は、WD6ノイズレスデコーダの最適化された実施態様をそれぞれ超えて0.006の重み付けMOPSおよび0.024の重み付けMOPSの増加を示す。近似的に11.7のPCU[2]の全体の複雑度と比較して、これらの差をごくわずかであると考慮することができる。13.5.結論以下において、いくつかの結論が提供される。USACスペクトルノイズレス符号化スキームのためのテーブルの新しいセットが示された。より前のビットストリームに基づく訓練の結果である前の提案とは対照的に、提案された新しいテーブルは、現在、現在のUSACWDビットストリームにおいて訓練され、高度な訓練概念が用いられている。この再訓練によって、前の提案と比較して、少ないメモリ需要を犠牲にしないでまたは複雑度を増加しないで、現在のUSACビットストリーム上の符号化効率を改良することができる。USACWD6と比較して、メモリ需要を著しく低減することができる。13.6.WD6ビットストリームのトランスコーディングに関する詳細な情報ワーキングドラフト6WD6ビットストリームのトランスコーディングに関する詳細な情報が図32、図33、図34、図35および図36のテーブル表現において明らかである。図32は、本発明による実施形態においてさらにWD6において算術コーダによって生成される平均ビットレートのテーブル表現を示す。図33は、提案されたスキームを用いるフレームベースにおけるUSACの最小、最大および平均ビットレートのテーブル表現を示す。図34は、WD6算術コーダを用いるUSACコーダおよび本発明による実施形態によるコーダnewproposal新しい提案によって生成される平均ビットレートのテーブル表現を示す。図35は、本発明による実施形態のための最良のおよび最悪の場合のテーブル表現を示す。図36は、本発明による実施形態のためのビットリザーバ制限のテーブル表現を示す。14.ワーキングドラフト6またはワーキングドラフト7と比較したときの変更以下において、従来のノイズレス符号化と比較したときのノイズレス符号化の変更が記載される。したがって、実施形態は、USAC規格案のワーキングドラフト6またはワーキングドラフト7と比較したときの修正に関して定義される。特に、WDテキストに対する変更が記載される。換言すれば、このセクションは、USAC仕様WD7に対して変更の完全なセットをリストする。14.1.技術的な説明に対する変更提案された新しいノイズレス符号化は、以下において記載されるMPEGUSACWDにおいて修正を生じる。主な違いがマークされる。14.1.1.構文およびペイロードの変更図37は、算術的に符号化されたデータarith_dataの構文の表現を示す。主な違いがマークされる。以下において、スペクトルノイズレスコーダのペイロードに関する変更が記載される。linearperdiction-domain線形予測領域符号化された信号およびfrequency-domain周波数領域符号化された信号の両方からのスペクトル係数は、量子化されさらにそれから最適にコンテクストに依存する算術符号化によってノイズレスに符号化されるスカラである。量子化された係数は、最も低い周波数から最も高い周波数まで伝送される前に2タプルにおいて集められる。2タプルの使用は、スペクトルノイズレス符号化の前のバージョンと比較したときの変更を構成する点に留意すべきである。しかしながら、それぞれの2タプルは、符号s、最上位2ビット的なプレーンmおよび残りの下位ビットプレーンrに分割されることがさらなる変更である。また、値mは係数の近辺に従って符号化され、さらに、残りの下位ビットプレーンrはコンテクストを考慮しないでエントロピー符号化されることが変更である。また、値mおよびrは、算術コーダのシンボルを形成することが前のバージョンのいくつかに関する変更である。最後に、符号sは、ヌルでない量子化された係数ごとに1ビットを用いて算術コーダの外側で符号化されることが前のバージョンのいくつかに関する変更である。詳細な算術を復号化手順がセクション14.2.3において以下に記載される。14.1.2定義およびヘルプエレメントの変更定義およびヘルプエレメントの変更が図38に定義およびヘルプエレメントの表現において示される。14.2スペクトルノイズレス符号化以下において、実施形態によるスペクトルノイズレス符号化が要約される。14.2.1ツールの説明スペクトルノイズレス符号化は、量子化されたスペクトルの冗長性をさらに低減するために用いられる。スペクトルノイズレス符号化スキームは、動的に適しているコンテクストに関連する算術符号化に基づく。ノイズレス符号化は、量子化されたスペクトル値によって供給され、さらに、4つの前に復号化された付近から導き出されるコンテクストに依存する累積度数テーブルを用いる。ここで、時間および周波数の両方における近辺は、図25に示されるように考慮される。累積度数テーブルは、それから、可変長2進コードを生成するために算術コーダによって用いられる。算術コーダは、シンボルの所定のセットおよびそれらのそれぞれの確率のための2進コードを生成する。2進コードは、シンボルのセットが位置する確率間隔をコードワードにマップすることによって生成される。14.2.2定義定義およびヘルプエレメントが図39に記載される。算術符号化の前のバージョンと比較したときの変更がマークされる。14.2.3復号化処理量子化されたスペクトル係数qdecは、最も低い周波数係数から始まって最も高い周波数係数に進んでノイズレスに復号化される。それらは、いわゆる2タプル{a,b}において集める2連続した係数aおよびbのグループによって復号化される。AACのための復号化された係数は、それから配列x_ac_quant[g][win][sfb][bin]に格納される。ノイズレス符号化コードワードの伝送の順序は、それらが受信される順序に復号化されさらに配列に格納されるときに、binが最も急速にインクリメントするインデックスであり、さらに、gが最もゆっくりインクリメントするインデックスである。コードワード内において、復号化の順序は、aそしてbである。TCXのための復号化された係数は、配列x_tcx_invquant[win][bin]に格納され、さらに、ノイズレス符号化コードワードの伝送の順序は、それらが受信される順序に復号化されさらに配列に格納されるときに、binが最も急速にインクリメントするインデックスであり、さらに、winが最もゆっくりインクリメントするインデックスである。コードワード内において、復号化の順序は、aそしてbである。復号化処理は、マッピングがqsに格納される保存された過去のコンテクストおよび現在のフレームqのコンテクスト間で行われる初期設定段階から始まる。過去のコンテクストqsは、周波数ラインごとに2ビットに格納される。詳しくは、図40aにおけるアルゴリズムarith_map_contextの疑似プログラムコード表現について述べる。ノイズレスデコーダは、符号なしの量子化されたスペクトル係数の2タプルを出力する。最初は、コンテクストの状態cは、復号化する2タプルを囲む前に復号化されたスペクトル係数に基づいて計算される。状態は、2つの新しい2タプルだけを考慮して、最後の復号化された2タプルのコンテクスト状態を用いて増加的に更新される。状態は、17ビットに符号化され、さらに、関数arith_get_contextによってリターンされる。関数arith_get_contextの疑似プログラムコード表現が図40bに示される。一旦、コンテクスト状態cが計算されると、最上位2ビット的なプレーンmは、コンテクスト状態に対応する確率モデルに対応する適切な累積度数テーブルで供給されるarith_decodeを用いて復号化される。対応は、関数arith_get_pkによって行われる。関数arith_get_pkの疑似プログラムコード表現が図40cに示される。値mは、累積度数テーブルarith_cf_m[pki][]で呼び出される関数arith_decodeを用いて復号化され、pkiは、arith_get_pkによってリターンされるインデックスに対応する。算術コーダは、スケーリングを有するタグ生成の方法を用いる整数実施である。図40dおよび図40eに示される疑似Cコードは、用いられたアルゴリズムを表す。復号化された値mがエスケープシンボルARITH_ESCAPEであるときに、変数levおよびesc_nbは、1だけインクリメントされ、さらに、別の値mは、復号化される。この場合、関数get_pkは、入力引数として値cesc_nb<<17でもう一度呼び出され、esc_nbは、同じ2タプルのために前に復号化されさらに7にバウンドされるエスケープシンボルの数である。一旦、値mがエスケープシンボルARITH_ESCAPEでないと、デコーダは、連続したmがARITH_STOPシンボルを形成するかどうかをチェックする。条件esc_nb>0m==0が真である場合、ARITH_STOPシンボルは、検出され、さらに、復号化処理は、終了する。デコーダは、直接的に、arith_save_context関数にジャンプする。条件は、フレームの残りがゼロ値から成ることを意味する。ARITH_STOPシンボルが満たされない場合、残りのビットプレーンは、いずれかが存在する場合、現在の2タプルのためにそれから復号化される。残りのビットプレーンは、累積度数テーブルarith_cf_r[]でlev回数arith_decodeを呼び出すことによって、最上位から最下位レベルまで復号化される。復号化されたビットプレーンrは、疑似プログラムコード表現が図40fに示される関数またはアルゴリズムによって前に復号化された値mをリファインすることを許可する。この点で、2タプル{a,b}の符号なしの値は、完全に復号化される。コンテクストqは、それから次の2タプルのために更新される。それが最後の2タプルである場合も同様である。両方の更新は、疑似プログラムコード表現が図40gに示される関数arith_update_contextによって行われる。フレームの次の2タプルは、それから、iを1だけインクリメントしさらに関数を呼び出すことによって復号化される。lg/2の2タプルがフレームですでに復号化された場合、または、停止シンボルARITH_STOPが生じる場合、関数arith_save_contextが呼び出される。コンテクストは、次のフレームのためのqsにおいて保存されさらに格納される。関数またはアルゴリズムarith_save_contextの疑似プログラムコード表現は、図40hに示される。一旦、全ての符号なしの量子化されたスペクトル係数が復号化されると、符号がそれから加算される。qdecのヌルでない量子化された値ごとに、ビットが読み取られる。読み取られたビット値がゼロに等しい場合、量子化された値は正であり、何も行われず、さらに、符号付の値は前に復号化された符号なしの値に等しい。さもなければ、復号化された係数は負であり、さらに、2つの補数は符号なしの値からとられる。符号ビットは、下から高い周波数まで読み取られる。14.2.4更新されたテーブル上述のアルゴリズムで用いられるための再訓練されたテーブルのセットが、図411、図412、図421、図422、図423、図424、図431、図432、図433、図434、図435、図436および図44に示される。図411および図412は、本発明の実施形態によるテーブルari_lookup_m[742]のコンテンツのテーブル表現を示す。図421、図422、図423、図424は、本発明の実施形態によるテーブルari_hash_m[742]のコンテンツのテーブル表現を示す。図431、図432、図433、図434、図435、図436は、本発明の実施形態によるテーブルari_cf_m[96][17]のコンテンツのテーブル表現を示す。図44は、本発明の実施形態によるテーブルari_cf_r[4]のテーブル表現を示す。上記を要約すると、本発明による実施形態は、計算の複雑度、必要メモリおよび符号化効率間の特に良好なトレードオフを提供することが明らかである。15.ビットストリーム構文15.1スペクトルノイズレスコーダのペイロード以下において、スペクトルノイズレスコーダのペイロードに関するいくつか詳細が説明される。いくつかの実施形態において、例えばいわゆるlinear-prediction-domain線形予測領域符号化モードおよびfrequency-domain周波数領域符号化モードなどの複数の異なる符号化モードがある。線形予測領域符号化モードにおいて、ノイズシェーピングは、オーディオ信号の線形予測解析に基づいて実行され、さらに、ノイズシェープされた信号は、周波数領域に符号化される。周波数領域符号化モードにおいて、ノイズシェーピングは、心理音響解析に基づいて実行され、さらに、オーディオコンテンツのノイズシェープされたバージョンは、周波数領域に符号化される。linear-prediction-domain線形予測領域符号化された信号およびfrequency-domain周波数領域符号化された信号の両方からのスペクトル係数は、量子化されさらにそれから最適にコンテクストに依存する算術符号化によってノイズレスに符号化されるスカラである。量子化された係数は、最も低い周波数から最も高い周波数まで伝送される前に2タプルにおいて集められる。それぞれの2タプルは、符号s、最上位2ビット的なプレーンmおよびもしあれば残りの1つ以上の下位ビットプレーンrに分割される。値mは、隣接するスペクトル係数によって定義されるコンテクストに従って符号化される。換言すれば、mは、係数近辺に従って符号化される。残りの下位ビットプレーンrは、コンテクストを考慮しないでエントロピー符号化される。mおよびrによって、これらのスペクトル係数の振幅を、デコーダ側に再構成することができる。全てのヌルでないシンボルのために、符号sは、1ビットを用いて算術コーダの外側で符号化される。換言すれば、値mおよびrは、算術コーダのシンボルを形成する。最後に、符号sは、ヌルでない量子化された係数ごとに1ビットを用いて算術コーダの外側で符号化される。詳細な算術符号化手順がここに記載される。15.2図6aから図6jによる構文エレメント以下において、算術的に符号化されたスペクトル情報を伝えるビットストリームのビットストリーム構文が図6aから図6jを参照して記載される。図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、算術リセットフラグの状況に、さらに、コンテクストすなわち前に符号化されたスペクトル値にも依存する。スペクトル値の現在のセット例えば2タプルの符号化のためのコンテクストは、参照番号660で示されるコンテクスト決定アルゴリズムに従って決定される。コンテクスト決定アルゴリズムに関する詳細は、図5aおよび図5bを参照して、上で説明されている。算術的に符号化されたデータブロックは、コードワードのlg/2セットを含み、コードワードのそれぞれのセットは、複数例えば2タプルのスペクトル値を表す。コードワードのセットは、1および20ビット間で用いるスペクトル値のタプルの最上位ビットプレーン値mを表す算術コードワードacod_m[pki][m]を含む。加えて、コードワードのセットは、スペクトル値のタプルが正しい表現のための最上位ビットプレーンよりも多くのビットプレーンを必要とする場合、1つ以上のコードワードacod_r[r]を含む。コードワードacod_r[r]は、1および14ビット間で用いる下位ビットプレーンを表す。しかしながら、1つ以上の下位ビットプレーンがスペクトル値の適当な表現のために最上位ビットプレーンに加えて必要とされる場合、これは、1つ以上の算術エスケープコードワードARITH_ESCAPEを用いることによって信号で送られる。このように、スペクトル値のために、どれくらいのビットプレーン最上位ビットプレーンおよび、おそらく、1つ以上の付加的な下位ビットプレーンが必要とされることが決定されると一般的にいえる。1つ以上の下位ビットプレーンが必要とされる場合、これは、累積度数テーブルインデックスが変数pkiによって示される現在選択された累積度数テーブルに従って符号化される1つ以上の算術エスケープコードワードacod_m[pki][ARITH_ESCAPE]によって信号で送られる。加えて、コンテクストは、1つ以上の算術エスケープコードワードがビットストリームに含まれる場合、参照番号664、662から明らかなように、適している。1つ以上の算術エスケープコードワードの後に、算術コードワードacod_m[pki][m]は、参照番号663に示されるように、ビットストリームに含まれ、pkiは、考慮に算術エスケープコードワードの包含によって生じるコンテクスト適合をとる現在有効な確率モデルインデックスを指定し、さらに、mは、符号化されまたは復号化されるスペクトル値の最上位ビットプレーン値を指定するmは、ARITH_ESCAPEコードワードと異なる。上述のように、いかなる下位ビットプレーンの存在も、それぞれが第1のスペクトル値の最下位ビットプレーンの1ビットを表しさらにそれぞれが第2のスペクトル値の最下位ビットプレーンの1ビットも表す1つ以上のコードワードacod_r[r]の存在をもたらす。1つ以上のコードワードacod_r[r]は、例えば一定であってもコンテクストに依存しなくてもよい対応する累積度数テーブルに従って符号化される。しかしながら、1つ以上コードワードacod_r[r]の復号化のための累積度数テーブルの選択のための異なるメカニズムが可能である。加えて、コンテクストは、参照番号668に示されるように、コンテクストがスペクトル値の2つの後のタプルを符号化しさらに復号化するために典型的に異なるように、スペクトル値のそれぞれタプルの符号化の後に更新される点に留意すべきである。図6iは、算術的に符号化されたデータブロックの構文を定義する定義およびヘルプエレメントの凡例を示す。さらに、図6jに示される定義およびヘルプエレメントの対応する凡例を有する算術データarith_dataの代わりの構文が、図6hに示される。上記を要約すると、オーディオエンコーダ100によって提供されうりさらにオーディオデコーダ200によって評価されうるビットストリーム形式が記載されている。算術的に符号化されたスペクトル値のビットストリームは、それが上述の復号化アルゴリズムに合うように、符号化される。加えて、符号化は、エンコーダがデコーダによって実行されるテーブルルックアップに近似的に逆である上述のテーブルを用いるテーブルルックアップを実行すると一般的に仮定することができるように、復号化の逆の演算である点に一般的に留意すべきである。一般的に、復号化アルゴリズムおよび/または所望のビットストリーム構文を知っている当業者は、ビットストリーム構文において定義されさらに算術デコーダによって必要とされるデータを提供する算術エンコーダを設計することが容易に可能であるといえる。さらに、数値的な現在のコンテクスト値を決定するためのさらにマッピングルールインデックス値を導き出すためのメカニズムは、オーディオエンコーダおよびオーディオデコーダで同一であってもよい点に留意すべきであり、その理由は、オーディオデコーダは、復号化が符号化に適しているように、オーディオエンコーダと同じコンテクストを用いることが典型的に要求されるからである。15.3.図6k、図6l、図6m、図6n、図6oおよび図6pによる構文エレメント以下において、代わりのビットストリーム構文からの抜粋が図6k、図6l、図6m、図6n、図6oおよび図6pを参照して記載される。図6kは、ビットストリームエレメントUsacSingleChannelElementindepFlagの構文表現を示す。前記構文エレメントUsacSingleChannelElementindepFlagは、1つのコアコーダチャンネルを表す構文エレメントUsacCoreCoderDataを含む。図6lは、ビットストリームエレメントUsacChannelPairElementindepFlagの構文表現を示す。前記構文エレメントUsacChannelPairElementindepFlagは、ステレオ構成に応じて、1つまたは2つのコアコーダチャンネルを表す構文エレメントUsacCoreCoderDataを含む。図6mは、図6mにおいて明らかなように、多数のパラメータの定義を含むビットストリームエレメントics_infoの構文表現を示す。図6nは、ビットストリームエレメントUsacCoreCoderDataの構文表現を示す。ビットストリームエレメントUsacCoreCoderDataは、1つ以上の線形予測領域チャンネルストリームlpd_channel_streamおよび/または1つ以上の周波数領域チャンネルストリームfd_channel_streamを含む。いくつかの他の制御情報は、図6nにおいて明らかなように、ビットストリームエレメントUsacCoreCoderDataに任意に含まれることもできる。図6oは、ビットストリームエレメントfd_channel_streamの構文表現を示す。ビットストリームエレメントfd_channel_streamは、他の任意のビットストリームエレメントの中で、ビットストリームエレメントscale_factor_dataおよびビットストリームエレメントac_spectral_dataを含む。図6pは、ビットストリームエレメントac_spectral_dataの構文表現を示す。ビットストリームエレメントac_spectral_dataは、ビットストリームエレメントarith_reset_flagを任意に含む。さらに、ビットストリームエレメントは、多くの算術的に符号化されたデータarith_dataも含む。算術的に符号化されたデータは、例えば、図6gに関して記載されるビットストリーム構文に従いうる。16.実施代替案いくつかの形態が装置のコンテクストに記載されているにもかかわらず、これらの形態が対応する方法の説明を表すことは明らかであり、ブロックまたはデバイスは、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップのコンテクストに記載される形態は、対応する装置の対応するブロックまたは項目または特徴の説明を表す。方法ステップのいくつかまたは全ては、例えば、マイクロプロセッサ、プログラム可能なコンピュータまたは電子回路のように、ハードウェア装置によってまたは用いて実行されうる。いくつかの実施形態において、最も重要な方法ステップのいずれか1つ以上は、そのような装置によって実行されうる。本発明の符号化されたオーディオ信号は、デジタル記憶媒体に格納することができまたは無線伝送媒体若しくは例えばインターネットなどの有線伝送媒体などの伝送媒体上に伝送することができる。特定の実施要求に応じて、本発明の実施形態は、ハードウェアにおいてまたはソフトウェアにおいて実施することができる。実施は、それぞれの方法が実行されるように、プログラム可能なコンピュータシステムと協働するまたは協働することができる電子的に可読の制御信号が格納される、デジタル記憶媒体、例えばフロッピー登録商標ディスク、DVD、ブルーレイ登録商標、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを用いて実行することができる。そのため、デジタル記憶媒体は、コンピュータ可読でありうる。本発明によるいくつかの実施形態は、ここに記載される方法のうちの1つが実行されるように、プログラム可能なコンピュータシステムと協働することができる電子的に可読の制御信号を有するデータキャリアを含む。一般的に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実施することができ、そのプログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに、それらの方法のうちの1つを実行するために働く。プログラムコードは、例えば、機械可読のキャリアに格納されうる。他の実施形態は、機械可読のキャリアに格納される、ここに記載される方法のうちの1つを実行するためのコンピュータプログラムを含む。したがって、換言すれば、本発明の方法の実施形態は、コンピュータプログラムがコンピュータ上で実行されるときに、ここに記載される方法のうちの1つを実行するためのプログラムコードを有するコンピュータプログラムである。したがって、本発明の方法のさらなる実施形態は、ここに記載される方法のうちの1つを実行するためのコンピュータプログラムが記録されるデータキャリアまたはデジタル記憶媒体またはコンピュータ可読の媒体である。データキャリア、デジタル記憶媒体または記録された媒体は、典型的に、有形でありおよび/または一時的でない。したがって、本発明の方法のさらなる実施形態は、ここに記載される方法のうちの1つを実行するためのコンピュータプログラムを表すデータストリームまたは一連の信号である。データストリームまたは一連の信号は、例えば、データ通信接続を介して例えばインターネットを介して、転送されるように構成されうる。さらなる実施形態は、ここに記載される方法のうちの1つを実行するように構成されまたは適している処理手段、例えばコンピュータまたはプログラム可能な論理デバイスを含む。さらなる実施形態は、ここに記載される方法のうちの1つを実行するためのコンピュータプログラムがインストールされているコンピュータを含む。本発明によるさらなる実施形態は、ここに記載される方法のうちの1つを実行するためのコンピュータプログラムをレシーバに例えば、電子的にまたは光学的に転送するように構成される装置またはシステムを含む。レシーバは、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであってもよい。装置またはシステムは、例えば、コンピュータプログラムをレシーバに転送するためのファイルサーバを含みうる。いくつかの実施形態において、プログラム可能な論理デバイス例えばフィールドプログラム可能なゲートアレイは、ここに記載される方法の機能のいくつかまたは全てを実行するために用いられうる。いくつかの実施形態において、フィールドプログラム可能なゲートアレイは、ここに記載される方法のうちの1つを実行するために、マイクロプロセッサと協働しうる。一般的に、その方法は、好ましくは、いかなるハードウェア装置によっても実行される。上述の実施形態は、本発明の原理のために単に例示するだけである。ここに記載される構成および詳細の修正および変更が他の当業者にとって明らかであるものと理解される。したがって、本発明は、特許の請求の範囲によってだけ制限され、ここに実施形態の記述および説明として示される具体的な詳細によって制限されないと意図される。17.結論結論として、本発明による実施形態は、以下の形態の1つ以上を含み、その形態は、個々にまたは組合せで用いられうる。aコンテクスト状態ハッシングメカニズム本発明の形態によれば、ハッシュテーブルにおける状態は、重要な状態およびグループ境界として考慮される。これは、必要なテーブルのサイズを著しく低減することを許可する。b増加的なコンテクスト更新形態によれば、本発明によるいくつかの実施形態は、コンテクストを更新するための計算的に効率的な方法を含む。いくつかの実施形態は、数値的な現在のコンテクスト値が数値的な前のコンテクスト値から導き出される増加的なコンテクスト更新を用いる。cコンテクスト導出本発明の形態によれば、2つのスペクトル絶対値の合計を用いることは、切捨ての関連である。それは、従来のシェープゲインベクトル量子化に対する反対のようにスペクトル係数の一種のゲインベクトル量子化である。それは、コンテクスト順序を制限することを意図し、その一方で、近辺から最も意味のある情報を伝達する。d更新されたテーブル本発明の形態によれば、符号化効率および計算の複雑度間の特に良好な妥協を提供する最適化されたテーブルari_hash_m[742]、ari_lookup_m[742]およびari_cf_m[64][17]が適用される。本発明による実施形態において適用されるいくつかの他の技術は、特許出願PCT/EP2010/065725、PCT/EP2010/065726およびPCT/EP2010/065727に記載されている。さらに、本発明によるいくつかの実施形態において、停止シンボルが用いられる。さらに、いくつかの実施形態において、符号なしの値だけが、コンテクストのために考慮される。しかしながら、上述の国際特許出願は、本発明によるいくつかの実施形態においてまだ用いられている形態を開示する。例えば、ゼロ領域の識別が本発明のいくつかの実施形態において用いられる。したがって、いわゆるsmall-value-flag小さい値のフラグが設定される例えば数値的な現在のコンテクスト値cのビット16。いくつかの実施形態において、領域に依存するコンテクスト計算が用いられうる。しかしながら、他の実施形態において、領域に依存するコンテクスト計算が、複雑度およびテーブルのサイズを相当に小さく保つために省略されうる。さらに、ハッシュ関数を用いるコンテクストハッシングは、本発明の重要な形態である。コンテクストハッシングは、上述の予めの公開がされていない国際特許出願に記載されている2テーブル概念に基づきうる。しかしながら、コンテクストハッシングの特定の適合が、計算効率を増加するために、いくつかの実施形態において用いられうる。それにしても、本発明によるいくつかの他の実施形態において、上述の国際特許出願に記載されているコンテクストハッシングが用いられうる。さらに、増加的なコンテクストハッシングは、むしろ単純でさらに計算的に効率的である点に留意すべきである。また、本発明のいくつかの実施形態において用いられる値の符号からコンテクストに依存しないことは、コンテクストを単純化するために役立ち、それによって、必要メモリを相当に低く保つ。本発明のいくつかの実施形態において、2スペクトル値の合計およびコンテクスト制限を用いるコンテクスト導出が用いられる。これらの2つの形態は、組み合わせることができる。両方とも、近辺から最も意味のある情報を伝達することによってコンテクスト順序を制限することを意図する。いくつかの実施形態において、複数のゼロ値のグループの識別と類似しうる小さい値のフラグが用いられる。本発明によるいくつかの実施形態において、算術停止メカニズムが用いられる。概念は、相当する機能を有する、JPEGにおいてシンボルend-of-blockブロックの終結の使用と類似している。しかしながら、本発明のいくつかの実施形態において、シンボルARITH_STOPは、明確にエントロピーコーダに含まれない。その代わりに、前に生じることがないすでに存在しているシンボルの組合せすなわちESC0が用いられる。換言すれば、オーディオデコーダは、数値的な値を表すために通常用いられない存在するシンボルの組合せを検出し、さらに、すでに存在しているシンボルのそのような組合せの発生を算術停止条件として解釈するように構成される。本発明による実施形態は、2テーブルコンテクストハッシングメカニズムを用いる。さらに要約すると、本発明によるいくつかの実施形態は、以下の5つの主な形態の1つ以上を含みうる。改良されたテーブル近辺においてゼロ領域または小さい振幅領域を検出するための拡張されたコンテクストコンテクストハッシングコンテクスト状態生成:コンテクスト状態の増加的な更新、およびコンテクスト導出:振幅の合計および制限を含むコンテクスト値の特定の量子化さらなる結論として、本発明による実施形態の1つの形態は、増加的なコンテクスト更新に位置する。本発明による実施形態は、ワーキングドラフトの例えばワーキングドラフト5の広範囲な計算を回避する、コンテクストの更新のための効率的な概念を含む。むしろ、単純なシフト演算および論理演算が、いくつかの実施形態において用いられる。単純なコンテクスト更新は、コンテクストの計算を著しく容易にする。いくつかの実施形態において、コンテクストは、値例えば復号化されたスペクトル値の符号から独立している。値の符号からのコンテクストのこの独立は、コンテクスト変数の低減された複雑度をもたらす。この概念は、コンテクストにおいて符号の無視が符号化効率の多大な低下もたらさらないという知見に基づく。本発明の形態によれば、コンテクストは、2スペクトル値の合計を用いて導き出される。したがって、コンテクストの記憶のための必要メモリは、著しく低減される。したがって、2スペクトル値の合計を表すコンテクスト値の使用は、場合によっては有利なものとして考慮されうる。また、コンテクスト制限は、場合によっては重要な改良をもたらす。2スペクトル値の合計を用いるコンテクストの導出に加えて、コンテクスト配列qのエントリは、いくつかの実施形態において0xFの最大値に制限され、それは、次々に必要メモリの制限をもたらす。コンテクスト配列qの値のこの制限は、いくつかの効果をもたらす。いくつかの実施形態において、いわゆるsmallvalueflag小さい値のフラグが用いられる。数値的な現在のコンテクスト値にも指定されるコンテクスト変数cを得ることにおいて、フラッグは、いくつかのエントリq[1][i-3]からq[1][i-1]の値が非常に小さい場合、設定される。したがって、コンテクストの計算を高効率で実行することができる。特に意味のあるコンテクスト値例えば数値的な現在のコンテクスト値を得ることができる。いくつかの実施形態において、算術停止メカニズムが用いられる。ARITH_STOPメカニズムは、ゼロ値だけが残っている場合、算術符号化または復号化の効率的な停止を可能にする。したがって、符号化効率を、複雑度に関して適度なコストで改良することができる。本発明の形態によれば、2テーブルコンテクストハッシングメカニズムが用いられる。コンテクストのマッピングは、テーブルari_lookup_mの後のルックアップテーブル評価との併用でテーブルari_hash_mを評価する間隔分割アルゴリズムを用いて実行される。このアルゴリズムは、WD3アルゴリズムよりも効率的である。以下において、いくつかの付加的な詳細が述べられる。テーブルarith_hash_m[742]およびarith_lookup_m[742]は、2つの異なるテーブルである点にここで留意すべきである。第1のものは、単一のコンテクストインデックス例えば数値的なコンテクスト値を確率モデルインデックス例えばマッピングルールインデックス値にマップするために用いられ、さらに、第2のものは、arith_hash_m[]においてコンテクストインデックスによって区切られる連続的なコンテクストのグループを単一の確率モデルにマップするために用いられる。テーブルarith_cf_msb[64][16]は、次元がわずかに異なるにもかかわらず、テーブルari_cf_m[64][17]に代わるものとして用いられうる点にさらに留意すべきである。ari_cf_m[][]およびari_cf_msb[][]は、確率モデルの第17番目の係数が常にゼロであるように、同じテーブルを参照しうる。それは、テーブルを格納するための必要なスペースをカウントするときに、時々考慮されない。上記を要約すると、本発明によるいくつかの実施形態は、MPEGUSACワーキングドラフトにおいて例えばMPEGUSACワーキングドラフト5において修正を生じる提案された新しいノイズレス符号化符号化または復号化を提供する。前記修正は、同封の図においておよび関連した説明において明らかである。結びとして、変数、配列、関数などの名前において、接頭辞ariおよび接頭辞arithは、交互に用いられる点に留意すべきである。"