(57)【要約】      （修正有）【課題】動きベクトル差の水平および垂直成分が前記水平および垂直成分の二値化を用いて符号化されたデータ・ストリームからビデオを復号化するためのデコーダを提供する。【解決手段】エントロピー復号器は、動きベクトル差の水平および垂直成分のために、動きベクトル差の水平および垂直成分および動きベクトル差の二値化を得るために一定の等確率バイパス・モードを用いたＥｘｐ−Ｇｏｌｏｍｂコードに共通する、短縮単項のコードのビン位置につき正確に１つのコンテキストを有するコンテキスト適応バイナリ・エントロピー復号化を用いてデータ・ストリームから短縮単項のコードを引き出す。デシンボライザは、動きベクトル差の水平および垂直成分の整数値を得るために動きベクトル差構文要素の二値化を非二値化する。再現器は、動きベクトル差の水平および垂直成分の整数値に基づいてビデオを再現する。【選択図】図１１
2019050610.tif 000002
【特許請求の範囲】
【請求項１】
動きベクトル差の水平および垂直成分が前記水平および垂直成分の二値化を用いて符号化されたデータ・ストリームからビデオを復号化するためのデコーダにおいて、二値化は、それぞれ、カットオフ値より低い水平および垂直成分の領域の第１の間隔の中で水平および垂直成分の短縮単項のコード、およびカットオフ値に等しいかそれより高い水平および垂直成分の領域の第２の間隔の中でカットオフ値のための短縮単項のコードの形の接頭辞と水平および垂直成分のＥｘｐ−Ｇｏｌｏｍｂコードの形の接尾辞との組み合わせに等しく、カットオフ値は２であり、Ｅｘｐ−Ｇｏｌｏｍｂコードは順序１を有するデコーダであって、
動きベクトル差の水平および垂直成分のために、動きベクトル差の水平および垂直成分および動きベクトル差の二値化を得るために一定の等確率バイパス・モードを用いたＥｘｐ−Ｇｏｌｏｍｂコードに共通する、短縮単項のコードのビン位置につき正確に１つのコンテキストを有するコンテキスト適応バイナリ・エントロピー復号化を用いてデータ・ストリームから短縮単項のコードを引き出すように構成されたエントロピー復号器；
動きベクトル差の水平および垂直成分の整数値を得るために動きベクトル差構文要素の二値化を非二値化するように構成されるデシンボライザ；
動きベクトル差の水平および垂直成分の整数値に基づいてビデオを再現するように構成される再現器を含む、デコーダ。
【請求項２】
エントロピー復号器（４０９）は、二進演算復号化またはバイナリのＰＩＰＥ復号化を用いてデータ・ストリーム（４０１）から短縮単項のコード（８０６）を引き出すように構成される、請求項１に記載のデコーダ。
【請求項３】
エントロピー復号器（４０９）は、短縮単項のコード８０６の２つのビン位置のための異なるコンテキストを使用するように構成される、請求項１または請求項２に記載のデコーダ。
【請求項４】
エントロピー復号器（４０９）は、短縮単項のコード（８０６）から現在引き出されるビンのために、現在引き出されるビンのために選択されるコンテキストと関連した現在の確率状態から現在引き出されるビンに応じた新しい確率状態に移行することによって、確率状態のアップデートを実行するように構成される、請求項１ないし請求項３のいずれかに記載のデコーダ。
【請求項５】
エントロピー復号器（４０９）は、２つの部分的間隔への現在の確率間隔の再分割を得るために、現在引き出されるビンのために選択されるコンテキストと関連する現在の確率状態に応じて確率間隔インデックスおよび確率状態インデックスを用いて複数の表項目の中の表項目にイデックスを付けることにより確率間隔インデックスを得るとともに間隔再分割を実行するために現在の確率間隔を示す現在の確率間隔幅値を量子化することによって短縮単項のコード（８０６）から現在引き出されるビンをバイナリ演算復号化するように構成される、請求項１ないし請求項４のいずれかに記載のデコーダ。
【請求項６】
現在の確率間隔幅値の量子化において、現在の確率間隔幅値のための８ビット表現を使用し、ｇｒａｂ−ｏｕｔ２または３に対して８ビット表現の最も重要なビットを使用するように構成される、請求項５に記載のデコーダ。
【請求項７】
エントロピー復号器（４０９）は、現在の確率間隔の内部からオフセット値に基づいて２つの部分的間隔の中で選択するように構成され、確率間隔幅値およびオフセット状態値をアップデートし、選択された部分的間隔を使用し、データ・ストリーム（４０１）からのビットの読み出しの継続を含むアップデートされた確率間隔幅値およびオフセット状態値の繰り込みを実行して現在引き出されるビンの値を推測する、請求項５または請求項６に記載のデコーダ。
【請求項８】
エントロピー復号器（４０９）は、一定の等確率バイパス・モードで、２つの部分的間隔に現在の確率間隔の再分割を得るために現在の確率間隔幅値を半分にすることによって、Ｅｘｐ−Ｇｏｌｏｍｂコードからビンをバイナリ演算復号化するように構成される、請求項５ないし請求項７のいずれかに記載のデコーダ。
【請求項９】
エントロピー復号器（４０９）は、それぞれの動きベクトル差の水平および垂直成分のＥｘｐ−Ｇｏｌｏｍｂコードの前に、動きベクトル差ごとに、データ・ストリームからそれぞれの動きベクトル差の水平および垂直成分の短縮単項のコードを引き出すように構成される、請求項１ないし請求項８のいずれかに記載のデコーダ。
【請求項１０】
再現器は、動きベクトルの水平および垂直成分のための予測器を得て、動きベクトル差の水平および垂直成分を用いて予測器８２６を改良することにより動きベクトルの水平および垂直成分を再現するために、動きベクトルの水平および垂直成分を空間的および／または時間的に予測するように構成される、請求項１ないし請求項９のいずれかに記載のデコーダ。
【請求項１１】
再現器は、動きベクトルの水平および垂直成分のための予測器の順序付けられたリストを得るように異なる方法で動きベクトルの水平および垂直成分を予測し、データ・ストリームからリスト・インデックスを得て、リスト・インデックスが動きベクトル差の水平および垂直成分を用いて示すリストの予測器を改良することにより動きベクトルの水平および垂直成分を再現するように構成される、請求項１ないし請求項１０のいずれかに記載のデコーダ。
【請求項１２】
再現器は、動きベクトルの水平および垂直成分を用いることによって動き補償予測を用いてビデオを再現するように構成される、請求項１０または請求項１１に記載のデコーダ。
【請求項１３】
再現器は、ブロックのビデオの画像の再分割によって規定される空間精度で動きベクトルの水平および垂直成分を適用することによって動き補償予測を用いてビデオを再現するように構成され、再現器は、ブロックを結合グループにグループ化して非二値化器によって得られる動きベクトル差の水平および垂直成分を適用するように、結合グループのユニットにおいてデータ・ストリームに存在する結合構文要素を使用する、請求項１２に記載のデコーダ。
【請求項１４】
再現器は、結合構文要素を除外しているデータ・ストリームの部分からブロックのビデオの画像の再分割を引き出すように構成される、請求項１３に記載のデコーダ。
【請求項１５】
再現器は、関連する結合グループの全てのブロックのための所定の動きベクトルの水平および垂直成分を採用するか、または、結合グループのブロックと関連する動きベクトル差の水平および垂直成分によってそれを改良するように構成される、請求項１３または請求項１４に記載のデコーダ。
【請求項１６】
データ・ストリームにビデオを符号化するためのエンコーダであって、
動きベクトルを用いて動き補償予測によりビデオを予測的に符号化し、動きベクトルを予測することにより動きベクトルを予測的に符号化し、予測された動きベクトルの予測エラーを表す動きベクトル差の水平および垂直成分の整数値を設定するように構成されるコンストラクタ；
動きベクトル差の水平および垂直成分の二値化を得るために整数値を二値化するように構成され、二値化は、それぞれ、カットオフ値より低い水平および垂直成分の領域の第１の間隔の中で水平および垂直成分の短縮単項のコード、およびカットオフ値に等しいかそれより高い水平および垂直成分の領域の第２の間隔の中でカットオフ値のための短縮単項のコードの形の接頭辞と水平および垂直成分のＥｘｐ−Ｇｏｌｏｍｂコードの形の接尾辞との組み合わせに等しく、カットオフ値は２であり、Ｅｘｐ−Ｇｏｌｏｍｂコードは順序１を有するシンボライザ；および
動きベクトル差の水平および垂直成分のために、動きベクトル差の水平および垂直成分と一定の等確率バイパスモードを用いたＥｘｐ−Ｇｏｌｏｍｂコードとが共通する、短縮単項のコードのビン位置につき正確に１つのコンテキストを有するコンテキスト適応バイナリ・エントロピー符号化を用いて短縮単項のコードをデータ・ストリームに符号化するエントロピー符号器を含む、エンコーダ。
【請求項１７】
エントロピー符号器は、バイナリ演算符号化またはバイナリＰＩＰＥ符号化を用いて短縮単項のコードをデータ・ストリームに符号化するように構成される、請求項１６に記載のエンコーダ。
【請求項１８】
エントロピー符号器は、短縮単項のコードの２つのビン位置のための異なるコンテキストを使用するように構成される、請求項１６または請求項１７に記載のエンコーダ。
【請求項１９】
エトロピー符号器は、短縮単項のコードから現在符号化されるビンのために、現在符号化されるビンのために選択されるコンテキストと関連する現在の確率状態から移転することにより現在引き出されるビンに応じて新しい確率状態に確率状態アップデートを実行するように構成される、請求項１６ないし請求項１８のいずれかに記載のエンコーダ。
【請求項２０】
エントロピー符号器は、２つの部分的間隔への現在の確率間隔の再分割を得るために、現在引き出されるビンのために選択されるコンテキストと関連する現在の確率状態に応じて確率間隔インデックスおよび確率状態インデックスを用いて複数の表項目の中の表項目にイデックスを付けることにより確率間隔インデックスを得るとともに間隔再分割を実行するために現在の確率間隔を示す現在の確率間隔幅値を量子化することによって短縮単項のコードから現在符号化されるビンをバイナリ演算符号化するように構成される、請求項１６ないし請求項１９のいずれかに記載のエンコーダ。
【請求項２１】
現在の確率間隔幅値の量子化において、現在の確率間隔幅値のための８ビット表現を使用し、ｇｒａｂ−ｏｕｔ２または３に対して８ビット表現の最も重要なビットを使用するように構成される、請求項２０に記載のエンコーダ。
【請求項２２】
エントロピー符号器は、現在符号化されるビンの整数値に基づいて２つの部分的間隔の中で選択するように構成され、選択された部分的間隔を用いて確率間隔幅値および確率間隔オフセットをアップデートし、データ・ストリームへのビットの書き込みの継続を含む確率間隔幅値および確率間隔オフセットの繰り込みを実行する、請求項２０または請求項２１に記載のエンコーダ。
【請求項２３】
エントロピー符号器は、２つの部分的間隔に現在の確率間隔の再分割を得るために現在の確率間隔幅値を半分にすることによって、Ｅｘｐ−Ｇｏｌｏｍｂコードからビンをバイナリ演算符号化するように構成される、請求項２０ないし請求項２１のいずれかに記載のエンコーダ。
【請求項２４】
エントロピー符号器は、それぞれの動きベクトル差の水平および垂直成分のＥｘｐ−Ｇｏｌｏｍｂコードの前に、動きベクトル差ごとに、データ・ストリームにそれぞれの動きベクトル差の水平および垂直成分の短縮単項のコードを符合化するように構成される、請求項１６ないし請求項２３のいずれかに記載のエンコーダ。
【請求項２５】
コンストラクタは、動きベクトルの水平および垂直成分に関して予測器を改良するように、動きベクトルの水平および垂直成分のための予測器を得て、動きベクトル差の水平および垂直成分を決定するように、動きベクトルの水平および垂直成分を空間的および／または時間的に予測するように構成される、請求項１６ないし請求項２４のいずれかに記載のエンコーダ。
【請求項２６】
コンストラクタは、動きベクトルの水平および垂直成分のための予測器の順序付けられたリストを得るように異なる方法で動きベクトルの水平および垂直成分を予測し、リスト・インデックスが動きベクトルの水平および垂直成分に関して示すリストの予測器を改良するようにリスト・インデックスを決定しそれを明らかにする情報をデータ・ストリームに挿入し、動きベクトル差の水平および垂直成分を決定するように構成される、請求項１６ないし請求項２５のいずれかに記載のエンコーダ。
【請求項２７】
コンストラクタは、ブロックのビデオの画像の再分割によって規定される空間精度で動きベクトルの水平および垂直成分を適用することによって動き補償予測を用いてビデオを符合化するように構成され、コンストラクタは、ブロックを結合グループにグループ化して非二値化器による二値化に依存する動きベクトル差の水平および垂直成分を適用するように、結合グループのユニットにおいて結合構文要素を決定し、データ・ストリームに挿入する、請求項１６ないし請求項２６のいずれかに記載のエンコーダ。
【請求項２８】
コンストラクタは、結合構文要素を除外しているデータ・ストリームの部分にブロックのビデオの画像の再分割を符号化するように構成される、請求項２７に記載のエンコーダ。
【請求項２９】
コンストラクタは、関連する結合グループの全てのブロックのための所定の動きベクトルの水平および垂直成分を採用するか、または、結合グループのブロックと関連する動きベクトル差の水平および垂直成分によってそれを改良するように構成される、請求項２７または請求項２８に記載のエンコーダ。
【請求項３０】
動きベクトル差の水平および垂直成分が前記水平および垂直成分の二値化を用いて符号化されたデータ・ストリームからビデオを復号化するための方法において、二値化は、それぞれ、カットオフ値より低い水平および垂直成分の領域の第１の間隔の中で水平および垂直成分の短縮単項のコード、およびカットオフ値に等しいかそれより高い水平および垂直成分の領域の第２の間隔の中でカットオフ値のための短縮単項のコードの形の接頭辞と水平および垂直成分のＥｘｐ−Ｇｏｌｏｍｂコードの形の接尾辞との組み合わせに等しく、カットオフ値は２であり、Ｅｘｐ−Ｇｏｌｏｍｂコードは順序１を有する方法であって、
動きベクトル差の水平および垂直成分のために、動きベクトル差の水平および垂直成分および動きベクトル差の二値化を得るために一定の等確率バイパス・モードを用いたＥｘｐ−Ｇｏｌｏｍｂコードに共通する、短縮単項のコードのビン位置につき正確に１つのコンテキストを有するコンテキスト適応バイナリ・エントロピー復号化を用いてデータ・ストリームから短縮単項のコードを引き出すステップ；
動きベクトル差の水平および垂直成分の整数値を得るために動きベクトル差構文要素の二値化を非二値化するステップ；
動きベクトル差の水平および垂直成分の整数値に基づいてビデオを再現するステップを含む、方法。
【請求項３１】
データ・ストリームにビデオを符号化するためのエンコーダであって、
動きベクトルを用いて動き補償予測によりビデオを予測的に符号化し、動きベクトルを予測することにより動きベクトルを予測的に符号化し、予測された動きベクトルの予測エラーを表す動きベクトル差の水平および垂直成分の整数値を設定するステップ；
動きベクトル差の水平および垂直成分の二値化を得るために整数値を二値化するステップであって、二値化は、それぞれ、カットオフ値より低い水平および垂直成分の領域の第１の間隔の中で水平および垂直成分の短縮単項のコード、およびカットオフ値に等しいかそれより高い水平および垂直成分の領域の第２の間隔の中でカットオフ値のための短縮単項のコードの形の接頭辞と水平および垂直成分のＥｘｐ−Ｇｏｌｏｍｂコードの形の接尾辞との組み合わせに等しく、カットオフ値は２であり、Ｅｘｐ−Ｇｏｌｏｍｂコードは順序１を有するものであるステップ；および
動きベクトル差の水平および垂直成分のために、動きベクトル差の水平および垂直成分と一定の等確率バイパスモードを用いたＥｘｐ−Ｇｏｌｏｍｂコードとが共通する、短縮単項のコードのビン位置につき正確に１つのコンテキストを有するコンテキスト適応バイナリ・エントロピー符号化を用いて短縮単項のコードをデータ・ストリームに符号化するステップを含む、エンコーダ。
【請求項３２】
請求項３０または請求項３１のいずれかの方法をコンピュータで実行するときに、実行のためのプログラムコードを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化ビデオ・データのためのエントロピー符号化概念に関する。
【背景技術】
【０００２】
多くのビデオ・コーデックは、公知技術である。通常、これらのコーデックは、ビデオ内容を表すために必要なデータの量を減らす、すなわち、それらは、データを圧縮する。ビデオ符号化の関連において、ビデオ・データの圧縮が連続して与えられる異なる符号化技術によって都合よく成し遂げられることが知られており、動き補償予測が、画像内容を予測するために使われる。動き補償予測および予測残余によって決定される動きベクトルは、可逆エントロピー符号化に依存する。更にデータの量を減らすために、動きベクトル自体は予測に従い、それにより、単に動きベクトル予測残余を表している動きベクトル差だけがエントロピー符号化されなければならない。たとえば、Ｈ．２６４において、ちょうど概説された手順は、動きベクトル差に関する情報を送信するために適用される。特に動きベクトル差は、短縮単項符号（ｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ  ｃｏｄｅ）および、特定のカットオフ値から、指数Ｇｏｌｏｍｂ符号の組み合わせに対応するビンストリング（ｂｉｎ  ｓｔｒｉｎｇｓ）に二値化される。指数Ｇｏｌｏｍｂ符号のビン（ｂｉｎ）が０．５の固定確率を有する等確率バイパス・モードを使用して容易に符号化される一方、いくつかのコンテキスト（ｃｏｎｔｅｘｔ）は第１のビンのために提供される。カットオフ値は、９に選ばれる。したがって、豊富なコンテキストは、動きベクトル差を符号化するために提供される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、豊富なコンテキストを提供することは、符号化の複雑さを増加させるだけでなく、符号化効率に負の影響を及ぼすこともあり、コンテキストがあまりアクセスされない場合、確率適合、すなわちエントロピー符号化の原因の間のそれぞれのコンテキストと関連した確率評価の適合は、効果的に実行されない。したがって、不適当に適用される確率評価は、実際のシンボル統計を推定する。さらに、二値化の特定のビンのためにいくつかのコンテキストが提供される場合、それらの間の選択は、必要性が復号化プロセスの実行を妨げる隣接したビン／シンタックス要素値の検査を必要とする。一方、コンテキストの数があまりに低く設けられている場合、非常に様々な実際のシンボル統計のビンは１つのコンテキストの範囲内でグループ化され、したがって、そのコンテキストと関連した確率評価は効果的にそれとともに関連するビンを符号化することに失敗する。
【０００４】
動きベクトル差のエントロピー符号化の符号化効率を更に上昇させるための継続的な必要性がある。
【０００５】
したがって、この種の符号化概念を提供することが本発明の目的である。
【課題を解決するための手段】
【０００６】
この目的は、ここに付随する独立クレームの主題によって達成される。
【０００７】
本発明の基本的な発見は、動きベクトル差を二値化するために短縮単項符号が用いられるまで、短縮単項符合の２つのビン位置があるだけであるように２までカットオフ値を減らすことにより動きベクトル差のエントロピー符号化の符号化効率が更に増やされるということであり、１のオーダーがカットオフ値から動きベクトル差のための指数Ｇｏｌｏｍｂ符号のために用いられる場合、そして、さらに、確実に１つのコンテキストが不完全な単項符号の２つの位置にそれぞれ与えられる場合、隣接する画像ブロックのビンまたはシンタックス要素値に基づくコンテキストの選択は不要であり、コンテキストへのこれらのビン位置におけるあまりに細かい分類は避けられて確立適合が適切に働き、同じコンテキストが水平および垂直の構成要素に用いられる場合、それによりあまりに細かいコンテキストの再分割の負の効果を減少させる。
【０００８】
さらに、動きベクトル差のエントロピー符号化に関する上述の設定は、それを動きベクトル差の高度な方法と組み合わされ、送信される動きベクトル差の必要な合計を減らすときに特に有用である。たとえば、多重の動きベクトル予測因子は動きベクトル予測因子のオーダーされたリストを得るように提供され、この動きベクトル予測因子のリストへのインデックスは、その予測残余が問題になっている動きベクトル差によって表される実際の動きベクトル予測因子を決定するように用いられる。使用されるリスト・インデックスに関する情報が復号側でデータ・ストリームから導き出されなければならないにもかかわらず、動きベクトルの全体の予測品質は増加し、したがって、動きベクトル差の大きさは更に減少し、全体で、符号化効率は更に増加し、このような改良された動きベクトル予測に向いている動きベクトル差の水平および垂直成分のためのカットオフ値およびコンテキストの共通の使用を減少させる。一方では、データ・ストリームの中で送信される動きベクトル差の数を減らすために結合が使用されることができ、このために、結合情報は、一群のブロックに分類されるブロックの再分割のデコーダ・ブロックに信号を送っているデータ・ストリームの中で伝達される。動きベクトル差はそれから個々のブロックの代わりにこれらの合併されたグループを単位にするデータ・ストリームの中で送信されることができ、それによって、送信されなければならない運動ベクトル差の数を減少させる。このブロックのクラスタリングが隣接した動きベクトル差の間の相関関係を減らすので、上述のビン位置のためのそれぞれのコンテキストの提供の省略が、隣接する動きベクトル差によるコンテキストへのあまりに細かい分類からエントロピー符号化スキームを抑える。むしろ、結合概念はすでに隣接するブロックの動きベクトル差の間の相互関係を利用し、したがって、１つのビン位置−水平および垂直成分のための−のための１つのコンテキストは充分である。
本出願の好ましい実施例は、図面を参照して以下に記載される。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例にかかるエンコーダのブロック図を示す。
【図２ａ】図２ａは、ブロック中への画像のような再分割を示す図解図である。
【図２ｂ】図２ｂは、ブロック中への画像のような異なる再分割を示す図解図である。
【図２ｃ】図２ｃは、ブロック中への画像のような異なる再分割を示す図解図である。
【図３】図３は、実施例にかかるデコーダのブロック図を示す。
【図４】図４は、実施例にかかるエンコーダを更に詳細に示すブロック図である。
【図５】図５は、実施例にかかるデコーダを更に詳細に示すブロック図である。
【図６】図６は、空間領域からスペクトル領域へのブロックの変換と、結果として生じる変換ブロックおよびその再変換を示す図解図である。
【図７】図７は、実施例にかかるエンコーダのブロック図を示す。
【図８】図８は、実施例にかかる、図８のエンコーダによって発生するビット・ストリームを復号化するのに適しているデコーダのブロック図を示す。
【図９】図９は、実施例にかかる多重化部分的ビット・ストリームを有するデータパケットを示すブロック図である。
【図１０】図１０は、更なる実施例にかかる固定サイズのセグメントを用いた他の分割を有するデータパケットを示すブロック図である。
【図１１】図１１は、実施例にかかるモード切換えをサポートするデコーダを示す。
【図１２】図１２は、更なる実施例にかかるモード切換えをサポートするデコーダを示す。
【図１３】図１３は、実施例にかかる図１１のデコーダに適合しているエンコーダを示す。
【図１４】図１４は、実施例にかかる図１２のデコーダに適合しているエンコーダを示す。
【図１５】図１５は、ｐＳｔａｔｅＣｔｘおよびｆｕｌｌＣｔｘＳｔａｔｅ／２５６**Ｅ**のマッピングを示す。
【図１６】図１６は、本発明の一実施例にかかるデコーダを示す。
【図１７】図１７は、本発明の一実施例にかかるエンコーダを示す。
【図１８】図１８は、本発明の実施例にかかる動きベクトル差の二値化を示す図解図である。
【図１９】図１９は、本実施例にかかる結合概念を示す図解図である。
【図２０】図２０は、本実施例にかかる動きベクトル予測カキームを示す図解図である。
【発明を実施するための形態】
【００１０】
なお、図の説明の間、これらの図のいくつかで起こっている要素はこれらの図の各々の同じ参照符号によって示され、機能性に関する限り、これらの要素の繰り返された説明は不必要な反復を回避するために回避されることに留意されたい。それにもかかわらず、逆のものが明確に示されない限り、１つの図に関して設けられている機能および説明は他の図にも適用されている。
【００１１】
以下において、第１に、図１〜１０を参照して、一般のビデオ符号化概念の実施例が記載されている。図１〜６は、シンタックスレベルに作用しているビデオ・コーデックの一部に関する。以下の図８〜１０は、構文要素のデータ・ストリームへの変換およびその逆に関するコードの一部のための実施例に関する。そして、本発明の特定の態様および実施例は、図１〜１０に関して典型的に概説される一般の概念の可能な実現例の形で記載されている。
【００１２】
図１は、本出願の態様が実施されることができるエンコーダ１０のための実施例を示す。
【００１３】
エンコーダは、データ・ストリームに情報サンプル２０の配列を符号化する。情報サンプルの配列は、例えば、輝度値、明度値、ｌｕｍａ値、彩度値等に対応する情報サンプルを表すことができる。しかしながら、サンプル配列２０が例えば光センサなどの時間によって発生する深度図である場合、情報サンプルは深度値であってもよい。
【００１４】
エンコーダ１０は、ブロック・ベースのエンコーダである。すなわち、エンコーダ１０は、サンプル配列２０をブロック４０を単位にするデータ・ストリーム３０に符号化する。ブロック４０を単位にする符号化が、エンコーダ１０が互いに全体として独立しているこれらのブロック４０を符号化することを必ずしも意味するというわけではない。むしろ、残りのブロックを推測または内部予測するために、エンコーダ１０は前に符号化されたブロックの再変換を使用することができ、符号化パラメータを設定するための、すなわち、それぞれのブロックに対応する各サンプル・アレイ領域が符号化される方法を設定するためのブロックの精度を使用することができる。
【００１５】
さらに、エンコーダ１０は、変換符号器である。すなわち、エンコーダ１０は、空間領域からスペクトル領域に各ブロック４０の中の情報サンプルを転送するために、変換を用いてブロック４０を符号化する。ＦＦＴのＤＣＴのような二次元の変換等が用いられることができる。好ましくは、ブロック４０は、二次形状または矩形形状である。
【００１６】
図１に示されるブロック４０へのサンプル配列２０の再分割は、単に説明の便宜上与えられるだけである。図１は、重なり合わないように互いに隣接する二次あるいは矩形のブロック４０の規則的な二次元の配列に再分割されるものとしてサンプル配列２０を示す。ブロック４０のサイズは、予定されていてもよい。すなわち、エンコーダ１０は、復号側にデータ・ストリーム３０の中でブロック４０のブロック・サイズに関する情報を伝達しない。例えば、デコーダは、所定のブロック・サイズを予想することができる。
【００１７】
しかしながら、いくつかの変形例は可能である。たとえば、ブロックは、互いに重なり合うことができる。しかしながら、各ブロックがいかなる隣接ブロックも重ならない部分を有する程度に、または、ブロックの各試料が、最大で、所定の方向に沿って現在のブロックに並置されるように配置された隣接するブロックの中で１ブロックだけ重なるように、重なりが制限されてもよい。後者は、左または右手の隣接するブロックが完全に現在のブロックをカバーするように現在のブロックに重なることができるが、それらは各々を覆うことができず、それは垂直および斜めの方向における隣に適用されることを意味している。
【００１８】
さらに別の選択肢として、ブロック４０へのサンプル配列２０の再分割は、ビット・ストリーム３０を介してデコーダ側へ伝達されて使用される再分割に関する再分割情報を有するエンコーダ１０によって、サンプル配列２０の内容に適応される。
【００１９】
図２ａないし２ｃは、サンプル配列２０のブロック４０への再分割のための異なる実施例を示す。図２ａは、異なるサイズのブロック４０へのサンプル配列２０の４分木ベースの再分割を示し、サイズの増加と共に４０ａ、４０ｂ、４０ｃおよび４０ｄで示されるブロックが示されている。図２ａの再分割によれば、サンプル配列２０は、第１に、木ブロック４０ｄの均一な二次元配置に分割され、それは、さらに特定の木ブロック４０ｄが４分木またはそれ以外によって更に再分割されたことによるそれに関連した個々の再分割情報を有する。ブロックの左に対する木ブロック４０ｄは、４分木構造に従ってより少ないブロックに再分割される。エンコーダ１０は、図２ａの実践および点線で示されるブロックの各々のための１つの二次元の変換を実行することができる。換言すれば、エンコーダ１０は、ブロック再分割を単位にする配列２０を変換することができる。
【００２０】
４分木ベースの再分割の代わりに、より一般的な複数木ベースの再分割が用いられることができ、階層レベルにつき子ノードの数は異なる階層レベルとの間で異なることができる。
【００２１】
図２ｂは、再分割のための他の実施例を示す。図２ｂによれば、サンプル配列２０は、第１に、互いに隣接した状態で重なり合わないように均一な二次元配置となるように配置されたマクロブロック４０ｂに分割され、各マクロブロック４０ｂは、マクロブロックが再分割されないか、再分割される場合には、異なるマクロブロックに対して異なる再分割精度を達成するように均一な二次元状態で同じサイズのサブブロックに再分割されることに関する再分割情報に関連している。結果は、４０ａ、４０ｂおよび４０ａで示される異なるサイズに代表されるように、異なるサイズのブロック４０へのサンプル配列２０の再分割である。図２ａのように、エンコーダ１０は、実線および点線を有する図２ｂに示されるブロックの各々の二次元変換を実行する。図２ｃについては後述する。
【００２２】
図３は、エンコーダ１０で生成されたデータ・ストリームをサンプル配列２０の再現されたバージョン６０に再現するために復号化することが可能なデコーダ５０を示す。デコーダ５０は、データ・ストリーム３０からブロック４０の各々のための変換係数ブロックを抽出し、変換係数ブロックの各々に対して逆変換を実行することによって、再現されたバージョン６０を再現する。
【００２３】
エンコーダ１０およびデコーダ５０は、それぞれ、ブロックに変換係数に関する情報を挿入し、この情報をデータ・ストリームから抽出することができるように、エントロピー符号化／復号化を実行するように構成されることができる。異なる実施例に従ってこのことに関する詳細は後述する。データ・ストリーム３０が必ずしもサンプル配列２０のすべてのブロック４０のための変換係数ブロックに関する情報を有している訳ではない点に留意する必要がある。むしろ、ブロックのサブセットとして、４０は他の方法でビット・ストリーム３０に符号化されることができる。たとえば、エンコーダ１０は、ビット・ストリーム３０に別の符号化パラメータを挿入したブロック４０の特定のブロックのために変換係数ブロックを挿入することを控えて、その代わりに、デコーダ５０を予測可能にするか、さもなければ再現されたバージョン６０のそれぞれのブロックを満たすことを可能にすることを決定することができる。たとえば、エンコーダ１０は、ビット・ストリーム内でテキスチャ合成してこれを示すことにより、デコーダによってデコーダ側で満たされるサンプル配列２０の中でブロックの位置を決めるために、テキスチャ解析を実行することができる。
【００２４】
以下の図に関して述べられるように、変換係数ブロックが必ずしもサンプル配列２０のそれぞれのブロック４０のオリジナルの情報サンプルのスペクトル領域表現を表すというわけではない。むしろ、この種の変換係数ブロックは、それぞれのブロック４０の予測残余のスペクトル領域表現を表すことができる。図４は、この種のエンコーダのための実施例を示す。図４のエンコーダは、変換ステージ１００、エントロピー符号器１０２、逆変換ステージ１０４、予測器１０６、減算器１０８および加算器１１０を含む。減算器１０８、変換ステージ１００およびエントロピー符号器１０２は、図４のエンコーダの入力１１２および出力１１４の間にその順序で連続的に接続される。また、逆変換ステージ１０４、加算器１１０および予測器１０６は、変換ステージ１００の出力および減算器１０８の反転入力の間にその順序で接続され、予測器１０６の出力は更に加算器１１０の入力に接続される。
【００２５】
図４の符号器は、予測変換ベースのブロック・コーダである。すなわち、入力１１２を入力されているサンプル配列２０のブロックは、同じサンプル配列２０の前に符号化され再現された部分またはプレゼンテーション時間の現在のサンプル配列２０に先行するかまたは後に続く以前に符号化および再現された他のサンプル配列から予測される。予測は、予測手段１０６によって実行される。減算器１０８は予測をこの種のオリジナルのブロックから減算し、そして、変換ステージ１００は予測残余における二次元変換を実行する。二次元変換そのものまたは変換ステージ１００内部の次の計測は、変換係数ブロック内で変換係数の量子化につながる。量子化された変換係数ブロックは、例えば、エントロピー符号器１０２内でエントロピー符号化されることにより可逆圧縮で符号化され、得られたデータ・ストリームは出力１１４で出力される。逆変換ステージ１０４は量子化された残余を再構成し、そして、加算器１１０は、次に、予測器１０６が前述の現在の符号化予測ブロックを予測できることに基づく再現された情報サンプルを得るために、再現された残余を対応する予測に結合する。予測器１０６はブロックを予測するためにイントラ予測モードおよびインター予測モードのような異なる予測モードを使用することができ、予測パラメータはデータ・ストリームへの挿入のためのエントロピー符号器１０２に送られる。インター予測された予測ブロックごとに、それぞれの動きデータは、復号側が予測をやり直すことを可能にするために、エントロピー符号器１１４を介してビット・ストリームに挿入される。画像の予測ブロックのための動きデータは、隣接するすでに符号化された予測ブロックの動きベクトルから上述の方法により引き出される動きベクトル予測器に比べて、現在の予測ブロックのために動きベクトルを異なって符合化する動きベクトル差を示す構文要素を含むシンタックス部分を含む。
【００２６】
すなわち、図４の実施例によれば、変換係数ブロックは、その実際の情報サンプルよりむしろサンプル配列の残余のスペクトル表現を表す。すなわち、図４の実施例によれば、構文要素のシーケンスは、データ・ストリーム１１４にエントロピー符号化されるためにエントロピー符号器１０２に入力される。構文要素のシーケンスは、変換ブロックのために、インター予測ブロックのための動きベクトル差構文、重要な変換係数レベルの位置を示す重要性マップに関する構文および重要な変換係数レベルそのものを規定する構文を含む。
【００２７】
いくつかの変形例が図４の実施例に存在し、そのいくつかは明細書の前置き部分の中に記載されており、その記載はここの図４の記載に組み込まれている。
【００２８】
図５は、図４のエンコーダによって生成されたデータ・ストリームを復号化することができるデコーダを示す。図５のデコーダは、エントロピー復号器１５０、逆変換ステージ１５２、加算器１５４および予測器１５６を含む。エントロピー復号器１５０、逆変換ステージ１５２および加算器１５４は、図５のデコーダの入力１５８および出力１６０の間にその順序で連続的に接続される。エントロピー復号器１５０の更なる出力は、加算器１５４の出力およびその更なる入力の間に接続される予測器１５６に接続している。エントロピー復号器１５０は、入力１５８で図５のデコーダに入力されるデータ・ストリームから変換係数ブロックを抽出し、逆変換が残差信号を得るためにステージ１５２で変換係数ブロックに適用される。残差信号は、出力１６０でサンプル配列の再現されたバージョンの再現されたブロックを得るために、加算器１５４で予測器１５６からの予測と結合される。再現されたバージョンに基づいて、予測器１５６は予測を生成し、それによりエンコーダ側で予測器１０６によって実行される予測を復元する。エンコーダ側で使用されるそれらと同じ予測を得るために、予測器１５６は、エントロピー復号器１５０も入力１５８でデータ・ストリームから得る予測パラメータを使用する。
【００２９】
上述の実施例において、残差の予測および変換は互いに同じである必要はないことに留意すべきである。これが図２Ｃに示される。この図は、実線で示される予測精度および点線で示される残差の精度の予測ブロックのための再分割を示す。見られるように、再分割は各々から独立してエンコーダによって選択されることができる。より正確であるために、データ・ストリーム・シンタックスは、予測再分割から独立した残差の再分割の定義を考慮に入れることができる。あるいは、各残差ブロックが予測ブロックと同等であるか適当なサブセットであるように、残差の再分割は予測再分割の拡張であってもよい。例えば、これは、図２ａおよび図２ｂに示され、ここにおいて、また、予測精度は実線示され、残差精度は点線で示される。すなわち、図２ａ〜２ｃにおいて、それと関連する参照符号を有するすべてのブロックは、１つの二次元変換が実行される残差ブロックであり、一方、点線のブロック４０ａより大きな実線のブロックは、例えば、予測パラメータ設定が個々に実行される予測ブロックである。
【００３０】
前記実施例は、（残差であるかオリジナルの）サンプルのブロックが、エンコーダ側で変換係数ブロックに変換され、それは、次に、デコーダ側でサンプルの再現されたブロックに逆変換されることで共通している。これが図６に示される。図６は、サンプル２００のブロックを示す。図６の場合、このブロック２００は、サイズにおいて見本となる二次の４×４のサンプル２０２である。サンプル２０２は、水平方向ｘおよび垂直方向ｙに沿って均一に配置される。上述の二次元の変換Ｔによって、ブロック２００はスペクトル領域、すなわち変換係数２０６のブロック２０４に変換され、変換ブロック２０４はブロック２００と同じサイズである。すなわち、変換ブロック２００は、水平方向および垂直方向において、ブロック２００がサンプルを有するのと同じ数の変換係数２０６を持っている。しかしながら、変換Ｔがスペクトル変換であるため、変換ブロック２０４の中の変換係数２０６の位置は空間位置に対応せず、むしろブロック２００のコンテンツのスペクトル成分に対応する。特に、変換ブロック２０４の水平軸は水平軸においてスペクトル周波数が単調に増加する軸に沿った軸に対応し、垂直軸は垂直軸において空間周波数が単調に増加する軸に沿った軸に対応し、ＤＣ成分変換係数はブロック２０４のコーナー−ここでは見本として左上のコーナー−に位置し、それにより、右下のコーナーにおいて、水平および垂直方向の両方において最も高い周波数に対応する変換係数２０６が位置する。空間方向を無視することにより、特定の変換係数２０６が帰属する空間周波数は一般的に左上のコーナーから右下のコーナーに増加する。逆変換Ｔ-1によって、変換ブロック２０４はスペクトル領域から空間領域に変換され、ブロック２００のコピー２０８を再度得ることができる。量子化／損失が変換の間導入されなかった場合、再構成は完全である。
【００３１】
すでに上述したように、図６からブロック２００のより大きなブロック・サイズが結果として生じるスペクトル表現２０４のスペクトル分解能を上昇させるということがわかる。一方では、量子化ノイズは全部のブロック２０８を広げる傾向があり、そのため、ブロック２００の範囲内の突然のおよび非常に局部的なオブジェクトは量子化ノイズによりオリジナルのブロック２００と比べて再変換されたブロックの偏差に導く傾向がある。しかしながら、より大きなブロックを使用する主要な有利さは、一方では、有効数、すなわちゼロ以外の（量子化される）変換係数、すなわちレベルの間の比率が、他方では、重要でない変換係数の数が、小さいブロックに比べておおきいブロックの中で減少し、それにより優れた符号化効率を可能にしているということである。換言すれば、しばしば、有効な変換係数レベル、すなわちゼロに量子化されない変換係数は、まばらに変換ブロック２０４に分配される。これにより、以下で更に詳細に記載されている実施例によれば、有効な変換係数レベルの位置は有効なマップを手段としてデータ・ストリームの中で示される。別にそこから、有効な変換係数の値、すなわち量子化された変換係数の場合における変換係数レベルは、データ・ストリームの中で送信される。
【００３２】
上述のすべてのエンコーダおよびデコーダは、このように、構文要素の特定のシンタックスを取扱うように構成される。すなわち、変換係数レベルのような前述の構文要素、変換ブロックの有効性マップに関する構文要素、インター予測ブロックに関する動きデータ構文要素等は、所定の方法でデータ・ストリームの中で連続して配置されるものと推測される。この種の所定の方法は、例えば、そのままにＨ．２６４規格または他のビデオ・コーデックで行われるように、疑似コードの形で表される。
【００３３】
さらに換言すると、上の記述は、メディア・データ、ここでは特定の構文要素、その意味およびそれらの間の順序を規定する所定のシンタックス構造にしたがって構文要素のシーケンスに対するものとしてのビデオ・データの変換に最初に対応した。図４および５のエントロピー符号器およびエントロピー復号器は、次に概説されるように作動するように構成され、構築される。それは、構文要素のシーケンスおよびデータ・ストリーム、すなわちシンボルまたはビット・ストリームの間で変換を実行する役割を果たす。
【００３４】
実施例に従うエントロピー符号器は、図７において例示される。エンコーダは、可逆圧縮で、構文要素３０１のストリームを２つ以上の部分的なビット・ストリーム３１２のセットに変換する。
【００３５】
本発明の好ましい実施例において、各構文要素３０１は、１つ以上のカテゴリ、すなわち構文要素タイプのカテゴリに関連している。一例として、カテゴリは構文要素のタイプを規定することができる。ハイブリッド・ビデオ符号化の関連において、別のカテゴリは、マクロブロック符号化モード、ブロック符号化モード、リファレンス画像インデックス、動きベクトル差、再分割フラグ、符号化ブロックフラグ、量子化パラメータ、変換係数レベルなどと関連していてもよい。例えばオーディオ、話し言葉、テキスト、文書または一般のデータ符号化などの他の応用領域において、構文要素の異なる分類は可能である。
【００３６】
一般に、各構文要素は、有限であるか可算の値のセットの値をとることができ、可能な構文要素値のセットは、異なる構文要素カテゴリに対して異なることができる。たとえば、整数値要素と同様にバイナリ構文要素がある。
【００３７】
符号化および復号化アルゴリズムの複雑さを減らすため、そして、異なる構文要素および構文要素カテゴリのための一般の符号化および復号化の設計を許容するため、構文要素３０１はバイナリ・デシジョンの順序付けられたセットに変換され、これらのバイナリ・デシジョンはそれから単純なバイナリ符号化アルゴリズムによって処理される。したがって、二値化器３０２は、全単射的に各構文要素３０１の値をビン３０３のシーケンス（またはストリングまたは語）にマッピングする。ビン３０３のシーケンスは、順序付けられたバイナリ・デシジョンを表す。各ビン３０３またはバイナリ・デシジョンは、２つの値のセットのうちの１つの値、例えば値０および１のうちの１つをとることができる。二値化スキームは、異なる構文要素カテゴリのために異なることがありえる。特定の構文要素カテゴリの二値化スキームは、可能な構文要素値のセットおよび／または特定のカテゴリのための構文要素の他の特性に依存することができる。
【００３８】
表１は、可算の無限のセットの二値化スキームの３つの実施例を例示する。可算の無限のセットの二値化スキームは、構文要素値の有限セットのために適用されることもできる。特に、構文要素値の大きい有限セットのために、（ビンの使っていないシーケンスから生じる）非効率性は無視し得るが、この種の二値化スキームの一般性は複雑さおよびメモリ必要条件に関して効果を提供する。構文要素値の小さい有限セットのために、二値化スキームを可能なシンボル値の数に適応させることは、（符号化効率に関して）しばしば好ましい。
【００３９】
表２は、８値の有限セットの３つの実施例の二値化計画を例示する。有限セットのための二値化スキームは、ビンのシーケンスの有限のセットが冗長性のないコード（そして、潜在的にビンのシーケンスを再び整理すること）を表すようにして、ビンのいくつかのシーケンスを修正することによって、可算の無限のセットのための汎用二値化スキームから引き出すことができる。一例として、表２の短縮単項二値化スキームは、汎用の単項二値化（表１を参照）の構文要素７のためのビンのシーケンスを修正することによって構築された。表２における０次の不完全なおよび再整理されたＥｘｐ−Ｇｏｌｏｍｂ二値化は、普遍的Ｅｘｐ−Ｇｏｌｏｍｂオーダー０二値化（表１を参照）の構文要素７のためのビンのシーケンスを修正することによって、そして、ビンのシーケンス（シンボル７のための短縮ビンのシーケンスは、シンボル１に割り当てられた）を再び整理することによって作成された。構文要素の有限セットのために、表２の最後の欄において例示されるように、非体系的／非普遍的２値化スキームを使用することも可能である。
【００４０】
【表１】
2019050610.tif 000003
【００４１】
【表２】
2019050610.tif 000004
【００４２】
二値化器３０２によって作成されるビンのシーケンスの各ビン３０３は、シーケンス・オーダーでパラメータ割当て器３０４に入力される。パラメータ割当て器は、１つ以上のパラメータのセットを各ビン３０３に割り当てて、パラメータ３０５のセットを有するビンを出力する。パラメータのセットは、エンコーダおよびデコーダで正確に同一方法で決定される。パラメータのセットは、以下のパラメータの１つ以上から成ることができる。
【００４３】
特に、パラメータ割当て器３０４は、コンテキストモデルを現在のビン３０３に割り当てるように構成されることができる。たとえば、パラメータ割当て器３０４は、現在のビン３０３のための利用できるコンテキスト・インデックスのうちの１つを選択することができる。現在のビン３０３のためのコンテキストの利用できるセットは、次に、構文要素３０１のタイプ／カテゴリによって規定されるビンのタイプに依存し、現在のビン３０３はその二値化の部分であり、後の二値化の中の現在のビン３０３の位置である。利用できるコンテキストのセットの間のコンテキストの選択は、後者と関連した以前のビンおよび構文要素に依存することができる。これらのコンテキストの各々は、それと関連した確率モデル、すなわち現在のビンのための２つの可能なビン値のうちの１つのための確率の評価のための計測を有する。確立モデルは、特に、現在のビンのために起こりそうにないまたはより起こりそうなビン値のための確率の推定のために計測され、確立モデルは、さらに、現在のビン３０３のために起こりそうにないまたはより起こりそうなビン値を表す２つの可能なビン値のための見積もりを規定する識別子によって規定される。単に現在のビンに利用できる１つのコンテキストだけの場合には、コンテキスト選択は離れておかれる。以下において更に詳細に概説されるように、パラメータ割当て器３０４はさまざまなコンテキストに関連した確率モデルをそれぞれのコンテキストに帰属しているそれぞれのビンの実際のビン統計値に適応させるために確率モデル適合を実行することもできる。
【００４４】
以下において更に詳細に記載されているように、パラメータ割当て器３０４は作動している高効率（ＨＥ）モードまたは低複雑度（ＬＣ）モードに応じて異なって動作することができる。以下に概説されるように、両方のモードにおいて、確率モデルはビン符号器３１０のいずれかに現在のビン３０３を関連付けるが、パラメータ割当て器３０４の作動モードはＬＣモードにおいてより複雑さが少なくなる傾向があるのに対して、ビン統計により正確に適応する個々のエンコーダ３１０への個々のビン３０３の関連によるパラメータ割当て器３０４による高効率モードにおいて符号化効率が増加し、それによって、ＬＣモードと関連してエントロピーを最適化する。
【００４５】
パラメータ割当て器３０４の出力であるパラメータ３０５の関連付けられたセットを有する各ビンは、ビンバッファ・セレクタ３０６に送り込まれる。ビンバッファ・セレクタ３０６は、潜在的に入力ビン値および関連するパラメータ３０５に基づいて入力ビン３０５の値を修正して、出力ビン３０７−潜在的に修正された値を有する−を２つ以上のビンバッファ３０８のうちの１つに入れる。出力ビン３０７が送られるビンバッファ３０８は、入力ビン３０５の値および／または関連するパラメータ３０５の値に基づいて決定される。
【００４６】
本発明の好ましい実施例において、ビンバッファ・セレクタ３０６は、ビンの値を修正しない、すなわち出力ビン３０７が入力ビン３０５と常に同じ値を有する。更なる本発明の好ましい実施例において、ビンバッファ・セレクタ３０６は、入力ビン値３０５および現在のビンのための２つの可能なビン値のうちの１つのための確率の評価のための関連する計測に基づいて出力ビン値３０７を決定する。本発明の好ましい実施例において、現在のビンのための２つの可能なビン値のうちの１つのための確率のための計測が特定の閾値より小さい（または、小さいあるいは等しい）場合、出力ビン値３０７は入力ビン値３０５に等しく設定され；現在のビンのための２つの可能なビン値のうちの１つのための確率のための計測が特定の閾値より大きいか等しい（または大きい）場合、出力ビン値３０７は修正される（すなわち、それは、入力ビン値の逆のものにセットされる）。更なる本発明の好ましい実施例において、現在のビンのための２つの可能なビン値のうちの１つのための確率のための計測が特定の閾値より大きい（または、大きいあるいは等しい）場合、出力ビン値３０７は入力ビン値３０５に等しく設定され；現在のビンのための２つの可能なビン値のうちの１つのための確率のための計測が特定の閾値より小さいか等しい（または小さい）場合、出力ビン値３０７は修正される（すなわち、それは、入力ビン値の逆のものにセットされる）。本発明の好ましい実施例において、閾値の値は、両方の可能なビン値のための推定された確率のための０．５の値に対応する。
【００４７】
更なる本発明の好ましい実施例において、ビンバッファ・セレクタ３０６は、入力ビン値３０５、および、２つの可能なビンが現在のビンのためにありそうにない、またはよりありそうなビン値を表す評価を特定する関連する識別子に基づいて出力ビン値３０７を決定する。本発明の好ましい実施例において、識別子が２つの可能なビン値の第１のものが現在のビンのためのありそうにない（または、よりありそうな）ビン値を表すことを示している場合、出力ビン値３０７は入力ビン値３０５に等しく設定され、そして、識別子が２つの可能なビン値の第２のものが現在のビンのためのありそうにない（または、よりありそうな）ビン値を表すことを示している場合、出力ビン値３０７は修正される（すなわち、それは、入力ビン値の逆のものにセットされる）。
【００４８】
本発明の好ましい実施例において、ビンバッファ・セレクタ３０６は、出力ビン３０７が現在のビンのための２つの可能なビンのうちの１つのための確率の評価のための関連する計測に基づいて送られるビンバッファ３０８を決定する。本発明の好ましい実施例において、２つの可能なビン値のうちの１つのための確率の評価のための計測のための可能な値のセットは限定され、そして、ビンバッファ・セレクタ３０６は、正確に１つのビンバッファ３０８を２つの可能なビン値のうちの１つのための確率の評価のための各可能な値と関連付ける表を含み、２つの可能なビン値のうちの１つのための確率の評価のための計測のための異なる値は、同じビンバッファ３０８と関連付けられることができる。更なる本発明の好ましい実施例において、２つの可能なビン値のうちの１つのための確率の評価のための計測のための可能な値の範囲は多くの間隔に分割され、ビンバッファ・セレクタ３０６は２つの可能なビン値のうちの１つのための確率の評価のための現在の計測のための間隔インデックスを決定し、そして、ビンバッファ・セレクタ３０６は正確に１つのビンバッファ３０８を間隔インデックスのための各可能な値と関連付ける表を含み、間隔インデックスのための異なる値は、同じビンバッファ３０８と関連付けられることができる。本発明の好ましい実施例において、２つの可能なビン値の１つのための確率の評価のための逆の計測を有する入力ビン３０５（逆の計測は、確率評価Ｐおよび１−Ｐを表すものである）は、同じビンバッファ３０８に供給される。更なる本発明の好ましい実施例において、例えば、つくられた部分的なビット・ストリームが同程度のビット・レートを有することを確実にするために、特定のビンバッファを有する現在のビンのための２つの可能なビン値のうちの１つのための確率の評価のための計測の関連は、時間とともに適応させられる。更に、以下において、間隔インデックスはパイプ・インデックスとも呼ばれるが、改良インデックスおよびよりありそうなビン値を示すフラグと一緒にパイプ・インデックスは実際の確率モデル（すなわち確率評価）にインデックスを付ける。
【００４９】
更なる本発明の好ましい実施例において、ビンバッファ・セレクタ３０６は、出力ビン３０７が現在のビンのためのありそうにない、またはよりありそうなビン値のための確率の評価のための関連する計測に基づいて送られるビンバッファ３０８を決定する。本発明の好ましい実施例において、ありそうにない、またはよりありそうなビン値のための確率の評価のための計測のための可能な値のセットは限定され、ビンバッファ・セレクタ３０６は、正確に１つのビンバッファ３０８をありそうにない、またはよりありそうなビン値のための確率の評価の各可能な値と関連付けられた表を含み、ありそうにない、またはよりありそうなビン値のための確率の評価のための計測のための異なる値は、同じビンバッファ３０８と関連付けられることができる。更なる本発明の好ましい実施例において、ありそうにない、またはよりありそうなビン値のための確率の評価のための計測のための可能な値の範囲は多くの間隔に仕切られ、ビンバッファ・セレクタ３０６はありそうにない、またはよりありそうなビン値のための確率の評価のための現在の計測のための間隔インデックスを決定し、間隔インデックスのための異なる値は、同じビンバッファ３０８と関連付けられることができる。更なる本発明の好ましい実施例において、例えば、つくられた部分的なビット・ストリームが同程度のビット・レートを有することを確実にするために、特定のビンバッファを有する現在のビンのためのありそうにない、またはよりありそうなビン値のための確率の評価のための計測の関連は、時間とともに適応させられる。
【００５０】
２つ以上のビンバッファ３０８の各々は正確に１つのビン符号器３１０に接続され、各ビン符号器は１つのビンバッファ３０８と接続されるだけである。各ビン符号器３１０は関連するビンバッファ３０８からビンを読み込んで、ビン３０９のシーケンスをビットのシーケンスを表す符号語３１１に変換する。ビンバッファ３０８は、先入先出バッファを表し；ビンバッファ３０８に（起こった順番に）後で入力されるビンは、ビンバッファに（起こった順番に）先に入力されるビンの前に符号化されない。特定のビン符号器３１０の出力である符号語３１１は、特定の部分的なビット・ストリーム３１２に書き込まれる。全体的な符号化アルゴリズムは、構文要素３０１を２つ以上の部分的なビット・ストリーム３１２に変換し、部分的なビット・ストリームの数は、ビンバッファおよびビン符号器の数に等しい。本発明の好ましい実施例において、ビン符号器３１０は、長さがさまざまなビン３０９を長さがさまざまなビットの符号語３１１に変換する。本発明の実施例の上述のおよび後述の１つの効果は、ビンの符合化が並列に（例えば、確立計測の異なるグループのために）実施されることができ、それは、いくつかの実施態様のための処理時間を減少させる。
【００５１】
本発明の実施例の他の効果は、ビン符号器３１０によってされるビン符合化がパラメータ３０５の異なるセットのために特に設計されることができるということである。特に、ビン符号化および符号化は、推定された確率の異なるグループのために、（符号化効率および／または複雑性に関して）最適化されることができる。一方では、これは符号化／復号化の複雑性の減少を可能にし、他方では、それは符号化効率の改良を可能にする。本発明の好ましい実施例において、ビン符号器３１０は、現在のビンのための２つの可能なビン値３０５のうちの１つのための確率の評価のための計測の異なるグループのための異なる符号化アルゴリズム（すなわち、符号語の上のビンシーケンスのマッピング）を実施する。更なる本発明の好ましい実施例において、ビン符号器３１０は、現在のビンのためのありそうにない、またはよりありそうなビン値のための確率の評価のための計測の異なるグループのための異なる符号化アルゴリズムを実施する。
【００５２】
本発明の好ましい実施例において、ビン符号器３１０−あるいは、１つ以上のビン符号器−は、直接入力ビン３０９のシーケンスを符号語３１０にマッピングするエントロピー符号器を表す。このようなマッピングは、能率的に行うことができて、複雑な算術符号化エンジンを必要としない。（デコーダにおいて行われるような）ビンのシーケンスの上の符号語の逆のマッピングは、入力シーケンスの完全な復号化を保証するために優れたものであるべきであるが、符号語３１０へのビンシーケンス３０９のマッピングは必ずしも優れたものである必要はない、すなわち、ビンの部分的なシーケンスが符号語の１つ以上のシーケンス上にマッピングされることができることは可能である。本発明の好ましい実施例において、符号語３１０上への入力ビン３０９のシーケンスのマッピングは、全単射である。更なる本発明の好ましい実施例において、ビン符号器３１０−あるいは、ビン符号器の１つ以上−は、可変長符号語３１０上に直接入力ビン３０９の可変長シーケンスをマッピングするエントロピー符号器を表す。本発明の好ましい実施例において、出力符号語は、例えばハフマン符合または標準的なハフマン符号のような冗長性のない符号を表す。
【００５３】
冗長性のない符号に対するビンシーケンスの全単射マッピングのための２つの実施例が、表３において例示される。更なる本発明の好ましい実施例において、出力符号語は、誤り検出およびエラー回復に適している冗長符号を表す。更なる本発明の好ましい実施例において、出力符号語は、構文要素を暗号化することに適している暗号化コードを表す。
【００５４】
【表３】
2019050610.tif 000005
【００５５】
【表４】
2019050610.tif 000006
【００５６】
更なる本発明の好ましい実施例において、ビン符号器３１０−あるいは、ビン符号器の１つ以上−は、固定長符号語３１０上に直接入力ビン３０９の可変長シーケンスをマッピングするエントロピー符号器を表す。更なる本発明の好ましい実施例において、ビン符号器３１０−あるいは、ビン符号器の１つ以上−は、可変長符号語３１０上に直接入力ビン３０９の固定長シーケンスをマッピングするエントロピー符号器を表す。
【００５７】
本発明の実施例によるデコーダは、図８において例示される。デコーダは基本的にエンコーダの逆の動作を実行し、その結果、構文要素３２７の（以前に符号化された）シーケンスは、２つ以上の部分的なビット・ストリーム３２４のセットから復号化される。デコーダは、２つの異なる手順フローを含み：エンコーダのデータフローを再現するデータ要求のフロー、およびエンコーダのデータフローの逆を表すデータフローである。図８の具体例において、点線の矢印はデータ要求フローを表し、実線の矢印はデータフローを表す。デコーダの構成要素は、基本的にエンコーダの構成要素を再現するが、逆の動作を実行する。
【００５８】
構文要素を復号化することは、二値化器３１４に送信される新規な復号化構文要素３１３の要求によって引き起こされる。本発明の好ましい実施例において、新規な復号化構文要素３１３の各々の要求は、１つ以上のカテゴリのセットのカテゴリと関連付けられている。構文要素の要求と関連しているカテゴリは、符号化の間、対応する構文要素と関連していたカテゴリと同じである。
【００５９】
二値化器３１４は、構文要素３１３の要求をパラメータ割当て器３１６に送信されるビンの１つ以上の要求にマッピングする。二値化器３１４によってパラメータ割当て器３１６に送信されるビンの要求への最終的な反応として、二値化器３１４は、ビンバッファセレクタ３１８から復号化されたビン３２６を受け取る。二値化器３１４は復号化されたビン３２６の受信シーケンスを要求された構文要素の特定の二値化スキームのビンシーケンスと比較し、復号化されたビン２６の受信シーケンスが構文要素の二値化に適合する場合、二値化器はそのビンバッファを空にして、新規な復号化シンボルの要求への最終的な反応として復号化された構文要素を出力する。復号化されたビンのすでに受信されたシーケンスが要求された構文要素の二値化スキームのためのビンシーケンスのいずれにもマッチしない場合、復号化されたビンのシーケンスが要求された構文要素の二値化スキームのビンシーケンスのうちの１つに適合するまで、二値化器はパラメータ割当て器にビンの他の要求を送る。構文要素の要求ごとに、デコーダは、対応する構文要素を符号化するために用いられた同じ二値化スキームを使用する。二値化スキームは、異なる構文要素カテゴリのために異なることができる。特定の構文要素カテゴリの二値化スキームは、可能な構文要素値のセットおよび／または特定のカテゴリのための構文元素の他の特性に依存することができる。
【００６０】
パラメータ割当て器３１６は、１つ以上のパラメータのセットをビンの各要求に割り当てて、ビンバッファセレクタにパラメータの関連するセットを有するビンの要求を送る。パラメータ割当て器によって要求されたビンに割り当てられるパラメータのセットは、符号化の間、対応するビンに割り当てられたものと同じである。パラメータのセットは、図７のエンコーダの説明において言及されるパラメータの１つ以上から成ることができる。
【００６１】
本発明の好ましい実施例において、パラメータ割当て器３１６は、ビンの各要求を、割当て器３０４が行ったことと同じパラメータ、すなわち、例えば現在の要求されたビンのためのありそうにない、またはよりありそうなビン値のための確率の評価のための計測、および２つの可能なビン値のうちどちらが現在の要求されたビンのためのありそうにない、またはよりありそうなビン値を表すかという評価を特定している識別子のような、現在の要求されたビンのための２つの可能なビン値のうちの１つのための確率の評価のためのコンテキストおよびその関連する計測と関連させる。
【００６２】
パラメータ割当て器３１６は、１つ以上のすでに復号化されたシンボルのセットに基づいて、上述した確率計測（現在の要求されたビンのための２つの可能なビン値のうちの１つのための確率の評価のための計測、現在の要求されたビンのためのありそうにない、またはよりありそうなビン値のための確率の評価のための計測、識別子が２つの可能なビン値のうちどちらが現在要求されているビンのためのありそうにない、またはよりありそうなビン値を表すかという評価を規定する識別子）の１つ以上を決定することができる。ビンの特定の要求のための確率計測の決定は、対応するビンのためのエンコーダにおける処理を再現する。確率計測を決定するために使われる復号化されたシンボルは、同じシンボル・カテゴリの１つ以上のすでに復号化されたシンボルの１つ以上、隣接した空間および／または（構文要素の現在の要求と関連したデータセットに関して）時間的な位置の（例えば、サンプルのブロックまたはグループのような）データセットに対応する同じシンボル・カテゴリの１つ以上のすでに復号化されたシンボル、または同じおよび／または隣接した空間および／または（構文要素の現在の要求と関連したデータセットに関して）時間的な位置のデータセットに対応する異なるシンボル・カテゴリの１つ以上のすでに復号化されたシンボルを含むことができる。
【００６３】
パラメータ割当て器３１６の出力であるパラメータ３１７の関連するセットを有するビンの各要求は、ビンバッファ・セレクタ３１８に入力される。パラメータ３１７の関連するセットに基づいて、ビンバッファ・セレクタ３１８は、ビン３１９の要求を２つ以上のビンバッファ３２０のうちの１つに送信して、選択されたビンバッファ３２０から復号化されたビン３２５を受け取る。復号化された入力ビン３２５は潜在的に修正されて、−潜在的に復号化された値を有する−復号化された出力ビン３２６はパラメータ３１７の関連するセットを有するビットの要求に対する最後の応答として二値化器３１４に送られる。
【００６４】
ビンの要求が送られるビンバッファ３２０は、同様に、エンコーダ側のビンバッファ・セレクタの出力ビンが送られたビンバッファとして選択される。
【００６５】
本発明の好ましい実施例において、ビンバッファ・セレクタ３１８は、ビン３１９の要求が現在の要求されたビンのための２つの可能なビン値のうちの１つのための確率の評価のための関連する計測に基づいて送られるビンバッファ３２０を決定する。本発明の好ましい実施例において、２つの可能なビン値のうちの１つのための確率の評価のための計測のための可能な値のセットは限定され、ビンバッファ・セレクタ３１８は１つのビンバッファ３２０を、２つの可能なビン値のうちの１つのための確率の評価の各可能な値と関連させる表を含み、２つの可能なビン値のうちの１つのための確率の評価のための計測のための異なる値は、同じビンバッファ３２０と関連することができる。更なる本発明の好ましい実施例において、２つの可能なビン値のうちの１つのための確率の評価のための計測のための可能な値の範囲は多くの間隔に仕切られ、ビンバッファ・セレクタ３１８は２つの可能なビン値のうちの１つのための確率の評価のための現在の計測のための間隔インデックスを決定し、ビンバッファ・セレクタ３１８は１つのビンバッファ３２０を間隔インデックスのための各可能な値と正確に関連させる表を含み、間隔インデックスのための異なる値は、同じビンバッファ３２０と関連させることができる。本発明の好ましい実施例において、２つの可能なビン値のうちの１つのための確率の評価のための逆の計測（逆の計測は、確率がＰおよび１−Ｐを表すものである）を有するビン３１７の要求は、同じビンバッファに送られる。更なる本発明の好ましい実施例において、特定のビンバッファを有する現在のビンの要求のための２つの可能なビン値のうちの１つのための確率の評価のための計測の関連は、時間とともに適応させられる。
【００６６】
更なる本発明の好ましい実施例において、ビンバッファ・セレクタ３１８は、ビン３１９の要求が現在の要求されたビンのためのありそうにない、またはよりありそうなビン値のための確率の評価のための関連する計測に基づいて送られるビンバッファ３２０を決定する。本発明の好ましい実施例において、ありそうにない、またはよりありそうなビン値のための確率の評価のための計測のための可能な値のセットは限定され、ビンバッファ・セレクタ３１８は、１つのビンバッファ３２０を、ありそうにない、またはよりありそうなビン値のための確率の評価の各可能な値と正確に関連付ける表を含み、ありそうにない、またはよりありそうなビン値のための確率の評価のための計測のための異なる値は、同じビンバッファ３２０と関連させられることができる。更なる本発明の好ましい実施例において、ありそうにない、またはよりありそうなビン値のための確率の評価のための計測のための可能な値の範囲は多くの間隔に仕切られ、ビンバッファ・セレクタ３１８はありそうにない、またはよりありそうなビン値のための確率の評価のための現在の計測のための間隔インデックスを決定し、ビンバッファ・セレクタ３１８は、１つのビンバッファを間隔インデックスのための各可能な値と正確に関連付ける表を含み、間隔インデックスのための異なる値は同じビンバッファ３２０と関連付けることができる。更なる本発明の好ましい実施例において、特定のビンバッファを有する現在のビンの要求のためのありそうにない、またはよりありそうなビン値のための確率の評価のための計測の関連は、時間とともに適応させられる。
【００６７】
選択されたビンバッファ３２０から復号化されたビン３２５を受け取った後に、ビンバッファ・セレクタ３１８は、潜在的に入力ビン３２５を修正して、−潜在的に修正された値を有する−出力ビン３２６を二値化器３１４に送信する。ビンバッファ・セレクタ３１８の入力／出力ビン・マッピングは、エンコーダ側のビンバッファ・セレクタの入力／出力ビン・マッピングの逆である。
【００６８】
本発明の好ましい実施例において、ビンバッファ・セレクタ３１８は、ビンの値を修正しない、すなわち、出力ビン３２６は常に入力ビン３２５と同じ値を有する。更なる本発明の好ましい実施例において、ビンバッファ・セレクタ３１８は、入力ビン値３２５、およびビン３１７の要求と関連している現在の要求されたビンのための２つの可能なビン値のうちの１つのための確率の評価のための計測に基づいて出力ビン値３２６を決定する。本発明の好ましい実施例において、現在のビン要求のための２つの可能なビン値のうちの１つのための確率のための計測が特定の閾値より小さい（または、小さいあるいは等しい）場合、出力ビン値３２６は入力ビン値３２５に等しく設定され；現在のビン要求のための２つの可能なビン値のうちの１つのための確率のための計測が特定の閾値より大きいか等しい（または、大きい）場合、出力ビン値３２６は修正される（すなわち、それは、入力ビン値の逆にセットされる）。更なる本発明の好ましい実施例において、現在のビン要求のための２つの可能なビン値のうちの１つのための確率のための計測が特定の閾値より大きい（または、大きいあるいは等しい）場合、出力ビン値３２６は入力ビン値３２５に等しく設定され；現在のビン要求のための２つの可能なビン値のうちの１つのための確率のための計測が特定の閾値より小さいか等しい（または、小さい）場合、出力ビン値３２６は修正される（すなわち、それは、入力ビン値の逆にセットされる）。本発明の好ましい実施例において、閾値の値は、両方の可能なビン値のための評価確率の０．５の値に対応する。
【００６９】
更なる本発明の好ましい実施例において、ビンバッファ・セレクタ３１８は入力ビン値３２５、および２つの可能なビン値のどちらがビン３１７の要求と関連する現在のビン要求のためのありそうにない、またはよりありそうなビン値を表すかの評価を規定する識別子に基づいて出力ビン値３２６を決定する。本発明の好ましい実施例において、識別子が２つの可能なビン値の第１のものが現在のビン要求のためのありそうにない（または、よりありそうな）ビン値を表すことを示している場合、出力ビン値３２６は入力ビン値３２５に等しく設定され、識別子が２つの可能なビン値の第２のものが現在のビン要求のためのありそうにない（または、よりありそうな）ビン値を表すことを示している場合、出力ビン値３２６は修正される（すなわち、それは、入力ビン値の逆に設定される）。
【００７０】
上述のように、ビンバッファ・セレクタは、ビン３１９の要求を２つ以上のビンバッファ３２０のうちの１つに送信する。ビンバッファ２０は、接続されたビン復号器３２２から復号化されたビン３２１のシーケンスによって与えられる先入れ先出しバッファを表す。ビンバッファ・セレクタ３１８からビンバッファ３２０に送信されるビン３１９の要求への応答として、ビンバッファ３２０は、ビンバッファ３２０に最初に入れられるその内容のビンを移動し、それをビンバッファ・セレクタ３１８に送信する。ビンバッファ３２０に早期に送信されるビンは早期に移動されて、ビンバッファ・セレクタ３１８に送信される。
【００７１】
２つ以上のビンバッファ３２０の各々は正確に１つのビン復号器３２２に接続され、各ゴン復号器は１つのゴンバッファに接続されるだけである。各ビン復号器３２２は、別の部分的にビット・ストリーム３２４から，ビットのシーケンスを表す符号語３２３を読み込む。ビン復号器は、符号語３２３を接続されたビンバッファ３２０に送信されるビン３２１のシーケンスに変換する。全体の復号化アルゴリズムは、２つ以上の部分的なビット・ストリーム３２４を多くの復号化構文要素に変換し、部分的なビット・ストリームの数はビンバッファおよびビン復号器の数に等しく、構文要素の復号化は新規な構文要素の要求によって引き起こされる。本発明の好ましい実施例において、ビン復号器３２２は、可変的な数のビットの符号語３２３を一連の可変的な数のビン３２１のシーケンスに変換する。本発明の実施例の１つの効果は、２つ以上の部分的なビット・ストリームからのビンの復号化が平行（例えば、確率計測の異なるグループのために）にされることができるということであり、それはいくつかの実施のための処理時間を減らす。
【００７２】
本発明の実施例の他の効果は、ビン復号器３２２によって実行されるビン復号化がパラメータ３１７の異なるセットのために特に設計されることができるということである。特に、ビン符号化および復号化は、評価された確率の異なるグループのために、（符号化効率および／または複雑さに関して）最適化されることができる。一方において、これは、同程度の符号化効率を有する最高水準のエントロピー符号化アルゴリズムに対して、符号化／復号化の複雑さの減少を図ることができる。他方において、それは、類似の符号化／復号化の複雑さを有する最高水準のエントロピー符号化アルゴリズムに対して、符号化効率の改良を図ることができる。本発明の好ましい実施例において、ビン復号器３２２は、現在のビン要求のための２つの可能なビン値３１７のうちの１つのための確率の評価のための計測の異なるグループのための異なる復号化アルゴリズム（すなわち、符号語上へのビンシーケンスのマッピング）を実行する。更なる本発明の好ましい実施例において、ビン復号器３２２は、現在の要求されたビンのためのありそうにない、またはよりありそうなビン値のための確率の評価のための計測の異なるグループのための異なる復号化アルゴリズムを実行する。
【００７３】
ビン復号器３２２は、エンコーダ側における対応するビン符号器の逆のマッピングをする。
【００７４】
本発明の好ましい実施例において、ビン符号器３２２−または、１つ以上のビン符号器−は、ビンのシーケンス３２１上に直接符号語３２３をマッピングするエントロピー復号器を表す。このようなマッピングは、能率的に行うことができて、複雑な算術符号化エンジンを必要としない。ビンのシーケンス上への符号語のマッピングは、固有のものでなければならない。本発明の好ましい実施例において、ビンのシーケンス３２１上への符号語３２３のマッピングは全単射である。更なる本発明の好ましい実施例において、ビン符号器３１０−または、ビン符号器の１つ以上−は、ビンの可変長シーケンス３２１に直接可変長符号語３２３をマッピングするエントロピー復号器を表す。本発明の好ましい実施例において、入力符号語は、例えば、一般のハフマン符号または標準的なハフマン符号のような冗長性のない符号を表す。ビンシーケンスに対する冗長性のない符号の全単射マッピングのための２つの例は、表３において例示される。
【００７５】
更なる本発明の好ましい実施例において、ビン復号器３２２−または、ビン復号器の１つ以上−は、ビンの可変長シーケンス３２１上に直接固定長符号語３２３をマッピングするエントロピー復号器を表す。更なる本発明の好ましい実施例において、ビン復号器３２２−または、ビン復号器の１つ以上−は、ビンの固定長シーケンス３２１に直接可変長符号語３２３をマッピングするエントロピー復号器を表す。
【００７６】
このように、図７および８は、シンボル３のシーケンスを符号化するためのエンコーダおよびそれを再現するためのデコーダの実施例を示した。エンコーダは、多くのパラメータ３０５をシンボルのシーケンスの各シンボルに割り当てるように構成される割当て器３０４を含む。割当ては、現在のシンボルが所属する−二値化のような−表現への構文要素１のカテゴリのようなシンボルのシーケンスの以前のシンボルに含まれる情報に基づき、それは、構文要素１の構文構造によれば、現在、どの予想が以前の構文要素１およびシンボル３の履歴から順に推論できるかを予想されている。さらに、エンコーダは、各々がそれぞれのエントロピー符号器１０に送られたシンボル３をそれぞれのビット・ストリーム３１２に変換する複数のエントロピー符号器１０、およびそれぞれのシンボル３を複数のエントロピー符号器１０のうちの選択された１つに送るように構成されたセレクタ３０６を含み、選択はそれぞれのシンボル３に割り当てられたパラメータ３０５の数に依存している。割当て器３０４は、それぞれのセレクタ５０２を得るためにセレクタ２０６に集積されるものであると考えられる。
【００７７】
シンボルのシーケンスを再現するためのデコーダは、各々がそれぞれのビット・ストリーム３２３をシンボル３２１に変換するように構成された複数のエトロピー復号器３２２；シンボルのシーケンスの以前に再現されたシンボルに含まれる情報に基づいて再現されるシンボルのシーケンスの各シンボル３１５に複数のパラメータ３１７を割り当てるように構成された割当て器３１６（図８の３２６および３２７を参照）；および複数のエントロピー復号器３２２（それぞれのシンボルに定められるパラメータの数による選択）の選択された１つから再現されるシンボルのシーケンスの各シンボルを検索するように構成されるセレクタ３１８を含み、選択はそれぞれのシンボルに規定される複数のパラメータに依存する。各シンボルに割り当てられるパラメータの数が含まれるか、または、それぞれのシンボルが仮定する可能なシンボル値の間の分布の確立の評価のための計測であるように、割当て器３１６は構成される。また、割当て器３１６およびセレクタ３１８は、１つのブロック、セレクタ４０２に組み込まれるものと考えることができる。再現されるシンボルのシーケンスはバイナリのアルファベットでもよく、割当て器３１６は、バイナリのアルファベットの２つの可能なビン値のありそうにない、またはよりありそうなビン値の確率の評価のための計測を含み、識別子は、２つの可能なビン値のどちらがありそうにない、またはよりありそうなビン値であるかに対する評価を決定する。割当て器３１６は、それに関連するそれぞれの確立分布評価を有する各コンテキストで再現されるシンボルのシーケンスの以前再現されたシンボルに含まれる情報に基づいて再現され、およびそれぞれのコンテキストが割り当てられる以前に再現されたシンボルに基づいて各コンテキストのための確立分布評価を実際のシボル統計に適応させるシンボルのシーケンス３１５の各シンボルに内部的に割り当てるように構成される。コンテキストは、例えばビデオまたは画像符号化において、または、財政的なアプリケーションの場合における表においてさえ、構文要素が属する位置の空間的な関係または近所を考慮することができる。それから、各シンボルのための確率分布の評価のための計測は、例えば量子化によってそれぞれのシンボルに割り当てられるコンテキストに関連した、または、それぞれの表へのインデックスとして用いられる確率分布評価に基づいて決定されることができ、確立分布評価は確率分布（部分的なビット・ストリーム３１２にインデックスを付けるパイプ・インデックス）の評価のための計測を得るために複数の確率分布評価表現（改良インデックスから離れたクリッピング）の１つにそれぞれのシンボル（以下の実施例において、改良インデックスとともにパイプ・イデックスによってイデックスを付ける）で割り当てられるコンテキストに関連する。セレクタは、全単射の関連が複数のエントロピー符号器と複数の確率分布表現との間で規定されることができる。セレクタ１８は、時間とともに、シンボルのシーケンスの前に再現されたシンボルに対応して確率分布評価の範囲から所定の決定論的な方法による複数の確率分布評価表現に量子化マッピングを変えるように構成されることができる。すなわち、セレクタ３１８は、量子化ステップサイズ、すなわち個々のエントロピー復号器と全投射的に関連する個々の確率インデックスにマッピングされる確率分布の間隔を変えることができる。複数のエントロピー復号器３２２は、順に、シンボルを量子化マッピングの変化に応答するビット・ストリームに変換するそれらの方法を適応させるように構成されることができる。たとえば、各エントロピー復号器３２２は、例えば、それぞれの確立分布評価の量子化間隔の中の確かな確率分布評価に対して最適化される、すなわち最適な圧縮率を有することができ、後者の変化に関してそれぞれの確率分布評価の量子化間隔の範囲内で最適となるように特定の確率分布評価の位置を適合させるようにその符号語／シンボルのシーケンスマッピングを変えることができる。シンボルが複数のエントロピー復号器から検索される率がより分散されないように、セレクタは量子化マッピングを変えるように構成されることができる。なお、二値化器３１４に関して、構文要素がすでにバイナリである場合、それは離れておかれる。さらに、デコーダ３２２のタイプに応じて、バッファ３２０の存在は必要でない。さらに、バッファ３２０は、デコーダの範囲内で集積されることができる。
【００７８】
有限構文要素配列の終了
【００７９】
本発明の好ましい実施例において、符号化および復号化は、構文要素の有限集合のためにされる。しばしば、静止画像、フレームまたはビデオ・シーケンスの分野のようなデータの特定の量、画像のスライス、フレームのスライスまたはビデオ・シーケンスの分野または連続した音声サンプルのセット等は符号化される。構文要素の有限セットのために、一般に、エンコーダ側でつくられる部分的なビット・ストリームが終了されなければならない、すなわち、すべての構文要素は送信され、あるいは格納された部分的なビット・ストリームから復号化されることができることが確実にされなければならない。最後のビンが対応するビンバッファ３０８に入力された後、ビン符号器３１０は確実に完全な符号語が部分的なビット・ストリーム３１２に書き込まれるようにしなければならない。ビン符号器３１０が符号語上へビンシーケンスの直接のマッピングを実施するエントロピー符号器を表す場合、最後のビンをビンバッファに書き込んだ後にビンバッファに格納されるビンシーケンスは符号語と関連するビンシーケンスを表さないかもしれない（すなわち、それは、符号語と関連している２つ以上のビンシーケンスの接頭辞を表すかもしれない）。このような場合、接頭辞としてビンバッファのビンシーケンスを含むビンシーケンスと関連した符号語のいずれかは、部分的なビット・ストリームに書き込まれなければならない（ビンバッファは、フラッシュされなければならない）。符号語が書かれるまで、これは特定であるか任意の値を有するビンをビンバッファに入力することによってされることができる。本発明の好ましい実施例において、ビン符号器は、（関連するビンシーケンスが接頭辞としてビンバッファのビンシーケンスを含まなければならない特性に加えて）最小限の長さを有する符号語のうちの１つを選択する。デコーダ側で、ビン復号器３２２は、部分的なビット・ストリームの最後の符号語のために必要であるより多くのビンを復号化することができ；これらのビンは、ビンバッファ・セレクタ３１８によって要求されず、廃棄されて、無視される。シンボルの有限のセットの復号化は、復号化された構文要素の要求によって制御され；更なる構文要素がデータの量のために要求されない場合、復号化は終了する。
【００８０】
部分的なビット・ストリームの伝送および多重化
【００８１】
エンコーダによってつくられる部分的なビット・ストリーム３１２は別に送信されることができ、または、それらは単一のビット・ストリームに多重化されることができ、または、部分的なビット・ストリームの符号語は単一のビット・ストリームにおいて交互配置されることができる。
【００８２】
本発明の実施形態において、データの量のための各部分的なビット・ストリームは、１つのデータパケットに書き込まれる。データの量は、スチール写真、ビデオ・シーケンスの分野またはフレーム、スチール写真のスライス、ビデオ・シーケンスの分野またはフレームのスライスまたは音声サンプルのフレーム等のような構文要素の任意のセットでありえる。
【００８３】
他の本発明の好ましい実施例において、データの量の部分的なビット・ストリームまたはデータの量のすべての部分的なビット・ストリームのうちの２つ以上は、１つのデータパケットに多重化される。多重化された部分的なビット・ストリームを含むデータパケットの構造は、図９において例示される。
【００８４】
データパケット４００は、ヘッダと、（データの考慮された量のために）各部分的なビット・ストリームのデータのための１つのパーティションとを含む。データパケットのヘッダ４００は、データパケット（の残り）をビット・ストリームデータ４０２のセグメントに分割するための表示を含む。分割するための表示のほかに、ヘッダは、付加的情報を含むことができる。本発明の好ましい実施例において、データパケットの分割のための表示は、ビットまたはバイトまたは多様なビットまたは多様なバイトを単位にするデータセグメントの始まりの位置である。本発明の好ましい実施例において、データセグメントの始まりの位置は、データパケットの始まりと関連して、または、ヘッダの端部と関連して、または、以前のデータパケットの始まりと関連して、データパケットの表題の絶対値として符号化される。更なる本発明の好ましい実施例において、データセグメントの始まりの位置が異なって符合化される、すなわち、データセグメントの実際の始まりとデータセグメントの始まりのための予測との違いだけが符号化される。予測は、例えばデータパケットの全体のサイズ、ヘッダのサイズ、データパケットのデータセグメントの数、前のデータセグメントの始まりの位置などのような、すでに周知であるか送信された情報に基づいて引き出されることができる。本発明の好ましい実施例において、第１のデータパケットの始まりの位置は符号化されず、データパケット・ヘッダのサイズに基づいて推定される。デコーダ側で、送信されたパーティション表示がデータセグメントの始まりを引き出すために使われる。データセグメントはそれから部分的なビット・ストリームとして用いられ、データセグメントに含まれるデータはセグメントの順序で対応するビン復号器に入れられる。
【００８５】
データパケットに部分的なビット・ストリームを多重化するためのいくつかの選択肢がある。特に部分的なビット・ストリームが非常に小さい場合に、必要なサイド情報を減少させることができる１つの選択肢は、図１０において例示される。データパケットのペイロード、すなわちそのヘッダ４１１のないデータパケット４１０は、所定の方法でセグメント４１２に仕切られる。一例として、データパケット・ペイロードは、同一サイズのセグメントに分割されることができる。それから、各セグメントは、部分的なビット・ストリームまたは部分的なビット・ストリーム４１３の第１の部分に関連する。部分的なビット・ストリームが関連するデータセグメントより大きい場合、その残り４１４は他のデータセグメントの終わりの使っていない空間に入れられる。これは、ビット・ストリームの残りの一部が逆の順序（データセグメントの終わりから始まる）で入力される方法で実行されることができ、それはサイド情報を減少させる。部分的なビット・ストリームのデータセグメントへの関連および、１つ以上の残りがデータセグメントに付加される場合、残りの１つ以上がビット・ストリーム内で、例えばデータパケット・ヘッダで、信号を送られなければならない。
【００８６】
可変長符号語のインターリービング
【００８７】
いくつかの応用に関して、１つのデータパケットの（構文要素の量のための）部分的なビット・ストリームの上記した多重化は、以下の不利な点があり得る：一方において、小さいデータパケットのために、分割することの信号を送るために必要とされるサイド情報のためのビットの数は部分的なビット・ストリームの実際のデータと関連して重要になることができ、それは最終的に符号化効率を低下させる。他方において、多重化は、（例えば、テレビ会議アプリケーションのための）低い遅延を必要とするアプリケーションには適していない。記載されている多重化に関して、パーティションの始まりの位置がその前に知られていないため、部分的なビット・ストリームが完全につくられる前に、エンコーダはデータパケットの伝送を始めることができない。さらに、一般に、それがデータパケットの復号化を始めることができる前に、それが最後のデータセグメントの始まりを受信するまで、デコーダは待たなければならない。ビデオ会議システムのアプリケーションのために、（特に、伝送ビット・レートの近くにあるビット・レートのために、そして、画像を符号化／復号化するための２つの画像の間に近い時間間隔を必要とするエンコーダ／デコーダのために）いくつかのビデオ画像のシステムの更なる全体の遅延という結果になり、この種のアプリケーションに決定的に影響を及ぼす。特定のアプリケーションのための不利な点を克服するために、本発明の好ましい実施例のエンコーダは、２つ以上のビン符号器によって発生する符号語が１つのビット・ストリームに交互配置される方法で設定されることができる。交互配置された符号語を有するビット・ストリームは、（小さいバッファ遅延を無視するとき、下記参照）直接、デコーダに対して送信されることができる。デコーダ側で、２つ以上のビン復号器が復号化順序でビット・ストリームから直接符号語を読み取ると、復号化は、第１の受け取ったビットで始められることができる。さらに、部分的なビット・ストリームの多重化（または交互配置）の信号を送るためにサイド情報は必要とされない。ビン復号器３２２がグローバルなビットバッファから可変長符号語を読み取らないときに、デコーダの複雑性を減らす更なる方法は達成されることができるが、その代わりに、それらは常に、グローバルなビットバッファからビットの固定長シーケンスを読み取り、ビットのこれらの固定長シーケンスをローカル・ビットバッファに加え、各ビン復号器３２２は、別々のローカル・ビットバッファに接続される。可変長符号語は、それからローカル・ビットバッファから読み取られる。したがって、可変長符号語の構文解析は平行にされることができ、ビットの固定長シーケンスのアクセスだけは同期方法でされなければならないが、ビットの固定長シーケンスのこのようなアクセスは通常非常に急速であり、その結果、全体の復号化の複雑性は若干のアーキテクチャのために減少させることができる。特定のローカル・ビットバッファに送られるビンの固定数は、異なるローカル・ビットバッファで異なっていてもよく、ビン復号器、ビンバッファまたはビットバッファのイベントとしての特定のパラメータに応じて、それは時間とともに変化することもできる。しかしながら、特定のアクセスによって読み込まれるビットの数は、特定のアクセスの間に読み込まれる実際のビットに依存しておらず、それは可変長符号語を読み込むことへの重要な違いである。ビットの固定長シーケンスの読み込みは、ビンバッファ、ビン復号器またはローカル・ビットバッファの特定のイベントによって引き起こされる。一例として、接続されたビットバッファに存在するビットの数が所定の閾値以下に減少するとき、ビットの新規な固定長シーケンスの読み込みを要求することは可能であり、異なる閾値が異なるビットバッファのために使われることができる。エンコーダで、ビンの固定長シーケンスがビット・ストリームに同じ順序で入力されると保証されなければならず、それらは、デコーダ側でビット・ストリームから読み込まれる。固定長シーケンスのこの交互配置を上で説明されたものと類似の低遅延制御と結合することも可能である。以下に、ビットの固定長シーケンスの交互配置のための好ましい実施例は、記載されている。後者の交互配置スキームに関してさらに詳細には、ＷＯ２０１１／１２８２６８Ａ１に参照される。
【００８８】
以前に符号化されたものがビデオ・データの圧縮のために使われることが記載された実施例を記載した後に、本発明の実施例を実行するためのさらなる実施例として、一方では圧縮率と他方では参照表および計算オーバーヘッドとの間の良好なトレードオフに関して特に効果的な実施を示す。特に、以下の実施例は、個々にビット・ストリームをエントロピー符号化し、効果的に確率評価の部分をカバーするために、計算的に複雑でない可変長符号を用いることを可能にする。後述する実施例において、シンボルは、２進性のものであり、下で発表されるＶＬＣコードは、例えば、［０；０．５］の間で延びるＲＬＰＳによって表される確率評価を効果的にカバーする。
【００８９】
特に、以下において概説される実施例は、それぞれ、図７〜１７に示す個々のエントロピー符号器３１０およびデコーダ３２２を示している。それらは、画像またはビデオ圧縮アプリケーションで起こるため、それらはビン、すなわちバイナリのシンボルの符号化に適している。したがって、これらの実施例は、画像またはビデオ符合化に適用することができ、このようなバイナリのシンボルが、それぞれ符号化されるビン３０７および復号化されるビット・ストリーム３２４の１つ以上に分離され、このような各ビンストリームは、ベルヌーイ・プロセスの実現と考えることができる。以下に述べる実施例は、ビンストリームを符号化するために、１つ以上のさまざまないわゆるｖａｒｉａｂｌｅ−ｔｏ−ｖａｒｉａｂｌｅ−コード（ｖ２ｖ−コード）を使用する。ｖ２ｖ−コードは、符号語の同じ数を有する２つの接頭符号と考えることができる。第１および第２の接頭符号。第１の接頭符号の各符号語は、第２の接頭符号の１つの符号語と関連している。以下に概説された実施例によれば、少なくともエンコーダ３１０およびデコーダ３２２のいくつかは以下のように作動する。ビン３０７の特定のシーケンスを符号化するために、第１の接頭符号の符号語がバッファ３０８から読み込まれるときはいつでも、第２の接頭符号の対応する符号語がビット・ストリーム３１２に書き込まれる。このようなビット・ストリームを復号化するために同様の手順が用いられるが、第１および第２の接頭符号で置き換えられる。すなわち、ビット・ストリーム３２４を復号化するために、第２の接頭符号の符号語がそれぞれのビット・ストリーム３２４から読み込まれるときはいつでも、第１の接頭符号の対応する符号語がバッファ３２０に書き込まれる。
【００９０】
都合のよいことに、後述する符号は、参照表を必要としない。符号は、有限状態マシンの形で実行可能である。ここで現れるｖ２ｖ−コードは、符号語のために大きな表を格納する必要がないような単純な構造規則によって生成されることができる。その代わりに、単純なアルゴリズムは、符号化または復号化を行うために用いることができる。３つの構造規則は以下に記載され、それらのうちの２つがパラメータ化されることができる。それらは前述の確率間隔の異なるバラバラの部分をカバーし、したがって、平行に（各々がエンコーダ／デコーダ１１および２２の異なるもののために）あるか、またはそれらのうちの２つの全ての３つの符号のように、一緒に使われる場合、特に有利である。後述する構造規則については、任意の確率ｐを有するベルヌーイ・プロセスのために、符号のうちの１つは過剰な符号長に関してよく機能するように、ｖ２ｖ−コードのセットを設計することは可能である。
【００９１】
上述したように、ストリーム３１２および３２４の符号化および復号化は、それぞれのストリームごとに、または、交互配置された方法でそれぞれに実行されることもできる。しかしながら、これはｖ２ｖ−コードの示された種類に特有でなく、従って、特定の符号語の符号化および復号化だけは以下の３つの構造規則の各々のために記載されている。しかしながら、それは、強調される、交互配置された解決策に関する前記実施例の全ては、現在記載されている符号またはエンコーダおよびデコーダ３１０および３２２に、それぞれ結合可能である。
【００９２】
構造規則１：「単項ビンパイプ（ｕｎａｒｙ  ｂｉｎ  ｐｉｐｅ）」コードまたはエンコーダ／デコーダ３１０および３２２
【００９３】
単項ビンパイプ・コード（ＰＩＰＥ＝確率間隔分割エントロピー（probability interval partitioning entropy））はいわゆる「ビンパイプ」コード、すなわち個々のビット・ストリーム１２および２４のいずれかの符号化に適しているコードの特別版であり、各々が前述の確率範囲［０；０．５］の特定の確率部分区間に帰属しているバイナリのシンボル統計値のデータを転送する。ビンパイプ・コードの構造は、最初に記載されている。ビンパイプ・コードは、少なくとも３つの符号語を有するいかなる接頭符号からも構成されることができる。ｖ２ｖ−コードを形成するために、第１および第２の符号として接頭符号を使用するが、第２の接頭符号の２つの符号語で交換される。これは、２つの符号語を除いて、ビンがビット・ストリームに変えられることなく書き込まれることを意味する。この技術については、１つの接頭符号だけは、２つの符号語が交換されて、メモリの消費が減らされる情報とともに格納されることを必要とする。異なる長さの符号語を交換することは道理にかなうものであり、さもなければ、ビット・ストリームはビンストリームと同じ長さを有する（ビンストリームの終わりに発生することができる無視効果）ことになるからであることに注意されたい。
【００９４】
この構造規則のため、ビンパイプ・コードの目立った特性は、第１および第２の接頭符号が交換される（符号語のマッピングが保持される）場合、結果として生じるｖ２ｖ−コードが、オリジナルのｖ２ｖ−コードと同一であるということである。したがって、符号化アルゴリズムおよび復号化アルゴリズムは、ビンパイプ・コードで同一である。
【００９５】
単項ビンパイプ・コードは、特別な接頭符号から構成される。この特別な接頭符号は、以下の通りに作成される。第１に、ｎ個の符号語で構成される接頭符号は、「０１」、「００１」、「０００１」、・・・から始めて、符号語が作成されるまで生成される。ｎは、単項ビンパイプ・コードのパラメータである。最も長い符号語から、一続きの１は取り除かれる。これは、短縮単項符号（しかし、符号語「０」なしで）に対応する。それから、ｎ−１単項符号語は、「１０」、「１１０」、「１１１０」、・・・から始めて、ｎ−１符号語が作成されるまで生成される。これらの符号語で最も長いものから、一続きの０は取り除かれる。これらの２つの接頭コードの結合セットは、単項ビンパイプ・コードを生成するための入力として用いられる。交換される２つの符号語は、０ｓから構成されるだけのものおよび１ｓから構成されるだけのものである。
【００９６】
ｎ＝４に関する実施例：
Ｎｒ      第１      第２
１      ００００    １１１
２      ０００１    ０００１
３      ００１      ００１
４      ０１        ０１
５      １０        １０
６      １１０      １１０
７      １１１      ００００
【００９７】
構造規則２：「Unary to rice」コードおよび Unary to rice エンコーダ／デコーダ１０および２２：
【００９８】
Unary to rice コードは、第１のコードとして短縮単項コードを使用する。すなわち、単項符号語は、「１」、「０１」、「００１」、・・・から始めて２n+１符号語が発生するまで生成され、最も長い符号語から、一続きの１が取り除かれる。ｎは、unary to rice コードのパラメータである。第２の接頭符号は、以下の通りに第１の接頭コードの符号語から構成される。０ｓから構成されるだけの第１の符号語に対して、符号語「１」が割り当てられる。他の全ての符号語は、第１の接頭符号に対応する０ｓの番号のｎ−ビットバイナリ表現を有する符号語「０」の連結で構成される。
【００９９】
ｎ＝３に関する実施例：
Ｎｒ      第１                第２
１        １                  ００００
２        ０１                ０００１
３        ００１              ００１０
４        ０００１            ００１１
５        ００００１          ０１００
６        ０００００１        ０１０１
７        ００００００１      ０１１０
８        ０００００００１    ０１１１
９        ００００００００１  １
これは、無限単項符号をriceパラメータを有するriceコードにマッピングするのと同じであることに注意。
【０１００】
構造規則３：スリービンコード（Ｔｈｒｅｅ  ｂｉｎ  ｃｏｄｅ）
スリービンコードは次のように与えられる。
Ｎｒ      第１      第２
１      ０００      ０
２      ００１      １００
３      ０１０      １０１
４      １００      １１０
５      １１０      １１１００
６      １０１      １１１０１
７      ０１１      １１１１０
８      １１１      １１１１１
【０１０１】
第１の符号（シンボルシーケンス）は固定長（常に３つのビン）のものであり、符号語は１ｓの昇順場号によって選別される。
【０１０２】
スリービンコードの効率的な実施態様は、次に記載されている。スリービンコードのためのエンコーダおよびデコーダは、以下のようにして格納テーブルなしで行うことができる。
【０１０３】
エンコーダ（１０のいずれか）において、３つのビンは、ビンストリーム（すなわち、７）から読み込まれる。これらの３つのビンが正確に１つの１を含む場合、符号語「１」がビット・ストリームに書き込まれ、続いて１つ（００を有する右側から始まる）の位置のバイナリの表現からなる２つのビンが続く。３つのビンが正確に１つの０を含む場合、符号語「１１１」がビット・ストリームに書き込まれ、続いて０（００を有する右側から始まる）の位置のバイナリの表現からなる２つのビンが続く。残りの符号語「０００」および「１１１」は、それぞれ、「０」および「１１１１１」にマッピングされる。
【０１０４】
デコーダ（２２のいずれか）において、１つのビンまたはビットは、それぞれのビット・ストリーム２４から読み込まれる。それが「０」に等しい場合、符号語「０００」はビンストリーム２１に復号化される。それが「１」に等しい場合、更に２つのビンがビット・ストリーム２４から読み込まれる。これらの２つのビットが「１１」に等しくない場合、それらは数のバイナリの表現と解釈され、１の位置が数で決定されるように、２つの０および１つの１はビット・ストリームに復号化される。２つのビットが「１１」に等しい場合、更に２つのビットが読み込まれて、数のバイナリの表現と解釈される。この数が３より小さい場合、２つの１および１つの０は復号化され、数は０の位置を決定する。それが３に等しい場合、「１１１」がビンストリームに復号化される。
【０１０５】
単項ビンパイプ・コードの効率的な実施は、以下に記載されている。単項ビンパイプ・コードのためのエンコーダおよびデコーダは、カウンタを用いて能率的に行うことができる。ビンパイプ・コードの構造のため、ビンパイプ・コードの符号化および復号化は、実行するのが容易である。
【０１０６】
エンコーダ（１０のいずれか）において、符号語の第１のビンが「０」に等しい場合、「１」が発生するまで、または、ｎ個の０が読み込まれる（符号語の最初の「０」を含む）まで、ビンは処理される。「１」が発生する場合、読み込まれたビンは不変のビット・ストリームに書き込まれる。さもなければ（すなわち、ｎ個の０が読み込まれると）、ｎ−１個の１がビット・ストリームに書き込まれる。符号語の第１のビンが「１」に等しい場合、「０」が発生するまで、または、ｎ−１個の１が読み込まれる（符号語の最初の「１」を含む）まで、ビンは処理される。「０」が発生する場合、読み込まれたビンは不変のビット・ストリームに書き込まれる。さもなければ（すなわち、ｎ−１個の１が読み込まれると）、ｎ個の０がビット・ストリームに書き込まれる。
【０１０７】
デコーダ（３２２のいずれか）において、これは上述のものと同じビンパイプ・コードであるから、同じアルゴリズムがエンコーダに関するのと同様に用いられる。
【０１０８】
単項から rice コードまでの効率的な実施が、以下に記載されている。単項からriceコードのためのエンコーダおよびデコーダは、今から述べるようなカウンタを使用して能率的に行うことができる。
【０１０９】
エンコーダ（３１０のいずれか）において、１が発生するまで、または、２n個の０が読み込まれるまで、ビンはビンストリーム（すなわち７）から読み込まれる。０の数は、計数される。計数された数が２nに等しい場合、符号語「１」がビット・ストリームに書き込まれる。さもなければ、「０」が書き込まれ、計数された数のｎビットで書かれたバイナリの表現が続く。
【０１１０】
デコーダ（３２２のいずれか）において、１ビットが読み込まれる。それが「１」に等しい場合、２n個の０はビンストリングに復号化される。それが「０」に等しい場合、ｎより多くのビットが読み込まれて、数のバイナリ表現として解釈される。０のこの数はビンストリームに復号化され、「１」が続く。
【０１１１】
2019050610.tif 000007
【０１１２】
2019050610.tif 000008
【０１１３】
2019050610.tif 000009
【０１１４】
2019050610.tif 000010
【０１１５】
2019050610.tif 000011
【０１１６】
また、エンコーダのエントロピーの所定の１つは、所定のエントロピー符号器に送られるシンボルをそれぞれのビット・ストリームに変換する際に、三重項における所定のエントロピー符号器に対して、（１）三重項がａで構成されている場合、所定のエントロピー符号器がそれぞれのビット・ストリームに符号語（ｃ）を書くように構成されているか、（２）三重項が確かに１つのｂで構成されている場合、それぞれのビット・ストリームに対して所定のエントロピー符号器が接頭辞として（ｄ）を有する符号語および接尾辞として三重項におけるｂの位置の２−ビット表現を書くように構成されているか、（３）三重項が確かに１つのａで構成されている場合、それぞれのビット・ストリームに対して所定のエントロピー符号器が接頭辞として（ｄ）を有する符号語および接尾辞として第１のセットのエレメントでない第１の２−ビット・ワードの連続および三重項における位置ａの２−ビット表現を書くように構成されているか、（４）三重項がｂで構成されている場合、所定のエントロピー符号器がそれぞれのビット・ストリームに対して接頭辞として（ｄ）を有する符号語および接尾辞として第１のセットのエレメントでない第２の２−ビット・ワードの連続および第２のセットのエレメントでない第１の２−ビット・ワードの連続を書くように構成されているかどうかについて調べるように構成される。
【０１１７】
2019050610.tif 000012
【０１１８】
エントロピー符号器の第１のサブセットの各々は、それぞれのビット・ストリームをシンボルに変換する際に、（１）第１のビットが０｛０，１｝に等しい場合、それぞれのエントロピー符号器が、（１．１）ｂ≠ａでｂ０｛０，１｝であるｂが第１のビットに続く次のｎ−１ビットの中に発生する場合、それぞれのエントロピー復号器がそれぞれのビット・ストリームの次のビットが続く第１のビットに等しいシンボルのシーケンスをビットｂまで再現するように構成されているか、または（１．２）第１のビットに続く次のｎ−１ビットの中でｂが発生しない場合、それぞれのエントロピー復号器が（ｂ，・・・，ｂ）ｎ−１に等しいシンボルのシーケンスを再現するように構成されているかどうかに関して決定するそれぞれのビット・ストリームの次のビットを調べるように構成されているか、または、（２）第１のビットがｂに等しい場合、それぞれのエトロピー復号器が、（２．１）第１のビットに続く次のｎ−２ビットの中でａが発生する場合、それぞれのエントロピー復号器がそれぞれのビット・ストリームの次のビットが続く第１のビットに日等しいシンボルのシーケンスをシンボルａまで再現するように構成されているか、または（２．１）第１のビットに続く次のｎ−２ビットの中でａが発生しなかった場合、それぞれのエントロピー復号器が（ａ，・・・，ａ）nに等しいシンボルのシーケンスを再現するように構成されているかどうかに関して決定するそれぞれのビット・ストリームの次のビットを調べるように構成されているかどうかに関して決定するために、それぞれのビット・ストリームの第１のビットを調べるように構成されている。
【０１１９】
2019050610.tif 000013
【０１２０】
2019050610.tif 000014
【０１２１】
2019050610.tif 000015
【０１２２】
2019050610.tif 000016
【０１２３】
現在、ビデオ符号化方式の一般の概念を記載した後に、本発明の実施例は、前記実施例に関して記載される。換言すれば、以下で概説される実施例は上記の方式を用いて実施されることができ、その逆も同じであり、上記の符号化方式は下で概説される実施例を使っておよび有効に使用して行うことができる。
【０１２４】
図７〜９に関して記載されている前記実施例において、図１〜６のエントロピー符号器および復号器は、ＰＩＰＥ概念に従って行われた。１つの特別な実施例は、算術的に１つの確率状態の符号器／複合器３１０および３２２を使用した。後述するように、別の実施例によれば、構成要素３０６〜３１０および対応する構成要素３１８〜３２２は一般のエントロピー符号化エンジンと置き換えられることができる。例えば、更に後述するように、算術的な符合化エンジンを考えると、それは単に１つの一般の状態ＲおよびＬを管理し、全てのシンボルを１つの共通のビット・ストリームに符合化し、それにより、並列処理に関して現在のＰＩＰＥ概念の有利な態様を断念するが、部分的なビット・ストリームの交互配置の必要性を回避する。この際、コンテキストの確率がアップデート（例えば、ルックアップを表に記入する）によって推定される確率状態の数は、確率間隔副区分が実行される確率状態の数より高くてもよい。すなわち、テーブルＲｔａｂにインデックスをつける前に確率間隔幅値を量子化することに類似して、確率状態インデックスは、量子化されることができる。１つの符号器／復号器３１０および３２２のため可能な実施態様のための前記説明は、このように、コンテキスト適応二進演算符号化／復号化エジンのように、エントロピー符号器／復号器３１８〜３２２／３０６〜３１０の実現の実施例に拡張することができる。
【０１２５】
より正確には、実施例によれば、パラメータ割当て器（ここでは、コンテキスト割当て器して作用する）の出力に取り付けられるエントロピー符号器は、以下のように作動することができる。
【０１２６】
2019050610.tif 000017
【０１２７】
同様に、パラメータ割当て器（ここでは、コンテキスト割当て器として作用する）の出力に取り付けられるエントロピー復号器は、以下のようにして作動することができる。    
【０１２８】
2019050610.tif 000018
【０１２９】
上述のように、割当て器４は、ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］を各ビンに割り当てる。関連は、コンテキスト選択に基づいて行われる。すなわち、割当て器４は、それと関連するそれぞれのｐＳｔａｔｅ＿ｃｕｒｒｅｎｔを有するコンテキストインデックスｃｔｘＩｄｘを使用しているコンテキストを選択することができる。確率アップデートはそれぞれの時間に実行され、確立ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］は現在のビンに適用された。確率状態ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］のアップデートは、符号化ビットの値に応じて実行される。
【０１３０】
2019050610.tif 000019
【０１３１】
１つ以上のコンテキストが設けられている場合、適合はコンテキスト的に行われ、すなわち、ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｃｔｘＩｄｘ］が、符号化のために使用され、そして、現在のビン値（それぞれ、符号化されるか復号化される）を用いてアップデートされる
【０１３２】
以下において更に詳細に概説されるように、現在記載されている実施例によれば、エンコーダおよびデコーダは異なるモード、すなわち、低複雑性（ＬＣ）および高効率（ＨＥ）モードで作動するように任意に行うことができる。これは以下のＰＩＰＥ符号化に関して主に例示される（そして、ＬＣおよびＨＥ  ＰＩＰＥモードに言及している）が、複雑性の拡張の詳細の説明は、１つの共通のコテクスト適応算術符号器／復号器を用いた実施例のようなエントロピー符合化／復号化エンジンの他の実施例に容易に移転可能である。
【０１３３】
以下で概説される実施例によれば、両方のエントロピー符号化モードは、分担することができる。
・同じ構文および動作（それぞれ、構文要素シーケンス３０１および３２７のために）
・全ての構文要素のための同じ二値化スキーム（現在、ＣＡＢＡＣのために規定されているように）（すなわち、二値化器は作動されたモードにかかわりなく動作することがで
きる）
・同じＰＩＰＥコードの使用（すなわち、ビン符号器／復号器は、起動するモードにかかわりなく作動することができる）
・８ビット確率モデル初期化値の使用（現在ＣＡＢＡＣのために特定されているような１６ビット初期化値の代わりに）
【０１３４】
一般的に言って、（例えば、各ビンのためのＰＩＰＥ経路３１２を選択する複雑性のように、ＬＣ−ＰＩＰＥは、処理の複雑性においてＨＥ−ＰＩＰＥとは異なる。
【０１３５】
たとえば、ＬＣモードは、以下の制約の下で作動することができる。各ビン（ｂｉｎＩｄｘ）に対して、確かに１つの確率モデル（すなわち１つのｃｔｘＩｄｘ）がある。すなわち、コンテキスト選択／適合は、ＬＣ  ＰＩＰＥにおいて提供されることができない。以下において更に概説されるように、残余の符号化のために使用されるそれらのような特定の構文要素は、コンテキストを用いて符合化される。さらに、全ての確率モデルは非適応可能でもよく、すなわち、すべてのモデルは（スライス・タイプおよびスライスＱＰの選択に応じて）適当なモデル確率で各スライスの始めに初期化され、スライスの処理の全体にわたって固定するように保たれることができる。たとえば、コンテキスト・モデリングおよび符号化の両方のために、８つの異なるＰＩＰＥ符合３１０／３２２に対応する８つの異なるモデル確率だけは支持されることができる。残余の符号化のための特定の構文要素、すなわち、ｓｉｇｎｉｆｉｃａｎｃｅ＿ｃｏｅｆｆ＿ｆｌａｇおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒＸ（Ｘ＝１，２）は、その動作は以下において概説されるが、例えば。４つの構文要素の（少なくとも）グループが、同じ確率で符号化／復号化されるように、確率モデルに割り当てられることができる。ＣＡＶＬＣと比較して、ＬＣ−ＰＩＰＥモードは、概略的に同じＲＤパフォーマンスおよび同じスループットを成し遂げる。
【０１３６】
ＨＥ−ＰＩＰＥは、概念的には以下の違いを有するＨ．２６４のＣＡＢＡＣと類似しているように構成されることができる：二進演算符号化（ＢＡＣ）は、ＰＩＰＥ符号化（ＬＣ−ＰＩＰＥケースにおけるのと同様に）と置き換えられる。各確率モデル、すなわち各ｃｔｘＩｄｘは、ｐｉｐｅＩｄｘおよびｒｅｆｉｎｅＩｄｘによって表されることができ、０・・・７からの範囲内の値を有するｐｉｐｅＩｄｘは、８つの異なるＰＩＰＥ符合のモデル確率を表す。この変化は、状態機械（すなわち確率評価）自体の動きではなく、状態の内部表現だけに影響を及ぼす。以下において更に詳細に概説するように、確率モデルの初期化は、上述したように、８ビットの初期化値を使用することができる。構文要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒＸ（Ｘ＝１，２）、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ３およびｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ（その動作は、以下の考察から明白になる）の後方へのスキャニングは、（例えば、重要性マップ符号化において使用する）前方へのスキャンと同じ走査経路に沿って実行することができる。ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒＸ（Ｘ＝１，２）の符号化のためのコンテキスト派生は、単純化されることもできる。ＣＡＢＡＣと比較して、提唱されたＨＥ―ＰＩＰＥは、より良好なスループットで概略的に同じＲＤパフォーマンスを成し遂げる。
【０１３７】
ちょうど言及されたモードが、例えば、異なるモードで作動するように、前述のコンテキスト適応二進演算符号化／復号化エンジンをレンダリングすることによって直ちに発生するということを知ることは、容易である。
【０１３８】
このように、本発明の第１の態様に従う実施例によれば、データ・ストリームを復号化するためのデコーダは、図１１に示すように作製されることができる。デコーダは、その中にビデオ・データのようなメディアデータが符号化された、交互配置したビット・ストリーム３４０のようなデータ・ストリーム４０１を復号化するためにある。デコーダは、データ・ストリーム４０１に応じて低複雑性モードまたは高効率モードを作動させるように構成されるモード・スイッチ４００を含む。この目的で、データ・ストリーム４０１は、作動する１つである低複雑性モードの場合には１のバイナリの値を有し、作動する１つである高効率モードの場合には０のバイナリの値を有する、例えばバイナリの構文要素のような構文要素を含む。明らかに、バイナリの値および符号化モードの間の関連は切替えられることができ、２つ以上の可能な値を有する非バイナリの構文要素が同様に用いられることができる。両方のモード間の実際の選択がそれぞれの構文要素の受理の前にはまだ明らかであるというわけではないので、この構文要素は、例えば、固定確率評価または確率モデルで符号化されて、またはバイパスモードを用いてそのままデータ・ストリーム４０１に書き込まれて、データ・ストリーム４０１のいくつかの主要なヘッダ内に含まれる
ことができる。
【０１３９】
さらに、図１１のデコーダは、各々がデータ・ストリーム４０１の符号語をシンボルの部分的なシーケンス３２１に変換するように構成された複数のエントロピー復号器３２２を含む。上述の通り、デインターリーバ４０４は、一方ではエントロピー復号器３２２の入力の間に接続され、他方では、データ・ストリーム４０１が適用される図１１のデコーダの入力に接続される。さらに、すでに上述したように、エントロピー復号器３２２の各々はそれぞれの確率間隔と関連し、絶対のシンボル値よりむしろＭＰＳおよびＬＰＳを取扱うエントロピー復号器３２２の場合、さまざまなエントロピー復号器の確率間隔が０から１まで−または０から０．５まで一緒に全ての確率間隔をカバーする。この問題に関する詳細は上述した。後ほど、各デコーダに割り当てられているＰＩＰＥインデックスを有するデコーダ３２２の数が８であると仮定されるが、他のいかなる数も可能である。さらに、以下において見本としてｐｉｐｅ＿ｉｄ  ０を有するこれらの符号器の１つは、同程度の確率がある統計値を有するビンのために最適化される、すなわちそれらのビン値は高い確率で１および０が平等にあるものとみなされる。これほどに、デコーダは、単にビンを渡すことができるだけである。それぞれのエンコーダ３１０は、同じように動作する。セレクタ４０２および５０２によって最もありそうなビン値、ｖａｌＭＰＳ、の値によるいかなるビン操作さえも、それぞれ、離れておかれることができる。換言すれば、それぞれの部分的なストリームのエントロピーは、すでに最適である。
【０１４０】
さらに、図１１のデコーダは、シンボルのシーケンス３２６の各シンボルを複数のエントロピー復号器３２２の選択された１つから検索するように構成されるセレクタ４０２を含む。上述したように、セレクタ４０２は、パラメータ割当て器３１６およびセレクタ３１８に分離されもよい。デシンボライザ３１４は、構文要素のシーケンス３２７を得るためにシンボルのシーケンス３２６を非記号化するように構成される。再現器４０４は、構文要素３２７のシーケンスに基づいてメディア・データ４０５を再現するように構成される。セレクタ４０２は、矢印４０６によって示されているように、低複雑性モードおよび高効率モードの動作する１つに応じて選択を実行するように構成される。
【０１４１】
すでに上述したように、再現器４０４は構文要素の一定の構文および動作に作用している、すなわち、モード・スイッチ４００によってモード選択と関連して固定した前兆となるブロック・ベースのビデオデコーダの一部でもよい。すなわち、再現器４０４の構造は、モード切替可能性に悩まされることはない。より正確であるために、再現器４０４はモードスイッチ４００によって示されるモード切替可能性により実施オーバーヘッドを増やすことはなく、残余のデータに関して少なくとも機能性および予測データが残り、それはスイッチ４００によって選択されるモードに関係ない。しかしながら、同じことは、エントロピー復号器３２２に関してあてはまる。すべてのこれらのデコーダ３２２は両方のモードで再利用され、したがって、図１１のデコーダが両方のモード、低複雑性および高効率モードと互換性を持つにもかかわらず、追加の実施オーバーヘッドがない。
【０１４２】
付随する態様として、図１１のデコーダが１つのモードまたは他のモードの自己充足的なデータ・ストリームに作用することが可能であるだけでない点に留意する必要がある。むしろ、例えばバッテリーの状態などのような外部のまたは環境の状態に応じた復号側における符号化複雑性を制御するために、結果的にモデル選択の固定ループ制御をするためにデコーダからエンコーダへのフィードバックチャネルを用いて、ビデオまたはいくらかのオーディオ要素の間のようなメディアデータの１つの要素の間に、両方のモードの間の切り替えが可能であるように、図１１のデコーダがデータ・ストリーム４０１と同様に構成される。
【０１４３】
このように、選択されているＬＣモードまたは選択されているＨＥモードの場合には、図１１のデコーダは、同じようにいずれの場合においても作動する。再現器４０４は、構文要素を用いて再現を実行して、いくらかの構文構造規定を処理するかまたは従うことによって、所定の構文要素タイプの現在の構文要素を要求する。デシンボライザ３１４は、再現器４０４によって要求される構文要素のための有効な２値化を生み出すために、複数のビンを要求する。明らかに、バイナリのアルファベットの場合には、デシンボライザ３１４によって実行される２値化は、現在要求されているバイナリの構文要素として再現器４０４にそれぞれのビン／シンボル３２６を通すだけにまで減少する。
【０１４４】
しかしながら、セレクタ４０２は、それぞれに、モード・スイッチ４００によって選択されるモードに従って行動する。セレクタ４０２の作動のモードは、高効率モードの場合にはより複雑な、および低複雑性モードの場合にはより複雑でない傾向がある。さらに、以下の説明は、より複雑でないモードにおけるセレクタ４０２の作動のモードも、セレクタ４０２が連続的なシンボルをエントロピー復号器３２２から検索する際のエントロピー復号器３２２の中の選択を変える率を低下させる傾向があることを示す。換言すれば、低複雑性モードで、直ちに連続的なシンボルが複数のエントロピー復号器３２２の中の同じエントロピー復号器から検索されるという増加した確率がある。これは、次に、エントロピー復号器３２２からシンボルのより速い検索を可能にする。高効率モードにおいて、次に、セレクタ４０２の作動のモードは、それぞれの選択されたエントロピー復号器３２２と関連した確率間隔がより密接に、セレクタ４０２によって現在検索されるシンボルの実際のシンボル統計値に適合するエントロピー復号器３２２の中の選択に至る傾向があり、それによって、高効率モードに従うそれぞれのデータ・ストリームを生成するときに、符号化側でより良好な圧縮比を得る。
【０１４５】
たとえば、両方のモードにおけるセレクタ４０２の異なる反応は、以下の通りに理解されることができる。たとえば、セレクタ４０２は、所定のシンボルのために、高効率モードが作動している場合にはシンボルのシーケンス３２６の前に検索されたシンボルに応じて、低複雑性モードが作動している場合にはシンボルのシーケンスの以前に検索されたシンボルから独立して、複数のエントロピー復号器３２２の中の選択を実行するように構成されることができる。シンボルのシーケンス３２６の以前に検索されたシンボルへの依存は、コンテキスト適応および／または確率適応に起因することができる。両方の適応は、セレクタ４０２の低複雑性モードの間、スイッチを切られることができる。
【０１４６】
更なる実施例によれば、データ・ストリーム４０１はスライス、フレーム、画像のグループ、フレーム・シーケンス等のような連続的な部分に構築されることができ、シンボルのシーケンスの各シンボルは複数のシンボル・タイプのそれぞれの１つと関連している。この場合、セレクタ４０２は、現在の部分内の所定のシンボル・タイプのシンボルのために、高効率モードが作動している場合には現在の部分内で所定のシンボル・タイプのシンボルのシーケンスの以前に検索されたシンボルに応じて選択を変化させるように構成され、低複雑性モードが作動している場合には、選択を現在の部分内で一定のままにすることができる。すなわち、セレクタ４０２はエントロピー復号器３２２の中の選択を所定のシンボル・タイプに変えることができるが、これらの変化は連続的な部分との間の移行との間に発生することを制限される。この計測によって、符号化複雑性が時間の大部分の中で減らされると共に、実際のシンボル統計値の評価はめったに発生しないタイムインスタンスに制限される。
【０１４７】
さらに、シンボルのシーケンス３２６の各シンボルが複数のシンボル・タイプのそれぞれの１つに関連し、セレクタ４０２は、所定のシンボル・タイプの所定のシンボルのために、シンボルのシーケンス３２６の以前に検索されたシンボルに応じて複数のコンテキストの１つを選択するとともに、高効率モードが作動している場合に、所定のシンボルに応じて選択されたコンテキストと関連する確率モデルに応じてエントロピー復号器３２２の間で選択を実行するように構成され、低複雑性モードが作動している場合に、シンボルのシーケンス３２６の以前に検索されたシンボルに応じて複数のコテクストの１つを選択するとともに、選択されたコンテキスト定数と関連する確率モデルから離れるとともに選択されたコンテキストと関連する確率モデルに応じてエントロピー復号器３２２の間で選択を実行するように構成される。
【０１４８】
あるいは、完全に確率適合を抑制する代わりに、セレクタ４０２は、単にＨＥモードと関連してＬＣモードの確率適合のアップデート率を低下させることができるだけである。
【０１４９】
さらに、可能なＬＣ−ｐｉｐｅ−ｓｐｅｃｉｆｉｃ  ａｓｐｅｃｔｓ、すなわちＬＣモードの態様は、換言すれば以下の通りに記載されていることができる。特に、非適応確率モデルが、ＬＣモードで用いられることができる。非適応確率モデルはハードコードされたもの、すなわち、全体の一定の確率またはその確率のいずれかがスライスだけの処理の全体にわたって固定されるように保たれることができ、このようにスライス・タイプおよびＱＰ、すなわち、例えば、各スライスのためのデータ・ストリーム４０１の中で信号を送った品質パラメータに応じて設定されることができる。同じコンテキストに割り当てられる連続したビンが固定確率モデルに続くと仮定することによって、それらが、同じパイプコードを用いて、すなわち、同じエントロピー復号器を使用して符号化されるため、１つのステップでのそれらのビンのいくつかを復号化することは可能であり、各復号化ビンの後の確率アップデートは省略される。確率アップデートを省略することは、符号化および復号化プロセスの間、動作を保存して、複雑性減少およびハードウェア設計の重要な簡略化に至る。
【０１５０】
特定の数のビンがこのモデルを用いて符号化／復号化された後に確率アップデートが許容されるというような方法で、非適応制約は全てまたは若干の選択された確率モデルのために容易にされることができる。適当なアップデート間隔は確率適合を可能にし、すぐにいくつかのビンを復号化する能力を得る。
【０１５１】
以下に、ＬＣ−ｐｉｐｅおよびＨＥ−ｐｉｐｅの可能な一般のおよび複雑性計測可能な態様のより詳細な説明が示される。特に、以下において、同一方法で、または複雑性計測可能な方法でＬＣ−ｐｉｐｅモードおよびＨＥ−ｐｉｐｅモードのために用いられる態様が記載されている。複雑性計測可能な方法は、ＬＣ−ｃａｓｅが特定の部分を除去するか、それらをより複雑でない何かに置き換えることによってＨＥ−ｃａｓｅから引き出されることを示している。しかしながら、それとともに処理する前に、図１１の実施例が、上述のコンテキスト適応二進演算符号化／復号化の実施例上へ容易に移転可能であると述べられるべきであり：セレクタ４０２およびエントロピー復号器３２２が凝集して、直接データ・ストリーム４０１を受信し、現在データ・ストリームから引き出されるビンのためのコンテキストを選択するコンテキスト適応二進演算デコーダになる。これは、特にコンテキスト適応および／または確率適応にとって真実である。低い複雑性モードの間、両方の機能／適応は、スイッチオフされるか、またはより緩和して設計されることができる。
【０１５２】
たとえば、図１１の実施例を実施する際に、エントロピー復号器３２２を含むパイプ・エントロピー符号化ステージは、８つの組織的なｖａｒｉａｂｌｅ−ｔｏ−ｖａｒｉａｂｌｅ−ｃｏｄｅｓを使用することができる、すなわちエントロピー復号器３２２が上記されているｖ２ｖタイプのものであることができる。組織的なｖ２ｖ−コードを使用しているＰＩＰＥ符号化概念は、ｖ２ｖ−コードの数を制限することによって単純化される。コンテキスト適応二進演算デコーダの場合、それは、異なるコンテキストのための同じ確率状態を管理することができ、それ−またはその復号化されたバージョン−を使用することができる。ＣＡＢＡＣまたは確率モデル状態、すなわち確率アップデートのために用いられる状態−のＰＩＰＥｉｄｓまたはルックアップのための確率インデックスのＲｔａｂへのマッピングは、表Ａにて図示されるようなものである。
【０１５３】
【表５】
2019050610.tif 000020
【０１５４】
この修正された符号化スキームが、複雑性計測可能なビデオ符号化アプローチの根拠として用いられることができる。確率モード適合を実行するときに、セレクタ４０２またはコンテキスト適応二進演算デコーダが、それぞれ、ＰＩＰＥ復号器３２２を選択する、すなわち、それぞれ、確率状態インデックスに基づいて、使用されるパイプ・インデックスおよび確率インデックスをＲｔａｂに引き出し、表Ａに示されるマッピングを用いて−例えばコンテキストを介して−現在復号化されたシンボルであるのに関連して−ここで、見本として０から６２にわたって−確率状態インデックスに基づいており、それぞれ、例えば、ＭＰＳおよびＬＰＳの場合に訪れる次の確率状態インデックスに示す遷移値を歩く特定の表を用いて、現在復号化されているシンボルに応じてこの確率状態インデックスをアップデートする。
【０１５５】
しかしながら、任意のエントロピー符号化セットアップが使われることができ、この文書の技術が小さい適合によって用いられることもできる。
【０１５６】
図１１の前記説明は、むしろ通常、構文要素および構文要素タイプに関連している。以下に、変換係数レベルの複雑性可変符号化が記載されている。
【０１５７】
たとえば、再現器４０４は作動している高効率モードまたは低複雑性モードから独立している構文要素の一部のシーケンスに基づいて変換係数レベル２０２を再現するように構成され、構文要素のシーケンス３２７の部分が、交互配置されない方法で、重要性マップ構文要素が変換ブロック２００内でゼロでない変換係数レベルの位置を示す重要性マップを規定し、（それに続いて）レベル構文要素がゼロでない返還係数レベルを規定する。特に、以下の要素は、含まれることができる：変換ブロック内で最後のゼロでない変換係数レベルの位置を示す端末部位置構文要素（ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｘ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｙ）；共に重要性マップを規定し、変換ブロック（２００）内でＤＣ位置から最後のゼロでない変換係数レベルの位置に導く一次元経路（２７４）に沿った各位置に対して、それぞれの位置の変換係数レベルがゼロでないかどうかを示す第１の構文要素（ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ）；第１のバイナリの構文要素によれば、ゼロでない変換係数レベルが位置する一次元経路（２７４）の各位置に対して、それぞれの位置の変換係数レベルがそれより大きいかどうかを示す第２の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１）；および、第１のバイナリの構文要素によれば、それより大きい変換係数レベルが位置する一次元経路の各位置に対して、それぞれの位置におけるそれぞれの変換係数レベルがそれを超えている数値を明らかにする第３の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３）。
【０１５８】
端部位置構文要素の間の順序、第１、第２および第３の構文要素は高効率モードおよび低複雑性モードに共通し、セレクタ４０２は、作動している低複雑性モードまたは高効率モードに応じて異なって、デシンボライザ３１４が端部位置構文要素、第１の構文要素、第２の構文要素および／または第３の構文要素を得るシンボルのためのエントロピー復号器３２２の中の選択を実行するように構成されることができる。
【０１５９】
特に、低複雑性モードが作動する場合にサブシーケンスの連続的な連続副部分を通じて選択が一定であるように、セレクタ４０２は、デシンボライザ３１４が第１の構文要素および第２の構文要素を得るシンボルの部分列の中の所定のシンボル・タイプのシンボルのために、所定のシンボル・タイプの各シンボルに対してシンボルの部分列の中の所定のシンボル・タイプの以前に検索されたシンボルに応じて複数のコンテキストの１つを選択し、高効率モードが作動している場合には選択されたコンテキストと関連した確率モデルに応じて選択を実行し、部分的一定方法で選択を実行するように構成される。上述の通り、副部分は、一次元の経路２７４に沿って測定されるときにそれぞれの副部分が拡張する位置の数において、または、現在のコンテキストによってすでに符号化されるそれぞれのタイプの構文要素の数において測定されることができる。すなわち、例えば、バイナリの構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２は、ＨＥモードで選択されたコンテキストの確率モデルに基づいてデコーダ３２２を選択することに関して順応する符号化コンテキストである。確率適合が、同様に使われる。ＬＣモードにおいて、バイナリの構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２の各々のために用いられる異なるコンテキストもある。しかしながら、これらの構文要素の各々のために、コンテキストは、経路２７４に沿って次の、直ちに続く部分への移行において単にコンテキストを変えることに関する経路２７４に沿った第１の部分のために変化しないように保たれる。たとえば、各部分は、それぞれの位置に対してそれぞれの構文があるかどうかとは独立して、ブロック２００の４、８、１６位置の長さに定められる。たとえば、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２は、重要な位置、すなわちｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ＝１である位置のために存在するだけである。あるいは、このように結果として生じるそれぞれの部分に対してブロック位置の更に置きい数を超えた拡張であるかどうかとは独立して、４、８、１６構文要素の長さに定められる。たとえば、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２は、重要な位置のために存在するだけであり、このように、４つの構文要素の部分はそれぞれ、この位置のそれぞれのレベルがゼロであるために、この種の構文要素がｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２がないような、そのような構文が送信されない経路２７４に沿ったその間の位置のため、４ブロック以上位置を拡張することができる。
【０１６０】
セレクタ４０２は、デシンボライザが第１の構文要素および第２の構文要素を得るシンボルのサブシーケンスの間の所定のシンボル・タイプのシンボルのために、所定のシンボル・タイプの各シンボルのためにシンボルのサブシーケンス内で所定のシンボル・タイプの以前に検索された複数のシンボルに応じて複数のコンテキストの１つを選択するように構成され、それは、所定のシンボル値を有するとともに同じ副部分に属し、または、同じ副部分に属するシンボルのシーケンス内で所定のシンボル・タイプの以前に検索された複数のシンボルである。第１の変形例は、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１に言えることであり、第２の変形例は、上記の特定実施例に従うｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２にいえることである。
【０１６１】
さらに、検査する第３の構文要素は、第１の構文要素によれば、それより大きい変換係数レベルが位置する一次元の経路の各位置のために、それぞれの位置におけるそれぞれの変換係数レベルがそれを超える量が整数値の構文要素すなわち、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３を含み、デシンボライザ３１４は、整数値の構文要素の値域にシンボルシーケンス・ワードのドメインをマッピングする制御パラメータによって制御されるマッピング関数を使用するように構成され、高効率モードが作動している場合に以前の第３の構文要素の整数値構文要素に応じて整数値構文要素ごとに制御パラメータを設定し、低複雑性モードが作動している場合に設定がサブシーケンスの連続的な副部分にわたって一定であるように区分的に一定の方法で設定を実行するように構成され、セレクタ４０２は、高効率モードおよび低複雑性モードの両方において、同じ確率分布と関連する整数値構文要素うにマッピングされるシンボルシーケンス・ワードのシンボルのためのエントロピー復号器（３２２）の所定の１つを選択するように構成される。すなわち、デシンボライザでさえスイッチ４００で選択されるモードに応じて動作していることが点線４０７で示されている。制御パラメータの区分的な一定の設定の代わりに、デシンボライザ３１４は、例えば現在のスライスの間、または時間において全体的に一定である間制御パラメータを一定に保つ。
【０１６２】
次に、複雑性計測可能なコンテキストモデリングが記載されている。
【０１６３】
例えば運動ベクトル差構文要素のために、コンテキストモデル・インデックスの導出のための上および左の隣の同じ構文要素の評価が、一般の方法であって、ＨＥケースにおいてしばしば使われる。しかしながら、この評価は、よりバッファ記憶装置を必要とし、構文要素の直接の符号化をすることができない。また、より高い符号化パフォーマンスを成し遂げるために、より利用できる隣は評価されることができる。
【０１６４】
好ましい実施例において、隣接する正方形または長方形ブロックまたは予測ユニットの構文要素を評価している全てのコンテキスト・モデリング・ステージは、１つのコンテキストモデルに決定される。これは、コンテキストモデル選択ステージの適応を無効にすることに等しい。その好ましい実施例のために、二値化の後のビン文字列のビンインデックスに応じたコンテキストモデル選択は、ＣＡＢＡＣのための現在の設計と比較して修正されない。別の好ましい実施態様では、構文要素のための固定されたコンテキストモデルが隣の評価を採用するのに加えて、異なるビンインデックスのためのコンテキストモデルは固定される。説明が変換係数レベルの符号化に関連した動きベクトル差および構文要素のための２値化およびコンテキストモデル選択を含まないことに注意されたい。
【０１６５】
好ましい実施例において、左の隣の評価だけは、許容される。最後のブロックまたは符号化ユニット・ラインがもう格納される必要がないので、これは処理チェーンの減少したバッファにつながる。別の好ましい実施例では、同じ符号化装置に存在している隣だけは、評価される。
【０１６６】
好ましい実施例において、すべての利用できる隣は、評価される。たとえば、上部および左の隣に加えて、左上、右上および左下隣は、有効性の場合には評価される。
【０１６７】
すなわち、図１１のセレクタ４０２は、メディア・データの所定のブロックに関連する所定のシンボルのために、複数のコンテキストのうちの１つを選択して、選択されたコンテキストと関連した確率モデルに応じてエントロピー復号器３２２の中の選択を実行するために高効率モードが作動している場合には、メディア・データの異なる隣接ブロックのより高い数に関するシンボルのシーケンスの以前に検索されたシンボルを使用するように構成されることができる。すなわち、隣接ブロックは、時間および／または空間領域において近くにあることができる。空間的に隣接するブロックは、例えば、図１〜３において見ることができる。それから、ちょうど記載されているように、セレクタ４０２はこのことにより記憶オーバーヘッドを減らしているＬＣモードと比較して、ＨＥモードの場合には隣接ブロックのより高い数に関する以前に検索されたシンボルまたは構文要素に基づいて接触適合を実行するためにモード・スイッチ４００によってモード選択に応答してもよい。
【０１６８】
次に、実施例に従う動きベクトル差の減少した複雑性符号化が記載されている。
【０１６９】
Ｈ．２６４／ＡＶＣビデオ・コーデック規格において、マクロブロックと関連した動きベクトルは、現行マクロブロックの動きベクトルおよび中間動きベクトル予測器の間の違い（動きベクトル差−ｍｖｄ）の信号を送ることによって送信される。ＣＡＢＡＣがエントロピー符号器として使われるときに、ｍｖｄは以下の通りに符号化される。整数値のｍｖｄは、絶対部分および符号部分に分割される。絶対部分は、接頭辞および接尾辞と呼ばれる、短縮単項３次のＥｘｐ−Ｇｏｌｏｍｂとの組み合わせを用いて二値化される。Ｅｘｐ−Ｇｏｌｏｍｂに関連したビンが、バイパス・モード、すなわちＣＡＢＡＣでの０．５の固定確率によって符号化されると共に、短縮単項の二値化に関連するビンはコンテキストモデルを用いて符号化される。単項の二値化は、以下の通りに働く。ｍｖｄの絶対のｉｎｔｅｒｇｅｒ−値をｎとすると、結果として生じるビン文字列はｎ回の「１」および１つの後を追う「０」から成る。一例として、ｎ＝４とすると、ビン文字列は「１１１１０」となる。省略した単項の場合には、制限が存在し、値がこの制限を超えると、ビン文字列はｎ+１回の「１」から成る。ｍｖｄの場合は、制限は９に等しい。つまり、９に等しいかそれより大きい絶対ｍｖｄの場合、結果として９回の「１」が生じ、ビン文字列はＥｘｐ−Ｇｏｌｏｍｂ二値化を有する接頭辞および接尾辞から成る。省略した単項部分のためのコンテキストモデリングは、以下の通りにされる。ビン文字列の第１のビンのために、利用できる（利用できない場合、値は０と推定される）場合、上部および左の隣接マクロブロックからの絶対ｍｖｄ値が必要とされる。特定の成分（横であるか垂直方向）の合計が２より大きい場合、第２のコンテキストモデルが選択され、絶対の合計が３２より大きい場合、第３のコンテキストモデルが選択される、そうでなければ（絶対の合計が３より小さい）、第１のコンテキストモデルが選択される。さらに、コンテキストモデルは、各成分によって異なる。ビン文字列の第２のビンのために、第４のコンテキストモデルが用いられ、第５のコンテキストモデルは単項部分の残りのビンのために使用される。絶対ｍｖｄが９に等しい可それより大きい場合、例えば、省略した単項の部分の全てのビンは「１」に等しく、絶対ｍｖｄ値と９との差は３次Ｅｘｐ−Ｇｏｌｏｍｂ二値化を有するバイパス・モードで符号化される。最終工程において、ｍｖｄの符号は、バイパス・モードで符号化される。
【０１７０】
エントロピー符号器としてＣＡＢＡＣを使用したときの最新の符号化技術は、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）プロジェクトの現在のＴｅｓｔ  Ｍｏｄｅｌ（ＨＭ）に定められる。ＨＥＶＣにおいて、ブロック・サイズは可変的であり、動きベクトルによって特定される形状は予測ユニット（ＰＵ）と呼ばれる。上部および左の隣のＰＵサイズは、現在のＰＵより別の形状およびサイズを有することができる。したがって、関連する場合はいつでも、上部および左の隣の定義は、現在のＰＵの上部および左上隅の左隣として現在参照する。符号化そのもののために、第１のビンのための誘導方法だけは、実施例に従って変わることができる。隣からＭＶの絶対合計を評価する代わりに、それぞれの隣は別に評価されることができる。隣の絶対ＭＶが利用でき１６より大きい場合、コンテキストモデル・インデックスは増加して、結果として第１のビンのためのコンテキストモデルと同じ数になり、その一方で、残りの絶対ＭＶＤレベルおよび符号の符号化は正確にＨ．２６４／ＡＶＣと同様になる。
【０１７１】
ｍｖｄの符号化に関する上記の概説された技術において、９以下のビンはコンテキストモデルで符号化されなければならず、その一方で、ｍｖｄの残りの値は符号情報と共に低複雑性バイパス・モードで符号化されることができる。この現在の実施例は、コンテキストモデルで符号化されるビンの数を減らすための技術を記載し、結果として、バイパスの数が増加し、ｍｖｄの符号化のために必要なコンテキストモデルの数を減らす。それのために、カットオフ値は、９から１または２に減少する。つまり、絶対ｍｖｄがゼロより大きいかどうか特定している第１のビンだけがコンテキストモデルを用いて符号化されるか、または、絶対ｍｖｄがゼロより大きいかどうか特定している第１および第２のビンおよびそれがコンテキストモデルを用いて符号化され、その一方で、残りの値はバイパス・モードでおよび／またはＶＬＣコードを用いて符号化されている。単項または短縮単項符号を使用せず、ＶＬＣコードを使用して二値化して得られる全てのビンは、低複雑性バイパス・モードを使用して符号化される。ＰＩＰＥの場合には、ビット・ストリームへの、および、ビット・ストリームからの直接挿入は可能である。さらに、あるとすれば、第１のビンのためのより良好なコンテキストモデル選択を引き出す上部または左の隣の異なる定義が使われることができる。
【０１７２】
好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂコードは、絶対ＭＶＤ成分の残りの部分を二値化するために用いる。それのために、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は可変的である。Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は以下のように引き出される。第１のビンのためのコンテキストモデル、したがって、そのコンテキストモデルのインデックスが引き出されて符号化された後に、インデックスが、Ｅｘｐ−Ｇｏｌｏｍｂ二値化部分を求める命令として用いられる。この好ましい実施例において、第１のビンのためのコンテキストモデルが１−３の範囲にあり、結果としてＥｘｐ−Ｇｏｌｏｍｂコードの命令として使用されるインデックス０〜２をもたらす。この好ましい実施例が、ＨＥケースのために使われることができる。
【０１７３】
絶対のＭＶＤの符号化の２回の５つのコンテキストを使用する上記の概説された技術の変形例において、９つの単項コード二値化ビンを符号化するために、１４のコンテキストモデル（各成分に対して７）が、同様に用いられることができる。たとえば、単項部分の第１および第２のビンは上述の４つの異なるコンテキストで符号化されることができると共に、第５のコンテキストが第３のビンのための使用されることができ、第６のコンテキストが第４のビンに関して使用されることができ、第５〜第９のビンが第７のコンテキストを使用して符号化される。このように、この場合、実に１４のコンテキストが必要とされ、単に残りの値だけは低複雑性バイパス・モードで符号化されることができる。バイパスの増加した数となり、ＭＶＤの符号化のために必要なコンテキストモデルの数を減らす結果となるコンテキストモデルで符号化されるビンの数を減らす技術は、例えば９から１または２などのように、カットオフ値を減少させる。それは絶対ＭＶＤがゼロより大きいかどうか特定している第１のビンだけがコンテキストモデルを用いて符号化され、または、絶対ＭＶＤがゼロより大きいかどうか特定している第１および第２のビンおよびそれはそれぞれのコンテキストモデルを使用して符号化され、その一方で、残りの値はＶＬＣコードによって符号化されることを示す。ＶＬＣコードを用いた２値化から得られる全てのビンは、低複雑性バイパス・モードを使用して符号化される。ＰＩＰＥの場合には、ビット・ストリームへの、および、ビット・ストリームからの直接挿入は可能である。さらに、示された実施例は、第１のビンのためのより良好なコンテキストモデル選択を引き出すために、上部および左の隣の他の定義を使用する。これに加えて、第１の、または第１および第２のビンのために必要なコンテキストモデルの数が減少して更なるメモリ減少に至るように、コンテキストモデリングはいくらか修正される。また、上記の隣のような隣の評価は無効にすることができ、隣のｍｖｄ値の蓄積のために必要なラインバッファ／メモリの節減という結果となる。最後に、成分の符号化順序は、バイパスビンの符号化が続く両方の成分（すなわちコンテキストモデルで符号化されるビン）に接頭ビンの符号化を可能にする方法で分割されることができる。
【０１７４】
好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂコードは、絶対ｍｖｄ成分の残りの部分を二値化するために用いられる。それのために、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は可変的である。Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は、以下の通りに引き出されることができる。第１のビンのためのコンテキストモデル、したがって、そのコンテキストモデルのイデックスが引き出された後で、インデックスが、Ｅｘｐ−Ｇｏｌｏｍｂ二値化を求める命令として用いられる。この好ましい実施例において、第１のビンのためのコンテキストモデルは１〜３の範囲にあり、Ｅｘｐ−Ｇｏｌｏｍｂコードの命令として用いられるｉｎｄｅｘ０〜２という結果となる。この好ましい実施例がＨＥケースのために使われることができ、コンテキストモデルの数は６に減らされる。また、コンテキストモデルの数を減らし、それによってメモリを節約するために、水平および垂直成分は、更なる好ましい実施例の同じコンテキストモデルを共有することができる。その場合、３つのコンテキストモデルが必要とされるだけである。さらに、左の隣だけが、更なる本発明の好ましい実施例の評価のために考慮されることができる。この好ましい実施例において、閾値は変更される必要はない（例えば、１つだけの閾値１６がＥｘｐ−Ｇｏｌｏｍｂパラメータ０または１をもたらし、１つの閾値３２がＥｘｐ−Ｇｏｌｏｍｂパラメータ０または２を引き出す）。この好ましい実施例は、ｍｖｄの蓄積のために必要なラインバッファを節約する。他の好ましい例として、閾値は修正されて、２および１６に等しくなる。その好ましい実施例のために、合計３つのコンテキストモデルがｍｖｄの符号化のために必要とされ、可能なＥｘｐ−Ｇｏｌｏｍｂパラメータは０〜２の範囲となる。別の好ましい実施例では、閾値は、１６および３２に等しい。また、記載されている実施例は、ＨＥケースに適している。
【０１７５】
更なる本発明の好ましい実施例において、カットオフ値は、９から２に減少する。この好ましい実施例において、第１のビンおよび第２のビンは、コンテキストモデルを用いて符号化される。第１のビンのためのコンテキストモデル選択は、上述の好ましい実施例に記載されているような最高水準のまたは修正されたやり方で実施されることができる。第２のビンのために、最高水準の技術のような別のコンテキストモデルが選択される。別の好ましい実施例では、第２のビンのためのコンテキストモデルは、左の隣のｍｖｄを評価することによって選択される。その場合のために、コンテキストモデル・インデックスは第１のビンに関して同じものであり、その一方で、利用できるコンテキストモデルは第１のビンに対するものとは異なる。全体で、６つのコンテキストモデルが必要とされる（コンテキストモデルを共有している成分に注意）。また、Ｅｘｐ−Ｇｏｌｏｍｂパラメータは、第１のビンの選択されたコンテキストモデル・インデックスに依存することができる。他の本発明の好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂパラメータは、第２のビンのコンテキストモデル・インデックスに応じている。本発明の記載されている実施例が、ＨＥケースのために使用されることができる。
【０１７６】
更なる本発明の好ましい実施例において、両方のビンのためのコンテキストモデルは固定され、左または上の隣を評価することによって引き出されるというわけではない。この好ましい実施例のために、コンテキストモデルの総数は２に等しい。更なる本発明の好ましい実施例において、第１のビンおよび第２のビンは、同じコンテキストモデルを共有する。その結果、１つのコンテキストモデルだけは、ｍｖｄの符号化のために必要とされる。本発明の両方の好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂパラメータは固定され、１に等しい。本発明の記載された好ましい実施例は、ＨＥおよびＬＣ構成の両方に適している。
【０１７７】
他の好ましい例として、Ｅｘｐ−Ｇｏｌｏｍｂ部分の順序は、それぞれに第１のビンのコンテキストモデル・インデックスに由来する。この場合、Ｈ．２６４／ＡＶＣの通常のコンテキストモデルの絶対和は、Ｅｘｐ−Ｇｏｌｏｍｂパートを求める命令を引き出すために用いる。この好ましい実施例が、ＨＥケースのために使われることができる。
【０１７８】
別の好ましい実施例では、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は固定され、０に設定される。他の好ましい例として、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は固定され、１に設定される。好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は２に固定される。さらなる実施例において、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は３に固定される。さらなる実例において、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は、現在のＰＵの形状およびサイズにしたがって固定される。示された好ましい実施例が、ＬＣケースのために使われることができる。Ｅｘｐ−Ｇｏｌｏｍｂ部分の固定された順序がコンテキストモデルで符号化されるビンの減少した数で考慮されることに注意されたい。
【０１７９】
好ましい実施例において、隣は、以下の通りに定められる。上記のＰＵのために、現在のＰＵをカバーする全てのＰＵが考慮され、最大のＭＶを有するＰＵが使用される。これは、左の隣のためにもされる。現在のＰＵをカバーする全てのＰＵは評価されて、そして、最大のＭＶを有するＰＵが使用される。他の好ましい例として、現在のＰＵの上部および左の境界をカバーする全てのＰＵからの平均的な絶対の動きベクトル値は、第１のビンを引き出すために用いられる。
【０１８０】
示された好ましい実施例のために、以下の通りに符号化順序を変えることは可能である。ｍｖｄは、次々と（またはその逆）水平および垂直方向のために特定されなければならない。このように、２つのビン文字列は、符号化されなければならない。エントロピー符号化エンジンのためのモード切換え（すなわち、バイパスおよび通常モード間の切換え）第１段階において両方の成分のためにコンテキスト・モデルで符号化されたビンに続いて、第２段階においてバイパス・モードで符号化されたビンを符号化することは可能である。これは単に並べ替えであることに注意されたい。
【０１８１】
単項または短縮単項の二値化から得られるビンは、値が現在のビンインデックスより大きいかどうかを特定しているビンインデックスにつき１つのフラグの等価な固定長に二値化によって表されることもできる点に注意されたい。たとえば、ｍｖｄの省略した単項の二値化のためのカットオフ値は、値０、１、２のための符号語０、１０、１１という結果となる２に設定される。ビンインデックスにつき１つのフラグを有する対応する固定長二値化において、ビンインデックス０（すなわち、第１のビン）のための１つのフラグは、絶対ｍｖｄ値が０より大きいかどうかを特定し、ビンインデックス１を有する第２のビンのための１つのフラグは、絶対ｍｖｄ値が１より大きいかどうかを特定する。第１のフラグが１に等しいときに第２のフラグが符号化されるだけのときに、これは同じ符号語０、１０、１１という結果となる。
【０１８２】
次に、実施例にしたがって、確率モデルの内部状態の複雑性計測可能な表現が記載される。
【０１８３】
ＨＥ−ＰＩＰＥセットアップにおいて、確率モデルの内部状態は、それを有するビンを符号化した後にアップデートされる。アップデートされた状態は、旧状態および符号化されたビンの値を使用している表検索の状態遷移によって引き出される。ＣＡＢＡＣの場合、確率モデルは、間隔（０．０、０．５）におけるモデル確率に対応する６３の異なる状態をとることができる。これらの状態の各々は、２つのモデル確率を実現するために用いる。状態に割り当てられる確率に加えて、１マイナス確率も使われ、ｖａｌＭｐｓと呼ばれているフラグは、確率または１マイナス確率のどちらかが使用される情報を格納する。これは、合計１２６の状態に至る。ＰＩＰＥ符号化概念を有するこのような確率モデルを使用するために、１２６の状態の各々は、利用できるＰＩＰＥ符合器のうちの１つにマッピングされることを必要とする。ＰＩＰＥ符号器の現在の実現例において、これは、参照表を用いて行われる。このようなマッピングの実施例は、表Ａにおいて表される。
【０１８４】
以下に、どのようにして確率モデルの内部状態が内部状態をＰＩＰＥインデックスに変換するために参照表を使用することを回避するために示されることができるかについて、実施例は記載されている。単にいくらかの単純なビット・マスキング動作は、確率モデルの内部状態変数からＰＩＰＥインデックスを得るために必要である。確率モデルの内部状態のこの新規な複雑性計測可能な表現は、２つのレベルの方法で設計される。低い複雑性動作が必須であるアプリケーションのために、第１のレベルだけが用いられる。それは、関連するビンを符号化または復号化するために用いられるｐｉｐｅインデックスおよびフラグｖａｌＭｐｓだけを記載する。記載されているＰＩＰＥエントロピー符号化方式の場合、第１のレベルは、８つの異なるモデル確率を区別するために用いることができる。このように、第１のレベルは、ｐｉｐｅＩｄｘのために３ビットを、ｖａｌＭｐｓフラグのために１つの更なるビットを必要とする。第２のレベルで、第１のレベルの粗い確率範囲の各々は、より高い分解能で確率の提示をサポートするいくつかのより小さい間隔に改良される。このより詳細な提示は、確率推定器のより正確な動作を可能にする。一般に、それは、高いＲＤ−パフォーマンスに向かって狙いをつける符号化アプリケーションに適している。たとえば、ＰＩＰＥの使用法を有する確率モデルの内部状態のこの複雑性基準の表現は、以下の通りに例示される。
【０１８５】
【表６】
2019050610.tif 000021
【０１８６】
第１および第２のレベルは、単一の８ビットのメモリに保存される。４ビットは第１のレベル−最も重要なビット上でＭＰＳの値を有するＰＩＰＥインデックスを定めるインデックス−を格納することを必要とし、別の４ビットは第２のレベルを格納するために用いられる。ＣＡＢＡＣ確率推定器の反応を満たすために、各ＰＩＰＥインデックスは、どれくらいのＣＡＢＡＣ状態がＰＩＰＥインデックスにマッピングされたかに応じて特定の数の許容された改良インデックスを有する。たとえば、表Ａのマッピングのために、ＰＩＰＥインデックスにつきＣＡＢＡＣ状態の数は、表Ｂにおいて表される。
【０１８７】
【表７】
2019050610.tif 000022
【０１８８】
ビンの符号化または復号化プロセスの間、ＰＩＰＥインデックスおよびｖａｌＭｐｓは、単純なビット・マスクまたはビットシフト動作を使用することによって、直接アクセスされることができる。低複雑性符号化プロセスは第１のレベルだけで４ビットを必要とし、高効率符号化プロセスは加えて、ＣＡＢＡＣ確率推定器の確率モデルアップデートを実行するために第２のレベルの４ビットを利用することができる。このアップデートを実施するために、オリジナルの表と同じ遷移をするが、状態の複雑性計測可能な２つのレベル表現を使用する状態遷移参照表は、設計されることができる。オリジナルの状態遷移表は、２×６３の成分から成る。入力状態ごとに、それは、２つの出力状態を含む。複雑性計測可能な表現を使用するときに、状態遷移表のサイズは表のサイズの受け入れられる増加である２×１２８の成分を上回らない。この増加は何ビットが改良インデックスを表すために用いられるか、および、正確にＣＡＢＡＣ確率推定器の反応をエミュレートするために用いられるかに依存し、４ビットが必要である。しかしながら、ｐｉｐｅインデックスごとにわずか８つの状態だけが許容されるように、ＣＡＢＡＣ状態の減らされたセットに作用することができるように，異なる確率推定器が使用されることができる。したがって、メモリの消費は、改良インデックスを表すために用いられるビットの数を適応させることによって、符号化プロセスの所与の複雑性レベルと合致することができる。６４の確率状態インデックスが存在するＣＡＢＡＣを有するモデル確率の内部状態と比較して、モデル確率を特定のＰＩＰＥコードにマッピングする表検索の使用法は回避され、更なる変換は必要とされない。
【０１８９】
次に、実施例に従ってアップデートされている複雑性計測可能なコンテキストモデルが記載されている。
【０１９０】
コンテキストモデルをアップデートするために、その確率状態インデックスは、１つ以上の以前に符号化されたビンに基づいてアップデートされることができる。ＨＥ−ＰＩＰＥセットアップにおいて、このアップデートは、各ビンの符号化または復号化の後に行われる。逆にいえば、ＬＣ−ＰＩＰＥセットアップで、このアップデートは、決して行われることはない。
【０１９１】
しかしながら、複雑性計測可能な方法でコンテキストモデルのアップデートを行うことは可能である。すなわち、コンテキストモデルをアップデートするべきかどうかの決定は、さまざまな態様に基づく。たとえば、符号化セットアップは、例えば構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのコンテキストモデルのような特定のコンテキストモデルのためだけのアップデートをすることができなくて、常に他の全てのコンテキストモデルのためのアップデートをすることができる。
【０１９２】
換言すれば、所定のシンボル・タイプの数が高効率モードと比較して低複雑性モードにおいてより低くなるように、セレクタ４０２は、所定のシンボル・タイプの数の各々のシンボルのために、それぞれの所定のシンボルに関連付けるそれぞれの確率モデルに応じてエントロピー復号器３２２の中で洗濯を実行するように構成される。
【０１９３】
さらに、コンテキストモデルをアップデートすべきか否かを制御するための基準は、例えば、ビット・ストリーム・パケットのサイズ、今までのところ復号化されたビンの数等であり、または、アップデートは、コンテキストモデルのためのビンの特定の固定または可変の数を符号化した後にのみ行われる。
【０１９４】
コンテキストモデルをアッフデートするべきかどうか決めるこのスキームについては、複雑性計測可能なコンテキストモデルは実施されることができる。それは、コンテキストモデルのアップデートが行われるビットストリームのビンの部分を増減することを許容する。コンテキストモデルのアップデートの数が多いほど、符号化効率はより良好になり、計算の複雑性はより高くなる。このように、複雑性計測可能なコンテキストモデルのアップデートは、記載されている方式によって提供されることができる。
【０１９５】
好ましい実施例において、コンテキストモデルのアップデートは、構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２を除いてすべての構文要素のビンのために行われる。
【０１９６】
別の好ましい実施例では、コンテキストモデルのアップデートは、構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２だけのビンのために行われる。
【０１９７】
別の好ましい実施例では、スライスの符号化または復号化が始まるときに、コンテキストモデルのアップデートはすべてのコンテキストモデルのために行われる。処理されている特定の所定の数の変換ブロックの後、スライスの終わりが達せられるまで、コンテキストモデルのアップデートは全てのコンテキストモデルのために使用不能である。
【０１９８】
例えば、セレクタ４０２は、所定のシンボル・タイプのために、所定のシンボル・タイプのシンボルのための選択がアップデートとともに実行されるシンボルのシーケンスの学習フェーズの長さが高効率モードと比べたよりも低複雑性モードにおいて短くなるように、関連する確率モデルのアップデートとともに、またはアップデートなしで、所定のシンボル・タイプに関連する確率モデルに応じてエントロピー復号器３２２の中で選択を実行するように構成される。
【０１９９】
更なる好ましい実施例は先に述べた好ましい実施例と同一であるが、１つの表が全てのコンテキストモデルの「第１の部分」（ｖａｌＭｐｓ  ａｎｄ  ｐｉｐｅＩｄｘ）を格納し、全てのコンテキストモデルの「第２の部分」（ｒｅｆｉｎｅＩｄｘ）を格納するように、それはコンテキストモデルの内部状態の複雑性計測可能な表現をいくぶん使用する。そこにおいて、アップデートしているコンテキストモデルはすべてのコンテキストモデル（以前の好ましい実施例にて説明したように）のために使用不能であり、「第２の部品」を格納する表がもはや必要でなくて、廃棄されることができる。
【０２００】
次に、実施例に従うビンのシーケンスのためにアップデートしているコンテキストモデルが記載されている。
【０２０１】
ＬＣ−ＰＩＰＥ構成において、タイプｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２の構文要素のビンは、サブセットに分類される。サブセットごとに、単一のコンテキストモデルは、そのビンを符号化するために用いられる。この場合、コンテキストモデルのアップデートは、このシーケンスのビンの固定数の符号化の後に行われる。これは、以下においてマルチビンのアップデートを示す。しかしながら、このアップデートは、最後の符号化ビンのみおよびコンテキストモデルの内部状態を用いたアップデートとは異なる。たとえば、符号化されたビンごとに、１つのコンテキストモデルのアップデートステップが実行される。
【０２０２】
以下に、実施例は、８つのビンからなる典型的なサブセットを符号化するために挙げられる。文字「ｂ」はビンの復号化を意味し、文字「ｕ」はコンテキストモデルのアップデートを意味する。ＬＣ−ＰＩＰＥの場合において、ビンの復号化だけは、コンテキストモデルのアップデートなしで行われる。
【０２０３】
ｂｂｂｂｂｂｂｂ
【０２０４】
ＨＥ−ＰＩＰＥの場合において、各ビンの復号化の後、コンテキストモデルのアップデートが行われる。
【０２０５】
ｂｕｂｕｂｕｂｕｂｕｂｕｂｕｂｕ
【０２０６】
複雑性をいくらか減少させるために、コンテキストモデルのアップデートは、ビンのシーケンスの後に行われることができる（この例では、各４つのビンの後、これらの４つのビンのアップデートが行われる）。
【０２０７】
ｂｂｂｂｕｕｕｕｂｂｂｂｕｕｕｕ
【０２０８】
すなわち、セレクタ４０２は、所定のシンボル・タイプのシンボルのために、所定のシンボル・タイプのシンボルのための選択がアップデートとともに実行される周波数が高効率モードと比較したよりも低複雑性モードにおいて低くなるように、関連する確率モデルのアップデートとともに、またはアップデートなしで、所定のシンボル・タイプに関連する確率モデルに応じてエントロピー復号器３２２の中の選択を実行するように構成される。
【０２０９】
この場合、４つのビンを復号化した後に、４つのアップデート・ステップが、ちょうど復号化された４つのビンに基づいて続く。これらの４つのアップデート・ステップが特別な参照表の検索を用いて１つの一回のステップで実行されることができることに注意されたい。４つのビンの各可能な組合せおよびコンテキストモデルの各可能な内部状態のために、この参照表は、４つの従来のアップデート・ステップの後に結果として得られる新しい状態を格納する。
【０２１０】
特定のモードにおいて、マルチビンのアップデートが、構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのために用いられる。他の全ての構文要素のビンのために、コンテキストモデルのアップデートは用いられない。マルチビン・アップデートステップの前に符号化されるビンの数は、ｎに設定される。セットのビンの数がｎによって割り切れないときに、１からｎ−１個のビンが、最後のマルチビンのアップデートの後にサブセットの終わりに残る。これらのビンの各々のために、従来の１つのビンのアップデートは、これらのビンの全てを符号化した後に行われる。数ｎは、１より大きいいかなる正数であってもよい。マルチビンのアップデートがｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２（ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇだけの代わりに）の任意の組合せのために行われることを除いて、別のモードが以前のモードと同じものであってもよい。このように、このモードは、その他より複雑である。他の全ての構文要素（マルチビンのアップデートが使われない所で）は２つの別のサブセットに分割され、ここで、サブセットの１つのために、１つのビンのアップデートが用いられ、他のサブセットのために、コンキストモデルのアップデートが用いられない。あらゆる可能な別のサブセットは、有効
である（空のサブセットを含む）。
【０２１１】
別の実施形態では、マルチビンのアップデートは、マルチビンのアップデートの前にすぐに符号化される最後のｍ粉のビンだけに基づくことができる。ｍはｎより小さいいかなる自然数でもあってもよい。したがって、復号化は、次のようにされることができる。
【０２１２】
ｂｂｂｂｕｕｂｂｂｂｕｕｂｂｂｂｕｕｂｂｂｂ
ここで、ｎ＝４およびｍ＝２。
【０２１３】
すなわち、セレクタ４０２は、所定のシンボル・タイプのシンボルのために、高効率モードと比較するよりも低複雑性モードにおいてｎ／ｍ比が高くなるように、所定のシンボル・タイプの最も近いシンボルｍに基づいて関連する確率モデル全てのｎ番目のシンボルのアップデートとともに、所定のシンボル・タイプに関連する確率モデルに応じてエントロピー復号器３２２の中の選択を実行するように構成される。
【０２１４】
別の好ましい実施例では、構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのために、ＨＥ−ＰＩＰＥ構成のために上記の通りにローカル・テンプレートを用いたコンテキストモデル化スキームは、コンテキストモデルを構文要素のビンに割り当てるために用いられる。しかしながら、これらのビンのために、コンテキストモデルのアップデートは使われない。
【０２１５】
さらに、セレクタ４０２は、所定のシンボル・タイプのシンボルのために、コンテキストの数および／または以前に検索したシンボルの数が高効率モードと比べるよりも低複雑性モードにおいて低くなるように、シンボルのシーケンスの多くの以前に検索されたシンボルに応じて多くのコンテキストの１つを選択するように構成され、選択されたコンテキストに関連する確率モデルに応じてエントロピー復号器３２２の中の選択を実行するように構成される。
【０２１６】
８ビットの初期化値を使用した確率モデル初期化
【０２１７】
このセクションは、最高水準のビデオ符号化基準Ｈ．２６５／ＡＶＣのケースのような２つの８ビットの値の代わりにいわゆる８ビット初期化値を使用している確率モデルの複雑性計測可能な内部状態の初期化プロセスを示している。それは、Ｈ．２６４／ＡＶＣのＣＡＢＡＣの確率モデルのために使用される初期化値の対と同等である２つの部分から成る。２つの部分は確率モデルの初期状態を計算する一次方程式の２つのパラメータを示し、ＱＰから特定の確率（例えば、ＰＩＰＥインデックスの形で）を表す。
【０２１８】
・第１の部分は傾斜を示し、それは符号化または復号化の間に使用される量子化パラメータ（ＱＰ）に関して内部状態の依存を利用する。
・第２の部分は、ｖａｌＭｐｓと同様に所定のＱＰでＰＩＰＥインデックスを定める。
【０２１９】
２つの異なるモードは、所定の初期化値を用いて確率モデルを初期化するために利用することができる。第１のモードは、ＱＰ独立初期化を示す。それは、すべてのＱＰのための初期化値の第２の部分において定められるＰＩＰＥインデックスおよびｖａｌＭｐｓを使用するだけである。これは、傾斜が０に等しい場合と同一である。第２のモードはＱＰ依存初期化を示し、さらに、それは、ＰＩＰＥインデックスを変えて、改良インデックスを定めるために初期化値の第１の部分の傾斜を使用する。８ビットの初期化値の２つの部分は、以下の通りに例示される。
【０２２０】
【表８】
2019050610.tif 000023
【０２２１】
それは、２つの４ビットの部分から成る。第１の部分は、配列に格納される１６の異なる所定の傾斜の中の１つを示すインデックスを含む。所定の傾斜は、７つの負の傾斜（傾斜インデックス０−６）、ゼロに等しい傾斜（傾斜インデックス７）および８つの正の傾斜（傾斜インデックス８−１５）の中の１つの傾斜から成る。傾斜は、表Ｃで表される。
【０２２２】
【表９】
2019050610.tif 000024
【０２２３】
すべての値は、浮動小数点演算の使用を回避するために、２５６の因子で見積もられる。第２の部分は、確率間隔ｐ＝０およびｐ＝１の間にvalMps＝１の上昇性の確率を具体化するＰＩＰＥインデックスである。換言すれば、ＰＩＰＥ符号器ｎは、ＰＩＰＥ符号器ｎ−１より高いモデル確率で動作する。あらゆる確率モデルのために、１つのＰＩＰＥ確率インデックスは利用でき、それは確率間隔がＱＰ＝２６のためのｐvalMPs＝1の確率を含むＰＩＰＥ符号器を確認する。
【０２２４】
【表１０】
2019050610.tif 000025
【０２２５】
ＱＰおよび８ビットの初期化値は、ｙ＝ｍ＊（ＱＰ ― ＱＰｒｅｆ）＋２５６＊ｂの形で単純な一次方程式を計算することによって確率モデルの内部状態の初期化を算出することを必要とする。ｍが傾斜インデックス（８ビットの初期化値の第１の部分）を用いて表Ｃからとられる傾斜を定め、ｂがＱＰｒｅｆ＝２６（８ビットの初期化値の第２の部分：「ＰＩＰＥ確率インデックス」）でＰＩＰＥ符号器を意味する点に注意されたい。そして、ｙが２０４７より大きい場合、ｖａｌＭＰＳは１であり、ｐｉｐｅＩｄｘは（ｙ−２０４８）＞＞８に等しい。さもなければ、ｖａｌＭＰＳは０であり、ｐｉｐｅＩｄｘは（２０４７―ｙ）＞＞８に等しい。ｖａｌＭＰＳが１に等しい場合、改良インデックスは（（（ｙ―２０４８）＆２５５）＊ｎｕｍＳｔａｔｅｓ）＞＞８に等しい。さもなければ、改良インデックスは、（（（２０４７―ｙ）＆２５５）＊ｎｕｍＳｔａｔｅｓ）＞＞８に等しい。いずれの場合においても、ｎｕｍＳｔａｔｅｓは、表Ｂにて図示するように、ｐｉｐｅＩｄｘのＣＡＢＡＣ状態の数に等しい。
【０２２６】
上述のスキームは、ＰＩＰＥ符号器と組み合わせて用いられるだけでなく、上述のＣＡＢＡＣ方式と関連しても用いられる。ＰＩＰＥがなければ、ＣＡＢＡＣ状態、すなわち、その間で確率アップデートの状態移行がＰＩＰＥ  Ｉｄｘ（すなわち、ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］のそれぞれの最も重要なビット）につき実行される（ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］）確率状態）の数は、事実、ＱＰに応じてＣＡＢＡＣ状態の区分的線形補間法を実現する一組のパラメータだけである。さらに、パラメータｎｕｍＳｔａｔｅｓがすべてのＰＩＰＥ  Ｉｄｘのための同じ値を使用する場合には、この区分的線形補間法は実質的に無効であってもよい。たとえば、全てのケースのための８に対する設定ｎｕｍＳｔａｔｅｓは、合計１６＊８つの様相およびインデックスがｖａｌＭＰＳは１に等しく、（（ｙ−２０４８）＆２５５）＞＞５またはｖａｌＭＰＳは０に等しく、（（２０４７―ｙ）＆２５５）＞＞５に単純化する改良インデックスの計算を得る。この場合、ｖａｌＭＰＳ、ＰＩＰＥ  ｉｄｘおよび改良ｉｄｘを用いている表現をもとのＨ．２６４／ＡＶＣのオリジナルのＣＡＢＡＣにより用いられる表現にマッピングすることは、非常に単純である。ＣＡＢＡＣ状態は、（ＰＩＰＥ  Ｉｄｘ＜＜３）＋ｒｅｆｉｎｅｍｅｎｔ  Ｉｄｘとして与えられる。この態様は、図１６に関して更に下で記載されている。
【０２２７】
８ビットの初期化値の傾斜がゼロに等しくない限り、または、ＱＰが２６に等しくない限り、それは符号化または復号プロセスのＱＰを有する一次方程式を使用することによって内部状態を計算するのに必要である。ゼロに等しいかまたは現在の符号化方法のＱＰが２６に等しくなっている傾斜の場合、８ビットの初期化値の第２の部品が、確率モデルの内部状態を初期化するために、直接用いられることができる。さもなければ、結果として生じる内部状態の小数部は、特定のＰＩＰＥ符号器の限界との間に一次補間で高効率符号化アプリケーションの改良インデックスを決定するために、更に利用されることができる。この好ましい実施例において、一次補間は、単に現在のＰＩＰＥ符号器に利用できる改良インデックスの総数を有する小数部を乗じて、結果を最も近い整数改良インデックスにマッピングすることによって実行される。
【０２２８】
確率モデルの内部状態の初期化のプロセスは、ＰＩＰＥ確率インデックス状態の数に関して変化することができる。特に、等しい見込みがあるモードを使用しているＰＩＰＥ符号器Ｅ１、すなわちＭＰＳとの間に１または０であることを区別する２つの異なるＰＩＰＥインデックスの使用の二重の発生は、以下の通りに回避されることができる。また、プロセスはスライス・データの構文解析の始まりの間、引き起こされることができ、このプロセスの入力は例えば、初期化されるためにあらゆるコンテキストモデルのためのビット・ストリームの範囲内で送信される表Ｅにて図示するように、８ビットの初期化値であり得る。
【０２２９】
【表１１】
2019050610.tif 000026
【０２３０】
最初の４ビットは傾斜インデックスを定めて、ビットｂ４−ｂ７をマスキングすることによって検索される。あらゆる傾斜インデックスのために、傾斜（ｍ）は、表Ｆにおいて特定されて、示される。
【０２３１】
【表１２】
2019050610.tif 000027
【０２３２】
ビットｂ０−ｂ３、８ビットの初期化値の最後の４ビット、はｐｒｏｂＩｄｘを確認し、所定のＱＰ．ｐｒｏｂＩｄｘ０は値０を有するシンボルのための最高確率を示し、それぞれ、ｐｒｏｂＩｄｘ  １４は値１を有するシンボルのための最高確率を示す。表Ｇは、各ｐｒｏｂＩｄｘのために対応するｐｉｐｅ符号器およびそのｖａｌＭｐｓを示す。
【０２３３】
【表１３】
2019050610.tif 000028
【０２３４】
両方の値については、内部状態の算出は、ｙ＝ｍ＊ｘ＋２５６＊ｂのような一次方程式を用いてされることができ、ｍは傾斜を意味し、ｘは現在のスライスのＱＰを意味し、ｂは以下の説明に示すようにｐｒｏｂＩｄｘに由来する。このプロセスのすべての値は、浮動小数点演算の使用を回避するために、２５６の因子によって見積もられる。このプロセスの出力（ｙ）は、現在のＱＰで確率モデルの内部状態を表して、８つのビット・メモリに保存される。Ｇに示されるように、内部状態は、ｖａｌＭＰｓ、ｐｉｐｅＩｄｘおよびｒｅｆｉｎｅＩｄｘから成る。
【０２３５】
【表１４】
2019050610.tif 000029
【０２３６】
【表１５】
2019050610.tif 000030
【０２３７】
ｒｅｆｉｎｅＩｄｘおよびｐｉｐｅＩｄｘの譲渡は、ＣＡＢＡＣ確率モデル（ｐＳｔａｔｅＣｔｘ）の内部状態と類似していて、Ｈに示される。
【０２３８】
【表１６】
2019050610.tif 000031
【０２３９】
好ましい実施例において、ｐｒｏｂＩｄｘは、ＱＰ２６で定められる。８ビットの初期化値に基づいて、確率モデルの内部状態（ｖａｌＭｐｓ、ｐｉｐｅＩｄｘおよびｒｅｆｉｎｅＩｄｘ）は、以下の疑似コードに説明されているように処理される。
【０２４０】
2019050610.tif 000032
【０２４１】
疑似コードに示すように、ｒｅｆｉｎｅＩｄｘは、線形にｐｉｐｅＩｄｘの間隔の間に挿入して、対応するｒｅｆｉｎｅＩｄｘに結果を量子化することによって計算される。オフセットは、ｐｉｐｅＩｄｘごとにｒｅｆｉｎｅＩｄｘの総数を特定する。ｆｕｌｌＣｔｘＳｔａｔｅ／２５６の間隔［７、８）は、半分に分割される。間隔［７、７．５）はｐｉｐｅＩｄｘ＝０およびｖａｌＭｐｓ＝０にマッピングされ、間隔［７．５、８）はｐｉｐｅＩｄｘ＝０およびｖａｌＭｐｓ＝１にマッピングされる。図１６は、内部状態を引き出す方法を表し、ｐＳｔａｔｅＣｔｘへのｆｕｌｌＣｔｘＳｔａｔｅ／２５６のマッピングを表示する。
【０２４２】
傾斜がｐｒｏｂＩｄｘおよびＱＰの依存を示す点に注意されたい。８ビットの初期化値のｓｌｏｐｅＩｄｘが７に等しい場合、確率モデルの結果として生じる内部状態はすべてのスライスＱＰｓに共通するものであり−それゆえに、内部状態の初期化プロセスはスライスの現在のＱＰから独立している。
【０２４３】
すなわち、セレクタ４０２は、両方のモードＬＣおよびＨＣに共通する表にインデックスとしてこの構文要素を用いてその中に含まれる変換係数レベルのような、この部分のデータを量子化するために用いられる量子化ステップサイズＱＰを示す構文要素を用いて、全てのストリームまたは次のスライスのようなデータ・ストリームの次の部分を復号化するのに用いられるｐｉｐｅインデックスを初期化する。表Ｄのような表は、各シンボル・タイプ、それぞれの参照ＱＰｒｅｆのためのｐｉｐｅインデックス、または各シンボル・タイプのためのほかのデータを含む。現在の部分の実際のＱＰに応じて、セレクタは、実際のＱＰおよびＱＰ自体によって索引をつけられるそれぞれのテーブル項目ａを使用して、ａと（ＱＰ−ＱＰｒｅｆ）との乗算のように、パイプ・インデックス値を計算することができる。ＬＣおよびＨＥモードの唯一の違い：セレクタは、ＨＥモードと比較してＬＣの場合には単に結果を低い精度で計算する。セレクタは、例えば、単に計算結果の整数部分を使用することができるだけである。ＨＥモードにおいて、例えば端数部分のような高精度残余は、低い精度または整数部分によって示されるように、それぞれのｐｉｐｅインデックスのための利用できる改良インデックスのうちの１つを選択するために用いられる。改良インデックスが、上述の表散歩を用いることによって例えば確率適合を実行するために、ＨＥモードで（ＬＣモードにおいても潜在的でより稀であるように）用いられる。より高い境界で現在のｐｉｐｅインデックスのための利用できるインデックスを残すときに、より高いパイプ・インデックスは改良インデックスを最小化するとともに次に選択される。より低い境界で現在のｐｉｐｅインデックスのための利用できるインデックスを残すときに、次の低いｐｉｐｅインデックスは新規なパイプ・インデックスに最大限に利用できる改良インデックスを最大にするとともに次に選択される。改良インデックスと一緒にｐｉｐｅインデックスは確率状態を定めるが、部分的なストリームの中の選択のために、セレクタは単にｐｉｐｅインデックスを使用するだけである。改良インデックスは、単により密接に確率を追うために、または、より微細な精度において役立つだけである。
【０２４４】
しかしながら、上記説明も、複雑性の拡張性が図７〜図１０のＰＩＰＥ符号化概念とは別に、図１２に示されるデコーダを使用して達成されることを示した。図１２のデコーダは、メディア・データが符号化されたデータ・ストリーム６０１を復号化するためにあって、データ・ストリーム６０１に応じて低複雑性モードまたは高効率モードを起動させるように構成されるモード・スイッチ６００と、シンボル・シーケンス・ワードの領域を整数値構文要素の共同領域にマッピングするために、制御パラメータによって制御可能なマッピング機能を使用している整数値構文要素６０４を得るために、データ・ストリーム６０１から−直接、または、例えば、エントロピー復号化によって−得られたシンボルのシーケンス６０３を記号で表すように構成されたデシンボライザを含む。再現器６０５は、整数値構文要素に基づいてメディア・データ６０６を再現するように構成される。デシンボライザ６０２は、高効率モードが作動している場合には制御パラメータが第１の割合でデータ・ストリームに従って変化するように、デシンボライザ６０２は非記号化を実行するように構成される、そして、低複雑性モードが作動している場合には、矢印６０７で示されるように、第１の割合より低い第２の割合である以外、制御パラメータはデータ・ストリームまたはデータ・ストリームに応じた変化にかかわりなく一定である。たとえば、制御パラメータは、前に非記号化されたシンボルに従って変化することができる。
【０２４５】
前記実施例のいくつかは、図１２の態様を利用した。シーケンス３２７の中の構文要素ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３およびＭＶＤは、例えば、４０７で示されるような選択されるモードに応じてデシンボライザ３１４において二値化され、再現器６０５は再現のためのこれらの構文要素を使用した。明らかに、図１１および１９の両方の態様は直ちに統合可能であるが、図１２の態様は他の符号化環境と結合されることもできる。
【０２４６】
たとえば、上で示した動きベクトル差符号化を参照する。マッピング機能がカットオフ値より小さい整数値構文要素の領域の第１の間隔の範囲内でマッピングを実行する短縮単項符号、およびカットフ値のための短縮単項符号の形の接頭辞およびカットオフ値を含むか超える整数値構文要素の領域の第２の間隔の範囲内のＶＬＣ符号語の形の接尾辞の組み合わせをしようするようにデシンボライザ６０２は構成され、デコーダは、変化する確率評価を有する単項のエントロピー復号化を用いてデータ・ストリーム６０１から短縮単項のコードの複数の第１のビンおよび一定の等確率バイパス・モードを用いてＶＬＣ符号語の複数の第２のビンを引き出すように構成されたエントロピー復号器６０８を含む。ＨＥモードにおいて、矢印６０９で示すように、エントロピー符号化はＬＣ符号化におけるよりも複雑である。すなわち、コンテキスト適応および／または確率適合はＨＥモードで適用され、ＬＣモードで抑制され、または、各種実施形態に関して上述されるように、複雑性は拡大・縮小される。
【０２４７】
メディア・データをデータ・ストリームに符号化する、図１１のデコーダに適合するエンコーダが、図１３に示される。それは、データ・ストリーム５０１の中で低複雑性モードまたは高効率モードの起動の信号を送るように構成されるインサータ５００、構文要素のシーケンス５０６にメディア・データ５０５を前符号化するように構成されるコンストラクタ５０４、シンボルのシーケンス５０８に構文要素のシーケンス５０６を記号で表すように構成されるシンボライザ５０７、各々がシンボルの部分的なシーケンスをデータ・ストリームの符号語に変換するように構成された複数のエントロピー符号器３１０、および複数のエントロピー符号器３１０の選択された１つにシンボルのシーケンス５０８の各シンボルを送るように構成されたセレクタ５０２を含み、セレクタ５０２は、矢印５１１で示すように、低複雑性モードおよび高効率モードの作動している１つに応じて選択を実行するように構成される。インターリーバ５１０は、エンコーダ３１０の符号語を挟むために、任意に提供されることができる。
【０２４８】
メディア・データをデータ・ストリームに符号化するための、図１２のデコーダに適合したエンコーダは、図１４に示され、データ・ストリーム７０１の中で低複雑性モードまたは高効率モードの作動の信号を送るように構成されたインサータ７００、整数値を有する構文要素のシーケンス７０６にメディア・データ７０５を前符号化するように構成されたコンストラクタ７０４、および整数値を有する構文要素の領域をシンボル・シーケンス・ワードの共同領域にマッピングするために、制御パラメータによって制御可能なマッピング機能を用いて整数値を有する構文要素を記号で表すように構成されるコンストラクタ７０７を含み、高効率モードが作動している場合には制御パラメータが第１の割合でデータ・ストリームに従って変化するように、そして、データ・ストリームまたはデータ・ストリームに応じた変化にかわりなく制御パラメータは一定であるが、矢印７０８で示されるように、低複雑性モードが作動している場合には第１の割合より低い第２の割合で、記号化する人７０７は象徴化を実行するように構成される。記号化の結果は、データ・ストリーム７０１に符号化される。
【０２４９】
また、図１４の実施例が上述のコンテキスト適応二進演算符号化／復号化の実施に容易に移転可能であると述べられなければならず：セレクタ５０９およびエントロピー符号器３１０は、直接データ・ストリーム４０１を出力するコンテキスト適応二進演算エンコーダに凝縮して、現在ビンのためのコンテキストをデータ・ストリームから引き出すように選択する。これは、特にコンテキスト適応および／または確率適応について成り立つものである。低い複雑性モードの間、両方の機能／適応は、スイッチを切られるか、またはより緩和して設計されることができる。
【０２５０】
前記実施例のいくつかに関して説明されるモードを切替えている能力が、別の実施例に従って、離されておくことは、上において簡潔に示された。これを明白にするために、単にモードを切替える能力の除去だけが図１６の実施例を前記実施例と区別する場合の前記説明を要約する例が図１６に示される。さらに、以下の説明は、例えば、Ｈ．２６４と比較して傾斜およびオフセットのより正確でないパラメータを用いてコンテキストの確率評価を初期化することから生じている利点を明らかにする。
【０２５１】
図１６は、動きベクトル差の水平および垂直成分が、水平および垂直成分の二値化を用いて符号化されるデータ・ストリーム４０１からビデオ４０５を復号化するためのデコーダを示し、特にカットオフ値以下の水平および垂直成分の領域および短縮単項符号の形の接頭辞の組合せの第１の間隔の中で、二値化はそれぞれ水平および垂直成分の短縮単項符号に等しい。カットオフ値および水平および垂直成分の指数Ｇｏｌｏｍｂコードの形の接尾辞は、それぞれ、カットオフ値に含まれるまたはそれ以上の水平および垂直成分の領域の第２の間隔の中にあり、カットオフ値は２であり、指数Ｇｏｌｏｍｂコードは１の順序を有する。デコーダは、エントロピー復号器４０９は構成したために、動きベクトル差の水平および垂直成分のために、動きベクトル差の水平および垂直成分および動きベクトル差の二値化を得るために一定の等確率バイパス・モードを使用する指数Ｇｏｌｏｍｂコードのために共通する短縮単項のコードのビン位置につき確実に１つのコンテキストを有するコンテキスト適合二値化エントロピー復号化を用いて、すなわち、それぞれ、動きベクトル差の水平および垂直成分の整数値を得るために動きベクトル差構文要素の二値化を非二値化するセレクタ／割当て器Ａ  デシンボライザ３１４とともにいくつかの並列オペレーティング・エントロピー復号器３２２を用いて、データ・ストリームから短縮単項符号を引き出すように構成されたエントロピー復号器４０９を含み、再現器４０４は、動きベクトル差の水平および垂直成分の整数値に基づいてビデオを再現する。
【０２５２】
更に詳細にこれを説明するために、実施例が図１８において簡潔になされる。８００は、代表として、１つの動きベクトル差、すなわち予測された動きベクトルおよび実際の／再現された動きベクトルとの間の予測残余を表しているベクトルを示す。水平および垂直成分８０２ｘおよび８０２ｙが例示されている。それらは、ピクセル位置、すなわちピクセル・ピッチまたは１ピクセル単位よりもっと精密な位置（例えばピクセル・ピッチの半分またはその１／４等））を単位にして送信されるかもしれない。水平および垂直成分８０２ｘ，ｙは、評価される整数である。それらの領域は、ゼロから無限にまで達する。標識値は別に扱われ、更にここで考慮されない。換言すれば、ここにおいて概説される説明は、運動ベクトル差８０２ｘ、ｙの大きさに集中する。領域は、８０４で例示される。領域軸８０４の右側において、図１９は、各々に垂直に配置される成分８０２ｘ，ｙの可能な値と関連して、それぞれの可能な値がマッピングされる（二値化される）二値化を例示する。これからわかるように、２のカットオフ値以下で、単に短縮単項符号８０６が発生するだけであるが、接尾辞として、カットオフ値マイナス１の上の整数値のリマインダーのために、２のカットオフ値と等しいかそれより大きい可能な値から順序８０８の指数Ｇｏｌｏｍｂコードも有する。全てのビンのために、単に２つのコンテキストだけは設けられており：１つは水平および垂直成分８０２ｘ，ｙの二値化の第１のビン位置であり、他の１つは両方の水平および垂直成分８０２ｘ，ｙの短縮単項符号８０６の第２のビン位置である。指数Ｇｏｌｏｍｂコード８０８のビン位置のために、等確率バイパス・モードは、エントロピー復号器４０９により用いられる。すなわち、両方のビン値は、等しくありそうに発生するとみなされる。これらのビンのための確率評価は決定される。それ比べて、短縮単項のコード８０６のビンのちょうど言及された２つのコンテキストと関連した確率評価は、復号化の間、連続的に適応される。
【０２５３】
更に詳細に記載する前に、エントロピー復号器４０９が、前記説明に従って、ちょうど言及された作業を実行することができる方法に関して、説明は、図１８に示される非二値化を用いたコード１０６および１０８のビンの非二値化によるデシンボライザ３１４によって得られるような動きベクトル差およびその整数値を用いる再現器４０４の可能な実施に注目する。特に、再現器４０４は、上述のように、現在再現された画像の少なくともいくつかが動き補償予測に依存するブロックへの再分割に関する情報をデータ・ストリーム４０１から検索することができる。図１９は、典型的に８２０で再現される画像および８２２でその中の画像内容を予測するために動き補償予測が用いられるちょうど言及された画像１２０の再分割を示す。図２Ａ〜２Ｃについて述べたように、再分割およびプロック１２２のサイズについて異なる可能性がある。これらのブロック１２２の各々のための動きベクトル差８００のための伝送を回避するために、再現器４０４は、それに従ってデータ・ストリームが、再分割が固定されたという事実に加えて、再分割情報に加えてまたは再分割情報なしで結合情報をさらに伝送する結合コンセプトを利用することができる。結合情報は、どのブロック８２２がグループを形成するのかについて再現器４０４に信号を送る。この計測によって、再現器４０４にとって特定の動きベクトル差８００をブロック８２２の全体の結合グループに適用することが可能である。当然に、符号化側において、結合情報の伝送は、再分割伝送オーバーヘッド（ある場合）、結合情報伝送オーバーヘッドおよび動きベクトル差伝送オーバーヘッドの間のトレードオフに依存し、それは結合グループのサイズの増加と共に減少する。他方で、結合グループ当たりのブロックの数の増加は、それぞれの結合グループの個々のブロックの実際の必要性に対するこれらの結合グループのための動きベクトル差の適合を減らし、それにより、これらのブロックの動きベクトル差のより正確でない動き補償予測を生じさせ、例えば、伝送係数レベルの形で予測残差の伝送のための高い伝送オーバーヘッドを必要とする。したがって、トレードオフは、適切な方法で符号化側で見つけられる。しかしながら、いずれにせよ、結合コンセプトは、少ない内部相関関係を示す結合グループのための動きベクトル差という結果になる。例えば、確かな結合グループに対するメンバシップに陰影をつけることによって示す図１９を参照されたい。明らかに、これらのブロックの画像内容の実際の動きは、符号化側がそれぞれのブロックを結合することを決めたものと類似していた。しかしながら、他の結合グループの画像内容の動きとの相関関係は低い。したがって、短縮単項符号８０６のビンにつき単に１つのコンテキストだけを使用する制限は、十分に隣接する画像内容の動きとの間で空間的なエントロピー符号化効率にすでに適応している結合コンセプトのようなエントロピー符号化効率に負の影響を与えない。コンテキストは単にビンが動きベクトル差成分８０２ｘ，ｙの二値化の一部であるという事実およびカットオフ値が２つであることにより１か２であるビン位置に基づいて選択されることができるだけである。したがって、他のすでに復号化されたビン／構文要素／ｍｖｄ成分８０２ｘ，ｙは、コンテキスト選択に影響しない。
【０２５４】
同様に、再現器４０４は、第１に、動きベクトル予測器のリストが、動きベクトル差を予測するために実際に用いられる予測器のインデックス上のデータ・ストリーム情報の中ではっきりとまたは黙示的に伝送される各ブロックまたは結合グループのために生成されるマルチ仮定予測コンセプトを用いることによって更なる（運動ベクトルの空間および／または時間的予測を越えて）動きベクトル差を経由して伝送される情報内容を減少させるように構成される。例えば、図２０の陰影のついていないブロック１２２を参照されたい。再現器４０４は、例えば左から、上部から、両方の組合せ等から空間的に動きベクトルを予測することによって、および以前に復号化されたビデオの画像および前述の予測手段の更なる組合せの同じ位置に配置された部分の動きベクトルから時間的に動きベクトルを予測することによって、このブロックの動きベクトルのための異なる予測器を提供することができる。これらの予測器は、符号化側で予想可能である予測可能な方法で再現器４０４によってソートされる。いくつかの情報は、データ・ストリームの中でこのために伝達されて、再現器によって使用される。すなわち、いくつかのヒントはデータ・ストリームに含まれ、それに関しては、予測器のこの順序リストからの予測器が実はこのブロックの動きベクトルのための予測器として用いられる。このインデックスは、明確にこのブロックのためのデータ・ストリームの中で送信されることができる。しかしながら、インデックスが第１に予測され、単にそれの予測を伝えることは可能である。他の可能性が、同様に存在する。いずれにせよ、ちょうど言及された予測スキームは現在のブロックの動きベクトルの非常に正確な予測を可能にし、したがって、動きベクトル差に課される情報内容要件は減らされる。したがって、動きベクトル差が、高い予測効率のため、動きベクトル差成分８０２ｘ，ｙのより高い値がより低頻度でアクセスされる頻度ヒストグラムを示すため、１である指数Ｇｏｌｏｍｂコードの順序の選択とともに、単に短縮単項のコードの２つのビンおよび図１８について述べたように２までのカットオフ値の減少の上のコンテキスト適応エントロピー符号化の制限は符号化効率に負に影響を及ぼさない。予測精度が高い両方の方向において予測が等しくよく作動する傾向があるので、水平および垂直成分の間のいかなる特徴的なことを省略することさえ効果的な予測に適合する。
【０２５５】
前記説明において、デシンボライザ３１４、再現器４０４およびエントロピー復号器４０９の機能に関する限り、図１〜１５を備えている全部の詳細が、例えば図１６に示される構成要素上へも移転可能である点に注意することが重要である。それにもかかわらず、完全性のために、これらの詳細は、下で再び概説される。
【０２５６】
ちょうど概説された予測方式のより良好な理解のために、図２０を参照されたい。ちょうど記載されているように、構成器４０４は、現在のブロック８２２または現在のブロックの結合グループのための異なる予測器を得ることができ、これらの予測器は実線のベクトル８２４によって示されている。予測器は空間的および／または時間的予測によって得られ、さらに、算術平均動作等が使われることができ、その結果、それが互いに相関するように個々の予測器がある程度再現器４０４によって得られた。ベクトル８２６が得られた方法とは別に、再現器４０４は、順序リストにこれらの予測器１２６をシーケンス化またはソートする。これは、図２１の番号１〜４で例示される。ソートするプロセスが独自に決定可能である場合、エンコーダおよびデコーダは同期をとって作動することが好ましい。それから、ちょうど言及されたインデックスは、現在のブロックまたは結合グループのために、再現器４０４によって明確にまたは黙示的にデータ・ストリームから得られることができる。たとえば、第２の予測器「２」が選択され、再現器４０４は動きベクトル差８００をこの選択された予測器１２６に加え、それによって、動き補償予測によって、現在のブロック／結合グループの内容を予測するために用いられる最後に再現された動きベクトル１２８を得る。結合グループの場合には、結合グループの個々のブロックに関して動きベクトル１２８をさらに改良するために、再現器４０４がブロックのために提供される更なる動きベクトル差を含むことは可能である。
【０２５７】
このように、更に図１６に示される構成要素の実施の説明に続行して、それは、エントロピー復号器４０９がバイナリの演算復号化またはバイナリのＰＩＰＥ符号化を用いて、データ・ストリーム４０１から短縮単項のコード８０６を引き出すように構成されるということでもよい。両方の概念は、上で説明されている。さらに、エントロピー復号器４０９は、短縮単項のコード８０６または両方のビンのための同じコンテキストの２つのビン位置のための異なるコンテキストを使用するように構成されることができる。エントロピー復号器４０９は、確率状態のアップデートを実行するように構成されることができる。エントロピー復号器４０９は、短縮単項のコード８０６から現在引き出されるビンのために、引き出されるビンのために選択されるコンテキストと関連した現在の確率状態から現在引き出されるビンに応じた新しい確率状態に移行することによってこうすることができる。それに関して上記の他のステップ０〜５に加えてエントロピー復号器によって実行される表検索である上の表Ｎｅｘｔ＿Ｓｔａｔｅ＿ＬＰＳおよびＮｅｘｔ＿Ｓｔａｔｅ＿ＭＰＳを参照されたい。上記説明において、現在の確率状態は、ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔによって言及された。それは、興味があるそれぞれのコンテキストのために定められる。エントロピー復号器４０９は現在の確率間隔幅値、すなわち確率間隔インデックスｑ＿ｉｎｄｅｘを得るために現在の確率間隔を示し、確率間隔インデックスおよび確率状態インデックス、すなわち現在の確率間隔を２つの部分間隔に再分割するために現在引き出されるビンのために選択されるコンテキストと関連する現在の確率状態に依存するｐ＿ｓｔａｔｅを用いて表項目の間で表項目にイデックスを付けることによって間隔再分割を実行するＲを量子化することによって短縮単項のコード８０６から現在引き出されるビンをバイナリの演算復号化するように構成される。上で概説された実施例において、これらの部分的間隔は、最も見込みがあるおよび最も見込みが少ないシンボルと関係していた。上述の通り、エントロピー復号器４０９は間隔幅が８ビット表現の２つまたは３つの最も重要なビットを引き出して現在の確率間隔幅値Ｒの８ビット表現をしようするように構成され、現在の確率間隔幅値を量子化するように構成される。エントロピー復号器４０９は、現在の確率間隔、すなわちＶの内部からのオフセット状態値に基づいて２つの部分的間隔の間で選択されるように構成され、確率間隔幅値Ｒおよびオフセット状態値をアップデートし、選択された部分的間隔を用いて現在引き出されるビンの値を推定し、アップデートされた確率間隔幅値Ｒおよびデータ・ストリーム４０１から読み出されたビットの連続を含むオフセット値Ｒの繰り込みを実行する。たとえば、エントロピー復号器４０９は、現在の確率間隔幅値の２つの部分的間隔への再分割を得るために現在の確率間隔幅値を有することにより指数Ｇｏｌｏｍｂコードからビンをバイナリの演算復号化をするように構成される。半分にすることは、０．５に固定し等しい確率評価に対応する。それは、単純なビットシフトによって行うことができる。エントロピー復号器は、各動きベクトル差のために、それぞれの運動ベクトル差の水平および垂直成分の指数ｇｏｌｏｍｂコードの前に、データ・ストリーム４０１からそれぞれの動きベクトル差の水平および垂直成分の短縮単項符号を引き出すように構成される。この計測によって、エントロピー復号器４０９は、ビンのより高い数が共に確率評価が固定された、すなわち０．５に固定されたビンの続きを形成することを利用することができる。これは、エントロピーを復号化する手順の速度を上げることができる。一方では、エントロピー復号器４０９は、まず１つの動きベクトル差の水平および垂直成分を引き出し、続いて、次の動きベクトル差の水平および垂直成分を引き出すことにより、動きベクトル差の中の順序を維持することを好む。この計測によって、デシンボライザ３１４が更なる動きベクトル差のスキャンを待つことなくすぐに動きベクトル差の非二値化を続行することができるので、復号化構成要素、すなわち図１６のデコーダに課されるメモリ要求は減少させられる。これは、コンテキスト選択によって可能にされ：単に正確に１つのコンテキストだけがコード８０６のビン位置につき利用することができる。
【０２５８】
再現器４０４は、上述のように、動きベクトルの水平および垂直成分のための予測器１２６を得て、動きベクトル差の水平および垂直成分を用いて、例えば単にそれぞれの予測器に動きベクトル差を加えることによって予測器８２６を改良することにより動きベクトル差の水平および垂直成分を再現するように、動きベクトルの水平および垂直成分を空間的および／または時間的に予測することができる。
【０２５９】
さらに、再現器４０４は、動きベクトルの水平および垂直成分のための予測器の順序付きリストを得るために異なる方法で動きベクトルの水平および垂直成分を予測して、データ・ストリームからリスト・インデックスを得て、予測器をリスト・インデックスが動きベクトルの水平および垂直成分を用いて示すリストの予測器に改良することにより動きベクトルの水平および垂直成分を再現するように構成されることができる。
【０２６０】
さらに、上述したように、再現器４０４は、ブロックへのビデオ画像の再分割によって規定される空間敵な精度で動きベクトルの水平および垂直成分８０２ｘ，ｙを適用することによる動き補償予測を使用してビデオを再現するように構成され、再現器４０４は、ブロックを結合グループにグループ化し、結合グループのユニットにおいて、二値化器３１４によって得られる動きベクトル差の水平および垂直成分８０２ｘ，ｙの整数値を適用するように、データ・ストリーム４０１にある結合構文要素をしようする。
【０２６１】
再現器４０４は、結合構文要素を除外する一部のデータ・ストリーム４０１からブロックにビデオ画像の再分割を引き出すことができる。再現器４０４は、関連する結合グループの全てのブロックの所定の動きベクトルの水平および垂直成分を適応させ、または結合グループのブロックと関連する動きベクトル差の水平および垂直成分によってそれを改良する。
【０２６２】
完全性だけのためのために、図１７は、図１６のデコーダに適合しているエンコーダを示す。図１７のエンコーダは、コンストラクタ５０４、シンボライザ５０７およびエントロピー復号器５１３を含む。エンコーダは、動きベクトルを用いて動き補償予測によりビデオ５０５を符号化し、動きベクトルを予測することにより動きベクトルを予測的に符号化し、予測された動きベクトルの予測エラーを示す動きベクトル差の水平および垂直成分の整数値５０６を設定するように構成されたコンストラクタ５０４；動きベクトル差の水平および垂直成分の二値化５０８を得るために整数値を二値化し、二値化は、カットオフ値より小さい水平および垂直成分の領域の第１の間隔の中の水平および垂直成分の短縮単項のコード、およびカットオフ値を含むかそれより大きい水平および垂直成分の領域の第２の間隔の中の、カットオフ値のための接頭辞および水平および垂直成分のＥｘｐ−Ｇｏｌｏｍｂコードの形の接尾辞の組み合わせに等しく、カットオフ値は２でありＥｘｐ−Ｇｏｌｏｍｂコードは１であるシンボライザ５０７；および動きベクトル差の水平および垂直成分のために、動きベクトル差の水平および垂直成分、および一定の等確率バイパス・モードを用いたＥｘｐ−Ｇｏｌｏｍｂコードに共通する、短縮単項符号のビン位置ごとに確実に１つのコンテキストでコンテキスト適合バイナリ・エントロピー符号化を用いて短縮単項符号をデータ・ストリームに符号化するように構成されたエントロピー符号器５１３を含む。さらに可能な実施の詳細は、図１６のデコーダに関する説明から図１７のエンコーダに直接移転可能である。
【０２６３】
いくつかの態様が装置のコンテキストに記載されたが、これらの態様も対応する方法の説明に適用できることは明らかであり、ブロックまたは装置は、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップのコンテキストに記載されている態様は、対応する装置の対応するブロックまたは部材または特徴の説明を表す。いくつかのまたは全ての方法ステップは、ハードウェア装置、例えばマイクロプロセッサ、プログラム可能なコンピュータまたは電子回路等によって（使用して）を実行することができる。いくつかの実施形態では、最も重要な方法ステップの若干の１つ以上は、この種の装置によって実行されることができる。
【０２６４】
発明の符号化信号は、デジタル記憶媒体に保存されることができるか、または例えば無線伝送媒体または有線の伝送媒体、例えばインターネット等の伝送媒体上に送信されることができる。
【０２６５】
特定の実施要件に応じて、本発明の実施例は、ハードウェアにおいて、または、ソフトウェアで実施されることができる。実施はその上に格納される電子的に読み込み可能な制御信号を有するデジタル記憶媒体、例えばフレキシブルディスク、ＤＶＤ、ブルーレイ、ＣＤ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュメモリを使用して実行されることができ、それぞれの方法が実行されるように、それはプログラム可能なコンピュータシステムと協働する（または協働することができる）。したがって、デジタル記憶媒体は、計算機可読でもよい。
【０２６６】
本発明による若干の実施例は、電子的に読み込み可能な制御信号を有するデータキャリアを含み、本願明細書において記載されている方法のうちの１つが実行されるように、それはプログラム可能なコンピュータシステムと協働することができる。
【０２６７】
通常、本発明の実施例はプログラムコードを有するコンピュータ・プログラム製品として実施されることができ、コンピュータ・プログラム製品がコンピュータで動くときに、プログラムコードが方法のうちの１つを実行するために実施されている。プログラムコードは、機械読み取り可読キャリアに例えば格納されることができる。
【０２６８】
他の実施例は、本願明細書において記載されていて、機械読み取り可読キャリアに格納される方法のうちの１つを実行するためのコンピュータプログラムを含む。
【０２６９】
換言すれば、発明の方法の実施例は、従って、コンピュータプログラムはコンピュータで動くとき、本願明細書において記載されている方法のうちの１つを実行するためのプログラムコードを有するコンピュータプログラムである。
【０２７０】
発明の方法の更なる実施例は、従って、その上に記録されて、本願明細書において記載されている方法のうちの１つを実行するためのコンピュータプログラムから成っているデータキャリア（またはデジタル記憶媒体またはコンピュータ可読媒体）である。データキャリア、デジタル記憶媒体または記録されたものは、典型的に有形および／または非移行的なものである。
【０２７１】
発明の方法の更なる実施例は、従って、本願明細書において記載されている方法のうちの１つを実行するためのコンピュータプログラムを表しているデータ・ストリームまたは信号のシーケンスである。データ・ストリームまたは信号のシーケンスは、データ通信接続を経て、例えばインターネットで転送されるように構成されることができる。
【０２７２】
更なる実施例は、ここに記載されている方法の１つを実行するように構成され、または適応された処理手段、例えばコンピュータまたはプログラム可能な論理装置を含む。
【０２７３】
更なる実施例は、その上に、本願明細書において記載されている方法のうちの１つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
【０２７４】
本発明による更なる実施例は、受信機に本願明細書において記載されている方法のうちの１つを実行するためのコンピュータプログラムを移す、（例えば、電子的に、または、光学的に）ように構成される装置またはシステムを含む。受信機は、例えば、コンピュータ、モバイル機器、メモリデバイス等でもよい。装置またはシステムは、例えば、コンピュータプログラムを受信機に伝送するためのファイル・サーバであってもよい。
【０２７５】
いくつかの実施形態では、プログラム可能な論理装置（例えばフィールド・プログラム可能なゲート・アレイ）は、本願明細書において記載されている方法の機能のいくらかまたは全てを実行するために用いることができる。いくつかの実施形態では、フィールド・プログラム可能なゲート・アレイは、本願明細書において記載されている方法のうちの１つを実行するために、マイクロプロセッサと協働することができる。通常、方法は、いかなるハードウェア装置によっても好ましくは実行される。
【０２７６】
上記した実施例は、本発明の原理のために、単に図示するだけである。配置の修正変更および本願明細書において記載されている詳細が他の当業者にとって明らかであるものと理解される。しだって、間近に迫った特許クレームの範囲だけによって制限され、本願明細書において実施例の説明および説明として示される具体的な詳細だけで制限されることは意図していない。
【図１】
2019050610.tif 000033
【図２ａ】
2019050610.tif 000034
【図２ｂ】
2019050610.tif 000035
【図２ｃ】
2019050610.tif 000036
【図３】
2019050610.tif 000037
【図４】
2019050610.tif 000038
【図５】
2019050610.tif 000039
【図６】
2019050610.tif 000040
【図７】
2019050610.tif 000041
【図８】
2019050610.tif 000042
【図９】
2019050610.tif 000043
【図１０】
2019050610.tif 000044
【図１１】
2019050610.tif 000045
【図１２】
2019050610.tif 000046
【図１３】
2019050610.tif 000047
【図１４】
2019050610.tif 000048
【図１５】
2019050610.tif 000049
【図１６】
2019050610.tif 000050
【図１７】
2019050610.tif 000051
【図１８】
2019050610.tif 000052
【図１９】
2019050610.tif 000053
【図２０】
2019050610.tif 000054
【手続補正書】
【提出日】平成30年12月18日(2018.12.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
動きベクトルおよび動きベクトル差を用いた動き補償予測によって予測復号化されたビデオをデータ・ストリームから復号化するためのデコーダであって、前記デコーダは、
それぞれの前記動きベクトル差の水平および垂直成分について、
前記データ・ストリームから２つの固定長バイナリコードおよびＥｘｐ−Ｇｏｌｏｍｂコードを取得するように構成され、前記２つの固定長バイナリコードのうちの第１の固定長バイナリコードは動きベクトル差の絶対値がゼロより大きいか否かを示し、前記２つの固定長バイナリコードのうちの第２の固定長バイナリコードは前記動きベクトル差の前記絶対値が１より大きいか否かを示し、前記Ｅｘｐ−Ｇｏｌｏｍｂコードは前記動きベクトル差の前記絶対値と固定値との差を表し、且つ、
前記２つの固定長バイナリコードのそれぞれを、前記固定長バイナリコードの各々に厳密に１つのコンテキストを関連付けて、コンテキスト適応バイナリ・エントロピー復号化を用いて復号するように構成され、前記コンテキストは前記動きベクトル差の前記縦横のコンポーネントによってシェアされる、エントロピー復号器と、
前記動きベクトル差の水平および垂直成分に基づいて前記ビデオを再現するように構成される再現器を備える、デコーダ。
【請求項２】
前記エントロピー復号器は、前記２つの固定長バイナリコードについて、異なるコンテキストを使用するように構成される、請求項１に記載のデコーダ。
【請求項３】
前記２つの固定長バイナリコードの各々の復号化の一環として、前記エントロピー復号器は、現在復号化されている固定長バイナリコードについて選択されたコンテキストと関連した現在の確率状態から現在復号化されている固定長バイナリコードに依存した新しい確率状態に移行することによって、確率状態のアップデートを実行するように構成される、請求項１に記載のデコーダ。
【請求項４】
前記２つの固定長バイナリコードのそれぞれの復号化の一環として、前記エントロピー復号器は、現在の確率間隔を表す現在の確率間隔幅値を量子化して確率間隔インデックスを得て、現在復号化されている前記固定長バイナリコードのために選択されるコンテキストと関連する現在の確率状態に依存して、前記確率間隔インデックスおよび確率状態インデックスを用いて複数の表項目の中の表項目にインデックスを付けることによって間隔再分割を実行して、前記現在の確率間隔の２つの部分間隔への再分割を得るように構成される、請求項１に記載のデコーダ。
【請求項５】
前記エントロピー復号器は、現在の確率間隔幅値について８ビット表現を使用し、前記確率間隔幅値の量子化にあたり、前記８ビット表現のうちの２つまたは３つの最も重要なビットを得るように構成される、請求項４に記載のデコーダ。
【請求項６】
前記エントロピー復号器は、前記現在の確率間隔の内部からオフセット状態値に基づいて２つの部分間隔から１つの部分間隔を選択し、確率間隔幅値およびオフセット状態値をアップデートし、選択された部分的間隔を使用して現在復号されている固定長バイナリコードの値を推測し、アップデートされた前記確率間隔幅値および前記オフセット状態値の繰り込みを前記データ・ストリームからのビットの読み込みを含めて実行するように構成される、請求項４に記載のデコーダ。
【請求項７】
前記エントロピー復号器は、一定の等確率バイパス・モードで、前記現在の確率間隔幅値を半分にして前記現在の確率間隔の２つの部分間隔への再分割を得ることによって、前記Ｅｘｐ−Ｇｏｌｏｍｂコードからビンをバイナリ算術復号化するように構成される、請求項４に記載のデコーダ。
【請求項８】
前記エントロピー復号器は、それぞれの動きベクトル差の水平および垂直成分の前記Ｅｘｐ−Ｇｏｌｏｍｂコードを導出する前に、各動きベクトル差ごとに、前記各動きベクトル差の水平および垂直成分の前記２つの固定長バイナリコードを前記データ・ストリームから引き出すように構成される、請求項１に記載のデコーダ。
【請求項９】
前記再現器は、動きベクトルの前記水平および垂直成分を空間的および／または時間的に予測して前記動きベクトルの前記水平および垂直成分の予測子を得て、前記動きベクトル差の前記水平および垂直成分を使用して前記予測子を改良することによって前記動きベクトルの前記水平および垂直成分を再現するように構成される、請求項１に記載のデコーダ。
【請求項１０】
前記再現器は、前記動きベクトルの前記水平および垂直成分を異なる方法で予測して動きベクトルの前記水平および垂直成分の予測子の順序づけされたリストを得て、前記順序づけされたリストの中の予測子に対応するリスト・インデックスを前記データ・ストリームから得て、前記動きベクトル差の前記水平および垂直成分を用いて、前記リストに示される予測子を改良することによって動きベクトルの前記水平および垂直成分を再現するように構成される、請求項１に記載のデコーダ。
【請求項１１】
前記再現器は、動きベクトルの前記水平および垂直成分を用いることによって動き補償予測を用いて前記ビデオを再現するように構成される、請求項９に記載のデコーダ。
【請求項１２】
前記再現器は、前記ビデオの画像のブロックへの再分割によって規定される空間精度で動きベクトルの前記縦横コンポーネントを適用することによって、前記動き補償予測を用いて前記ビデオを再現するように構成され、前記再現器は、前記データ・ストリームに存在する結合構文要素を使用して、全ブロックを結合グループにグループ化し、結合グループ単位で、前記動きベクトル差の水平および垂直成分を適用する、請求項１１に記載のデコーダ。
【請求項１３】
前記データ・ストリームは、少なくとも、カラーサンプルと関連付けられた部分を備える、請求項１に記載のデコーダ。
【請求項１４】
前記データ・ストリームは、少なくとも、深度図に関連する深度値と関連付けられた部分を有する、請求項１に記載のデコーダ。
【請求項１５】
データ・ストリームにビデオを符号化するためのエンコーダであって、
動きベクトルおよび動きベクトル差の水平および垂直成分を用いた動き補償予測によって前記ビデオを予測的に符号化するように構成されるコンストラクタと、
前記動きベクトル差の水平および垂直成分について、
前記データ・ストリームに、２つの固定長バイナリコードのそれぞれを、厳密に１つのコンテキストをそれぞれの固定長バイナリコードに関連付けて、コンテキスト適応バイナリ・エントロピー符号化するように構成され、前記２つの固定長バイナリコードのうちの第１の固定長バイナリコードは動きベクトル差の絶対値がゼロよりも大きいか否かを示し、前記２つの固定長バイナリコードのうちの第２の固定長バイナリコードは前記動きベクトル差の前記絶対値が１よりも大きいか否かを示し、
一定の等確率バイパス・モードを用いて符号化され得たＥｘｐ−Ｇｏｌｏｍｂコードを前記データ・ストリームに符号化するように構成され、前記Ｅｘｐ−Ｇｏｌｏｍｂコードは前記動きベクトル差の前記絶対値と固定値との差を表す、エントロピー符号器を含む、エンコーダ。
【請求項１６】
前記エントロピー符号器は、前記２つの固定長バイナリコードについて異なるコンテキストを使用するように構成される、請求項１５に記載のエンコーダ。
【請求項１７】
前記２つの固定長バイナリコードの符号化の一環として、前記エントロピー符号器は、現在符号化されている前記固定長バイナリコードのために選択されるコンテキストと関連する現在の確率状態から現在符号化されている前記固定長バイナリコードに依存した新しい確率状態に移行することによって確率状態アップデートを実行するように構成される、請求項１５に記載のエンコーダ。
【請求項１８】
前記２つの固定長バイナリコードの符号化の一環として、前記エントロピー符号器は、現在の確率間隔を表す現在の確率間隔幅値を量子化して確率間隔インデックスを得て、現在符号化されている前記固定長バイナリコードのために選択されるコンテキストと関連する現在の確率状態に依存して確率間隔インデックスおよび確率状態インデックスを用いた複数の表項目の中の表項目にインデックスを付けることにより間隔再分割を実行して、前記現在の確率間隔の２つの部分間隔への再分割を得るように構成される、請求項１５に記載のエンコーダ。
【請求項１９】
前記エントロピー符号器は、現在符号化されている前記固定長のバイナリコードの整数値に基づいて前記２つの部分間隔の中から選択し、前記選択された部分間隔を用いて前記確率間隔幅値および確率間隔オフセットをアップデートし、前記確率間隔幅値および前記確率間隔オフセットの繰り込みを、前記データ・ストリームへのビットの書き込みの継続を含めて実行する、請求項１５に記載のエンコーダ。
【請求項２０】
前記エントロピー符号器は、前記それぞれの動きベクトル差の前記水平および垂直成分の前記Ｅｘｐ−Ｇｏｌｏｍｂコードを符号化する前に、動きベクトル差ごとに、前記それぞれの動きベクトル差の前記水平および垂直成分の前記２つの固定長バイナリコードを符号化するように構成される、請求項１５に記載のエンコーダ。
【請求項２１】
前記コンストラクタは、前記動きベクトルの前記水平および垂直成分を空間的および／または時間的に予測して前記動きベクトルの前記水平および垂直成分のための予測子を得て、前記動きベクトル差の前記水平および垂直成分を決定して前記予測子を動きベクトルの前記縦横コンポーネントに向けて改良するように構成される、請求項１５に記載のエンコーダ。
【請求項２２】
前記コンストラクタは、前記動きベクトルの前記水平および垂直成分を異なる方法で予測して動きベクトルの前記水平および垂直成分のための予測子の順序づけされたリストを得て、前記データ・ストリームから前記順序づけされたリストの中の予測子に対応するリスト・インデックスを得て、前記動きベクトル差の前記水平および垂直成分を決定して動きベクトルの前記水平および垂直成分に向けて前記リスト・インデックスによって示される前記予測子を改良するように構成される、請求項１５に記載のエンコーダ。
【請求項２３】
前記コンストラクタは、前記ビデオの画像のブロックへの再分割によって規定される空間精度で動きベクトルの前記水平および垂直成分を適用することによって、動き補償予測を用いて前記ビデオを符号化するように構成され、前記コンストラクタはさらに、結合構文要素を決定して前記データ・ストリームに挿入して前記ブロックを結合グループにグループ化して前記動きベクトル差の前記水平および垂直成分を結合グループ単位で適用するように構成される、請求項１５に記載のエンコーダ。
【請求項２４】
前記データ・ストリームは、少なくとも、カラーサンプルに関連付けられた部分を含む、請求項１５に記載のエンコーダ。
【請求項２５】
前記データ・ストリームは、少なくとも、深度図に関連する深度値に関連付けられた部分を含む、請求項１５に記載のエンコーダ。
【請求項２６】
データ・ストリームに符号化されたビデオを復号するための方法であって、前記ビデオは動きベクトルおよび動きベクトル差を用いた動き補償予測によって予測的に符号化されており、前記方法は、
前記動きベクトル差のそれぞれの水平および垂直成分について、
前記データ・ストリームから、２つの固定長バイナリコードとＥｘｐ−Ｇｏｌｏｍｂコードを取得するステップであって、前記２つの固定長バイナリコードのうちの第１の固定長バイナリコードは動きベクトル差の絶対値がゼロよりも大きいか否かを示し、前記２つの固定長バイナリコードのうちの第２の固定長バイナリコードは前記動きベクトル差の前記絶対値が１よりも大きいか否かを示し、前記Ｅｘｐ−Ｇｏｌｏｍｂコードは前記動きベクトル差の前記絶対値と固定値との間の差を表す、取得するステップと、
前記２つの固定長バイナリコードのそれぞれを、厳密に１つのコンテキストを前記各固定長バイナリコードに関連付けたコンテキスト適応バイナリ・エントロピー復号化を用いて復号化するステップであって、前記コンテキストは前記動くベクトル差の前記水平および垂直成分によって共有される、復号化するステップと、
一定の等確率バイパス・モードを用いて前記Ｅｘｐ−Ｇｏｌｏｍｂコードを復号化して、前記動きベクトル差の前記水平および垂直成分を得るステップと、
前記動きベクトル差の前記水平および垂直成分に基づいて前記ビデオを再現するステップを含む、方法。
【請求項２７】
コンピュータ上で動作するときに、請求項２６に記載の方法を実行するためのプログラムコードを有する、非一時的コンピュータ可読媒体に格納されたコンピュータプログラム。
【請求項２８】
ビデオに関連するデータを格納するための非一時的コンピュータ可読媒体であって、
前記非一時的コンピュータ可読媒体に格納されるデータ・ストリームであって、前記データ・ストリームは動きベクトル差の符号化された水平および垂直成分を含み、前記ビデオは前記データ・ストリームに符号化された動きベクトルおよび動きベクトル差の前記縦横のコンポ―テントを用いた動き補償予測により予測的に符号化され、
各々の前記動きベクトル差の水平および垂直成分について、２つの固定長バイナリコードはそれぞれ、厳密に１つのコンテキストを各固定長バイナリコードに関連付けて、コンテキスト適応バイナリ・エントロピー符号化を用いて符号化されており、前記コンテキストは前記動きベクトル差の前記水平および垂直成分によって共有され、Ｅｘｐ−Ｇｏｌｏｍｂコードは一定の等確率バイパス・モードを用いて符号化され、前記２つの固定長バイナリコードのうちの第１の固定長バイナリコードは動きベクトル差の絶対値がゼロよりも大きいか否かを示し、前記２つの固定長バイナリコードのうちの第２の固定長バイナリコードは前記動きベクトル差の前記絶対値が１よりも大きいか否かを示し、前記Ｅｘｐ−Ｇｏｌｏｍｂコードは前記動くベクトル差の前記絶対値と固定値の間の差を表す、非一時的コンピュータ可読媒体。