(57)【要約】【課題】変換係数の符号化及び復号に係るメモリ量を削減すること、および、スループットを向上させる。【解決手段】係数レベル復号部１２４が備える係数有無フラグコンテキスト導出部１２３ｚは、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、復号済みの変換係数の値を参照することによって導出する。【選択図】図１
2013223051.tif 000002
【特許請求の範囲】
【請求項１】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、当該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
上記各サブブロック内の各変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、
上記各サブブロック内の各変換係数の大きさを復号する係数値復号手段と、
復号済みの変換係数の値を参照することによってコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備えることを特徴とする算術復号装置。
【請求項２】
上記コンテキストインデックス導出手段は、復号済みの変換係数の絶対値を所定の値でクリップした値の和を用いることによってコンテキストインデックスを導出することを特徴とする請求項１に記載の算術復号装置。
【請求項３】
サブブロック内で復号された非０変換係数の数をカウントするカウント手段を備え、
上記コンテキストインデックス導出手段は、上記非０変換係数の数が所定の数以下の場合に、復号済みの変換係数の絶対値を用いてコンテキストインデックスを導出することを特徴とする請求項１に記載の算術復号装置。
【請求項４】
サブブロック内で復号された非０変換係数の数をカウントするカウント手段を備え、
上記コンテキストインデックス導出手段は、対象変換係数よりも所定数前の非０変換係数有無フラグを復号した時点での上記非０変換係数の数が所定の数以下の場合に、復号済みの変換係数の絶対値を用いてコンテキストインデックスを導出することを特徴とする請求項１に記載の算術復号装置。
【請求項５】
サブブロック内のループにおいて非０変換係数有無フラグを復号し、該ループとは別のサブブロック内のループにおいて変換係数の符号を復号することを特徴とする請求項１に記載の算術復号装置。
【請求項６】
請求項１から５の何れか１項に記載の算術復号装置と、
上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、
上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、
を備えていることを特徴とする画像復号装置。
【請求項７】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、当該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
上記各サブブロック内の各変換係数が０であるか否かを表す非０変換係数有無フラグを符号化する非０変換係数有無フラグ符号化手段と、
上記各サブブロック内の各変換係数の大きさを符号化する係数値符号化手段と、
符号化済みの変換係数の値を参照することによってコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備えることを特徴とする算術符号化装置。
【請求項８】
符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、
請求項７に記載の算術符号化装置と、
を備えており、
上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、
ことを特徴とする画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、算術符号化された符号化データを復号する算術復号装置、および、そのような算術復号装置を備えている画像復号装置に関する。また、算術符号化された符号化データを生成する算術符号化装置、および、そのような算術符号化装置を備えている画像符号化装置に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置（画像符号化装置）、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置（画像復号装置）が用いられている。
【０００３】
具体的な動画像符号化方式としては、例えば、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣや、その後継コーデックであるＨＥＶＣ（High-Efficiency Video Coding）にて提案されている方式（非特許文献１）などが挙げられる。
【０００４】
このような動画像符号化方式においては、動画像を構成する画像（ピクチャ）は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化単位（コーディングユニット（Coding Unit）と呼ばれることもある）、及び、符号化単位を分割することより得られるブロックおよびパーティションからなる階層構造により管理され、普通、ブロックごとに符号化／復号される。
【０００５】
また、このような符号化方式においては、通常、入力画像を符号化及び復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分画像（「残差画像」または「予測残差」と呼ぶこともある）をブロック毎にＤＣＴ（Discrete Cosine Transform）変換等の周波数変換を施すことによって得られる変換係数が符号化される。
【０００６】
変換係数の具体的な符号化の方式としては、コンテキスト適応型２値算術符号化（CABAC：Context-based Adaptive Binary Arithmetic Coding）が知られている。
【０００７】
ＣＡＢＡＣでは、変換係数を表す各種のシンタックスに対して２値化処理が施され、この２値化処理によって得られた２値データが算術符号化される。ここで、上記各種のシンタックスとしては、変換係数が０であるか否かを示すフラグ、すなわち非０変換係数の有無を示すフラグsignificant_coeff_flag（変換係数有無フラグとも呼ぶ）、並びに、処理順で最後の非０変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yなどが挙げられる。
【０００８】
また、ＣＡＢＡＣでは、シンボル（２値データの１ビット、Ｂｉｎとも呼ぶ）を１つ符号化する際、処理対象の周波数成分に割り付けられたコンテキストインデックスが参照され、当該コンテキストインデックスによって指定されるコンテキスト変数に含まれる確率状態インデックスの指し示す発生確率に応じた算術符号化が行われる。また、確率状態インデックスによって指定される発生確率は、シンボルを１つ符号化する毎に更新される。
【０００９】
非特許分献１には、変換係数有無フラグを、当該周波数成分の周辺の周波数成分における非ゼロ係数の数に応じて定まるコンテキストインデックスを導出する方法が開示されている。
【００１０】
非特許文献２には、変換係数有無フラグとレベルの復号を統合する方法として、当該周波数成分の周辺の周波数成分におけるレベルの絶対値和を用いて、変換係数有無フラグのコンテキストインデックスとレベルの復号のコンテキストインデックスを求める方法が知られている。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】「High Efficiency Video Coding (HEVC) text specification draft 6 (JCTVC-H1003_dK)」, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: San Jose, US, 1-10 Feburary, 2012（２０１２年２月１７日公開）
【非特許文献２】「Non-CE11: Proposed Cleanup for Transform Coefficient Coding（JCTVC-H0228v1）」,  Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: San Jose, US, 1-10 Feburary, 2012（２０１２年１月２０日公開）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述の非特許文献１の技術では、変換係数有無フラグとレベルの復号とが統合されていないため、個別の実装が必要であり、実装規模が大きくなるという課題があった。
【００１３】
また、非特許文献２の技術では、変換係数有無フラグとレベルの復号とが統合されているが、高スループットおよびメモリサイズに課題が生じる。具体的には、非特許文献２の技術では、当該周波数成分の周辺の周波数成分におけるレベルの絶対値和を高スループットで求めるためには、レベルの絶対値を高速なメモリに配置する必要があり、このためレベルの絶対値をそのまま保持するには多くのメモリを要するという課題がある。また、その一方で、高速メモリに配置できない場合にはスループットが低下する。
【００１４】
さらには、非特許文献２の技術では、高周波数に位置する変換係数についても、周辺の周波数成分のレベルを参照する必要があるため、非特許文献１の技術のように高周波数に位置する変換係数を位置コンテキストで導出する場合に比べ、スループットが低下するという課題があった。
【００１５】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、従来の構成に比べて変換係数の符号化及び復号に係るメモリ量を削減すること、および、スループットを向上させることのできる算術復号装置及び算術符号化装置等を実現することにある。
【課題を解決するための手段】
【００１６】
上記の課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、当該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の各変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、上記各サブブロック内の各変換係数の大きさを復号する係数値復号手段と、復号済みの変換係数の値を参照することによってコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備えることを特徴とする。
【００１７】
上記構成によれば、サブブロックごとに、該サブブロック内の各変換係数の値を参照することによってコンテキストインデックスを導出する。
【００１８】
このように、コンテキストインデックスの導出に、サブブロック内の各変換係数の値を用いることにより、非０の変換係数の数を用いる場合に比べ、高い精度のコンテキスト分類が可能になり、変換係数の符号量が低減する効果を奏する。また、コンテキストインデックスの導出において、サブブロック内の各変換係数の値を用いるため、従来の構成に比べて変換係数の符号化及び復号に係るメモリ量を削減でき、スループットが向上するという効果を奏する。
【００１９】
その結果、従来の構成に比べて変換係数の符号化及び復号に係るメモリ量を削減すること、および、スループットを向上させることができるという効果を奏する。
【００２０】
また、本発明に係る算術復号装置では、上記コンテキストインデックス導出手段は、復号済みの変換係数の絶対値を所定の値でクリップした値の和を用いることによってコンテキストインデックスを導出することが好ましい。
【００２１】
以上の構成では、所定の値でクリップされた復号済みの変換係数の絶対値を用いるため、復号済みの変換係数の絶対値を格納するためのメモリサイズが低減できる効果を奏する。
【００２２】
また、本発明に係る算術復号装置では、サブブロック内で復号された非０変換係数の数をカウントするカウント手段を備え、上記コンテキストインデックス導出手段は、上記非０変換係数の数が所定の数以下の場合に、復号済みの変換係数の絶対値を用いてコンテキストインデックスを導出することが好ましい。
【００２３】
以上の構成では、復号済みの非０変換係数の数が所定の数以下に限り、復号済みの変換係数を用いてコンテキストインデックスを導出するため、コンテキストインデックスの導出に必要な処理量が低減しスループットが向上する効果を奏する。
【００２４】
また、本発明に係る算術復号装置では、サブブロック内で復号された非０変換係数の数をカウントするカウント手段を備え、上記コンテキストインデックス導出手段は、対象変換係数よりも所定数前の非０変換係数有無フラグを復号した時点での上記非０変換係数の数が所定の数以下の場合に、復号済みの変換係数の絶対値を用いてコンテキストインデックスを導出することが好ましい。
【００２５】
以上の構成では、コンテキストインデックスの導出に、対象変換係数の前の非０変換係数有無フラグの復号値に依存しないため、コンテキストインデックスのスループットが向上する効果を奏する。
【００２６】
なお、上記構成において、対象変換係数の前の前の非０変換係数有無フラグを復号した時点での上記非０変換係数の数が所定の数以下の場合に、復号済みの変換係数の絶対値を用いてコンテキストインデックスを導出しても構わない。
【００２７】
また、本発明に係る算術復号装置では、サブブロック内のループにおいて非０変換係数有無フラグを復号し、該ループとは別のサブブロック内のループにおいて変換係数の符号を復号することが好ましい。
【００２８】
以上の構成では、１つのサブブロック内において、個々の変換係数有無フラグと、変換係数の大きさを示すシンタックスを連続して配置した符号化データを復号することにより、変換係数有無フラグおよび変換係数の大きさを示すシンタックスのコンテキストインデックスを、既に復号した変換係数の値を用いて定めることができ、シンタックスの符号量が低減する効果を奏する。同時に、１つのサブブロック内の集合としてまとめられた変換係数の符号を連続してバイパスで復号することにより、一度に復号できる符号量が増加しスループットが向上する効果を奏する。
【００２９】
また、本発明に係る画像復号装置は、上記算術復号装置と、上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、を備えていることが望ましい。
【００３０】
このように構成した画像復号装置も本発明の範疇であり、この場合においても、上記算術復号装置と同様の作用・効果を得ることができる。
【００３１】
上記の課題を解決するために、本発明に係る算術符号化装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、当該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の各変換係数が０であるか否かを表す非０変換係数有無フラグを符号化する非０変換係数有無フラグ符号化手段と、上記各サブブロック内の各変換係数の大きさを符号化する係数値符号化手段と、符号化済みの変換係数の値を参照することによってコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備えることを特徴とする。
【００３２】
また、本発明に係る画像符号化装置は、符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、請求項７に記載の算術符号化装置と、備えており、上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、ことが望ましい。
【００３３】
このように構成した算術符号化装置、および画像符号化装置も本発明の範疇であり、この場合においても、上記算術復号装置と同様の作用・効果を得ることができる。
【発明の効果】
【００３４】
本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、当該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の各変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、上記各サブブロック内の各変換係数の大きさを復号する係数値復号手段と、復号済みの変換係数の値を参照することによってコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備える構成である。
【００３５】
本発明に係る算術符号化装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、当該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の各変換係数が０であるか否かを表す非０変換係数有無フラグを符号化する非０変換係数有無フラグ符号化手段と、上記各サブブロック内の各変換係数の大きさを符号化する係数値符号化手段と、符号化済みの変換係数の値を参照することによってコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備える構成である。
【００３６】
よって、従来の構成に比べて変換係数の符号化及び復号に係るメモリ量を削減すること、および、スループットを向上させることができるという効果を奏する。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施形態に係る動画像復号装置に含まれる係数レベル復号部の第１〜３の構成例を示すブロック図である。
【図２】本発明の実施形態に係る動画像符号化装置によって生成され、動画像復号装置によって復号される符号化データのデータ構成を示す図であり、（ａ）〜（ｄ）は、それぞれ、ピクチャレイヤ、スライスレイヤ、ツリーブロックレイヤ、およびＣＵレイヤを示す図である。
【図３】（ａ）〜（ｈ）は、ＰＵ分割タイプのパターンを示す図であり、それぞれ、ＰＵ分割タイプが、２Ｎ×Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、２Ｎ×Ｎ、２Ｎ×ｎＵ、および、２Ｎ×ｎＤの場合のパーティション形状について示している。（ｉ）〜（ｏ）は、正方形のノードを正方形または非正方形に４分木分割する分割方式について示す図であり。（ｉ）は、正方形の分割、（ｊ）は、横長の長方形の分割、（ｋ）は、縦長の長方形の分割、（ｌ）は、横長のノードの横長の分割、（ｍ）は、横長のノードの正方形の分割、（ｎ）は、縦長のノードの縦長の分割、および（ｏ）は、縦長のノードの正方形の分割を示している。
【図４】比較例に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。
【図５】比較例に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【図６】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。
【図７】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【図８】ブロックとサブブロックの関係を示す図である。（ａ）は、４×４ＴＵが４×４成分からなる１個のサブブロックから構成される例を示す。（ｂ）は、８×８ＴＵが４×４成分からなる４個のサブブロックから構成される例を示す。（ｃ）は、１６×１６ＴＵが４×４成分からなる１６個のサブブロックから構成される例を示す。
【図９】実施形態に係る復号処理及び符号化処理のスキャン順を説明するための図であって、（ａ）は、サブブロックスキャンが順スキャンである場合を示しており、（ｂ）は、サブブロック内スキャンが順スキャンである場合を示しており、（ｃ）は、サブブロックスキャンが逆スキャンである場合を示しており、（ｄ）は、サブブロック内スキャンが逆スキャンである場合を示している。
【図１０】実施形態における非０変換係数の復号処理を説明するための図であって、（ａ）は、ＴＵサイズが８×８であるブロックが４×４のサイズのサブブロックに分割された場合に、順スキャンにて各周波数成分がスキャンされる場合のスキャン順を示しており、（ｂ）は、ＴＵサイズが８×８の周波数成分よりなる周波数領域における０でない変換係数（非０変化係数）を例示しており、（ｃ）は、復号対象の変換係数が、（ｂ）に示すものである場合の各サブブロックについて復号されたサブブロック係数有無フラグsignificant_coeff_group_flagの各値を示しており、（ｄ）は、復号対象の変換係数が、図１０（ｂ）に示すものである場合の非０変換係数の有無を示すシンタックスsignificant_coeff_flagの各値を示しており、（ｅ）は、復号対象の変換係数が、（ｂ）に示すものである場合のシンタックスcoeff_abs_level_greater1_flag、及びcoeff_abs_level_remainingを復号することによって得られた各変換係数の絶対値を示しており、（ｆ）は、復号対象の変換係数が、（ｂ）に示すものである場合のシンタックスcoeff_sign_flagを示している。
【図１１】本実施形態の量子化残差情報ＱＤの構成例を示す図である。
【図１２】実施形態に係る動画像復号装置の構成を示すブロック図である。
【図１３】実施形態に係る動画像復号装置の備える可変長符号復号部の構成を示すブロック図である。
【図１４】実施形態に係る動画像復号装置において利用可能なイントラ予測の方向について示す図である。
【図１５】イントラ予測モードと、当該イントラ予測モードに対応付けられている名前とを示す図である。
【図１６】上記可変長符号復号部の備える量子化残差情報復号部の構成を示すブロック図である。
【図１７】イントラ予測モードインデックスIntraPredModeと、log2TrafoSize-2の各値とによって指定されるスキャンインデックスscanIdxの例を示す表である。
【図１８】スキャンインデックスを説明するための図であって、（ａ）は、スキャンインデックスscanIdxの各値によって指定されるスキャンタイプScanTypeを示しており、（ｂ）は、ＴＵサイズが４×４であるときの、水平方向優先スキャン（horizontal fast scan）を示し、（ｃ）は、ＴＵサイズが４×４であるときの、垂直方向優先スキャン（vertical fast scan）、及び、（ｄ）は、ＴＵサイズが４×４であるときの、斜め方向スキャン（Up-right diagonal scan）の各スキャンのスキャン順の一例を示している。なお、（ｂ）に示す水平方向優先スキャンは、サブブロックを上下半分に分割した小サブブロック単位に、水平方向へ斜め１列毎に係数をスキャンすることを特徴とし、（ｃ）に示す垂直方向優先スキャンは、サブブロックを左右半分に分割した小サブブロック単位に垂直方向へ斜め１列毎に係数をスキャンすることを特徴としている。
【図１９】ブロックおよびサブブロックのスキャン順について示す図である。（ａ）〜（ｃ）は、ＴＵサイズが８×８であり、かつ、サブブロックサイズが４×４であるとき、スキャンインデックスscanIdxで指定される各スキャンタイプのスキャン順の一例を示している。また、（ａ）〜（ｃ）に示す各例における矢印は、順スキャン方向を示している。なお、（ａ）に示す水平方向優先スキャンは、サブブロックを上下半分に分割した小サブブロック単位に、水平方向へ斜め１列毎に係数をスキャンすることを特徴とし、（ｂ）に示す垂直方向優先スキャンは、サブブロックを左右半分に分割した小サブブロック単位に垂直方向へ斜め１列毎に係数をスキャンすることを特徴としている。
【図２０】実施形態に係るサブブロック係数有無フラグ復号部の構成を示すブロック図である。
【図２１】実施形態に係るサブブロック係数レベル復号部による復号処理を説明するための図であって、（ａ）は、対象サブブロック（ｘＣＧ、ｙＣＧ）と、対象サブブロックの下側に隣接する隣接サブブロック（ｘＣＧ、ｙＣＧ＋１）とを示しており、（ｂ）は、対象サブブロック（ｘＣＧ、ｙＣＧ）と、対象サブブロックの右側に隣接する隣接サブブロック（ｘＣＧ＋１、ｙＣＧ）とを示しており、（ｃ）は、対象サブブロック（ｘＣＧ、ｙＣＧ）と、対象サブブロックの下側に隣接する隣接サブブロック（ｘＣＧ、ｙＣＧ＋１）と、対象サブブロックの右側に隣接する隣接サブブロック（ｘＣＧ＋１、ｙＣＧ）とを示している。
【図２２】実施形態に係るサブブロック係数有無フラグ符号化及び復号処理を説明するための図であって、（ａ）は、１６×１６ＴＵの周波数領域に存在する変換係数を示しており、（ｂ）は、各サブブロックに割り付けられたサブブロック係数有無フラグを示している。
【図２３】係数レベル復号部におけるコンテキスト導出処理を示す図である。（ａ）〜（ｃ）は、それぞれ、係数レベル復号部の第１〜３の構成例に対応している。
【図２４】実施形態に係る係数レベル復号部の備える係数有無フラグコンテキスト導出部によって、復号処理が逆スキャン順に行われる場合に参照される参照周波数成分を説明するための図であって、（ａ）は、周波数成分上の位置と選択するテンプレートの関係を示しており、（ｂ）は、参照周波数成分ｃ１、ｃ２、ｃ３、ｃ４、ｃ５を対象周波数成分ｘとの相対位置を示しており、（ｃ）は、参照周波数成分ｃ１、ｃ２、ｃ４、ｃ５と対象周波数成分ｘとの相対位置を示しており、（ｄ）は、参照周波数成分ｃ１、ｃ２、ｃ４、ｃ５と対象周波数成分ｘとの相対位置を示しおり、（ｅ）は、４×４サブブロックにおける斜め方向スキャンのスキャン順（逆スキャン順）を表わしている。
【図２５】実施形態に係る変換係数復号部による変換係数復号処理の流れを示すフローチャートである。
【図２６】実施形態に係る変換係数復号部によるサブブロック係数有無フラグを復号する処理の流れを示すフローチャートである。
【図２７】実施形態に係る係数レベル復号部の第１の構成例の動作を示すフローチャートである。
【図２８】サブブロック内の各非ゼロ変換係数の符号を復号する処理（図２５のステップＳ２６）をより具体的に説明するためのフローチャートである。
【図２９】実施形態に係る係数レベル復号部におけるサブブロック内の各非ゼロ変換係数の符号を復号する処理（図２７のステップＳ２５０７）をより具体的に説明するためのフローチャートである。
【図３０】実施形態に係る動画像符号化装置の構成を示すブロック図である。
【図３１】実施形態に係る動画像符号化装置の備える可変長符号符号化部の構成を示すブロック図である。
【図３２】本発明の実施形態に係る動画像符号化装置の備える量子化残差情報符号化部の構成を示すブロック図である。
【図３３】実施形態に係る係数レベル符号化部の第１の構成例を示すブロック図である。
【図３４】実施形態に係るサブブロック係数レベル符号化部の構成を示すブロック図である。
【図３５】上記動画像符号化装置を搭載した送信装置、および、上記動画像復号装置を搭載した受信装置の構成について示した図である。（ａ）は、動画像符号化装置を搭載した送信装置を示しており、（ｂ）は、動画像復号装置を搭載した受信装置を示している。
【図３６】上記動画像符号化装置を搭載した記録装置、および、上記動画像復号装置を搭載した再生装置の構成について示した図である。（ａ）は、動画像符号化装置を搭載した記録装置を示しており、（ｂ）は、動画像復号装置を搭載した再生装置を示している。
【発明を実施するための形態】
【００３８】
本発明に係る復号装置および符号化装置の実施形態について図面に基づいて説明すれば以下のとおりである。なお、本実施形態に係る復号装置は、符号化データから動画像を復号するものである。したがって、以下では、これを「動画像復号装置」と呼称する。また、本実施形態に係る符号化装置は、動画像を符号化することによって符号化データを生成するものである。したがって、以下では、これを「動画像符号化装置」と呼称する。
【００３９】
ただし、本発明の適用範囲はこれに限定されるものではない。すなわち、以下の説明からも明らかなように、本発明の特徴は複数のフレームを前提としなくとも成立するものである。すなわち、動画像を対象とするか静止画像を対象とするかを問わず、復号装置一般および符号化装置一般に適用できるものである。
〔符号化データ＃１の構成〕
図２を用いて、動画像符号化装置２によって生成され、動画像復号装置１によって復号される符号化データ＃１の構成例について説明する。符号化データ＃１は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
【００４０】
シーケンスレイヤでは、処理対象のシーケンスを復号するために、動画像復号装置１が参照するデータの集合が規定されている。シーケンスレイヤにはシーケンスパラメータセットＳＰＳ、ピクチャパラメータセットＰＰＳ、ピクチャＰＩＣＴを含んでいる。
【００４１】
符号化データ＃１におけるピクチャレイヤ以下の階層の構造を図２に示す。図２の（ａ）〜（ｄ）は、それぞれ、ピクチャＰＩＣＴを規定するピクチャレイヤ、スライスＳを規定するスライスレイヤ、ツリーブロック（Tree block）ＴＢＬＫを規定するツリーブロックレイヤ、ツリーブロックＴＢＬＫに含まれる符号化単位（Coding Unit；ＣＵ）を規定するＣＵレイヤを示す図である。
【００４２】
（ピクチャレイヤ）
ピクチャレイヤでは、処理対象のピクチャＰＩＣＴ（以下、対象ピクチャとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。ピクチャＰＩＣＴは、図２の（ａ）に示すように、ピクチャヘッダＰＨ、及び、スライスＳ1〜ＳNSを含んでいる（ＮＳはピクチャＰＩＣＴに含まれるスライスの総数）。
【００４３】
なお、以下、スライスＳ1〜ＳNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ＃１に含まれるデータであって、添え字を付している他のデータについても同様である。
【００４４】
ピクチャヘッダＰＨには、対象ピクチャの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれている。
【００４５】
（スライスレイヤ）
スライスレイヤでは、処理対象のスライスＳ（対象スライスとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。スライスＳは、図２の（ｂ）に示すように、スライスヘッダＳＨ、及び、ツリーブロックＴＢＬＫ1〜ＴＢＬＫNC（ＮＣはスライスＳに含まれるツリーブロックの総数）を含んでいる。
【００４６】
スライスヘッダＳＨには、対象スライスの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報（slice_type）は、スライスヘッダＳＨに含まれる符号化パラメータの一例である。
【００４７】
スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単予測、又は、イントラ予測を用いるＰスライス、（３）符号化の際に単予測、双予測、又は、イントラ予測を用いるＢスライスなどが挙げられる。
【００４８】
また、スライスヘッダＳＨには、動画像復号装置１の備えるループフィルタによって参照されるフィルタパラメータＦＰが含まれている。フィルタパラメータＦＰは、フィルタ係数群を含んでいる。フィルタ係数群には、（１）フィルタのタップ数を指定するタップ数指定情報、（２）フィルタ係数a0〜aNT-1（NTは、フィルタ係数群に含まれるフィルタ係数の総数）、および、（３）オフセットが含まれる。
【００４９】
（ツリーブロックレイヤ）
ツリーブロックレイヤでは、処理対象のツリーブロックＴＢＬＫ（以下、対象ツリーブロックとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。
【００５０】
ツリーブロックＴＢＬＫは、ツリーブロックヘッダＴＢＬＫＨと、符号化単位情報ＣＵ１〜ＣＵＮＬ（ＮＬはツリーブロックＴＢＬＫに含まれる符号化単位情報の総数）とを含む。ここで、まず、ツリーブロックＴＢＬＫと、符号化単位情報ＣＵとの関係について説明すると次のとおりである。
【００５１】
ツリーブロックＴＢＬＫは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのユニットに分割される。
【００５２】
ツリーブロックＴＢＬＫの上記ユニットは、再帰的な４分木分割により分割されている。この再帰的な４分木分割により得られる木構造のことを以下、符号化ツリー（coding tree）と称する。
【００５３】
以下、符号化ツリーの末端のノードであるリーフ（leaf）に対応するユニットを、符号化ノード（coding node）として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位（ＣＵ）とも称する。
【００５４】
つまり、符号化単位情報ＣＵ１〜ＣＵＮＬは、ツリーブロックＴＢＬＫを再帰的に４分木分割して得られる各符号化ノード（符号化単位）に対応する情報である。
【００５５】
また、符号化ツリーのルート（root）は、ツリーブロックＴＢＬＫに対応付けられる。換言すれば、ツリーブロックＴＢＬＫは、複数の符号化ノードを再帰的に含む４分木分割の木構造の最上位ノードに対応付けられる。
【００５６】
なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード（すなわち、当該符号化ノードの１階層上位のノードのユニット）のサイズの縦横とも半分である。
【００５７】
また、各符号化ノードの取り得るサイズは、符号化データ＃１のシーケンスパラメータセットＳＰＳに含まれる、符号化ノードのサイズ指定情報および最大階層深度（maximum hierarchical depth）に依存する。例えば、ツリーブロックＴＢＬＫのサイズが６４×６４画素であって、最大階層深度が３である場合には、当該ツリーブロックＴＢＬＫ以下の階層における符号化ノードは、４種類のサイズ、すなわち、６４×６４画素、３２×３２画素、１６×１６画素、および８×８画素の何れかを取り得る。
【００５８】
（ツリーブロックヘッダ）
ツリーブロックヘッダＴＢＬＫＨには、対象ツリーブロックの復号方法を決定するために動画像復号装置１が参照する符号化パラメータが含まれる。具体的には、図２の（ｃ）に示すように、対象ツリーブロックの各ＣＵへの分割パターンを指定するツリーブロック分割情報ＳＰ＿ＴＢＬＫ、および、量子化ステップの大きさを指定する量子化パラメータ差分Δｑｐ（qp_delta）が含まれる。
【００５９】
ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各ＣＵの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
【００６０】
なお、ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ＣＵの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報ＳＰ＿ＴＢＬＫは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各ＣＵの形状やサイズを特定できる。
【００６１】
また、量子化パラメータ差分Δｑｐは、対象ツリーブロックにおける量子化パラメータｑｐと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータｑｐ’との差分ｑｐ−ｑｐ’である。
【００６２】
（ＣＵレイヤ）
ＣＵレイヤでは、処理対象のＣＵ（以下、対象ＣＵとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。
【００６３】
ここで、符号化単位情報ＣＵに含まれるデータの具体的な内容の説明をする前に、ＣＵに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー（prediction tree；ＰＴ）および変換ツリー（transform tree；ＴＴ）のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
【００６４】
予測ツリーにおいては、符号化ノードが１または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する１または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた１または複数の予測ブロックを含む。
【００６５】
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位（prediction unit；ＰＵ）とも称する。
【００６６】
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との２つがある。
【００６７】
イントラ予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）と、Ｎ×Ｎとがある。
【００６８】
また、インター予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）、２Ｎ×Ｎ、Ｎ×２Ｎ、および、Ｎ×Ｎなどがある。
【００６９】
また、変換ツリーにおいては、符号化ノードが１または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する１または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた１または複数の変換ブロックを含む。
【００７０】
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位（transform unit；ＴＵ）とも称する。ＴＵのサイズは、変換ブロックの横幅と対数log2TrafoWidthと縦幅の対数値log2TrafoHeightで表される。ＴＵのサイズはまた、以下の式で得られる値log2TrafoSizeでも表される。
【００７１】
log2TrafoSize = ( log2TrafoWidth  +  log2TrafoHeight )  >>  1
以下、横幅Ｗ×縦幅Ｈのサイズを有するＴＵをＷ×ＨＴＵと呼ぶ（例：４×４ＴＵ）。
【００７２】
（符号化単位情報のデータ構造）
続いて、図２の（ｄ）を参照しながら符号化単位情報ＣＵに含まれるデータの具体的な内容について説明する。図２の（ｄ）に示すように、符号化単位情報ＣＵは、具体的には、スキップモードフラグＳＫＩＰ、ＣＵ予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅ、ＰＴ情報ＰＴＩ、および、ＴＴ情報ＴＴＩを含む。
【００７３】
［スキップフラグ］
スキップフラグＳＫＩＰは、対象ＣＵについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグＳＫＩＰの値が１の場合、すなわち、対象ＣＵにスキップモードが適用されている場合、その符号化単位情報ＣＵにおけるＰＴ情報ＰＴＩは省略される。なお、スキップフラグＳＫＩＰは、Ｉスライスでは省略される。
【００７４】
［ＣＵ予測タイプ情報］
ＣＵ予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅは、ＣＵ予測方式情報ＰｒｅｄＭｏｄｅおよびＰＵ分割タイプ情報ＰａｒｔＭｏｄｅを含む。ＣＵ予測タイプ情報のことを単に予測タイプ情報と呼ぶこともある。
【００７５】
ＣＵ予測方式情報ＰｒｅｄＭｏｄｅは、対象ＣＵに含まれる各ＰＵについての予測画像生成方法として、イントラ予測（イントラＣＵ）、および、インター予測（インターＣＵ）のいずれを用いるのかを指定するものである。なお、以下では、対象ＣＵにおける、スキップ、イントラ予測、および、インター予測の種別を、ＣＵ予測モードと称する。
【００７６】
ＰＵ分割タイプ情報ＰａｒｔＭｏｄｅは、対象符号化単位（ＣＵ）の各ＰＵへの分割のパターンであるＰＵ分割タイプを指定するものである。以下、このように、ＰＵ分割タイプに従って、対象符号化単位（ＣＵ）を各ＰＵへ分割することをＰＵ分割と称する。
【００７７】
ＰＵ分割タイプ情報ＰａｒｔＭｏｄｅは、例示的には、ＰＵ分割パターンの種類を示すインデックスであってもよいし、対象予測ツリーに含まれる各ＰＵの形状、サイズ、および、対象予測ツリー内での位置が指定されていてもよい。
【００７８】
なお、選択可能なＰＵ分割タイプは、ＣＵ予測方式とＣＵサイズに応じて異なる。また、さらにいえば、選択可能なＰＵ分割タイプは、インター予測およびイントラ予測それぞれの場合において異なる。また、ＰＵ分割タイプの詳細については後述する。
【００７９】
［ＰＴ情報］
ＰＴ情報ＰＴＩは、対象ＣＵに含まれるＰＴに関する情報である。言い換えれば、ＰＴ情報ＰＴＩは、ＰＴに含まれる１または複数のＰＵそれぞれに関する情報の集合である。上述のとおり予測画像の生成は、ＰＵを単位として行われるので、ＰＴ情報ＰＴＩは、動画像復号装置１によって予測画像が生成される際に参照される。ＰＴ情報ＰＴＩは、図２の（ｄ）に示すように、各ＰＵにおける予測情報等を含むＰＵ情報ＰＵＩ１〜ＰＵＩＮＰ（ＮＰは、対象ＰＴに含まれるＰＵの総数）を含む。
【００８０】
予測情報ＰＵＩは、予測タイプ情報Ｐｒｅｄ＿ｍｏｄｅが何れの予測方法を指定するのかに応じて、イントラ予測パラメータＰＰ＿Ｉｎｔｒａ、または、インター予測パラメータＰＰ＿Ｉｎｔｅｒを含む。以下では、イントラ予測が適用されるＰＵをイントラＰＵとも呼称し、インター予測が適用されるＰＵをインターＰＵとも呼称する。
【００８１】
インター予測パラメータＰＰ＿Ｉｎｔｅｒは、動画像復号装置１が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータを含む。
【００８２】
インター予測パラメータＰＰ＿Ｉｎｔｅｒとしては、例えば、マージフラグ（ｍｅｒｇｅ＿ｆｌａｇ）、マージインデックス（ｍｅｒｇｅ＿ｉｄｘ）、推定動きベクトルインデックス（ｍｖｐ＿ｉｄｘ）、参照画像インデックス（ｒｅｆ＿ｉｄｘ）、インター予測フラグ（ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ）、および動きベクトル残差（ｍｖｄ）が挙げられる。
【００８３】
イントラ予測パラメータＰＰ＿Ｉｎｔｒａは、動画像復号装置１が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータを含む。
【００８４】
イントラ予測パラメータＰＰ＿Ｉｎｔｒａとしては、例えば、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスが挙げられる。
【００８５】
なお、イントラ予測パラメータには、ＰＣＭモードを用いるか否かを示すＰＣＭモードフラグが含まれていてもよい。ＰＣＭモードフラグが符号化されている場合であって、ＰＣＭモードフラグがＰＣＭモードを用いることを示しているときには、予測処理（イントラ）、変換処理、および、エントロピー符号化の各処理が省略される。
【００８６】
［ＴＴ情報］
ＴＴ情報ＴＴＩは、ＣＵに含まれるＴＴに関する情報である。言い換えれば、ＴＴ情報ＴＴＩは、ＴＴに含まれる１または複数のＴＵそれぞれに関する情報の集合であり、動画像復号装置１により残差データを復号する際に参照される。なお、以下、ＴＵのことをブロックと称することもある。
【００８７】
ＴＴ情報ＴＴＩは、図２の（ｄ）に示すように、対象ＣＵの各変換ブロックへの分割パターンを指定するＴＴ分割情報ＳＰ＿ＴＵ、および、ＴＵ情報ＴＵＩ1〜ＴＵＩNT（ＮＴは、対象ＣＵに含まれるブロックの総数）を含んでいる。
【００８８】
ＴＴ分割情報ＳＰ＿ＴＵは、具体的には、対象ＣＵに含まれる各ＴＵの形状、サイズ、および、対象ＣＵ内での位置を決定するための情報である。例えば、ＴＴ分割情報ＳＰ＿ＴＵは、対象となるノードの分割を行うのか否かを示す情報（split_transform_flag）と、その分割の深度を示す情報（trafoDepth）とから実現することができる。
【００８９】
また、例えば、ＣＵのサイズが、６４×６４の場合、分割により得られる各ＴＵは、３２×３２画素から４×４画素までのサイズを取り得る。
【００９０】
ＴＵ情報ＴＵＩ1〜ＴＵＩNTは、ＴＴに含まれる１または複数のＴＵそれぞれに関する個別の情報である。例えば、ＴＵ情報ＴＵＩは、量子化予測残差（量子化残差とも呼ぶ）を含んでいる（以下、この量子化予測残差に関する情報のことを量子化残差情報ＱＤで参照する）。
【００９１】
各量子化予測残差は、動画像符号化装置２が以下の処理１〜３を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
【００９２】
処理１：符号化対象画像から予測画像を減算した予測残差を周波数変換（例えばＤＣＴ変換（Discrete Cosine Transform））する；
処理２：処理１にて得られた変換係数を量子化する；
処理３：処理２にて量子化された変換係数を可変長符号化する；
なお、上述した量子化パラメータｑｐは、動画像符号化装置２が変換係数を量子化する際に用いた量子化ステップＱＰの大きさを表す（ＱＰ＝２qp/6）。
【００９３】
（ＰＵ分割タイプ）
ＰＵ分割タイプには、対象ＣＵのサイズを２Ｎ×２Ｎ画素とすると、次の合計８種類のパターンがある。すなわち、２Ｎ×２Ｎ画素、２Ｎ×Ｎ画素、Ｎ×２Ｎ画素、およびＮ×Ｎ画素の４つの対称的分割（symmetric splittings）、並びに、２Ｎ×ｎＵ画素、２Ｎ×ｎＤ画素、ｎＬ×２Ｎ画素、およびｎＲ×２Ｎ画素の４つの非対称的分割（asymmetric splittings）である。なお、Ｎ＝２ｍ（ｍは１以上の任意の整数）を意味している。以下、対称ＣＵを分割して得られる領域のことをパーティションとも称する。
【００９４】
図３の（ａ）〜（ｈ）に、それぞれの分割タイプについて、ＣＵにおけるＰＵ分割の境界の位置を具体的に図示している。
【００９５】
図３の（ａ）は、ＣＵの分割を行わない２Ｎ×２ＮのＰＵ分割タイプを示している。また、図３の（ｂ）、（ｃ）、および（ｄ）は、それぞれ、ＰＵ分割タイプが、２Ｎ×Ｎ、２Ｎ×ｎＵ、および、２Ｎ×ｎＤである場合のパーティションの形状について示している。また、図３の（ｅ）、（ｆ）、および（ｇ）は、それぞれ、ＰＵ分割タイプが、Ｎ×２Ｎ、ｎＬ×２Ｎ、および、ｎＲ×２Ｎである場合のパーティションの形状について示している。また、図３の（ｈ）は、ＰＵ分割タイプが、Ｎ×Ｎである場合のパーティションの形状を示している。
【００９６】
図３の（ａ）および（ｈ）のＰＵ分割タイプのことを、そのパーティションの形状に基づいて、正方形分割とも称する。また、図３の（ｂ）〜（ｇ）のＰＵ分割タイプのことは、非正方形分割とも称する。
【００９７】
また、図３の（ａ）〜（ｈ）において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。
【００９８】
［インター予測の場合の分割タイプ］
インターＰＵでは、上記８種類の分割タイプのうち、Ｎ×Ｎ（図３の（ｈ））以外の７種類が定義されている。なお、上記６つの非対称的分割は、ＡＭＰ（Asymmetric Motion Partition）と呼ばれることもある。
【００９９】
また、Ｎの具体的な値は、当該ＰＵが属するＣＵのサイズによって規定され、ｎＵ、ｎＤ、ｎＬ、および、ｎＲの具体的な値は、Ｎの値に応じて定められる。例えば、１２８×１２８画素のインターＣＵは、１２８×１２８画素、１２８×６４画素、６４×１２８画素、６４×６４画素、１２８×３２画素、１２８×９６画素、３２×１２８画素、および、９６×１２８画素のインターＰＵへ分割することが可能である。
【０１００】
［イントラ予測の場合の分割タイプ］
イントラＰＵでは、次の２種類の分割パターンが定義されている。対象ＣＵを分割しない、すなわち対象ＣＵ自身が１つのＰＵとして取り扱われる分割パターン２Ｎ×２Ｎと、対象ＣＵを、４つのＰＵへと対称的に分割するパターンＮ×Ｎと、である。
【０１０１】
したがって、イントラＰＵでは、図３に示した例でいえば、（ａ）および（ｈ）の分割パターンを取ることができる。
【０１０２】
例えば、１２８×１２８画素のイントラＣＵは、１２８×１２８画素、および、６４×６４画素のイントラＰＵへ分割することが可能である。
【０１０３】
（ＴＵ分割タイプ）
次に、図３（ｉ）〜（ｏ）を用いて、ＴＵ分割タイプについて説明する。ＴＵ分割のパターンは、ＣＵのサイズ、分割の深度（trafoDepth）、および対象ＰＵのＰＵ分割タイプにより定まる。
【０１０４】
また、ＴＵ分割のパターンには、正方形の４分木分割と、非正方形の４分木分割とが含まれる。
【０１０５】
図３の（ｉ）〜（ｋ）は、正方形のノードを正方形または非正方形に４分木分割する分割方式について示している。より具体的には、図３の（ｉ）は、正方形のノードを正方形に４分木分割する分割方式を示している。また、同図の（ｊ）は、正方形のノードを横長の長方形に４分木分割する分割方式を示している。そして、同図の（ｋ）は、正方形のノードを縦長の長方形に４分木分割する分割方式を示している。
【０１０６】
また、図３の（ｌ）〜（ｏ）は、非正方形のノードを正方形または非正方形に４分木分割する分割方式について示している。より具体的には、図３の（ｌ）は、横長の長方形のノードを横長の長方形に４分木分割する分割方式を示している。また、同図の（ｍ）は、横長の長方形のノードを正方形に４分木分割する分割方式を示している。また、同図の（ｎ）は、縦長の長方形のノードを縦長の長方形に４分木分割する分割方式を示している。そして、同図の（ｏ）は、縦長の長方形のノードを正方形に４分木分割する分割方式を示している。
【０１０７】
（量子化残差情報ＱＤの構成の比較例）
図４及び図５は、比較例における量子化残差情報ＱＤ（図４および図５ではresidual_coding_cabac()と表記）に含まれる各シンタックスが示されている。
【０１０８】
図４は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。図５は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【０１０９】
比較例においては、非０の変換係数の有無を示すシンタックスsignificant_coeff_flagと、変換係数の大きさを示すシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_abs_level_remaining（coeff_abs_level_minus3）、変換係数の符号を示すシンタックスcoeff_sign_flagを一つのサブブロック内のループで連続して復号することに特徴がある（図４および図５に示す網掛け部分）。また、significant_coeff_flagの復号に用いるコンテキストインデックスを、既に復号した変換係数の絶対値の和を用いて導出することに特徴がある。
【０１１０】
（量子化残差情報ＱＤの構成）
図６及び図７は、量子化残差情報ＱＤ（図６および図７ではresidual_coding()と表記）に含まれる各シンタックスを示す図である。
【０１１１】
図６は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。図７は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【０１１２】
図６及び図７に示すように、量子化残差情報ＱＤは、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_group_flag、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_sign_flag、coeff_abs_level_remainingを含んでいる。
【０１１３】
量子化残差情報ＱＤに含まれる各シンタックスは、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ）によって符号化されている。
【０１１４】
変換係数は、低周波数側から高周波数側に向かって順次スキャンが行われる。このスキャン順を、順スキャンと呼ぶこともある。一方で、順スキャンとは逆に高周波数側から低周波数側のスキャンも用いられる。このスキャン順を、逆スキャンと呼ぶこともある。
【０１１５】
シンタックスlast_significant_coeff_x及びlast_significant_coeff_yは、順スキャン方向に沿って最後の非０変換係数の位置を示すシンタックスである。
【０１１６】
シンタックスsignificant_coeff_flagは、非０変換係数を起点として逆スキャン方向に沿った各周波数成分について、非０変換係数の有無を示すシンタックスである。シンタックスsignificant_coeff_flagは、各ｘＣ、ｙＣについて、変換係数が０であれば０、変換係数が０でなければ１をとるフラグである。なお、シンタックスsignificant_coeff_flagを変換係数有無フラグ、または係数有無フラグとも呼称する。なお、significant_coeff_flagを独立のシンタックスとして扱わず、変換係数の絶対値を表すシンタックス（例えばcoeff_abs_level）に含まれるとしても良い。この場合、シンタックスcoeff_abs_levelの１ビット目がsignificant_coeff_flagに相当し、以下のsignificant_coeff_flagのコンテキストインテックスを導出する処理は、シンタックスcoeff_abs_levelの１ビット目のコンテキストインデックスを導出する処理に相当する。
【０１１７】
動画像復号装置１の備える可変長符号復号部１１は、変換ブロックを複数のサブブロックに分割し、サブブロックを処理単位として、significant_coeff_group_flagの復号を行う。量子化残差情報ＱＤには、サブブロック単位で、サブブロック内に少なくとも１つの非０変換係数が存在するか否かを示すフラグ（サブブロック係数有無フラグsignificant_coeff_group_flag）が含まれる。
【０１１８】
以下では、復号処理について、図８〜図１０を参照して説明する。
【０１１９】
図８は、ブロックとサブブロックの関係を示す図である。図８（ａ）は、４×４ＴＵが４×４成分からなる１個のサブブロックから構成される例を示す。図８（ｂ）は、８×８ＴＵが４×４成分からなる４個のサブブロックから構成される例を示す。図８（ｃ）は、１６×１６ＴＵが４×４成分からなる１６個のサブブロックから構成される例を示す。なお、ＴＵサイズとサブブロックサイズの関係および分割方法はこの例に限らない。
【０１２０】
図９（ａ）は、ブロックを分割して得られる複数の（図９（ａ）では４×４＝１６個の）サブブロックに対するスキャン順を示す図である。以下では、サブブロックを単位とするスキャンをサブブロックスキャンとも呼ぶ。サブブロックに対して図９（ａ）のようにスキャンが行われる場合、サブブロック内の各周波数領域に対して図９（ｂ）に示すスキャン順でスキャンが行われる。図９（ａ）及び図９（ｂ）に示すスキャン順を「順スキャン」とも呼ぶ。
【０１２１】
図９（ｃ）は、ブロックを分割して得られる複数の（図９（ｂ）では４×４＝１６個の）サブブロックに対するスキャン順を示す図である。サブブロックに対して図９（ｃ）のようにスキャンが行われる場合、サブブロック内の各周波数領域に対して図９（ｄ）に示すスキャン順でスキャンが行われる。図９（ｃ）及び図９（ｄ）に示すスキャン順を「逆スキャン」とも呼ぶ。
【０１２２】
図１０（ａ）〜（ｆ）の横軸は、水平方向周波数ｘＣ（０≦ｘＣ≦７）を表しており、縦軸は、垂直方向周波数ｙＣ（０≦ｙＣ≦７）を表している。以下の説明では、周波数領域に含まれる各部分領域のうち、水平方向周波数ｘＣ、および、垂直方向周波数ｙＣによって指定される部分領域を、周波数成分（ｘＣ、ｙＣ）とも呼称する。また、周波数成分（ｘＣ、ｙＣ）についての変換係数をＣｏｅｆｆ（ｘＣ、ｙＣ）とも表記する。変換係数Ｃｏｅｆｆ（０、０）は、ＤＣ成分を示しており、それ以外の変換係数は、ＤＣ成分以外の成分を表している。本明細書において、（ｘＣ、ｙＣ）を（ｕ、ｖ）と表記することもある。
【０１２３】
図１０（ａ）は、ＴＵサイズが８×８であるブロックが４×４のサイズのサブブロックに分割された場合に、順スキャンにて各周波数成分がスキャンされる場合のスキャン順を示す図である。
【０１２４】
図１０（ｂ）は、８×８の周波数成分からなる周波数領域における０でない変換係数（非０変換係数）を例示する図である。図１０（ｂ）に示す例の場合、last_significant_coeff_x＝６、last_significant_coeff_y＝０である。
【０１２５】
図１０（ｃ）は、復号対象の変換係数が、図１０（ｂ）に示すものである場合の各サブブロックについて復号されたサブブロック係数有無フラグsignificant_coeff_group_flagの各値を示す図である。少なくとも１つの非０変換係数を含むサブブロックに関するsignificant_coeff_group_flagは、値として１をとり、非０変換係数を１つも含まないサブブロックに関するsignificant_coeff_group_flagは、値として０をとる。
【０１２６】
図１０（ｄ）は、復号対象の変換係数が、図１０（ｂ）に示すものである場合の非０変換係数の有無を示すシンタックスsignificant_coeff_flagの各値を示す図である。significant_coeff_group_flag＝１であるサブブロックに対しては、significant_coeff_flagは逆スキャン順に復号され、significant_coeff_group_flag＝０であるサブブロックに対しては、当該サブブロックに対するsignificant_coeff_flagの復号処理を行うことなく、当該サブブロックに含まれる全ての周波数成分に対するsignificant_coeff_flagが０に設定される（図１０（ｄ）の左下のサブブロック）。
【０１２７】
図１０（ｅ）は、復号対象の変換係数が、図１０（ｂ）に示すものである場合のシンタックスcoeff_abs_level_greater1_flag、及びcoeff_abs_level_remainingを復号することによって得られた各変換係数の絶対値を示している。
【０１２８】
図１０（ｆ）は、復号対象の変換係数が、図１０（ｂ）に示すものである場合のシンタックスcoeff_sign_flagを示す図である。
【０１２９】
各変換係数の値を示すシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_remainingの復号は、モード（ハイスループットモード）により変化する。サブブロックの開始時には、ハイスループットモードがオフであり、サブブロック内の非０係数の数numSigCoeffが所定の定数以上となった時点で、ハイスループットモードがオンとなる。ハイスループットモードでは、一部のシンタックスの復号をスキップする。
【０１３０】
シンタックスcoeff_abs_level_greater1_flagは、変換係数の絶対値が１を越えるものであるのか否かを示すフラグであり、シンタックスsignificant_coeff_flagの値が１である周波数成分について符号化される。変換係数の絶対値が１を越えるものであるとき、coeff_abs_level_greater1_flagの値は１であり、そうでないときにcoeff_abs_level_greater1_flagの値は０である。なお、coeff_abs_level_greater1_flagの復号は、ハイスループットモードの場合にはスキップされる。
【０１３１】
シンタックスcoeff_abs_level_remainingは、変換係数の絶対値が所定のベースレベルbaseLevelである場合に、当該変換係数の絶対値を指定するためのシンタックスであり、coeff_abs_level_greater1_flagの復号がスキップされる場合、及び、coeff_abs_level_greater1_flagが１の場合に符号化される。シンタックスcoeff_abs_level_remainingの値は、変換係数の絶対値からbaseLevelを引いたものである。例えば、coeff_abs_level_remaining＝１は、変換係数の絶対値がbaseLevel＋１であることを示している。なお、baseLevelは以下のように定まる。
【０１３２】
baseLevel  ＝  １  （coeff_abs_level_greater1_flagの復号がスキップされた場合）
baseLevel  ＝  ２  （上記以外でcoeff_abs_level_greater1_flagが１の場合）
シンタックスcoeff_sign_flagは、変換係数の符号（正であるのか負であるのか）を示すフラグであり、サインハイディングが行われる場合を除き、シンタックスsignificant_coeff_flagの値が１である周波数成分について符号化される。シンタックスcoeff_sign_flagは、変換係数が正である場合に１をとり、変換係数が負である場合に０をとる。
【０１３３】
なお、サインハイディングとは、変換係数の符号を明示的に符号化せず、計算により算出する方法を言う。
【０１３４】
動画像復号装置１の備える可変長符号復号部１１は、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_remaining、coeff_sign_flagを復号することにより、各周波数成分についての変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）を生成することができる。ここで、coeff_abs_level_remainingとcoeff_sign_flagは、コンテキストを用いないバイパスと呼ばれる算術符号により符号化されるシンタックスである。
【０１３５】
図１１は、本実施形態の量子化残差情報ＱＤの構成例を示す図である。図１１に示すように、本実施形態の量子化残差情報ＱＤは、例示的に、ＴＵ単位（transform_unit）単位で生成される、階層構造を有する情報として定義される。
【０１３６】
図１１に示すように、本実施形態の量子化残差情報ＱＤの構成は、ＴＵに含まれる変換係数のラスト位置を示すシンタックスlast_coefficient_pos（last_coefficient_pos_x，last_coefficient_pos_y）とサブブロック単位の符号化データのsubblockとから構成される。
【０１３７】
サブブロック単位の符号化データsubblockは、変換係数の値を示す符号化データcoeff_levelの集合（coeff_level#M-1…coeff_level#0）と、変換係数の符号を示すシンタックスcoeff_signの集合（coeff_sign#M-1…coeff_sign#0）とから構成される。
【０１３８】
変換係数の値を示す符号化データcoeff_levelは、変換係数有無フラグsignificant_coeff_flagと、変換係数の値を示すシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_remainingとから構成される。
【０１３９】
本実施形態の符号化データは、変換係数有無フラグと、変換係数の大きさを示すシンタックスとをサブブロック単位の集合（coeff_level#M-1…coeff_level#0）として配置し、さらに、変換係数の符号をサブブロック単位の集合（coeff_sign#M-1…coeff_sign#0）として、先の集合の後に配置することに特徴がある。本構成は、図４、図５に示す比較例の構成とは異なり、変換係数の符号を、変換係数有無フラグと、変換係数の大きさを示すシンタックスとは別の集合として配置する。本構成の符号化データの復号の流れは図２５を用いて後述する。
【０１４０】
なお、特定の領域（例えばＴＵ）内の非０変換係数の集合をsignificance mapと呼ぶこともある。
【０１４１】
各種シンタックスの復号処理の詳細については、後述することとし、続いて動画像復号装置１の構成について説明を行う。
〔動画像復号装置１〕
以下では、本実施形態に係る動画像復号装置１について図１６、図１２〜図２９を参照して説明する。動画像復号装置１は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格の後継コーデックであるＨＥＶＣ（High-Efficiency Video Coding）にて提案されている技術を実装している復号装置である。
【０１４２】
図１２は、動画像復号装置１の構成を示すブロック図である。図１２に示すように、動画像復号装置１は、可変長符号復号部１１、予測画像生成部１２、逆量子化・逆変換部１３、加算器１４、フレームメモリ１５、および、ループフィルタ１６を備えている。また、図１２に示すように、予測画像生成部１２は、動きベクトル復元部１２ａ、インター予測画像生成部１２ｂ、イントラ予測画像生成部１２ｃ、および、予測方式決定部１２ｄを備えている。動画像復号装置１は、符号化データ＃１を復号することによって動画像＃２を生成するための装置である。
【０１４３】
（可変長符号復号部１１）
図１３は、可変長符号復号部１１の要部構成を示すブロック図である。図１３に示すように、可変長符号復号部１１は、量子化残差情報復号部１１１、予測パラメータ復号部１１２、予測タイプ情報復号部１１３、および、フィルタパラメータ復号部１１４を備えている。
【０１４４】
可変長符号復号部１１は、予測パラメータ復号部１１２にて、各パーティションに関する予測パラメータＰＰを、符号化データ＃１から復号し、予測画像生成部１２に供給する。具体的には、予測パラメータ復号部１１２は、インター予測パーティションに関しては、参照画像インデックス、推定動きベクトルインデックス、及び、動きベクトル残差を含むインター予測パラメータＰＰ＿Ｉｎｔｅｒを符号化データ＃１から復号し、これらを動きベクトル復元部１２ａに供給する。一方、イントラ予測パーティションに関しては、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスを含むイントラ予測パラメータＰＰ＿Ｉｎｔｒａを符号化データ＃１から復号し、これらをイントラ予測画像生成部１２ｃに供給する。
【０１４５】
また、可変長符号復号部１１は、予測タイプ情報復号部１１３にて、各パーティションについての予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅを符号化データ＃１から復号し、これを予測方式決定部１２ｄに供給する。更に、可変長符号復号部１１は、量子化残差情報復号部１１１にて、ブロックに関する量子化残差情報ＱＤ、及び、そのブロックを含むＴＵに関する量子化パラメータ差分Δｑｐを符号化データ＃１から復号し、これらを逆量子化・逆変換部１３に供給する。また、可変長符号復号部１１は、フィルタパラメータ復号部１１４にて、符号化データ＃１からフィルタパラメータＦＰを復号し、これをループフィルタ１６に供給する。なお、量子化残差情報復号部１１１の具体的な構成については後述するためここでは説明を省略する。
【０１４６】
（予測画像生成部１２）
予測画像生成部１２は、各パーティションについての予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを識別する。そして、前者の場合には、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを生成すると共に、生成したインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器１４に供給し、後者の場合には、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成すると共に、生成したイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを加算器１４に供給する。なお、予測画像生成部１２は、処理対象ＰＵに対してスキップモードが適用されている場合には、当該ＰＵに属する他のパラメータの復号を省略する。
【０１４７】
（動きベクトル復元部１２ａ）
動きベクトル復元部１２ａは、各インター予測パーティションに関する動きベクトルｍｖを、そのパーティションに関する動きベクトル残差と、他のパーティションに関する復元済みの動きベクトルｍｖ’とから復元する。具体的には、（１）推定動きベクトルインデックスにより指定される推定方法に従って、復元済みの動きベクトルｍｖ’から推定動きベクトルを導出し、（２）導出した推定動きベクトルと動きベクトル残差とを加算することによって動きベクトルｍｖを得る。なお、他のパーティションに関する復元済みの動きベクトルｍｖ’は、フレームメモリ１５から読み出すことができる。動きベクトル復元部１２ａは、復元した動きベクトルｍｖを、対応する参照画像インデックスＲＩと共に、インター予測画像生成部１２ｂに供給する。
【０１４８】
（インター予測画像生成部１２ｂ）
インター予測画像生成部１２ｂは、画面間予測によって、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル復元部１２ａから供給された動きベクトルｍｖを用いて、同じく動きベクトル復元部１２ａから供給された参照画像インデックスＲＩによって指定される適応フィルタ済復号画像Ｐ＿ＡＬＦ’から動き補償画像ｍｃを生成する。ここで、適応フィルタ済復号画像Ｐ＿ＡＬＦ’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ１６によるフィルタ処理を施すことによって得られる画像であり、インター予測画像生成部１２ｂは、適応フィルタ済復号画像Ｐ＿ＡＬＦ’を構成する各画素の画素値をフレームメモリ１５から読み出すことができる。インター予測画像生成部１２ｂによって生成された動き補償画像ｍｃは、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒとして予測方式決定部１２ｄに供給される。
【０１４９】
（イントラ予測画像生成部１２ｃ）
イントラ予測画像生成部１２ｃは、各イントラ予測パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、まず、可変長符号復号部１１から供給されたイントラ予測パラメータＰＰ＿Ｉｎｔｒａに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。
【０１５０】
ここで、イントラ予測パラメータＰＰ＿Ｉｎｔｒａに基づく予測モードの特定は、以下のように行うことができる。（１）推定予測モードフラグを復号し、当該推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一であることを示している場合には、対象パーティションに対して、当該対象パーティションの周辺のパーティションに割り付けられた予測モードを割り付ける。（２）一方で、推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一でないことを示している場合には、残余予測モードインデックスを復号し、当該残余予測モードインデックスの示す予測モードを対象パーティションに対して割り付ける。
【０１５１】
イントラ予測画像生成部１２ｃは、対象パーティションに割り付けられた予測モードの示す予測方法に従って、画面内予測によって、（局所）復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部１２ｃによって生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａは、予測方式決定部１２ｄに供給される。なお、イントラ予測画像生成部１２ｃは、画面内予測によって、適応フィルタ済復号画像Ｐ＿ＡＬＦから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する構成とすることも可能である。
【０１５２】
図１４を用いて、予測モードの定義について説明する。図１４は、予測モードの定義を示している。同図に示すように、３６種類の予測モードが定義されており、それぞれの予測モードは、「０」〜「３５」の番号（イントラ予測モードインデックス）によって特定される。また、図１５に示すように、各予測モードには次のような名称が割り当てられている。すなわち、「０」は、“Intra_Planar（プラナー予測モード、平面予測モード）”であり、「１」は、“Intra DC(イントラＤＣ予測モード)”であり、「２」〜「３４」は、“Intra Angular（方向予測）”であり、「３５」は、“Intra From Luma”である。「３５」は、色差予測モード固有のものであり、輝度の予測に基づいて色差の予測を行うモードである。言い換えれば、色差予測モード「３５」は、輝度画素値と色差画素値との相関を利用した予測モードである。色差予測モード「３５」はＬＭモードとも称する。予測モード数（intraPredModeNum）は、対象ブロックのサイズによらず「３５」である。
【０１５３】
（予測方式決定部１２ｄ）
予測方式決定部１２ｄは、各パーティションが属するＰＵについての予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部１２ｂにて生成されたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器１４に供給し、後者の場合には、イントラ予測画像生成部１２ｃにて生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器１４に供給する。
【０１５４】
（逆量子化・逆変換部１３）
逆量子化・逆変換部１３は、（１）符号化データ＃１の量子化残差情報ＱＤから復号された変換係数Ｃｏｅｆｆを逆量子化し、（２）逆量子化によって得られた変換係数Ｃｏｅｆｆ＿ＩＱに対して逆ＤＣＴ（Discrete Cosine Transform）変換等の逆周波数変換を施し、（３）逆周波数変換によって得られた予測残差Ｄを加算器１４に供給する。なお、量子化残差情報ＱＤから復号された変換係数Ｃｏｅｆｆを逆量子化する際に、逆量子化・逆変換部１３は、可変長符号復号部１１から供給された量子化パラメータ差分Δｑｐから量子化ステップＱＰを導出する。量子化パラメータｑｐは、直前に逆量子化及び逆周波数変換したＴＵに関する量子化パラメータｑｐ’に量子化パラメータ差分Δｑｐを加算することによって導出でき、量子化ステップＱＰは、量子化パラメータｑｐから例えばＱＰ＝２ｐｑ／６によって導出できる。また、逆量子化・逆変換部１３による予測残差Ｄの生成は、ＴＵあるいはＴＵを分割したブロックを単位として行われる。
【０１５５】
なお、逆量子化・逆変換部１３によって行われる逆ＤＣＴ変換は、例えば、対象ブロックのサイズが８×８画素である場合、当該対象ブロックにおける画素の位置を（ｉ、ｊ）（０≦ｉ≦７、０≦ｊ≦７）とし、位置（ｉ、ｊ）における予測残差Ｄの値をＤ（ｉ、ｊ）と表すことにし、周波数成分（ｕ、ｖ）（０≦ｕ≦７、０≦ｖ≦７）における逆量子化された変換係数をＣｏｅｆｆ＿ＩＱ（ｕ、ｖ）と表すことにすると、例えば、以下の数式（１）によって与えられる。
【０１５６】
【数１】
2013223051.tif 000003
【０１５７】
ここで、（ｕ、ｖ）は、上述した（ｘＣ、ｙＣ）に対応する変数である。Ｃ（ｕ）およびＣ（ｖ）は、以下のように与えられる。
【０１５８】
・Ｃ（ｕ）＝１／√２  （ｕ＝０）
・Ｃ（ｕ）＝１        （ｕ≠０）
・Ｃ（ｖ）＝１／√２  （ｖ＝０）
・Ｃ（ｖ）＝１        （ｖ≠０）
（加算器１４）
加算器１４は、予測画像生成部１２から供給された予測画像Ｐｒｅｄと、逆量子化・逆変換部１３から供給された予測残差Ｄとを加算することによって復号画像Ｐを生成する。生成された復号画像Ｐは、フレームメモリ１５に格納される。
【０１５９】
（ループフィルタ１６）
ループフィルタ１６は、（１）復号画像Ｐにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化（デブロック処理）を行うデブロッキングフィルタ（DF:Deblocking Filter）としての機能と、（２）デブロッキングフィルタが作用した画像に対して、フィルタパラメータＦＰを用いて適応フィルタ処理を行う適応フィルタ（ALF:Adaptive Loop Filter）としての機能とを有している。
【０１６０】
（量子化残差情報復号部１１１）
量子化残差情報復号部１１１は、符号化データ＃１に含まれる量子化残差情報ＱＤから、各周波数成分（ｘＣ、ｙＣ）についての量子化された変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）を復号するための構成である。ここで、ｘＣおよびｙＣは、周波数領域における各周波数成分の位置を表すインデックスであり、それぞれ、上述した水平方向周波数ｕおよび垂直方向周波数ｖに対応するインデックスである。以下では、量子化された変換係数Ｃｏｅｆｆを、単に、変換係数Ｃｏｅｆｆと呼ぶこともある。
【０１６１】
図１６は、量子化残差情報復号部１１１の構成を示すブロック図である。図１６に示すように、量子化残差情報復号部１１１は、変換係数復号部１２０及び算術符号復号部１３０を備えている。
【０１６２】
（算術符号復号部１３０）
算術符号復号部１３０は、量子化残差情報ＱＤに含まれる各ビットをコンテキストを参照して復号するための構成であり、図１６に示すように、コンテキスト記録更新部１３１及びビット復号部１３２を備えている。
【０１６３】
（コンテキスト記録更新部１３１）
コンテキスト記録更新部１３１は、各コンテキストインデックスctxIdxによって管理されるコンテキスト変数ＣＶを記録及び更新するための構成である。ここで、コンテキスト変数ＣＶには、（１）発生確率が高い優勢シンボルＭＰＳ（most probable symbol）と、（２）その優勢シンボルＭＰＳの発生確率を指定する確率状態インデックスpStateIdxとが含まれている。
【０１６４】
コンテキスト記録更新部１３１は、変換係数復号部１２０の備える各部から供給されるコンテキストインデックスctxIdx及びビット復号部１３２によって復号されたＢｉｎの値を参照することによってコンテキスト変数ＣＶを更新すると共に、更新されたコンテキスト変数ＣＶを次回更新されるまで記録する。なお、優勢シンボルＭＰＳは０か１である。また、優勢シンボルＭＰＳと確率状態インデックスpStateIdxは、ビット復号部１３２がＢｉｎを１つ復号する毎に更新される。
【０１６５】
また、コンテキストインデックスctxIdxは、各周波数成分についてのコンテキストを直接指定するものであってもよいし、処理対象のＴＵ毎に設定されるコンテキストインデックスのオフセットからの増分値であってもよい（以下同様）。
【０１６６】
（ビット復号部１３２）
ビット復号部１３２は、コンテキスト記録更新部１３１に記録されているコンテキスト変数ＣＶを参照し、量子化残差情報ＱＤに含まれる各ビット（Ｂｉｎとも呼ぶ）を復号する。また、復号して得られたＢｉｎの値を変換係数復号部１２０の備える各部に供給する。また、復号して得られたＢｉｎの値は、コンテキスト記録更新部１３１にも供給され、コンテキスト変数ＣＶを更新するために参照される。
【０１６７】
（変換係数復号部１２０）
図１６に示すように、変換係数復号部１２０は、ラスト係数位置復号部１２１、スキャン順テーブル格納部１２２、係数復号制御部１２３、係数レベル復号部１２４、係数符号復号部１２５、復号係数記憶部１２６、及び、サブブロック係数有無フラグ復号部１２７を備えている。
【０１６８】
（ラスト係数位置復号部１２１）
ラスト係数位置復号部１２１は、ビット復号部１３２より供給される復号ビット（Ｂｉｎ）を解釈し、シンタックスlast_significant_coeff_x及びlast_significant_coeff_yを復号する。復号したシンタックスlast_significant_coeff_x及びlast_significant_coeff_yは、係数復号制御部１２３に供給される。また、ラスト係数位置復号部１２１は、算術符号復号部１３０にてシンタックスlast_significant_coeff_x及びlast_significant_coeff_yのＢｉｎを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。
【０１６９】
（スキャン順テーブル格納部１２２）
スキャン順テーブル格納部１２２には、処理対象のＴＵ（ブロック）のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。
【０１７０】
このようなスキャン順テーブルの一例としては、図６及び図７に示したScanOrderが挙げられる。図６及び図７に示したScanOrderにおいて、log2TrafoWidthは、処理対象のＴＵの横幅のサイズを表わし、log2TrafoHeightは、処理対象のＴＵの縦幅のサイズを表わしており、scanIdxはスキャンインデックスを表しており、ｎは、スキャン順に沿って付与された周波数成分識別インデックスを表している。また、図６及び図７において、ｘＣ及びｙＣは、処理対象の周波数成分の周波数領域における位置を表している。
【０１７１】
また、スキャン順テーブル格納部１２２に格納されたテーブルは、処理対象のＴＵ（ブロック）のサイズとイントラ予測モードの予測モードインデックスとに関連付けられたスキャンインデックスscanIdxによって指定される。処理対象のＴＵに用いられた予測方法がイントラ予測である場合には、係数復号制御部１２３は、当該ＴＵのサイズと当該ＴＵの予測モードとに関連付けられたスキャンインデックスscanIdxによって指定されるテーブルを参照して周波数成分のスキャン順を決定する。
【０１７２】
図１７は、イントラ予測モードインデックスIntraPredModeと、ＴＵサイズを指定する値log2TrafoSizeとによって指定されるスキャンインデックスscanIdxの例を示している。図１７において、log2TrafoSize-2＝０は、ＴＵサイズが４×４（４×４画素に対応）であることを示しており、log2TrafoSize-2＝１は、ＴＵサイズが８×８（８×８画素に対応）であることを示している。図１７に示すように、例えば、ＴＵサイズが４×４であり、イントラ予測モードインデックスが１であるとき、スキャンインデックス＝０が用いられ、ＴＵサイズが４×４であり、イントラ予測モードインデックスが６であるとき、スキャンインデックス＝２が用いられる。
【０１７３】
図１８（ａ）は、スキャンインデックスscanIdxの各値によって指定されるスキャンタイプScanTypeを示している。図１８（ａ）に示すように、スキャンインデックスが０であるとき、斜め方向スキャン（Up-right diagonal scan）が指定され、スキャンインデックスが１であるとき、水平方向優先スキャン（horizontal fast scan）が指定され、スキャンインデックスが２であるとき、垂直方向優先スキャン（vertical fact scan）が指定される。
【０１７４】
なお、ＣＵ予測方式情報ＰｒｅｄＭｏｄｅがインター予測の場合には、ＴＵサイズを用いてスキャンインデックスを導出することができる。ＴＵサイズが、ＴＵサイズの幅と高さが一致する場合には水平優先および垂直優先以外のスキャン順（スキャンインデックス＝０）を使用する。ＴＵサイズの幅と高さが一致しない場合で、ＴＵサイズの幅が高さよりも大きい場合には、水平優先のスキャン順（スキャンインデックス＝１）を使用する。一方、ＴＵサイズの高さが幅よりも大きい場合には、垂直優先のスキャン順（スキャンインデックス＝２）を使用する。
【０１７５】
また、図１８（ｂ）〜（ｄ）は、ＴＵサイズが４×４であるときの、スキャンインデックスscanIdxで指定される各スキャンタイプ（水平方向優先スキャン（horizontal fast scan）、垂直方向優先スキャン（vertical fast scan）、及び、斜め方向スキャン（Up-right diagonal scan））のスキャン順の一例を示している。また、図１８（ｂ）〜（ｄ）に示す各例は、順スキャン方向を示している。図１８（ｂ）に示す水平方向優先スキャンは、サブブロックを上下半分に分割した小サブブロック単位に、水平方向へ斜め１列毎に係数をスキャンすることを特徴とし、水平方向周波数成分に係数が集中する場合に好適である。また、図１８（ｃ）に示す垂直方向優先スキャンは、サブブロックを左右半分に分割した小サブブロック単位に垂直方向へ斜め１列毎に係数をスキャンすることを特徴とし、垂直方向周波数成分に係数が集中する場合に好適である。
【０１７６】
図１９（ａ）〜（ｃ）は、ＴＵサイズが８×８であり、かつサブブロックサイズが４×４であるときの、スキャンインデックスscanIdxで指定される各スキャンタイプのスキャン順の一例を示している。また、図１９（ａ）〜（ｃ）に示す各例は、順スキャン方向を示している。図１９（ａ）に示す水平方向優先スキャンは、サブブロックを上下半分に分割した小サブブロック単位に、水平方向へ斜め１列毎に係数をスキャンすることを特徴とし、水平方向周波数成分に係数が集中する場合に好適である。また、図１９（ｂ）に示す垂直方向優先スキャンは、サブブロックを左右半分に分割した小サブブロック単位に垂直方向へ斜め１列毎に係数をスキャンすることを特徴とし、垂直方向周波数成分に係数が集中する場合に好適である。
【０１７７】
（サブブロックスキャン順テーブル）
また、スキャン順テーブル格納部１２２には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。サブブロックスキャン順テーブルは、処理対象のＴＵ（ブロック）のサイズとイントラ予測モードの予測モードインデックス（予測方向）とに関連付けられたスキャンインデックスscanIdxによって指定される。処理対象のＴＵに用いられた予測方法がイントラ予測である場合には、係数復号制御部１２３は、当該ＴＵのサイズと当該ＴＵの予測モードとに関連付けられたスキャンインデックスscanIdxによって指定されるテーブルを参照してサブブロックのスキャン順を決定する。
【０１７８】
（係数復号制御部１２３）
係数復号制御部１２３は、量子化残差情報復号部１１１の備える各部における復号処理の順序を制御するための構成である。
【０１７９】
係数復号制御部１２３は、ラスト係数位置復号部１２１から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部１２２に格納されたサブブロックスキャン順テーブルによって与えられるスキャン順の逆スキャン順に、各サブブロックの位置（ｘＣＧ、ｙＣＧ）を、サブブロック係数有無フラグ復号部１２７に供給する。また、係数復号制御部１２３は、当該ＴＵのサイズと当該ＴＵの予測モードとに関連付けられたスキャンインデックスscanIdxを、係数レベル復号部１２４へ供給する。
【０１８０】
また、係数復号制御部１２３は、処理対象となるサブブロックに関して、スキャン順テーブル格納部１２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置（ｘＣ、ｙＣ）を、係数レベル復号部１２４及び復号係数記憶部１２６に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、イントラ予測の場合には、イントラ予測モードインデックスIntraPredModeと、ＴＵサイズを指定する値log2TrafoSizeとによって指定されるスキャンインデックスscanIdxの示すスキャン順（水平方向優先スキャン、垂直方向優先スキャン、斜め方向スキャンのいずれか）を用い、インター予測の場合には、斜め方向スキャン（Up-right diagonal scan）を用いればよい。
【０１８１】
このように、係数復号制御部１２３は、処理対象の単位領域（ブロック、ＴＵ）に適用された予測方式がイントラ予測である場合に、該イントラ予測の予測方向に応じて、サブブロックスキャン順、及びサブブロック内スキャン順を設定する構成である。
【０１８２】
一般に、イントラ予測モードと変換係数の偏りとは互いに相関を有しているため、イントラ予測モードに応じてスキャン順を切り替えることにより、サブブロック係数有無フラグ、係数有無フラグの偏りに適したスキャンを行うことができる。これによって、符号化及び復号対象となるサブブロック係数有無フラグおよび係数有無フラグの符号量を削減することができるので、処理量が削減されると共に、符号化効率が向上する。
【０１８３】
（サブブロック係数有無フラグ復号部１２７）
サブブロック係数有無フラグ復号部１２７は、ビット復号部１３２から供給される各Ｂｉｎを解釈し、各サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるシンタックスsignificant_coeff_group_flag[xCG][yCG]を復号する。また、サブブロック係数有無フラグ復号部１２７は、算術符号復号部１３０にてシンタックスsignificant_coeff_group_flag[xCG][yCG]のＢｉｎを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。ここで、シンタックスsignificant_coeff_group_flag[xCG][yCG]は、サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるサブブロックに、少なくとも１つの非０変換係数が含まれている場合に１をとり、非０変換係数が１つも含まれていない場合に０をとるシンタックスである。復号されたシンタックスsignificant_coeff_group_flag[xCG][yCG]の値は、復号係数記憶部１２６に格納される。
【０１８４】
なお、サブブロック係数有無フラグ復号部１２７のより具体的な構成については後述する。
【０１８５】
（係数レベル復号部１２４）
本実施形態に係る係数レベル復号部１２４は、各係数位置（ｘＣ、ｙＣ）によって指定されるシンタックスsignificant_coeff_flag[xC][yC]、coeff_abs_level_greater1_flag、coeff_abs_level_remainingを復号し、変換係数のレベルtransCoeffLevel[xC][yC]を導出する。復号された変換係数のレベル transCoeffLevel[xC][yC]の値は、復号係数記憶部１２６に格納される。また、係数レベル復号部１２４は、算術符号復号部１３０にてシンタックスsignificant_coeff_flag[xC][yC]のＢｉｎを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。係数レベル復号部１２４の具体的な構成については後述する。
【０１８６】
（係数符号復号部１２５）
係数符号復号部１２５は、ビット復号部１３２から供給される各Ｂｉｎを解釈し、シンタックスcoeff_sign_flagを復号すると共に、これらのシンタックスを復号した結果に基づき、処理対象の周波数成分における変換係数（より具体的には非０変換係数）の値を導出する。また、各種シンタックスの復号に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。導出された変換係数の値は、復号係数記憶部１２６に格納される。
【０１８７】
（復号係数記憶部１２６）
復号係数記憶部１２６は、係数符号復号部１２５によって復号された変換係数の各値を記憶しておくための構成である。また、復号係数記憶部１２６には、係数レベル復号部１２４によって復号されたシンタックスsignificant_coeff_flagの各値が記憶される。復号係数記憶部１２６によって記憶されている変換係数の各値は、逆量子化・逆変換部１３に供給される。
【０１８８】
（サブブロック係数有無フラグ復号部１２７の構成例）
以下では、図２０を参照して、サブブロック係数有無フラグ復号部１２７の具体的な構成例について説明する。
【０１８９】
図２０は、サブブロック係数有無フラグ復号部１２７の構成例を示すブロック図である。図２０に示すように、サブブロック係数有無フラグ復号部１２７は、サブブロック係数有無フラグコンテキスト導出部１２７ａ、サブブロック係数有無フラグ記憶部１２７ｂ、及び、サブブロック係数有無フラグ設定部１２７ｃを備えている。
【０１９０】
以下では、サブブロック係数有無フラグ復号部１２７に対して、係数復号制御部１２３から、サブブロック位置（ｘＣＧ、ｙＣＧ）が逆スキャン順に供給される場合を例に挙げて説明を行う。なお、この場合、サブブロック係数有無フラグ復号部１２７に対応する符号化装置側の構成では、サブブロック位置（ｘＣＧ、ｙＣＧ）が順スキャン順に供給されることになる。
【０１９１】
（サブブロック係数有無フラグコンテキスト導出部１２７ａ）
サブブロック係数有無フラグ復号部１２７の備えるサブブロック係数有無フラグコンテキスト導出部１２７ａは、各サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるサブブロックに割り付けるコンテキストインデックスを導出する。サブブロックに割り付けられたコンテキストインデックスは、当該サブブロックについてのシンタックスsignificant_coeff_group_flagを示すＢｉｎを復号する際に用いられる。また、コンテキストインデックスを導出する際には、サブブロック係数有無フラグ記憶部１２７ｂに記憶された復号済みのサブブロック係数有無フラグの値が参照される。サブブロック係数有無フラグコンテキスト導出部１２７ａは、導出したコンテキストインデックスをコンテキスト記録更新部１３１に供給する。
【０１９２】
サブブロックに割り付けるコンテキストインデックスの導出では、サブブロック位置（ｘＣＧ、ｙＣＧ）の右隣に位置するサブブロック（ｘＣＧ＋１，ｙＣＧ）（図２１（ｂ）を参照）のサブブロック係数有無フラグと、サブブロック位置（ｘＣＧ,ｙＣＧ）の下に位置するサブブロック（ｘＣＧ，ｙＣＧ＋１）（図２１（ｂ）を参照）のサブブロック係数有無フラグとが参照される。
【０１９３】
すなわち、サブブロックに割り付けるコンテキストインデックスは、具体的には、サブブロック位置（ｘＣＧ,ｙＣＧ）、及びサブブロック係数有無フラグ記憶部１２７ｂに記憶された復号済みのサブブロック係数有無フラグの値を用いて導出される。
【０１９４】
より詳細には、コンテキストインデックスは、サブブロック位置（ｘＣＧ、ｙＣＧ）の右隣に位置するサブブロック（ｘＣＧ＋１，ｙＣＧ）について復号されている復号済みサブブロック係数有無フラグsignificant_coeff_group_flag[xCG+1][yCG]の値と、サブブロック位置（ｘＣＧ,ｙＣＧ）の下に位置するサブブロック（ｘＣＧ，ｙＣＧ＋１）について復号されている復号済サブブロック係数有無フラグsiginificant_coeff_group_flag[xCG][yCG+1]の値とを参照して次のように設定される。
【０１９５】
ctxIdx = ctxIdxOffset + Min ((significant_coeff_group_flag[xCG+1][yCG]+significant_coeff_group_flag[xCG][yCG+1] ), 1)
なお、初期値ctxIdxOffsetは、色空間を示すcIdxにより定まる。なお、（ｘＣＧ＋１，ｙＣＧ）、あるいは（ｘＣＧ、ｙＣＧ＋１）に位置する復号済サブブロックが存在しない場合は、（ｘＣＧ＋１、ｙＣＧ）、あるいは（ｘＣＧ、ｙＣＧ＋１）に位置するサブブロック係数有無フラグの値をゼロとして扱う。
【０１９６】
（サブブロック係数有無フラグ記憶部１２７ｂ）
サブブロック係数有無フラグ記憶部１２７ｂには、サブブロック係数有無フラグ設定部１２７ｃによって復号又は設定されたシンタックスsignificant_coeff_group_flagの各値が記憶されている。サブブロック係数有無フラグ設定部１２７ｃは、隣接サブブロックに割り付けられたシンタックスsignificant_coeff_group_flagを、サブブロック係数有無フラグ記憶部１２７ｂから読み出すことができる。
【０１９７】
（サブブロック係数有無フラグ設定部１２７ｃ）
サブブロック係数有無フラグ設定部１２７ｃは、ビット復号部１３２から供給される各Ｂｉｎを解釈し、シンタックスsignificant_coeff_group_flag[xCG][yCG]を復号または設定する。より具体的には、サブブロック係数有無フラグ設定部１２７ｃは、サブブロック位置（ｘＣＧ、ｙＣＧ）、及び、サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるサブブロックに隣接するサブブロック（隣接サブブロックとも呼ぶ）に割り付けられたシンタックスsignificant_coeff_group_flagを参照し、シンタックスsignificant_coeff_group_flag[xCG][yCG]を復号または設定する。また、復号または設定されたシンタックスsignificant_coeff_group_flag[xCG][yCG]の値は、係数レベル復号部１２４に供給される。
【０１９８】
サブブロック係数有無フラグ設定部１２７ｃは、図２１（ｃ）に示すように、サブブロック（ｘＣＧ、ｙＣＧ）に隣接するサブブロック（ｘＣＧ＋１、ｙＣＧ）に割り付けられたサブブロック係数有無フラグsignificant_coeff_group_flag[xCG+1][yCG]の値とサブブロック（ｘＣＧ、ｙＣＧ＋１）に割り付けられたサブブロック係数有無フラグsignificant_coeff_group_flag[xCG][yCG+1]の値とを参照し、サブブロック係数有無フラグsignificant_coeff_group_flag[xCG][yCG]を復号するために用いるコンテキストインデックスを導出する。
【０１９９】
なお、サブブロック係数有無フラグが０とされたブロックでは、係数レベル復号部１２４が、係数有無フラグsignificant_coeff_flagの復号をスキップすることができるため、復号処理が簡略化される。
【０２００】
図２２を用いて、具体的に例示すると次のとおりである。図２２（ａ）に示すように変換係数が分布している場合、それぞれのサブブロックに割り付けられるサブブロック係数有無フラグは、図２２（ｂ）に示すとおりとなる。すなわち、４×４のサブブロックのうち、１行目のサブブロックでは、非０係数が存在しているが、２行目以降のサブブロックでは、非０係数が存在しない。
【０２０１】
よって、図２２（ｂ）に示す例では、係数レベル復号部１２４は、２行目以降のサブブロックの復号において、係数有無フラグsignificant_coeff_flagの復号をスキップすることができる。
【０２０２】
＜係数レベル復号部１２４の第１の構成例＞
以下では、図１、図２３（ａ）を参照して、係数レベル復号部１２４の第１の構成例について説明する。以下に説明する係数レベル復号部１２４の第１の構成例では、係数有無フラグのコンテキストインデックス導出に関して、スキャンインデックス、及び係数の位置に応じて、周辺参照コンテキストに用いる係数の参照位置（テンプレートの形状）を切り替える。
【０２０３】
図１は、係数レベル復号部１２４の構成例を示すブロック図である。なお、以下では、図１に示す部材のうち、第１の構成例の説明に必要なものだけを参照する。すなわち、図１には、非０変換係数カウント部１２４ｙを図示しているが、非０変換係数カウント部１２４ｙは、第１の構成例に係る係数レベル復号部１２４では省略することができる。
【０２０４】
図１に示すように、係数レベル復号部１２４は、係数有無フラグコンテキスト導出部１２４ｚ、係数レベル記憶部１２４ｄ、及び係数有無フラグ設定部１２４ｅ、係数レベル復号処理部１２４ｆを備えている。
【０２０５】
（係数有無フラグコンテキスト導出部１２４ｚ）
係数有無フラグコンテキスト導出部１２４ｚは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの絶対値和sumAbsLevelに基づいて導出する。より具体的には、係数有無フラグコンテキスト導出部１２４ｚは、対象周波数成分の位置（xC,yC）、もしくは、対象周波数成分が属するサブブロックの位置(xCG,yCG)が次の条件を満たす場合、スキャンインデックスscanIdxと変換係数の位置に応じて異なる参照位置（テンプレート）を用いて復号済みの絶対値和sumAbsLevelを導出する。
【０２０６】
上記の条件下において、係数有無フラグコンテキスト導出部１２４ｚは、スキャンインデックスscanIdxと変換係数の位置に応じて異なる参照位置（テンプレート）を用いて復号済みの絶対値和sumAbsLevelを導出する。また、係数有無フラグコンテキスト導出部１２４ｚは、このようにして導出した復号済みの絶対値和sumAbsLevelに基づいてコンテキストインデックスctxIdxを導出する。
【０２０７】
係数有無フラグコンテキスト導出部１２４ｚは、以下のとおり、スキャンインデックスscanIdxと変換係数の位置に応じて異なる参照位置（テンプレート）を用いて復号済みの絶対値和sumAbsLevelを導出する。図２４（ａ）は、スキャンインデックスscanIdxが斜め方向スキャンを示す場合において、サブブロック内の周波数成分上の位置と、選択するテンプレートの関係とを示す図である。４×４成分のサブブロックにおいて、位置に示す表記が（ｂ）の場合には、図２４（ｂ）に示すテンプレートを用い、表記が（ｃ）の場合には図２４（ｃ）に示すテンプレートを用いる。図２４（ｂ）（ｃ）はテンプレートの形状を示す。すなわち、参照周波数成分（例えば、ｃ１、ｃ２、ｃ３、ｃ４、ｃ５）と対象周波数成分ｘとの相対位置を示す。図２４（ｅ）は、４×４サブブロックにおける斜め方向スキャンのスキャン順（逆スキャン順）を表わす図である。
【０２０８】
処理は、変換係数の位置（xC, yC）が以下の式（eq.A3）を満たす場合、すなわち、変換係数の位置がサブブロックの左上である、もしくは、変換係数の位置がサブブロックの右下の一つ上の場合と、それ以外の場合とで異なる。
【０２０９】
((xC &3)==0 && (yC &3)==0) || ((xC &3)==3 && (yC &3)==2)        （eq.A3）
なお、上記式（eq.A3）において、演算子‘＆’はビット単位の論理和を取る演算子であり、‘＆＆’は、論理積を示す演算子であり、‘｜｜’は、論理和を示す演算子である（以下において、同様）。
【０２１０】
また、式（eq.A3）は式(eq.A3’)によっても表現することができる。
【０２１１】
((xC %4)==0 && (yC %4)==0) || ((xC %4)==3 && (yC %4)==2)        （eq.A3’）
なお、上記式（eq.A3’）において、“％”は、剰余を求める演算子である（以下において、同様）。
【０２１２】
（絶対値和sumAbsLevelの導出）
（式（eq.A3）を満たす場合）
変換係数の位置（xC, yC）が、式（eq.A3）を満たす場合、図２４（ｃ）に示す参照周波数成分（ｃ１、ｃ２、ｃ４、ｃ５）を用いて、
復号済みの変換係数の絶対値和sumAbsLevelを以下の式(eq.A4)によって導出する。
【０２１３】
sumAbsLevel = clipAbsCoeff[xC+1][yC]      // c1
+ clipAbsCoeff[xC+2][yC]      // c2
+ clipAbsCoeff[xC+1][yC+1]    // c4
+ clipAbsCoeff[xC][yC+2]      // c5 ・・・(eq.A4)
ここでclipAbsCoeff[xC][yC]は、以下の式により、所定の値LevelTHでクリップ後の復号済みの変換係数の絶対値である。
【０２１４】
clipAbsCoeff[xC][yC]  ＝  Min (abs(transCoeffLevel[xC][yC]), LevelTH)
なお、後述するように、係数レベル記憶部１２４ｄに記憶している復号済みの変換係数のレベルが、既にクリップ後の値である場合には、係数有無フラグコンテキスト導出部１２４ｚでクリップ処理を行わなくてもかまわない。
【０２１５】
（式（eq.A3）を満たさない場合）
変換係数の位置（xC, yC）が、式（eq.A3）を満たさない場合は、図２４（ｂ）に示す参照周波数成分ｃ１〜ｃ５を用いて、以下の式（eq.A5）によって、絶対値和sumAbsLevelを算出する。
【０２１６】
sumAbsLevel = clipAbsCoeff[xC+1][yC]      // c1
+ clipAbsCoeff[xC+2][yC]      // c2
+ clipAbsCoeff[xC][yC+1]      // c3
+ clipAbsCoeff[xC+1][yC+1]    // c4
+ clipAbsCoeff[xC][yC+2]      // c5 ・・・(eq.A5)
（コンテキストインデックスctxIdxの導出）
続いて、係数有無フラグコンテキスト導出部１２４ｚは、図２３（ａ）にも参照番号Ａ６にて示しているが、以下の式（eq.A6）を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxをコンテキスト記録更新部１３１に供給する。
【０２１７】
ctxIdx = Min(sumAbsLevel, 5) + baseCtx    ・・・(eq.A6)
（係数有無フラグ設定部１２４ｅ）
係数有無フラグ設定部１２４ｅは、ビット復号部１３２から供給される各Ｂｉｎを解釈し、シンタックスsignificant_coeff_flag[xC][yC]を設定する。設定されたシンタックスsignificant_coeff_flag[xC][yC]は、復号係数記憶部１２６に供給される。
【０２１８】
係数有無フラグ設定部１２４ｅは、対象周波数領域がサブブロックに分割されている場合、対象サブブロックに割り付けられたシンタックスsignificant_coeff_group_flag[xCG][yCG]を参照し、significant_coeff_group_flag[xCG][yCG]の値が０である場合には、当該対象サブブロックに含まれる全ての周波数成分についてのsignificant_coeff_flag[xC][yC]を０に設定する。
【０２１９】
（係数レベル復号処理部１２４ｆ）
係数レベル復号処理部１２４ｆは、非０係数に対して、変換係数のレベルを示すシンタックスcoeff_abs_greater1_flag、coeff_abs_remainingを復号する。係数レベル復号処理部１２４ｆは、具体的には、シンタックスcoeff_abs_greater1_flag、coeff_abs_remainingのコンテキストインデックスを導出し、ビット復号部１３２に供給する。次に、係数レベル復号処理部１２４ｆは、ビット復号部１３２から供給される各Ｂｉｎを解釈し、変換係数のレベルtransCoeffLevel [xC][yC]を導出する。係数レベル復号処理部１２４ｆは、導出したシンタックス変換係数のレベルtransCoeffLevel [xC][yC]を、復号係数記憶部１２６に供給する。また、これと同時に、係数レベル復号処理部１２４ｆは、変換係数のレベルtransCoeffLevel [xC][yC]を、係数レベル記憶部１２４ｄにも格納する。
【０２２０】
係数レベル復号処理部１２４ｆは、変換係数のレベルを示すシンタックスcoeff_abs_greater1_flagのコンテキストインデックスを、既に復号された変換係数のレベルをクリップした値に応じて、コンテキストインデックスを導出する。具体的には、復号済みの絶対値和sumAbsLevelと変換係数の数cntを用いてコンテキストインデックスctxIdx_c1を導出する。
【０２２１】
sumAbsLevel = clipAbsCoeff[xC+1][yC]      // c1
+ clipAbsCoeff[xC+2][yC]      // c2
+ clipAbsCoeff[xC][yC+1]      // c3
+ clipAbsCoeff[xC+1][yC+1]    // c4
+ clipAbsCoeff[xC][yC+2]      // c5 ・・・(eq.A5)
cnt         = (transCoeffLevel [xC+1][yC] != 0)      // c1
+ transCoeffLevel [xC+2][yC] != 0)      // c2
+ transCoeffLevel [xC][yC+1] != 0)      // c3
+ transCoeffLevel [xC+1][yC+1] != 0)    // c4
+ transCoeffLevel [xC][yC+2] != 0)      // c5
ctxIdx_c1 = Min(sumAbsLevel-cnt, 4) + baseCtx_c1
なお、sumAbsLevelM1（＝sumAbsLevel-cnt）は次の式で求めても良い。
【０２２２】
sumAbsLevel = clipAbsCoeffM1[xC+1][yC]      // c1
+ clipAbsCoeffM1[xC+2][yC]      // c2
+ clipAbsCoeffM1[xC][yC+1]      // c3
+ clipAbsCoeffM1[xC+1][yC+1]    // c4
+ clipAbsCoeffM1[xC][yC+2]      // c5 ・・・(eq.A5)
clipAbsCoeffM1[xC][yC]  ＝  transCoeffLevel[xC][yC] == 0 ? 0 : Min (abs(transCoeffLevel[xC][yC] - 1), LevelTH)
係数レベル復号処理部１２４ｆは、変換係数のレベルを示すシンタックスcoeff_abs_remaininを復号する場合に用いるゴロムライス符号のパラメータrを導出し、このパラメータｒを用いてコンテキストを用いない算術符号復号であるバイパスにより、シンタックスcoeff_abs_remainingを復号する。なお、パラメータrは、復号済みの絶対値和sumAbsLevelと変換係数の数cntを用いて以下の式で求める。この式は、復号済みの絶対値和sumAbsLevel及び変換係数の数cntとｒの対応を示すテーブルにより実現することもできる。
【０２２３】
ｒ＝０（０≦Min(sumAbsLevel-cnt)＜４）
１（４≦Min(sumAbsLevel-cnt)＜１０）
２（１０≦Min(sumAbsLevel-cnt)＜２１）
３（２１≦Min(sumAbsLevel-cnt)
（係数レベル記憶部１２４ｄ）
係数レベル記憶部１２４ｄには、クリップ後の変換係数のレベルtransCoeffLevel [xC][yC]の各値が格納される。つまり、Min (abs (transCoeffLevel[xC][yC]) , LevelTH)の値が格納される。係数レベル記憶部１２４ｄに格納された transCoeffLevel[xC][yC]の各値は、係数有無フラグコンテキスト導出部１２４ｚによって参照される。
【０２２４】
以上の構成では、係数有無フラグコンテキスト導出部１２４ｚにおいて、既に復号された変換係数のレベルのクリップされた値に応じて、コンテキストインデックスを導出する。変換係数のレベルを用いることにより、非０の変換係数の数を用いる場合に比べ、高い精度のコンテキスト分類が可能になり、変換係数の符号量が低減する効果を奏する。また、既に復号された変換係数のレベルと所定のマスクとの積を用いるため、係数レベル記憶部１２４ｄに必要なメモリサイズを低減する効果を奏する。
【０２２５】
＜係数レベル復号部１２４の第２の構成例＞
以下では、図２３（ｂ）を参照して、係数レベル復号部１２４の第２の構成例について説明する。以下に説明する係数レベル復号部１２４の第２の構成例では、図１に示す非０変換係数カウント部１２４ｙを備える点を除き、係数レベル復号部１２４の第１の構成例と同じ構成を用いる。
【０２２６】
非０変換係数カウント部１２４ｙは、係数有無フラグの復号結果に基づいて、対象サブブロック内の非０変換係数の数numSigCoeffをカウントし、係数有無フラグコンテキスト導出部１２４ｚに供給する。
【０２２７】
図２３（ｂ）は、係数レベル復号部１２４の第２の構成例におけるコンテキスト導出処理を示す図である。
【０２２８】
図２３（ｂ）のＡ７に示す通り、対象サブブロック内の変換係数の数numSigCoeffが所定の閾値ＴＨ未満である場合には、既に復号した変換係数のレベルの和を用いてコンテキストインデックスctxIdxを導出する。逆に所定の閾値ＴＨ以上である場合には、対象サブブロックで最後に用いたコンテキストインデックスlastCtxIdxを用いる。なお、コンテキストインデックスの導出は、第１の実施形態と同様、クリップ後の変換係数transCoeffLevel [xC][yC]の和を用いると、メモリサイズの低減を行うこともできる。また、以下のように、クリップのない変換係数transCoeffLevel [xC][yC]を用いても良い。
【０２２９】
sumAbsLevel = | Coeff[xC+1][yC] |
+ | Coeff[xC+2][yC] |
+ | Coeff[xC][yC+1] |
+ | Coeff[xC+1][yC+1] |
+ | Coeff[xC][yC+2] |
本構成は、既に説明した係数有無フラグsignificant_coeff_flagのコンテキストインデックス導出および、変換係数のレベルを示すシンタックスcoeff_abs_greater1_flagのコンテキストインデックス導出に好適に利用することができる。
【０２３０】
なお、逆に所定の閾値ＴＨ以上である場合には、対象サブブロックで最後に用いたコンテキストインデックスlastCtxIdxを用いる代わりに、対象変換係数を復号する前に対象サブブロックで用いたコンテキストインデックスの最大値を用いても良い。また、対象変換係数を復号する前に用いたsumAbsLeveの最大値を用いてコンテキストインデックスを導出しても良い。また、逆に所定の閾値ＴＨ以上である場合には、専用の固定のコンテキストインデックスを用いても良い。所定の閾値ＴＨ以上である場合には、非０係数の出現確率が高い、もしくは、レベルの大きい変換係数が出現しやすい性質をもつため専用のコンテキストを用いることで高い精度で出現確率を推定することができる。
【０２３１】
また、コンテキストインデックスによらず、変換係数のレベルを示すシンタックス（例えばcoeff_abs_remaining）を復号する場合に用いるパラメータｒを導出する場合に同様の手法が用いることができる。すなわち、対象サブブロックで最後に用いたパラメータr、対象変換係数を復号する前に対象サブブロックで用いたrの最大値、対象変換係数を復号する前に用いたsumAbsLevelの最大値、所定の閾値ＴＨ以上である場合の固定値を用いることができる。
【０２３２】
以上の構成では、対象サブブロック内の変換係数の数が多い場合には、所定の数以上の変換係数について、周辺参照（既に復号した変換係数）を用いずに、コンテキストインデックスを導出するため、スループットが向上する効果を奏する。また、所定の数以上の変換係数においても、既に復号した変換係数の値に基づいて、もしくは、固定の値に基づいて好適なコンテキストインデックスを導出することができるため、符号化効率を維持したままスループットの高い変換係数の復号が可能になる。コンテキストインデックスに限らず、変換係数の値を復号するためのパラメータの導出においても同様の効果を奏する。
【０２３３】
＜係数レベル復号部１２４の第３の構成例＞
以下では、図２３（ｃ）を参照して、係数レベル復号部１２４の第３の構成例について説明する。以下に説明する係数レベル復号部１２４の第２の構成例では、図１に示す非０変換係数カウント部１２４ｙを備える点を除き、係数レベル復号部１２４の第１の構成例と同じ構成を用いる。
【０２３４】
非０変換係数カウント部１２４ｙは、係数有無フラグの復号結果に基づいて、対象サブブロック内の非０変換係数の数の直前値lastNumSigCoeffをカウントし、係数有無フラグコンテキスト導出部１２４ｚに供給する。
【０２３５】
図２３（ｃ）は、係数レベル復号部１２４の第２の構成例におけるコンテキスト導出処理を示す図である。
【０２３６】
図２３（ｃ）のＡ８に示す通り、対象サブブロック内の変換係数の数の直前値lastNumSigCoeffが所定の閾値ＴＨ未満である場合には、既に復号した変換係数のレベルの和を用いてコンテキストインデックスctxIdxを導出する。逆に所定の閾値以下である場合には、対象サブブロックで最後に用いたコンテキストインデックスlastCtxIdxを用いる。なお、コンテキストインデックスの導出は、第１の実施形態と同様、クリップ後の変換係数transCoeffLevel [xC][yC]の和を用いると、メモリサイズの低減を行うこともできる。また、以下のように、クリップのない変換係数transCoeffLevel [xC][yC]を用いても良い。
【０２３７】
以上の構成では、対象サブブロック内の変換係数の数が多い場合には、周辺参照（既に復号した変換係数）を用いずに、コンテキストインデックスを導出するため、スループットが向上する効果を奏する。また、lastNumSigCoeffは直前に復号した係数有無フラグの復号結果に依存しないため、係数有無フラグの復号と、次の係数有無フラグのコンテキストインデックスを並行で実行できるためスループットがさらに向上する。なお、対象サブブロック内の変換係数の数の直前値lastNumSigCoeffの導出方法の詳細は、図２７を用いて後述する。
【０２３８】
また、以上の構成では、対象サブブロック内の変換係数の数の直前値lastNumSigCoeff、すなわち対象変換係数の前の前の非０変換係数有無フラグを復号した時点での非０変換係数の数を用いる構成であったが、これに限られない。
【０２３９】
lastNumSigCoeffのさらに直前値を用いる構成としてもよい。すなわち、対象変換係数のより所定数前の非０変換係数有無フラグを復号した時点での非０変換係数の数を用いる構成としてもよい。lastlastNumSigCoeffは一つの例である。
【０２４０】
＜変換係数復号部１２０による処理の流れ＞
以下では、変換係数復号部１２０による変換係数復号処理の流れについて、図２５を参照して説明する。
【０２４１】
図２５は、変換係数復号部１２０による変換係数復号処理の流れを示すフローチャートである。
【０２４２】
（ステップＳ２１）
まず、変換係数復号部１２０の備える係数復号制御部１２３は、スキャンタイプScanTypeを選択する。
【０２４３】
（ステップＳ２２）
続いて、変換係数復号部１２０の備えるラスト係数位置復号部１２１は、順スキャンに沿って最後の変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを復号する。
【０２４４】
（ステップＳ２３）
続いて、係数復号制御部１２３は、サブブロックを単位とするループを開始する。なお、ラスト係数のあるサブブロックをループの開始位置とし、サブブロックスキャンの逆スキャン順に、サブブロック単位の復号処理が行われる。
【０２４５】
（ステップＳ２４）
続いて、変換係数復号部１２０の備えるサブブロック係数有無フラグ復号部１２７は、サブブロック係数有無フラグsignificant_coeff_group_flagを復号する。
【０２４６】
（ステップＳ２５）
続いて、変換係数復号部１２０の備える係数レベル復号部１２４は、対象サブブロック内の各非ゼロ変換係数有無フラグsignificant_coeff_flagと非ゼロ変換係数の大きさを復号する。非ゼロ変換係数の大きさは、coeff_abs_level_greater1_flag、coeff_abs_level_remainingを復号することによって行われる。coeff_abs_level_remainingは、コンテストを用いない算術符号であるバイパスにより復号される。
【０２４７】
（ステップＳ２６）
続いて、変換係数復号部１２０の備える係数符号復号部１２５は、対象サブブロック内の非０変換係数の符号coeff_sign_flagを復号する。coeff_sign_flagは、コンテストを用いない算術符号であるバイパスにより復号される。
【０２４８】
（ステップＳ２７）
本ステップは、サブブロックを単位とするループの終端である。（ステップＳ２３のサブブロックを単位とするループの終端）
Ｓ２３〜Ｓ２７の流れでは、サブブロック内のループとして、変換係数有無フラグと、変換係数の大きさを示すシンタックスを復号するループと、符号を復号するループの２つのループから構成される。
【０２４９】
以上の構成では、１つのサブブロック内において、個々の変換係数有無フラグと、変換係数の大きさを示すシンタックスを連続して配置した符号化データを復号することにより、変換係数有無フラグおよび変換係数の大きさを示すシンタックスのコンテキストインデックスを、既に復号した変換係数の値を用いて定めることができ、シンタックスの符号量が低減する効果を奏する。同時に、１つのサブブロック内の集合としてまとまられた変換係数の符号を連続してバイパスで復号することにより、一度に復号できる符号量が増加しスループットが向上する効果を奏する。
＜＜サブブロック係数有無フラグの復号処理＞＞
図２６は、サブブロック係数有無フラグを復号する処理（ステップＳ２４）をより具体的に説明するためのフローチャートである。
【０２５０】
サブブロック係数有無フラグ復号部１２７は、サブブロックのループを開始する前に対象周波数領域に含まれるサブブロック係数有無フラグsignificant_coeff_group_flagの値を初期化する。この初期化処理は、ＤＣ係数を含むサブブロックのサブブロック係数有無フラグと、ラスト係数を含むサブブロックのサブブロック係数有無フラグとを１に設定し、その他のサブブロック係数有無フラグを０に設定することによって行われる。
【０２５１】
（ステップＳ２４４）
サブブロック係数有無フラグ復号部１２７は、サブブロックの位置を取得する。
【０２５２】
（ステップＳ２４７）
サブブロック係数有無フラグ復号部１２７は、対象サブブロックがラスト係数を含むサブブロック、もしくはＤＣ係数であるか否かを判別する。
【０２５３】
（ステップＳ２４８）
対象サブブロックがラスト係数を含むサブブロック、もしくはＤＣ係数でないとき（ステップＳ２４７でＮｏ）、係数有無フラグ復号部１２４は、サブブロック係数有無フラグsignificant_coeff_group_flagを復号する。
＜＜係数有無フラグと変換係数の大きさの復号処理＞＞
図２７は、係数レベル復号部１２４におけるサブブロック内の各非ゼロ変換係数有無フラグsignificant_coeff_flagと非ゼロ変換係数の大きさを復号する処理（図２５のステップＳ２５）をより具体的に説明するためのフローチャートである。
【０２５４】
（ステップＳ２５０１）
続いて、係数レベル復号部１２４は、対象サブブロック内の変換係数の数numSigCoeffを０に初期化する。また、対象サブブロック内の変換係数の数の直前値lastNumSigCoeffを０に初期化する。対象サブブロック内の変換係数の数の直前値の直前値lastlastNumSigCoeffを用いる場合には、lastlastNumSigCoeffを０に初期化する。
【０２５５】
（ステップＳ２５０２）
係数レベル復号部１２４は、対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
【０２５６】
（ステップＳ２５０３）
係数レベル復号部１２４は、変換係数の位置がラスト位置であるか否かを判別する。
【０２５７】
（ステップＳ２５０４）
変換係数の位置がラスト位置でないとき（ステップＳ２５０４でＮｏ）、係数レベル復号部１２４は、変換係数有無フラグsignificant_coeff_flagを復号する。
【０２５８】
（ステップＳ２５０５）
対象サブブロック内の変換係数の数の直前値lastNumSigCoeffに、変換係数の数numSigCoeffを代入する。なお、この処理（直前値lastNumSigCoeffの更新）は、対象サブブロック内の変換係数numSigCoeffの数を更新する処理（ステップＳ２５０７）の前で処理することが必要である。なお、numSigCoeffの前で処理する限り、他の順序で処理を行っても良い。なお、対象サブブロック内の変換係数の数の直前値の直前値lastlastNumSigCoeffを用いる場合には、直前値lastNumSigCoeffを更新する前に、lastNumSigCoeffの更新を行う。
【０２５９】
（ステップＳ２５０６）
係数レベル復号部１２４は、変換係数が非ゼロ係数であるか否かを判別する。
【０２６０】
（ステップＳ２５０７）
変換係数の位置が非ゼロ係数であるとき（ステップＳ２５０６でＹｅｓ）、変換係数の数numSigCoeffを１だけインクリメントする。
【０２６１】
（ステップＳ２５０８）
変換係数の位置が非ゼロ係数であるとき（ステップＳ２５０６でＹｅｓ）、ステップＳ２５０６に続いて、係数レベル復号部１２４は、変換係数の大きさを復号する。
【０２６２】
（ステップＳ２５０９）
本ステップは、周波数成分を単位とするループの終端である。（ステップＳ２５０２の周波数成分を単位とするループの終端）
＜＜変換係数の符号の復号処理＞＞
図２８は、サブブロック内の各非ゼロ変換係数の符号を復号する処理（図２５のステップＳ２６）をより具体的に説明するためのフローチャートである。
【０２６３】
（ステップＳ２６０１）
係数符号復号部１２５は、対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
【０２６４】
（ステップＳ２６０２）
係数符号復号部１２５は、変換係数が非ゼロ係数であるか否かを判別する。
【０２６５】
（ステップＳ２６０３）
変換係数が非ゼロ係数であるとき（ステップＳ２６０２でＹｅｓ）、係数符号復号部１２５は、サインハイディングを行うか否かを判別する。
【０２６６】
（ステップＳ２６０４）
係数符号復号部１２５は、サインハイディングを行わないとき（ステップＳ２６０３でＮｏ）、係数符号復号部１２５は、変換係数の符号を復号する。
【０２６７】
（ステップＳ２６０５）
本ステップは、周波数成分を単位とするループの終端である。（ステップＳ２６０１の周波数成分を単位とするループの終端）
＜＜変換係数の大きさの復号処理＞＞
図２９は、係数レベル復号部１２４におけるサブブロック内の各非ゼロ変換係数の符号を復号する処理（図２７のステップＳ２５０７）をより具体的に説明するためのフローチャートである。
【０２６８】
（ステップＳ２５０７Ａ）
係数レベル復号部１２４は、変換係数の数numSigCoeffが所定の閾値ＴＨ未満か否かを判別する。この判別において、直前に復号した変換係数有無フラグの値に依存しないように、変換係数の数numSigCoeffの代わりにlastNumSigCoeffを用いても良い。なお、lastNumSigCoeffを用いる場合には、以下の記載のnumSigCoeffをlastNumSigCoeffに置き換える。
【０２６９】
（ステップＳ２５０７Ｂ）
変換係数の数numSigCoeffが所定の閾値ＴＨ未満であるとき（ステップＳ２５０７ＡでＹｅｓ）、係数レベル復号部１２４は、coeff_abs_greater1_flagを復号する。
【０２７０】
（ステップＳ２５０７Ｃ）
変換係数の数numSigCoeffが所定の閾値ＴＨ以上であるとき（ステップＳ２５０７ＡでＮｏ）、係数レベル復号部１２４は、coeff_abs_greater1_flagを０に設定する。なお、変換係数の数numSigCoeffが所定の閾値ＴＨ以上であるときは、ハイスループットモードに対応する。
【０２７１】
（ステップＳ２５０７Ｄ）
係数レベル復号部１２４は、baseLevelを１とcoeff_abs_greater1_flagとの和により導出する。
【０２７２】
（ステップＳ２５０７Ｅ）
係数レベル復号部１２４は、baseLevelが所定の値に一致するか否かを判別する。所定の値は、変換係数の数numSigCoeffが所定の閾値ＴＨ未満には２、それ以外の場合には１とする。
【０２７３】
（ステップＳ２５０７Ｆ）
係数レベル復号部１２４はbaseLevelが所定の値に一致するとき（ステップＳ２５０７ＥでＹｅｓ）、coeff_abs_remainingを復号する。
【０２７４】
（ステップＳ２５０７Ｇ）
係数レベル復号部１２４はbaseLevelが所定の値に一致しないとき（ステップＳ２５０７ＥでＮｏ）、coeff_abs_remainingを０とする。
【０２７５】
（ステップＳ２５０７Ｈ）
係数レベル復号部１２４は変換係数の大きさtransCoeffLevelをcoeff_abs_remainingとbaseLevelとの和により導出する。
【０２７６】
以上に示したように、動画像復号装置１は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する。また、動画像復号装置１は、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割する可変長符号復号部１１と、分割された各サブブロックについて、当該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ設定部１２７ｃと、上記各サブブロック内の各変換係数が０である否かを表す非０変換係数有無フラグを復号する係数有無フラグ設定部１２４ｅと、上記各サブブロック内の各変換係数の大きさを復号する係数レベル復号処理部１２４ｆと、復号済みの変換係数の値を参照することによってコンテキストインデックスを導出する係数有無フラグコンテキスト導出部１２３ｚと、を備える構成である。
【０２７７】
上記構成によれば、符号化効率を維持したまま、従来の構成に比べて変換係数の符号化及び復号に係るメモリ量を削減すること、および、スループットを向上させることができる。
〔動画像符号化装置２〕
本実施形態に係る動画像符号化装置２の構成について図３０〜図３４を参照して説明する。動画像符号化装置２は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格に採用されている技術、および、その後継コーデックであるＨＥＶＣ（High-Efficiency Video Coding）にて提案されている技術を実装している符号化装置である。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
【０２７８】
図３０は、動画像符号化装置２の構成を示すブロック図である。図３０に示すように、動画像符号化装置２は、予測画像生成部２１、変換・量子化部２２、逆量子化・逆変換部２３、加算器２４、フレームメモリ２５、ループフィルタ２６、可変長符号符号化部２７、および、減算器２８を備えている。また、図３０に示すように、予測画像生成部２１は、イントラ予測画像生成部２１ａ、動きベクトル検出部２１ｂ、インター予測画像生成部２１ｃ、予測方式制御部２１ｄ、および、動きベクトル冗長性削除部２１ｅを備えている。動画像符号化装置２は、動画像＃１０（符号化対象画像）を符号化することによって、符号化データ＃１を生成する装置である。
【０２７９】
（予測画像生成部２１）
予測画像生成部２１は、処理対象ＬＣＵを、１または複数の下位ＣＵに再帰的に分割し、各リーフＣＵをさらに１または複数のパーティションに分割し、パーティション毎に、画面間予測を用いたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒ、または、画面内予測を用いたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。生成されたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒおよびイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａは、予測画像Ｐｒｅｄとして、加算器２４および減算器２８に供給される。
【０２８０】
なお、予測画像生成部２１は、スキップモードの適応されたＰＵについては、当該ＰＵに属する他のパラメータの符号化を省略する。また、（１）対象ＬＣＵにおける下位ＣＵおよびパーティションへの分割の態様、（２）スキップモードを適用するか否か、および、（３）パーティション毎にインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒおよびイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａの何れを生成するか、は、符号化効率を最適化するように決定される。
【０２８１】
（イントラ予測画像生成部２１ａ）
イントラ予測画像生成部２１ａは、画面内予測によって、各パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、（１）各パーティションついてイントラ予測に用いる予測モードを選択し、（２）選択した予測モードを用いて、復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部２１ａは、生成したイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを、予測方式制御部２１ｄに供給する。
【０２８２】
また、イントラ予測画像生成部２１ａは、対象パーティションの周辺のパーティションに割り付けられた予測モードから対象パーティションに対する推定予測モードを決定し、当該推定予測モードと、対象パーティションについて実際に選択された予測モードとが同じであるか否かを示す推定予測モードフラグを、イントラ予測パラメータＰＰ＿Ｉｎｔｒａの一部として、予測方式制御部２１ｄを介して可変長符号符号化部２７に供給し、可変長符号符号化部２７は、当該フラグを、符号化データ＃１に含める構成とする。
【０２８３】
また、イントラ予測画像生成部２１ａは、対象パーティションについての推定予測モードと、対象パーティションについて実際に選択された予測モードとが異なる場合には、対象パーティションについての予測モードを示す残余予測モードインデックスを、イントラ予測パラメータＰＰ＿Ｉｎｔｒａの一部として、予測方式制御部２１ｄを介して可変長符号符号化部２７に供給し、可変長符号符号化部２７は当該残余予測モードインデックスを符号化データ＃１に含める構成とする。
【０２８４】
なお、イントラ予測画像生成部２１ａは、予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する際に、図１４に示した予測モードから、より符号化効率が向上する予測モードを選択して適用する。
【０２８５】
（動きベクトル検出部２１ｂ）
動きベクトル検出部２１ｂは、各パーティションに関する動きベクトルｍｖを検出する。具体的には、（１）参照画像として利用する適応フィルタ済復号画像Ｐ＿ＡＬＦ’を選択し、（２）選択した適応フィルタ済復号画像Ｐ＿ＡＬＦ’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルｍｖを検出する。ここで、適応フィルタ済復号画像Ｐ＿ＡＬＦ’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ２６による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部２１ｂは、適応フィルタ済復号画像Ｐ＿ＡＬＦ’を構成する各画素の画素値をフレームメモリ２５から読み出すことができる。動きベクトル検出部２１ｂは、検出した動きベクトルｍｖを、参照画像として利用した適応フィルタ済復号画像Ｐ＿ＡＬＦ’を指定する参照画像インデックスＲＩと共に、インター予測画像生成部２１ｃ及び動きベクトル冗長性削除部２１ｅに供給する。
【０２８６】
（インター予測画像生成部２１ｃ）
インター予測画像生成部２１ｃは、画面間予測によって、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル検出部２１ｂから供給された動きベクトルｍｖを用いて、動きベクトル検出部２１ｂから供給された参照画像インデックスＲＩによって指定される適応フィルタ済復号画像Ｐ＿ＡＬＦ’から動き補償画像ｍｃを生成する。動きベクトル検出部２１ｂと同様に、インター予測画像生成部２１ｃは、適応フィルタ済復号画像Ｐ＿ＡＬＦ’を構成する各画素の画素値をフレームメモリ２５から読み出すことができる。インター予測画像生成部２１ｃは、生成した動き補償画像ｍｃ（インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒ）を、動きベクトル検出部２１ｂから供給された参照画像インデックスＲＩと共に、予測方式制御部２１ｄに供給する。
【０２８７】
（予測方式制御部２１ｄ）
予測方式制御部２１ｄは、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａ及びインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部２１ｄは、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器２４及び減算器２８に供給すると共に、イントラ予測画像生成部２１ａから供給されるイントラ予測パラメータＰＰ＿Ｉｎｔｒａを可変長符号符号化部２７に供給する。一方、インター予測を選択した場合、予測方式制御部２１ｄは、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器２４及び減算器２８に供給すると共に、参照画像インデックスＲＩ、並びに、後述する動きベクトル冗長性削除部２１ｅから供給された推定動きベクトルインデックスＰＭＶＩ及び動きベクトル残差ＭＶＤをインター予測パラメータＰＰ＿Ｉｎｔｅｒとして可変長符号符号化部２７に供給する。また、予測方式制御部２１ｄは、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａ及びインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒのうち何れの予測画像を選択したのかを示す予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅを可変長符号符号化部２７に供給する。
【０２８８】
（動きベクトル冗長性削除部２１ｅ）
動きベクトル冗長性削除部２１ｅは、動きベクトル検出部２１ｂによって検出された動きベクトルｍｖにおける冗長性を削除する。具体的には、（１）動きベクトルｍｖの推定に用いる推定方法を選択し、（２）選択した推定方法に従って推定動きベクトルｐｍｖを導出し、（３）動きベクトルｍｖから推定動きベクトルｐｍｖを減算することにより動きベクトル残差ＭＶＤを生成する。動きベクトル冗長性削除部２１ｅは、生成した動きベクトル残差ＭＶＤを、選択した推定方法を示す推定動きベクトルインデックスＰＭＶＩと共に、予測方式制御部２１ｄに供給する。
【０２８９】
（変換・量子化部２２）
変換・量子化部２２は、（１）符号化対象画像から予測画像Ｐｒｅｄを減算した予測残差Ｄに対してブロック（変換単位）毎にＤＣＴ変換（Discrete Cosine Transform）等の周波数変換を施し、（２）周波数変換により得られた変換係数Ｃｏｅｆｆ＿ＩＱを量子化し、（３）量子化により得られた変換係数Ｃｏｅｆｆを可変長符号符号化部２７及び逆量子化・逆変換部２３に供給する。なお、変換・量子化部２２は、（１）量子化の際に用いる量子化ステップＱＰをＴＵ毎に選択し、（２）選択した量子化ステップＱＰの大きさを示す量子化パラメータ差分Δｑｐを可変長符号符号化部２８に供給し、（３）選択した量子化ステップＱＰを逆量子化・逆変換部２３に供給する。ここで、量子化パラメータ差分Δｑｐとは、周波数変換及び量子化するＴＵに関する量子化パラメータｑｐ（例えばＱＰ＝２ｐｑ／６）の値から、直前に周波数変換及び量子化したＴＵに関する量子化パラメータｑｐ’の値を減算して得られる差分値のことを指す。
【０２９０】
なお、変換・量子化部２２によって行われるＤＣＴ変換は、例えば、対象ブロックのサイズが８×８画素である場合、水平方向の周波数ｕおよび垂直方向の周波数ｖについての量子化前の変換係数をＣｏｅｆｆ＿ＩＱ（ｕ、ｖ）（０≦ｕ≦７、０≦ｖ≦７）と表すことにすると、例えば、以下の数式（２）によって与えられる。
【０２９１】
【数２】
2013223051.tif 000004
【０２９２】
ここで、Ｄ（ｉ、ｊ）（０≦ｉ≦７、０≦ｊ≦７）は、対象ブロックにおける位置（ｉ、ｊ）での予測残差Ｄを表している。また、Ｃ（ｕ）およびＣ（ｖ）は、以下のように与えられる。
【０２９３】
・Ｃ（ｕ）＝１／√２  （ｕ＝０）
・Ｃ（ｕ）＝１        （ｕ≠０）
・Ｃ（ｖ）＝１／√２  （ｖ＝０）
・Ｃ（ｖ）＝１        （ｖ≠０）
（逆量子化・逆変換部２３）
逆量子化・逆変換部２３は、（１）量子化された変換係数Ｃｏｅｆｆを逆量子化し、（２）逆量子化によって得られた変換係数Ｃｏｅｆｆ＿ＩＱに対して逆ＤＣＴ（Discrete Cosine Transform）変換等の逆周波数変換を施し、（３）逆周波数変換によって得られた予測残差Ｄを加算器２４に供給する。量子化された変換係数Ｃｏｅｆｆを逆量子化する際には、変換・量子化部２２から供給された量子化ステップＱＰを利用する。なお、逆量子化・逆変換部２３から出力される予測残差Ｄは、変換・量子化部２２に入力される予測残差Ｄに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。逆量子化・逆変換部２３のより具体的な動作は、動画像復号装置１の備える逆量子化・逆変換部１３とほぼ同様である。
【０２９４】
（加算器２４）
加算器２４は、予測方式制御部２１ｄにて選択された予測画像Ｐｒｅｄを、逆量子化・逆変換部２３にて生成された予測残差Ｄに加算することによって、（局所）復号画像Ｐを生成する。加算器２４にて生成された（局所）復号画像Ｐは、ループフィルタ２６に供給されると共にフレームメモリ２５に格納され、イントラ予測における参照画像として利用される。
【０２９５】
（可変長符号符号化部２７）
可変長符号符号化部２７は、（１）変換・量子化部２２から供給された量子化後の変換係数Ｃｏｅｆｆ並びにΔｑｐ、（２）予測方式制御部２１ｄから供給された量子化パラメータＰＰ（インター予測パラメータＰＰ＿Ｉｎｔｅｒ、および、イントラ予測パラメータＰＰ＿Ｉｎｔｒａ）、（３）予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅ、および、（４）ループフィルタ２６から供給されたフィルタパラメータＦＰを可変長符号化することによって、符号化データ＃１を生成する。
【０２９６】
図３１は、可変長符号符号化部２７の構成を示すブロック図である。図３１に示すように、可変長符号符号化部２７は、量子化後の変換係数Ｃｏｅｆｆを符号化する量子化残差情報符号化部２７１、予測パラメータＰＰを符号化する予測パラメータ符号化部２７２、予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅを符号化する予測タイプ情報符号化部２７３、および、フィルタパラメータＦＰを符号化するフィルタパラメータ符号化部２７４を備えている。量子化残差情報符号化部２７１の具体的な構成については後述するためここでは説明を省略する。
【０２９７】
（減算器２８）
減算器２８は、予測方式制御部２１ｄにて選択された予測画像Ｐｒｅｄを、符号化対象画像から減算することによって、予測残差Ｄを生成する。減算器２８にて生成された予測残差Ｄは、変換・量子化部２２によって周波数変換及び量子化される。
【０２９８】
（ループフィルタ２６）
ループフィルタ２６は、（１）復号画像Ｐにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化（デブロック処理）を行うデブロッキングフィルタ（DF:Deblocking Filter）としての機能と、（２）デブロッキングフィルタが作用した画像に対して、フィルタパラメータＦＰを用いて適応フィルタ処理を行う適応フィルタ（ALF:Adaptive Loop Filter）としての機能を有している。
【０２９９】
（量子化残差情報符号化部２７１）
量子化残差情報符号化部２７１は、量子化された変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）をコンテキスト適応型２値算術符号化（ＣＡＢＡＣ：（Context-based Adaptive Binary Arithmetic Coding））することによって、量子化残差情報ＱＤを生成する。生成された量子化残差情報ＱＤに含まれるシンタックスは、図６及び図７に示した各シンタックス、及びsignificant_coeff_group_flagである。
【０３００】
なお、ｘＣおよびｙＣは、上述のように、周波数領域における各周波数成分の位置を表すインデックスであり、それぞれ、上述した水平方向周波数ｕおよび垂直方向周波数ｖに対応するインデックスである。なお、以下では、量子化された変換係数Ｃｏｅｆｆを、単に、変換係数Ｃｏｅｆｆと呼ぶこともある。
【０３０１】
（量子化残差情報符号化部２７１）
図３２は、量子化残差情報符号化部２７１の構成を示すブロック図である。図３２に示すように、量子化残差情報符号化部２７１は、変換係数符号化部２２０及び算術符号符号化部２３０を備えている。
【０３０２】
（算術符号符号化部２３０）
算術符号符号化部２３０は、変換係数符号化部２２０から供給される各Ｂｉｎをコンテキストを参照して符号化することによって量子化残差情報ＱＤを生成するための構成であり、図３２に示すように、コンテキスト記録更新部２３１及びビット符号化部２３２を備えている。
【０３０３】
（コンテキスト記録更新部２３１）
コンテキスト記録更新部２３１は、各コンテキストインデックスctxIdxによって管理されるコンテキスト変数ＣＶを記録及び更新するための構成である。ここで、コンテキスト変数ＣＶには、（１）発生確率が高い優勢シンボルＭＰＳ（most probable symbol）と、（２）その優勢シンボルＭＰＳの発生確率を指定する確率状態インデックスpStateIdxとが含まれている。
【０３０４】
コンテキスト記録更新部２３１は、変換係数符号化部２２０の備える各部から供給されるコンテキストインデックスctxIdx及びビット符号化部２３２によって符号化されたＢｉｎの値を参照することによってコンテキスト変数ＣＶを更新すると共に、更新されたコンテキスト変数ＣＶを次回更新されるまで記録する。なお、優勢シンボルＭＰＳは０か１である。また、優勢シンボルＭＰＳと確率状態インデックスpStateIdxは、ビット符号化部２３２がＢｉｎを１つ符号化する毎に更新される。
【０３０５】
また、コンテキストインデックスctxIdxは、各周波数成分についてのコンテキストを直接指定するものであってもよいし、処理対象のＴＵ毎に設定されるコンテキストインデックスのオフセットからの増分値であってもよい（以下同様）。
【０３０６】
（ビット符号化部２３２）
ビット符号化部２３２は、コンテキスト記録更新部２３１に記録されているコンテキスト変数ＣＶを参照し、変換係数符号化部２２０の備える各部から供給される各Ｂｉｎを符号化することによって量子化残差情報ＱＤを生成する。また、符号化したＢｉｎの値はコンテキスト記録更新部２３１にも供給され、コンテキスト変数ＣＶを更新するために参照される。
【０３０７】
（変換係数符号化部２２０）
図３２に示すように、変換係数符号化部２２０は、ラスト位置符号化部２２１、スキャン順テーブル格納部２２２、係数符号化制御部２２３、係数レベル符号化部２２４、係数符号符号化部２２５、符号化係数記憶部２２６、サブブロック係数有無フラグ２２７、及びシンタックス導出部２２８を備えている。
【０３０８】
（シンタックス導出部２２８）
シンタックス導出部２２８は、変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）の各値を参照し、対象周波数領域におけるこれらの変換係数を特定するためのシンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_sign_flag、及びcoeff_abs_level_remainingの各値を導出する。導出された各シンタックスは、符号化係数記憶部２２６に供給される。また、導出されたシンタックスのうちlast_significant_coeff_x、last_significant_coeff_yは、係数符号化制御部２２３及びラスト位置符号化部２２１にも供給される。また、導出されたシンタックスのうちsignificant_coeff_flagは、係数レベル符号化部２２４にも供給される。なお、各シンタックスが示す内容については上述したためここでは説明を省略する。
【０３０９】
（ラスト位置符号化部２２１）
ラスト位置符号化部２２１は、シンタックス導出部２２８より供給されるシンタックスlast_significant_coeff_x、last_significant_coeff_yを示すＢｉｎを生成する。また、生成した各Ｂｉｎをビット符号化部２３２に供給する。また、シンタックスlast_significant_coeff_x及びlast_significant_coeff_yのＢｉｎを符号化するために参照されるコンテキストを指定するコンテキストインデックスctxIdxを、コンテキスト記録更新部２３１に供給する。
【０３１０】
（スキャン順テーブル格納部２２２）
スキャン順テーブル格納部２２２には、処理対象のＴＵ（ブロック）のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。このようなスキャン順テーブルの一例としては、図６及び図７に示したScanOrderが挙げられる。
【０３１１】
また、スキャン順テーブル格納部２２２には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。ここで、サブブロックスキャン順テーブルは、処理対象のＴＵ（ブロック）のサイズとイントラ予測モードの予測モードインデックスとに関連付けられたスキャンインデックスscanIdxによって指定される。
【０３１２】
スキャン順テーブル格納部２２２に格納されているスキャン順テーブル及びサブブロックスキャン順テーブルは、動画像復号装置１の備えるスキャン順テーブル格納部１２２に格納されているものと同様であるので、ここでは説明を省略する。
【０３１３】
（係数符号化制御部２２３）
係数符号化制御部２２３は、量子化残差情報符号化部２７１の備える各部における符号化処理の順序を制御するための構成である。
【０３１４】
（ＴＵサイズが所定のサイズ以下である場合）
ＴＵサイズが所定のサイズ以下（例えば４×４ＴＵ等）である場合、係数符号化制御部２２３は、シンタックス導出部２２８より供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部２２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置（ｘＣ、ｙＣ）を、係数レベル符号化部２２４に供給する。
【０３１５】
また、係数符号化制御部２２３は、処理対象のＴＵのサイズを、変換係数符号化部２２０の備える各部に供給する（図示省略）。
【０３１６】
なお、係数符号化制御部２２３は、スキャン順テーブル格納部２２２に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置（ｘＣ、ｙＣ）を、係数レベル符号化部２２４に供給する構成としてもよい。
【０３１７】
係数符号化制御部２２３は、シンタックス導出部２２８から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部２２２に格納されたサブブロックスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各サブブロックの位置（ｘＣＧ、ｙＣＧ）を、サブブロック係数有無フラグ符号化部２２７に供給する。
【０３１８】
また、係数符号化制御部２２３は、処理対象となるサブブロックに関して、スキャン順テーブル格納部２２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置（ｘＣ、ｙＣ）を、係数レベル符号化部２２４に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、イントラ予測の場合には、イントラ予測モードインデックスIntraPredModeと、ＴＵサイズを指定する値log2TrafoSizeとによって指定されるスキャンインデックスscanIdxの示すスキャン順（水平方向優先スキャン、垂直方向優先スキャン、斜め方向スキャンのいずれか）を用い、インター予測の場合には、斜め方向スキャン（Up-right diagonal scan）を用いればよい。また、係数符号化制御部２２３は、当該ＴＵのサイズと当該ＴＵの予測モードとに関連付けられたスキャンインデックスscanIdxを、係数レベル符号化部２２４へ供給する。
【０３１９】
このように、係数符号化制御部２２３は、イントラ予測モード毎に、スキャン順を切り替える構成である。一般に、イントラ予測モードと変換係数の偏りとは互いに相関を有しているため、イントラ予測モードに応じてスキャン順を切り替えることにより、サブブロック係数有無フラグ、係数有無フラグの偏りに適したスキャンを行うことができる。これによって、符号化及び復号対象となるサブブロック係数有無フラグおよび係数有無フラグの符号量を削減することができ、符号化効率が向上する。
【０３２０】
（係数符号符号化部２２５）
係数符号符号化部２２５は、シンタックス導出部２２８から供給されるシンタックスcoeff_sign_flagを示すＢｉｎを生成する。また、生成した各Ｂｉｎをビット符号化部２３２に供給する。また、これらのシンタックスのＢｉｎを符号化するために参照されるコンテキストを指定するコンテキストインデックスctxIdxを、コンテキスト記録更新部２３１に供給する。
【０３２１】
（係数レベル符号化部２２４）
本実施形態に係る係数レベル符号化部２２４は、各位置（ｘＣ、ｙＣ）によって指定されるシンタックスsignificant_coeff_flag[xC][yC]、coeff_abs_level_greater1_flag、及びcoeff_abs_level_remainingを符号化する。より具体的には、係数レベル符号化部２２４は、各位置（ｘＣ、ｙＣ）によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を示すＢｉｎを生成する。生成された各Ｂｉｎは、ビット符号化部２３２に供給される。また、係数レベル符号化部２２４は、算術符号符号化部２３０にてシンタックスsignificant_coeff_flag[xC][yC]のＢｉｎを符号化するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部２３１に供給される。
【０３２２】
（係数レベル符号化部２２４の第１の構成例）
図３３は、本実施形態に係る係数レベル符号化部２２４の第１の構成例を示すブロック図である。図３３に示すように、係数レベル符号化部２２４は、係数有無フラグコンテキスト導出部２２４ｚ、及び、係数有無フラグ設定部２２４ｅ、係数レベル符号化処理部２２４ｆを備えている。
【０３２３】
（係数有無フラグコンテキスト導出部２２４ｚ）
係数有無フラグコンテキスト導出部２２４ｚは、符号化対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について符号化済みの非０変換係数の数ｃｎｔに基づいて導出する。より具体的には、係数有無フラグコンテキスト導出部２２４ｚは、対象周波数成分の位置（xC,yC）、もしくは、対象周波数成分が属するサブブロックの位置(xCG,yCG)が所定の条件を満たす場合、スキャンインデックスscanIdxと変換係数の位置に応じて異なる参照位置（テンプレート）を用いて符号化済みの非０変換係数の数ｃｎｔを導出する。
【０３２４】
係数有無フラグコンテキスト導出部２２４ｚによる具体的な処理は、動画像復号装置１の備える係数有無フラグコンテキスト導出部１２４ｚと同様であるので、ここでは説明を省略する。
【０３２５】
（係数有無フラグ設定部２２４ｅ）
係数有無フラグ設定部２２４ｅは、シンタックス導出部２２８から供給されるシンタックスsignificant_coeff_flag[xC][yC]を示すＢｉｎを生成する。生成したＢｉｎは、ビット符号化部２３２に供給される。また、係数有無フラグ設定部２２４ｅは、対象サブブロックに含まれるsignificant_coeff_flag[xC][yC]の値を参照し、対象サブブロックに含まれる全てのsignificant_coeff_flag[xC][yC]が０である場合、すなわち、当該対象サブブロックに非０変換係数が含まれていない場合に、当該対象サブブロックに関するsignificant_coeff_group_flag[xCG][yCG]の値を０に設定し、そうでない場合に当該対象サブブロックに関するsignificant_coeff_group_flag[xCG][yCG]の値を１に設定する。このように値が付されたsignificant_coeff_group_flag[xCG][yCG]は、サブブロック係数有無フラグ符号化部２２７に供給される。
【０３２６】
（係数レベル符号化処理部２２４ｆ）
係数レベル符号化処理部２２４ｆは、シンタックス導出部２２８から供給されるシンタックスcoeff_abs_greater1_flag[xC][yC]、coeff_abs_remaining[xC][yC]を示すＢｉｎと符号化に用いるコンテキストインデックスを生成する。係数レベル符号化処理部２２４ｆは、生成したＢｉｎをビット符号化部２３２に供給する。また、係数レベル符号化処理部２２４ｆは、生成したコンテキストインデックスをコンテキスト記録更新部２３１に供給する。
【０３２７】
（サブブロック係数有無フラグ符号化部２２７）
サブブロック係数有無フラグ符号化部２２７は、各サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるシンタックスsignificant_coeff_group_flag[xCG][yCG]を符号化する。より具体的には、各サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるシンタックスsignificant_coeff_group_flag[xCG][yCG]を示すＢｉｎを生成する。生成された各Ｂｉｎは、ビット符号化部２３２に供給される。また、サブブロック係数有無フラグ符号化部２２７は、算術符号符号化部２３０にてシンタックスsignificant_coeff_flag[xC][yC]のＢｉｎを符号化するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部２３１に供給される。
【０３２８】
図３４は、サブブロック係数有無フラグ符号化部２２７の構成を示すブロック図である。図３４に示すように、サブブロック係数有無フラグ符号化部２２７は、コンテキスト導出部２２７ａ、サブブロック係数有無フラグ記憶部２２７ｂ、及びサブブロック係数有無フラグ設定部２２７ｃを備えている。
【０３２９】
以下では、サブブロック係数有無フラグ符号化部２２７に対して、係数符号化制御部２２３から、サブブロック位置（ｘＣＧ、ｙＣＧ）が順スキャン順に供給される場合を例に挙げて説明を行う。なお、この場合、動画像復号装置１の備えるサブブロック係数有無フラグ復号部１２７では、サブブロック位置（ｘＣＧ、ｙＣＧ）が逆スキャン順に供給されることが好ましい。
【０３３０】
（コンテキスト導出部２２７ａ）
サブブロック係数有無フラグ符号化部２２７の備えるコンテキスト導出部２２７ａは、各サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるサブブロックに割り付けるコンテキストインデックスを導出する。サブブロックに割り付けられたコンテキストインデックスは、当該サブブロックについてのシンタックスsignificant_coeff_group_flagを示すＢｉｎを復号する際に用いられる。また、コンテキストインデックスを導出する際には、サブブロック係数有無フラグ記憶部２２７ｂに記憶されたサブブロック係数有無フラグの値が参照される。コンテキスト導出部２２７ａは、導出したコンテキストインデックスをコンテキスト記録更新部２３１に供給する。
【０３３１】
（サブブロック係数有無フラグ記憶部２２７ｂ）
サブブロック係数有無フラグ記憶部２２７ｂには、係数レベル符号化部２２４から供給されたシンタックスsignificant_coeffgroup_flagの各値が記憶されている。サブブロック係数有無フラグ設定部２２７ｃは、隣接サブブロックに割り付けられたシンタックスsignificant_coeffgroup_flagを、サブブロック係数有無フラグ記憶部２２７ｂから読み出すことができる。
【０３３２】
（サブブロック係数有無フラグ設定部２２７ｃ）
サブブロック係数有無フラグ設定部２２７ｃは、サブブロック係数有無フラグ設定部２２７ｃは、係数レベル符号化部２２４から供給されるシンタックスsignificant_coeff_group_flag[xCG][yCG]を示すＢｉｎを生成する。生成したＢｉｎは、ビット符号化部２３２に供給される。
〔付記事項１〕
図３５および図３６を用いて、動画像符号化装置２及び動画像復号装置１の応用例について説明する。上述した動画像符号化装置２及び動画像復号装置１は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像（ＣＧおよびＧＵＩを含む）であってもよい。
【０３３３】
まず、上述した動画像符号化装置２及び動画像復号装置１を、動画像の送信及び受信に利用できることを、図３５を参照して説明する。
【０３３４】
図３５の（ａ）は、動画像符号化装置２を搭載した送信装置ＰＲＯＤ＿Ａの構成を示したブロック図である。図３５の（ａ）に示すように、送信装置ＰＲＯＤ＿Ａは、動画像を符号化することによって符号化データを得る符号化部ＰＲＯＤ＿Ａ１と、符号化部ＰＲＯＤ＿Ａ１が得た符号化データで搬送波を変調することによって変調信号を得る変調部ＰＲＯＤ＿Ａ２と、変調部ＰＲＯＤ＿Ａ２が得た変調信号を送信する送信部ＰＲＯＤ＿Ａ３と、を備えている。上述した動画像符号化装置２は、この符号化部ＰＲＯＤ＿Ａ１として利用される。
【０３３５】
送信装置ＰＲＯＤ＿Ａは、符号化部ＰＲＯＤ＿Ａ１に入力する動画像の供給源として、動画像を撮像するカメラＰＲＯＤ＿Ａ４、動画像を記録した記録媒体ＰＲＯＤ＿Ａ５、動画像を外部から入力するための入力端子ＰＲＯＤ＿Ａ６、及び、画像を生成または加工する画像処理部Ａ７を更に備えていてもよい。図３５の（ａ）においては、これら全てを送信装置ＰＲＯＤ＿Ａが備えた構成を例示しているが、一部を省略しても構わない。
【０３３６】
なお、記録媒体ＰＲＯＤ＿Ａ５は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体ＰＲＯＤ＿Ａ５と符号化部ＰＲＯＤ＿Ａ１との間に、記録媒体ＰＲＯＤ＿Ａ５から読み出した符号化データを記録用の符号化方式に従って復号する復号部（不図示）を介在させるとよい。
【０３３７】
図３５の（ｂ）は、動画像復号装置１を搭載した受信装置ＰＲＯＤ＿Ｂの構成を示したブロック図である。図３５の（ｂ）に示すように、受信装置ＰＲＯＤ＿Ｂは、変調信号を受信する受信部ＰＲＯＤ＿Ｂ１と、受信部ＰＲＯＤ＿Ｂ１が受信した変調信号を復調することによって符号化データを得る復調部ＰＲＯＤ＿Ｂ２と、復調部ＰＲＯＤ＿Ｂ２が得た符号化データを復号することによって動画像を得る復号部ＰＲＯＤ＿Ｂ３と、を備えている。上述した動画像復号装置１は、この復号部ＰＲＯＤ＿Ｂ３として利用される。
【０３３８】
受信装置ＰＲＯＤ＿Ｂは、復号部ＰＲＯＤ＿Ｂ３が出力する動画像の供給先として、動画像を表示するディスプレイＰＲＯＤ＿Ｂ４、動画像を記録するための記録媒体ＰＲＯＤ＿Ｂ５、及び、動画像を外部に出力するための出力端子ＰＲＯＤ＿Ｂ６を更に備えていてもよい。図３５の（ｂ）においては、これら全てを受信装置ＰＲＯＤ＿Ｂが備えた構成を例示しているが、一部を省略しても構わない。
【０３３９】
なお、記録媒体ＰＲＯＤ＿Ｂ５は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部ＰＲＯＤ＿Ｂ３と記録媒体ＰＲＯＤ＿Ｂ５との間に、復号部ＰＲＯＤ＿Ｂ３から取得した動画像を記録用の符号化方式に従って符号化する符号化部（不図示）を介在させるとよい。
【０３４０】
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送（ここでは、送信先が予め特定されていない送信態様を指す）であってもよいし、通信（ここでは、送信先が予め特定されている送信態様を指す）であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
【０３４１】
例えば、地上デジタル放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を無線放送で送受信する送信装置ＰＲＯＤ＿Ａ／受信装置ＰＲＯＤ＿Ｂの一例である。また、ケーブルテレビ放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を有線放送で送受信する送信装置ＰＲＯＤ＿Ａ／受信装置ＰＲＯＤ＿Ｂの一例である。
【０３４２】
また、インターネットを用いたＶＯＤ（Video On Demand）サービスや動画共有サービスなどのサーバ（ワークステーションなど）／クライアント（テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど）は、変調信号を通信で送受信する送信装置ＰＲＯＤ＿Ａ／受信装置ＰＲＯＤ＿Ｂの一例である（通常、ＬＡＮにおいては伝送媒体として無線又は有線の何れかが用いられ、ＷＡＮにおいては伝送媒体として有線が用いられる）。ここで、パーソナルコンピュータには、デスクトップ型ＰＣ、ラップトップ型ＰＣ、及びタブレット型ＰＣが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
【０３４３】
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置ＰＲＯＤ＿Ａ及び受信装置ＰＲＯＤ＿Ｂの双方として機能する。
【０３４４】
次に、上述した動画像符号化装置２及び動画像復号装置１を、動画像の記録及び再生に利用できることを、図３６を参照して説明する。
【０３４５】
図３６の（ａ）は、上述した動画像符号化装置２を搭載した記録装置ＰＲＯＤ＿Ｃの構成を示したブロック図である。図３６の（ａ）に示すように、記録装置ＰＲＯＤ＿Ｃは、動画像を符号化することによって符号化データを得る符号化部ＰＲＯＤ＿Ｃ１と、符号化部ＰＲＯＤ＿Ｃ１が得た符号化データを記録媒体ＰＲＯＤ＿Ｍに書き込む書込部ＰＲＯＤ＿Ｃ２と、を備えている。上述した動画像符号化装置２は、この符号化部ＰＲＯＤ＿Ｃ１として利用される。
【０３４６】
なお、記録媒体ＰＲＯＤ＿Ｍは、（１）ＨＤＤ（Hard Disk Drive）やＳＳＤ(Solid State Drive)などのように、記録装置ＰＲＯＤ＿Ｃに内蔵されるタイプのものであってもよいし、（２）ＳＤメモリカードやＵＳＢ（Universal Serial Bus）フラッシュメモリなどのように、記録装置ＰＲＯＤ＿Ｃに接続されるタイプのものであってもよいし、（３）ＤＶＤ（Digital Versatile Disc）やＢＤ（Blu-ray Disc:登録商標）などのように、記録装置ＰＲＯＤ＿Ｃに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０３４７】
また、記録装置ＰＲＯＤ＿Ｃは、符号化部ＰＲＯＤ＿Ｃ１に入力する動画像の供給源として、動画像を撮像するカメラＰＲＯＤ＿Ｃ３、動画像を外部から入力するための入力端子ＰＲＯＤ＿Ｃ４、動画像を受信するための受信部ＰＲＯＤ＿Ｃ５、及び、画像を生成または加工する画像処理部Ｃ６を更に備えていてもよい。図３６の（ａ）においては、これら全てを記録装置ＰＲＯＤ＿Ｃが備えた構成を例示しているが、一部を省略しても構わない。
【０３４８】
なお、受信部ＰＲＯＤ＿Ｃ５は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部ＰＲＯＤ＿Ｃ５と符号化部ＰＲＯＤ＿Ｃ１との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部（不図示）を介在させるとよい。
【０３４９】
このような記録装置ＰＲＯＤ＿Ｃとしては、例えば、ＤＶＤレコーダ、ＢＤレコーダ、ＨＤＤ（Hard Disk Drive）レコーダなどが挙げられる（この場合、入力端子ＰＲＯＤ＿Ｃ４又は受信部ＰＲＯＤ＿Ｃ５が動画像の主な供給源となる）。また、カムコーダ（この場合、カメラＰＲＯＤ＿Ｃ３が動画像の主な供給源となる）、パーソナルコンピュータ（この場合、受信部ＰＲＯＤ＿Ｃ５又は画像処理部Ｃ６が動画像の主な供給源となる）、スマートフォン（この場合、カメラＰＲＯＤ＿Ｃ３又は受信部ＰＲＯＤ＿Ｃ５が動画像の主な供給源となる）なども、このような記録装置ＰＲＯＤ＿Ｃの一例である。
【０３５０】
図３６の（ｂ）は、上述した動画像復号装置１を搭載した再生装置ＰＲＯＤ＿Ｄの構成を示したブロックである。図３６の（ｂ）に示すように、再生装置ＰＲＯＤ＿Ｄは、記録媒体ＰＲＯＤ＿Ｍに書き込まれた符号化データを読み出す読出部ＰＲＯＤ＿Ｄ１と、読出部ＰＲＯＤ＿Ｄ１が読み出した符号化データを復号することによって動画像を得る復号部ＰＲＯＤ＿Ｄ２と、を備えている。上述した動画像復号装置１は、この復号部ＰＲＯＤ＿Ｄ２として利用される。
【０３５１】
なお、記録媒体ＰＲＯＤ＿Ｍは、（１）ＨＤＤやＳＳＤなどのように、再生装置ＰＲＯＤ＿Ｄに内蔵されるタイプのものであってもよいし、（２）ＳＤメモリカードやＵＳＢフラッシュメモリなどのように、再生装置ＰＲＯＤ＿Ｄに接続されるタイプのものであってもよいし、（３）ＤＶＤやＢＤなどのように、再生装置ＰＲＯＤ＿Ｄに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０３５２】
また、再生装置ＰＲＯＤ＿Ｄは、復号部ＰＲＯＤ＿Ｄ２が出力する動画像の供給先として、動画像を表示するディスプレイＰＲＯＤ＿Ｄ３、動画像を外部に出力するための出力端子ＰＲＯＤ＿Ｄ４、及び、動画像を送信する送信部ＰＲＯＤ＿Ｄ５を更に備えていてもよい。図３６の（ｂ）においては、これら全てを再生装置ＰＲＯＤ＿Ｄが備えた構成を例示しているが、一部を省略しても構わない。
【０３５３】
なお、送信部ＰＲＯＤ＿Ｄ５は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部ＰＲＯＤ＿Ｄ２と送信部ＰＲＯＤ＿Ｄ５との間に、動画像を伝送用の符号化方式で符号化する符号化部（不図示）を介在させるとよい。
【０３５４】
このような再生装置ＰＲＯＤ＿Ｄとしては、例えば、ＤＶＤプレイヤ、ＢＤプレイヤ、ＨＤＤプレイヤなどが挙げられる（この場合、テレビジョン受像機等が接続される出力端子ＰＲＯＤ＿Ｄ４が動画像の主な供給先となる）。また、テレビジョン受像機（この場合、ディスプレイＰＲＯＤ＿Ｄ３が動画像の主な供給先となる）、デジタルサイネージ（電子看板や電子掲示板等とも称され、ディスプレイＰＲＯＤ＿Ｄ３又は送信部ＰＲＯＤ＿Ｄ５が動画像の主な供給先となる）、デスクトップ型ＰＣ（この場合、出力端子ＰＲＯＤ＿Ｄ４又は送信部ＰＲＯＤ＿Ｄ５が動画像の主な供給先となる）、ラップトップ型又はタブレット型ＰＣ（この場合、ディスプレイＰＲＯＤ＿Ｄ３又は送信部ＰＲＯＤ＿Ｄ５が動画像の主な供給先となる）、スマートフォン（この場合、ディスプレイＰＲＯＤ＿Ｄ３又は送信部ＰＲＯＤ＿Ｄ５が動画像の主な供給先となる）なども、このような再生装置ＰＲＯＤ＿Ｄの一例である。
〔付記事項２〕
上述した動画像復号装置１、および動画像符号化装置２の各ブロックは、集積回路（ＩＣチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０３５５】
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ（Read Only Memory）、上記プログラムを展開するＲＡＭ（Random Access Memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０３５６】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク類、ＩＣカード（メモリカードを含む）／光カード等のカード類、マスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ類、あるいはＰＬＤ（Programmable logic device）やＦＰＧＡ（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０３５７】
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１無線、ＨＤＲ（High Data Rate）、ＮＦＣ（Near Field Communication）、ＤＬＮＡ（Digital Living Network Alliance）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
【０３５８】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０３５９】
本発明は、算術符号化された符号化データを復号する算術復号装置、および、算術符号化された符号化データを生成する算術符号化装置に好適に用いることができる。
【符号の説明】
【０３６０】
１            動画像復号装置（画像復号装置）
１１          可変長符号復号部（サブブロック分割手段）
１１１        量子化残差情報復号部（算術復号装置）
１２０        変換係数復号部
１２３        係数復号制御部
１２４        係数レベル復号部
１２４ｄ      係数レベル記憶部
１２４ｅ      係数有無フラグ設定部（非０変換係数有無フラグ復号手段）
１２４ｆ      係数レベル復号処理部（係数値復号手段）
１２４ｙ      非０変換係数カウント部（カウント手段）
１２４ｚ      係数有無フラグコンテキスト導出部（コンテキストインデックス導出手段）
１２５        係数符号復号部
１２７        サブブロック係数有無フラグ復号部
１２７ａ      サブブロック係数有無フラグコンテキスト導出部
１２７ｂ      サブブロック係数有無フラグ記憶部
１２７ｃ      サブブロック係数有無フラグ設定部（サブブロック係数有無フラグ復号手段）
１３０        算術符号復号部
１３１        コンテキスト記録更新部
１３２        ビット復号部
２            動画像符号化装置（画像符号化装置）
２７          可変長符号符号化部（サブブロック分割手段）
２７１        量子化残差情報符号化部（算術符号化装置）
２２０        変換係数符号化部
２２３        係数符号化制御部
２２４        係数レベル符号化部
２２４ｚ      係数有無フラグコンテキスト導出部（コンテキストインデックス導出手段）
２２４ｅ      係数有無フラグ設定部（非０変換係数有無フラグ符号化手段）
２２４ｆ      係数レベル符号化処理部（係数値符号化手段）
２２５        係数符号符号化部
２２７        サブブロック係数有無フラグ符号化部（サブブロック係数有無フラグ符号化手段）
２２７ａ      コンテキスト導出部
２２７ｂ      サブブロック係数有無フラグ記憶部
２２７ｃ      サブブロック係数有無フラグ設定部
２２８        シンタックス導出部
２３０        算術符号符号化部
２３１        コンテキスト記録更新部
２３２        ビット符号化部
【図１】
2013223051.tif 000005
【図２】
2013223051.tif 000006
【図３】
2013223051.tif 000007
【図４】
2013223051.tif 000008
【図５】
2013223051.tif 000009
【図６】
2013223051.tif 000010
【図７】
2013223051.tif 000011
【図８】
2013223051.tif 000012
【図９】
2013223051.tif 000013
【図１０】
2013223051.tif 000014
【図１１】
2013223051.tif 000015
【図１２】
2013223051.tif 000016
【図１３】
2013223051.tif 000017
【図１４】
2013223051.tif 000018
【図１５】
2013223051.tif 000019
【図１６】
2013223051.tif 000020
【図１７】
2013223051.tif 000021
【図１８】
2013223051.tif 000022
【図１９】
2013223051.tif 000023
【図２０】
2013223051.tif 000024
【図２１】
2013223051.tif 000025
【図２２】
2013223051.tif 000026
【図２３】
2013223051.tif 000027
【図２４】
2013223051.tif 000028
【図２５】
2013223051.tif 000029
【図２６】
2013223051.tif 000030
【図２７】
2013223051.tif 000031
【図２８】
2013223051.tif 000032
【図２９】
2013223051.tif 000033
【図３０】
2013223051.tif 000034
【図３１】
2013223051.tif 000035
【図３２】
2013223051.tif 000036
【図３３】
2013223051.tif 000037
【図３４】
2013223051.tif 000038
【図３５】
2013223051.tif 000039
【図３６】
2013223051.tif 000040