(57)【特許請求の範囲】
【請求項１】
入力される符号化データ値を、ビット深度を有する復号化データ値に拡張精度処理により復号化するように構成されるデコーダを具備し、
前記入力される符号化データ値は、データセット、及び前記データセットによって符号化されない値のためのエスケープコードとして符号化され、
前記エスケープコードはそれぞれ、
前記符号化データ値の前記ビット深度に依存する最大プレフィックス長であって所定の計算により算出される前記最大プレフィックス長に制限されるプレフィックス長を有するプレフィックス部分と、
前記プレフィックス部分によって符号化された値に依存するビット長を有するサフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該サフィックス部分の前記ビット長が、前記プレフィックス部分のビット長より長くなる関係にある場合に、非α符号化サフィックス部分として処理されるサフィックス部分と
を有する
データ復号化装置。
【請求項２】
請求項１に記載のデータ復号化装置であって、
前記プレフィックス部分は、α符号化値を含む
データ復号化装置。
【請求項３】
請求項２に記載のデータ復号化装置であって、
前記プレフィックス部分は、切り捨てα符号化（truncated unary coding）値を含む
データ復号化装置。
【請求項４】
請求項１に記載のデータ復号化装置であって、
前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとが関係付けられる１つ又は複数の表にアクセスするように構成される制御部
をさらに具備する
データ復号化装置。
【請求項５】
請求項４に記載のデータ復号化装置であって、
前記制御部は、
（ｉ）前記符号化データ値に関係付けられるデータフラグと、
（ｉｉ）先に符号化された１つ又は複数のデータ値から導出されるパラメータと
から成る群のうちの１つ又は複数に応じて、前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとが関係付けられる前記表のうちの１つを選択するように構成される
データ復号化装置。
【請求項６】
請求項１に記載のデータ復号化装置であって、
前記プレフィックス部分によって符号化された前記値は、前記非α符号化サフィックス部分の前記長さが、前記プレフィックス部分によって符号化された前記値の指数関数であるように、前記非α符号化サフィックス部分の前記長さに関係付けられる
データ復号化装置。
【請求項７】
請求項１に記載のデータ復号化装置であって、
前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとの前記関係は、前記非α符号化サフィックス部分の最大長さが、符号化される前記データ値のそれぞれの最大ビット数と、所定の最大値とから成るリストから選択される最大値より大きくならないように設定される
データ復号化装置。
【請求項８】
請求項１に記載のデータ復号化装置であって、
前記プレフィックス部分はそれ自体が指数ゴロム符号として符号化される
データ復号化装置。
【請求項９】
請求項１に記載のデータ復号化装置であって、
前記プレフィックス長は、前記データ値の前記ビット深度に６を足した値に依存する最大プレフィックス長を上限とする
データ復号化装置。
【請求項１０】
請求項１に記載のデータ復号化装置であって、
前記最大プレフィックス長は、所定の定数から符号化用の前記データ値のダイナミックレンジに等しい値を差し引いた値に等しい
データ復号化装置。
【請求項１１】
請求項１０に記載のデータ復号化装置であって、
前記所定の定数は、２９に等しい
データ復号化装置。
【請求項１２】
請求項１０に記載のデータ復号化装置であって、
前記所定の定数は、２８に等しい
データ復号化装置。
【請求項１３】
請求項１に記載のデータ復号化装置であって、
前記データセットのうちの１つは、前記データ値の配列に対する、非ゼロである最上位データ部分の位置を示す重要性マップである
データ復号化装置。
【請求項１４】
請求項１３に記載のデータ復号化装置であって、
前記重要性マップは、前記データ値の配列の所定の順序で、非ゼロの値を有する前記最上位データ部分の最後の位置を示すデータフラグを含む
データ復号化装置。
【請求項１５】
データ復号化装置の動作方法であって、
前記データ復号化装置によって、入力される符号化データ値を、ビット深度を有する復号化データ値に拡張精度処理により復号化し、
前記入力される符号化データ値は、データセット、及び前記データセットによって符号化されない値のためのエスケープコードとして符号化され、
前記エスケープコードはそれぞれ、
前記符号化データ値の前記ビット深度に依存する最大プレフィックス長であって所定の計算により算出される前記最大プレフィックス長に制限されるプレフィックス長を有するプレフィックス部分と、
前記プレフィックス部分によって符号化された値に依存するビット長を有するサフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該サフィックス部分の前記ビット長が、前記プレフィックス部分のビット長より長くなる関係にある場合に、非α符号化サフィックス部分として処理されるサフィックス部分とを有する
データ復号化装置の動作方法。
【請求項１６】
コンピュータに、請求項１５に記載のデータ復号化装置の動作方法の各ステップを実行させるプログラム。
【請求項１７】
請求項１６に記載のプログラムが記録された機械可読記憶媒体。
【請求項１８】
ビット深度を有するデータセット及び前記データセットによって符号化されない値のためのエスケープコードとしてデータ値のアレイを拡張精度処理により符号化するように構成されるエンコーダを具備し、
前記エスケープコードはそれぞれ、
前記データ値の前記ビット深度に依存する最大プレフィックス長であって所定の計算により算出される前記最大プレフィックス長に制限されるプレフィックス長を有するプレフィックス部分と、
前記プレフィックス部分によって符号化された値に依存するビット長を有するサフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該サフィックス部分の前記ビット長が、前記プレフィックス部分のビット長より長くなる関係にある場合に、非α符号化サフィックス部分として処理されるサフィックス部分とを有する
データ符号化装置。
【請求項１９】
請求項１８に記載のデータ符号化装置であって、
前記プレフィックス部分は、α符号化値を含む
データ符号化装置。
【請求項２０】
請求項１９に記載のデータ符号化装置であって、
前記プレフィックス部分は、切り捨てα符号化を含む
データ符号化装置。
【請求項２１】
請求項１８に記載のデータ符号化装置であって、
前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとが関係付けられる１つ又は複数の表にアクセスするように構成される制御部
をさらに具備する
データ符号化装置。
【請求項２２】
請求項２１に記載のデータ符号化装置であって、
前記制御部は、
（ｉ）前記符号化データ値に関係付けられるデータフラグと、
（ｉｉ）先に符号化された１つ又は複数のデータ値から導出されるパラメータと
に応じて、前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとが関係付けられる前記表のうちの１つを選択するように構成される
データ符号化装置。
【請求項２３】
請求項１８に記載のデータ符号化装置であって、
前記プレフィックス部分によって符号化された前記値は、前記非α符号化サフィックス部分の前記長さが、前記プレフィックス部分によって符号化された前記値の指数関数であるように、前記非α符号化サフィックス部分の前記長さに関係付けられる
データ符号化装置。
【請求項２４】
請求項１８に記載のデータ符号化装置であって、
前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとの前記関係は、前記非α符号化サフィックス部分の最大長さが、符号化される前記データ値のそれぞれの最大ビット数と、所定の最大値とから成るリストから選択される最大値より大きくならないように設定される
データ符号化装置。
【請求項２５】
請求項１８に記載のデータ符号化装置であって、
前記プレフィックス部分はそれ自体が指数ゴロム符号として符号化される
データ符号化装置。
【請求項２６】
請求項１８に記載のデータ符号化装置であって、
前記最大プレフィックス長は、所定の定数から符号化用の前記データ値のダイナミックレンジに等しい値を差し引いた値に等しい
データ符号化装置。
【請求項２７】
請求項２６に記載のデータ符号化装置であって、
前記所定の定数は、２９に等しい
データ符号化装置。
【請求項２８】
請求項２６に記載のデータ符号化装置であって、
前記所定の定数は、２８に等しい
データ符号化装置。
【請求項２９】
請求項１８に記載のデータ符号化装置であって、
前記データセットのうちの１つは、前記データ値の配列に対する、非ゼロである最上位データ部分の位置を示す重要性マップである
データ符号化装置。
【請求項３０】
請求項２９に記載のデータ符号化装置であって、
前記重要性マップは、前記データ値の配列の所定の順序で、非ゼロの値を有する前記最上位データ部分の最後の位置を示すデータフラグを含む
データ符号化装置。
【請求項３１】
請求項２９に記載のデータ符号化装置であって、
前記データセットは、
前記データ値の前記配列に対する、１より大きい最上位データ部分の位置を示す２以上マップと、
前記データ値の前記配列に対する、２より大きい最上位データ部分の位置を示す３以上マップと
を含む
データ符号化装置。
【請求項３２】
データ符号化装置の動作方法であって、
前記データ符号化装置によって、ビット深度を有するデータセット及び前記データセットによって符号化されない値のためのエスケープコードとしてデータ値のアレイを拡張精度処理により符号化し、
前記エスケープコードはそれぞれ、
前記データ値の前記ビット深度に依存する最大プレフィックス長であって所定の計算により算出される前記最大プレフィックス長に制限されるプレフィックス長を有するプレフィックス部分と、
前記プレフィックス部分によって符号化された値に依存するビット長を有するサフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該サフィックス部分の前記ビット長が、前記プレフィックス部分のビット長より長くなる関係にある場合に、非α符号化サフィックス部分として処理されるサフィックス部分とを有する
データ符号化装置の動作方法。
【請求項３３】
コンピュータに、請求項３２に記載のデータ符号化装置の動作方法の各ステップを実行させるプログラム。
【請求項３４】
請求項３３に記載のプログラムが記録された機械可読記憶媒体。
【請求項３５】
請求項１に記載のデータ復号化装置を具備する装置であって、ビデオデータキャプチャ装置、送信装置、表示装置、及び記憶装置のうち少なくとも１つの機能を有する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２０１４年３月５日出願のＧＢ１４０３８５４．１号及び２０１３年１２月２３日出願のＧＢ１３２２９４７．１号の優先権を主張するものであり、参照によってそれらの全体が本明細書に援用される。
【０００２】
本発明は、データ符号化及び復号化に関する。
【背景技術】
【０００３】
本明細書の「背景技術」の記載は、本出願における背景を一般的に説明するためのものである。本発明者らの技術は、この背景技術の欄で説明される範囲において、本出願の出願時点で従来技術でないのであれば従来技術と見なしてはならない説明の側面と同様に、明示又は黙示を問わず、本出願に対する従来技術として認められるものではない。
【０００４】
ビデオデータを周波数領域表現に変換し、得られた周波数領域係数を量子化し、その後、当該量子化された係数にある種のエントロピー符号化を適用するビデオデータ圧縮システム及びビデオデータ解凍システムが存在する。
【０００５】
これに関して、エントロピーは１つのデータシンボル又は一連のシンボルの情報量を表していると考えられる。エントロピー符号化の目的は、（理想的には）一連のデータシンボルの情報量を表すのに必要な最小数の符号化データビットを用いた無損失な方法で、当該一連のデータシンボルを符号化することである。実際には、エントロピー符号化は、符号化されたデータのサイズが元の量子化係数のデータサイズよりも（ビット数に関して）小さくなるように実行される。より効率的なエントロピー符号化処理を行うことができれば、入力データサイズが同じ場合でも、出力データサイズを小さくすることができる。
【０００６】
ビデオデータをエントロピー符号化する技術の１つとして、いわゆるコンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ：context adaptive binary arithmetic coding）と呼ばれる技術がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、効率的なエントロピー符号化処理を行うことができるデータ復号化装置及びデータ復号化装置の動作方法を提供することである。
【課題を解決するための手段】
【０００８】
本開示によれば、請求項１に記載のデータ復号化装置、すなわち、入力される符号化データ値を、ビット深度を有する復号化データ値に復号化するように構成されるデコーダを具備し、前記入力される符号化データ値は、データセット、及び前記データセットによって符号化されない値のためのエスケープコードとして符号化され、前記エスケープコードはそれぞれ、前記データ値の前記ビット深度に依存する最大プレフィックス長に制限されるプレフィックス長を有するプレフィックス部分と、前記プレフィックス部分によって符号化された値に依存するビット長を有する非α符号化サフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該非α符号化サフィックス部分の長さが、前記プレフィックス部分の前記ビット長より長くなる関係にある、非α符号化サフィックス部分とを有するデータ復号化装置が提供される。
【０００９】
本発明の各側面及び特徴は、添付の特許請求の範囲において定義される。
【００１０】
なお、上述の一般的な説明及び以降の詳細な説明は、本発明の一例であり、本発明を限定するものではないことが理解されるべきである。
【図面の簡単な説明】
【００１１】
【図１】ビデオデータ圧縮及びビデオデータ解凍を行うオーディオ／ビデオ（Ａ／Ｖ）データ送受信システムを示す概略図である。
【図２】ビデオデータ解凍を行うビデオ表示システムを示す概略図である。
【図３】ビデオデータ圧縮及びビデオデータ解凍を行うオーディオ／ビデオ記憶システムを示す概略図である。
【図４】ビデオデータ圧縮を行うビデオカメラを示す概略図である。
【図５】ビデオデータ圧縮・解凍装置を示す概略図である。
【図６】予測画像の生成を示す概略図である。
【図７】最大符号化ユニット（ＬＣＵ：Largest Coding Unit）を示す概略図である。
【図８】４つの符号化ユニット（ＣＵ：Coding Unit）の組を示す概略図である。
【図９】小さな符号化ユニットに細分された図８の符号化ユニットを示す概略図である。
【図１０】小さな符号化ユニットに細分された図８の符号化ユニットを示す概略図である。
【図１１】予測ユニット（ＰＵ：Prediction Unit）の配列を示す概略図である。
【図１２】変換ユニット（ＴＵ：Transform Unit）の配列を示す概略図である。
【図１３】部分的に符号化された画像を示す概略図である。
【図１４】考えられる一連の予測方向を示す概略図である。
【図１５】一連の予測モードを示す概略図である。
【図１６】ジグザグスキャンを示す概略図である。
【図１７】ＣＡＢＡＣエントロピーエンコーダを示す概略図である。
【図１８】符号化技術を示す概略フローチャートである。
【図１９】符号化技術を示す概略フローチャートである。
【図２０】符号化技術を示す概略フローチャートである。
【図２１】符号化技術を示す概略フローチャートである。
【発明を実施するための形態】
【００１２】
添付図面と共に以降の詳細な説明を参照することによって、本発明の完全な理解及びその優位性の多くが容易に理解される。
【００１３】
次に各図面を参照すると、図１〜図４には、以下に説明する各実施形態に係る圧縮装置及び／又は解凍装置を利用する装置又はシステムが概略的に示されている。
【００１４】
以下に説明する全てのデータ圧縮装置及び／又はデータ解凍装置は、ハードウェアで実現されてもよいし、例えば、特定用途向け集積回路（ＡＳＩＣ：application specific integrated circuit）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ：field programmable gate array）、あるいはこれらの組み合わせ等のようなプログラム可能なハードウェアとして、汎用コンピュータ等の汎用データ処理装置上で動作するソフトウェアで実現されてもよい。ソフトウェア及び／又はファームウェアで実現される実施形態の場合、このようなソフトウェア及び／又はファームフェア、並びに、このようなソフトウェア及び／又はファームウェアが記憶又は提供される非一時的な機械可読データ記憶媒体が、本発明の実施形態であると考えられることが理解されよう。
【００１５】
図１は、ビデオデータ圧縮及びビデオデータ解凍を行うオーディオ／ビデオデータ送受信システムを示す概略図である。
【００１６】
入力オーディオ／ビデオ信号１０は、少なくともオーディオ／ビデオ信号１０のビデオ要素を圧縮するビデオデータ圧縮装置２０に供給され、例えば、ケーブル、光ファイバ、無線リンク等の送信ルート３０に沿って送信される。圧縮された信号は、解凍装置４０によって処理され、これにより、出力オーディオ／ビデオ信号５０が提供される。リターンパスでは、圧縮装置６０がオーディオ／ビデオ信号を圧縮し、当該オーディオ／ビデオ信号は送信ルート３０に沿って解凍装置７０に送信される。
【００１７】
したがって、圧縮装置２０及び解凍装置７０は、送信リンクにおける１つのノードを構成することができる。また、解凍装置４０及び圧縮装置６０は、送信リンクにおける他の１つのノードを構成することができる。もちろん、送信リンクが単方向である場合は、一方のノードのみが圧縮装置を要求し、他方のノードのみが解凍装置を要求することになる。
【００１８】
図２は、ビデオデータ解凍を行うビデオ表示システムを示す概略図である。具体的には、圧縮されたオーディオ／ビデオ信号１００は解凍装置１１０によって処理され、これにより、表示装置１２０上で表示することができる解凍信号が提供される。解凍装置１１０は、例えば、表示装置１２０と同じケーシング内に設けることにより、表示装置１２０と一体的に形成してもよい。あるいは、解凍装置１１０は、（例えば）いわゆるセットトップボックス（ＳＴＢ：Set Top Box）として提供されてもよい。なお、「セットトップ」という表現は、当該ボックスを表示装置１２０に対して特定の方向又は位置に配置する必要があることを意味するわけではない。この用語は、単に、周辺機器として表示部に接続可能なデバイスを示すために当該技術分野において使用しているに過ぎない。
【００１９】
図３は、ビデオデータ圧縮及びビデオデータ解凍を行うオーディオ／ビデオ記憶システムを示す概略図である。入力オーディオ／ビデオ信号１３０は、圧縮信号を生成する圧縮装置１４０に供給され、例えば、磁気ディスク装置、光ディスク装置、磁気テープ装置、又は半導体メモリやその他の記憶装置等の固体記憶装置等の記憶装置１５０に記憶される。再生時においては、圧縮データが記憶装置１５０から読み出され、解凍装置１６０に渡されて解凍される。これにより、出力オーディオ／ビデオ信号１７０が提供される。
【００２０】
圧縮信号又は符号化信号、及び当該信号を記憶する記憶媒体又はデータキャリアは、本発明の実施形態であると考えられることが理解されよう。
【００２１】
図４は、ビデオデータ圧縮を行うビデオカメラを示す概略図である。図４において、ＣＣＤ（Charge Coupled Device）イメージセンサ及びそれに付随する制御・読出電子機器等の画像キャプチャ装置１８０は、圧縮装置１９０に渡されるビデオ信号を生成する。１つのマイクロフォン（あるいは複数のマイクロフォン）２００は、圧縮装置１９０に渡されるオーディオ信号を生成する。圧縮装置１９０は、記憶及び／又は送信される（図４においては、ステージ２２０として包括的に表されている）圧縮オーディオ／ビデオ信号２１０を生成する。
【００２２】
以下に説明する技術は、主に、ビデオデータ圧縮に関する。オーディオデータ圧縮を行うために、以降に説明するビデオデータ圧縮技術とともに多くの既存の技術を用いて圧縮オーディオ／ビデオ信号を生成してもよいことが理解されよう。したがって、オーディオデータ圧縮について別途説明は行わない。また、特に、放送品質ビデオデータにおいて、ビデオデータに関連するデータレートは、（圧縮及び非圧縮を問わず）一般的に、オーディオデータに関連するデータレートよりもはるかに高いことも理解されよう。したがって、非圧縮オーディオデータは、圧縮ビデオデータに追加することができ、これにより、圧縮オーディオ／ビデオ信号を形成できることが理解されよう。さらに、本発明の実施形態（図１〜図４参照）はオーディオ／ビデオデータに関するものであるが、以下に説明する技術は、単にビデオデータを扱う（すなわち、圧縮、解凍、記憶、表示、及び／又は送信する）システムに使用してもよいことが理解されよう。すなわち、これらの実施形態は、必ずしもオーディオデータ処理と関連している必要はなく、ビデオデータ圧縮に適用することができる。
【００２３】
図５は、制御部３４５の制御下で動作するビデオデータ圧縮・解凍装置を示す概略図である。
【００２４】
連続画像の入力ビデオ信号３００は、加算部３１０及び画像予測部３２０に供給される。画像予測部３２０については、図６を参照して後で詳述する。加算部３１０は、「＋」入力上で入力ビデオ信号３００を受信し、「−」入力上で画像予測部３２０の出力を受信する事実上の減算（負の加算）動作を実行する。これにより、入力画像から予測画像が減算される。この結果、実画像と予測画像との差を表すいわゆる残差画像信号３３０が生成される。
【００２５】
残差画像信号を生成する理由の１つは次の通りである。説明を行うデータ符号化技術、すなわち、残差画像信号に適用される技術は、符号化される画像において「エネルギー」が少ない場合に、より効率的に作用する傾向がある。ここで、「効率的」という用語は、生成した符号化データの量が少ないことを指す。特定の画像品質レベルにおいては、生成するデータができるだけ少ないことが望ましい（かつ、「効率的」と考えられる）。残差画像における「エネルギー」は、残差画像に含まれる情報量に関連する。仮に、予測画像と実画像とが同一だとすると、これら２つの画像の差（すなわち、残差画像）は、ゼロの情報（ゼロエネルギー）を含み、非常に容易に少量の符号化データに符号化できる。一般的に、予測処理をある程度良好に実行できる場合、残差画像データは、入力画像よりも情報が小さく（エネルギーが少ない）、容易に少量の符号化データに符号化することができると予想される。
【００２６】
残差画像データ３３０は、残差画像データの離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）表現を生成する変換部３４０に供給される。このＤＣＴ技術自体は広く知られており、ここでの詳細な説明は行わない。しかしながら、特に、ＤＣＴ動作が適用されるデータの様々なブロックの選択に関して、以降で詳細に説明する装置で用いられる技術の側面が存在する。これらについては、図７〜図１２を参照して以降で説明する。
【００２７】
なお、いくつかの実施形態では、ＤＣＴの代わりに、離散サイン変換（ＤＳＴ：discrete sine transform）を用いる。他の実施形態においては、変換を実行しなくてもよい。この変換は選択的に行うことができ、例えば、「変換スキップ」コマンド／モードの制御により、変換ステージが事実上バイパスされる。
【００２８】
変換部３４０の出力、すなわち、画像データにおける各変換ブロックに対する一連の変換係数は、量子化部３５０に供給される。量子化スケーリング要素による単純な乗算から、量子化パラメータの制御下における複雑なルックアップテーブルの応用に至るまで、様々な量子化技術がビデオデータ圧縮の分野において広く知られている。その目的として一般的なものには２つある。１つ目は、変換データが取り得る値を量子化処理により減少させることである。２つ目は、変換データの値がゼロである可能性を量子化処理により増加させることである。これらにより、少量の圧縮ビデオデータの生成において、以下に説明するエントロピー符号化処理をより効率的に行うことができる。
【００２９】
スキャン部３６０により、データスキャン処理が適用される。スキャン処理の目的は、非ゼロの量子化変換係数をできるだけひとまとめにするため、また、もちろん、これにより、ゼロ値の係数をできるだけひとまとめにするために、量子化変換データを再整理することである。これらの機能により、いわゆるランレングス符号化、又は同様の技術を効率的に適用することができる。したがって、スキャン処理は、（ａ）スキャンの一部として全ての係数が一度は選択されるように、かつ、（ｂ）スキャンにより所望の再整理を行うことができるように、「スキャン順」に従って、量子化変換データ、及び、特に、変換及び量子化された画像データのブロックに対応する係数のブロックから係数を選択することを含む。スキャン順を選択する技術について以下に説明する。有効な結果をもたらすスキャン順の１つの例は、いわゆるジグザグスキャン順である。
【００３０】
スキャンされた係数は、その後、エントロピーエンコーダ（ＥＥ）３７０に渡される。この場合もやはり、各種のタイプのエントロピー符号化を実行してもよい。以下に説明する２つの例は、いわゆるＣＡＢＡＣ（Context Adaptive Binary Coding）システムの変形、及び、いわゆるＣＡＶＬＣ（Context Adaptive Variable-Length Coding）システムの変形である。一般的に、ＣＡＢＡＣは効率がよいと考えられている。ある研究では、ＣＡＢＡＣにおける符号化出力データの量は、同等の画像品質に対して、ＣＡＶＬＣよりも１０〜２０％少ないことが示されている。しかしながら、ＣＡＶＬＣが示す（実行する上での）複雑性のレベルは、ＣＡＢＡＣの複雑性のレベルよりもはるかに低いと考えられている。ＣＡＢＡＣ技術については、図１７を参照して以降に説明し、ＣＡＶＬＣ技術については、図１８及び図１９を参照して以降に説明する。
【００３１】
なお、スキャン処理及びエントロピー符号化処理は、別々の処理として示されているが、実際には、組み合わせるか、又は、一緒に扱うことができる。すなわち、エントロピーエンコーダへのデータの読み出しは、スキャン順で行うことができる。これと同様の事は、以下に説明する各逆処理にも当てはまる。
【００３２】
エントロピーエンコーダ３７０の出力により、例えば、予測部３２０が予測画像を生成する方法を定義する（上述及び／又は後述の）追加データと共に、圧縮出力ビデオ信号３８０が提供される。
【００３３】
一方、予測部３２０自身の動作は解凍された圧縮出力データに依存するため、リターンパスも提供される。
【００３４】
この機能の理由は以下の通りである。解凍処理（後述）における適切なステージで、解凍された残差データが生成される。この解凍残差データは、出力画像を生成するために、予測画像に追加する必要がある（なぜなら、元の残差データは、入力画像と予測画像との差であったため）。圧縮側と解凍側との間でこの処理が同等となるように、予測部３２０によって生成される予測画像は、圧縮処理中及び解凍処理中において、同一であるべきである。もちろん、装置は、解凍時において元の入力画像にアクセスすることができない。装置がアクセスできるのは、解凍画像のみである。したがって、圧縮時において、予測部３２０は、解凍された圧縮画像に基づいて（少なくとも、インター画像符号化について）その予測を行う。
【００３５】
エントロピーエンコーダ３７０により実行されるエントロピー符号化処理は、「無損失（lossless）」であると考えられる。すなわち、エントロピーエンコーダ３７０に最初に供給されたデータと全く同じデータに置き換えることができる。したがって、リターンパスは、エントロピー符号化ステージよりも前に実装することができる。実際、スキャン部３６０によって実行されるスキャン処理も無損失であると考えられるが、本実施形態では、リターンパス３９０は、量子化部３５０の出力から、補足逆量子化部４２０の入力までとされている。
【００３６】
一般的には、エントロピーデコーダ（ＥＤ）４１０、逆スキャン部４００、逆量子化部４２０、逆変換部４３０は、それぞれ、エントロピーエンコーダ３７０、スキャン部３６０、量子化部３５０、及び変換部３４０の逆機能を提供する。ここでは、圧縮処理について説明を続け、入力圧縮ビデオ信号を解凍するための処理については、これとは別に後述する。
【００３７】
圧縮処理において、量子化された係数は、リターンパス３９０により量子化部３５０から、スキャン部３６０の逆動作を実行する逆量子化部４２０に渡される。逆量子化処理及び逆変換処理がユニット４２０、４３０により実行され、圧縮−解凍残差画像信号４４０が生成される。
【００３８】
画像信号４４０は、加算部４５０で予測部３２０の出力に追加され、再構築出力画像４６０が生成される。これにより、以下に説明するように、画像予測部３２０への１つの入力が構成される。
【００３９】
受信した圧縮ビデオ信号４７０に適用される処理について説明する。圧縮ビデオ信号４７０は、まず、エントロピーデコーダ４１０に供給され、そこから逆スキャン部４００、逆量子化部４２０、及び逆変換部４３０の順に供給される。その後、加算部４５０により画像予測部３２０の出力に追加される。単刀直入に言うと、加算部４５０の出力４６０は、出力解凍ビデオ信号４８０を形成する。実際には、信号の出力の前に、さらにフィルタリングを施してもよい。
【００４０】
図５をエンコーダに関して説明したが、復号化リターンパス（４００、４１０、４２０、４３０、４５０、３２０（すべて制御部３４５の制御下で動作する））は、デコーダの一例をなすことを理解されたい。上述した動作及び以下で説明する動作は、符号化動作及び復号化動作に関する（適用可能な）方法ステップの例である。
【００４１】
図５（及び図６）に示す構成の動作（及び後述する他の動作）は、制御部３４５によって制御することができる。
【００４２】
図６は、予測画像の生成を示す概略図であり、特に、画像予測部３２０の動作を示している。
【００４３】
いわゆるイントラ画像予測、及びいわゆるインター画像予測又は動き補償（ＭＣ：Motion-Compensated）予測という２つの基本的な予測モードが存在する。
【００４４】
イントラ画像予測は、同一画像内から得られるデータにおける画像ブロックの内容の予測を基礎としている。これは、他のビデオ圧縮技術における、いわゆるＩフレーム符号化に対応する。画像全体がイントラ符号化されるＩフレーム符号化とは対照的に、本実施形態では、イントラ符号化及びインター符号化の選択を、ブロック毎に行うことができる。他の実施形態では、当該選択が依然として画像毎に行われる。
【００４５】
動き補償予測においては、他の隣接画像又は近接画像において、現在の画像において符号化される画像詳細のソースを定義しようとする動き情報が用いられる。したがって、理想的な例では、予測画像における画像データのブロックの内容は、隣接画像における同じ位置もしくはわずかに異なる位置にある対応ブロックを示す参照（動きベクトル）として、非常に容易に符号化することができる。
【００４６】
図６に戻る。図６には（イントラ画像予測及びインター画像予測に対応する）２つの画像予測構成が示されており、その予測結果が、加算部３１０及び４５０に供給するための予測画像のブロックを提供するように、モード信号５１０の制御下において乗算部５００によって選択される。当該選択は、どちらを選択すれば最小の「エネルギー」（上述のように、符号化を要求する情報量と考えてもよい）となるかに基づいて行われ、また、当該選択は、符号化出力データストリーム内でエンコーダに通知される。これに関して、例えば、入力画像から、２つのバージョンの予測画像の領域を試行減算し、差分画像の各ピクセル値を２乗し、乗算値を合計し、当該２つのバージョンのうち、その画像領域に関連する差分画像の平均乗算値が低いのはどちらのバージョンかを特定することによって、画像エネルギーを検出することができる。
【００４７】
イントラ予測システムにおいて、実際の予測は、信号４６０の一部として受信された画像ブロックに基づいて行われる。すなわち、予測は、解凍装置において全く同じ予測を行うことができるように、符号化−復号化画像ブロックに基づいて行われる。しかしながら、データを入力ビデオ信号３００から抽出して、イントラモード選択部５２０により、イントラ画像予測部５３０の動作を制御することもできる。
【００４８】
インター画像予測では、動き補償（ＭＣ）予測部５４０は、例えば、動き推定部５５０によって入力ビデオ信号３００から抽出された動きベクトル等の動き情報を用いる。これら動きベクトルは、インター画像予測のブロックを生成する動き補償予測部５４０によって、処理された再構築画像４６０に適用される。
【００４９】
ここで、信号４６０に適用される処理について説明する。まず、信号４６０は、フィルタ部５６０によってフィルタリングされる。この処理では、変換部３４０により実行されるブロックに基づく処理及び後続の動作に対する影響を除去するか、少なくとも低減させるために「非ブロック化（deblocking）」フィルタが適用される。また、再構築信号４６０及び入力ビデオ信号３００を処理することによって得られた係数を使用して、適応ループフィルタが適用される。この適応ループフィルタは、公知の技術を使用して、フィルタリング対象のデータに対して適応フィルタ係数を適用するフィルタの一種である。すなわち、フィルタ係数は、各種要素に基づいて変化し得る。どのフィルタ係数を用いるかを定義するデータは、符号化出力データストリームの一部に挿入される。
【００５０】
フィルタ部５６０からのフィルタリングされた出力は、実際には、出力ビデオ信号４８０を形成する。この信号は、１つ又は複数の画像記憶部５７０に記憶される。連続画像の記憶は、動き補償予測処理、特に、動きベクトルの生成において要求される。必要メモリを確保するため、画像記憶部５７０内の記憶画像は、圧縮形式で保持され、その後、動きベクトルの生成に用いるために解凍されてもよい。この特定の目的のために、公知のいかなる圧縮／解凍システムを用いてもよい。記憶画像は、より高い解像度の記憶画像を生成する補間フィルタ５８０に渡される。この例では、補間フィルタ５８０によって出力される補間画像の解像度が、画像記憶部５７０に記憶された画像の８倍（各寸法）となるように、中間サンプル（サブサンプル）が生成される。補間画像は、動き推定部５５０及び動き補間予測部５４０への入力として渡される。
【００５１】
いくつかの実施形態では、乗算部６００を使用して、入力ビデオ信号のデータ値に因数４を乗算し（効率的には、単にデータ値を２ビット左にシフトさせる）、除算部又は右シフト部６１０を使用して、装置の出力で、対応する除算動作（２ビット右にシフト）を適用する任意のステージがさらに提供される。したがって、左へのシフト及び右へのシフトにより、単に装置の内部動作に対して、データが変更される。この方法により、あらゆるデータ丸め誤差の影響も低減されるので、装置内における高い計算精度を提供することができる。
【００５２】
ここで、圧縮処理のために画像を分割する方法について説明する。基本的なレベルでは、圧縮される画像はサンプルブロックの配列として考えることができる。検討されているこのようなブロックの中で最大のものは、便宜的に、６４×６４サンプルの正方形配列を表すいわゆる最大符号化ユニット（ＬＣＵ：largest coding unit）７００とする（図７参照）。ここで、輝度サンプルについて説明する。４：４：４、４：２：２、４：２：０、又は４：４：４：４（ＧＢＲ＋キーデータ）等のクロミナンスモードによって、輝度ブロックに対応する、対応クロミナンスサンプルの数が異なる。
【００５３】
符号化ユニット、予測ユニット、及び変換ユニットという基本的な３つの種類のブロックについて説明する。一般的には、ＬＣＵの再帰的な分割により、例えば、ブロックサイズ及びブロック符号化パラメータ（予測又は残差符号化モード等）が、符号化される画像の特定の特徴に応じて設定されるといった方法で、入力画像が分割される。
【００５４】
ＬＣＵは、いわゆる符号化ユニット（ＣＵ）に分割されてもよい。符号化ユニットは、常に正方形であり、また、８×８サンプルから最大サイズのＬＣＵ７００までのサイズを有している。符号化ユニットは、ある種のツリー構造として配置されてもよい。その結果、例えば、第１の分割が図８に示すように行われて、３２×３２サンプルの符号化ユニット７１０が与えられる。続いて行われる分割は、１６×１６サンプルの符号化ユニット７２０（図９）及び潜在的な８×８サンプルの符号化ユニット７３０（図１０）が与えられるように、選択的な基準に基づいて行われてもよい。全体としては、この処理により、ＬＣＵと同じ大きさ、あるいは、８×８サンプルと同じ大きさを有するＣＵブロックの容量適応符号化ツリー構造を提供することができる。出力ビデオデータの符号化は、符号化ユニット構造に基づいて行われる。
【００５５】
図１１は、予測ユニット（ＰＵ）の配列を示す概略図である。予測ユニットは、画像予測処理に関連する情報を伝達するための基本的なユニットであり、換言すると、図５の装置からの出力ビデオ信号を形成するためのエントロピー符号化された残差画像データに追加される追加データである。一般的に、予測ユニットの形状は、正方形に限られない。これらは、最小（８×８）サイズより大きい限り、特に、１つの正方形符号化ユニットの半分を形成する長方形等、他の形状を採ることができる。その目的は、隣接する予測ユニットの境界が画像内の実オブジェクトの境界に（できるだけ近くに）合わせられるようにすることであり、その結果、様々な予測パラメータを異なる実オブジェクトに適用することができる。各符号化ユニットは、１つ又は複数の予測ユニットを含んでいてもよい。
【００５６】
図１２は、変換ユニット（ＴＵ）の配列を示す概略図である。変換ユニットは、変換・量子化処理における基本的なユニットである。変換ユニットは、常に正方形であり、４×４サンプルから３２×３２サンプルまでのサイズを採ることができる。各符号化ユニットは１つ又は複数の変換ユニットを含むことができる。図１２における頭字語ＳＤＩＰ−Ｐは、いわゆる短距離イントラ予測分割を示している。この配列では、１次元の変換のみが行われる。したがって、４×ＮブロックがＮ回の変換により渡され、変換における入力データは、現在のＳＤＩＰ−Ｐ内の既に復号化されている隣接ブロック及び既に符号化されている隣接線に基づく。
【００５７】
ここで、イントラ予測処理について説明する。一般的に、イントラ予測には、同一画像内における既に符号化及び復号化されたサンプルから、サンプルの現在のブロック（予測ユニット）を予測することが含まれる。図１３は、部分的に符号化された画像８００を示す概略図である。ここで、画像８００は、ＬＣＵ基準で、左上から右下へと符号化されている。画像全体の処理により部分的に符号化されたＬＣＵの一例がブロック８１０として示されている。ブロック８１０の上部及び左側の陰影領域８２０は既に符号化されている。ブロック８１０の内容のイントラ画像予測においては、いずれの陰影領域８２０も利用することができるが、その下部の陰影が付されていない領域を利用することはできない。
【００５８】
ブロック８１０は、上述のように、イントラ画像予測処理を行うためのＬＣＵを表しており、より小さな一連の予測ユニットに分割されてもよい。予測ユニット８３０の一例がＬＣＵ８１０内に示されている。
【００５９】
イントラ画像予測においては、現在のＬＣＵ８１０の上部及び／又は左側に位置するサンプルが考慮される。要求されるサンプルは、ソースサンプルから予測される。当該ソースサンプルは、ＬＣＵ８１０内の現在の予測ユニットに対して異なる位置又は方向に位置していてもよい。現在の予測ユニットに対してどの方向が適切であるかを決定するために、候補とされる各方向に基づく試行予測の結果を比較して、どの方向が入力画像の対応ブロックに最も近い結果をもたらすかを確認する。
【００６０】
画像は、「スライス」基準で符号化されてもよい。１つの例では、スライスは、水平隣接グループのＬＣＵである。しかしながら、より一般的には、残差画像全体でスライスを構成することができ、あるいは、スライスを単一のＬＣＵ又はＬＣＵの行等とすることもできる。スライスは、独立ユニットとして符号化されるので、誤差に復元性をもたらすことができる。エンコーダ及びデコーダの状態は、スライス境界で完全にリセットされる。例えば、イントラ予測はスライス境界をまたいで実行されない。このため、スライス境界は、画像境界として扱われる。
【００６１】
図１４は、考えられる（候補となる）一連の予測方向を示す概略図である。８×８、１６×１６、又は３２×３２サンプルの予測ユニットに対して、全部で３４の方向候補を利用可能である。予測ユニットサイズが、４×４サンプル又は６４×６４サンプルである特殊なケースでは、数を減らした一連の方向候補（それぞれ、１７つの方向候補及び５つの方向候補）を使用することができる。方向は、現在のブロック位置に対する水平及び垂直移動により決定されるが、予測「モード」として符号化される。当該一連の方向を図１５に示す。なお、いわゆるＤＣモードは、周囲にある上部及び左側のサンプルの単純算術平均を表す。
【００６２】
図１６は、スキャンパターンであるジグザグスキャンを示す概略図である。当該スキャンパターンは、スキャン部３６０により適用されてもよい。図１６においては、ＤＣ係数がブロックの左上の位置８４０に位置し、増加する水平及び垂直空間周波数が左上の位置８４０の下側及び右側への距離を増加させる係数により表される、８×８変換係数のブロックの例についてのパターンが示されている。
【００６３】
なお、いくつかの実施形態では、当該係数を逆順（図１６の順番表記を利用すると右下から左上）にスキャンしてもよい。また、いくつかの実施形態では、最上段からいくつか（例えば、１から３）の水平行をまたいで左から右にスキャンを実行して、その後、残りの係数のジグザグスキャンを実行してもよい。
【００６４】
図１７は、ＣＡＢＡＣエントロピーエンコーダの動作を示す概略図である。
【００６５】
いくつかの実施形態に係る本機能のコンテキスト適応符号化において、データビットが１又は０である可能性の期待値又は予測値を表す確率モデル、すなわち、コンテキストに関してわずかなデータを符号化することがある。このため、入力データビットには、様々なコード値の２つ（又は、より一般的には、複数）の補足サブレンジのうち選択した１つのサブレンジ内のコード値が割り当てられ、サブレンジのそれぞれのサイズ（いくつかの実施形態では、一連のコード値に対するサブレンジそれぞれの比率）は、コンテキスト（入力値に関連付けられ、そうでなければ関連のあるコンテキスト変数により順に定義される）により定義される。次のステップで、選択されたサブレンジの割り当てコード値及び現在のサイズに応答して、全範囲、すなわち、（次の入力データビット又は値に対して使用される）一連のコード値が修正される。その後、修正した範囲が所定の最小サイズ（例えば、元の範囲サイズの半分）を表す閾値よりも小さい場合、例えば修正した範囲を２倍（左にシフト）することによりサイズを増加させる。この倍増処理は、必要があれば、当該範囲が少なくとも当該所定の最小サイズになるまで連続して（２回以上）行うことができる。この時点で、出力符号化データビットが生成され、これにより、（複数の場合、それぞれの）倍増動作、すなわち、サイズ増加動作が行われたことが示される。別のステップにおいて、次の入力データビット又は値と共に使用するために、又は当該入力データビット又は値に関して（いくつかの実施形態では、符号化されるデータビット又は値の次のグループに関して）、当該コンテキストが修正される（すなわち、いくつかの実施形態では、コンテキスト変数が修正される）。これは、現在のコンテキスト及び現在の「最も可能性の高いシンボル」の識別子（コンテキストによりどちらが現在０．５より高い確率を有するかが示されていたとしても、１又は０）を新しいコンテキスト値のルックアップテーブルへの指数又は新しいコンテキスト変数を得られる適切な数式への入力として用いて実行してもよい。いくつかの実施形態においては、コンテキスト変数の修正により、現在のデータ値のために選択されたサブレンジにおける一連のコード値の比率が増加する。
【００６６】
ＣＡＢＡＣエンコーダは、バイナリデータ、すなわち、０及び１の２つのシンボルのみで表されるデータに関して動作する。当該エンコーダは、既に符号化されたデータに基づいて、次のデータに対する「コンテキスト」、すなわち、確率モデルを選択するいわゆるコンテキストモデリング処理を実行する。コンテキストの選択は、既に復号化されたデータに基づいて、デコーダに渡される符号化データストリームに追加される（コンテキストを特定する）別のデータを必要とすることなく、デコーダにおいて同じ決定が行われるように決定論的な方法で実行される。
【００６７】
図１７を参照して、符号化される入力データは、既にバイナリ形式でない限りバイナリコンバータ９００に渡してもよい。データが既にバイナリ形式である場合、コンバータ９００は（図のスイッチ９１０により）バイパスされる。本実施形態では、バイナリ形式への変換は、実際には、量子化変換係数データを一連のバイナリ「マップ」として表現することにより行う。バイナリマップについては後述する。
【００６８】
バイナリデータは、その後、（別々の経路として概略的に示されているが、後述するいくつかの実施形態では、わずかに異なるパラメータを用いるだけで同じ処理ステージで実際に実行することができる）「正規」経路及び「バイパス」経路の２つの処理経路のうちの１つにより処理してもよい。バイパス経路では、必ずしも正規経路と同じ形式のコンテキストモデリングを利用しないいわゆるバイパスコーダ９２０が用いられる。ＣＡＢＡＣ符号化のいくつかの例では、一連のデータを特に急速に処理する必要がある場合、当該バイパス経路を選択することができる。しかしながら、本実施形態では、いわゆる「バイパス」データの２つの特徴について言及する。１つ目の特徴は、バイパスデータは、５０％の確率を表す固定コンテキストモデルを利用するだけでＣＡＢＡＣエンコーダ（９５０，９６０）により処理されることである。２つ目の特徴は、バイパスデータは、一定のカテゴリのデータに関するということである。当該データの特定例は、係数符号データである。バイパス経路を選択しない場合、図に示すスイッチ９３０，９４０により正規経路が選択される。これには、コンテキストモデラ９５０によって処理され、続いて符号化エンジン９６０によって処理されるデータが含まれる。
【００６９】
図１７に示すエントロピーエンコーダは、ブロック全体が０値のデータから構成される場合、データのブロック（すなわち、例えば、残差画像のブロックに関する係数のブロックに対応するデータ）を単一値として符号化する。このカテゴリに含まれない各ブロック、すなわち、少なくともいくつかの非ゼロのデータを含むブロックに対しては、「重要性マップ（significance map）」を作成する。重要性マップは、符号化されるデータのブロックにおける各位置に対して、ブロック内の対応する係数が非ゼロであるか否かを示す。（したがって、これは、データ値の配列に対する、非ゼロである最上位データ部分の位置を示す重要性マップの一例である。）重要性マップは、データ値の配列の所定の順序で、非ゼロ値を有する最上位データ部分の最後の位置を示すデータフラグを含んでもよい。
【００７０】
バイナリ形式である重要性マップデータ自体は、ＣＡＢＡＣ符号化される。重要性マップを利用することは、重要性マップによってゼロであると示される大きさの係数に対してデータを符号化する必要はないため、圧縮に役立つ。また、重要性マップには、ブロックにおける最後の非ゼロ係数を示す特別なコードを含めることもできる。これにより、最後の高周波数／後置ゼロ（トレーリングゼロ）係数の全てを符号化から省略することができる。符号化ビットストリームにおいて、重要性マップの後には、重要性マップにより規定される非ゼロ係数の値を定義するデータが続く。
【００７１】
また、別のレベルのマップデータも作成され、ＣＡＢＡＣ符号化される。その一例としては、重要性マップによって「非ゼロ」であると示されたマップ位置における係数データが実際には「１」の値を有するか否かをバイナリ値（１＝ｙｅｓ，０＝ｎｏ）として定義するマップがある。他のマップは、重要性マップによって「非ゼロ」であると示されたマップ位置における係数データが実際には「２」の値を有するか否かを規定する。さらに別のマップは、重要性マップによって当該係数データが「非ゼロ」であると示されたこれらマップ位置に対し、当該データが「３以上の」値を有するか否かを示す。また、さらに別のマップは、「非ゼロ」として特定されたデータに対して、（＋に対して１、−に対して０、あるいはその逆、等の所定のバイナリ表記を用いて）データ値の符号を示す。
【００７２】
いくつかの実施形態では、重要性マップ及びその他のマップは、例えば、スキャン部３６０により量子化変形係数から生成され、ジグザグスキャン処理（又はイントラ予測モードに係るジグザグ、水平ラスター、及び垂直ラスタースキャンから選択されたスキャン処理）を受け、その後、ＣＡＢＡＣ符号化される。
【００７３】
いくつかの実施形態では、ＨＥＶＣ  ＣＡＢＡＣエントロピーコーダは、以下の処理によりシンタックス要素を符号化する。
【００７４】
ＴＵ内において（スキャン順に）最後の重要係数の位置を符号化する。
【００７５】
各４×４係数グループ（これらグループは逆スキャン順に処理される）に対して、当該グループが非ゼロ係数を含むか否かを示す重要係数グループフラグを符号化する。このフラグは、最後の重要係数を含むグループには必要なく、（ＤＣ係数を含む）左上のグループに対して１であると仮定される。当該フラグが１である場合、そのグループに関する以下のシンタックス要素をそれに続いて直ちに符号化する。
【００７６】
重要性マップ：
グループにおける各係数に対して、当該係数が重要である（非ゼロ値を有する）か否かを示すフラグを符号化する。最後の重要位置で示される係数に対して、フラグは必要ない。
【００７７】
２以上マップ：
重要性マップの値が１である（グループの終端から逆に数えて）８つまでの係数に対して、その大きさが２以上であるか否かを示す。
【００７８】
３以上マップ：
２以上マップの値が１である（グループの終端に最も近い）１つの係数に対して、その大きさが３以上であるか否かを示す。
【００７９】
符号ビット：
全ての非ゼロ係数に対して、確率が等しいＣＡＢＡＣビンとして符号ビットを符号化する。（逆スキャン順における）最後の符号ビットは、場合により、隠れている符号ビットを用いる際にパリティから推測される。
【００８０】
エスケープコード：
初期のシンタックス要素により大きさが完全には表せない係数に対して、残りの係数をエスケープコードとして符号化する。
【００８１】
一般的に、ＣＡＢＡＣ符号化は、既に符号化されている他のデータに基づいて、符号化対象の次のビットに対して、コンテキスト、すなわち、確率モデルを予測することを含む。次のビットが、確率モデルにより「最も確率が高い」と特定されたビットと同じである場合、「次のビットは確率モデルと一致する」という情報は、非常に効率よく符号化することができる。それと比較して、「次のビットは確率モデルと一致しない」という情報を符号化するのは効率的ではない。したがって、エンコーダの良好な動作のために、コンテキストデータの由来は重要である。「適用可能（adaptive）」という用語は、（まだ符号化されていない）次のデータに良好に適合させようとして、そのコンテキスト、すなわち、確率モデルを適用、又は符号化の間に変更することを意味する。
【００８２】
簡単な例示として、書き言葉の英語において、「Ｕ」という文字は比較的珍しい。しかしながら、「Ｑ」という文字の直後に位置する文字では、「Ｕ」は実際、一般的に用いられる。したがって、確率モデルは「Ｕ」の確率を非常に低い値に設定する可能性があるが、現在の文字が「Ｑ」であれば、次の文字としての「Ｕ」に対する確率モデルは、非常に高い確率値に設定することができる。
【００８３】
本構成では、少なくとも重要性マップ及び非ゼロ値が１又は２であるか否かを示すマップに対してＣＡＢＡＣ符号化を行う。しかし、これらの各シンタックス要素は係数毎に符号化されなくてもよい。これらの実施形態においてバイパス処理はＣＡＢＡＣ符号化と同一であるが、確率モデルは１及び０の等しい（０．５：０．５）確率分布で固定されるという事実に対しては、少なくとも符号データと、先行のシンタックス要素によって記述されていない係数の大きさのいくつかの部分とに対して用いられる。十分には記述されない係数の大きさのいくつかの部分を有するものとして識別されたこれらデータ位置に対して、いわゆるエスケープデータ符号化を個別に実行して、そのデータの実際の残りの値を符号化することができる。ここで、実際の大きさの値は、この残りの大きさの値に、符号化された各シンタックス要素から導出されたオフセットを足したものである。この符号化は、ゴロムライス符号化技術を含んでもよい。
【００８４】
ＣＡＢＡＣコンテキストモデリング及び符号化処理は、WD4:Working Draft 4 of High-Efficiency Video Coding, JCTVC-F803_d5, Draft ISO/IEC 23008-ＨＥＶＣ; 201x(E) 2011-10-28に詳細に記載されている。
【００８５】
エスケープビットの符号化（escape bit encoding）の実施形態に関するさらなる技術又はこれに関連した技術について図１８を参照して説明する。
【００８６】
しかしながら、先に、エスケープコードの符号化に用いられる技術について説明する。
【００８７】
現行（本願の優先権主張日現在）のＨＥＶＣ規格では、エスケープコードは、次の２つのメカニズムによって符号化される。
（１）最大プレフィックス長２を有するゴロムライス符号。
（２）その符号化値をゴロムライス符号によって完全には記述することができない場合、ｋ次の指数ゴロムを用いて「エスケープ−エスケープ」コードが符号化される。
【００８８】
いわゆるゴロムライス符号化によって、任意の値ｖが、サフィックスのｋ（ｒＰａｒａｍとも称される）ビットが続くα符号化されたプレフィックス（１個の「０」に続く可変数の「１」（又はその逆））として符号化される。
【００８９】
符号化領域（coding space）は、いくつかの区間に分割される。この区間のサイズは、次のようにライスパラメータｒＰａｒａｍによって決定される。
区間サイズ＝１＜＜ｒＰａｒａｍ
【００９０】
通常では、表記「＜＜ｎ」は、値ｎに等しいビット数分の左シフトを意味する。同様に、表記「＞＞ｎ」は、ｎビット分の右シフトを意味する。したがって、例えば、ｒＰａｒａｍが０である場合、符号化区間のサイズは１となる。ｒＰａｒａｍが３である場合、符号化区間のサイズは、例えば、８となる。
【００９１】
ｒＰａｒａｍの値は、エンコーダ及びデコーダに別々に保持され、所定の条件下で修正される。
【００９２】
プレフィックスは、α符号化で符号化され、いずれの符号化区間に最終値が配置されるかを示すものである。
【００９３】
例えば、プレフィックス値＝２、ｒＰａｒａｍ＝２、区間サイズ＝４の場合、上記最終値は、８〜１１の範囲（８と１１も範囲に含む）内となる。プレフィックスは、当該最終値をおおまかに示すものと言える。
【００９４】
他方、サフィックスは、バイナリ符号化で符号化される（サフィックス長は、ｒＰａｒａｍに等しい）。このサフィックス値は、指定された区間における最終値の位置を示す。
【００９５】
例えば、プレフィックス値＝２、ｒＰａｒａｍ＝２、サフィックス値＝３の場合、これは、最終値が８〜１１の区間に配置されることを表す。サフィックス値が０である場合、最終値は８となり、サフィックス値が３である場合（本例と同様）、最終値は１１となる。
【００９６】
したがって、サフィックスは、最終値を細かく示すものと言える。
【００９７】
ｐｒｅｆｉｘ＿ｌｅｎｇｔｈ（プレフィックス長）を、α符号化されたプレフィックスにおける１の総数とし、Ｋを最下位ｒＰａｒａｍビットの値とすると、次式が成り立つ。
最終値＝（プレフィックス長＜＜ｒＰａｒａｍ）＋Ｋ
【００９８】
上述のように、現行（本願の優先権主張日現在）のＨＥＶＣ規格では、ゴロムライス符号化の最大プレフィックス長に（２という）制限が課される（したがって、３つの区間しか存在しない）。より長いプレフィックスが送信された場合、その値（プレフィックスの値はその長さに等しい）から３が減算され、プレフィックスは代わりにｋ次の指数ゴロムプレフィックスとして処理される（ｒＰａｒａｍは値ｋとして機能する）。ｋ次の指数ゴロム符号は、通常のエスケープ符号化メカニズムから逃れたもの（escape）と考えられる。すなわち、「エスケープ−エスケープ」コードである。
【００９９】
ｋ次の指数ゴロムが続く最大長さが２のゴロムライスプレフィックスも、ｋ＋１次の指数ゴロムが続く最大長さが３のゴロムライスプレフィックスと同等であることが理解されるであろう。
【０１００】
さらに、最終値は、エスケープ−エスケープ符号化が用いられていることから当該最終値が少なくともその程度の大きさを有することが分かるため、ゴロムライス符号化で符号化することができない最小値を追加するか（デコーダ側）又は減算する（エンコーダ側）ことによって修正もされる。
【０１０１】
次に、いわゆるｋ次の指数ゴロム符号について説明する。当該符号では、符号化対象の数字が、可変長のα符号化されたプレフィックスと、可変長のサフィックスとに分割される。サフィックスビットの数＝プレフィックス長＋ｋである。ここで、プレフィックス長は、またしてもα符号の「１」の個数である。
【０１０２】
ゴロムライス符号化と同様に、符号化領域はいくつかの区間に分割される。しかし、これらの区間は、サイズが等しくなく、例えば、（区間０＝０、区間１＝１〜２、区間２＝３〜６）といった具合に指数関数的にサイズが増加する。
【０１０３】
プレフィックスは、α符号化で符号化され、いずれの符号化区間に最終値が配置されるかを示すものである。
【０１０４】
サフィックスは、バイナリ符号化で符号化される。ここでは、サフィックス長はプレフィックス長に等しい。サフィックス値は、指定された区間における最終値の位置を示すものである。
【０１０５】
ｋに等しい余分なビット数は、バイナリ符号化で符号化される。これらのビットは、最終値の追加のＬＳＢとして機能する。
【０１０６】
符号におけるビットの総数＝プレフィックス長＋１＋プレフィックス長＋ｋである。
【０１０７】
Ｋを最後のｋビットの値とする。
【０１０８】
プレフィックス長が０の場合、ｖはＫと等しくなる。
【０１０９】
プレフィックス長が１の場合、ｖは（１＜＜ｋ）＋Ｋから（３＜＜ｋ）＋Ｋまでの範囲にある（上限値及び下限値は範囲に含まれない）。
【０１１０】
プレフィックス長が２の場合、ｖは（３＜＜ｋ）＋Ｋから（７＜＜ｋ）＋Ｋまでの範囲にある（上限値及び下限値は範囲に含まれない）。
【０１１１】
プレフィックス長が３の場合、ｖは（７＜＜ｋ）＋Ｋから（１５＜＜ｋ）＋Ｋまでの範囲にある（上限値及び下限値は範囲に含まれない）。
【０１１２】
したがって、ｖ＝（（２＾プレフィックス長）−１）＜＜ｋ）＋サフィックスとなる。
【０１１３】
例えば、最終バイナリ符号＝１１００１１である。
【０１１４】
本例では、ｒＰａｒａｍ＝１、プレフィックス長＝２（最初の０の前の２つの１）、符号化区間＝３〜６、サフィックス＝０ｂ０１＝１、ｋの前の値＝４＝０ｂ１００、余分なビット＝０ｂ１＝１、最終値＝０ｂ１００１＝９となる（０ｂは、二進表記を示す）。
【０１１５】
ＨＥＶＣにおいて、ゴロムライス符号及び指数ゴロム符号の両方が使用される。プレフィックス長が３より小さい場合、符号はゴロムライス符号として解釈される。しかしながら、プレフィックス長が３以上の場合、符号はｋ次の指数ゴロム符号として解釈される。ここで、上述したｒＰａｒａｍ値は、値ｋとして機能する。
【０１１６】
（どちらかのシステムにおける）プレフィックスは、α符号の例である。サフィックスは、非α符号の例である。当該２つのシステムはそれぞれ、２値可変長符号の例である。
【０１１７】
この場合、指数ゴロム符号を復号化するために使用されるプレフィックス長の値は３減らされ、復号化動作から得られる値は（３＜＜ｋ）増加される。なぜなら、これはゴロムライス符号を用いて表すことができない最小の値だからである。
【０１１８】
ＨＥＶＣのエスケープコード及びエスケープ−エスケープコードに用いられる値「ｋ」は可変である。１６個の係数から成る各グループについて、値ｋは０から始まり、係数値の大きさが３＜＜ｋより大きい場合は常に増加する。このような状況を受けて、ｋは最大４まで増分される。なお、係数の符号を表す符号ビットは別途送信されるため、係数の大きさについて説明を行っている。ｋを初期化及び調節するための他の方式を適用してもよい。
【０１１９】
図１８は、上述のようにエスケープコードを生成する処理を示す概略フローチャートである。
【０１２０】
この方法は、（例えば）周波数変換画像係数のシーケンス、当該シーケンスの非ゼロ要素、又は各データ値の大きさが１減らされた（この場合、重要性マップは１の値から構成されるため、さらなる処理の前に各係数が１減らされるように重要性マップを最初に生成してもよい）当該シーケンスの非ゼロ要素を含む１群のデータ値に関して動作可能である。
【０１２１】
ステップ２０００において、ｋの初期値を設定する。通常のＨＥＶＣバージョン１システムにおいて、ｋは最初に０に設定される。しかし、代替方式を用いてＨＥＶＣ規格を拡張してもよい。ステップ２０１０において、ＣＡＢＡＣエンコーダは、現在のグループがＤＣ係数の等価物を含む左上のグループであるか否か、又は、現在のグループが先行の処理で最後の重要係数とみなされる係数を含むか否かを確認する。現在のグループがＤＣ係数の等価物を含む左上のグループである、又は、現在のグループが先行の処理で最後の重要係数とみなされる係数を含む場合、処理は、ステップ２０３０に進む。現在のグループがＤＣ係数の等価物を含む左上のグループである、又は、現在のグループが先行の処理で最後の重要係数とみなされる係数を含む場合、ステップ２０２０において、ＣＡＢＡＣエンコーダは、現在のグループが非ゼロ係数を含むか否かを確認する。現在のグループが非ゼロ係数を含まない場合、各重要性グループフラグを０に符号化して処理を終了する。現在のグループが非ゼロ係数を含む場合、処理は、各重要性グループフラグを１に符号化してステップ２０３０に進む。ステップ２０３０において、当該グループの係数毎に重要性マップを生成する（しかし、最後の重要係数を含むグループについては、いくつかの係数は推定可能であるため、重要性マップエントリは不要である）。ステップ２０４０において、重要性マップの値が１である、当該グループの終端から逆に数えて８つの係数について、その大きさが１より大きいか否かを示す２以上マップを生成する。ステップ２０５０において、３以上マップを生成する。この３以上マップは、（グループの終端に最も近い）２以上マップの値が１である１つの係数に対して、大きさが２より大きいか否かを示す。ステップ２０６０において、全ての重要係数について符号ビットを生成する（しかしながら、（逆スキャン順における）最後の符号ビットは、場合により、隠れている符号ビットを用いる際にパリティから推測される。符号ビットハイディング（sign bit hiding）と呼ばれる方式を用いて、当該グループの符号化された値の偶数及び奇数パリティから符号化されていたであろう最後の符号ビットを推定してもよい）。ステップ２０７０[y2]において、初期のシンタックス要素により大きさが完全には記載されなかったあらゆる係数（すなわち、ステップ２０３０〜２０６０のいずれかにおいて生成されたデータ）に対するエスケープコードが生成される。なお、図１８では、ＨＥＶＣに関するいくつかの例示的な実施態様では、各係数に対して上記マップの全てを生成する必要はない。例えば、１群の（つまり１６個の）係数のうちの１つ又は複数の係数について、いくつかのマップが生成されない場合がある。
【０１２２】
上記マップは、データ値の配列に対する、１より大きい最上位データ部分の位置を示す２以上マップ、及び、データ値の配列に対する、２より大きい最上位データ部分の位置を示す３以上マップの例である。
【０１２３】
ステップ２０７０において、エスケープコードが必要とされる場合、上記各技術を用いて現在の値ｋに基づいてエスケープコードを生成する。特に、エスケープコードの使用を必要とする係数は、重要性マップ及び任意選択で他のマップの１つ又は複数を用いて最初に処理される。なお、エスケープ符号化を必要とする係数の場合、使用する重要性マップ、２以上マップ及び３以上マップのいずれかが、「１」としてフラグ化される。これは、定義上、エスケープ符号化を必要とする任意の係数は、当該係数に対していずれのマップが利用可能であるにせよ、符号化され得る値よりも大きいためである。
【０１２４】
現在のデータ値が完全に符号化されなかった場合、エスケープコードが必要となる。こ
こで、「完全に」符号化された、という言葉は、（当該マップ、又は例えばマップ及び固定ビットによって）既に符号化されたデータ値より小さいデータ値がゼロであることを意味する。すなわち、既に生成された要素を考慮して、データ値の残りの量がゼロである場合、データ値は当該要素により完全に符号化される。
【０１２５】
したがって、例の係数に対して、重要性マップ、２以上マップ、３以上マップを利用できると仮定すると、各マップは当該係数に関して「重要」、「２以上」、及び「３以上」としてフラグ化される。
【０１２６】
つまり、当該係数が少なくとも３であることが示される。
【０１２７】
したがって、エスケープ符号化前に上記係数から３を減算することで、情報損失を回避することができる。３（又は、広義的に、当該係数に適用された上記各マップが定義する数値範囲を示す変数ｂａｓｅ＿ｌｅｖｅｌ）は、復号化の際にまた元に戻される（つまり、加算される）。
【０１２８】
例えば、係数値を１０進法の１５（２進法の１１１１）とすると、重要性マップは「１」、２以上マップは「１」、３以上マップは「１」となる。変数ｂａｓｅ＿ｌｅｖｅｌは３となる。この係数値からｂａｓｅ＿ｌｅｖｅｌを減算することによって、１０進法の１２（１１００バイナリ）という値が得られる。この値がエスケープ符号化に用いられる。
【０１２９】
値ｋ（上記参照）は、サフィックスのビット数を定義するものである。サフィックスビットは、ｂａｓｅ＿ｌｅｖｅｌを減算した後の係数値の最下位ビットから得られる。（例えば）ｋ＝２の場合、残りの値１１００の２つの最下位ビットが、サフィックスビットとして扱われる。すなわち、本例では、サフィックスビットは００である。その残りのビット（本例では、１１）は、プレフィックスとして処理及び符号化される。
【０１３０】
したがって、要約すると、エスケープコードに関係する処理では、任意の係数の１つ又は複数の最下位ビットを定義する１つ又は複数のマップを（エスケープコードが必要な場合に）当該係数の値が少なくともｂａｓｅ＿ｌｅｖｅｌであるように生成し、この係数からｂａｓｅ＿ｌｅｖｅｌを減算し、減算後の係数の最下位kビットをサフィックスビットとして符号化すると共に、残りの最上位ビットをプレフィックスとして符号化する処理が行われる。
【０１３１】
本開示のいくつかの実施形態において、任意の係数に対してエスケープコードを符号化する場合に起こり得る最悪の場合のコード長を認識することができる。
【０１３２】
１６ビットのビデオに精度拡張処理を行う場合、エントロピーコーダのｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅの係数範囲は２２ビットとなるため、次のように、ｒＰａｒａｍが０であり、且つ係数の大きさが最大（１＜＜２２）である場合、本方式では、或る係数について符号化され得るエスケープコードビットの数が最大になる。
最大指数ゴロム符号ｄ値＝
（１＜＜２２）（初期の係数の大きさ）
−１（重要性マップによって既に符号化された値のため、１を差し引く）
−３（上述のようにゴロムライス符号ではないため、３を差し引く）
＝４１９４３００
【０１３３】
ＨＥＶＣの指数ゴロム符号化では、この値は、ゴロムライス符号ではないことを示す1ビットのセパレータ（separator：区切り記号）及び余分な３ビットのプレフィックスに加え、２１ビットのサフィックス（したがって、２１ビットのプレフィックスも）を必要とする。つまり、最悪の場合のビット総数は４６ビットである。これは、デコーダにとっては過度の負担となり得る。
【０１３４】
本開示のいくつかの実施形態では、エスケープ符号化の指数ゴロム部分（part）に対して、最悪の場合のエスケープコード長（ＨＥＶＣバージョン１における最悪の場合のエスケープコード長に等しい）を３２まで減らすことができる１つ又は複数の代替方式が適用される。可能性としてコード長はさらに短くすることができるが、これは、コード長と符号化効率とのトレードオフとなる。バージョン２のデコーダは、バージョン１をサポートする必要があるため、バージョン２のデコーダの拡張プロファイルにおける最大コード長をバージョン１規格の最大コード長よりも短かくしようという要望は存在しない。
【０１３５】
上述のように、現行（本願の優先権主張日現在）のＨＥＶＣ規格では、エスケープコード（ＣＡＢＡＣ符号化されたシンタックス要素によって記述されない係数の大きさの任意の部分）は、２値（two part）ゴロムライス／指数ゴロム方法によって符号化される。拡張精度処理（extended precision）によって１６ビットのビデオを符号化する場合、この方法では、上述のように最大エスケープコード長が４６ビットとなり、これは、１つの係数に対する復号化としては相当な負担となり得る。
【０１３６】
いくつかの実施形態では、エスケープ符号化方式の指数ゴロム部分におけるプレフィックス長及びサフィックス長間のマッピングを修正することによって、符号化効率又は処理効率にあまり悪影響を及ぼすことなく、最悪の場合の最大エスケープコード長を、例えば、３２ビットまで短くすることができる。他の実施形態では、ゴロムライスは、調節するか又は完全に消すこともできる。
【０１３７】
いわゆる拡張精度処理によって１６ビットのビデオを符号化する場合、変換及び量子化部のダイナミックレンジ、したがって、エントロピーコーダ（ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ）に入力される係数のダイナミックレンジは、１６＋６＝２２となる。したがって、係数の大きさは最大で、２２２＝４１９４３０４となる。重要性マップエントリの場合は１を減算し、ゴロムライス符号（最悪の場合では、ライスパラメータｒＰａｒａｍは０）の場合は３を減算することによって調節を行うと、指数ゴロム符号化で符号化され得る最大値は、４１９４３００となる。
【０１３８】
つまり、ＨＥＶＣにおいて指数ゴロムを用いてこの値を符号化するには、指数ゴロム符号化を用いていることを示す１ビットのセパレータ及び余分な３ビットのプレフィックスに加えて、２１ビットのサフィックス（したがって、２１ビットのプレフィックスも）が必要となる。したがって、４６という最悪の場合の総コード長になる。
【０１３９】
しかし、ここでは、プレフィックス長をサフィックス長に対して直接（１：１マッピングとして）、単純にマッピングするのではなく、様々な代替方式が用いられる。
【０１４０】
いくつかの実施形態では、サフィックス長は、プレフィックス長の関数（例えば、指数関数）とすることができる。指数関数の一例としては、ｓｕｆｆｉｘＬｅｎｇｔｈ＝（１＜＜ｐｒｅｆｉｘＬｅｎｇｔｈ）＞＞１である。このようにすると、例えば、１６個のサフィックスビットを示すのに５ビットのプレフィックスしか送信しなくて済む。最大値を５としてα符号化を用いるか又は切り捨てα符号化（truncated unary coding）を用いるかに応じて、セパレータ「０」も必要な場合がある。これは、非α符号化サフィックス部分の長さがプレフィックス部分によって符号化された値の指数関数となるように、プレフィックス部分によって符号化された値が非α符号化サフィックス部分の長さに関係付けられている構成の一例である。
【０１４１】
いくつかの実施形態では、プレフィックスはそれ自体が、α符号の代わりに指数ゴロム符号であり得る。
【０１４２】
いくつかの実施形態では、プレフィックス長は、表を用いてサフィックス長に対してマッピングすることができる。この方法によって、一連の区間サイズを、当該データに適合させることができる。上記表は、所定のものであってもよい（すなわち、エンコーダ及びデコーダに予め供給されていてもよい）。あるいは、上記表は、符号化されたデータストリームで又は符号化されたデータストリームに関係付けられて送信されてもよい（これによって、プレフィックス部分の長さとサフィックス部分の長さとの関係が、符号化されるデータに関係付けられて送信される情報によって定義付けられる）。またあるいは、上記表は、事前に符号化された係数又は他のデータから導出されてもよい。さらにあるいは、これらの組合せ又は他の技術（ストリームで送信されたデータを用いて所定の表のセットから選択される等）によって提供されてもよい。いくつかの実施形態では、プレフィックス部分によって符号化された値及び非α符号化サフィックス部分の長さは、１つ又は複数の表によって関係付けられる。いくつかの実施形態は、（ｉ）符号化されたデータ値と関係付けられたデータフラグ符号化されたデータ値と、（ｉｉ）先に符号化された１つ又は複数のデータ値から導出されるパラメータとから成る群の１つ又は複数のデータ値に応じて、プレフィックス部分によって符号化された値及び非α符号化サフィックス部分の長さを関係付ける表から１つの表を選択するステップを含む。
【０１４３】
いくつかの他の実施形態では、以下のような処理が行われ得る。拡張精度処理によって１６ビットのビデオを符号化する場合、変換及び量子化部のダイナミックレンジ、したがって、エントロピーコーダ（ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ）に入力される係数のダイナミックレンジは、１６＋６＝２２となる。したがって、上述のように、係数の大きさは最大で、２２２＝４１９４３０４となる。重要性マップエントリの場合に１を減算し、ゴロムライス符号（最悪の場合では、ライスパラメータｒＰａｒａｍは０）の場合に３を減算することによって調節を行うと、指数ゴロム符号化によって符号化され得る最大値は、４１９４３００であり、上述のように、４６の最悪の場合の総コード長となる。
【０１４４】
しかし、単純に無制限にプレフィックス長を拡張させる代わりに、拡張精度処理が可能な場合に代替方式を用いて、最悪の場合を示すのに必要とされるプレフィックスのビット数を制限することができる。最大プレフィックス長（ｍａｘｉｍｕｍＰｒｅｆｉｘＬｅｎｇｔｈ）は、次の式で表される。
ｍａｘｉｍｕｍＰｒｅｆｉｘＬｅｎｇｔｈ＝３２−（３＋ＭＡＸ＿ＴＲ＿ＤＹＮＡＭＩＣ＿ＲＡＮＧＥ）
【０１４５】
このプレフィックス長に達した場合、対応するサフィックス長（ｓｕｆｆｉｘＬｅｎｇｔｈ）は、次の式で表される。
ｓｕｆｆｉｘＬｅｎｇｔｈ＝ＭＡＸ＿ＴＲ＿ＤＹＮＡＭＩＣ＿ＲＡＮＧＥ−ｒＰａｒａｍ
【０１４６】
また、最大プレフィックス長は、符号化又は復号化の開始時から把握されているため、プレフィックスは、切り捨てα符号化によって符号化することができる（最大プレフィックス長に達した場合、セパレータを省く）。
【０１４７】
したがって、最悪の場合のエスケープコード長は次のように短縮される。
（３２−（３＋ＭＡＸ＿ＴＲ＿ＤＹＮＡＭＩＣ＿ＲＡＮＧＥ））（プレフィックス）
＋（ＭＡＸ＿ＴＲ＿ＤＹＮＡＭＩＣ＿ＲＡＮＧＥ−ｒＰａｒａｍ）（サフィックス）
＋ｒＰａｒａｍ（固定ビット）
＋３（非ゴロムライス符号ビット）
＝３２
【０１４８】
これによって、任意のエスケープコードを、単一の３２ビットの整数に収めることができ、最大エスケープコード長がＨＥＶＣバージョン１における最大エスケープコード長と同じになる。なお、高ビット深度処理（１６ビットのビデオの使用等）をサポートするＨＥＶＣデコーダは、依然として、少なくともいくつかの実施形態では、ＨＥＶＣバージョン１で符号化されたデータの使用をサポートしなければならないことが想定される。それゆえ、上述したように、エスケープコードのビット数が、ＨＥＶＣバージョン１で可能とされる最大値に限定されるということは、係る構成において、エスケープコード長は、既にサポートされている最大値以下となることを意味する。
【０１４９】
これらの実施形態は、上記マッピング表構成と同様の利点をもたらすことができる。しかし、本例は、ルックアップテーブルを必要とすることなく、最悪の場合のコード長を同様に削減し、同様の符号化性能を実現することができる。しかし、（符号化される又は復号化時の）データ値のビット深度に依存する最大長さにプレフィックス長を制限する原則は、上述のように、１つ又は複数の表と合わせて、又は、プレフィックス長とサフィックス長との関係の他の数式と共に用いることもできる。
【０１５０】
したがって、これらの実施形態は、プレフィックス長がプレフィックス長最大値で制限される技術の一例である。例えば、プレフィックス長最大値は、値ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅに依存し得る。この場合、値ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅは、符号化用のデータ値のダイナミックレンジである。いくつかの例では、最大プレフィックス長は、２９からｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅを差し引いた値に等しい。他の例では、最大プレフィックス長は、２８からｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅを差し引いた値に等しい。
【０１５１】
なお、これらの技術のいくつかを表現する別法として、ビデオデータは、或るビット深度（１６ビット等、つまり、各チャネル内のサンプル毎のビット数の表現）を有する。このビット深度は、デコーダによって復号化された復号化サンプルに対応しており、元のビデオデータのサンプル（つまり、エンコーダによって符号化されるサンプル）に適用される。当該ビット深度は、エンコーダ又はデコーダに供給されたデータ構造から暗に示されてもよいし、フラグ又はパラメータ等の１つ又は複数のインジケータによってエンコーダ又はデコーダに対してフラグ化されたり、別の方法で示されたりしてもよい。いくつかの例では、ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅは、６ビットのずれ等のずれを足したビット深度に等しく設定される（したがって、ビット深度が１６ビットである場合、例えば、変数ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅは、１６＋６＝２２ビットとなり得る）。したがって、プレフィックス長は、場合に応じて、符号化用のデータ値又は復号化されたデータ値のビット深度に依存する最大プレフィックス長に制限される。つまり、より詳細には、いくつかの例では、プレフィックス長は、場合に応じて、６ビットを足した符号化用のデータ値又は復号化されたデータ値のビット深度に依存する最大プレフィックス長に制限される。
【０１５２】
したがって、係る構成によって、最大プレフィックス長が、所定の定数から符号化用のデータ値のダイナミックレンジに等しい値を差し引いた値に等しくなる、符号化又は復号化システム及び方法の例を提供することができる。例えば、上記所定の定数は２９であってもよく、２８であってもよい。
【０１５３】
上述した技法及び／又は以下で説明する技法を組み合わせて用いてもよい。
【０１５４】
制御部３４５は、（デコーダ及びエンコーダのいずれか一方の場合、又はこれに対応の方法の場合、）プレフィックス長及び／又はプレフィックス長とサフィックス長との関係が依存する任意のパラメータを検出し、最大プレフィックス長及びプレフィックス長とサフィックス長との関係を設定するように又は別の方法で実施するように動作可能とすることができる。
【０１５５】
これらの方式は全て、データ符号化装置の動作方法が、データ符号化装置によって、データセット、及びデータセットによって符号化されない値のためのエスケープコードをデータ値の配列として符号化することを含み、エスケープコードはそれぞれ、プレフィックス部分と、プレフィックス部分によって符号化される値に依存するビット長を有する非α符号化サフィックス部分であって、プレフィックス部分によって符号化される少なくともいくつかの値に関して、非α符号化サフィックス部分の長さがプレフィックス部分のビット長よりも長くなるような関係になる非α符号化サフィックス部分とを有する、技術の実施形態である。本明細書に記載の各例は、プレフィックス長が、符号化中のデータ値又は復号化されたデータ値のビット深度に依存する最大プレフィックス長に制限される、技術の実施形態を提供する。
【０１５６】
（デコーダ側又はエンコーダの復号化経路側の）対応の復号化処理に関して、これらの方式は全て、データ復号化装置の動作方法が、データ復号化装置によって、データセットとして符号化される入力される符号化データ値と、データセットによって符号化されない値のためのエスケープコードとを復号化することを含み、エスケープコードはそれぞれ、プレフィックス部分と、プレフィックス部分によって符号化される値に依存するビット長を有する非α符号化サフィックス部分であって、プレフィックス部分によって符号化される少なくともいくつかの値に関して、非α符号化サフィックス部分の長さがプレフィックス部分のビット長よりも長くなるような関係になる非α符号化サフィックス部分とを有する、技術の実施形態である。
【０１５７】
実施形態は、上記方法を実施する符号化装置及び／又は復号化装置と、上記方法をコンピュータに実行させるソフトウェアと、係るソフトウェアを提供する（磁気又は光ディスク等の）非一過性の機械可読記憶媒体と、係る装置を具備するビデオデータキャプチャ装置、送信装置、表示装置、及び記憶装置とを包含する。
【０１５８】
上述のように、プレフィックス部分は、α符号化値を含んでもよい。
【０１５９】
いくつかの実施形態では、拡張精度処理が可能な場合、マッピングを用い、最悪の場合を示すのに必要とされるプレフィックスのビット数を制限することができる。係るマッピングは、拡張精度処理のためにサフィックス長をプレフィックス長に対してマッピングする以下の表で提示される。
【０１６０】
【表１】
0006730187.tif 000002
【０１６１】
方式（ｉ）は、通常の指数ゴロム符号化の挙動を再現したものである。
【０１６２】
方式（ｉｉ）は、上述のように、プレフィックス長の指数関数であるサフィックス長を模したものである。
【０１６３】
なお、方式（ｉｉ）は、１６ビットのビデオ符号化（ＭＡＸ＿ＴＲ＿ＤＹＮＡＭＩＣ＿ＲＡＮＧＥは２２ビット）の最悪の場合のビット数を、４６ビット（α符号化の場合の方式（ｉ））から、プレフィックスビットを最大５として、プレフィックスにα符号化を用いる場合は３１ビットに、プレフィックスに切り捨てα符号化を用いる場合は３０ビットに低減することができる。しかし、これによって、各小さい値に関して区間精度が損なわれるため、方式（ｉｉｉ）の場合よりも符号化効率の損失が大きくなる。しかしながら、ＧＢ１３２０７７５．８号（その内容が本明細書に参照によって援用される）に開示されているゴロムライスパラメータの適合方法も採用すれば、上記各方式の損失を低減することができる。
【０１６４】
方式（ｉｉｉ）を用いることによって、各小さい値に関して精度の高い（fine grained）符号化区間が維持されると共に、可能性として最大のサフィックスを示すのに（２１の代わりに）7以下のプレフィックスビットが必要とされる。さらに、最大プレフィックス長は把握されているため、プレフィックスは、切り捨てα符号化値として、切り捨てα符号化を用いて符号化することができる（最大プレフィックス長に達した場合はセパレータを除く）。しかし、ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅの[y3]最大サフィックス長である。ｒＰａｒａｍが非ゼロである場合は、最大サフィックス長は、サフィックスに続くさらなるｒＰａｒａｍビットを有するｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ−ｒＰａｒａｍである。したがって、この方式に関するいくつかの実施形態では、上記表に示される値の一部又は全ては、ｒＰａｒａｍの関数である。
【０１６５】
制御部３４５は、プレフィックス長とサフィックス長との適切な関係を検出するために、表セット（上記表（ｉ）〜（ｉｉｉ）等）の１つ又は複数の表にアクセスするように構成されてもよい。
【０１６６】
したがって、最悪の場合のエスケープコード長は、７（プレフィックス）＋２２（最大サフィックス）＋３（非ゴロムライス符号ビット）＝３２まで減る。なお、切り捨てα符号化されたプレフィックス用のセパレータはなく、任意のエスケープコードを１つの３２ビットの整数に収めることができる。
【０１６７】
いくつかの実施形態のさらなる特徴は、以下のようなものである。最大サフィックス長は把握されているため、プレフィックスは、単純なα符号化の代わりに切り捨てα符号化を用いて送信することができる（すなわち、プレフィックスの最大ビット数に達した場合、プレフィックス及びサフィックス間に通常配置されるセパレータは不要となる）。
【０１６８】
プレフィックス長が、必要以上に大きい（例えば、ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅより大きい）サフィックス長に対してマッピングされる方式では、代わりに、プレフィックス長をこの値に制限することができる。その結果、ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅより大きいプレフィックス長とサフィックス長との関係によって得られる任意の値は、ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅに等しくなるように設定される。一般的には、いくつかの実施形態では、プレフィックス部分によって符号化された値と、非α符号化サフィックス部分の長さとの関係は、非α符号化サフィックス部分の最大長さが符号化されるデータ値のそれぞれの最大ビット数より大きくならないように設定される。
【０１６９】
ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅが１６ビット未満の構成では、例えば、上記関係において最大サフィックス長を１５に設定することによって１６の値を除去することができる。一例として、これを、サフィックスが１６ビットになり得る値４の指数プレフィックスを解釈するために用いてもよい。
【０１７０】
これより、第１の実施例について説明する。
【０１７１】
この処理には、符号なしの値ｓｙｎＶａｌと、ライスパラメータｒｉｃｅＰａｒａｍと、現在のシンタックス要素がクロマ係数に関するか否かを示すフラグｉｓＣｈｒｏｍａとを有するシンタックス要素のための表に基づく２値化の要求が入力される。
【０１７２】
この処理の出力は、シンタックス要素ｓｙｎＶａｌの上記表に基づく２値化である。
【０１７３】
変数ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅは、次のように導出される。
ｉｓＣｈｒｏｍａが０である場合、ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ＝ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ？Ｍａｘ（１５、ＢｉｔＤｅｐｔｈＹ＋６）：１５
【０１７４】
ｉｓＣｈｒｏｍａが０ではない場合、ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ＝ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ？Ｍａｘ（１５、ＢｉｔＤｅｐｔｈＣ＋６）：１５
【０１７５】
個々で用いる表記は以下のようなものである。「Ａ＝フラグ？Ｂ：Ｃ」は、変数Ａがそれぞれ、バイナリ値「フラグ」のｔｒｕｅ又はｆａｌｓｅに応じて値Ｂ又は値Ｃに割り当てられることを示す。ＢｉｔＤｅｐｔｈＹは、ルマ（輝度）又はグリーンチャンネルのビット深度である。ＢｉｔＤｅｐｔｈＣは、クロマ（彩度）又はブルー及びレッドチャンネルのビット深度である。値ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇは、拡張精度処理が可能であるか否かを示すフラグである。
【０１７６】
変数ｓｕｆｆｉｘＬｅｎｇｔｈ［ｘ］及び変数ｍｉｎｉｍｕｍＵｎｃｏｄｅａｂｌｅＶａｌｕｅ［ｘ］（すなわち、上述のようにエスケープ−エスケープコードの最小値を示す値）が下記の表（一例として）から導出される。
【０１７７】
【表２】
0006730187.tif 000003
【０１７８】
シンタックス要素ｓｙｎＶａｌの上記表に基づく２値化処理のビンストリング（bin string）は、以下のように指定される。ここで、関数ｐｕｔ（Ｘ）（Ｘは０又は１）の呼び出しによって、ビンストリングの終端にバイナリ値Ｘが追加されている。
ｓｕｆｆｉｘ＝ｓｙｎＶａｌ＞＞ｒｉｃｅＰａｒａｍ
ｐｒｅｆｉｘＬｅｎｇｔｈ＝０
ｗｈｉｌｅ（（ｐｒｅｆｉｘＬｅｎｇｔｈ＜７）＆＆（ｓｕｆｆｉｘ＞＝ｍｉｎｉｍｕｍＵｎｃｏｄｅａｂｌｅＶａｌｕｅ［ｐｒｅｆｉｘＬｅｎｇｔｈ］））
｛
ｐｒｅｆｉｘＬｅｎｇｔｈ＋＋
ｐｕｔ（１）
｝
ｐｕｔ（（ｐｒｅｆｉｘＬｅｎｇｔｈ＝＝７）？１：０）
ｉｆ（ｐｒｅｆｉｘＬｅｎｇｔｈ＞０）
｛
ｓｙｎＶａｌ−＝ｍｉｎｉｍｕｍＵｎｃｏｄｅａｂｌｅＶａｌｕｅ［ｐｒｅｆｉｘＬｅｎｇｔｈ−１］＜＜ｒｉｃｅＰａｒａｍ
｝
ｔｏｔａｌＳｕｆｆｉｘＬｅｎｇｔｈ＝ｓｕｆｆｉｘＬｅｎｇｔｈ［ｐｒｅｆｉｘＬｅｎｇｔｈ］＋ｒｉｃｅＰａｒａｍ
ｗｈｉｌｅ（（ｔｏｔａｌＳｕｆｆｉｘＬｅｎｇｔｈ−−）＞０）
｛
ｐｕｔ（（ｓｙｎＶａｌ＞＞ｔｏｔａｌＳｕｆｆｉｘＬｅｎｇｔｈ）＆１）
｝
【０１７９】
［ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの２値化処理］
次のように、変数ｃＭａｘは、ｃＲｉｃｅＰａｒａｍから導出される。変数ｃＭａｘは、上記で使用したｒＰａｒａｍと等価である。
ｃＭａｘ＝４３＜＜ｃＲｉｃｅＰａｒａｍ
【０１８０】
シンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ［ｎ］の２値化は、プレフィックスビンストリング及び（存在する場合は）サフィックスビンストリングの連鎖である。
【０１８１】
プレフィックスビンストリングを導出するためには、次のような処理が行われる。ｃｕ＿ｑｐ＿ｄｅｌｔａ＿ａｂｓのプレフィックス値、すなわち、プレフィックスＶａｌが次のように導出される。
プレフィックスＶａｌ＝Ｍｉｎ（ｃＭａｘ、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ［ｎ］）
【０１８２】
入力値として変数ｃＭａｘと変数ｃＲｉｃｅＰａｒａｍとを有するプレフィックスＶａｌのＴＲ２値化処理を実施することによってプレフィックスビンストリングを指定する。
【０１８３】
プレフィックスビンストリングは、全てのビットが１に等しい長さ４３のビット列に等しい場合、サフィックスビンストリングが存在し、次のように導出される。ｃｕ＿ｑｐ＿ｄｅｌｔａ＿ａｂｓのサフィックス値、すなわち、サフィックスＶａｌが次のように導出される。
サフィックスＶａｌ＝ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ［ｎ］−ｃＭａｘ
【０１８４】
ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇが１である場合、サフィックスビンストリングは、ｃＩｄｘが０以上である場合に１に等しくなるように設定された変数ｉｓＣｈｒｏｍａを有するサフィックスＶａｌの表に基づく２値化処理を実行することによって指定される。
【０１８５】
他方、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇが０に等しい場合、ｃＲｉｃｅＰａｒａｍに等しくなるように設定されたｋ次の指数ゴロムを有するサフィックスＶａｌのＥＧｋ２値化処理を実行することによってサフィックスビンストリングが指定される。
【０１８６】
これより、プレフィックス長が制限される実施形態に関連する別の実施例について説明する。この処理に入力されるのは、符号なしの値ｓｙｎＶａｌと、ライスパラメータｒｉｃｅＰａｒａｍと、現在のシンタックス要素がクロマ係数に関しているか否かを示すフラグｉｓＣｈｒｏｍａとを有するシンタックス要素のための限定された指数ゴロム２値化の要求である。この処理の出力は、シンタックス要素ｓｙｎＶａｌの、限定されたｋ次の指数ゴロムの２値化である。
【０１８７】
変数ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅは、次のように導出される。
Ｃｈｒｏｍａが０である場合、ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ＝ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ？Ｍａｘ（１５、ＢｉｔＤｅｐｔｈＹ＋６）：１５
【０１８８】
Ｃｈｒｏｍａが０ではない場合、ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ＝ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ？Ｍａｘ（１５、ＢｉｔＤｅｐｔｈＣ＋６）：１５
【０１８９】
変数ｍａｘｉｍｕｍＰｒｅｆｉｘＬｅｎｇｔｈは、（２９−ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ）に等しく設定される。
【０１９０】
シンタックス要素ｓｙｎＶａｌの限定されたｋ次の指数ゴロムの２値化処理のビンストリングは、以下のように指定される。ここで、関数ｐｕｔ（Ｘ）（Ｘは０又は１）の呼び出しによって、ビンストリングの終端にバイナリ値Ｘが追加されている。
ｃｏｄｅＶａｌｕｅ＝ｓｙｎＶａｌ＞＞ｒｉｃｅＰａｒａｍ
ｐｒｅｆｉｘＬｅｎｇｔｈ＝０
while（（ｐｒｅｆｉｘＬｅｎｇｔｈ＜ｍａｘｉｍｕｍＰｒｅｆｉｘＬｅｎｇｔｈ）＆＆（ｃｏｄｅＶａｌｕｅ＞（（２＜＜ｐｒｅｆｉｘＬｅｎｇｔｈ）−２）））
｛
ｐｒｅｆｉｘＬｅｎｇｔｈ＋＋
ｐｕｔ（１）
｝
ｉｆ（ｐｒｅｆｉｘＬｅｎｇｔｈ＝＝ｍａｘｉｍｕｍＰｒｅｆｉｘＬｅｎｇｔｈ）
｛
ｔｏｔａｌＳｕｆｆｉｘＬｅｎｇｔｈ＝ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ
ｐｕｔ（１）
｝
ｅｌｓｅ
｛
ｔｏｔａｌＳｕｆｆｉｘＬｅｎｇｔｈ＝ｐｒｅｆｉｘＬｅｎｇｔｈ＋ｒｉｃｅＰａｒａｍ
ｐｕｔ（０）
｝
ｓｙｎＶａｌ＝ｓｙｎＶａｌ−（（（１＜＜ｐｒｅｆｉｘＬｅｎｇｔｈ）−１）＜＜ｒｉｃｅＰａｒａｍ）
ｗｈｉｌｅ（（ｔｏｔａｌＳｕｆｆｉｘＬｅｎｇｔｈ−−）＞０）
｛
ｐｕｔ（（ｓｙｎＶａｌ＞＞ｔｏｔａｌＳｕｆｆｉｘＬｅｎｇｔｈ）＆１）
｝
【０１９１】
通常の指数ゴロム符号では、上述のように、サフィックスは、より小さいサフィックス長によって符号化されることができない可能性がある最小値を、符号化される値から減算することによって形成される。例えば、ｋ＝０である（又はｋを適用しない）９（０ｂ１００１）（０ｂプレフィックスは二進表記を示す）を符号化する場合、以下のようになる。
０ビットのプレフィックス／サフィックスコードは値０まで
１ビットのプレフィックス／サフィックスコードは値２まで
２ビットのプレフィックス／サフィックスコードは値６まで
【０１９２】
したがって、３ビットのプレフィックス／サフィックス（値１４までの符号）が必要となる。２ビットのプレフィックス／サフィックスで符号化することができない最小値は、７（６＋１）であるため、サフィックスは、３ビットとしての９−７＝２（０ｂ０１０）として形成され、最終符号化値は１１１−０−０１０となる。
【０１９３】
本開示によれば、最大プレフィックス長に関係付けられるサフィックス長は、この減算が不要とされるほど（必然的に）十分な長さとされる。したがって、サフィックスは単純に、符号化される値に等しくすることができる。
【０１９４】
例えば、最大プレフィックス長＝３、すなわち、これに関連するサフィックス長＝４である。
【０１９５】
符号化された値は、符号化される値に等しいサフィックスが続く、切り捨てα符号化されたプレフィックスに等しくなる。例えば、１０進法の９を１１１−１００１として符号化することができる。
【０１９６】
さらに別の実施例では、「ゴロムライス符号ではないこと」を示すのに用いられる１の個数は、４であるが、その符号は、（ｋ＋１）次指数ゴロム符号として解釈される。上述した技術の場合の最大プレフィックス長は、次のように導出される。
ｍａｘｉｍｕｍＰｒｅｆｉｘＬｅｎｇｔｈ＝３２（所望の最大コード長）−（「非ゴロムライス符号」を示すビット数）−ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ
＝２８−ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅ
以下のコードを検討する。
（ｉ）１１０Ｘ…
（ｉｉ）１１１０Ｘ…
（ｉｉｉ）１１１Ｘ…
（Ｘは、「当該ビットの値は問わないこと」を示す）
【０１９７】
符号（ｉ）では、先行する１の個数（先行する１の個数）が２である場合、上記構成のいずれも、これを指数ゴロム符号とは解釈しない。
【０１９８】
符号（ｉｉ）では、先行する１の個数が３である場合、最初に上述したシステムは、これを指数ゴロム符号として解釈するが、２番目に上述したシステム[y4]は指数ゴロム符号として解釈しない。しかし、ちょうど３個の先行する１が存在するため、指数ゴロム符号のプレフィックス長は０である（最初の０の前には１は存在しない）。しかし、プレフィックス長が０である場合、ｋ次指数ゴロム符号の解釈は、ｋ次ゴロムライス符号の解釈と同じである。
【０１９９】
符号（ｉｉｉ）では、先行する１の個数が４である場合、両方の技術は、これを指数ゴロム符号として解釈する。第１のシステムでは、これは、少なくとも１のプレフィックス長を有するｋ次符号として解釈される。第２のシステムでは、これは、少なくとも０のプレフィックス長を有する（ｋ＋１）次符号として解釈される。いずれの場合も、プレフィックス長は、この符号の冒頭に続く追加の１の個数に依存する。しかし、指数ゴロム符号化では、プレフィックスビットによって効果的に値ｋが増加するため、理解されるように、両方の解釈が等価になる。したがって、指数ゴロム符号を復号化する場合の値ｋも１だけ増加されるとすると、「非ゴロムライス符号」の閾値を１（以下）だけ増加させることに等しい。
【０２００】
図１９は、符号化技術を示す概略フローチャートである。ステップ２２００において、上述した技術のいずれか１つを用いて、（例えば、データビット深度等の１つ又は複数のパラメータに応じて制御部３４５によって）プレフィックス長及び／又は最大プレフィックス長を定義する。ステップ２２１０において、１つ又は複数のデータ値を、このようにして定義されたプレフィックス長に応じて符号化する。
【０２０１】
図２０は、別の符号化技術を示す概略フローチャートである。ステップ２２２０において、プレフィックスを、α符号化値（例えば、切り捨てα符号化値）として符号化する。ステップ２２３０において、これに対応するサフィックスを符号化する。
【０２０２】
図２１は、さらに別の符号化技術を示す概略フローチャートである。ステップ２２４０において上述したような表を参照し、ステップ２２５０においてサフィックス長を取得する。
【０２０３】
上記に対応する技術が、各復号化ステージに適用される。
【０２０４】
本開示の各特徴及び／又は実施形態は、以下の番号付けされた項によって定義される。
【０２０５】
１．  データ符号化装置の動作方法であって、
前記データ符号化装置によって、データセット及び前記データセットによって符号化されない値のためのエスケープコードとしてデータ値の配列を符号化し、
前記エスケープコードはそれぞれ、プレフィックス部分と、前記プレフィックス部分によって符号化された値に依存するビット長を有する非α符号化サフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該非α符号化サフィックス部分の前記長さが、前記プレフィックス部分の前記ビット長よりも長くなるような関係になる、非α符号化サフィックス部分とを含む
データ符号化装置の動作方法。
２．  上記１に記載のデータ符号化装置の動作方法であって、
前記プレフィックス部分はα符号化値を含む
データ符号化装置の動作方法。
３．  上記２に記載のデータ符号化装置の動作方法であって、
前記プレフィックス部分は、切り捨てα符号化（truncated unary coding）値を含む
データ符号化装置の動作方法。
４．  上記１〜３のいずれか一項に記載のデータ符号化装置の動作方法であって、
前記プレフィックス部分の前記長さと、前記サフィックス部分の前記長さとの前記関係は、符号化される前記データに関係付けて送信される情報によって定義される
データ符号化装置の動作方法。
５．  上記１〜４のいずれか一項に記載のデータ符号化装置の動作方法であって、
前記プレフィックス部分によって符号化される前記値及び前記非α符号化サフィックス部分の前記長さは、１つ又は複数の表によって関係付けられる
データ符号化装置の動作方法。
６．  上記５のいずれか一項に記載のデータ符号化装置の動作方法であって、さらに、
（ｉ）前記符号化データ値に関係付けられるデータフラグと、
（ｉｉ）先に符号化された１つ又は複数のデータ値から導出されるパラメータと
から成る群の１つ又は複数に応じて前記プレフィックス部分によって符号化される前記値及び前記非α符号化サフィックス部分の前記長さを関係付ける前記１つ又は複数の表から１つの表を選択する
データ符号化装置の動作方法。
７．  上記１〜６のいずれか一項に記載のデータ符号化装置の動作方法であって、
前記プレフィックス部分によって符号化される前記値は、前記非α符号化サフィックス部分の前記長さが、前記プレフィックス部分によって符号化される前記値の指数関数であるように、前記非α符号化サフィックス部分の前記長さに関係付けられる
データ符号化装置の動作方法。
８．  上記１〜７のいずれか一項に記載のデータ符号化装置の動作方法であって、
前記プレフィックス部分によって符号化される前記値と、前記非α符号化サフィックス部分の前記長さとの前記関係は、前記非α符号化サフィックス部分の最大長さが、符号化される前記データ値のそれぞれの最大ビット数と、所定の最大値とから成るリストから選択される最大値より大きくならないように設定される
データ符号化装置の動作方法。
９．  上記１〜８のいずれか一項に記載のデータ符号化装置の動作方法であって、
前記プレフィックス部分はそれ自体が指数ゴロム符号として符号化される
データ符号化装置の動作方法。
１０．  上記１〜９のいずれか一項に記載のデータ符号化装置の動作方法であって、
前記プレフィックス長は、プレフィックス長最大値に制限される
データ符号化装置の動作方法。
１１．  上記１０に記載のデータ符号化装置の動作方法であって、
前記プレフィックス長最大値は、符号化のための前記データ値の前記ダイナミックレンジである値ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅに依存する
データ符号化装置の動作方法。
１２．  上記１１に記載のデータ符号化装置の動作方法であって、
前記最大プレフィックス長は、２９から前記値ｍａｘＴｒＤｙｎａｍｉｃＲａｎｇｅを差し引いた値に等しい
データ符号化装置の動作方法。
１３．  上記１〜１２のいずれか一項に記載のデータ符号化装置の動作方法であって、
前記データセットのうちの１つは、前記データ値の配列に対する、非ゼロである最上位データ部分の位置を示す重要性マップである
データ符号化装置の動作方法。
１４．  上記１３に記載のデータ符号化装置の動作方法であって、
前記重要性マップは、前記データ値の前記配列の所定の順序で、非ゼロ値を有する前記最上位データ部分の最後の位置を示すデータフラグを含む
データ符号化装置の動作方法。
１５．  上記１３に記載のデータ符号化装置の動作方法であって、
前記データセットは、
前記データ値の前記配列に対する、１より大きい最上位データ部分の位置を示す２以上マップと、
前記データ値の前記配列に対する、２より大きい最上位データ部分を示す位置を示す３以上マップと
を含む
データ符号化装置の動作方法。
１６．  データ復号化装置の動作方法であって、
前記データ復号化装置によって、データセット及び前記データセットによって符号化されない値のためのエスケープコードとして符号化された入力される符号化データ値を復号化し、
前記エスケープコードはそれぞれ、プレフィックス部分と、前記プレフィックス部分によって符号化された値に依存するビット長を有する非α符号化サフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該非α符号化サフィックス部分の前記長さが、前記プレフィックス部分の前記ビット長よりも長くなるような関係になる、非α符号化サフィックス部分とを含む
データ符号化装置の動作方法。
１７．  コンピュータに、上記１〜１６のいずれか一項に記載のデータ符号化装置の動作方法の各ステップを実行させるプログラム。
１８．  データセット及び前記データセットによって符号化されない値のためのエスケープコードとしてデータ値の配列を符号化するように構成されるエンコーダを具備し、
前記エスケープコードはそれぞれ、プレフィックス部分と、前記プレフィックス部分によって符号化された値に依存するビット長を有する非α符号化サフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該非α符号化サフィックス部分の前記長さが、前記プレフィックス部分の前記ビット長よりも長くなるような関係になる、非α符号化サフィックス部分とを含む
データ符号化装置。
１９．  データセット及び前記データセットによって符号化されない値のためのエスケープコードとして符号化された入力される符号化データ値を復号化するように構成されるデコーダを具備し、
前記エスケープコードはそれぞれ、プレフィックス部分と、前記プレフィックス部分によって符号化された値に依存するビット長を有する非α符号化サフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該非α符号化サフィックス部分の前記長さが、前記プレフィックス部分の前記ビット長よりも長くなるような関係になる、非α符号化サフィックス部分とを含む
データ復号化装置。
２０．  上記１８に記載のデータ符号化装置又は１９に記載のデータ復号化装置を具備する装置であって、ビデオデータキャプチャ装置、送信装置、表示装置、及び記憶装置のうち少なくとも１つの機能を有する装置。
【０２０６】
本開示のさらなる態様及び特徴は、以下の番号付けされた項によって定義される。
【０２０７】
１．  入力される符号化データ値を、ビット深度を有する復号化データ値に復号化するように構成されるデコーダを具備し、
前記入力される符号化データ値は、データセット、及び前記データセットによって符号化されない値のためのエスケープコードとして符号化され、
前記エスケープコードはそれぞれ、
前記データ値の前記ビット深度に依存する最大プレフィックス長に制限されるプレフィックス長を有するプレフィックス部分と、
前記プレフィックス部分によって符号化された値に依存するビット長を有する非α符号化サフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該非α符号化サフィックス部分の長さが、前記プレフィックス部分の前記ビット長より長くなる関係にある、非α符号化サフィックス部分と
を有する
データ復号化装置。
２．  上記１に記載のデータ復号化装置であって、
前記プレフィックス部分は、α符号化値を含む
データ復号化装置。
３．  上記２に記載のデータ復号化装置であって、
前記プレフィックス部分は、切り捨てα符号化（truncated unary coding）値を含む
データ復号化装置。
４．  上記１〜３のいずれか一項に記載のデータ復号化装置であって、
前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとが関係付けられる１つ又は複数の表にアクセスするように構成される制御部
をさらに具備する
データ復号化装置。
５．  上記４に記載のデータ復号化装置であって、
前記制御部は、
（ｉ）前記符号化データ値に関係付けられるデータフラグと、
（ｉｉ）先に符号化された１つ又は複数のデータ値から導出されるパラメータと
から成る群のうちの１つ又は複数に応じて、前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとが関係付けられる前記表のうちの１つを選択するように構成される
データ復号化装置。
６．  上記１〜３のいずれか一項に記載のデータ復号化装置であって、
前記プレフィックス部分によって符号化された前記値は、前記非α符号化サフィックス部分の前記長さが、前記プレフィックス部分によって符号化された前記値の指数関数であるように、前記非α符号化サフィックス部分の前記長さに関係付けられる
データ復号化装置。
７．  上記１〜３のいずれか一項に記載のデータ復号化装置であって、
前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとの前記関係は、前記非α符号化サフィックス部分の最大長さが、符号化される前記データ値のそれぞれの最大ビット数と、所定の最大値とから成るリストから選択される最大値より大きくならないように設定される
データ復号化装置。
８．  上記１〜７のいずれか一項に記載のデータ復号化装置であって、
前記プレフィックス部分はそれ自体が指数ゴロム符号として符号化される
データ復号化装置。
９．  上記１〜８のいずれか一項に記載のデータ復号化装置であって、
前記プレフィックス長は、前記データ値の前記ビット深度に６を足した値に依存する最大プレフィックス長を上限とする
データ復号化装置。
１０．  上記１〜９のいずれか一項に記載のデータ復号化装置であって、
前記最大プレフィックス長は、所定の定数から符号化用の前記データ値の前記ダイナミックレンジに等しい値を差し引いた値に等しい
データ復号化装置。
１１．  上記１０に記載のデータ復号化装置であって、
前記所定の定数は、２９に等しい
データ復号化装置。
１２．  上記１０に記載のデータ復号化装置であって、
前記所定の定数は、２８に等しい
データ復号化装置。
１３．  上記１〜１２のいずれか一項に記載のデータ復号化装置であって、
前記データセットのうちの１つは、前記データ値の配列に対する、非ゼロである最上位データ部分の位置を示す重要性マップである
データ復号化装置。
１４．  上記１３に記載のデータ復号化装置であって、
前記重要性マップは、前記データ値の配列の所定の順序で、非ゼロの値を有する前記最上位データ部分の最後の位置を示すデータフラグを含む
データ復号化装置。
１５．  データ復号化装置の動作方法であって、
前記データ復号化装置によって、入力される符号化データ値を、ビット深度を有する復号化データ値に復号化し、
前記入力される符号化データ値は、データセット、及び前記データセットによって符号化されない値のためのエスケープコードとして符号化され、
前記エスケープコードはそれぞれ、
前記データ値の前記ビット深度に依存する最大プレフィックス長に制限されるプレフィックス長を有するプレフィックス部分と、
前記プレフィックス部分によって符号化された値に依存するビット長を有する非α符号化サフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該非α符号化サフィックス部分の長さが、前記プレフィックス部分の前記ビット長より長くなる関係にある、非α符号化サフィックス部分とを有する
データ復号化装置の動作方法。
１６．  コンピュータに、上記１５に記載のデータ復号化装置の動作方法の各ステップを実行させるプログラム。
１７．  上記１６に記載のプログラムが記録された機械可読記憶媒体。
１８．  ビット深度を有するデータセット及び前記データセットによって符号化されない値のためのエスケープコードとしてデータ値のアレイを符号化するように構成されるエンコーダを具備し、
前記エスケープコードはそれぞれ、
前記データ値の前記ビット深度に依存する最大プレフィックス長に制限されるプレフィックス長を有するプレフィックス部分と、
前記プレフィックス部分によって符号化された値に依存するビット長を有する非α符号化サフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該非α符号化サフィックス部分の長さが、前記プレフィックス部分の前記ビット長より長くなる関係にある
データ符号化装置。
１９．  上記１８に記載のデータ符号化装置であって、
前記プレフィックス部分は、α符号化値を含む
データ符号化装置。
２０．  上記１９に記載のデータ符号化装置であって、
前記プレフィックス部分は、切り捨てα符号化を含む
データ符号化装置。
２１．  上記１８〜２０のいずれか一項に記載のデータ符号化装置であって、
前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとが関係付けられる１つ又は複数の表にアクセスするように構成される制御部
をさらに具備する
データ符号化装置。
２２．  上記２１に記載のデータ符号化装置であって、
前記制御部は、
（ｉ）前記符号化データ値に関係付けられるデータフラグと、
（ｉｉ）先に符号化された１つ又は複数のデータ値から導出されるパラメータと
に応じて、前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとが関係付けられる前記表のうちの１つを選択するように構成される
データ符号化装置。
２３．  上記１８〜２０のいずれか一項に記載のデータ符号化装置であって、
前記プレフィックス部分によって符号化された前記値は、前記非α符号化サフィックス部分の前記長さが、前記プレフィックス部分によって符号化された前記値の指数関数であるように、前記非α符号化サフィックス部分の前記長さに関係付けられる
データ符号化装置。
２４．  上記１８〜２０のいずれか一項に記載のデータ符号化装置であって、
前記プレフィックス部分によって符号化された前記値と、前記非α符号化サフィックス部分の前記長さとの前記関係は、前記非α符号化サフィックス部分の最大長さが、符号化される前記データ値のそれぞれの最大ビット数と、所定の最大値とから成るリストから選択される最大値より大きくならないように設定される
データ符号化装置。
２５．  上記１８〜２４のいずれか一項に記載のデータ符号化装置であって、
前記プレフィックス部分はそれ自体が指数ゴロム符号として符号化される
データ符号化装置。
２６．  上記１８〜２５のいずれか一項に記載のデータ符号化装置であって、
前記最大プレフィックス長は、所定の定数から符号化用の前記データ値の前記ダイナミックレンジに等しい値を差し引いた値に等しい
データ符号化装置。
２７．  上記２６に記載のデータ符号化装置であって、
前記所定の定数は、２９に等しい
データ符号化装置。
２８．  上記２６に記載のデータ符号化装置であって、
前記所定の定数は、２８に等しい
データ符号化装置。
２９．  上記１８〜２８のいずれか一項に記載のデータ符号化装置であって、
前記データセットのうちの１つは、前記データ値の配列に対する、非ゼロである最上位データ部分の位置を示す重要性マップである
データ符号化装置。
３０．  上記２９に記載のデータ符号化装置であって、
前記重要性マップは、前記データ値の配列の所定の順序で、非ゼロの値を有する前記最上位データ部分の最後の位置を示すデータフラグを含む
データ符号化装置。
３１．  上記２９又は３０に記載のデータ符号化装置であって、
前記データセットは、
前記データ値の前記配列に対する、１より大きい最上位データ部分の位置を示す２以上マップと、
前記データ値の前記配列に対する、２より大きい最上位データ部分の位置を示す３以上マップと
を含む
データ符号化装置。
３２．  データ符号化装置の動作方法であって、
前記データ符号化装置によって、ビット深度を有するデータセット及び前記データセットによって符号化されない値のためのエスケープコードとしてデータ値のアレイを符号化し、
前記エスケープコードはそれぞれ、
前記データ値の前記ビット深度に依存する最大プレフィックス長に制限されるプレフィックス長を有するプレフィックス部分と、
前記プレフィックス部分によって符号化された値に依存するビット長を有する非α符号化サフィックス部分であって、前記プレフィックス部分によって符号化された少なくともいくつかの値に関して、当該非α符号化サフィックス部分の長さが、前記プレフィックス部分の前記ビット長より長くなる関係にある
データ符号化装置の動作方法。
３３．  コンピュータに、上記３２に記載のデータ符号化装置の動作方法の各ステップを実行させるプログラム。
３４．  上記３３に記載のプログラムが記録された機械可読記憶媒体。
３５．  請求項１〜１４及び１８〜３１のいずれか一項に記載のデータ復号化装置を具備する装置であって、ビデオデータキャプチャ装置、送信装置、表示装置、及び記憶装置のうち少なくとも１つの機能を有する装置。
【０２０８】
プレフィックス長とサフィックス長との関係を選択又は確立するため、且つ／又は、最大プレフィックス長を選択又は確立するための、デコーダ若しくはエンコーダの各機能又は復号化方法若しくは符号化方法の各機能的なステップは、例えば、（いくつかの上述の例では）制御部３４５等の制御部が実行してもよいことが理解されるであろう。
【０２０９】
上述のように、上記の項の装置特徴は、上述のエンコーダ又はデコーダの特徴により実行されてもよいことが理解されるであろう。
【図１】
0006730187.tif 000004
【図２】
0006730187.tif 000005
【図３】
0006730187.tif 000006
【図４】
0006730187.tif 000007
【図５】
0006730187.tif 000008
【図６】
0006730187.tif 000009
【図７】
0006730187.tif 000010
【図８】
0006730187.tif 000011
【図９】
0006730187.tif 000012
【図１０】
0006730187.tif 000013
【図１１】
0006730187.tif 000014
【図１２】
0006730187.tif 000015
【図１３】
0006730187.tif 000016
【図１４】
0006730187.tif 000017
【図１５】
0006730187.tif 000018
【図１６】
0006730187.tif 000019
【図１７】
0006730187.tif 000020
【図１８】
0006730187.tif 000021
【図１９】
0006730187.tif 000022
【図２０】
0006730187.tif 000023
【図２１】
0006730187.tif 000024