(57)【要約】【課題】変換係数の符号化及び復号に係る処理量を削減する【解決手段】量子化残差情報復号部１１１の備える係数有無フラグ復号部１２４は、対象周波数領域をサブブロックに分割し、ラスト係数を含むサブブロックの変換係数に対しては、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスを導出し、ラスト係数を含まないサブブロックの変換係数に対しては、復号済みの非０変換係数を参照することによってコンテキストインデックスを導出する。【選択図】図１
2013187869.tif 000002
【特許請求の範囲】
【請求項１】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、を備え、
上記非０変換係数有無フラグ復号手段は、ラスト係数を含むサブブロックの変換係数に対しては、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出し、ラスト係数を含まないサブブロックの変換係数に対しては、復号済みの非０変換係数を参照することによってコンテキストインデックスを導出することを特徴とする算術復号装置。
【請求項２】
上記非０変換係数有無フラグ復号手段は、ラスト係数を含むサブブロックの変換係数に対しては、対象変換係数の位置に基づく値を、コンテキストインデックスとして導出することを特徴とする請求項１に記載の算術復号装置。
【請求項３】
上記非０変換係数有無フラグ復号手段は、ラスト係数を含むサブブロックの変換係数を、サブブロック座標（xCG、yCG）に基づいて低周波数のサブブロックと高周波数のサブブロックとに分類し、低周波数のサブブロックについてはサブブロック内の位置を用いずにコンテキストインデックスを導出し、高周波数のサブブロックについてはサブブロック内の位置を用いてコンテキストインデックスを導出することを特徴とする１に記載の算術復号装置。
【請求項４】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
サブブロックのスキャン順を決定するスキャン順決定手段と、を備え、
上記スキャン順決定手段は、上記単位領域の幅と高さに応じてサブブロックスキャン順を決定することを特徴とする算術復号装置。
【請求項５】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域の幅と高さに応じてサブブロックのサイズを決定するサブブロックサイズ決定手段と、
処理対象の単位領域に対応する対象周波数領域を、上記サブブロックサイズ決定手段が決定したサイズのサブブロックに分割するサブブロック分割手段と、を備えていることを特徴とする算術復号装置。
【請求項６】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
スキャン順に応じてサブブロックサイズを決定するサブブロックサイズ決定手段と、
処理対象の単位領域に対応する対象周波数領域を、、上記サブブロックサイズ決定手段が決定したサイズのサブブロックに分割するサブブロック分割手段と、を備えていることを特徴とする算術復号装置。
【請求項７】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、を備え、
上記非０変換係数有無フラグ復号手段は、対象変換係数の座標が低周波領域に存在する場合とサブブロック座標が高周波領域に存在する場合は、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出し、対象変換係数の座標が低周波領域に存在せず、かつサブブロック座標が高周波領域に存在しない場合の変換係数に対しては、復号済みの非０変換係数を参照することによってコンテキストインデックスを導出する特徴とすることを特徴とする算術復号装置。
【請求項８】
上記非０変換係数有無フラグ復号手段は、対象変換係数を含むサブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGとの和が、上記単位領域の幅と高さの最大値から算出される閾値以上の場合に、当該サブブロックの座標が高周波領域に存在すると判定することを特徴とする請求項７に記載の算術復号装置。
【請求項９】
上記非０変換係数有無フラグ復号手段は、対象変換係数を含むサブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGとの和が、上記単位領域の幅と高さの和から算出される閾値以上の場合に、当該サブブロックの座標が高周波領域に存在すると判定することを特徴とする請求項７に記載の算術復号装置。
【請求項１０】
上記非０変換係数有無フラグ復号手段は、対象変換係数を含むサブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGとの和が、上記単位領域の幅と高さの最小値から算出される閾値以上の場合に、当該サブブロックの座標が高周波領域に存在すると判定することを特徴とする請求項７に記載の算術復号装置。
【請求項１１】
上記非０変換係数有無フラグ復号手段は、上記単位領域の幅と高さが異なる場合に閾値を調整することを特徴とする請求項８〜１０のいずれか１項に記載の算術復号装置。
【請求項１２】
上記非０変換係数有無フラグ復号手段は、対象となるサブブロックの幅と高さが異なる場合に閾値を調整することを特徴とする請求項８〜１０のいずれか１項に記載の算術復号装置。
【請求項１３】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、を備え、
上記非０変換係数有無フラグ復号手段は、非０変換係数有無フラグの開始位置をサブブロック内のスキャン順におけるＮの倍数（Ｎ＝２、４、８、１６）の位置に設定することを特徴とする算術復号装置。
【請求項１４】
上記Ｎは１６であることを特徴とする請求項１３に記載の算術復号装置。
【請求項１５】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
サインハイディングを行う変換係数の符号は、変換係数の符号を既に復号した変換係数の絶対値もしくは既に復号した変換係数の絶対値の和を用いて導出し、サインハイディングを行わない変換係数の符号は、符号化データからシンタックスを復号する係数サイン復号手段と、
サインハイディングを行うか否かの判定に用いるサインハイディングフラグを、対象サブブロック内で既に復号した非０の変換係数の位置の差、または、対象サブブロック内で既に既に復号した非０変換係数の数と所定の閾値との比較により導出するサインハイディングフラグ導出手段と、を備えていることを特徴とする算術復号装置。
【請求項１６】
上記サインハイディングフラグ導出手段は、対象変換係数を含むサブブロックの位置に応じて上記所定の閾値の値を変更することを特徴とする請求項１５に記載の算術復号装置。
【請求項１７】
上記、サインハイディングフラグ導出手段は、高周波領域における閾値として低周波領域における閾値以上の値を用いることを特徴とする請求項１６に記載の算術復号装置。
【請求項１８】
上記サインハイディングフラグ導出手段は、対象サブブロック内で既に復号した非０変換係数の数が１個か否かにより、サインハイディングフラグを導出することを特徴とする請求項１５に記載の算術復号装置。
【請求項１９】
上記係数サイン復号手段は、サインハイディングを行う対象となる変換係数の絶対値を用いて、上記サインハイディングを行う変換係数の符号を導出することを特徴とする請求項１５に記載の算術復号装置。
【請求項２０】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、
上記サブブロック係数有無フラグと、上記非０変換係数有無フラグの復号の開始位置を示す情報とを、ラスト係数が位置するサブブロックの位置を表すラストサブブロック位置と、サブブロック内のラスト係数の位置を表すサブブロック内ラスト係数位置とから復号するラスト係数位置復号手段と、を備えていることを特徴とする算術復号装置。
【請求項２１】
上記ラスト係数位置復号手段は、上記ラストサブブロック位置としてＸ座標とＹ座標とを復号し、上記サブブロック内ラスト係数位置としてＸ座標とＹ座標とを復号することを特徴とする請求項２０に記載の算術復号装置。
【請求項２２】
上記ラスト係数位置復号手段は、上記ラストサブブロック位置としてＸ座標とＹ座標とを復号し、上記サブブロック内ラスト係数位置としてサブブロック内のスキャン順を示す値を復号することを特徴とする請求項２０に記載の算術復号装置。
【請求項２３】
上記ラスト係数位置復号手段は、さらにラスト係数位置プリフィックスを復号し、
ラスト係数位置プリフィックスが所定の値以下の場合には、ラスト係数位置プリフィックスからラストサブブロック位置と上記サブブロック内ラスト係数位置を導出し、
ラスト係数位置プリフィックスが所定の値を超える場合には、上記ラストサブブロック位置と上記サブブロック内ラスト係数位置を復号することを特徴とする請求項２０に記載の算術復号装置。
【請求項２４】
請求項１から２３の何れか１項に記載の算術復号装置と、
上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、
上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、
を備えていることを特徴とする画像復号装置。
【請求項２５】
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、
上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを符号化する非０変換係数有無フラグ符号化手段と、を備え、
上記非０変換係数有無フラグ符号化手段は、ラスト係数を含むサブブロックの変換係数に対しては、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして用い、ラスト係数を含まないサブブロックの変換係数に対しては、符号化済みの非０変換係数を参照したコンテキストインデックスを用いることを特徴とする算術符号化装置。
【請求項２６】
符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、
請求項２５に記載の算術符号化装置と、
を備えており、
上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、
ことを特徴とする画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、算術符号化された符号化データを復号する算術復号装置、および、そのような算術復号装置を備えている画像復号装置に関する。また、算術符号化された符号化データを生成する算術符号化装置、および、そのような算術符号化装置を備えている画像符号化装置に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置（画像符号化装置）、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置（画像復号装置）が用いられている。
【０００３】
具体的な動画像符号化方式としては、例えば、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣや、その後継コーデックであるＨＥＶＣ（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 February, 2012（２０１２年２月１７日公開）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述の従来技術では、非０係数の有無を示すフラグや、ラスト位置を示すフラグ、サインハイディングに係るフラグの導出処理において、変換係数の符号化及び復号に係る処理量の削減が十分ではないという問題があった。
【００１１】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、従来の構成に比べて変換係数の符号化及び復号に係る処理量を削減することのできる算術復号装置及び算術符号化装置等を実現することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、を備え、上記非０変換係数有無フラグ復号手段は、ラスト係数を含むサブブロックの変換係数に対しては、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出し、ラスト係数を含まないサブブロックの変換係数に対しては、復号済みの非０変換係数を参照することによってコンテキストインデックスを導出することを特徴としている。
【００１３】
上記の構成によれば、復号済みの非０変換係数を参照することによって、コンテキストインデックスを導出するサブブロックを、ラスト係数を含まないサブブロックに限定する。これにより、復号済みの非０変換係数を参照する場合に必要なサブブロック内の係数有無フラグの導出方法の選択処理（テンプレートの選択）を省略することができ、係数有無フラグの復号処理を簡略化することができる。
【００１４】
本発明に係る算術復号装置では、上記非０変換係数有無フラグ復号手段は、ラスト係数を含むサブブロックの変換係数に対しては、対象変換係数の位置に基づく値を、コンテキストインデックスとして導出するものであってもよい。
【００１５】
上記の構成によれば、ラスト係数を含むサブブロックの変換係数のコンテキストを、対象変換係数の位置に応じて導出することができる。これにより、ラスト係数を含むサブブロック係数有無フラグの符号量を低減することができる。
【００１６】
本発明に係る算術復号装置では、上記非０変換係数有無フラグ復号手段は、ラスト係数を含むサブブロックの変換係数を、サブブロック座標（xCG、yCG）に基づいて低周波数のサブブロックと高周波数のサブブロックとに分類し、低周波数のサブブロックについてはサブブロック内の位置を用いずにコンテキストインデックスを導出し、高周波数のサブブロックについてはサブブロック内の位置を用いてコンテキストインデックスを導出するものであってもよい。
【００１７】
上記の構成によれば、低周波数のサブブロックに属する変換係数のコンテキストを、サブブロック内の位置によらずに導出することができる。これにより、コンテキスト導出処理を簡略化することができる。また、高周波数のサブブロックに属する変換係数のコンテキストはサブブロック内の位置を用いて導出するため、サブブロック係数有無フラグの符号量を低減することができる。
【００１８】
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、サブブロックのスキャン順を決定するスキャン順決定手段と、を備え、上記スキャン順決定手段は、上記単位領域の幅と高さに応じてスキャン順を決定することを特徴としている。
【００１９】
上記の構成によれば、対象画像の周波数変換の単位領域であるＴＵの幅と高さに応じてサブブロックスキャン順を決定する。これにより、例えば、ＴＵの幅と高さとが異なる場合に、非０係数の変換係数が出現しやすい領域を連続してスキャンすることにより、非０係数の変換係数が出現しやすい領域を連続して符号化でき、係数有無フラグの符号量を低減することができる。
【００２０】
本発明に係る算術復号装置では、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域の幅と高さに応じてサブブロックのサイズを決定するサブブロックサイズ決定手段と、処理対象の単位領域に対応する対象周波数領域を、上記サブブロックサイズ決定手段が決定したサイズのサブブロックに分割するサブブロック分割手段と、を備えていてもよい。
【００２１】
上記の構成によれば、対象画像の周波数変換の単位領域であるＴＵの幅と高さに応じてサブブロックのサイズを決定する。よって、例えば、ＴＵの幅と高さが異なる場合に、非０係数の変換係数が出現しやすい領域をカバーするようにサブブロックサイズを決定することにより、係数有無フラグの符号量を低減することができる。
【００２２】
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、スキャン順に応じてサブブロックサイズを決定するサブブロックサイズ決定手段と、処理対象の単位領域に対応する対象周波数領域を、、上記サブブロックサイズ決定手段が決定したサイズのサブブロックに分割するサブブロック分割手段と、を備えていることを特徴としている。
【００２３】
上記の構成によれば、スキャン順が非０係数の変換係数が出現しやすい領域の偏りに沿っている場合において、その偏りにあわせた変換係数の領域をカバーするようにサブブロックサイズを決定することができる。これにより、係数有無フラグの符号量を低減することができる。
【００２４】
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、を備え、上記非０変換係数有無フラグ復号手段は、対象変換係数の座標が低周波領域に存在する場合とサブブロック座標が高周波領域に存在する場合は、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出し、対象変換係数の座標が低周波領域に存在せず、かつサブブロック座標が高周波領域に存在しない場合の変換係数に対しては、復号済みの非０変換係数を参照することによってコンテキストインデックスを導出する特徴とすることを特徴としている。
【００２５】
上記の構成によれば、処理量の小さい位置コンテキストを多くの変換係数で用いることができる。これにより、コンテキストインデックスの導出に必要な処理量を低減することができる。
【００２６】
本発明に係る算術復号装置では、上記非０変換係数有無フラグ復号手段は、対象変換係数を含むサブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGとの和が、上記単位領域の幅と高さの最大値から算出される閾値以上の場合に、当該サブブロックの座標が高周波領域に存在すると判定するものであってもよい。
【００２７】
上記の構成によれば、位置コンテキストを用いる変換係数の領域を適切に設定することができる。これにより、コンテキストインデックスの導出に必要な処理量と符号化効率性能のバランスを好適にすることができる。
【００２８】
本発明に係る算術復号装置では、上記非０変換係数有無フラグ復号手段は、対象変換係数を含むサブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGとの和が、上記単位領域の幅と高さの和から算出される閾値以上の場合に、当該サブブロックの座標が高周波領域に存在すると判定するものであってもよい。
【００２９】
上記の構成によれば、位置コンテキストを用いる変換係数の領域を適切に設定することができる。これにより、コンテキストインデックスの導出に必要な処理量と符号化効率性能のバランスを好適にすることができる。
【００３０】
本発明に係る算術復号装置では、上記非０変換係数有無フラグ復号手段は、対象変換係数を含むサブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGとの和が、上記単位領域の幅と高さの最小値から算出される閾値以上の場合に、当該サブブロックの座標が高周波領域に存在すると判定するものであってもよい。
【００３１】
上記の構成によれば、位置コンテキストを用いる変換係数の領域を適切に設定することができる。これにより、コンテキストインデックスの導出に必要な処理量と符号化効率性能のバランスを好適にすることができる。
【００３２】
本発明に係る算術復号装置では、上記非０変換係数有無フラグ復号手段は、上記単位領域の幅と高さが異なる場合に閾値を調整するものであってもよい。
【００３３】
上記の構成によれば、位置コンテキストを用いる変換係数の領域をさらに適切に設定することができる。これにより、コンテキストインデックスの導出に必要な処理量と符号化効率性能のバランスをさらに好適にすることができる。
【００３４】
本発明に係る算術復号装置では、上記非０変換係数有無フラグ復号手段は、対象となるサブブロックの幅と高さが異なる場合に閾値を調整するものであってもよい。
【００３５】
上記の構成によれば、位置コンテキストを用いる変換係数の領域をさらに適切に設定する。これにより、コンテキストインデックスの導出に必要な処理量と符号化効率性能のバランスをさらに好適にすることができる。
【００３６】
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、を備え、上記非０変換係数有無フラグ復号手段は、非０変換係数有無フラグの開始位置をサブブロック内のスキャン順におけるＮの倍数（Ｎ＝２、４、８、１６）の位置に設定することを特徴としている。
【００３７】
上記の構成によれば、係数有無フラグの導出方法が対象変換係数のサブブロック内の位置に応じて変化するような場合において、サブブロック内の係数有無フラグの導出方法の選択処理（テンプレートの選択）を、Ｎ回に１回行えば良いことになる。これにより、係数有無フラグの復号処理を簡略化することができる。
【００３８】
本発明に係る算術復号装置では、上記Ｎは１６であってもよい。
【００３９】
上記の構成によれば、サブブロック内の係数有無フラグの導出方法の選択処理（テンプレートの選択）を省略することができる。これにより、係数有無フラグの復号処理を簡略化することができる。
【００４０】
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、サインハイディングを行う変換係数の符号は、変換係数の符号を既に復号した変換係数の絶対値もしくは既に復号した変換係数の絶対値の和を用いて導出し、サインハイディングを行わない変換係数の符号は、符号化データからシンタックスを復号する係数サイン復号手段と、サインハイディングを行うか否かの判定に用いるサインハイディングフラグを、対象サブブロック内で既に復号した非０の変換係数の位置の差、または、対象サブブロック内で既に既に復号した非０変換係数の数と所定の閾値との比較により導出するサインハイディングフラグ導出手段と、を備えていることを特徴としている。
【００４１】
上記の構成によれば、サインハイディングにより変換係数の符号の符号量を低減させることができる。これにより、符号化効率を向上させることができる。
【００４２】
本発明に係る算術復号装置では、上記サインハイディングフラグ導出手段は、対象変換係数を含むサブブロックの位置に応じて上記所定の閾値の値を変更するものであってもよい。
【００４３】
上記の構成によれば、主観画質に影響を与えやすい低周波数成分と、主観画質に影響を与えにくい高周波数成分とで、閾値を変更することができる。これにより、主観画質を低下させることなくサインハイディングの効果を向上させることができ、符号化効率を向上させることができる。
【００４４】
本発明に係る算術復号装置では、上記、サインハイディングフラグ導出手段は、高周波領域における閾値として低周波領域における閾値以上の値を用いるものであってもよい。
【００４５】
上記の構成によれば、主観画質に影響を与えやすい低周波数成分よりも主観画質に影響を与えにくい高周波数成分の閾値を大きくする。これにより、主観画質を低下させることなくサインハイディングの効果を向上させることができ、符号化効率を向上させることができる。
【００４６】
本発明に係る算術復号装置では、上記サインハイディングフラグ導出手段は、対象サブブロック内で既に復号した非０変換係数の数が１個か否かにより、サインハイディングフラグを導出するものであってもよい。
【００４７】
上記の構成によれば、非０変換係数が１個の場合に変換係数の符号量を削減する効果が大きいことを利用でき、符号化効率を向上させることができる。
【００４８】
また、導出処理が容易な非０変換係数の数を用いてサインハイディングフラグを導出するため、非０の変換係数の位置の差を用いる場合に比べ、サインハイディングフラグの導出処理を簡略化することができる。
【００４９】
本発明に係る算術復号装置では、上記係数サイン復号手段は、サインハイディングを行う対象となる変換係数の絶対値を用いて、上記サインハイディングを行う変換係数の符号を導出するものであってもよい。
【００５０】
上記の構成によれば、サブブロック内における変換係数の和absLevelの導出処理が不要になる。これにより、サインハイディングを行う場合の係数サイン導出処理を簡略化することができる。
【００５１】
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、上記サブブロック係数有無フラグと、上記非０変換係数有無フラグの復号の開始位置を示す情報とを、ラスト係数が位置するサブブロックの位置を表すラストサブブロック位置と、サブブロック内のラスト係数の位置を表すサブブロック内ラスト係数位置とから復号するラスト係数位置復号手段と、を備えていることを特徴としている。
【００５２】
上記の構成によれば、ラスト位置の導出に必要なループをサブブロック毎に行うことができる。これにより、サブブロック係数有無フラグと係数有無フラグの復号の開始位置を示すラスト位置情報の導出処理を簡略化することができる。
【００５３】
本発明に係る算術復号装置では、上記ラスト係数位置復号手段は、上記ラストサブブロック位置としてＸ座標とＹ座標とを復号し、上記サブブロック内ラスト係数位置としてＸ座標とＹ座標とを復号するものであってもよい。
【００５４】
上記の構成によれば、ラストサブブロック位置及びサブブロック内ラスト係数位置をＸ座標とＹ座標とに分けて符号化する。これにより、ラスト位置情報を符号化するために必要な符号量を低減することができる。
【００５５】
本発明に係る算術復号装置では、上記ラスト係数位置復号手段は、上記ラストサブブロック位置としてＸ座標とＹ座標とを復号し、上記サブブロック内ラスト係数位置としてサブブロック内のスキャン順を示す値を復号するものであってもよい。
【００５６】
上記の構成によれば、ラストサブブロック位置をＸ座標とＹ座標とに分けて符号化する。これにより、ラスト位置情報を符号化するために必要な符号量を低減することができる。また、ラスト位置の導出に必要なループをラストサブブロック位置についてのみ行えば良いため、ラスト位置情報の導出処理をさらに簡略化することができる。
【００５７】
本発明に係る算術復号装置では、上記ラスト係数位置復号手段は、さらにラスト係数位置プリフィックスを復号し、ラスト係数位置プリフィックスが所定の値以下の場合には、ラスト係数位置プリフィックスからラストサブブロック位置と上記サブブロック内ラスト係数位置を導出し、ラスト係数位置プリフィックスが所定の値を超える場合には、上記ラストサブブロック位置と上記サブブロック内ラスト係数位置を復号するものであってもよい。
【００５８】
上記の構成によれば、ラスト係数位置プリフィックスを用いることにより、ラストサブブロック位置とサブブロック内ラスト係数位置の復号をスキップすることができる。これにより、ラスト位置情報を符号化するために必要な符号量を低減することができる。
【００５９】
上記課題を解決するために、本発明に係る画像復号装置は、上記算術復号装置と、上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、を備えていることを特徴としている。
【００６０】
上記課題を解決するために、本発明に係る算術符号化装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを符号化する非０変換係数有無フラグ符号化手段と、を備え、上記非０変換係数有無フラグ符号化手段は、ラスト係数を含むサブブロックの変換係数に対しては、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして用い、ラスト係数を含まないサブブロックの変換係数に対しては、符号化済みの非０変換係数を参照したコンテキストインデックスを用いることを特徴としている。
【００６１】
上記課題を解決するために、本発明に係る画像符号化装置は、符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、上記算術符号化装置と、を備えており、上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、ことを特徴としている。
【発明の効果】
【００６２】
以上のように、本発明に係る算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の変換係数が０であるか否かを表す非０変換係数有無フラグを復号する非０変換係数有無フラグ復号手段と、を備え、上記非０変換係数有無フラグ復号手段は、ラスト係数を含むサブブロックの変換係数に対しては、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出し、ラスト係数を含まないサブブロックの変換係数に対しては、復号済みの非０変換係数を参照することによってコンテキストインデックスを導出する構成である。
【００６３】
これにより、復号済みの非０変換係数を参照する場合に必要なサブブロック内の係数有無フラグの導出方法の選択処理（テンプレートの選択）を省略することができ、係数有無フラグの復号処理を簡略化することができるという効果を奏する。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施形態に係る動画像復号装置の備える量子化残差情報復号部の構成を示すブロック図である。
【図２】本発明の実施形態に係る動画像符号化装置によって生成され、動画像復号装置によって復号される符号化データのデータ構成を示す図であり、（ａ）〜（ｄ）は、それぞれ、ピクチャレイヤ、スライスレイヤ、ツリーブロックレイヤ、およびＣＵレイヤを示す図である。
【図３】（ａ）〜（ｈ）は、ＰＵ分割タイプのパターンを示す図であり、それぞれ、ＰＵ分割タイプが、２Ｎ×Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、２Ｎ×Ｎ、２Ｎ×ｎＵ、および、２Ｎ×ｎＤの場合のパーティション形状について示している。（ｉ）〜（ｏ）は、正方形のノードを正方形または非正方形に４分木分割する分割方式について示す図であり。（ｉ）は、正方形の分割、（ｊ）は、横長の長方形の分割、（ｋ）は、縦長の長方形の分割、（ｌ）は、横長のノードの横長の分割、（ｍ）は、横長のノードの正方形の分割、（ｎ）は、縦長のノードの縦長の分割、および（ｏ）は、縦長のノードの正方形の分割を示している。
【図４】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。
【図５】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【図６】ブロックとサブブロックの関係を示す図であり、（ａ）は４×４ＴＵが４×４成分からなる１個のサブブロックから構成される例を示し、（ｂ）は８×８ＴＵが４×４成分からなる４個のサブブロックから構成される例を示し、（ｃ）は１６×１６ＴＵが４×４成分からなる１６個のサブブロックから構成される例を示す。
【図７】実施形態に係る復号処理及び符号化処理のスキャン順を説明するための図であって、（ａ）は、サブブロックスキャンが順スキャンである場合を示しており、（ｂ）は、サブブロック内スキャンが順スキャンである場合を示しており、（ｃ）は、サブブロックスキャンが逆スキャンである場合を示しており、（ｄ）は、サブブロック内スキャンが逆スキャンである場合を示している。
【図８】実施形態における非０変換係数の復号処理を説明するための図であって、（ａ）は、ＴＵサイズが８×８であるブロックが４×４のサイズのサブブロックに分割された場合に、順スキャンにて各周波数成分がスキャンされる場合のスキャン順を示しており、（ｂ）は、ＴＵサイズが８×８の周波数成分よりなる周波数領域における０でない変換係数（非０変化係数）を例示しており、（ｃ）は、復号対象の変換係数が、（ｂ）に示すものである場合の各サブブロックについて復号されたサブブロック係数有無フラグsignificant_coeff_group_flagの各値を示しており、（ｄ）は、復号対象の変換係数が、図８（ｂ）に示すものである場合の非０変換係数の有無を示すシンタックスsignificant_coeff_flagの各値を示しており、（ｅ）は、復号対象の変換係数が、（ｂ）に示すものである場合のシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_remainingを復号することによって得られた各変換係数の絶対値を示しており、（ｆ）は、復号対象の変換係数が、（ｂ）に示すものである場合のシンタックスcoeff_sign_flagを示している。
【図９】実施形態に係る動画像復号装置の構成を示すブロック図である。
【図１０】実施形態に係る動画像復号装置の備える可変長符号復号部の構成を示すブロック図である。
【図１１】実施形態に係る動画像復号装置において利用可能なイントラ予測の方向について示す図である。
【図１２】イントラ予測モードと、当該イントラ予測モードに対応付けられている名前とを示す図である。
【図１３】イントラ予測モードインデックスIntraPredModeと、log2TrafoSize-2の各値とによって指定されるスキャンインデックスscanIdxの例を示す表である。
【図１４】スキャンインデックスを説明するための図であって、（ａ）は、スキャンインデックスscanIdxの各値によって指定されるスキャンタイプScanTypeを示しており、（ｂ）〜（ｄ）は、ＴＵサイズが４×４成分であるときの、水平方向優先スキャン（horizontal fast scan）、垂直方向優先スキャン（vertical fact scan）、及び、斜め方向スキャン（Up-right diagonal scan）の各スキャンのスキャン順を示しており、（ｅ）、（ｆ）は、水平方向優先スキャン（horizontal fast scan）、垂直方向優先スキャン（vertical fact scan）の別の例を示している。
【図１５】実施形態に係るサブブロック係数有無フラグ復号部の構成を示すブロック図である。
【図１６】実施形態に係るサブブロック係数有無フラグ復号部による復号処理を説明するための図であって、（ａ）は、対象サブブロック（ｘＣＧ、ｙＣＧ）と、対象サブブロックの下側に隣接する隣接サブブロック（ｘＣＧ、ｙＣＧ＋１）とを示しており、（ｂ）は、対象サブブロック（ｘＣＧ、ｙＣＧ）と、対象サブブロックの右側に隣接する隣接サブブロック（ｘＣＧ＋１、ｙＣＧ）とを示しており、（ｃ）は、対象サブブロック（ｘＣＧ、ｙＣＧ）と、対象サブブロックの下側に隣接する隣接サブブロック（ｘＣＧ、ｙＣＧ＋１）と、対象サブブロックの右側に隣接する隣接サブブロック（ｘＣＧ＋１、ｙＣＧ）とを示している。
【図１７】実施形態に係るサブブロック係数有無フラグ符号化及び復号処理を説明するための図であって、（ａ）は、１６×１６ＴＵの周波数領域に存在する変換係数を示しており、（ｂ）は、各サブブロックに割り付けられたサブブロック係数有無フラグを示している。
【図１８】実施形態に係る係数有無フラグ復号部の構成を示すブロック図である。
【図１９】実施形態に係る係数有無フラグ復号部の備える周辺参照コンテキスト導出部によって、復号処理が逆スキャン順に行われる場合に参照される参照周波数成分を説明するための図であって、（ａ）は、周波数成分上の位置と選択するテンプレートの関係を示しており、（ｂ）は、参照周波数成分ｃ１、ｃ２、ｃ３、ｃ４、ｃ５を対象周波数成分ｘとの相対位置を示しており、（ｃ）は、参照周波数成分ｃ１、ｃ２、ｃ４、ｃ５と対象周波数成分ｘとの相対位置を示している。
【図２０】実施形態に係る係数有無フラグ復号部の備える導出方法制御部による分類処理を説明するための図であって、（ａ）は、輝度値に関する変換係数を復号する際に好適に適用される部分領域分割を示しており、（ｂ）は、色差に関する変換係数を復号する際に好適に適用される部分領域分割を示している。
【図２１】実施形態に係る係数有無フラグ復号部によるコンテキストインデックス導出処理を説明するための図であって、図２０に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図２２】実施形態に係るコンテキストインデックス導出処理を説明するための図であって、（ａ）は、４×４成分のＴＵサイズを有する周波数領域に含まれる各周波数成分に対して導出されたコンテキストインデックスであって、輝度Ｙに関するsignificant_coeff_flagを復号する際に参照されるコンテキストインデックスを示しており、（ｂ）は、４×４成分のサイズを有する周波数領域に含まれる各周波数成分に対して、比較例に係るコンテキストインデックス導出処理によって導出されたコンテキストインデックスであって、色差Ｕ、Ｖに関するsignificant_coeff_flagを復号する際に参照されるコンテキストインデックスを示しており、（ｃ）は、８×８成分のＴＵサイズを有する周波数領域に含まれる各周波数成分に対して、比較例に係るコンテキストインデックス導出処理によって導出されたコンテキストインデックスであって、輝度Ｙ、色差Ｕ、Ｖに関するsignificant_coeff_flagを復号する際に参照されるコンテキストインデックスを示している。
【図２３】実施形態に係る変換係数復号部によるスキャンタイプを選択する処理の流れを示すフローチャートである。
【図２４】実施形態に係る変換係数復号部による変換係数復号処理の流れを示すフローチャートである。
【図２５】実施形態に係る変換係数復号部によるサブブロック係数有無フラグを復号する処理の流れを示すフローチャートである。
【図２６】実施形態に係る変換係数復号部によるサブブロック内の各非ゼロ変換係数有無フラグsignificant_coeff_flagを復号する処理の流れを示すフローチャートである。
【図２７】従来技術のラスト係数位置の符号化データ構造とラスト位置情報の復号方法を説明する図である。
【図２８】実施形態に係る第１の構成のラスト係数位置の符号化データの構造を示すシンタックステーブルである。
【図２９】実施形態に係る第１の構成のラスト係数位置復号部の構成を示すブロック図である。
【図３０】実施形態に係る第１の構成のラスト係数位置復号部の動作を示すフローチャートである。
【図３１】実施形態に係る第２の構成のラスト係数位置の符号化データの構成を示すシンタックステーブルである。
【図３２】実施形態に係る第２の構成のラスト係数位置復号部の構成を示すブロック図である。
【図３３】実施形態に係る第２の構成のラスト係数位置復号部の動作を示すフローチャートである。
【図３４】実施形態に係る第３の構成のラスト係数位置の符号化データの構成を示すシンタックステーブルである。
【図３５】実施形態に係る第３の構成のラスト係数位置復号部の構成を示すブロック図である。
【図３６】係数有無フラグ復号部の動作を説明するための図であり、（ａ）は係数有無フラグ復号の動作を示す図であり、（ｂ）はサブブロック内の変換係数のスキャン順を示す図であり、（ｃ）はサブブロック内のスキャン順と使用されるテンプレートを示す図である。
【図３７】従来技術に係る係数有無フラグ復号部の動作を示すフローチャートである。
【図３８】係数有無フラグ復号部の第１の構成の動作を示すフローチャートである。
【図３９】係数有無フラグ復号部の第２の構成の動作を示すフローチャートである。
【図４０】係数有無フラグ復号部の第３の構成に対応する従来技術の動作を示すフローチャートである。
【図４１】係数有無フラグ復号部の第３の構成の動作を示すフローチャートである。
【図４２】係数有無フラグ復号部の構成例を示すブロック図である。る。
【図４３】（ａ）（ｂ）は、ラストサブブロック係数有無フラグコンテキスト導出部の構成例を示すブロック図である。
【図４４】（ａ）（ｂ）は、係数有無フラグ復号部の第４の構成のコンテキスト導出部の動作を示すフローチャートである。
【図４５】ＴＵサイズが８×８である場合のサブブロック分割とそのサブブロック位置（xCG、yCG）を示す図であり、（ａ）は４×４成分のサブブロック分割を行う場合を示す図であり、（ｂ）は８×２成分のサブブロック分割を行う場合を示す図であり、（ｃ）は２×８成分のサブブロック分割を行う場合を示す図である。
【図４６】ＴＵの幅と高さが一致しない、すなわちＴＵサイズが非正方である場合のサブブロック分割とそのサブブロック位置（xCG、yCG）を示す図であり、（ａ）はＴＵサイズが１６×４の場合を示す図であり、（ｂ）はＴＵサイズが４×１６の場合を示す図であり、（ｃ）はＴＵサイズが３２×８の場合を示す図であり、（ｄ）はＴＵサイズが８×３２の場合を示す図である。
【図４７】ＴＵサイズが非正方である場合のサブブロック分割とそのサブブロック位置（xCG、yCG）の別の例を示す図であり、（ａ）はＴＵサイズが１６×４の場合を示す図であり、（ｂ）はＴＵサイズが４×１６の場合を示す図であり、（ｃ）はＴＵサイズが３２×８の場合を示す図であり、（ｄ）はＴＵサイズが８×３２の場合を示す図である。
【図４８】ＴＵサイズからサブブロックスキャン順を導出する方法を示す図であり、（ａ）はＴＵサイズとサブブロックスキャン順との関係を示す図であり、（ｂ）は（ａ）に示す関係を実現する擬似コードを示す図である。
【図４９】ＴＵサイズからサブブロックサイズを導出する方法を示す図であり、（ａ）はＴＵサイズとサブブロックサイズとの関係を示す図であり、（ｂ）は（ａ）に示す関係を実現する擬似コードを示す図である。
【図５０】サブブロックスキャン順からサブブロックサイズを導出する方法を示す図であり、（ａ）はサブブロックスキャン順とサブブロックサイズとの関係を示す図であり、（ｂ）（ｃ）は（ａ）に示す関係を実現する擬似コードを示す図である。
【図５１】高周波位置コンテキストを用いるコンテキスト導出部の第１の構成例を示した図であり、（ａ）は対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式であり、（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。
【図５２】高周波位置コンテキストを用いるコンテキスト導出部の第２の構成例を示した図であり、（ａ）は対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式であり、（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。
【図５３】高周波位置コンテキストを用いるコンテキスト導出部の第３の構成例を示した図であり、（ａ）は対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式であり、（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。
【図５４】高周波位置コンテキストを用いるコンテキスト導出部の第４の構成例を示した図であり、（ａ）は対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式であり、（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。
【図５５】高周波位置コンテキストを用いるコンテキスト導出部の第５の構成例を示した図であり、（ａ）は対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式であり、（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。
【図５６】高周波位置コンテキストを用いるコンテキスト導出部の第６の構成例を示した図であり、（ａ）は対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式であり、（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。
【図５７】高周波位置コンテキストを用いるコンテキスト導出部の第７の構成例を示した図であり、（ａ）は対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式であり、（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。
【図５８】高周波位置コンテキストを用いるコンテキスト導出部の第８の構成例を示した図であり、（ａ）は対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式であり、（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。
【図５９】係数値復号部の構成例を示すブロック図である。
【図６０】実施形態に掛る係数サイン復号部の動作を示すフローチャートである。
【図６１】サインハイディングフラグ導出部におけるサインハイディングフラグ導出処理の流れを示すフローチャートである。
【図６２】サインハイディングフラグ導出部におけるサインハイディングフラグ導出処理を説明するための図であり、（ａ）はサインハイディングフラグ導出処理のための擬似コードを示す図であり、（ｂ）はサインハイディングフラグ導出処理の流れを示すフローチャートである。
【図６３】サインハイディングフラグ導出部におけるサインハイディングフラグ導出処理の別の構成例を説明するための図であり、（ａ）は構成例１のサインハイディングフラグ導出処理のための擬似コードを示す図であり、（ｂ）は構成例１のサインハイディングフラグ導出処理の流れを示すフローチャートであり、（ｃ）は構成例２のサインハイディングフラグ導出処理のための擬似コードを示す図であり、（ｄ）は構成例２のサインハイディングフラグ導出処理の流れを示すフローチャートである。
【図６４】サインハイディングフラグ導出部におけるサインハイディングフラグ導出処理の別の構成例を説明するための図であり、（ａ）は構成例３のサインハイディングフラグ導出処理のための擬似コードを示す図であり、（ｂ）は構成例３のサインハイディングフラグ導出処理の流れを示すフローチャートであり、（ｃ）は構成例４のサインハイディングフラグ導出処理のための擬似コードを示す図であり、（ｄ）は構成例４のサインハイディングフラグ導出処理の流れを示すフローチャートである。
【図６５】係数値復号部の別の構成例を示すブロック図である。
【図６６】サインハインディングフラグ導出部におけるサインハイディングフラグsignHiddenの導出処理の流れを示すフローチャートである。
【図６７】図６６に示す処理における、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【図６８】サイン復号導出部におけるサインハイディングの符号計算処理の詳細動作の流れを示すフローチャートである。
【図６９】係数絶対値和sumAbsを用いない場合の係数サイン復号部の動作を示すフローチャートである。
【図７０】係数絶対値和sumAbsを用いない構成におけるサイン復号導出部におけるサインハイディングの符号計算処理の詳細動作を示すフローチャートである。
【図７１】係数絶対値和sumAbsを用いない構成における変換係数の値の符号化データの構成を示すシンタックステーブルである。
【図７２】実施形態に係る動画像符号化装置の構成を示すブロック図である。
【図７３】実施形態に係る動画像符号化装置の備える可変長符号符号化部の構成を示すブロック図である。
【図７４】本発明の実施形態に係る動画像符号化装置の備える量子化残差情報符号化部の構成を示すブロック図である。
【図７５】実施形態に係る係数有無フラグ符号化部の構成を示すブロック図である。
【図７６】実施形態に係るサブブロック係数有無フラグ符号化部の構成を示すブロック図である。
【図７７】実施形態に係る係数有無フラグ符号化部の別の構成を示すブロック図である。
【図７８】実施形態に係る係数値シンタックス導出部の構成例を示すブロック図である。
【図７９】実施形態に係る係数値シンタックス導出部の構成例を示すブロック図である。
【図８０】上記動画像符号化装置を搭載した送信装置、および、上記動画像復号装置を搭載した受信装置の構成について示した図である。（ａ）は、動画像符号化装置を搭載した送信装置を示しており、（ｂ）は、動画像復号装置を搭載した受信装置を示している。
【図８１】上記動画像符号化装置を搭載した記録装置、および、上記動画像復号装置を搭載した再生装置の構成について示した図である。（ａ）は、動画像符号化装置を搭載した記録装置を示しており、（ｂ）は、動画像復号装置を搭載した再生装置を示している。
【図８２】ＣＵ予測方式情報ＰｒｅｄＭｏｄｅ、ＴＵサイズ及びイントラ予測モードインデックスIntraPredModeにより、スキャン順を導出する方法を示す図である。
【図８３】ＣＵ予測方式情報ＰｒｅｄＭｏｄｅ、ＴＵサイズ及びイントラ予測モードインデックスIntraPredModeにより、サブブロックサイズを導出する方法を示す図である。
【発明を実施するための形態】
【００６５】
本発明に係る復号装置および符号化装置の実施形態について図面に基づいて説明すれば以下のとおりである。なお、本実施形態に係る復号装置は、符号化データから動画像を復号するものである。したがって、以下では、これを「動画像復号装置」と呼称する。また、本実施形態に係る符号化装置は、動画像を符号化することによって符号化データを生成するものである。したがって、以下では、これを「動画像符号化装置」と呼称する。
【００６６】
ただし、本発明の適用範囲はこれに限定されるものではない。すなわち、以下の説明からも明らかなように、本発明の特徴は複数のフレームを前提としなくとも成立するものである。すなわち、動画像を対象とするか静止画像を対象とするかを問わず、復号装置一般および符号化装置一般に適用できるものである。
【００６７】
（符号化データ＃１の構成）
図２を用いて、動画像符号化装置２によって生成され、動画像復号装置１によって復号される符号化データ＃１の構成例について説明する。符号化データ＃１は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
【００６８】
シーケンスレイヤでは、処理対象のシーケンスを復号するために、動画像復号装置１が参照するデータの集合が規定されている。シーケンスレイヤにはシーケンスパラメータセットＳＰＳ、ピクチャパラメータセットＰＰＳ、ピクチャＰＩＣＴを含んでいる。
【００６９】
符号化データ＃１におけるピクチャレイヤ以下の階層の構造を図２に示す。図２の（ａ）〜（ｄ）は、それぞれ、ピクチャＰＩＣＴを規定するピクチャレイヤ、スライスＳを規定するスライスレイヤ、ツリーブロック（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()と表記）に含まれる各シンタックスが示されている。
【０１３６】
図４は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。図５は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【０１３７】
図４及び図５に示すように、量子化残差情報ＱＤは、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_group_flag、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_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_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_greater2_flag、及びcoeff_abs_level_remainingを復号することによって得られた各変換係数の絶対値を示している。
【０１５３】
図８（ｆ）は、復号対象の変換係数が、図８（ｂ）に示すものである場合のシンタックスcoeff_sign_flagを示す図である。
【０１５４】
各変換係数の値を示すシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_remainingの復号は、モード（ハイスループットモード）により変化する。サブブロックの開始時には、ハイスループットモードがオフであり、サブブロック内の非０係数の数が所定の定数以上となった時点で、ハイスループットモードがオンとなる。ハイスループットモードでは、一部のシンタックスの復号をスキップする。
【０１５５】
シンタックス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_greater2_flagは、変換係数の絶対値が２を越えるものであるのか否かを示すフラグであり、coeff_abs_level_greater1_flagの値が１であるときに符号化される。変換係数の絶対値が２を越えるものであるとき、coeff_abs_level_greater2_flagの値は１であり、そうでないときにcoeff_abs_level_greater2_flagの値は０である。なお、coeff_abs_level_greater2_flagの復号は、各サブブロックで１回目以降、及びハイスループットモードの場合にはスキップされる。
【０１５７】
シンタックスcoeff_abs_level_remainingは、変換係数の絶対値が所定のベースレベルbaseLevelである場合に、当該変換係数の絶対値を指定するためのシンタックスであり、coeff_abs_level_greater1_flagの復号がスキップされる場合、coeff_abs_level_greater2_flagがスキップされcoeff_abs_level_greater1_flagが１の場合、coeff_abs_level_greater2_flagの値が１であるときに符号化される。シンタックスcoeff_abs_remainingの値は、変換係数の絶対値からbaseLevelを引いたものである。例えば、coeff_abs_level_remaining＝１は、変換係数の絶対値がbaseLevel＋１であることを示している。なお、baseLevelは以下のように定まる。
【０１５８】
baseLevel  ＝  １  （coeff_abs_level_greater1_flagの復号がスキップされた場合）
baseLevel  ＝  ２  （上記以外でcoeff_abs_level_greater2_flagの復号がスキップされた場合）
baseLevel  ＝  ３  （上記以外でcoeff_abs_level_greater2_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_greater2_flag、coeff_sign_flag、coeff_abs_level_remainingを復号することにより、各周波数成分についての変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）を生成することができる。
【０１６１】
なお、特定の領域（例えばＴＵ）内の非０変換係数の集合をsignificance mapと呼ぶこともある。
【０１６２】
各種シンタックスの復号処理の詳細については、後述することとし、続いて動画像復号装置１の構成について説明を行う。
【０１６３】
（動画像復号装置１）
以下では、本実施形態に係る動画像復号装置１について図１、図９〜図２６を参照して説明する。動画像復号装置１は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格の後継コーデックであるＨＥＶＣ（High-Efficiency Video Coding）にて提案されている技術を実装している復号装置である。
【０１６４】
図９は、動画像復号装置１の構成を示すブロック図である。図９に示すように、動画像復号装置１は、可変長符号復号部１１、予測画像生成部１２、逆量子化・逆変換部１３、加算器１４、フレームメモリ１５、および、ループフィルタ１６を備えている。また、図９に示すように、予測画像生成部１２は、動きベクトル復元部１２ａ、インター予測画像生成部１２ｂ、イントラ予測画像生成部１２ｃ、および、予測方式決定部１２ｄを備えている。動画像復号装置１は、符号化データ＃１を復号することによって動画像＃２を生成するための装置である。
【０１６５】
（可変長符号復号部１１）
図１０は、可変長符号復号部１１の要部構成を示すブロック図である。図１０に示すように、可変長符号復号部１１は、量子化残差情報復号部１１１、予測パラメータ復号部１１２、予測タイプ情報復号部１１３、および、フィルタパラメータ復号部１１４を備えている。
【０１６６】
可変長符号復号部１１は、予測パラメータ復号部１１２にて、各パーティションに関する予測パラメータＰＰを、符号化データ＃１から復号し、予測画像生成部１２に供給する。具体的には、予測パラメータ復号部１１２は、インター予測パーティションに関しては、参照画像インデックス、推定動きベクトルインデックス、及び、動きベクトル残差を含むインター予測パラメータＰＰ＿Ｉｎｔｅｒを符号化データ＃１から復号し、これらを動きベクトル復元部１２ａに供給する。一方、イントラ予測パーティションに関しては、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスを含むイントラ予測パラメータＰＰ＿Ｉｎｔｒａを符号化データ＃１から復号し、これらをイントラ予測画像生成部１２ｃに供給する。
【０１６７】
また、可変長符号復号部１１は、予測タイプ情報復号部１１３にて、各パーティションについての予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅを符号化データ＃１から復号し、これを予測方式決定部１２ｄに供給する。更に、可変長符号復号部１１は、量子化残差情報復号部１１１にて、ブロックに関する量子化残差情報ＱＤ、及び、そのブロックを含むＴＵに関する量子化パラメータ差分Δｑｐを符号化データ＃１から復号し、これらを逆量子化・逆変換部１３に供給する。また、可変長符号復号部１１は、フィルタパラメータ復号部１１４にて、符号化データ＃１からフィルタパラメータＦＰを復号し、これをループフィルタ１６に供給する。なお、量子化残差情報復号部１１１の具体的な構成については後述するためここでは説明を省略する。
【０１６８】
（予測画像生成部１２）
予測画像生成部１２は、各パーティションについての予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを識別する。そして、前者の場合には、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを生成すると共に、生成したインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器１４に供給し、後者の場合には、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成すると共に、生成したイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを加算器１４に供給する。なお、予測画像生成部１２は、処理対象ＰＵに対してスキップモードが適用されている場合には、当該ＰＵに属する他のパラメータの復号を省略する。
【０１６９】
（動きベクトル復元部１２ａ）
動きベクトル復元部１２ａは、各インター予測パーティションに関する動きベクトルｍｖを、そのパーティションに関する動きベクトル残差と、他のパーティションに関する復元済みの動きベクトルｍｖ’とから復元する。具体的には、（１）推定動きベクトルインデックスにより指定される推定方法に従って、復元済みの動きベクトルｍｖ’から推定動きベクトルを導出し、（２）導出した推定動きベクトルと動きベクトル残差とを加算することによって動きベクトルｍｖを得る。なお、他のパーティションに関する復元済みの動きベクトルｍｖ’は、フレームメモリ１５から読み出すことができる。動きベクトル復元部１２ａは、復元した動きベクトルｍｖを、対応する参照画像インデックスＲＩと共に、インター予測画像生成部１２ｂに供給する。
【０１７０】
（インター予測画像生成部１２ｂ）
インター予測画像生成部１２ｂは、画面間予測によって、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル復元部１２ａから供給された動きベクトルｍｖを用いて、同じく動きベクトル復元部１２ａから供給された参照画像インデックスＲＩによって指定される適応フィルタ済復号画像Ｐ＿ＡＬＦ’から動き補償画像ｍｃを生成する。ここで、適応フィルタ済復号画像Ｐ＿ＡＬＦ’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ１６によるフィルタ処理を施すことによって得られる画像であり、インター予測画像生成部１２ｂは、適応フィルタ済復号画像Ｐ＿ＡＬＦ’を構成する各画素の画素値をフレームメモリ１５から読み出すことができる。インター予測画像生成部１２ｂによって生成された動き補償画像ｍｃは、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒとして予測方式決定部１２ｄに供給される。
【０１７１】
（イントラ予測画像生成部１２ｃ）
イントラ予測画像生成部１２ｃは、各イントラ予測パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、まず、可変長符号復号部１１から供給されたイントラ予測パラメータＰＰ＿Ｉｎｔｒａに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。
【０１７２】
ここで、イントラ予測パラメータＰＰ＿Ｉｎｔｒａに基づく予測モードの特定は、以下のように行うことができる。（１）推定予測モードフラグを復号し、当該推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一であることを示している場合には、対象パーティションに対して、当該対象パーティションの周辺のパーティションに割り付けられた予測モードを割り付ける。（２）一方で、推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一でないことを示している場合には、残余予測モードインデックスを復号し、当該残余予測モードインデックスの示す予測モードを対象パーティションに対して割り付ける。
【０１７３】
イントラ予測画像生成部１２ｃは、対象パーティションに割り付けられた予測モードの示す予測方法に従って、画面内予測によって、（局所）復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部１２ｃによって生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａは、予測方式決定部１２ｄに供給される。なお、イントラ予測画像生成部１２ｃは、画面内予測によって、適応フィルタ済復号画像Ｐ＿ＡＬＦから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する構成とすることも可能である。
【０１７４】
図１１を用いて、予測モードの定義について説明する。図１１は、予測モードの定義を示している。同図に示すように、３６種類の予測モードが定義されており、それぞれの予測モードは、「０」〜「３５」の番号（イントラ予測モードインデックス）によって特定される。また、図１２に示すように、各予測モードには次のような名称が割り当てられている。すなわち、「０」は、“Intra_Planar（プラナー予測モード、平面予測モード）”であり、「１」は、“Intra DC(イントラＤＣ予測モード)”であり、「２」〜「３４」は、“Intra Angular（方向予測）”であり、「３５」は、“Intra From Luma”である。「３５」は、色差予測モード固有のものであり、輝度の予測に基づいて色差の予測を行うモードである。言い換えれば、色差予測モード「３５」は、輝度画素値と色差画素値との相関を利用した予測モードである。色差予測モード「３５」はＬＭモードとも称する。予測モード数（intraPredModeNum）は、対象ブロックのサイズによらず「３５」である。
【０１７５】
（予測方式決定部１２ｄ）
予測方式決定部１２ｄは、各パーティションが属するＰＵについての予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部１２ｂにて生成されたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器１４に供給し、後者の場合には、イントラ予測画像生成部１２ｃにて生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器１４に供給する。
【０１７６】
（逆量子化・逆変換部１３）
逆量子化・逆変換部１３は、（１）符号化データ＃１の量子化残差情報ＱＤから復号された変換係数Ｃｏｅｆｆを逆量子化し、（２）逆量子化によって得られた変換係数Ｃｏｅｆｆ＿ＩＱに対して逆ＤＣＴ（Discrete Cosine Transform）変換等の逆周波数変換を施し、（３）逆周波数変換によって得られた予測残差Ｄを加算器１４に供給する。なお、量子化残差情報ＱＤから復号された変換係数Ｃｏｅｆｆを逆量子化する際に、逆量子化・逆変換部１３は、可変長符号復号部１１から供給された量子化パラメータ差分Δｑｐから量子化ステップＱＰを導出する。量子化パラメータｑｐは、直前に逆量子化及び逆周波数変換したＴＵに関する量子化パラメータｑｐ’に量子化パラメータ差分Δｑｐを加算することによって導出でき、量子化ステップＱＰは、量子化パラメータｑｐから例えばＱＰ＝２ｐｑ／６によって導出できる。また、逆量子化・逆変換部１３による予測残差Ｄの生成は、ＴＵあるいはＴＵを分割したブロックを単位として行われる。
【０１７７】
なお、逆量子化・逆変換部１３によって行われる逆ＤＣＴ変換は、例えば、対象ブロックのサイズが８×８画素である場合、当該対象ブロックにおける画素の位置を（ｉ、ｊ）（０≦ｉ≦７、０≦ｊ≦７）とし、位置（ｉ、ｊ）における予測残差Ｄの値をＤ（ｉ、ｊ）と表すことにし、周波数成分（ｕ、ｖ）（０≦ｕ≦７、０≦ｖ≦７）における逆量子化された変換係数をＣｏｅｆｆ＿ＩＱ（ｕ、ｖ）と表すことにすると、例えば、以下の数式（１）によって与えられる。
【０１７８】
【数１】
2013187869.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）が指定される。
【０１９５】
また、図１４（ｂ）〜（ｄ）は、ＴＵサイズが４×４成分であるときの、水平方向優先スキャン（horizontal fast scan）、垂直方向優先スキャン（vertical fact scan）、及び、斜め方向スキャン（Up-right diagonal scan）の各スキャンのスキャン順を示している。図１４（ｂ）〜（ｄ）において各周波数成分に付された番号は、該周波数成分がスキャンされる順番を示している。また、図１４（ｂ）〜（ｄ）に示す各例は、順スキャン方向を示している。なお、図１４（ｂ）〜（ｄ）のスキャンは４×４ＴＵサイズに限らず、４×４のサブブロックで使用しても良い。また、同様のスキャンを４×４より大きいＴＵやサブブロックで使用しても良い。なお、水平方向優先スキャンの一つの定義は、変換係数の位置を（xC、yC）で表現する場合において、xC + yC ＝k（k > TH、THは所定の定数）を満たす変換係数で、x = yの軸に対して互いに対称な(xC0, yC0)、(yC0, xC0)を抜きだした場合に、水平方向位置が小さい方の変換係数（xC0 < yC0の場合には(xC0, yC0)）が先にスキャンされることである。垂直方向スキャンは逆の定義となる。また、水平方向優先スキャン、垂直方向優先スキャンは本定義に限らない。
【０１９６】
図１４（ｅ）、（ｆ）は、水平方向優先スキャンと垂直方向優先スキャンの別の例を示す。本例では８×２と２×８のＴＵサイズもしくはサブブロックで使用される例を示す。
【０１９７】
（サブブロックスキャン順テーブル）
また、スキャン順テーブル格納部１２２には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。サブブロックスキャン順テーブルは、処理対象のＴＵ（ブロック）のサイズとイントラ予測モードの予測モードインデックス（予測方向）とに関連付けられたスキャンインデックスscanIdxによって指定される。処理対象のＴＵに用いられた予測方法がイントラ予測である場合には、係数復号制御部１２３は、当該ＴＵのサイズと当該ＴＵの予測モードとに関連付けられたスキャンインデックスscanIdxによって指定されるテーブルを参照してサブブロックのスキャン順を決定する。
【０１９８】
（スキャン順テーブル格納部１２２の別の構成例１）
図４８は、ＴＵサイズからスキャン順を導出する方法を示す図である。図４８（ａ）に示すように、ＴＵサイズの幅と高さが一致する場合には、scanIdx = 0、すなわち、スキャンとしてジグザグスキャンもしくはダイアゴナルスキャンを用いる。ＴＵサイズの幅が高さよりも大きい場合には、scanIdx = 1、すなわち、スキャンとして水平方向優先スキャン（水平優先のスキャン）を用いる。ＴＵサイズの高さが幅よりも大きい場合には、scanIdx = 2、すなわち、スキャンとして垂直方向優先スキャン（垂直優先のスキャン）を用いる。なお、本例では、上記スキャン順は、サブブロック内スキャン順とサブブロックスキャン順の両者を示すこととする。すなわちサブブロック内スキャン順とサブブロックスキャン順の両者とも上記方法で導出するものとするが、サブブロック内スキャン順とサブブロックスキャン順の一方を上記方法で導出しても良い。図４８（ｂ）は、図４８（ａ）に示すＴＵサイズとスキャン順との関係を実現する擬似コードである。
【０１９９】
ＴＵサイズが非正方の場合、幅および高さのサイズが小さい軸についてＤＣ成分に近い成分に非０係数が集中する。言い換えると、ＴＵの横＞ＴＵの高さであれば垂直軸に対して０に近い方に非０係数が集中し水平方向に広がる。この場合、図４８に示すように、非０係数が集中する変換係数を先にスキャンするスキャン順を用いることによって符号化効率向上の効果を奏する。なお、ＴＵサイズによるサブブロック選択は、インター予測の場合に好適に用いられる。
【０２００】
（スキャン順テーブル格納部１２２の別の構成例２）
図８２は、ＣＵ予測方式情報ＰｒｅｄＭｏｄｅ、ＴＵサイズ及びイントラ予測モードインデックスIntraPredModeにより、スキャン順を導出する方法を示す図である。ＣＵ予測方式情報ＰｒｅｄＭｏｄｅがイントラ予測の場合には、上記で図１３を用いて説明したようにＴＵサイズ及びイントラ予測モードインデックスIntraPredModeに基づいてスキャン順を導出する。
【０２０１】
ＣＵ予測方式情報ＰｒｅｄＭｏｄｅがインター予測の場合には、上記で図４８を用いて説明したようにＴＵサイズに基づいてスキャン順を導出する。ＴＵサイズが、ＴＵサイズの幅と高さが一致する場合には水平優先および垂直優先以外のスキャン順を使用する。ＴＵサイズの幅と高さが一致しない場合で、ＴＵサイズの幅が高さよりも大きい場合には、水平優先のスキャン順を使用する。一方、ＴＵサイズの高さが幅よりも大きい場合には、垂直優先のスキャン順を使用する。
【０２０２】
以上の構成により、スキャン順を用いることによって、ＣＵがイントラ予測の場合にもインター予測に場合にも、変換係数の偏りに応じて適切なスキャン順が行われるため符号化効率が向上する。
【０２０３】
（係数復号制御部１２３）
係数復号制御部１２３は、量子化残差情報復号部１１１の備える各部における復号処理の順序を制御するための構成である。
【０２０４】
係数復号制御部１２３は、図示しないサブブロック分割部１２９を備える。サブブロック分割部１２９は、ＴＵを各サブブロックに分割する。サブブロック分割部１２９の詳細は後述する。
【０２０５】
係数復号制御部１２３は、ラスト係数位置復号部１２１から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部１２２に格納されたサブブロックスキャン順テーブルによって与えられるスキャン順の逆スキャン順に、各サブブロックの位置（ｘＣＧ、ｙＣＧ）を、サブブロック係数有無フラグ復号部１２７に供給する。
【０２０６】
また、係数復号制御部１２３は、処理対象となるサブブロックに関して、スキャン順テーブル格納部１２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置（ｘＣ、ｙＣ）を、係数有無フラグ復号部１２４及び復号係数記憶部１２６に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、イントラ予測の場合には、イントラ予測モードインデックスIntraPredModeと、ＴＵサイズを指定する値log2TrafoSizeとによって指定されるスキャンインデックスscanIdxの示すスキャン順（水平方向優先スキャン、垂直方向優先スキャン、斜め方向スキャンのいずれか）を用い、インター予測の場合には、斜め方向スキャン（Up-right diagonal scan）を用いればよい。
【０２０７】
このように、係数復号制御部１２３は、処理対象の単位領域（ブロック、ＴＵ）に適用された予測方式がイントラ予測である場合に、該イントラ予測の予測方向に応じて、サブブロックスキャン順を設定する構成である。
【０２０８】
一般に、イントラ予測モードと変換係数の偏りとは互いに相関を有しているため、イントラ予測モードに応じてスキャン順を切り替えることにより、サブブロック係数有無フラグ、係数有無フラグの偏りに適したスキャンを行うことができる。これによって、符号化及び復号対象となるサブブロック係数有無フラグおよび係数有無フラグの符号量を削減することができるので、処理量が削減されると共に、符号化効率が向上する。
【０２０９】
（サブブロック分割手段１２９）
サブブロック分割手段１２９は、サブブロック分割手段１２９は、スキャン順およびＴＵサイズに応じてに応じてサブブロックサイズを導出し、導出されたサブブロックサイズでＴＵを分割することでＴＵをサブブロックに分割する。以下、サブブロックサイズの導出方法を順に説明する。なお、既に説明したように、スキャン順が、ＣＵ予測方式情報ＰｒｅｄＭｏｄｅ、ＴＵサイズ及びイントラ予測モードインデックスIntraPredModeで定まる場合には、ＣＵ予測方式情報ＰｒｅｄＭｏｄｅ、ＴＵサイズ及びイントラ予測モードインデックスIntraPredModeにより、サブブロックサイズを導出する構成も等価である。
【０２１０】
（スキャン順からサブブロックサイズを導出する方法）
図５０は、スキャン順からサブブロックサイズを導出する方法を示す図である。図５０（ａ）に示すように、スキャン順がジグザグスキャンもしくはダイアゴナルスキャンの場合には４×４のサブブロックを使用する。スキャン順が水平方向優先スキャンの場合には、８×２のサブブロックを使用する。スキャン順が垂直方向優先スキャンの場合には、２×８のサブブロックを使用する。図５０（ｂ）は、図５０（ａ）に示すスキャン順とサブブロックサイズとの関係を実現する擬似コードである。
【０２１１】
スキャンとして水平方向スキャンを用いる場合、水平方向に集中して非０係数が存在することが多い。そのため、図５０に示すように、水平方向スキャンの場合は、水平方向に長い８×２サブブロックを用いるというサブブロックサイズ選択方法によって符号化効率が向上する。なお、既に説明したように、ＣＵ予測方式情報ＰｒｅｄＭｏｄｅがイントラ予測の場合に水平方向優先スキャンもしくは垂直方向優先スキャンを用いるため、そのため、スキャン順によるサブブロック選択は好適に用いられる。
【０２１２】
（ＴＵサイズからサブブロックサイズを導出する方法）
図４９は、ＴＵサイズからサブブロックサイズを導出する方法を示す図である。図４９（ａ）に示すように、ＴＵサイズの幅と高さが一致する場合には４×４のサブブロックを使用する。ＴＵサイズの幅と高さが一致しない場合で、ＴＵサイズの幅が高さよりも大きい場合には、８×２のサブブロックを使用する。一方、ＴＵサイズの高さが幅よりも大きい場合には、２×８のサブブロックを使用する。図４９（ｂ）は、上記選択を実現する擬似コードである。
【０２１３】
ＴＵサイズが非正方の場合、幅および高さのサイズが小さい方に非０係数が集中するため、図４７及び図４９に示す構成のように、サイズが小さい方を細かく分離する本サブブロック分割方法によって符号化効率向上の効果を奏する。なお、ＣＵ予測方式情報ＰｒｅｄＭｏｄｅがインター予測の場合で、ＰＵ分割タイプが２Ｎ×Ｎ、Ｎ×２Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、２Ｎ×Ｎ、２Ｎ×ｎＵ、および、２Ｎ×ｎＤなどの非正方の場合に、非正方のＴＵが用いられるため、そのため、ＴＵサイズによるサブブロック選択は好適に用いられる。
【０２１４】
（ＣＵ予測方式情報ＰｒｅｄＭｏｄｅ、ＴＵサイズ及びイントラ予測モードインデックスIntraPredModeにより、サブブロックサイズを導出する構成）
図８３は、ＣＵ予測方式情報ＰｒｅｄＭｏｄｅ、ＴＵサイズ及びイントラ予測モードインデックスIntraPredModeにより、サブブロックサイズを導出する方法を示す図である。ＣＵ予測方式情報ＰｒｅｄＭｏｄｅがイントラ予測の場合には、図１３で示すようにＴＵサイズ及びイントラ予測モードインデックスIntraPredModeに基づいて水平方向優先スキャンが用いられる場合には８×２、垂直方向優先スキャンが用いられる場合には２×８、それ以外のスキャンが用いられる場合には、４×４のサブブロックサイズを用いる。
【０２１５】
ＣＵ予測方式情報ＰｒｅｄＭｏｄｅがインター予測の場合には、ＴＵサイズが、ＴＵサイズの幅と高さが一致する場合には４×４のサブブロックを使用する。ＴＵサイズの幅と高さが一致しない場合で、ＴＵサイズの幅が高さよりも大きい場合には、８×２のサブブロックを使用する。一方、ＴＵサイズの高さが幅よりも大きい場合には、２×８のサブブロックを使用する。
【０２１６】
以上の構成により、サブブロックを分割することによって、ＣＵがイントラ予測の場合にもインター予測に場合にも、変換係数の偏りに応じて適切なサブブロック分割が行われるため符号化効率が向上する。
【０２１７】
（サブブロック係数有無フラグ復号部１２７）
サブブロック係数有無フラグ復号部１２７は、ビット復号部１３２から供給される各Ｂｉｎを解釈し、各サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるシンタックス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]を復号する。復号されたシンタックスsignificant_coeff_flag[xC][yC]の値は、復号係数記憶部１２６に格納される。また、係数有無フラグ復号部１２４は、算術符号復号部１３０にてシンタックスsignificant_coeff_flag[xC][yC]のＢｉｎを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。係数有無フラグ復号部１２４の具体的な構成については後述する。
【０２２０】
（係数値復号部１２５）
係数値復号部１２５は、ビット復号部１３２から供給される各Ｂｉｎを解釈し、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_remainingを復号すると共に、これらのシンタックスを復号した結果に基づき、処理対象の周波数成分における変換係数（より具体的には非０変換係数）の値を導出する。また、各種シンタックスの復号に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。導出された変換係数の値は、復号係数記憶部１２６に格納される。係数値復号部１２５の具体的な構成については後述する。
【０２２１】
（復号係数記憶部１２６）
復号係数記憶部１２６は、係数値復号部１２５によって復号された変換係数の各値を記憶しておくための構成である。また、復号係数記憶部１２６には、係数有無フラグ復号部１２４によって復号されたシンタックスsignificant_coeff_flagの各値が記憶される。復号係数記憶部１２６によって記憶されている変換係数の各値は、逆量子化・逆変換部１３に供給される。
【０２２２】
（ラスト係数位置復号部１２１の構成例）
以下、ラスト係数位置復号部１２１の構成例について従来技術と比較して本実施形態の技術を説明する。ラスト係数位置復号部１２１は、符号化データから、ラスト位置に関するシンタックスを復号し、スキャン順で最後に位置するサブブロックの番号（numLastSubset）と変換係数の数numCoeffを算出する。ラストサブブロック番号numLastSubsetと変換係数の数numCoeffは、サブブロック係数有無フラグと、上記係数有無フラグの復号の開始位置であるラスト係数位置に応じて定まる情報であり、ラスト位置情報と呼ぶ。
【０２２３】
（従来技術におけるラスト係数位置復号部の動作）
図２７は、従来技術のラスト係数位置の符号化データ構造とラスト位置情報の復号方法を説明するための図である。図２７（ａ）は、ラスト係数位置のシンタックステーブルを示し、図２７（ｂ）は、ラスト位置情報の復号方法の流れを示すフローチャートである。図２７に示すように、従来技術では、ラスト係数位置（last_significant_coeff_x、last_significant_coeff_y）は、last_significant_coeff_x_predixのシンタックスを復号することで導出される。
【０２２４】
（ステップＳＡ００１）
ラスト係数位置を復号する。符号化データからラスト係数位置（last_significant_coeff_x、last_significant_coeff_y）を復号する。
【０２２５】
（ステップＳＡ００２）
変換係数の数numCoeffを０に初期化する。ＴＵサイズの幅をwidth、高さをheightとすると変換係数の数は、０〜width×height−１の値をとる。
【０２２６】
（ステップＳＡ００３）
変換係数の数numCoeffを１だけインクリメントする。
【０２２７】
（ステップＳＡ００４）
スキャン順でnumCoeff個目に相当する周波数成分の位置（xC、yC）を導出する。ここでは、スキャン順scanIdx、ＴＵサイズlog2TrafoWidth、log2TrafoHeightで定まるスキャンテーブルScanOrderを参照することにより、次の式により算出する。
【０２２８】
xC = ScanOrder[°log2TrafoWidth°][ °log2TrafoHeight°][ °scanIdx°][ °numCoeff°][ °0°]
yC = ScanOrder[°log2TrafoWidth°][ °log2TrafoHeight°][ °scanIdx°][ °numCoeff°][ °1°]
（ステップＳＡ００５）
周波数成分の位置（xC, yC）がラスト係数位置に到達しているか否かを判定する。ラスト位置に到達していたらステップＳＡ００６に遷移する。到達していなければステップＳＡ００３に戻る。
【０２２９】
（ステップＳＡ００６）
変換係数の数numCoeffからラストサブブロック番号numLastSubsetを次の式により導出する。
【０２３０】
numLastSubset = （numCoeff ‐ 1） >> 2
このように、従来技術では、変換係数の数numCoeffとラストサブブロック番号numLastSubsetとを算出するために、ＤＣ位置からラスト係数位置になるまでスキャンする必要があり、処理が複雑である。また、numCoeffの値は０〜width×height−１をとるため、スキャン位置を示すテーブルのサイズもwidth×heighという大きなサイズが必要になり、必要なメモリ量も大きくなる。例えば、ＴＵサイズが32×32の場合、10ビット×32×32×２＝20480ビットのメモリ量が必要となる。
【０２３１】
（ラスト係数位置復号部１２１の第１の構成）
図２８は、本実施形態に係る第１の構成のラスト係数位置の符号化データの構成を示すシンタックステーブルである。第１の構成では、ラスト係数位置（last_significant_coeff_x、last_significant_coeff_y）は、ラスト係数が位置するサブブロック（ラストサブブロック）の位置を示すシンタックスlast_significant_coeff_group_x、last_significant_coeff_group_yと、ラストサブブロック内でのラスト係数の位置を示すシンタックスlast_significant_coeff_x_in_coeff_group、last_significant_coeff_y_in_coeff_groupとから構成される。なお、各シンタックスをさらにprefixとsuffixに分けて符号化しても構わない。
【０２３２】
図２９は、ラスト係数位置復号部１２１の第１の構成を示すブロック図である。ラスト係数位置復号部１２１は、ラストサブブロック位置復号部１２１ａ、サブブロック内ラスト係数位置復号部１２１ｂ、ラスト位置情報導出部１２１ｃから構成される。
【０２３３】
図３０は、第１の構成のラスト位置情報の復号方法の流れを示すフローチャートである。
【０２３４】
（ステップＳＡ３０１）
ラスト係数位置のシンタックスを復号する。具体的には、ラストサブブロック位置復号部１２１ａは、ラストサブブロック位置（last_significant_coeff_group_x、last_significant_coeff_group_y）を復号し、サブブロック内ラスト係数位置復号部１２１ｂは、サブブロック内ラスト係数位置（last_significant_coeff_x_in_coeff_group、last_significant_coeff_y_in_coeff_group）を復号する。
【０２３５】
（ステップＳＡ３０２）
ラスト位置情報導出部１２１ｃは、ラストサブブロック番号numLastSubsetを０に初期化する。以降のステップはラスト位置情報導出部１２１ｃで処理される。
【０２３６】
（ステップＳＡ３０３）
ラストサブブロック番号numLastSubsetを１だけインクリメントする。
【０２３７】
（ステップＳＡ３０４）
スキャン順でnumLastSubset個目に相当するサブブロックの位置（xCG、yCG）を導出する。ここでは、スキャン順scanIdx、ＴＵサイズlog2TrafoWidth、log2TrafoHeightで定まるサブブロックのスキャンテーブルScanGroupOrderを参照することにより、次の式により算出する。
【０２３８】
xCG = ScanGroupOrder[°log2TrafoWidth°][ °log2TrafoHeight°][ °scanIdx°][ °numLastSubset°][ °0°]
yCG = ScanGroupOrder[°log2TrafoWidth°][ °log2TrafoHeight°][ °scanIdx°][ °numLastSubset°][ °1°]
（ステップＳＡ００５）
サブブロックの位置（xC, yC）がラストサブブロック位置に到達しているか否かを判定する。ラストサブブロック位置に到達していたらステップＳＡ００６に遷移する。到達していなければステップＳＡ００３に戻る。
【０２３９】
（ステップＳＡ３０６）
変換係数の数numCoeffを０に初期化する。
【０２４０】
（ステップＳＡ３０７）
変換係数の数numCoeffを１だけインクリメントする。
【０２４１】
（ステップＳＡ３０８）
スキャン順でnumCoeff個目に相当する周波数成分の位置（xC、yC）を導出する。ここでは、スキャン順scanIdx、ＴＵサイズlog2TrafoWidth、log2TrafoHeightで定まるサブブロック内スキャンテーブルScanOrderInGroupを参照することにより、次の式により算出する。
【０２４２】
xC = ScanOrderInGroup[°log2TrafoWidth°][ °log2TrafoHeight°][ °scanIdx°][ °numCoeff°][ °0°]
yC = ScanOrderInGroup[°log2TrafoWidth°][ °log2TrafoHeight°][ °scanIdx°][ °numCoeff°][ °1°]
（ステップＳＡ３０９）
周波数成分の位置（xC, yC）がラスト係数位置に到達しているか否かを判定する。ラスト位置に到達していたらステップＳＡ３１０に遷移する。到達していなければステップＳＡ００３に戻る。
【０２４３】
（ステップＳＡ３１０）
変換係数の数numCoeffを次の式により導出する。
【０２４４】
numCoeff = numCoeff + numLastSubset << 4
なお、<<4とは、4ビット左シフトをする処理である。サブブロック内の係数の数が１６個以外の場合には以下の処理を行う。
【０２４５】
numCoeff = numCoeff + numLastSubset × NumCoeffInCoeffGroup
ここで、NumCoeffInCoeffGroupはサブブロック内の係数の数である。
【０２４６】
以上のように、上述した第１の構成では、ラストサブブロック位置とサブブロック内ラスト係数位置を分けて復号することによって、変換係数の数numCoeffとラストサブブロック番号numLastSubsetの算出を、ラストサブブロック単位のループとサブブロック内のループで行うことができる。各ループは各々最大１６回であるので、サブブロック係数有無フラグと係数有無フラグの復号の開始位置を示すラスト位置情報の導出処理が簡略化されるという効果を奏する。また、スキャン位置を示すテーブルもサブブロックスキャンとサブブロック内スキャンに分けて格納すれば良いためメモリサイズを低減できるという効果を奏する。例えばＴＵサイズが32×32の場合、必要なメモリサイズは、4ビット×4×4×2×2＝256ビットである。上述した従来技術で必要となるメモリサイズである20480ビットと比較するとメモリサイズは80分の１になる。
【０２４７】
また、第１の構成では、サブブロック内ラスト係数位置をＸ座標とＹ座標に分割して符号化する。Ｘ座標とＹ座標は連続するＴＵにおいて類似した値が出やすいという特徴があるため、コンテキストを用いて符号化するＣＡＢＡＣにおいて符号化効率が高くなる。
【０２４８】
（ラスト係数位置復号部１２１の第２の構成）
図３１は、本実施形態に係る第２の構成のラスト係数位置の符号化データの構成を示すシンタックステーブルである。第２の構成では、ラスト係数位置（last_significant_coeff_x、last_significant_coeff_y）は、ラスト係数が位置するサブブロック（ラストサブブロック）の位置を示すシンタックスlast_significant_coeff_group_x、last_significant_coeff_group_yと、ラストサブブロック内でのラスト係数の位置を示すシンタックスlast_significant_coeff_pos_in_coeff_groupとから構成される。なお、各シンタックスをさらにprefixとsuffixに分けて符号化しても構わない。
【０２４９】
図３２は、ラスト係数位置復号部１２１の第２の構成を示すブロック図である。ラスト係数位置復号部１２１は、ラストサブブロック位置復号部１２１ａ、サブブロック内ラスト係数位置復号部１２１ｂ´、ラスト位置情報導出部１２１ｃ´から構成される。
【０２５０】
図３３は、第２の構成のラスト位置情報の復号方法の流れを示すフローチャートである。
【０２５１】
（ステップＳＡ６０１）
ラスト係数位置のシンタックスを復号する。具体的には、ラストサブブロック位置復号部１２１ａは、ラストサブブロック位置（last_significant_coeff_group_x、last_significant_coeff_group_y）を復号し、サブブロック内ラスト係数位置復号部１２１ｂ´は、サブブロック内ラスト係数位置（last_significant_coeff_pos_in_coeff_group）を復号する。
【０２５２】
（ステップＳＡ６０２）から（ステップＳＡ６０５）までの動作は、各々、既に説明した（ステップＳＡ３０２）から（ステップＳＡ３０５）までの動作と同一であるので説明を省略する。
【０２５３】
（ステップＳＡ６０６）
以下の式により変換係数の数numCoeffを導出する。
【０２５４】
numCoeff＝ numCoeff + (numLastSubset <<4) 
以上のように、上述した第２の構成では、ラストサブブロック位置とサブブロック内ラスト係数位置を分けて復号することによって、変換係数の数numCoeffとラストサブブロック番号numLastSubsetの算出を、ラストサブブロック単位のループのみで求めることができる。ループは最大１６回であるので、サブブロック係数有無フラグと係数有無フラグの復号の開始位置を示すラスト位置情報の導出処理が簡略化されるという効果を奏する。また、スキャン位置を示すテーブルもサブブロックスキャンとサブブロック内スキャンに分けて格納すれば良いためメモリサイズを低減できるという効果を奏する。
【０２５５】
（ラスト係数位置復号部１２１の第３の構成）
図３４は、本実施形態に係る第３の構成のラスト係数位置の符号化データの構成を示すシンタックステーブルである。第３の構成では、ラスト係数位置（last_significant_coeff_x、last_significant_coeff_y）は、ラスト係数位置のプレフィックスlast_significant_coeff_x_prefix、last_significant_coeff_y_prefix、ラスト係数が位置するサブブロック（ラストサブブロック）の位置を示すシンタックスlast_significant_coeff_group_x、last_significant_coeff_group_yと、ラストサブブロック内でのラスト係数の位置を示すシンタックスlast_significant_coeff_x_in_coeff_group、last_significant_coeff_y_in_coeff_groupとから構成される。なお、ラストサブブロック位置とサブブロック内ラスト係数位置をさらにprefixとsuffixに分けて復号しても良い。
【０２５６】
図３５は、ラスト係数位置復号部１２１の第３の構成を示すブロック図である。ラスト係数位置復号部１２１は、ラスト係数位置プレフィックス復号部１２１ｄ、ラストサブブロック位置復号部１２１ａ´´、サブブロック内ラスト係数位置復号部１２１ｂ´、ラスト位置情報導出部１２１ｃから構成される。
【０２５７】
ラスト係数位置プレフィックス復号部１２１ｄは、ラスト係数位置プレフィックス（last_significant_coeff_x_prefix、last_significant_coeff_y_prefix）を復号する。
【０２５８】
ラストサブブロック位置復号部１２１ａ´´は、ラストサブブロック位置を復号もしくは導出する。ラスト係数位置プレフィックスlast_significant_coeff_x_prefixが所定の定数（ここでは３）以下の場合には、last_significant_coeff_x_in_coeff_groupを０に設定する。一方、所定の値より大きい場合には、符号化データからラストサブブロック位置を示すシンタックス、ここではlast_significant_coeff_group_x_minus1を復号する。さらに以下の式により、last_significant_coeff_group_xを導出する。
【０２５９】
last_significant_coeff_group_x  ＝  last_significant_coeff_group_x_minus1＋１
なお、上記では、Ｘ座標について説明したがＹ座標の場合も同様である。
【０２６０】
サブブロック内ラスト係数位置復号部１２１ｂ´は、サブブロック内ラスト係数位置を復号もしくは導出する。ラスト係数位置プレフィックスlast_significant_coeff_x_prefixが所定の定数（ここでは３）以下の場合には、last_significant_coeff_x_in_coeff_groupにラスト係数位置プレフィックスlast_significant_coeff_x_prefixを設定する。すなわち、以下の式のようになる。
【０２６１】
last_significant_coeff_x_in_coeff_group  ＝  last_significant_coeff_x_prefix
一方、ラスト係数位置プレフィックスlast_significant_coeff_x_prefixが、所定の値より大きい場合には、符号化データからサブブロック内ラスト係数位置を示すシンタックス、ここではlast_significant_coeff_x_in_coeff_groupを復号する。なお、上記では、Ｘ座標について説明したがＹ座標の場合も同様である。
【０２６２】
ラストサブブロック位置とサブブロック内ラスト係数位置の導出および復号後には、ラスト位置情報を導出するが、ラスト位置情報導出部１２１ｃの動作は既に説明した通りであるので説明を省略する。
【０２６３】
なお、第３の構成では、ラスト係数位置プレフィックスを先に復号しラスト係数位置プレフィックスが所定の値以下である場合には、以下の関係が成り立つ。
【０２６４】
ラスト係数位置＝ラスト係数位置プレフィックス
座標Ｘ、座標Ｙ毎に記載すれば、
last_significant_coeff_x  ＝  last_significant_coeff_x_prefix
last_significant_coeff_y  ＝  last_significant_coeff_y_prefix
となる。
【０２６５】
また、ラスト係数位置プレフィックスが所定の値より大きい場合には、さらに、ラストサブブロック位置とサブブロック内ラスト係数位置を復号する。
【０２６６】
このように第３の構成では、ラスト係数位置プレフィックスを用いることで、ラスト係数位置が小さい場合において、ラストサブブロック位置とサブブロック内ラスト係数位置の２つのシンタックスを復号することなく、ラスト係数位置プレフィックスという１つのシンタックスを復号するだけで済むため、少ない符号量でラスト係数位置を符号化できる。
【０２６７】
以上にように、上述した第３の構成では、ラストサブブロック位置とサブブロック内ラスト係数位置を分けて復号することによって、変換係数の数numCoeffとラストサブブロック番号numLastSubsetの算出を、ラストサブブロック単位のループのみで求めることができる。ループは最大１６回であるので、サブブロック係数有無フラグと係数有無フラグの復号の開始位置を示すラスト位置情報の導出処理が簡略化されるという効果を奏する。また、スキャン位置を示すテーブルもサブブロックスキャンとサブブロック内スキャンに分けて格納すれば良いためメモリサイズを低減できるという効果を奏する。
【０２６８】
（サブブロック係数有無フラグ復号部１２７の構成例）
以下では、図１５を参照して、サブブロック係数有無フラグ復号部１２７の具体的な構成例について説明する。
【０２６９】
図１５は、サブブロック係数有無フラグ復号部１２７の構成例を示すブロック図である。図１５に示すように、サブブロック係数有無フラグ復号部１２７は、サブブロック係数有無フラグコンテキスト導出部１２７ａ、サブブロック係数有無フラグ記憶部１２７ｂ、及び、サブブロック係数有無フラグ設定部１２７ｃを備えている。
【０２７０】
以下では、サブブロック係数有無フラグ復号部１２７に対して、係数復号制御部１２３から、サブブロック位置（ｘＣＧ、ｙＣＧ）が逆スキャン順に供給される場合を例に挙げて説明を行う。なお、この場合、サブブロック係数有無フラグ復号部１２７に対応する符号化装置側の構成では、サブブロック位置（ｘＣＧ、ｙＣＧ）が順スキャン順に供給されることになる。
【０２７１】
（サブブロック係数有無フラグコンテキスト導出部１２７ａ）
サブブロック係数有無フラグ復号部１２７の備えるサブブロック係数有無フラグコンテキスト導出部１２７ａは、各サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるサブブロックに割り付けるコンテキストインデックスを導出する。サブブロックに割り付けられたコンテキストインデックスは、当該サブブロックについてのシンタックス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+1]を復号するために用いるコンテキストインデックスを導出し、
図１７に示すように、サブブロック係数有無フラグが０とされたブロックでは、係数有無フラグsignigicant_coeff_flagの復号をスキップすることができるため、復号処理が簡略化される。
【０２７７】
（係数有無フラグ復号部１２４の構成例）
以下では、図１８を参照して、係数有無フラグ復号部１２４の具体的な構成例について説明する。
【０２７８】
図１８は、係数有無フラグ復号部１２４の構成例を示すブロック図である。図１８に示すように、係数有無フラグ復号部１２４は、コンテキスト導出部１２４ｚ、係数有無フラグ記憶部１２４ｄ、及び係数有無フラグ設定部１２４ｅを備えている。コンテキスト導出部１２４ｚは図示しない導出方法制御部１２４ａ、位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃを備える。
【０２７９】
（導出方法制御部１２４ａ）
導出方法制御部１２４ａには、処理対象の周波数成分の位置（ｘＣ,ｙＣ）と、変換ブロックの対数値（log2TrafoWidth、log2TrafoHeight）が入力される。対数値のサイズから、周波数領域の幅widthと高さheightを(1<<log2TrafoWidth)と(1<<log2TrafoHeight)により算出する。なお、対数値のサイズではなく、周波数領域の幅と高さを直接入力しても良い。
【０２８０】
導出方法制御部１２４ａは、対象となるＴＵサイズおよび周波数成分の位置に応じて、位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃを選択する。選択された各コンテキスト導出部ではコンテキストインデックスctxIdxが導出される。
【０２８１】
例えば、ＴＵサイズが所定のサイズ以下である場合（例えば、４×４ＴＵ、８×８ＴＵである場合）、には、導出方法制御部１２４ａは、位置コンテキスト導出部１２４ｂを選択する、
対象となるＴＵサイズが所定のサイズよりも大きい場合（例えば、１６×１６ＴＵ、３２×３２ＴＵである場合等）、導出方法制御部１２４ａは、周波数領域における復号対象の周波数成分の位置に応じて、位置コンテキスト導出部１２４ｂ、及び周辺参照コンテキスト導出部１２４ｃを選択する。
【０２８２】
図２０（ａ）〜（ｂ）は、本処理例において、導出方法制御部１２４ａによって分割された部分領域を示す図であり、図２０（ａ）は、輝度値に関する変換係数を復号する際に好適に適用されるものであり、図２０（ｂ）は、色差に関する変換係数を復号する際に好適に適用されるものである。
【０２８３】
図２１は、図２０（ａ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスのコンテキストインデックスｃｘｔＩｄｘを導出する導出処理を示す擬似コードである。図２１において、部分領域Ｒ０、部分領域Ｒ３のコンテキスト導出は、位置コンテキスト導出部１２４ｂによって行われ、部分領域Ｒ１のコンテキスト導出及び部分領域Ｒ２のコンテキスト導出は、周辺参照コンテキスト導出部１２４ｃによって行われる。
【０２８４】
（位置コンテキスト導出部１２４ｂ）
位置コンテキスト導出部１２４ｂは、対象周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該対象周波数成分の位置に基づいて導出する。なお、周波数成分の位置によらず、固定値となるコンテキストインデックスctxIdxを導出する場合も位置コンテキスト導出部１２４ｂで行われる。
【０２８５】
位置コンテキスト導出部１２４ｂは、処理対象のＴＵが所定のサイズよりも大きい場合に、たとえば、図２０に示す部分領域Ｒ０に属する周波数成分に対して、以下の式(eq.A3)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを導出方法制御部１２４ａに供給する。
【０２８６】
sigCtx = sigCtxOffsetR0・・・(eq.A1)
なお、sigCtxはコンテキストインデックスctxIdxを意味する。またsigCtxOffsetR0はコンテキストインデックスの開始点を表す定数である。
【０２８７】
また、例えば、図２０に示す部分領域Ｒ３に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを導出方法制御部１２４ａに供給する。
【０２８８】
sigCtx = sigCtxOffsetR3・・・(eq.A2)
処理対象の周波数領域が所定のサイズ以下である場合の位置コンテキスト導出部１２４ｂによるコンテキストインデックス導出処理の具体例については後述する。
【０２８９】
（周辺参照コンテキスト導出部１２４ｃ）
周辺参照コンテキスト導出部１２４ｃは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非０変換係数の数ｃｎｔに基づいて導出する。
【０２９０】
周辺参照コンテキスト導出部１２４ｃは、例えば、図２０に示す部分領域Ｒ１及び部分領域Ｒ１に属する周波数成分に対して、変換係数の位置に応じて異なる参照位置（テンプレート）を用いて復号済みの非０変換係数の数ｃｎｔを導出する。図１９（ａ）は、サブブロック内の周波数成分上の位置と、選択するテンプレートの関係を示す図である。４×４成分のサブブロックにおいて、位置に示す表記が（ｂ）の場合には、図１９（ｂ）に示すテンプレートを用い、表記が（ｃ）の場合には図１９（ｃ）に示すテンプレートを用いる。図１９（ｂ）（ｃ）はテンプレートの形状を示す。すなわち、参照周波数成分（例えば、ｃ１、ｃ２、ｃ３、ｃ４、ｃ５）と対象周波数成分ｘとの相対位置を示す。
【０２９１】
処理は、変換係数の位置（xC, yC）が以下の式（eq.A3）を満たす場合、すなわち、変換係数の位置がサブブロックの左上である、もしくは、変換係数の位置がサブブロックの右下の一つ上の場合とそれ以外の場合で異なる。
【０２９２】
((xC &3)==0 && (yC &3)==0) || ((xC &3)==3 && (yC &3)==2)        （eq.A3）
変換係数の位置（xC, yC）が、式（eq.A1）を満たす場合、非０変換係数のカウント数ｃｎｔを、図１９（ｃ）に示す参照周波数成分（ｃ１、ｃ２、ｃ４、ｃ５）を用いて、以下の式（eq.A4）によって導出する。
【０２９３】
cnt = (c1!=0) + (c2!=0) + (c4!=0) + (c5!=0)        （eq.A4）  ここで、(eq.A4)における各項は、（）内の比較が真である場合に１をとり、（）内の比較が偽である場合に０をとるものとする。
【０２９４】
または、以下のようにも表現できる。
【０２９５】
cnt = significant_coeff_flag[xC+1][yC]      // c1
+ significant_coeff_flag[xC+2][yC]      // c2
+ significant_coeff_flag[xC+1][yC+1]  // c4
+ significant_coeff_flag[xC][yC+2]      // c5 
変換係数の位置（xC, yC）が、式（eq.A3）を満たさない場合は、図１９（ｂ）に示す参照周波数成分ｃ１〜ｃ５を用いて、以下の式（eq.A5）によって、非０変換係数の数ｃｎｔを算出する。
【０２９６】
cnt= (c1!=0) + (c2!=0) + (c3!=0) + (c4!=0) + (c5!=0)         （eq.A5）
または、以下のようにも表現できる。
【０２９７】
cnt = significant_coeff_flag[xC+1][yC]      // c1
+ significant_coeff_flag[xC+2][yC]      // c2
+ significant_coeff_flag[xC][yC+1]      // c3
+ significant_coeff_flag[xC+1][yC+1]  // c4
+ significant_coeff_flag[xC][yC+2]      // c5 
続いて、周辺参照コンテキスト導出部１２４ｃは、以下の式（eq.A6）を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを導出方法制御部１２４ａに供給する。
【０２９８】
sigCtx = sigCtxOffsetR1  +  Min(2, ctxCnt)         （eq.A6）
ここで、ctxCntは、
ctxCnt（ｃｎｔ＋１）＞＞１
によって定まる。
【０２９９】
式（eq.4）では、対象とする変換係数の位置の、処理順で直前（処理順が逆スキャン順である場合には、対象とする変換係数の位置の下側）に位置する座標（ｃ３）の変換係数を参照しないようにしている。このような処理は、ある位置の係数有無フラグの復号に用いるコンテキスト導出を、直前の係数有無フラグの値を参照せずに行うことができるため、コンテキスト導出処理と復号処理とを並列に処理することができる。
【０３００】
なお、復号済みの非０変換係数の数ｃｎｔの代わりに、復号済みの変換係数の絶対値和sumAbsLevelを用いて、コンテキストインデックスを導出しても良い。
【０３０１】
変換係数の位置（xC, yC）が、式（eq.A1）を満たす場合、以下の式により復号済みの変換係数の絶対値和sumAbsLevelを導出する。
【０３０２】
sumAbsLevel = Coeff[xC+1][yC]      // c1
+ Coeff[xC+2][yC]      // c2
+ Coeff[xC+1][yC+1]  // c4
+ Coeff[xC][yC+2]      // c5 
それ以外の場合には、以下の式により復号済みの変換係数の絶対値和sumAbsLevelを導出する。
【０３０３】
sumAbsLevel = Coeff[xC+1][yC]      // c1
+ Coeff[xC+2][yC]      // c2
+ Coeff[xC+1][yC+1]  // c4
+ Coeff[xC][yC+2]      // c5 
さらに、周辺参照コンテキスト導出部１２４ｃは、コンテキストインデックスctxIdxを、以下の式により導出する。
【０３０４】
sigCtx = Min(sumAbsLevel, 5)  なお、本発明の他のコンテキスト導出部においても、同様の方法で復号済みの変換係数の絶対値和sumAbsLevelを用いてコンテストインデックスを導出することができる。
【０３０５】
（係数有無フラグ設定部１２４ｅ）
係数有無フラグ設定部１２４ｅは、ビット復号部１３２から供給される各Ｂｉｎを解釈し、シンタックス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]を０に設定する。
【０３０７】
（係数有無フラグ記憶部１２４ｄ）
係数有無フラグ記憶部１２４ｄには、シンタックスsignificant_coeff_flag[xC][yC]の各値が格納される。係数有無フラグ記憶部１２４ｄに格納されたシンタックスsignificant_coeff_flag[xC][yC]の各値は、周辺参照コンテキスト導出部１２４ｃによって参照される。なお、各周波数成分の位置（xC、yC）に非０の変換係数が存在するか否かは係数有無フラグ専用の記憶部を用いずとも、復号した変換係数値を参照することでも参照できるため、係数有無フラグ記憶部１２４ｄを設けず、代わりに、復号係数記憶部１２６を用いることもできる。
（周波数領域が所定のサイズ以下である場合の導出方法制御部コンテキストインデックス導出処理）
周波数領域が所定のサイズ以下である場合には、位置コンテキストによるコンテキストインデックスが用いられる。図２２は、位置コンテキストの導出方法を説明する図である。
【０３０８】
（係数有無フラグ復号部１２４の簡易な動作の概要）
図３６は、係数有無フラグ復号部１２４の簡易な構成による動作を説明する図である。図３６（ａ）は、係数有無フラグ復号の動作を示す図である。係数有無フラグ復号ではコンテキスト導出部１２４ｚが導出したコンテキストインデックスを、コンテキストＦＩＴＯ１２４ｇに格納する。算術符号復号部１３０はコンテキストＦＩＦＯに格納されたコンテキストインデックスを読み出して、係数有無フラグを復号する。復号した係数有無フラグは、係数有無フラグ記憶部１２４ｄに記憶される。係数有無フラグ記憶部１２４ｄに記憶された係数有無フラグは、コンテキスト導出部１２４ｚにおいて周辺参照を行う場合に参照される。コンテキスト導出部１２４ｚと、算術符号復号部１３０が並列動作を行うことによって高速に復号が可能である。
【０３０９】
図３６（ｂ）は、サブブロック内の変換係数のスキャン順を示す図である。ブロック内の係数位置が１５から０に向かって逆スキャン順に係数有無フラグが復号される。図３６（ｃ）は、サブブロック内のスキャン順と使用するテンプレートとの関係を示す図である。ここでは、図１９（ｂ）（ｃ）で示されるテンプレートを示している。
変換係数のスキャン順の順に、１５〜１２、１１〜８、７〜４、３〜０の４つづつに組分けすると、使用テンプレートとして次のパターンが４種類定義できる。なお、パターン２とパターン３とは同一パターンであるので実質的には３パターンである。
【０３１０】
パターン１：(b) => (c) =>  (a) => (b) =>
パターン２：(b) => (b) =>  (b) => (b) =>
パターン３：(b) => (b) =>  (b) => (b) =>
パターン４：(b) => (b) =>  (b) => (c) =>
変換係数を組として扱わない場合、変換係数の位置毎にテンプレートを選択する判定を行う必要があるが、連続する複数の変換係数を組として扱うことができれば、変換係数の組毎に（ここでは４つの変換係数毎に）テンプレートのパターンを選択する判定を行えば良い。この場合、テンプレートを選択する判定を、４分の１に減らすことが可能であることを示している。以下、本アイデアを実現する具体的構成を説明する。
【０３１１】
（係数有無フラグ復号部の従来技術の動作）
図３７は、従来技術における係数有無フラグ復号部の動作を示すフローチャートである。
【０３１２】
（ステップＳＢ００１）
サブブロック内のスキャン順を示すカウンタｎを１５に設定する。
【０３１３】
（ステップＳＢ００２）
対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
【０３１４】
（ステップＳＢ００３）
対象変換係数の位置がラスト位置以降ではないかを判定する。
【０３１５】
（ステップＳＢ００４）
ラスト係数以降ではない場合（ステップＳＢ００３でＹｅｓ）、すなわち、対象変換係数の位置がＤＣ成分からの距離n + offsetが、変換係数の数numCoeff-1より小さい場合には、テンプレートを選択する。それ以外の場合は、ＳＢ００４〜ＳＢ００６はスキップされ、ＳＢ００７に遷移する。
【０３１６】
（ステップＳＢ００５）
選択したテンプレートを用いてコンテキストインデックスを導出する。
【０３１７】
（ステップＳＢ００６）
導出したコンテキストインデックスを用いて係数有無フラグを復号する。
【０３１８】
（ステップＳＢ００７）
カウンタｎを１だけデクリメントする。
【０３１９】
（ステップＳＢ００８）
サブブロック内のループを終了する。
【０３２０】
以上の比較技術の処理では、サブブロック内の各変換係数において、ラスト位置の判定とテンプレートの選択を必要とする。
【０３２１】
（係数有無フラグ復号部１２４の第１の構成の動作）
図３８は、本実施形態に係る係数有無フラグ復号部１２４の第１の構成の動作の流れを示すフローチャートである。
【０３２２】
（ステップＳＢ２０１）
サブブロック内のスキャン順を示すカウンタｎを１５に設定する。
【０３２３】
（ステップＳＢ２０２）
ラスト位置の判定に用いる変換係数の数numCoeff２を導出する。numCoeff２は、変換係数の数numCoeff以上で、Ｎの倍数（Ｎは、２、４、８、１６のいずれか）となるように設定する。例えば以下の式で導出できる。
【０３２４】
numCoeff2 = (numCoeff + N ‐ 1) / N *
（ステップＳＢ２０３）
対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
【０３２５】
（ステップＳＢ２０４）
対象変換係数の位置がラスト位置以降ではないかを判定する。
【０３２６】
（ステップＳＢ２０５）
ラスト係数以降ではない場合（ステップＳＢ２０４でＹｅｓ）、すなわち、対象変換係数の位置がＤＣ成分からの距離n + offsetが、ラスト判定用の変換係数の数numCoeff２-1より小さい場合には、テンプレートのパターンを選択する。テンプレートのパターンとは、図３６（ｃ）で示すようにＮ個のテンプレートの組のことである。一方、ラスト係数よりも前の場合（ステップＳＢ２０４でＮＯ）の場合は、ＳＢ２０５〜ＳＢ２０７はスキップされ、ＳＢ２０８に遷移する。
【０３２７】
（ステップＳＢ２０６）
選択したテンプレートのパターンのＫ個目のテンプレートを用いてコンテキストインデックスを導出する（Ｋは１〜Ｎの変数）。
【０３２８】
（ステップＳＢ２０７）
導出したコンテキストインデックスを用いて係数有無フラグを復号する。以下、ステップＳＢ２０６とＳＢ２０７をＮ回だけ繰り返す。
【０３２９】
（ステップＳＢ２０８）
カウンタｎをＮだけデクリメントする。
【０３３０】
（ステップＳＢ２０９）
サブブロック内のループを終了する。
【０３３１】
以上の第１の構成では、係数有無フラグの復号をＮ個の倍数分行うように非０係数の復号処理のループにおけるラスト位置の判定を変更することによって、サブブロック内のラスト位置の判定とテンプレートの選択の回数をＮ分の１に減らすことができる。これにより、非０係数フラグの復号のスループットを向上させる効果を奏する。
【０３３２】
（係数有無フラグ復号部１２４の第２の構成の動作）
図３９は、本実施形態に係る係数有無フラグ復号部１２４の第２の構成の動作の流れを示すフローチャートである。
【０３３３】
（ステップＳＢ３０１）
ラスト位置の判定に用いる変換係数の数numCoeff２を導出する。numCoeff２は、変換係数の数numCoeff以上で、１６の倍数となるように設定する。例えば以下の式で導出できる。
【０３３４】
numCoeff2 = (numCoeff + 15) & ~15
上述した図３７に示す従来技術の構成、および、図３８に示す第１の構成とは異なり、本構成例では、対象サブブロック内のループは不要である。また、ラスト位置以降ではないかの判定、テンプレートの選択も不要である。
【０３３５】
（ステップＳＢ３０２）
サブブロック内のＫ個目の変換係数を復号する（Ｋ＝１〜１５）。サブブロック内のＫ個目の変換係数の位置は確定しているので、テンプレートも確定しており、特に選択することなく、テンプレートの選択が行われる。このテンプレートを用いてコンテキストインデックスを導出し、導出したコンテキストインデックスを用いて係数有無フラグを復号する。
【０３３６】
以上の第２の構成では、係数有無フラグの復号を１６個の倍数分行うように、非０係数の復号処理のループにおけるラスト位置の判定を変更することによって、サブブロック内のラスト位置の判定とテンプレートの選択の回数を全て無くすことができる。これにより、非０係数フラグの復号のスループットを向上させる効果を奏する。
【０３３７】
（係数有無フラグ復号部１２４の第３の構成に対応する従来技術の動作）
図４０は、係数有無フラグ復号部１２４の第３の構成に対応する従来技術の動作の流れを示すフローチャートである。係数有無フラグ復号部１２４の第３の構成では、係数有無フラグ復号部１２４内のコンテキスト導出部１２４ｚの構成に特徴があるため、以下は、コンテキスト導出処理についてのみ記載する。
【０３３８】
（ステップＳＢ４０１）
サブブロック内のスキャン順を示すカウンタｎを１５に設定する。
【０３３９】
（ステップＳＢ４０２）
対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
【０３４０】
（ステップＳＢ４０３）
対象変換係数の位置がラスト位置以降ではないかを判定する。
【０３４１】
（ステップＳＢ４０４）
ラスト係数以降ではない場合（ステップＳＢ４０３でＹｅｓ）、すなわち、対象変換係数の位置がＤＣ成分からの距離n + offsetが、変換係数の数numCoeff-1より小さい場合には、テンプレートを選択する。それ以外の場合は、ＳＢ４０４〜ＳＢ００５はスキップされ、ＳＢ００６に遷移する。
【０３４２】
（ステップＳＢ４０５）
選択したテンプレートを用いてコンテキストインデックスを導出する。
【０３４３】
（ステップＳＢ４０６）
カウンタｎを１だけデクリメントする。
【０３４４】
（ステップＳＢ４０８）
サブブロック内のループを終了する。
【０３４５】
以上の第３の構成に対応する比較技術の処理では、サブブロック内の各変換係数において、ラスト位置の判定とテンプレートの選択を必要とする。
【０３４６】
（係数有無フラグ復号部１２４の第３の構成の動作）
図４１は、本実施形態に係る係数有無フラグ復号部１２４の第３の構成の動作を示すフローチャートである。
【０３４７】
（ステップＳＢ５０１）
ラスト係数が存在するサブブロックであるか否かを判定する。これは、対象変換係数の位置がＤＣ成分からの距離offsetが、offsetの値が変換係数の数numCoeff―サブブロック内の変換係数の数以上の場合には、ラスト係数が存在するサブブロックと判定することによって行う。サブブロック内の変換係数の数が１６の場合には、以下の式により判定できる。
【０３４８】
ラスト係数が存在するサブブロック＝offset >= numCoeff - 16 ? true : false
（ステップＳＢ５０２）
ラスト係数が存在するサブブロックではない場合（ステップＳＢ５０１でＹｅｓ）には、サブブロック内の全ての変換係数の位置に対して、周囲参照コンテキストもしくは位置コンテキストを用いてコンテキストインデックスを導出する。サブブロック内に１６個の変換係数がある場合では、コンテキストインデックス#15からコンテキストインデックス#1の１６個のコンテキストインデックスを導出する。コンテキストインデックスを導出する際に用いるテンプレートは、変換係数の位置によって異なるが、各変換係数の位置は確定しているので、テンプレートも確定しているため、変換係数の位置に応じてテンプレートの選択を行う必要はない。
【０３４９】
（ステップＳＢ５０３）
ラスト係数が存在するサブブロックの場合（ステップＳＢ５０１でＮｏ）には、対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
【０３５０】
（ステップＳＢ５０４）
対象変換係数の位置がラスト位置以降ではないかを判定する。
【０３５１】
（ステップＳＢ５０５）
ラスト係数以降ではない場合（ステップＳＢ５０４でＹｅｓ）、すなわち、対象変換係数の位置がＤＣ成分からの距離n + offsetが、変換係数の数numCoeff-1より小さい場合には、位置コンテキストを用いてコンテキストインデックスを選択する。それ以外の場合は、ＳＢ５０５はスキップされ、ＳＢ５０６に遷移する。周囲参照コンテキストを用いず、位置コンテキストを用いるため、テンプレートの選択は不要である。
【０３５２】
（ステップＳＢ５０６）
カウンタｎを１だけデクリメントする。
【０３５３】
（ステップＳＢ５０７）
サブブロック内のループを終了する。
【０３５４】
以上の第３の構成では、ラスト係数を含むサブブロックの変換係数に対しては、周囲参照コンテキストを用いず、位置コンテキストを用いる。これにより、サブブロック内のラスト位置の判定とテンプレートの選択の回数を全て無くすことができる。そして、非０係数フラグの復号のスループットを向上させる効果を奏する。
【０３５５】
（係数有無フラグ復号部１２４の第３の構成）
図４２は、本実施形態に係る係数有無フラグ復号部１２４の構成例を示すブロック図である。図４２に示すように、係数有無フラグ復号部１２４は、コンテキスト導出部１２４ｚ´、係数有無フラグ記憶部１２４ｄ、及び係数有無フラグ設定部１２４ｅを備えている。コンテキスト導出部１２４ｚ´は図示しない導出方法制御部１２４ａ、ラストサブブロック係数有無フラグコンテキスト導出部１２４ｆ、通常サブブロックコンテキスト導出部１２４ｇを備える。
【０３５６】
ラストサブブロック係数有無フラグコンテキスト導出部１２４ｆは、位置コンテキストを用いて変換係数がラスト係数を含むサブブロックである場合の係数有無フラグのコンテキストインデックスを導出する。すなわち、対象変換係数の位置（xC、yC）もしくは対象変換係数を含むサブブロックの位置（xCG、yCG）に応じて、コンテキストインデックスを決定する。
【０３５７】
図４３（ａ）は、ラストサブブロック係数有無フラグコンテキスト導出部１２４ｆの構成例を示すブロック図である。ラストサブブロック係数有無フラグコンテキスト導出部１２４ｆは、低周波数固定コンテキスト導出部１２４ｆ１と高周波数固定コンテキスト導出部１２４ｆ２とから構成される。ラストサブブロック係数有無フラグコンテキスト導出部１２４ｆでは、サブブロック位置（xCG, yCG）がxCG＋yCGが所定の閾値ＴＨ未満である場合には、コンテキストインデックスを低周波数固定コンテキスト導出部１２４ｆ１により、以下の式により導出する。
【０３５８】
sigCtx = sigCtxOffsetLast
それ以外の場合には、高周波数固定コンテキスト導出部１２４ｆ２により、以下の式により導出する。
【０３５９】
sigCtx = sigCtxOffsetLast＋１
なお、sigCtxOffsetLastはラスト変換係数のコンテキストの開始点である。ＴＨは例えば１が利用できる。サブブロック位置（xCG, yCG）による分岐は、xCG＋yCGの他、MAX(xCG, yCG)およびMIN(xCG, yCG)なども利用できる。
【０３６０】
図４３（ｂ）は、ラストサブブロック係数有無フラグコンテキスト導出部１２４ｆの別の構成例を示すブロック図である。ラストサブブロック係数有無フラグコンテキスト導出部１２４ｆ´は、低周波数位置コンテキスト導出部１２４ｆ３と高周波数固定コンテキスト導出部１２４ｆ２から構成される。ラストサブブロック係数有無フラグコンテキスト導出部１２４ｆでは、サブブロック位置（xCG, yCG）が所定の閾値ＴＨ以下である場合には、コンテキストインデックスを低周波数位置コンテキスト導出部１２４ｆ３により、以下の式により導出する。
【０３６１】
sigCtx = sigCtxOffsetLast  ＋  Tbl [xC][yC]
なお、テーブルTblとしては、ＴＵサイズが４×４の場合のテーブルを利用することができる。コンテキスト開始点sigCtxOffsetLastもＴＵサイズが４×４の場合の開始点を用いることができる。このようにすることにより、ラスト係数を含むサブブロックが低周波数成分である場合に、固定的なコンテキストを用いるのではなく、ラスト係数を含まないサブブロックで用いられるコンテキストを用いることにより、係数有無フラグの符号量を低減することができる。ここでは、特定のＴＵサイズ、例えば４×４ＴＵに用いられるコンテキストを用いる。
【０３６２】
それ以外の場合には、高周波数固定コンテキスト導出部１２４ｆ２により、以下の式により導出する。
【０３６３】
sigCtx = sigCtxOffsetLast
なお、sigCtxOffsetLastはラスト変換係数のコンテキストの開始点である。
【０３６４】
以上のように、第３の構成では、既に述べたように、ラスト係数を含むサブブロックの変換係数に対しては位置コンテキストを用いるため、非０係数フラグの復号のスループットを向上させる効果を奏する。また、図４３（ｂ）に示す例では、ラスト係数を含むサブブロックの変換係数に、ラスト係数を含まないサブブロックで用いられるコンテキストを用いることにより、スループットを向上させながら高い符号化効率を達成する効果を奏する。
【０３６５】
（係数有無フラグ復号部１２４の第４の構成）
図４４（ａ）は、係数有無フラグ復号部１２４の第４の構成のコンテキスト導出部１２４ｚの動作の流れを示すフローチャートである。係数有無フラグ復号部１２４の第４の構成では、変換係数の位置に応じて、位置コンテキストと周辺参照コンテキストを切り替える。
【０３６６】
（ステップＳＢ８０１）
対象変換係数の位置(xC, yC)が低波数成分であるか否かを判定する。判定では例えば以下の式を用いる。
【０３６７】
xC + yC  ＜＝ＴＨ１
なお、閾値ＴＨ１としては例えば１が用いられる。閾値ＴＨ１に１を用いた場合には、ＤＣ成分のみが低周波成分として判定される。
【０３６８】
（ステップＳＢ８０２）
対象変換係数の位置(xC, yC)が低波数成分でない場合（ステップＳＢ８０１でＮｏ）、対象変換係数を含むサブブロックが高周波数成分であるか否かを判定する。判定では例えば、
xCG + yCG  ＞ＴＨ２
を用いる。この判定の詳細については後述する。
【０３６９】
（ステップＳＢ８０３）
対象変換係数を含むサブブロックが高周波数成分ではない場合（ステップＳＢ８０２でＮｏ）、周辺参照コンテキストによりコンテキストインデックスを導出する。
【０３７０】
（ステップＳＢ８０４）
対象変換係数の位置(xC, yC)が低波数成分である場合（ステップＳＢ８０１でＹｅｓ）、もしくは対象変換係数を含むサブブロックが高周波数成分ではある場合（ステップＳＢ８０２でＹｅｓ）、位置コンテキストによりコンテキストインデックスを導出する。
【０３７１】
図４４（ｂ）は、図４４（ａ）の動作を、判定についてサブブロック単位で行う場合のフローチャートである。図４４（ｂ）に示すように、対象変換係数を含むサブブロックが高周波数成分の判定は、サブブロック内で１回のみ行えば良い。
【０３７２】
以上の構成によれば、高周波数で処理負荷の小さい位置コンテキストを用いることにより、全ての周波数（もしくは低周波数を除く全ての周波数）で周辺参照コンテキストを用いるのに比べ処理量が小さくなる。また、高周波数成分であるか否かを、サブブロックアドレスを用いて判定することにより、サブブロック内では判定が不要になる。
【０３７３】
以下、ステップＳＢ８０２に示す対象変換係数を含むサブブロックが高周波数成分であるかの判定について、詳細に説明する。
【０３７４】
図４５は、ＴＵサイズが８×８である場合のサブブロック分割とそのサブブロック位置（xCG、yCG）を示す。図４５（ａ）は、４×４成分のサブブロック分割を行う場合であり、サブブロック位置（xCG、yCG）は左上からラスタ順に（0, 0）、（1, 0）、（1, 0）、（1, 1）となる。図４５（ｂ）は、８×２成分のサブブロック分割を行う場合であり、サブブロック位置（xCG、yCG）は左上からラスタ順に（0, 0）、（0, 1）、（0, 2）、（0, 3）となる。図４５（ｃ）は、２×８成分のサブブロック分割を行う場合であり、サブブロック位置（xCG、yCG）は左上からラスタ順に（0, 0）、（1, 0）、（2, 0）、（3, 0）となる。
【０３７５】
図４６は、ＴＵの幅と高さが一致しない、すなわちＴＵサイズが非正方である場合のサブブロック分割とそのサブブロック位置（xCG、yCG）を示す例である。なおＴＵサイズが非正方である場合の変換をＮＳＱＴ（Non Square Q Transform）と呼ぶ。図４５（ａ）（ｂ）（ｃ）（ｄ）は、各々１６×４ＴＵ、４×１６ＴＵ、３２×８ＴＵ、８×３２ＴＵを示す。図Ｂ４５の例では、全て４×４のサブブロックで分割される。
【０３７６】
図４７は、ＴＵサイズが非正方である場合のサブブロック分割とそのサブブロック位置（xCG、yCG）を示す別の例である。図４７（ａ）（ｂ）（ｃ）（ｄ）は、各々１６×４ＴＵ、４×１６ＴＵ、３２×８ＴＵ、８×３２ＴＵを示す。図４７の例では、幅（横）が高さ（縦）より大きい場合、すなわち１６×４ＴＵ、３２×８ＴＵの場合に、横が縦より大きい８×２のサブブロックを使用し、縦が横より大きい場合、すなわち４×１６ＴＵ、８×３２ＴＵの場合に、縦が横より大きい２×８のサブブロックを使用する。
【０３７７】
（高周波位置コンテキストを用いる場合の構成）
図５１は、高周波位置コンテキストを用いるコンテキスト導出部の第１の構成例を示す図である。図５１（ａ）は、対象変換係数を含むサブブロックが高周波数成分であるか否かの判定を示す式である。図５１（ａ）では、サブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGとの和が、ＴＵサイズの幅と高さの最大値から算出される閾値以上の場合に、当該サブブロックが高周波成分であると判定する。第１の構成例では、これにより高周波成分であると判定された場合に位置コンテキストを用いる。図５１（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。図５１（ｂ）〜（ｊ）において、塗りつぶされたサブブロックで位置コンテキストが用いられる。
【０３７８】
図５２は、高周波位置コンテキストを用いるコンテキスト導出部の第２の構成例を示す図である。図５２（ａ）は、対象変換係数を含むサブブロックが高周波数成分であるか否かの判定を示す式である。図５２（ａ）は図５１（ａ）と同様、サブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGの和が、ＴＵサイズの幅と高さの最大値から算出される閾値以上の場合に、高周波成分と判定する。図５２（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。図５２（ｂ）〜（ｊ）において、塗りつぶされたサブブロックで位置コンテキストが用いられる。
【０３７９】
図５３は、高周波位置コンテキストを用いるコンテキスト導出部の第３の構成例を示す図である。図５３（ａ）は、対象変換係数を含むサブブロックが高周波数成分であるか否かの判定を示す式である。図５３（ａ）では、サブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGの和が、ＴＵサイズの幅の対数値とＴＵサイズの高さの対数値の和から算出される閾値以上の場合に、高周波成分と判定する。なお、ＴＵサイズの幅の対数値log2TrafoWidthとＴＵサイズの高さの対数値log2TrafoHeightの代わりに、ＴＵサイズlog2TrafoSizeを用いても良い。図５３（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。図５３（ｂ）〜（ｊ）において、塗りつぶされたサブブロックで位置コンテキストが用いられる。
【０３８０】
図５３（ｂ）と図５２（ｂ）とを比較すると、ＴＵの幅または高さが異なる場合、すなわち、ＴＵが非正方変換である１６×４ＴＵ、４×１６ＴＵ、３２×８ＴＵ、８×３２ＴＵである場合、位置コンテキストが用いられる周波数領域の面積（全体の内、位置コンテキストが用いられる周波数領域の割合）が大きくなる。位置コンテキストが増える分、処理量が低減されるため効果を奏する。すなわち、非正方変換である１６×４ＴＵ、４×１６ＴＵ、３２×８ＴＵ、８×３２ＴＵで、４×４のサブブロックが用いられる場合で、サブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGの和が、ＴＵサイズの幅の対数値とＴＵサイズの高さの対数値の和から算出される閾値以上の場合に、高周波成分と判定し、この場合に位置コンテキストを用いる。これにより、処理量と性能のバランスが好適になる。
【０３８１】
図５４は、高周波位置コンテキストを用いるコンテキスト導出部の第４の構成例を示す図である。図５４（ａ）は、対象変換係数を含むサブブロックが高周波数成分であるか否かの判定を示す式である。図５４（ａ）では、サブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGの和が、ＴＵサイズの幅の対数値とＴＵサイズの高さの対数値の和とＴＵサイズが非正方である場合の補正値から算出される閾値以上の場合に、高周波成分と判定する。図５４（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。図５４（ｂ）〜（ｊ）において、塗りつぶされたサブブロックで位置コンテキストが用いられる。第４の構成では、上記第３の構成に対して判定に用いる閾値に対して、ＴＵが非正方になる場合に大きくなるような処理を加えている。これにより、処理量と性能のバランスが改善する。
【０３８２】
図５５は、高周波位置コンテキストを用いるコンテキスト導出部の第５の構成例を示した図である。上述した図４７のように、ＴＵサイズが非正方である場合に非正方のサブブロックを用いる場合である。この例では８×２もしくは２×８のサブブロックを用いる。図５５（ａ）は、対象変換係数を含むサブブロックが高周波数成分であるか否かの判定を示す式である。図５５（ａ）では、図５３を用いて説明した上記第３の構成と同じく、サブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGの和が、ＴＵサイズの幅の対数値とＴＵサイズの高さの対数値の和の場合に、高周波成分と判定する。図５５（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。図５５（ｂ）〜（ｊ）において、塗りつぶされたサブブロックで位置コンテキストが用いられる。
【０３８３】
図５６は、高周波位置コンテキストを用いるコンテキスト導出部の第６の構成例を示す図である。上述した図４７のように、ＴＵサイズが非正方である場合に非正方のサブブロックを用いる場合である。この例では８×２もしくは２×８のサブブロックを用いる。図５６（ａ）は、対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式である。図５６（ａ）では、サブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGの和が、ＴＵサイズの幅とＴＵサイズの高さの最小値から導出される閾値以上である場合に、高周波成分と判定する。図Ｂ５６（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。図５６（ｂ）〜（ｊ）において、塗りつぶされたサブブロックで位置コンテキストが用いられる。
【０３８４】
図５７は、高周波位置コンテキストを用いるコンテキスト導出部の第７の構成例を示す図である。上述した図４７のように、ＴＵサイズが非正方である場合に非正方のサブブロックを用いる場合である。この例では８×２もしくは２×８のサブブロックを用いる。図５７（ａ）は、対象変換係数を含むサブブロックが高周波数成分であるか否かの判定を示す式である。図５７（ａ）では、サブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGの和が、ＴＵサイズの幅とＴＵサイズの高さの最小値から導出される値に、非正方サブブロックである場合の補正値を加えた閾値以上である場合に、高周波成分と判定する。図５７（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。図５７（ｂ）〜（ｊ）において、図中塗りつぶされたサブブロックで位置コンテキストが用いられる。第７の構成では、上記第６の構成に対して判定に用いる閾値に対して、サブブロックが非正方になる場合に大きくなるような処理を加えている。これにより、処理量と性能のバランスが改善する。
【０３８５】
図５８は、高周波位置コンテキストを用いるコンテキスト導出部の第８の構成例を示す図である。上述した図４７のように、ＴＵサイズが非正方である場合に非正方のサブブロックを用いる場合である。この例では８×２もしくは２×８のサブブロックを用いる。図５８（ａ）は、対象変換係数を含むサブブロックが高周波数成分であるかの判定を示す式である。図５８（ａ）では、サブブロック位置のＸ座標xCGとサブブロック位置のＹ座標yCGの和が、ＴＵサイズの幅とＴＵサイズの高さの最小値から導出される値に、非正方サブブロックである場合の補正値を加えた閾値以上である場合に、高周波成分と判定する。図５８（ｂ）〜（ｊ）は、高周波成分において位置コンテキストが使用されるサブブロックを示す図である。図５８（ｂ）〜（ｊ）において、塗りつぶされたサブブロックで位置コンテキストが用いられる。第８の構成では、上記第６の構成に対して判定に用いる閾値に対して、ＴＵが非正方になる場合に大きくなるような処理を加えている。これにより、処理量と性能のバランスが改善する。
【０３８６】
（係数値復号部１２５の構成例）
図５９は、係数値復号部１２５の構成例を示すブロック図である。図５９に示すように、係数値復号部１２５は、係数レベル復号部１２５ａ、係数サイン復号部１２５ｂ、係数値復元部１２５ｃ及び、係数数導出部１２５ｄを備えている。係数サイン復号部１２５ｂは、係数位置導出部１２５ｅ、サインハイディングフラグ導出部１２５ｆ、係数和算出部１２５ｇ、サイン復号導出部１２５ｈを備えている。
【０３８７】
係数レベル復号部１２５ａは、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_remainingを復号し、変換係数の絶対値absLebelを復号する。係数数導出部１２５ｄから供給されるサブブロック内の非０の変換係数の数numCoeffが所定の閾値ＴＨ以上である場合には、ハイスループットモードに移る。
【０３８８】
係数値復元部１２５ｃは、係数レベル復号部１２５ａから供給される変換係数の絶対値absLevelと、係数サイン復号部１２５ｂから供給される変換係数の符号coeff_sign_flagから以下の式によって、変換係数の値を復号する。
【０３８９】
Coeff = absLevel * (1 ‐ 2*coeff_sign_flag)
coeff_sign_flagは正のとき１、負のとき-1となる。
【０３９０】
係数数導出部１２５ｄは、サブブロック内の非０の変換係数の数numCoeffを導出し、係数レベル復号部１２５ａに供給する。また、係数サイン復号部１２５ｂにおいてサインハインディングフラグsignHiddenの導出にサブブロック内の非０の変換係数の数numCoeffを用いる場合には、係数サイン復号部１２５ｂにも供給する。
【０３９１】
係数サイン復号部１２５ｂは、符号化データから変換係数の符号coeff_signを復号もしくは導出する。
【０３９２】
係数位置導出部１２５ｅは、スキャン順で最後の非０係数の位置lastNZPosInCGとスキャン順で最初の非０係数の位置firstNZPosInCGを求めサインハイディングフラグ導出部１２５ｆに供給する。サインハイディングフラグ導出部１２５ｆでは対象サブブロックでサインハイディングを行うか否かを示すフラグsignHiddenを導出し、サイン復号導出部１２５ｈに供給する。係数和算出部１２５ｇは、対象サブブロックの係数絶対値和sumAbsを算出しサイン復号導出部１２５ｈに供給する。
【０３９３】
サイン復号導出部１２５ｈは、サインハイディングを行う場合には、対象サブブロックの係数絶対値和sumAbsから位置firstNZPosInCGの変換係数の符号を以下の式により算出する。
【０３９４】
coeff_sign  ＝  (sumAbs % 2) == 1 ? -1 : 1
サインハイディングを行わない場合には、符号化データからシンタックスcoeff_signを復号することにより、変換係数の符号を復号する。
【０３９５】
図６０は、実施形態に係る係数サイン復号部１２５ｂの動作を示すフローチャートである。
【０３９６】
（ステップＳＤ００１）
サインハイディングフラグ導出部１２５ｆはサインハイディングフラグsignHiddenを導出する。サインハイディングフラグsignHiddenは、当該サブブロックでサインハイディングを行うか否かを示す。signHiddenの導出はサブブロックに１回行われる。導出方法の詳細は後述する。
【０３９７】
（ステップＳＤ００２）
対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
【０３９８】
（ステップＳＤ００３）
対象変換係数の位置に非０係数が存在するか否かを判定する。
【０３９９】
（ステップＳＤ００４）
非０係数が存在する場合（ステップＳＤ００３でＹｅｓ）、サインハイディング許可フラグフラグsign_data_hiding_flagが１であるか否かを判定する。サインハイディング許可フラグフラグsign_data_hiding_flagは、シーケンスやピクチャ、スライス全体でサインハイディングを許可するか否かのフラグであり、ＳＰＳやＰＰＳなどのパラメータセットもしくはスライスヘッダで符号化される。
【０４００】
（ステップＳＤ００５）
サインハイディング許可フラグフラグsign_data_hiding_flagが１の場合（ステップＳＤ００４でＹｅｓ）、サインハイディングフラグsignHiddenが１であるであるかを判定する。
【０４０１】
（ステップＳＤ００６）
サインハイディングフラグsignHiddenが１である場合（ステップＳＤ００５でＹｅｓ）、サインハイディングフラグsignHidden対象変換係数がサブブロックの中においてスキャン順で最初（逆スキャン順で最後）の非０係数であるであるか（firstNZPosInCG ?）を判定する。
【０４０２】
（ステップＳＤ００７）
対象変換係数がサブブロックの中においてスキャン順で最初の非０係数である場合（ステップＳＤ００６でＹｅｓ）、サイン復号導出部１２５ｈは計算によりサインを導出する。
【０４０３】
（ステップＳＤ００８）
サインハイディングを行うか否かの判定のいずれかがＮｏの場合、サイン復号導出部１２５ｈは符号化データからサインを復号する。
【０４０４】
（ステップＳＤ００９）
サブブロック内のループを終了する。
【０４０５】
図６１は、サインハイディングフラグ導出部１２５ｆにおけるサインハイディングフラグsignHidden導出処理（ステップＳＤ００１）を説明するためのフローチャートである。
【０４０６】
（ステップＳＤ１０１）
サブブロック内において、スキャン順で最後に出現する（逆スキャン順で最初に出現する）非０係数の位置lastNZPosInCGとスキャン順で最初に出現する（逆スキャン順で最後に出現する）非０係数の位置firstNZPosInCGの差が所定の閾値sign_hiding_threshold以上であるかを判定する。
【０４０７】
（ステップＳＤ１０２）
スキャン位置の差が所定の閾値以上である場合（ステップＳＤ１０１でＹｅｓ）、サインハイディングフラグsignHiddenをサインハインディングを行うことを意味する１に設定する。
【０４０８】
（ステップＳＤ１０３）
一方、所定の閾値未満である場合（ステップＳＤ１０１でＮｏ）、サインハイディングフラグsignHiddenをサインハインディングを行わないことを意味する０に設定する。
【０４０９】
ステップＳＤ１０１では、閾値sign_hiding_thresholdを用いてサインハイディングを行うか否かを決定するが、この閾値はサブブロックの種類に応じて決定することも好適である。
【０４１０】
（閾値sign_hiding_thresholdの決定）
図６２（ａ）は、サインハイディングフラグ導出部１２５ｆにおける閾値sign_hiding_thresholdの決定方法を示す擬似コードであり、（ｂ）はサインハイディングフラグ導出部１２５ｆにおける閾値sign_hiding_thresholdの決定方法を示すフローチャートである。なお、本閾値は、ステップＳＤ１０１で用いられる閾値であるが、スキャン順の差による判定に用いる閾値だけではなく、サインハイディングを行うか否かを決定する他の判定の閾値としても用いることができる。具体的には、対象サブブロック内で既に復号した非０の変換係数の位置の差、もしくは、対象サブブロック内で既に既に復号した非０変換係数の数と所定の閾値との比較によりサインハイディングフラグを導出する。
【０４１１】
（ステップＳＤ２０１）
サブブロック位置（xCG，yCG）が低周波数に位置するかを判定する。本例では、サブブロックＸ座標とＹ座標の和（xCG+yCG）が所定の閾値ＴＨ未満であるかを判定する。ＴＨの例はＴＨ＝１である。xCG+yCG<1を満たす場合は、xCG+yCG＝０、すなわち（xCG、yCG）＝（０、０）の場合である。よって、ＴＨ＝１の判定式は、ＤＣ成分を含むサブブロックとそれ以外のサブブロックを判別する判定になる。
【０４１２】
（ステップＳＤ２０２）
変換係数の位置（サブブロック位置）が低周波数に位置する場合（ステップＳＤ２０１でＹｅｓ）、サインハイディングの閾値sign_hiding_thresholdに所定の閾値sign_hiding_threshold0を設定する。ＴＨ＝１の場合、ＤＣ成分を含むサブブロックに位置する場合に相当する。
【０４１３】
（ステップＳＤ２０３）
変換係数の位置（サブブロック位置）が高周波数に位置する場合（ステップＳＤ２０１でＮｏ）、サインハイディングの閾値sign_hiding_thresholdに所定の閾値sign_hiding_threshold1を設定する。ＴＨ＝１の場合、ＤＣ成分を含むサブブロックに位置する場合に相当する。
【０４１４】
以上の構成では対象変換係数を含むサブブロックの位置に応じて閾値の値を変更することを特徴とする。より詳細には、以上の構成によって低周波数のサブブロックと高周波数のサブブロックとで（例えば、ＤＣ成分を含むサブブロックとＤＣ成分を含まないサブブロックとで）サインハイディングの異なる閾値を用いることができる。特に、高周波数の閾値を低周波数よりも大きくすることが適当である。例えば、０以上の所定の定数Ｄを用いて、次の式により高周波数の閾値を決定する。
【０４１５】
sign_hiding_threshold1  ＝sign_hiding_threshold0＋Ｄ
低周波数の変換係数に対するサインハイディング処理は主観画質に影響を与える可能性があるため、閾値を大きく設定しサインハイディングを行う場合をより少なくなるように設定すると良い。特にＤＣ成分を含むサブブロックの変換係数については主観画質に最も大きな影響を与えるため閾値を大きい値にする。逆に高周波数の変換係数においては主観画質に影響を与える可能性が小さいため、サインハイディングの閾値を小さくするとすることで高い符号化効率を得ることができる。発明者の実験によると閾値＝０とする場合に符号化効率を大きく向上させることができる。本構成では、主観画質を低下することなくサインハイディングによる符号化効率向上効果を得る効果を奏する。比較技術では変換係数の位置によらずにサインハイディングの閾値を設定するため閾値を特に小さく（０など）に設定すると主観画質を損なう可能性がある。
【０４１６】
（サインハイディングフラグ導出部１２５ｆの別の構成例１）
図６３（ａ）（ｂ）は、サインハイディングフラグ導出部１２５ｆの別の構成例１におけるサインハイディングフラグsignHiddenの導出処理（ステップＳＤ００１）を説明するための擬似コードおよびフローチャートである。
【０４１７】
（ステップＳＤ３０１）
サブブロック内の非０係数の数numSigCoeffが１個であるかを判定する。なお、この判定は、スキャン位置の差（lastNZPosInCG ‐ firstNZPosInCG）が０であるか否かによっても判定できる。スキャン位置の差が０の場合は非０係数の数が１個に相当する。
【０４１８】
（ステップＳＤ３０２）
非０係数の数が１個の場合（ステップＳＤ３０１でＹｅｓ）、サインハイディングフラグsignHiddenをサインハインディングを行うことを意味する１に設定する。
【０４１９】
（ステップＳＤ３０３）
一方、非０係数の数numSigCoeffが１個以外の場合（ステップＳＤ３０１でＮｏ）、サインハイディングフラグsignHiddenを０に設定する。
【０４２０】
発明者の実験では、非０係数の数が１個の場合にサインハイディングによる符号化効率向上効果が大きいことが分かった。以上の構成では、非０係数の数が１個の場合にサインハイディングを行うことにより高い符号化効率を得ることができる。
【０４２１】
（サインハイディングフラグ導出部１２５ｆの別の構成例２）
図６３（ｃ）（ｄ）は、サインハイディングフラグ導出部１２５ｆの別の構成例２におけるサインハイディングフラグsignHiddenの導出処理（ステップＳＤ００１）を説明するための擬似コードおよびフローチャートである。
【０４２２】
（ステップＳＤ３１１）
サブブロック内の非０係数の数numSigCoeffが２個であるかを判定する。なお、スキャン位置の差（lastNZPosInCG ‐ firstNZPosInCG）が１である場合には、サブブロック内の非０係数の数numSigCoeffが２個であるので、この判定は、スキャン位置の差が１であるか否かによって行っても良い。
【０４２３】
（ステップＳＤ３１２）
非０係数の数が２個の場合（ステップＳＤ３１１でＹｅｓ）、サインハイディングフラグsignHiddenをサインハインディングを行わないことを意味する０に設定する。
【０４２４】
（ステップＳＤ３１３）
一方、非０係数の数が２個以外の場合（ステップＳＤ３１１でＮｏ）、サインハイディングフラグsignHiddenを１に設定する。
【０４２５】
発明者の実験では、非０係数の数が２個の場合にサインハイディングによる符号化効率が低下することがあることが分かった。以上の構成では、非０係数の数が２個の場合にサインハイディングを行わないことにより高い符号化効率を得ることができる。
【０４２６】
（サインハイディングフラグ導出部１２５ｆの別の構成例３）
図６４（ａ）（ｂ）は、（サインハイディングフラグ導出部１２５ｆの別の構成例３におけるサインハイディングフラグsignHiddenの導出処理（ステップＳＤ００１）を説明するための擬似コードおよびフローチャートである。
【０４２７】
（ステップＳＤ４０１）
サインハイディングのかかり具合を調整する閾値sign_hiding_thresholdが０以外であり、さらに、サブブロック内の非０係数の数numSigCoeffが１個であるかを判定する。
【０４２８】
（ステップＳＤ４０２）
ステップＳＤ４０１でＮｏの場合、サブブロック内において、スキャン順で最後に出現する（逆スキャン順で最初に出現する）非０係数の位置lastNZPosInCGとスキャン順で最初に出現する（逆スキャン順で最後に出現する）非０係数の位置firstNZPosInCGの差が所定の閾値sign_hiding_threshold以上であるかを判定する。
【０４２９】
（ステップＳＤ４０３）
sign_hiding_thresholdが０以外かつ非０係数の数がnumSigCoeffが１個（ステップＳＤ４０１でＹｅｓ）、または、スキャン位置の差が所定の閾値以上である場合（ステップＳＤ４０２でＹｅｓ）、サインハイディングフラグsignHiddenをサインハインディングを行うことを意味する１に設定する。
【０４３０】
（ステップＳＤ４０４）
一方、所定の閾値未満である場合（ステップＳＤ４０３でＮｏ）、サインハイディングフラグsignHiddenを０に設定する。
【０４３１】
以上の別の構成例１〜別の構成例３によれば、非０係数の数が１個の場合に優先的にオンにすることによって、符号化効率を向上させることができる。
【０４３２】
（サインハイディングフラグ導出部１２５ｆの別の構成例４）
図６４（ｃ）は、（サインハイディングフラグ導出部１２５ｆの別の構成例４におけるサインハイディングフラグsignHiddenの導出処理（ステップＳＤ００１）を説明するためのフローチャートである。
【０４３３】
図６４（ｃ）は、図６４（ａ）の処理において、ステップＳＤ４０１をステップＳＤ４０１´に置き換えたフローチャートである。
【０４３４】
（ステップＳＤ４０１´）
変換係数の位置が高周波数にあり（サブブロックＸ座標とＹ座標の和が閾値ＴＨ以上）、かつ、サインハイディングのかかり具合を調整する閾値sign_hiding_thresholdが０以外であり、さらに、サブブロック内の非０係数の数numSigCoeffが１個であるかを判定する。
【０４３５】
以上の別の構成例４では、非０係数の数が１個の場合に優先的にオンにする場合を変換係数の位置が高周波数にある場合に制限する。これにより主観画質を低下することなく、符号化効率を向上させることができる。
【０４３６】
（係数値復号部１２５の別の構成例）
図６５は、係数値復号部１２５の別の構成例を示すブロック図である。図６５に示すように、係数値復号部１２５は、係数レベル復号部１２５ａ、係数サイン復号部１２５ｂ´、係数値復元部１２５ｃ及び、係数数導出部１２５ｄを備えている。係数サイン復号部１２５ｂ´は、係数位置導出部１２５ｅ、サインハインディングフラグ導出部１２５ｆ´、係数和算出部１２５ｇ、サイン復号導出部１２５ｈを備えている。図５９に示す構成と異なり、係数位置導出部１２５ｅは存在しない。
【０４３７】
図６６は、サインハインディングフラグ導出部１２５ｆ´におけるサインハイディングフラグsignHiddenの導出処理（ステップＳＤ００１）を説明するためのフローチャートである。
【０４３８】
（ステップＳＤ５０１）
サブブロック内の変換係数の数numCoeffが所定の閾値sign_hiding_threshold以上であるかを判定する。
【０４３９】
（ステップＳＤ５０２）
変換係数の数numCoeffが所定の閾値以上である場合（ステップＳＤ５０１でＹｅｓ）、サインハイディングフラグsignHiddenをサインハインディングを行うことを意味する１に設定する。
【０４４０】
（ステップＳＤ５０３）
一方、所定の閾値未満である場合（ステップＳＤ５０１でＮｏ）、サインハイディングフラグsignHiddenを０に設定する。
【０４４１】
本実施形態では、サブブロック内の変換係数の数numCoeffによりサインハイディングを行うか否かを判定する。本判定では、サブブロック内の変換係数の数numCoeffは、レベル復号においてもカウントされる変数であるため、サインハインディング用に特別な処理が不要になり処理が単純になる。
【０４４２】
図６７は、図６６に示す処理の場合の、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である（図５に示すシンタックステーブルを置き換えたもの）。符号化データが本構成の場合には、図６７において、取り消し線で示すように、スキャン順で最後の非０係数の位置lastNZPosInCGとスキャン順で最初の非０係数の位置firstNZPosInCGを求める処理が省かれる。また、サインハイディングフラグsignHiddenを得る式も、以下の図Ｄ１のステップＤ１０１の判定式
signHidden = ( lastNZPosInCG ‐ firstNZPosInCG >= sign_hiding_threshold) ? 1 : 0
ではなく、以下の図６６のステップＳＤ５０１の判定式が用いられる。
【０４４３】
signHidden = (numSigCoeff > sign_hinding_threshold) ? 1 : 0
（サインハイディング時の符号計算処理）
図６８は、サイン復号導出部１２５ｈにおけるサインハイディングの符号計算処理（ステップＳＤ００７）の詳細動作を示すフローチャートである。
【０４４４】
（ステップＳＤ９０１）
サイン復号導出部１２５ｈは、対象サブブロックの係数絶対値和sumAbsが奇数かどうかを判定する。
【０４４５】
（ステップＳＤ９０２）
対象サブブロックの係数絶対値和sumAbsが奇数の場合（ステップＳＤ９０１でＹｅｓ）、対象とする変換係数の符号を負と導出する。既に復号された絶対値absLevelを反転する。
【０４４６】
（ステップＳＤ９０３）
対象サブブロックの係数絶対値和sumAbsが偶数の場合（ステップＳＤ９０１でＮｏ）、対象とする変換係数の符号は正と導出する。既に復号された絶対値absLevelは反転せずそのままとする。
【０４４７】
（サインハイディングにおいて係数絶対値和sumAbsを用いない構成）
図６９は、係数絶対値和sumAbsを用いない場合の係数サイン復号部１２５ｂの動作を示すフローチャートである。ステップＳＤ１００１からステップＳＤ１００５、ステップＳＤ１００７、ステップＳＤ１００８の動作は、図６０のステップＳＤ００１からステップＳＤ００５、ステップＳＤ００７、ステップＳＤ００８の動作と同じであるから説明を省略する。
【０４４８】
（ステップＳＤ１００６）
サインハイディングフラグsignHiddenが１である場合（ステップＳＤ１００５でＹｅｓ）、サインハイディングフラグsignHidden対象変換係数がサブブロックの中においてスキャン順で最後（最も高周波数側）の非０係数であるであるか（lastNZPosInCG ?）を判定する。
【０４４９】
（ステップＳＤ１００７）
対象変換係数がサブブロックの中においてスキャン順で最後の非０係数である場合（ステップＳＤ１００６でＹｅｓ）、サイン復号導出部１２５ｈは、スキャン順で最後の非０係数の絶対値から計算によりサインを導出する。
【０４５０】
図７０は、係数絶対値和sumAbsを用いない構成におけるサイン復号導出部１２５ｈにおけるサインハイディングの符号計算処理（ステップＳＤ１００７）の詳細動作を示すフローチャートである。
【０４５１】
（ステップＳＤ１１０１）
サイン復号導出部１２５ｈは、サインハイディングの対象となる変換係数の係数絶対値absLevelが奇数かどうかを判定する。
【０４５２】
（ステップＳＤ１１０２）
対象係数の絶対値absLevelが奇数の場合（ステップＳＤ１１０１でＹｅｓ）、対象とする変換係数の符号を負と導出する。既に復号された絶対値absLevelを反転する。
【０４５３】
（ステップＳＤ１１０３）
対象係数の絶対値absLevelが偶数の場合（ステップＳＤ１１０１でＮｏ）、対象とする変換係数の符号は正と導出する。既に復号された絶対値absLevelは反転せずそのままとする。
【０４５４】
図７１は、係数絶対値和sumAbsを用いない構成における変換係数の値の符号化データの構成を示すシンタックステーブルである。図７１の取り消し線で示すように、本例では、sumAbsの導出処理が省略され、また、firstNZPosInCGではなくlastNZPosInCGの位置の変換係数の符号がサインハイディングの対象となる。
【０４５５】
以上の構成では、サインハイディングの対象となる変換係数の係数絶対値absLevelを用いて、変換係数の符号を導出するため、対象サブブロックの係数絶対値和sumAbsの導出が不要になる効果を奏する。
【０４５６】
＜変換係数復号部１２０による処理の流れ＞
以下では、変換係数復号部１２０による変換係数復号処理の流れについて、図２３〜２６を参照して説明する。
【０４５７】
図２４は、ＴＵサイズが所定のサイズより大きい場合の変換係数復号部１２０による変換係数復号処理の流れを示すフローチャートである。
【０４５８】
（ステップＳ２１）
まず、変換係数復号部１２０の備える係数復号制御部１２３は、スキャンタイプScanTypeを選択する。
【０４５９】
（ステップＳ２２）
続いて、変換係数復号部１２０の備えるラスト係数位置復号部１２１は、順スキャンに沿って最後の変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを復号する。
【０４６０】
（ステップＳ２３）
続いて、係数復号制御部１２３は、サブブロックを単位とするループを開始する。なお、ラスト係数のあるサブブロックをループの開始位置とし、サブブロックスキャンの逆スキャン順に、サブブロック単位の復号処理が行われる。
【０４６１】
（ステップＳ２４）
続いて、変換係数復号部１２０の備えるサブブロック係数有無フラグ復号部１２７は、サブブロック係数有無フラグsignificant_coeff_group_flagを復号する。
【０４６２】
（ステップＳ２５）
続いて、変換係数復号部１２０の備える係数有無フラグ復号部１２４は、対象サブブロック内の各非ゼロ変換係数有無フラグsignificant_coeff_flagを復号する。
【０４６３】
（ステップＳ２６）
続いて、変換係数復号部１２０の備える係数値復号部１２５は、対象サブグループ内の非０変換係数の符号及び大きさを復号する。これは、各シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_remainingを復号することによって行われる。
【０４６４】
（ステップＳ２７）
本ステップは、サブブロックを単位とするループの終端である。（ステップＳ２３のサブブロックを単位とするループの終端）
＜＜スキャンインデックス設定処理＞＞
図２３は、スキャンタイプを選択する処理（ステップＳ２１）をより具体的に説明するためのフローチャートである。
【０４６５】
（ステップＳ１１１）
まず、変換係数復号部１２０の備える係数復号制御部１２３は、予測方式情報ＰｒｅｄＭｏｄｅが、イントラ予測方式ＭＯＤＥ＿ＩＮＴＲＡを示しているか否かを判別する。
【０４６６】
（ステップＳ１１２）
予測方式がイントラ予測方式であるとき（ステップＳ１１１でＹｅｓ）、変換係数復号部１２０の備える係数復号制御部１２３は、イントラ予測モード（予測方向）及び対象のＴＵサイズ（周波数領域のサイズ）に基づいて、スキャンタイプを設定する。具体的なスキャンタイプの設定処理については、すでに述べたため、ここでは説明を省略する。
【０４６７】
一方で、予測方式がイントラ予測方式でないとき（ステップＳ１１１でＮｏ）、変換係数復号部１２０の備える係数復号制御部１２３は、スキャンタイプを斜め方向スキャンに設定する。
＜＜サブブロック係数有無フラグの復号処理＞＞
図２５は、サブブロック係数有無フラグを復号する処理（ステップＳ２４）をより具体的に説明するためのフローチャートである。
【０４６８】
サブブロック係数有無フラグ復号部１２７は、サブブロックのループを開始する前に対象周波数領域に含まれるサブブロック係数有無フラグsignificant_coeff_group_flagの値を初期化する。この初期化処理は、ＤＣ係数を含むサブブロックのサブブロック係数有無フラグと、ラスト係数を含むサブブロックのサブブロック係数有無フラグとを１に設定し、その他のサブブロック係数有無フラグを０に設定することによって行われる。
【０４６９】
（ステップＳ２４４）
サブブロック係数有無フラグ復号部１２７は、サブブロックの位置を取得する。
【０４７０】
（ステップＳ２４７）
サブブロック係数有無フラグ復号部１２７は、対象サブブロックがラスト係数を含むサブブロック、もしくはＤＣ係数であるか否かを判別する。
【０４７１】
（ステップＳ２４８）
対象サブブロックがラスト係数を含むサブブロック、もしくはＤＣ係数でないとき（ステップＳ２４７でＮｏ）、係数有無フラグ復号部１２４は、サブブロック係数有無フラグsignificant_coeff_group_flagを復号する。
＜＜係数有無フラグの復号処理＞＞
図２６は、サブブロック内の各非ゼロ変換係数有無フラグsignificant_coeff_flagを復号する処理（図２４のステップＳ２７）をより具体的に説明するためのフローチャートである。
【０４７２】
（ステップＳ２７４）
続いて、係数有無フラグ復号部１２４は、対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
【０４７３】
（ステップＳ２７５）
続いて、係数有無フラグ復号部１２４は、変換係数の位置を取得する。
【０４７４】
（ステップＳ２７６）
続いて、係数有無フラグ復号部１２４は、対象サブブロックに非０変換係数が存在するか否かを判別する。
【０４７５】
（ステップＳ２７７）
対象サブブロックに非０変換係数が存在する場合（ステップＳ２７６でＹｅｓ）、係数有無フラグ復号部１２４は、取得した変換係数の位置がラスト位置であるか否かを判別する。
【０４７６】
（ステップＳ２７８）
取得した変換係数の位置がラスト位置でないとき（ステップＳ２７７でＮｏ）、係数有無フラグ復号部１２４は、変換係数有無フラグsignificant_coeff_flagを復号する。
【０４７７】
（動画像符号化装置２）
本実施形態に係る動画像符号化装置２の構成について図７２〜図７６を参照して説明する。動画像符号化装置２は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格に採用されている技術、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている技術、ＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている技術、および、その後継コーデックであるＨＥＶＣ（High-Efficiency Video Coding）にて提案されている技術を実装している符号化装置である。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
【０４７８】
図７２は、動画像符号化装置２の構成を示すブロック図である。図７２に示すように、動画像符号化装置２は、予測画像生成部２１、変換・量子化部２２、逆量子化・逆変換部２３、加算器２４、フレームメモリ２５、ループフィルタ２６、可変長符号符号化部２７、および、減算器２８を備えている。また、図７２に示すように、予測画像生成部２１は、イントラ予測画像生成部２１ａ、動きベクトル検出部２１ｂ、インター予測画像生成部２１ｃ、予測方式制御部２１ｄ、および、動きベクトル冗長性削除部２１ｅを備えている。動画像符号化装置２は、動画像＃１０（符号化対象画像）を符号化することによって、符号化データ＃１を生成する装置である。
【０４７９】
（予測画像生成部２１）
予測画像生成部２１は、処理対象ＬＣＵを、１または複数の下位ＣＵに再帰的に分割し、各リーフＣＵをさらに１または複数のパーティションに分割し、パーティション毎に、画面間予測を用いたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒ、または、画面内予測を用いたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。生成されたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒおよびイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａは、予測画像Ｐｒｅｄとして、加算器２４および減算器２８に供給される。
【０４８０】
なお、予測画像生成部２１は、スキップモードの適応されたＰＵについては、当該ＰＵに属する他のパラメータの符号化を省略する。また、（１）対象ＬＣＵにおける下位ＣＵおよびパーティションへの分割の態様、（２）スキップモードを適用するか否か、および、（３）パーティション毎にインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒおよびイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａの何れを生成するか、は、符号化効率を最適化するように決定される。
【０４８１】
（イントラ予測画像生成部２１ａ）
イントラ予測画像生成部２１ａは、画面内予測によって、各パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、（１）各パーティションついてイントラ予測に用いる予測モードを選択し、（２）選択した予測モードを用いて、復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部２１ａは、生成したイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを、予測方式制御部２１ｄに供給する。
【０４８２】
また、イントラ予測画像生成部２１ａは、対象パーティションの周辺のパーティションに割り付けられた予測モードから対象パーティションに対する推定予測モードを決定し、当該推定予測モードと、対象パーティションについて実際に選択された予測モードとが同じであるか否かを示す推定予測モードフラグを、イントラ予測パラメータＰＰ＿Ｉｎｔｒａの一部として、予測方式制御部２１ｄを介して可変長符号符号化部２７に供給し、可変長符号符号化部２７は、当該フラグを、符号化データ＃１に含める構成とする。
【０４８３】
また、イントラ予測画像生成部２１ａは、対象パーティションについての推定予測モードと、対象パーティションについて実際に選択された予測モードとが異なる場合には、対象パーティションについての予測モードを示す残余予測モードインデックスを、イントラ予測パラメータＰＰ＿Ｉｎｔｒａの一部として、予測方式制御部２１ｄを介して可変長符号符号化部２７に供給し、可変長符号符号化部２７は当該残余予測モードインデックスを符号化データ＃１に含める構成とする。
【０４８４】
なお、イントラ予測画像生成部２１ａは、予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する際に、図１１に示した予測モードからより符号化効率が向上する予測モードを選択して適用する。
【０４８５】
（動きベクトル検出部２１ｂ）
動きベクトル検出部２１ｂは、各パーティションに関する動きベクトルｍｖを検出する。具体的には、（１）参照画像として利用する適応フィルタ済復号画像Ｐ＿ＡＬＦ’を選択し、（２）選択した適応フィルタ済復号画像Ｐ＿ＡＬＦ’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルｍｖを検出する。ここで、適応フィルタ済復号画像Ｐ＿ＡＬＦ’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ２６による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部２１ｂは、適応フィルタ済復号画像Ｐ＿ＡＬＦ’を構成する各画素の画素値をフレームメモリ２５から読み出すことができる。動きベクトル検出部２１ｂは、検出した動きベクトルｍｖを、参照画像として利用した適応フィルタ済復号画像Ｐ＿ＡＬＦ’を指定する参照画像インデックスＲＩと共に、インター予測画像生成部２１ｃ及び動きベクトル冗長性削除部２１ｅに供給する。
【０４８６】
（インター予測画像生成部２１ｃ）
インター予測画像生成部２１ｃは、画面間予測によって、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル検出部２１ｂから供給された動きベクトルｍｖを用いて、動きベクトル検出部２１ｂから供給された参照画像インデックスＲＩによって指定される適応フィルタ済復号画像Ｐ＿ＡＬＦ’から動き補償画像ｍｃを生成する。動きベクトル検出部２１ｂと同様に、インター予測画像生成部２１ｃは、適応フィルタ済復号画像Ｐ＿ＡＬＦ’を構成する各画素の画素値をフレームメモリ２５から読み出すことができる。インター予測画像生成部２１ｃは、生成した動き補償画像ｍｃ（インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒ）を、動きベクトル検出部２１ｂから供給された参照画像インデックスＲＩと共に、予測方式制御部２１ｄに供給する。
【０４８７】
（予測方式制御部２１ｄ）
予測方式制御部２１ｄは、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａ及びインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部２１ｄは、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器２４及び減算器２８に供給すると共に、イントラ予測画像生成部２１ａから供給されるイントラ予測パラメータＰＰ＿Ｉｎｔｒａを可変長符号符号化部２７に供給する。一方、インター予測を選択した場合、予測方式制御部２１ｄは、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器２４及び減算器２８に供給すると共に、参照画像インデックスＲＩ、並びに、後述する動きベクトル冗長性削除部２１ｅから供給された推定動きベクトルインデックスＰＭＶＩ及び動きベクトル残差ＭＶＤをインター予測パラメータＰＰ＿Ｉｎｔｅｒとして可変長符号符号化部２７に供給する。また、予測方式制御部２１ｄは、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａ及びインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒのうち何れの予測画像を選択したのかを示す予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅを可変長符号符号化部２７に供給する。
【０４８８】
（動きベクトル冗長性削除部２１ｅ）
動きベクトル冗長性削除部２１ｅは、動きベクトル検出部２１ｂによって検出された動きベクトルｍｖにおける冗長性を削除する。具体的には、（１）動きベクトルｍｖの推定に用いる推定方法を選択し、（２）選択した推定方法に従って推定動きベクトルｐｍｖを導出し、（３）動きベクトルｍｖから推定動きベクトルｐｍｖを減算することにより動きベクトル残差ＭＶＤを生成する。動きベクトル冗長性削除部２１ｅは、生成した動きベクトル残差ＭＶＤを、選択した推定方法を示す推定動きベクトルインデックスＰＭＶＩと共に、予測方式制御部２１ｄに供給する。
【０４８９】
（変換・量子化部２２）
変換・量子化部２２は、（１）符号化対象画像から予測画像Ｐｒｅｄを減算した予測残差Ｄに対してブロック（変換単位）毎にＤＣＴ変換（Discrete Cosine Transform）等の周波数変換を施し、（２）周波数変換により得られた変換係数Ｃｏｅｆｆ＿ＩＱを量子化し、（３）量子化により得られた変換係数Ｃｏｅｆｆを可変長符号符号化部２７及び逆量子化・逆変換部２３に供給する。なお、変換・量子化部２２は、（１）量子化の際に用いる量子化ステップＱＰをＴＵ毎に選択し、（２）選択した量子化ステップＱＰの大きさを示す量子化パラメータ差分Δｑｐを可変長符号符号化部２７に供給し、（３）選択した量子化ステップＱＰを逆量子化・逆変換部２３に供給する。ここで、量子化パラメータ差分Δｑｐとは、周波数変換及び量子化するＴＵに関する量子化パラメータｑｐ（例えばＱＰ＝２ｐｑ／６）の値から、直前に周波数変換及び量子化したＴＵに関する量子化パラメータｑｐ’の値を減算して得られる差分値のことを指す。
【０４９０】
なお、変換・量子化部２２によって行われるＤＣＴ変換は、例えば、対象ブロックのサイズが８×８画素である場合、水平方向の周波数ｕおよび垂直方向の周波数ｖについての量子化前の変換係数をＣｏｅｆｆ＿ＩＱ（ｕ、ｖ）（０≦ｕ≦７、０≦ｖ≦７）と表すことにすると、例えば、以下の数式（２）によって与えられる。
【０４９１】
【数２】
2013187869.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_abs_level_greater2_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_group_x、last_significant_coeff_group_y、last_significant_coeff_x_in_coeff_group、last_significant_coeff_y_in_coeff_groupを次の式により導出する。
【０５０９】
last_significant_coeff_group_x  ＝  last_significant_coeff_x / subblock_width
last_significant_coeff_group_ｙ  ＝  last_significant_coeff_ｙ / subblock_ height
last_significant_coeff_x_in_coeff_group  ＝  last_significant_coeff_x - last_significant_coeff_group_x * subblock_width
last_significant_coeff_y_in_coeff_group  ＝  last_significant_coeff_y - last_significant_coeff_group_y * subblock_height
ここでsubblock_width、およびsubblock_heightはサブブロックの幅および高さである。
【０５１０】
ラストシンタックス導出部２２８１の第２の構成では、スキャン順で最後に位置する非０係数の位置last_significant_coeff_x、last_significant_coeff_yとスキャン順last_significant_coeff_posからシンタックスlast_significant_coeff_group_x、last_significant_coeff_group_y、last_significant_coeff_pos_in_coeff_groupを次の式により導出する。
【０５１１】
last_significant_coeff_group_x  ＝  last_significant_coeff_x / subblock_width
last_significant_coeff_group_ｙ  ＝  last_significant_coeff_ｙ / subblock_ height
last_significant_pos_in_coeff_group  ＝  last_significant_coeff_pos - last_significant_coeff_group_pos / subblock_ num * subblock_num
ここでsubblock_numはサブブロック内の変換係数の数である。
【０５１２】
ラストシンタックス導出部２２８１の第３の構成では、スキャン順で最後に位置する非０係数の位置last_significant_coeff_x、last_significant_coeff_yからシンタックスlast_significant_coeff_predix_x、last_significant_coeff_prefix_y、last_significant_coeff_group_x_minus1、last_significant_coeff_group_y_minus1、last_significant_coeff_x_in_coeff_group、last_significant_coeff_y_in_coeff_groupを次の式により導出する。
【０５１３】
last_significant_coeff_predix_x  ＝  min (last_significant_coeff_x, 4)
last_significant_coeff_predix_y  ＝  min (last_significant_coeff_y, 4)
last_significant_coeff_group_x_minus1  ＝  last_significant_coeff_x / subblock_width - 1
last_significant_coeff_group_ｙ_minus1  ＝  last_significant_coeff_ｙ / subblock_ height - 1
last_significant_coeff_x_in_coeff_group  ＝  last_significant_coeff_x - last_significant_coeff_group_x * subblock_width
last_significant_coeff_y_in_coeff_group  ＝  last_significant_coeff_y - last_significant_coeff_group_y * subblock_height
以上の構成により、ラスト位置情報の復号処理が容易な符号化データを生成することができる。
【０５１４】
（係数値シンタックス導出部２２８５の構成例）
シンタックス導出部２２８は図示しない係数値シンタックス導出部２２８５を備える。係数値シンタックス導出部２２８５は、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_remainingの各値を導出する。
【０５１５】
図７８は、係数値シンタックス導出部２２８５の構成例を示すブロック図である。図７８に示すように、係数値シンタックス導出部２２８５は、係数レベルシンタックス導出部２２５ａ、係数サインシンタックス導出部２２５ｂ、係数数導出部１２５ｄを備えている。係数サインシンタックス導出部２２５ｂは、係数位置導出部１２５ｅ、サインハインディングフラグ導出部１２５ｆ、サインシンタックス導出及びレベル値補部２２５ｈ、係数和算出部１２５ｇを備えている。係数数導出部１２５ｄ、係数位置導出部１２５ｅ、サインハインディングフラグ導出部１２５ｆ、係数和算出部１２５ｇは、動画像復号装置１の説明で上述した同じ名称のブロックと同様の機能を奏するものであるので、ここでは説明を省略する。
【０５１６】
係数レベルシンタックス導出部２２５ａは、変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）の各値を参照し、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_remainingを導出する。
【０５１７】
係数サイン復号部２２５ｂは、変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）の各値を参照し、coeff_sign_flagを導出する。サインシンタックス導出及びレベル値補部２２５ｈは、サインハイディングフラグ導出部２２５ｆにおいてサインハイディングを行うと判定された場合には、各サブブロックの数−１の数のcoeff_sign_flagを導出する。サインハイディングを行わないと判定された場合には、各サブブロックの数のcoeff_sign_flagを導出する。
【０５１８】
サインシンタックス導出及びレベル値補部２２５ｈは、また、サインハイディングを行うと判定された場合には、各サブブロックでスキャン順で最初の非０係数の位置firstNZPosInCGの変換係数の符号と、係数和算出部１２５ｇから導出される係数和sumAbsで定まる符号を比較する。２つの符号が等しい場合には、対象変換係数の値を補正しない。２つの符号が異なる場合には、対象サブブロック内のいずれかの変換係数の絶対値を−１もしくは＋１することにより補正する。サインハイディングを行わないと判定された場合にはこのような補正は行わない。
【０５１９】
図７９は、係数値シンタックス導出部２２８５の別の構成例を示すブロック図である。図７９に示すように、係数値シンタックス導出部２２８５は、係数レベルシンタックス導出部２２５ａ、係数サインシンタックス導出部２２５ｂ´、係数数導出部１２５ｄを備えている。係数サインシンタックス導出部２２５ｂは、サインハインディングフラグ導出部１２５ｆ´、係数和算出部１２５ｇ、サインシンタックス導出及びレベル値補部２２５ｈを備えている。係数数導出部１２５ｄ、サインハインディングフラグ導出部１２５ｆ´、係数和算出部１２５ｇは、動画像復号装置１の説明で上述した同じ名称のブロックと同様の機能を奏するものであるので、ここでは説明を省略する。
【０５２０】
係数サイン復号部２２５ｂ´は、変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）の各値を参照し、coeff_sign_flagを導出する。サインシンタックス導出及びレベル値補部２２５ｈ´は、サインハイディングフラグ導出部２２５ｆにおいてサインハイディングを行うと判定された場合には、各サブブロックの数−１の数のcoeff_signを符号化する。サインハイディングを行わないと判定された場合には、各サブブロックの数のcoeff_signを符号化する。
【０５２１】
以上の構成では、サインハインディングフラグ導出部１２５ｆ´においてサブブロック内の変換係数の数numCoeffによりサインハイディングを行うか否かを判定する。そのため本判定では、サブブロック内の変換係数の数numCoeffは、レベル復号においてもカウントされる変数であるため、サインハインディング用に特別な処理が不要になり処理が単純になる。
【０５２２】
（サインハイディングにおいて係数絶対値和sumAbsを用いない構成）
サインシンタックス導出及びレベル値補部２２５ｈは、係数絶対値和sumAbsを用いない構成も可能である。図７１は、係数絶対値和sumAbsを用いない構成における変換係数の値の符号化データの構成を示すシンタックステーブルである。
【０５２３】
本構成のサインシンタックス導出及びレベル値補部２２５ｈは、サインハイディングを行うと判定された場合には、各サブブロックでスキャン順で最後の非０係数の位置lastNZPosInCGの変換係数の符号と、対象変換係数で定まる符号を比較する。２つの符号が等しい場合には、対象変換係数の値を補正しない。２つの符号が異なる場合には、対象サブブロック内の対象変換係数の値を、その絶対値を−１もしくは＋１することにより補正する。一方、サインハイディングを行わないと判定された場合にはこのような補正は行わない。
【０５２４】
以上の構成では、サインハイディングの対象となる変換係数の係数絶対値absLevelを用いて、符号の判定を行うため、対象サブブロックの係数絶対値和sumAbsの導出が不要になる効果を奏する。
【０５２５】
（ラスト位置符号化部２２１）
ラスト位置符号化部２２１は、シンタックス導出部２２８より供給されるシンタックス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を参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部２２２に格納されたサブブロックスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各サブブロックの位置（ｘＣＧ、ｙＣＧ）を、サブブロック係数有無フラグ符号化部２２７に供給する。
【０５３１】
また、係数符号化制御部２２３は、処理対象となるサブブロックに関して、スキャン順テーブル格納部２２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置（ｘＣ、ｙＣ）を、係数有無フラグ符号化部２２４に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、イントラ予測の場合には、イントラ予測モードインデックスIntraPredModeと、ＴＵサイズを指定する値log2TrafoSizeとによって指定されるスキャンインデックスscanIdxの示すスキャン順（水平方向優先スキャン、垂直方向優先スキャン、斜め方向スキャンのいずれか）を用い、インター予測の場合には、斜め方向スキャン（Up-right diagonal scan）を用いればよい。
【０５３２】
このように、係数符号化制御部２２３は、イントラ予測モード毎に、スキャン順を切り替える構成である。一般に、イントラ予測モードと変換係数の偏りとは互いに相関を有しているため、イントラ予測モードに応じてスキャン順を切り替えることにより、サブブロック係数有無フラグ、係数有無フラグの偏りに適したスキャンを行うことができる。これによって、符号化及び復号対象となるサブブロック係数有無フラグおよび係数有無フラグの符号量を削減することができ、符号化効率が向上する。
【０５３３】
（係数値符号化部２２５）
係数値符号化部２２５は、シンタックス導出部２２８から供給されるシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_remainingを示すＢｉｎを生成する。また、生成した各Ｂｉｎをビット符号化部２３２に供給する。また、これらのシンタックスのＢｉｎを符号化するために参照されるコンテキストを指定するコンテキストインデックスctxIdxを、コンテキスト記録更新部２３１に供給する。
【０５３４】
（係数有無フラグ符号化部２２４）
本実施形態に係る係数有無フラグ符号化部２２４は、各位置（ｘＣ、ｙＣ）によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を符号化する。より具体的には、各位置（ｘＣ、ｙＣ）によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を示すＢｉｎを生成する。生成された各Ｂｉｎは、ビット符号化部２３２に供給される。また、係数有無フラグ符号化部２２４は、算術符号符号化部２３０にてシンタックスsignificant_coeff_flag[xC][yC]のＢｉｎを符号化するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部２３１に供給される。
【０５３５】
図７５は、係数有無フラグ符号化部２２４の構成を示すブロック図である。図７５に示すように、係数有無フラグ符号化部２２４は、コンテキスト導出部２２４ｚ、及び、係数有無フラグ設定部２２４ｅを備えている。コンテキスト導出部は図示しない導出方法制御部２２４ａ、位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃを備える。
【０５３６】
（導出方法制御部２２４ａ）
導出方法制御部２２４ａは、対象となるＴＵサイズが所定のサイズ以下のサイズである場合（例えば、４×４ＴＵ、８×８ＴＵである場合）、位置コンテキスト導出部２２４ｂによって導出されたコンテキストインデックスctxIdxを割り付ける。
【０５３７】
一方で、対象となるＴＵサイズが所定のサイズよりも大きいサイズである場合（例えば、１６×１６ＴＵ、３２×３２ＴＵである場合等）、導出方法制御部２２４ａは、周波数領域における復号対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、位置コンテキスト導出部２２４ｂ、及び周辺参照コンテキスト導出部２２４ｃの何れかによって導出されたコンテキストインデックスctxIdxを、当該復号対象の周波数成分に割り付ける。
【０５３８】
導出方法制御部２２４ａによる具体的な処理は、動画像復号装置１の備える導出方法制御部１２４ａと同様であるので、ここでは説明を省略する。
【０５３９】
（位置コンテキスト導出部２２４ｂ）
位置コンテキスト導出部２２４ｂは、対象周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該対象周波数成分の位置に基づいて導出する。
【０５４０】
位置コンテキスト導出部２２４ｂによるその他の具体的な処理は、動画像復号装置１の備える位置コンテキスト導出部１２４ｂと同様であるので、ここでは説明を省略する。
【０５４１】
（周辺参照コンテキスト導出部２２４ｃ）
周辺参照コンテキスト導出部２２４ｃは、符号化対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について符号化済みの非０変換係数の数ｃｎｔに基づいて導出する。
【０５４２】
周辺参照コンテキスト導出部２２４ｃによる具体的な処理は、動画像復号装置１の備える周辺参照コンテキスト導出部１２４ｃと同様であるので、ここでは説明を省略する。
【０５４３】
（係数有無フラグ設定部２２４ｅ）
係数有無フラグ設定部２２４ｅは、シンタックス導出部２２８から供給されるシンタックス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]は、サブブロック係数有無フラグ符号化部２２７に供給される。
【０５４４】
（サブブロック係数有無フラグ符号化部２２７）
サブブロック係数有無フラグ符号化部２２７は、各サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるシンタックス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）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
【０５８０】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０５８１】
本発明は、算術符号化された符号化データを復号する算術復号装置、および、算術符号化された符号化データを生成する算術符号化装置に好適に用いることができる。
【符号の説明】
【０５８２】
１            動画像復号装置（画像復号装置）
１１          可変長符号復号部
１１１        量子化残差情報復号部（算術復号装置）
１２０        変換係数復号部
１２３        係数復号制御部（サブブロック分割手段、サブブロックスキャン順設定手段）
１２４        係数有無フラグ復号部（コンテキストインデックス導出手段、非０変換係数有無フラグ復号手段）
１２４ｚ      コンテキスト導出部
１２４ａ      導出方法制御部
１２４ｂ      位置コンテキスト導出部
１２４ｃ      周辺参照コンテキスト導出部
１２４ｄ      係数有無フラグ記憶部
１２４ｅ      係数有無フラグ設定部
１２７        サブブロック係数有無フラグ復号部（サブブロック係数有無フラグ復号手段）
１２７ａ      コンテキスト導出部
１２７ｂ      サブブロック係数有無フラグ記憶部
１２７ｃ      サブブロック係数有無フラグ設定部
１３０        算術符号復号部
１３１        コンテキスト記録更新部
１３２        ビット復号部（シンタックス復号手段）
２            動画像符号化装置（画像符号化装置）
２７          可変長符号符号化部
２７１        量子化残差情報符号化部（算術符号化装置）
２２０        変換係数符号化部
２２３        係数符号化制御部（サブブロック分割手段、サブブロックスキャン順設定手段）
２２４        係数有無フラグ符号化部（コンテキストインデックス導出手段）
２２４ｚ      コンテキスト導出部
２２４ａ      導出方法制御部
２２４ｂ      位置コンテキスト導出部
２２４ｃ      周辺参照コンテキスト導出部
２２４ｅ      係数有無フラグ設定部
２２７        サブブロック係数有無フラグ符号化部（サブブロック係数有無フラグ符号化手段）
２２７ａ      コンテキスト導出部
２２７ｂ      サブブロック係数有無フラグ記憶部
２２７ｃ      サブブロック係数有無フラグ設定部
２２８        シンタックス導出部
２３０        算術符号符号化部
２３１        コンテキスト記録更新部
２３２        ビット符号化部（シンタックス符号化手段）
【図１】
2013187869.tif 000005
【図２】
2013187869.tif 000006
【図３】
2013187869.tif 000007
【図４】
2013187869.tif 000008
【図５】
2013187869.tif 000009
【図６】
2013187869.tif 000010
【図７】
2013187869.tif 000011
【図８】
2013187869.tif 000012
【図９】
2013187869.tif 000013
【図１０】
2013187869.tif 000014
【図１１】
2013187869.tif 000015
【図１２】
2013187869.tif 000016
【図１３】
2013187869.tif 000017
【図１４】
2013187869.tif 000018
【図１５】
2013187869.tif 000019
【図１６】
2013187869.tif 000020
【図１７】
2013187869.tif 000021
【図１８】
2013187869.tif 000022
【図１９】
2013187869.tif 000023
【図２０】
2013187869.tif 000024
【図２１】
2013187869.tif 000025
【図２２】
2013187869.tif 000026
【図２３】
2013187869.tif 000027
【図２４】
2013187869.tif 000028
【図２５】
2013187869.tif 000029
【図２６】
2013187869.tif 000030
【図２７】
2013187869.tif 000031
【図２８】
2013187869.tif 000032
【図２９】
2013187869.tif 000033
【図３０】
2013187869.tif 000034
【図３１】
2013187869.tif 000035
【図３２】
2013187869.tif 000036
【図３３】
2013187869.tif 000037
【図３４】
2013187869.tif 000038
【図３５】
2013187869.tif 000039
【図３６】
2013187869.tif 000040
【図３７】
2013187869.tif 000041
【図３８】
2013187869.tif 000042
【図３９】
2013187869.tif 000043
【図４０】
2013187869.tif 000044
【図４１】
2013187869.tif 000045
【図４２】
2013187869.tif 000046
【図４３】
2013187869.tif 000047
【図４４】
2013187869.tif 000048
【図４５】
2013187869.tif 000049
【図４６】
2013187869.tif 000050
【図４７】
2013187869.tif 000051
【図４８】
2013187869.tif 000052
【図４９】
2013187869.tif 000053
【図５０】
2013187869.tif 000054
【図５１】
2013187869.tif 000055
【図５２】
2013187869.tif 000056
【図５３】
2013187869.tif 000057
【図５４】
2013187869.tif 000058
【図５５】
2013187869.tif 000059
【図５６】
2013187869.tif 000060
【図５７】
2013187869.tif 000061
【図５８】
2013187869.tif 000062
【図５９】
2013187869.tif 000063
【図６０】
2013187869.tif 000064
【図６１】
2013187869.tif 000065
【図６２】
2013187869.tif 000066
【図６３】
2013187869.tif 000067
【図６４】
2013187869.tif 000068
【図６５】
2013187869.tif 000069
【図６６】
2013187869.tif 000070
【図６７】
2013187869.tif 000071
【図６８】
2013187869.tif 000072
【図６９】
2013187869.tif 000073
【図７０】
2013187869.tif 000074
【図７１】
2013187869.tif 000075
【図７２】
2013187869.tif 000076
【図７３】
2013187869.tif 000077
【図７４】
2013187869.tif 000078
【図７５】
2013187869.tif 000079
【図７６】
2013187869.tif 000080
【図７７】
2013187869.tif 000081
【図７８】
2013187869.tif 000082
【図７９】
2013187869.tif 000083
【図８０】
2013187869.tif 000084
【図８１】
2013187869.tif 000085
【図８２】
2013187869.tif 000086
【図８３】
2013187869.tif 000087