(57)【特許請求の範囲】
【請求項１】
コンテキストに応じてフラグを復号する算術復号装置であって、
変換単位内のサブブロック位置によって指定されるサブブロックに、非ゼロ変換係数が含まれているか否かを示すサブブロック係数有無フラグに割り付ける第１のコンテキストインデックスと、該サブブロック内の変換係数が非０変換係数であるか否かを示す変換係数有無フラグに割り付ける第２のコンテキストインデックスと、を導出するコンテキストインデックス導出手段と、
上記第１のコンテキストインデックスによって指定される第１の確率状態に基づいて、上記サブブロック係数有無フラグを復号し、上記第２のコンテキストインデックスによって指定される第２の確率状態に基づいて、上記変換係数有無フラグを復号する変換係数有無フラグ復号手段と、を備え、
上記変換係数有無フラグは、上記サブブロック係数有無フラグの値が１の場合に復号され、
上記コンテキストインデックス導出手段は、変換単位のサイズが１６×１６の場合には、上記サブブロック位置を、該変換単位を４×４個に分割した４×４サブブロックの位置に設定し、該変換単位のサイズが３２×３２の場合には、上記サブブロック位置を、該変換単位を８×８個に分割した４×４サブブロックの位置に設定し、該４×４サブブロックの位置に応じて異なる方法により、上記第２のコンテキストインデックスを導出することを特徴とする算術復号装置。
【請求項２】
上記第２のコンテキストインデックスは、上記変換単位のサイズに関わらず、上記４×４サブブロックの位置のＸ座標とＹ座標の和が１未満か、１以上かに応じて導出されることを特徴とする請求項１に記載の算術復号装置。
【請求項３】
上記４×４サブブロックの位置に基づいて、上記第２のコンテキストインデックスのオフセットを変更することを特徴とする請求項１または請求項２に記載の算術復号装置。
【請求項４】
コンテキストに応じてフラグを符号化する算術符号化装置であって、
変換単位内のサブブロック位置によって指定されるサブブロックに、非ゼロ変換係数が
含まれているか否かを示すサブブロック係数有無フラグに割り付ける第１のコンテキストインデックスと、該サブブロック内の変換係数が非０変換係数であるか否かを示す変換係数有無フラグに割り付ける第２のコンテキストインデックスと、を導出するコンテキストインデックス導出手段と、
上記第１のコンテキストインデックスによって指定される第１の確率状態に基づいて、上記サブブロック係数有無フラグを符号化し、上記第２のコンテキストインデックスによって指定される第２の確率状態に基づいて、上記変換係数有無フラグを符号化する変換係数有無フラグ符号化手段と、を備え、
上記変換係数有無フラグは、上記サブブロック係数有無フラグの値が１の場合に符号化され、
上記コンテキストインデックス導出手段は、変換単位のサイズが１６×１６の場合には、上記サブブロック位置を、該変換単位を４×４個に分割した４×４サブブロックの位置に設定し、該変換単位のサイズが３２×３２の場合には、上記サブブロック位置を、該変換単位を８×８個に分割した４×４サブブロックの位置に設定し、該４×４サブブロックの位置に応じて異なる方法により、上記第２のコンテキストインデックスを導出することを特徴とする算術符号化装置。
【請求項５】
上記第２のコンテキストインデックスは、上記変換単位のサイズに関わらず、上記４×４サブブロックの位置のＸ座標とＹ座標の和が１未満か、１以上かに応じて導出されることを特徴とする請求項４に記載の算術符号化装置。
【請求項６】
上記４×４サブブロックの位置に基づいて、上記第２のコンテキストインデックスのオフセットを変更することを特徴とする請求項４または請求項５に記載の算術符号化装置。
【請求項７】
コンテキストに応じてフラグを復号する算術復号方法であって、
変換単位内のサブブロック位置によって指定されるサブブロックに、非ゼロ変換係数が含まれているか否かを示すサブブロック係数有無フラグに割り付ける第１のコンテキストインデックスと、該サブブロック内の変換係数が非０変換係数であるか否かを示す変換係数有無フラグに割り付ける第２のコンテキストインデックスと、を導出するコンテキストインデックス導出ステップと、
上記第１のコンテキストインデックスによって指定される第１の確率状態に基づいて、上記サブブロック係数有無フラグを復号し、上記第２のコンテキストインデックスによって指定される第２の確率状態に基づいて、上記変換係数有無フラグを復号する変換係数有無フラグ復号ステップと、を含み、
上記変換係数有無フラグは、上記サブブロック係数有無フラグの値が１の場合に復号され、
上記コンテキストインデックス導出ステップは、変換単位のサイズが１６×１６の場合には、上記サブブロック位置を、該変換単位を４×４個に分割した４×４サブブロックの位置に設定し、該変換単位のサイズが３２×３２の場合には、上記サブブロック位置を、該変換単位を８×８個に分割した４×４サブブロックの位置に設定し、該４×４サブブロックの位置に応じて異なる方法により、上記第２のコンテキストインデックスを導出することを特徴とする算術復号方法。
【請求項８】
コンテキストに応じてフラグを符号化する算術符号化方法であって、
変換単位内のサブブロック位置によって指定されるサブブロックに、非ゼロ変換係数が含まれているか否かを示すサブブロック係数有無フラグに割り付ける第１のコンテキストインデックスと、該サブブロック内の変換係数が非０変換係数であるか否かを示す変換係数有無フラグに割り付ける第２のコンテキストインデックスと、を導出するコンテキストインデックス導出ステップと、
上記第１のコンテキストインデックスによって指定される第１の確率状態に基づいて、
上記サブブロック係数有無フラグを符号化し、上記第２のコンテキストインデックスによって指定される第２の確率状態に基づいて、上記変換係数有無フラグを符号化する変換係数有無フラグ符号化手段と、を含み、
上記変換係数有無フラグは、上記サブブロック係数有無フラグの値が１の場合に符号化され、
上記コンテキストインデックス導出ステップは、変換単位のサイズが１６×１６の場合には、上記サブブロック位置を、該変換単位を４×４個に分割した４×４サブブロックの位置に設定し、該変換単位のサイズが３２×３２の場合には、上記サブブロック位置を、該変換単位を８×８個に分割した４×４サブブロックの位置に設定し、該４×４サブブロックの位置に応じて異なる方法により、上記第２のコンテキストインデックスを導出することを特徴とする算術符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、算術符号化された符号化データを復号する算術復号装置に関する。また、算術符号化された符号化データを生成する算術符号化装置に関する。また、算術符号化された符号化データを復号する算術復号方法に関する。また、算術符号化された符号化データを生成する算術符号化方法に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置（画像符号化装置）、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置（画像復号装置）が用いられている。
【０００３】
具体的な動画像符号化方式としては、例えば、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣ、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている方式、ＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている方式や、その後継コーデックであるＨＥＶＣ（High-Efficiency Video Coding）にて提案されている方式（非特許文献１）などが挙げられる。
【０００４】
このような動画像符号化方式においては、動画像を構成する画像（ピクチャ）は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化単位（コーディングユニット（Coding Unit）と呼ばれることもある）、及び、符号化単位を分割することより得られるブロックおよびパーティションからなる階層構造により管理され、普通、ブロックごとに符号化／復号される。
【０００５】
また、このような符号化方式においては、通常、入力画像を符号化及び復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分画像（「残差画像」または「予測残差」と呼ぶこともある）をブロック毎にＤＣＴ（Discrete Cosine Transform）変換等の周波数変換を施すことによって得られる変換係数が符号化される。
【０００６】
変換係数の具体的な符号化の方式としては、コンテキスト適応型可変長符号化（CAVLC：Context-based Adaptive Variable Length Coding）、および、コンテキスト適応型２値算術符号化（CABAC：Context-based Adaptive Binary Arithmetic Coding）が知られている。
【０００７】
ＣＡＬＶＣでは、各変換係数を順次スキャンすることによって１次元のベクトルとした後、各変換係数の値を示すシンタックス、および、連続する０の長さ（ランとも呼ぶ）を表すシンタックス等が符号化される。
【０００８】
ＣＡＢＡＣでは、変換係数を表す各種のシンタックスに対して２値化処理が施され、この２値化処理によって得られた２値データが算術符号化される。ここで、上記各種のシンタックスとしては、変換係数が０であるか否かを示すフラグ、すなわち非０変換係数の有無を示すフラグsignificant_coeff_flag（変換係数有無フラグとも呼ぶ）、並びに、処理順で最後の非０変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yなどが挙げられる。
【０００９】
また、ＣＡＢＡＣでは、シンボル（２値データの１ビット、Ｂｉｎとも呼ぶ）を１つ符号化する際、処理対象の周波数成分に割り付けられたコンテキストインデックスが参照され、当該コンテキストインデックスによって指定されるコンテキスト変数に含まれる確率状態インデックスの指し示す発生確率に応じた算術符号化が行われる。また、確率状態インデックスによって指定される発生確率は、シンボルを１つ符号化する毎に更新される。
【００１０】
非特許文献１には、（１）１６×１６画素や３２×３２画素等の比較的大きなブロックについての周波数領域を複数の部分領域に分割し、（２）低周波数側の部分領域に含まれる周波数成分に対して、周波数領域内での当該周波数成分の位置に応じて定まるコンテキストインデックス（位置コンテキストとも呼ぶ）を割り付け、（３）高周波数側の部分領域に含まれる周波数成分に対して、当該周波数成分の周辺の周波数成分における非０変換係数の数に応じて定まるコンテキストインデックス（周辺参照コンテキストとも呼ぶ）を割り付けることが記載されている。この技術によれば、低周波数側での処理量を低減しつつ、高周波数側において、参照されるコンテキストの総数を小さく保つことができる。
【００１１】
また、非特許文献２では、変換係数の符号化において、算術符号化を用いつつも、コンテキストを用いないバイパスと呼ばれる符号化（すなわち、算術符号化であってコンテキストを用いない符号化）を用いることにより、コンテキストのアップデートを不要としスループットを向上させる技術が知られている。本技術では、従来ＣＡＢＡＣで用いられていたバイナリ化を用いず、ＣＡＶＬＣで用いていたバイナリ化を用いる。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】「WD4: Working Draft 4 of High-Efficiency Video Coding (JCTVC-F803_d2)」, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011（２０１１年１０月８日公開）
【非特許文献２】J. Lainema, K. Ugur and A. Hallapuro「Single entropy coder for HEVC with a high throughput binarization mode」、JCTVC-G569, Geneva, Novemver2011（２０１１年１１月公開）
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、非特許文献１に記載の技術では、成分数の多い高周波数側において、周辺参照コンテキストを用いるため、非０変換係数の有無を示すフラグsignificant_coeff_flagを復号するためのコンテキスト計算の計算量が増大し、復号処理の遅延を招来するという問題を生じていた。
【００１４】
また、非特許文献２に記載の技術では、ＣＡＶＬＣで用いられるバイナリ化を用いるため、ランモードとレベルモードという２つのモードを必要とし処理が複雑になるという課題がある。また、コンテキストを全く用いないため、符号化効率の低下が大きいという課題がある。
【００１５】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、高い符号化効率を実現しつつ、従来の構成に比べて処理量を低減させることのできる算術復号装置及び算術符号化装置を実現することにある。
【課題を解決するための手段】
【００１６】
上記の課題を解決するために、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを算術復号する算術復号装置において、前記変換係数を示す少なくとも第１のシンタックス及び第２のシンタックスのそれぞれを、コンテキストを用いた算術復号又はコンテキストを用いない算術復号により復号するシンタックス復号手段を備え、前記シンタックス復号手段は、前記第１のシンタックスを復号せずに、前記第２のシンタックスを前記コンテキストを用いない算術復号により復号する場合と、前記第１のシンタックスを前記コンテキストを用いた算術復号により復号し、前記第２のシンタックスをコンテキストを用いない算術復号により復号する場合とを少なくとも含むことを特徴とする。
【００１７】
上記の課題を解決するために、本発明の一態様に係る算術符号化装置は、対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを生成する算術符号化装置であって、前記変換係数を示す少なくとも第１のシンタックス及び第２のシンタックスのそれぞれを、コンテキストを用いた算術符号化又はコンテキストを用いない算術符号化により算術符号化するシンタックス符号化手段を備え、前記シンタックス符号化手段は、前記第１のシンタックスを符号化せずに、前記第２のシンタックスを前記コンテキストを用いない算術符号化により符号化する場合と、前記第１のシンタックスを前記コンテキストを用いた算術符号化により符号化し、前記第２のシンタックスをコンテキストを用いない算術符号化により符号化する場合とを少なくとも含むことを特徴とする。
【００１８】
上記の課題を解決するために、本発明の一態様に係る算術復号方法は、対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを算術復号する算術復号方法において、前記変換係数を示す少なくとも第１のシンタックス及び第２のシンタックスのそれぞれを、コンテキストを用いた算術復号又はコンテキストを用いない算術復号により復号するステップを少なくとも含み、前記復号するステップは、前記第１のシンタックスを復号せずに、前記第２のシンタックスを前記コンテキストを用いない算術復号により復号する場合と、前記第１のシンタックスを前記コンテキストを用いた算術復号により復号し、前記第２のシンタックスをコンテキストを用いない算術復号により復号する場合とを少なくとも含むことを特徴とする。
【発明の効果】
【００１９】
本発明の一態様によれば、高い符号化効率を実現しつつ、処理量を削減することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る動画像復号装置の備える量子化残差情報復号部の構成を示すブロック図である。
【図２】本発明の実施形態に係る動画像符号化装置によって生成され、動画像復号装置によって復号される符号化データのデータ構成を示す図であり、（ａ）〜（ｄ）は、それぞれ、ピクチャレイヤ、スライスレイヤ、ツリーブロックレイヤ、およびＣＵレイヤを示す図である。
【図３】ＰＵ分割タイプのパターンを示す図である。（ａ）〜（ｈ）は、それぞれ、ＰＵ分割タイプが、２Ｎ×Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、２Ｎ×Ｎ、２Ｎ×ｎＵ、および、２Ｎ×ｎＤの場合のパーティション形状について示している。
【図４】正方形のノードを正方形または非正方形に４分木分割する分割方式について示す図である。（ａ）は、正方形の分割、（ｂ）は、横長の長方形の分割、（ｃ）は、縦長の長方形の分割、（ｄ）は、横長のノードの横長の分割、（ｅ）は、横長のノードの正方形の分割、（ｆ）は、縦長のノードの縦長の分割、および（ｇ）は、縦長のノードの正方形の分割を示している。
【図５】実施形態に係る符号化データの量子化残差情報に含まれる各シンタックスを示す図である。
【図６】実施形態に係る量子化残差情報復号部の動作を説明するための図であって、（ａ）は、順スキャンの場合の処理順を示しており、（ｂ）は、逆スキャンの場合の処理順を示しており、（ｃ）は、処理周波数領域における非０の変換係数を例示しており、（ｄ）は、対象周波数領域におけるシンタックスsignificant_coeff_flagの値を例示しており、（ｅ）は、対象周波数領域におけるシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_minus3を復号して得られた値を例示しており、（ｆ）は、対象周波数領域におけるシンタックスcoeff_sign_flagの値を例示している。
【図７】実施形態に係る動画像復号装置の構成を示すブロック図である。
【図８】実施形態に係る動画像復号装置の備える可変長符号復号部の構成を示すブロック図である。
【図９】実施形態に係る周波数分類部によって４つの部分領域に分割された周波数領域を示す図である。
【図１０】実施形態に係る周辺参照コンテキスト導出部の動作を示すための図であって、（ａ）は、処理順序が逆スキャン順である場合の対象周波数成分ｘと、対象周波数成分ｘの位置周辺に設定された参照領域に含まれる参照周波数成分ｃ１〜ｃ５とを表しており、（ｂ）は、処理順序が順スキャン順である場合の対象周波数成分ｘと、対象周波数成分ｘの位置周辺に設定された参照領域に含まれる参照周波数成分ｃ１〜ｃ５とを表しており、（ｃ）は、参照領域が対象周波数領域からはみ出している場合を示している。
【図１１】（ａ）は、実施形態に係る周波数分類部によって３つの部分領域に分割された周波数領域を示す図であり、（ｂ）は、実施形態に係る周波数分類部によって２つの部分領域に分割された周波数領域を示す図である。
【図１２】実施形態に係る係数有無フラグ復号部の第２の構成例を示すブロック図である。
【図１３】実施形態に係る係数有無フラグ復号部の第２の構成例を説明するための図であって、（ａ）は、スキャン列Ｌｘとスキャン列Ｌｘ＋１とを示しており、（ｂ）は、スキャン列Ｌｘと、スキャン列Ｌｘ＋１のうちlast_cntx及びlast_cntyをそれぞれカウントする部分とを示している。
【図１４】実施形態に係る係数有無フラグ復号部の第３の構成例を示すブロック図である。
【図１５】実施形態に係る係数有無フラグ復号部の第３の構成例における周辺参照コンテキスト導出部によって参照される参照領域を示す図であり、（ａ）〜（ｂ）は参照数が４である参照領域を例示しており、（ｃ）〜（ｆ）は、参照数が３である参照領域を例示しており、（ｇ）〜（ｈ）は、参照数が２である参照領域を例示しており、（ｉ）は、参照数が３である参照領域の他の例を示している。
【図１６】実施形態に係る係数有無フラグ復号部の第３の構成例を説明するための図であって、対象周波数領域を構成する部分領域Ｒ０〜Ｒ３のうち、部分領域Ｒ２とＲ３とで一部のコンテキストを共有する場合を示している。
【図１７】実施形態に係る係数有無フラグ復号部の第４の構成例を示すブロック図である。
【図１８】実施形態に係る係数有無フラグ復号部の第４の構成例を説明するための図であって、対象周波数領域を構成する部分領域Ｒ０〜Ｒ４のうち、部分領域Ｒ２とＲ３とで一部のコンテキストを共有する場合を示している。
【図１９】実施形態に係る係数有無フラグ復号部の第５の構成例を示すブロック図である。
【図２０】実施形態に係る係数有無フラグ復号部の第５の構成例を説明するための図であって、スキャン列Ｌｘ、スキャン列Ｌｘ＋１、スキャン列Ｌｘ＋２を示している。
【図２１】実施形態に係る係数有無フラグ復号部の第５の構成例を説明するための図であって、（ａ）〜（ｃ）は、参照数が２である参照領域を例示している。
【図２２】実施形態に係る係数有無フラグ復号部の第６の構成例を示すブロック図である。
【図２３】実施形態に係る量子化残差情報復号部の他の構成例を説明するための図であって、周波数領域を分割して得られる低周波数側の部分領域Ｒ０’と高周波数側の部分領域Ｒ１’とを示している。
【図２４】実施形態に係る量子化残差情報復号部の他の構成例を説明するためのものであって、（ａ）は、レベルの各値とそれに対応した制限設定とを示すものであり、（ｂ）は、レベルの各値とそれに応じた閾値の設定とを示すものである。
【図２５】実施形態に係る量子化残差情報復号部の他の構成例を説明するためのものであって、（ａ）は、比較例に係る係数有無フラグ復号部によって導出されたコンテキストインデックスの各値を示しており、（ｂ）は、当該構成例に係る係数有無フラグ復号部によって導出されたコンテキストインデックスctxIdxの各値を示しており、（ｃ）は、当該構成例に係る係数有無フラグ復号部によって導出されたｃｔｘＩｄｘＨの例を示しており、（ｄ）は、当該構成例に係る係数有無フラグ復号部によって導出されたｃｔｘＩｄｘＶの例を示している。
【図２６】実施形態に係る動画像符号化装置の構成を示すブロック図である。
【図２７】実施形態に係る動画像符号化装置の備える可変長符号符号化部の構成を示すブロック図である。
【図２８】実施形態に係る可変長符号符号化部の備える量子化残差情報符号化部の構成を示すブロック図である。
【図２９】上記動画像符号化装置を搭載した送信装置、および、上記動画像復号装置を搭載した受信装置の構成について示した図である。（ａ）は、動画像符号化装置を搭載した送信装置を示しており、（ｂ）は、動画像復号装置を搭載した受信装置を示している。
【図３０】上記動画像符号化装置を搭載した記録装置、および、上記動画像復号装置を搭載した再生装置の構成について示した図である。（ａ）は、動画像符号化装置を搭載した記録装置を示しており、（ｂ）は、動画像復号装置を搭載した再生装置を示している。
【図３１】実施形態に係る係数有無フラグ復号部の第７の構成例を示すブロック図である。
【図３２】実施形態に係る係数有無フラグ復号部の第７〜第９の構成例を説明するための図であって、サブブロックを単位とするスキャンを示すものである。
【図３３】実施形態に係る係数有無フラグ復号部の第７〜第９の構成例における動作の流れの一例を示すフローチャートである。
【図３４】実施形態に係る係数有無フラグ復号部の第７〜第９の構成例における動作の流れの他の例を示すフローチャートである。
【図３５】実施形態に係る係数有無フラグ復号部の第７の構成例の備える周波数分類部による分類処理によって、部分領域Ｒ０、Ｒ１、及びＲ２に分割された周波数領域の一例を示す図である。
【図３６】実施形態に係る係数有無フラグ復号部の第７〜第９の構成例を説明するための図であって、対象周波数成分ｘの位置周辺に設定された参照領域に含まれる参照周波数成分ｃ１〜ｃ５を示すものである。
【図３７】実施形態に係る係数有無フラグ復号部の第８の構成例を示すブロック図である。
【図３８】実施形態に係る係数有無フラグ復号部の第８の構成例の備える周波数分類部による分類処理によって、部分領域Ｒ０、Ｒ１、Ｒ２、及びＲ３に分割された周波数領域の一例を示す図である。
【図３９】実施形態に係る係数有無フラグ復号部の第８の構成例の備える周波数分類部による分類処理によって、部分領域Ｒ０、Ｒ１、Ｒ２、及びＲ３に分割された周波数領域の他の例を示す図である。
【図４０】実施形態に係る係数有無フラグ復号部の第９の構成例を示すブロック図である。
【図４１】実施形態に係る係数有無フラグ復号部の第９の構成例の備える周波数分類部による分類処理によって、部分領域Ｒ０、Ｒ１、Ｒ２、Ｒ３、及びＲ４に分割された周波数領域の一例を示す図である。
【図４２】実施形態に係る係数有無フラグ復号部の第９の構成例の備える周波数分類部による分類処理によって、部分領域Ｒ０、Ｒ１、Ｒ２、Ｒ３、及びＲ４に分割された周波数領域の他の例を示す図である。
【図４３】実施形態に係る係数有無フラグ符号化部の第７〜第９の構成例による動作の流れを示すフローチャートである。
【図４４】実施形態に係る係数有無フラグ符号化部の第７の構成例を示すブロック図である。
【図４５】実施形態に係る係数有無フラグ符号化部の第８の構成例を示すブロック図である。
【図４６】実施形態に係る係数有無フラグ符号化部の第９の構成例を示すブロック図である。
【図４７】実施形態に係るサブブロック係数有無フラグを説明するための図であって、（ａ）は、１６×１６変換ブロックに含まれる合計２５６個の周波数成分についての量子化残差係数の各値の一例を示しており、（ｂ）は、１６×１６変換ブロックを４×４サブブロックに分割した場合の各サブブロックを識別するサブブロック番号の一例を示しており、（ｃ）は、量子化残差係数が（ａ）に示すものであるときの、各サブブロックのサブブロック係数有無フラグの一例を示している。
【図４８】実施形態に係る係数有無フラグ復号部の備える周波数分類部による分類処理を説明するための図であって、（ａ）は、輝度値に関する変換係数を復号する際に好適に適用される部分領域分割を示しており、（ｂ）は、色差に関する変換係数を復号する際に好適に適用される部分領域分割を示している。
【図４９】実施形態に係る係数有無フラグ復号部の第３の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図４８（ａ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図５０】実施形態に係る係数有無フラグ復号部によるコンテキストインデックス導出処理を説明するための図であって、図４８（ｂ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図５１】実施形態に係る係数有無フラグ復号部の第３の構成例の他の構成例を説明するための図であって、対象周波数成分ｘの位置周辺に設定された参照領域に含まれる参照周波数成分ｃ１、ｃ２、ｃ５を示すものである。
【図５２】実施形態に係る係数有無フラグ復号部の第８の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図４８（ａ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図５３】実施形態に係る係数有無フラグ復号部の第８の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図４８（ｂ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図５４】実施形態に係る係数有無フラグ復号部の第８の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図４８（ａ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図５５】実施形態に係る係数有無フラグ復号部の第８の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図４８（ｂ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図５６】実施形態に係る係数有無フラグ復号部の第８の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図４８（ａ）〜（ｂ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図５７】実施形態に係る係数有無フラグ復号部の第８の構成例のコンテキスト更新遅延除去を考慮した構成例によるコンテキストインデックス導出処理を説明するための図である。
【図５８】実施形態に係る係数有無フラグ復号部の第８の構成例のコンテキスト更新遅延除去を考慮した構成例によるコンテキストインデックス導出処理を説明するための図である。
【図５９】実施形態に係る係数有無フラグ復号部の第８の構成例のコンテキスト更新遅延除去を考慮した構成例によるコンテキストインデックス導出処理を説明するための図であって、図４８（ａ）〜（ｂ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図６０】実施形態に係る係数有無フラグ復号部の第８の構成例のコンテキスト更新遅延除去を考慮した構成例によるコンテキストインデックス導出処理を説明するための図であって、図４８（ａ）〜（ｂ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。
【図６１】本発明の実施形態に係る動画像復号装置３の備える量子化残差情報復号部の構成を示すブロック図である。
【図６２】従来技術の符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。
【図６３】従来技術の符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【図６４】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。
【図６５】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の通常構成を示す図である。
【図６６】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第１の簡略化構成を示す図である。
【図６７】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第２の簡略化構成を示す図である。
【図６８】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第３の簡略化構成を示す図である。
【図６９】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第４の簡略化構成を示す図である。
【図７０】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第５の簡略化構成を示す図である。
【図７１】実施形態に係る符号化データの量子化残差情報に含まれるシンタックスcoeff_abs_minusを示すシンタックスの構成を示す図である。
【図７２】実施形態に係る簡略化処理フラグcabac_lowcomp_flagの導出処理を示すフローチャートである。
【図７３】実施形態に係る簡略化処理フラグcabac_lowcomp_flagの導出処理の詳細処理を示すフローチャートである。
【図７４】本発明の実施形態に係る動画像符号化装置３の備える量子化残差情報符号化部の構成を示すブロック図である。
【図７５】実施形態に係る係数有無フラグ符号化部Ｙ２２４の構成を示すブロック図である。
【発明を実施するための形態】
【００２１】
本発明に係る復号装置および符号化装置の一実施形態について図面に基づいて説明すれば以下のとおりである。なお、本実施形態に係る復号装置は、符号化データから動画像を復号するものである。したがって、以下では、これを「動画像復号装置」と呼称する。また、本実施形態に係る符号化装置は、動画像を符号化することによって符号化データを生成するものである。したがって、以下では、これを「動画像符号化装置」と呼称する。
【００２２】
ただし、本発明の適用範囲はこれに限定されるものではない。すなわち、以下の説明からも明らかなように、本発明の特徴は複数のフレームを前提としなくとも成立するものである。すなわち、動画像を対象とするか静止画像を対象とするかを問わず、復号装置一般および符号化装置一般に適用できるものである。
【００２３】
（符号化データ＃１の構成）
図２を用いて、動画像符号化装置２によって生成され、動画像復号装置１によって復号される符号化データ＃１の構成例について説明する。符号化データ＃１は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
【００２４】
シーケンスレイヤでは、処理対象のシーケンスを復号するために、動画像復号装置１が参照するデータの集合が規定されている。シーケンスレイヤにはシーケンスパラメータセットＳＰＳ、ピクチャパラメータセットＰＰＳ、ピクチャＰＩＣＴを含んでいる。
【００２５】
符号化データ＃１におけるピクチャレイヤ以下の階層の構造を図２に示す。図２の（ａ）〜（ｄ）は、それぞれ、ピクチャＰＩＣＴを規定するピクチャレイヤ、スライスＳを規定するスライスレイヤ、ツリーブロック（Tree block）ＴＢＬＫを規定するツリーブロックレイヤ、ツリーブロックＴＢＬＫに含まれる符号化単位（Coding Unit；ＣＵ）を規定するＣＵレイヤを示す図である。
【００２６】
（ピクチャレイヤ）
ピクチャレイヤでは、処理対象のピクチャＰＩＣＴ（以下、対象ピクチャとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。ピクチャＰＩＣＴは、図２の（ａ）に示すように、ピクチャヘッダＰＨ、及び、スライスＳ1〜ＳNSを含んでいる（ＮＳはピクチャＰＩＣＴに含まれるスライスの総数）。
【００２７】
なお、以下、スライスＳ1〜ＳNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ＃１に含まれるデータであって、添え字を付している他のデータについても同様である。
【００２８】
ピクチャヘッダＰＨには、対象ピクチャの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置２が符号化の際に用いた可変長符号化のモードを示す符号化モード情報（entropy_coding_mode_flag）は、ピクチャヘッダＰＨに含まれる符号化パラメータの一例である。
【００２９】
entropy_coding_mode_flagが０の場合、当該ピクチャＰＩＣＴは、ＣＡＶＬＣ（Context-based Adaptive Variable Length Coding）によって符号化されている。また、entropy_coding_mode_flagが１である場合、当該ピクチャＰＩＣＴは、ＣＡＢＡＣ（Context-based Adaptive Binary Arithmetic Coding）によって符号化されている。
【００３０】
（スライスレイヤ）
スライスレイヤでは、処理対象のスライスＳ（対象スライスとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。スライスＳは、図２の（ｂ）に示すように、スライスヘッダＳＨ、及び、ツリーブロックＴＢＬＫ1〜ＴＢＬＫNC（ＮＣはスライスＳに含まれるツリーブロックの総数）を含んでいる。
【００３１】
スライスヘッダＳＨには、対象スライスの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報（slice_type）は、スライスヘッダＳＨに含まれる符号化パラメータの一例である。
【００３２】
スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単予測、又は、イントラ予測を用いるＰスライス、（３）符号化の際に単予測、双予測、又は、イントラ予測を用いるＢスライスなどが挙げられる。
【００３３】
また、スライスヘッダＳＨには、動画像復号装置１の備えるループフィルタによって参照されるフィルタパラメータＦＰが含まれている。フィルタパラメータＦＰは、フィルタ係数群を含んでいる。フィルタ係数群には、（１）フィルタのタップ数を指定するタップ数指定情報、（２）フィルタ係数a0〜aNT-1（NTは、フィルタ係数群に含まれるフィルタ係数の総数）、および、（３）オフセットoが含まれる。
【００３４】
（ツリーブロックレイヤ）
ツリーブロックレイヤでは、処理対象のツリーブロックＴＢＬＫ（以下、対象ツリーブロックとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。
【００３５】
ツリーブロックＴＢＬＫは、ツリーブロックヘッダＴＢＬＫＨと、符号化単位情報ＣＵ１〜ＣＵＮＬ（ＮＬはツリーブロックＴＢＬＫに含まれる符号化単位情報の総数）とを含む。ここで、まず、ツリーブロックＴＢＬＫと、符号化単位情報ＣＵとの関係について説明すると次のとおりである。
【００３６】
ツリーブロックＴＢＬＫは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのユニットに分割される。
【００３７】
ツリーブロックＴＢＬＫの上記ユニットは、再帰的な４分木分割により分割されている。この再帰的な４分木分割により得られる木構造のことを以下、符号化ツリー（coding tree）と称する。
【００３８】
以下、符号化ツリーの末端のノードであるリーフ（leaf）に対応するユニットを、符号化ノード（coding node）として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位（ＣＵ）とも称する。
【００３９】
つまり、符号化単位情報ＣＵ１〜ＣＵＮＬは、ツリーブロックＴＢＬＫを再帰的に４分木分割して得られる各符号化ノード（符号化単位）に対応する情報である。
【００４０】
また、符号化ツリーのルート（root）は、ツリーブロックＴＢＬＫに対応付けられる。換言すれば、ツリーブロックＴＢＬＫは、複数の符号化ノードを再帰的に含む４分木分割の木構造の最上位ノードに対応付けられる。
【００４１】
なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード（すなわち、当該符号化ノードの１階層上位のノードのユニット）のサイズの縦横とも半分である。
【００４２】
また、各符号化ノードの取り得るサイズは、符号化データ＃１のシーケンスパラメータセットＳＰＳに含まれる、符号化ノードのサイズ指定情報および最大階層深度（maximum hierarchical depth）に依存する。例えば、ツリーブロックＴＢＬＫのサイズが６４×６４画素であって、最大階層深度が３である場合には、当該ツリーブロックＴＢＬＫ以下の階層における符号化ノードは、４種類のサイズ、すなわち、６４×６４画素、３２×３２画素、１６×１６画素、および８×８画素の何れかを取り得る。
【００４３】
（ツリーブロックヘッダ）
ツリーブロックヘッダＴＢＬＫＨには、対象ツリーブロックの復号方法を決定するために動画像復号装置１が参照する符号化パラメータが含まれる。具体的には、図２の（ｃ）に示すように、対象ツリーブロックの各ＣＵへの分割パターンを指定するツリーブロック分割情報ＳＰ＿ＴＢＬＫ、および、量子化ステップの大きさを指定する量子化パラメータ差分Δｑｐ（qp_delta）が含まれる。
【００４４】
ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各ＣＵの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
【００４５】
なお、ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ＣＵの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報ＳＰ＿ＴＢＬＫは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各ＣＵの形状やサイズを特定できる。
【００４６】
また、量子化パラメータ差分Δｑｐは、対象ツリーブロックにおける量子化パラメータｑｐと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータｑｐ’との差分ｑｐ−ｑｐ’である。
【００４７】
（ＣＵレイヤ）
ＣＵレイヤでは、処理対象のＣＵ（以下、対象ＣＵとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。
【００４８】
ここで、符号化単位情報ＣＵに含まれるデータの具体的な内容の説明をする前に、ＣＵに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー（prediction tree；ＰＴ）および変換ツリー（transform tree；ＴＴ）のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
【００４９】
予測ツリーにおいては、符号化ノードが１または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する１または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた１または複数の予測ブロックを含む。
【００５０】
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位（prediction unit；ＰＵ）とも称する。
【００５１】
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との２つがある。
【００５２】
イントラ予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）と、Ｎ×Ｎとがある。
【００５３】
また、インター予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）、２Ｎ×Ｎ、Ｎ×２Ｎ、および、Ｎ×Ｎなどがある。
【００５４】
また、変換ツリーにおいては、符号化ノードが１または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する１または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた１または複数の変換ブロックを含む。
【００５５】
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位（transform unit；ＴＵ）とも称する。
【００５６】
（符号化単位情報のデータ構造）
続いて、図２の（ｄ）を参照しながら符号化単位情報ＣＵに含まれるデータの具体的な内容について説明する。図２の（ｄ）に示すように、符号化単位情報ＣＵは、具体的には、スキップモードフラグＳＫＩＰ、ＣＵ予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅ、ＰＴ情報ＰＴＩ、および、ＴＴ情報ＴＴＩを含む。
【００５７】
［スキップフラグ］
スキップフラグＳＫＩＰは、対象ＣＵについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグＳＫＩＰの値が１の場合、すなわち、対象ＣＵにスキップモードが適用されている場合、その符号化単位情報ＣＵにおけるＰＴ情報ＰＴＩは省略される。なお、スキップフラグＳＫＩＰは、Ｉスライスでは省略される。
【００５８】
［ＣＵ予測タイプ情報］
ＣＵ予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅは、ＣＵ予測方式情報ＰｒｅｄＭｏｄｅおよびＰＵ分割タイプ情報ＰａｒｔＭｏｄｅを含む。ＣＵ予測タイプ情報のことを単に予測タイプ情報と呼ぶこともある。
【００５９】
ＣＵ予測方式情報ＰｒｅｄＭｏｄｅは、対象ＣＵに含まれる各ＰＵについての予測画像生成方法として、イントラ予測（イントラＣＵ）、および、インター予測（インターＣＵ）のいずれを用いるのかを指定するものである。なお、以下では、対象ＣＵにおける、スキップ、イントラ予測、および、インター予測の種別を、ＣＵ予測モードと称する。
【００６０】
ＰＵ分割タイプ情報ＰａｒｔＭｏｄｅは、対象符号化単位（ＣＵ）の各ＰＵへの分割のパターンであるＰＵ分割タイプを指定するものである。以下、このように、ＰＵ分割タイプに従って、対象符号化単位（ＣＵ）を各ＰＵへ分割することをＰＵ分割と称する。
【００６１】
ＰＵ分割タイプ情報ＰａｒｔＭｏｄｅは、例示的には、ＰＵ分割パターンの種類を示すインデックスであってもよいし、対象予測ツリーに含まれる各ＰＵの形状、サイズ、および、対象予測ツリー内での位置が指定されていてもよい。
【００６２】
なお、選択可能なＰＵ分割タイプは、ＣＵ予測方式とＣＵサイズに応じて異なる。また、さらにいえば、選択可能できるＰＵ分割タイプは、インター予測およびイントラ予測それぞれの場合において異なる。また、ＰＵ分割タイプの詳細については後述する。
【００６３】
また、Ｉスライスでない場合、ＰＵ分割タイプ情報ＰａｒｔＭｏｄｅの値およびＰＵ分割タイプ情報ＰａｒｔＭｏｄｅの値は、ツリーブロックの分割（partition）、予測方式、およびＣＵの分割（split）の方法の組み合わせを指定するインデックス（cu_split_pred_part_mode）によって特定されるようになっていてもよい。
【００６４】
［ＰＴ情報］
ＰＴ情報ＰＴＩは、対象ＣＵに含まれるＰＴに関する情報である。言い換えれば、ＰＴ情報ＰＴＩは、ＰＴに含まれる１または複数のＰＵそれぞれに関する情報の集合である。上述のとおり予測画像の生成は、ＰＵを単位として行われるので、ＰＴ情報ＰＴＩは、動画像復号装置１によって予測画像が生成される際に参照される。ＰＴ情報ＰＴＩは、図２の（ｄ）に示すように、各ＰＵにおける予測情報等を含むＰＵ情報ＰＵＩ１〜ＰＵＩＮＰ（ＮＰは、対象ＰＴに含まれるＰＵの総数）を含む。
【００６５】
予測情報ＰＵＩは、予測タイプ情報Ｐｒｅｄ＿ｍｏｄｅが何れの予測方法を指定するのかに応じて、イントラ予測パラメータＰＰ＿Ｉｎｔｒａ、または、インター予測パラメータＰＰ＿Ｉｎｔｅｒを含む。以下では、イントラ予測が適用されるＰＵをイントラＰＵとも呼称し、インター予測が適用されるＰＵをインターＰＵとも呼称する。
【００６６】
インター予測パラメータＰＰ＿Ｉｎｔｅｒは、動画像復号装置１が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータを含む。
【００６７】
インター予測パラメータＰＰ＿Ｉｎｔｅｒとしては、例えば、マージフラグ（ｍｅｒｇｅ＿ｆｌａｇ）、マージインデックス（ｍｅｒｇｅ＿ｉｄｘ）、推定動きベクトルインデックス（ｍｖｐ＿ｉｄｘ）、参照画像インデックス（ｒｅｆ＿ｉｄｘ）、インター予測フラグ（ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ）、および動きベクトル残差（ｍｖｄ）が挙げられる。
【００６８】
イントラ予測パラメータＰＰ＿Ｉｎｔｒａは、動画像復号装置１が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータを含む。
【００６９】
イントラ予測パラメータＰＰ＿Ｉｎｔｒａとしては、例えば、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスが挙げられる。
【００７０】
なお、イントラ予測パラメータには、ＰＣＭモードを用いるか否かを示すＰＣＭモードフラグが含まれていてもよい。ＰＣＭモードフラグが符号化されている場合であって、ＰＣＭモードフラグがＰＣＭモードを用いることを示しているときには、予測処理（イントラ）、変換処理、および、エントロピー符号化の各処理が省略される。
【００７１】
［ＴＴ情報］
ＴＴ情報ＴＴＩは、ＣＵに含まれるＴＴに関する情報である。言い換えれば、ＴＴ情報ＴＴＩは、ＴＴに含まれる１または複数のＴＵそれぞれに関する情報の集合であり、動画像復号装置１により残差データを復号する際に参照される。なお、以下、ＴＵのことをブロックと称することもある。
【００７２】
ＴＴ情報ＴＴＩは、図２の（ｄ）に示すように、対象ＣＵの各変換ブロックへの分割パターンを指定するＴＴ分割情報ＳＰ＿ＴＵ、および、ＴＵ情報ＴＵＩ1〜ＴＵＩNT（ＮＴは、対象ＣＵに含まれるブロックの総数）を含んでいる。
【００７３】
ＴＴ分割情報ＳＰ＿ＴＵは、具体的には、対象ＣＵに含まれる各ＴＵの形状、サイズ、および、対象ＣＵ内での位置を決定するための情報である。例えば、ＴＴ分割情報ＳＰ＿ＴＵは、対象となるノードの分割を行うのか否かを示す情報（split_transform_flag）と、その分割の深度を示す情報（trafoDepth）とから実現することができる。
【００７４】
また、例えば、ＣＵのサイズが、６４×６４の場合、分割により得られる各ＴＵは、３２×３２画素から４×４画素までのサイズを取り得る。
【００７５】
ＴＵ情報ＴＵＩ1〜ＴＵＩNTは、ＴＴに含まれる１または複数のＴＵそれぞれに関する個別の情報である。例えば、ＴＵ情報ＴＵＩは、量子化予測残差（量子化残差とも呼ぶ）を含んでいる。
【００７６】
各量子化予測残差は、動画像符号化装置２が以下の処理１〜３を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
【００７７】
処理１：符号化対象画像から予測画像を減算した予測残差を周波数変換（例えばＤＣＴ変換（Discrete Cosine Transform））する；
処理２：処理１にて得られた変換係数を量子化する；
処理３：処理２にて量子化された変換係数を可変長符号化する；
なお、上述した量子化パラメータｑｐは、動画像符号化装置２が変換係数を量子化する際に用いた量子化ステップＱＰの大きさを表す（ＱＰ＝２qp/6）。
【００７８】
（ＰＵ分割タイプ）
ＰＵ分割タイプには、対象ＣＵのサイズを２Ｎ×２Ｎ画素とすると、次の合計８種類のパターンがある。すなわち、２Ｎ×２Ｎ画素、２Ｎ×Ｎ画素、Ｎ×２Ｎ画素、およびＮ×Ｎ画素の４つの対称的分割（symmetric splittings）、並びに、２Ｎ×ｎＵ画素、２Ｎ×ｎＤ画素、ｎＬ×２Ｎ画素、およびｎＲ×２Ｎ画素の４つの非対称的分割（asymmetric splittings）である。なお、Ｎ＝２ｍ（ｍは１以上の任意の整数）を意味している。以下、対称ＣＵを分割して得られる領域のことをパーティションとも称する。
【００７９】
図３の（ａ）〜（ｈ）に、それぞれの分割タイプについて、ＣＵにおけるＰＵ分割の境界の位置を具体的に図示している。
【００８０】
図３の（ａ）は、ＣＵの分割を行わない２Ｎ×２ＮのＰＵ分割タイプを示している。また、図３の（ｂ）、（ｃ）、および（ｄ）は、それぞれ、ＰＵ分割タイプが、それぞれ、２Ｎ×Ｎ、２Ｎ×ｎＵ、および、２Ｎ×ｎＤである場合のパーティションの形状について示している。また、図３の（ｅ）、（ｆ）、および（ｇ）は、それぞれ、ＰＵ分割タイプが、Ｎ×２Ｎ、ｎＬ×２Ｎ、および、ｎＲ×２Ｎである場合のパーティションの形状について示している。また、図３の（ｈ）は、ＰＵ分割タイプが、Ｎ×Ｎである場合のパーティションの形状を示している。
【００８１】
図３の（ａ）および（ｈ）のＰＵ分割タイプのことを、そのパーティションの形状に基づいて、正方形分割とも称する。また、図３の（ｂ）〜（ｇ）のＰＵ分割タイプのことは、非正方形分割とも称する。
【００８２】
また、図３の（ａ）〜（ｈ）において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。
【００８３】
［インター予測の場合の分割タイプ］
インターＰＵでは、上記８種類の分割タイプのうち、Ｎ×Ｎ（図３の（ｈ））以外の７種類が定義されている。なお、上記４つの非対称的分割は、ＡＭＰ（Asymmetric Motion Partition）と呼ばれることもある。
【００８４】
また、Ｎの具体的な値は、当該ＰＵが属するＣＵのサイズによって規定され、ｎＵ、ｎＤ、ｎＬ、および、ｎＲの具体的な値は、Ｎの値に応じて定められる。例えば、１２８×１２８画素のインターＣＵは、１２８×１２８画素、１２８×６４画素、６４×１２８画素、６４×６４画素、１２８×３２画素、１２８×９６画素、３２×１２８画素、および、９６×１２８画素のインターＰＵへ分割することが可能である。
【００８５】
［イントラ予測の場合の分割タイプ］
イントラＰＵでは、次の２種類の分割パターンが定義されている。すなわち、対象ＣＵを分割しない、すなわち対象ＣＵ自身が１つのＰＵとして取り扱われる分割パターン２Ｎ×２Ｎと、対象ＣＵを、４つのＰＵへと対称的に分割するパターンＮ×Ｎと、である。
【００８６】
したがって、イントラＰＵでは、図３に示した例でいえば、（ａ）および（ｈ）の分割パターンを取ることができる。
【００８７】
例えば、１２８×１２８画素のイントラＣＵは、１２８×１２８画素、および、６４×６４画素のイントラＰＵへ分割することが可能である。
【００８８】
（ＴＵ分割タイプ）
次に、図４を用いて、ＴＵ分割タイプについて説明する。ＴＵ分割のパターンは、ＣＵのサイズ、分割の深度（trafoDepth）、および対象ＰＵのＰＵ分割タイプにより定まる。
【００８９】
また、ＴＵ分割のパターンには、正方形の４分木分割と、非正方形の４分木分割とが含まれる。
【００９０】
図４の（ａ）〜（ｃ）は、正方形のノードを正方形または非正方形に４分木分割する分割方式について示している。より具体的には、図４の（ａ）は、正方形のノードを正方形に４分木分割する分割方式を示している。また、同図の（ｂ）は、正方形のノードを横長の長方形に４分木分割する分割方式を示している。そして、同図の（ｃ）は、正方形のノードを縦長の長方形に４分木分割する分割方式を示している。
【００９１】
また、図４の（ｄ）〜（ｇ）は、非正方形のノードを正方形または非正方形に４分木分割する分割方式について示している。より具体的には、図４の（ｄ）は、横長の長方形のノードを横長の長方形に４分木分割する分割方式を示している。また、同図の（ｅ）は、横長の長方形のノードを正方形に４分木分割する分割方式を示している。また、同図の（ｆ）は、縦長の長方形のノードを縦長の長方形に４分木分割する分割方式を示している。そして、同図の（ｇ）は、縦長の長方形のノードを正方形に４分木分割する分割方式を示している。
【００９２】
（量子化残差情報ＱＤの構成）
図５は、量子化残差情報ＱＤ（図５ではresidual_coding_cabac()と表記）に含まれる各シンタックスを示す表である。
【００９３】
図５に示すように、量子化残差情報ＱＤは、シンタックス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_minus3を含んでいる。
【００９４】
量子化残差情報ＱＤに含まれる各シンタックスは、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ：（Context-based Adaptive Binary Arithmetic Coding））によって符号化されている。
【００９５】
以下では、図５〜図６を参照して、ブロックサイズが８×８画素である場合を例にとり、各シンタックスの復号手順について説明する。図６（ａ）〜（ｇ）の横軸は、水平方向周波数ｘＣ（０≦ｘＣ≦７）を表しており、縦軸は、垂直方向周波数ｙＣ（０≦ｙＣ≦７）を表している。以下の説明では、周波数領域に含まれる各部分領域のうち、水平方向周波数ｘＣ、および、垂直方向周波数ｙＣによって指定される部分領域を、周波数成分（ｘＣ、ｙＣ）とも呼称する。また、周波数成分（ｘＣ、ｙＣ）についての変換係数をＣｏｅｆｆ（ｘＣ、ｙＣ）とも表記する。変換係数Ｃｏｅｆｆ（０、０）は、ＤＣ成分を示しており、それ以外の変換係数は、ＤＣ成分以外の成分を表している。本明細書において、（ｘＣ、ｙＣ）を（ｕ、ｖ）や（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）などと表記することもある。
【００９６】
図６（ａ）〜（ｂ）は、８×８の周波数成分よりなる周波数領域ＦＲにおけるスキャン順の例を示す図である。
【００９７】
図６（ａ）に示す例では、低周波数側（図６（ａ）において左上）から高周波数側（図６（ａ）において右下）に向かって順次スキャンが行われる。また、図６（ａ）に示す例では、周波数領域ＦＲ内に示す矢印に沿ってスキャンが行われる。図６（ａ）に示すスキャン順を、順スキャンと呼ぶこともある。
【００９８】
一方で、図６（ｂ）に示す例では、高周波数側（図６（ｂ）において右下）から低周波数側（図６（ｂ）において左上）に向かって順次スキャンが行われる。また、図６（ｂ）に示す例では、周波数領域ＦＲ内に示す矢印に沿ってスキャンが行われる。図６（ｂ）に示すスキャン順を、逆スキャンと呼ぶこともある。
【００９９】
図６（ｃ）は、８×８の周波数成分よりなる周波数領域における０でない変換係数（非０変化係数）を例示する図である。
【０１００】
シンタックスlast_significant_coeff_x及びlast_significant_coeff_yは、順スキャン方向に沿って最後の非０変換係数の位置を示すシンタックスである。図６（ｃ）に示す例の場合、last_significant_coeff_x＝６、last_significant_coeff_y＝０である。
【０１０１】
シンタックスsignificant_coeff_flagは、非０変換係数を起点として逆スキャン方向に沿った各周波数成分について、非０変換係数の有無を示すシンタックスである。図６（ｄ）は、復号対象の変換係数が、図６（ｃ）に示すものである場合のシンタックスsignificant_coeff_flagの値を示している。図６（ｄ）に示すように、シンタックスsignificant_coeff_flagは、各ｘＣ、ｙＣについて、変換係数が０であれば０、変換係数が０でなければ１をとるフラグである。なお、シンタックスsignificant_coeff_flagを変換係数有無フラグとも呼称する。
【０１０２】
シンタックスcoeff_abs_level_greater1_flagは、変換係数の絶対値が１を越えるものであるのか否かを示すフラグであり、シンタックスsignificant_coeff_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_minus3は、変換係数の絶対値が３以上である場合に、当該変換係数の絶対値を指定するためのシンタックスであり、coeff_abs_level_greater2_flagの値が１であるときに符号化される。シンタックスcoeff_abs_level_minus3の値は、変換係数の絶対値から３を引いたものである。例えば、coeff_abs_level_minus3＝１は、変換係数の絶対値が４であることを示している。
【０１０５】
図６（ｅ）は、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_minus3を復号することによって得られた各変換係数の絶対値を示している。
【０１０６】
シンタックスcoeff_sign_flagは、変換係数の符号（正であるのか負であるのか）を示すフラグであり、シンタックスsignificant_coeff_flagの値が１である周波数成分について符号化される。
【０１０７】
図６（ｆ）は、復号対象の変換係数が、図６（ｃ）に示すものである場合のシンタックスcoeff_sign_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_minus3を復号することにより、各周波数成分についての変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）を生成することができる。
【０１０９】
なお、特定の領域（例えばＴＵ）内の非０変換係数の集合をsignificance mapと呼ぶこともある。
【０１１０】
また、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_minus3の復号は、周波数領域における各周波数成分を、１または複数のグループにグループ分けした後、グループ毎に行なわれる。図６（ｇ）は、８×８の周波数成分よりなる周波数領域におけるグループ分けの例を示している。各種シンタックスの復号処理の詳細については、後述することとし、続いて動画像復号装置１の構成について説明を行う。
【０１１１】
（動画像復号装置１）
以下では、本実施形態に係る動画像復号装置１について図１、図７〜図２５を参照して説明する。動画像復号装置１は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格に採用されている技術、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている技術、ＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている技術、および、その後継コーデックであるＨＥＶＣ（High-Efficiency Video Coding）にて提案されている技術を実装している復号装置である。
【０１１２】
図７は、動画像復号装置１の構成を示すブロック図である。図７に示すように、動画像復号装置１は、可変長符号復号部１１、予測画像生成部１２、逆量子化・逆変換部１３、加算器１４、フレームメモリ１５、および、ループフィルタ１６を備えている。また、図７に示すように、予測画像生成部１２は、動きベクトル復元部１２ａ、インター予測画像生成部１２ｂ、イントラ予測画像生成部１２ｃ、および、予測方式決定部１２ｄを備えている。動画像復号装置１は、符号化データ＃１を復号することによって動画像＃２を生成するための装置である。
【０１１３】
（可変長符号復号部１１）
図８は、可変長符号復号部１１の要部構成を示すブロック図である。図８に示すように、可変長符号復号部１１は、量子化残差情報復号部１１１、予測パラメータ復号部１１２、予測タイプ情報復号部１１３、および、フィルタパラメータ復号部１１４を備えている。
【０１１４】
可変長符号復号部１１は、予測パラメータ復号部１１２にて、各パーティションに関する予測パラメータＰＰを、符号化データ＃１から復号し、予測画像生成部１２に供給する。具体的には、予測パラメータ復号部１１２は、インター予測パーティションに関しては、参照画像インデックス、推定動きベクトルインデックス、及び、動きベクトル残差を含むインター予測パラメータＰＰ＿Ｉｎｔｅｒを符号化データ＃１から復号し、これらを動きベクトル復元部１２ａに供給する。一方、イントラ予測パーティションに関しては、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスを含むイントラ予測パラメータＰＰ＿Ｉｎｔｒａを符号化データ＃１から復号し、これらをイントラ予測画像生成部１２ｃに供給する。
【０１１５】
また、可変長符号復号部１１は、予測タイプ情報復号部１１３にて、各パーティションについての予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅを符号化データ＃１から復号し、これを予測方式決定部１２ｄに供給する。更に、可変長符号復号部１１は、量子化残差情報復号部１１１にて、ブロックに関する量子化残差情報ＱＤ、及び、そのブロックを含むＴＵに関する量子化パラメータ差分Δｑｐを符号化データ＃１から復号し、これらを逆量子化・逆変換部１３に供給する。また、可変長符号復号部１１は、フィルタパラメータ復号部１１４にて、符号化データ＃１からフィルタパラメータＦＰを復号し、これをループフィルタ１６に供給する。なお、量子化残差情報復号部１１１の具体的な構成については後述するためここでは説明を省略する。
【０１１６】
（予測画像生成部１２）
予測画像生成部１２は、各パーティションについての予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを識別する。そして、前者の場合には、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを生成すると共に、生成したインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器１４に供給し、後者の場合には、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成すると共に、生成したイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを加算器１４に供給する。なお、予測画像生成部１２は、処理対象ＰＵに対してスキップモードが適用されている場合には、当該ＰＵに属する他のパラメータの復号を省略する。
【０１１７】
（動きベクトル復元部１２ａ）
動きベクトル復元部１２ａは、各インター予測パーティションに関する動きベクトルｍｖを、そのパーティションに関する動きベクトル残差と、他のパーティションに関する復元済みの動きベクトルｍｖ’とから復元する。具体的には、（１）推定動きベクトルインデックスにより指定される推定方法に従って、復元済みの動きベクトルｍｖ’から推定動きベクトルを導出し、（２）導出した推定動きベクトルと動きベクトル残差とを加算することによって動きベクトルｍｖを得る。なお、他のパーティションに関する復元済みの動きベクトルｍｖ’は、フレームメモリ１５から読み出すことができる。動きベクトル復元部１２ａは、復元した動きベクトルｍｖを、対応する参照画像インデックスＲＩと共に、インター予測画像生成部１２ｂに供給する。
【０１１８】
（インター予測画像生成部１２ｂ）
インター予測画像生成部１２ｂは、画面間予測によって、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル復元部１２ａから供給された動きベクトルｍｖを用いて、同じく動きベクトル復元部１２ａから供給された参照画像インデックスＲＩによって指定される適応フィルタ済復号画像Ｐ＿ＡＬＦ’から動き補償画像ｍｃを生成する。ここで、適応フィルタ済復号画像Ｐ＿ＡＬＦ’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ１６によるフィルタ処理を施すことによって得られる画像であり、インター予測画像生成部１２ｂは、適応フィルタ済復号画像Ｐ＿ＡＬＦ’を構成する各画素の画素値をフレームメモリ１５から読み出すことができる。インター予測画像生成部１２ｂによって生成された動き補償画像ｍｃは、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒとして予測方式決定部１２ｄに供給される。
【０１１９】
（イントラ予測画像生成部１２ｃ）
イントラ予測画像生成部１２ｃは、各イントラ予測パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、まず、可変長符号復号部１１から供給されたイントラ予測パラメータＰＰ＿Ｉｎｔｒａに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。
【０１２０】
ここで、イントラ予測パラメータＰＰ＿Ｉｎｔｒａに基づく予測モードの特定は、以下のように行うことができる。（１）推定予測モードフラグを復号し、当該推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一であることを示している場合には、対象パーティションに対して、当該対象パーティションの周辺のパーティションに割り付けられた予測モードを割り付ける。（２）一方で、推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一でないことを示している場合には、残余予測モードインデックスを復号し、当該残余予測モードインデックスの示す予測モードを対象パーティションに対して割り付ける。
【０１２１】
イントラ予測画像生成部１２ｃは、対象パーティションに割り付けられた予測モードの示す予測方法に従って、画面内予測によって、（局所）復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部１２ｃによって生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａは、予測方式決定部１２ｄに供給される。なお、イントラ予測画像生成部１２ｃは、画面内予測によって、適応フィルタ済復号画像Ｐ＿ＡＬＦから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する構成とすることも可能である。
【０１２２】
（予測方式決定部１２ｄ）
予測方式決定部１２ｄは、各パーティションが属するＰＵについての予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部１２ｂにて生成されたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器１４に供給し、後者の場合には、イントラ予測画像生成部１２ｃにて生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器１４に供給する。
【０１２３】
（逆量子化・逆変換部１３）
逆量子化・逆変換部１３は、（１）符号化データ＃１の量子化残差情報ＱＤから復号された変換係数Ｃｏｅｆｆを逆量子化し、（２）逆量子化によって得られた変換係数Ｃｏｅｆｆ＿ＩＱに対して逆ＤＣＴ（Discrete Cosine Transform）変換等の逆周波数変換を施し、（３）逆周波数変換によって得られた予測残差Ｄを加算器１４に供給する。なお、量子化残差情報ＱＤから復号された変換係数Ｃｏｅｆｆを逆量子化する際に、逆量子化・逆変換部１３は、可変長符号復号部１１から供給された量子化パラメータ差分Δｑｐから量子化ステップＱＰを導出する。量子化パラメータｑｐは、直前に逆量子化及び逆周波数変換したＴＵに関する量子化パラメータｑｐ’に量子化パラメータ差分Δｑｐを加算することによって導出でき、量子化ステップＱＰは、量子化ステップｑｐから例えばＱＰ＝２ｐｑ／６によって導出できる。また、逆量子化・逆変換部１３による予測残差Ｄの生成は、ＴＵあるいはＴＵを分割したブロックを単位として行われる。
【０１２４】
なお、逆量子化・逆変換部１３によって行われる逆ＤＣＴ変換は、例えば、対象ブロックのサイズが８×８画素である場合、当該対象ブロックにおける画素の位置を（ｉ、ｊ）（０≦ｉ≦７、０≦ｊ≦７）とし、位置（ｉ、ｊ）における予測残差Ｄの値をＤ（ｉ、ｊ）と表すことにし、周波数成分（ｕ、ｖ）（０≦ｕ≦７、０≦ｖ≦７）における逆量子化された変換係数をＣｏｅｆｆ＿ＩＱ（ｕ、ｖ）を表すことにすると、例えば、以下の数式（１）によって与えられる。
【数１】
0006560702.tif 000002
ここで、（ｕ、ｖ）は、上述した（ｘＣ、ｙＣ）に対応する変数である。Ｃ（ｕ）およびＣ（ｖ）は、以下のように与えられる。
【０１２５】
・Ｃ（ｕ）＝１／√２  （ｕ＝０）
・Ｃ（ｕ）＝１        （ｕ≠０）
・Ｃ（ｖ）＝１／√２  （ｖ＝０）
・Ｃ（ｖ）＝１        （ｖ≠０）
（加算器１４）
加算器１４は、予測画像生成部１２から供給された予測画像Ｐｒｅｄと、逆量子化・逆変換部１３から供給された予測残差Ｄとを加算することによって復号画像Ｐを生成する。生成された復号画像Ｐは、フレームメモリ１５に格納される。
【０１２６】
（ループフィルタ１６）
ループフィルタ１６は、（１）復号画像Ｐにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化（デブロック処理）を行うデブロッキングフィルタ（DF:Deblocking Filter）としての機能と、（２）デブロッキングフィルタが作用した画像に対して、フィルタパラメータＦＰを用いて適応フィルタ処理を行う適応フィルタ（ALF:Adaptive Loop Filter）としての機能とを有している。
【０１２７】
（量子化残差情報復号部１１１）
量子化残差情報復号部１１１は、符号化データ＃１に含まれる量子化残差情報ＱＤから、各周波数成分（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）についての量子化された変換係数Ｃｏｅｆｆ（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を復号するための構成である。ここで、ｕｉＰｏｓＸおよびｕｉＰｏｓＹは、周波数領域における各周波数成分の位置を表すインデックスであり、それぞれ、上述した水平方向周波数ｕおよび垂直方向周波数ｖに対応するインデックスである。また、量子化残差情報ＱＤに含まれる各種のシンタックスは、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ：（Context-based Adaptive Binary Arithmetic Coding））によって符号化されている。なお、以下では、量子化された変換係数Ｃｏｅｆｆを、単に、変換係数Ｃｏｅｆｆと呼ぶこともある。
【０１２８】
図１は、量子化残差情報復号部１１１の構成を示すブロック図である。図１に示すように、量子化残差情報復号部１１１は、変換係数復号部１２０及び算術符号復号部１３０を備えている。
【０１２９】
（算術符号復号部１３０）
算術符号復号部１３０は、量子化残差情報ＱＤに含まれる各ビットをコンテキストを参照して復号するための構成であり、図１に示すように、コンテキスト記録更新部１３１及びビット復号部１３２を備えている。
【０１３０】
（コンテキスト記録更新部１３１）
コンテキスト記録更新部１３１は、各コンテキストインデックスctxIdxによって管理されるコンテキスト変数ＣＶを記録及び更新するための構成である。ここで、コンテキスト変数ＣＶには、（１）発生確率が高い優勢シンボルＭＰＳ（most probable symbol）と、（２）その優勢シンボルＭＰＳの発生確率を指定する確率状態インデックスpStateIdxとが含まれている。
【０１３１】
コンテキスト記録更新部１３１は、変換係数復号部１２０の備える各部から供給されるコンテキストインデックスctxIdx及びビット復号部１３２によって復号されたＢｉｎの値を参照することによってコンテキスト変数ＣＶを更新すると共に、更新されたコンテキスト変数ＣＶを次回更新されるまで記録する。なお、優勢シンボルＭＰＳは０か１である。また、優勢シンボルＭＰＳと確率状態インデックスpStateIdxは、ビット復号部１３２がＢｉｎを１つ復号する毎に更新される。
【０１３２】
また、コンテキストインデックスctxIdxは、各周波数成分についてのコンテキストを直接指定するものであってもよいし、処理対象のＴＵ毎に設定されるコンテキストインデックスのオフセットからの増分値であってもよい（以下同様）。
【０１３３】
なお、ＣＡＢＡＣの復号では上記処理の他に、バイパス（Bypass）と呼ばれる復号処理を用いることができる。バイパスの場合には、コンテキスト変数ＣＶを用いず、確率０．５を仮定して復号を行う。この場合、コンテキスト変数ＣＶの備える状態の更新は不要になり、コンテキストのアップデートに伴う遅延を削減することができる。なお、バイパスを使用するか否かは、ctxIdxが負の場合にバイパス、ctxIdxが非負の場合には、ctxIdxに応じてＣＶを選択する非バイパスとして動作させればよい。なお、バイパスで復号処理された符号を、コンテキストを用いないＣＡＢＡＣの算術符号とも呼ぶ。なお、バイパスはＥＰ符号化（等確率、Equal Probability符号化）とも呼ばれることがある。
【０１３４】
（ビット復号部１３２）
ビット復号部１３２は、コンテキスト記録更新部１３１に記録されているコンテキスト変数ＣＶを参照し、量子化残差情報ＱＤに含まれる各ビット（Ｂｉｎとも呼ぶ）を復号する。また、復号して得られたＢｉｎの値を変換係数復号部１２０の備える各部に供給する。また、復号して得られたＢｉｎの値は、コンテキスト記録更新部１３１にも供給され、コンテキスト変数ＣＶを更新するために参照される。
【０１３５】
なお、通常ビット復号部は、コンテキスト変数ＣＶの状態に応じて１ビット単位で復号処理を行うが、バイパスの場合には、複数ビットを同時に復号することができる。１サイクルで複数ビットを復号可能なバイパスは、スループットを大きく向上させることができる。
【０１３６】
（変換係数復号部１２０）
図１に示すように、変換係数復号部１２０は、ラスト位置復号部１２１、スキャン順テーブル格納部１２２、係数復号制御部１２３、係数有無フラグ復号部、係数値復号部１２５、復号係数記憶部１２６を備えている。
【０１３７】
（ラスト位置復号部１２１）
ラスト位置復号部１２１は、ビット復号部１３２より供給される復号ビット（Ｂｉｎ）を解釈し、シンタックス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は、コンテキスト記録更新部１３１に供給される。
【０１３８】
（スキャン順テーブル格納部１２２）
スキャン順テーブル格納部１２２には、処理対象のＴＵのサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。
【０１３９】
このようなスキャン順テーブルの一例としては、図５に示したScanOrderが挙げられる。図５に示したScanOrderにおいて、log2TrafoSize-2は、処理対象のＴＵのサイズを表しており、scanIdxはスキャンインデックスを表しており、ｎは、スキャン順に沿って付与された周波数成分識別インデックスを表している。また、図５において、ｘＣ及びｙＣは、処理対象の周波数成分の周波数領域における位置を表している。
【０１４０】
（係数復号制御部１２３）
係数復号制御部１２３は、量子化残差情報復号部１１１の備える各部における復号処理の順序を制御するための構成である。係数復号制御部１２３は、ラスト位置復号部１２１から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部１２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置（ｕｎｉＰｏｓＸ、ｕｎｉＰｏｓＹ）を、係数有無フラグ復号部に供給する。
【０１４１】
また、係数復号制御部１２３は、処理対象のＴＵのサイズ、すなわち、対象周波数領域のサイズを示すパラメータであるｓｚを、変換係数復号部１２０の備える各部に供給する（図示省略）。ここで、ｓｚは、具体的には、処理対象ＴＵの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表すパラメータである。
【０１４２】
なお、係数復号制御部１２３は、スキャン順テーブル格納部１２２に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置（ｕｎｉＰｏｓＸ、ｕｎｉＰｏｓＹ）を、係数有無フラグ復号部に供給する構成としてもよい。
【０１４３】
（係数値復号部１２５）
係数値復号部１２５は、ビット復号部１３２から供給される各Ｂｉｎを解釈し、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_minus3を復号すると共に、これらのシンタックスを復号した結果に基づき、処理対象の周波数成分における変換係数（より具体的には非０変換係数）の値を導出する。また、各種シンタックスの復号に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。導出された変換係数の値は、復号係数記憶部１２６に格納される。
【０１４４】
（復号係数記憶部１２６）
復号係数記憶部１２６は、係数値復号部１２５によって復号された変換係数の各値を記憶しておくための構成である。また、復号係数記憶部１２６には、係数有無フラグ復号部によって復号されたシンタックスsignificant_coeff_flagの各値が記憶される。復号係数記憶部１２６によって記憶されている変換係数の各値は、逆量子化・逆変換部１３に供給される。
【０１４５】
（係数有無フラグ復号部）
本実施形態に係る係数有無フラグ復号部は、周波数領域を、周波数の大きさに応じて１または複数の部分領域に分類し、部分領域毎に定められた導出方法によってコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを用いて非０変換係数の有無を示すシンタックスsignificant_coeff_flagを復号するための構成である。
【０１４６】
＜係数有無フラグ復号部の第１の構成例＞
図１には、本実施形態に係る係数有無フラグ復号部の第１の構成例としての係数有無フラグ復号部１２４が示されている。
【０１４７】
図１に示すように、本構成例に係る係数有無フラグ復号部１２４は、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、高周波位置コンテキスト導出部１２４ｄを備えている。
【０１４８】
（周波数分類部１２４ａ）
周波数分類部１２４ａは、周波数領域における復号対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、及び高周波位置コンテキスト導出部１２４ｄの何れかによって導出されたコンテキストインデックスctxIdxを、当該復号対象の周波数成分に割り付けるための構成である。
【０１４９】
本構成例に係る周波数分類部１２４ａは、周波数領域に含まれる各周波数成分の当該周波数領域における位置（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照し、当該周波数成分を複数の部分領域Ｒ０〜Ｒ３に分類する。ここで、ｕｉＰｏｓＸ＝０、１、．．．、ｓｚ−１であり、ｕｉＰｏｓＹ＝０、１、．．．、ｓｚ−１であるとする（ｓｚは、上述のように処理対象ＴＵの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表しており、例えば、ｓｚ＝１６，３２等である）。
【０１５０】
周波数分類部１２４ａは、より具体的には、以下の分類処理を行う。
【０１５１】
・ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜２を満たす周波数成分を部分領域Ｒ０に分類する。
【０１５２】
・２≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ１を満たす周波数成分を部分領域Ｒ１に分類する。
【０１５３】
・ＴＨ１≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ２を満たす周波数成分を部分領域Ｒ２に分類する。
【０１５４】
・ＴＨ２≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹを満たす周波数成分を部分領域Ｒ３に分類する。
【０１５５】
ここで、ＴＨ１及びＴＨ２は、ＴＨ１＜ＴＨ２を満たす閾値を表している。具体的な値としては、例えば、周波数領域のサイズ（処理対象ＴＵのサイズ）に関わらず、ＴＨ１＝５、ＴＨ２＝１４とすればよい。また、周波数領域のサイズが１６×１６である場合、ＴＨ１＝５、ＴＨ２＝１４とし、周波数領域のサイズが３２×３２である場合、ＴＨ１＝５、ＴＨ２＝３０としてもよい。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
【０１５６】
図９は、本構成例に係る周波数分類部１２４ａによる分類処理によって、部分領域Ｒ０、Ｒ１、Ｒ２、及びＲ３に分割された周波数領域の一例を示している。
【０１５７】
また、周波数分類部１２４ａは、部分領域Ｒ０に属する周波数成分に対して、低周波位置コンテキスト導出部１２４ｂによって導出されたコンテキストインデックスを割り付け、部分領域Ｒ１及びＲ２に属する周波数成分に対して、周辺参照コンテキスト導出部１２４ｃによって導出されたコンテキストインデックスを割り付け、部分領域Ｒ３に属する周波数成分に対して、高周波位置コンテキスト導出部１２４ｄによって導出されたコンテキストインデックスを割り付ける。
【０１５８】
なお、ＴＨ２の値を、ｓｚ−２以下とすることは、周辺参照コンテキスト導出部１２４ｃにおいて、後述するように、対象周波数成分の周辺の周波数成分が参照可能か否かの判定を省略することができるため好ましい。換言すれば、周辺参照コンテキストの導出に用いる全ての参照画素が処理対象ＴＵの内部に収まるような周波数成分に関しては周辺参照コンテキストを用い、そうでない周波数成分に関しては位置コンテキストを用いることが好ましい。
【０１５９】
なお、ＴＨ２の値をｓｚ−２とするのが好適であるのは、周辺の周波数成分が対象の位置として２だけ離れた位置の成分も用いる場合である。限定参照カウントの算出方法の説明で後述するように、周辺の周波数成分が対象の位置から１だけ離れた位置の成分を用いる場合にはＴＨ２の値をｓｚ−１とすれば良い。
【０１６０】
なお、発明者の実験によると、実施形態１で説明する位置コンテキスト場合には、高い符号化効率を得るためには、ＴＨ２の値をｓｚ以上とすることが好ましい。
【０１６１】
また、発明者の実験によると、実施形態３で説明する限定参照カウントを利用した周辺参照コンテキストの場合には、ＴＨ２の値をｓｚ−２以下とすることが可能であり好ましい。なお、ｓｚ−２とする場合には、ＴＨ２を、ｓｚ−２で求める方法の他、ｓｚ×７＞＞３のように積和で求めることもできる。
【０１６２】
なお、閾値の値は、ｓｚ毎に定まるテーブルを参照することにより求める構成とすることができる。例えば、サイズの対数log2(sz)の値は、周波数領域のサイズが１６×１６の場合に４、３２×３２の場合に５となるが、以下のテーブルtableTH2[]を、サイズの対数の値で参照することにより定数ＴＨ２を算出できる。
【０１６３】
tableTH2[] = {0, 0, 0, 0, 14, 30}
ＴＨ２＝ table[log2(sz)]
閾値をｓｚサイズから計算で求める場合には、テーブルを削減できることが可能である。例えば、ＴＨ２＝ｓｚ−２のように、サイズと所定の定数との差もしくは和で計算する方法や、ＴＨ２＝ｓｚ×7/8、ＴＨ２＝ｓｚ×７＞＞３のように、サイズと定数の積および除算、シフトにより求める方法が望ましい。
【０１６４】
また、上記の説明においては、周波数分類部１２４ａが、対象周波数成分の位置として（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照するものとしたが、本実施形態はこれに限定されるものではない。例えば、対象周波数成分の位置として、順スキャン順または逆スキャン順に沿って付与された周波数成分識別インデックス（例えば図５における「ｎ」）を参照し、対象周波数成分を複数の部分領域の何れかに分類する構成としてもよい。
【０１６５】
また、周波数分類部１２４ａは、算術符号復号部１３０でシンタックスsignificant_coeff_flagを復号するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部１２６に格納され、係数値復号部１２５によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。
【０１６６】
（低周波位置コンテキスト導出部１２４ｂ）
低周波位置コンテキスト導出部１２４ｂは、復号対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出するための構成である。本明細書において、対象周波数成分の位置に基づいて導出された、或いは導出するコンテキストを「位置コンテキスト」とも表現する。位置コンテキストは、ある変換係数の位置の係数有無フラグのコンテキストを、既に復号された係数有無フラグの値によらずに決定されるものであるため、係数有無フラグのコンテキスト導出と、係数有無フラグの復号を並列で行うことができるという効果がある。
【０１６７】
本構成例に係る低周波位置コンテキスト導出部１２４ｂは、部分領域Ｒ０に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部１２４ａに供給する。
【０１６８】
ｃｔｘＩｄｘ＝ＮＸ＋２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹ
なお、ＮＸはコンテキストインデックスの開始点を表す定数である。周波数領域のサイズが４×４及び８×８で用いるコンテキスト数が各々Ｎ４個、Ｎ８個の場合には、周波数領域のサイズが１６×１６および３２×３２の開始点はＮＸ＝Ｎ４＋Ｎ８になる。
【０１６９】
なお、位置コンテキスト導出部のコンテキストインデックスは固定値であっても構わない。すなわち、位置コンテキストを用いて割り当てられる部分領域に含まれる全ての周波数成分の位置に対して一つのコンテキストを割り当てても良い。例えば、以下の割り当て方を行っても良い。
【０１７０】
ｃｔｘＩｄｘ＝ＮＸ
なお、固定値（開始点ＮＸ）は、色コンポーネントや周波数領域のサイズに応じて選択しても良い。
【０１７１】
以降に説明する他の構成においても、コンテキストインデックスを固定値で導出するコンテキスト導出部を含めて、位置コンテキスト導出部と呼ぶ。実際、変換係数の位置に応じて、部分領域の分類を行った上で、ある部分領域においてコンテキストインデックスに固定値を割り当てる方法は、位置に応じてコンテキストを割り当てている、という意味で位置コンテキストと呼べる。
【０１７２】
（周辺参照コンテキスト導出部１２４ｃ）
周辺参照コンテキスト導出部１２４ｃは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非０変換係数の数に基づいて導出するための構成である。本明細書において、対象周波数成分の周辺の周波数成分について復号済みの非０変換係数を参照して導出された、或いは導出するコンテキストを「周辺参照コンテキスト」とも表現する。
【０１７３】
本構成例に係る周辺参照コンテキスト導出部１２４ｃは、部分領域Ｒ１に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部１２４ａに供給する。
【０１７４】
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（４、ｃｎｔ）
ここでは、カウント数ｃｎｔを固定値（ここでは４）にクリップする処理によって多対一変換処理を行っている。
【０１７５】
ここで部分領域Ｒ１のコンテキストインデックスの開始点がＮＸ＋３であるのは、以下の理由による。部分領域Ｒ１の開始点からのオフセット２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹの値域が０、１、２であることから、ＮＸ、ＮＸ＋１、ＮＸ＋２が部分領域Ｒ１で使用されているため、Ｒ１とＲ０のコンテキストが重ならないように、Ｒ１の開始点を定めている。以後、特に断らない限り、部分領域ＲＮ＋１の開始点は、部分領域ＲＮの開始点と部分領域ＲＮのオフセットの閾値の最大値＋１に設定することとする。これにより、２つの部分領域でコンテキストが重ならないようにすることができる。
【０１７６】
また、本構成例に係る辺参照コンテキスト導出部１２４ｃは、部分領域Ｒ２に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部１２４ａに供給する。
【０１７７】
ｃｔｘＩｄｘ＝ＮＸ＋８＋ｍｉｎ（４、ｃｎｔ）
ここで、ｍｉｎ（Ａ、Ｂ）は、Ａ及びＢのうち最小のものの値をとる関数である。すなわち、Ａ＜Ｂであれば、ｍｉｎ（Ａ、Ｂ）＝Ａである。また、ｃｎｔは、対象周波数成分の周辺の周波数成分について復号された非０変換係数の数（カウント数）を表している。図１０（ａ）は、処理順序が逆スキャン順である場合の対象周波数成分ｘと、対象周波数成分ｘの位置周辺に設定された参照領域ＲＲに含まれる周波数成分である参照周波数成分ｃ１〜ｃ５とを表している。図１０（ａ）に示すように、参照周波数成分の各々について復号された変換係数の値をｃ１〜ｃ５と表すことにすると、対象周波数成分ｘについてのｃｎｔは、例えば以下の式によって導出することができる。
【０１７８】
ｃｎｔ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ３！＝０）＋（ｃ４！＝０）＋（ｃ５！＝０）
ここで、各項は、（）内の引数が真である場合に１をとり、（）内の引数が偽である場合に０をとるものとする。
【０１７９】
図１０（ｂ）は、処理順序が順スキャン順である場合の対象周波数成分ｘと、対象周波数成分ｘの位置周辺に設定された参照領域ＲＲに含まれる周波数成分である参照周波数成分ｃ１〜ｃ５とを表している。ｃｎｔを算出する式は上記と同様である。図１０（ｂ）に示すように、順スキャンの場合の参照周波数成分の位置は、逆スキャンの場合の参照周波数成分の各々の位置を、対象周波数成分ｘに対して、Ｘ軸方向およびＹ軸方向に反転することにより求められる。
【０１８０】
また、図１０（ｃ）に示すように、参照周波数成分の何れかが周波数領域の外部にはみ出した場合、すなわち、参照領域の一部が対象周波数領域の外側にはみ出した場合、当該外部にはみ出した周波数成分を参照不能であると判定し、当該周波数成分についての変換係数の値は０であるとして取り扱う。すなわち、図１０（ｃ）に示す例の場合、ｃ２＝０であるとして取り扱う。
【０１８１】
（高周波位置コンテキスト導出部１２４ｄ）
高周波位置コンテキスト導出部１２４ｄは、復号対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出するための構成である。
【０１８２】
本構成例に係る高周波位置コンテキスト導出部１２４ｄは、部分領域Ｒ３に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部１２４ａに供給する。
【０１８３】
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（ｍａｘＲ３、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−ＴＨ２）＞＞ｓｈｉｆｔ）
ここで、記号「＞＞」は、右ビットシフトを表している。また、ｓｈｉｆｔ及びｍａｘＲ３としては、例えば、ｓｈｉｆｔ＝４、ｍａｘＲ３＝３を用いればよいが本実施形態はこれに限定されるものではない。
【０１８４】
また、本構成例に係る低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、及び高周波位置コンテキスト導出部１２４ｄは、対象周波数領域のサイズが１６×１６及び３２×３２の何れであっても、共通の式を用いてコンテキストインデックスctxIdxを導出する構成としてもよいし、対象周波数領域のサイズが１６×１６であるのか３２×３２であるのかに応じて、異なる式を用いてコンテキストインデックスctxIdxを導出する構成としてもよい。このような構成の一例としては、高周波位置コンテキスト導出部１２４ｄが、
対象周波数領域のサイズが１６×１６である場合：
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（ｍａｘＲ３、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−ＴＨ２）＞＞ｓｈｉｆｔ）
を用い、
対象周波数領域のサイズが３２×３２である場合：
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍａｘＲ３＋１＋ｍｉｎ（ｍａｘＲ３、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−ＴＨ２）＞＞ｓｈｉｆｔ）
を用いる構成が挙げられる。
【０１８５】
また、他の例としては、高周波位置コンテキスト導出部１２４ｄが、
対象周波数領域のサイズが１６×１６である場合：
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（３、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−１４）＞＞４）
を用い、
対象周波数領域のサイズが３２×３２である場合：、
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（３、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−３０）＞＞４）
を用いる構成が挙げられる。
【０１８６】
更に他の例としては、高周波位置コンテキスト導出部１２４ｄが、
対象周波数領域のサイズが１６×１６である場合：
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（３、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−ＴＨ２）＞＞３）
を用い、
対象周波数領域のサイズが３２×３２である場合：
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（３、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−ＴＨ２）＞＞４）
を用いる構成が挙げられる。
【０１８７】
更に他の例としては、高周波位置コンテキスト導出部１２４ｄが、
対象周波数領域のサイズが１６×１６である場合：
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（Ｒ３ｍａｚ、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−ＴＨ２）＞＞３）
を用い、
対象周波数領域のサイズが３２×３２である場合：
ｃｔｘＩｄｘ＝ＮＸ＋１３＋Ｒ３ｍａｘ＋１＋ｍｉｎ（Ｒ３ｍａｘ、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−ＴＨ２）＞＞４）
を用いる構成が挙げられる。
【０１８８】
また、低周波位置コンテキスト導出部１２４ｂ、及び高周波位置コンテキスト導出部１２４ｄが、周波数領域のサイズ毎に異なる式を用いてコンテキストインデックスctxIdxを導出する構成とし、周辺参照コンテキスト導出部１２４ｃが、異なるサイズの周波数領域に対して共通の式を用いてコンテキストインデックスctxIdxを導出する構成としてもよい。
【０１８９】
なお、本構成例に係る周波数分類部１２４ａによる分類処理によって、分割される周波数領域の例は、図９に示すものに限定されるものではなく、例えば、図１１（ａ）及び（ｂ）に示すように周波数領域を分割してもよい。
【０１９０】
なお、位置コンテキスト導出部のコンテキストインデックスは固定値であっても構わない。すなわち、位置コンテキストを用いて割り当てられる部分領域の全ての周波数上の位置に対して一つのコンテキストを割り当てても良い。例えば、以下の割り当て方についても位置コンテキスト導出部と呼ぶ。
【０１９１】
ｃｔｘＩｄｘ＝ＮＸ
なお、固定値（開始点ＮＸ）は、色コンポーネントや周波数領域のサイズに応じて選択しても良い。
【０１９２】
図１１（ａ）に示す例においては、周波数領域は、部分領域Ｒ０、Ｒ１、及びＲ３に分類される。部分領域Ｒ０、Ｒ１、及びＲ３に属する周波数成分に対しては、上述したように、それぞれ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ及び高周波位置コンテキスト導出部１２４ｄによってコンテキストインデックスctxIdxが算出される。
【０１９３】
また、図１１（ｂ）に示す例においては、周波数領域は、部分領域Ｒ１及びＲ３に分類される。部分領域Ｒ１及びＲ３に属する周波数成分に対して、上述したように、それぞれ、周辺参照コンテキスト導出部１２４ｃ及び高周波位置コンテキスト導出部１２４ｄによってコンテキストインデックスctxIdxが算出される。
【０１９４】
以上のように、本構成例に係る係数有無フラグ復号部によれば、対象周波数領域における上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０１９５】
＜係数有無フラグ復号部の第２の構成例＞
本実施形態に係る係数有無フラグ復号部の第２の構成例について、図１２、１３を参照して説明する。図１２は、本構成例に係る係数有無フラグ復号部１２４−１の構成を示すブロック図である。また、図１３は、非０変換係数カウント部１２４ｆが非０変換係数の数をカウントするスキャン列を説明するための図である。
【０１９６】
図１２に示すように、本構成例に係る係数有無フラグ復号部１２４−１は、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、前スキャン列コンテキスト導出部１２４ｅを備え、さらに前スキャン列コンテキスト導出部１２４ｅには非０変換係数カウント部１２４ｆが備えられている。なお、上記第１の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０１９７】
本構成例において、上記第１の構成例と異なるのは、部分領域Ｒ３に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法である。
【０１９８】
したがって、本構成例においても、部分領域Ｒ０に属する周波数成分に対しては、上記第１の構成例と同様に、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０１９９】
ｃｔｘＩｄｘ＝ＮＸ＋２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹ
また、部分領域Ｒ１に属する周波数成分に対しては、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０２００】
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（４、ｃｎｔ）
また、部分領域Ｒ２に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０２０１】
ｃｔｘＩｄｘ＝ＮＸ＋８＋ｍｉｎ（４、ｃｎｔ）
一方、部分領域Ｒ３に属する周波数成分に対しては、前スキャン列コンテキスト導出部１２４ｅが以下の方法により、コンテキストインデックスctxIdxを導出する。
【０２０２】
（前スキャン列コンテキスト導出部１２４ｅ）
前スキャン列コンテキスト導出部１２４ｅは、復号対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、スキャン順で１つ前のスキャン列に含まれる非０変換係数の数に基づいて導出するための構成である。
【０２０３】
また前スキャン列コンテキスト導出部１２４ｅに含まれる非０変換係数カウント部１２４ｆは、１つ前のスキャン列において出現した非０変換係数の数を計数する構成である。
【０２０４】
本構成例に係る前スキャン列コンテキスト導出部１２４ｅは、部分領域Ｒ３に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部１２４ａに供給する。
【０２０５】
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（ｍａｘＲ３、ｌａｓｔ_ｃｎｔ×ｌｉｎｅｔｂｌ［ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ］＞＞ｓｈｉｆｔ）
ここで、ｌａｓｔ_ｃｎｔは、１つ前のスキャン列において出現した非０変換係数の数を示している。また、ｌｉｎｅｔｂｌは、スキャン列によって存在する非０変換係数の数が異なることから、非０変換係数の数を正規化するための係数テーブルであり、以下の式により生成される。
【０２０６】
ｌｉｎｅｔｂｌ（ｘ）＝２ｓｈｉｆｔ１／（ｘ＋１）  （ｘ＜ｓｚ）
ｌｉｎｅｔｂｌ（ｘ）＝２ｓｈｉｆｔ１／（２×ｓｚ−ｘ−１）  （ｘ≧ｓｚ）
また、ｓｈｉｆｔ＝ｓｈｉｆｔ１＋２であり、例えば、ｓｈｉｆｔ１＝３である（以下同様）。
【０２０７】
また、本構成例に係る非０変換係数カウント部１２４ｆは、スキャン順が逆スキャンの場合であって、対象周波数成分が属するスキャン列Ｌｘ（図１３（ａ））を処理する場合に、前のスキャン列Ｌｘ＋１で発生した非０変換係数の数last_cntをカウントする。なお、順スキャンの場合は、Ｌｘ−１のラインで発生した非０変換係数の数をカウントすることになる。
【０２０８】
また、前スキャン列コンテキスト導出部１２４ｅは、１つ前のスキャン列において出現した非０変換係数の数ではなく、１つ前のスキャン列以前において出現した非０変換係数の数を用いる構成であってもよい。例えば、last_cntを、現スキャン列の非０変換係数の数curr_cntに、１つ前のスキャン列において用いたlast_cnt´に重みをかけた値last_cnt´＞＞１を加えて求める構成であってもよい。具体的な式としては、
ｌａｓｔ_ｃｎｔ＝（ｌａｓｔ_ｃｎｔ´＞＞１）＋ｃｕｒｒ_ｃｎｔ
となる。
【０２０９】
また、前スキャン列コンテキスト導出部１２４ｅは、周波数成分の位置に応じて、異なる方法によりコンテキストインデックスctxIdxを導出する構成であってもよい。
【０２１０】
例えば、周波数成分の位置が、ｕｉＰｏｓＸ＞ｕｉＰｏｓＹを満たす場合は、下記の式によってコンテキストインデックスctxIdxを導出する。
【０２１１】
ＣｔｘＩｄｘ＝１３＋ｍｉｎ（ｍａｘＲ３，ｌａｓｔ_ｃｎｔｘ×ｌｉｎｅｔｂｌ［ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ］＞＞ｓｈｉｆｔ）
一方、周波数成分の位置が、ｕｉＰｏｓＸ≦ｕｉＰｏｓＹを満たす場合は、下記の式によりコンテキストインデックスctxIdxを導出する。
【０２１２】
ＣｔｘＩｄｘ＝ＮＸ＋１３＋ｍａｘＲ３＋１＋ｍｉｎ（ｍａｘＲ３，ｌａｓｔ_ｃｎｔｙ×ｌｉｎｅｔｂｌ［ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ］＞＞ｓｈｉｆｔ）
ここで、ｌａｓｔ_ｃｎｔｘは、ｕｉＰｏｓＸ＞ｕｉＰｏｓＹを満たす、１つ前のスキャン列で出現した非０変換係数の数であり、ｌａｓｔ_ｃｎｔｙは、ｕｉＰｏｓＸ≦ｕｉＰｏｓＹと満たす、１つ前のスキャン列で出現した非０変換係数の数である。すなわち、１つ前のスキャン列のうち、中央より右上方向のスキャン列がｌａｓｔ_ｃｎｔｘのカウントの対象となり、中央より左下方向のスキャン列がｌａｓｔ_ｃｎｔｙのカウントの対象となる（図１３（ｂ））。
【０２１３】
また、ｓｈｉｆｔ＝ｓｈｉｆｔ１＋１である。
【０２１４】
さらに、前スキャン列コンテキスト導出部１２４ｅは、以下の式によりコンテキストインデックスctxIdxを導出する構成であってもよい。
【０２１５】
ＣｔｘＩｄｘ＝１３＋ｍｉｎ（ｍａｘＲ３，ｌａｓｔ_ｃｎｔ＞＞ｓｈｉｆｔｔｂｌ［ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＋１］）
ここで、
ｓｈｉｆｔｔｂｌ［ｋ］＝Ｉｎｔ（ｌｏｇ２（ｎｕｍＬｉｎｅＣｏｅｆｆ［ｋ］／ｍａｘＲ３））
であり、ｎｕｍＬｉｎｅＣｏｅｆｆ［ｋ］はｋの位置のスキャン列における非０変換係数の数である。また、Ｉｎｔは、引数の小数点以下を切り捨てることを示している。
【０２１６】
以上のように、本構成例に係る係数有無フラグ復号部によれば、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非０変換係数の数に基づいて導出する。ここで、前スキャン列に沿った非０変換係数の数は、一度カウントしておけば、現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを導出する際に共通に用いることができる。したがって、位置の異なる変換係数有無フラグに対して個別にコンテキストインデックスを導出する必要のある従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現することができる。
【０２１７】
＜係数有無フラグ復号部の第３の構成例＞
本実施形態に係る係数有無フラグ復号部の第３の構成例について、図１４、１５を参照して説明する。図１４は、本構成例に係る係数有無フラグ復号部１２４−２の構成を示すブロック図である。また、図１５（ａ）〜（ｉ）は、周辺参照コンテキスト導出部１２４ｇがコンテキストを導出するときに参照する周波数成分を示す図である。なお、図１０（ａ）と図１０（ｂ）の関係において既に示したように、図１５（ａ）〜（ｉ）の場合においても、対応する順スキャンの場合の参照周波数成分の位置は、逆スキャンの場合の参照周波数成分の各々の位置を、対象周波数成分ｘに対して、Ｘ軸方向およびＹ軸方向に反転することで求められる。そのため、本発明は、significant_coeff_flagを順スキャンで行う場合にも適用することができる。
【０２１８】
図１４に示すように、本構成例に係る係数有無フラグ復号部１２４−２は、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｇを備えている。なお、上記第１の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０２１９】
本構成例において、上記第１の構成例と異なるのは、部分領域Ｒ３に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法である。
【０２２０】
したがって、本構成例においても、部分領域Ｒ０に属する周波数成分に対しては、上記第１の構成例と同様に、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０２２１】
ｃｔｘＩｄｘ＝ＮＸ＋２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹ
また、部分領域Ｒ１に属する周波数成分に対しては、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０２２２】
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（４、ｃｎｔ）
また、部分領域Ｒ２に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０２２３】
ｃｔｘＩｄｘ＝ＮＸ＋８＋ｍｉｎ（４、ｃｎｔ）
一方、部分領域Ｒ３に属する周波数成分に対しては、周辺参照コンテキスト導出部１２４ｇが以下の方法により、コンテキストインデックスctxIdxを導出する。
【０２２４】
（周辺参照コンテキスト導出部１２４ｇ）
周辺参照コンテキスト導出部１２４ｇは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非０変換係数の数に基づいて導出するための構成である。
【０２２５】
周辺参照コンテキスト導出部１２４ｇは、低周波数の領域Ｒ１、Ｒ２で用いるｃｎｔよりも参照数の少ないｃｎｔ２（限定参照カウント）を用いて、部分領域Ｒ３に属する周波数成分に対して、以下の式によりコンテキストインデックスctxIdxを導出する。なお限定参照カウントとは、他の部分領域でも用いられるカウントよりも参照領域が小さく限定されていることを意味する。それに対して５点参照など通常のカウントｃｎｔの計算を通常参照カウントと呼ぶ。
【０２２６】
ＣｔｘＩｄｘ＝ＮＸ＋８＋ｃｎｔ２
また、ｃｎｔ２は、以下の式により算出する。
【０２２７】
ｃｎｔ２＝（ｃ１！＝０）＋（ｃ３！＝０）＋（ｃ４！＝０）
ここで、ｃ１、ｃ３、ｃ４は、図１５の（ｉ）に示す、対象周波数成分ｘの周辺の周波数成分について復号された変換係数である。
【０２２８】
なお、限定参照カウントｃｎｔ２の参照位置は上記によらず、５点よりも参照数が少ない別の参照位置を用いても良い。例えば、参照数が２の場合の一例は、
ｃｎｔ２＝（ｃ１！＝０）＋（ｃ３！＝０）
になる。
【０２２９】
さらに、対象周波数領域のサイズが１６×１６の場合は、周辺参照コンテキスト導出部１２４ｇは、
ＣｔｘＩｄｘ＝ＮＸ＋８＋ｃｎｔ２
を用いてコンテキストインデックスctxIdxを導出し、対象周波数領域のサイズが３２×３２の場合は、
ＣｔｘＩｄｘ＝ＮＸ＋８＋ｃｎｔ２
を用いて、コンテキストインデックスctxIdxを導出する。
【０２３０】
このように、低周波側に位置する領域の参照数よりも、高周波数側に位置する領域の参照数の方が少ないカウント数を用い、カウント数を領域毎に定まる開始点に加算して、コンテキストインデックスを求めることが好ましい。
【０２３１】
上記の例において、部分領域Ｒ３のコンテキストの開始点はＮＸ＋８であり、部分領域Ｒ２のコンテキストの開始点と等しい。これはカウント数ｃｎｔとｃｎｔ２が同じ値の場合には部分領域Ｒ２と部分領域Ｒ３とで同じコンテキストインデックスＣｔｘＩｄｘとなることを意味する。換言すれば、部分領域Ｒ２と部分領域Ｒ３は同じコンテキストを共有する。このように、異なる周波数領域に位置する領域間で同じコンテキストを共有する場合、先にスキャンする領域（significant_coeff_flagの符号化順が逆スキャンであればＲ３）で得られたコンテキストを、次にスキャンする領域（significant_coeff_flagの符号化順が逆スキャンであればＲ２）で利用することができるため高い符号化効率を実現できる。また、部分領域に分割した場合においても、コンテスト数を増加させることないため、コンテキストに伴うメモリを低減することができる。
【０２３２】
図１６は、対象周波数領域を構成する部分領域Ｒ０〜Ｒ３のうち、部分領域Ｒ２とＲ３とで一部のコンテキストを共有する場合を示している。より具体的には、部分領域Ｒ２で用いられる通常参照カウントと、部分領域Ｒ３で用いられる限定参照カウントとで同じコンテキストインデックス（ここではＮＸ＋８〜ＮＸ＋１１）で示されるコンテキストを共有することを示している。
【０２３３】
発明者の実験では、カウント数の小さい領域（部分領域Ｒ２）とカウント数の大きい領域（部分領域Ｒ３）で同一の開始点を用い、２つの領域でコンテキストを共有する方が、コンテキストを共有しない場合に比べて高い符号化効率を実現可能であることを確認している。なお、これら２つの領域でコンテキストを共有しない方法も実現可能である。この場合、部分領域Ｒ３において、
ＣｔｘＩｄｘ＝ＮＸ＋１３＋ｃｎｔ２
とする。
【０２３４】
以上のように、本構成例に係る周辺参照コンテキスト導出部１２４ｇは、部分領域毎に定まる所定の開始点（例えば、上記ＮＸ）と、上記部分領域毎に定まる変数（例えば上記ｃｎｔ２）とを加算することによってコンテキストインデックスを導出するものであり、上記変数の導出方法の異なる複数の部分領域について、開始点を同じ値に設定することにより、コンデキストインデックスの導出方法の異なる当該複数の部分領域において、共通のコンテキストを用いるものである。
【０２３５】
（係数有無フラグ復号部の第３の構成例の他の構成例）
以下では、係数有無フラグ復号部１２４−２による他の処理例について図４８〜図５０を参照して説明する。
【０２３６】
図４８（ａ）〜（ｂ）は、本処理例において、周波数分類部１２４ａによって分割された部分領域を示す図であり、図４８（ａ）は、輝度値に関する変換係数を復号する際に好適に適用されるものであり、図４８（ｂ）は、色差に関する変換係数を復号する際に好適に適用されるものである。図４８（ａ）〜（ｂ）において、閾値ＴＨ、閾値ＴＨ２は、以下の式により、対象周波数領域の幅と高さの最大値に応じて
ＴＨ＝Ｍａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）＞＞２
ＴＨ２＝３×Ｍａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）＞＞４
によって定められる。ここで、ｗｉｄｔｈは、周波数成分を単位として表現された対象周波数領域の幅を示しており、ｈｅｉｇｈｔは周波数成分を単位として表現された対象周波数領域の高さを示している。例えば１６×４変換と呼ばれる対象周波数領域の幅が１６成分（１６画素に対応）、高さが４成分（４画素に対応）であるとき、ｗｉｄｔｈ＝１６、ｈｅｉｇｈｔ＝４である。
【０２３７】
周波数分類部１２４ａは、図４９に示すように、対象変換係数の周波数成分上の位置（xC、yC）に応じて、以下の式のように、Ｘ座標とＹ座標の和と閾値ＴＨの比較を用いて、部分領域Ｒ１と部分領域Ｒ２を分類する。
【０２３８】
xC+yC < ＴＨ  （or xC+yC >= ＴＨ）
また、周波数分類部１２４ａは、図４９に示すように、対象変換係数の周波数成分上の位置（xC、yC）をあるサブブロックサイズ（ここでは４）で割った値（サブブロック座標）に応じて、以下の式のように、サブブロック座標でのＸ座標とＹ座標の和と閾値ＴＨ２の比較を用いて、互いに参照数の異なる部分領域Ｒ２と部分領域Ｒ３を分類する。
【０２３９】
(xC>>2)+(yC>>2) < ＴＨ２
ここで２つの部分領域を区別する閾値ＴＨ２は、ＴＨ２×サブブロックサイズ（＝４）が、対象周波数領域のサイズｓｚ（＝Ｍａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ））よりも小さいことを満たすことが好ましい。この場合、対象周波数成分の周辺の周波数成分が参照可能か否かの判定を省略することができる。例えば、
３×Ｍａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）＞＞４
はＭａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）×３／４であるため、この上記関係を満たす。
【０２４０】
また、ＴＨ２の値は、処理量削減と符号化効率削減のバランス上、Ｍａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）＞＞２（＞＞２はサブブロックサイズが４である場合に、サブブロックで割る処理）以下であることが好ましい。
【０２４１】
すなわち、上記対象周波数領域のサイズをｓｚと表すとき、処理量削減と符号化効率削減のバランス上は、上記閾値ＴＨおよびＴＨ２は、判定にＸ座標及びＹ座標の和を用いる場合にはｓｚ以下の値、サブブロックのＸ座標及びＹ座標の和を用いる場合には、ｓｚ／サブブロック以下の大きさを有することが好ましい。上記ＴＨ、ＴＨ２はこの関係を満たす。
【０２４２】
さらに、上記対象周波数領域のサイズをｓｚと表すとき、周辺の周波数成分が参照可能か否かの判定を省略するためには、上記閾値ＴＨおよびＴＨ２は、判定にＸ座標及びＹ座標の和を用いる場合にはｓｚ未満の値、サブブロックのＸ座標及びＹ座標の和を用いる場合には、ｓｚ／サブブロック未満の大きさを有することが好ましい。上記ＴＨ、ＴＨ２はこの関係を満たす。
【０２４３】
また、閾値は、対象周波数領域の大きさに応じて定めても良い。例えば、以下の式のように、対象周波数領域の幅と高さの最大値を右シフトした値、及び、右シフト後に所定の値を加算または減算した値を用いても良い
ＴＨ２＝３×Ｍａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）＞＞４
ＴＨ２＝（３×Ｍａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）＞＞４）＋４
図４９は、図４８（ａ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスであって、輝度に関するコンテキストインデックスｃｘｔＩｄｘを導出する導出処理を示す擬似コードである。図４９において、領域Ｒ０のコンテキスト導出は、位置コンテキスト導出部１２４ｂによって行われ、領域Ｒ１〜領域Ｒ３のコンテキスト導出は、周辺参照コンテキスト導出部１２４ｇによって行われる。
【０２４４】
周辺参照コンテキスト導出部１２４ｇは、例えば、部分領域Ｒ１に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部１２４ａに供給する。
【０２４５】
sigCtx = sigCtxOffsetR1 + Min(2, ctxCnt);
このように、コンテキストインデックスsigCtxは、開始点sigCtxOffsetR1とオフセット値ctxCntの和により求められる。ここで、本構成のオフセット値ctxCntは、カウント数に応じて得られる値であり、ここでは、カウント数を約１／２にするように右シフトして得られる値であり
ctxCnt＝（ｃｎｔ＋１）＞＞１  ・・・（eq.A4）
によって定まる。
【０２４６】
なお、多対一変換する処理は、右シフトよらず、以下のようにカウント数を固定値（ここでは３）にクリップする処理でも良い。
【０２４７】
ctxCnt＝ｍｉｎ（３、ｃｎｔ）
この場合には、コンテキストインデックスを以下で算出する。
【０２４８】
sigCtx = sigCtxOffsetR1 + ctxCnt;
なお、非０変換係数のカウント数cntを算出する際には、対象変換係数の周波数成分上の位置（xC、yC）に応じて参照する変換係数を変更しても良い。例えば、図４９に示す擬似コードでは、位置に応じて、c1、c2、c3、c4、c5の５つを参照するか、もしくは、c1、c2、c4、c5の４つを参照するかを切り替える。
【０２４９】
if( ( ( xC & 3 ) || ( yC & 3 ) ) && ( ( (xC+1) & 3 ) || ( (yC+2) & 3 ) )))
{
cnt = (c1!=0) + (c2!=0) + (c4!=0) + (c5!=0);
} else{
cnt= (c1!=0) + (c2!=0) + (c3!=0) + (c4!=0) + (c5!=0);
}
また、周辺参照コンテキスト導出部１２４ｇは、例えば、部分領域Ｒ２に属する周波数成分に対しては、部分領域Ｒ１とは異なる開始点（ここではsigCtxOffsetR2）を用いて以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部１２４ａに供給する。
【０２５０】
sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
なお、オフセット値ctxCntの計算方法は、部分領域Ｒ１と同様である。また、上記では、２以下にクリップする処理を加えているが、これも多対一変換処理と言える。
【０２５１】
また、周辺参照コンテキスト導出部１２４ｇは、例えば、高周波成分である部分領域Ｒ３に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtx を周波数分類部１２４ａに供給する。
【０２５２】
sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
部分領域Ｒ３の開始点は、部分領域Ｒ２と同じくsigCtxOffsetR2を用いる。これにより既に説明したようにコンテキスト共有により高い符号化効率と、少ないコンテキスト数を同時に実現することができる。
【０２５３】
ここで、オフセット数ctxCntの計算には、以下の式を用いる。
【０２５４】
cnt = (c1!=0) + (c5!=0); 
ctxCnt = cnt;
このように高周波成分の部分領域Ｒ３では、低周波数成分の部分領域Ｒ１、Ｒ２よりも少ない参照数によりカウント数cntを算出するため処理量が削減される。
【０２５５】
上記式では、カウント数cntの計算は、図５１（ａ）に示すc1、c5の２点を用いて算出している。この場合、処理順で直前（処理順が逆スキャン順である場合には、対象とする変換係数の位置の下側）に位置する座標（例えば図１０（ａ）に示すｃ３）の変換係数を参照しないため、コンテキスト導出処理と復号処理とを並列に処理が可能になる。
【０２５６】
また、さらに並列度を高める場合には、処理順で直前だけでなく直前の直前に位置する座標（例えば図１０（ａ）に示すｃ１）の変換係数をさらに参照しない方法が望ましい。この場合、以下の式のように、図５１（ｂ）に示すc2、c5の２点を用いてカウント値を算出しても良い。
【０２５７】
cnt = (c2!=0) + (c5!=0); 
ここで、参照数の異なる部分領域Ｒ２及び部分領域Ｒ３において、参照数が多い方の部分領域（Ｒ２）では、右シフト等によりカウント数を多対一変換する処理（集約処理とも呼ぶ）を行ってオフセット値ctxCntを求めてコンテキストインデックスを算出するが、参照数が少ない方の部分領域（Ｒ３）では、カウント数を減らす処理を行わずにそのままコンテキストインデックスを算出する。部分領域Ｒ３では、部分領域Ｒ２に比べカウント数の集約処理を削除することができるため処理量が削減される。なお、２つの部分領域の処理上のデザイン統一を優先して、２つの部分領域で同様に集約処理を行う（部分領域Ｒ３で右シフトなどを行う）ことも構わない。なお、カウント数の多対一変換処理は、カウント数の値域を圧縮する処理であると捉えることもできる。
【０２５８】
色差の場合も、図４８（ｂ）の部分領域Ｒ０、部分領域Ｒ１、部分領域Ｒ３について、輝度の場合と同様の処理を行う。まず、周波数分類部１２４ａは、図５０に示すように、対象変換係数の周波数成分上の位置（xC、yC）をあるサブブロックサイズ（ここでは４）で割って得られるサブブロック座標のＸ座標とＹ座標の和と、周波数領域の幅と高さの和から計算される閾値ＴＨ２との比較により、互いに参照数の異なる部分領域Ｒ１と部分領域Ｒ３を分類する。さらに、図５０に示す通り、部分領域Ｒ０では位置コンテキスト導出部１２４ｂにおいて位置コンテキストによりコンテキスト導出を行い、部分領域Ｒ１、Ｒ３では周辺参照コンテキスト導出部１２４ｇにおいて、周辺参照コンテキストによるコンテキスト導出を行う。部分領域Ｒ１と部分領域Ｒ３では、異なる参照数を用いながら、コンテキストを共有する。また、参照数の多い部分領域Ｒ１ではカウント数の集約処理を行い、参照数の少ない部分領域Ｒ２ではカウント数の集約処理を行わなずにコンテキストインデックスを導出する。
【０２５９】
上記の例では、高周波領域において少ないカウント数を用いるため、低周波領域における多いカウント数を用いる場合と比べて処理量を削減できる。また、少ないカウント数を用いる部分領域では、コンテキストインデックスの導出においてカウント数を右シフトもしくはクリップするなどの多対一変換処理が不要になる。そのためさらに処理量が削減される。
【０２６０】
上記の構成によれば、導出方法が異なる複数の部分領域において、部分領域毎に定まる開始点を等しくすることにより、コンテキスト数を増加させることがなく、また、高い符号化効率を実現したまま処理量の削減が可能である。
【０２６１】
なお、周辺参照コンテキスト導出部１２４ｇは、以下に示すように偏りに応じて参照する変換係数の以下を切り替えても良い。
【０２６２】
より具体的には、本構成例に係る周辺参照コンテキスト導出部１２４ｇは、部分領域Ｒ３に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部１２４ａに供給する構成としてもよい。
【０２６３】
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（３、ｐｒｅｆ_ｙ_ｆｌａｇ？  ｃｎｔｙ：ｃｎｔｘ）
ここで、ｐｒｅｆ_ｙ_ｆｌａｇは、変換係数の偏りを考慮して導出される垂直優先フラグｐｒｅｆ_ｙ_ｆｌａｇであり、この垂直優先フラグによりｃｎｔｙとｃｎｔｘのいずれを参照するかを決定する。なお、垂直優先フラグは、以下の３つの方法により、判定することができる。
【０２６４】
・対象位置による判定
ｕｉＰｏｓＹ＞ｕｉＰｏｓＸのときｔｒｕｅとする。すなわち、
ｐｒｅｆ_ｙ_ｆｌａｇ＝ｕｉＰｏｓＹ＞ｕｉＰｏｓＸ ？ ｔｒｕｅ：ｆａｌｓｅ
とする。
【０２６５】
・スキャン順で非０変換係数のラストの位置による判定
ｌａｓｔ_ｓｉｇｎｉｆｉｃａｎｔ_ｃｏｅｆｆ_ｘ＜ｌａｓｔ_ｓｉｇｎｉｆｉｃａｎｔ_ｃｏｅｆｆ_ｙのときｔｒｕｅとする。すなわち、
ｐｒｅｆ_ｙ_ｆｌａｇ＝ｌａｓｔ_ｓｉｇｎｉｆｉｃａｎｔ_ｃｏｅｆｆ_ｘ＜ｌａｓｔ_ｓｉｇｎｉｆｉｃａｎｔ_ｃｏｅｆｆ_ｙ ？ ｔｒｕｅ：ｆａｌｓｅ
とする。
【０２６６】
・１つ前のスキャン列による判定
ｌａｓｔ_ｃｎｔｘ＜ｌａｓｔ_ｃｎｔｙのときｔｒｕｅとする。すなわち、
ｐｒｅｆ_ｙ_ｆｌａｇ＝ｌａｓｔ_ｃｎｔｘ＜ｌａｓｔ_ｃｎｔｙ ？ ｔｒｕｅ：ｆａｌｓｅ
とする。
【０２６７】
なお、垂直優先フラグの判定は、上記３つの方法に限られるものではない。
【０２６８】
また、垂直優先フラグを用いる場合においても、通常参照カウントと限定参照カウントで同じコンテキストを共有することも可能である。この場合、次のように部分領域Ｒ３のコンテキストの開始点を部分領域Ｒ２の開始点と同じＮＸ＋８とすることで実現できる。
【０２６９】
ｃｔｘＩｄｘ＝ＮＸ＋８＋ｍｉｎ（３、ｐｒｅｆ_ｙ_ｆｌａｇ？  ｃｎｔｙ：ｃｎｔｘ）
また、ｃｎｔｙ及びｃｎｔｘは、対象周波数成分の周辺の周波数成分のうち、参照対象となった周波数成分について復号された非０変換係数の数を表している。ｃｎｔｙ及びｃｎｔｘを導出するために参照される周波数成分の数は２〜４であり、上述したｃｎｔの参照数５よりも少ない。なお、以下では、ｃｎｔｙ及びｃｎｔｘを優先参照カウントとも呼称する。
【０２７０】
次に、ｃｎｔｙ及びｃｎｔｘの算出方法について、図１５を参照して説明する。図１５には、処理順序が順スキャン順である場合の対象周波数成分ｘと、その周辺の参照周波数成分について復号された変換係数（ｃ１〜ｃ５）を示している。
【０２７１】
まず、参照数が４の場合を、図１５の（ａ）、（ｂ）に示す。参照数が４の場合は、図１５の（ａ）に示すｃ１、ｃ３、ｃ４、ｃ５、図１５の（ｂ）に示すｃ１、ｃ２、ｃ３、ｃ４を参照し、下記の式によりｃｎｔｙ及びｃｎｔｘを算出する。
【０２７２】
ｃｎｔｙ＝（ｃ１！＝０）＋（ｃ３！＝０）＋（ｃ４！＝０）＋（ｃ５！＝０）
ｃｎｔｘ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ３！＝０）＋（ｃ４！＝０）
ここで、各項は、（）内の引数が真である場合に１をとり、（）内の引数が偽である場合に０をとるものとする。以下、同様である。
【０２７３】
また、参照数が３の場合は、図１５の（ｃ）に示すｃ１、ｃ３、ｃ５、図１５の（ｄ）に示すｃ１、ｃ２、ｃ３を参照し、以下の式によりｃｎｔｙ及びｃｎｔｘを算出する。
【０２７４】
ｃｎｔｙ＝（ｃ１！＝０）＋（ｃ３！＝０）＋（ｃ５！＝０）
ｃｎｔｘ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ３！＝０）
なお、参照数が３の場合は、図１５の（ｅ）に示すｃ３、ｃ４、ｃ５、図１５の（ｆ）に示すｃ１、ｃ２、ｃ４を参照し、以下の式によりｃｎｔｙ及びｃｎｔｘを算出してもよい。
【０２７５】
ｃｎｔｙ＝（ｃ３！＝０）＋（ｃ４！＝０）＋（ｃ５！＝０）
ｃｎｔｘ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ４！＝０）
また、参照数が２の場合は、図１５の（ｇ）に示すｃ３、ｃ５、図１５の（ｈ）に示すｃ１、ｃ２を参照し、以下の式によりｃｎｔｙ及びｃｎｔｘを算出してもよい。
【０２７６】
ｃｎｔｙ＝（ｃ３！＝０）＋（ｃ５！＝０）
ｃｎｔｘ＝（ｃ１！＝０）＋（ｃ２！＝０）
以上のように、本構成例に係る係数有無フラグ復号部によれば、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数に基づいて導出し、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さいので、低周波数側の部分領域において設定される参照領域と高周波数側の部分領域において設定される参照領域とが同じ大きさを有する従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現することができる。
【０２７７】
＜係数有無フラグ復号部の第４の構成例＞
本実施形態に係る係数有無フラグ復号部の第４の構成例について、図１７を参照して説明する。本構成例は、第１の構成例と第３の構成例をあわせた構成である。なお、上記第１〜第３の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０２７８】
図１７は、本構成例に係る係数有無フラグ復号部の構成を示すブロック図である。図１７に示すように、本構成例に係る係数有無フラグ復号部１２４’は、周波数分類部１２４ａ´、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｇ、および高周波位置コンテキスト導出部１２４ｄを備えている。
【０２７９】
本構成例において、上記第３の構成例と異なるのは、部分領域Ｒ４を新設し、Ｒ４に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法を、第１の構成例で示した位置コンテキストとすることである。
【０２８０】
したがって、本構成例においても、部分領域Ｒ０に属する周波数成分に対しては、上記第１の構成例と同様に、低周波位置コンテキスト導出部１２４ｂが、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０２８１】
ｃｔｘＩｄｘ＝ＮＸ＋２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹ
また、部分領域Ｒ１に属する周波数成分に対しては、周辺参照コンテキスト導出部１２４ｇが、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０２８２】
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（４、ｃｎｔ）
また、部分領域Ｒ２に属する周波数成分に対して、周辺参照コンテキスト導出部１２４ｇが、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０２８３】
ｃｔｘＩｄｘ＝ＮＸ＋８＋ｍｉｎ（４、ｃｎｔ）
また、周辺参照コンテキスト導出部１２４ｇは、部分領域Ｒ３に属する周波数成分に対して、低周波数の領域Ｒ１、Ｒ２で用いるｃｎｔよりも参照数の少ないｃｎｔ２（限定参照カウント）を用いて、以下の式によりコンテキストインデックスctxIdxを導出する。なお、本例においても、ｃｎｔ２のことを限定参照カウントとも呼称する。
【０２８４】
ＣｔｘＩｄｘ＝ＮＸ＋８＋ｃｎｔ２
本構成例に係る高周波位置コンテキスト導出部１２４ｄは、部分領域Ｒ４に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０２８５】
ｃｔｘＩｄｘ＝ＮＸ＋１３
上記の例では、部分領域Ｒ４のコンテキスト数は１つであるため、部分領域Ｒ４であると判定された場合に、さらにコンテキストインデックスctxIdxを導出する処理は不要である。発明者の実験では、コンテキスト数を1つとした場合にも閾値ＴＨ４を適切に定めることにより高い符号化効率を実現したまま処理量の削減が可能であることを確認している。
【０２８６】
上記の例では、部分領域Ｒ４のコンテキスト数が１つであるため、高周波位置コンテキスト導出部１２４ｄにおいて、固定値を用いてコンテキストインデックスを導出している。
【０２８７】
図１８は、対象周波数領域を構成する部分領域Ｒ０〜Ｒ４のうち、部分領域Ｒ２とＲ３とで一部のコンテキストを共有する場合を示している。より具体的には、部分領域Ｒ２で用いられる通常参照カウントと、部分領域Ｒ３で用いられる限定参照カウントとで同じコンテキストインデックス（ここではＮＸ＋８〜ＮＸ＋１１）で示されるコンテキストを共有することを示している。図１８では部分領域Ｒ４に用いるコンテキスト数を１としているが、以下のようにコンテキスト数を２つとする構成も可能である。例えば、周波数領域のサイズにより２つを区別する構成
ｃｔｘＩｄｘ＝（ｓｚ＝＝１６）？  ＮＸ＋１３：ＮＸ＋１４
や、Ｘ座標とＹ座標の比較により２つを区別する構成
ｃｔｘＩｄｘ＝（ｕｉＰｏｓＹ＞ｕｉＰｏｓＸ）？  ＮＸ＋１３：ＮＸ＋１４
などが可能である。
【０２８８】
なお、第１の構成例と同じく一般に以下の形式でコンテキストを導出することも可能である。
【０２８９】
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（ｍａｘＲ３、（ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ−ＴＨ２）＞＞ｓｈｉｆｔ）
また、図１８に示すように、本実施形態で用いる周波数分類部１２４ａ´は、５つの部分領域Ｒ０〜Ｒ４に分類する。より具体的には、以下の分類処理を行う。
【０２９０】
・ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜２を満たす周波数成分を部分領域Ｒ０に分類する。
【０２９１】
・２≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ１を満たす周波数成分を部分領域Ｒ１に分類する。
【０２９２】
・ＴＨ１≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ２を満たす周波数成分を部分領域Ｒ２に分類する。
【０２９３】
・ＴＨ２≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ３を満たす周波数成分を部分領域Ｒ３に分類する。
【０２９４】
・ＴＨ３≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹを満たす周波数成分を部分領域Ｒ４に分類する。
【０２９５】
また、上記のＴＨ１は例えば５とする。また、ＴＨ２とＴＨ３は、以下の式によりｓｚに基づいて定めることができる。
【０２９６】
ＴＨ２  ＝  ｓｚ×７＞＞３
ＴＨ３  ＝  ｓｚ＋６
この周波数領域のサイズが１６×１６の場合にはＴＨ２＝１４、ＴＨ３＝２２、３２×３２の場合にはＴＨ２＝２８、ＴＨ３＝３８である。
【０２９７】
また、低ＱＰにおける性能低下を軽減するために、閾値ＴＨ２、及びＴＨ３を次のように設定してもよい。
【０２９８】
ＴＨ２  ＝  ｓｚ
ＴＨ３  ＝  ｓｚ＋８
つまり、周波数領域のサイズが１６×１６の場合にはＴＨ２＝１６、ＴＨ３＝２４とし、周波数領域のサイズが３２×３２の場合にはＴＨ２＝３２、ＴＨ３＝４０と設定してもよい。
【０２９９】
なお、閾値の算出の一般式は、
ＴＨ２  ＝  ｓｚ×ａ２／ｂ２＋ｃ２
ＴＨ３  ＝  ｓｚ×ａ３／ｂ３＋ｃ３
である。ここで、ａ２、ｂ２、ｃ２、ａ３、ｂ３、ｃ３は所定の定数である。ｂ２およびｂ３での除算はシフト演算で処理が可能である。一般に閾値を大きくする方が符号化効率は高くなるが、処理量が削減される高周波数側の部分空間Ｒ３、部分空間Ｒ４の面積が小さくなるため処理量削減の効果は減少する。
【０３００】
なお、閾値の計算に用いる定数がサイズｓｚによる場合はテーブルを参照して計算することによりサイズによる分岐を省略できる。また、定数がサイズに寄らない場合にはテーブルを参照する処理を省略できる。定数がサイズによらない場合は、以下のように求めればよい。
【０３０１】
ＴＨ２  ＝  ｓｚ×ａ／ｂ＋ｃ
ＴＨ３  ＝  ｓｚ×ａ／ｂ＋ｃ
閾値は比率ａ／ｂもしくは加算ｃで制御できる。閾値をａ／ｂで制御する場合には、高周波数側の部分空間の面積と、低周波数側の部分空間の面積比は、サイズｓｚによらないが、加算ｃで制御する場合にはサイズによる。発明者の実験では、３２×３２では１６×１６に比べ部分領域Ｒ４の面積比が大きくなっても良いことから、ＴＨ３の算出では加算ｃを用いることが適当である。このような例は、既に説明した式以外に、以下の式も適当である。
【０３０２】
ＴＨ２  ＝  ｓｚ×７＞＞３
ＴＨ３  ＝  ｓｚ＋１２
なお、発明者の実験によると、大きな処理量低減を得るためには、ＴＨ２はｓｚ−２以下とすることが良く、高い符号化効率を実現するにはＴＨ３はｓｚ以上とすることが良い。例えば、以上の式以外に、以下の式が適当である。また、ＴＨ２＝ｓｚ−１とする場合にも、部分領域Ｒ１において対象周波数成分の周辺の周波数成分が参照可能か否かの判定を省略することができる。このため、処理量低減効果は若干低減するものの、保守的にするならばＴＨ２＝ｓｚ−１としても良い。
【０３０３】
ＴＨ２  ＝  ｓｚ×７＞＞３
ＴＨ３  ＝  ｓｚ×１１＞＞３
以上のように、本構成例に係る係数有無フラグ復号部によれば、所定の閾値ＴＨ２より高周波数側の部分領域では、各変換係数有無フラグに割り付けるコンテキストインデックスの取り得る値の範囲が、低周波数側の部分領域において設定される上記参照領域において取り得る値の範囲よりも小さいため、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。さらに別の閾値ＴＨ３より高周波数側の部分領域においては、コンテキストインデックスを位置に基づいて導出するので、さらに処理量を削減することができる。
【０３０４】
また、以上の構成の一形態では、カウント数の導出方法が異なる２つの部分領域において、部分領域毎に定まる開始点を等しくすることにより、コンテキスト数を増加させることがなく、また、高い符号化効率を実現したまま処理量の削減が可能である。
【０３０５】
また、以上の構成の一形態では、位置に基づいて導出する場合のコンテキスト数を１つ、もしくは、２つと少ない値としている。これにより、コンテキスト数の増加を最小限に抑え、さらにコンテキストを区別する処理量が少なく、高い符号化効率を実現したまま処理量の削減が可能である。
【０３０６】
以上のように、本構成例に係る係数有無フラグ復号部において、周波数分類部１２４ａ´は、対象周波数領域を、処理対象の変換係数有無フラグの位置に応じて、少なくとも３つの部分領域に分類するものであり、周辺参照コンテキスト導出部１２４ｇは、第１の部分領域（部分領域Ｒ１またはＲ２）では、復号済みの非０変換係数をＮ１個（Ｎ１は自然数）参照し、第２の部分領域（部分領域Ｒ３）では、復号済みの非０変換係数をＮ２個（Ｎ２はＮ２＜Ｎ１を満たす自然数）参照することによって、コンテキストインデックスを導出し、第３の部分領域（部分領域Ｒ４）では、高周波位置コンテキスト導出部１２４ｄが、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出する。
【０３０７】
上記の構成によれば、コンテキストインデックスを参照するために参照する復号済みの非０変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置に基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０３０８】
＜係数有無フラグ復号部の第５の構成例＞
本実施形態に係る係数有無フラグ復号部の第５の構成例について、図１９〜図２１を参照して説明する。図１９は、本構成例に係る係数有無フラグ復号部１２４−３の構成を示すブロック図である。また、図２０は、非０変換係数の数をカウントするスキャン列を説明するための図である。また、図２１（ａ）〜（ｃ）は、コンテキストを導出するときに産参照する対象を説明するための図である。
【０３０９】
図１９に示すように、本構成例に係る係数有無フラグ復号部１２４−３は、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、高周波領域コンテキスト導出部１２４ｈを備え、さらに、高周波領域コンテキスト導出部１２４ｈには、周辺参照コンテキスト導出部１２４ｉおよび前スキャン列コンテキスト導出部１２４ｅが備えられている。また、前スキャン列コンテキスト導出部１２４ｅには、非０変換係数カウント部１２４ｆが備えられている。なお、上記第１〜第３の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０３１０】
本構成例において、上記第１の構成例と異なるのは、部分領域Ｒ３に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法である。
【０３１１】
したがって、本構成例においても、部分領域Ｒ０に属する周波数成分に対しては、上記第１の構成例と同様に、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０３１２】
ｃｔｘＩｄｘ＝ＮＸ＋２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹ
また、部分領域Ｒ１に属する周波数成分に対しては、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０３１３】
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（４、ｃｎｔ）
また、部分領域Ｒ２に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０３１４】
ｃｔｘＩｄｘ＝ＮＸ＋８＋ｍｉｎ（４、ｃｎｔ）
一方、部分領域Ｒ３に属する周波数成分に対しては、高周波領域コンテキスト導出部１２４ｈが以下の方法により、コンテキストインデックスctxIdxを導出する。
【０３１５】
（高周波領域コンテキスト導出部１２４ｈ）
高周波領域コンテキスト導出部１２４ｈは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非０変換係数の数、および１つ前のスキャン列に含まれる非０変換係数の数に基づいて導出するための構成である。
【０３１６】
高周波領域コンテキスト導出部１２４ｈの備える周辺参照カウント部１２４ｉは、対象周波数成分に隣接する復号済みの変換係数を参照し、以下の式を用いて、ｃｎｔ２’を導出する。なお、ｃｎｔ２’のことを限定参照カウントとも呼称する。
【０３１７】
ｃｎｔ２’＝（ｃ１！＝０）＋（ｃ３！＝０）
ここで、ｃ１、ｃ３は、図２１の（ａ）に示す、対象周波数成分ｘの周辺の周波数成分について復号された変換係数である。
【０３１８】
高周波領域コンテキスト導出部１２４ｈの備える前スキャン列非０変換係数カウント部１２４ｊは、以下の式を用いて、ｃｎｔ３を導出する。
【０３１９】
ｃｎｔ３＝（ｌａｓｔ＿ｃｎｔ＞ＴＨｃ）？ １：０
ここで、閾値ＴＨｃとしては、例えば、ＴＨｃ＝１を用いればよいが、これは本実施形態を限定するものではなく、ＴＨｃとして、ｕｉＰｏｓＸ、ｕｉＰｏｓＹに依存する閾値を用いてもよい。より具体的には、対象周波数成分が属するスキャン列に沿った周波数成分の数と正の相関を有する閾値を用いてもよい。
【０３２０】
また、ｌａｓｔ＿ｃｎｔは、上述のように、１つ前のスキャン列において出現した非０変換係数の数を示している。
【０３２１】
また、前スキャン列非０変換係数カウント部１２４ｊは、以下の式を用いて、ｃｎｔ３を導出する構成としてもよい。
【０３２２】
ｃｎｔ３＝（ｌａｓｔ＿ｃｎｔ２＞ＴＨｃ）？ １：０
ここで、ｌａｓｔ＿ｃｎｔ２は、２つ前のスキャン列において出現した非０変換係数の数を示している。
【０３２３】
図２０は、スキャン順が逆スキャン順である場合の、処理対象のスキャン列Ｌｘ、１つ前のスキャン列Ｌｘ＋１及び２つ前のスキャン列Ｌｘ＋２の例を示している。
【０３２４】
前スキャン列非０変換係数カウント部１２４ｊは、現スキャン列に関する処理が終了した後、次のスキャン列に関する処理を行う際に、例えば、以下のように、ｌａｓｔ＿ｃｎｔ、ｌａｓｔ＿ｃｎｔ２を更新する。
【０３２５】
ｌａｓｔ＿ｃｎｔ２＝ｌａｓｔ＿ｃｎｔ
ｌａｓｔ＿ｃｎｔ＝ｃｕｒｒ＿ｃｎｔ
ここで、ｃｕｒｒ＿ｃｎｔは、上述のように、現スキャン列の非０変換係数の数を表している。
【０３２６】
本構成例に係る周辺参照コンテキスト導出部１２４ｈは、周辺参照カウント部１２４ｉによって導出したｃｎｔ２’、及び前スキャン列非０変換係数カウント部１２４ｊによって導出されたｃｎｔ３を参照し、部分領域Ｒ３に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部１２４ａに供給する。
【０３２７】
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（３、ｃｎｔ２’＋ｃｎｔ３）
以上のように、本構成例に係る係数有無フラグ復号部によれば、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非０変換係数の数と、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数とに基づいて導出するものであり、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さいので、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量をより効果的に削減できると共に、高い符号化効率を実現することができる。
【０３２８】
なお、周辺参照カウント部１２４ｉは、以下の式を用いて、ｃｎｔ２’を導出する構成としてもよい。
【０３２９】
ｃｎｔ２’＝ｐｒｅｆ＿ｙ＿ｆｌａｇ？  ｃｎｔｙ’：ｃｎｔｘ’
ここで、優先参照カウントｃｎｔｙ’は、例えば、図２１（ｂ）に示す参照周波数成分について復号済みの変換係数ｃ３、ｃ５を用いて、
ｃｎｔｙ’＝（ｃ３！＝０）＋（ｃ５！＝０）
によって導出する構成としてもよいし、図２１（ｃ）に示す参照周波数成分について復号済みの変換係数ｃ１、ｃ２を用いて、
ｃｎｔｘ’＝（ｃ１！＝０）＋（ｃ２！＝０）
によって導出する構成としてもよい。
【０３３０】
＜係数有無フラグ復号部の第６の構成例＞
本実施形態に係る係数有無フラグ復号部の第６の構成例について、図２２を参照して説明する。図２２は、本構成例に係る係数有無フラグ復号部１２４−４の構成を示すブロック図である。
【０３３１】
図２２に示すように、本構成例に係る係数有無フラグ復号部１２４−４は、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、及び周辺参照コンテキスト導出部１２４ｋを備えている。なお、上記第１〜第４の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０３３２】
本構成例において、上記第１の構成例と異なるのは、部分領域Ｒ１〜Ｒ３に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法である。
【０３３３】
したがって、本構成例においても、部分領域Ｒ０に属する周波数成分に対しては、上記第１の構成例と同様に、以下の式を用いてコンテキストインデックスctxIdxを導出する。
【０３３４】
ｃｔｘＩｄｘ＝ＮＸ＋２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹ
一方、部分領域Ｒ１に属する周波数成分に対しては、周辺参照コンテキスト導出部１２４ｋが以下の方法により、コンテキストインデックスctxIdxを導出する。
【０３３５】
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（４、ｐｒｅｆ_ｙ_ｆｌａｇ？  ｃｎｔｙ：ｃｎｔｘ）
また、部分領域Ｒ２に属する周波数成分に対しては、周辺参照コンテキスト導出部１２４ｋが以下の方法により、コンテキストインデックスctxIdxを導出する。
【０３３６】
ｃｔｘＩｄｘ＝ＮＸ＋８＋ｍｉｎ（４、ｐｒｅｆ_ｙ_ｆｌａｇ？  ｃｎｔｙ：ｃｎｔｘ）
また、部分領域Ｒ３に属する周波数成分に対しては、周辺参照コンテキスト導出部１２４ｋが以下の方法により、コンテキストインデックスctxIdxを導出する。
【０３３７】
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（４、ｐｒｅｆ_ｙ_ｆｌａｇ？  ｃｎｔｙ：ｃｎｔｘ）
ここで、ｐｒｅｆ_ｙ_ｆｌａｇ、ｃｎｔｙ、ｃｎｔｘについては上述したためここでは説明を省略する。
【０３３８】
以上のように、本構成例に係る係数有無フラグ復号部によれば各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数に基づいて導出するものであり、上記参照領域に含まれる復号済みの変換係数の数は、４以下であるので、従来の構成よりも少ない数の復号済みの変換係数を参照すれば足りる。したがって、上記の構成によれば、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現できる。
【０３３９】
（変換係数復号部１２０の他の構成例１）
以上、本実施形態に係る変換係数復号部１２０について、主に係数有無フラグ復号部の構成例を中心に説明したが、本実施形態に係る変換係数復号部１２０の構成は、上記の例に限られるものではない。
【０３４０】
例えば、符号化データ＃１のシーケンスパラメータセットＳＰＳに、高周波数成分の符号化を制限するフラグ（制限フラグ）high_coeff_restriction_flagを含める構成としてもよい。このような構成の場合、変換係数復号部１２０は、当該フラグhigh_coeff_restriction_flagを復号し、high_coeff_restriction_flag＝０である場合には、処理対象の周波数領域に含まれる全ての周波数成分についての変換係数を復号し、high_coeff_restriction_flag＝１である場合には、下記の条件
ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ２
を満たす周波数成分についての変換係数のみを復号するよう制限する構成とする。
【０３４１】
また、処理対象のＴＵが特定のサイズ（例えば、３２×３２や１６×１６）である場合にのみ、上記の制限を適用する構成としてもよい。
【０３４２】
図２３は、処理対象の周波数領域において、ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ２を満たす周波数成分よりなる領域Ｒ０’と、それ以外の領域Ｒ１’とを示す図である。図２３において、領域Ｒ０’に含まれる周波数成分については変換係数が復号され、領域Ｒ１’に含まれる周波数成分については変換係数は復号されず、一律に既定値（例えば０）に設定される。
【０３４３】
また、上記閾値ＴＨ２は、例えば、固定値としてＴＨ２＝１４を用いる構成としてもよいし、閾値ＴＨ２の値を示すシンタックスを符号化データ＃１に含める構成としてもよい。
【０３４４】
閾値ＴＨ２の値を示すシンタックスとしては、例えば、（ＴＨ２−１４）／２の値を示すシンタックスsps_coeff_restriction_value_minus14_div2を用いればよい。
【０３４５】
また、レベルに応じて、上記の制限を適用するか、しないかを決定する構成としてもよい。ここで、レベルとは、シンタックスで用いられる値の範囲を制限する制限を意味する。レベルは０から所定の値までの制限に区分けされ、小さい値のレベルの方が厳しい制限となるようにする。レベルは、特に復号の複雑さを制限するために用いられ、画像の幅や高さ、フレームレートなどが制限対象のシンタックスに含まる。また、プロファイルは、使用するツールの制限に用いられる。ツールによってシンタックスが異なる場合にはプロファイルによりシンタックスが変化する。レベルはプロファイル毎に定められる。なお、プロファイルおよびレベルは、例えば、シーケンスパラメータセットで符号化するものとするが、これに限られるものではない。
【０３４６】
例えば、図２４（ａ）に示すように、レベルが０〜２の場合には、制限ありとし、レベルが３以上の場合には、制限なしとする構成としてもよい。
【０３４７】
さらに、レベルに応じて適応的に閾値を変更する構成としてもよい。例えば、図２４（ｂ）に示すように、レベルが０か１である場合には、上記制限でＴＨ２＝１４としたものを適用し、レベルが２である場合には、上記制限でＴＨ２＝２２としたものを適用し、レベルが３である場合には、上記制限でＴＨ２＝３０としたものを適用し、レベルが４である場合には、制限を適用しない構成としてもよい。
【０３４８】
なお、シンタックスで用いられる値の範囲を制限する場合にも、制限する範囲を判定する判定式として、周波数領域の位置のＸ座標とＹ座標の和と閾値との比較を行う以下の式の他、
ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ２
周波数領域の位置をサブブロックの大きさ（ここでは４）で割って得られるサブブロック位置を用いて、以下の式のように、サブブロック座標のＸ座標とＹ座標の和と閾値との比較を行っても良い。
【０３４９】
（ｕｉＰｏｓＸ>>2）＋（ｕｉＰｏｓＹ>>2）＜(ＴＨ２>>2)
すなわち、上記対象周波数領域のサイズをｓｚと表すとき、処理量削減と符号化効率削減のバランス上は、上記閾値ＴＨおよびＴＨ２は、判定にＸ座標及びＹ座標の和を用いる場合にはｓｚ以下の値、サブブロックのＸ座標及びＹ座標の和を用いる場合には、ｓｚ／サブブロック以下の大きさを有することが好ましい。上記ＴＨ、ＴＨ２はこの関係を満たす。
【０３５０】
さらに、上記対象周波数領域のサイズをｓｚと表すとき、周辺の周波数成分が参照可能か否かの判定を省略するためには、上記閾値ＴＨおよびＴＨ２は、判定にＸ座標及びＹ座標の和を用いる場合にはｓｚ未満の値、サブブロックのＸ座標及びＹ座標の和を用いる場合には、ｓｚ／サブブロック未満の大きさを有することが好ましい。上記ＴＨ、ＴＨ２はこの関係を満たす。
【０３５１】
また、閾値は、対象周波数領域の大きさに応じて定めても良い。例えば、以下の式のように、対象周波数領域の幅と高さの最大値を右シフトした値、及び、右シフト後に所定の値を加算または減算した値を用いても良い。
【０３５２】
ＴＨ２＝３×Ｍａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）＞＞４
ＴＨ２＝（３×Ｍａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）＞＞４）＋４
上記のように構成された符号化データ＃１によれば、各単位領域に対応する各対象周波数領域における高周波数側の変換係数を復号するか否かを示す制限フラグを含んでおり、変換係数復号部１２０は、上記制限フラグが、高周波数側の変換係数を復号しないことを示している場合には、当該高周波数側の変換係数の復号処理を省略することができるので、変換係数を復号するための処理量が削減される。
【０３５３】
（変換係数復号部１２０の他の構成例２）
また、対象ＴＵのサイズが８×８画素等の比較的小さいサイズである場合、変換係数復号部１２０の備える係数有無フラグ復号部は、以下の式を用いてコンテキストインデックスctxIdxを導出し、各周波数成分に割り付ける構成としてもよい。
【０３５４】
ｃｔｘＩｄｘ＝Ｎ８＋４×ｔｂｌ［ｕｉＰｏｓＹ］＋ｔｂｌ［ｕｉＰｏｓＸ］
ここで、
ｔｂｌ＝｛０、１、１、２、２、３、３、３｝
である。
【０３５５】
ここで、Ｎ８は、周波数領域のサイズが８×８の場合のコンテキストインデックスの開始点である。
【０３５６】
本構成例に係る係数有無フラグ復号部は、ビット復号部１３２から供給されるＢｉｎを解釈し、復号対象の周波数成分に割り付けられたコンテキストインデックスctxIdxを用いて、当該復号対象の周波数成分についてのシンタックスsignificant_coeff_flagを復号する。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部１２６に格納され、係数値復号部１２５によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。
【０３５７】
図２５（ａ）は、比較例に係る係数有無フラグ復号部によって導出されたコンテキストインデックスctxIdxの各値を示しており、図２５（ｂ）は、本構成例に係る係数有無フラグ復号部によって導出されたコンテキストインデックスctxIdxの各値を示している。
【０３５８】
ここで、比較例に係る係数有無フラグ復号部は、コンテキストインデックスctxIdxを、
ｃｔｘＩｄｘ＝Ｎ８＋４×ｔｂｌ［ｕｉＰｏｓＹ］＋ｔｂｌ［ｕｉＰｏｓＸ］
ｔｂｌ＝｛０、０、１、１、２、２、３、３｝
によって導出するものである。
【０３５９】
図２５（ｂ）に示すように、本構成例に係る係数有無フラグ復号部は、比較例に係る係数有無フラグ復号部に比べて、低周波数成分に対して、よりきめ細かくコンテキストインデックスctxIdxを付与する。
【０３６０】
また、図２５（ｂ）に示すように、本構成例に係る係数有無フラグ復号部は、高周波数成分側よりも、低周波数成分側をより小さな領域に分割し、各領域に対して互いに異なるコンテキストインデックスctxIdxを付与する。
【０３６１】
本構成例に係る係数有無フラグ復号部は、上記の構成をとることによって、低周波数成分側のsignificant_coeff_flagを効率的に復号することができるので、符号化効率が向上する。
【０３６２】
なお、本構成例に係る係数有無フラグ復号部によるコンテキストインデックスctxIdxの導出処理は、上記の例に限られるものではなく、例えば、ＰｏｓＸ＝０近傍の周波数成分を細かく分割するように、以下の式を用いてctxIdxHを算出し、その各値をコンテキストインデックスctxIdxに設定する構成としてもよい。
【０３６３】
ｃｔｘＩｄｘＨ＝Ｎ８＋４×（ｕｉＰｏｓＹ＞＞１）＋ｔｂｌ［ｕｉＰｏｓＸ］
ｔｂｌ＝｛０、１、１、２、２、３、３、３｝
図２５（ｃ）は、本構成例に係る係数有無フラグ復号部によって導出されたｃｔｘＩｄｘＨの例を示している。
【０３６４】
このような構成をとることによって、ＰｏｓＸ＝０近傍の周波数成分についてのsignificant_coeff_flagを効率的に復号することができるので、符号化効率が向上する。
【０３６５】
また、ＰｏｓＹ＝０近傍の周波数成分を細かく分割するように、以下の式を用いてctxIdxVを算出し、その各値をコンテキストインデックスctxIdxに設定する構成としてもよい。
【０３６６】
ｃｔｘＩｄｘＶ＝Ｎ８＋４×ｔｂｌ［ｕｉＰｏｓＹ］＋（ｕｉＰｏｓＸ＞＞１）
ｔｂｌ＝｛０、１、１、２、２、３、３、３｝
図２５（ｄ）は、本構成例に係る係数有無フラグ復号部によって導出されたｃｔｘＩｄｘＶの例を示している。
【０３６７】
このような構成をとることによって、ＰｏｓＹ＝０近傍の周波数成分についてのsignificant_coeff_flagを効率的に復号することができるので、符号化効率が向上する。
【０３６８】
また、本構成例に係る係数有無フラグ復号部は、上述した垂直優先フラグｐｒｅｆ_ｙ_ｆｌａｇの値を参照し、その値に応じて、ｃｔｘＩｄｘＶを用いるのか、ｃｔｘＩｄｘＨを用いるのかを切り替える構成としてもよい。より具体的には、
ｃｔｘＩｄｘ＝ｐｒｅｆ_ｙ_ｆｌａｇ？  ｃｔｘＩｄｘＶ：ｃｔｘＩｄｘＨ
によってコンテキストインデックスctxIdxを導出する構成としてもよい。
【０３６９】
このような構成とすることによって、変換係数の偏りに応じて、より適切なコンテキストインデックスctxIdxを用いることができるので、符号化効率が向上する。
【０３７０】
以上のように、本構成例に係る係数有無フラグ復号部は、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割し、各部分領域に対して、互いに異なるコンテキストインデックスを割り付けるコンテキストインデックス割り付け、各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグを、該変換係数有無フラグが属する部分領域に割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するものであり、上記複数の部分領域のうち低周波数側の部分領域は、高周波数側の部分領域よりも小さいので、低周波数側の領域に対して、コンテキストインデックスをきめ細かく割り当てることができる。したがって、上記の構成によれば、低周波数側のシンタックスを効率的に復号することができるので、符号化効率が向上する。
【０３７１】
（サブブロック単位での係数有無フラグの復号処理例）
本実施形態に係る係数有無フラグ復号部は、周波数領域の全体を１つのブロック（変換ブロック）として係数有無フラグを復号するのではなく、周波数領域の全体を示す１つのブロックをたとえば４×４のサブブロックに分割し、サブブロックの単位で係数有無フラグを復号する構成としてもよい。
【０３７２】
図３２はサブブロックスキャンを示す図である。ここで、サブブロックスキャンとは、サブブロックを単位とするスキャンのことを指す。係数有無フラグ復号部は、図３２に示すように、例えば、周波数領域全体に対応する１つのブロックを、ｕｉＰｏｓＸ方向に４個、ｕｉＰｏｓＹ方向に４個の合計１６個のサブブロックに分割すると共に、サブブロックを処理単位として係数有無フラグを復号する。
【０３７３】
サブブロックを用いて係数有無フラグを復号する場合には、図３２（ａ）に示すように、係数有無フラグ復号部は、サブブロック単位で、サブブロック内に少なくとも１つの非０変換係数が存在するか否かを示すフラグ（サブブロック係数有無フラグsignificant_coeffgroup_flag）をサブブロック逆スキャン順（図３２のブロック内に示す矢印方向）に復号する。さらに、サブブロック係数有無フラグsignificant_coeffgroup_flagが非０である場合において、図３２（ｂ）に示すように、係数有無フラグ復号部は、処理対象のサブブロック内部の各変換係数について有無フラグをサブブロック内部の逆スキャン順（図３２のサブブロック内に示す矢印方向）に復号する。
【０３７４】
なお、図３２（a）に示すサブブロックスキャンのスキャン順、および図３２（ｂ）に示すサブブロック内スキャンのスキャン順はあくまで一例であり、他のスキャン順を用いてもよい。たとえばジグザグスキャン、水平優先スキャン、垂直優先スキャンを用いてもよい。
【０３７５】
以下では、サブブロック単位でサブブロック非ゼロ係数有無フラグ、非ゼロ係数有無フラグを復号/符号化する場合の例を説明する。
【０３７６】
まず、図４７を用いて、変換ブロックのサイズを１６×１６、サブブロックのサイズを４×４とするときの、サブブロック係数有無フラグの例を説明する。
【０３７７】
図４７（ａ）は、１６×１６変換ブロックに含まれる合計２５６個の周波数成分についての量子化残差係数の各値の一例である。また、図４７（ｂ）は、１６×１６変換ブロックを４×４サブブロックに分割した場合の各サブブロックを識別するサブブロック番号の一例を示す図である。図４７（ｃ）は、量子化残差係数が図４７（ａ）に示すものであるときの、各サブブロックのサブブロック係数有無フラグの一例を示している。
【０３７８】
図４７（ａ）において、符号Ｗ１はラスト係数の位置を表す。また、図４７（ａ）において、淡色にて表されているゼロ係数は、順スキャン順で、ラスト係数Ｗ１より後ろのゼロ係数である。また、図４７（ａ）において、符号SBK_A〜ABK_Dにて示されるサブブロック(図４７（ｂ）においてサブブロック番号3,7,12,13を付したサブブロック)では、量子化残差係数の値がすべてゼロとなっている。
【０３７９】
このような状況において、従来通り、非ゼロ係数の有無を、ＤＣ係数からラスト係数までの係数毎に係数有無フラグによって表わす場合、計２１８個の係数有無フラグが必要である。
【０３８０】
一方、非ゼロ係数の有無を、サブブロック単位で表現する場合、図４７（ａ）のサブブロック毎の非ゼロ係数があるか否かを表すサブブロック係数有無フラグは、図４７（ｃ）に示すように表現される。すなわち、サブブロック（図４７（ｂ）におけるサブブロック番号3,7,12,13,15）では、非ゼロ係数の個数が０であるため、サブブロック係数有無フラグsignificant_coeffgroup_flagは「０」と設定され、各サブブロック内の係数有無フラグは付加されない。
【０３８１】
また、サブブロック（図４７（ｂ）におけるサブブロック番号0,1,2,4,5,6,8,9,10,11）は、非ゼロ係数の個数が１以上であるため、サブブロック係数有無フラグsignificant_coeffgroup_flagは「１」と設定され、各サブブロック内の係数有無フラグが付加される。
【０３８２】
すなわち、非ゼロ係数の有無を、サブブロック単位に表現する場合は、係数有無フラグの個数は、サブブロック（図４７（ｂ）におけるサブブロック番号3,7,12,13）内の計６４個の係数有無フラグが削減され、計１５４個となる。追加で１６個のサブブロック係数有無フラグが必要となるが、フラグ数は合わせても１７０個であり、少なくとも従来に比べて、４８個のフラグが削減される。このように、サブブロック単位で変換係数の有無を表わすことで、符号化／復号の対象となる係数有無フラグが大幅に削減される。つまり、係数有無フラグの符号化／復号に必要なコンテキスト導出処理が削減されるため、符号化／復号のスループットを向上させることが可能となる。
【０３８３】
続いて、以下では、係数有無フラグをサブブロック単位に復号する場合の実施例について説明する。
【０３８４】
＜係数有無フラグ復号部の第７の構成例＞
図３１は、本実施形態に係る係数有無フラグ復号部の第７の構成例としての係数有無フラグ復号部１２４−Ａを示すブロック図である。また、図３３は、係数有無フラグ復号部１２４−Ａにおける復号処理の流れを示すフローチャートである。
【０３８５】
図３１に示すように、本構成例に係る係数有無フラグ復号部１２４−Ａは、サブブロック係数有無フラグ復号部Ｘ１、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃを備えている。
【０３８６】
（サブブロック係数有無フラグ復号部Ｘ１）
サブブロック係数有無フラグ復号部Ｘ１は、ビット復号部１３２より供給されるＢｉｎを解釈し、周波数領域を構成する各サブブロックの中に少なくとも１つ非０の変換係数が存在するか否かを示すサブブロック係数有無フラグ（significant_coeffgroup_flag）を復号する（図３３のステップＳＹ１）。
【０３８７】
なお、サブブロックのスキャン順は、図３２(a)に示すように、ラスト係数のあるサブブロックからDC係数のあるサブブロックに向かって復号してもよいし、その逆でもよい。また、既に復号したサブブロックのサブブロック係数有無フラグに応じて、サブブロック係数有無フラグを符号化データからデータを復号せずに定める方法でもよい。すなわち、隣接する２つのサブブロックのサブブロック係数有無フラグが１であれば、サブブロック係数有無フラグを符号化データからデータを復号せずにサブブロック係数有無フラグを１に定め、それ以外の場合には、サブブロック係数有無フラグを符号化データから復号する構成でもよい。
【０３８８】
続いて、係数有無フラグ復号部１２４−Ａは、変換ブロック内にあるサブブロック毎に、サブブロック内にある係数有無フラグを復号する（図３３のステップＳＹ２〜ステップＳＹ４）。すなわち、サブブロック係数有無フラグ復号部Ｘ１において、サブブロック係数有無フラグが１の場合（図３３のステップＳＹ２においてＹの場合）、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃを用いてサブブロック内の係数有無フラグを復号する。また、サブブロック係数有無フラグが０の場合（図３３のステップＳＹ２においてＮの場合）、サブブロック内の係数有無フラグの復号をスキップし、次のサブブロックの処理へ移行する。
【０３８９】
なお、図３４に示すように、サブブロックのループの中で、対象サブブロック（ｘCG、、ｙCG）のサブブロック係数有無フラグを復号しても良い。ここで、図３４におけるステップＳＹ５では、サブブロック係数有無フラグ復号部Ｘ１が、（ｘＣＧ、ｙＣＧ）によって指定されるサブブロックについてのサブブロック係数有無フラグsignificant_coeffgroup_flagを復号する。
【０３９０】
なお、図３３、図３４のサブブロックのループにおいて、sbkIdxは、サブブロックの順スキャンでの対象サブブロックのスキャン順番号を表し、LastSbkIdxは、サブブロックの順スキャンでのラスト係数のあるサブブロックのスキャン順番号を表わす。ｓｚ×ｓｚの変換ブロックを４×４サブブロックに分割する場合、sbkIdx、およびLastSbkIdxのとる値は、０〜(sz>>2)×(sz>>2)-1である。
【０３９１】
（係数有無フラグ復号部１２４−Ａの備える周波数分類部１２４ａ）
係数有無フラグ復号部１２４−Ａの備える周波数分類部１２４ａは、周波数領域における復号対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部１２４ｂ、及び周辺参照コンテキスト導出部１２４ｃの何れかによって導出されたコンテキストインデックスctxIdxを、当該復号対象の周波数成分に割り付ける（図３３のステップＳＹ３）。
【０３９２】
係数有無フラグ復号部１２４−Ａの備える周波数分類部１２４ａは、周波数領域に含まれる各周波数成分の当該周波数領域における位置（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を用いて、当該周波数成分を複数の部分領域Ｒ０〜Ｒ２に分類する。ここで、ｕｉＰｏｓＸ＝０、１、．．．、ｓｚ−１であり、ｕｉＰｏｓＹ＝０、１、．．．、ｓｚ−１であるとする（ｓｚは、上述のように処理対象ＴＵの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表しており、例えば、ｓｚ＝１６，３２等である）。
【０３９３】
ここで、sｚ×sｚブロックの周波数領域を４×４サブブロックに分割し、当該周波数成分（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）が属するサブブロックの位置を（ｘＣＧ,ｙＣＧ）とする。なお、当該周波数成分が属するサブブロック位置（ｘＣＧ，ｙＣＧ）は下記式(eq.A1)〜(eq.A2)により導出される。
【０３９４】
ｘＣＧ＝ｕｉＰｏｓＸ＞＞２  ・・・（eq.A1）
ｙＣＧ＝ｕｉＰｏｓＹ＞＞２  ・・・（eq.A2）
ここで、ｘＣＧ＝０、１、．．．、（ｓｚ−１）＞＞２であり、ｙＣＧ＝０、１、．．．、（ｓｚ−１）＞＞２であるとする。
【０３９５】
係数有無フラグ復号部１２４−Ａの備える周波数分類部１２４ａは、より具体的には、以下の分類処理を行う。
【０３９６】
（１）ｘＣＧ＋ｙＣＧ＜ＴＨＡ、かつ、ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜THZを満たす周波数成分を部分領域Ｒ０に分類する。
【０３９７】
（２）ｘＣＧ＋ｙＣＧ＜ＴＨＡ、かつ、THZ≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹを満たす周波数成分を部分領域Ｒ１に分類する。
【０３９８】
（３）ＴＨＡ≦ｘＣＧ＋ｙＣＧを満たす周波数成分を部分領域Ｒ２に分類する。
【０３９９】
上記分類処理に対応する疑似コードは次の通りである。
********************************************************************
if( xCG+yCG<THA){
if( uiPosX+uiPosY<THZ ) {
R0へ分類
} 
else{// if( uiPosX+uiPosY>=THZ)
R1へ分類
}
else{//if( xCG+yCG>=THA ){
R2へ分類
}
}
********************************************************************
ここで、閾値THZとして２を用いる。ＴＨＡは、ＴＨＡ≧THZ／４を満たす閾値を表している。具体的な値としては、例えば、周波数領域のサイズ（処理対象ＴＵのサイズ）に関わらず、ＴＨＡ＝１とすればよい。また、周波数領域のサイズlog2TrafoSizeを用いて、ＴＨＡ＝1<<(log2TrafoSize-2)としてもよい。すなわち、周波数領域のサイズが１６×１６である場合、ＴＨＡ＝１とし、周波数領域のサイズが３２×３２である場合、ＴＨＡ＝２としてもよい。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。また、閾値THZを１としても良い。
【０４００】
図３５は、係数有無フラグ復号部１２４−Ａの備える周波数分類部１２４ａによる分類処理によって、部分領域Ｒ０、Ｒ１、及びＲ２に分割された周波数領域の一例を示している。
【０４０１】
係数有無フラグ復号部１２４−Ａの備える周波数分類部１２４ａは、部分領域Ｒ０に属する周波数成分に対して、低周波位置コンテキスト導出部１２４ｂによって導出されたコンテキストインデックスを割り付け、部分領域Ｒ１及びＲ２に属する周波数成分に対して、周辺参照コンテキスト導出部１２４ｃによって導出されたコンテキストインデックスを割り付ける。なお、サブブロックのサイズとして、４×４を例に説明したが、これに限定されず、(sz>>n)×(sz>>n)のサブブロックでもよい。ただし、nは、nは、n=1,…,log2TrafoSize>>1を満たすものとする。
【０４０２】
また、係数有無フラグ復号部１２４−Ａの備える周波数分類部１２４ａは、算術符号復号部１３０でシンタックスsignificant_coeff_flagを復号するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される（図３３のステップＳＹ４）。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部１２６に格納され、係数値復号部１２５によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。
【０４０３】
以下では、各部分領域Ｒ０〜Ｒ２に対応するコンテキスト導出について具体的に説明する。
【０４０４】
（係数有無フラグ復号部１２４−Ａの備える低周波位置コンテキスト導出部１２４ｂ）
係数有無フラグ復号部１２４−Ａの備える低周波位置コンテキスト導出部１２４ｂは、復号対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
【０４０５】
係数有無フラグ復号部１２４−Ａの備える低周波位置コンテキスト導出部１２４ｂは、部分領域Ｒ０に属する周波数成分に対して、以下の式(eq.A3)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部１２４ａに供給する。
【０４０６】
ｃｔｘＩｄｘ＝ＮＸ＋２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹ  ・・・(eq.A3)
なお、ＮＸはコンテキストインデックスの開始点を表す定数である。周波数領域のサイズが４×４及び８×８で用いるコンテキスト数が各々Ｎ４個、Ｎ８個の場合には、周波数領域のサイズが１６×１６および３２×３２の開始点はＮＸ＝Ｎ４＋Ｎ８になる。
【０４０７】
（係数有無フラグ復号部１２４−Ａの備える周辺参照コンテキスト導出部１２４ｃ）
係数有無フラグ復号部１２４−Ａの備える周辺参照コンテキスト導出部１２４ｃは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非０変換係数の数ｃｎｔに基づいて導出する。
【０４０８】
係数有無フラグ復号部１２４−Ａの備える周辺参照コンテキスト導出部１２４ｃは、部分領域Ｒ１に属する周波数成分に対して、以下の式（eq.A4）を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部１２４ａに供給する。
【０４０９】
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（２，ｔｅｍｐ）  ・・・（eq.A4）
ここで、ｔｅｍｐは、
ｔｅｍｐ＝（ｃｎｔ＋１）＞＞１
によって定まる。
【０４１０】
また、係数有無フラグ復号部１２４−Ａの備える周辺参照コンテキスト導出部１２４ｃは、部分領域Ｒ２に属する周波数成分に対して、以下の式(eq.A5)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部１２４ａに供給する。
【０４１１】
ｃｔｘＩｄｘ＝ＮＸ＋６＋ｍｉｎ（２，ｔｅｍｐ）  ・・・（eq.A5）
ここで、ｔｅｍｐは、上記の場合と同様に、
ｔｅｍｐ＝（ｃｎｔ＋１）＞＞１
によって定まる。
【０４１２】
なお、式(eq.A4)〜(eq.A5)において、非０変換係数のカウント数ｃｎｔを１ビット右シフトすることで、コンテキスト数を削減することが可能である。
【０４１３】
また、周辺参照コンテキスト導出部１２４ｃは、部分領域Ｒ１において、非０変換係数のカウント数ｃｎｔを、図１０（ａ）または図１０（ｂ）に示す参照周波数成分ｃ１〜ｃ５を用いて、以下の式（eq.A6）によって導出する。
【０４１４】
ｃｎｔ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ３！＝０）＋（ｃ４！＝０）＋（ｃ５！＝０）  ・・・(eq.A6)
ここで、(eq.A6)における各項は、（）内の比較が真である場合に１をとり、（）内の比較が偽である場合に０をとるものとする。
【０４１５】
また、非０変換係数の数ｃｎｔを、式（eq.6）の代わりに、図３６（ａ）に示す参照周波数成分（ｃ１、ｃ２、ｃ４、ｃ５）を用いて、対象とする変換係数の位置の、処理順で直前（処理順が逆スキャン順である場合には、対象とする変換係数の位置の下側）に位置する座標（ｃ３）の変換係数を参照しないようにした数式（eq.A7）によって算出してもよい。このような処理は、ある位置の係数有無フラグの復号に用いるコンテキスト導出を、直前の係数有無フラグの値を参照せずに行うことができるため、コンテキスト導出処理と復号処理とを並列に処理することができる。
【０４１６】
ｃｎｔ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ４！＝０）＋（ｃ５！＝０）・・・(eq.A7)
また、対象とする変換係数のサブブロック内の位置に応じて、数式（eq.A6）と数式（eq.A７）との何れかを用いて変換係数を導出する構成としてもよい。すなわち、対象とする変換係数のサブブロック内の位置に応じて、変換係数の導出に用いる参照成分を変更する構成としてもよい。
【０４１７】
より具体的には、対象とする変換係数がサブブロック内の左上に位置する場合と、対象とする変換係数がサブブロック内の右下に位置する場合とのいずれか一方において、サブブロック内での対象とする変換係数の処理順で直前の位置（ここでは下側）の変換係数の値に依存しないように、数式（eq.A７）の参照周波数成分を用い、それ以外の場合には、数式（eq.A6）の参照周波数成分を用いてもよい。
【０４１８】
以上のように、本構成例に係る係数有無フラグ復号部１２４−Ａによれば、周波数分類部１２４ａにおいて、サブブロック座標に基づいて周波数成分の分類を行うことによって、サブブロック座標（ｘＣＧ、ｙＣＧ）がｘＣＧ＋ｙＣＧ＞０を満たす場合において、サブブロック内における周波数分類を行う分岐処理を省略することができる。既に説明した分類、たとえば、
・ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜２を満たす周波数成分を部分領域Ｒ０に分類する。
【０４１９】
・２≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ１を満たす周波数成分を部分領域Ｒ１に分類する。
【０４２０】
・ＴＨ１≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ２を満たす周波数成分を部分領域Ｒ２に分類する。
【０４２１】
・ＴＨ２≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹを満たす周波数成分を部分領域Ｒ３に分類する。
【０４２２】
上記のような分類を行う場合には、サブブロック内部で上記分類を行う分岐処理が必要である。しかしながら、本構成例においては、分類処理において参照する座標をブロック全体における座標（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）ではなくサブブロック座標（ｘＣＧ、ｙＣＧ）に置き換えることができるので、（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照する上記分岐が不要である。これによって、サブブロック内のコンテキストインデックス導出における遅延を削減し、コンテキスト導出のスループットを向上させることができる。
【０４２３】
また、以上の構成では、サブブロックごとのサブブロック係数有無フラグとサブブロック内の係数有無フラグを組み合わせて、非０係数の有無を復号する。この構成では、サブブロック内の係数有無フラグの復号に用いるコンテキスト導出を簡略化することができる。すなわち、図３６（ａ）に示すように参照数を４つに減らすことができる。
【０４２４】
なお、上記の例では、周波数成分を３つの部分領域に分類したが、２つの部分領域に分類する方法でも良い。この場合、
（１）ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜THZを満たす周波数成分を部分領域Ｒ０に分類する。
【０４２５】
（２）THZ≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹを満たす周波数成分を部分領域Ｒ１に分類する。
【０４２６】
部分領域R0の係数有無フラグの復号に用いるコンテキスト導出は、上記のとおりであり、部分領域R1の係数有無フラグの復号に用いるコンテキスト導出は、
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（２，ｔｅｍｐ）  ・・・（eq.A4）
ｔｅｍｐ＝（ｃｎｔ＋１）＞＞１
を用い、さらにｃｎｔは４点参照、例えば、数式（eq.A７）を用いる構成でも良い。この構成では、サブブロック内の係数有無フラグの復号に用いるコンテキスト導出を簡略化することができる。
また、次の条件によりＲ０、Ｒ１へ分類してもよい。
【０４２７】
（１）ｘCG+ｙCG==0かつｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜THZを満たす周波数成分を部分領域Ｒ０に分類する。
【０４２８】
（２）ｘCG+ｙCG＞０もしくはTHZ≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹを満たす周波数成分を部分領域Ｒ１に分類する。
【０４２９】
上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if ( xCG+yCG==0 ){
if( uiPosX+uiPosY<THZ ){
R0へ分類
}
else {// if( uiPosX+uiPosY>=THZ)
R1へ分類
}
}
else{//if( xCG+yCG>0 )
R1へ分類
}
*******************************************************************
上記分類処理によれば、サブブロック位置（ｘCG、ｙCG）が（０、０）以外の部分におけるサブブロック内での周波数成分を分類するための分岐処理をなくすことができる。
【０４３０】
以上のように、係数有無フラグ復号部１２４−Ａの備える周波数分類部１２４ａは、高周波数側において、対象周波数領域における当該対象サブブロックの位置を参照して、周波数領域を部分領域に分割する。
【０４３１】
また、周辺参照コンテキスト導出部１２４ｃは、このような分割により得られた部分領域に属する係数有無フラグの復号に用いるコンテキストを導出する。
【０４３２】
したがって、係数有無フラグ復号部１２４−Ａは、対象サブブロックが対象周波数領域において高周波数側の部分領域に属するものである場合、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出するものである、と表現することもできる。
【０４３３】
以下では、係数有無フラグ復号部の第７の構成例において、変換ブロックサイズが１６×１６、３２×３２のときに、周波数領域を部分領域Ｒ０、Ｒ１へ分割し、Ｒ０では低周波位置コンテキスト、Ｒ１では、図３６（ａ）に示す４つの参照周波数成分（ｃ１、ｃ２、ｃ４、ｃ５）による周辺参照コンテキストによりコンテキストインデックスctxIdxを導出する場合の疑似コードを示す。なお、疑似コード中のsigCtxは、ctxIdxと同義である。
*******************************************************************
If log2TrafoSize is less than or equal to 3, sigCtx is derived as follows.
shift =  log2TrafoSize  = =  3 ? 1 : 0        sigCtx  =  ( shift  *  15 )  +  ( ( yC  >>  shift )  <<  2 )  +  ( xC  >>  shift ) 
If cIdx is equal to 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
If xC + yC is less than 1, sigCtx is derived as follows.
sigCtx  =  31   
Otherwise if (xC>>2) + (yC>>2) is less than 1 << (uiLog2BlkSize-4), sigCtx is derived as follows.
temp  =  significant_coeff_flag[ xC + 1 ][ yC ]  +  significant_coeff_flag[ xC + 2 ][ yC ]  +   significant_coeff_flag[ xC ][ yC + 1 ]  +  significant_coeff_flag[ xC + 1 ][ yC + 1 ]  +   significant_coeff_flag[ xC ][ yC + 2 ]         temp  = ( temp + 1) >>1          sigCtx  =  32  +  Min( 2, temp )
Otherwise ((xC>>2) + (yC>>2) is greater than or equal to 1 << (uiLog2BlkSize-4))), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
The variable ctxCnt is initialized as follows.
ctxCnt =  0 
When xC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 1 ][ yC ] 
When xC and yC are less than ( 1 << log2TrafoSize ) ? 1, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 1 ][ yC + 1 ] 
When xC is less than ( 1 << log2TrafoSize ) ? 2, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 2 ][ yC ] 
When yC is less than ( 1 << log2TrafoSize ) ? 2 and ctxCnt is less than 3,the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC ][ yC + 2 ]
ctxCnt =(ctxCnt + 1) >>1        sigCtx = 35 + ctxCnt
If cIdx is greater than 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
If xC + yC is less than 1, sigCtx is derived as follows.
sigCtx  =  31   
Otherwise (xC + yC is greater than or equal to 1), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
The variable ctxCnt is initialized as follows.
ctxCnt =  0 
When xC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 1 ][ yC ] 
When xC and yC are less than ( 1 << log2TrafoSize ) ? 1, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 1 ][ yC + 1 ] 
When xC is less than ( 1 << log2TrafoSize ) ? 2, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 2 ][ yC ] 
When yC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC ][ yC + 1 ] 
When yC is less than ( 1 << log2TrafoSize ) ? 2 and ctxCnt is less than 3, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC ][ yC + 2 ]
ctxCnt =((ctxCnt + 1) >>1    sigCtx = 32 + ctxCnt
*******************************************************************
以下では、係数有無フラグ復号部の第７の構成例において、変換ブロックサイズが１６×１６、３２×３２のときに、周波数領域を部分領域Ｒ０、Ｒ１、Ｒ２へ分割し、Ｒ０では低周波位置コンテキスト、Ｒ１では図１０（ａ）に示す５つの参照周波数成分（ｃ１、ｃ２、ｃ３、ｃ４、ｃ５）を、Ｒ２では、図３６（ａ）に示す４つの参照周波数成分（ｃ１、ｃ２、ｃ４、ｃ５）を用いて周辺参照コンテキストによりコンテキストインデックスctxIdxを導出する場合の疑似コードを示す。なお、疑似コード中のsigCtxは、ctxIdxと同義である。
*******************************************************************
If log2TrafoSize is less than or equal to 3, sigCtx is derived as follows.
shift =  log2TrafoSize  = =  3 ? 1 : 0        sigCtx  =  ( shift  *  15 )  +  ( ( yC  >>  shift )  <<  2 )  +  ( xC  >>  shift ) 
If cIdx is equal to 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
If xC + yC is less than 1, sigCtx is derived as follows.
sigCtx  =  31   
Otherwise if xC + yC is less than 1 << (uiLog2BlkSize-2), sigCtx is derived as follows.
temp  =  significant_coeff_flag[ xC + 1 ][ yC ]  +  significant_coeff_flag[ xC + 2 ][ yC ]  + significant_coeff_flag[ xC ][ yC + 1 ]  +  significant_coeff_flag[ xC + 1 ][ yC + 1 ]  +   significant_coeff_flag[ xC ][ yC + 2 ]         temp  = ( temp + 1) >>1          sigCtx  =  32  +  Min( 2, temp )
Otherwise (xC  +  yC is greater than or equal to 1 << (uiLog2BlkSize-2)), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
The variable ctxCnt is initialized as follows.
ctxCnt =  0 
When xC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 1 ][ yC ] 
When xC and yC are less than ( 1 << log2TrafoSize ) ? 1, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 1 ][ yC + 1 ] 
When xC is less than ( 1 << log2TrafoSize ) ? 2, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 2 ][ yC ] 
When yC is less than ( 1 << log2TrafoSize ) ? 2 and ctxCnt is less than 3, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC ][ yC + 2 ]
ctxCnt =(ctxCnt + 1) >>1      sigCtx = 35 + ctxCnt
If cIdx is greater than 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
If xC + yC is less than 1, sigCtx is derived as follows.
sigCtx  =  31   
Otherwise if xC + yC is less than 1 << (uiLog2BlkSize-2), sigCtx is derived as follows.
temp  =  significant_coeff_flag[ xC + 1 ][ yC ]  +  significant_coeff_flag[ xC + 2 ][ yC ]  +   significant_coeff_flag[ xC ][ yC + 1 ]  +  significant_coeff_flag[ xC + 1 ][ yC + 1 ]  +   significant_coeff_flag[ xC ][ yC + 2 ] 
temp  = ( temp + 1) >>1          sigCtx  =  32  +  Min( 2, temp ) 
Otherwise (xC + yC is greater than or equal to  1 << (uiLog2BlkSize-2)), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
The variable ctxCnt is initialized as follows.
ctxCnt =  0 
When xC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 1 ][ yC ] 
When xC and yC are less than ( 1 << log2TrafoSize ) ? 1, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 1 ][ yC + 1 ] 
When xC is less than ( 1 << log2TrafoSize ) ? 2, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC + 2 ][ yC ] 
When yC is less than ( 1 << log2TrafoSize ) ? 2 and ctxCnt is less than 3, the following applies.
ctxCnt = ctxCnt +  significant_coeff_flag[ xC ][ yC + 2 ]
ctxCnt =(ctxCnt + 1) >>1    sigCtx = 32 + ctxCnt
*******************************************************************
＜係数有無フラグ復号部の第８の構成例＞
図３７は、本実施形態に係る係数有無フラグ復号部の第８の構成例としての係数有無フラグ復号部１２４−Ｂを示すブロック図である。本構成例に係る係数有無フラグ復号部１２４−Ｂにおける復号処理の流れは、図３３に示したフローチャートを参照して説明される。
【０４３４】
図３７に示すように、本構成例に係る係数有無フラグ復号部１２４−Ｂは、サブブロック係数有無フラグ復号部Ｘ１、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、高周波位置コンテキスト導出部１２４ｄを備えている。
【０４３５】
（係数有無フラグ復号部１２４−Ｂの備えるサブブロック係数有無フラグ復号部Ｘ１）
係数有無フラグ復号部１２４−Ｂの備えるサブブロック係数有無フラグ復号部Ｘ１は、ビット復号部１３２より供給されるＢｉｎを解釈し、周波数領域を構成する各サブブロックの中に少なくとも１つ非０の変換係数が存在するか否かを示すサブブロック係数有無フラグ(significant_coeffgroup_flag)を復号する（図３３のステップＳＹ１）。
【０４３６】
続いて、変換ブロック内にあるサブブロック毎に、サブブロック内にある変換係数有無フラグを復号する（図３３のステップＳＹ２〜ステップＳＹ４）。すなわち、サブブロック係数有無フラグ復号部Ｘ１において、サブブロック係数有無フラグが１の場合（図３３のステップＳＹ２においてＹの場合）、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、高周波位置コンテキスト導出部１２４ｄを用いてサブブロック内の係数有無フラグを復号する。また、サブブロック係数有無フラグが０の場合（図３３のステップＳＹ２においてＮの場合）、サブブロック内の係数有無フラグの復号をスキップし、次のサブブロックの処理へ移行する。
【０４３７】
（係数有無フラグ復号部１２４−Ｂの備える周波数分類部１２４ａ）
係数有無フラグ復号部１２４−Ｂの備える周波数分類部１２４ａは、周波数領域における復号対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、及び高周波位置コンテキスト導出部１２４ｄの何れかによって導出されたコンテキストインデックスctxIdxを、当該復号対象の周波数成分に割り付ける（図３３のステップＳＹ３）。
【０４３８】
係数有無フラグ復号部１２４−Ｂの備える周波数分類部１２４ａは、周波数領域に含まれる各周波数成分の当該周波数領域における位置（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照し、当該周波数成分を複数の部分領域Ｒ０〜Ｒ３に分類する。ここで、ｕｉＰｏｓＸ＝０、１、．．．、ｓｚ−１であり、ｕｉＰｏｓＹ＝０、１、．．．、ｓｚ−１であるとする（ｓｚは、上述のように処理対象ＴＵの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表しており、例えば、ｓｚ＝１６，３２等である）。
【０４３９】
ここで、sｚ×sｚブロックの周波数領域を４×４サブブロックに分割し、当該周波数成分（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）が属するサブブロックの位置を（ｘＣＧ,ｙＣＧ）とする。なお、当該周波数成分が属するサブブロック位置（ｘＣＧ，ｙＣＧ）は下記式(eq.B1)〜(eq.B2)により導出される。
【０４４０】
ｘＣＧ＝ｕｉＰｏｓＸ＞＞２  ・・・（eq.B1）
ｙＣＧ＝ｕｉＰｏｓＹ＞＞２  ・・・（eq.B2）
ここで、ｘＣＧ＝０、１、．．．、（ｓｚ−１）＞＞２であり、ｙＣＧ＝０、１、．．．、（ｓｚ−１）＞＞２であるとする。
【０４４１】
係数有無フラグ復号部１２４−Ｂの備える周波数分類部１２４ａは、より具体的には、以下の分類処理を行う。
【０４４２】
（１）ｘＣＧ＋ｙＣＧ＜ＴＨＢ、かつ、ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨＺを満たす周波数成分を部分領域Ｒ０に分類する。
【０４４３】
（２）ｘＣＧ＋ｙＣＧ＜ＴＨＢ、かつ、ＴＨＺ≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ１を満たす周波数成分を部分領域Ｒ１に分類する。
【０４４４】
（３）ｘＣＧ＋ｙＣＧ＜ＴＨＢ、かつ、ＴＨ１≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ、かつ、を満たす周波数成分を部分領域Ｒ２に分類する。
【０４４５】
（４）ＴＨＢ≦ｘＣＧ＋ｙＣＧを満たす周波数成分を部分領域Ｒ３に分類する。
【０４４６】
上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if( xCG+yCG<THB ) {
if( uiPosX+uiPosY<THZ){
R0へ分類
} 
else if( uiPosX+uiPosY<TH1 ){
R1へ分類
} else{ //if(uiPosX+uiPosY>=TH1) 
R2へ分類
}
else{// if(xCG+yCG>=THB)
R3へ分類
}
*******************************************************************
ここで、閾値ＴＨＺには２を用いる。また、ＴＨ１及びＴＨＢの具体的な値としては、例えば、周波数領域のサイズ（処理対象ＴＵのサイズ）log2TrafoSizeを用いて、
ＴＨ１＝５、
ＴＨＢ＝１＜＜(log2TrafoSize-2)
とすればよい。また、周波数領域のサイズが１６×１６である場合、ＴＨ１＝５、ＴＨＢ＝４とし、周波数領域のサイズが３２×３２である場合、ＴＨ１＝５、ＴＨＢ＝８としてもよい。
また、閾値ＴＨ１及びＴＨＢは周波数領域のサイズlog2TrafoSizeを用いて、
ＴＨ１＝５、
ＴＨＢ＝１＜＜(log2TrafoSize-4)
と設定してもよい。すなわち、周波数領域のサイズが１６×１６である場合、ＴＨ１＝５、ＴＨＢ＝１とし、周波数領域のサイズが３２×３２である場合、ＴＨ１＝５、ＴＨＢ＝２と設定する。また、他の値に設定することもできる。
【０４４７】
また、閾値ＴＨ１、及びＴＨＢを、
ＴＨ１＝５、
ＴＨＢ＝１＜＜(log2TrafoSize−3)
と設定してもよい。すなわち、周波数領域のサイズが１６×１６である場合、ＴＨ１＝５、ＴＨＢ＝２とし、周波数領域のサイズが３２×３２である場合、ＴＨ１＝５、ＴＨＢ＝４と設定する。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
【０４４８】
以上のように構成された周波数分類部１２４ａによれば、変換係数の位置によりコンテキスト導出方法を切り替えるための分岐処理を、サブブロック座標（ｘＣＧ、ｙＣＧ）を用いた分岐処理とすることにできる。（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照する分岐処理を行う場合に比べて、サブブロック内部で行われる（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照する分岐処理を省略することができ、コンテキスト導出のスループットを向上させることができる。
【０４４９】
図３８は、係数有無フラグ復号部１２４−Ｂの備える周波数分類部１２４ａによる分類処理によって、部分領域Ｒ０、Ｒ１、Ｒ２、及びＲ３に分割された周波数領域の一例を示している。
【０４５０】
係数有無フラグ復号部１２４−Ｂの備える周波数分類部１２４ａは、部分領域Ｒ０に属する周波数成分に対して、低周波位置コンテキスト導出部１２４ｂによって導出されたコンテキストインデックスを割り付け、部分領域Ｒ１及びＲ２に属する周波数成分に対して、周辺参照コンテキスト導出部１２４ｃによって導出されたコンテキストインデックスを割り付け、部分領域Ｒ３に属する周波数成分に対して、高周波位置コンテキスト導出部１２４ｄによって導出されたコンテキストインデックスを割り付ける。
【０４５１】
また、上記の説明においては、周波数分類部１２４ａが、対象周波数成分の位置として（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）、及び対象周波数成分が属するサブブロックの位置（ｘＣＧ，ｙＣＧ）を参照するものとしたが、本実施形態はこれに限定されるものではない。例えば、対象周波数成分の位置として、順スキャン順または逆スキャン順に沿って付与された周波数成分識別インデックス（例えば図５における「ｎ」）を参照し、対象周波数成分を複数の部分領域の何れかに分類する構成としてもよい。
【０４５２】
また、係数有無フラグ復号部１２４−Ｂの備える周波数分類部１２４ａは、算術符号復号部１３０でシンタックスsignificant_coeff_flagを復号するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される（図３３のステップＳＹ４）。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部１２６に格納され、係数値復号部１２５によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。
【０４５３】
以下では、各部分領域Ｒ０〜Ｒ３に対応するコンテキスト導出について具体的に説明する。
【０４５４】
（係数有無フラグ復号部１２４−Ｂの備える低周波位置コンテキスト導出部１２４ｂ）
係数有無フラグ復号部１２４−Ｂの備える低周波位置コンテキスト導出部１２４ｂは、復号対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
【０４５５】
係数有無フラグ復号部１２４−Ｂの備える低周波位置コンテキスト導出部１２４ｂは、部分領域Ｒ０に属する周波数成分に対して、以下の式(eq.B3)を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部１２４ａに供給する。
【０４５６】
ｃｔｘＩｄｘ＝ＮＸ＋２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹ  ・・・(eq.B3)
なお、ＮＸはコンテキストインデックスの開始点を表す定数である。周波数領域のサイズが４×４及び８×８で用いるコンテキスト数が各々Ｎ４個、Ｎ８個の場合には、周波数領域のサイズが１６×１６および３２×３２の開始点はＮＸ＝Ｎ４＋Ｎ８になる。
【０４５７】
（係数有無フラグ復号部１２４−Ｂの備える周辺参照コンテキスト導出部１２４ｃ）
係数有無フラグ復号部１２４−Ｂの備える周辺参照コンテキスト導出部１２４ｃは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非０変換係数の数ｃｎｔに基づいて導出する。
【０４５８】
係数有無フラグ復号部１２４−Ｂの備える周辺参照コンテキスト導出部１２４ｃは、部分領域Ｒ１に属する周波数成分に対して、以下の式(eq.B4)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部１２４ａに供給する。
【０４５９】
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（４、ｃｎｔ）  ・・・(eq.B4)
なお、部分領域Ｒ１において、非０変換係数のカウント数ｃｎｔは、図１０（ａ）または図１０（ｂ）に示す（Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５）を用いて、以下の式(eq.B5)によって導出する。
【０４６０】
ｃｎｔ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ３！＝０）＋（ｃ４！＝０）＋（ｃ５！＝０）  ・・・(eq.B5)
また、係数有無フラグ復号部１２４−Ｂの備える周辺参照コンテキスト導出部１２４ｃは、部分領域Ｒ２に属する周波数成分に対して、以下の式(eq.B6)を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部１２４ａに供給する。
【０４６１】
ｃｔｘＩｄｘ＝ＮＸ＋８＋ｍｉｎ（４、ｃｎｔ）  ・・・(eq.B6)
なお、部分領域Ｒ２において、非ゼロ変換係数のカウント数ｃｎｔは、図３６（ａ）に示す参照周波数成分（ｃ１、ｃ２、ｃ４、ｃ５）を用いて、対象とする変換係数の位置の、処理順で直前（処理順が逆スキャン順である場合には、対象とする変換係数の位置の下側）に位置する座標（ｃ３）の変換係数を参照しないようにした以下の式(eq.B7)によって導出する。このような処理は、ある位置の係数有無フラグの復号に用いるコンテキスト導出を、直前の係数有無フラグの値を参照せずに行うことができるため、コンテキスト導出処理と復号処理とを並列に処理することができる。
【０４６２】
ｃｎｔ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ４！＝０）＋（ｃ５！＝０）・・・(eq.B7)
ここで、式(eq.B7)の各項は、（）内の比較が真である場合に１をとり、（）内の比較が偽である場合に０をとるものとする。
【０４６３】
また、部分領域R1に関して、式(eq.B6)の代わりに、式(eq.B7)によって非ゼロ係数の個数ｃｎｔを算出してもよい。
【０４６４】
また、部分領域R2に関して、式(eq.B7)の代わりに、図１５(c)、（ｄ）、（ｅ）、（ｆ）、または、図３６（ｂ）、図３６（ｃ）に示す３つの参照係数を用いて非ゼロ係数の個数ｃｎｔを算出してもよい。
【０４６５】
（係数有無フラグ復号部１２４−Ｂの備える高周波位置コンテキスト導出部１２４ｄ）
係数有無フラグ復号部１２４−Ｂの備える高周波位置コンテキスト導出部１２４ｄは、復号対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置と、当該周波数成分の属するサブブロックの位置に基づいて導出する。
【０４６６】
係数有無フラグ復号部１２４−Ｂの備える高周波位置コンテキスト導出部１２４ｄは、部分領域Ｒ３に属する周波数成分に対して、以下の式(eq.B8)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部１２４ａに供給する。
【０４６７】
ｃｔｘＩｄｘ＝ＮＸ＋１３＋ｍｉｎ（ｍａｘＲ３、（ｘＣＧ＋ｙＣＧ−ＴＨＢ）＞＞ｓｈｉｆｔ）  ・・・(eq.B8)
ここで、記号「＞＞」は、右ビットシフトを表している。また、ｓｈｉｆｔ及びｍａｘＲ３としては、例えば、対象周波数領域のサイズが１６×１６の場合は、ｓｈｉｆｔ＝０、ｍａｘＲ３＝３を用い、対象周波数領域のサイズが３２×３２の場合は、ｓｈｉｆｔ＝１、ｍａｘＲ３＝３を用いればよいが本実施形態はこれに限定されるものではない。
【０４６８】
なお、係数有無フラグ復号部１２４−Ｂの備える周波数分類部１２４ａによる分類処理によって分割される周波数領域の例は、図３８に示すものに限定されるものではなく、例えば、図３９に示すように周波数領域を分割してもよい。すなわち、係数有無フラグ復号部１２４−Ｂの備える周波数分類部１２４ａは、次のように周波数領域を部分領域Ｒ０、Ｒ１、Ｒ２及びＲ３に分類する構成としてもよい。
【０４６９】
（１）ｘＣＧ＋ｙＣＧ＜ＴＨＡ、かつ、ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨＺを満たす周波数成分を部分領域Ｒ０に分類する。
【０４７０】
（２）ｘＣＧ＋ｙＣＧ＜ＴＨＡ、かつ、ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ≧ＴＨＺ、を満たす周波数成分を部分領域Ｒ１に分類する。
【０４７１】
（３）ＴＨＡ≦ｘＣＧ＋ｙＣＧ＜ＴＨＢを満たす周波数成分を部分領域Ｒ２に分類する。
【０４７２】
（４）ＴＨＢ≦ｘＣＧ＋ｙＣＧを満たす周波数成分を部分領域Ｒ３に分類する。
【０４７３】
上記の分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if( xCG+yCG<THA ){
if( uiPosX+uiPosY<THZ ){
R0へ分類
} 
else {// if(uiPosX+uiPosY>THZ)
R1へ分類
} 
} 
else if( xCG+yCG<THB ){ 
R2へ分類
} 
else{ // if( xCG+yCG>=THB)
R3へ分類
}
*******************************************************************
ここで、閾値ＴＨＺには２を用いる。また、ＴＨＡ及びＴＨＢの具体的な値としては、例えば、周波数領域のサイズ（処理対象ＴＵのサイズ）log2TrafoSizeを用いて、
ＴＨＡ＝１＜＜(log2TrafoSize-4)、
ＴＨＢ＝１＜＜(log2TrafoSize-2)
とすればよい。また、周波数領域のサイズが１６×１６である場合、ＴＨＡ＝1、ＴＨＢ＝４とし、周波数領域のサイズが３２×３２である場合、ＴＨＡ＝２、ＴＨＢ＝８としてもよい。また、閾値ＴＨＢは、周波数領域のサイズlog2TrafoSizeを用いて、
ＴＨＢ＝１＜＜(log2TrafoSize-3)
と設定してもよい。すなわち、周波数領域のサイズが１６×１６である場合、ＴＨＢ＝２とし、周波数領域のサイズが３２×３２である場合、ＴＨＢ＝４と設定する。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
【０４７４】
図３９に示す例においては、周波数領域は、部分領域Ｒ０、Ｒ１、Ｒ２及びＲ３に分類される。部分領域Ｒ０、Ｒ１、Ｒ２及びＲ３に属する周波数成分に対しては、上述したように、それぞれ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、及び高周波位置コンテキスト導出部１２４ｄによってコンテキストインデックスctxIdxが算出される。
【０４７５】
以上のように構成された周波数分類部１２４ａによれば、変換係数の位置によりコンテキスト導出方法を切り替えるための分岐を、サブブロック座標（ｘＣＧ、ｙＣＧ）を用いた分岐にすることにできる。（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照する分岐処理を行う場合に比べ、サブブロック内部で行われる（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照する分岐処理を省略することができ、コンテキスト導出のスループットを向上させることができる。
【０４７６】
さらに、以上のように構成された係数有無フラグ復号部およびサブブロック係数有無フラグ復号部によれば、位置コンテキストの算出において、ある変換係数の位置の係数有無フラグのコンテキストを、既に復号された係数有無フラグの値によらずに決定するため、係数有無フラグのコンテキスト導出と、係数有無フラグの復号を並列で行うことができるという効果がある。
【０４７７】
以下では、係数有無フラグ復号部の第８の構成例において、変換ブロックサイズが１６×１６、３２×３２のときに、周波数領域を部分領域Ｒ０、Ｒ１、Ｒ２、Ｒ３へ分割し、Ｒ０では低周波位置コンテキスト、Ｒ１〜Ｒ２では、図３６（ａ）に示す４つの参照周波数成分（ｃ１、ｃ２、ｃ４、ｃ５）による周辺参照コンテキスト、Ｒ３では高周波位置コンテキストによりコンテキストインデックスctxIdxを導出する場合の疑似コードを示す。なお、疑似コード中のsigCtxは、ctxIdxと同義である。
*******************************************************************
If log2TrafoSize is less than or equal to 3, sigCtx is derived as follows.
shift  =  log2TrafoSize  = =  3 ? 1 : 0
sigCtx  =  ( shift  *  15 )  +  ( ( yC  >>  shift )  <<  2 )  +  ( xC  >>  shift ) 
If cIdx is equal to 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
If xC + yC is less than 1, sigCtx is derived as follows.
sigCtx  =  31   
Otherwise if (xC>>2) + (yC>>2) is less than 1 << (uiLog2BlkSize-4), sigCtx is derived as follows.
temp  =  significant_coeff_flag[ xC + 1 ][ yC ]  +  significant_coeff_flag[ xC + 2 ][ yC ]  +   significant_coeff_flag[ xC + 1 ][ yC + 1 ]  +  significant_coeff_flag[ xC ][ yC + 2 ]         temp  = ( temp + 1) >>1          sigCtx  =  32  +  Min( 2, temp )
Otherwise if (xC>>2) + (yC>>2) is less than 1 << (uiLog2BlkSize-2), sigCtx is derived as follows.
temp = significant_coeff_flag[ xC + 1 ][ yC ]  +  significant_coeff_flag[ xC + 2 ][ yC ]  +  significant_coeff_flag[ xC ][ yC + 1 ]  +  significant_coeff_flag[ xC + 1 ][ yC + 1 ]  +   significant_coeff_flag[ xC ][ yC + 2 ]     
temp  = ( temp + 1) >>1          sigCtx  =  35  +  Min( 2, temp )
Otherwise (xC>>2) + (yC>>2) is greater than or equal to 1 << (uiLog2BlkSize-2), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
sigCtx = 38
If cIdx is greater than 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
If xC + yC is less than 1, sigCtx is derived as follows.
sigCtx  =  31   
Otherwise if(xC>>2)+(yC>>2)is less than 1 << (uiLog2BlkSize-3), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flagas follows.
temp  =  significant_coeff_flag[ xC + 1 ][ yC ]  +  significant_coeff_flag[ xC + 2 ][ yC ]  +     significant_coeff_flag[ xC + 1 ][ yC + 1 ]  +  significant_coeff_flag[ xC ][ yC + 2 ]
temp  = ( temp + 1) >>1          sigCtx  =  35  +  Min( 2, temp )
Otherwise if((xC>>2)+ (yC>>2) is greater than or equal to 1 << (uiLog2BlkSize-3))) sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
sigCtx = 38
*******************************************************************
＜係数有無フラグ復号部の第８の構成例の他の構成例＞
以下では、係数有無フラグ復号部１２４−Ｂによる他の処理例について図４８、図５２〜図５３を参照して説明する。
【０４７８】
図４８（ａ）〜（ｂ）は、本処理例において、周波数分類部１２４ａによって分割された部分領域を示す図であり、図４８（ａ）は、輝度値に関する変換係数を復号する際に好適に適用されるものであり、図４８（ｂ）は、色差に関する変換係数を復号する際に好適に適用されるものである。図４８（ａ）〜（ｂ）における閾値ＴＨ、閾値ＴＨ２の設定方法は既に説明した通りである。
【０４７９】
閾値ＴＨを用いて、周波数分類部１２４ａは、図５２に示すように、対象変換係数の周波数成分上の位置（xC、yC）に応じて部分領域Ｒ１と部分領域Ｒ２を分類する。
【０４８０】
xC+yC < ＴＨ
閾値ＴＨ２を用いて、周波数分類部１２４ａは、図５２に示すように、対象変換係数の周波数成分上の位置（xC、yC）をあるサブブロックサイズ（ここでは４）で割った値に応じて、互いに参照数の異なる部分領域Ｒ２と部分領域Ｒ３を分類する。
【０４８１】
(xC>>2)+(yC>>2) < ＴＨ２
ここで２つの部分領域を区別する閾値ＴＨ２は、既に説明した通りＴＨ２×サブブロックサイズ（＝４）が、対象周波数領域のサイズＭａｘ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）よりも小さいことを満たすことが好ましい。
【０４８２】
図５２は、図４８（ａ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスであって、輝度に関するコンテキストインデックスｃｘｔＩｄｘを導出する導出処理を示す擬似コードである。図５２において、領域Ｒ０のコンテキスト導出は、位置コンテキスト導出部１２４ｂによって行われ、領域Ｒ１〜領域Ｒ２のコンテキスト導出は、周辺参照コンテキスト導出部１２４ｃ、領域Ｒ３のコンテキスト導出は、高周波位置コンテキスト導出部１２４ｄによって行われる。
【０４８３】
周辺参照コンテキスト導出部１２４ｃは、例えば、図４８（ａ）、（ｂ）に示す部分領域Ｒ１に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部１２４ａに供給する。
【０４８４】
sigCtx = sigCtxOffsetR1 + Min(2, ctxCnt);
ここで、ctxcCntは、カウント数に応じて得られる値である。ここでは、カウント数を多対一変換する処理（集約処理）により集約して得る。すなわち、以下の式のように、約１／２にするように右シフトして得られる値であり
ctxCnt＝（ｃｎｔ＋１）＞＞１
によって定まる。また、右シフトによらず、以下のようにカウント数を固定値（ここでは３）にクリップする処理により多対一変換を行っても良い。
【０４８５】
ctxCnt＝ｍｉｎ（３、ｃｎｔ）
なお、非０変換係数のカウント数cntは、次の擬似コードのように、対象変換係数の周波数成分上の位置（xC、yC）に応じて、c1、c2、c3、c4、c5の５つの既に復号済みの変換係数を参照するか、もしくは、c1、c2、c4、c5の４つの既に復号済みの変換係数を参照することで算出する。
【０４８６】
if( ( ( xC & 3 ) || ( yC & 3 ) ) && ( ( (xC+1) & 3 ) || ( (yC+2) & 3 ) )
))
{
cnt = (c1!=0) + (c2!=0) + (c4!=0) + (c5!=0);
} else{
cnt= (c1!=0) + (c2!=0) + (c3!=0) + (c4!=0) + (c5!=0);
}
また、周辺参照コンテキスト導出部１２４ｃは、例えば、図４８（ａ）に示す部分領域Ｒ２に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部１２４ａに供給する。
【０４８７】
sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
なお、非０変換係数のカウント数cntの計算方法は、部分領域Ｒ１と同様である。
【０４８８】
高周波位置コンテキスト導出部１２４ｄは、例えば、図４８に示す部分領域Ｒ３に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtx を周波数分類部１２４ａに供給する。すなわち、固定値を用いてコンテキストインデックスを導出する。
【０４８９】
sigCtx = sigCtxOffsetR3;
高周波数成分である部分領域Ｒ３では、低周波数成分の部分領域Ｒ１、Ｒ２と異なり位置コンテキストによりコンテキストを導出するため、処理量が削減される。
【０４９０】
色差の場合も、図４８（ｂ）の部分領域Ｒ０、部分領域Ｒ１、部分領域Ｒ３について、輝度の場合と同様の処理を行う。まず、周波数分類部１２４ａは、図５３に示すように、対象変換係数の周波数成分上の位置（xC、yC）をあるサブブロックサイズ（ここでは４）で割った値に応じて、互いに参照数の異なる部分領域Ｒ１と部分領域Ｒ３を分類する。さら、図５３に示す通り、部分領域Ｒ０では位置コンテキスト導出部１２４ｂにおいて位置コンテキストによりコンテキスト導出を行い、部分領域Ｒ１では周辺参照コンテキスト導出部１２４ｃにおいて、周辺参照コンテキストによるコンテキスト導出を行う。部分領域Ｒ３では、位置コンテキストによりコンテキスト導出を行うことにより、処理量を削減する。
【０４９１】
なお、上記の構成は、以下のように表現することもできる。
【０４９２】
分割手段（周波数分類部１２４ａ）は、対象周波数領域を少なくとも低周波数側と高周波数側の２つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、低周波数側に属する部分領域の少なくとも１つでは、復号済みの非０変換係数を参照することによって、コンテキストインデックスを導出し、高周波数側に属する部分領域では、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出する。
【０４９３】
（周囲参照コンテキストと位置コンテキストのコンテキスト共有）
なお、高周波位置コンテキスト導出部１２４ｄにおいて、周囲参照コンテキスト導出部１２４ｃで用いるコンテキストを用いることもできる。すなわち、周囲参照コンテキストを用いる部分領域と、位置コンテキストを用いる高周波領域の部分領域とでコンテキストを共有することができる。このような構成について図５４〜図５６を用いて具体例を説明する。
【０４９４】
図５４も、図５２と同様、輝度に関するコンテキストインデックスｃｘｔＩｄｘを導出する導出処理を示す擬似コードである。図５２とは高周波位置コンテキスト導出部１２４ｄの処理のみが異なる。図５２に示す処理では、以下の式により、コンテキストインデックスsigCtxを導出する。
【０４９５】
sigCtx = sigCtxOffsetR2;
すなわち、周辺参照コンテキスト導出部１２４ｃにおいてオフセット値ctxCnt = 0として求められる部分領域Ｒ２で用いるコンテキストを、高周波位置コンテキスト導出部１２４ｄの導出する部分領域Ｒ３のコンテキストとしても用いる。なお、２つの処理を統一するために、部分領域Ｒ３では以下の式で、コンテキストインデックスを導出しても良い。
【０４９６】
ctxCnt = 0;
sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
この場合、部分領域Ｒ２では、オフセット値ctxCntをカウント値cntから求め、部分領域Ｒ３では、オフセット値ctxCntを０固定で求める。
【０４９７】
色差に対しても上記と同様にコンテキスト共有を行うことができる。具体的には、図５５は、コンテキスト共有する場合の、色差に関するコンテキストインデックスｃｘｔＩｄｘ導出処理を示す擬似コードである。コンテキストを共有しない図５３とは高周波位置コンテキスト導出部１２４ｄの処理のみが異なる。
【０４９８】
このように、周囲参照コンテキストを用いる部分領域と、位置コンテキストを用いる高周波領域の部分領域とでコンテキストを共有することができる。これは、コンテキストインデックス導出手段（高周波位置コンテキスト導出部１２４ｄ、周囲参照コンテキスト導出部１２４ｃ）により導出される、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内であると表現することもできる。
【０４９９】
なお、色差の場合に高周波の位置コンテキストと周囲参照コンテキストの共有を行う構成（図５５）を用い、輝度の場合には高周波の位置コンテキストと周囲参照コンテキストの共有を行わない構成（図５２）を用いることも可能である。具体的には、図５６に示すように輝度の場合には、以下の式により部分領域Ｒ３のコンテキストインデックスを求める。
【０５００】
sigCtx = sigCtxOffsetR３ + ctxCnt;
但しctxCnt = ０。
【０５０１】
色差の場合には、以下の式により部分領域Ｒ３のコンテキストインデックスを求める。
【０５０２】
sigCtx = sigCtxOffsetR１ + ctxCnt;
但しctxCnt = ０である。
【０５０３】
これにより輝度の場合には、部分領域Ｒ３専用のコンテキストが用いられ、色差の場合には、部分領域Ｒ３以外の部分領域、ここでは周囲参照コンテキストを用いる部分領域１のコンテキストが用いられる。
【０５０４】
以上の構成のように、２つの異なる導出方法（位置コンテキストと周辺参照コンテキスト）で同じコンテキストの共有を行うことで、コンテキストに伴うメモリを低減することができる。
【０５０５】
また、上記コンテキスト共有において、オフセット値ctxCnt＝０の周辺参照コンテキストと位置コンテキストを共有する方法の他、以下の式のようにオフセット値ctxCntが０以外のコンテキストと位置コンテキストを共有しても良い。
【０５０６】
ctxCnt = １
sigCtx = sigCtxOffsetR１ + ctxCnt;
上記の構成は、コンテキストインデックス導出手段（高周波位置コンテキスト導出部１２４ｄ、周囲参照コンテキスト導出部１２４ｃ）により導出される、輝度に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲以外の値であり、上記コンテキストインデックス導出手段により導出される、色差に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内である、と表現することもできる。
【０５０７】
＜係数有無フラグ復号部の第８の構成例のコンテキスト更新遅延除去を考慮した構成例＞
以下では、係数有無フラグ復号部１２４−Ｂによるコンテキスト更新遅延除去を考慮した処理例について図４８、図５２〜図５３を参照して説明する。
【０５０８】
位置コンテキストを用いる場合には、これまで説明した通り、ある位置の係数有無フラグの復号に用いるコンテキスト導出を、直前の係数有無フラグの値を参照せずに行うことができるため、コンテキスト導出処理と復号処理とを並列に処理することができる。
【０５０９】
しかしながら、復号処理において同一のコンテキストを用いる場合には、直前のコンテキストの復号結果が０であるか１であるかに応じてコンテキストの有する状態のアップデートが必要となるので、このアップデート分の遅延が発生する。以下は、位置コンテキストにおいて、直前のコンテキストとは異なるコンテキストを割り当てることによって、コンテキストの状態アップデートに伴う遅延を削減する効果を奏する係数有無フラグ復号部の構成例を示す。
【０５１０】
図５７は、サブブロック内におけるコンテキストインデックスの導出方法を示す図である。図５７（ａ）は、サブブロックのスキャン順と、サブブロック内でのコンテキストインデックスのオフセット値ctxCntとの関係を示す図である。図に示す通り、スキャン順毎にオフセット値ctxCntは０、１、０、１というのように交互に異なる値を用いる。このようなオフセット値を用いることにより、直前のコンテキストと異なるコンテキストを割り当てることが可能になる。図５７（ｂ）は、上記処理に用いるテーブルの例を示す。図５７（ｂ）に示すテーブルは、サブブロック内の相対位置をラスタスキャンにおけるアドレスとして入力することにより、オフセット値ctxCntを得るテーブルである。
【０５１１】
図５７（ｃ）では使用例を示す。当該使用例においては、周波数成分の位置（xC、yC）から、
(xC & 3) + (yC & 3 << 2)
の演算により、ラスタスキャン上のアドレスを得た後、図５７（ｂ）に示すテーブルを参照することによって、オフセット値ctxCntを得る。なお、オフセット値ctxCntの算出は、テーブルを用いることなくサブブロック内のカウンタcntInSubBlockを用いることで通常の演算で算出することができる。図５７（ｄ）は、この演算の例である。カウンタcntInSubBlockは、サブブロックのスキャン順に０、１、２、３、・・・、１５の値をとるものとする。この場合、カウンタcntInSubBlockと２の剰余（＆１）によって、オフセット値ctxCntを算出することができる。なお、カウントcntInSubBlockの値は逆スキャン順に０、１、２、３、・・・、１５の値をとっても良い。
【０５１２】
図５８は、図５７の例よりさらに並列度を増すことのできる構成である。図５８（ａ）は、サブブロックのスキャン順と、サブブロック内でのコンテキストインデックスのオフセット値ctxCntの関係を示す図である。図に示す通り、スキャン順毎にオフセット値ctxCntは０、１、２、０、１、２、・・・というのようにＮ個単位（Ｎ＝３）で異なる値を用いる。このようなオフセット値を用いることにより、Ｎ個の連続するコンテキストで異なるコンテキストを割り当てることが可能になる。直前だけではなく、直前の直前（もしくはそれ以上）の復号で独立性が保たれるため、並列性をさらに増すことができる。図５８（ｂ）は、上記処理に用いるテーブルの例、図５８（ｃ）は使用例、図５８（ｄ）は演算による算出方法例を示している。これらは全て図５７と同様の処理であるので説明を省略する。なお、Ｎ＝３の場合を示したが、Ｎ＝４以上のＮについても同様の処理が可能である。
【０５１３】
図５９は、上記コンテキストの割り当て方法を実現する擬似コードを示す図である。具体的には、図４８（ａ）に示す部分領域Ｒ０〜Ｒ３のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスであって、輝度および色差に関するコンテキストインデックスｃｘｔＩｄｘを導出する導出処理を示す。図５９において、領域Ｒ０のコンテキスト導出は、位置コンテキスト導出部１２４ｂによって行われ、領域Ｒ１〜領域Ｒ２のコンテキスト導出は、周辺参照コンテキスト導出部１２４ｃ、領域Ｒ３のコンテキスト導出は、高周波位置コンテキスト導出部１２４ｄによって行われる。
【０５１４】
周辺参照コンテキスト導出部１２４ｃは、例えば、図４８（ａ）、（ｂ）に示す部分領域Ｒ１に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部１２４ａに供給する。
【０５１５】
sigCtx = sigCtxOffsetR1 + Min(2, ctxCnt);
ここで、ctxcCntは、多対一変換する処理（集約処理）、ここでは以下の式のようにカウント数を約１／２にするように右シフトする処理によって得る。
【０５１６】
ctxCnt＝（ｃｎｔ＋１）＞＞１
なお、多対一変換する処理は、以下のようにカウント数を固定値（ここでは３）にクリップする処理でも良い。
【０５１７】
ctxCnt＝ｍｉｎ（３、ｃｎｔ）
なお、非０変換係数のカウント数cntは、次の擬似コードのように、対象変換係数の周波数成分上の位置（xC、yC）に応じて、c1、c2、c3、c4、c5の５つの既に復号済みの変換係数を参照するか、もしくは、c1、c2、c4、c5の４つの既に復号済みの変換係数を参照することで算出する。
【０５１８】
if( ( ( xC & 3 ) || ( yC & 3 ) ) && ( ( (xC+1) & 3 ) || ( (yC+2) & 3 ) )
))
{
cnt = (c1!=0) + (c2!=0) + (c4!=0) + (c5!=0);
} else{
cnt= (c1!=0) + (c2!=0) + (c3!=0) + (c4!=0) + (c5!=0);
}
また、周辺参照コンテキスト導出部１２４ｃは、例えば、図４８（ａ）に示す部分領域Ｒ２に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部１２４ａに供給する。
【０５１９】
sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
なお、非０変換係数のカウント数cntの計算方法は、部分領域Ｒ１と同様である。
【０５２０】
高周波位置コンテキスト導出部１２４ｄは、例えば、図４８に示す部分領域Ｒ３に属する周波数成分に対して、以下の式を用いてオフセット値を算出する。
【０５２１】
ctxCnt = tbl[(xC & 3) + (yC & 3)<<2] 
このオフセット値と、部分領域Ｒ３用のコンテキストインデックスの開始点sigCtxOffsetR３との和により、以下の式によって、コンテキストインデックスsigCtxを導出し、その導出結果sigCtx を周波数分類部１２４ａに供給する。
【０５２２】
sigCtx = sigCtxOffsetR３ + ctxCnt 
高周波数成分である部分領域Ｒ３では、位置コンテキストによりコンテキストを導出するため処理量を削減と、コンテキスト導出処理と復号処理と、コンテキストの保持する状態のアップデートに伴う遅延削除によるスループット向上効果を得ることができる。
【０５２３】
なお、本構成では、高周波数成分の部分領域Ｒ３に対する構成を示すが、コンテキストの保持する状態のアップデートに伴う遅延削除によるスループット向上効果は、ブロックおよびサブブロック内で連続する周波数位置において異なるオフセット値ctxIdxを算出し、このオフセット値ctxIdxとある開始点との和から、コンテキストインデックスsigCtxを算出する他の構成においても利用することができる。
【０５２４】
なお、コンテキスト更新遅延除去を考慮する場合においても、高周波位置コンテキスト導出部１２４ｄにおいて、周囲参照コンテキスト導出部１２４ｃで用いるコンテキストを用いることもできる。すなわち、周囲参照コンテキストを用いる部分領域と、位置コンテキストを用いる高周波領域の部分領域とでコンテキストを共有する構成とすることができる。このような構成について、図６０を用いて具体例を説明する。
【０５２５】
図５９と図６０の処理では、高周波位置コンテキスト導出部１２４ｄの処理のみが異なるオフセット値ctxCntを導出した後において、輝度の場合には、以下の式でコンテキストインデックスsigCtxを導出する。
【０５２６】
sigCtx = sigCtxOffsetR２ + ctxCnt
色差の場合には以下の式でコンテキストインデックスsigCtxを導出する。
【０５２７】
sigCtx = sigCtxOffsetR１ + ctxCnt
上記処理によって、コンテキスト共有によりコンテキスト用のメモリを低減しながら、位置コンテキストによりコンテキストを導出するため処理量の削減と、コンテキスト導出処理と復号処理と、コンテキストの保持する状態のアップデートとに伴う遅延削除によるスループット向上効果を得ることができる。
【０５２８】
＜係数有無フラグ復号部の第９の構成例＞
本実施形態に係る係数有無フラグ復号部の第９の構成例について、図４０を参照して説明する。本構成例は、第４の構成例に係る周波数分類部１２４ａにおいて、周波数領域を部分領域Ｒ０〜Ｒ５へ分類する際の条件を変更したものである。なお、上記第７〜第８の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０５２９】
図４０は、本構成例に係る係数有無フラグ復号部１２４−Ｃの構成を示すブロック図である。図４０に示すように、本構成例に係る係数有無フラグ復号部１２４−Ｃは、サブブロック係数有無フラグ復号部Ｘ１、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４c、および高周波位置コンテキスト導出部１２４ｄを備えている。また、係数有無フラグ復号部１２４−Ｃにおける復号処理の流れは、図３３を用いて説明される。
【０５３０】
（係数有無フラグ復号部１２４−Ｃの備えるサブブロック係数有無フラグ復号部Ｘ１）
係数有無フラグ復号部１２４−Ｃの備えるサブブロック係数有無フラグ復号部Ｘ１は、ビット復号部１３２より供給されるＢｉｎを解釈し、周波数領域を構成する各サブブロックの中に少なくとも１つ非０の変換係数が存在するか否かを示すサブブロック係数有無フラグ(siginificant_coeffgroup_flag)を復号する（図３３のステップＳＹ１）。
【０５３１】
続いて、変換ブロック内にあるサブブロック毎に、サブブロック内にある変換係数有無フラグを復号する（図３３のステップＳＹ２〜ステップＳＹ４）。すなわち、サブブロック係数有無フラグ復号部Ｘ１おいて、サブブロック係数有無フラグが１の場合（図３３のステップＳＹ２においてＹの場合）、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、及び高周波数位置コンテキスト導出部１２４ｄを用いてサブブロック内の係数有無フラグを復号する。また、サブブロック係数有無フラグが０の場合（図３３のステップＳＹ２においてＮの場合）、サブブロック内の係数有無フラグの復号をスキップし、次のサブブロックの処理へ移行する。
【０５３２】
（係数有無フラグ復号部１２４−Ｃの備える周波数分類部１２４ａ）
係数有無フラグ復号部１２４−Ｃの備える周波数分類部１２４ａは、周波数領域における復号対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、及び高周波数位置コンテキスト導出部１２４ｄの何れかによって導出されたコンテキストインデックスctxIdxを、当該復号対象の周波数成分に割り付ける（図３３のステップＳＹ３）。
【０５３３】
係数有無フラグ復号部１２４−Ｃの備える周波数分類部１２４ａは、周波数領域に含まれる各周波数成分の当該周波数領域における位置（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照し、当該周波数成分を５つの部分領域Ｒ０〜Ｒ４に分類する。ここで、ｕｉＰｏｓＸ＝０、１、．．．、ｓｚ−１であり、ｕｉＰｏｓＹ＝０、１、．．．、ｓｚ−１であるとする（ｓｚは、上述のように処理対象ＴＵの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表しており、例えば、ｓｚ＝１６，３２等である）。
【０５３４】
ここで、sｚ×sｚブロックの周波数領域を４×４サブブロックに分割し、当該周波数成分（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）が属するサブブロックの位置を（ｘＣＧ,ｙＣＧ）とする。なお、当該周波数成分の属するサブブロック位置（ｘＣＧ，ｙＣＧ）は下記式(eq.C1)〜(eq.C2)により導出される。
【０５３５】
ｘＣＧ＝ｕｉＰｏｓＸ＞＞２  ・・・（eq.C1）
ｙＣＧ＝ｕｉＰｏｓＹ＞＞２  ・・・（eq.C2）
ここで、ｘＣＧ＝０、１、．．．、（ｓｚ−１）＞＞２であり、ｙＣＧ＝０、１、．．．、（ｓｚ−１）＞＞２であるとする。
【０５３６】
係数有無フラグ復号部１２４−Ｃの備える周波数分類部１２４ａは、より具体的には、以下の分類処理を行う。
【０５３７】
（１）ｘＣＧ＋ｙＣＧ＜ＴＨＣ、かつ、ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨＺを満たす周波数成分を部分領域Ｒ０に分類する。
【０５３８】
（２）ｘＣＧ＋ｙＣＧ＜ＴＨＣ、かつ、ＴＨＺ≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ１を満たす周波数成分を部分領域Ｒ１に分類する。
【０５３９】
（３）ｘＣＧ＋ｙＣＧ＜ＴＨＣ、かつ、ＴＨ１≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹを満たす周波数成分を部分領域Ｒ２に分類する。
【０５４０】
（４）ＴＨＣ≦ｘＣＧ＋ｙＣＧ＜ＴＨＤを満たす周波数成分を部分領域Ｒ３に分類する。
【０５４１】
（５）ＴＨＤ≦ｘＣＧ＋ｙＣＧを満たす周波数成分を部分領域Ｒ４に分類する。
【０５４２】
上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if( xCG+yCG<THC ){
if( uiPosX+uiPosY<THZ ){
R0へ分類
}
else if( uiPosX+uiPosY<TH1){ 
R1へ分類
}
else { //if(uiPosX+uiPosY>=TH1)
R2へ分類
}
} 
else if( xCG+yCG<THD ){
R3へ分類
} 
else { // if(xCG+yCG>=THD
R4へ分類
}
*******************************************************************
ここで、閾値ＴＨＺは２を用いる。また、閾値ＴＨ１＝５である。また、閾値ＴＨＣ、及びＴＨＤの具体的な値としては、例えば、周波数領域のサイズlog2TrafoSizeを用いて、次のように設定すればよい。
【０５４３】
ＴＨＣ＝１＜＜(log2TrafoSize−２)、
ＴＨＤ＝１＜＜(log2TrafoSize−２)＋２
すなわち、周波数領域のサイズが１６×１６である場合、ＴＨＣ＝４、ＴＨＤ＝６とし、周波数領域のサイズが３２×３２である場合、ＴＨＣ＝８、ＴＨＤ＝１０と設定する。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
【０５４４】
図４１は、係数有無フラグ復号部１２４−Ｃの備える周波数分類部１２４ａによる分類処理によって、部分領域Ｒ０、Ｒ１、Ｒ２、Ｒ３、及びＲ４に分割された周波数領域の一例を示している。
【０５４５】
係数有無フラグ復号部１２４−Ｃの備える周波数分類部１２４ａは、部分領域Ｒ０に属する周波数成分に対して、低周波位置コンテキスト導出部１２４ｂによって導出されたコンテキストインデックスを割り付け、部分領域Ｒ１、Ｒ２及びＲ３に属する周波数成分に対して、周辺参照コンテキスト導出部１２４ｃによって導出されたコンテキストインデックスを割り付け、部分領域Ｒ３に属する周波数成分に対して、高周波数位置コンテキスト導出部１２４ｄによって導出されたコンテキストインデックスを割り付ける。
【０５４６】
また、係数有無フラグ復号部１２４−Ｃの備える周波数分類部１２４ａは、算術符号復号部１３０でシンタックスsignificant_coeff_flagを復号するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される（図３３のステップＳＹ４）。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部１２６に格納され、係数値復号部１２５によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。
【０５４７】
以下では、各部分領域Ｒ０〜Ｒ４に対応するコンテキスト導出について具体的に説明する。
【０５４８】
（係数有無フラグ復号部１２４−Ｃの備える低周波位置コンテキスト導出部１２４ｂ）
係数有無フラグ復号部１２４−Ｃの備える低周波位置コンテキスト導出部１２４ｂは、復号対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
【０５４９】
係数有無フラグ復号部１２４−Ｃの備える低周波位置コンテキスト導出部１２４ｂは、部分領域Ｒ０に属する周波数成分に対して、以下の式(eq.C3)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部１２４ａに供給する。
【０５５０】
ｃｔｘＩｄｘ＝ＮＸ＋２×ｕｉＰｏｓＸ  ＋  ｕｉＰｏｓＹ  ・・・(eq.C3)
なお、ＮＸはコンテキストインデックスの開始点を表す定数である。周波数領域のサイズが４×４及び８×８で用いるコンテキスト数が各々Ｎ４個、Ｎ８個の場合には、周波数領域のサイズが１６×１６および３２×３２の開始点はＮＸ＝Ｎ４＋Ｎ８になる。
【０５５１】
（係数有無フラグ復号部１２４−Ｃの備える周辺参照コンテキスト導出部１２４ｃ）
係数有無フラグ復号部１２４−Ｃの備える周辺参照コンテキスト導出部１２４ｃは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非０変換係数の数ｃｎｔに基づいて導出する。
【０５５２】
係数有無フラグ復号部１２４−Ｃの備える周辺参照コンテキスト導出部１２４ｃは、部分領域Ｒ１に属する周波数成分に対して式（eq.C4）を用い、部分領域Ｒ２に属する周波数成分に対して式（eq.C5）を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部１２４ａに供給する。
【０５５３】
ｃｔｘＩｄｘ＝ＮＸ＋３＋ｍｉｎ（２、ｔｅｍｐ）  ・・・(eq.C4)
ｔｅｍｐ＝（ｃｎｔ＋１）＞＞１
ｃｔｘＩｄｘ＝ＮＸ＋６＋ｍｉｎ（２、ｔｅｍｐ）  ・・・(eq.C5)
ｔｅｍｐ＝（ｃｎｔ＋１）＞＞１
なお、部分領域Ｒ１、及びＲ２において、非０変換係数のカウント数ｃｎｔは、図１０（ａ）または図１０（ｂ）に示す（Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５）を用いて、以下の式(eq.C6)によって導出する。
【０５５４】
ｃｎｔ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ３！＝０）＋（ｃ４！＝０）＋（ｃ５！＝０）  ・・・(eq.C6)
あるいは、図３６（ａ）に示す参照周波数成分（ｃ１、ｃ２、ｃ４、ｃ５）を用いて、対象とする変換係数の位置の、処理順で直前（処理順が逆スキャン順である場合には、対象とする変換係数の位置の下側）に位置する座標（ｃ３）の変換係数を参照しないようにした以下の式(eq.Ｃ7)によって導出してもよい。このような処理は、ある位置の係数有無フラグの復号に用いるコンテキスト導出を、直前の係数有無フラグの値を参照せずに行うことができるため、コンテキスト導出処理と復号処理とを並列に処理することができる。
【０５５５】
ｃｎｔ＝（ｃ１！＝０）＋（ｃ２！＝０）＋（ｃ４！＝０）＋（ｃ５！＝０）  ・・・(eq.C7)
また、本構成例に係る辺参照コンテキスト導出部１２４ｃは、部分領域Ｒ３に属する周波数成分に対して、以下の式(eq.C8)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部１２４ａに供給する。
【０５５６】
ｃｔｘＩｄｘ＝ＮＸ＋９＋ｍｉｎ（２、ｔｅｍｐ）  ・・・(eq.Ｃ8)
ｔｅｍｐ＝（ｃｎｔ＋１）＞＞１
また、部分領域Ｒ３において、非ゼロ変換係数のカウント数ｃｎｔは、図１５（ｉ）に示す３つの参照周波数成分（ｃ１、ｃ３、ｃ４）を用いて、以下の式(eq.C9)によって導出する。
【０５５７】
ｃｎｔ＝（ｃ１！＝０）＋（ｃ３！＝０）＋（ｃ４！＝０）  ・・・(eq.Ｃ9)
ここで、各項は、（）内の比較が真である場合に１をとり、（）内の比較が偽である場合に０をとるものとする。
【０５５８】
また、参照周波数成分は、図１５（ｉ）に示すｃ１、ｃ３、ｃ４に限定されず、図１５（ｃ）、（ｄ）、（ｅ）、（ｆ）にそれぞれ示す３つの参照周波数成分を用いてもよい。
【０５５９】
なお、部分領域Ｒ３のコンテキストインデックスctxIdxの導出として、式(eq.C8)に限定されず、式(eq.C10)のようにしてもよい。
【０５６０】
ｃｔｘＩｄｘ＝ＮＸ＋9＋ｍｉｎ（２、ｃｎｔ）  ・・・(eq.C10)
（係数有無フラグ復号部１２４−Ｃの備える高周波位置コンテキスト導出部１２４ｄ）
係数有無フラグ復号部１２４−Ｃの備える高周波位置コンテキスト導出部１２４ｄは、復号対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
【０５６１】
係数有無フラグ復号部１２４−Ｃの備える高周波位置コンテキスト導出部１２４ｄは、部分領域Ｒ４に属する周波数成分に対して、以下の式（eq.C11）を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部１２４ａに供給する。
【０５６２】
ｃｔｘＩｄｘ＝ＮＸ＋１１＋ｍｉｎ（ｍａｘＲ３、（ｘＣＧ＋ｙＣＧ−ＴＨＤ）＞＞ｓｈｉｆｔ）  ・・・(eq.C11)
ここで、ｓｈｉｆｔ及びｍａｘＲ３としては、例えば、対象周波数領域のサイズが１６×１６の場合は、ｓｈｉｆｔ＝０、ｍａｘＲ３＝３を用い、対象周波数領域のサイズが３２×３２の場合は、ｓｈｉｆｔ＝１、ｍａｘＲ３＝３を用いればよいが、本実施形態はこれに限定されるものではない。
【０５６３】
なお、係数有無フラグ復号部１２４−Ｃの備える周波数分類部１２４ａによる分類処理によって、分割される周波数領域の例は、図４１に示すものに限定されるものではなく、例えば、図４２に示すように周波数領域を分割してもよい。すなわち、周波数分類部１２４ａは、次のように周波数領域を部分領域Ｒ０、Ｒ１、Ｒ２、Ｒ３、及びＲ４に分類する構成としてもよい。
【０５６４】
（１）ｘＣＧ＋ｙＣＧ＜ＴＨＥ、かつ、ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨＺを満たす周波数成分を部分領域Ｒ０に分類する。
【０５６５】
（２）ｘＣＧ＋ｙＣＧ＜ＴＨＥ、かつ、ＴＨＺ≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ、を満たす周波数成分を部分領域Ｒ１に分類する。
【０５６６】
（３）ＴＨＥ≦ｘＣＧ＋ｙＣＧ＜ＴＨＦを満たす周波数成分を部分領域Ｒ２に分類する。
【０５６７】
（４）ＴＨＦ≦ｘＣＧ＋ｙＣＧ＜ＴＨＧを満たす周波数成分を部分領域Ｒ３に分類する。
【０５６８】
（５）ＴＨＧ≦ｘＣＧ＋ｙＣＧを満たす周波数成分を部分領域Ｒ４に分類する。
【０５６９】
上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if( xCG+yCG<THE ){
if( uiPosX+uiPosY<THZ ){
R0へ分類
}
else{ // if( uiPosX+uiPosY>=THZ )
R1へ分類
}
}
else if( xCG+yCG<THF ){
R2へ分類
}
else if( xCG+yCG<THG ){
R3へ分類
}
else{ // xCG+yCG>=THG
R4へ分類
}
*******************************************************************
ここで、閾値ＴＨＺは２を用いる。また、閾値ＴＨＥ、ＴＨＦ及びＴＨＧの具体的な値としては、例えば、周波数領域のサイズ（処理対象ＴＵのサイズ）log2TrafoSizeを用いて、
ＴＨＥ＝１
ＴＨＦ＝１＜＜(log2TrafoSize-２)
ＴＨＧ＝１＜＜(log2TrafoSize-２)＋２
と設定すればよい。すなわち、周波数領域のサイズが１６×１６である場合、ＴＨＥ＝１、ＴＨＦ＝２、ＴＨＧ＝４とし、周波数領域のサイズが３２×３２である場合、ＴＨＥ＝１、ＴＨＦ＝４、ＴＨＧ＝１０としてもよい。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
【０５７０】
以上のように、本構成例に係る係数有無フラグ復号部によれば、所定の閾値ＴＨＦより高周波数側の部分領域（例えば、図４１の部分領域Ｒ３）では、各変換係数有無フラグに割り付けるコンテキストインデックス導出において、参照する復号済みの非０変換係数の数が、低周波数側の部分領域（例えば、図４１の部分領域Ｒ２）において参照する復号済みの非０変換係数の数よりも小さいため、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。さらに別の閾値ＴＨＧより高周波数側の部分領域（例えば、図４１の部分領域Ｒ４）においては、コンテキストインデックスを周囲参照によらず位置に基づいて導出するので、さらに処理量を削減することができる。また、位置参照は、コンテキストの導出に既に復号した係数有無フラグの値を用いないため、並列性も向上させることができる。
【０５７１】
なお、上記の構成では、周波数分類部１２４ａが５つの部分領域に分類を行っているが、３つの部分領域に分類する構成でも良い。例えば、
（１）ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜THZ、かつ、ｘＣＧ＋ｙＣＧ＜ＴＨGを満たす周波数成分を部分領域Ｒ０に分類する。
【０５７２】
（２）・THZ≦ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ、かつ、ｘＣＧ＋ｙＣＧ＜ＴＨGを満たす周波数成分を部分領域Ｒ１に分類する。
【０５７３】
（３）ＴＨＧ≦ｘＣＧ＋ｙＣＧを満たす周波数成分を部分領域Ｒ４に分類する、としても良い。
【０５７４】
上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if ( xCG+yCG<THG ){
if( uiPosX+uiPosY<THZ ){
R0へ分類
}
else{ //if( uiPosX+uiPosY>=THZ)
R1へ分類
}
} 
else {// if( xCG+yCG>=THG)
R4へ分類}
*******************************************************************
以上のように、本構成例に係る係数有無フラグ復号部１２４−Ｃにおいて、周波数分類部１２４ａは、対象周波数領域を、処理対象の変換係数有無フラグの位置と、その変換係数有無フラグが属するサブブロックの位置に応じて、少なくとも３つの部分領域に分類するものであり、
周辺参照コンテキスト導出部１２４ｃは、
第１の部分領域（部分領域Ｒ１またはＲ２）では、復号済みの非０変換係数をＮ１個（Ｎ１は自然数）参照し、
第２の部分領域（部分領域Ｒ３）では、復号済みの非０変換係数をＮ２個（Ｎ２はＮ２＜Ｎ１を満たす自然数）参照することによって、コンテキストインデックスを導出し、
第３の部分領域（部分領域Ｒ４）では、高周波位置コンテキスト導出部１２４ｄが、変換係数有無フラグの属するサブブロックの位置に応じて、コンテキストインデックスを導出する。
【０５７５】
上記の構成によれば、コンテキストインデックスを導出するために参照する復号済みの非０変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置と、該変換係数有無フラグの属するサブブロックの位置とに基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０５７６】
（動画像符号化装置２）
本実施形態に係る動画像符号化装置２の構成について図２６〜図２８を参照して説明する。動画像符号化装置２は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格に採用されている技術、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている技術、ＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている技術、および、その後継コーデックであるＨＥＶＣ（High-Efficiency Video Coding）にて提案されている技術を実装している符号化装置である。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
【０５７７】
図２６は、動画像符号化装置２の構成を示すブロック図である。図２６に示すように、動画像符号化装置２は、予測画像生成部２１、変換・量子化部２２、逆量子化・逆変換部２３、加算器２４、フレームメモリ２５、ループフィルタ２６、可変長符号符号化部２７、および、減算器２８を備えている。また、図２６に示すように、予測画像生成部２１は、イントラ予測画像生成部２１ａ、動きベクトル検出部２１ｂ、インター予測画像生成部２１ｃ、予測方式制御部２１ｄ、および、動きベクトル冗長性削除部２１ｅを備えている。動画像符号化装置２は、動画像＃１０（符号化対象画像）を符号化することによって、符号化データ＃１を生成する装置である。
【０５７８】
（予測画像生成部２１）
予測画像生成部２１は、処理対象ＬＣＵを、１または複数の下位ＣＵに再帰的に分割し、各リーフＣＵをさらに１または複数のパーティションに分割し、パーティション毎に、画面間予測を用いたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒ、または、画面内予測を用いたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。生成されたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒおよびイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａは、予測画像Ｐｒｅｄとして、加算器２４および減算器２８に供給される。
【０５７９】
なお、予測画像生成部２１は、スキップモードの適応されたＰＵについては、当該ＰＵに属する他のパラメータの符号化を省略する。また、（１）対象ＬＣＵにおける下位ＣＵおよびパーティションへの分割の態様、（２）スキップモードを適用するか否か、および、（３）パーティション毎にインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒおよびイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａの何れを生成するか、は、符号化効率を最適化するように決定される。
【０５８０】
（イントラ予測画像生成部２１ａ）
イントラ予測画像生成部２１ａは、画面内予測によって、各パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、（１）各パーティションついてイントラ予測に用いる予測モードを選択し、（２）選択した予測モードを用いて、復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部２１ａは、生成したイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを、予測方式制御部２１ｄに供給する。
【０５８１】
また、イントラ予測画像生成部２１ａは、対象パーティションの周辺のパーティションに割り付けられた予測モードから対象パーティションに対する推定予測モードを決定し、当該推定予測モードと、対象パーティションについて実際に選択された予測モードとが同じであるか否かを示す推定予測モードフラグを、イントラ予測パラメータＰＰ＿Ｉｎｔｒａの一部として、予測方式制御部２１ｄを介して可変長符号符号化部２７に供給し、可変長符号符号化部２７は、当該フラグを、符号化データ＃１に含める構成とする。
【０５８２】
また、イントラ予測画像生成部２１ａは、対象パーティションについての推定予測モードと、対象パーティションについて実際に選択された予測モードとが異なる場合には、対象パーティションについての予測モードを示す残余予測モードインデックスを、イントラ予測パラメータＰＰ＿Ｉｎｔｒａの一部として、予測方式制御部２１ｄを介して可変長符号符号化部２７に供給し、可変長符号符号化部２７は当該残余予測モードインデックスを符号化データ＃１に含める構成とする。
【０５８３】
（動きベクトル検出部２１ｂ）
動きベクトル検出部２１ｂは、各パーティションに関する動きベクトルｍｖを検出する。具体的には、（１）参照画像として利用する適応フィルタ済復号画像Ｐ＿ＡＬＦ’を選択し、（２）選択した適応フィルタ済復号画像Ｐ＿ＡＬＦ’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルｍｖを検出する。ここで、適応フィルタ済復号画像Ｐ＿ＡＬＦ’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ２６による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部２１ｂは、適応フィルタ済復号画像Ｐ＿ＡＬＦ’を構成する各画素の画素値をフレームメモリ２５から読み出すことができる。動きベクトル検出部２１ｂは、検出した動きベクトルｍｖを、参照画像として利用した適応フィルタ済復号画像Ｐ＿ＡＬＦ’を指定する参照画像インデックスＲＩと共に、インター予測画像生成部２１ｃ及び動きベクトル冗長性削除部２１ｅに供給する。
【０５８４】
（インター予測画像生成部２１ｃ）
インター予測画像生成部２１ｃは、画面間予測によって、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル検出部２１ｂから供給された動きベクトルｍｖを用いて、動きベクトル検出部２１ｂから供給された参照画像インデックスＲＩによって指定される適応フィルタ済復号画像Ｐ＿ＡＬＦ’から動き補償画像ｍｃを生成する。動きベクトル検出部２１ｂと同様に、インター予測画像生成部２１ｃは、適応フィルタ済復号画像Ｐ＿ＡＬＦ’を構成する各画素の画素値をフレームメモリ２５から読み出すことができる。インター予測画像生成部２１ｃは、生成した動き補償画像ｍｃ（インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒ）を、動きベクトル検出部２１ｂから供給された参照画像インデックスＲＩと共に、予測方式制御部２１ｄに供給する。
【０５８５】
（予測方式制御部２１ｄ）
予測方式制御部２１ｄは、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａ及びインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部２１ｄは、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器２４及び減算器２８に供給すると共に、イントラ予測画像生成部２１ａから供給されるイントラ予測パラメータＰＰ＿Ｉｎｔｒａを可変長符号符号化部２７に供給する。一方、インター予測を選択した場合、予測方式制御部２１ｄは、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器２４及び減算器２８に供給すると共に、参照画像インデックスＲＩ、並びに、後述する動きベクトル冗長性削除部２１ｅから供給された推定動きベクトルインデックスＰＭＶＩ及び動きベクトル残差ＭＶＤをインター予測パラメータＰＰ＿Ｉｎｔｅｒとして可変長符号符号化部２７に供給する。また、予測方式制御部２１ｄは、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａ及びインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒのうち何れの予測画像を選択したのかを示す予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅを可変長符号符号化部２７に供給する。
【０５８６】
（動きベクトル冗長性削除部２１ｅ）
動きベクトル冗長性削除部２１ｅは、動きベクトル検出部２１ｂによって検出された動きベクトルｍｖにおける冗長性を削除する。具体的には、（１）動きベクトルｍｖの推定に用いる推定方法を選択し、（２）選択した推定方法に従って推定動きベクトルｐｍｖを導出し、（３）動きベクトルｍｖから推定動きベクトルｐｍｖを減算することにより動きベクトル残差ＭＶＤを生成する。動きベクトル冗長性削除部２１ｅは、生成した動きベクトル残差ＭＶＤを、選択した推定方法を示す推定動きベクトルインデックスＰＭＶＩと共に、予測方式制御部２１ｄに供給する。
【０５８７】
（変換・量子化部２２）
変換・量子化部２２は、（１）符号化対象画像から予測画像Ｐｒｅｄを減算した予測残差Ｄに対してブロック（変換単位）毎にＤＣＴ変換（Discrete Cosine Transform）等の周波数変換を施し、（２）周波数変換により得られた変換係数Ｃｏｅｆｆ＿ＩＱを量子化し、（３）量子化により得られた変換係数Ｃｏｅｆｆを可変長符号符号化部２７及び逆量子化・逆変換部２３に供給する。なお、変換・量子化部２２は、（１）量子化の際に用いる量子化ステップＱＰをＴＵ毎に選択し、（２）選択した量子化ステップＱＰの大きさを示す量子化パラメータ差分Δｑｐを可変長符号符号化部２８に供給し、（３）選択した量子化ステップＱＰを逆量子化・逆変換部２３に供給する。ここで、量子化パラメータ差分Δｑｐとは、周波数変換及び量子化するＴＵに関する量子化パラメータｑｐ（例えばＱＰ＝２ｐｑ／６）の値から、直前に周波数変換及び量子化したＴＵに関する量子化パラメータｑｐ’の値を減算して得られる差分値のことを指す。
【０５８８】
なお、変換・量子化部２２によって行われるＤＣＴ変換は、例えば、対象ブロックのサイズが８×８画素である場合、水平方向の周波数ｕおよび垂直方向の周波数ｖについての量子化前の変換係数をＣｏｅｆｆ＿ＩＱ（ｕ、ｖ）（０≦ｕ≦７、０≦ｖ≦７）と表すことにすると、例えば、以下の数式（２）によって与えられる。
【０５８９】
【数２】
0006560702.tif 000003
ここで、Ｄ（ｉ、ｊ）（０≦ｉ≦７、０≦ｊ≦７）は、対象ブロックにおける位置（ｉ、ｊ）での予測残差Ｄを表している。また、Ｃ（ｕ）およびＣ（ｖ）は、以下のように与えられる。
【０５９０】
・Ｃ（ｕ）＝１／√２  （ｕ＝０）
・Ｃ（ｕ）＝１        （ｕ≠０）
・Ｃ（ｖ）＝１／√２  （ｖ＝０）
・Ｃ（ｖ）＝１        （ｖ≠０）
（逆量子化・逆変換部２３）
逆量子化・逆変換部２３は、（１）量子化された変換係数Ｃｏｅｆｆを逆量子化し、（２）逆量子化によって得られた変換係数Ｃｏｅｆｆ＿ＩＱに対して逆ＤＣＴ（Discrete Cosine Transform）変換等の逆周波数変換を施し、（３）逆周波数変換によって得られた予測残差Ｄを加算器２４に供給する。量子化された変換係数Ｃｏｅｆｆを逆量子化する際には、変換・量子化部２２から供給された量子化ステップＱＰを利用する。なお、逆量子化・逆変換部２３から出力される予測残差Ｄは、変換・量子化部２２に入力される予測残差Ｄに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。逆量子化・逆変換部２３のより具体的な動作は、動画像復号装置１の備える逆量子化・逆変換部１３とほぼ同様である。
【０５９１】
（加算器２４）
加算器２４は、予測方式制御部２１ｄにて選択された予測画像Ｐｒｅｄを、逆量子化・逆変換部２３にて生成された予測残差Ｄに加算することによって、（局所）復号画像Ｐを生成する。加算器２４にて生成された（局所）復号画像Ｐは、ループフィルタ２６に供給されると共にフレームメモリ２５に格納され、イントラ予測における参照画像として利用される。
【０５９２】
（可変長符号符号化部２７）
可変長符号符号化部２７は、（１）変換・量子化部２２から供給された量子化後の変換係数Ｃｏｅｆｆ並びにΔｑｐ、（２）予測方式制御部２１ｄから供給された量子化パラメータＰＰ（インター予測パラメータＰＰ＿Ｉｎｔｅｒ、および、イントラ予測パラメータＰＰ＿Ｉｎｔｒａ）、（３）予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅ、および、（４）ループフィルタ２６から供給されたフィルタパラメータＦＰを可変長符号化することによって、符号化データ＃１を生成する。
【０５９３】
図２７は、可変長符号符号化部２７の構成を示すブロック図である。図２７に示すように、可変長符号符号化部２７は、量子化後の変換係数Ｃｏｅｆｆを符号化する量子化残差情報符号化部２７１、予測パラメータＰＰを符号化する予測パラメータ符号化部２７２、予測タイプ情報Ｐｒｅｄ＿ｔｙｐｅを符号化する予測タイプ情報符号化部２７３、および、フィルタパラメータＦＰを符号化するフィルタパラメータ符号化部２７４を備えている。量子化残差情報符号化部２７１の具体的な構成については後述するためここでは説明を省略する。
【０５９４】
（減算器２８）
減算器２８は、予測方式制御部２１ｄにて選択された予測画像Ｐｒｅｄを、符号化対象画像から減算することによって、予測残差Ｄを生成する。減算器２８にて生成された予測残差Ｄは、変換・量子化部２２によって周波数変換及び量子化される。
【０５９５】
（ループフィルタ２６）
ループフィルタ２６は、（１）復号画像Ｐにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化（デブロック処理）を行うデブロッキングフィルタ（DF:Deblocking Filter）としての機能と、（２）デブロッキングフィルタが作用した画像に対して、フィルタパラメータＦＰを用いて適応フィルタ処理を行う適応フィルタ（ALF:Adaptive Loop Filter）としての機能を有している。
【０５９６】
（量子化残差情報符号化部２７１）
量子化残差情報符号化部２７１は、量子化された変換係数Ｃｏｅｆｆ（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）をコンテキスト適応型２値算術符号化（ＣＡＢＡＣ：（Context-based Adaptive Binary Arithmetic Coding））することによって、量子化残差情報ＱＤを生成する。生成された量子化残差情報ＱＤに含まれるシンタックスは、図５に示した通りである。
【０５９７】
なお、ｕｉＰｏｓＸおよびｕｉＰｏｓＹは、上述のように、周波数領域における各周波数成分の位置を表すインデックスであり、それぞれ、上述した水平方向周波数ｕおよび垂直方向周波数ｖに対応するインデックスである。なお、以下では、量子化された変換係数Ｃｏｅｆｆを、単に、変換係数Ｃｏｅｆｆと呼ぶこともある。
【０５９８】
（量子化残差情報符号化部２７１）
図２８は、量子化残差情報符号化部２７１の構成を示すブロック図である。図２８に示すように、量子化残差情報符号化部２７１は、変換係数符号化部２２０及び算術符号符号化部２３０を備えている。
【０５９９】
（算術符号符号化部２３０）
算術符号符号化部２３０は、変換係数符号化部２２０から供給される各Ｂｉｎをコンテキストを参照して符号化することによって量子化残差情報ＱＤを生成するための構成であり、図１に示すように、コンテキスト記録更新部２３１及びビット符号化部２３２を備えている。
【０６００】
（コンテキスト記録更新部２３１）
コンテキスト記録更新部２３１は、各コンテキストインデックス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_minus3の各値を導出する。導出された各シンタックスは、符号化係数記憶部２２６に供給される。また、導出されたシンタックスのうちlast_significant_coeff_x、last_significant_coeff_yは、係数符号化制御部２２３及びラスト位置符号化部２２１にも供給される。また、導出されたシンタックスのうちsignificant_coeff_flagは、係数有無フラグ符号化部２２４もに供給される。なお、各シンタックスが示す内容については上述したためここでは説明を省略する。
【０６０６】
（ラスト位置符号化部２２１）
ラスト位置符号化部２２１は、シンタックス導出部２２７より供給されるシンタックスlast_significant_coeff_x、last_significant_coeff_yを符号化する。また、これらのシンタックスを符号化して得られた各Ｂｉｎをビット符号化部２３２に供給する。また、シンタックスlast_significant_coeff_x及びlast_significant_coeff_yの符号化に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部２３１に供給される。
【０６０７】
（スキャン順テーブル格納部２２２）
スキャン順テーブル格納部２２２には、処理対象のＴＵのサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。このようなスキャン順テーブルの一例としては、図５に示したScanOrderが挙げられる。
【０６０８】
（係数符号化制御部２２３）
係数符号化制御部２２３は、量子化残差情報符号化部２７１の備える各部における符号化処理の順序を制御するための構成である。係数符号化制御部２２３は、シンタックス導出部２２７より供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部２２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を、係数有無フラグ符号化部に供給する。
【０６０９】
なお、係数符号化制御部２２３は、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、最初の成分（ＤＣ成分）を起点とし、特定した最後の非０変換係数の位置を終端とするスキャン順であって、スキャン順テーブル格納部２２２に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を、係数有無フラグ符号化部に供給する構成としてもよい。
【０６１０】
（係数値符号化部２２５）
係数値符号化部２２５は、シンタックス導出部２２７から供給されるシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_minus3を符号化する。また、これらのシンタックスを符号化して得られた各Ｂｉｎをビット符号化部２３２に供給する。また、これらのシンタックスの符号化に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部２３１に供給される。
【０６１１】
（符号化係数記憶部２２６）
符号化係数記憶部２２６は、シンタックス導出部２２７によって導出されたシンタックスの各値を記憶しておくための構成である。特に、符号化係数記憶部２２６には、シンタックス導出部２２７によって導出されたシンタックスsignificant_coeff_flagの各値が記憶される。
【０６１２】
（係数有無フラグ符号化部）
本実施形態に係る係数有無フラグ符号化部は、周波数領域を、周波数の大きさに応じて１または複数の部分領域に分類し、部分領域毎に定められた導出方法によってコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを用いて非０変換係数の有無を示すシンタックスsignificant_coeff_flagを符号化するための構成である。
【０６１３】
＜係数有無フラグ符号化部の第１の構成例＞
図２８には、本実施形態に係る係数有無フラグ符号化部の第１の構成例としての係数有無フラグ符号化部２２４が示されている。
【０６１４】
図２８に示すように、本構成例に係る係数有無フラグ符号化部２２４は、周波数分類部２２４ａ、低周波位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃ、高周波位置コンテキスト導出部２２４ｄを備えている。
【０６１５】
（周波数分類部２２４ａ）
周波数分類部２２４ａは、周波数領域における符号化対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃ、及び高周波位置コンテキスト導出部２２４ｄの何れかによって導出されたコンテキストインデックスctxIdxを、当該符号化対象の周波数成分に割り付けるための構成である。
【０６１６】
周波数分類部２２４ａは、算術符号符号化部２３０でシンタックスsignificant_coeff_flagを符号化するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される。
【０６１７】
本構成例に係る周波数分類部２２４ａによる他の具体的は処理は、動画像復号装置１の備える周波数分類部１２４ａと同様であるため、ここでは説明を省略する。
【０６１８】
（低周波位置コンテキスト導出部２２４ｂ）
低周波位置コンテキスト導出部２２４ｂは、符号化対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出するための構成である。
【０６１９】
本構成例に係る低周波位置コンテキスト導出部２２４ｂによる具体的な処理は、動画像復号装置１の備える低周波位置コンテキスト導出部１２４ｂと同様であるため、ここでは説明を省略する。
【０６２０】
（周辺参照コンテキスト導出部２２４ｃ）
周辺参照コンテキスト導出部２２４ｃは、符号化対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について符号化済みの非０変換係数の数に基づいて導出するための構成である。
【０６２１】
本構成例に係る周辺参照コンテキスト導出部２２４ｃによる具体的な処理は、動画像復号装置１の備える周辺参照コンテキスト導出部２２４ｃと同様であるため、ここでは説明を省略する。
【０６２２】
（高周波位置コンテキスト導出部２２４ｄ）
高周波位置コンテキスト導出部２２４ｄは、符号化対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出するための構成である。
【０６２３】
本構成例に係る高周波位置コンテキスト導出部２２４ｄによる具体的な処理は、動画像復号装置１の備える高周波位置コンテキスト導出部１２４ｄと同様であるため、ここでは説明を省略する。
【０６２４】
＜係数有無フラグ符号化部の第２の構成例＞
本実施形態に係る係数有無フラグ符号化部は、動画像復号装置１の備える係数有無フラグ復号部１２４−１に対応する構成としてもよい。
【０６２５】
具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｃ、前スキャン列コンテキスト導出部１２４ｅ、及び非０変換係数カウント部１２４ｆと同様の各部を備える構成とすることができる。
【０６２６】
これらの各部については、動画像復号装置１の備える係数有無フラグ復号部１２４−１の説明において述べたためここでは説明を省略する。
【０６２７】
＜係数有無フラグ符号化部の第３の構成例＞
本実施形態に係る係数有無フラグ符号化部は、動画像復号装置１の備える係数有無フラグ復号部１２４−２に対応する構成としてもよい。
【０６２８】
具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｇと同様の各部を備える構成とすることができる。
【０６２９】
これらの各部については、動画像復号装置１の備える係数有無フラグ復号部１２４−２の説明において述べたためここでは説明を省略する。
【０６３０】
また、係数有無フラグ復号部１２４−２の構成は、係数有無フラグ符号化部の第３の構成例の別の構成例に示す構成としてもよい。
【０６３１】
＜係数有無フラグ符号化部の第４の構成例＞
本実施形態に係る係数有無フラグ符号化部は、動画像復号装置１の備える係数有無フラグ復号部１２４’に対応する構成としてもよい。
【０６３２】
具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部１２４ａ´、低周波位置コンテキスト導出部１２４ｂ、周辺参照コンテキスト導出部１２４ｇ、および高周波位置コンテキスト導出部１２４ｄと同様の各部を備える構成とすることができる。
【０６３３】
これらの各部については、動画像復号装置１の備える係数有無フラグ復号部１２４’の説明において述べたためここでは説明を省略する。
【０６３４】
＜係数有無フラグ符号化部の第５の構成例＞
本実施形態に係る係数有無フラグ符号化部は、動画像復号装置１の備える係数有無フラグ復号部１２４−３に対応する構成としてもよい。
【０６３５】
具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、高周波領域コンテキスト導出部１２４ｈ、周辺参照コンテキスト導出部１２４ｉ、前スキャン列コンテキスト導出部１２４ｅ、非０変換係数カウント部１２４ｆと同様の各部を備える構成とすることができる。
【０６３６】
これらの各部については、動画像復号装置１の備える係数有無フラグ復号部１２４−３の説明において述べたためここでは説明を省略する。
【０６３７】
＜係数有無フラグ符号化部の第６の構成例＞
本実施形態に係る係数有無フラグ符号化部は、動画像復号装置１の備える係数有無フラグ復号部１２４−４に対応する構成としてもよい。
【０６３８】
具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部１２４ａ、低周波位置コンテキスト導出部１２４ｂ、及び周辺参照コンテキスト導出部１２４ｋと同様の各部を備える構成とすることができる。
【０６３９】
これらの各部については、動画像復号装置１の備える係数有無フラグ復号部１２４−４の説明において述べたためここでは説明を省略する。
【０６４０】
以下では、動画像復号装置１の備える係数有無フラグ復号部の第７〜第９の構成に対応する係数有無フラグ符号化部の第７〜第９の構成について説明する。係数有無フラグ符号化部の第７〜第９の構成は、周波数領域の全体を１つの変換ブロックとして係数有無フラグを符号化するのではなく、変換ブロックを例えば４×４のサブブロックに分割し、サブブロックを単位として係数有無フラグを符号化する。図３２は、第７〜第９の構成に係る係数有無フラグ符号化部によるサブブロックスキャンを示している。サブブロックを用いて係数有無フラグを符号化する場合には、サブブロック単位で、サブブロック内に少なくとも１つの非０変換係数が存在するか示すフラグ（サブブロック係数有無フラグ）をサブブロック逆スキャン順に符号化する。さらに、サブブロック係数有無フラグが非０である場合において、サブブロック内部の各変換係数について係数有無フラグをサブブロック内部の逆スキャン順に符号化する。
【０６４１】
＜係数有無フラグ符号化部の第７の構成＞
図４４は、係数有無フラグ復号部１２４−Ａに対応する係数有無フラグ符号化部２２４−Ａの構成を示すブロック図である。また、図４３は、本構成例に係る係数有無フラグ符号化部２２４−Ａの動作の流れを示すフローチャートである。
【０６４２】
図４４に示すように、本構成例に係る係数有無フラグ符号化部２２４−Ａは、サブブロック係数有無フラグ符号化部Ｘ2，周波数分類部２２４ａ、低周波位置コンテキスト導出部２２４ｂ、及び周辺参照コンテキスト導出部２２４ｃを備えている。
【０６４３】
（サブブロック係数有無フラグ符号化部Ｘ２）
サブブロック係数有無フラグ符号化部Ｘ２は、シンタックス導出部２２７より供給された対象変換ブロックの周波数領域を構成する各サブブロックの中に少なくとも１つ非０の変換係数が存在するか否かを示すサブブロック係数有無フラグ（significant_coeffgroup_flag）を符号化する（図４３のステップＳＹ１’）。また、サブブロック係数有無フラグを符号化して得られた各Ｂinをビット符号化部２３２に供給する。
【０６４４】
続いて、サブブロック係数有無フラグ符号化部Ｘ２は、変換ブロック内にあるサブブロック毎に、サブブロック内に係数有無フラグを符号化する（図４３のステップＳＹ２’〜ステップＳＹ４’）。すなわち、サブブロック係数有無フラグ符号化部Ｘ２において、サブブロック係数有無フラグが１の場合（図４３のステップＳＹ２’においてＹの場合）、周波数分類部２２４ａ、低周波位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃを用いてサブブロック内の係数有無フラグを符号化する。また、サブブロック係数有無フラグが０の場合（図４３のステップＳＹ２’において、Ｎの場合）、サブブロック内の係数有無フラグの符号化をスキップし、次のサブブロックの処理へ移行する。
【０６４５】
なお、図４３のサブブロックのループにおいて、sbkIdxは、サブブロックの順スキャンでの対象サブブロックのスキャン順番号を表し、LastSbkIdxは、サブブロックの順スキャンでのラスト係数のあるサブブロックのスキャン順番号を表わす。ｓｚ×ｓｚの変換ブロックを４×４サブブロックに分割する場合、sbkIdx、およびLastSbkIdxのとる値は、０〜(sz>>2)×(sz>>2)-1である。
【０６４６】
（係数有無フラグ符号化部２２４−Ａの備える周波数分類部２２４ａ）
係数有無フラグ符号化部２２４−Ａの備える周波数分類部２２４ａは、周波数領域における符号化対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部２２４ｂ、及び周辺参照コンテキスト導出部２２４ｃの何れかによって導出されたコンテキストインデックスctxIdxを、当該符号化対象の周波数成分に割り付ける（図４３のステップＳＹ３’）。
【０６４７】
係数有無フラグ符号化部２２４−Ａの備える周波数分類部２２４ａは、算術符号化部２３０でシンタックスsignificant_coeff_flagを符号化するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズ及び符号化対象の周波数成分毎に算出される（図４３のステップＳＹ４’）。
【０６４８】
係数有無フラグ符号化部２２４−Ａの備える周波数分類部２２４ａによる他の具体的処理は、係数有無フラグ復号部１２４−Ａにおける周波数分類部１２４ａと同様であるため、ここでは説明を省略する。
【０６４９】
以下では、各部分領域Ｒ０〜Ｒ２に対応するコンテキスト導出について説明する。
【０６５０】
（係数有無フラグ符号化部２２４−Ａの備える低周波位置コンテキスト導出部２２４ｂ）
係数有無フラグ符号化部２２４−Ａの備える低周波位置コンテキスト導出部２２４ｂは、符号化対象の周波数成分が、低周波側の部分領域に含まれる場合、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
【０６５１】
本構成例に係る低周波位置コンテキスト導出部２２４ｂは、部分領域Ｒ０に属する周波数成分に対して、係数有無フラグ復号部１２４−Ａにおける低周波位置コンテキスト導出部１２４ｂと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部２２４ａへ供給する。
【０６５２】
（係数有無フラグ符号化部２２４−Ａの備える周辺参照コンテキスト導出部２２４ｃ）
係数有無フラグ符号化部２２４−Ａの備える周辺参照コンテキスト導出部２２４ｃは、符号化対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について符号化済みの非０変換係数の数に基づいて導出する。
【０６５３】
本実施形態に係る周辺参照コンテキスト導出部２２４ｃは、部分領域Ｒ１、及びＲ２に属する周波数成分に対して、係数有無フラグ復号部１２４−Ａにおける周辺参照コンテキスト導出部１２４ｃと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部２２４ａへ供給する。
【０６５４】
＜係数有無フラグ符号化部の第８の構成＞
図４５は、係数有無フラグ復号部１２４−Ｂに対応する係数有無フラグ符号化部２２４−Ｂの構成を示すブロック図である。また、係数有無フラグ符号化部２２４−Ｂの動作の流れは、図４３に示すフローチャートを用いて説明される。
【０６５５】
図４５に示すように、本構成例に係る係数有無フラグ符号化部２２４−Ｂは、サブブロック係数有無フラグ符号化部Ｘ2，周波数分類部２２４ａ、低周波位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃ、及び高周波位置コンテキスト導出部２２４ｄを備えている。
【０６５６】
（係数有無フラグ符号化部２２４−Ｂの備えるサブブロック係数有無フラグ符号化部Ｘ２）
係数有無フラグ符号化部２２４−Ｂの備えるサブブロック係数有無フラグ符号化部Ｘ２は、シンタックス導出部２２７より供給された対象変換ブロックの周波数領域を構成する各サブブロックの中に少なくとも１つ非０の変換係数が存在するか否かを示すサブブロック係数有無フラグ（significant_coeffgroup_flag）を符号化する（図４３のステップＳＹ１’）。また、サブブロック係数有無フラグを符号化して得られた各Ｂinをビット符号化部２３２に供給する。
【０６５７】
続いて、変換ブロック内にあるサブブロック毎に、サブブロック内に係数有無フラグを符号化する（図４３のステップＳＹ２’〜ステップＳＹ４’）。すなわち、サブブロック係数有無フラグ符号化部Ｘ２において、サブブロック係数有無フラグが１の場合（図４３のステップＳＹ２’においてＹの場合）、周波数分類部２２４ａ、低周波位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃ、高周波位置コンテキスト導出部２２４ｄを用いてサブブロック内の係数有無フラグを符号化する。また、サブブロック係数有無フラグが０の場合（図４３のステップＳＹ２’においてＮの場合）、サブブロック内の係数有無フラグの符号化をスキップし、次のサブブロックの処理へ移行する。
【０６５８】
（係数有無フラグ符号化部２２４−Ｂの備える周波数分類部２２４ａ）
係数有無フラグ符号化部２２４−Ｂの備える周波数分類部２２４ａは、周波数領域における符号化対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃ、及び高周波位置コンテキスト導出部２２４ｄの何れかによって導出されたコンテキストインデックスctxIdxを、当該符号化対象の周波数成分に割り付ける（図４３のステップＳＹ３’）。
【０６５９】
係数有無フラグ符号化部２２４−Ｂの備える周波数分類部２２４ａは、算術符号化部２３０でシンタックスsignificant_coeff_flagを符号化するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズ及び符号化対象の周波数成分毎に算出される（図４３のステップＳＹ４’）。
【０６６０】
係数有無フラグ符号化部２２４−Ｂの備える周波数分類部２２４ａによる他の具体的処理は、係数有無フラグ復号部１２４−Ｂにおける周波数分類部１２４ａと同様であるため、ここでは説明を省略する。
【０６６１】
以下では、各部分領域Ｒ０〜Ｒ３に対応するコンテキスト導出について説明する。
【０６６２】
（係数有無フラグ符号化部２２４−Ｂの備える低周波位置コンテキスト導出部２２４ｂ）
係数有無フラグ符号化部２２４−Ｂの備える低周波位置コンテキスト導出部２２４ｂは、部分領域Ｒ０に属する周波数成分に対して、係数有無フラグ復号部１２４−Ｂにおける低周波位置コンテキスト導出部１２４ｂと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部２２４ａへ供給する。
【０６６３】
（係数有無フラグ符号化部２２４−Ｂの備える周辺参照コンテキスト導出部２２４ｃ）
係数有無フラグ符号化部２２４−Ｂの備える周辺参照コンテキスト導出部２２４ｃは、部分領域Ｒ１、及びＲ２に属する周波数成分に対して、係数有無フラグ復号部１２４−Ｂにおける周辺参照コンテキスト導出部１２４ｃと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部２２４ａへ供給する。
【０６６４】
（係数有無フラグ符号化部２２４−Ｂの備える高周波位置コンテキスト導出部２２４ｄ）
係数有無フラグ符号化部２２４−Ｂの備える高周波位置コンテキスト導出部２２４ｄは、符号化対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置と、当該周波数成分の属するサブブロックの位置に基づて導出する。
【０６６５】
係数有無フラグ符号化部２２４−Ｂの備える高周波位置コンテキスト導出部２２４ｄは、部分領域Ｒ３に属する周波数成分に対して、係数有無フラグ復号部１２４−Ｃにおける高周波位置コンテキスト導出部１２４ｄと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部２２４ａへ供給する。
【０６６６】
以上のように構成された周波数分類部２２４ａによれば、変換係数の位置によりコンテキスト導出方法を切り替えるための分岐処理を、サブブロック座標（ｘＣＧ、ｙＣＧ）を用いた分岐処理にすることができる。（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照する分岐処理を行う場合に比べ、サブブロック内部で行われる（ｕｉＰｏｓＸ、ｕｉＰｏｓＹ）を参照する分岐処理を省略することができ、コンテキスト導出のスループットを向上させることができる。
【０６６７】
さらに、以上のように構成された係数有無フラグ符号化部およびサブブロック係数有無フラグ符号化部を備えることによって、位置コンテキストは、ある変換係数の位置の係数有無フラグのコンテキストを、既に符号化された係数有無フラグの値によらずに決定するため、係数有無フラグのコンテキスト導出と、係数有無フラグの符号化を並列で行うことができるという効果がある。
【０６６８】
＜係数有無フラグ符号化部の第９の構成＞
図４６は、係数有無フラグ復号部１２４−Ｃに対応する係数有無フラグ符号化部２２４−Ｃの構成を示すブロック図である。また、係数有無フラグ符号化部２２４−Ｃの動作の流れは、図４３に示すフローチャートを用いて説明される。
【０６６９】
図４６に示すように、本構成例に係る係数有無フラグ符号化部２２４−Ｃは、サブブロック係数有無フラグ符号化部Ｘ2，周波数分類部２２４ａ、低周波位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃ、及び高周波位置コンテキスト導出部２２４ｄを備えている。
【０６７０】
（係数有無フラグ符号化部２２４−Ｃの備えるサブブロック係数有無フラグ符号化部Ｘ２）
係数有無フラグ符号化部２２４−Ｃの備えるサブブロック係数有無フラグ符号化部Ｘ２は、係数有無フラグ符号化部２２４−Ｂの係数有無フラグ符号化部Ｘ２と同様であるため、説明を省略する。
【０６７１】
（周波数分類部２２４ａ）
係数有無フラグ符号化部２２４−Ｃの備える周波数分類部２２４ａは、周波数領域における符号化対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃ、及び高周波位置コンテキスト導出部２２４ｄの何れかによって導出されたコンテキストインデックスctxIdxを、当該符号化対象の周波数成分に割り付ける（図４３のステップＳＹ３’）。
【０６７２】
係数有無フラグ符号化部２２４−Ｃの備える周波数分類部２２４ａは、算術符号化部２３０でシンタックスsignificant_coeff_flagを符号化するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズ及び符号化対象の周波数成分毎に算出される（図４３のステップＳＹ４’）。
【０６７３】
係数有無フラグ符号化部２２４−Ｃの備える周波数分類部２２４ａによる他の具体的処理は、係数有無フラグ復号部１２４−Ｃにおける周波数分類部１２４ａと同様であるため、ここでは説明を省略する。
【０６７４】
以下では、各部分領域Ｒ０〜Ｒ４に対応するコンテキスト導出について説明する。
【０６７５】
（係数有無フラグ符号化部２２４−Ｃの備える低周波位置コンテキスト導出部２２４ｂ）
係数有無フラグ符号化部２２４−Ｃの備える低周波位置コンテキスト導出部２２４ｂは、部分領域Ｒ０に属する周波数成分に対して、係数有無フラグ復号部１２４−Ｃにおける低周波位置コンテキスト導出部１２４ｂと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部２２４ａへ供給する。
【０６７６】
（係数有無フラグ符号化部２２４−Ｃの備える周辺参照コンテキスト導出部２２４ｃ）
係数有無フラグ符号化部２２４−Ｃの備える周辺参照コンテキスト導出部２２４ｃは、部分領域Ｒ１、Ｒ２、及びＲ３に属する周波数成分に対して、係数有無フラグ復号部１２４−Ｃにおける周辺参照コンテキスト導出部１２４ｃと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部２２４ａへ供給する。
【０６７７】
（係数有無フラグ符号化部２２４−Ｃの備える高周波位置コンテキスト導出部２２４ｄ）
係数有無フラグ符号化部２２４−Ｃの備える高周波位置コンテキスト導出部２２４ｄは、部分領域Ｒ４に属する周波数成分に対して、係数有無フラグ復号部１２４−Ｃにおける高周波位置コンテキスト導出部１２４ｄと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部２２４ａへ供給する。
【０６７８】
以上のように、本構成例に係る係数有無フラグ符号化部２２４−Ｃによれば、所定の閾値ＴＨＦより高周波数側の部分領域（例えば、図４１の部分領域Ｒ３）では、各変換係数有無フラグに割り付けるコンテキストインデックス導出において、参照する符号化済みの非０変換係数の数が、低周波数側の部分領域（例えば、図４１の部分領域Ｒ２）において参照する符号化済みの非０変換係数の数よりも小さいため、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。さらに別の閾値ＴＨＧより高周波数側の部分領域（例えば、図４１の部分領域Ｒ４）においては、コンテキストインデックスを周囲参照によらず位置に基づいて導出するので、さらに処理量を削減することができる。また、位置参照は、コンテキストの導出に既に符号化した係数有無フラグの値を用いないため、並列性も向上させることができる。
【０６７９】
以上のように、本構成例に係る係数有無フラグ符号化部２２４−Ｃにおいて、周波数分類部２２４ａは、対象周波数領域を、処理対象の変換係数有無フラグの位置と、その変換係数有無フラグが属するサブブロックの位置に応じて、少なくとも３つの部分領域に分類するものであり、
周辺参照コンテキスト導出部２２４ｃは、
第１の部分領域（部分領域Ｒ１またはＲ２）では、復号済みの非０変換係数をＮ１個（Ｎ１は自然数）参照し、
第２の部分領域（部分領域Ｒ３）では、復号済みの非０変換係数をＮ２個（Ｎ２はＮ２＜Ｎ１を満たす自然数）参照することによって、コンテキストインデックスを導出し、
第３の部分領域（部分領域Ｒ４）では、高周波位置コンテキスト導出部２２４ｄが、変換係数有無フラグの属するサブブロックの位置に応じて、コンテキストインデックスを導出する。
【０６８０】
上記の構成によれば、コンテキストインデックスを導出するために参照する符号化済みの非０変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置と、該変換係数有無フラグの属するサブブロックの位置とに基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０６８１】
（変換係数符号化部２２０の他の構成例１）
以上、本実施形態に係る変換係数符号化部２２０について、主に係数有無フラグ符号化部の構成例を中心に説明したが、本実施形態に係る変換係数符号化部２２０の構成は、上記の例に限られるものではない。
【０６８２】
例えば、変換係数符号化部２２０は、下記の条件
ｕｉＰｏｓＸ＋ｕｉＰｏｓＹ＜ＴＨ２
を満たす周波数成分についての変換係数のみを符号化するよう制限する構成とし、当該制限を適用したか否かを示すフラグhigh_coeff_restriction_flagを、符号化データ＃１のシーケンスパラメータセットＳＰＳに含める構成としてもよい。
【０６８３】
また、処理対象のＴＵが特定のサイズ（例えば、３２×３２や１６×１６）である場合にのみ、上記の制限を適用する構成としてもよい。
【０６８４】
具体的な制限の例、及びそれに関連する処理については、（変換係数復号部１２０の他の構成例１）において述べたものと同様であるため、ここでは説明を省略する。
【０６８５】
（変換係数符号化部２２０の他の構成例２）
また、対象ＴＵのサイズが８×８画素である場合、変換係数符号化部２２０の備える係数有無フラグ符号化部は、以下の式を用いてコンテキストインデックスctxIdxを導出し、各周波数成分に割り付ける構成としてもよい。
【０６８６】
ｃｔｘＩｄｘ＝Ｎ８＋４×ｔｂｌ［ｕｉＰｏｓＹ］＋ｔｂｌ［ｕｉＰｏｓＸ］
ここで、
ｔｂｌ＝｛０、１、１、２、２、３、３、３｝
である。
【０６８７】
なお、Ｎ８は、周波数領域のサイズが８×８の場合のコンテキストインデックスの開始点である。
【０６８８】
本構成例に係る係数有無フラグ符号化部による処理は、（変換係数復号部１２０の他の構成例２）において述べたものと同様であるため、ここでは説明を省略する。
【０６８９】
（動画像復号装置３）
以下では、本実施形態に係る動画像復号装置の他の例としての動画像復号装置３について図６１〜図７３を参照して説明する。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
【０６９０】
動画像復号装置３は、図７の動画像復号装置１において量子化残差情報復号部１１１の代わりに量子化残差情報復号部Ｙ１１１を備えている。
【０６９１】
図６１は、動画像復号装置３の量子化残差情報復号部Ｙ１１１の構成を示すブロック図である。図６１に示すように、量子化残差情報復号部Ｙ１１１は、変換係数復号部Ｙ１２０及び算術符号復号部１３０を備えている。
【０６９２】
図６１に示すように、変換係数復号部Ｙ１２０は、ラスト係数位置復号部１２１、スキャン順テーブル格納部１２２、係数復号制御部１２３、係数有無フラグ復号部Ｙ１２４、係数値復号部Ｙ１２５、復号係数記憶部１２６、及び、サブブロック係数有無フラグ復号部Ｙ１２７を備えている。
【０６９３】
（スキャン順テーブル格納部１２２）
スキャン順テーブル格納部１２２には、処理対象のＴＵ（ブロック）のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。
【０６９４】
また、スキャン順テーブル格納部１２２には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。
【０６９５】
（係数復号制御部１２３）
係数復号制御部１２３は、量子化残差情報復号部Ｙ１１１の備える各部における復号処理の順序を制御するための構成である。
【０６９６】
（ブロックサイズが所定のサイズ以下である場合）
ブロックサイズが所定のサイズ以下である場合、係数復号制御部１２３は、ラスト係数位置復号部１２１から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部１２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置（ｘＣ、ｙＣ）を、係数有無フラグ復号部Ｙ１２４及び復号係数記憶部１２６に供給する。
【０６９７】
また、係数復号制御部１２３は、処理対象のＴＵのサイズ、すなわち、対象周波数領域のサイズを示すパラメータであるｓｚを、変換係数復号部Ｙ１２０の備える各部に供給する（図示省略）。ここで、ｓｚは、具体的には、処理対象ＴＵの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表すパラメータである。
【０６９８】
なお、係数復号制御部１２３は、スキャン順テーブル格納部１２２に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置（ｘＣ、ｙＣ）を、係数有無フラグ復号部に供給する構成としてもよい。
【０６９９】
（ブロックサイズが所定のサイズよりも大きい場合）
ブロックサイズが所定のサイズよりも大きい場合、係数復号制御部１２３は、ラスト係数位置復号部１２１から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部１２２に格納されたサブブロックスキャン順テーブルによって与えられるスキャン順の逆スキャン順に、各サブブロックの位置（ｘＣＧ、ｙＣＧ）を、サブブロック係数有無フラグ復号部Ｙ１２７に供給する。
【０７００】
また、係数復号制御部１２３は、処理対象となるサブブロックに関して、スキャン順テーブル格納部１２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置（ｘＣ、ｙＣ）を、係数有無フラグ復号部Ｙ１２４及び復号係数記憶部１２６に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、具体的には、斜め方向スキャン（Up-right diagonal scan）を用いればよい。
【０７０１】
（サブブロック係数有無フラグ復号部Ｙ１２７）
サブブロック係数有無フラグ復号部Ｙ１２７は、ビット復号部１３２から供給される各Ｂｉｎを解釈し、各サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるシンタックスsignificant_coeffgroup_flag[xCG][yCG]を復号する。また、サブブロック係数有無フラグ復号部Ｙ１２７は、算術符号復号部１３０にてシンタックスsignificant_coeffgroup_flag[xCG][yCG]のＢｉｎを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。ここで、シンタックスsignificant_coeffgroup_flag[xCG][yCG]は、サブブロック位置（ｘＣＧ、ｙＣＧ）によって指定されるサブブロックに、少なくとも１つの非０変換係数が含まれている場合に１をとり、非０変換係数が１つも含まれていない場合に０をとるシンタックスである。復号されたシンタックスsignificant_coeffgroup_flag[xCG][yCG]の値は、復号係数記憶部１２６に格納される。
【０７０２】
（係数有無フラグ復号部Ｙ１２４）
本実施形態に係る係数有無フラグ復号部Ｙ１２４は、各係数位置（ｘＣ、ｙＣ）によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を復号する。復号されたシンタックスsignificant_coeff_flag[xC][yC]の値は、復号係数記憶部１２６に格納される。また、量係数有無フラグ復号部Ｙ１２４は、算術符号復号部１３０にてシンタックスsignificant_coeff_flag[xC][yC]のＢｉｎを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。
【０７０３】
（係数値復号部Ｙ１２５）
係数値復号部Ｙ１２５は、ビット復号部１３２から供給される各Ｂｉｎを解釈し、処理対象の周波数成分における変換係数（より具体的には非０変換係数）の値を導出する。また、各種シンタックスの復号に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部１３１に供給される。導出された変換係数の値は、復号係数記憶部１２６に格納される。
【０７０４】
（復号係数記憶部１２６）
復号係数記憶部１２６は、係数値復号部Ｙ１２５によって復号された変換係数の各値を記憶しておくための構成である。また、復号係数記憶部１２６には、量係数有無フラグ復号部Ｙ１２４によって復号されたシンタックスsignificant_coeff_flagの各値が記憶される。復号係数記憶部１２６によって記憶されている変換係数の各値は、逆量子化・逆変換部１３に供給される。
【０７０５】
（従来技術の量子化残差情報ＱＤの構成）
図６２、図６３は、従来技術の量子化残差情報ＱＤの構成を示す。図６２及び図６３は、従来技術の量子化残差情報ＱＤ（図６２ではresidual_coding_cabac()と表記）に含まれる各シンタックスが示されている。
【０７０６】
図６２は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。図６３は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【０７０７】
図６２及び図６３に示すように、量子化残差情報ＱＤは、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeffgroup_flag、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_minus3を含んでいる。
【０７０８】
量子化残差情報ＱＤに含まれる各シンタックスは、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ：（Context-based Adaptive Binary Arithmetic Coding））によって符号化されている。図６２、図６３のDescriptor欄のae(e)は、シンタックスがＣＡＢＡＣで符号化されることを意味する。
【０７０９】
図６３のDescriptor欄のbypassは、当該シンタックスがバイパスで符号化されることを意味する。Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣの規格書によればバイパスで符号化されるか否かは、コンテキストインデックスctxIdxの割り当てを示すテーブルがnaであることで示されるが、ここでは理解しやすいようにシンタックステーブル上に記した。従来技術において、coeff_sign_flag、coeff_abs_level_minus3はバイパスで符号化される。また、バイパスで符号化されるこの２つのシンタックスが連続しているため、この部分の復号処理で高いスループットが得られる。
【０７１０】
（本実施形態の第１の構成の量子化残差情報ＱＤ）
図６４〜図６６は、本実施形態の第１の構成の量子化残差情報ＱＤに含まれる各シンタックスが示されている。
【０７１１】
図６４は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。本構成では、ＣＡＢＡＣ処理の簡略化を行うか否かを示すフラグcabac_lowcomp_flagの値によって符号化データの構成を切り替える。cabac_lowcomp_flag＝０の場合、すなわち簡略化処理を行わない場合には、図６５に示すresidual_coding_cabac2_normal()が用いられ、逆にcabac_lowcomp_flag＝１の場合、すなわち簡略化処理を行う場合には、図６６に示すresidual_coding_cabac2_comp()が用いられる。図６５、図６６は、量子化残差情報ＱＤに含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
【０７１２】
図６４〜図６６に示すように、量子化残差情報ＱＤは、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeffgroup_flag、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_sign_flagを含んでいる。またsignificant_coeff_flag、coeff_abs_level_greater1_flag、coeff_sign_flagはバイパス符号化される。
【０７１３】
図６４の前半部分、および図６５に示す簡略化処理を行わない場合のシンタックス構成は、図４、図５に示す従来技術のシンタックスと同様である。
【０７１４】
図６６の簡略化処理を行う場合のシンタックスでは、変換係数の値を示すシンタックスsignificant_coeff_flagが非バイパスからバイパスに変更される。また、変換係数の絶対値を示すシンタックスが、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_abs_level_minus3の４つから、significant_coeff_flag、coeff_abs_level_minus1の２つに削減される。ある値の表現を複数のシンタックスで表現する場合、復号処理では、基本的には表現に必要なシンタックスの数だけのサイクル数が必要になる。従って、表現に必要なシンタックスを２つ削減すれば２サイクル以上スループットを向上させることができる。また、significant_coeff_flagとcoeff_abs_level_minus1は共にバイパスで符号化され、さらにスループットを向上させることができる。
【０７１５】
以上の構成では、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、Ｍ１個（Ｍ１は自然数）のシンタックスを復号して各変換係数の値を復号する通常モードと、Ｍ２個（Ｍ２はＭ２＜Ｍ１を満たす自然数）のシンタックスを復号して各変換係数の値を復号する簡略化モードとを選択的に用いることによって各変換係数の値を復号する構成の一例を示した。また、後述の図６８〜図７０の構成の簡略化構成も、このような構成を備える。
【０７１６】
以上の構成では、また、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、上記シンタックス復号手段は、通常モードでは上記Ｍ１個のシンタックスについてコンテキストを用いて復号を行い、簡略化モードでは上記Ｍ２個のシンタックスについてコンテキストを用いて復号を行うことを特徴とする構成の一例を示した。また、後述の図６８〜図７０の構成の簡略化構成も、このような構成を備える。
【０７１７】
なお、本データ構造に示すように、significant_coeffgroup_flagは非バイパス、すなわちコンテキストを用いて符号化することが望ましい。サブブロックのサイズが４×４の場合、significant_coeffgroup_flagは１６個の周波数位置に対して１個のみしか存在しないため、コンテキストを用いてもスループットが低下することはない。
【０７１８】
また、上記簡略化処理を行うモードを簡略化モードとも呼称し、上記簡略化処理を行わないモードを通常モードとも呼称する。
【０７１９】
（本実施形態の変換係数簡略化処理の判定）
本符号化データを復号する係数有無フラグ復号部Ｙ１２４および係数値復号部Ｙ１２５は、簡略化フラグcabac_lowcomp_flagの値に応じて、通常処理と簡略化処理を切り替えることができる。cabac_lowcomp_flagは、ＳＰＳ、ＰＰＳ、スライスヘッダなどに含まれる上位レベル簡略化フラグxps_cabac_lowcomp_flagの値と、ラスト位置に応じて導出される。以下、簡略化フラグcabac_lowcomp_flagの導出方法を説明する。
【０７２０】
図７２は簡略化フラグcabac_lowcomp_flag導出処理を示すフローチャートである。係数復号制御部１２３は、各周波数領域での変換係数を復号する場合に、図７２の処理を行い、cabac_lowcomp_flagを導出する。
【０７２１】
まず、係数復号制御部１２３は、各周波数領域の復号毎に簡略化フラグcabac_lowcomp_flagを０に初期化する（ＳＸ１０１）。
【０７２２】
続いて、係数復号制御部１２３は、上位レベル簡略化フラグxps_cabac_lowcomp_flagが有効を示す１であるか無効を示す０であるかの判定を行い、有効の場合にはＳＸ１０３に遷移し、それ以外の場合、判定処理を終了する（ＳＸ１０２）。
【０７２３】
また、係数復号制御部１２３は、last_significant_coeff_pos_x、last_significant_coeff_pos_yで示されるラスト位置が所定の値より大きいか否かの判定を行う（ＳＸ１０３）。ラスト位置が所定の値よりも大きい場合には、簡略化フラグcabac_lowcomp_flagを有効であることを示す１に設定する（ＳＸ１０４）。
【０７２４】
この処理によって、ラスト位置が所定の位置よりも大きい場合のような、変換係数が多く発生する場合には、高速なスループットである簡略化処理を用い、それ以外の場合には符号化効率の高い通常処理を行うことができる。簡略化処理を必要な場合にのみに限定することができるのでスループットを確保しながら高い符号化空率を実現できる。
【０７２５】
図７３は、図７２のＳ１０３で示されるラスト位置が所定の値より大きいか否かの判定の具体例を示す図であり、（ａ）に示す処理と（ｂ）に示す処理との２つの処理を示す。図７３（ａ）の処理では、係数復号制御部１２３は、last_significant_coeff_pos_x、last_significant_coeff_pos_yの和と、周波数領域の幅と高さの最大値の定数倍（ここではａ倍して２ビット右シフトした値）と大小比較を行う（ＳＸ１０３Ａ）。係数復号制御部１２３は、この判定により、ラスト位置の和の方が大きい場合には、簡略化フラグを有効にし、逆の場合には簡略化フラグを無効にすれば良い。なお、例えば、上記ａとしては３、４、５などの値を用いることができる。例えばａが４の場合には、ラスト位置がスキャン順の順序で約半分の数の位置を超えた場合に簡略化の動作が行われる。
【０７２６】
図７３（ｂ）の処理は、周波数領域の幅widthと高さheightが同じ場合と異なる場合で異なる判定を行う。異なる場合とは例えば１６×４変換、１６×４変換、３２×８変換、８×３２変換などが該当する。図７３（ｂ）のフローチャートに示すように、係数復号制御部１２３は、周波数領域の幅widthと高さheightが同じであるか否かの判定を行う（ＳＸ１０３Ｂ）、同じ場合には、比較の閾値を定めるａにa1を設定し（ＳＸ１０３Ｃ）、異なる場合にはａにa２（ここではａ２≦a１）を設定する（ＳＸ１０３Ｄ）。続いて、last_significant_coeff_pos_x、last_significant_coeff_pos_yの和と、周波数領域の幅と高さの最大値の定数倍（ここではａ倍して２ビット右シフトした値）と大小比較を行う（ＳＸ１０３Ａ）。このように判定に用いる閾値として、周波数領域の幅widthと高さheightが異なる場合に、周波数領域の幅widthと高さheightが同じ場合のよりも相対的に小さい値を用いることによって、ラスト位置がスキャン順の順序で、全体のどの程度の割合の位置であるかに基づいて、判定を行うことができる。ａ１及びａ２として、例えば、ａ２＝ａ１／２を満たすように選ぶことが適当であり、ａ１＝４、ａ２＝２などが適当である。
【０７２７】
（本実施形態に掛る簡略化を行わない場合の係数有無フラグ復号部Ｙ１２４および係数値復号部Ｙ１２５の処理）
以下では、図６５を参照して、本符号化データを復号する係数値復号部Ｙ１２５の簡略化を行わない場合の処理を説明する。まず、係数値復号部Ｙ１２５は、サブブロック単位での外部ループ（ＬＰ＿Ｙ７０）と、サブブロック内の変換係数を復号する内部ループ（ＬＰ＿Ｙ７１〜ＬＰ＿Ｙ７５）の２重ループ処理により、変換係数を復号する。
【０７２８】
係数有無フラグ復号部Ｙ１２４は、第１の内部ループ（ＬＰ＿Ｙ７１）を処理し、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が１６以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非０であり、かつ、ラスト位置以外の場合について、コンテキストを用いてsignificant_coeff_flagを復号する（ＳＹＮ＿Ｙ７１）。なお、ラスト位置か否かの判定は以下の式を用いる。
【０７２９】
（xC != last_significant_coeff_x ) || ( yC != last_significant_coeff_y )）
逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、コンテキストを用いてsignificant_coeff_flagを復号する（ＳＹＮ＿Ｙ７２）。
【０７３０】
係数値復号部Ｙ１２５は第２から第５の内部ループを処理する。
【０７３１】
第２の内部ループ（ＬＰ＿Ｙ７２）では、significant_coeff_flagが０以外である周波数上の位置についてコンテキストを用いてcoeff_abs_level_greater1_flagの復号を行う（ＳＹＮ＿Ｙ７３）。
【０７３２】
第３の内部ループ（ＬＰ＿Ｙ７３）では、coeff_abs_level_greater1_flagが０以外である周波数上の位置についてコンテキストを用いてcoeff_abs_level_greater2_flagの復号を行う（ＳＹＮ＿Ｙ７４）。
【０７３３】
第４の内部ループ（ＬＰ＿Ｙ７４）では、significant_coeff_flagが０以外である周波数上の位置についてバイパスによりcoeff_sign_flagの復号を行う（ＳＹＮ＿Ｙ７５）。
【０７３４】
第５の内部ループ（ＬＰ＿Ｙ７５）では、coeff_abs_level_greater2_flagが０以外である周波数上の位置についてバイパスによりcoeff_abs_level_minus3の復号を行う（ＳＹＮ＿Ｙ７６）。さらに、significant_coeff_flagが０以外である周波数上の位置について次の式により、変換係数の値を復号する。
【０７３５】
( coeff_abs_level_minus3[ n ] + 3 ) * ( 1 ? 2 * coeff_sign_flag[ n ] )
以上の処理によって、変換係数の値が復号される。
【０７３６】
（本実施形態の第１の簡略化構成の係数有無フラグ復号部Ｙ１２４および係数値復号部Ｙ１２５の処理）
次に、図６６を参照して、本符号化データを復号する係数有無フラグ復号部Ｙ１２４および係数値復号部Ｙ１２５の簡略化を行う場合の処理を説明する。
【０７３７】
係数有無フラグ復号部Ｙ１２４は、第１の内部ループ（ＬＰ＿Ｙ８１）を処理し、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が１６以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非０であり、かつ、ラスト位置以外の場合について、バイパスによりsignificant_coeff_flagを復号する（ＳＹＮ＿Ｙ８１）。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、バイパスによりsignificant_coeff_flagを復号する（ＳＹＮ＿Ｙ８２）。
【０７３８】
係数値復号部Ｙ１２５は第２から第３の内部ループを処理する。
【０７３９】
第２の内部ループ（ＬＰ＿Ｙ８２）では、significant_coeff_flagが０以外である周波数上の位置についてバイパスによりcoeff_sign_flagの復号を行う（ＳＹＮ＿Ｙ８３）。
【０７４０】
第３の内部ループ（ＬＰ＿Ｙ８３）では、significant_coeff_flagが０以外である周波数上の位置についてバイパスによりcoeff_abs_level_minus1の復号を行う（ＳＹＮ＿Ｙ８４）。さらに、significant_coeff_flagが０以外である周波数上の位置について次の式により、変換係数の値を復号する。
【０７４１】
( coeff_abs_level_minus1[ n ] + 1 ) * ( 1 ? 2 * coeff_sign_flag[ n ] )
ここで、coeff_abs_level_minus1のバイナリ化は、ゴロム符号やハフマン符号などを用いればよい。
【０７４２】
簡略化なしの処理と、簡略化有りの処理を比較すると、内部ループの回数が５回から３回に減少する。これによって複数回の内部ループを行う場合に比べループに必要な処理が減るためスループットが向上する。
【０７４３】
以上、第１の構成の符号化データおよび本符号化データを復号する量子化残差情報復号部によれば、簡略化する場合において、変換係数の絶対値を示すシンタックスを１つのシンタックスcoeff_abs_level_minus1で表現し、非０変換係数の有無を示すフラグsignificant_coeff_flagと、符号フラグcoeff_sign_flag、絶対値−１の値coeff_abs_level_minus1を全てバイパスによって符号化／復号することにより、高いスループットの処理が可能になる。また、非０変換係数の有無を示すフラグの内、significant_coeffgroup_flagを非バイパスとし、significant_coeff_flagをバイパスとすることによって高い符号化効率を維持したまま高いスループットの処理が可能になる。
【０７４４】
また、ＣＡＶＬＣのバイナリ化を用いる非特許文献２ではランモードとレベルモードの２つのモードを用いるのに対し、本実施形態の構成では１つのバイナリ化で簡略化処理が可能であるため、処理の構成が単純になるという効果を奏する。特にスループットが課題となる高ビットレートの領域では、変換係数が０となる割合が相対的に低下することから、ランモードと同様の符号化効率をレベルモードで実現できるという知見が有る。本構成では連続する０係数の数を符号化するランモードを用いず、レベルモードに相当する値を直接符号化するモードのみを用いるため、符号化効率を保ちながら、装置構成の複雑度を低下させることができる。第１の構成以外の以下の構成においても適用できる。
【０７４５】
（本実施形態の第２の簡略化構成の量子化残差情報ＱＤ）
本実施形態の第２の簡略化構成では、図６６に代わり図６７のシンタックス構成を用いる。図６７は、本実施形態の第２の簡略化構成の量子化残差情報ＱＤに含まれる各シンタックスが示されている。
【０７４６】
図６６ではsignificant_coeff_flagがバイパス符号化されていたが、本構成ではコンテキストを用いる。変換係数の位置によっては、変換係数の値が０である確率が非常に大きいため、非０係数であるか否かを示すsignificant_coeff_flagを全てバイパスにする図６６の構成では符号化効率の低下が大きくなることがある。本構成では最も重要なsignificant_coeff_flagに限ってコンテキストを用いることにより、図６６の構成よりも高い符号化効率が得られる効果を奏する。
【０７４７】
（本実施形態の第２の簡略化構成の係数有無フラグ復号部Ｙ１２４および係数値復号部Ｙ１２５の処理）
本実施形態の第２の簡略化構成では、係数有無フラグ復号部Ｙ１２４で処理される第１の内部ループの処理が異なる。以下、図６７に示される第１の内部ループ処理を説明する。
【０７４８】
係数有無フラグ復号部Ｙ１２４は、第１の内部ループ（ＬＰ＿Ｙ９１）を処理し、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が１６以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非０であり、かつ、ラスト位置以外の場合について、コンテキストを用いてsignificant_coeff_flagを復号する（ＳＹＮ＿Ｙ９１）。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、コンテキストを用いてsignificant_coeff_flagを復号する（ＳＹＮ＿Ｙ９２）。
【０７４９】
以上、第２の構成の符号化データおよび本符号化データを復号する量子化残差情報復号部によれば、変換係数の絶対値を示すシンタックスを１つのシンタックスcoeff_abs_level_minus1で表現し、非０変換係数の有無を示すフラグsignificant_coeff_flagにはコンテキスト用い、符号フラグcoeff_sign_flag、絶対値−１の値coeff_abs_level_minus1をバイパスによって符号化／復号することにより、高いスループットの処理が可能になる。また、非０変換係数の有無を示すフラグであるsignificant_coeffgroup_flagとsignificant_coeff_flagとを非バイパスとすることによって高い符号化効率を維持したまま高いスループットの処理が可能になる。
【０７５０】
（本実施形態の第３の簡略化構成の量子化残差情報ＱＤ）
本実施形態の第３の簡略化構成では、図６７に代わり図６８のシンタックス構成を用いる。図６８は、本実施形態の第３の簡略化構成の量子化残差情報ＱＤに含まれる各シンタックスが示されている。
【０７５１】
（本実施形態の第３の簡略化構成の係数有無フラグ復号部Ｙ１２４および係数値復号部Ｙ１２５の処理）
係数値復号部Ｙ１２５の基本的な動作は第２の構成と同じであるが、第２の構成では、サブブロック内の処理において、符号フラグcoeff_sign_flag、絶対値−１の値coeff_abs_level_minus1を異なる内部ループで処理するが、第３の構成では、以下に示すように２つのシンタックスを一つの内部ループで処理する。
【０７５２】
第１の内部ループ（ＬＰ＿Ｙ１０１）では、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が１６以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非０であり、かつ、ラスト位置以外の場合について、significant_coeff_flagを復号する（ＳＹＮ＿Ｙ１０１）。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、significant_coeff_flagを復号する（ＳＹＮ＿Ｙ１０２）。
【０７５３】
第２の内部ループ（ＬＰ＿Ｙ１０２）では、significant_coeff_flagが０以外である周波数上の位置についてバイパスによりcoeff_sign_flagを復号を行う（ＳＹＮ＿Ｙ１０３）。さらに、バイパスによりcoeff_abs_level_minus1の復号を行う（ＳＹＮ＿Ｙ１０４）。さらに、significant_coeff_flagが０以外である周波数上の位置について次の式により、変換係数の値を復号する。
【０７５４】
( coeff_abs_level_minus1[ n ] + 1 ) * ( 1 ? 2 * coeff_sign_flag[ n ] )
ここで、coeff_abs_level_minus1のバイナリ化は、ゴロム符号やハフマン符号などを用いればよい。
【０７５５】
以上、第３の構成の符号化データの処理によれば、第１の処理、第２の処理に比べ、内部ループの回数が３回から２回に減少する。これによって複数回の内部ループを行う場合に比べ、ループに必要な処理、及び、significant_coeff_flagが０以外であるかを判定する処理が減るためスループットが向上する。すなわち、バイパスのシンタックスである符号フラグcoeff_sign_flag、絶対値−１の値coeff_abs_level_minus1を一つのループで処理するようにインターリーブして符号化することによってスループットを向上させることができる。すなわち、バイパスで処理される２つのシンタックスcoeff_sign_flag、coeff_abs_level_minus1を１つのループ内で連続して配置することによって、スループットを向上させることができる。
【０７５６】
（適応的に簡略化を行う係数有無フラグ復号部Ｙ１２４の処理）
以下、より適応的に簡略化を行う係数値復号部Ｙ１２４の処理を説明する。図７２、図７３で説明した簡略化フラグcabac_lowcomp_flagの導出方法では、各周波数領域での変換係数を復号する最初の時点でラスト位置を参照することにより簡略化を行うか否かを設定していたが、以下の処理では、各周波数領域での変換係数を復号する最初の時点ではコンテキストを用いて復号処理を行い、周波数領域を構成する周波数成分を復号結果に応じて途中からコンテキストを用いた復号からバイパスによる復号に切り替える。
【０７５７】
より具体的には、係数有無フラグ復号部Ｙ１２４は、significant_coeff_flagにおいてコンテキストを用いるか否かを示すフラグsignificant_coeff_flag_modeを導出し、このフラグの値がsignificant_coeff_flag_modeが０の場合には、コンテキストを用いてsignificant_coeff_flagを復号し、significant_coeff_flag_modeが１の場合にはコンテキストを用いずバイパス処理によりsignificant_coeff_flagを復号する。
【０７５８】
以下、図６７の構成および図６８の構成に対応する復号動作を説明する。
【０７５９】
図６７の構成の場合は以下の通りである。係数有無フラグ復号部Ｙ１２４は、第１の内部ループ（ＬＰ＿Ｙ９１）を処理し、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が１６以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非０であり、かつ、ラスト位置以外の場合について、significant_coeff_flagを復号する（ＳＹＮ＿Ｙ９１）。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、significant_coeff_flagを復号する（ＳＹＮ＿Ｙ９２）。図６８の構成の場合は、上記説明においてＬＰ＿Ｙ９１、ＳＹＮ＿Ｙ９１、ＳＹＮ＿Ｙ９２をＬＰ＿Ｙ１０１、ＳＹＮ＿Ｙ１０１、ＳＹＮ＿Ｙ１０２に置き換えた動作になる。適応な簡略化の処理では、ＳＹＮ＿Ｙ９１、ＳＹＮ＿Ｙ９２、ＳＹＮ＿Ｙ１０１、ＳＹＮ＿Ｙ１０２において、significant_coeff_flag_modeが０の場合にコンテキストを用いてsignificant_coeff_flagを復号し、significant_coeff_flag_modeが１の場合にバイパスによりsignificant_coeff_flagを復号する。
【０７６０】
以下、非０係数の復号を簡略化するか否かを示すフラグsignificant_coeff_flag_modeの導出方法を以下２つ説明する。
【０７６１】
非０係数の復号を簡略化するか否かを示すフラグsignificant_coeff_flag_modeの導出方法の例を以下に説明する。最初のサブブロックを処理ではsignificant_coeff_flag_modeを０に設定する。最初のサブブロック以外の処理では、前のサブブロックで設定された値を用いる。１つのサブブロックのsignificant_coeff_flagを復号する時点において、サブブロック内で発生する非０係数の数をカウントする。あるサブブロック内において、前記カウント（significant_coeff_flageの数）が所定の定数Ｎ個以上である場合にはsignificant_coeff_flag_modeを１に設定し、次のサブブロックを処理する。それ以外の場合には、前のサブブロックのsignificant_coeff_flag_modeの値を、そのまま次のサブブロックのsignificant_coeff_flag_modeとして用いる。
【０７６２】
（本実施形態の第４、第５の簡略化構成の量子化残差情報ＱＤ）
本実施形態の第４、第５の簡略化構成では、各々図６９、図７０のシンタックス構成を用いる。図６９、図７０では、本実施形態の第４、第５の簡略化構成の量子化残差情報ＱＤに含まれる各シンタックスが示されている。
【０７６３】
第１〜第３の簡略化構成では、符号化データの値を示すシンタックスsignificant_coeff_flag、絶対値−１の値coeff_abs_level_minus1が２つであったが、第４、第５の構成では、ラスト位置以外は絶対値coeff_abs_levelの一つのシンタックスにすることが特徴である。なお、第４、第５の簡略化構成では、significant_coeff_flagの処理を行わない。そのため、第４、第５の構成では、係数有無フラグ復号部Ｙ１２４は通常処理でのみ用いられ、簡略化処理の際には、係数有無フラグ復号部Ｙ１２４は用いられない。
【０７６４】
（本実施形態の第４の簡略化構成の係数値復号部Ｙ１２５の処理）
係数値復号部Ｙ１２５は、第１の内部ループ、第２の内部ループの処理を行う。
【０７６５】
係数値復号部Ｙ１２５は、第１の内部ループ（ＬＰ＿Ｙ１１１）では、coeff_abs_level_minus1及びcoeff_abs_levelの復号を行う。具体的には、対象変換係数の位置がラスト位置の場合には、バイパス処理によりcoeff_abs_level_minus1を復号し、coeff_abs_level＝coeff_abs_level_minus1＋１によりcoeff_abs_levelを導出する（ＳＹＮ＿Ｙ１１１）。それ以外は以下の処理を行う。サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が１６以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非０である場合についてバイパス処理によりcoeff_abs_levelを復号する（ＳＹＮ＿Ｙ１１２）。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合にはバイパス処理によりcoeff_abs_levelを復号する（ＳＹＮ＿Ｙ１１３）。
【０７６６】
係数値復号部Ｙ１２５は、第２の内部ループ（ＬＰ＿Ｙ１１２）では、coeff_abs_levelが０以外である周波数上の位置についてバイパスによりcoeff_sign_flagを復号を行う（ＳＹＮ＿Ｙ１１４）。さらに、coeff_abs_levelが０以外である周波数上の位置について次の式により、変換係数の値を復号する。
【０７６７】
( coeff_abs_level[ n ] ) * ( 1 ? 2 * coeff_sign_flag[ n ] )
以上、第４の構成の符号化データおよび本符号化データを復号する量子化残差情報復号部によれば、変換係数の絶対値であるcoeff_abs_level及び変換係数の絶対値−１であるcoeff_abs_level_minus1をバイパスで符号化することにより、復号処理のスループットを向上させる。非０変換係数の有無を示すフラグの内、significant_coeffgroup_flagを非バイパスとし、significant_coeff_flagをバイパスとすることによって高い符号化効率を維持したまま高いスループットの処理が可能になる。
【０７６８】
（本実施形態の第５の簡略化構成の係数値復号部Ｙ１２５の処理）
係数値復号部Ｙ１２５は、第１の内部ループ、第２の内部ループの処理を行う。
【０７６９】
係数値復号部Ｙ１２５は、第１の内部ループ（ＬＰ＿Ｙ１２１）では、coeff_abs_levelの復号を行う。第４の簡略化構成では、バイパス処理によりcoeff_abs_levelおよびcoeff_abs_level_minus1を復号したが、第５の簡略化構成ではcoeff_abs_levelの先頭ビットについてコンテキストを用いて復号を行い、coeff_abs_levelの先頭ビットより後ろのビットについてはバイパスによって復号する。なお、coeff_abs_level_minus1は全てバイパスによって復号しても良いし、先頭ビットのみをコンテキストを用いても良い。
【０７７０】
図７１は、coeff_abs_levelの先頭ビットのみをバイパスにする値のバイナリ構成を説明するための図である。図７１に示すように、係数値復号部Ｙ１２５は、変換係数の値をバイナリ化した場合の先頭ビットでコンテキストを用いる。ここで、より具体的にはcoeff_abs_levelの先頭ビットはsignificant_coeff_flagに相当することから、コンテキストインデックスの導出方法は既に説明した各種方法を用いることができる。
【０７７１】
なお、coeff_abs_levelの先頭ビットを常にコンテキストを用いて復号する必要はない。より具体的には、係数値復号部Ｙ１２５において、既に説明した処理により、significant_coeff_flag_modeを導出するようにし、significant_coeff_flag_modeの値が０の場合にはコンテキストを用いて復号し、値が１の場合にはバイパスで復号するように切り替えても良い。
【０７７２】
以上、第５の構成の符号化データおよび本符号化データを復号する量子化残差情報復号部によれば、変換係数の絶対値であるcoeff_abs_levelの先頭ビットをコンテキストを用いることに高いスループットと高い符号化効率を両立させることができる。
【０７７３】
（動画像符号化装置４）
以下では、本実施形態に係るさらなる他の動画像符号化装置である動画像符号化装置４について図７４を参照して説明する。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
【０７７４】
動画像符号化装置４は、動画像符号化装置１において、量子化残差情報符号化部２７１の代わりに量子化残差情報符号化部Ｙ２７１を用いる。
【０７７５】
（量子化残差情報符号化部Ｙ２７１）
図７４は、量子化残差情報符号化部Ｙ２７１の構成を示すブロック図である。図７４に示すように、量子化残差情報符号化部Ｙ２７１は、変換係数符号化部Ｙ２２０及び算術符号符号化部２３０を備えている。
【０７７６】
（変換係数符号化部Ｙ２２０）
図７４に示すように、変換係数符号化部Ｙ２２０は、ラスト位置符号化部２２１、スキャン順テーブル格納部２２２、係数符号化制御部２２３、係数有無フラグ符号化部Ｙ２２４、係数値符号化部Ｙ２２５、符号化係数記憶部２２６、サブブロック係数有無フラグＹ２２７、及びシンタックス導出部Ｙ２２８を備えている。
【０７７７】
（シンタックス導出部Ｙ２２８）
シンタックス導出部Ｙ２２８は、変換係数Ｃｏｅｆｆ（ｘＣ、ｙＣ）の各値を参照し、対象周波数領域におけるこれらの変換係数を特定するためのシンタックス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_minus3の各値を導出する。導出された各シンタックスは、符号化係数記憶部２２６に供給される。また、導出されたシンタックスのうちlast_significant_coeff_x、last_significant_coeff_yは、係数符号化制御部２２３及びラスト位置符号化部２２１にも供給される。また、導出されたシンタックスのうちsignificant_coeff_flagは、係数有無フラグ符号化部Ｙ２２４にも供給される。なお、各シンタックスが示す内容については上述したためここでは説明を省略する。
【０７７８】
（スキャン順テーブル格納部２２２）
スキャン順テーブル格納部２２２には、処理対象のＴＵ（ブロック）のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。このようなスキャン順テーブルの一例としては、図４及び図５に示したScanOrderが挙げられる。
【０７７９】
また、スキャン順テーブル格納部２２２には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。ここで、サブブロックスキャン順テーブルは、処理対象のＴＵ（ブロック）のサイズとイントラ予測モードの予測モードインデックスとに関連付けられたスキャンインデックスscanIndexによって指定される。
【０７８０】
（係数符号化制御部２２３）
係数符号化制御部２２３は、量子化残差情報符号化部Ｙ２７１の備える各部における符号化処理の順序を制御するための構成である。
【０７８１】
（ブロックサイズが所定のサイズ以下である場合）
ブロックサイズが所定のサイズ以下（例えば４×４成分、８×８成分等）である場合、係数符号化制御部２２３は、シンタックス導出部２２８より供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部２２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置（ｘＣ、ｙＣ）を、係数有無フラグ符号化部に供給する。
【０７８２】
また、係数符号化制御部２２３は、処理対象のＴＵのサイズ、すなわち、対象周波数領域のサイズを示すパラメータであるｓｚを、変換係数符号化部Ｙ２２０の備える各部に供給する（図示省略）。ここで、ｓｚは、具体的には、処理対象ＴＵの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表すパラメータである。
【０７８３】
なお、係数符号化制御部２２３は、スキャン順テーブル格納部２２２に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置（ｘＣ、ｙＣ）を、係数有無フラグ符号化部Ｙ２２４に供給する構成としてもよい。
【０７８４】
（ブロックサイズが所定のサイズよりも大きい場合）
ブロックサイズが所定のサイズよりも大きい場合、係数符号化制御部２２３は、シンタックス導出部Ｙ２２８から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非０変換係数の位置を特定すると共に、特定した最後の非０変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部２２２に格納されたサブブロックスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各サブブロックの位置（ｘＣＧ、ｙＣＧ）を、サブブロック係数有無フラグ符号化部Ｙ２２７に供給する。
【０７８５】
また、係数符号化制御部２２３は、処理対象となるサブブロックに関して、スキャン順テーブル格納部２２２に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置（ｘＣ、ｙＣ）を、係数有無フラグ符号化部Ｙ２２４に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、具体的には、斜め方向スキャン（Up-right diagonal scan）を用いればよい。
【０７８６】
このように、係数符号化制御部２２３は、イントラ予測モード毎に、スキャン順を切り替える構成である。一般に、イントラ予測モードと変換係数の偏りとは互いに相関を有しているため、イントラ予測モードに応じてスキャン順を切り替えることにより、サブブロック係数有無フラグの偏りに適したサブブロックスキャンを行うことができる。これによって、符号化及び復号対象となるサブブロック係数有無フラグの符号量を削減することができ、符号化効率が向上する。
【０７８７】
（係数値符号化部Ｙ２２５）
係数値符号化部Ｙ２２５では、通常処理を行う場合と簡略化処理を行う場合で処理が異なる。通常処理を行う場合には、シンタックス導出部Ｙ２２８から供給されるシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_minus3を示すＢｉｎを生成する。動画像復号装置３で説明した通り、簡略化処理を行う場合には、第１〜第３の簡略化構成では、coeff_sign_flag、及びcoeff_abs_level_minus1を示すＢｉｎを生成する。第４〜第５の簡略化構成では、coeff_sign_flag、及びcoeff_abs_level_minus1、coeff_abs_levelを示すＢｉｎを生成する。
【０７８８】
また、生成した各Ｂｉｎをビット符号化部２３２に供給する。また、これらのシンタックスのＢｉｎを符号化するために参照されるコンテキストを指定するコンテキストインデックスctxIdxを、コンテキスト記録更新部２３１に供給する。なお、簡略化処理を行う場合には、コンテキストインデックスの導出を省略する。
【０７８９】
（係数有無フラグ符号化部Ｙ２２４）
本実施形態に係る係数有無フラグ符号化部Ｙ２２４は、各位置（ｘＣ、ｙＣ）によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を符号化する。より具体的には、各位置（ｘＣ、ｙＣ）によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を示すＢｉｎを生成する。生成された各Ｂｉｎは、ビット符号化部２３２に供給される。また、係数有無フラグ符号化部２２４は、算術符号符号化部２３０にてシンタックスsignificant_coeff_flag[xC][yC]のＢｉｎを符号化するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部２３１に供給される。
【０７９０】
但し、動画像復号装置３で説明した通り、第１の簡略化構成〜第３の簡略化構成において、通常処理においてはsignificant_coeff_flagのコンテキストインデックスを導出するが、簡略化処理においてバイパスを用いる場合には、コンテキストインデックスの導出は行わない。
【０７９１】
図７５は、係数有無フラグ符号化部Ｙ２２４の構成を示すブロック図である。図７５に示すように、係数有無フラグ符号化部Ｙ２２４は、周波数分類部２２４ａ、位置コンテキスト導出部２２４ｂ、周辺参照コンテキスト導出部２２４ｃ、係数有無フラグ記憶部２２４ｄ、及び、係数有無フラグ設定部２２４ｅを備えている。
【０７９２】
周波数分類部２２４ａ、周辺参照コンテキスト導出部２２４ｃ、係数有無フラグ記憶部２２４ｄによる具体的な処理は、動画像復号装置３の備える手段と同様であるので、ここでは説明を省略する。
【０７９３】
（係数有無フラグ設定部２２４ｅ）
係数有無フラグ設定部２２４ｅは、シンタックス導出部Ｙ２２８から供給されるシンタックスsignificant_coeff_flag[xC][yC]を示すＢｉｎを生成する。生成したＢｉｎは、ビット符号化部２３２に供給される。また、係数有無フラグ設定部２２４ｅは、対象サブブロックに含まれるsignificant_coeff_flag[xC][yC]の値を参照し、対象サブブロックに含まれる全てのsignificant_coeff_flag[xC][yC]が０である場合、すなわち、当該対象サブブロックに非０変換係数が含まれていない場合に、当該対象サブブロックに関するsignificant_coeffgroup_flag[xCG][yCG]の値を０に設定し、そうでない場合に当該対象サブブロックに関するsignificant_coeffgroup_flag[xCG][yCG]の値を１に設定する。このように値が付されたsignificant_coeffgroup_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）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
【０８２２】
＜本明細書に記載された発明（Ａ）＞
本明細書には、少なくとも以下の発明が記載されている。
【０８２３】
Ａ１．
対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出する、
ことを特徴とする算術復号装置。
【０８２４】
Ａ２．
対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
上記コンテキストインデックス導出手段は、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数に基づいて導出するものであり、
上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さい、
ことを特徴とする算術復号装置。
【０８２５】
Ａ３．
上記コンテキストインデックス導出手段は、上記部分領域毎に定まる所定の開始点と、上記部分領域毎に定まる変数とを加算することによってコンテキストインデックスを導出するものであり、上記変数の導出方法の異なる複数の部分領域について、開始点を同じ値に設定することにより、コンデキストインデックスの導出方法の異なる当該複数の部分領域において、共通のコンテキストを用いるものであることを特徴とするＡ２．に記載の算術復号装置。
【０８２６】
Ａ４．
上記分割手段は、上記対象周波数領域を、処理対象の変換係数有無フラグの位置に応じて、少なくとも３つの部分領域に分類するものであり、上記コンテキストインデックス導出手段は、第１の部分領域では、復号済みの非０変換係数をＮ１個（Ｎ１は自然数）参照し、第２の部分領域では、復号済みの非０変換係数をＮ２個（Ｎ２はＮ２＜Ｎ１を満たす自然数）参照することによって、コンテキストインデックスを導出し、第３の部分領域では、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出することを特徴とするＡ１．からＡ３．の何れか１項に記載の算術復号装置。
【０８２７】
Ａ５．
上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非０変換係数の数に更に基づいて導出する、
ことを特徴とするＡ２．に記載の算術復号装置。
【０８２８】
Ａ６．
対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを各スキャン列に沿って順次導出するコンテキストインデックス導出手段と、
各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非０変換係数の数に基づいて導出する、
ことを特徴とする算術復号装置。
【０８２９】
Ａ７．
対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
上記コンテキストインデックス導出手段は、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数に基づいて導出するものであり、
上記参照領域に含まれる復号済みの変換係数の数は、４以下である、
ことを特徴とする算術復号装置。
【０８３０】
Ａ８．
対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
各部分領域に対して、互いに異なるコンテキストインデックスを割り付けるコンテキストインデックス割り付け手段と、
各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグを、該変換係数有無フラグが属する部分領域に割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
上記複数の部分領域のうち低周波数側の部分領域は、高周波数側の部分領域よりも小さい、
ことを特徴とする算術復号装置。
【０８３１】
Ａ９．
上記分割手段は、変換係数有無フラグのＸ座標とＹ座標のと和を示すＳＵＭに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記ＳＵＭと、上記対象周波数領域のサイズｓｚに応じて定まる第１の閾値ＴＨ２との大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域に分割し、第１の閾値ＴＨ２がｓｚ以上であることを特徴とするＡ１．に記載の算術復号装置。
【０８３２】
Ａ１０．
上記分割手段は、変換係数有無フラグのＸ座標とＹ座標のと和を示すＳＵＭに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記ＳＵＭと、上記対象周波数領域のサイズｓｚに応じて定まる第１の閾値ＴＨ２との大小関係に応じて、上記対象周波数領域を、少なくとも上記低周波数側の部分領域と上記高周波数側の部分領域に分割し、第１の閾値ＴＨ２がｓｚ−２以下であることを特徴とするＡ２．に記載の算術復号装置。
【０８３３】
Ａ１１．
上記分割手段は、変換係数有無フラグのＸ座標とＹ座標のと和を示すＳＵＭに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記ＳＵＭと、上記対象周波数領域のサイズｓｚに応じて定まる第１の閾値ＴＨ２との大小関係に応じて、上記対象周波数領域を、上記第１の部分領域と上記第２の部分領域に分割し、上記ＳＵＭと、上記対象周波数領域のサイズｓｚに応じて定まる第２の閾値ＴＨ３との大小関係に応じて、上記対象周波数領域を、上記第２の部分領域と上記第３の部分領域に分割し、上記第１の閾値ＴＨ２がｓｚ−２以下であり、上記第２の閾値ＴＨ３がｓｚ以上であることを特徴とするＡ４．に記載の算術復号装置。
【０８３４】
Ａ１２．
Ａ１．からＡ１１．の何れか１項に記載の算術復号装置と、
上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、
上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、
を備えていることを特徴とする画像復号装置。
【０８３５】
Ａ１３．
対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、
処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術符号化するシンタックス符号化手段と、
を備え、
上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出する、
ことを特徴とする算術符号化装置。
【０８３６】
Ａ１４．
符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、
Ａ１３．に記載の算術符号化装置と、
を備えており、
上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、
ことを特徴とする画像符号化装置。
【０８３７】
Ａ１５．
対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られる符号化データのデータ構造であって、
各単位領域に対応する各対象周波数領域における高周波数側の変換係数を復号するか否かを示す制限フラグを含み、
上記符号化データを復号する算術復号装置は、上記制限フラグが、高周波数側の変換係数を復号しないことを示している場合には、当該高周波数側の変換係数を復号しない、
ことを特徴とする符号化データのデータ構造。
【０８３８】
＜本明細書に記載された発明（Ｂ）＞
また、本明細書には、少なくとも以下の発明が記載されている。
【０８３９】
Ｂ１．
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、
各部分領域に属する各変換係数が０である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出し、
対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行う、
を特徴とする算術復号装置。
【０８４０】
Ｂ２．
上記分割手段は、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域のサイズに応じて定まる閾値ＴＨＡとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、
上記対象周波数領域の各辺に沿った周波数成分の数をｓｚと表すとき、上記閾値ＴＨＡは、ｓｚ／１６以上の値を有する
ことを特徴とするＢ１．に記載の算術復号装置。
【０８４１】
Ｂ３．
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、
各部分領域に属する各変換係数が０である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側および低周波数側の何れかの部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの属するサブブロックの位置に基づいて選択された高周波数側用の参照領域および低周波数側用の参照領域のいずれかの参照領域であって、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非０変換係数の数に基づいて導出し、
対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行う、
を特徴とする算術復号装置。
【０８４２】
Ｂ４．
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、
各部分領域に属する各変換係数が０である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非０変換係数であって、処理順で該変換係数有無フラグの直前に復号された非０変換係数を除く非０変換係数の数に基づいて導出し、
対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行う、
を特徴とする算術復号装置。
【０８４３】
Ｂ５．
上記分割手段は、上記対象周波数領域を少なくとも３つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、第１の部分領域では、復号済みの非０変換係数をＮ１個（Ｎ１は自然数）参照し、第２の部分領域では、復号済みの非０変換係数をＮ２個（Ｎ２はＮ２＜Ｎ１を満たす自然数）参照することによって、コンテキストインデックスを導出し、第３の部分領域では、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出することを特徴とするＢ３．またはＢ４．に記載の算術復号装置。
【０８４４】
Ｂ６．
上記分割手段は、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域のサイズに応じて定まる閾値ＴＨＢとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、
上記対象周波数領域の各辺に沿った周波数成分の数をｓｚと表すとき、上記閾値ＴＨＢは、ｓｚ／４以下の値を有する
ことを特徴とするＢ３．に記載の算術復号装置。
【０８４５】
Ｂ７．
上記分割手段は、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域のサイズに応じて定まる閾値ＴＨＢとの大小関係に応じて、上記対象周波数領域を、上記第１の部分領域と上記第２の部分領域とに分割すると共に、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域のサイズに応じて定まる閾値ＴＨＣとの大小関係に応じて、上記対象周波数領域を、上記第２の部分領域と上記第３の部分領域とに分割するものであり、
上記対象周波数領域の各辺に沿った周波数成分の数をｓｚと表すとき、上記閾値ＴＨＢは、ｓｚ／４以下の値を有し、上記閾値ＴＨＣは、（ｓｚ／４）＋２以上の値を有する
ことを特徴とするＢ５．に記載の算術復号装置。
【０８４６】
Ｂ８．
Ｂ１．からＢ７．の何れか１項に記載の算術復号装置と、
上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、
上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、
を備えていることを特徴とする画像復号装置。
【０８４７】
Ｂ９．
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、
処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、
対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、
各部分領域に属する各変換係数が０である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術符号化するシンタックス符号化手段と、
を備え、
対象サブブロックについて符号化されるサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出し、
対象サブブロックについて符号化されるサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして符号化処理を行う、
を特徴とする算術符号化装置。
【０８４８】
Ｂ１０．
符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、
Ｂ９．に記載の算術符号化装置と、
を備えており、
上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、
ことを特徴とする画像符号化装置。
【０８４９】
Ｂ１１．
対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られる符号化データのデータ構造であって、
上記単位領域に対応する周波数領域を分割して得られた所定サイズの各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを含み、
上記符号化データを復号する復号装置は、
対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出すると共に、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号し、
対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行う、
ことを特徴とする符号化データのデータ構造。
【０８５０】
＜本明細書に記載された発明（Ｃ）＞
また、本明細書には、少なくとも以下の発明が記載されている。
【０８５１】
Ｃ１．
本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行う、ことを特徴としている。
【０８５２】
上記のように構成された算術復号装置によれば、対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０８５３】
また、上記の構成によれば、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行うので、サブブロック係数有無フラグを用いない構成に比べて、変換係数を復号するための処理量が削減される。
【０８５４】
Ｃ２.
上記分割手段は、上記対象周波数領域を少なくとも低周波数側と高周波数側の２つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、低周波数側に属する部分領域の少なくとも１つでは、復号済みの非０変換係数を参照することによって、コンテキストインデックスを導出し、高周波数側に属する部分領域では、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出することが好ましい。
【０８５５】
上記構成によれば、低周波数側に属する部分領域の少なくとも１つでは、復号済みの非０変換係数を参照することによって、コンテキストインデックスを導出し、高周波数側に属する部分領域では、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出するので、高い符号化効率を保ちつつ、処理量を削減することができる。
【０８５６】
Ｃ３.
また、上記算術復号装置において、上記コンテキストインデックス導出手段により導出される、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内であることが好ましい。
【０８５７】
上記構成によれば、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内にあるので、コンテキストインデックスを導出するための処理量が削減される。
【０８５８】
Ｃ４.
また、上記算術復号装置において、上記コンテキストインデックス導出手段により導出される、輝度に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲以外の値であり、上記コンテキストインデックス導出手段により導出される、色差に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内であることが好ましい。
【０８５９】
上記の構成によれば、色差に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内であるので、色差に関するコンテキストインデックスを導出するための処理量が削減される。
【０８６０】
Ｃ５.
また、上記分割手段は、上記対象周波数領域を少なくとも低周波数側と高周波数側の２つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、低周波数側に属する部分領域の少なくとも１つにおいて、Ｎ１（Ｎ１は自然数）個以上の復号済みの非０変換係数を参照することによって、コンテキストインデックスを導出し、高周波数側に属する部分領域において、Ｎ２個（Ｎ２はＮ２＜Ｎ１を満たす自然数）の復号済みの非０変換係数を参照することによって、コンテキストインデックスを導出することが好ましい。
【０８６１】
上記の構成によれば、高周波数側に属する部分領域において参照する復号済みの非０変換係数の数が、低周波数側に属する部分領域の少なくとも１つにおいて参照する復号済みの非０変換係数の数よりも小さいので、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０８６２】
Ｃ６.
また、上記コンテキストインデックス導出手段は、低周波数側に属する部分領域では、復号済みの非０変換係数の数を多対一変換することによってコンテキストインデックスを導出し、高周波数側に属する部分領域では、非０変換係数の数をコンテキストインデックスとして導出することが好ましい。
【０８６３】
上記の構成によれば、高周波数側に属する部分領域では、非０変換係数の数を多対一変換する処理を行わずにコンテキストインデックスを導出するので、処理量が削減される。
【０８６４】
Ｃ７.
また、上記分割手段は、変換係数有無フラグのＸ座標及びＹ座標の和、もしくは、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域の幅及び高さの最大値で得られるサイズに応じて定まる閾値ＴＨＡとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、上記対象周波数領域のサイズをｓｚと表すとき、上記閾値ＴＨＡは、Ｘ座標及びＹ座標の和である場合にはｓｚ以下の値、サブブロックのＸ座標及びＹ座標の和である場合には、ｓｚ／サブブロックの大きさ以下の値であることが好ましい。
【０８６５】
上記の構成によれば、変換係数有無フラグのＸ座標及びＹ座標の和、もしくは、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域の幅及び高さの最大値で得られるサイズに応じて定まる閾値ＴＨＡとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、上記対象周波数領域のサイズをｓｚと表すとき、上記閾値ＴＨＡは、Ｘ座標及びＹ座標の和である場合にはｓｚ以下の値、サブブロックのＸ座標及びＹ座標の和である場合には、ｓｚ／サブブロックの大きさ以下の値であるので、高い符号化効率を保ちつつ、処理量を削減することができる。
【０８６６】
また、上記算術復号装置において、上記分割手段は、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域のサイズに応じて定まる閾値ＴＨＡとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、上記対象周波数領域の各辺に沿った周波数成分の数をｓｚと表すとき、上記閾値ＴＨＡは、ｓｚ／１６以上の値を有することが好ましい。
【０８６７】
上記の構成によれば、対象周波数領域を、高符号化効率及び処理量削減のために好適に分割することができる。
【０８６８】
Ｃ８.
本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側および低周波数側の何れかの部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの属するサブブロックの位置に基づいて選択された高周波数側用の参照領域および低周波数側用の参照領域のいずれかの参照領域であって、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非０変換係数の数に基づいて導出し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行う、ことを特徴としている。
【０８６９】
上記のように構成された算術復号装置によれば、対象サブブロックが、対象周波数領域において高周波数側および低周波数側の何れかの部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非０変換係数の数に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０８７０】
また、上記の構成によれば、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行うので、サブブロック係数有無フラグを用いない構成に比べて、変換係数を復号するための処理量が削減される。
【０８７１】
Ｃ９.
本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非０変換係数であって、処理順で該変換係数有無フラグの直前に復号された非０変換係数を除く非０変換係数の数に基づいて導出し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行う、ことを特徴としている。
【０８７２】
上記のように構成された算術復号装置によれば、対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非０変換係数であって、処理順で該変換係数有無フラグの直前に復号された非０変換係数を除く非０変換係数の数に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０８７３】
また、上記の構成によれば、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行うので、サブブロック係数有無フラグを用いない構成に比べて、変換係数を復号するための処理量が削減される。
【０８７４】
Ｃ１０.
また、上記算術復号装置において、上記分割手段は、上記対象周波数領域を少なくとも３つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、第１の部分領域では、復号済みの非０変換係数をＮ１個（Ｎ１は自然数）参照し、第２の部分領域では、復号済みの非０変換係数をＮ２個（Ｎ２はＮ２＜Ｎ１を満たす自然数）参照することによって、コンテキストインデックスを導出し、第３の部分領域では、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出することが好ましい。
【０８７５】
上記の構成によれば、コンテキストインデックスを参照するために参照する復号済みの非０変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置に基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、特に高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０８７６】
Ｃ１１.
また、上記算術復号装置において、上記分割手段は、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域のサイズに応じて定まる閾値ＴＨＢとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、上記対象周波数領域の各辺に沿った周波数成分の数をｓｚと表すとき、上記閾値ＴＨＢは、ｓｚ／４以下の値を有することが好ましい。
【０８７７】
上記の構成によれば、対象周波数領域を、高符号化効率及び処理量削減のために好適に分割することができる。
【０８７８】
Ｃ１２.
また、上記算術復号装置において、上記分割手段は、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域のサイズに応じて定まる閾値ＴＨＢとの大小関係に応じて、上記対象周波数領域を、上記第１の部分領域と上記第２の部分領域とに分割すると共に、変換係数有無フラグの属するサブブロックのＸ座標及びＹ座標の和と、上記対象周波数領域のサイズに応じて定まる閾値ＴＨＣとの大小関係に応じて、上記対象周波数領域を、上記第２の部分領域と上記第３の部分領域とに分割するものであり、上記対象周波数領域の各辺に沿った周波数成分の数をｓｚと表すとき、上記閾値ＴＨＢは、ｓｚ／４以下の値を有し、上記閾値ＴＨＣは、（ｓｚ／４）＋２以上の値を有することが好ましい。
【０８７９】
上記の構成によれば、対象周波数領域を、高符号化効率及び処理量削減のために好適に分割することができる。
【０８８０】
Ｃ１３.
本発明の一態様に係る画像復号装置は、上記算術復号装置と、上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、を備えていることを特徴としている。
【０８８１】
上記画像復号装置によれば、シンタックス導出のための処理量を削減しつつ、高い符号化効率にて符号化データを復号することができる。
【０８８２】
Ｃ１４.
本発明の一態様に係る算術符号化装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術符号化するシンタックス符号化手段と、を備え、対象サブブロックについて符号化されるサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出し、対象サブブロックについて符号化されるサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして符号化処理を行う、ことを特徴としている。
【０８８３】
上記のように構成された算術符号化装置によれば、対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０８８４】
また、上記の構成によれば、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして符号化処理を行うので、サブブロック係数有無フラグを用いない構成に比べて、変換係数を符号化するための処理量が削減される。
【０８８５】
Ｃ１５.
本発明の一態様に係る画像符号化装置は、符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、上記算術符号化装置と、を備えており、上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、ことを特徴としている。
【０８８６】
上記画像符号化装置によれば、シンタックス導出のための処理量を削減しつつ、高い符号化効率の符号化データを生成することができる。
【０８８７】
Ｃ１６.
また、本発明の一態様に係る符号化データのデータ構造は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られる符号化データのデータ構造であって、上記単位領域に対応する周波数領域を分割して得られた所定サイズの各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを含み、上記符号化データを復号する復号装置は、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出すると共に、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行う、ことを特徴としている。
【０８８８】
上記のように構成された符号化データは、上記単位領域に対応する周波数領域を分割して得られた所定サイズの各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを含み、上記符号化データを復号する復号装置は、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が少なくとも１つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出すると共に、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非０変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が０であることを示すものとして復号処理を行うので、高い符号化効率を維持しつつ復号するための処理量を削減することができる。
【０８８９】
Ｃ１７.
また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、Ｍ１個（Ｍ１は自然数）のシンタックスを復号して各変換係数の値を復号する通常モードと、Ｍ２個（Ｍ２はＭ２＜Ｍ１を満たす自然数）のシンタックスを復号して各変換係数の値を復号する簡略化モードとを選択的に用いることによって各変換係数の値を復号することを特徴としている。
【０８９０】
上記の算術復号装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスを用いるため、復号処理のスループットを向上させることができる。
【０８９１】
Ｃ１８.
上記算術復号装置は、各シンタックスに割りつけられたコンテキストによって指定される確率状態に基づいた算術復号、及び、コンテキストを用いずに固定の確率状態に基づいた算術復号の何れかの算術復号によって、各シンタックスを復号するシンタックス復号手段を備え、上記シンタックス復号手段は、通常モードでは上記Ｍ１個のシンタックスについてコンテキストを用いて復号を行い、簡略化モードでは上記Ｍ２個のシンタックスについてコンテキストを用いて復号を行うことが好ましい。
【０８９２】
上記の算術復号装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスに対してコンテキストを用いるため、コンテキスト導出およびコンテキストの更新に必要な処理を省略することができるため、復号処理のスループットを向上させることができる。
【０８９３】
Ｃ１９.
また、上記算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非０変換係数が少なくとも１つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段を備え、通常モードでは、上記サブブロック係数有無フラグと、変換係数が０である否かを示す変換係数有無フラグとをコンテキストを用いて復号し、簡略化モードでは、上記サブブロック係数有無フラグをコンテキストを用いて復号し、上記変換係数有無フラグをコンテキストを用いずに復号することが好ましい。
【０８９４】
上記の算術復号装置によれば、発生頻度の低いシンタックスであるが、低い符号量に抑えることが重要になるサブブロック係数有無フラグsignificant_coeffgroup_flagに関しては、通常モードであるか簡略化モードであるか否かに関わらずコンテキストを用いるため、高い符号化効率を保ちながらスループットを向上させることができる。
【０８９５】
Ｃ２０.
また、上記算術復号装置は、通常モードにおいて、変換係数が０である否かを示す変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が１より大きいか否かを示すシンタックスcoeff_abs_greater1_flag、変換係数の絶対値が２より大きいか否かを示すシンタックスcoeff_abs_greater2_flag、変換係数の絶対値から３を減算した値を示すシンタックスcoeff_abs_minus3、及び変換係数の符号を示すシンタックスcoeff_signを復号し、簡略化モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値から１を減算した値を示すシンタックスcoeff_abs_minus1、及び変換係数の符号を示すシンタックスcoeff_signを復号することが好ましい。
【０８９６】
上記の算術復号装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスを用いるため、復号処理のスループットを向上させることができる。
【０８９７】
Ｃ２１.
また、上記算術復号装置は、通常モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が１より大きいか否かを示す上記シンタックスcoeff_abs_greater1_flag、及び変換係数の絶対値が２より大きいか否かを示す上記シンタックスcoeff_abs_greater2_flagをコンテキストを用いて復号し、簡略化モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値から１を減算した値を示す上記シンタックスcoeff_abs_minus1、及び変換係数の符号を示す上記シンタックスcoeff_signをコンテキストを用いずに復号することが好ましい。
【０８９８】
上記の算術復号装置によれば、簡略化モードにおいてコンテキストを用いずに変換係数の値を構成するシンタックスを復号するため、復号処理のスループットを向上させることができる。
【０８９９】
Ｃ２２.
また、上記算術復号装置は、通常モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が１より大きいか否かを示す上記シンタックスcoeff_abs_greater1_flag、及び変換係数の絶対値が２より大きいか否かを示す上記シンタックスcoeff_abs_greater2_flagをコンテキストを用いて復号し、簡略化モードにおいて、変換係数の絶対値から１を減算した値を示す上記シンタックスcoeff_abs_minus1、及び変換係数の符号を示す上記シンタックスcoeff_signをコンテキストを用いずに復号することが好ましい。
【０９００】
上記の算術復号装置によれば、簡略化モードにおいてコンテキストを用いずに変換係数の値を構成するシンタックスの殆どを復号するため、復号処理のスループットを向上させることができる。
【０９０１】
Ｃ２３.
また、上記算術復号装置は、簡略化モードにおいて、変換係数の絶対値から１を減算した値を示す上記シンタックスcoeff_abs_minus1と、変換係数の符号を示す上記シンタックスcoeff_signとを連続して復号することが好ましい。
【０９０２】
上記の算術復号装置によれば、簡略化モードにおいてコンテキストを用いずに復号するシンタックスを連続で配置するため、復号処理のスループットを向上させることができる。
【０９０３】
Ｃ２４.
また、上記算術復号装置は、通常モードにおいて、変換係数が０である否かを示す変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が１より大きいか否かを示すシンタックスcoeff_abs_greater1_flag、変換係数の絶対値が２より大きいか否かを示すシンタックスcoeff_abs_greater2_flag、変換係数の絶対値から３を減算した値を示すシンタックスcoeff_abs_minus3、及び変換係数の符号を示すシンタックスcoeff_signを復号し、簡略化モードにおいて、変換係数の絶対値から１を減算した値を示すシンタックスcoeff_abs_minus1、変換係数の絶対値coeff_abs、及び変換係数の符号を示すシンタックスcoeff_signを復号することが好ましい。
【０９０４】
上記の算術復号装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスを用いるため、復号処理のスループットを向上させることができる。
【０９０５】
Ｃ２５.
また、上記算術復号装置は、通常モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が１より大きいか否かを示す上記シンタックスcoeff_abs_greater1_flag、及び変換係数の絶対値が２より大きいか否かを示す上記シンタックスcoeff_abs_greater2_flagをコンテキストを用いて復号し、簡略化モードにおいて、変換係数の絶対値から１を減算した値を示す上記シンタックスcoeff_abs_minus1、及び変換係数の符号を示すシンタックスcoeff_signをコンテキストを用いずに復号することが好ましい。
【０９０６】
上記の算術復号装置によれば、簡略化モードにおいてコンテキストを用いずに変換係数の値を構成するシンタックスの殆どを復号するため、復号処理のスループットを向上させることができる。
【０９０７】
Ｃ２６.
また、上記算術復号装置は、変換係数のラスト位置のＸ座標及びＹ座標の和と、所定の閾値との大小比較に応じて、前記ラスト位置のＸ座標及びＹ座標の和の方が大きい場合に上記簡略化モードを選択し、それ以外の場合には、上記通常モードを選択することが好ましい。
【０９０８】
上記の算術復号装置によれば、高スループットで処理する必要がある場合だけを判定して、簡略化モードを用いるため、高い符号化効率を保ちながら復号処理のスループットを向上させることができる。
【０９０９】
Ｃ２７.
また、上記算術復号装置は、前記ラスト位置のＸ座標及びＹ座標の和の方が多い場合に、それ以外の場合よりもコンテキストを用いて復号するシンタックスの数を減らすことが好ましい。
【０９１０】
上記の算術復号装置によれば、高スループットで処理する必要がある場合を適切に判定することができるため、簡略化モードを用いるため、高い符号化効率を保ちながら復号処理のスループットを向上させることができる。
【０９１１】
Ｃ２８.
また、上記算術復号装置は、周波数領域の幅と高さとが同じ場合と、周波数領域の幅と高さとが異なる場合とにおいて、上記閾値として異なる値を用いることが好ましい。
【０９１２】
上記の算術復号装置によれば、周波数領域の幅と高さが異なる場合においても、高スループットで処理する必要がある場合を適切に判定することができるため、簡略化モードを用いるため、高い符号化効率を保ちながら復号処理のスループットを向上させることができる。
【０９１３】
Ｃ２９.
また、上記算術復号装置は、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段とを備え、あるサブブロックにおいて、変換係数有無フラグの数が所定の数以上である場合には、当該あるサブブロックの次に処理するサブブロックにおいてコンテストを用いずに変換係数有無フラグを復号することが好ましい。
【０９１４】
上記の算術復号装置によれば、高スループットで処理する必要がある場合だけを判定して、簡略化モードを用いるため、高い符号化効率を保ちながら復号処理のスループットを向上させることができる。
【０９１５】
Ｃ３０.
また、本発明の一態様に係る算術符号化装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、Ｍ１個（Ｍ１は自然数）のシンタックスを用いて各変換係数の値を符号化する通常モードと、Ｍ２個（Ｍ２はＭ２＜Ｍ１を満たす自然数）のシンタックスを用いて各変換係数の値を符号化する簡略化モードとを選択的に用いることによって各変換係数の値を符号化することを特徴としている。
【０９１６】
上記の算術符号化装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスを用いるため、符号化及び復号処理のスループットを向上させることができる。
【０９１７】
Ｃ３１.
本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出する、ことを特徴としている。
【０９１８】
上記のように構成された算術復号装置によれば、対象周波数領域における上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０９１９】
Ｃ３２.
また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記コンテキストインデックス導出手段は、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数に基づいて導出するものであり、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さい、ことを特徴としている。
【０９２０】
上記のように構成された算術復号装置によれば、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数に基づいて導出し、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さいので、低周波数側の部分領域において設定される参照領域と高周波数側の部分領域において設定される参照領域とが同じ大きさを有する従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現することができる。
【０９２１】
Ｃ３３.
また、上記コンテキストインデックス導出手段は、上記部分領域毎に定まる所定の開始点と、上記部分領域毎に定まる変数とを加算することによってコンテキストインデックスを導出するものであり、上記変数の導出方法の異なる複数の部分領域について、開始点を同じ値に設定することにより、コンデキストインデックスの導出方法の異なる当該複数の部分領域において、共通のコンテキストを用いるものであることが好ましい。
【０９２２】
上記のように構成された算術復号装置によれば、導出方法が異なる複数の部分領域において、部分領域毎に定まる開始点を等しくすることにより、コンテキスト数を増加させることがなく、また、高い符号化効率を実現したまま処理量の削減が可能である。
【０９２３】
Ｃ３４.
また、上記分割手段は、上記対象周波数領域を、処理対象の変換係数有無フラグの位置に応じて、少なくとも３つの部分領域に分類するものであり、上記コンテキストインデックス導出手段は、第１の部分領域では、復号済みの非０変換係数をＮ１個（Ｎ１は自然数）参照し、第２の部分領域では、復号済みの非０変換係数をＮ２個（Ｎ２はＮ２＜Ｎ１を満たす自然数）参照することによって、コンテキストインデックスを導出し、第３の部分領域では、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出することが好ましい。
【０９２４】
上記のように構成された算術復号装置によれば、コンテキストインデックスを参照するために参照する復号済みの非０変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置に基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０９２５】
Ｃ３５.
また、上記算術復号装置において、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非０変換係数の数に更に基づいて導出する、ことが好ましい。
【０９２６】
上記の構成によれば、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非０変換係数の数と、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数とに基づいて導出するものであり、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さいので、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量をより効果的に削減できると共に、高い符号化効率を実現することができる。
【０９２７】
Ｃ３６.
また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを各スキャン列に沿って順次導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非０変換係数の数に基づいて導出する、ことを特徴としている。
【０９２８】
上記のように構成された算術復号装置によれば、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非０変換係数の数に基づいて導出する。ここで、前スキャン列に沿った非０変換係数の数は、一度カウントしておけば、現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを導出する際に共通に用いることができる。したがって、位置の異なる変換係数有無フラグに対して個別にコンテキストインデックスを導出する必要のある従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現することができる。
【０９２９】
Ｃ３７.
また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記コンテキストインデックス導出手段は、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数に基づいて導出するものであり、上記参照領域に含まれる復号済みの変換係数の数は、４以下である、ことを特徴としている。
【０９３０】
上記のように構成された算術復号装置によれば、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非０変換係数の数に基づいて導出するものであり、上記参照領域に含まれる復号済みの変換係数の数は、４以下であるので、従来の構成よりも少ない数の復号済みの変換係数を参照すれば足りる。したがって、上記の構成によれば、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現できる。
【０９３１】
Ｃ３８.
また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に対して、互いに異なるコンテキストインデックスを割り付けるコンテキストインデックス割り付け手段と、各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグを、該変換係数有無フラグが属する部分領域に割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記複数の部分領域のうち低周波数側の部分領域は、高周波数側の部分領域よりも小さいことを特徴としている。
【０９３２】
上記のように構成された算術復号装置によれば、上記複数の部分領域のうち低周波数側の部分領域は、高周波数側の部分領域よりも小さいので、低周波数側の領域に対して、コンテキストインデックスをきめ細かく割り当てることができる。したがって、上記の構成によれば、低周波数側のシンタックスを効率的に復号することができるので、符号化効率が向上する。
【０９３３】
Ｃ３９.
また、上記分割手段は、変換係数有無フラグのＸ座標とＹ座標のと和を示すＳＵＭに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記ＳＵＭと、上記対象周波数領域のサイズｓｚに応じて定まる第１の閾値ＴＨ２との大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域に分割し、第１の閾値ＴＨ２がｓｚ以上であることが好ましい。
【０９３４】
上記のように構成された算術復号装置によれば、対象周波数領域における変換係数有無フラグに割り付けるコンテキストインデックスを、該変換係数有無フラグの当該対象周波数領域における位置に基づいて導出する場合においても、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０９３５】
Ｃ４０.
また、上記分割手段は、変換係数有無フラグのＸ座標とＹ座標のと和を示すＳＵＭに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記ＳＵＭと、上記対象周波数領域のサイズｓｚに応じて定まる第１の閾値ＴＨ２との大小関係に応じて、上記対象周波数領域を、少なくとも上記低周波数側の部分領域と上記高周波数側の部分領域に分割し、第１の閾値ＴＨ２がｓｚ−２以下であることが好ましい。
【０９３６】
上記のように構成された算術復号装置によれば、コンテキストインデックスを参照するために参照する復号済みの非０変換係数の数がより小さく設定された部分領域を用いる場合においても、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０９３７】
Ｃ４１.
また、上記分割手段は、変換係数有無フラグのＸ座標とＹ座標のと和を示すＳＵＭに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記ＳＵＭと、上記対象周波数領域のサイズｓｚに応じて定まる第１の閾値ＴＨ２との大小関係に応じて、上記対象周波数領域を、上記第１の部分領域と上記第２の部分領域に分割し、上記ＳＵＭと、上記対象周波数領域のサイズｓｚに応じて定まる第２の閾値ＴＨ３との大小関係に応じて、上記対象周波数領域を、上記第２の部分領域と上記第３の部分領域に分割し、上記第１の閾値ＴＨ２がｓｚ−２以下であり、上記第２の閾値ＴＨ３がｓｚ以上であることが好ましい。
【０９３８】
上記のように構成された算術復号装置によれば、コンテキストインデックスを参照するために参照する復号済みの非０変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置に基づいてコンテキストインデックスを導出する部分領域とを組み合わせる場合においても、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
【０９３９】
Ｃ４２.
また、本発明の一態様に係る画像復号装置は、上記算術復号装置と、上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、を備えていることを特徴としている。
【０９４０】
上記画像復号装置によれば、シンタックス導出のための処理量を削減しつつ、高い符号化効率にて符号化データを復号することができる。
【０９４１】
Ｃ４３.
また、本発明の一態様に係る算術符号化装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が０であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術符号化するシンタックス符号化手段と、を備え、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出する、ことを特徴としている。
【０９４２】
上記のように構成された算出符号化装置によれば、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出するので、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量が削減される。
【０９４３】
Ｃ４４.
また、本発明の一態様に係る画像符号化装置は、符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、上記算術符号化装置と、を備えており、上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、ことを特徴としている。
【０９４４】
上記画像復号装置によれば、シンタックス導出のための処理量を削減しつつ、高い符号化効率にて符号化データを生成することができる。
【０９４５】
Ｃ４５.
また、本発明の一態様に係る符号化データのデータ構造は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られる符号化データのデータ構造であって、各単位領域に対応する各対象周波数領域における高周波数側の変換係数を復号するか否かを示す制限フラグを含み、上記符号化データを復号する算術復号装置は、上記制限フラグが、高周波数側の変換係数を復号しないことを示している場合には、当該高周波数側の変換係数を復号しない、ことを特徴としている。
【０９４６】
上記のように構成された符号化データによれば、各単位領域に対応する各対象周波数領域における高周波数側の変換係数を復号するか否かを示す制限フラグを含んでおり、上記符号化データを復号する算術復号装置は、上記制限フラグが、高周波数側の変換係数を復号しないことを示している場合には、当該高周波数側の変換係数の復号処理を省略することができるので、変換係数を復号するための処理量が削減される。
【０９４７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０９４８】
本発明は、算術符号化された符号化データを復号する算術復号装置、および、算術符号化された符号化データを生成する算術符号化装置に好適に用いることができる。
【符号の説明】
【０９４９】
１                  動画像復号装置（画像復号装置）
１１                可変長符号復号部
１１１              量子化残差情報復号部（算術復号装置）
１２０              変換係数復号部
１２４              係数有無フラグ復号部
１２４ａ            周波数分類部（分割手段、コンテキストインデックス導出手段）
１２４ｂ            低周波位置コンテキスト導出部（コンテキストインデックス導出手段）
１２４ｃ，１２４ｇ  周辺参照コンテキスト導出部（コンテキストインデックス導出手段）
１２４ｄ            高周波位置コンテキスト導出部（コンテキストインデックス導出手段）
Ｘ１                サブブロック係数有無フラグ復号部（サブブロック係数有無フラグ復号手段）
１３０              算術符号復号部
１３１              コンテキスト記録更新部
１３２              ビット復号部（シンタックス復号手段）
２                  動画像符号化装置（画像符号化装置）
２７                可変長符号符号化部
２７１              量子化残差情報符号化部（算術符号化装置）
２２０              変換係数符号化部
２２４              係数有無フラグ符号化部
２２４ａ            周波数分類部（分割手段、シンタックス符号化手段）
２２４ｂ            低周波位置コンテキスト導出部
２２４ｃ            周辺参照コンテキスト導出部
２２４ｄ            高周波位置コンテキスト導出部（コンテキストインデックス導出手段）
Ｘ２                サブブロック係数有無フラグ符号化部（サブブロック係数有無フラグ符号化手段）
２３０              算術符号符号化部
２３１              コンテキスト記録更新部
２３２              ビット符号化部（シンタックス符号化手段）
【図１】
0006560702.tif 000004
【図２】
0006560702.tif 000005
【図３】
0006560702.tif 000006
【図４】
0006560702.tif 000007
【図５】
0006560702.tif 000008
【図６】
0006560702.tif 000009
【図７】
0006560702.tif 000010
【図８】
0006560702.tif 000011
【図９】
0006560702.tif 000012
【図１０】
0006560702.tif 000013
【図１１】
0006560702.tif 000014
【図１２】
0006560702.tif 000015
【図１３】
0006560702.tif 000016
【図１４】
0006560702.tif 000017
【図１５】
0006560702.tif 000018
【図１６】
0006560702.tif 000019
【図１７】
0006560702.tif 000020
【図１８】
0006560702.tif 000021
【図１９】
0006560702.tif 000022
【図２０】
0006560702.tif 000023
【図２１】
0006560702.tif 000024
【図２２】
0006560702.tif 000025
【図２３】
0006560702.tif 000026
【図２４】
0006560702.tif 000027
【図２５】
0006560702.tif 000028
【図２６】
0006560702.tif 000029
【図２７】
0006560702.tif 000030
【図２８】
0006560702.tif 000031
【図２９】
0006560702.tif 000032
【図３０】
0006560702.tif 000033
【図３１】
0006560702.tif 000034
【図３２】
0006560702.tif 000035
【図３３】
0006560702.tif 000036
【図３４】
0006560702.tif 000037
【図３５】
0006560702.tif 000038
【図３６】
0006560702.tif 000039
【図３７】
0006560702.tif 000040
【図３８】
0006560702.tif 000041
【図３９】
0006560702.tif 000042
【図４０】
0006560702.tif 000043
【図４１】
0006560702.tif 000044
【図４２】
0006560702.tif 000045
【図４３】
0006560702.tif 000046
【図４４】
0006560702.tif 000047
【図４５】
0006560702.tif 000048
【図４６】
0006560702.tif 000049
【図４７】
0006560702.tif 000050
【図４８】
0006560702.tif 000051
【図４９】
0006560702.tif 000052
【図５０】
0006560702.tif 000053
【図５１】
0006560702.tif 000054
【図５２】
0006560702.tif 000055
【図５３】
0006560702.tif 000056
【図５４】
0006560702.tif 000057
【図５５】
0006560702.tif 000058
【図５６】
0006560702.tif 000059
【図５７】
0006560702.tif 000060
【図５８】
0006560702.tif 000061
【図５９】
0006560702.tif 000062
【図６０】
0006560702.tif 000063
【図６１】
0006560702.tif 000064
【図６２】
0006560702.tif 000065
【図６３】
0006560702.tif 000066
【図６４】
0006560702.tif 000067
【図６５】
0006560702.tif 000068
【図６６】
0006560702.tif 000069
【図６７】
0006560702.tif 000070
【図６８】
0006560702.tif 000071
【図６９】
0006560702.tif 000072
【図７０】
0006560702.tif 000073
【図７１】
0006560702.tif 000074
【図７２】
0006560702.tif 000075
【図７３】
0006560702.tif 000076
【図７４】
0006560702.tif 000077
【図７５】
0006560702.tif 000078