(57)【要約】  本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、その処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数がその上限値を越えないように、シンタックスエレメント値を導出し、その導出されたシンタックスエレメント値を符号化して符号化データを生成する。本開示は、例えば、画像処理装置、画像符号化装置、画像復号装置、送信装置、受信装置、送受信装置、情報処理装置、撮像装置、再生装置、電子機器、画像処理方法、または情報処理方法等に適用することができる。
2020162540.tif 000002
【特許請求の範囲】
【請求項１】
非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出するシンタックスエレメント値導出部と、
導出された前記シンタックスエレメント値を符号化して符号化データを生成する符号化部と
を備える画像処理装置。
【請求項２】
前記シンタックスエレメント値導出部は、直前の非ゼロサブブロックの余剰bin数と、前記処理対象サブブロックに割り当てられるbin数の仮の上限値とに基づいて、前記処理対象サブブロックに割り当てられるbin数の上限値を設定する
請求項１に記載の画像処理装置。
【請求項３】
前記シンタックスエレメント値導出部は、CU内の非ゼロサブブロック同士でbin数を分配して前記処理対象サブブロックに割り当てられるbin数の上限値を設定する
請求項１に記載の画像処理装置。
【請求項４】
前記シンタックスエレメント値導出部は、ブロック内の全非ゼロサブブロックに割り当てられるbin数の総和が、前記ブロック内の各非ゼロサブブロックに割り当てられるbin数の仮の上限値の総和を越えないように、前記処理対象サブブロックについて、前記シンタックスエレメント値を導出する
請求項１に記載の画像処理装置。
【請求項５】
前記シンタックスエレメント値導出部は、さらに、前記ブロック内のゼロサブブロックの余剰bin数を分配する
請求項４に記載の画像処理装置。
【請求項６】
前記シンタックスエレメント値導出部は、ブロックに割り当てられるbin数の上限値を設定し、前記ブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出する
請求項１に記載の画像処理装置。
【請求項７】
非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出し、
導出された前記シンタックスエレメント値を符号化して符号化データを生成する
画像処理方法。
【請求項８】
符号化データを復号してシンタックスエレメント値を生成する復号部と、
非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する係数データ導出部と
を備える画像処理装置。
【請求項９】
符号化データを復号してシンタックスエレメント値を生成し、
非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する
画像処理方法。
【請求項１０】
ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出するシンタックスエレメント値導出部と、
導出された前記シンタックスエレメント値を符号化して符号化データを生成する符号化部と
を備える画像処理装置。
【請求項１１】
前記シンタックスエレメント値導出部は、ゼロサブブロックの平均余剰bin数と、前記処理対象サブブロックに割り当てられるbin数の仮の上限値とに基づいて、前記処理対象サブブロックに割り当てられるbin数の上限値を設定する
請求項１０に記載の画像処理装置。
【請求項１２】
前記シンタックスエレメント値導出部は、さらに、前記処理対象サブブロックの位置に応じた優先度に基づいて、前記処理対象サブブロックに割り当てられるbin数の上限値を設定する
請求項１１に記載の画像処理装置。
【請求項１３】
ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出し、
導出された前記シンタックスエレメント値を符号化して符号化データを生成する
画像処理方法。
【請求項１４】
符号化データを復号してシンタックスエレメント値を生成する復号部と、
ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する係数データ導出部と
を備える画像処理装置。
【請求項１５】
符号化データを復号してシンタックスエレメント値を生成し、
ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
従来、画像符号化のCABACにおいて、シンタックスエレメント値表現する際のcontext-coded bin数が多い程、符号化効率が向上し、画質の低減を抑制することができる。しかしながら、context-coded bin数が多い程、処理量が増大するため、サブブロック（sub block）単位でcontext-coded bin数に制約をかける方法が提案された（例えば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】T.-D. Chuang, S.-T. Hsiang, Z.-Y. Lin, C.-Y. Chen, Y.-W. Huang, S.-M. Lei (MediaTek), "CE7(Tests 7.1, 7.2, 7.3, and 7.4): Constraints on context-coded bins for coefficient coding", JVET-M0173, Joint Video Exploration Team (JVET) of ITU−T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9−18 Jan 2019
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、この方法の場合、一律にcontext-coded bin数が制約されるので、画像の特徴に合わせて局所的に係数データを増減させることができず、不要に符号化効率を低減させるおそれがあった。【０００５】
本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
【課題を解決するための手段】
【０００６】
本技術の一側面の画像処理装置は、非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出するシンタックスエレメント値導出部と、導出された前記シンタックスエレメント値を符号化して符号化データを生成する符号化部とを備える画像処理装置である。【０００７】
本技術の一側面の画像処理方法は、非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出し、導出された前記シンタックスエレメント値を符号化して符号化データを生成する画像処理方法である。【０００８】
本技術の他の側面の画像処理装置は、符号化データを復号してシンタックスエレメント値を生成する復号部と、非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する係数データ導出部とを備える画像処理装置である。【０００９】
本技術の他の側面の画像処理方法は、符号化データを復号してシンタックスエレメント値を生成し、非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する画像処理方法である。【００１０】
本技術のさらに他の側面の画像処理装置は、ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出するシンタックスエレメント値導出部と、導出された前記シンタックスエレメント値を符号化して符号化データを生成する符号化部とを備える画像処理装置である。【００１１】
本技術のさらに他の側面の画像処理方法は、ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出し、導出された前記シンタックスエレメント値を符号化して符号化データを生成する画像処理方法である。【００１２】
本技術のさらに他の側面の画像処理装置は、符号化データを復号してシンタックスエレメント値を生成する復号部と、ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する係数データ導出部とを備える画像処理装置である。【００１３】
本技術のさらに他の側面の画像処理方法は、符号化データを復号してシンタックスエレメント値を生成し、ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する画像処理方法である。【００１４】
本技術の一側面の画像処理装置および方法においては、非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値が設定され、その処理対象サブブロックについて、画像データから導出された係数データが用いられて、bin数がその上限値を越えないように、シンタックスエレメント値が導出され、その導出されたシンタックスエレメント値が符号化されて符号化データが生成される。【００１５】
本技術の他の側面の画像処理装置および方法においては、符号化データが復号されてシンタックスエレメント値が生成され、非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値が設定され、その処理対象サブブロックについて、生成されたそのシンタックスエレメント値が用いられて、bin数がその上限値を越えないように、画像データに対応する係数データが導出される。【００１６】
本技術のさらに他の側面の画像処理装置および方法においては、ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値が設定され、その処理対象サブブロックについて、画像データから導出された係数データが用いられて、bin数がその上限値を越えないように、シンタックスエレメント値が導出され、その導出されたシンタックスエレメント値が符号化されて符号化データが生成される。【００１７】
本技術のさらに他の側面の画像処理装置および方法においては、符号化データが復号されてシンタックスエレメント値が生成され、ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値が設定され、その処理対象サブブロックについて、その生成されたシンタックスエレメント値を用いて、bin数がその上限値を越えないように、画像データに対応する係数データが導出される。
【図面の簡単な説明】
【００１８】
【図１】サブブロックについて説明する図である。
【図２】方法＃１について説明する図である。
【図３】方法＃１の適用例について説明する図である。
【図４】符号化装置の主な構成例を示すブロック図である。
【図５】CABACの主な構成例を示すブロック図である。
【図６】符号化処理の流れの例を説明するフローチャートである。
【図７】シンタックスエレメント値導出処理の流れの例を説明するフローチャートである。
【図８】シンタックスの例を示す図である。
【図９】シンタックスの例を示す、図８に続く図である。
【図１０】シンタックスの例を示す、図９に続く図である。
【図１１】シンタックスの例を示す、図１０に続く図である。
【図１２】CABAC処理の流れの例を説明するフローチャートである。
【図１３】復号装置の主な構成例を示すブロック図である。
【図１４】CABACの主な構成例を示すブロック図である。
【図１５】復号処理の流れの例を説明するフローチャートである。
【図１６】CABAC処理の流れの例を説明するフローチャートである。
【図１７】係数データ導出処理の流れの例を説明するフローチャートである。
【図１８】方法＃２について説明する図である。
【図１９】方法＃２の適用例について説明する図である。
【図２０】シンタックスエレメント値導出処理の流れの例を説明するフローチャートである。
【図２１】シンタックスの例を示す図である。
【図２２】シンタックスの例を示す、図２１に続く図である。
【図２３】シンタックスの例を示す、図２２に続く図である。
【図２４】シンタックスの例を示す、図２３に続く図である。
【図２５】係数データ導出処理の流れの例を説明するフローチャートである。
【図２６】方法＃３について説明する図である。
【図２７】方法＃３の適用例について説明する図である。
【図２８】シンタックスエレメント値導出処理の流れの例を説明するフローチャートである。
【図２９】シンタックスの例を示す図である。
【図３０】シンタックスの例を示す、図２９に続く図である。
【図３１】シンタックスの例を示す、図３０に続く図である。
【図３２】シンタックスの例を示す、図３１に続く図である。
【図３３】係数データ導出処理の流れの例を説明するフローチャートである。
【図３４】方法＃４について説明する図である。
【図３５】方法＃４の適用例について説明する図である。
【図３６】シンタックスエレメント値導出処理の流れの例を説明するフローチャートである。
【図３７】シンタックスエレメント値導出処理の流れの例を説明する、図３６に続くフローチャートである。
【図３８】シンタックスの例を示す図である。
【図３９】シンタックスの例を示す、図３８に続く図である。
【図４０】シンタックスの例を示す、図３９に続く図である。
【図４１】シンタックスの例を示す、図４０に続く図である。
【図４２】係数データ導出処理の流れの例を説明するフローチャートである。
【図４３】係数データ導出処理の流れの例を説明する、図４２に続くフローチャートである。
【図４４】方法＃５について説明する図である。
【図４５】方法＃５の適用例について説明する図である。
【図４６】方法＃６について説明する図である。
【図４７】方法＃６の適用例について説明する図である。
【図４８】方法＃７について説明する図である。
【図４９】方法＃７の適用例について説明する図である。
【図５０】シンタックスエレメント値導出処理の流れの例を説明するフローチャートである。
【図５１】シンタックスの例を示す図である。
【図５２】シンタックスの例を示す、図５１に続く図である。
【図５３】シンタックスの例を示す、図５２に続く図である。
【図５４】係数データ導出処理の流れの例を説明するフローチャートである。
【図５５】方法＃８について説明する図である。
【図５６】方法＃８の適用例について説明する図である。
【図５７】シンタックスエレメント値導出処理の流れの例を説明するフローチャートである。
【図５８】係数データ導出処理の流れの例を説明するフローチャートである。
【図５９】画像符号化装置の主な構成例を示すブロック図である。
【図６０】画像符号化処理の流れの例を示すフローチャートである。
【図６１】画像復号装置の主な構成例を示すブロック図である。
【図６２】画像復号処理の流れの例を示すフローチャートである。
【図６３】コンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．CABAC
２．第１の実施の形態（zero subblockのbin数をnonzero subblockにまわす）
３．第２の実施の形態（nonzero subblock内で最大binをシェアする）
４．第３の実施の形態（nonzero subblock内の余剰binを他のnonzero subblockで使用する）
５．第４の実施の形態（＃１、＃２、＃３の複合）
６．第５の実施の形態（＃１の応用）
７．第６の実施の形態（コンテキスト符号化bin数を管理する単位をTUより大きいサイズに拡張する（CU,VPDU,CTU等））
８．第７の実施の形態（syntax構造でのコンテキスト符号化bin数の最大値の上限をなくす）
９．第８の実施の形態（zero subblockの次のnonzero subblockのbin数を最大化する）
１０．第９の実施の形態（画像符号化装置・画像復号装置への適用）
１１．付記
【００２０】
＜１．CABAC＞
＜技術内容・技術用語をサポートする文献等＞
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
【００２１】
非特許文献１：（上述）
非特許文献２：Recommendation ITU-T H.264 (04/2017) "Advanced video coding for generic audiovisual services", April 2017
非特許文献３：Recommendation ITU-T H.265 (12/2016) "High efficiency video coding", December 2016
非特許文献４：J. Chen， E. Alshina， G. J. Sullivan， J.-R. Ohm， J. Boyce，"Algorithm Description of Joint Exploration Test Model (JEM7)"， JVET-G1001， Joint Video Exploration Team (JVET) of ITU−T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
非特許文献５：B. Bross, J. Chen, S. Liu , "Versatile Video Coding (Draft 3), " JVET-L1001， Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macau, CN, 3-12 Oct. 2018
非特許文献６：J. J. Chen, Y. Ye, S. Kim，"Algorithm description for Versatile Video Coding and Test Model 3 (VTM 3)"， JVET-L1002， Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macau, CN, 3-12 Oct. 2018
非特許文献７：J. Boyce (Intel), Y. Ye (InterDigital), Y.-W. Huang (Mediatek), M. Karczewicz (Qualcomm), E. Francois (Technicolor), W. Husak (Dolby), J. Ridge (Nokia), A. Abbas (GoPro)，"Two tier test model"， JVET- J0093 ，  Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US, 10-20 Apr. 2018
非特許文献８：S. Yoo, J. Choi, J. Heo, J. Choi, L. Li, J. Lim, S. Kim (LGE)，"Non-CE7 : Residual rearrangement for transform skipped blocks"， JVET-M0278， Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019
非特許文献９：B. Bross, T. Nguyen, P. Keydel, H. Schwarz, D. Marpe, T. Wiegand (HHI), "Non-CE8: Unified Transform Type Signalling and Residual Coding for Transform Skip"， JVET-M0464， Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019
非特許文献１０：Y. Zhao, H. Gao, H. Yang, J. Chen (Huawei), "CE6: Sub-block transform for inter blocks (Test 6.4.1)"， JVET-M0140， Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019
非特許文献１１：S. De-Luxan-Hernandez, V. George, J. Ma, T. Nguyen, H. Schwarz, D. Marpe, T. Wiegand (HHI), "CE3: Intra Sub-Partitions Coding Mode (Tests 1.1.1 and 1.1.2)"， JVET-M0102， Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019
非特許文献１２：B. Bross, J. Chen, S. Liu , "Versatile Video Coding (Draft 4), " JVET-M1001， Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macau, CN, 3-12 Oct. 2018
【００２２】
つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、上述の非特許文献に記載されているQuad-Tree Block Structure、QTBT（Quad Tree Plus Binary Tree） Block Structureが実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース（Parsing）、シンタックス（Syntax）、セマンティクス（Semantics）等の技術用語についても同様に、実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
【００２３】
また、本明細書において、画像（ピクチャ）の部分領域や処理単位として説明に用いる「ブロック」（処理部を示すブロックではない）は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、上述の非特許文献に記載されているTB（Transform Block）、TU（Transform Unit）、PB（Prediction Block）、PU（Prediction Unit）、SCU（Smallest Coding Unit）、CU（Coding Unit）、LCU（Largest Coding Unit）、CTB（Coding Tree Block）、CTU（Coding Tree Unit）、変換ブロック、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域（処理単位）が含まれるものとする。
【００２４】
また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック（例えばLCUやSCU等）のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定（例えば、許容されるブロックサイズの範囲の指定等）も含む。
【００２５】
また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。
【００２６】
＜コンテキスト符号化bin数＞
HEVC（High Efficiency Video Coding）等の画像符号化に用いられるCABAC（Context-based Adaptive Binary Arithmetic Code）は、画像データから導出される係数データを表現するシンタックスエレメント値を所定の方法により２値化（Binarize）し、２値化ビット列のビット毎に出現頻度モデル（コンテキスト）を切り替えて算術符号化する符号化方法である。係数データは、例えば、係数の符号を示すsig_flag、係数の絶対値が１であるか否かを示すgt1_flag、係数が奇数であるか偶数であるかを示すpar_flag、および、係数の絶対値が２であるか否かを示すgt2_flag等のシンタックス要素で表現される。
【００２７】
一般的に、シンタックスエレメント値を表現する際のコンテキスト符号化bin数（context-coded bin数）が多い程、符号化効率が向上し、画質の低減を抑制することができる。ただし、コンテキスト符号化bin数が多い程、処理量が増大する。そこで、例えば非特許文献１において、サブブロック（sub block）単位でコンテキスト符号化bin数に制約をかける方法が提案された。
【００２８】
しかしながら、この方法の場合、一律にコンテキスト符号化bin数が制約されるので、画像の特徴に合わせて局所的に係数データを増減させることができず、不要に符号化効率を低減させるおそれがあった。換言するに、復号画像の画質を低減させるおそれがあった。
【００２９】
＜コンテキスト符号化bin数の制約の可変化＞
そこで、各サブブロックのコンテキスト符号化bin数の制約を可変とする。このようにすることにより、より画像の特徴に合わせて局所的に係数データを増減させることができるので、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【００３０】
その際、例えば、ブロック（ピクチャ、スライス、CTU、VPDU（Virtual pipeline data Unit）、CU、AU（Access Unit）、またはTU等）単位のbin数を、各サブブロックに固定のコンテキスト符号化bin数がある場合と同様としてもよい。このようにすることにより、処理量の増大を抑制しながら符号化効率の低減を抑制することができる。
【００３１】
例えば、ブロック内の非ゼロサブブロック同士でコンテキスト符号化bin数を分配して、各サブブロックに割り当てられるコンテキスト符号化bin数の上限値を設定してもよい。そして処理対象サブブロックについて、コンテキスト符号化bin数がその上限値を超えないようにしながら、画像データに対応する係数データからシンタックスエレメント値を導出してもよい。
【００３２】
また、例えば、処理対象サブブロックについて、コンテキスト符号化bin数がその上限値を超えないようにしながら、シンタックスエレメント値をパースして画像データに対応する係数データを導出してもよい。
【００３３】
さらに、例えば、ブロック内のゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して、各サブブロックに割り当てられるコンテキスト符号化bin数の上限値を設定してもよい。そして処理対象サブブロックについて、コンテキスト符号化bin数がその上限値を超えないようにしながら、画像データに対応する係数データからシンタックスエレメント値を導出してもよい。
【００３４】
また、例えば、処理対象サブブロックについて、コンテキスト符号化bin数がその上限値を超えないようにしながら、シンタックスエレメント値をパースして画像データに対応する係数データを導出してもよい。
【００３５】
＜ブロック＞
例えば、図１のＡに示されるようなブロック１０を処理対象ブロックとする。ブロック１０は、例えば、8x8画素（pixel）のTUであり、４つのサブブロック（subblock）（サブブロック１１−1、サブブロック１１−２、サブブロック１１−３、およびサブブロック１１−４）により構成される。以下において、各サブブロック（subblock）を互いに区別して説明する必要がない場合、サブブロック１１と称する。つまり、図１のＡの例において、ブロック１０は、2x2のサブブロック１１により構成される。したがって、各サブブロック１１は、4x4画素により構成される。
【００３６】
図１のＡにおいて、各サブブロック１１内の数値は、そのサブブロック１１において発生するコンテキスト符号化bin数を示す。例えば、１つのサブブロック１１当たりのコンテキスト符号化bin数が30binの制約が設けられると、各サブブロック１１において発生するコンテキスト符号化bin数は、30bin以下に制限される。
【００３７】
なお、各サブブロック１１の処理順は、図１のＢに示されるようにモートンコード順（Ｚ階数曲線）とする。
【００３８】
＜２．第１の実施の形態＞
＜方法＃１＞
例えば、図２の表の一番上の段に示されるように、ゼロサブブロック（zero subblock）のコンテキスト符号化bin数を非ゼロサブブロック（nonzero subblock）に回すようにしてもよい。
【００３９】
ゼロサブブロック（zero subblock）は、係数が全てゼロ（０）のサブブロックである。また、非ゼロサブブロック（nonzero subblock）は、少なくとも１つはゼロでない係数が存在するサブブロックである。つまり、非特許文献１に記載の方法のように各サブブロックに対して一律にコンテキスト符号化bin数の上限値を設定する場合にゼロサブブロックに割り当てられるコンテキスト符号化bin数を、非ゼロサブブロックに割り当てるようにする。
【００４０】
例えば、図２に示される表の上から２段目に示されるように、サブブロック係数フラグ（coded_sub_block_flag）を既存のループの外に出し、独立させる。
【００４１】
サブブロック係数フラグは、そのサブブロックに非ゼロ係数が含まれるか否かを示すフラグである。例えばcoded_sub_block_flag=1の場合、そのフラグに対応するサブブロックが非ゼロサブブロックであることを示し、coded_sub_block_flag=0の場合、そのフラグに対応するサブブロックがゼロサブブロックであることを示す。シンタックスエレメント値の導出に関する処理は、サブブロック毎にループ処理されるが、本手法では、サブブロック係数フラグに関する処理をそのループ処理の外で行う。つまり、最初にTU内の全サブブロックについてのサブブロック係数フラグをパースする。
【００４２】
そして、coded_sub_block_flag=0のサブブロック、すなわちゼロサブブロックをカウントする。そして、そのゼロサブブロック数×サブブロック１つ分のコンテキスト符号化bin数を非ゼロサブブロックに回す（追加する）。ゼロサブブロックにおいてコンテキスト符号化bin数を消費することはないので、その分を非ゼロサブブロックに回す。
【００４３】
また、コンテキスト符号化bin数の管理は、TU（所定単位）内で閉じる。つまり、ブロック毎に上述のようなコンテキスト符号化bin数の分配を行う。
【００４４】
このようにすることにより、図２に示される表の上から３段目に示されるように、ゼロサブブロックの余剰コンテキスト符号化bin数を、非ゼロサブブロックのコンテキスト符号化bin数として使えるため、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【００４５】
例えば、図３のＡに示されるように、１サブブロック毎に30binの制約を設定する場合、サブブロック１１−２およびサブブロック１１−３がゼロサブブロックであっても、それらの余剰コンテキスト符号化bin数を、非ゼロサブブロックであるサブブロック１１−１やサブブロック１１−４において利用することができない。つまり、サブブロック１１−１やサブブロック１１−４のコンテキスト符号化bin数を30binより多くすることができない。
【００４６】
これに対して、方法＃１の場合、図３のＢに示されるように、サブブロック１１−２およびサブブロック１１−３がゼロサブブロックであっても、それらの余剰コンテキスト符号化bin数を、非ゼロサブブロックであるサブブロック１１−１やサブブロック１１−４に割り当てることができる。つまり、それらのサブブロックにおいて、30bin以上のシンタックスエレメント値を発生させることができる。したがって符号化効率の低減を抑制することができる。
【００４７】
＜符号化装置＞
図４は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図４に示される符号化装置１００は、画像データから導出される係数データをCABACにより符号化し、符号化データを生成する装置である。
【００４８】
なお、図４においては、処理部やデータの流れ等の主なものを示しており、図４に示されるものが全てとは限らない。つまり、符号化装置１００において、図４においてブロックとして示されていない処理部が存在したり、図４において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【００４９】
図４に示されるように、符号化装置１００は、シーケンサ１０１およびCABAC１０２を有する。シーケンサ１０１は、画像データから導出される係数データ等を取得する。また、シーケンサ１０１は、フラグ情報等の制御情報を適宜取得する。シーケンサ１０１は、それらを用いてシンタックスエレメント値を導出する。また、シーケンサ１０１は、導出したシンタックスエレメント値等をCABAC１０２に供給する。CABAC１０２は、シーケンサ１０１から供給されるシンタックスエレメント値等を取得する。CABAC１０２は、そのシンタックスエレメント値を所定の方法により２値化（Binarize）し、２値化ビット列のビット毎にコンテキストを切り替えて算術符号化し、符号化データを生成する。CABAC１０２は、生成した符号化データを符号化装置１００の外部に出力する。
【００５０】
なお、これらの処理部（シーケンサ１０１およびCABAC１０２）は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU（Central Processing Unit）、ROM（Read Only Memory）、RAM（Random Access Memory）等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【００５１】
＜CABAC＞
図５は、CABAC１０２の主な構成例を示すブロック図である。なお、図５においては、処理部やデータの流れ等の主なものを示しており、図５に示されるものが全てとは限らない。つまり、CABAC１０２において、図５においてブロックとして示されていない処理部が存在したり、図５において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【００５２】
図５に示されるように、CABAC１０２は、２値化部１２１、選択部１２２、コンテキストモデル１２３、算術符号化部１２４、算術符号化部１２５、および選択部１２６を有する。
【００５３】
２値化部１２１は、シーケンサ１０１から供給されるシンタックスエレメント値を取得し、そのシンタックスエレメント毎に定義された方法で２値化し、２値化ビット列を生成する。２値化部１２１は、その２値化ビット列を選択部１２２に供給する。
【００５４】
選択部１２２は、２値化部１２１から供給された２値化ビット列とフラグ情報isBypassを取得する。選択部１２２は、そのisBypassの値に基づいて、２値化ビット列の供給先を選択する。例えば、isBypass=0の場合、選択部１２２は、通常モードと判定し、２値化ビット列をコンテキストモデル１２３に供給する。また、isBypass=1の場合、選択部１２２は、バイパス（bypass）モードと判定し、２値化ビット列を算術符号化部１２５に供給する。
【００５５】
コンテキストモデル１２３は、符号化対象および周囲の状況に応じて、適用するコンテキストモデルを動的に切り替える。例えば、コンテキストモデル１２３は、コンテキスト変数ctxを保持し、選択部１２２から２値化ビット列を取得すると、シンタックスエレメント毎に定義されたbin列の各ビン位置（binIdx）に対応するコンテキスト変数ctxを読み出す。コンテキストモデル１２３は、２値化ビット列と読みだしたコンテキスト変数ctxを算術符号化部１２４に供給する。
【００５６】
算術符号化部１２４は、コンテキストモデル１２３から供給される２値化ビット列およびコンテキスト変数ctxを取得すると、そのコンテキスト変数ctxの確率状態を参照し、２値化ビット列のbinIdxにあるビンの値を、CABACの通常モードにより算術符号化する（コンテキスト符号化を行う）。算術符号化部１２４は、そのコンテキスト符号化により生成した符号化データを選択部１２６に供給する。また、算術符号化部１２４は、コンテキスト符号化処理後のコンテキスト変数ctxをコンテキストモデル１２３に供給し、保持させる。
【００５７】
算術符号化部１２５は、選択部１２２から供給される２値化ビット列を、CABACのバイパスモードにより算術符号化する（バイパス符号化を行う）。算術符号化部１２５は、そのバイパス符号化により生成した符号化データを選択部１２６に供給する。
【００５８】
選択部１２６は、フラグ情報isBypassを取得し、そのisBypassの値に基づいて、出力する符号化データを選択する。例えば、isBypass=0の場合、選択部１２６は、通常モードと判定し、算術符号化部１２４から供給される符号化データを取得し、CABAC１０２（符号化装置１００）の外部に出力する。また、isBypass=1の場合、選択部１２６は、バイパス（bypass）モードと判定し、算術符号化部１２５から供給される符号化データを取得し、CABAC１０２（符号化装置１００）の外部に出力する。
【００５９】
なお、これらの処理部（２値化部１２１乃至選択部１２６）は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【００６０】
＜符号化処理の流れ＞
次に、この符号化装置１００により実行される符号化処理の流れの例を、図６のフローチャートを参照して説明する。
【００６１】
符号化処理が開始されると、符号化装置１００のシーケンサ１０１は、ステップＳ１０１において、シンタックスエレメント値導出処理を実行し、符号化装置１００に入力される係数データ（画像データから導出される係数データ）からシンタックスエレメント値を導出する。
【００６２】
ステップＳ１０２において、CABAC１０２は、CABAC処理を行い、ステップＳ１０１において導出されたシンタックスエレメント値をCABACにより符号化し、符号化データを生成する。CABAC１０２は、生成した符号化データを符号化装置１００の外部に出力する。
【００６３】
ステップＳ１０２の処理が終了すると、符号化処理が終了する。
【００６４】
＜シンタックスエレメント値導出処理の流れ＞
次に、図７のフローチャートを参照して、図６のステップＳ１０１において実行されるシンタックスエレメント値導出処理の流れの例を説明する。図８乃至図１１は、residual codingのシンタックスの例を示す図である。必要に応じてこれらの図を用いて説明する。なお、図８乃至図１１のシンタックスにおいて、閾値（TH1乃至TH4）は、それぞれ、例えば以下のような値を取り得る。
【００６５】
TH1 = 6, TH2 = 28, TH3 = 2, TH4 = 4
【００６６】
もちろん各閾値の値は任意であり、この例に限定されない。
【００６７】
シンタックスエレメント値導出処理が開始されると、シーケンサ１０１は、ステップＳ１２１において、例えば図９の上から２段目乃至１１段目に示されるように、処理対象ブロック内のサブブロック係数フラグ（coded_sub_block_flag）を符号化する。
【００６８】
ステップＳ１２２において、シーケンサ１０１は、例えば図９の上から１３段目乃至１６段目に示されるように、そのサブブロック係数フラグの値に基づいて、非ゼロサブブロック数（numNonZeroSbk）をカウントする。つまり、シーケンサ１０１は、処理対象のブロックについて、coded_sub_block_flag=1のサブブロックの数をカウントする。
【００６９】
ステップＳ１２３において、シーケンサ１０１は、例えば図９の上から１８段目および１９段目に示されるように、サブブロック１つ当たりのコンテキスト符号化ビン数（context-coded bin数）の仮の上限値（remBinPass1Tmp）を設定する。例えば、図３の場合、サブブロックは4x4の係数データよりなり、sig_flag、gt1_flag、par_flag、およびgt2_flagを導出するので、サブブロック１つ当たりのコンテキスト符号化ビン数は、最大64binとなる。シーケンサ１０１は、この64binを上述の仮の上限値（remBinPass1Tmp）に設定する。つまり、この仮の上限値（remBinPass1Tmp）は、サブブロックのサイズに基づいて設定され得る。
【００７０】
ステップＳ１２４において、シーケンサ１０１は、例えば図９の上から２０段目および２１段目に示されるように、ゼロサブブロック数（numZeroSBk）に基づいて、ゼロサブブロック全体の余剰コンテキスト符号化ビン数（remBinPass1InZeroSbk）を設定する。処理対象ブロック内のサブブロックの数はサブブロック係数フラグの数等から既知であるので、ゼロサブブロック数（numZeroSBk）は、ステップＳ１２２においてカウントされた非ゼロサブブロック数（numNonZeroSbk）から求めることができる。ゼロサブブロックに必要なビン数は０であるので、ステップＳ１２３において設定された仮の上限値（remBinPass1Tmp）が余剰コンテキスト符号化ビン数となる。したがって、ゼロサブブロック全体の余剰コンテキスト符号化ビン数（remBinPass1InZeroSbk）は、ゼロサブブロック数（numZeroSBk）と仮の上限値（remBinPass1Tmp）との積により導出される。
【００７１】
ステップＳ１２５において、シーケンサ１０１は、例えば図９の上から２２段目および２３段目に示されるように、非ゼロサブブロック１つ当たりに追加で割り当て可能な平均余剰コンテキスト符号化ビン数（remBinPass1Extra）を設定する。この平均余剰コンテキスト符号化ビン数（remBinPass1Extra）は、ステップＳ１２４において導出されたゼロサブブロック全体の余剰コンテキスト符号化ビン数（remBinPass1InZeroSbk）をゼロサブブロック数（numZeroSBk）で除算することにより、導出することができる。なお、除算を回避するためにルックアップテーブルを用いて平均余剰コンテキスト符号化ビン数（remBinPass1Extra）を導出するようにしてもよい。
【００７２】
次にサブブロック毎の処理に移る。すなわち、シンタックスにおけるサブブロック毎のfor文のループ内の処理に移る。ステップＳ１２６において、シーケンサ１０１は、処理対象ブロック内のサブブロックの中から処理対象サブブロック（subSetId=i）を選択する。
【００７３】
ステップＳ１２７において、シーケンサ１０１は、例えば図９の上から２９段目および３０段目に示されるように、その処理対象サブブロックについて、コンテキスト符号化ビン数の上限値（remBinPass1）を、仮の上限値（remBinPass1Tmp）と、ゼロサブブロックから追加で割り当て可能な平均余剰コンテキスト符号化ビン数（remBinPass1Extra）とに基づいて設定する。図９の例の場合、コンテキスト符号化ビン数の上限値（remBinPass1）は、仮の上限値（remBinPass1Tmp）とゼロサブブロックから追加で割り当て可能な平均余剰コンテキスト符号化ビン数（remBinPass1Extra）とを加算することにより導出される。
【００７４】
ステップＳ１２８において、シーケンサ１０１は、処理対象サブブロックについて、コンテキスト符号化ビン数の上限値を越えないように、シンタックスエレメントの値を導出する。この処理は、図１０以降のシンタックスに対応する。
【００７５】
ステップＳ１２９において、シーケンサ１０１は、全てのサブブロックを処理したか否かを判定する。処理対象ブロック内に未処理のサブブロックが存在すると判定された場合、処理はステップＳ１２６に戻り、それ以降の処理が繰り返される。つまり、ステップＳ１２６乃至ステップＳ１２９の各処理が処理対象ブロック内の各サブブロックについて実行される。そして、ステップＳ１２９において、処理対象ブロック内の全てのサブブロックを処理したと判定された場合、シンタックスエレメント値導出処理が終了し、処理は図６に戻る。
【００７６】
以上のように各ステップの処理を実行することにより、シーケンサ１０１は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。例えば、処理対象ブロック内のゼロサブブロックに割り当てられるコンテキスト符号化bin数を非ゼロサブブロックに分配することができる。したがって、ゼロサブブロックに割り当てられるコンテキスト符号化bin数も利用することができる。したがって、符号化効率の低減を抑制することができる。
【００７７】
なお、サブブロック係数フラグ（coded_sub_block_flag）の符号化を、サブブロック毎の処理の前に行い、ゼロサブブロック数や非ゼロサブブロック数をカウントすることにより、余剰コンテキスト符号化ビン数の分配をより自由に行うことができる（分配の制約を少なくすることができる）。
【００７８】
また、上述のようにコンテキスト符号化ビン数の管理をブロック（例えばTU）内で閉じることにより、処理量の増大を抑制することができる。
【００７９】
＜CABAC処理の流れ＞
次に、図６のステップＳ１０２において実行されるCABAC処理の流れの例を、図１２のフローチャートを参照して説明する。
【００８０】
CABAC処理が開始されると、CABAC１０２の２値化部１２１は、ステップＳ１５１において、処理対象のシンタックスエレメント値（syncVal）を入力する。
【００８１】
ステップＳ１５２において、２値化部１２１は、シンタックスエレメント毎に定義された２値化処理を行い、シンタックスエレメント値（syncVal）のビン列（synBins）を導出する。
【００８２】
ステップＳ１５３において、選択部１２２は、シンタックスエレメント毎に定義されたbin列の各ビン位置（binIdx）に対応するコンテキスト変数ctxと、bypassモードであるか否かを示すフラグisBypassとを読み出す。
【００８３】
ステップＳ１５４において、選択部１２２は、bypassモードであるか否かを判定する。isBypass=0であり、通常モードであると判定された場合、処理はステップＳ１５５に進む。
【００８４】
ステップＳ１５５において、算術符号化部１２４は、コンテキスト符号化を行う。つまり、算術符号化部１２４は、コンテキスト変数ctxの確率状態を参照してbin列（synBins）のビン位置（binIdx）にあるビンの値をCABACの通常モードにより符号化する。ステップＳ１５５の処理が終了すると、処理はステップＳ１５７に進む。
【００８５】
また、ステップＳ１５４においてisBypass=1であり、バイパスモードであると判定された場合、処理はステップＳ１５６に進む。
【００８６】
ステップＳ１５６において、算術符号化部１２５は、バイパス符号化を行う。つまり、算術符号化部１２５は、CABACのバイパスモードによりbin列（synBins）のビン位置（binIdx）にあるビンの値を符号化する。ステップＳ１５６の処理が終了すると、処理はステップＳ１５７に進む。
【００８７】
ステップＳ１５７において、選択部１２６は、所定のブレーク条件Ａを満たすか否かを判定する。ブレーク条件Ａは、binIdx=0からbinIdx=k（現在のbinIdxの位置k）までのビン列の値や、シンタックスエレメント毎の２値化方法に基づいて定義される。
【００８８】
ブレーク条件Ａを満たさないと判定された場合処理はステップＳ１５３に戻り、次のビン位置（binIdx）に対して、それ以降の処理が実行される。つまり、ビン位置（binIdx）毎にステップＳ１５３乃至ステップＳ１５７の処理が実行される。
【００８９】
そして、ステップＳ１５７において、ブレーク条件Ａを満たすと判定された場合、CABAC処理が終了し、処理は図６に戻る。
【００９０】
このようにCABAC処理を行うことにより、シンタックスエレメント値を符号化し、符号化データを生成することができる。
【００９１】
＜復号装置＞
図１３は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図１３に示される復号装置２００は、符号化データを復号して、画像データに対応する係数データを生成する装置である。
【００９２】
なお、図１３においては、処理部やデータの流れ等の主なものを示しており、図１３に示されるものが全てとは限らない。つまり、復号装置２００において、図１３においてブロックとして示されていない処理部が存在したり、図１３において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【００９３】
図１３に示されるように、復号装置２００は、CABAC２０１およびパーサ２０２を有する。CABAC２０１は、符号化データを取得し、その符号化データに対して２値化ビット列のビット毎にコンテキストを切り替えて算術復号して２値化ビット列を生成し、その２値化ビット列を所定の方法により多値化してシンタックスエレメント値を生成する。CABAC２０１は、生成したシンタックスエレメント値をパーサ２０２に供給する。パーサ２０２は、そのシンタックスエレメント値を取得し、それをパースして画像データに対応する係数データを導出する。パーサ２０２は、導出した係数データを復号装置２００の外部に出力する。
【００９４】
なお、これらの処理部（CABAC２０１およびパーサ２０２）は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【００９５】
＜CABAC＞
図１４は、CABAC２０１の主な構成例を示すブロック図である。なお、図１４においては、処理部やデータの流れ等の主なものを示しており、図１４に示されるものが全てとは限らない。つまり、CABAC２０１において、図１４においてブロックとして示されていない処理部が存在したり、図１４において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【００９６】
図１４に示されるように、CABAC２０１は、選択部２２１、コンテキストモデル２２２、算術復号部２２３、算術復号部２２４、選択部２２５、および多値化部２２６を有する。
【００９７】
選択部２２１は、復号装置２００に入力される符号化データとフラグ情報isBypassを取得する。選択部２２１は、そのisBypassの値に基づいて、符号化データの供給先を選択する。例えば、isBypass=0の場合、選択部２２１は、通常モードと判定し、符号化データをコンテキストモデル２２２に供給する。また、isBypass=1の場合、選択部２２１は、バイパス（bypass）モードと判定し、２値化ビット列を算術復号部２２４に供給する。
【００９８】
コンテキストモデル２２２は、復号対象および周囲の状況に応じて、適用するコンテキストモデルを動的に切り替える。例えば、コンテキストモデル２２２は、コンテキスト変数ctxを保持し、選択部２２１から符号化データを取得すると、シンタックスエレメント毎に定義されたbin列の各ビン位置（binIdx）に対応するコンテキスト変数ctxを読み出す。コンテキストモデル２２２は、符号化データと読みだしたコンテキスト変数ctxを算術復号部２２３に供給する。
【００９９】
算術復号部２２３は、コンテキストモデル２２２から供給される符号化データおよびコンテキスト変数ctxを取得すると、そのコンテキスト変数ctxの確率状態を参照し、２値化ビット列のbinIdxにあるビンの値を、CABACの通常モードにより算術復号する（コンテキスト復号を行う）。算術復号部２２３は、そのコンテキスト復号により生成した２値化ビット列を選択部２２５に供給する。また、算術復号部２２３は、コンテキスト復号処理後のコンテキスト変数ctxをコンテキストモデル２２２に供給し、保持させる。
【０１００】
算術復号部２２４は、選択部２２１から供給される符号化データを、CABACのバイパスモードにより算術復号する（バイパス復号を行う）。算術復号部２２４は、そのバイパス復号により生成した２値化ビット列を選択部２２５に供給する。
【０１０１】
選択部２２５は、フラグ情報isBypassを取得し、そのisBypassの値に基づいて、多値化部２２６に供給する２値化ビット列を選択する。例えば、isBypass=0の場合、選択部２２５は、通常モードと判定し、算術復号部２２３から供給される２値化ビット列を取得し、多値化部２２６に供給する。また、isBypass=1の場合、選択部２２５は、バイパス（bypass）モードと判定し、算術復号部２２４から供給される２値化ビット列を取得し、多値化部２２６に供給する。
【０１０２】
多値化部２２６は、選択部２２５から供給される２値化ビット列を取得し、シンタックスエレメント毎に定義された方法で多値化し、シンタックスエレメント値を生成する。多値化部２２６は、そのシンタックスエレメント値をパーサ２０２に供給する。
【０１０３】
なお、これらの処理部（選択部２２１乃至多値化部２２６）は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【０１０４】
＜復号処理の流れ＞
次に、この復号装置２００により実行される復号処理の流れの例を、図１５のフローチャートを参照して説明する。
【０１０５】
復号処理が開始されると、復号装置２００のCABAC２０１は、ステップＳ２０１において、CABAC処理を行い、復号装置２００に入力される符号化データをCABACにより復号し、シンタックスエレメント値を生成する。ステップＳ２０２において、パーサ２０２は、係数データ導出処理を実行し、そのシンタックスエレメント値をパースして画像データに対応する係数データを導出する。パーサ２０２は、導出した係数データを復号装置２００の外部に出力する。
【０１０６】
ステップＳ２０２の処理が終了すると、復号処理が終了する。
【０１０７】
＜CABAC処理の流れ＞
次に、図１５のステップＳ２０１において実行されるCABAC処理の流れの例を、図１６のフローチャートを参照して説明する。
【０１０８】
CABAC処理が開始されると、CABAC２０１の選択部２２１は、ステップＳ２２１において、シンタックスエレメント毎に定義されたbin列の各ビン位置（binIdx）に対応するコンテキスト変数ctxと、bypassモードであるか否かを示すフラグisBypassとを読み出す。
【０１０９】
ステップＳ２２２において、選択部２２１は、bypassモードであるか否かを判定する。isBypass=0であり、通常モードであると判定された場合、処理はステップＳ２２３に進む。
【０１１０】
ステップＳ２２３において、算術復号部２２３は、コンテキスト復号を行う。つまり、算術復号部２２３は、コンテキスト変数ctxの確率状態を参照して符号化データをCABACの通常モードにより復号し、bin列（synBins）のビン位置（binIdx）にあるビンの値を生成する。ステップＳ２２３の処理が終了すると処理はステップＳ２２５に進む。
【０１１１】
また、ステップＳ２２２においてisBypass=1であり、バイパスモードであると判定された場合、処理はステップＳ２２４に進む。
【０１１２】
ステップＳ２２４において、算術復号部２２４は、バイパス復号を行う。つまり、算術復号部２２４は、CABACのバイパスモードにより符号化データを復号し、bin列（synBins）のビン位置（binIdx）にあるビンの値を生成する。ステップＳ２２４の処理が終了すると、処理はステップＳ２２５に進む。
【０１１３】
ステップＳ２２５において、選択部２２５は、所定のブレーク条件Ａを満たすか否かを判定する。ブレーク条件Ａは、binIdx=0からbinIdx=k（現在のbinIdxの位置k）までのビン列の値や、シンタックスエレメント毎の２値化方法に基づいて定義される。
【０１１４】
ブレーク条件Ａを満たさないと判定された場合、処理はステップＳ２２１に戻り、次のビン位置（binIdx）の値を生成するための、それ以降の処理が実行される。つまり、ビン位置（binIdx）毎にステップＳ２２１乃至ステップＳ２２５の処理が実行される。
【０１１５】
そして、ステップＳ２２５において、ブレーク条件Ａを満たすと判定された場合、処理はステップＳ２２６に進む。
【０１１６】
ステップＳ２２６において、多値化部２２６は、シンタックスエレメント毎に定義された多値化処理により、ビン列（synBins）からシンタックスエレメント値（syncVal）を導出する。
【０１１７】
ステップＳ２２７において、多値化部２２６は、導出したシンタックスエレメント値（syncVal）をパーサ２０２に供給する。
【０１１８】
このようにCABAC処理を行うことにより、符号化データを復号し、シンタックスエレメント値を生成することができる。
【０１１９】
＜係数データ導出処理の流れ＞
次に、図１７のフローチャートを参照して、図１５のステップＳ２０２において実行される係数データ導出処理の流れの例を説明する。この係数データ導出処理は、シンタックスエレメント値導出処理（図７）と略同様の流れで実行される。つまり、係数データ導出処理の各ステップの処理（図１７のステップＳ２５１乃至ステップＳ２５９）は、シンタックスエレメント値導出処理（図７のステップＳ１２１乃至ステップＳ１２９）の各処理と略同様に実行される。
【０１２０】
ただし、ステップＳ２５１において、パーサ２０２は、例えば図９の上から２段目乃至１１段目に示されるように、処理対象ブロック内のサブブロック係数フラグ（coded_sub_block_flag）を復号する。ステップＳ２５１の処理が終了すると、処理はステップＳ２５２に進む。
【０１２１】
また、ステップＳ２５８において、パーサ２０２は、処理対象サブブロックについて、コンテキスト符号化ビン数の上限値を越えないように、シンタックスエレメントの値をパースし、係数データを導出する。この処理は、図１０以降のシンタックスに対応する。ステップＳ２５８の処理が終了すると、処理はステップＳ２５９に進む。
【０１２２】
以上のように各ステップの処理を実行することにより、パーサ２０２は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。例えば、処理対象ブロック内のゼロサブブロックに割り当てられるコンテキスト符号化bin数を非ゼロサブブロックに分配することができる。したがって、ゼロサブブロックに割り当てられるコンテキスト符号化bin数も利用することができる。したがって、符号化効率の低減を抑制することができる。
【０１２３】
なお、サブブロック係数フラグ（coded_sub_block_flag）の復号を、サブブロック毎の処理の前に行い、ゼロサブブロック数や非ゼロサブブロック数をカウントすることにより、余剰コンテキスト符号化ビン数の分配をより自由に行うことができる（分配の制約を少なくすることができる）。
【０１２４】
また、上述のようにコンテキスト符号化ビン数の管理をブロック（例えばTU）内で閉じることにより、処理量の増大を抑制することができる。
【０１２５】
＜３．第２の実施の形態＞
＜方法＃２＞
第１の実施の形態においては、方法＃１について説明したが、本技術は、この方法に限定されない。例えば、図１８の表の一番上の段に示されるように、非ゼロサブブロック（nonzero subblock）内で最大コンテキスト符号化bin数をシェアするようにしてもよい。
【０１２６】
つまり、非特許文献１に記載の方法のように各サブブロックに対して一律にコンテキスト符号化bin数の上限値を設定する場合に各非ゼロサブブロックに割り当てられるコンテキスト符号化bin数を、シェアするようにする。
【０１２７】
例えば、図１８に示される表の上から２段目に示されるように、サブブロック係数フラグ（coded_sub_block_flag）を既存のループの外に出し、独立させる。つまり、最初にTU内の全サブブロックについてのサブブロック係数フラグをパースする。
【０１２８】
そして、coded_sub_block_flag=1のサブブロック、すなわち非ゼロサブブロックをカウントする。そして、その非ゼロサブブロック数×サブブロック１つ分のコンテキスト符号化bin数をシェアする。
【０１２９】
また、コンテキスト符号化bin数の管理は、TU（所定単位）内で閉じる。つまり、ブロック毎に上述のようなコンテキスト符号化bin数の分配を行う。
【０１３０】
このようにすることにより、図１８に示される表の上から３段目に示されるように、非ゼロサブブロックの余剰コンテキスト符号化bin数を、その他の非ゼロサブブロックのコンテキスト符号化bin数として使えるため、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０１３１】
例えば、図１９のＡに示されるように、１サブブロック毎に30binの制約を設定する場合、非ゼロサブブロックであるサブブロック１１−１において24binしか発生しなかったときも、上限値までの6binを他の非ゼロサブブロックに回すことはできなかった。したがって、非ゼロサブブロックであるサブブロック１１ー４においても、コンテキスト符号化bin数を上限値の30binより多くすることができなかった。
【０１３２】
これに対して、方法＃２の場合、図１９のＢに示されるように、非ゼロサブブロックであるサブブロック１１−１における余剰コンテキスト符号化bin数（この例の場合「6」）を、非ゼロサブブロックであるサブブロック１１−４に割り当てることができる。つまり、それらの非ゼロサブブロックにおいて、コンテキスト符号化bin数をシェアすることができ、その配分によっては、30bin以上のシンタックスエレメント値を発生させることができる。したがって符号化効率の低減を抑制することができる。
【０１３３】
＜シンタックスエレメント値導出処理の流れ＞
この場合も符号化装置１００の構成は、第１の実施の形態の場合（図４）と同様である。また、CABAC１０２の構成も第１の実施の形態の場合（図５）と同様である。さらに、その符号化装置１００により実行される符号化処理の流れも、第１の実施の形態の場合（図６）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１２）と同様である。
【０１３４】
この場合のシンタックスエレメント値導出処理の流れの例を、図２０のフローチャートを参照して説明する。図２１乃至図２４は、residual codingのシンタックスの例を示す図である。必要に応じてこれらの図を用いて説明する。なお、図２１乃至図２４のシンタックスにおいて、閾値（TH1乃至TH3）は、それぞれ、例えば以下のような値を取り得る。
【０１３５】
TH1 = 6, TH2 = 28, TH3 = 3
【０１３６】
もちろん各閾値の値は任意であり、この例に限定されない。
【０１３７】
シンタックスエレメント値導出処理が開始されると、シーケンサ１０１は、ステップＳ３０１において、例えば図２２の上から１段目乃至１０段目に示されるように、処理対象ブロック内のサブブロック係数フラグ（coded_sub_block_flag）を符号化する。
【０１３８】
ステップＳ３０２において、シーケンサ１０１は、例えば図２２の上から１２段目乃至１５段目に示されるように、そのサブブロック係数フラグの値に基づいて、非ゼロサブブロック数（numNonZeroSbk）をカウントする。つまり、シーケンサ１０１は、処理対象のブロックについて、coded_sub_block_flag=1のサブブロックの数をカウントする。
【０１３９】
ステップＳ３０３において、シーケンサ１０１は、例えば図２２の上から１７段目および１８段目に示されるように、サブブロック１つ当たりのコンテキスト符号化ビン数（context-coded bin数）の仮の上限値（remBinPass1Tmp）を設定する。例えば、図１９の場合、サブブロック１つ当たりのコンテキスト符号化ビン数は、図３の場合と同様に最大64binとなる。シーケンサ１０１は、この64binを上述の仮の上限値（remBinPass1Tmp）に設定する。つまり、この仮の上限値（remBinPass1Tmp）は、サブブロックのサイズに基づいて設定され得る。
【０１４０】
ステップＳ３０４において、シーケンサ１０１は、例えば図２２の上から１９段目および２０段目に示されるように、非ゼロサブブロック数（numNonZeroSbk）に基づいて、非ゼロサブブロック全体で割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1）を設定する。この非ゼロサブブロック全体で割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1）は、ステップＳ３０２においてカウントされた非ゼロサブブロック数（numNonZeroSbk）と、ステップＳ３０３において設定された仮の上限値（remBinPass1Tmp）との積、つまり、各非ゼロサブブロックに割り当てられる仮の上限値（remBinPass1Tmp）の総和により導出される。
【０１４１】
次にサブブロック毎の処理に移る。すなわち、シンタックスにおけるサブブロック毎のfor文のループ内の処理に移る。ステップＳ３０５において、シーケンサ１０１は、処理対象ブロック内のサブブロックの中から処理対象サブブロック（subSetId=i）を選択する。
【０１４２】
ステップＳ３０６において、シーケンサ１０１は、処理対象ブロックの各サブブロックにおける発生ビン数の総和が、ステップＳ３０４において導出した非ゼロサブブロック全体で割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1）を越えないように、処理対象サブブロックについて、シンタックスエレメントの値を導出する。この処理は、図２３以降のシンタックスに対応する。
【０１４３】
ステップＳ３０７において、シーケンサ１０１は、全てのサブブロックを処理したか否かを判定する。処理対象ブロック内に未処理のサブブロックが存在すると判定された場合、処理はステップＳ３０５に戻り、それ以降の処理が繰り返される。つまり、ステップＳ３０５乃至ステップＳ３０７の各処理が処理対象ブロック内の各サブブロックについて実行される。そして、ステップＳ３０７において、処理対象ブロック内の全てのサブブロックを処理したと判定された場合、シンタックスエレメント値導出処理が終了し、処理は図６に戻る。
【０１４４】
以上のように各ステップの処理を実行することにより、シーケンサ１０１は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。例えば、処理対象ブロック内の非ゼロサブブロック同士でコンテキスト符号化bin数を分配することができる。したがって、符号化効率の低減を抑制することができる。
【０１４５】
なお、サブブロック係数フラグ（coded_sub_block_flag）の符号化を、サブブロック毎の処理の前に行い、ゼロサブブロック数や非ゼロサブブロック数をカウントすることにより、余剰コンテキスト符号化ビン数の分配をより自由に行うことができる（分配の制約を少なくすることができる）。
【０１４６】
また、上述のようにコンテキスト符号化ビン数の管理をブロック（例えばTU）内で閉じることにより、処理量の増大を抑制することができる。
【０１４７】
＜係数データ導出処理の流れ＞
この場合も復号装置２００の構成は、第１の実施の形態の場合（図１３）と同様である。また、CABAC２０１の構成も第１の実施の形態の場合（図１４）と同様である。さらに、その復号装置２００により実行される復号処理の流れも、第１の実施の形態の場合（図１５）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１６）と同様である。
【０１４８】
この場合の係数データ導出処理の流れの例を、図２５のフローチャートを参照して説明する。この係数データ導出処理は、シンタックスエレメント値導出処理（図２０）と略同様の流れで実行される。つまり、係数データ導出処理の各ステップの処理（図２５のステップＳ３２１乃至ステップＳ３２７）は、シンタックスエレメント値導出処理（図２０のステップＳ３０１乃至ステップＳ３０７）の各処理と略同様に実行される。
【０１４９】
ただし、ステップＳ３２１において、パーサ２０２は、例えば図２２の上から１段目乃至１０段目に示されるように、処理対象ブロック内のサブブロック係数フラグ（coded_sub_block_flag）を復号する。ステップＳ３２１の処理が終了すると、処理はステップＳ３２２に進む。
【０１５０】
また、ステップＳ３２６において、パーサ２０２は、処理対象ブロックの各サブブロックにおける発生ビン数の総和が、ステップＳ３２４において導出した非ゼロサブブロック全体で割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1）を越えないように、処理対象サブブロックについて、シンタックスエレメント値をパースし、係数データを導出する。この処理は、図２３以降のシンタックスに対応する。ステップＳ３２６の処理が終了すると、処理はステップＳ３２７に進む。
【０１５１】
以上のように各ステップの処理を実行することにより、パーサ２０２は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。例えば、処理対象ブロック内の非ゼロサブブロック同士でコンテキスト符号化bin数を分配することができる。したがって、符号化効率の低減を抑制することができる。処理対象ブロック内のゼロサブブロックに割り当てられるコンテキスト符号化bin数を非ゼロサブブロックに分配することができる。したがって、ゼロサブブロックに割り当てられるコンテキスト符号化bin数も利用することができる。したがって、符号化効率の低減を抑制することができる。
【０１５２】
なお、サブブロック係数フラグ（coded_sub_block_flag）の復号を、サブブロック毎の処理の前に行い、ゼロサブブロック数や非ゼロサブブロック数をカウントすることにより、余剰コンテキスト符号化ビン数の分配をより自由に行うことができる（分配の制約を少なくすることができる）。
【０１５３】
また、上述のようにコンテキスト符号化ビン数の管理をブロック（例えばTU）内で閉じることにより、処理量の増大を抑制することができる。
【０１５４】
＜４．第３の実施の形態＞
＜方法＃３＞
また例えば、図２６の表の一番上の段に示されるように、非ゼロサブブロック（nonzero subblock）内の余剰コンテキスト符号化bin数を、他の非ゼロサブブロックで使用するようにしてもよい。
【０１５５】
例えば、図２６に示される表の上から２段目に示されるように、１つのサブブロックあたりのコンテキスト符号化ビン数の最大値に満たないサブブロックがあった場合、その余剰コンテキスト符号化ビン数をプールして次以降のサブブロックに使うようにする。
【０１５６】
このようにすることにより、図２６に示される表の上から３段目に示されるように、サブブロック係数フラグを既存のループから出さずに適用することができる。つまり、シンタックスの変更量の増大を抑制することができ、本技術をより容易に適用することができるようになる。
【０１５７】
また、非ゼロサブブロックの余剰コンテキスト符号化bin数を、その他の非ゼロサブブロックのコンテキスト符号化bin数として使えるため、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０１５８】
例えば、図２７のＡに示されるように、１サブブロック毎に30binの制約を設定する場合、サブブロック１１−３において16binしか発生しなかったときも、サブブロック１１−４においては30binの制約を受ける。つまり、上限値までの14binを次以降のサブブロックに回すことはできなかった。
【０１５９】
これに対して、方法＃３の場合、図２７のＢに示されるように、サブブロック１１−３における余剰コンテキスト符号化bin数（この例の場合「14」）を、次に処理されるサブブロック１１−４に割り当てることができる。つまり、サブブロック１１−４において30bin以上のシンタックスエレメント値を発生させることができる。したがって符号化効率の低減を抑制することができる。
【０１６０】
＜シンタックスエレメント値導出処理の流れ＞
この場合も符号化装置１００の構成は、第１の実施の形態の場合（図４）と同様である。また、CABAC１０２の構成も第１の実施の形態の場合（図５）と同様である。さらに、その符号化装置１００により実行される符号化処理の流れも、第１の実施の形態の場合（図６）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１２）と同様である。
【０１６１】
この場合のシンタックスエレメント値導出処理の流れの例を、図２８のフローチャートを参照して説明する。図２９乃至図３２は、residual codingのシンタックスの例を示す図である。必要に応じてこれらの図を用いて説明する。なお、図２９乃至図３２のシンタックスにおいて、閾値（TH1乃至TH3）は、それぞれ、例えば以下のような値を取り得る。
【０１６２】
TH1 = 6, TH2 = 28, TH3 = 3
【０１６３】
もちろん各閾値の値は任意であり、この例に限定されない。
【０１６４】
シンタックスエレメント値導出処理が開始されると、シーケンサ１０１は、ステップＳ３４１において、例えば図３０の上から１段目および２段目に示されるように、次のサブブロックに割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1Next）を初期化する（例えばremBinPass1Next = 0）。つまり、初期値においては、余剰コンテキスト符号化ビン数が０であり、次のサブブロックにビン数を追加することができないことが示される。
【０１６５】
次にサブブロック毎の処理に移る。すなわち、シンタックスにおけるサブブロック毎のfor文のループ内の処理に移る。ステップＳ３４２において、シーケンサ１０１は、処理対象ブロック内のサブブロックの中から処理対象サブブロック（subSetId=i）を選択する。
【０１６６】
ステップＳ３４３において、シーケンサ１０１は、例えば図３０の上から３段目乃至１１段目に示されるように、処理対象サブブロックについて、サブブロック係数フラグ（coded_sub_block_flag）を符号化する。
【０１６７】
ステップＳ３４４において、シーケンサ１０１は、例えば図３０の上から１４段目および１５段目に示されるように、処理対象サブブロックについて、コンテキスト符号化ビン数（context-coded bin数）の仮の上限値（remBinPass1Tmp）を設定する。例えば、図２７の場合、サブブロック１つ当たりのコンテキスト符号化ビン数は、図３の場合と同様に最大64binとなる。シーケンサ１０１は、この64binを上述の仮の上限値（remBinPass1Tmp）に設定する。つまり、この仮の上限値（remBinPass1Tmp）は、サブブロックのサイズに基づいて設定され得る。
【０１６８】
ステップＳ３４５において、シーケンサ１０１は、例えば図３０の上から１６段目および１７段目に示されるように、処理対象サブブロックについて、ステップＳ３４４において設定した仮の上限値（remBinPass1Tmp）と、直前に処理されたサブブロックにおける、次のサブブロックに割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1Next）とに基づいて、コンテキスト符号化ビン数の上限値（remBinPass1）を設定する。例えば、この処理対象サブブロックのコンテキスト符号化ビン数の上限値（remBinPass1）は、仮の上限値（remBinPass1Tmp）と次のサブブロックに割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1Next）との和により導出される。
【０１６９】
ステップＳ３４６において、シーケンサ１０１は、処理対象サブブロックについて、ステップＳ３４５において設定されたコンテキスト符号化ビン数の上限値（remBinPass1）を越えないように、シンタックスエレメント値を導出する。
【０１７０】
ステップＳ３４７において、シーケンサ１０１は、例えば図３１の上から２１段目および２２段目に示されるように、処理対象サブブロックの余剰コンテキスト符号化ビン数（シンタックスエレメント値導出後のremBinPass1）を、次のサブブロックに割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1Next）に設定する。
【０１７１】
ステップＳ３４８において、シーケンサ１０１は、全てのサブブロックを処理したか否かを判定する。処理対象ブロック内に未処理のサブブロックが存在すると判定された場合、処理はステップＳ３４２に戻り、それ以降の処理が繰り返される。つまり、ステップＳ３４２乃至ステップＳ３４８の各処理が処理対象ブロック内の各サブブロックについて実行される。そして、ステップＳ３４８において、処理対象ブロック内の全てのサブブロックを処理したと判定された場合、シンタックスエレメント値導出処理が終了し、処理は図６に戻る。
【０１７２】
以上のように各ステップの処理を実行することにより、シーケンサ１０１は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。例えば、処理対象サブブロックの余剰コンテキスト符号化bin数を、次以降に処理されるサブブロックのコンテキスト符号化bin数として使うことができる。したがって、符号化効率の低減を抑制することができる。
【０１７３】
なお、上述のようにコンテキスト符号化ビン数の管理をブロック（例えばTU）内で閉じることにより、処理量の増大を抑制することができる。
【０１７４】
＜係数データ導出処理の流れ＞
この場合も復号装置２００の構成は、第１の実施の形態の場合（図１３）と同様である。また、CABAC２０１の構成も第１の実施の形態の場合（図１４）と同様である。さらに、その復号装置２００により実行される復号処理の流れも、第１の実施の形態の場合（図１５）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１６）と同様である。
【０１７５】
この場合の係数データ導出処理の流れの例を、図３３のフローチャートを参照して説明する。この係数データ導出処理は、シンタックスエレメント値導出処理（図２８）と略同様の流れで実行される。つまり、係数データ導出処理の各ステップの処理（図３３のステップＳ３６１乃至ステップＳ３６８）は、シンタックスエレメント値導出処理（図２８のステップＳ３４１乃至ステップＳ３４８）の各処理と略同様に実行される。
【０１７６】
ただし、ステップＳ３６３において、パーサ２０２は、例えば図３０の上から３段目乃至１１段目に示されるように、処理対象サブブロックについて、サブブロック係数フラグ（coded_sub_block_flag）を復号する。ステップＳ３６３の処理が終了すると、処理はステップＳ３６４に進む。
【０１７７】
また、ステップＳ３６６において、パーサ２０２は、処理対象サブブロックについて、ステップＳ３６５において設定されたコンテキスト符号化ビン数の上限値（remBinPass1）を越えないように、シンタックスエレメント値をパースし、係数データを導出する。ステップＳ３６６の処理が終了すると、処理はステップＳ３６７に進む。
【０１７８】
以上のように各ステップの処理を実行することにより、パーサ２０２は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。例えば、処理対象サブブロックの余剰コンテキスト符号化bin数を、次以降に処理されるサブブロックのコンテキスト符号化bin数として使うことができる。したがって、符号化効率の低減を抑制することができる。
【０１７９】
なお、上述のようにコンテキスト符号化ビン数の管理をブロック（例えばTU）内で閉じることにより、処理量の増大を抑制することができる。
【０１８０】
＜５．第４の実施の形態＞
＜方法＃４＞
上述した各方法は、矛盾が生じない限り、任意に組み合わせることができる。例えば、図３４の表の一番上の段に示されるように、上述した方法＃１乃至方法＃３を組み合わせて用いてもよい。
【０１８１】
例えば、図３４に示される表の上から２段目に示されるように、サブブロック係数フラグ（coded_sub_block_flag）を既存のループの外に出し、独立させる。つまり、方法＃１や方法＃２のように、最初にTU内の全サブブロックについてのサブブロック係数フラグをパースする。
【０１８２】
そして、方法＃１や方法＃２のように、coded_sub_block_flag=0のサブブロック、すなわちゼロサブブロックをカウントする。
【０１８３】
そして、方法＃１のように、ゼロサブブロック数×サブブロック１つ分のコンテキスト符号化bin数を非ゼロサブブロックに回す（追加する）。また、方法＃２のように、各非ゼロサブブロックに割り当てられるコンテキスト符号化bin数を、シェアするようにする。さらに、方法＃３のように、処理対象サブブロックにおいて発生した余剰コンテキスト符号化ビン数をプールして次以降のサブブロックに使うようにする。
【０１８４】
また、方法＃１乃至方法＃３のように、コンテキスト符号化bin数の管理は、TU（所定単位）内で閉じる。つまり、ブロック毎に上述のようなコンテキスト符号化bin数の分配を行う。
【０１８５】
このようにすることにより、図３４に示される表の上から３段目に示されるように、上述した方法＃１乃至方法＃３の各方法における効果を得ることができる。したがって、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０１８６】
例えば、図３５のＡに示されるように、１サブブロック毎に30binの制約を設定する場合、サブブロック１１−２およびサブブロック１１−３がゼロサブブロックであっても、それらの余剰コンテキスト符号化bin数を、非ゼロサブブロックであるサブブロック１１−１やサブブロック１１−４において利用することができなかった。また、非ゼロサブブロック同士で余剰コンテキスト符号化ビン数をシェアすることもできなかった。さらに、非ゼロサブブロックであるサブブロック１１−１において20binしか発生しなかったときも、上限値までの10binを次以降に処理される他の非ゼロサブブロックであるサブブロック１１−４に回すことはできなかった。したがって、サブブロック１１−４においては30binの制約を受け、コンテキスト符号化bin数を上限値の30binより多くすることができなかった。
【０１８７】
これに対して、方法＃４の場合、図３５のＢに示されるように、ゼロサブブロックであるサブブロック１１−２およびサブブロック１１−３の余剰コンテキスト符号化bin数を、非ゼロサブブロックであるサブブロック１１−１やサブブロック１１−４に割り当てることができる。また、非ゼロサブブロックであるサブブロック１１−１とサブブロック１１−４とでコンテキスト符号化bin数をシェアすることができる。さらに、サブブロック１１−１の余剰コンテキスト符号化ビン数（図３５のＡの例の場合10bin）を、サブブロック１１−４に割り当てることができる。つまり、サブブロックにおいて30bin以上のシンタックスエレメント値を発生させることができる。したがって符号化効率の低減を抑制することができる。
【０１８８】
＜シンタックスエレメント値導出処理の流れ＞
この場合も符号化装置１００の構成は、第１の実施の形態の場合（図４）と同様である。また、CABAC１０２の構成も第１の実施の形態の場合（図５）と同様である。さらに、その符号化装置１００により実行される符号化処理の流れも、第１の実施の形態の場合（図６）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１２）と同様である。
【０１８９】
この場合のシンタックスエレメント値導出処理の流れの例を、図３６および図３７のフローチャートを参照して説明する。図３８乃至図４１は、residual codingのシンタックスの例を示す図である。必要に応じてこれらの図を用いて説明する。なお、図３８乃至図４１のシンタックスにおいて、閾値（TH1乃至TH4）は、それぞれ、例えば以下のような値を取り得る。
【０１９０】
TH1 = 6, TH2 = 28, TH3 = 2, TH4 = 4
【０１９１】
もちろん各閾値の値は任意であり、この例に限定されない。
【０１９２】
シンタックスエレメント値導出処理が開始されると、シーケンサ１０１は、図３６のステップＳ３８１において、例えば図３９の上から１段目乃至１０段目に示されるように、処理対象ブロック内のサブブロック係数フラグ（coded_sub_block_flag）を符号化する。
【０１９３】
ステップＳ３８２において、シーケンサ１０１は、例えば図３９の上から１２段目乃至１５段目に示されるように、そのサブブロック係数フラグの値に基づいて、非ゼロサブブロック数（numNonZeroSbk）をカウントする。つまり、シーケンサ１０１は、処理対象のブロックについて、coded_sub_block_flag=1のサブブロックの数をカウントする。
【０１９４】
ステップＳ３８３において、シーケンサ１０１は、例えば図３９の上から１７段目および１８段目に示されるように、サブブロック１つ当たりのコンテキスト符号化ビン数（context-coded bin数）の仮の上限値（remBinPass1Tmp）を設定する。方法＃１の場合と同様に、この仮の上限値（remBinPass1Tmp）は、サブブロックのサイズに基づいて設定され得る。
【０１９５】
ステップＳ３８４において、シーケンサ１０１は、例えば図３９の上から１９段目および２０段目に示されるように、ゼロサブブロック数（numZeroSBk）に基づいて、ゼロサブブロック全体の余剰コンテキスト符号化ビン数（remBinPass1InZeroSbk）を設定する。方法＃１の場合と同様に、ゼロサブブロック数（numZeroSBk）は、ステップＳ３８２においてカウントされた非ゼロサブブロック数（numNonZeroSbk）から求めることができ、ゼロサブブロック全体の余剰コンテキスト符号化ビン数（remBinPass1InZeroSbk）は、ゼロサブブロック数（numZeroSBk）と仮の上限値（remBinPass1Tmp）との積により導出される。
【０１９６】
ステップＳ３８５において、シーケンサ１０１は、例えば図３９の上から２１段目および２２段目に示されるように、非ゼロサブブロック１つ当たりに追加で割り当て可能な平均余剰コンテキスト符号化ビン数（remBinPass1Extra）を設定する。この平均余剰コンテキスト符号化ビン数（remBinPass1Extra）は、ステップＳ３８４において導出されたゼロサブブロック全体の余剰コンテキスト符号化ビン数（remBinPass1InZeroSbk）をゼロサブブロック数（numZeroSBk）で除算することにより、導出することができる。なお、除算を回避するためにルックアップテーブルを用いて平均余剰コンテキスト符号化ビン数（remBinPass1Extra）を導出するようにしてもよい。
【０１９７】
ステップＳ３８６において、シーケンサ１０１は、例えば図３９の上から２４段目および２５段目に示されるように、次のサブブロックに割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1Next）を初期化する（例えばremBinPass1Next = 0）。つまり、初期値においては、余剰コンテキスト符号化ビン数が０であり、次のサブブロックにビン数を追加することができないことが示される。
【０１９８】
ステップＳ３８６の処理が終了すると、処理は図３７に進む。
【０１９９】
次にサブブロック毎の処理に移る。すなわち、シンタックスにおけるサブブロック毎のfor文のループ内の処理に移る。ステップＳ３９１において、シーケンサ１０１は、処理対象ブロック内のサブブロックの中から処理対象サブブロック（subSetId=i）を選択する。
【０２００】
ステップＳ３９２において、シーケンサ１０１は、例えば図４０の上から５段目および６段目に示されるように、処理対象サブブロックについて、コンテキスト符号化ビン数の上限値（remBinPass1）を、仮の上限値（remBinPass1Tmp）と、ゼロサブブロックから追加で割り当て可能な平均余剰コンテキスト符号化ビン数（remBinPass1Extra）と、１つ前のサブブロックの余剰コンテキスト符号化ビン数とに基づいて設定する。図４０の例の場合、コンテキスト符号化ビン数の上限値（remBinPass1）は、仮の上限値（remBinPass1Tmp）と、ゼロサブブロックから追加で割り当て可能な平均余剰コンテキスト符号化ビン数（remBinPass1Extra）と、次のサブブロックに割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1Next）との和により導出される。
【０２０１】
ステップＳ３９３において、シーケンサ１０１は、処理対象サブブロックについて、コンテキスト符号化ビン数の上限値（remBinPass1）を越えないように、シンタックスエレメント値を導出する。
【０２０２】
ステップＳ３９４において、シーケンサ１０１は、例えば図４０の上から４０段目および４１段目に示されるように、処理対象サブブロックの余剰コンテキスト符号化ビン数（シンタックスエレメント値導出後のremBinPass1）を、次のサブブロックに割り当て可能な余剰コンテキスト符号化ビン数（remBinPass1Next）に設定する。
【０２０３】
ステップＳ３９５において、シーケンサ１０１は、全てのサブブロックを処理したか否かを判定する。処理対象ブロック内に未処理のサブブロックが存在すると判定された場合、処理はステップＳ３９１に戻り、それ以降の処理が繰り返される。つまり、ステップＳ３９１乃至ステップＳ３９５の各処理が処理対象ブロック内の各サブブロックについて実行される。そして、ステップＳ３９５において、処理対象ブロック内の全てのサブブロックを処理したと判定された場合、シンタックスエレメント値導出処理が終了し、処理は図６に戻る。
【０２０４】
以上のように各ステップの処理を実行することにより、シーケンサ１０１は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。つまり、上述した方法＃１乃至方法＃３の各方法における効果を得ることができる。したがって、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０２０５】
＜係数データ導出処理の流れ＞
この場合も復号装置２００の構成は、第１の実施の形態の場合（図１３）と同様である。また、CABAC２０１の構成も第１の実施の形態の場合（図１４）と同様である。さらに、その復号装置２００により実行される復号処理の流れも、第１の実施の形態の場合（図１５）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１６）と同様である。
【０２０６】
この場合の係数データ導出処理の流れの例を、図４２および図４３のフローチャートを参照して説明する。この係数データ導出処理は、シンタックスエレメント値導出処理（図３６および図３７）と略同様の流れで実行される。つまり、係数データ導出処理の各ステップの処理（図４２のステップＳ４１１乃至ステップＳ４１６、並びに、図４３のステップＳ４２１乃至ステップＳ４２５）は、シンタックスエレメント値導出処理（図３６のステップＳ３８１乃至ステップＳ３８６、並びに、図３７のステップＳ３９１乃至ステップＳ３９５）の各処理と略同様に実行される。
【０２０７】
ただし、図４２のステップＳ４１１において、パーサ２０２は、例えば図３９の上から１段目乃至１０段目に示されるように、処理対象サブブロックについて、サブブロック係数フラグ（coded_sub_block_flag）を復号する。ステップＳ４１１の処理が終了すると、処理はステップＳ４１２に進む。
【０２０８】
また、図４３のステップＳ４２３において、パーサ２０２は、処理対象サブブロックについて、ステップＳ４２２において設定されたコンテキスト符号化ビン数の上限値（remBinPass1）を越えないように、シンタックスエレメント値をパースし、係数データを導出する。ステップＳ４２３の処理が終了すると、処理はステップＳ４２４に進む。
【０２０９】
以上のように各ステップの処理を実行することにより、パーサ２０２は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。つまり、上述した方法＃１乃至方法＃３の各方法における効果を得ることができる。したがって、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０２１０】
＜６．第５の実施の形態＞
＜方法＃５＞
また例えば、図４４の表の一番上の段に示されるように方法＃１の応用として、余剰コンテキスト符号化bin数を割り当てる優先度を、サブブロックの位置に応じて設定するようにしてもよい。
【０２１１】
例えば、図４４に示される表の上から２段目に示されるように、低域のサブブロックの場合、より多くの余剰コンテキスト符号化ビン数を割り当て、高域のサブブロックの場合、より少ない余剰コンテキスト符号化ビン数を割り当てるようにしてもよい。また、逆に、高域のサブブロックの場合、より多くの余剰コンテキスト符号化ビン数を割り当て、低域のサブブロックの場合、より少ない余剰コンテキスト符号化ビン数を割り当てるようにしてもよい。
【０２１２】
このようにすることにより、図４４に示される表の上から３段目に示されるように、余剰コンテキスト符号化bin数を、その他のサブブロックのコンテキスト符号化bin数として使えるため、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０２１３】
例えば、図４５のＡの場合、低域のサブブロックであるサブブロック１１−１に対して、高域のサブブロックであるサブブロック１１−４よりも多くの余剰コンテキスト符号化ビン数が割り当てられている。一般的に、画像データが直交変換された係数データは、高域よりも低域に集まる。したがって、このような場合に、図４５のＡの例のように低域のサブブロックに対して余剰コンテキスト符号化ビン数を多く割り当てることにより、より符号化効率の低減を抑制することができる。
【０２１４】
また、例えば、図４５のＢの場合、高域のサブブロックであるサブブロック１１−４に対して、低域のサブブロックであるサブブロック１１−１よりも多くの余剰コンテキスト符号化ビン数が割り当てられている。例えばロスレス符号化のように、直交変換がスキップされる場合、高域の係数データは、一般的に、直交変換が行われる場合よりも多くなりやすい。また、例えばエッジ成分が多い画像の場合、高域の係数データが多くなりやすい。このような場合に、図４５のＢの例のように高域のサブブロックに対して余剰コンテキスト符号化ビン数を多く割り当てることにより、より符号化効率の低減を抑制することができる。
【０２１５】
この場合も符号化装置１００の構成は、第１の実施の形態の場合（図４）と同様である。また、CABAC１０２の構成も第１の実施の形態の場合（図５）と同様である。さらに、その符号化装置１００により実行される符号化処理の流れも、第１の実施の形態の場合（図６）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１２）と同様である。
【０２１６】
さらに、シンタックスエレメント値導出処理も、基本的に第１の実施の形態の場合（図７）と同様である。ステップＳ１２７において、処理対象サブブロックに対してコンテキスト符号化ビン数の上限値を設定する際に、上述のように、処理対象サブブロックの位置を考慮して設定すればよい。
【０２１７】
また、この場合も復号装置２００の構成は、第１の実施の形態の場合（図１３）と同様である。また、CABAC２０１の構成も第１の実施の形態の場合（図１４）と同様である。さらに、その復号装置２００により実行される復号処理の流れも、第１の実施の形態の場合（図１５）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１６）と同様である。
【０２１８】
さらに、係数データ導出処理も、基本的に第１の実施の形態の場合（図１７）と同様である。ステップＳ２５７において、処理対象サブブロックに対してコンテキスト符号化ビン数の上限値を設定する際に、上述のように、処理対象サブブロックの位置を考慮して設定すればよい。
【０２１９】
＜７．第６の実施の形態＞
＜方法＃６＞
また例えば、図４６の表の一番上の段に示されるように、コンテキスト符号化ビン数を管理する単位をTUより大きいサイズに拡張するようにしてもよい。
【０２２０】
例えば、図４６に示される表の上から２段目に示されるように、例えば、CU、VPDU、またはCTU毎に、余剰コンテキスト符号化ビン数を管理するようにしてもよい。つまり、CU、VPDU、またはCTU内の非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定してもよい。
【０２２１】
このようにすることにより、より広い範囲で余剰コンテキスト符号化ビン数をシェアすることができる。つまり、図４６に示される表の上から３段目に示されるように、より自由度の高いコンテキスト符号化ビン数の割り当てを行うことができる。したがって、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０２２２】
例えば、図４７のＡに示されるように、CU４００が、4x4のサブブロック４０１（サブブロック４０１−１乃至サブブロック４０１−１６）からなるとする。また、各サブブロックが、図中矢印のようにモートンコード順に処理されるものとする。
【０２２３】
図４７のＢのように１サブブロック毎に30binの制約が存在する場合、ゼロサブブロックが存在しても、その余剰コンテキスト符号化ビン数を次以降のサブブロックにおいて利用することができなかった。そのため、全サブブロックにおいて、コンテキスト符号化ビン数が30bin以下に制限されていた。
【０２２４】
そこで、方法＃６を適用し、CU４００内で余剰コンテキスト符号化ビン数をシェアするようにする。この場合、図４７のＣに示されるように、処理対象サブブロックにおいて発生した余剰コンテキスト符号化ビン数を次以降に処理されるサブブロックに割り当てることができる。したがって、サブブロック４０１において30bin以上のシンタックスエレメント値を発生させることができる。したがって符号化効率の低減を抑制することができる。特に方法＃６の場合、余剰コンテキスト符号化ビン数をシェアする範囲が、TUよりも広いので、より自由度の高いコンテキスト符号化ビン数の割り当てを行うことができる。
【０２２５】
この場合も符号化装置１００の構成は、第１の実施の形態の場合（図４）と同様である。また、CABAC１０２の構成も第１の実施の形態の場合（図５）と同様である。さらに、その符号化装置１００により実行される符号化処理の流れも、第１の実施の形態の場合（図６）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１２）と同様である。
【０２２６】
さらに、シンタックスエレメント値導出処理も、基本的に第１の実施の形態の場合（図７）と同様である。処理対象ブロックをTUよりも大きなデータ単位（例えばCU、VPDU、またはCTU等）にすればよい。
【０２２７】
また、この場合も復号装置２００の構成は、第１の実施の形態の場合（図１３）と同様である。また、CABAC２０１の構成も第１の実施の形態の場合（図１４）と同様である。さらに、その復号装置２００により実行される復号処理の流れも、第１の実施の形態の場合（図１５）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１６）と同様である。
【０２２８】
さらに、係数データ導出処理も、基本的に第１の実施の形態の場合（図１７）と同様である。処理対象ブロックをTUよりも大きなデータ単位（例えばCU、VPDU、またはCTU等）にすればよい。
【０２２９】
＜８．第７の実施の形態＞
＜方法＃７＞
また例えば、図４８の表の一番上の段に示されるように、シンタックス構造でのコンテキスト符号化ビン数の最大値の上限を省略する（設定しない）ようにしてもよい。
【０２３０】
例えば、図４８に示される表の上から２段目に示されるように、ビン数の発生量にはLevel制約や条件式等により制限をかけるようにしてもよい。また、サブブロック単位ではなく、サブブロックよりも大きなデータ単位（例えば、TU単位、CU単位、VPDU単位、CTU単位、スライス単位、またはピクチャ単位等）で発生量の制限をかけるようにしてもよい。
【０２３１】
このようにすることにより、図４８に示される表の上から３段目に示されるように、局所的な係数データの発生時に、多くの係数をflagで表現することができる。したがって、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０２３２】
例えば、図４９のＡに示されるように、１サブブロック毎に28binの制約を設定する場合、余剰コンテキスト符号化ビン数が発生しても、それを他のサブブロックにおいて利用することができなかった。したがって、例えば、サブブロック１１ー４においても、コンテキスト符号化bin数を上限値の28binより多くすることができなかった。
【０２３３】
これに対して、方法＃７の場合、図４９のＢに示されるように、例えばCU単位でコンテキスト符号化ビン数をシェアすることができる。したがって、サブブロックに対して28bin以上のコンテキスト符号化ビン数を割り当てることもできる。したがって符号化効率の低減を抑制することができる。
【０２３４】
＜シンタックスエレメント値導出処理の流れ＞
この場合も符号化装置１００の構成は、第１の実施の形態の場合（図４）と同様である。また、CABAC１０２の構成も第１の実施の形態の場合（図５）と同様である。さらに、その符号化装置１００により実行される符号化処理の流れも、第１の実施の形態の場合（図６）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１２）と同様である。
【０２３５】
この場合のシンタックスエレメント値導出処理の流れの例を、図５０のフローチャートを参照して説明する。なお、ここでは、CU単位でコンテキスト符号化ビン数をシェアする場合を例に説明する。また、図５１乃至図５３は、residual codingのシンタックスの例を示す図である。必要に応じてこれらの図を用いて説明する。
【０２３６】
シンタックスエレメント値導出処理が開始されると、シーケンサ１０１は、ステップＳ４４１において、例えば図５１の上から２１段目に示されるように、１係数当たりの割り当て可能なコンテキスト符号化ビン数（「*7)>>2」）と、CUサイズ（log2TbWidth, log2TbHeight）とに基づいて、CU全体で割り当て可能なコンテキスト符号化ビン数の上限値（remBinsPass1）を設定する。
【０２３７】
次にサブブロック毎の処理に移る。ステップＳ４４２において、シーケンサ１０１は、処理対象CU内のサブブロックの中から処理対象サブブロックを選択する。
【０２３８】
ステップＳ４４３において、シーケンサ１０１は、ステップＳ４４１において設定したCU全体で割り当て可能なコンテキスト符号化ビン数の上限値（remBinsPass1）を越えないように、処理対象サブブロックについて、シンタックスエレメント値を導出する。
【０２３９】
ステップＳ４４４において、シーケンサ１０１は、全てのサブブロックを処理したか否かを判定する。処理対象CU内に未処理のサブブロックが存在すると判定された場合、処理はステップＳ４４２に戻り、それ以降の処理が繰り返される。つまり、ステップＳ４４２乃至ステップＳ４４４の各処理が処理対象CU内の各サブブロックについて実行される。そして、ステップＳ４４４において、処理対象CU内の全てのサブブロックを処理したと判定された場合、シンタックスエレメント値導出処理が終了し、処理は図６に戻る。
【０２４０】
以上のように各ステップの処理を実行することにより、シーケンサ１０１は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。例えばCU単位でコンテキスト符号化ビン数をシェアすることができる。したがって、符号化効率の低減を抑制することができる。
【０２４１】
なお、上述のようにコンテキスト符号化ビン数の管理をブロック（例えばCU）内で閉じることにより、処理量の増大を抑制することができる。
【０２４２】
＜係数データ導出処理の流れ＞
この場合も復号装置２００の構成は、第１の実施の形態の場合（図１３）と同様である。また、CABAC２０１の構成も第１の実施の形態の場合（図１４）と同様である。さらに、その復号装置２００により実行される復号処理の流れも、第１の実施の形態の場合（図１５）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１６）と同様である。
【０２４３】
この場合の係数データ導出処理の流れの例を、図５４のフローチャートを参照して説明する。この係数データ導出処理は、シンタックスエレメント値導出処理（図５０）と略同様の流れで実行される。つまり、係数データ導出処理の各ステップの処理（図５４のステップＳ４６１乃至ステップＳ４６４）は、シンタックスエレメント値導出処理（図５０のステップＳ４４１乃至ステップＳ４４４）の各処理と略同様に実行される。
【０２４４】
ただし、ステップＳ４６３において、パーサ２０２は、ステップＳ４６１において設定したCU全体で割り当て可能なコンテキスト符号化ビン数の上限値（remBinsPass1）を越えないように、処理対象サブブロックについて、シンタックスエレメント値をパースし、係数データを導出する。ステップＳ４６３の処理が終了すると、処理はステップＳ４６４に進む。
【０２４５】
以上のように各ステップの処理を実行することにより、パーサ２０２は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。例えばCU単位でコンテキスト符号化ビン数をシェアすることができる。したがって、符号化効率の低減を抑制することができる。
【０２４６】
なお、上述のようにコンテキスト符号化ビン数の管理をブロック（例えばCU）内で閉じることにより、処理量の増大を抑制することができる。
【０２４７】
＜９．第８の実施の形態＞
＜方法＃８＞
また例えば、図５５の表の一番上の段に示されるように、シンタックス構造でのコンテキスト符号化ビン数の最大値の上限を省略する（設定しない）ようにしてもよい。
【０２４８】
その際、例えば、図５５に示される表の上から２段目に示されるように、ゼロサブブロックの次の非ゼロサブブロックにおいて、発生可能なビン数の最大値を上限値としてもよい。また、ゼロサブブロックが連続する場合は、同数の非ゼロサブブロックにおいて、発生可能なビン数の最大値を上限値としてもよい。つまり、ゼロサブブロックと同数の非ゼロサブブロックにおいて、発生可能なビン数の最大値を上限値としてもよい。
【０２４９】
このようにすることにより、図５５に示される表の上から３段目に示されるように、局所的な係数データの発生時に、多くの係数をflagで表現することができる。したがって、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０２５０】
例えば、図５６のＡの場合、１サブブロック毎に28binの制約がある。サブブロック１１−１およびサブブロック１１−３はゼロサブブロックであり、余剰コンテキスト符号化ビン数（28bin）が発生する。しかしながら、この場合、その余剰コンテキスト符号化ビン数を他のサブブロックにおいて利用することができなかった。つまり、非ゼロサブブロックであるサブブロック１１−２やサブブロック１１−４においては、上限値の28binより多くのビン数を割り当てることができなかった。
【０２５１】
これに対して、方法＃８の場合、ゼロサブブロックの次の非ゼロサブブロックにおいて、発生可能なビン数の最大値を上限値とすることができる。例えば、図５６のＢに示されるように、サブブロック１１−１がゼロサブブロックであるので、次に処理される非ゼロサブブロックであるサブブロック１１−２には、１つのサブブロックにおいて発生するビン数の最大値（48bin）を上限値として割り当てることができる。同様に、サブブロック１１−３がゼロサブブロックであるので、次に処理される非ゼロサブブロックであるサブブロック１１−４には、１つのサブブロックにおいて発生するビン数の最大値（48bin）を上限値として割り当てることができる。
【０２５２】
また、１サブブロック毎に28binの制約がある場合、図５６のＣのように、サブブロック１１−１およびサブブロック１１−２がゼロサブブロックである場合も、それらのサブブロック１１において発生する余剰コンテキスト符号化ビン数を、非ゼロサブブロックであるサブブロック１１−３やサブブロック１１−４において利用することができなかった。
【０２５３】
これに対して、方法＃８の場合、このようなサブブロックの並びのときは、図５６のＤに示されるように、サブブロック１１−１およびサブブロック１１−２が連続してゼロサブブロックであるので、次以降に処理される２つの非ゼロサブブロックにおいて、１つのサブブロックにおいて発生するビン数の最大値を上限値として割り当てることができる。つまり、サブブロック１１−３およびサブブロック１１−４において、１つのサブブロックにおいて発生するビン数の最大値（48bin）を上限値として割り当てることができる。
【０２５４】
＜シンタックスエレメント値導出処理の流れ＞
この場合も符号化装置１００の構成は、第１の実施の形態の場合（図４）と同様である。また、CABAC１０２の構成も第１の実施の形態の場合（図５）と同様である。さらに、その符号化装置１００により実行される符号化処理の流れも、第１の実施の形態の場合（図６）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１２）と同様である。
【０２５５】
この場合のシンタックスエレメント値導出処理の流れの例を、図５７のフローチャートを参照して説明する。
【０２５６】
シンタックスエレメント値導出処理が開始されると、シーケンサ１０１は、ステップＳ４８１において、ゼロサブブロックのカウント値を初期化する。例えば、シーケンサ１０１は、ゼロサブブロックのカウント値を「０」に設定する。
【０２５７】
次にサブブロック毎の処理に移る。ステップＳ４８２において、シーケンサ１０１は、処理対象サブブロックを選択する。
【０２５８】
ステップＳ４８３において、シーケンサ１０１は、処理対象サブブロックについて、サブブロック係数フラグ（coded_sub_block_flag）を符号化する。
【０２５９】
ステップＳ４８４において、シーケンサ１０１は、そのサブブロック係数フラグの値に基づいて、処理対象サブブロックが非ゼロブロックか否かを判定する。coded_sub_block_flag=1であり、非ゼロサブブロックであると判定された場合、処理はステップＳ４８５に進む。
【０２６０】
ステップＳ４８５において、シーケンサ１０１は、ゼロサブブロックのカウント値が「０」であるか否かを判定する。カウント値が「０」であると判定された場合、処理はステップＳ４８６に進む。この場合、処理対象サブブロックについてビン数の制約が適用される。
【０２６１】
したがって、ステップＳ４８６において、シーケンサ１０１は、処理対象サブブロックについて、コンテキスト符号化ビン数の上限値（remBinPass1）を設定する。つまり、処理対象サブブロックについてビン数の制約に基づいて、コンテキスト符号化ビン数の上限値（remBinPass1）が設定される。
【０２６２】
ステップＳ４８７において、シーケンサ１０１は、処理対象サブブロックについて、ステップＳ４８６において設定されたコンテキスト符号化ビン数の上限値（remBinPass1）を越えないように、シンタックスエレメント値を導出する。ステップＳ４８７の処理が終了すると、処理はステップＳ４９１に進む。
【０２６３】
また、ステップＳ４８５において、ゼロサブブロックのカウント値が「１」以上であると判定された場合、処理はステップＳ４８８に進む。
【０２６４】
ステップＳ４８８において、シーケンサ１０１は、処理対象サブブロックについて、シンタックスエレメント値を導出する。この場合、ゼロサブブロックからの余剰コンテキスト符号化ビン数の追加が可能であり、処理対象サブブロックについてビン数の制約が適用されない。つまり、コンテキスト符号化ビン数の上限値（remBinPass1）は設定されずに、シンタックスエレメント値が導出される。
【０２６５】
ステップＳ４８９において、シーケンサ１０１は、ゼロサブブロックのカウント値をデクリメントする（例えばカウント値から「１」を減算する）。ステップＳ４８９の処理が終了すると、処理はステップＳ４９１に進む。
【０２６６】
また、ステップＳ４８４において、処理対象ブロックがゼロサブブロックであると判定された場合、処理はステップＳ４９０に進む。この場合、シンタックスエレメント値の導出は省略される。ステップＳ４９０において、シーケンサ１０１は、ゼロサブブロックのカウント値をインクリメントする（例えばカウント値に「１」を加算する）。ステップＳ４９０の処理が終了すると、処理はステップＳ４９１に進む。
【０２６７】
ステップＳ４９１において、シーケンサ１０１は、全てのサブブロックを処理したか否かを判定する。処理対象ブロック内に未処理のサブブロックが存在すると判定された場合、処理はステップＳ４８２に戻り、それ以降の処理が繰り返される。つまり、ステップＳ４８２乃至ステップＳ４９１の各処理が処理対象ブロック内の各サブブロックについて実行される。そして、ステップＳ４９１において、処理対象ブロック内の全てのサブブロックを処理したと判定された場合、シンタックスエレメント値導出処理が終了し、処理は図６に戻る。
【０２６８】
以上のように、ゼロサブブロックのカウント値を用いることにより、ゼロサブブロックと同数の非ゼロサブブロックについて、コンテキスト符号化ビン数の上限値（remBinPass1）の設定を省略することができる。つまり、以上のように各ステップの処理を実行することにより、シーケンサ１０１は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。したがって、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０２６９】
＜係数データ導出処理の流れ＞
この場合も復号装置２００の構成は、第１の実施の形態の場合（図１３）と同様である。また、CABAC２０１の構成も第１の実施の形態の場合（図１４）と同様である。さらに、その復号装置２００により実行される復号処理の流れも、第１の実施の形態の場合（図１５）と同様である。また、CABAC処理の流れも、第１の実施の形態の場合（図１６）と同様である。
【０２７０】
この場合の係数データ導出処理の流れの例を、図５８のフローチャートを参照して説明する。この係数データ導出処理は、シンタックスエレメント値導出処理（図５７）と略同様の流れで実行される。つまり、係数データ導出処理の各ステップの処理（図５８のステップＳ５２１乃至ステップＳ５３１）は、シンタックスエレメント値導出処理（図５７のステップＳ４８１乃至ステップＳ４９１）の各処理と略同様に実行される。
【０２７１】
ただし、図５８のステップＳ５２３において、パーサ２０２は、処理対象サブブロックについて、サブブロック係数フラグ（coded_sub_block_flag）を復号する。ステップＳ５２３の処理が終了すると、処理はステップＳ５２４に進む。
【０２７２】
また、図５８のステップＳ５２７において、パーサ２０２は、処理対象サブブロックについて、ステップＳ５２６において設定されたコンテキスト符号化ビン数の上限値（remBinPass1）を越えないように、シンタックスエレメント値をパースし、係数データを導出する。ステップＳ５２７の処理が終了すると、処理はステップＳ５３１に進む。
【０２７３】
さらに、図５８のステップＳ５２８において、パーサ２０２は、処理対象サブブロックについて、シンタックスエレメント値をパースし、係数データを導出する。ステップＳ５２８の処理が終了すると、処理はステップＳ５２９に進む。
【０２７４】
以上のように、ゼロサブブロックのカウント値を用いることにより、ゼロサブブロックと同数の非ゼロサブブロックについて、コンテキスト符号化ビン数の上限値（remBinPass1）の設定を省略することができる。つまり、以上のように各ステップの処理を実行することにより、パーサ２０２は、各サブブロックのコンテキスト符号化bin数の制約を可変とすることができる。したがって、符号化効率の低減を抑制することができる。換言するに、復号画像の画質の低減を抑制することができる。
【０２７５】
＜１０．第９の実施の形態＞
＜画像符号化装置＞
以上においては、符号化装置１００や復号装置２００に本技術を適用する例について説明したが、本技術は、これらに限らず、任意の装置、デバイス、システム等に適用することができる。例えば、画像データを符号化する画像符号化装置に、本技術を適用することができる。
【０２７６】
図５９は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図５９に示される画像符号化装置６００は、動画像の画像データを符号化する装置である。例えば、画像符号化装置６００は、非特許文献１乃至非特許文献１２のいずれかに記載の符号化方式で動画像の画像データを符号化する。
【０２７７】
なお、図５９においては、処理部（ブロック）やデータの流れ等の主なものを示しており、図５９に示されるものが全てとは限らない。つまり、画像符号化装置６００において、図５９においてブロックとして示されていない処理部が存在したり、図５９において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【０２７８】
図５９に示されるように画像符号化装置６００は、制御部６０１、並べ替えバッファ６１１、演算部６１２、直交変換部６１３、量子化部６１４、符号化部６１５、蓄積バッファ６１６、逆量子化部６１７、逆直交変換部６１８、演算部６１９、インループフィルタ部６２０、フレームメモリ６２１、予測部６２２、およびレート制御部６２３を有する。
【０２７９】
＜制御部＞
制御部６０１は、外部、または予め指定された処理単位のブロックサイズに基づいて、並べ替えバッファ６１１により保持されている動画像データを処理単位のブロック（CU, PU, 変換ブロックなど）へ分割する。また、制御部６０１は、各ブロックへ供給する符号化パラメータ（ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfo等）を、例えば、RDO(Rate-Distortion Optimization)に基づいて、決定する。
【０２８０】
これらの符号化パラメータの詳細については後述する。制御部６０１は、以上のような符号化パラメータを決定すると、それを各ブロックへ供給する。具体的には、以下の通りである。
【０２８１】
ヘッダ情報Hinfoは、各ブロックに供給される。
予測モード情報Pinfoは、符号化部６１５と予測部６２２とに供給される。
変換情報Tinfoは、符号化部６１５、直交変換部６１３、量子化部６１４、逆量子化部６１７、および逆直交変換部６１８に供給される。
フィルタ情報Finfoは、インループフィルタ部６２０に供給される。
【０２８２】
＜並べ替えバッファ＞
画像符号化装置６００には、動画像データの各フィールド（入力画像）がその再生順（表示順）に入力される。並べ替えバッファ６１１は、各入力画像をその再生順（表示順）に取得し、保持（記憶）する。並べ替えバッファ６１１は、制御部６０１の制御に基づいて、その入力画像を符号化順（復号順）に並べ替えたり、処理単位のブロックに分割したりする。並べ替えバッファ６１１は、処理後の各入力画像を演算部６１２に供給する。また、並べ替えバッファ６１１は、その各入力画像（元画像）を、予測部６２２やインループフィルタ部６２０にも供給する。
【０２８３】
＜演算部＞
演算部６１２は、処理単位のブロックに対応する画像I、および予測部６２２より供給される予測画像Pを入力とし、画像Iから予測画像Pを以下の式に示されるように減算して、予測残差Dを導出し、それを直交変換部６１３に供給する。
【０２８４】
D = I - P
【０２８５】
＜直交変換部＞
直交変換部６１３は、演算部６１２から供給される予測残差Dと、制御部６０１から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、予測残差Dに対して直交変換を行い、変換係数Coeffを導出する。なお、直交変換部６１３は、直交変換のタイプ（変換係数）を適応的に選択する適応直交変換（AMT）を行うことができる。直交変換部６１３は、その得られた変換係数Coeffを量子化部６１４に供給する。
【０２８６】
＜量子化部＞
量子化部６１４は、直交変換部６１３から供給される変換係数Coeffと、制御部６０１から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、変換係数Coeffをスケーリング（量子化）する。なお、この量子化のレートは、レート制御部６２３により制御される。量子化部６１４は、このような量子化により得られた量子化後の変換係数、すなわち量子化変換係数レベルlevelを、符号化部６１５および逆量子化部６１７に供給する。
【０２８７】
＜符号化部＞
符号化部６１５は、量子化部６１４から供給された量子化変換係数レベルlevelと、制御部６０１から供給される各種符号化パラメータ（ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど）と、インループフィルタ部６２０から供給されるフィルタ係数等のフィルタに関する情報と、予測部６２２から供給される最適な予測モードに関する情報とを入力とする。符号化部６１５は、量子化変換係数レベルlevelを可変長符号化（例えば、算術符号化）し、ビット列（符号化データ）を生成する。
【０２８８】
また、符号化部６１５は、その量子化変換係数レベルlevelから残差情報Rinfoを導出し、残差情報Rinfoを符号化し、ビット列を生成する。
【０２８９】
さらに、符号化部６１５は、インループフィルタ部６２０から供給されるフィルタに関する情報をフィルタ情報Finfoに含め、予測部６２２から供給される最適な予測モードに関する情報を予測モード情報Pinfoに含める。そして、符号化部６１５は、上述した各種符号化パラメータ（ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど）を符号化し、ビット列を生成する。
【０２９０】
また、符号化部６１５は、以上のように生成された各種情報のビット列を多重化し、符号化データを生成する。符号化部６１５は、その符号化データを蓄積バッファ６１６に供給する。
【０２９１】
＜蓄積バッファ＞
蓄積バッファ６１６は、符号化部６１５において得られた符号化データを、一時的に保持する。蓄積バッファ６１６は、所定のタイミングにおいて、保持している符号化データを、例えばビットストリーム等として画像符号化装置６００の外部に出力する。例えば、この符号化データは、任意の記録媒体、任意の伝送媒体、任意の情報処理装置等を介して復号側に伝送される。すなわち、蓄積バッファ６１６は、符号化データ（ビットストリーム）を伝送する伝送部でもある。
【０２９２】
＜逆量子化部＞
逆量子化部６１７は、逆量子化に関する処理を行う。例えば、逆量子化部６１７は、量子化部６１４から供給される量子化変換係数レベルlevelと、制御部６０１から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、量子化変換係数レベルlevelの値をスケーリング（逆量子化）する。なお、この逆量子化は、量子化部６１４において行われる量子化の逆処理である。逆量子化部６１７は、このような逆量子化により得られた変換係数Coeff_IQを、逆直交変換部６１８に供給する。
【０２９３】
＜逆直交変換部＞
逆直交変換部６１８は、逆直交変換に関する処理を行う。例えば、逆直交変換部６１８は、逆量子化部６１７から供給される変換係数Coeff_IQと、制御部６０１から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、変換係数Coeff_IQに対して逆直交変換を行い、予測残差D'を導出する。なお、この逆直交変換は、直交変換部６１３において行われる直交変換の逆処理である。つまり、逆直交変換部６１８は、逆直交変換のタイプ（変換係数）を適応的に選択する適応逆直交変換（AMT）を行うことができる。
【０２９４】
逆直交変換部６１８は、このような逆直交変換により得られた予測残差D'を演算部６１９に供給する。なお、逆直交変換部６１８は、復号側の逆直交変換部（後述する）と同様であるので、逆直交変換部６１８については、復号側について行う説明（後述する）を適用することができる。
【０２９５】
＜演算部＞
演算部６１９は、逆直交変換部６１８から供給される予測残差D'と、予測部６２２から供給される予測画像Pとを入力とする。演算部６１９は、その予測残差D'と、その予測残差D'に対応する予測画像Pとを加算し、局所復号画像Rlocalを導出する。演算部６１９は、導出した局所復号画像Rlocalをインループフィルタ部６２０およびフレームメモリ６２１に供給する。
【０２９６】
＜インループフィルタ部＞
インループフィルタ部６２０は、インループフィルタ処理に関する処理を行う。例えば、インループフィルタ部６２０は、演算部６１９から供給される局所復号画像Rlocalと、制御部６０１から供給されるフィルタ情報Finfoと、並べ替えバッファ６１１から供給される入力画像（元画像）とを入力とする。なお、インループフィルタ部６２０に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。例えば、必要に応じて、予測モード、動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ、ブロック（CU、CTU等）の情報等がインループフィルタ部６２０に入力されるようにしてもよい。
【０２９７】
インループフィルタ部６２０は、そのフィルタ情報Finfoに基づいて、局所復号画像Rlocalに対して適宜フィルタ処理を行う。インループフィルタ部６２０は、必要に応じて入力画像（元画像）や、その他の入力情報もそのフィルタ処理に用いる。
【０２９８】
例えば、インループフィルタ部６２０は、非特許文献１１に記載のように、バイラテラルフィルタ、デブロッキングフィルタ（DBF（DeBlocking Filter））、適応オフセットフィルタ（SAO（Sample Adaptive Offset））、および適応ループフィルタ（ALF(Adaptive Loop Filter)）の４つのインループフィルタをこの順に適用する。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。
【０２９９】
もちろん、インループフィルタ部６２０が行うフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部６２０がウィーナーフィルタ等を適用するようにしてもよい。
【０３００】
インループフィルタ部６２０は、フィルタ処理された局所復号画像Rlocalをフレームメモリ６２１に供給する。なお、例えばフィルタ係数等のフィルタに関する情報を復号側に伝送する場合、インループフィルタ部６２０は、そのフィルタに関する情報を符号化部６１５に供給する。
【０３０１】
＜フレームメモリ＞
フレームメモリ６２１は、画像に関するデータの記憶に関する処理を行う。例えば、フレームメモリ６２１は、演算部６１９から供給される局所復号画像Rlocalや、インループフィルタ部６２０から供給されるフィルタ処理された局所復号画像Rlocalを入力とし、それを保持（記憶）する。また、フレームメモリ６２１は、その局所復号画像Rlocalを用いてピクチャ単位毎の復号画像Rを再構築し、保持する（フレームメモリ６２１内のバッファへ格納する）。フレームメモリ６２１は、予測部６２２の要求に応じて、その復号画像R（またはその一部）を予測部６２２に供給する。
【０３０２】
＜予測部＞
予測部６２２は、予測画像の生成に関する処理を行う。例えば、予測部６２２は、制御部６０１から供給される予測モード情報Pinfoと、並べ替えバッファ６１１から供給される入力画像（元画像）と、フレームメモリ６２１から読み出す復号画像R（またはその一部）を入力とする。予測部６２２は、予測モード情報Pinfoや入力画像（元画像）を用い、インター予測やイントラ予測等の予測処理を行い、復号画像Rを参照画像として参照して予測を行い、その予測結果に基づいて動き補償処理を行い、予測画像Pを生成する。予測部６２２は、生成した予測画像Pを演算部６１２および演算部６１９に供給する。また、予測部６２２は、以上の処理により選択した予測モード、すなわち最適な予測モードに関する情報を、必要に応じて符号化部６１５に供給する。
【０３０３】
＜レート制御部＞
レート制御部６２３は、レート制御に関する処理を行う。例えば、レート制御部６２３は、蓄積バッファ６１６に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部６１４の量子化動作のレートを制御する。
【０３０４】
なお、これらの処理部（制御部６０１、並べ替えバッファ６１１乃至レート制御部６２３）は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【０３０５】
以上のような構成の画像符号化装置６００において、符号化部６１５に本技術を適用する。つまり、符号化部６１５が図４に示される符号化装置１００と同様の構成を有し、同様の処理を行うようにする。つまり、符号化部６１５が、上述した方法＃１乃至方法＃８のいずれかを行うようにする。このようにすることにより、画像符号化装置６００は、第１の実施の形態乃至第８の実施の形態のいずれかにおいて上述したのと同様の効果をえることができる。したがって、画像符号化装置６００は、符号化効率の低減を抑制する（符号化効率を改善する）ことができる。換言するに、画像符号化装置６００は、復号画像の画質の低減を抑制することができる。
【０３０６】
＜画像符号化処理の流れ＞
次に、以上のような構成の画像符号化装置６００により実行される画像符号化処理の流れの例を、図６０のフローチャートを参照して説明する。
【０３０７】
画像符号化処理が開始されると、ステップＳ６０１において、並べ替えバッファ６１１は、制御部６０１に制御されて、入力された動画像データのフレームの順を表示順から符号化順に並べ替える。
【０３０８】
ステップＳ６０２において、制御部６０１は、並べ替えバッファ６１１が保持する入力画像に対して、処理単位を設定する（ブロック分割を行う）。
【０３０９】
ステップＳ６０３において、制御部６０１は、並べ替えバッファ６１１が保持する入力画像についての符号化パラメータを決定（設定）する。
【０３１０】
ステップＳ６０４において、予測部６２２は、予測処理を行い、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部６２２は、イントラ予測を行って最適なイントラ予測モードの予測画像等を生成し、インター予測を行って最適なインター予測モードの予測画像等を生成し、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。
【０３１１】
ステップＳ６０５において、演算部６１２は、入力画像と、ステップＳ６０４の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部６１２は、入力画像と予測画像との予測残差Dを生成する。このようにして求められた予測残差Dは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
【０３１２】
ステップＳ６０６において、直交変換部６１３は、ステップＳ６０５の処理により生成された予測残差Dに対する直交変換処理を行い、変換係数Coeffを導出する。
【０３１３】
ステップＳ６０７において、量子化部６１４は、制御部６０１により算出された量子化パラメータを用いる等して、ステップＳ６０６の処理により得られた変換係数Coeffを量子化し、量子化変換係数レベルlevelを導出する。
【０３１４】
ステップＳ６０８において、逆量子化部６１７は、ステップＳ６０７の処理により生成された量子化変換係数レベルlevelを、そのステップＳ６０７の量子化の特性に対応する特性で逆量子化し、変換係数Coeff_IQを導出する。
【０３１５】
ステップＳ６０９において、逆直交変換部６１８は、ステップＳ６０８の処理により得られた変換係数Coeff_IQを、ステップＳ６０６の直交変換処理に対応する方法で逆直交変換し、予測残差D'を導出する。なお、この逆直交変換処理は、復号側において行われる逆直交変換処理（後述する）と同様であるので、このステップＳ６０９の逆直交変換処理については、復号側について行う説明（後述する）を適用することができる。
【０３１６】
ステップＳ６１０において、演算部６１９は、ステップＳ６０９の処理により導出された予測残差D'に、ステップＳ６０４の予測処理により得られた予測画像を加算することにより、局所的に復号された復号画像を生成する。
【０３１７】
ステップＳ６１１において、インループフィルタ部６２０は、ステップＳ６１０の処理により導出された、局所的に復号された復号画像に対して、インループフィルタ処理を行う。
【０３１８】
ステップＳ６１２において、フレームメモリ６２１は、ステップＳ６１０の処理により導出された、局所的に復号された復号画像や、ステップＳ６１１においてフィルタ処理された、局所的に復号された復号画像を記憶する。
【０３１９】
ステップＳ６１３において、符号化部６１５は、ステップＳ６０７の処理により得られた量子化変換係数レベルlevelを符号化する。例えば、符号化部６１５は、画像に関する情報である量子化変換係数レベルlevelを、算術符号化等により符号化し、符号化データを生成する。また、このとき、符号化部６１５は、各種符号化パラメータ（ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo）を符号化する。さらに、符号化部６１５は、量子化変換係数レベルlevelから残差情報RInfoを導出し、その残差情報RInfoを符号化する。
【０３２０】
ステップＳ６１４において、蓄積バッファ６１６は、このようにして得られた符号化データを蓄積し、例えばビットストリームとして、それを画像符号化装置６００の外部に出力する。このビットストリームは、例えば、伝送路や記録媒体を介して復号側に伝送される。また、レート制御部６２３は、必要に応じてレート制御を行う。
【０３２１】
ステップＳ６１４の処理が終了すると、画像符号化処理が終了する。
【０３２２】
以上のような流れの画像符号化処理において、ステップＳ６１３の符号化処理に本技術を適用する。つまり、このステップＳ６１３において、図６と同様の流れの符号化処理が行われるようにする。つまり、符号化部６１５が、上述した方法＃１乃至方法＃８のいずれかの方法を適用した符号化処理を行うようにする。このようにすることにより、画像符号化装置６００は、第１の実施の形態乃至第８の実施の形態のいずれかにおいて上述したのと同様の効果をえることができる。したがって、画像符号化装置６００は、符号化効率の低減を抑制する（符号化効率を改善する）ことができる。換言するに、画像符号化装置６００は、復号画像の画質の低減を抑制することができる。
【０３２３】
＜画像復号装置＞
また例えば、画像データの符号化データを復号する画像復号装置に、本技術を適用することができる。図６１は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図６１に示される画像復号装置７００は、動画像の符号化データを符号化する装置である。例えば、画像復号装置７００は、非特許文献１乃至非特許文献１２のいずれかに記載の復号方式で符号化データを復号する。例えば、画像復号装置７００は、上述の画像符号化装置６００により生成された符号化データ（ビットストリーム）を復号する。
【０３２４】
なお、図６１においては、処理部やデータの流れ等の主なものを示しており、図６１に示されるものが全てとは限らない。つまり、画像復号装置７００において、図６１においてブロックとして示されていない処理部が存在したり、図６１において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【０３２５】
図６１において、画像復号装置７００は、蓄積バッファ７１１、復号部７１２、逆量子化部７１３、逆直交変換部７１４、演算部７１５、インループフィルタ部７１６、並べ替えバッファ７１７、フレームメモリ７１８、および予測部７１９を備えている。なお、予測部７１９は、不図示のイントラ予測部、およびインター予測部を備えている。画像復号装置７００は、符号化データ（ビットストリーム）を復号することによって、動画像データを生成するための装置である。
【０３２６】
＜蓄積バッファ＞
蓄積バッファ７１１は、画像復号装置７００に入力されたビットストリームを取得し、保持（記憶）する。蓄積バッファ７１１は、所定のタイミングにおいて、または、所定の条件が整う等した場合、蓄積しているビットストリームを復号部７１２に供給する。
【０３２７】
＜復号部＞
復号部７１２は、画像の復号に関する処理を行う。例えば、復号部７１２は、蓄積バッファ７１１から供給されるビットストリームを入力とし、シンタックステーブルの定義に沿って、そのビット列から、各シンタックス要素のシンタックス値を可変長復号し、パラメータを導出する。
【０３２８】
シンタックス要素およびシンタックス要素のシンタックス値から導出されるパラメータには、例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、フィルタ情報Finfoなどの情報が含まれる。つまり、復号部７１２は、ビットストリームから、これらの情報をパースする（解析して取得する）。これらの情報について以下に説明する。
【０３２９】
＜ヘッダ情報Hinfo＞
ヘッダ情報Hinfoは、例えば、VPS（Video Parameter Set）／SPS（Sequence Parameter Set）／PPS（Picture Parameter Set）／SH（スライスヘッダ）などのヘッダ情報を含む。ヘッダ情報Hinfoには、例えば、画像サイズ（横幅PicWidth、縦幅PicHeight）、ビット深度（輝度bitDepthY, 色差bitDepthC）、色差アレイタイプChromaArrayType、CUサイズの最大値MaxCUSize／最小値MinCUSize、４分木分割（Quad-tree分割ともいう）の最大深度MaxQTDepth/最小深度MinQTDepth、２分木分割（Binary-tree分割）の最大深度MaxBTDepth/最小深度MinBTDepth、変換スキップブロックの最大値MaxTSSize（最大変換スキップブロックサイズともいう）、各符号化ツールのオンオフフラグ（有効フラグともいう）などを規定する情報が含まれる。
【０３３０】
例えば、ヘッダ情報Hinfoに含まれる符号化ツールのオンオフフラグとしては、以下に示す変換、量子化処理に関わるオンオフフラグがある。なお、符号化ツールのオンオフフラグは、該符号化ツールに関わるシンタックスが符号化データ中に存在するか否かを示すフラグとも解釈することができる。また、オンオフフラグの値が１（真）の場合、該符号化ツールが使用可能であることを示し、オンオフフラグの値が０（偽）の場合、該符号化ツールが使用不可であることを示す。なお、フラグ値の解釈は逆であってもよい。
【０３３１】
コンポーネント間予測有効フラグ（ccp_enabled_flag）:コンポーネント間予測（CCP（Cross-Component Prediction），CC予測とも称する）が使用可能であるか否かを示すフラグ情報である。例えば、このフラグ情報が「１」（真）の場合、使用可能であることが示され、「０」（偽）の場合、使用不可であることが示される。
【０３３２】
なお、このCCPは、コンポーネント間線形予測（CCLMまたはCCLMP）とも称する。
【０３３３】
＜予測モード情報Pinfo＞
予測モード情報Pinfoには、例えば、処理対象PB（予測ブロック）のサイズ情報PBSize（予測ブロックサイズ）、イントラ予測モード情報IPinfo、動き予測情報MVinfo等の情報が含まれる。
【０３３４】
イントラ予測モード情報IPinfoには、例えば、JCTVC-W1005, 7.3.8.5 Coding Unit syntax中のprev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode、およびそのシンタックスから導出される輝度イントラ予測モードIntraPredModeY等が含まれる。
【０３３５】
また、イントラ予測モード情報IPinfoには、例えば、コンポーネント間予測フラグ（ccp_flag（cclmp_flag））、多クラス線形予測モードフラグ（mclm_flag）、色差サンプル位置タイプ識別子（chroma_sample_loc_type_idx）、色差MPM識別子（chroma_mpm_idx）、および、これらのシンタックスから導出される輝度イントラ予測モード（IntraPredModeC）等が含まれる。
【０３３６】
コンポーネント間予測フラグ（ccp_flag（cclmp_flag））は、コンポーネント間線形予測を適用するか否かを示すフラグ情報である。例えば、ccp_flag==1のとき、コンポーネント間予測を適用することを示し、ccp_flag==0のとき、コンポーネント間予測を適用しないことを示す。
【０３３７】
多クラス線形予測モードフラグ（mclm_flag）は、線形予測のモードに関する情報（線形予測モード情報）である。より具体的には、多クラス線形予測モードフラグ（mclm_flag）は、多クラス線形予測モードにするか否かを示すフラグ情報である。例えば、「０」の場合、１クラスモード（単一クラスモード）（例えばCCLMP）であることを示し、「１」の場合、２クラスモード（多クラスモード）（例えばMCLMP）であることを示す。
【０３３８】
色差サンプル位置タイプ識別子（chroma_sample_loc_type_idx）は、色差コンポーネントの画素位置のタイプ（色差サンプル位置タイプとも称する）を識別する識別子である。例えば色フォーマットに関する情報である色差アレイタイプ（ChromaArrayType）が420形式を示す場合、色差サンプル位置タイプ識別子は、以下の式のような割り当て方となる。
【０３３９】
chroma_sample_loc_type_idx == 0：Type2
chroma_sample_loc_type_idx == 1：Type3
chroma_sample_loc_type_idx == 2：Type0
chroma_sample_loc_type_idx == 3：Type1
【０３４０】
なお、この色差サンプル位置タイプ識別子（chroma_sample_loc_type_idx）は、色差コンポーネントの画素位置に関する情報（chroma_sample_loc_info()）として（に格納されて）伝送される。
【０３４１】
色差MPM識別子（chroma_mpm_idx）は、色差イントラ予測モード候補リスト（intraPredModeCandListC）の中のどの予測モード候補を色差イントラ予測モードとして指定するかを表す識別子である。
【０３４２】
動き予測情報MVinfoには、例えば、merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,1}, mvd等の情報が含まれる（例えば、JCTVC-W1005, 7.3.8.6 Prediction Unit Syntaxを参照）。
【０３４３】
もちろん、予測モード情報Pinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
【０３４４】
＜変換情報Tinfo＞
変換情報Tinfoには、例えば、以下の情報が含まれる。もちろん、変換情報Tinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
【０３４５】
処理対象変換ブロックの横幅サイズTBWSizeおよび縦幅TBHSize（または、２を底とする各TBWSize、TBHSizeの対数値log2TBWSize、log2TBHSizeであってもよい）。
変換スキップフラグ（ts_flag）:（逆）プライマリ変換および（逆）セカンダリ変換をスキップか否かを示すフラグである。
スキャン識別子（scanIdx）
量子化パラメータ（qp）
量子化マトリックス（scaling_matrix（例えば、JCTVC-W1005, 7.3.4 Scaling list data syntax））
【０３４６】
＜残差情報Rinfo＞
残差情報Rinfo（例えば、JCTVC-W1005の7.3.8.11 Residual Coding syntaxを参照）には、例えば以下のシンタックスが含まれる。
【０３４７】
cbf（coded_block_flag）：残差データ有無フラグ
last_sig_coeff_x_pos：ラスト非ゼロ係数X座標
last_sig_coeff_y_pos：ラスト非ゼロ係数Y座標
coded_sub_block_flag：サブブロック非ゼロ係数有無フラグ
sig_coeff_flag：非ゼロ係数有無フラグ
gr1_flag：非ゼロ係数のレベルが１より大きいかを示すフラグ（GR1フラグとも呼ぶ）
gr2_flag：非ゼロ係数のレベルが２より大きいかを示すフラグ(GR2フラグとも呼ぶ)
sign_flag：非ゼロ係数の正負を示す符号（サイン符号とも呼ぶ）
coeff_abs_level_remaining:非ゼロ係数の残余レベル（非ゼロ係数残余レベルとも呼ぶ）
など。
【０３４８】
もちろん、残差情報Rinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
【０３４９】
＜フィルタ情報Finfo＞
フィルタ情報Finfoには、例えば、以下に示す各フィルタ処理に関する制御情報が含まれる。
【０３５０】
デブロッキングフィルタ(DBF)に関する制御情報
画素適応オフセット(SAO)に関する制御情報
適応ループフィルタ(ALF)に関する制御情報
その他の線形・非線形フィルタに関する制御情報
【０３５１】
より具体的には、例えば、各フィルタを適用するピクチャや、ピクチャ内の領域を指定する情報や、CU単位のフィルタOn/Off制御情報、スライス、タイルの境界に関するフィルタOn/Off制御情報などが含まれる。もちろん、フィルタ情報Finfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
【０３５２】
復号部７１２の説明に戻る。復号部７１２は、残差情報Rinfoを参照して、各変換ブロック内の各係数位置の量子化変換係数レベルlevelを導出する。復号部７１２は、その量子化変換係数レベルlevelを、逆量子化部７１３に供給する。
【０３５３】
また、復号部７１２は、パースしたヘッダ情報Hinfo、予測モード情報Pinfo、量子化変換係数レベルlevel、変換情報Tinfo、フィルタ情報Finfoを各ブロックへ供給する。具体的には以下の通りである。
【０３５４】
ヘッダ情報Hinfoは、逆量子化部７１３、逆直交変換部７１４、予測部７１９、インループフィルタ部７１６に供給される。
予測モード情報Pinfoは、逆量子化部７１３および予測部７１９に供給される。
変換情報Tinfoは、逆量子化部７１３および逆直交変換部７１４に供給される。
フィルタ情報Finfoは、インループフィルタ部７１６に供給される。
【０３５５】
もちろん、上述の例は一例であり、この例に限定されない。例えば、各符号化パラメータが任意の処理部に供給されるようにしてもよい。また、その他の情報が、任意の処理部に供給されるようにしてもよい。
【０３５６】
＜逆量子化部＞
逆量子化部７１３は、少なくとも、逆量子化に関する処理を行うために必要な構成を有する。例えば、逆量子化部７１３は、復号部７１２から供給される変換情報Tinfoおよび量子化変換係数レベルlevelを入力とし、その変換情報Tinfoに基づいて、量子化変換係数レベルlevelの値をスケーリング（逆量子化）し、逆量子化後の変換係数Coeff_IQを導出する。
【０３５７】
なお、この逆量子化は、量子化部６１４による量子化の逆処理として行われる。また、この逆量子化は、逆量子化部６１７による逆量子化と同様の処理である。つまり、逆量子化部６１７は、逆量子化部７１３と同様の処理（逆量子化）を行う。
【０３５８】
逆量子化部７１３は、導出した変換係数Coeff_IQを逆直交変換部７１４に供給する。
【０３５９】
＜逆直交変換部＞
逆直交変換部７１４は、逆直交変換に関する処理を行う。例えば、逆直交変換部７１４は、逆量子化部７１３から供給される変換係数Coeff_IQ、および、復号部７１２から供給される変換情報Tinfoを入力とし、その変換情報Tinfoに基づいて、変換係数Coeff_IQに対して逆直交変換処理を行い、予測残差D'を導出する。
【０３６０】
なお、この逆直交変換は、直交変換部６１３による直交変換の逆処理として行われる。また、この逆直交変換は、逆直交変換部６１８による逆直交変換と同様の処理である。つまり、逆直交変換部６１８は、逆直交変換部７１４と同様の処理（逆直交変換）を行う。
【０３６１】
逆直交変換部７１４は、導出した予測残差D'を演算部７１５に供給する。
【０３６２】
＜演算部＞
演算部７１５は、画像に関する情報の加算に関する処理を行う。例えば、演算部７１５は、逆直交変換部７１４から供給される予測残差D'と、予測部７１９から供給される予測画像Pとを入力とする。演算部７１５は、以下の式に示されるように、予測残差D'とその予測残差D'に対応する予測画像P（予測信号）とを加算し、局所復号画像Rlocalを導出する。
【０３６３】
Rlocal = D' + P
【０３６４】
演算部７１５は、導出した局所復号画像Rlocalを、インループフィルタ部７１６およびフレームメモリ７１８に供給する。
【０３６５】
＜インループフィルタ部＞
インループフィルタ部７１６は、インループフィルタ処理に関する処理を行う。例えば、インループフィルタ部７１６は、演算部７１５から供給される局所復号画像Rlocalと、復号部７１２から供給されるフィルタ情報Finfoとを入力とする。なお、インループフィルタ部７１６に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。
【０３６６】
インループフィルタ部７１６は、そのフィルタ情報Finfoに基づいて、局所復号画像Rlocalに対して適宜フィルタ処理を行う。
【０３６７】
例えば、インループフィルタ部７１６は、非特許文献１１に記載のように、バイラテラルフィルタ、デブロッキングフィルタ（DBF（DeBlocking Filter））、適応オフセットフィルタ（SAO（Sample Adaptive Offset））、および適応ループフィルタ（ALF(Adaptive Loop Filter)）の４つのインループフィルタをこの順に適用する。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。
【０３６８】
インループフィルタ部７１６は、符号化側（例えば画像符号化装置６００のインループフィルタ部６２０）により行われたフィルタ処理に対応するフィルタ処理を行う。もちろん、インループフィルタ部７１６が行うフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部７１６がウィーナーフィルタ等を適用するようにしてもよい。
【０３６９】
インループフィルタ部７１６は、フィルタ処理された局所復号画像Rlocalを並べ替えバッファ７１７およびフレームメモリ７１８に供給する。
【０３７０】
＜並べ替えバッファ＞
並べ替えバッファ７１７は、インループフィルタ部７１６から供給された局所復号画像Rlocalを入力とし、それを保持（記憶）する。並べ替えバッファ７１７は、その局所復号画像Rlocalを用いてピクチャ単位毎の復号画像Rを再構築し、保持する（バッファ内に格納する）。並べ替えバッファ７１７は、得られた復号画像Rを、復号順から再生順に並べ替える。並べ替えバッファ７１７は、並べ替えた復号画像R群を動画像データとして画像復号装置７００の外部に出力する。
【０３７１】
＜フレームメモリ＞
フレームメモリ７１８は、画像に関するデータの記憶に関する処理を行う。例えば、フレームメモリ７１８は、演算部７１５より供給される局所復号画像Rlocalを入力とし、ピクチャ単位毎の復号画像Rを再構築して、フレームメモリ７１８内のバッファへ格納する。
【０３７２】
また、フレームメモリ７１８は、インループフィルタ部７１６から供給される、インループフィルタ処理された局所復号画像Rlocalを入力とし、ピクチャ単位毎の復号画像Rを再構築して、フレームメモリ７１８内のバッファへ格納する。フレームメモリ７１８は、適宜、その記憶している復号画像R（またはその一部）を参照画像として予測部７１９に供給する。
【０３７３】
なお、フレームメモリ７１８が、復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなどを記憶するようにしても良い。
【０３７４】
＜予測部＞
予測部７１９は、予測画像の生成に関する処理を行う。例えば、予測部７１９は、復号部７１２から供給される予測モード情報Pinfoを入力とし、その予測モード情報Pinfoによって指定される予測方法により予測を行い、予測画像Pを導出する。その導出の際、予測部７１９は、その予測モード情報Pinfoによって指定される、フレームメモリ７１８に格納されたフィルタ前またはフィルタ後の復号画像R（またはその一部）を、参照画像として利用する。予測部７１９は、導出した予測画像Pを、演算部７１５に供給する。
【０３７５】
なお、これらの処理部（蓄積バッファ７１１乃至予測部７１９）は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【０３７６】
以上のような構成の画像復号装置７００において、復号部７１２に本技術を適用する。つまり、復号部７１２が図１３に示される復号装置２００と同様の構成を有し、同様の処理を行うようにする。つまり、復号部７１２が、上述した方法＃１乃至方法＃８のいずれかを行うようにする。このようにすることにより、画像復号装置７００は、第１の実施の形態乃至第８の実施の形態のいずれかにおいて上述したのと同様の効果を得ることができる。したがって、画像復号装置７００は、符号化効率の低減を抑制する（符号化効率を改善する）ことができる。換言するに、画像復号装置７００は、復号画像の画質の低減を抑制することができる。
【０３７７】
＜画像復号処理の流れ＞
次に、以上のような構成の画像復号装置７００により実行される各処理の流れについて説明する。最初に、図６２のフローチャートを参照して、画像符号化処理の流れの例を説明する。
【０３７８】
画像復号処理が開始されると、蓄積バッファ７１１は、ステップＳ７０１において、画像復号装置７００の外部から供給される符号化データ（ビットストリーム）を取得して保持する（蓄積する）。
【０３７９】
ステップＳ７０２において、復号部７１２は、その符号化データ（ビットストリーム）を復号し、量子化変換係数レベルlevelを得る。また、復号部７１２は、この復号により、符号化データ（ビットストリーム）から各種符号化パラメータをパースする（解析して取得する）。
【０３８０】
ステップＳ７０３において、逆量子化部７１３は、ステップＳ７０２の処理により得られた量子化変換係数レベルlevelに対して、符号化側で行われた量子化の逆処理である逆量子化を行い、変換係数Coeff_IQを得る。
【０３８１】
ステップＳ７０４において、逆直交変換部７１４は、ステップＳ７０３において得られた変換係数Coeff_IQに対して、符号化側で行われた直交変換処理の逆処理である逆直交変換処理を行い、予測残差D'を得る。
【０３８２】
ステップＳ７０５において、予測部７１９は、ステップＳ７０２においてパースされた情報に基づいて、符号化側より指定される予測方法で予測処理を実行し、フレームメモリ７１８に記憶されている参照画像を参照する等して、予測画像Pを生成する。
【０３８３】
ステップＳ７０６において、演算部７１５は、ステップＳ７０４において得られた予測残差D'と、ステップＳ７０５において得られた予測画像Pとを加算し、局所復号画像Rlocalを導出する。
【０３８４】
ステップＳ７０７において、インループフィルタ部７１６は、ステップＳ７０６の処理により得られた局所復号画像Rlocalに対して、インループフィルタ処理を行う。
【０３８５】
ステップＳ７０８において、並べ替えバッファ７１７は、ステップＳ７０７の処理により得られたフィルタ処理された局所復号画像Rlocalを用いて復号画像Rを導出し、その復号画像R群の順序を復号順から再生順に並べ替える。再生順に並べ替えられた復号画像R群は、動画像として画像復号装置７００の外部に出力される。
【０３８６】
また、ステップＳ７０９において、フレームメモリ７１８は、ステップＳ７０６の処理により得られた局所復号画像Rlocal、および、ステップＳ７０７の処理により得られたフィルタ処理後の局所復号画像Rlocalの内、少なくとも一方を記憶する。
【０３８７】
ステップＳ７０９の処理が終了すると、画像復号処理が終了する。
【０３８８】
以上のような流れの画像復号処理において、ステップＳ７０３の復号処理に本技術を適用する。つまり、このステップＳ７０３において、図１５と同様の流れの復号処理が行われるようにする。つまり、復号部７１２が、上述した方法＃１乃至方法＃８のいずれかの方法を適用した復号処理を行うようにする。このようにすることにより、画像復号装置７００は、第１の実施の形態乃至第８の実施の形態のいずれかにおいて上述したのと同様の効果を得ることができる。したがって、画像復号装置７００は、符号化効率の低減を抑制する（符号化効率を改善する）ことができる。換言するに、画像復号装置７００は、復号画像の画質の低減を抑制することができる。
【０３８９】
＜１１．付記＞
＜コンピュータ＞
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【０３９０】
図６３は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０３９１】
図６３に示されるコンピュータ８００において、CPU（Central Processing Unit）８０１、ROM（Read Only Memory）８０２、RAM（Random Access Memory）８０３は、バス８０４を介して相互に接続されている。
【０３９２】
バス８０４にはまた、入出力インタフェース８１０も接続されている。入出力インタフェース８１０には、入力部８１１、出力部８１２、記憶部８１３、通信部８１４、およびドライブ８１５が接続されている。
【０３９３】
入力部８１１は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部８１２は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部８１３は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部８１４は、例えば、ネットワークインタフェースよりなる。ドライブ８１５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア８２１を駆動する。
【０３９４】
以上のように構成されるコンピュータでは、CPU８０１が、例えば、記憶部８１３に記憶されているプログラムを、入出力インタフェース８１０およびバス８０４を介して、RAM８０３にロードして実行することにより、上述した一連の処理が行われる。RAM８０３にはまた、CPU８０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３９５】
コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア８２１に記録して適用することができる。その場合、プログラムは、リムーバブルメディア８２１をドライブ８１５に装着することにより、入出力インタフェース８１０を介して、記憶部８１３にインストールすることができる。
【０３９６】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部８１４で受信し、記憶部８１３にインストールすることができる。
【０３９７】
その他、このプログラムは、ROM８０２や記憶部８１３に、あらかじめインストールしておくこともできる。
【０３９８】
＜情報・処理の単位＞
以上において説明した各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU（Transform Unit）、TB(Transform Block)、PU（Prediction Unit）、PB(Prediction Block)、CU（Coding Unit）、LCU（Largest Coding Unit）、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
【０３９９】
＜制御情報＞
以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可（または禁止）するか否かを制御する制御情報（例えばenabled_flag）を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象（または適用しない対象）を示す制御情報（例えばpresent_flag）を伝送するようにしてもよい。例えば、本技術を適用する（または、適用を許可若しくは禁止する）ブロックサイズ（上限若しくは下限、またはその両方）、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
【０４００】
＜本技術の適用対象＞
本技術は、任意の画像符号化・復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換（逆変換）、量子化（逆量子化）、符号化（復号）、予測等、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
【０４０１】
また本技術は、複数の視点（ビュー（view））の画像を含む多視点画像の符号化・復号を行う多視点画像符号化・復号システムに適用することができる。その場合、各視点（ビュー（view））の符号化・復号において、本技術を適用するようにすればよい。
【０４０２】
さらに本技術は、所定のパラメータについてスケーラビリティ（scalability）機能を有するように複数レイヤ化（階層化）された階層画像の符号化・復号を行う階層画像符号化（スケーラブル符号化）・復号システムに適用することができる。その場合、各階層（レイヤ）の符号化・復号において、本技術を適用するようにすればよい。
【０４０３】
また、以上においては、本技術の適用例として、符号化装置１００、復号装置２００，画像符号化装置６００、および画像復号装置７００について説明したが、本技術は、任意の構成に適用することができる。
【０４０４】
例えば、本技術は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機（例えばテレビジョン受像機や携帯電話機）、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置（例えばハードディスクレコーダやカメラ）などの、様々な電子機器に応用され得る。
【０４０５】
また、例えば、本技術は、システムLSI（Large Scale Integration）等としてのプロセッサ（例えばビデオプロセッサ）、複数のプロセッサ等を用いるモジュール（例えばビデオモジュール）、複数のモジュール等を用いるユニット（例えばビデオユニット）、または、ユニットにさらにその他の機能を付加したセット（例えばビデオセット）等、装置の一部の構成として実施することもできる。
【０４０６】
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV（Audio Visual）機器、携帯型情報処理端末、IoT（Internet of Things）デバイス等の任意の端末に対して、画像（動画像）に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
【０４０７】
なお、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０４０８】
＜本技術を適用可能な分野・用途＞
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
【０４０９】
例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
【０４１０】
＜その他＞
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の２状態を識別する際に用いる情報だけでなく、３以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の２値であってもよいし、３値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報（フラグも含む）は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【０４１１】
また、符号化データ（ビットストリーム）に関する各種情報（メタデータ等）は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る（リンクさせ得る）ようにすることを意味する。つまり、互いに関連付けられたデータは、１つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の記録媒体（または同一の記録媒体の別の記録エリア）に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、１フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【０４１２】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを１つのデータにまとめるといった、複数の物を１つにまとめることを意味し、上述の「関連付ける」の１つの方法を意味する。
【０４１３】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０４１４】
例えば、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０４１５】
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能（機能ブロック等）を有し、必要な情報を得ることができるようにすればよい。
【０４１６】
また、例えば、１つのフローチャートの各ステップを、１つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、１つのステップに複数の処理が含まれる場合、その複数の処理を、１つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、１つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を１つのステップとしてまとめて実行することもできる。
【０４１７】
また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【０４１８】
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【０４１９】
なお、本技術は以下のような構成も取ることができる。
（１）  非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出するシンタックスエレメント値導出部と、
導出された前記シンタックスエレメント値を符号化して符号化データを生成する符号化部と
を備える画像処理装置。
（２）  前記シンタックスエレメント値導出部は、直前の非ゼロサブブロックの余剰bin数と、前記処理対象サブブロックに割り当てられるbin数の仮の上限値とに基づいて、前記処理対象サブブロックに割り当てられるbin数の上限値を設定する
（１）に記載の画像処理装置。
（３）  前記シンタックスエレメント値導出部は、CU内の非ゼロサブブロック同士でbin数を分配して前記処理対象サブブロックに割り当てられるbin数の上限値を設定する
（１）または（２）に記載の画像処理装置。
（４）  前記シンタックスエレメント値導出部は、ブロック内の全非ゼロサブブロックに割り当てられるbin数の総和が、前記ブロック内の各非ゼロサブブロックに割り当てられるbin数の仮の上限値の総和を越えないように、前記処理対象サブブロックについて、前記シンタックスエレメント値を導出する
（１）乃至（３）のいずれかに記載の画像処理装置。
（５）  前記シンタックスエレメント値導出部は、さらに、前記ブロック内のゼロサブブロックの余剰bin数を分配する
（４）に記載の画像処理装置。
（６）  前記シンタックスエレメント値導出部は、ブロックに割り当てられるbin数の上限値を設定し、前記ブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出する
（１）乃至（５）のいずれかに記載の画像処理装置。
（７）  非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出し、
導出された前記シンタックスエレメント値を符号化して符号化データを生成する
画像処理方法。
【０４２０】
（８）  符号化データを復号してシンタックスエレメント値を生成する復号部と、
非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する係数データ導出部と
を備える画像処理装置。
（９）  符号化データを復号してシンタックスエレメント値を生成し、
非ゼロサブブロック同士でbin数を分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する
画像処理方法。
【０４２１】
（１０）  ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出するシンタックスエレメント値導出部と、
導出された前記シンタックスエレメント値を符号化して符号化データを生成する符号化部と
を備える画像処理装置。
（１１）  前記シンタックスエレメント値導出部は、ゼロサブブロックの平均余剰bin数と、前記処理対象サブブロックに割り当てられるbin数の仮の上限値とに基づいて、前記処理対象サブブロックに割り当てられるbin数の上限値を設定する
（１０）に記載の画像処理装置。
（１２）  前記シンタックスエレメント値導出部は、さらに、前記処理対象サブブロックの位置に応じた優先度に基づいて、前記処理対象サブブロックに割り当てられるbin数の上限値を設定する
（１１）に記載の画像処理装置。
（１３）  ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、画像データから導出された係数データを用いて、bin数が前記上限値を越えないように、シンタックスエレメント値を導出し、
導出された前記シンタックスエレメント値を符号化して符号化データを生成する
画像処理方法。
【０４２２】
（１４）  符号化データを復号してシンタックスエレメント値を生成する復号部と、
ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する係数データ導出部と
を備える画像処理装置。
（１５）  符号化データを復号してシンタックスエレメント値を生成し、
ゼロサブブロックに割り当てられるbin数を非ゼロサブブロックに分配して処理対象サブブロックに割り当てられるbin数の上限値を設定し、前記処理対象サブブロックについて、生成された前記シンタックスエレメント値を用いて、bin数が前記上限値を越えないように、画像データに対応する係数データを導出する
画像処理方法。
【符号の説明】
【０４２３】
１００  符号化装置，  １０１  シーケンサ，  １０２  CABAC，  １２１  ２値化部，  １２２  選択部，  １２３  コンテキストモデル，  １２４  算術符号化部，  １２５  算術符号化部，  １２６  選択部，  ２００  復号装置，  ２０１  CABAC，  ２０２  パーサ，  ２２１  選択部，  ２２２  コンテキストモデル，  ２２３  算術復号部，  ２２４  算術復号部，  ２２５  選択部，  ２２６  多値化部，  ６００  画像符号化装置，  ６１５  符号化部，  ７００  画像復号装置，  ７１２  復号部
【図１】
2020162540.tif 000003
【図２】
2020162540.tif 000004
【図３】
2020162540.tif 000005
【図４】
2020162540.tif 000006
【図５】
2020162540.tif 000007
【図６】
2020162540.tif 000008
【図７】
2020162540.tif 000009
【図８】
2020162540.tif 000010
【図９】
2020162540.tif 000011
【図１０】
2020162540.tif 000012
【図１１】
2020162540.tif 000013
【図１２】
2020162540.tif 000014
【図１３】
2020162540.tif 000015
【図１４】
2020162540.tif 000016
【図１５】
2020162540.tif 000017
【図１６】
2020162540.tif 000018
【図１７】
2020162540.tif 000019
【図１８】
2020162540.tif 000020
【図１９】
2020162540.tif 000021
【図２０】
2020162540.tif 000022
【図２１】
2020162540.tif 000023
【図２２】
2020162540.tif 000024
【図２３】
2020162540.tif 000025
【図２４】
2020162540.tif 000026
【図２５】
2020162540.tif 000027
【図２６】
2020162540.tif 000028
【図２７】
2020162540.tif 000029
【図２８】
2020162540.tif 000030
【図２９】
2020162540.tif 000031
【図３０】
2020162540.tif 000032
【図３１】
2020162540.tif 000033
【図３２】
2020162540.tif 000034
【図３３】
2020162540.tif 000035
【図３４】
2020162540.tif 000036
【図３５】
2020162540.tif 000037
【図３６】
2020162540.tif 000038
【図３７】
2020162540.tif 000039
【図３８】
2020162540.tif 000040
【図３９】
2020162540.tif 000041
【図４０】
2020162540.tif 000042
【図４１】
2020162540.tif 000043
【図４２】
2020162540.tif 000044
【図４３】
2020162540.tif 000045
【図４４】
2020162540.tif 000046
【図４５】
2020162540.tif 000047
【図４６】
2020162540.tif 000048
【図４７】
2020162540.tif 000049
【図４８】
2020162540.tif 000050
【図４９】
2020162540.tif 000051
【図５０】
2020162540.tif 000052
【図５１】
2020162540.tif 000053
【図５２】
2020162540.tif 000054
【図５３】
2020162540.tif 000055
【図５４】
2020162540.tif 000056
【図５５】
2020162540.tif 000057
【図５６】
2020162540.tif 000058
【図５７】
2020162540.tif 000059
【図５８】
2020162540.tif 000060
【図５９】
2020162540.tif 000061
【図６０】
2020162540.tif 000062
【図６１】
2020162540.tif 000063
【図６２】
2020162540.tif 000064
【図６３】
2020162540.tif 000065
【国際調査報告】
2020162540.tif 000066
2020162540.tif 000067
2020162540.tif 000068