JP7590397B2 - 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム - Google Patents
算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム Download PDFInfo
- Publication number
- JP7590397B2 JP7590397B2 JP2022187949A JP2022187949A JP7590397B2 JP 7590397 B2 JP7590397 B2 JP 7590397B2 JP 2022187949 A JP2022187949 A JP 2022187949A JP 2022187949 A JP2022187949 A JP 2022187949A JP 7590397 B2 JP7590397 B2 JP 7590397B2
- Authority
- JP
- Japan
- Prior art keywords
- values
- value
- state variable
- arithmetic
- symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/02—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明によるさらなる実施形態は、算術デコーダを作成する。
本発明によるさらなる実施形態は、ビデオエンコーダを作成する。
本発明によるさらなる実施形態は、ビデオデコーダを作成する。
本発明によるさらなる実施形態は、複数のシンボルを符号化するための方法および複数のシンボルを復号するための方法を作成する。
本発明によるさらなる実施形態は、対応するコンピュータプログラムを作成する。
一般的に言えば、本発明による実施形態は、有限状態機械を使用したコンテキストモデル更新方法を作成する。
)に設定するように構成され、算術エンコーダは、第1の状態変数値が第2の符号(例えば、負の符号)をとる場合、第1の確率値(pk 1)を、所定の値(例えば、1)からルックアップテーブルによって提供される値(例えば、
)を減算することによって得られる値に設定するように構成される。
好ましい実施形態では、算術エンコーダは、
LUT1は確率値を含むルックアップテーブルであり、
[.]はフロア演算子であり、
sk iはi番目の状態変数値であり、
ak iは、i番目の状態変数値に関連付けられた重み付け値である(例えば、i番目の状態変数値の数の範囲をルックアップテーブルのいくつかのエントリに適合させる重み付け値)ことにより、2つ以上の確率値pk iを決定するように構成される。
このような計算は計算効率が高く、リソース需要を適度に小さく保つことがわかっている。
LUT1は確率値を含むルックアップテーブルであり、
[.]はフロア演算子であり、
sk iはi番目の状態変数値であり、
ak iは、i番目の状態変数値に関連付けられた重み付け値である(例えば、i番目の状態変数値の数の範囲をルックアップテーブルのいくつかのエントリに適合させる重み付け値)ことにより、2つ以上の確率値pk iを決定するように構成される。
このような計算は、実際の数の表現に応じて、一部の状況においては有利であることがわかっている。特に、フロア演算子は、状態変数値の符号に関係なく、同じオペランドに適用される。特に、フロア演算子のオペランドの符号を削除する必要がないため、幾分かの計算の複雑さが軽減される。むしろ、否定は、通常は整数値であるフロア演算子の結果にのみ適用される。したがって、否定演算子を適用する複雑さは特に少程度である。言い換えれば、本明細書で説明される概念はまた、特に低度の複雑さをもたらす。
式中Nは考慮される確率値の数で(考慮される状態変数値の数に等しい場合がある)、bk iは、重み付け値(例えば、結合確率値に対する個々の状態変数値の影響を制御する重み付け係数)である(bk iは、好ましくは、von 2の整数値の効力であり、2つの異なるbk i間の比は好ましくは、2の整数値の効力である)
ことに従って、複数の確率値pk iに基づいて結合確率値pkを取得するように構成される。
異なる状態変数値に基づいて取得された確率値に異なる重み付けを適用することにより、短期統計と長期統計の結合確率値への異なる影響を考慮することができ、特に意味のある結合確率値を取得できる。
)を含む第1の1次元ベクトル(1次元ルックアップテーブルを形成する)、およびそのエントリがコーディング間隔サイズ情報の量子化レベルを含む第2の1次元ベクトル(
)の間の2項積として表すことができる。
このような3次元ルックアップテーブルを使用することにより、確率値とコーディング間隔サイズの異なるペア間の乗算演算をテーブルにより反映させることができる。したがって、2次元ルックアップテーブルの適切な要素を選択することにより、乗算演算の実行を省くことができる。さらに、このようなアプローチを使用すると、2次元ルックアップテーブルのエントリを非常に簡単な方法で取得できる。
このようなアプローチを使用することにより、2次元ルックアップテーブルの要素の概ね指数関数的である増加または減衰を取得できる。例えば、2次元ルックアップテーブルの要素を定義して、2次元ルックアップテーブルの要素の第2のグループが、実質的に(例えば、丸めによって引き起こされる偏差を除いて)2次元ルックアップテーブルの要素の第1のグループのスケーリングされたバージョンになるようにすることによって、非常に均一な2次元ルックアップテーブルを取得できる。また、このようなアプローチを使用して、2次元ルックアップテーブルの要素を簡単に取得できることに留意されたい。
このようなアプローチを使用することにより、右シフト操作を非常に簡単に実行できるため、2次元ルックアップテーブルの要素を特に効率的な方法で取得できる。また、右シフト操作は適切なスケーリングを引き起こし、非常に効率的な方法で丸め操作を実行することもできる。
また、この概念を使用すると、ベースルックアップテーブルに基づいて「オンザフライ」で2次元ルックアップテーブルのそれぞれの要素を決定することができ、その要素の数は、確率指数とコーディング間隔サイズ指数によって対処されるテーブル要素の数よりも少なくなる。
このような概念を使用することにより、ベースルックアップテーブルの第1の方向への拡張が可能な確率指数値の数よりも小さい場合でも、ベースルックアップテーブルの適切な要素を選択できる。確率指数と第1のサイズ値の間の除算の分割残差を評価することにより、ベースルックアップテーブルの第1の方向への拡張を表すことができ、ベースルックアップテーブルの要素を2つ以上の異なる確率指数値に再利用できる(例えば、第1のサイズ値の分異なる場合がある)。その結果、ベースルックアップテーブルのエントリは、第1のサイズ値の分が異なる2つの確率指数値に対して、例えば異なるスケーリングを使用して2回使用できる。したがって、2次元ルックアップテーブルは通常、確率指数値の進化を記述し、確率指数値の第2の範囲の進化は、確率指数値の第1の範囲の進化と比較した場合に、スケーリングされたバージョン(例えば、丸め効果を受け入れる)であることが利用できる。
RangeTabLPS[i][j]=Scal(BaseTabLPS[i%μ][j)、[i/μ]);
BaseTabLPSは、次元μxλのベースルックアップテーブルであり、iは、確率情報に関連付けられたテーブルインデックスであり、jは、間隔サイズ情報に関連付けられたテーブルインデックスであり(例えば、現在のコーディング間隔サイズを記述する)、%は除算残差演算であり、/は除算演算であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、またはbは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右側にシフトするかどうか、および何ビットシフトするかを決定する、
ことに従って2次元ルックアップテーブル(RangTabLPS)の要素を取得するように構成される。
そのようなアプローチを使用することによって、スケーリング関数またはスケーリング操作の結果によって定義され得る間隔サイズ情報は、特にメモリ効率の良い方法で取得され得る。例えば、「BaseTabLPS」ルックアップテーブルは、その第1の次元μが、確率情報に関連付けられたテーブルインデックスiの値の範囲よりも通常小さいため、またその第2の次元λが間隔サイズ情報によって記述される可能な異なる間隔サイズに等しい可能性があるため、特に小さい場合がある。さらに、iとμの商のフロア演算によって定義される異なるスケーリング係数の数が比較的小さいため、スケーリング関数は特に効率的な方法で実装することができる。例えば、iとμの間の除算の範囲が0と2より小さい最大値との間である場合、2つの異なるスケーリング操作のみを実行できる。例えば、2つ、3つ、または4つの異なるスケーリングの任意の選択のみが存在する可能性があり(iとμの間の商に応じて)、これらのスケーリングの任意の選択は、少数の所定の値のみを使用した乗算を使用して、または単なるシフト演算さえをも使用して、効率的に実装できる。
そのようなアプローチを使用して、異なる間隔サイズが、関連する確率値間の差異、および/または関連するコーディング間隔サイズ間の差異に依存するスケーリングによって互いに関連していることが多いことを利用することができる。別の言い方をすれば、2次元ルックアップテーブルが現在考慮されている確率値および/または現在考慮されているコーディング間隔サイズに適合する要素を含まない場合でも、適切な間隔サイズを依然として取得でき、2次元ルックアップテーブルの別の要素は相応してスケーリングされる(例えば、現在考慮されている確率値に依存して、および/または現在考慮されているコーディング間隔サイズに依存して)。
したがって、2次元ルックアップテーブルの要素は、確率テーブルの適切なエントリを使用して、また適切なスケーリングを使用して「オンザフライ」で取得でき、評価される「確率テーブル」は、通常、2次元のルックアップテーブルよりも大幅に小さくなる。言い換えると、2次元ルックアップテーブルの要素をアドレス指定する2つのインデックスに基づいて、確率テーブルの適切な要素が選択され、スケーリングされる。ただし、多くの場合、このような概念により、メモリの要求と計算の複雑さの間のトレードオフが改善される。
このような概念を使用すると、確率指数とコーディング間隔サイズ指数の2次元グリッドの(比較的小さい)部分の間隔サイズのみを表す小さな確率テーブルを使用でき、メモリスペースを省ける。次に、適切な間隔サイズ情報は、確率テーブルの要素の上記の選択によって、および確率テーブルの選択された要素の上記の2倍のスケーリングによっても取得することができる。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(Iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズ(または現在のコーディング間隔サイズ)であり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って2次元ルックアップテーブルの要素
を取得するように構成される。
間隔サイズ情報を表している可能性があるか、間隔サイズ情報に等しい可能性がある2次元ルックアップテーブルの適切な要素を取得するためにこのような概念を使用することにより、メモリの要件と計算の複雑さの間の非常に良いトレードオフを得ることができる。テーブル「probTabLPS」は、例えば、1次元テーブルであり得、該テーブルの要素の数は、テーブルインデックスiのいくつかの異なる可能な値よりも小さくてもよい。ただし、確率テーブルprobTabLPSの選択された要素と、間隔サイズRに依存するスケーリング係数Qr2(R)の積をスケーリングすることにより、良好な精度に到達でき、発生する可能性のある丸め誤差を適度に小さく保つことができる。さらに、スケーリングは「フロア」演算子によって取得される整数値について演算するため、効率的なスケーリングの概念を使用でき、これは、例えば、整数の乗算、整数の除算、またはビットシフト演算によって定義できる。したがって、計算の負荷は非常に小さい。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(Iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズ(または現在のコーディング間隔サイズ)であり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って2次元ルックアップテーブルの要素
を取得するように構成される。
また、間隔サイズ情報を取得するためのこのアプローチは特に効率的であり、間隔サイズ情報(第1のスケーリングと第2のスケーリングの結果として取得される)に対して質の高い結果をもたらすことがわかっている。
上記の分割残差に依存して確率テーブルの要素(1次元の確率テーブルである可能性がある)を選択することにより、間隔サイズが、スケーリングを除いて、確率指数の異なる範囲で実質的に類似するという事実が利用され得る。したがって、確率テーブルは、確率指数の単一の範囲の値のみを反映し、確率指数の他の範囲の間隔サイズ値は、第1のスケーリングを使用して取得される。第2のスケーリングは、確率テーブルによって表される値、または第1のスケーリングを使用してそれに基づいて得られる値を、コーディング間隔サイズに適合させ、それによって適切な間隔サイズ情報を取得するようにする。
その結果、メモリ消費、計算の複雑さ、および精度の間の良好なトレードオフが得られ、例えば、第1のサイズ値が適切に選択された場合、除算残差と整数除算の結果は、計算上非常に簡単な方法で取得できる(例えば、2つの効力になる)。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり(例えば、整数の結果を提供する)、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(Iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズであり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って2次元ルックアップテーブルの要素
を取得するように構成される。
この計算ルールは、前述の概念を非常に効率的な方法で実装する。
)を含む第1の1次元ベクトル(1次元ルックアップテーブルを形成する)、およびそのエントリがコーディング間隔サイズ情報の量子化レベルを含む第2の1次元ベクトル(
)の間の2項積として、表すことができる。
このような2次元ルックアップテーブルは、状態変数値に基づいて、およびコーディング間隔サイズ情報に基づいて、間隔サイズ情報を効率的に導出するために十分に使用可能である。2次元ルックアップテーブル内のルックアップは、状態変数値の確率値へのマッピング、および取得された確率値とコーディング間隔サイズの乗算に対応する。したがって、2次元ルックアップテーブルの選択されたエントリに等しい可能性がある間隔サイズ情報を取得することは非常に容易に可能であり、2次元ルックアップテーブルのそれぞれの要素は、それぞれの状態変数値に応じて、またコーディング間隔サイズ情報の独立性で、選択され得る(それぞれの状態変数値が2次元ルックアップテーブルの要素の第1のインデックスを決定し得、コーディング間隔サイズ情報が第2のインデックスを決定し得る)。
このようなアプローチを使用することはまた、特定の状況下で非常に効率的であることがわかっている。第1の状態値のみに基づいて(ただし、第2の状態変数値を考慮せずに)第1のサブインターバル幅の値を導出し、第2の状態変数値のみに基づいて(ただし、第1の状態変数値を考慮せずに)第2のサブインターバル幅の値を計算することにより、異なる適合時定数を使用して取得される状態変数値の実質的に別個の処理は、処理の大半を通じて維持される。最終段階でのみ、第1のサブインターバル幅の値と第2のサブインターバル幅の値を結合して、結合したサブインターバル幅の値を取得し、これは高い精度をもたらし、状況によっては、第1の状態変数値と第2の状態変数値が、あまりにも早い段階で組み合わされる場合に発生する劣化を回避する。
論理右シフトは最小限の計算リソースしか必要としないため、この概念は特に実装が簡単である。
好ましい実施形態では、算術エンコーダは、コーディング間隔サイズ情報
の量子化を
により実行するように構成され、式中、
、
および
はパラメータである。
このような量子化も非常に簡単に実装できることがわかった。特に、パラメータ
と
が整数の値(または1より大きい整数の値)になるように選択されている場合、計算の労力は非常に低くなる。
1次元ルックアップテーブルの単調に減少するエントリを使用すると、間隔サイズ情報に良好な結果がもたらされることが示されている。
値の間隔のこのような等しいサイズの使用により、単純な量子化が可能になる。さらに、値の間隔を同じサイズにすることで、ルックアップテーブルの要素を適度な労力でオンザフライで決定できる。
1次元ルックアップテーブルのエントリのこのような単調な減少を使用すると、指数関数的減衰を高い精度で表すことができるようになる。
状態変数値の加重和の計算は、結合状態変数値を決定するための効率的な方法であり、また2つの状態変数値の異なる関連性を考慮するのにも適していることがわかっており、それは状態変数値を導出するときに使用される様々な適合時定数により引き起こされる。
)および関連する重み付け値(
結合状態変数値(sk)を得るため)の積を丸めることによって得られる丸められた値(
)の合計を決定するように構成される。
合計を実行する前にスケーリングされた値の丸めを実行すると、特に意味のある結果が得られることがわかっている。状態変数値の1つの無視できる寄与は、丸めによって排除され、結合状態変数値に影響を与えない。したがって、信頼性の高い結果を得ることができ、結合状態変数値は通常整数の値をとり、これは、ルックアップテーブルの要素を選択するためのインデックスとして機能するのに非常に適している。
sk 2は状態変数値であり、Nは考慮される状態変数値の数であり、
[.]はフロア演算子であり、dk iは状態変数値に関連付けられた重み付け値(例えば、結合状態変数値への個々の状態変数値の影響を制御する重み付け係数)(dk iは好ましくはフォン2の整数値の効力であり、2つの異なるdk i間の比率は好ましくは2の整数値の効力である)[2つの異なるdk i間の比率は、好ましくは8以上)であることに従って、結合状態変数値skを決定するように構成される。
結合状態変数値を導出するためのこの概念は、前に説明したように、非常に意味のある結合状態変数値をもたらす。
状態変数値の決定のためのこの概念(例えば、第1の状態変数値の決定および第2の状態変数値のため)は、第1の状態変数値および第2の状態変数値の別個のマッピングが使用される場合と同じ利点をもたらす。
)に設定するように構成され、算術エンコーダは、状態変数値が第2の符号(例えば、負の符号)をとる場合、確率値(pk)を、所定の値(例えば、1)からルックアップテーブルによって提供される値(例えば、
)を減算することによって得られる値に設定するように構成される。
ルックアップテーブルのサイズを小さくできるため、結合状態変数値を確率値にマッピングすることに対するこの概念は効率的である。特に、ルックアップテーブルの同じ要素が、所与の正の結合状態変数値および所与の(正の)結合状態変数値の負のバージョンに関連付けられるため、ルックアップテーブルの要素の数を減らすことができる。言い換えると、所与の概念では、結合状態変数値の絶対値が、確率値の提供のためにルックアップテーブルのどの要素が評価されるかを決定する。
ただし、結合状態変数値の符号は、確率値をルックアップテーブルによって提供される値、またはルックアップテーブルによって提供される値を符号に応じて所定の値から減算することによって得られる値に設定することにより、適切かつ効率的な方法で依然として考慮される。したがって、計算の複雑さが低い程度の結合状態値に基づいて、意味のある確率値を取得することができる。
LUT2は確率値を含むルックアップテーブルであり、[.]はフロア演算子であり、skは結合変数値であり、akは、結合状態変数値に関連付けられた重み付け値である(例えば、i番目の状態変数値の数の範囲をルックアップテーブルのいくつかのエントリに適合させる重み付け値)ことにより、結合確率値pkを決定するように構成される。
結合状態変数値skに基づいて結合確率値を決定するためのこの概念は、計算上非常に効率的な方法で前に概説された概念を実装する。
LUT2は確率値を含むルックアップテーブルであり、[.]はフロア演算子であり、skは結合変数値であり、akは、結合状態変数値に関連付けられた重み付け値である(例えば、i番目の状態変数値の数の範囲をルックアップテーブルのいくつかのエントリに適合させる重み付け値)ことにより、結合確率値pkを決定するように構成される。
この概念では、スケーリングされた結合状態変数値skの絶対値の計算はない。むしろ、スケーリングされた(「重み付けされた」)結合状態変数値に適用される「フロア」の演算のみがあり、状況によっては、絶対値の形成よりも少ない労力で実装できる。否定は整数値にのみ適用される。整数値は、重み付けされた結合状態変数値の下方の丸め(フロア演算子)によって取得される。ただし、整数値の否定は、通常、小数値または浮動小数点表現の値の否定ほど複雑ではない。したがって、ここで説明する概念は、状況によっては複雑さを軽減するのに役立ち得る。
この概念を使用して、結合状態変数値の結合確率値へのマッピング、および結合確率値とコーディング間隔サイズとの乗算を、単一のルックアップテーブルルックアップ演算に結合することができる。したがって、2次元のルックアップテーブルが必要だが、乗算の演算は省ける。2次元ルックアップテーブルのエントリは事前に計算されている場合があり、これにより、実行時の結合の負荷が非常に低く抑えられる。むしろ、第1のテーブルインデックスは、結合状態変数値、またはそのスケーリングおよび/または丸められたバージョンに基づいて決定され得、第2のテーブルインデックスは、コーディング間隔サイズ情報に基づいて決定され得る(例えば、丸めまたは量子化を使用)。第1のステップ指数および第2の状態指数は、2次元ルックアップテーブルの要素を一意に指定することができ、2次元ルックアップテーブルの指定された要素は、サブ間隔幅値として(または間隔サイズ情報として)使用することができる。したがって、非常に効率的な概念が得られ、ルックアップテーブルに十分なメモリが利用可能な場合の計算の複雑さが軽減される。
)を含む第1の1次元ベクトル(
、1次元ルックアップテーブルを形成する)、およびそのエントリがコーディング間隔サイズ情報の量子化レベルを含む第2の1次元ベクトル(
)の間の2項積として、表すことができる。
このような2次元ルックアップテーブルは、非常に良い結果をもたらす。特に、この2次元ルックアップテーブルのすべての要素は、結合状態変数値に関連付けられたそれぞれの確率値とコーディング間隔サイズの乗算を表す。したがって、本明細書で説明する2次元ルックアップテーブルは、乗算の必要性を排除し、これは、非常にリソース効率が高いと見なすことができる。
ベースルックアップテーブルに基づいて2次元ルックアップテーブルの要素を定義することにより、2次元ルックアップテーブルを非常に簡単な方法で生成できる。さらに、2次元ルックアップテーブルの要素の第2のグループは、ベースルックアップテーブルの要素のスケーリングおよび丸められたバージョンであるため(2次元ルックアップテーブルの要素の第1のグループの要素は、ベースルックアップテーブルの要素またはベースルックアップテーブルの要素の丸められたバージョンと同一)、2次元ルックアップテーブルの行または列の要素の指数関数的な展開がよく反映される。2次元ルックアップテーブルの要素の第2のブロックが実質的に(丸め効果を除く)2次元ルックアップテーブルの要素の第1のブロックのスケーリングされたバージョンであるという概念を使用することにより、結合状態変数値を間隔サイズ情報にマッピングすることに対する適切な特性を反映することができる。
これにより、2次元ルックアップテーブルのエントリ(要素)を簡単に生成できる。
ベースルックアップテーブルの右シフト要素は、スケーリングと丸め操作を結合した非常に効率的な概念であることがわかっている。
(中間量として確率値を使用せずに)結合状態変数値から直接導出され得る、または結合状態変数値に基づく結合確率値を使用して導出され得る確率指数を使用することによって、2次元ルックアップテーブルの要素の選択は非常に効率的に行うことができる。また、確率指数は、要素の第1のグループの要素と要素の第2のグループの要素の使用を切り替えるために使用され、これにより、2次元ルックアップテーブルの要素をオンザフライで効率的に決定できる。
RangeTabLPS[i][j]=Scal(BaseTabLPS[i%μ][j)、[i/μ])
BaseTabLPSは、次元μxλのベースルックアップテーブルであり、iは、確率情報に関連付けられたテーブルインデックスであり、jは、間隔サイズ情報に関連付けられたテーブルインデックスであり(例えば、現在のコーディング間隔サイズを記述する)、%は除算残差演算であり、/は除算演算であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、またはbは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右側にシフトするかどうか、および何ビットシフトするかを決定する、
ことに従って2次元ルックアップテーブル(RangTabLPS)の要素を取得するように構成される。
該除算残差を評価して、ベースルックアップテーブルのどの要素を使用して2次元ルックアップテーブルの要素を取得するかを決定することにより、2次元ルックアップテーブルの要素のオンザフライの決定を、非常に高い効率で実行することができる。特に、2次元ルックアップテーブルが、ベースルックアップテーブルの同じ要素に基づく2つ以上の要素グループで構成されているという事実は、ベースルックアップテーブルのどの要素を2次元ルックアップテーブルの要素を取得するために使用するかを決定するための分割残差の使用によって反映され得る。言い換えれば、2次元ルックアップテーブルの要素とベースルックアップテーブルの要素との間の周期的関係は、除算残差がまた確率指数の増加に関して周期的であるため、該除算残差の考慮によってよく反映される。
この概念は、状態変数値の個別のマッピングの場合について説明した対応する概念と同じ考慮事項に基づいている。
2次元ルックアップテーブルの要素のそのようなオンザフライの決定は、特に高い資源効率を含むことがわかっている。さらにまた、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈内で使用される対応するアルゴリズムに関してなされた上記のコメントが適用されることに留意されたい。2次元ルックアップテーブルの要素の決定の基礎として、典型的には2次元ルックアップテーブルよりも小さい(例えば、より少ない要素を含む)確率テーブルを使用することによって、非常に高い効率を得ることができる。例えば、確率テーブルは、重要な範囲にわたる様々な確率値と様々な(量子化された)コーディング間隔サイズのマッピングを表す場合があり、したがって、単純なスケーリングを超える乗算を回避するのに役立つ場合がある(「単純な」スケーリングでは、例えば、シフト演算を使用して実装する場合がある)。
複数の確率値のセットに含まれない1つまたは複数の確率値、および所与のコーディング間隔サイズとは異なる1つまたは複数のコーディング間隔サイズの2次元ルックアップテーブルの要素は、確率テーブルから、スケーリングを使用して導出される。したがって、例えば、1つの行または1つの列のみを含み得る非常に小さい確率テーブルを有することで十分である。したがって、確率テーブルの要素の数は、異なる可能性のある確率値の数よりも少ない場合さえもあり得る(つまり、2次元ルックアップテーブルの異なる可能な確率指数の数よりも少ない場合がある)。さらに、スケーリングは確率値に依存する、および/またはコーディング間隔サイズに依存することに留意されたい。スケーリングは、例えば、確率テーブルのサイズが適切に選択されている場合、ビットシフト演算などの非常に単純なメカニズムを使用して実行できる。ビットシフト演算に基づくこのような「単純な」スケーリング演算は、任意の可変オペランド(例えば、2の効力とは異なる)を使用した「通常の」乗算と比較すると、必要な計算リソースが大幅に少なくなる。
2次元ルックアップテーブルの要素のそのような計算は特に効率的であることがわかっている。さらに、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈で提供される、対応する機能の上記の議論も参照される。
この機能に関しては、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈で提供される、対応する機能の上記の議論も参照される。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(Iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズ(または現在のコーディング間隔サイズ)であり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って
2次元ルックアップテーブルの要素
を取得するように構成される。
この機能に関しては、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈で提供される、対応する機能の上記の議論も参照される。
この機能に関しては、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈で提供される、対応する機能の上記の議論も参照される。
この機能に関しては、第1の状態変数値と第2の状態変数値との別個のマッピングの文脈で提供される対応する機能の上記の議論も参照され、結合状態変数値または結合確率値は、それぞれの個々の状態変数値またはそれぞれの個々の確率値の代わりに使用される。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり(例えば、整数の結果を提供する)、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(Iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズであり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って、2次元ルックアップテーブルの要素
を取得するように構成される。
この機能に関しては、第1の状態変数値と第2の状態変数値との別個のマッピングの文脈で提供される対応する機能の上記の議論も参照され、結合状態変数値または結合確率値は、個々の状態変数値の代わりになり、結合確率値が個々の確率値の代わりになる。
)を含む1次元ルックアップテーブル(LUT4)を使用して、結合状態変数値(sk)、またはそのスケーリングおよび/または丸められたバージョン([sk*ak];
)を結合確率値にマッピングすること、およびシンボルを量子化レベルに符号化する前に、算術符号化のコーディング間隔のサイズを記述するコーディング間隔サイズ情報(例えば、R)を量子化することにより、これを行い、算術エンコーダは、さらに、結合確率値と量子化レベルの間の積を計算する(事前に計算された積のルックアップまたは乗算によって)ように構成される。
この機能に関しては、第1の状態変数値と第2の状態変数値との別個のマッピングの文脈で提供される対応する機能の上記の議論も参照され、ここで結合状態変数値または結合確率値は、個々の状態変数値の代わりになり、ここで結合確率値が個々の確率値の代わりになる。
この機能に関しては、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈で提供される、対応する機能の上記の議論も参照される。
の量子化を
により実行するように構成され、式中、
、
および
はパラメータである。
この機能に関しては、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈で提供される、対応する機能の上記の議論も参照される。
この機能に関しては、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈で提供される、対応する機能の上記の議論も参照される。
この機能に関しては、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈で提供される、対応する機能の上記の議論も参照される。
この機能に関しては、第1の状態変数値および第2の状態変数値の別個のマッピングの文脈で提供される、対応する機能の上記の議論も参照される。
指数関数的減衰は、状態変数値に基づいて間隔サイズ情報を導出するための適切な関係をよく反映していることがわかっている。また、指数関数的減衰は、ルックアップテーブルを使用して非常に効率的に表すことができ、ルックアップテーブルの要素のオンザフライでの決定でさえ、わずかな労力で可能である。
zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つ以上の重み付け値であり、Aは
であるか、ゼロ設定または大きさの縮小によって、引数の1つ以上の極値に対してのみ、それから逸脱して、更新された
を所定の値の範囲のままにすることを回避する(例えば、
は
より大きな値ドメインを持つ;つまり、
は
に準量子化される;
の極値の場合、
は上記の式に従って未修正のAによって変更され、その値ドメインを離れることができる:これを回避するために、これらの極値に対応するエントリが削減またはゼロにされる場合があることを考慮されたい)、
、
、
、および
は所定のパラメータである(例は上記に記載されている)
ことに従って複数の可変状態値
を更新するように構成される。
状態変数のそのような更新は、高い計算効率で行うことができ、マッピングテーブルを事前に計算することができることがわかっている。例えば、状態変数値
が所定の範囲(例えば、所定の最小値と所定の最大値との間)を維持することを達成することができる。さらに、マッピングテーブルAの適切な選択を使用して、状態変数値が、以前に処理された(例えば、符号化または復号された)シンボルの統計の記述にうまく適合されることが達成され得る。また、それぞれの状態変数値の適合時定数は、重み付け値mおよびnを適切に選択することによって適合できることに留意されたい。したがって、ここで説明するアルゴリズムは、状態変数値
の更新に効率的に使用できる。
算術エンコーダは、1つまたは複数の状態変数値(si k)(例えば、インデックスkにより示される、所与のコンテキストモードに関連付けられている)に基づいて符号化される1つまたは複数のシンボル値の算術符号化の間隔サイズ情報(pk、R*pk)を導出するように構成され、これは複数の以前に符号化されたシンボル値(例えば、バイナリ値0および1のシーケンス)の統計(例えば、複数の状態変数値の場合、異なる適合時定数の統計)を表し、算術エンコーダは、符号化されるシンボルに依存して、ルックアップテーブル(A)を使用して(例えば、シンボルを符号化した後)、第1の状態変数値(sk 1)を更新するように構成される。
結論として、ルックアップテーブルを使用して更新された状態変数値を提供すると、高い柔軟性と低い計算の複雑さの両方が提供されることがわかっている。
第1の状態変数値を更新するために使用されるのと同じルックアップテーブルを使用して、第2の状態変数値を更新することが有利であることがわかっている。例えば、第1の状態変数値および第2の状態変数値の適合時定数に関して考えられる差異は、例えば、1つまたは複数のスケーリング係数を使用して考慮することができ、これは、例えば、ルックアップテーブルの要素の選択、および/またはルックアップテーブルの選択された要素のスケーリングに適用され得る。結論として、2つ以上の状態変数値の導出に単一のルックアップテーブルのみが使用されている場合でも、2つ以上の状態変数値を適合させて、処理されたシンボル値の(つまり、以前に符号化されたシンボル値または復号されたシンボル値の)異なる統計特性を表すことができる。
異なる適合時定数を使用して第1の状態変数値と第2の状態変数値を更新することにより、以前に処理されたシンボルの異なる統計特性を状態変数値に反映させることができる。異なる適合時定数で処理されたシンボルの統計を表す状態変数値の可用性は、シンボルの算術コーディング(符号化/復号)の間隔サイズの正確な調整に非常に役立つことがわかっている。また、状態変数値のルックアップテーブルベースの更新により、非常に高い信頼性と低い計算の複雑さが実現されることがわかっている。
このようなアプローチを使用することにより、状態変数値を再帰的に適合させることができ、処理されたシンボル(例えば、符号化されるシンボル、または以前に符号化されたシンボル、または以前に復号されたシンボル)が、状態変数値の変化の方向(増加または減少)を決定する。他方、適合のサイズ(すなわち、増加または減少のサイズ)は、選択されたルックアップテーブルエントリによって決定され、スケーリングが適用され得る。その結果、状態変数値を更新するための効率的なメカニズムが存在し、これは、高度な柔軟性を実現し、それでも非常にリソース効率が高くなる。
このようなアプローチを使用すると、状態変数値が指数関数的に最大の正の値に向かって発展し、指数関数的に最小値に向かって発展するように到達できる。(正の)最大値および(負の)最小値に向かうこの近似は、ほぼ漸近的になる可能性がある。言い換えると、現在の状態変数値が(正の)最大値から離れるほど、(増加する)ステップが(正の)最大値に向かって大きくなり、現在の状態変数値が(負の)最大値から離れるほど、(負の)最小値に向かう(減少)ステップが大きくなる。したがって、指数漸近的挙動は、この概念を使用して近似できる。ただし、このような概念は、状態変数値の更新に非常に適していることがわかっている。特に、そのようなアプローチは、状態変数値を決定するための「無限インパルス応答」アプローチに非常に適していることがわかっている。
)、またはそのスケーリングおよび/または丸められたバージョン(
)の合計に依存して、第1の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するように構成され、算術エンコーダは、符号化されるシンボルが第2の値をとる場合、所定(例えば、固定の)のオフセット値(z)と以前に計算された第1の状態変数値の逆(-1を乗算する)バージョン(
)、またはそのスケーリングおよび/または丸められたバージョン(
)(例えば、以前に計算された第1の状態変数値の逆バージョン)の合計に依存して、第1の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するように構成される。
このようなアプローチを使用すると、現在処理されているシンボルを考慮して、適度な労力でルックアップテーブルの適切なエントリを選択できる。以前に計算された状態変数値と処理された(符号化または復号された)シンボルの両方がルックアップテーブルのエントリの選択を決定し、その結果、以前に計算された状態変数値と比較したときに更新された状態変数値がどれだけ増加または減少するかによって決定され得る。オフセット値は、例えば、オフセット値とスケーリングされた(処理されたシンボルによっては逆にされる可能性がある)以前計算された状態変数値の合計が、有効なルックアップテーブルインデックスになることを保証し得る。これは、有効なルックアップテーブルインデックスが通常負ではないためである。このような概念を使用すると、適切なルックアップテーブルインデックスを選択し、更新された状態変数値を効率的に提供することが簡単に可能になる。
)、またはそのスケーリングおよび/または丸められたバージョン(
)の合計に依存して、第2の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するように構成され、算術エンコーダは、符号化されるシンボルが第2の値をとる場合、所定(例えば、固定の)のオフセット値(z)と以前に計算された第2の状態変数値の逆(-1を乗算する)バージョン(
)、またはそのスケーリングおよび/または丸められたバージョン(
)(例えば、以前に計算された第2の状態変数値の逆バージョン)の合計に依存して、第2の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するように構成される。
第2の状態変数値の更新に関するこの概念は、第1の状態変数値の更新に関する概念と実質的に同一であり、例えば、同じルックアップテーブルを評価してメモリリソースを省くことができ、例えば、第1の状態変数値の更新と比較した場合の異なるスケーリング値を使用して、それにより、修正された状態変数値の更新特性を取得することができる。例えば、第1の状態変数値および状態変数値についての異なる適合時定数は、更新された第1の状態変数値および更新された第2の状態変数値の決定のために異なるスケーリング値を使用することによって取得され得る。
第1の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するときと、第2の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するときに異なるスケーリング値を使用することによって、異なる適合時定数が効率的に実装でき、基本的な状態変数値の更新アルゴリズムと、使用されるルックアップテーブルとは同一であり得、唯一の重要な違いはスケーリング値の選択であり得る。これにより、非常にリソースを省く実装が可能になる。
(例えば、選択されたルックアップテーブルエントリの)ルックアップテーブルの評価によって返される値の説明された異なるスケーリングは、第1の状態変数値および第2の状態変数値を更新するときに、異なる適合時定数の効率的な実装を可能にする。さらに、このようなスケーリングにより、第1の状態変数値の更新と第2の状態変数値の更新に同じルックアップテーブルを使用できるようになるため、メモリリソースの節約に役立つ。
好ましい実施形態では、算術エンコーダは、
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
状態変数値のこのような更新メカニズムは、高い計算効率で実装でき、信頼できる結果を提供することがわかっている。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
状態変数値を更新するためのそのようなメカニズムはまた、状況によっては非常に有利である可能性があることがわかっている。特に、このようなアプローチを使用して、一部の実装では計算効率が悪い可能性がある浮動小数点値を反転する必要はない。したがって、本概念は、状況によっては非常に優れたリソース効率をもたらす可能性がある。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
この概念はまた、一部の実装環境で特に高い計算効率と優れた精度をもたらすことがわかっている。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
この概念はまた、状況によっては計算効率と信頼性の面で利点をもたらすことがわかっている。
このようなアプローチを使用すると、状態変数値の最大値または最小値への近似が単調および/または連続的および/または漸近的であることに到達する可能性がある。例えば、それぞれの最大値または最小値から遠く離れている状態変数は、それぞれの最大値または最小値に向かって比較的速く修正される一方で、それぞれの最大値または最小値に近い状態変数値は、該最大値または最小値に向かって比較的ゆっくりと修正されることに到達することができる。したがって、ルックアップテーブルのエントリの上記の選択により、最大値または最小値のスムーズな近似が可能になり、それはもう1つの状態変数値に基づいて間隔サイズ情報を導出するのに非常に役立つことがわかっている。
であるか、ゼロ設定または大きさの縮小によって、引数の1つ以上の極値に対してのみ、それから逸脱して、更新された
を所定の値の範囲のままにすることを回避する(例えば、
は
より大きな値ドメインを持つ;つまり、
は
に準量子化される;
の極値の場合、
は上記の式に従って未修正のAによって変更され、その値ドメインを離れることができる:これを回避するために、これらの極値に対応するエントリが削減またはゼロにされる場合があることを考慮されたい)、
、
、
、および
は所定のパラメータである(例は上記に記載されている)。
ルックアップテーブルΑのそのような選択は、該ルックアップテーブルAを使用して更新される状態変数値の特に有利な挙動をもたらすことがわかっている。
ルックアップテーブルの最後のエントリ(0に等しい)を使用することにより、更新された状態変数値が最大値および/または最小値を超えることを簡単に回避できる。
好ましい実施形態では、算術エンコーダは、更新された状態変数値にクリッピング操作を適用して、更新されクリップされた状態変数値を所定の値の範囲内に保つように構成される。
このようなメカニズムを使用すると、状態変数値が最小値と最大値の間の所定の範囲を超えることを容易に防ぐことができる。したがって、状態変数値が「合理的な」値をとることを保証することができる。
によってクリッピング操作を
更新された状態変数値に適用するように構成され、
は
の最大許容値であり、
は
の最小許容値である。
このようなクリッピング操作は効率的な方法で実装でき、無効な状態変数値を回避できることがわかっている。
異なるコンテキストモデルに対して異なるスケーリング値を使用して、異なるコンテキストモデルの異なる統計特性(異なるタイプの情報および/またはタイプのビットストリーム構文要素に関連付けられている可能性がある)を考慮することができる。異なるコンテキストモデルに異なるスケーリング値を使用することにより、状態変数値の更新手順を、基礎となるアルゴリズムを根本的に変更することなく、異なるコンテキストモデルに簡単に適合させることができる。したがって、適切なスケーリング値を非常に効率的な方法で取得できる。
状態変数値の更新の概念は、間隔サイズ情報の導出のための上記の概念と結合して十分に使用できることがわかっている。
結論として、ここで説明する概念により、1つまたは複数の状態変数値に基づいて間隔サイズ値を非常に効率的に決定できる。
この概念は、右シフト演算が計算上非常に効率的であり、また、確率指数が第2の範囲内にある場合、信頼できる間隔サイズ値を提供するという考えに基づいている(一方、好ましくは、確率指数が第1の範囲内にある場合は、ベースルックアップテーブルの要素にシフト演算が適用されない)。その結果、第1の範囲内と第2の範囲内の「対応する」確率指数に提供される間隔サイズ値は、主にビットシフトによって異なる(可能な丸めを除く)。これは通常、確率指数値の範囲全体、または完全な「第1の範囲」(通常は3つ以上の異なる値で構成される)にも当てはまる。さらに、右シフト演算は通常、2の効力による除算に対応することに留意されたい。
確率指数(または、より具体的には、確率指数が第1の範囲内にあるか、第2の範囲内にあるかという質問)が、ルックアップテーブル(ベースルックアップテーブル)の要素に基づいて、スケーリング(および任意選択で丸め)を適用して間隔サイズ値を取得するかどうか決定するため、アルゴリズムは非常に単純に保つことができる。例えば、確率指数が第1の範囲内にあるか、第2の範囲内にあるかを確認することは、確率指数を所定の値で除算するか、確率指数を1つ以上のしきい値と比較することで簡単に実行できる。したがって、確率指数に基づいて、スケーリング(および任意選択の丸め)を実行するかどうかを簡単に決定できる。したがって、間隔サイズ値の導出の概念は非常に効率的である。
分割残差と区間サイズ指数に依存してベースルックアップテーブルのエントリを選択することにより、2次元ベースルックアップテーブルを簡単に評価でき、2次元ベースルックアップテーブルの要素には、間隔サイズ値(間隔サイズ指数で表すことができる)を使用して乗算を組み込むことができる。したがって、2次元のベースルックアップテーブルを有することにより、間隔サイズ値を使用した乗算を省くことができる(分割残差を第1のテーブルインデックスとして使用でき、間隔サイズ指数を第2のテーブルインデックスとして使用できる)。さらに、第1のテーブルインデックスとしての除算残差の使用は、ベースルックアップテーブルの要素が確率指数の増加に伴って周期的に選択されるという事実によく適合している(確率指数の後続の範囲がベースルックアップテーブルの共通範囲を選択するため)。結論として、上記の実装は、ベースルックアップテーブルの要素への非常に簡単なアクセスを可能にし、ベースルックアップテーブルの2次元の性質により、間隔サイズ値との乗算を回避するのに役立つ。
RXPS=Scal(BaseTabLPS[i%μ][j]、[i/μ])
BaseTabLPSは、次元μxλのベースルックアップテーブルであり、iは、確率情報に関連付けられたテーブルインデックスであり、jは、間隔サイズ情報に関連付けられたテーブルインデックスであり(例えば、合計間隔サイズ情報R)、%は除算残差演算であり、/は除算演算であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、またはbは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右側にシフトするかどうか、および何ビットシフトするかを決定する、
ことに従って、間隔サイズ値RXPS(例えば、RLPS)を取得するように構成される。
間隔サイズ情報を構成する間隔サイズ値を決定するためのそのような概念は、計算効率が高く、比較的小さなベースルックアップテーブルの使用を可能にすることがわかっている。特に、乗算演算を回避できる。さらに、分割残差演算および除算演算は、例えば、次元μが2の効力である場合、非常に計算効率の高い方法で実施することもできる。したがって、間隔サイズ値の導出について説明した概念により、計算上非常に効率的な実装が可能になる。
この概念は、確率値(または確率指数)の異なる(重複しない)範囲に関連付けられた間隔サイズ値が、スケーリング操作によって実質的に(可能な丸め効果を除いて)関連付けられているという考えに基づいている。ルックアップテーブル(確率テーブル)のサイズが適切に選択されている場合、スケーリング演算は、例えば、ビットシフト演算を使用して、計算効率の高い方法で実装され得ることにも留意されたい。その結果、小さな計算労力で算術コーディング(符号化または復号)に使用され、メモリを省く小さなサイズのルックアップテーブルのみを使用する間隔サイズ値を導出することが可能である。
2段階の乗算またはスケーリングを使用して、間隔サイズ情報を取得することにより、小さな確率テーブルを使用できる。例えば、確率テーブルは、単一のコーディング間隔サイズおよび所与の比較的狭い範囲の確率値(「複数の確率値のセット」によって表され得る)のみを「直接」カバーし得る。したがって、他のいずれかのコーディング間隔サイズ、および確率テーブルによって「直接」カバーされる複数の確率値のセットに含まれない任意の確率値について、意味のある信頼できる間隔サイズ値が取得されるように、スケーリングが実行される。
除算残差を使用して確率のどの要素がスケーリングされるかを決定することは、確率テーブルのエントリが確率指数の増加とともに定期的に再利用される(例えば、周期的に)という事実を活用するのに役立つ。除算残差の使用は、この事実を表している。また、除算残差は、状況によっては、特に除算が2の効力で行われる場合、非常に高い計算効率で計算できる。
さらに、整数除算の結果に基づいてスケーリング係数を決定することにより、スケーリング係数を確率指数値の異なる(隣接する)範囲に簡単に割り当てることができる。さらに、整数除算の結果は、状況によっては、特に除算が2の効力で行われる場合、計算上非常に効率的な方法で計算できる。
さらに、コーディング間隔サイズに依存して乗法スケーリング係数を決定することは、間隔サイズ値がコーディング間隔サイズに比例するという事実を反映している。したがって、間隔サイズ値を高い効率かつ精度で得ることができる。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズ(または現在のコーディング間隔サイズ)であり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って間隔サイズ値RXPS(例えば、RLPS)を取得するように構成される。
間隔サイズ値を決定するためのそのようなアルゴリズムは、計算上効率的であり、良質の結果を提供することがわかっている。確率テーブルは比較的小さくすることができ、スケーリング関数は、例えば、1つまたは複数のビットシフト演算を使用して、計算効率の良い方法で実装することができる。
この概念では、上記の概念と比較すると、第1のスケーリングと第2のスケーリングの処理順序が逆になっている。ただし、基本的な考慮事項は同じままである。
この概念では、上記の概念と比較すると、第1のスケーリングと第2のスケーリングの順序が逆になっている。ただし、基本的な考慮事項は変更されていない。
iは、確率情報に関連付けられたテーブルインデックスであり、jは(現在の)間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり(例えば、整数の結果を提供する)、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズ(または現在のコーディング間隔サイズ)であり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って間隔サイズ値RXPS(例えば、RLPS)を取得するように構成される。
この概念では、上記の実装と比較すると、第1のスケーリングおよび第2のスケーリングのスケーリング順序が逆になっている。ただし、基本的な基礎となる考え方は変わりない。
RXPS=Scal(BaseTabLPS[i%μ][j)、[i/μ])
BaseTabLPSは、次元μxλのベースルックアップテーブルであり、iは、確率情報に関連付けられたテーブルインデックスであり、jは、間隔サイズ情報に関連付けられたテーブルインデックスであり(例えば、合計間隔サイズ情報R)、%は除算残差演算であり、/は除算演算であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、またはbは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右側にシフトするかどうか、および何ビットシフトするかを決定する、
ことに従って、間隔サイズ値RXPS(例えば、RLPS)を取得するように構成される。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズ(または現在のコーディング間隔サイズ)であり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って間隔サイズ値RXPS(例えば、RLPS)を取得するように構成される。
iは、確率情報に関連付けられたテーブルインデックスであり、jは(現在の)間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり(例えば、整数の結果を提供する)、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズ(または現在のコーディング間隔サイズ)であり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って間隔サイズ値RXPS(例えば、RLPS)を取得するように構成される。
本発明による実施形態は、シンボル値(例えば、バイナリ値)を有する複数のシンボルを符号化するための算術エンコーダを作成するものであり、算術エンコーダは、以前に符号化された複数のシンボル値の統計を表す1つの状態変数値(sk)を決定するように構成され、算術エンコーダは、結合状態変数値、またはそのスケーリングおよび/または丸められたバージョン([sk*ak])から、符号化されるシンボル値の算術符号化のためのサブインターバル幅値(
)を計算するよう構成され、この計算は、そのエントリが結合状態変数値の値ドメインの異なる値間隔の確率値、またはそのスケーリングおよび/または丸められたバージョン([sk*ak];
)を含む1次元ルックアップテーブル(
)を使用して、1つの状態変数値(sk)、またはそのスケーリングおよび/または丸められたバージョン([sk*ak];
)を確率値にマッピングすること、および量子化レベル(
)に符号化されるシンボル値の算術符号化の前に、算術符号化のコーディング間隔のサイズを記述するコーディング間隔サイズ情報(例えば、R)を量子化することにより、これを行い、算術エンコーダは、さらに、確率値と、量子化レベルの間の積を決定する(事前に計算された積のルックアップまたは乗算によって)ように構成され、算術エンコーダは、符号化されるシンボル値に依存して状態変数値の更新を実行するように構成される。
結合状態変数値を1つの状態変数値として使用すると、特に良好な結果が得られることがわかっている。様々な適合時定数を考慮すると、短時間の統計と長時間の統計の両方を考慮することができるため、サブインターバル幅の値の信頼性が特に高くなる。
結合状態変数値のそのような計算は、計算の労力を適度に少なく保ちながら、結合状態変数値に対する短期統計と長期統計の異なる影響の考慮を可能にする。
)および関連する重み付け値(
結合状態変数値(sk)を得るため)の積を丸めることによって得られる丸められた値(
)の合計を決定するように構成される。
合計の前に丸め演算を適用すると、計算の労力が軽減され、状態変数値と関連する重み付け値の非常に小さな積の影響も排除される。したがって、信頼性が向上する。
好ましい実施形態では、算術エンコーダは、
sk 2は状態変数値であり、Nは考慮される状態変数値の数であり、[.]はフロア演算子であり、dk iは状態変数値に関連付けられた重み付け値(例えば、結合状態変数値への個々の状態変数値の影響を制御する重み付け係数)(dk iは好ましくはフォン2の整数値の効力であり、2つの異なるdk i間の比率は好ましくは2の整数値の効力である)[2つの異なるdk i間の比率は、好ましくは8以上)であることに従って、結合状態変数値skを決定するように構成される。
結合状態変数値のそのような導出は特に有利であることがわかっている。結合状態変数値を決定するための対応する概念の上記の説明の言及もなされている。
zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つ以上の重み付け値であり、Aは
であるか、ゼロ設定または大きさの縮小によって、引数の1つ以上の極値に対してのみ、それから逸脱して、更新された
を所定の値の範囲のままにすることを回避する(例えば、
は
より大きな値ドメインを持つ;つまり、
は
に準量子化される;
の極値の場合、
は上記の式に従って未修正のAによって変更され、その値ドメインを離れることができる:これを回避するために、これらの極値に対応するエントリが削減またはゼロにされる場合があることを考慮されたい)、
、
、
、および
は所定のパラメータである(例は上記に記載されている)
ことに従って、状態変数値の更新を行う際、複数の状態変数値
を更新するように構成される。
状態変数値のそのような更新は特に有利であることがわかっている。状態変数の更新については、この概念に関する上記の説明も参照される。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
1つまたは複数の状態変数値を更新するためのこの概念の利点については、上記の説明が参照される。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
1つまたは複数の状態変数値を更新するためのこの概念の利点について、上記の説明が参照される。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
1つまたは複数の状態変数値を更新するためのこの概念の利点については、上記の説明が参照される。
コーディング間隔サイズ情報の論理的な右シフトは、計算上非常に効率的である。
好ましい実施形態では、算術エンコーダは、コーディング間隔サイズ情報
の量子化を
により実行するように構成され、式中、
、
および
はパラメータである。
コーディング間隔サイズ情報のこの量子化の利点に関しては、上記の論述が参照される。
算術エンコーダの好ましい実施形態では、1次元ルックアップテーブルのエントリは、1つの状態変数値、またはそのスケーリングおよび/または丸められたバージョン([sk*ak])の増加で単調に減少する。
1次元ルックアップテーブルのこの構造の利点については、上記の説明が参照される。
算術エンコーダの好ましい実施形態では、1つの状態変数値の値ドメインの異なる値間隔、またはそのスケーリングおよび/または丸められたバージョン([sk*ak])は、等しいサイズである。
この概念の利点については、上記の説明が参照される。
この概念の利点については、上記の説明が参照される。
以下では、算術符号化についての上記の概念に対応する算術復号の概念について説明する。したがって、同じ説明が適用され、上記と同じ詳細を任意選択で使用できる。ただし、算術エンコーダは算術デコーダに対応することに留意されたい。さらに、以前に符号化されたシンボル値は、通常、以前に復号されたシンボル値に対応し、符号化されるシンボル値は、通常、以前に復号されたシンボル値(または復号されるシンボル値)に対応し得る。ただし、特徴の対応に関しては、関連する(または対応する)概念を定義する対応するクレームの比較も参照される。
好ましい実施形態では、算術デコーダは、復号されるシンボルが第1の値(例えば「1」)をとる場合に状態変数値を第1の方向に変更する(例えばより正になる)ように構成され、また復号されるシンボルが第1の値とは異なる第2の値(例えば「0」)をとる場合(例えば、状態変数値が正と負の値をとることができるように)に状態変数値を第2の方向に(例えば、より負になるもの)変更するように構成され、算術デコーダは、それぞれの状態変数値の絶対値(sk i>0の場合はsk i、それ以外の場合は-sk i)に応じて(例えば、状態変数値の絶対値のスケーリングおよび丸められたバージョンに応じて)評価されるルックアップテーブルのエントリを決定するように構成される。
)に設定するように構成され、算術デコーダは、第1の状態変数値が第2の符号(例えば、負の符号)をとる場合、第1の確率値(pk 1)を、所定の値(例えば、1)からルックアップテーブルによって提供される値(例えば、
)を減算することによって得られる値に設定するように構成される。
LUT1は確率値を含むルックアップテーブルであり、[.]はフロア演算子であり、sk iはi番目の状態変数値であり、ak iは、i番目の状態変数値に関連付けられた重み付け値である(例えば、i番目の状態変数値の数の範囲をルックアップテーブルのいくつかのエントリに適合させる重み付け値)ことにより、2つ以上の確率値pk iを決定するように構成される。
LUT1は確率値を含むルックアップテーブルであり、[.]はフロア演算子であり、sk iはi番目の状態変数値であり、ak iは、i番目の状態変数値に関連付けられた重み付け値である(例えば、i番目の状態変数値の数の範囲をルックアップテーブルのいくつかのエントリに適合させる重み付け値)ことにより、2つ以上の確率値pk iを決定するように構成される。
式中Nは考慮される確率値の数で(考慮される状態変数値の数に等しい場合がある)、bk iは、重み付け値(例えば、結合確率値に対する個々の状態変数値の影響を制御する重み付け係数)である[bk iは、好ましくは、von 2の整数値の効力であり、2つの異なるbk i間の比は好ましくは、2の整数値の効力である)
ことに従って、複数の確率値pk iに基づいて結合確率値pkを取得するように構成される。
)を含む第1の1次元ベクトル(1次元ルックアップテーブルを形成する)、およびそのエントリがコーディング間隔サイズ情報の量子化レベルを含む第2の1次元ベクトル(
)の間の二項積として表すことができる。
RangeTabLPS[i][j]=Scal(BaseTabLPS[i%μ][j)、[i/μ])
BaseTabLPSは、次元μxλのベースルックアップテーブルであり、iは、確率情報に関連付けられたテーブルインデックスであり、jは、間隔サイズ情報に関連付けられたテーブルインデックスであり(例えば、現在のコーディング間隔サイズを記述する)、%は除算残差演算であり、/は除算演算であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、またはbは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右側にシフトするかどうか、および何ビットシフトするかを決定する、
ことに従って2次元ルックアップテーブル(RangTabLPS)の要素を取得するように構成される。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(Iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズ(または現在のコーディング間隔サイズ)であり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って2次元ルックアップテーブルの要素
を取得するように構成される。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり(例えば、整数の結果を提供する)、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(Iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズであり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って、2次元ルックアップテーブルの要素
を取得するように構成される。
好ましい実施形態では、算術デコーダは、コーディング間隔サイズ情報に論理右シフトを適用することによってコーディング間隔サイズ情報の量子化を実行するように構成される。
本発明による実施形態は、シンボル値(例えば、バイナリ値)を有する複数のシンボルを復号するための算術デコーダを作成し、算術デコーダは、間隔サイズ情報(pk、R*pk)を、1つまたは複数のシンボル値(例えば、バイナリ値)の算術復号が複数の状態変数値(si k)(例えば、インデックスkによって表示される所与のコンテキストモードに関連付けられるもの)に基づいて復号されるように導出するように構成され、これは、異なる適合時定数で以前に復号された複数のシンボル値(例えば、バイナリ値0と1のシーケンス)(例えば、復号される1つまたは複数のシンボルが特定のシンボル値を含む確率の推定)の統計を表し、算術デコーダは、結合状態変数値(sk)(例えば、状態変数値の加重和であり得る)、複数の個々の状態変数値(si k)の基礎となるものを導出するように構成され、算術デコーダは、結合状態変数値(sk)、またはそのスケーリングおよび/または丸められたバージョン([sk 2*ak 2])を、ルックアップテーブルを使用してマッピングして、復号される1つまたは複数のシンボルの算術復号の間隔サイズを説明する間隔サイズ情報(例えば、pkまたはR*pk)を取得するように構成される。
好ましい実施形態では、算術デコーダは、結合状態変数値を取得するために、状態変数値の加重和を決定するように構成される。
)および関連する重み付け値(
結合状態変数値(sk)を得るため)の積を丸めることによって得られる丸められた値(
)の合計を決定するように構成される。
sk 2は状態変数値であり、Nは考慮される状態変数値の数であり、[.]はフロア演算子であり、dk iは状態変数値に関連付けられた重み付け値(例えば、結合状態変数値への個々の状態変数値の影響を制御する重み付け係数)(dk iは好ましくはフォン2の整数値の効力であり、2つの異なるdk i間の比率は好ましくは2の整数値の効力である)[2つの異なるdk i間の比率は、好ましくは8以上)であることに従って、結合状態変数値skを決定するように構成される。
)に設定するように構成され、算術デコーダは、状態変数値が第2の符号(例えば、負の符号)をとる場合、確率値(pk)を、所定の値(例えば、1)からルックアップテーブルによって提供される値(例えば、
)を減算することによって得られる値に設定するように構成される。
LUT2は確率値を含むルックアップテーブルであり、[.]はフロア演算子であり、skは結合変数値であり、akは、結合状態変数値に関連付けられた重み付け値である(例えば、i番目の状態変数値の数の範囲をルックアップテーブルのいくつかのエントリに適合させる重み付け値)ことにより、結合確率値pkを決定するように構成される。
LUT2は確率値を含むルックアップテーブルであり、[.]はフロア演算子であり、skは結合変数値であり、akは、結合状態変数値に関連付けられた重み付け値である(例えば、i番目の状態変数値の数の範囲をルックアップテーブルのいくつかのエントリに適合させる重み付け値)ことにより、結合確率値pkを決定するように構成される。
)を含む第1の1次元ベクトル(
、1次元ルックアップテーブルを形成する)、およびそのエントリがコーディング間隔サイズ情報の量子化レベルを含む第2の1次元ベクトル(
)の間の2項積として、表すことができる。
RangeTabLPS[i][j]=Scal(BaseTabLPS[i%μ][j)、[i/μ])
BaseTabLPSは、次元μxλのベースルックアップテーブルであり、iは、確率情報に関連付けられたテーブルインデックスであり、jは、間隔サイズ情報に関連付けられたテーブルインデックスであり(例えば、現在のコーディング間隔サイズを記述する)、%は除算残差演算であり、/は除算演算であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、またはbは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右側にシフトするかどうか、および何ビットシフトするかを決定する、
ことに従って、2次元ルックアップテーブル(RangTabLPS)の要素を取得するように構成される。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(Iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズ(または現在のコーディング間隔サイズ)であり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って
2次元ルックアップテーブルの要素
を取得するように構成される。
iは、確率情報に関連付けられたテーブルインデックスであり、jは間隔サイズ情報に関連付けられたテーブルインデックスであり、%は除算残差演算であり、/は除算演算であり(例えば、整数の結果を提供する)、probTabLPS []は確率テーブルであり、μは確率テーブルの要素の数であり(Iの値の範囲は通常μよりも大きくなる)、Rは間隔サイズであり、Qr2(R)はRに依存するスケーリング係数であり、Scal(x,y)はスケーリング関数であり(例えば、Scal(x,y)=[x*a-by]として定義され、[.]はフロア演算であり、aは、好ましくは2以上の定数であり、bは、好ましくは1以上の定数であり、スケーリング関数は、好ましくは、右シフトビットシフト演算を使用して実装され、yは、xの右シフトをするかどうか、および何ビットシフトするかを決定する、
ことに従って、2次元ルックアップテーブルの要素
を取得するように構成される。
)を含む1次元ルックアップテーブル(LUT4)エントリを使用して、結合状態変数値(sk)、またはそのスケーリングおよび/または丸められたバージョン([sk*ak];
)を結合確率値にマッピングすること、およびシンボルを量子化レベルに符号化する前に、算術符号化のコーディング間隔のサイズを記述するコーディング間隔サイズ情報(例えば、R)を量子化すること、結合確率値と量子化レベルの間の積を決定することによる。
算術デコーダの好ましい実施形態では、1次元ルックアップテーブルのエントリは、結合状態変数値、またはそのスケーリングおよび/または丸められたバージョン([sk*ak])の増加で減少率を伴って単調に減少する。
zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つ以上の重み付け値であり、Aは
であるか、ゼロ設定または大きさの縮小によって、引数の1つ以上の極値に対してのみ、それから逸脱して、更新された
を所定の値の範囲のままにすることを回避する(例えば、
は
より大きな値ドメインを持つ;つまり、
は
に準量子化される;
の極値の場合、
は上記の式に従って未修正のAによって変更され、その値ドメインを離れることができる:これを回避するために、これらの極値に対応するエントリが削減またはゼロにされる場合があることを考慮されたい)、
、
、
、および
は所定のパラメータである(例は上記に記載されている)
ことに従って複数の可変状態値
を更新するように構成される。。
)、またはそのスケーリングおよび/または丸められたバージョン(
)の合計に依存して、第1の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するように構成され、算術デコーダは、復号されるシンボルが第2の値をとる場合、所定(例えば、固定の)のオフセット値(z)と以前に計算された第1の状態変数値の逆(-1を乗算する)バージョン(
)、またはそのスケーリングおよび/または丸められたバージョン(
)(例えば、以前に計算された第1の状態変数値の逆バージョン)の合計に依存して、第1の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するように構成される。
)、またはそのスケーリングおよび/または丸められたバージョン(
)の合計に依存して、第2の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するように構成され、算術デコーダは、復号されるシンボルが第2の値をとる場合、所定(例えば、固定の)のオフセット値(z)と以前に計算された第2の状態変数値の逆(-1を乗算する)バージョン(
)、またはそのスケーリングおよび/または丸められたバージョン(
)(例えば、以前に計算された第2の状態変数値の逆バージョン)の合計に依存して、第2の状態変数値を更新するときに評価されるルックアップテーブルのエントリのインデックスを決定するように構成される。
算術デコーダは、第2の状態変数値を更新するときに第2のスケーリング値(例えば、nk 2)を使用してルックアップテーブルの評価によって返される値をスケーリングするように構成され、第1のスケーリング値は第2のスケーリング値とは異なる。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
であるか、ゼロ設定または大きさの縮小によって、引数の1つ以上の極値に対してのみ、それから逸脱して、更新された
を所定の値の範囲のままにすることを回避する(例えば、
は
より大きな値ドメインを持つ;つまり、
は
に準量子化される;
の極値の場合、
は上記の式に従って未修正のAによって変更され、その値ドメインを離れることができる:これを回避するために、これらの極値に対応するエントリが削減またはゼロにされる場合があることを考慮されたい)、
、
、
、および
は所定のパラメータである(例は上記に記載されている)。
)を計算するよう構成され、この計算は、そのエントリが結合状態変数値の値ドメインの異なる値間隔の確率値、またはそのスケーリングおよび/または丸められたバージョン([sk*ak];
)を含む1次元ルックアップテーブル(
)を使用して、1つの状態変数値(sk)、またはそのスケーリングおよび/または丸められたバージョン([sk*ak];
)を結合確率値にマッピングすること、および量子化レベル(
)に符号化されるシンボル値の算術復号の前に、算術符号化のコーディング間隔のサイズを記述するコーディング間隔サイズ情報(例えば、R)を量子化することにより、これを行い、算術デコーダは、さらに、確率値と、量子化レベルの間の積を決定する(事前に計算された積のルックアップまたは乗算によって)ように構成され、算術デコーダは、(実際に復号される)復号されるシンボルに依存して状態変数値の更新を実行するように構成される。
)および関連する重み付け値(
結合状態変数値(sk)を得るため)の積を丸めることによって得られる丸められた値(
)の合計を決定するように構成される。
sk 2は状態変数値であり、Nは考慮される状態変数値の数であり、[.]はフロア演算子であり、dk iは状態変数値に関連付けられた重み付け値(例えば、結合状態変数値への個々の状態変数値の影響を制御する重み付け係数)(dk iは好ましくはフォン2の整数値の効力であり、2つの異なるdk i間の比率は好ましくは2の整数値の効力である)[2つの異なるdk i間の比率は、好ましくは8以上)であることに従って、結合状態変数値skを決定するよう構成される。
zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つ以上の重み付け値であり、Aは
であるか、ゼロ設定または大きさの縮小によって、引数の1つ以上の極値に対してのみ、それから逸脱して、更新された
を所定の値の範囲のままにすることを回避する(例えば、
は
より大きな値ドメインを持つ;つまり、
は
に準量子化される;
の極値の場合、
は上記の式に従って未修正のAによって変更され、その値ドメインを離れることができる:これを回避するために、これらの極値に対応するエントリが削減またはゼロにされる場合があることを考慮されたい)、
、
、
、および
は所定のパラメータである(例は上記に記載されている)
ことに従って、状態変数値の更新を行う際、複数の状態変数値
を更新するように構成される。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
Aはルックアップテーブルであり(例えば、整数の値を含む)、zは所定の(一定の)オフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値であることに従って、1つまたは複数の更新された状態変数値
を決定するように構成される。
ビデオデコーダは、ビデオエンコーダと同じ考慮事項に基づいている。したがって、上記の説明もまた、当てはまるものであり、符号化されたシンボルまたは符号化されるシンボルは、復号されたシンボルに対応する。
以下の図の説明は、コーディングフレームワークの例を形成するために、ビデオの画像をコーディングするためのブロックベースの予測コーデックのエンコーダ(図1)とデコーダ(図2)の説明から始まり、これに本発明の実施形態が組み込まれ得る。それぞれのエンコーダとデコーダは、図1から図3に関して説明されている。以下、本発明の概念の実施形態の説明は、そのような概念をそれぞれ図1および図2のエンコーダおよびデコーダに組み込むことができる方法に関する説明とともに提示されるが、後続の図4以降で説明される実施形態はまた、図1および図2のエンコーダおよびデコーダの基礎となるコーディングフレームワークに従って動作しないエンコーダおよびデコーダを形成するために使用され得る。
同様に、図2に示されるように、デコーダ20は、予測ステージ36に対応し、それに対応する方法で相互接続されるコンポーネントから内部に構成されてもよい。特に、デコーダ20のエントロピーデコーダ50は、データストリームからの量子化されたスペクトル領域予測残差信号24’’をエントロピー復号することができ、それにおいて、予測ステージ36のモジュールに関して上述したように相互接続および協働される逆量子化器52、逆変換器54、コンバイナ56および予測モジュール58は、予測残差信号24’’に基づいて再構成された信号を回復し、その結果、図2に示すように、コンバイナ56の出力が再構成された信号、すなわち画像12’をもたらすようにする。
図3は、再構成された信号、すなわち再構成された画像12’と、一方でデータストリーム14で信号が送られる予測残差信号24’’’’と結合と、他方で予測信号26との間の関係を示している。すでに上で示したように、結合は追加である場合がある。予測信号26は、図3において、ハッチングを使用して例示的に示されるイントラコーディングブロック、およびハッチングなしで例示的に示されるインターコーディングブロックへの画像領域の細分として示される。細分は、画像領域を正方形ブロックまたは非正方形ブロックの行と列へと通常の細分をすること、または四分木細分割など画像12をツリールートブロックから様々なサイズの複数のリーフブロックへとマルチツリー細分することなど、任意の細分にすることができ、それらの混合物が図3に示され、画像領域は最初にツリールートブロックの行および列に細分され、次に再帰的マルチツリー細分に従って1つ以上に細分化する。
oDCT-II(またはDCT-III)、DCTは離散コサイン変換の略
oDST-IV、DSTはDiscrete Sine Transformの略
oDCT-IV
oDST-VII
oアイデンティティ変換(IT)
o逆DCT-II(または逆DCT-III)
o逆DST-IV
o逆DCT-IV
o逆DST-VII
oアイデンティティ変換(IT)
図4は、本発明の一実施形態による、算術エンコーダのブロック概略図を示す。
図4による算術エンコーダ400は、例えば、ビデオエンコーダで使用することができる。しかし、任意選択で、算術エンコーダ400は、オーディオエンコーダ、画像エンコーダ、ニューラルネットワークの係数を符号化するためのエンコーダなどでも使用することができる。
図5は、本発明の実施形態による、算術デコーダ500のブロック概略図を示す。算術デコーダ500は、ビットストリーム510(ビットストリーム420に対応し得る)を受信し、それに基づいて、復号されたシンボル520(または復号されたシンボル520のシーケンス)を提供するように構成される。典型的には、復号されたシンボル520は、符号化されるシンボル410に対応し得る。典型的には、算術エンコーダ400および算術デコーダ500は、一緒にされると、ロスレス符号化および復号を実行し得、その結果、算術エンコーダ400によって符号化されたシンボル410は、算術デコーダ500によって復号されたときに「完全な」再構成を可能にするビットストリーム420を提供し、復号されたシンボル520が符号化されたシンボル410に対応するようにする。
図6は、間隔サイズ情報を決定するための概念の概略図を示し、これは、例えば、図4による算術エンコーダ400または図5による算術デコーダ500で使用することができる。間隔サイズ決定の形で、または間隔サイズ決定器の形で実装され得る概念600は、例えば、間隔サイズ決定または間隔サイズ決定器440を実現するために使用され得、および/または間隔サイズ決定または間隔サイズ決定器540を実現するために使用される。
および/または
を考慮することができる。状態変数更新640は、任意選択で、「オフセット」、例えば、z、およびルックアップテーブル、例えば、Aも考慮することができる。さらに、状態変数更新640は、任意選択で、状態変数の初期化を実行する必要がある情報信号に応答して、初期値に初期化され得る。状態変数の初期化の場合、以前に決定された状態変数値644は無視され得、「更新された」状態変数642は、例えば、事前に決定され得る初期値に設定され得る。
図7は、間隔サイズ決定概念700の概略図を示す。特に、図7は、「間隔サイズ決定コア」の機能を利用できる概念を示している。言い換えれば、図7による概念700は、更新された状態変数に基づいて、またコーディング間隔サイズ情報に基づいて、間隔サイズ情報を提供するのに適している。しかし、図7による概念700は、間隔サイズ決定または間隔サイズ決定器で実装され得る。
したがって、間隔サイズ決定700は、例えば、図6に記載された間隔サイズ決定コア650の代わりになり得る。
間隔サイズ決定コア700は、第1の処理パス730および第2の処理パス750を含み、これらは代替案と見なされ得ることに留意されたい。第1の処理パス730は、(任意選択の)スケーリング/丸め732を含み、第1の更新された状態変数(例えば、
)がスケーリングおよび/または丸められる。例えば、第1の更新された状態変数(値)のスケーリングにスケーリング係数
を使用できる。例えば、スケーリングは、スケーリング係数との乗算であり得る。例えば、丸めは、隣の整数の値へ切り捨て、スケーリングの結果以下にする場合がある。同様に、第1の処理パス730は、第2の(任意選択の)スケーリング/丸め734を含み得、これは、例えば、それぞれのスケーリング係数(例えば、
)を有する第2の更新された状態変数(例えば、
)のスケーリングを含み得、それはまた、スケーリングの結果以下へと、隣り合う整数の値へ切り捨てることを含む場合もある。したがって、第1のスケーリングされ丸められた状態変数733および第2のスケーリングされ丸められた状態変数735を取得することができる。さらに、第1の処理パス730は、第1のスケーリングおよび/または丸められた更新状態変数733を受け取り、さらに量子化されたコーディング間隔サイズ情報762を受け取る、第1のルックアップテーブルベースのマッピング736を含み得る。例えば、第1のルックアップテーブルベースのマッピング736は、2次元ルックアップテーブルを使用して、第1の間隔サイズ寄与737を取得することができる。同様に、第1の信号処理パス730は、第2のルックアップテーブルベースのマッピング738を含み得、これは、第2のスケーリングおよび/または丸められた更新状態変数735および量子化されたコーディング間隔サイズ情報762を受け取れ、それに基づいて、第2の間隔サイズの寄与739を提供する。
図8は、本発明の実施形態による、間隔サイズ決定コア800のブロック概略図を示す。図8による間隔サイズ決定コア800は、本明細書に開示されるオーディオエンコーダおよびオーディオデコーダのいずれかにおいて使用され得る。
確率値832の決定830は、例えば、第1の信号処理パス880または第2の信号処理パス890を含み得る。信号処理パス880、890が代替案として考慮され得ることに留意されたい。第1の信号処理パス880は、例えば、ルックアップテーブルを使用して、第1の更新された状態変数810を第1の確率値883にマッピングする第1のマッピング882を備える。第1の信号処理パス880はまた、第2のマッピング884を含み、これは、例えば、ルックアップテーブルを使用して、第2の更新された状態変数810を第2の確率値885にマッピングする。第1の信号処理パス880はまた、例えば、異なるスケーリングが第1の確率値883および第2の確率値885(および、任意選択で、量子化を使用することができる)に適用され得る線形の結合を使用するなどして、第1の確率値883および第2の確率値885を結合するように構成され得る結合886を含む。したがって、結合886は、確率値832を提供する。
(.)または
(.)を使用して、量子化850で量子化される。したがって、量子化された確率値または確率指数i 852が取得され、マッピング870で使用される。
上記のように、マッピング870は、本明細書で説明される異なる概念を使用して作成することができる。
図9は、本明細書に開示される算術エンコーダおよび算術デコーダのいずれかで使用可能な間隔サイズ決定コア900のブロック概略図を示す。
しかし、第1の確率値942および第2の確率値952の決定は、第1のマッピング940および第2のマッピング950を使用して取得できる量の例としてのみ考慮されるべきであることに留意されたい。対照的に、例えば、間隔サイズ情報920への寄与のように、第1のマッピング940および第2のマッピング950を使用して他の量を導出することも可能であろう。
図10aは、例えば、間隔サイズ決定コアで使用することができる、間隔サイズ情報を決定するための概念の概略図を示している。
したがって、図10aによる概念1000は、図9に関して説明したような機能を実装することができる。
また、概念1000は、任意選択で、個別におよび組み合わせて、本明細書に開示される特徴、機能、および詳細のいずれかによって補足され得る。
さらに、概念1080は、本明細書に開示される算術エンコーダまたは算術デコーダのいずれかで使用できることに留意されたい。
さらに、図10bの概念1080は、本明細書に開示される特徴、機能、および詳細のいずれかによって、個別におよび組み合わせて、任意に補足することができることに留意されたい。
図11は、本発明の実施形態による、間隔サイズ決定コア1100のブロック概略図を示す。
図12は、本発明の実施形態による、状態変数更新のブロック概略図を示す。状態変数更新1200(これは、状態変数アップデータと見なされてもよい)は、シンボル値1210を受信するように構成され、これは、符号化されるシンボルのシンボル値、または以前に復号されたシンボルのシンボル値(または以前に符号化されたシンボルのシンボル値)であり得る。さらに、状態変数更新1200は、1つまたは複数の以前に決定された状態変数値1212を受け取り、1つまたは複数の更新された状態変数値1220を提供するように構成され得る。特に、状態変数更新1200は、シンボル値に依存して(例えば、符号化されるシンボルまたは以前に符号化されたシンボルまたは以前に復号されたシンボルを表す)、ルックアップテーブルを使用して、第1の状態変数値を更新するように構成され得る。言い換えれば、状態変数更新1210は、ルックアップテーブルベースの状態変数更新またはルックアップテーブルベースの状態変数アップデータ1230を含み得る。したがって、更新された状態変数値は、対応する以前に決定された状態変数値に基づいて、符号化されるシンボルまたは以前に符号化されたシンボルまたは以前に復号されたシンボルに基づくシンボル値を考慮して提供され得る。
しかし、本明細書で説明される状態変数更新1200は、本明細書で開示される算術エンコーダおよび算術デコーダのいずれかで使用することができる。しかし、状態変数更新1200は、任意選択で、本明細書に開示される特徴、機能、および詳細のいずれかによって、個別におよび組み合わせて取られて補足され得ることに留意されたい。
図13は、本発明の実施形態による、間隔サイズ決定コア1300のブロック概略図を示す。
間隔サイズ決定コアは、ルックアップテーブル評価メカニズム1330を含み、これは、1つまたは複数の状態変数値1310に基づくことができ、間隔サイズ値1320を提供する確率指数1332を受け取る。
例えば、1つまたは複数の更新された状態変数値1310は、本明細書に開示されるように、算術エンコーダまたは算術デコーダで決定され得、複数の以前に符号化されたシンボル値の統計を表すことができる。
さらに、間隔サイズ決定コア1300は、任意選択で、本明細書に開示される特徴、機能、および詳細のいずれかによって補足され得ることに留意されたい。
図14は、本発明の実施形態による、間隔サイズ決定コア1400のブロック概略図を示す。
間隔サイズ決定コア1400は、ルックアップテーブル評価メカニズム1430を含み、これは、1つまたは複数の状態変数値1410に基づくことができ、間隔サイズ情報または間隔サイズ値1420を提供する確率指数1432を受け取る。
例えば、1つまたは複数の更新された状態変数値1410は、本明細書に開示されるように、算術エンコーダまたは算術デコーダで決定され得、複数の以前に符号化されたシンボル値および/または複数の以前に復号されたシンボル値の統計を表すことができる。
しかし、間隔サイズ決定コア1400は、任意選択で、本明細書に記載の特徴、機能、および詳細のいずれかによって補足され得ることに留意されたい。さらに、間隔サイズ決定コア1400は、本明細書に開示される算術エンコーダまたは算術デコーダのいずれか、および本明細書に開示されるビデオエンコーダまたはビデオデコーダのいずれかにおいて任意選択で使用できることに留意されたい。
図15は、本発明の実施形態による、間隔サイズ決定コア1500のブロック概略図を示す。
図16は、本発明の一実施形態による、ビデオデコーダ1600のブロック概略図を示す。
符号化されたビデオ情報1610(これは、ビデオビットストリームと見なされ得る)は、例えば、スライスタイプの情報を含み得、また、バイナリシーケンスの符号化された表現を含み得る。任意選択で、符号化されたビデオ情報1610は、追加の情報を含み得るが、これは、本発明にとって必須ではない。
さらに、ビデオデコーダは、例えば、復号されたバイナリシーケンス1622を受信し、復号されたバイナリシーケンス1622に基づいて復号されたビデオコンテンツ1612を提供する(おそらくスライスタイプの情報などの追加の制御情報を考慮して)ビデオ再構成ブロック(またはユニット)1680を含み得る。
さらに、図1によるビデオデコーダ1600は、個別におよび組み合わせて、本明細書に記載の特徴、機能、および詳細のいずれかによって補足され得ることに留意されたい。
図17は、本発明の実施形態による、ビデオデコーダ1700のブロック概略図を示す。
ビデオデコーダ1700は、符号化されたビデオ情報1710(例えば、ビデオビットストリーム)を受信し、それに基づいて、復号されたビデオコンテンツ1712(例えば、ビデオフレームのシーケンス)を提供するように構成される。符号化されたビデオ情報1710は、例えば、本明細書で説明されるように、スライスタイプ情報を含み得る。符号化されたビデオ情報1710は、構成情報をさらに含み得、これはまた、制御情報と見なすことができる。さらに、符号化されたビデオ情報1710は、バイナリシーケンスの符号化された表現を含み得る。
しかし、ソース統計値結合ブロック1750は、結合されたソース統計値1752を導出するときに、第1のソース統計値1732および第2のソース統計値1742に異なる重みを適用することもでき、異なる重みは、スライス内または異なるスライス間でさえ変化し得る。
例えば、1つの(代替の)実施形態では、ソース統計値結合ブロック1750は、第1の統計値のうちの1つのみを固定値と結合し、それによって、結合されたソース統計値または結合状態変数値1752を取得する。そのような概念は、結合されたソース統計値1752が、復号されたバイナリシーケンス1722内のバイナリ値の期待される確率から大きく逸脱することを回避するために有利である可能性がある。
この処理ステップは、例えば、「範囲値の決定」と見なすことができる。例えば、範囲値の決定は、結合されたソース統計値1752を受け取り、それに基づいて、確率値または状態指数値を提供する、任意選択の値処理1766を含み得る。値処理1766は、例えば、結合されたソース統計値1752の値の範囲を、0から1の間の範囲、0から0.5の間の範囲、または整数の指数値にマッピングすることができる。
また、本明細書で言及される算術復号コアは、本明細書で開示される算術復号コアのいずれかに対応し得ることに留意されたい。
以下では、本発明によるさらなる実施形態について説明する。
他の特徴、機能および詳細の中で、有限状態機械を使用するコンテキストモデル更新方法が説明され、これは、個別に、または本明細書に開示されるすべての特徴、機能および詳細と結合して使用することができる。
以下では、異なる本発明の実施形態および態様が、例えば、「状態変数からの確率推定値の導出」および「状態変数の更新」および「好ましい実施形態」の章で説明される。
しかし、他のいずれかの章に記載されている特徴、機能、および詳細はまた、任意選択で、本発明による実施形態に導入することができる。
また、本明細書に記載の個々の態様は、個別にまたは組み合わせて使用できることに留意されたい。したがって、詳細は、該態様の別の1つに詳細を追加することなく、該個々の態様のそれぞれに追加することができる。
コンテキストモデルの更新は、コーディングエンジンを基礎となるソース統計に適合させる可能性を提供することにより、効率的なバイナリ算術エントロピーコーダの重要な機能となる。
例えば、
を伴う1つ以上のコンテキストモデル
を使用するビデオ圧縮アルゴリズムのようなエントロピーエンコーディングまたはデコーディングアプリケーションについて考察してみる。符号化または復号されるバイナリシンボルのほとんどは、コンテキストモデルの1つに明確に関連付けられている。このようなバイナリシンボルを符号化または復号するために、関連するコンテキストモデル
は、エントロピーコーディングステージに、「1」であるバイナリシンボルの確率推定値
を提供する。良好な圧縮効率を実現するには、バイナリシンボルを符号化するエントロピーによって生成されるビットストリームの部分を、「1」に対しては
に、「0」に対しては
に近づける必要がある。
ごとに、1つ以上の状態変数(または状態変数値)
が
で維持される。各状態変数
は、例えば、符号付き整数値として実装され、確率値
を表す。コンテキストモデル
の確率推定値
は、例えば、コンテキストモデルのすべての状態変数の確率値
の加重和として定義する必要がある。
1.
の場合、
。
2.
のより大きい値はより大きい
に対応する。
。
したがって、負の状態変数は
に対応する可能性がある。一般に、各コンテキストモデルの状態変数ごとに異なる関数
を指定することができる。
本発明は、多くの状況でビットシフト演算の非常に効率的な使用を可能にする。式
は、
が整数で
が2の累乗の場合、単純なビットシフト演算で実装できる。これは、
が負の場合、2つの補数表現が
に使用されている場合にも機能する。
例えば確率値、重み付け係数、ルックアップテーブル要素などの非整数を格納するいずれかの変数は、予告なしに固定小数点または浮動小数点演算で実装される場合がある。これは、本発明の特定の実装ごとに異なる可能性がある丸め操作を導入する。
状態変数を確率値に関連付けるための例示的な構成
状態変数を確率値に関連付ける、つまり
を実装するための多くの便利な方法がある。例えば、HEVCの確率推定量に匹敵する状態表現は、次の式
は重み付け係数である
で実現できる。
は重み付け係数である。
は
を伴うパラメータである。
HEVCに匹敵する構成を実現するには、
および
をすべてのiおよび
に対してを設定する。
を定義する必要はない。代わりに、それはしばしば本発明の個々の部分の実際の実施から生じる。
コンテキストモデルを使用して第1のシンボルを符号化または復号する前に、すべての状態変数は、圧縮アプリケーションに最適化できる正常な値で任意選択で初期化される。
状態変数からの確率推定値の導出
シンボルの符号化または復号の場合、確率推定値はコンテキストモデルの状態変数から導出される。以下に、2つの代替アプローチを示す。アプローチ1は、アプローチ2よりも正確な結果をもたらすが、計算の複雑さも高次になる。
ルックアップテーブル
は、例えば式(1)に従って、状態変数
を対応する確率値
に変換するために使用される。
(1)
は、確率値を含むルックアップテーブルである。
は、
を
のサイズに適合する重み付け係数である。
このステップは、例えば、ブロック882および884によって実行され得る。
状態変数から確率推定値を導出するための代替アプローチを以下に示す。結果の精度が低くなり、計算の複雑さが軽減される。最初に、状態変数の加重和
が、例えば次のように導出される。
(10)
は、各状態変数の影響を制御する重み付け係数である。
このステップは、例えば、ブロック892によって実行され得る。
次に、確率推定値
は、状態変数の加重和
から導出される。例えば、次のようになる。
(2)
は、確率推定を含むルックアップテーブルである。
は、
を
のサイズに適合する重み付け係数である。
このステップは、例えば、ブロック894によって実行され得る。
ソフトウェア実装の場合、可能な限り多くの操作をルックアップテーブルにシフトできると、スループットが向上する可能性がある。式(1)を次のように置き換えると、アプローチ1ではこれが簡単になる。
アプローチ2の場合、式(2)は次のように置き換えられる。
どちらの方程式でも、この変更により、ケースの区別をルックアップテーブルに統合でき、これにより、要素数は以前のほんの2倍になる必要がある。ただし、高スループットを実現するには、演算の数を減らすと役立つ場合があるが、ルックアップテーブルのサイズを大きくすると関連性が低くなる場合がある。
さらに通知することなく、アプローチ1および2の任意の修正を、本発明のアプローチ1および2のすべての用途に任意選択で適用することができる。
CABACのMコーダーは、2Dルックアップテーブルを使用して、コーディング間隔の間隔細分割に必要な乗算を置き換える。
を、バイナリシンボルの算術符号化前のコーディング間隔とする。例えば、
は間隔
内にあるものとする。符号化されるシンボルは、バイナリ算術符号化または復号の確率推定
を導出するために使用されるコンテキストモデル
に関連付けられている。2つのサブインターバル
と
の幅をそれぞれ導出する必要がある。例えば、CABACのMコーダー(例として機能する)は、2Dルックアップテーブルを使用することでこれらの乗算を回避する。確率推定値
は、シンボルが1である推定確率であることを思い返されたい。ただし、Mコーダーは、シンボル0または1の両方の確率が低い確率を使用して、そのサブインターバル幅
を導出する。次に、より可能性の高いシンボル
のサブインターバル幅は、
から
減算することで簡単に導き出すことができる。
がMコーダーに渡される前に、少なくとも事前定義された最小許容値と同じ大きさになるまで、(あるとしても)1ずつ繰り返し増加すると想定される。これはクリッピング操作に対応し、個別の計算ステップとして実装できる。以下に示すいくつかのアプローチ(ルックアップテーブル値の調整など)に直接組み込むことができる場合がある。
は
のように得られる。
例えば、ルックアップテーブル
に、8x32または8x16の要素を含めることができ、
の許容値は8セルに量子化され、
は32セルまたは16セルに量子化される。次に、
。
と
は、それぞれ
と
の量子化関数である。
あるいは、ルックアップテーブルprobTabLPSは32または16の要素を持つことができ、Rの許容値は8または16セルに量子化され、
は32または16セルに量子化される。次に、
(11)
と
は、それぞれ
と
の量子化関数である。
通常、両方の量子化関数を簡単に実装できることが望ましい。
の要素が適切に選択されている限り、任意の量子化関数を使用できる。
ルックアップテーブル
または
を使用し、コンテキストモデルの確率推定値を導出する必要があったことを思い返されたい。これらのルックアップテーブルは、
に(または、一般的に言えば、Mコーダーのルックアップテーブルとは異なる2次元ルックアップテーブルに)組み込むことができる。
の特定の値に対して直接計算される:
アプローチ1の場合、
が式(1)と式(7)の両側で乗算され、
になる。
は、必要な数の異なる量子化値
の事前計算された積
を含む2Dルックアップテーブルに置き換えられる。(実施形態の実際の実装の例)
結果として得られる2Dルックアップテーブルは、例えば、ブロック736および738で使用することができる。
は式(2)の両側で乗算され、次のようになる。
(8)
次に、
は、所望の数の異なる量子化値
について事前に計算された積
を含む2Dルックアップテーブルに置き換えられる(実施形態の実際の実装の例)。
がこのような2Dルックアップテーブルであると、式(8)は次のようになる。
(9)
式(9)からわかるように、例えば、
を1つの単一のルックアップテーブルにおいて
と
に組み込む。
あるいは、LUT3をLUT4(1D)に置き換え、代替案1として提示されたスキームに従って乗算演算を行うこともできる
関数
は、例えば
のように定義できる。
、
および
は圧縮アプリケーションによって異なる。
例えば、
、
、および
。
コンテキストモデル
に関連付けられたバイナリシンボルの算術符号化は、次いでサブインターバル幅
を導出するために、式(10)に従って状態変数
の加重和を導出し、式(9)を実行することだけを必要とする。
同じ議論がアプローチ1にも当てはまる。
を効率的に実装する(または間隔サイズ情報を導出する)ためのさらなる(任意選択の代替)方法を示す。ルックアップテーブル全体を格納する代わりに、要素は必要に応じてオンザフライで計算される。この目的のために、新しいルックアップテーブル
を定義する必要がある。これには、簡単な操作を使用して
の各要素を導出するために使用できる値が含まれている。
は、サイズ
であり、
サイズ
は以下のように
から生成されなければならない:
はスケーリング関数である。例えば、
、
、
、
、および
{
{125、140、156、171、187、203、218、234、}、
{108、121、135、148、162、175、189、202、}、
{94、105、117、129、141、152、164、176、}、
{81、91、101、111、121、131、141、151、}、
{71、79、88、97、106、115、124、133、}、
{61、68、76、83、91、99、106、114、}、
{53、59、66、72、79、86、92、99、}、
{46、51、57、63、69、74、80、86、}、
{40、45、50、55、60、65、70、75、}、
{35、39、43、48、52、56、61、65、}、
{31、34、38、42、46、50、54、58、}、
{27、30、33、37、40、43、47、50、}、
{24、27、30、33、36、39、42、45、}、
{21、23、26、28、31、34、36、39、}、
{18、20、22、24、27、29、31、33、}、
{16、18、20、22、24、26、28、30、}、
}。(例)
の上半分は、フロア操作が各要素に適用される
の値からなる(または構成される)。例えば、
の下半分は、各要素が8(または別の数値)で除算された
の値からなり(または構成され)、その後、フロア操作が続き、これは、例えば、3だけに右シフトに対応する。
このアプローチは、
よりも小さい値
を格納するだけでよく、例えば、
の行の値が行の増加に伴って指数関数的に減衰するという事実を利用する。指数関数的減衰はパラメータ
に依存する。
、
、
、
、および
{
{121、136、151、166、181、196、211、226、}、
{100、112、125、137、150、162、175、187、}、
{83、93、103、114、124、134、145、155、}、
{70、78、87、96、105、113、122、131、}
}。(例)
この構成は、
が
の行の値が4行ごとに半分になるように選択されている場合に、使用できる。
の値は、例えば、
に関連付けられたから簡単に抽出できることに留意されたい。
は、(任意選択で)式(11)および関連する好ましい実施形態で定義される代替案1と結合することができる。代替案1は、1つの定数からの
の行と計算演算(各行)を導出するためのアプローチと見なすことができる。例えば、
は、(丸めを無視して)
のスケーリングされた行が含まれているため、代替案1を適用して
を導出できる。
は前述のアプローチに従って
から計算できる。
の各値は、例えば、
の関連する値を計算してからスケーリング関数
を適用することにより、オンザフライで計算できることに留意されたい:
このアプローチでは、
より、したがって
よりも小さい
を格納することだけを要する。
の1つの列は、
および
のその他すべての列を単に無視することによって、
の1つの列のみを導出するために使用できる。次に、
の導出列などを使用して、式(11)に従って代替1を使用することにより、
の残りの列を導出させることができる。
の
が定義される。
サイズの
は、次のように
から生成される:
を留意されたい(例)
状態変数の更新(発明の態様)
シンボルの符号化または復号の後、シンボルシーケンスの統計的動作を追跡するために、コンテキストモデルの1つまたは複数の状態変数を更新することができる。これは、例えば、ブロック640で行うことができる。
(3)
は整数値を格納するルックアップテーブルである。
と
は、更新の「敏捷性」を制御する重み付け係数である。
はルックアップテーブル
が負でない値でのみアクセスされることを保証するオフセットである。
の値は、
が特定の所与の間隔にとどまるように選択できる。
あるいは、例えば、以下のように、式(3)の各実行後に実行されるクリッピング操作を導入することが可能である:
(6)
は
の最大許容値である
は
の最小許容値である
(7)
、
、および
は、確率更新の動作を制御するパラメータである。
の様々な結合の圧縮効率を評価し、続いて目的の値
で
をサンプリングすることによって最適化できる。
ビデオ圧縮コンテキストのルックアップテーブルAを最適化するために、次の範囲の可能な構成が使用される:
最適化されたソフトウェア実装でより高いスループットを達成するために、2つの任意選択の変更を式(3)に適用できる。
第1の任意選択の変更では、式(3)は次のように置き換えられる:
式(3a)
第2の任意選択の変更では、式(3)は次のように置き換えられる:
式(3b)
第1および第2の任意選択の変更の結合の場合、式(3)は次のように置き換えられる:
式(3c)
に統合することが可能になり、ルックアップテーブルは、以前の2倍の要素数しか必要としない。ただし、高スループットを実現するには、演算の数を減らすと役立つ場合があるが、ルックアップテーブルのサイズを大きくすると関連性が低くなる場合がある。
さらに通知することなく、2つの任意選択の変更(個別にまたは組み合わせて)を、本発明の式3のすべての適用例に適用することができる。
好ましい実施形態では、以下の構成が使用される:
コンテキストモデル
の数は、圧縮アプリケーションによって異なる。
アプローチ2は、状態変数から確率推定値を導出するために使用される。
は間隔
の値で初期化され、
は間隔
の値で初期化される。
この構成の場合、式(3)は次のように記述できる:
(4)
(5)
が間隔
内にある場合、式(4)は、符号化されるシンボルの値に関係なく、同じ間隔内にとどまる
に対する更新された値を生成する。
が間隔
内にある場合、式(5)は、符号化されるシンボルの値に関係なく、同じ間隔内にとどまる
に対する更新された値を生成する。
は例えば、8ビットの符号付き整数値で実装でき、
は12ビットの符号付き整数で実装できる。
どちらの式も、1を符号化した後に状態変数を(最大値まで)増加させ、0を符号化した後に状態変数を(最小値まで)減少させる。ただし、式(4)は、
に関して式(5)の場合よりも大幅に
を増減する傾向がある。言い換えると、
は以前に符号化されたシンボルに速く適合し、一方で
はゆっくりと適合する。
ルックアップテーブル
と
は通常、特定の圧縮アプリケーションに最適化されていることに留意されたい。
ルックアップテーブルAが最適化されると、次の構成が式(7)で使用される:
Aはすでにクリップされているため、最後の値は4ではなく0に等しいことに留意されたい。
別の好ましい実施形態では、構成は、以下の態様を除いて、前の好ましい実施形態と同一である:
式(6)に従ったクリッピングは、次のパラメータを使用して式(3)を実行するたびに使用される:
には、次の値が含まれている。
ルックアップテーブル
の最後の要素のみが変更され、現在、
の後半のすべての値に値
があり、効率的に実装できることに留意されたい。
ルックアップテーブルが最初の
の後に切り捨てられ、テーブルのアクセスインデックスが最後のテーブル要素にクリップされると想像されたい(実施形態の任意選択の変更)。
このトリックは、テーブルの最後にあるいくつかの要素が同じ値である限り、任意選択でルックアップテーブル
の様々なバージョンに使用できる。
別の好ましい実施形態では、構成は、以下の態様を除いて、前の好ましい実施形態と同一である:
サイズ32の代替案1が使用される
コンテキストモデル
の数は、圧縮アプリケーションによって異なる。
アプローチ2は、状態変数から確率推定値を導出するために使用される。
式(3)は、状態変数の更新に使用される。
式(6)による任意選択のクリッピングは使用されない。
シンボルを符号化する前に、
は任意選択で間隔
からの値で初期化する必要がある。
、
、および
は、異なるコンテキストモデルに対して異なる確率更新動作を得るために、異なるコンテキストモデルに対して異なるように設定される。
、
、および
は、異なるコンテキストモデルに対して異なる確率更新動作を得るために、異なるコンテキストモデルに対して異なるように設定される。別の好ましい実施形態では、アプローチ1またはアプローチ2が使用される場合、N=1およびパラメータ
、
、および
は、異なるコンテキストモデルに対して異なる確率更新動作を得るために、異なるコンテキストモデルに対して異なるように設定され、
、
、および
は、異なるコンテキストモデルに対して異なる確率更新動作を得るために、異なるコンテキストモデルに対して異なるように設定される。
ルックアップテーブルAが最適化されると、次の構成が式(7)で使用される。
いくつかの態様は、装置の文脈で説明されているが、これらの態様が、対応する方法の説明も表すことは明らかであり、ブロックまたはデバイスは、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップの文脈で説明された態様は、対応する装置の対応するブロックまたはアイテムまたは特徴の説明も表す。方法ステップの一部またはすべては、例えば、マイクロプロセッサ、プログラム可能なコンピュータ、または電子回路などのハードウェア装置によって(または使用して)実行することができる。いくつかの実施形態では、最も重要な方法ステップの1つまたは複数は、そのような装置によって実行され得る。
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに方法の1つを実行するように動作する。プログラムコードは、例えば、機械可読キャリアに格納されてもよい。
言い換えれば、本発明の方法の実施形態は、したがって、コンピュータプログラムがコンピュータ上で実行されるときに、本明細書で説明される方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
したがって、本発明の方法のさらなる実施形態は、本明細書で説明される方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、インターネットなどのデータ通信接続を介して転送されるように構成されてもよい。
さらなる実施形態は、本明細書に記載される方法の1つを実行するためのコンピュータプログラムがインストールされているコンピュータを含む。
本明細書で説明される装置、または本明細書で説明される装置の任意のコンポーネントは、少なくとも部分的にハードウェアおよび/またはソフトウェアで実装され得る。
本明細書で説明される方法、または本明細書で説明される装置の任意のコンポーネントは、ハードウェアおよび/またはソフトウェアによって少なくとも部分的に実行され得る。
算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム
Claims (31)
- シンボル値を有する複数のシンボル(24’’;520;1622;1722)を復号するための算術デコーダ(50;500;1620;1720)であって、
前記算術デコーダは、1つまたは複数の状態変数値(s1 k、s2 k;642、644;710;810;910;1010a、1010b;1082a、1082b;1110;1210;1310;1410;1510;1632,1642;1732、1742)を決定するように構成され、これは、以前に符号化された複数のシンボル値の統計を表し、および
前記算術デコーダは、前記1つまたは複数の状態変数値(si k)に基づいて復号される1つまたは複数のシンボル値の算術復号の間隔サイズ情報(pk、R*pk)を導出するように構成され、これは複数の以前に復号されたシンボル値の統計を表し、
前記算術デコーダは、復号されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新するように構成され、
前記算術デコーダは、以前の状態変数値を、復号されるシンボルが第1の値をとる場合に、前記以前の状態変数値が正である場合と比較して、前記以前の状態変数値が負である場合に、比較的大きい値だけ増加させるように構成され、
前記算術デコーダは、以前の状態変数値を、復号されるシンボルが、前記第1の値とは異なる第2の値をとる場合に、前記以前の状態変数値が負である場合と比較して、前記以前の状態変数値が正である場合に、比較的大きい値だけ減少させるように構成される、算術デコーダ。 - 前記算術デコーダは、復号されるシンボルに依存して、前記ルックアップテーブル(A)を使用して、第2の状態変数値(sk 2)を更新するように構成される、請求項1に記載の算術デコーダ。
- 前記算術デコーダは、異なる適合時定数を使用して、前記第1の状態変数値および第2の状態変数値を更新するように構成されている、請求項1または請求項2に記載の算術デコーダ。
- 前記算術デコーダは、復号されるシンボルが第1の値をとるか、前記第1の値とは異なる第2の値をとるかに応じて、前記ルックアップテーブルを使用して決定された値によって以前の状態変数値を選択的に増減するように構成される、請求項1または請求項2または請求項3に記載の算術デコーダ。
- 前記算術デコーダは、復号されるシンボルが第1の値をとる場合、所定のオフセット値(z)と以前に計算された第1の状態変数値(
)、またはそのスケーリングおよび/または丸められたバージョン(
)の合計に依存して、前記第1の状態変数値を更新するときに評価される前記ルックアップテーブルのエントリのインデックスを決定するように構成され、
前記算術デコーダは、復号されるシンボルが第2の値をとる場合、所定のオフセット値(z)と以前に計算された第1の状態変数値の逆バージョン(
)、またはそのスケーリングおよび/または丸められたバージョン(
)の合計に依存して、前記第1の状態変数値を更新するときに評価される前記ルックアップテーブルのエントリのインデックスを決定するように構成される、請求項1から4のいずれか一項に記載の算術デコーダ。 - 前記算術デコーダは、復号されるシンボルが第1の値をとる場合、所定のオフセット値(z)と以前に計算された第2の状態変数値(
)、またはそのスケーリングおよび/または丸められたバージョン(
)の合計に依存して、第2の状態変数値を更新するときに評価される前記ルックアップテーブルのエントリのインデックスを決定するように構成され、
前記算術デコーダは、復号されるシンボルが第2の値をとる場合、所定のオフセット値(z)と以前に計算された第2の状態変数値の逆バージョン(
)、またはそのスケーリングおよび/または丸められたバージョン(
)の合計に依存して、前記第2の状態変数値を更新するときに評価される前記ルックアップテーブルのエントリのインデックスを決定するように構成される、請求項1から5のいずれか一項に記載の算術デコーダ。 - 前記算術デコーダは、前記第1の状態変数値を更新するときに第1のスケーリング値を使用して前記ルックアップテーブルの評価によって返される値をスケーリングするように構成され、
前記算術デコーダは、第2の状態変数値を更新するときに第2のスケーリング値を使用して前記ルックアップテーブルの評価によって返される値をスケーリングするように構成され、
前記第1のスケーリング値は前記第2のスケーリング値とは異なる、請求項1から6のいずれか一項に記載の算術デコーダ。 - Aのエントリは、ルックアップテーブルインデックスの増加とともに単調に減少する、請求項8から11のいずれか一項に記載の算術デコーダ。
- 前記ルックアップテーブルの最後のエントリはゼロに等しい、請求項1から13のいずれか一項に記載の算術デコーダ。
- 前記算術デコーダは、前記更新された状態変数値にクリッピング操作を適用して、前記更新されクリップされた状態変数値を所定の値の範囲内に保つように構成される、請求項1から15のいずれか一項に記載の算術デコーダ。
- 前記算術デコーダは、異なるコンテキストに異なるスケーリング値を適用するように構成されており、前記異なるコンテキストは、異なる統計特性を有する、請求項1から17のいずれか一項に記載の算術デコーダ。
- シンボル値を有する複数のシンボル(24’’、410)を符号化するための算術エンコーダ(34;400)であって、
前記算術エンコーダは、1つまたは複数の状態変数値(s1 k、s2 k;642、644;710;810;910;1010a、1010b;1082a、1082b;1110;1210;1310;1410;1510;1632,1642;1732、1742)を決定するように構成され、これは、以前に符号化された複数のシンボル値の統計を表し、および
前記算術エンコーダは、前記1つまたは複数の状態変数値(si k)に基づいて符号化される1つまたは複数のシンボル値の算術符号化の間隔サイズ情報(pk、R*pk;432;534;620;720;820;820;1020;1084;1120;1320;1420;1520;1662;1762)を導出するように構成され、これは複数の以前に符号化されたシンボル値の統計を表し、
前記算術エンコーダは、符号化されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新するように構成され、
前記算術エンコーダは、
Aはルックアップテーブルであり、
zは所定のオフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値である
ことに従って、1つまたは複数の更新された状態変数値
を決定するように構成される、算術エンコーダ。 - シンボル値を有する複数のシンボル(24’’、410)を符号化するための算術エンコーダ(34;400)であって、
前記算術エンコーダは、1つまたは複数の状態変数値(s1 k、s2 k;642、644;710;810;910;1010a、1010b;1082a、1082b;1110;1210;1310;1410;1510;1632,1642;1732、1742)を決定するように構成され、これは、以前に符号化された複数のシンボル値の統計を表し、および
前記算術エンコーダは、前記1つまたは複数の状態変数値(si k)に基づいて符号化される1つまたは複数のシンボル値の算術符号化の間隔サイズ情報(pk、R*pk;432;534;620;720;820;820;1020;1084;1120;1320;1420;1520;1662;1762)を導出するように構成され、これは複数の以前に符号化されたシンボル値の統計を表し、
前記算術エンコーダは、符号化されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新するように構成され、
前記算術エンコーダは、
Aはルックアップテーブルであり、
zは所定のオフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値である
ことに従って、1つまたは複数の更新された状態変数値
を決定するように構成される、算術エンコーダ。 - シンボル値を有する複数のシンボル(24’’、410)を符号化するための算術エンコーダ(34;400)であって、
前記算術エンコーダは、1つまたは複数の状態変数値(s1 k、s2 k;642、644;710;810;910;1010a、1010b;1082a、1082b;1110;1210;1310;1410;1510;1632,1642;1732、1742)を決定するように構成され、これは、以前に符号化された複数のシンボル値の統計を表し、および
前記算術エンコーダは、前記1つまたは複数の状態変数値(si k)に基づいて符号化される1つまたは複数のシンボル値の算術符号化の間隔サイズ情報(pk、R*pk;432;534;620;720;820;820;1020;1084;1120;1320;1420;1520;1662;1762)を導出するように構成され、これは複数の以前に符号化されたシンボル値の統計を表し、
前記算術エンコーダは、符号化されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新するように構成され、
前記算術エンコーダは、
Aはルックアップテーブルであり、
zは所定のオフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値である
ことに従って、1つまたは複数の更新された状態変数値
を決定するように構成される、算術エンコーダ。 - シンボル値を有する複数のシンボル(24’’、410)を符号化するための算術エンコーダ(34;400)であって、
前記算術エンコーダは、1つまたは複数の状態変数値(s1 k、s2 k;642、644;710;810;910;1010a、1010b;1082a、1082b;1110;1210;1310;1410;1510;1632,1642;1732、1742)を決定するように構成され、これは、以前に符号化された複数のシンボル値の統計を表し、および
前記算術エンコーダは、前記1つまたは複数の状態変数値(si k)に基づいて符号化される1つまたは複数のシンボル値の算術符号化の間隔サイズ情報(pk、R*pk;432;534;620;720;820;820;1020;1084;1120;1320;1420;1520;1662;1762)を導出するように構成され、これは複数の以前に符号化されたシンボル値の統計を表し、
前記算術エンコーダは、符号化されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新するように構成され、
前記算術エンコーダは、
Aはルックアップテーブルであり、
zは所定のオフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値である
ことに従って、1つまたは複数の更新された状態変数値
を決定するように構成される、算術エンコーダ。 - ビデオデコーダ(20;1600;1700)であって、
前記ビデオデコーダは、複数のビデオフレーム(12’)を復号するように構成され、
前記ビデオデコーダは、請求項1に記載の、バイナリシーケンスの符号化表現(14;510;1610;1710)に基づいて復号されたバイナリシーケンス(24’’、520;1622;1722)を提供するための算術デコーダ(50;500;1620;1720)を備え、
前記バイナリシーケンスは、前記複数のビデオフレームのビデオコンテンツを表す、ビデオデコーダ。 - ビデオエンコーダ(10)であって、
前記ビデオエンコーダは、複数のビデオフレーム(12)を符号化するように構成され、
前記ビデオエンコーダは、請求項18に記載の、前記複数のビデオフレームのビデオコンテンツを表すバイナリ値(410)のシーケンスに基づいて符号化されたバイナリシーケンス(420)を提供するための算術エンコーダ(34;400)を備える、ビデオエンコーダ。 - シンボル値を有する複数のシンボルを復号するための方法であって、
前記方法は、1つまたは複数の状態変数値(s1 k、s2 k)を決定することを含み、これは、以前に復号された複数のシンボル値の統計を表し、および
前記方法は、前記1つまたは複数の状態変数値(si k)に基づいて復号される1つまたは複数のシンボル値の算術復号の間隔サイズ情報(pk、R*pk)を導出することを含み、これは複数の以前に復号されたシンボル値の統計を表し、
前記方法は、復号されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新することを含み、
前記方法は、以前の状態変数値を、復号されるシンボルが第1の値をとる場合に、前記以前の状態変数値が正である場合と比較して、前記以前の状態変数値が負である場合に、比較的大きい値だけ増加させることを含み、
前記方法は、以前の状態変数値を、復号されるシンボルが、前記第1の値とは異なる第2の値をとる場合に、前記以前の状態変数値が負である場合と比較して、前記以前の状態変数値が正である場合に、比較的大きい値だけ減少させることを含む、方法。 - シンボル値を有する複数のシンボルを符号化するための方法であって、
前記方法は、1つまたは複数の状態変数値(s1 k、s2 k)を決定することを含み、これは、以前に符号化された複数のシンボル値の統計を表し、および
前記方法は、前記1つまたは複数の状態変数値(si k)に基づいて符号化される1つまたは複数のシンボル値の算術符号化の間隔サイズ情報(pk、R*pk)を導出することを含み、これは複数の以前に符号化されたシンボル値の統計を表し、
前記方法は、符号化されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新することを含み、
前記方法は、
Aはルックアップテーブルであり、
zは所定のオフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値である
ことに従って、1つまたは複数の更新された状態変数値
を決定することを含む、方法。 - シンボル値を有する複数のシンボルを符号化するための方法であって、
前記方法は、1つまたは複数の状態変数値(s1 k、s2 k)を決定することを含み、これは、以前に符号化された複数のシンボル値の統計を表し、および
前記方法は、前記1つまたは複数の状態変数値(si k)に基づいて符号化される1つまたは複数のシンボル値の算術符号化の間隔サイズ情報(pk、R*pk)を導出することを含み、これは複数の以前に符号化されたシンボル値の統計を表し、
前記方法は、符号化されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新することを含み、
前記方法は、
Aはルックアップテーブルであり、
zは所定のオフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値である
ことに従って、1つまたは複数の更新された状態変数値
を決定することを含む、方法。 - シンボル値を有する複数のシンボルを符号化するための方法であって、
前記方法は、1つまたは複数の状態変数値(s1 k、s2 k)を決定することを含み、これは、以前に符号化された複数のシンボル値の統計を表し、および
前記方法は、前記1つまたは複数の状態変数値(si k)に基づいて符号化される1つまたは複数のシンボル値の算術符号化の間隔サイズ情報(pk、R*pk)を導出することを含み、これは複数の以前に符号化されたシンボル値の統計を表し、
前記方法は、符号化されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新することを含み、
前記方法は、
Aはルックアップテーブルであり、
zは所定のオフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値である
ことに従って、1つまたは複数の更新された状態変数値
を決定することを含む、方法。 - シンボル値を有する複数のシンボルを符号化するための方法であって、
前記方法は、1つまたは複数の状態変数値(s1 k、s2 k)を決定することを含み、これは、以前に符号化された複数のシンボル値の統計を表し、および
前記方法は、前記1つまたは複数の状態変数値(si k)に基づいて符号化される1つまたは複数のシンボル値の算術符号化の間隔サイズ情報(pk、R*pk)を導出することを含み、これは複数の以前に符号化されたシンボル値の統計を表し、
前記方法は、符号化されるシンボルに依存して、ルックアップテーブル(A)を使用して、第1の状態変数値(sk 1)を更新することを含み、
前記方法は、
Aはルックアップテーブルであり、
zは所定のオフセット値であり、
は1つまたは複数の重み付け値であり、
は1つまたは複数の重み付け値である
ことに従って、1つまたは複数の更新された状態変数値
を決定することを含む、方法。 - コンピュータに方法を実行させるためのコンピュータプログラムであって、前記方法として、請求項26から30のいずれか一項に記載の方法を実行させるコンピュータプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024198761A JP2025015642A (ja) | 2018-07-06 | 2024-11-14 | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム |
Applications Claiming Priority (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP18182308.9 | 2018-07-06 | ||
| EP18182308 | 2018-07-06 | ||
| EP18196400 | 2018-09-24 | ||
| EP18196400.8 | 2018-09-24 | ||
| EP18248294.3 | 2018-12-28 | ||
| EP18248294 | 2018-12-28 | ||
| JP2021522144A JP2021532698A (ja) | 2018-07-06 | 2019-07-05 | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム |
| PCT/EP2019/068188 WO2020008075A1 (en) | 2018-07-06 | 2019-07-05 | Arithmetic encoders, arithmetic decoders, video encoder, video decoder, methods for encoding, methods for decoding and computer program |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021522144A Division JP2021532698A (ja) | 2018-07-06 | 2019-07-05 | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024198761A Division JP2025015642A (ja) | 2018-07-06 | 2024-11-14 | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023021214A JP2023021214A (ja) | 2023-02-10 |
| JP7590397B2 true JP7590397B2 (ja) | 2024-11-26 |
Family
ID=67253872
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021522144A Pending JP2021532698A (ja) | 2018-07-06 | 2019-07-05 | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム |
| JP2022187949A Active JP7590397B2 (ja) | 2018-07-06 | 2022-11-25 | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム |
| JP2024198761A Pending JP2025015642A (ja) | 2018-07-06 | 2024-11-14 | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021522144A Pending JP2021532698A (ja) | 2018-07-06 | 2019-07-05 | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024198761A Pending JP2025015642A (ja) | 2018-07-06 | 2024-11-14 | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム |
Country Status (9)
| Country | Link |
|---|---|
| US (3) | US11431352B2 (ja) |
| EP (2) | EP3818637B1 (ja) |
| JP (3) | JP2021532698A (ja) |
| KR (1) | KR102721249B1 (ja) |
| CN (10) | CN121036772A (ja) |
| ES (1) | ES3035607T3 (ja) |
| PL (1) | PL3818637T3 (ja) |
| TW (3) | TWI765164B (ja) |
| WO (1) | WO2020008075A1 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12219143B2 (en) * | 2019-11-08 | 2025-02-04 | Google Llc | Probability estimation for video coding |
| KR20230005868A (ko) * | 2020-04-14 | 2023-01-10 | 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 | 신경망의 가중치 파라미터들을 디코딩하기 위한 디코더, 인코더, 방법들 및 확률 추정 파라미터들을 사용하는 인코딩된 표현 |
| CN113489979A (zh) * | 2021-05-28 | 2021-10-08 | 杭州博雅鸿图视频技术有限公司 | 熵编码方法、装置、电子设备及存储介质 |
| WO2023049292A1 (en) * | 2021-09-22 | 2023-03-30 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and devices for decoder-side intra mode derivation |
| CN113938273B (zh) * | 2021-09-30 | 2024-02-13 | 湖南遥昇通信技术有限公司 | 可对抗量并行计算攻击的对称加密方法以及系统 |
| MX2024007718A (es) * | 2021-12-29 | 2024-07-01 | Beijing Dajia Internet Information Tech Co Ltd | Metodos y dispositivos sobre el calculo de la probabilidad para la codificacion aritmetica binaria adaptativa basada en contexto. |
| CN118541916A (zh) | 2022-01-19 | 2024-08-23 | 多伦多大学管理委员会 | 用于机器学习网络的芯片外数据压缩和解压缩的系统和方法 |
| EP4507299A1 (en) * | 2022-04-05 | 2025-02-12 | Samsung Electronics Co., Ltd. | Device for entropy encoding and decoding and method therefor |
| WO2025219427A1 (en) * | 2024-04-16 | 2025-10-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Arithmetic encoders, arithmetic decoders, video encoder, video decoder, methods for encoding, methods for decoding and computer program |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005217517A (ja) | 2004-01-27 | 2005-08-11 | Sharp Corp | 符号化方法、符号化装置、プログラムおよび記録媒体 |
| US20130107951A1 (en) | 2011-10-27 | 2013-05-02 | Qualcomm Incorporated | Mapping states in binary arithmetic coder for video coding |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3689584T2 (de) * | 1985-12-04 | 1994-06-30 | Ibm | Wahrscheinlichkeitsanpassung für arithmetische Codierer. |
| JP3184670B2 (ja) * | 1992-07-31 | 2001-07-09 | キヤノン株式会社 | 画像符号化装置 |
| EP0581571B1 (en) * | 1992-07-31 | 1998-07-08 | Canon Kabushiki Kaisha | Imaging coding device and method |
| US5587710A (en) * | 1995-03-24 | 1996-12-24 | National Semiconductor Corporation | Syntax based arithmetic coder and decoder |
| US6518896B1 (en) * | 2000-01-15 | 2003-02-11 | Sony Electronics, Inc. | Multiple symbol length lookup table |
| US6906647B2 (en) * | 2002-09-20 | 2005-06-14 | Ntt Docomo, Inc. | Method and apparatus for arithmetic coding, including probability estimation state table creation |
| US6894628B2 (en) * | 2003-07-17 | 2005-05-17 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables |
| CN1703089A (zh) * | 2005-06-09 | 2005-11-30 | 清华大学 | 一种数字信号的二值算术编码方法 |
| WO2007065352A1 (fr) * | 2005-12-05 | 2007-06-14 | Huawei Technologies Co., Ltd. | Procede et appareil permettant d'effectuer un codage/decodage arithmetique |
| CN1983334A (zh) * | 2005-12-05 | 2007-06-20 | 华为技术有限公司 | 一种实现算术编解码的方法及装置 |
| EP1921752B1 (en) * | 2006-11-13 | 2012-12-19 | Google, Inc. | Adaptive arithmetic encoding and decoding of digital data |
| ES2532203T3 (es) | 2010-01-12 | 2015-03-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificador de audio, decodificador de audio, método para codificar y decodificar una información de audio y programa de computación que obtiene un valor de contexto de sub-región basado en una norma de valores espectrales previamente decodificados |
| WO2011128268A1 (en) * | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Probability interval partioning encoder and decoder |
| AU2011287747B2 (en) * | 2010-07-20 | 2015-02-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using an optimized hash table |
| JP5925884B2 (ja) * | 2011-06-16 | 2016-05-25 | ジーイー ビデオ コンプレッション エルエルシー | エントロピー符号化におけるコンテキスト初期化 |
| JP6121172B2 (ja) | 2012-01-24 | 2017-04-26 | 西川ゴム工業株式会社 | 目地のシール構造 |
| US10368072B2 (en) * | 2015-05-29 | 2019-07-30 | Qualcomm Incorporated | Advanced arithmetic coder |
| US11265561B2 (en) * | 2017-01-06 | 2022-03-01 | Mediatek Inc. | Method and apparatus for range derivation in context adaptive binary arithmetic coding |
| US10869062B2 (en) * | 2017-12-21 | 2020-12-15 | Qualcomm Incorporated | Probability initialization and signaling for adaptive arithmetic coding in video coding |
| CN108989825B (zh) * | 2018-07-18 | 2021-05-07 | 北京奇艺世纪科技有限公司 | 一种算术编码方法、装置及电子设备 |
-
2019
- 2019-07-05 CN CN202511369483.7A patent/CN121036772A/zh active Pending
- 2019-07-05 CN CN202511372572.7A patent/CN121124821A/zh active Pending
- 2019-07-05 KR KR1020217003652A patent/KR102721249B1/ko active Active
- 2019-07-05 CN CN201980058433.3A patent/CN112689960B/zh active Active
- 2019-07-05 CN CN202511376326.9A patent/CN121000233A/zh active Pending
- 2019-07-05 EP EP19739237.6A patent/EP3818637B1/en active Active
- 2019-07-05 CN CN202511369490.7A patent/CN121036773A/zh active Pending
- 2019-07-05 TW TW108123827A patent/TWI765164B/zh active
- 2019-07-05 CN CN202511374611.7A patent/CN121098332A/zh active Pending
- 2019-07-05 EP EP25183462.8A patent/EP4645856A2/en active Pending
- 2019-07-05 TW TW112145144A patent/TW202435611A/zh unknown
- 2019-07-05 CN CN202511374469.6A patent/CN121036774A/zh active Pending
- 2019-07-05 JP JP2021522144A patent/JP2021532698A/ja active Pending
- 2019-07-05 PL PL19739237.6T patent/PL3818637T3/pl unknown
- 2019-07-05 WO PCT/EP2019/068188 patent/WO2020008075A1/en not_active Ceased
- 2019-07-05 CN CN202511374753.3A patent/CN121036775A/zh active Pending
- 2019-07-05 CN CN202511368282.5A patent/CN121036771A/zh active Pending
- 2019-07-05 ES ES19739237T patent/ES3035607T3/es active Active
- 2019-07-05 TW TW111114680A patent/TWI827010B/zh active
- 2019-07-05 CN CN202511369292.0A patent/CN121055957A/zh active Pending
-
2021
- 2021-01-05 US US17/142,071 patent/US11431352B2/en active Active
-
2022
- 2022-07-26 US US17/874,092 patent/US12095486B2/en active Active
- 2022-11-25 JP JP2022187949A patent/JP7590397B2/ja active Active
-
2024
- 2024-06-17 US US18/745,812 patent/US20240413837A1/en active Pending
- 2024-11-14 JP JP2024198761A patent/JP2025015642A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005217517A (ja) | 2004-01-27 | 2005-08-11 | Sharp Corp | 符号化方法、符号化装置、プログラムおよび記録媒体 |
| US20130107951A1 (en) | 2011-10-27 | 2013-05-02 | Qualcomm Incorporated | Mapping states in binary arithmetic coder for video coding |
| JP2014534736A (ja) | 2011-10-27 | 2014-12-18 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ビデオコーディングのためのバイナリ算術コーダにおける状態のマッピング |
Non-Patent Citations (3)
| Title |
|---|
| Detlev Marpe et al.,Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard,IEEE Transactions on Circuits and Systems for Video Technology,2003年,Vol. 13, No. 7,pp. 620-636 |
| Evgeny Belyaev et al.,An Efficient Adaptive Binary Range Coder and Its VLSI Architecture,IEEE Transactions on Circuits and Systems for Video Technology,2014年,Vol. 25, No. 8,pp. 1435-1446 |
| HENDRIK EECKHAUT et al.,Tuning the M-coder to improve Dirac’s Entropy Coding[online],WSEAS Transactions on Information Science and Applications,2005年,インターネット<URL:https://www.researchgate.net/profile/Jan-Campenhout/publication/228673154_Tuning_the_M-coder_to_improve_Dirac's_Entropy_Coding/links/02e7e532dc675b63b8000000/Tuning-the-M-coder-to-improve-Diracs-Entropy-Coding.pdf?_tp=eyJjb250ZXh0Ijp7ImZpcnN0UGFnZSI6InB1YmxpY2F0aW9uIiwicGFnZSI6InB1YmxpY2F0aW9uIn19> |
Also Published As
| Publication number | Publication date |
|---|---|
| CN121036774A (zh) | 2025-11-28 |
| CN121036771A (zh) | 2025-11-28 |
| EP4645856A2 (en) | 2025-11-05 |
| EP3818637C0 (en) | 2025-06-18 |
| JP2021532698A (ja) | 2021-11-25 |
| CN112689960A (zh) | 2021-04-20 |
| US11431352B2 (en) | 2022-08-30 |
| TWI827010B (zh) | 2023-12-21 |
| CN112689960B (zh) | 2025-10-17 |
| CN121036773A (zh) | 2025-11-28 |
| EP3818637B1 (en) | 2025-06-18 |
| CN121036775A (zh) | 2025-11-28 |
| CN121124821A (zh) | 2025-12-12 |
| JP2025015642A (ja) | 2025-01-30 |
| TWI765164B (zh) | 2022-05-21 |
| CN121036772A (zh) | 2025-11-28 |
| US20210126650A1 (en) | 2021-04-29 |
| US20230134365A1 (en) | 2023-05-04 |
| US20240413837A1 (en) | 2024-12-12 |
| TW202017373A (zh) | 2020-05-01 |
| EP3818637A1 (en) | 2021-05-12 |
| WO2020008075A1 (en) | 2020-01-09 |
| TW202306384A (zh) | 2023-02-01 |
| TW202435611A (zh) | 2024-09-01 |
| CN121055957A (zh) | 2025-12-02 |
| PL3818637T3 (pl) | 2025-10-20 |
| KR20210032413A (ko) | 2021-03-24 |
| JP2023021214A (ja) | 2023-02-10 |
| KR102721249B1 (ko) | 2024-10-24 |
| ES3035607T3 (en) | 2025-09-05 |
| US12095486B2 (en) | 2024-09-17 |
| CN121098332A (zh) | 2025-12-09 |
| CN121000233A (zh) | 2025-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7590397B2 (ja) | 算術エンコーダ、算術デコーダ、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、およびコンピュータプログラム | |
| CN110024392B (zh) | 用于视频译码的低复杂度符号预测 | |
| US8736467B2 (en) | Adaptive binarization for arithmetic coding | |
| JP2024063203A (ja) | ビデオデコーダ、ビデオエンコーダ、ビデオコンテンツを復号化する方法、ビデオコンテンツを符号化する方法、コンピュータプログラム、およびビデオビットストリーム | |
| KR20100027385A (ko) | 적응적 이진화를 이용한 영상 부호화, 복호화 방법 및 장치 | |
| US11979584B2 (en) | Arithmetic encoders and decoders, video encoders and decoders, methods for encoding or decoding symbols, and methods for encoding or decoding video content | |
| Yu et al. | An efficient adaptive binary arithmetic coder based on logarithmic domain | |
| CN115066896B (zh) | 用于使用帧内预测解码/编码图片的预定块的设备和方法 | |
| WO2025219427A1 (en) | Arithmetic encoders, arithmetic decoders, video encoder, video decoder, methods for encoding, methods for decoding and computer program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221223 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221223 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231220 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231228 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240326 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240625 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240710 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241003 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20241015 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241114 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7590397 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |












