JP2009534886A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2009534886A5 JP2009534886A5 JP2009505840A JP2009505840A JP2009534886A5 JP 2009534886 A5 JP2009534886 A5 JP 2009534886A5 JP 2009505840 A JP2009505840 A JP 2009505840A JP 2009505840 A JP2009505840 A JP 2009505840A JP 2009534886 A5 JP2009534886 A5 JP 2009534886A5
- Authority
- JP
- Japan
- Prior art keywords
- value
- suffix
- elements
- bits
- codioffset
- 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.)
- Granted
Links
- 230000000875 corresponding Effects 0.000 claims description 6
- 241000276438 Gadus morhua Species 0.000 claims description 5
- 235000019516 cod Nutrition 0.000 claims description 5
- 230000001419 dependent Effects 0.000 claims description 3
- 229910052710 silicon Inorganic materials 0.000 claims description 3
- 239000010703 silicon Substances 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 1
- 230000001808 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000003044 adaptive Effects 0.000 description 1
- 230000002708 enhancing Effects 0.000 description 1
Description
本発明は、文脈(contextual:コンテクスト)の算術符号化方法(arithmetic cording method)によって符号化(コード化)されたデコーディング要素のための方法及びデバイスに関し、符号化された要素はデータストリームの形式で生じる。
オーディオ又はビデオ型のデジタルデータは、様々な符号化方法によって符号化できる。算術符号化方法の分野は既知であり、後者は特に、整数でないビット数でデータアイテム(データ項目;data item)又は構文(syntax)要素(例えば動きベクトル)の符号化を可能にする。従って、1及び同じビットは、ハフマン符号化が可能とするものに対し、2つの異なる構文要素(syntax element)に関する情報を含むことができる。この場合にこのようなビットはフラクショナルビット(fractional bit)と呼ばれる。
MPEG−4 Part10又はMPEG−4 AVC という名前でも知られているH.264ビデオ符号化標準は、CABAC(“Context-based Adaptive Binary Arithmetic Cording”)という名前で知られている文脈の算術符号化方法であるエントロピー符号化方法を提案する。この符号化方法は、以前に符号化された値が現在の構文要素の符号化に影響を与える限りにおいて適応できる。エントロピーデコーディングのステップ及び続く処理(例えば逆量子化)の間の構文要素をデコードするための回数を改善するために、並びに従って必要なメモリーサイズを減らすために、文脈算術デコーディング方法の少なくとも一部を並列化することが望ましく、これはデコーディング方法の連続性のために比較的複雑である。
本発明は、従来技術の欠点の少なくとも1つを軽減することを目的とする。特に、本発明はCABACなどの算術符号化方法によって符号化された要素をデコードするための方法に関し、符号化された要素はバイナリストリームの形式で生じる。この方法は、間隔の下限を定義する第1の既定のデコーディングパラメータCodIOffset 0 に基づいて、かつ間隔の大きさを定義する第2の既定のデコーディングパラメータCodIRangeに基いて、バイナリストリームの少なくとも一部を要素のセットにデコードし、要素のセットは既定の同一の値のn個の第1の要素からなるプレフィックス(P2)及びm個の第2の要素を備えるサフィックス(S2)を備え、既定の関数に基づいてmはnに依存し、プレフィックス(P2)及びサフィックス(S2)はピボット(P)と呼ばれる要素により分離される。この方法は、
−プレフィックス(P2)及びmの値を推測するために、第1及び第2のデコーディングパラメータ、並びに最初のkビットと呼ばれ、kはプレフィックス(P2)から推測するためにn以上の既定の整数であるバイナリストリームのk個の連続ビットの値に基づいて、k個の並列計算によりnの値を決定するステップと、
− k個の値:2 i x CodIOffset 0 + val(i) を並列に計算するステップであって、ここでval(i)はピボットに続く前記バイナリストリームの最初のiビットに対応する値であり、iは1からkまで変化するインデックスである、ステップと、
−前記k個の値から、iがmに等しい値(α)を選択するステップと、
−サフィックス(S2)を、選択された値(α)をCodIRangeで割った商として決定するステップと
を備えたことを特徴とする方法である。
−プレフィックス(P2)及びmの値を推測するために、第1及び第2のデコーディングパラメータ、並びに最初のkビットと呼ばれ、kはプレフィックス(P2)から推測するためにn以上の既定の整数であるバイナリストリームのk個の連続ビットの値に基づいて、k個の並列計算によりnの値を決定するステップと、
− k個の値:2 i x CodIOffset 0 + val(i) を並列に計算するステップであって、ここでval(i)はピボットに続く前記バイナリストリームの最初のiビットに対応する値であり、iは1からkまで変化するインデックスである、ステップと、
−前記k個の値から、iがmに等しい値(α)を選択するステップと、
−サフィックス(S2)を、選択された値(α)をCodIRangeで割った商として決定するステップと
を備えたことを特徴とする方法である。
好ましくは、n個の第1の要素、ピボット(P)及びm個の第2の要素はビットである。
特有の実施形態に従って、
2nCodlOffset0+val(n)―(2n−1)*CodIRange<CodIRange
ここで、val(n)は前記バイナリストリームの最初のnビットに対応する値
の関係を満たす最小の整数であるようにnの値は決定される。
2nCodlOffset0+val(n)―(2n−1)*CodIRange<CodIRange
ここで、val(n)は前記バイナリストリームの最初のnビットに対応する値
の関係を満たす最小の整数であるようにnの値は決定される。
本発明は、CABACなどの算術符号化方法によって符号化された要素をデコードするデバイスに関し、符号化された要素は、バイナリストリームの形式で生じる。このデバイスは、間隔の下限CodlOffset 0 を定義する第1の既定のデコーディングパラメータに基づいて、かつ間隔の大きさCodlRangeを定義する第2の既定のデコーディングパラメータに基づいて、バイナリストリームの少なくとも一部を要素のセットにデコードし、要素のセットは既定の同一の値のn個の第1の要素からなるプレフィックス(P2)及びm個の第2の要素を備えるサフィックス(S2)を備え、既定の関数に基づいてmはnに依存し、プレフィックス(P2)及びサフィックス(S2)はピボット(P)と呼ばれる要素により分離される。このデバイスは、
−プレフィックス(P2)及びmの値を推測するために、第1及び第2のデコーディングパラメータ、並びに最初のkビットと呼ばれ、kはプレフィックス(P2)から推測するためにn以上の既定の整数であるバイナリストリームのk個の連続ビットの値に基づいて、nの値を並列計算により決定する手段(20、200、201)と、
− k個の値:2 k x CodIOffset 0 + val(i) を並列に計算する手段であって、ここでval(i)はピボットに続く前記バイナリストリームの最初のiビットに対応する値であり、iは1からkまで変化するインデックスである、手段(202)と、
−前記k個の値から、iがmに等しい値(α)を選択する手段(M2)と、
−サフィックス(S2)を、選択された値(α)をCodIRangeで割った商として決定する手段と
を備える。
−プレフィックス(P2)及びmの値を推測するために、第1及び第2のデコーディングパラメータ、並びに最初のkビットと呼ばれ、kはプレフィックス(P2)から推測するためにn以上の既定の整数であるバイナリストリームのk個の連続ビットの値に基づいて、nの値を並列計算により決定する手段(20、200、201)と、
− k個の値:2 k x CodIOffset 0 + val(i) を並列に計算する手段であって、ここでval(i)はピボットに続く前記バイナリストリームの最初のiビットに対応する値であり、iは1からkまで変化するインデックスである、手段(202)と、
−前記k個の値から、iがmに等しい値(α)を選択する手段(M2)と、
−サフィックス(S2)を、選択された値(α)をCodIRangeで割った商として決定する手段と
を備える。
好ましくは、サフィックス(S2)を決定するための手段は、オン・シリコンの除算器を備える。
有利なことに、デコーディングデバイスは、プレフィックスP2、ピボットP、及びサフィックスS2を連結するための手段(22)をさらに備えることを特徴とする。
好ましくは、デコーディングデバイスは、m+n+1に等しいビットの整数の番号によりバイナリストリームをシフトするための手段(23)をさらに備えることを特徴とする。
本発明は、プログラムがコンピュータ上で実行されるとき、本発明に従って上記の方法のステップを実行するためのプログラムコード命令を備える。
本発明は添付の図面を参照して、実装の完全に限定的でない有利な例示的な実施形態及びモードによって、本発明がより良く理解され図示される。
CABAC文脈の算術符号化モードがアクティブ化されるとき、H.264標準によって画像のシーケンスのデコーディングのアプリケーションのフレームワーク内で、本発明を説明する。画像のシーケンスの符号化の間、ある構文要素、例えば動きベクトルは、頻繁に現れる。従って、効果的な方法でそれらをデコードすることができることが重要である。この目的のために、本発明の目的は、CABACなどの文脈の算術符号化方法によって前に符号化されたデジタルデータをデコードするための方法を少なくとも部分的に並列化することである。
H.264標準によって、構文要素は算術符号化方法によって直接に符号化されない。特に、構文要素は、バイナリ化ステップと呼ばれる第1の符号化ステップの間、構文要素は「ビン(bins)」と呼ばれるビットからなる可変長コードを使用することにより符号化され、JVT - M050d4で参照されるISO/IEC MPEG及びITU -T VCEGの「Draft of version 4 of H.264/AVC (ITU-T Recommendation H.264 and ISO/IEC 14496-10 (MPEG-4 part 10) Advanced Video Coding)」という題名の文書において定義されているテーブル及び/又は方法を活用して最終的なデータストリームのビットと区別する。第2のステップの間、このように作成されたビンのセットは、文脈の算術符号化方法によって、符号化されたデータストリーム(「ビットストリーム(bitstream)」)であるビットのセットにコード化される。その結果、従来のエントロピーデコーディング方法(例えばMPEG−2標準のフレームワーク内で使用されるデコーディング方法など)と対比して、H.264標準のフレームワーク内で使用されるデコーディング方法などのエントロピーデコーディング方法は、
−符号化されたデータストリームにおいて、一定数のビットを読み出すステップと、
−文脈の算術デコーディングのステップの間、これらのビットに基づいて、連続的な方法で、(DCT係数またはベクトル構成要素などのように)構文要素を表す連続ビットまたはビンの第2のストリームを作成するステップと、
−前のステップの間、作成されたビンに基づいて構文要素を作成するステップと
を備える。
−符号化されたデータストリームにおいて、一定数のビットを読み出すステップと、
−文脈の算術デコーディングのステップの間、これらのビットに基づいて、連続的な方法で、(DCT係数またはベクトル構成要素などのように)構文要素を表す連続ビットまたはビンの第2のストリームを作成するステップと、
−前のステップの間、作成されたビンに基づいて構文要素を作成するステップと
を備える。
デコーディング方法の最後のステップは、非バイナリ化ステップと呼ばれる。所与の数のビットを、異なる数のビンに変換できる。これらのビンは、完全な構文要素の値を取り出すように格納され解釈される。構文要素の値がデコードされていたとき、引き続いて、同じ最後のビットを基に、続く構文要素についての情報を抽出できることを留意されたい。H.264標準の場合、符号化方法は、符号化しようとする構文要素の種類に続く、降格した算術符号化モード(「バイパス(bypass)」モードと呼ばれる)を考慮することができる。その後符号化方法は、バイパスフラグ(bypassFlag)と呼ばれる特定のパラメータの値を1に設定する。後者がデコードされなければならない構文要素の種類の関数としての本発明によるデコーディング方法により、このパラメータの値を決定する。特に、H.264標準は、所与の構文要素が降格したモード又は降格していないモードのどちらで符号化されなければならないかを指定する。降格したモードは、分布が大体均一である構文要素又はこのような要素の部分を符号化するために、特に使用される。図2は、構文要素のビンを表し(たとえば、動きベクトルmvd_l0及びmvd_l1並びにH.264標準において定義される係数Coef_abs_level_minus1)、少なくとも一部は降格したモードによって符号化される。たとえば、動きベクトルの構文要素及び係数Coef_abs_level_minus1のサフィックスS1は、H.264標準によると、降格されたモードにおいて符号化される。動きベクトルについて、サフィックスS1のビンはプレフィックスP1の最初の9個のビンに続く。係数Coef_abs_level_minus1について、サフィックスS1のビンは、プレフィックスP1の最初の14個のビンに続く。このような構文要素の値がある値以下である場合(プレフィックスP1におけるビンの数による)、サフィックスS1はないかもしれない。降格されていないモード、すなわちbypassFlag=0、において符号化されたプレフィックスP1は、文書JVT−M050d4に説明されるような従来の文脈の算術デコーディング方法によってデコードされる。サフィックスS1は本発明の方法によってデコードされる。
図1は、この分野の状態による及び文書JVT−M050d4に説明されるデコーディング方法を表す。この方法は、構文要素又は降格したモードにおいて符号化されたこのような要素の一部を表すビンの連続を作成することを可能にする。使用される演算子は、文書JVT−M050d4で定義され、演算子「<<」は「左シフト」演算子であり、演算子「|」は「又は(OR)」演算子であり、演算子「&」は、「及び(AND)」演算子である。関数val(m)は、符号化されたデータストリームにおいて「mビットを読み出すこと(reading m bit)」により、取得された値を返す。算術デコーダの現在の状態を特徴付けるデコーディングパラメータcodIOffset0=0及びcodIRange =1はそれぞれ、間隔の下限及び大きさを定義する。これらのデコーディングパラメータは、各スライス(slice)の最初の画像において初期化される。すなわち、codIOffset 0 =0及びcodIRange =1。ビン値(binVal)は、現在のビンの値を指定する。図1に示される方法を実行することにより、つまりこれを何度も連続して適用することにより、各反復で出くわす分岐(はい及びいいえの分岐)のすべての可能性のある組み合わせを経験的に見つける。しかし、検討された構文要素、つまり動きベクトル及び係数のサフィックスS1のデコーディングの場合にこれを並列化することにより、この方法を単純にすることが可能である。特にこれらのサフィックスS1を表すビンの連続はランダムではない。それらは規則性を示し、特に、
‐値「1」のn個の連続ビンからなるプレフィックスP2と、
‐ピボットと呼ばれPで参照されるビン「0」と、
‐ランダムな連続mビンからなるサフィックスS2と
を備え、既定の関数によってmはnに依存し、例えばm=n+no、 noは値が知られていて、現在の構文要素に依存する整数である。
‐値「1」のn個の連続ビンからなるプレフィックスP2と、
‐ピボットと呼ばれPで参照されるビン「0」と、
‐ランダムな連続mビンからなるサフィックスS2と
を備え、既定の関数によってmはnに依存し、例えばm=n+no、 noは値が知られていて、現在の構文要素に依存する整数である。
本分野の状態によってk回この方法を実行することにより、次のk個の関係が取得される:
オーダー1の関係:
codIOffset1= (2 x codIOffset0 + val(l)) - codIRange
オーダー2の関係:
codIOffset2 = (2 x codIOffsetl + val (l)) - codIRange
= (22 x codIOffset0 + val (2)) - (22 - 1) x codIRange
オーダー3の関係:
codIOffset3 = (23 x codIOffset0 + val (3)) - (23 - 1) x codIRange
・・・
オーダーkの関係:
codIOffsetk = (2k x codIOffset0 + val(k)) - (2k - 1) x codIRange
オーダー1の関係:
codIOffset1= (2 x codIOffset0 + val(l)) - codIRange
オーダー2の関係:
codIOffset2 = (2 x codIOffsetl + val (l)) - codIRange
= (22 x codIOffset0 + val (2)) - (22 - 1) x codIRange
オーダー3の関係:
codIOffset3 = (23 x codIOffset0 + val (3)) - (23 - 1) x codIRange
・・・
オーダーkの関係:
codIOffsetk = (2k x codIOffset0 + val(k)) - (2k - 1) x codIRange
したがって、ステップ1の間、codIOffset0及びcodIRangeの値に単に基づき、ピボットPの位置、つまりnの値及び結果としてサフィックスS2の長さmを決定する。特に正確にcodIOffsetp<codIRangeの関係を満たす最も小さいインデックスpは、ピボットの位置を決定する。P2の最初のビンのインデックスがゼロであると仮定すると、p=nである。Pは常にkより小さいとして(たとえばk=14)、この値を決定するために、これ以降、CodIOffsetkのk個の値を並列に計算し、これらのすべての値をCodIRangeと比較すれば足りる。このステップを完了すると、CodIOffsetoの値は更新される。すなわち、codIOffset 0 =codIOffset p 。続いて、val(1 ) ... val(m)の値を決定するために、P番目(pth)のビットの後のデータストリームを検討する。
ピボットPの位置pが決定された後、サフィックスS1のサフィックスS2を再構築するためにステップ2の間にまだ作成されていないビンの数mは、m=n+noとして既知である。ところが、これらのビンのそれぞれの値は、第2のステップの間でまだ決定されていない。本分野の状態によってこの方法を再度m回実行することにより、以下のmの関係が取得される。
codIOffset1 = 21 x codIOffset0 + val(1) - bo x codIRange
codIOffset2 = 22 x codIOffset0 + val(2) - (2 x b0 + b1 ) x codIRange
codIOffset3 = 23 xcodIOffset0 + val(3) - (22 xb0 + 2Xb1 + b2) x codIRange
…
codIOffsetm = 2mcodOffset0 + val(m) - codIRange x [2m-1b0 + 2m-1b0 +... + bm-1]
α = 2mcodIOffset0 + val(m)及びB = [2m-1b0 + 2m-2b1 +... + bm-1]とする。αはデータストリームの、mビットの値に依存する定数であり、mは既知であり、codIOffset0の値も既知である。標準はさらにcodIOffsetmの値がcodIRangeより小さいことを強制する。
codIOffset1 = 21 x codIOffset0 + val(1) - bo x codIRange
codIOffset2 = 22 x codIOffset0 + val(2) - (2 x b0 + b1 ) x codIRange
codIOffset3 = 23 xcodIOffset0 + val(3) - (22 xb0 + 2Xb1 + b2) x codIRange
…
codIOffsetm = 2mcodOffset0 + val(m) - codIRange x [2m-1b0 + 2m-1b0 +... + bm-1]
α = 2mcodIOffset0 + val(m)及びB = [2m-1b0 + 2m-2b1 +... + bm-1]とする。αはデータストリームの、mビットの値に依存する定数であり、mは既知であり、codIOffset0の値も既知である。標準はさらにcodIOffsetmの値がcodIRangeより小さいことを強制する。
これに関連して、Bはα / codIRangeの商に等しく、codIOffsetmはα = CodIRange* B + codIOffsetm 及び codIOffsetm < codIRangeなので、同じ除算の余りに等しい。codIRangeの値はしたがって、H.264標準によって値αから最大回数、減算される。
ステップ1の間ピボットの位置が決定され、したがってプレフィックスP2が決定され、その後、ステップ2の間サフィックスS2のビンの値が決定され、つまり値Bが決定されると、サフィックスS1はP2、S2及びピボットの連結により完全に決定される。ステップ1及びステップ2の完了後、codIRangeの値は修正されず、codOffset0の値はcodIOffsetmで更新される。場合により更新されるこれらcodIRange及びcodOffset0の値は、降格されたモード又は降格されていないモードのいずれかでビンをデコードするために文脈の算術符号化方法がもう一度使用されるときに使用される値である。
本発明は、本発明による算術デコーディング方法を実装する文脈の算術デコーディングデバイス10にも関する。下記の図面において、示されたモジュールは、物理的に区別可能なユニットに対応してもよく、又、対応しなくてもよい、機能的なユニットである。たとえば、これらのモジュール又はモジュールのいくつかは、単一のコンポーネントとして一緒にグループ化することができ、または同じ部品のソフトウェアの機能性を構成することができる。逆に、あるモジュールは別個の物理的な実体からなる可能性もある。図3を参照して、デコーディングデバイス10は、データパス全体を監視する役割の監視モジュール100から特に構成される。監視モジュール100は、例えば状態機械(FSM−有限状態機械(Finite State Machine))の形式をとる。デコーディングデバイス10は、近接データに基づいて、図3におけるcts_memで参照されたメモリに格納された文脈を選択することを可能にするモジュール101を備える。デコーディングデバイス10はさらに、本発明による前に説明されたデコーディング方法を実装する算術デコーディングモジュール102を備える。パイプライン処理の2段階を同期させるために、デコーディングデバイス10は、監視モジュール100及び算術デコーディングモジュール102の間に位置付らられたレジスタRを備える。算術デコーディングモジュール102は、メモリcts_memにおける文脈の値を読み出す可能性があり、入力として受け取ったデータストリームを基にビンを作成する。これはメモリcts_memにおける文脈も更新する。このビンは、非バイナリ化モジュール103に送信される。一定数のビットによりデータストリームをシフトする外部のシフト器にシフトコマンドも送る。非バイナリ化モジュール103は、算術デコーダ102により作成されたビンを基に、構文要素を作成することを可能にする。
算術デコーディングモジュール102は、本発明によるデコーディング方法が使用される要素(つまり動きベクトルのサフィックス及び係数Coef_abs_level_minus1)以外の構文要素又はこのような要素の一部のビンをデコーディングするための標準によって提案される従来の算術デコーディング方法を実装する第1のモジュールを備える。算術デコーディングモジュール102は、本発明による方法を実装する図4に示された第2のモジュールも備える。モジュール104は、サフィックスS1のプレフィックスP2を作成するため、及びαの値を計算するために、本発明による方法のステップ1によって、ピボットPの位置を計算することを可能にする第1の計算モジュール20を特に備える。これはさらに、サフィックスS2の値及びcodOffset0の新しい値を計算するために、パラメータcodIRangeによりαの除算を行うことを可能にする計算モジュール21を備える。計算モジュール21は、例えばオンシリコン除算器である。モジュール104はまた、計算モジュール20により作成されるプレフィックスP2、ピボットP及び計算モジュール21により作成されるサフィックスS2を連結させることによりサフィックスS1を作成することを可能にする図9に示される連結モジュール22を備える。モジュール104は整数のビットの数(m+n+1)を計算することを可能にする図10に示されるモジュール23を備え、この数は、このビットの数によりデータストリームをシフトするためのシフト器に送信される。
図5に示される計算モジュール20は以下のkの関係を並列に計算することを可能にする図6に示される第1の計算モジュール200を備える:
計算_1(k) = (2k x codIOffset0 + var(k)) - 2k x codIRange )。
計算_1(k) = (2k x codIOffset0 + var(k)) - 2k x codIRange )。
ゼロ値を第1の計算モジュール200により計算されるk個の値である計算_1(k)と比較することによりピボットPの位置pを決定し、これによりcodIOffsetkのk個の値をcodIRangeの値と比較することを可能にする図7に示される第1の計算モジュール201も備える。計算モジュール20は、k個の計算された値から値 計算_1(p)を選択することを可能にする第1のマルチプレクサM 1 もさらに備える。計算モジュール20は、以下のkの関係を計算することを可能にする図8に示される第2の計算モジュール202をさらに備える;
計算_2(k) = 2k x codIOffset0 + var(k)
さらに、kの計算された値の中から計算_2(m)の値を選択することを可能にする計算マルチプレクサM2を備え、既知のmの値はピボットの位置の決定に従う。計算_2(m)に等しいパラメータαの値は、計算モジュール21により使用され、サフィックスS2の値及びオフセットcodIOffset0の新しい値を計算する。
計算_2(k) = 2k x codIOffset0 + var(k)
さらに、kの計算された値の中から計算_2(m)の値を選択することを可能にする計算マルチプレクサM2を備え、既知のmの値はピボットの位置の決定に従う。計算_2(m)に等しいパラメータαの値は、計算モジュール21により使用され、サフィックスS2の値及びオフセットcodIOffset0の新しい値を計算する。
当然のことながら、本発明は上述の例示的な実施形態に限定されない。特に当業者は、説明された実施形態への任意の変形を導入でき、それらを組み合わせてこれらの様々な利点からの利益を得ることができる。ビデオデータのフレームワーク内で説明された本発明は、このデータの種類に限定されず、特にオーディオ、音声型のデータに適用できる。また、H.264標準に限定されず、H.264に従って文脈の算術符号化方法を実装する他の基準にも特に適用できる。
Claims (8)
- CABACなどの算術符号化方法によって符号化された要素をデコードする方法であって、前記符号化された要素は、バイナリストリームの形式で生じ、前記方法は、間隔の下限を定義する第1の既定のデコーディングパラメータCodIOffset 0 に基づいて、かつ前記間隔の大きさを定義する第2の既定のデコーディングパラメータCodIRangeに基いて、前記バイナリストリームの少なくとも一部を要素のセットにデコードし、前記要素のセットは既定の同一の値のn個の第1の要素からなるプレフィックス及びm個の第2の要素を備えるサフィックスを備え、既定の関数に基づいてmはnに依存し、前記プレフィックス及び前記サフィックスはピボットと呼ばれる要素により分離され、前記方法は、
−前記プレフィックス及びmの値を推測するために、前記第1及び第2のデコーディングパラメータ、並びに最初のkビットと呼ばれ、kはn以上の既定の整数である前記バイナリストリームのk個の連続ビットの値に基づいて、k個の並列計算によりnの値を決定するステップと、
− k個の値:2 i x CodIOffset 0 + val(i) を並列に計算するステップであって、ここでval(i)はピボットに続く前記バイナリストリームの最初のiビットに対応する値であり、iは1からkまで変化するインデックスである、ステップと、
−前記k個の値から、iがmに等しい値を選択するステップと、
−前記サフィックスを、前記選択された値をCodIRangeで割った商として決定するステップと、
を備える、前記方法。 - 前記n個の第1の要素、前記ピボット及び前記m個の第2の要素はビットである、請求項1に記載の方法。
- 2 nCodIOffset0+val(n)―(2n−1)*CodIRange<CodIRange
ここで、val(n)は前記バイナリストリームの最初のnビットに対応する値
の関係を満たす最小の整数であるようにnの値は決定される、請求項2に記載の方法。 - CABACなどの算術符号化方法によって符号化された要素をデコードするデバイスであって、前記符号化された要素は、バイナリストリームの形式で生じ、前記デバイスは、間隔の下限CodIOffset 0 を定義する第1の既定のデコーディングパラメータに基づいて、かつ間隔の大きさCodIRangeを定義する第2の既定のデコーディングパラメータに基づいて、前記バイナリストリームの少なくとも一部を要素のセットにデコードし、前記要素のセットは既定の同一の値のn個の第1の要素からなるプレフィックス及びm個の第2の要素を備えるサフィックスを備え、既定の関数に基づいてmはnに依存し、前記プレフィックス及び前記サフィックスはピボットと呼ばれる要素により分離され、
−前記プレフィックス及びmの値を推測するために、前記第1及び第2のデコーディングパラメータ、並びに最初のkビットと呼ばれ、kはn以上の既定の整数である前記バイナリストリームのk個の連続ビットの値に基づいて、nの値を並列計算により決定する手段と、
− k個の値:2 k x CodIOffset 0 + val(i) を並列に計算する手段であって、ここでval(i)はピボットに続く前記バイナリストリームの最初のiビットに対応する値であり、iは1からkまで変化するインデックスである、手段と、
−前記k個の値から、iがmに等しい値を選択する手段と、
−前記サフィックスを、前記選択された値をCodIRangeで割った商として決定する手段と、
を備える、前記デバイス。 - 前記サフィックスを決定するための手段は、オン・シリコンの除算器を備える、請求項4に記載のデバイス。
- 前記プレフィックス、前記ピボット、及び前記サフィックスを連結するための手段をさらに備える、請求項5に記載のデバイス。
- m+n+1に等しいビットの整数の番号により前記バイナリストリームをシフトするための手段をさらに備える、請求項6に記載のデバイス。
- 前記プログラムがコンピュータ上で実行されるとき、請求項1乃至3のいずれか1項に記載の方法のステップを実行するためのプログラムコード命令を含む、コンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0603431A FR2900004A1 (fr) | 2006-04-18 | 2006-04-18 | Procede et dispositif de decodage arithmetique |
FR0603431 | 2006-04-18 | ||
PCT/EP2007/053402 WO2007118811A2 (en) | 2006-04-18 | 2007-04-05 | Arithmetic decoding method and device |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009534886A JP2009534886A (ja) | 2009-09-24 |
JP2009534886A5 true JP2009534886A5 (ja) | 2012-10-11 |
JP5264706B2 JP5264706B2 (ja) | 2013-08-14 |
Family
ID=37744535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009505840A Active JP5264706B2 (ja) | 2006-04-18 | 2007-04-05 | 算術デコーディング方法及びデバイス |
Country Status (7)
Country | Link |
---|---|
US (1) | US7876240B2 (ja) |
EP (1) | EP2008467B1 (ja) |
JP (1) | JP5264706B2 (ja) |
KR (1) | KR101360313B1 (ja) |
CN (1) | CN101427583B (ja) |
FR (1) | FR2900004A1 (ja) |
WO (1) | WO2007118811A2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4382840B2 (ja) * | 2007-08-20 | 2009-12-16 | Nttエレクトロニクス株式会社 | 2値算術符号化装置 |
WO2010041488A1 (ja) * | 2008-10-10 | 2010-04-15 | 株式会社東芝 | 動画像符号化装置 |
CN101500164B (zh) * | 2008-12-31 | 2011-09-28 | 深圳市同洲电子股份有限公司 | 算术编码的打包输出的方法和装置 |
US8638850B2 (en) * | 2009-05-06 | 2014-01-28 | Advanced Micro Devices, Inc. | Execution units for context adaptive binary arithmetic coding (CABAC) |
GB2488159B (en) * | 2011-02-18 | 2017-08-16 | Advanced Risc Mach Ltd | Parallel video decoding |
CN105357540B (zh) * | 2011-06-28 | 2019-09-06 | 三星电子株式会社 | 对视频进行解码的方法 |
JPWO2013046504A1 (ja) * | 2011-09-29 | 2015-03-26 | パナソニックIpマネジメント株式会社 | 算術復号装置、画像復号装置、および算術復号方法 |
TWI590649B (zh) * | 2011-11-08 | 2017-07-01 | 三星電子股份有限公司 | 視訊之算術解碼裝置 |
WO2013070974A2 (en) * | 2011-11-08 | 2013-05-16 | General Instrument Corporation | Method of determining binary codewords for transform coefficients |
WO2015192779A1 (en) | 2014-06-20 | 2015-12-23 | Mediatek Inc. | Method and apparatus of binarization and context-adaptive coding for syntax in video coding |
JPWO2016203881A1 (ja) * | 2015-06-18 | 2018-04-26 | シャープ株式会社 | 算術復号装置及び算術符号化装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09135358A (ja) * | 1995-11-08 | 1997-05-20 | Nec Corp | 算術符号を用いた画像符号化装置 |
JP2002094386A (ja) * | 2000-09-12 | 2002-03-29 | Mitsubishi Electric Corp | 符号化装置、復号装置、符号化方法および復号方法 |
US7274671B2 (en) * | 2001-02-09 | 2007-09-25 | Boly Media Communications, Inc. | Bitwise adaptive encoding using prefix prediction |
EP1322117A1 (fr) * | 2001-12-06 | 2003-06-25 | Koninklijke Philips Electronics N.V. | Dispositif de codage/décodage arithmétique |
JP4240283B2 (ja) * | 2002-10-10 | 2009-03-18 | ソニー株式会社 | 復号装置及び復号方法 |
US7769088B2 (en) * | 2003-05-28 | 2010-08-03 | Broadcom Corporation | Context adaptive binary arithmetic code decoding engine |
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 |
US7688895B2 (en) * | 2003-07-22 | 2010-03-30 | Lsi Corporation | Method and/or circuit for binary arithmetic decoding decisions before termination |
JP2005130099A (ja) * | 2003-10-22 | 2005-05-19 | Matsushita Electric Ind Co Ltd | 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置 |
KR100624432B1 (ko) * | 2004-08-05 | 2006-09-19 | 삼성전자주식회사 | 내용 기반 적응적 이진 산술 복호화 방법 및 장치 |
JP4739167B2 (ja) * | 2006-10-31 | 2011-08-03 | キヤノン株式会社 | 正規化処理装置 |
-
2006
- 2006-04-18 FR FR0603431A patent/FR2900004A1/fr active Pending
-
2007
- 2007-04-05 KR KR1020087023829A patent/KR101360313B1/ko active IP Right Grant
- 2007-04-05 JP JP2009505840A patent/JP5264706B2/ja active Active
- 2007-04-05 US US12/226,443 patent/US7876240B2/en active Active
- 2007-04-05 EP EP07727870A patent/EP2008467B1/en active Active
- 2007-04-05 CN CN2007800141351A patent/CN101427583B/zh active Active
- 2007-04-05 WO PCT/EP2007/053402 patent/WO2007118811A2/en active Application Filing
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5264706B2 (ja) | 算術デコーディング方法及びデバイス | |
JP2009534886A5 (ja) | ||
JP6492047B2 (ja) | 動きベクトル差のエントロピー符号化 | |
JP6382395B2 (ja) | ビデオコーディングにおけるビデオタイミングについてのクロックティック導出情報のシグナリング | |
KR101695681B1 (ko) | 상황-기반의 적응형 이진 산술 코딩(cabac)비디오 스트림 준수 | |
US8306125B2 (en) | 2-bin parallel decoder for advanced video processing | |
KR100624432B1 (ko) | 내용 기반 적응적 이진 산술 복호화 방법 및 장치 | |
US7777654B2 (en) | System and method for context-based adaptive binary arithematic encoding and decoding | |
US6894628B2 (en) | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables | |
JP5882489B2 (ja) | コンテキスト適応型エントロピーコーディングのためのコンテキスト状態および確率の初期化 | |
JP5736032B2 (ja) | 算術符号化のための適応型2値化 | |
KR100717055B1 (ko) | Cabac 복호기에서 복수의 이진 값들을 파이프라인방식에 의하여 복호화하는 방법 및 이를 위한 복호화 장치 | |
EP1235353A2 (en) | Arithmetic coding apparatus and image processing apparatus | |
KR20060012093A (ko) | 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더 | |
US20140286417A1 (en) | Data encoding and decoding | |
KR102123620B1 (ko) | 대용량 병렬 처리를 위해 비디오 신호를 엔트로피 인코딩 또는 엔트로피 디코딩하는 방법 및 장치 | |
KR20080082147A (ko) | 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치 | |
KR102600727B1 (ko) | 파라미터화된 확률 추정 유한 상태 머신들을 이용한 이진 산술 코딩 | |
US20220109891A1 (en) | Features of range asymmetric number system encoding and decoding | |
US7463781B2 (en) | Low overhead context intializations for arithmetic video codecs | |
RU2820857C2 (ru) | Энтропийное кодирование разностей векторов движения | |
Pastuszak | High-speed architecture of the CABAC probability modeling for H. 265/HEVC encoders | |
Tian et al. | Review of CAVLC, arithmetic coding, and CABAC | |
Choi et al. | High throughput entropy coding in the HEVC standard | |
Gao et al. | Entropy coding |