(57)【要約】  画像復号装置（３１）は、対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割関連情報を参照して決定するコンテキスト決定部（３２）と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部（１０）とを備えている。
2018110462.tif 000002
【特許請求の範囲】
【請求項１】
ピクチャをブロック毎に復号する画像復号装置において、
当該対象ブロックに隣接する１又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部と
を備えていることを特徴とする画像復号装置。
【請求項２】
上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記分割関連情報はブロックのデプスであることを特徴とする請求項１に記載の画像復号装置。
【請求項３】
上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記分割関連情報はブロックサイズであることを特徴とする請求項１に記載の画像復号装置。
【請求項４】
上記分割関連情報を比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値であることを特徴とする請求項１〜３の何れか１項に記載の画像復号装置。
【請求項５】
ピクチャをブロック毎に符号化する画像符号化装置において、
当該対象ブロックに隣接する１又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部と
を備えていることを特徴とする画像符号化装置。
【請求項６】
上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記分割関連情報はブロックのデプスであることを特徴とする請求項５に記載の画像符号化装置。
【請求項７】
上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記分割関連情報はブロックサイズであることを特徴とする請求項５に記載の画像符号化装置。
【請求項８】
上記分割関連情報を比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値であることを特徴とする請求項５〜７の何れか１項に記載の画像符号化装置。
【請求項９】
ピクチャをブロック毎に復号する画像復号装置において、
対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部と
を備えていることを特徴とする画像復号装置。
【請求項１０】
上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのパーティション番号を参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項９に記載の画像復号装置。
【請求項１１】
上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックの水平デプス又は垂直デプスを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項９に記載の画像復号装置。
【請求項１２】
上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのサイズを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項９に記載の画像復号装置。
【請求項１３】
上記分割情報は、上記対象ブロックの分割方向を示す方向フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのパーティション番号を参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項９に記載の画像復号装置。
【請求項１４】
上記分割情報は、上記対象ブロックの分割方向を示す方向フラグであり、
上記コンテキスト決定部は、上記隣接ブロックの水平デプス又は垂直デプスを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項９に記載の画像復号装置。
【請求項１５】
上記分割情報は、上記対象ブロックの分割方向を示す方向フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのサイズを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項９に記載の画像復号装置。
【請求項１６】
上記分割情報は、上記対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのパーティション番号を参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項９に記載の画像復号装置。
【請求項１７】
上記分割情報は、上記対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックの水平デプス又は垂直デプスを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項９に記載の画像復号装置。
【請求項１８】
上記分割情報は、上記対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのサイズを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項９に記載の画像復号装置。
【請求項１９】
ピクチャをブロック毎に符号化する画像符号化装置において、
対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部と
を備えていることを特徴とする画像符号化装置。
【請求項２０】
ピクチャをブロック毎に復号する画像復号装置において、
第１の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第２の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第１の色コンポーネントに関する対象ブロックの分割情報を復号する分割情報復号部と
を備えていることを特徴とする画像復号装置。
【請求項２１】
上記分割情報は、上記第１の色コンポーネントに関する対象ブロックを分割するか否かを示す分割フラグであり、
上記コンテキスト決定部は、上記第２の色コンポーネントに関する対応ブロックのパーティション番号を参照して、上記第２の色コンポーネントに関する対応ブロックの分割状況を特定することを特徴とする請求項２０に記載の画像復号装置。
【請求項２２】
上記分割情報は、上記第１の色コンポーネントに関する対象ブロックの分割方向を示す方向フラグであり、
上記コンテキスト決定部は、上記第２の色コンポーネントに関する対応ブロックのパーティション番号を参照して、上記第２の色コンポーネントに関する対応ブロックの分割状況を特定することを特徴とする請求項２０に記載の画像復号装置。
【請求項２３】
上記分割情報は、上記第１の色コンポーネントに関する対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記第１の色コンポーネントに関する対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
上記コンテキスト決定部は、上記第２の色コンポーネントに関する対応ブロックのパーティション番号を参照して、上記第２の色コンポーネントに関する対応ブロックの分割状況を特定することを特徴とする請求項２０に記載の画像復号装置。
【請求項２４】
ピクチャをブロック毎に符号化する画像符号化装置において、
第１の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第２の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第１の色コンポーネントに関する対象ブロックの分割情報を符号化する分割情報符号化部と
を備えていることを特徴とする画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像復号装置、及び画像符号化装置に関する。
【背景技術】
【０００２】
動画像を効率的に伝送又は記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、及び、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。【０００３】
具体的な動画像符号化方式としては、例えば、H.264/AVCやHEVC（High-Efficiency Video Coding）にて提案されている方式などが挙げられる。【０００４】
このような動画像符号化方式においては、動画像を構成する画像（ピクチャ）は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット（CTU:Coding Tree Unit）、符号化ツリーユニットを分割することにより得られる符号化単位（符号化ユニット（Coding Unit：CU）と呼ばれることもある）、及び、符号化単位を分割することより得られるブロックである予測ユニット（PU）、変換ユニット（TU）からなる階層構造により管理され、CUごとに符号化／復号される。【０００５】
また、このような動画像符号化方式においては、通常、入力画像を符号化／復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像（原画像）から減算して得られる予測残差（「差分画像」又は「残差画像」と呼ぶこともある）が符号化される。予測画像の生成方法としては、画面間予測（インター予測）、及び、画面内予測（イントラ予測）が挙げられる。【０００６】
また、近年の動画像符号化及び復号の技術として非特許文献１が挙げられる。【０００７】
さらに、近年では、スライスを構成するCTUの分割方式として、CTUを四分木（quad tree）分割するQT分割に加えて、二分木（binary tree）分割するBT分割が導入されている。このBT分割には、水平分割と垂直分割とが含まれる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】"Algorithm Description of Joint Exploration Test Model 5", JVET-E1001-v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12-20  January 2017
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、CTUの分割方式として、QT分割に加えてBT分割が導入されたことにより、CUへの分割パターンが増大し、動画像の符号化処理量又は復号処理量が増え、符号化／復号が複雑となる。QT分割及びBT分割では、QT分割フラグを符号化又は復号するとともに、BT分割フラグを符号化又は復号する必要がある。そして、これらの分割フラグの符号量が大きいという問題がある。【００１０】
本発明の一態様は、上記の問題点に鑑みてなされたものであり、その主たる目的は、画像符号化装置又は画像復号装置において、分割情報の符号量を削減できる技術を提供することである。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明の一態様に係る画像復号装置は、ピクチャをブロック毎に復号する画像復号装置において、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部とを備えている。【００１２】
上記の課題を解決するために、本発明の一態様に係る画像符号化装置は、ピクチャをブロック毎に符号化する画像符号化装置において、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部とを備えている。【００１３】
上記の課題を解決するために、本発明の一態様に係る画像復号装置は、ピクチャをブロック毎に復号する画像復号装置において、対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部とを備えている。【００１４】
上記の課題を解決するために、本発明の一態様に係る画像符号化装置は、ピクチャをブロック毎に符号化する画像符号化装置において、対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部とを備えている。【００１５】
上記の課題を解決するために、本発明の一態様に係る画像復号装置は、ピクチャをブロック毎に復号する画像復号装置において、第１の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第２の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第１の色コンポーネントに関する対象ブロックの分割情報を復号する分割情報復号部とを備えている。【００１６】
上記の課題を解決するために、本発明の一態様に係る画像符号化装置は、ピクチャをブロック毎に符号化する画像符号化装置において、第１の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第２の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第１の色コンポーネントに関する対象ブロックの分割情報を符号化する分割情報符号化部とを備えている。
【発明の効果】
【００１７】
本発明の一態様によれば、画像復号装置において、分割情報の符号量を削減できる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係る画像伝送システムの構成を示す概略図である。
【図２】本実施形態に係る符号化ストリームのデータの階層構造を示す図である。
【図３】PU分割モードのパターンを示す図である。（ａ）〜（ｈ）は、それぞれ、PU分割モードが、2Nx2N、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、及び、NxNの場合のパーティション形状について示している。
【図４】参照ピクチャ及び参照ピクチャリストの一例を示す概念図である。
【図５】本実施形態に係る画像符号化装置の構成を示すブロック図である。
【図６】本実施形態に係る画像復号装置の構成を示す概略図である。
【図７】本実施形態に係る画像符号化装置の要部構成を示すブロック図である。
【図８】本実施形態に係る画像符号化装置を搭載した送信装置、及び、画像復号装置を搭載した受信装置の構成について示した図である。（ａ）は、画像符号化装置を搭載した送信装置を示しており、（ｂ）は、画像復号装置を搭載した受信装置を示している。
【図９】本実施形態に係る画像符号化装置を搭載した記録装置、及び、画像復号装置を搭載した再生装置の構成について示した図である。（ａ）は、画像符号化装置を搭載した記録装置を示しており、（ｂ）は、画像復号装置を搭載した再生装置を示している。
【図１０】本実施形態に係る画像復号装置の要部構成を示したブロック図である。
【図１１】（ａ）は、QT分割を説明するための図である。（ｂ）は、BT分割を説明するための図である。（ｃ）は、TT分割を説明するための図である。
【図１２】本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法を説明するフローチャートである。
【図１３】本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法を説明するための図である。
【図１４】本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例１を説明するための図である。
【図１５】本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例２を説明するための図である。
【図１６】本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例３を説明するための図である。
【図１７】対象ブロックと隣接ブロックのデプスを示す図である。
【図１８】本発明の一実施形態に係るコンテキスト決定方法の具体例を説明するための図である。
【図１９】対象ブロックと隣接ブロックの分割およびデプスの関係を示す一例である。
【図２０】対象ブロックと隣接ブロックの位置を示す図である。
【図２１】本発明の一実施形態に係るコンテキスト決定方法の具体例を説明するフローチャートである。
【図２２】本発明の一実施形態に係るクリッピング処理を説明するフローチャートである。
【図２３】本発明の一実施形態に係るコンテキスト決定方法において、分割関連情報の差分値の加算結果あるいは最大値とコンテキストのマッピング表の一例である。
【図２４】本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法を説明するフローチャートである。
【図２５】本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例１を説明するための図である。（ａ）は、色差ブロックを示している。（ｂ）は、輝度ブロックを示している。
【図２６】本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例２を説明するための図である。（ａ）は、色差ブロックを示している。（ｂ）は、輝度ブロックを示している。
【図２７】本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例３を説明するための図である。（ａ）は、色差ブロックを示している。（ｂ）は、輝度ブロックを示している。
【図２８】本発明の一態様に係る画像復号装置によるコンテキスト決定方法を説明するフローチャートである。
【図２９】（ａ）〜（ｄ）は、それぞれ、本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例を説明するための表である。
【図３０】本発明の一態様に係る画像復号装置によるコンテキスト決定方法を説明するフローチャートである。
【発明を実施するための形態】
【００１９】
〔第１の実施形態〕
以下、図面を参照しながら本発明の実施形態について説明する。
【００２０】
図１は、本実施形態に係る画像伝送システム１の構成を示す概略図である。
【００２１】
画像伝送システム１は、符号化対象画像を符号化した符号を伝送し、伝送された符号を復号し画像を表示するシステムである。画像伝送システム１は、画像符号化装置１１、ネットワーク２１、画像復号装置３１及び画像表示装置４１を含んで構成される。
【００２２】
画像符号化装置１１には、単一レイヤ若しくは複数レイヤの画像を示す画像Ｔが入力される。レイヤとは、ある時間を構成するピクチャが１つ以上ある場合に、複数のピクチャを区別するために用いられる概念である。たとえば、同一ピクチャを、画質や解像度の異なる複数のレイヤで符号化するとスケーラブル符号化になり、異なる視点のピクチャを複数のレイヤで符号化するとビュースケーラブル符号化となる。複数のレイヤのピクチャ間で予測（インターレイヤ予測、インタービュー予測）を行う場合には、符号化効率が大きく向上する。また予測を行わない場合（サイマルキャスト）の場合にも、符号化データをまとめることができる。
【００２３】
ネットワーク２１は、画像符号化装置１１が生成した符号化ストリームＴｅを画像復号装置３１に伝送する。ネットワーク２１は、インターネット（internet）、広域ネットワーク（WAN:Wide Area Network）、小規模ネットワーク（LAN:Local Area Network）又はこれらの組み合わせである。ネットワーク２１は、必ずしも双方向の通信網に限らず、地上デジタル放送、衛星放送等の放送波を伝送する一方向の通信網であっても良い。また、ネットワーク２１は、DVD（Digital Versatile Disc）、BD（Blu-ray Disc:登録商標）等の符号化ストリームTeを記録した記憶媒体で代替されても良い。
【００２４】
画像復号装置３１は、ネットワーク２１が伝送した符号化ストリームTeのそれぞれを復号し、それぞれ復号した１又は複数の復号画像Tdを生成する。
【００２５】
画像表示装置４１は、画像復号装置３１が生成した１又は複数の復号画像Tdの全部又は一部を表示する。画像表示装置４１は、例えば、液晶ディスプレイ、有機ＥＬ（Electro-luminescence）ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、ＳＮＲスケーラブル符号化では、画像復号装置３１、画像表示装置４１が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。
【００２６】
＜演算子＞
本明細書で用いる演算子を以下に記載する。
【００２７】
>>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR、|=は別の条件との和演算（OR）である。
【００２８】
x ? y : zは、xが真（0以外）の場合にy、xが偽（0）の場合にzをとる３項演算子である。
【００２９】
Clip3(a, b, c) は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返し、c>bの場合にはbを返し、その他の場合にはcを返す関数である（ただし、a<=b）。
【００３０】
＜符号化ストリームTeの構造＞
本実施形態に係る画像符号化装置１１及び画像復号装置３１の詳細な説明に先立って、画像符号化装置１１によって生成され、画像復号装置３１によって復号される符号化ストリームTeのデータ構造について説明する。
【００３１】
図２は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、及びシーケンスを構成する複数のピクチャを含む。図２の（ａ）〜（ｆ）は、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニット（Coding Unit；CU）を示す図である。
【００３２】
（符号化ビデオシーケンス）
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために画像復号装置３１が参照するデータの集合が規定されている。シーケンスSEQは、図２の（ａ）に示すように、ビデオパラメータセット（Video Parameter Set）、シーケンスパラメータセットSPS（Sequence Parameter Set）、ピクチャパラメータセットPPS（Picture Parameter Set）、ピクチャPICT、及び、付加拡張情報SEI（Supplemental Enhancement Information）を含んでいる。ここで＃の後に示される値はレイヤIDを示す。図２では、#0と#1すなわちレイヤ０とレイヤ１の符号化データが存在する例を示すが、レイヤの種類及びレイヤの数はこれによらない。
【００３３】
ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合及び動画像に含まれる複数のレイヤ及び個々のレイヤに関連する符号化パラメータの集合が規定されている。
【００３４】
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置３１が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。
【００３５】
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置３１が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値（pic_init_qp_minus26）や重み付き予測の適用を示すフラグ（weighted_pred_flag）が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
【００３６】
（符号化ピクチャ）
符号化ピクチャでは、処理対象のピクチャPICTを復号するために画像復号装置３１が参照するデータの集合が規定されている。ピクチャPICTは、図２の（ｂ）に示すように、スライスS0〜SNS-1を含んでいる（ＮＳはピクチャPICTに含まれるスライスの総数）。
【００３７】
なお、以下、スライスS0〜SNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
【００３８】
（符号化スライス）
符号化スライスでは、処理対象のスライスSを復号するために画像復号装置３１が参照するデータの集合が規定されている。スライスSは、図２の（ｃ）に示すように、スライスヘッダSH、及び、スライスデータSDATAを含んでいる。
【００３９】
スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置３１が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報（slice_type）は、スライスヘッダSHに含まれる符号化パラメータの一例である。
【００４０】
スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単方向予測、又は、イントラ予測を用いるＰスライス、（３）符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるＢスライスなどが挙げられる。
【００４１】
なお、スライスヘッダSHには、上記符号化ビデオシーケンスに含まれる、ピクチャパラメータセットPPSへの参照（pic_parameter_set_id）を含んでいても良い。
【００４２】
（符号化スライスデータ）
符号化スライスデータでは、処理対象のスライスデータSDATAを復号するために画像復号装置３１が参照するデータの集合が規定されている。スライスデータSDATAは、図２の（ｄ）に示すように、符号化ツリーユニット（CTU:Coding Tree Unit）を含んでいる。CTUは、スライスを構成する固定サイズ（例えば64x64）のブロックであり、最大符号化単位（LCU:Largest Coding Unit）と呼ぶこともある。
【００４３】
（符号化ツリーユニット）
図２の（ｅ）に示すように、処理対象の符号化ツリーユニットを復号するために画像復号装置３１が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な四分木分割（QT分割）又は二分木分割（BT分割）により分割される。再帰的な四分木分割又は二分木分割により得られる木構造のノードのことを符号化ノード（CN:Coding Node）と称する。四分木及び二分木の中間ノードは、符号化ツリー（CT:Coding Tree）であり、符号化ツリーユニット自身も最上位の符号化ツリーとして規定される。
【００４４】
CTUは、QT分割を行うか否かを示すQT分割フラグ（cu_split_flag）、及びBT分割の分割方法を示すBT分割モード（split_bt_mode）を含む。cu_split_flagが１の場合には、４つの符号化ノードCNに分割される。cu_split_flagが０の場合には、符号化ノードCNは分割されず、１つの符号化ユニット（CU:Coding Unit）をノードとして持つ。一方、split_bt_modeが２の場合には、２つの符号化ノードCNに水平分割（horitonzal split、水平な分割線による分割、上と下の２つ以上のブロックに分割）される。split_bt_modeが１の場合には、２つの符号化ノードCNに垂直分割（vertical split、垂直な分割線による分割、ここでは左と右の２つ以上のブロックに分割）される。split_bt_modeが０の場合には、符号化ノードCNは分割されず、１つの符号化ユニットCUをノードとして持つ。なお、水平分割は、あるブロックが垂直方向に並ぶ２つ以上のブロックに分割されるため、垂直な分割（split vertically）とも呼ぶ。同様に、垂直分割は、あるブロックが水平方向に並ぶ２つ以上のブロックに分割されるため水平な分割（split horizontally）とも呼ぶ。まとめると用語の定義は以下のとおりである。
【００４５】
水平分割（horizontal split）= 垂直に分割（split vertically）= 上下に分割
垂直分割（vertical split）= 水平に分割（split horizontally）= 左右に分割
符号化ユニットCUは符号化ノードの末端ノード（リーフノード）であり、これ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
【００４６】
また、符号化ツリーユニットCTUのサイズが64x64画素の場合には、符号化ユニットのサイズは、64x64画素、64x32画素、32x64画素、32x32画素、64x16画素、16x64画素、32x16画素、16x32画素、16x16画素、64x8画素、8x64画素、32x8画素、8x32画素、16x8画素、8x16画素、及び、8x8画素の何れかをとり得る。
【００４７】
（符号化ユニット）
図２の（ｆ）に示すように、処理対象の符号化ユニットを復号するために画像復号装置３１が参照するデータの集合が規定されている。具体的には、符号化ユニットは、予測ツリー、変換ツリー、CUヘッダCUHから構成される。CUヘッダでは予測モード、分割方法（PU分割モード）等が規定される。
【００４８】
予測ツリーでは、符号化ユニットを１又は複数に分割した各予測ユニット（PU）の予測情報（参照ピクチャインデックス、動きベクトル等）が規定される。別の表現でいえば、予測ユニットは、符号化ユニットを構成する１又は複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた１又は複数の予測ユニットを含む。なお、以下では、予測ユニットをさらに分割した予測単位を「サブブロック」と呼ぶ。サブブロックは、複数の画素によって構成されている。予測ユニットとサブブロックのサイズが等しい場合には、予測ユニット中のサブブロックは１つである。予測ユニットがサブブロックのサイズよりも大きい場合には、予測ユニットは、サブブロックに分割される。たとえば予測ユニットが8x8、サブブロックが4x4の場合には、予測ユニットは水平に２分割、垂直に２分割からなる、４つのサブブロックに分割される。
【００４９】
予測処理は、この予測ユニット（サブブロック）ごとに行ってもよい。
【００５０】
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との２つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間（例えば、表示時刻間、レイヤ画像間）で行われる予測処理を指す。
【００５１】
イントラ予測の場合、分割方法は、2Nx2N（符号化ユニットと同一サイズ）と、NxNとがある。
【００５２】
また、インター予測の場合、分割方法は、符号化データのPU分割モード（part_mode）により符号化され、2Nx2N（符号化ユニットと同一サイズ）、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、及び、NxNなどがある。なお、2NxN、Nx2Nは1:1の対称分割を示し、
2NxnU、2NxnD及びnLx2N、nRx2Nは、1:3、3:1の非対称分割を示す。CUに含まれるPUを順にPU0、PU1、PU2、PU3と表現する。
【００５３】
図３の（ａ）〜（ｈ）に、それぞれのPU分割モードにおけるパーティションの形状（PU分割の境界の位置）を具体的に図示している。図３の（ａ）は、2Nx2Nのパーティションを示し、（ｂ）、（ｃ）、（ｄ）は、それぞれ、2NxN、2NxnU、及び、2NxnDのパーティション（横長パーティション）を示す。（ｅ）、（ｆ）、（ｇ）は、それぞれ、Nx2N、nLx2N、nRx2Nである場合のパーティション（縦長パーティション）を示し、（ｈ）は、NxNのパーティションを示す。なお、横長パーティションと縦長パーティションを総称して長方形パーティション、2Nx2N、NxNを総称して正方形パーティションと呼ぶ。
【００５４】
また、変換ツリー（TT：Transform Tree）においては、符号化ユニットが１又は複数の変換ユニット（TU：Transform Unit）に分割され、各変換ユニットの位置とサイズとが規定される。別の表現でいえば、変換ユニットは、符号化ユニットを構成する１又は複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた１又は複数の変換ユニットを含む。
【００５５】
変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ユニットとして割り付けるものと、上述したCUの分割と同様、CUを四分木分割（TU分割）することにより変換ユニットを得るものがある。変換処理は、この変換ユニットごとに行われる。
【００５６】
（予測パラメータ）
予測ユニット（PU：Prediction Unit）の予測画像は、PUに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータ若しくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ（インター予測パラメータ）について説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、動きベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が１の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「ＸＸであるか否かを示すフラグ」と記す場合、フラグが０以外（たとえば１）をＸＸである場合、０をＸＸではない場合とし、論理否定、論理積などでは１を真、０を偽と扱う（以下同様）。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
【００５７】
符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。
【００５８】
（参照ピクチャリスト）
参照ピクチャリストは、参照ピクチャメモリ３０６に記憶された参照ピクチャからなるリストである。図４は、参照ピクチャ及び参照ピクチャリストの一例を示す概念図である。図４の（ａ）において、矩形はピクチャ、矢印はピクチャの参照関係、横軸は時間、矩形中のI、P、Bは各々イントラピクチャ、単予測ピクチャ、双予測ピクチャ、矩形中の数字は復号順を示す。図に示すように、ピクチャの復号順は、I0、P1、B2、B3、B4であり、表示順は、I0、B3、B2、B4、P1である。図４の（ｂ）に、参照ピクチャリストの例を示す。参照ピクチャリストは、参照ピクチャの候補を表すリストであり、１つのピクチャ（スライス）が１つ以上の参照ピクチャリストを有してもよい。図の例では、対象ピクチャB3は、L0リストRefPicList0及びL1リストRefPicList1の２つの参照ピクチャリストを持つ。対象ピクチャがB3の場合の参照ピクチャは、I0、P1、B2であり、参照ピクチャはこれらのピクチャを要素として持つ。個々の予測ユニットでは、参照ピクチャリストRefPicListX中のどのピクチャを実際に参照するかを参照ピクチャインデックスrefIdxLXで指定する。図では、refIdxL0及びrefIdxL1により参照ピクチャP1とB2が参照される例を示す。
【００５９】
（マージ予測とAMVP予測）
予測パラメータの復号（符号化）方法には、マージ予測（merge）モードとAMVP（Adaptive Motion Vector Prediction、適応動きベクトル予測）モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージ予測モードは、予測リスト利用フラグpredFlagLX（又はインター予測識別子inter_pred_idc）、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めずに、既に処理した近傍PUの予測パラメータから導出する用いるモードであり、AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めるモードである。なお、動きベクトルmvLXは、予測ベクトルmvpLXを識別する予測ベクトルインデックスmvp_LX_idxと差分ベクトルmvdLXとして符号化される。
【００６０】
インター予測識別子inter_pred_idcは、参照ピクチャの種類及び数を示す値であり、PRED_L0、PRED_L1、PRED_BIの何れかの値をとる。PRED_L0、PRED_L1は、各々L0リスト、L1リストの参照ピクチャリストで管理された参照ピクチャを用いることを示し、１枚の参照ピクチャを用いること（単予測）を示す。PRED_BIは２枚の参照ピクチャを用いること（双予測BiPred）を示し、L0リストとL1リストで管理された参照ピクチャを用いる。予測ベクトルインデックスmvp_LX_idxは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストで管理された参照ピクチャを示すインデックスである。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、LXをL0、L1に置き換えることでL0リストに対するパラメータとL1リストに対するパラメータを区別する。
【００６１】
マージインデックスmerge_idxは、処理が完了したPUから導出される予測パラメータ候補（マージ候補）のうち、いずれかの予測パラメータを復号対象PUの予測パラメータとして用いるかを示すインデックスである。
【００６２】
（動きベクトル）
動きベクトルmvLXは、異なる２つのピクチャ上のブロック間のずれ量を示す。動きベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。
【００６３】
（インター予測識別子inter_pred_idcと予測リスト利用フラグpredFlagLX）
インター予測識別子inter_pred_idcと、予測リスト利用フラグpredFlagL0、predFlagL1の関係は以下のとおりであり、相互に変換可能である。
【００６４】
inter_pred_idc = （predFlagL1<<１） + predFlagL0
predFlagL0 = inter_pred_idc & １
predFlagL1 = inter_pred_idc >> １
なお、インター予測パラメータは、予測リスト利用フラグを用いても良いし、インター予測識別子を用いてもよい。また、予測リスト利用フラグを用いた判定は、インター予測識別子を用いた判定に置き替えてもよい。逆に、インター予測識別子を用いた判定は、予測リスト利用フラグを用いた判定に置き替えてもよい。
【００６５】
（双予測biPredの判定）
双予測BiPredであるかのフラグbiPredは、２つの予測リスト利用フラグがともに１であるかによって導出できる。たとえば以下の式で導出できる。
【００６６】
biPred = (predFlagL0 == 1 && predFlagL1 == 1)
フラグbiPredは、インター予測識別子が２つの予測リスト（参照ピクチャ）を使うことを示す値であるか否かによっても導出できる。たとえば以下の式で導出できる。
【００６７】
biPred = (inter_pred_idc == PRED_BI) ? 1 : 0
上記式は、以下の式でも表現できる。
【００６８】
biPred = (inter_pred_idc == PRED_BI)
なお、PRED_BIはたとえば3の値を用いることができる。
【００６９】
（画像復号装置の構成）
次に、本実施形態に係る画像復号装置３１の構成について説明する。図５は、本実施形態に係る画像復号装置３１の構成を示す概略図である。画像復号装置３１は、エントロピー復号部３０１、予測パラメータ復号部（予測画像復号装置）３０２、ループフィルタ３０５、参照ピクチャメモリ３０６、予測パラメータメモリ３０７、予測画像生成部（予測画像生成装置）３０８、逆量子化・逆DCT部３１１、及び加算部３１２を含んで構成される。
【００７０】
また、予測パラメータ復号部３０２は、インター予測パラメータ復号部３０３及びイントラ予測パラメータ復号部３０４を含んで構成される。予測画像生成部３０８は、インター予測画像生成部３０９及びイントラ予測画像生成部３１０を含んで構成される。
【００７１】
エントロピー復号部３０１は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号（シンタックス要素）を分離し復号する。分離された符号には、予測画像を生成するための予測情報及び、差分画像を生成するための残差情報などがある。
【００７２】
エントロピー復号部３０１は、分離した符号の一部を予測パラメータ復号部３０２に出力する。分離した符号の一部とは、例えば、予測モードpredMode、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXである。どの符号を復号するかの制御は、予測パラメータ復号部３０２の指示に基づいて行われる。エントロピー復号部３０１は、量子化係数を逆量子化・逆DCT部３１１に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT（Discrete Cosine Transform、離散コサイン変換）を行い量子化して得られる係数である。
【００７３】
インター予測パラメータ復号部３０３は、エントロピー復号部３０１から入力された符号に基づいて、予測パラメータメモリ３０７に記憶された予測パラメータを参照してインター予測パラメータを復号する。
【００７４】
インター予測パラメータ復号部３０３は、復号したインター予測パラメータを予測画像生成部３０８に出力し、また予測パラメータメモリ３０７に記憶する。インター予測パラメータ復号部３０３の詳細については後述する。
【００７５】
イントラ予測パラメータ復号部３０４は、エントロピー復号部３０１から入力された符号に基づいて、予測パラメータメモリ３０７に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、CUを１つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部３０４は、復号したイントラ予測パラメータを予測画像生成部３０８に出力し、また予測パラメータメモリ３０７に記憶する。
【００７６】
イントラ予測パラメータ復号部３０４は、輝度と色差で異なるイントラ予測モードを導出しても良い。この場合、イントラ予測パラメータ復号部３０４は、輝度の予測パラメータとして輝度予測モードIntraPredModeY、色差の予測パラメータとして、色差予測モードIntraPredModeCを復号する。輝度予測モードIntraPredModeYは、３５モードであり、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）が対応する。色差予測モードIntraPredModeCは、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）、LMモード（３５）の何れかを用いるものである。イントラ予測パラメータ復号部３０４は、IntraPredModeCは輝度モードと同じモードであるか否かを示すフラグを復号し、フラグが輝度モードと同じモードであることを示せば、IntraPredModeCにIntraPredModeYを割り当て、フラグが輝度モードと異なるモードであることを示せば、IntraPredModeCとして、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）、LMモード（３５）を復号しても良い。
【００７７】
ループフィルタ３０５は、加算部３１２が生成したCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット（SAO）、適応ループフィルタ（ALF）等のフィルタを施す。
【００７８】
参照ピクチャメモリ３０６は、加算部３１２が生成したCUの復号画像を、復号対象のピクチャ及びCU毎に予め定めた位置に記憶する。
【００７９】
予測パラメータメモリ３０７は、予測パラメータを、復号対象のピクチャ及び予測ユニット（若しくはサブブロック、固定サイズブロック、ピクセル）毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ３０７は、インター予測パラメータ復号部３０３が復号したインター予測パラメータ、イントラ予測パラメータ復号部３０４が復号したイントラ予測パラメータ及びエントロピー復号部３０１が分離した予測モードpredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測リスト利用フラグpredFlagLX（インター予測識別子inter_pred_idc）、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXがある。
【００８０】
予測画像生成部３０８には、エントロピー復号部３０１から入力された予測モードpredModeが入力され、また予測パラメータ復号部３０２から予測パラメータが入力される。また、予測画像生成部３０８は、参照ピクチャメモリ３０６から参照ピクチャを読み出す。予測画像生成部３０８は、予測モードpredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いてPUの予測画像を生成する。
【００８１】
ここで、予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部３０９は、インター予測パラメータ復号部３０３から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測によりPUの予測画像を生成する。
【００８２】
インター予測画像生成部３０９は、予測リスト利用フラグpredFlagLXが１である参照ピクチャリスト（L0リスト、若しくはL1リスト）に対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャから、復号対象PUを基準として動きベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ３０６から読み出す。インター予測画像生成部３０９は、読み出した参照ピクチャブロックをもとに予測を行ってPUの予測画像を生成する。インター予測画像生成部３０９は、生成したPUの予測画像を加算部３１２に出力する。
【００８３】
予測モードpredModeがイントラ予測モードを示す場合、イントラ予測画像生成部３１０は、イントラ予測パラメータ復号部３０４から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部３１０は、復号対象のピクチャであって、既に復号されたPUのうち、復号対象PUから予め定めた範囲にある隣接PUを参照ピクチャメモリ３０６から読み出す。予め定めた範囲とは、復号対象PUがいわゆるラスタースキャンの順序で順次移動する場合、例えば、左、左上、上、右上の隣接PUのうちのいずれかであり、イントラ予測モードによって異なる。ラスタースキャンの順序とは、各ピクチャにおいて、上端から下端まで各行について、順次左端から右端まで移動させる順序である。
【００８４】
イントラ予測画像生成部３１０は、読み出した隣接PUについてイントラ予測モードIntraPredModeが示す予測モードで予測を行ってPUの予測画像を生成する。イントラ予測画像生成部３１０は、生成したPUの予測画像を加算部３１２に出力する。
【００８５】
イントラ予測パラメータ復号部３０４において、輝度と色差で異なるイントラ予測モードを導出する場合、イントラ予測画像生成部３１０は、輝度予測モードIntraPredModeYに応じて、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）の何れかによって輝度のPUの予測画像を生成し、色差予測モードIntraPredModeCに応じて、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）、LMモード（３５）の何れかによって色差のPUの予測画像を生成する。
【００８６】
逆量子化・逆DCT部３１１は、エントロピー復号部３０１から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部３１１は、求めたDCT係数について逆DCT（Inverse Discrete Cosine Transform、逆離散コサイン変換）を行い、残差信号を算出する。逆量子化・逆DCT部３１１は、算出した残差信号を加算部３１２に出力する。
【００８７】
加算部３１２は、インター予測画像生成部３０９又はイントラ予測画像生成部３１０から入力されたPUの予測画像と逆量子化・逆DCT部３１１から入力された残差信号を画素毎に加算して、PUの復号画像を生成する。加算部３１２は、生成したPUの復号画像を参照ピクチャメモリ３０６に記憶し、生成したPUの復号画像をピクチャ毎に統合した復号画像Tdを外部に出力する。
【００８８】
（画像符号化装置の構成）
次に、本実施形態に係る画像符号化装置１１の構成について説明する。図６は、本実施形態に係る画像符号化装置１１の構成を示すブロック図である。画像符号化装置１１は、予測画像生成部１０１、減算部１０２、DCT・量子化部１０３、エントロピー符号化部１０４、逆量子化・逆DCT部１０５、加算部１０６、ループフィルタ１０７、予測パラメータメモリ（予測パラメータ記憶部、フレームメモリ）１０８、参照ピクチャメモリ（参照画像記憶部、フレームメモリ）１０９、符号化パラメータ決定部１１０、予測パラメータ符号化部１１１を含んで構成される。予測パラメータ符号化部１１１は、インター予測パラメータ符号化部１１２及びイントラ予測パラメータ符号化部１１３を含んで構成される。
【００８９】
予測画像生成部１０１は画像Ｔの各ピクチャについて、そのピクチャを分割した領域である符号化ユニットCU毎に予測ユニットPUの予測画像Ｐを生成する。ここで、予測画像生成部１０１は、予測パラメータ符号化部１１１から入力された予測パラメータに基づいて参照ピクチャメモリ１０９から復号済のブロックを読み出す。予測パラメータ符号化部１１１から入力された予測パラメータとは、例えばインター予測の場合、動きベクトルである。予測画像生成部１０１は、対象PUを起点として動きベクトルが示す参照画像上の位置にあるブロックを読み出す。またイントラ予測の場合、予測パラメータとは例えばイントラ予測モードである。イントラ予測モードで使用する隣接PUの画素値を参照ピクチャメモリ１０９から読み出し、PUの予測画像Pを生成する。予測画像生成部１０１は、読み出した参照ピクチャブロックについて複数の予測方式のうちの１つの予測方式を用いてPUの予測画像Ｐを生成する。予測画像生成部１０１は、生成したPUの予測画像Ｐを減算部１０２に出力する。
【００９０】
なお、予測画像生成部１０１は、既に説明した予測画像生成部３０８と同じ動作である。
【００９１】
予測画像生成部１０１は、予測パラメータ符号化部から入力されたパラメータを用いて、参照ピクチャメモリから読み出した参照ブロックの画素値をもとにPUの予測画像Pを生成する。予測画像生成部１０１で生成した予測画像は減算部１０２、加算部１０６に出力される。
【００９２】
減算部１０２は、予測画像生成部１０１から入力されたPUの予測画像Ｐの信号値を、画像Ｔの対応するPUの画素値から減算して、残差信号を生成する。減算部１０２は、生成した残差信号をDCT・量子化部１０３に出力する。
【００９３】
DCT・量子化部１０３は、減算部１０２から入力された残差信号についてDCTを行い、DCT係数を算出する。DCT・量子化部１０３は、算出したDCT係数を量子化して量子化係数を求める。DCT・量子化部１０３は、求めた量子化係数をエントロピー符号化部１０４及び逆量子化・逆DCT部１０５に出力する。
【００９４】
エントロピー符号化部１０４には、DCT・量子化部１０３から量子化係数が入力され、予測パラメータ符号化部１１１から符号化パラメータが入力される。入力される符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、予測モードpredMode、及びマージインデックスmerge_idx等の符号がある。
【００９５】
エントロピー符号化部１０４は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化ストリームTeを生成し、生成した符号化ストリームTeを外部に出力する。
【００９６】
逆量子化・逆DCT部１０５は、DCT・量子化部１０３から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部１０５は、求めたDCT係数について逆DCTを行い、残差信号を算出する。逆量子化・逆DCT部１０５は、算出した残差信号を加算部１０６に出力する。
【００９７】
加算部１０６は、予測画像生成部１０１から入力されたPUの予測画像Ｐの信号値と逆量子化・逆DCT部１０５から入力された残差信号の信号値を画素毎に加算して、復号画像を生成する。加算部１０６は、生成した復号画像を参照ピクチャメモリ１０９に記憶する。
【００９８】
ループフィルタ１０７は加算部１０６が生成した復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット（SAO）、適応ループフィルタ（ALF）を施す。
【００９９】
予測パラメータメモリ１０８は、符号化パラメータ決定部１１０が生成した予測パラメータを、符号化対象のピクチャ及びCU毎に予め定めた位置に記憶する。
【０１００】
参照ピクチャメモリ１０９は、ループフィルタ１０７が生成した復号画像を、符号化対象のピクチャ及びCU毎に予め定めた位置に記憶する。
【０１０１】
符号化パラメータ決定部１１０は、符号化パラメータの複数のセットのうち、１つのセットを選択する。符号化パラメータとは、上述した予測パラメータやこの予測パラメータに関連して生成される符号化の対象となるパラメータである。予測画像生成部１０１は、これらの符号化パラメータのセットの各々を用いてPUの予測画像Ｐを生成する。
【０１０２】
符号化パラメータ決定部１１０は、複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部１０２において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部１１０は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部１０４は、選択した符号化パラメータのセットを符号化ストリームTeとして外部に出力し、選択されなかった符号化パラメータのセットを出力しない。符号化パラメータ決定部１１０は決定した符号化パラメータを予測パラメータメモリ１０８に記憶する。
【０１０３】
予測パラメータ符号化部１１１は、符号化パラメータ決定部１１０から入力されたパラメータから、符号化するための形式を導出し、エントロピー符号化部１０４に出力する。符号化するための形式の導出とは、例えば動きベクトルと予測ベクトルから差分ベクトルを導出することである。また予測パラメータ符号化部１１１は、符号化パラメータ決定部１１０から入力されたパラメータから予測画像を生成するために必要なパラメータを導出し、予測画像生成部１０１に出力する。予測画像を生成するために必要なパラメータとは、例えばサブブロック単位の動きベクトルである。
【０１０４】
インター予測パラメータ符号化部１１２は、符号化パラメータ決定部１１０から入力された予測パラメータに基づいて、差分ベクトルのようなインター予測パラメータを導出する。インター予測パラメータ符号化部１１２は、予測画像生成部１０１に出力する予測画像の生成に必要なパラメータを導出する構成として、インター予測パラメータ復号部３０３（図５等、参照）がインター予測パラメータを導出する構成と一部同一の構成を含む。インター予測パラメータ符号化部１１２の構成については、後述する。
【０１０５】
イントラ予測パラメータ符号化部１１３は、符号化パラメータ決定部１１０から入力されたイントラ予測モードIntraPredModeから、符号化するための形式（例えばMPM_idx、rem_intra_luma_pred_mode等）を導出する。
【０１０６】
（画像復号装置の要部構成）
図１０に、本実施形態に係る画像復号装置の要部構成を示したブロック図を示す。本図では、図を簡略化するために、図５に示したブロック図に含まれる一部の部材の図示を省略している。また、説明の便宜上、図５に示した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０１０７】
図１０に示すように、画像復号装置３１は、エントロピー復号部３０１、予測画像生成部３０８、逆量子化・逆DCT変換部３１１、参照ピクチャメモリ３０６、加算部３１２、ループフィルタ３０５、を備えている。エントロピー復号部３０１は、復号モジュール９、CN情報復号部１０（分割情報復号部）、ヘッダ復号部１９、CU復号部２０、及びコンテキスト決定部３２を備えている。CU復号部２０は、さらにPU情報復号部１２及びTT情報復号部１３（分割情報復号部、分割部）を備えており、TT情報復号部１３は、さらにTU復号部２２を備えている。
【０１０８】
（復号モジュール）
以下、各モジュールの概略動作を説明する。復号モジュール９は、バイナリからシンタックス値を復号する復号処理を行う。復号モジュール９は、より具体的には、供給元から供給される符号化データ及びシンタックス種別に基づいて、CABAC等の可変長符号化方式、あるいは固定長符号化方式により符号化されているシンタックス値を復号し、復号したシンタックス値を供給元に返す。
【０１０９】
以下に示す例では、符号化データ及びシンタックス種別の供給元は、CN情報復号部１０、CU復号部２０（PU情報復号部１２及びTT情報復号部１３）である。
【０１１０】
（ヘッダ復号部）
ヘッダ復号部１９は、画像符号化装置１１から入力された符号化データのVPS（video parameter set）、SPS、PPS、スライスヘッダを復号する。
【０１１１】
（CN情報復号部）
CN情報復号部１０は、復号モジュール９を用いて、画像符号化装置１１から入力された符号化データについて、符号化ツリーユニット（CTU）及び符号化ノード（CN）の復号処理を行う。CN情報復号部１０は、具体的には、以下の手順により符号化データから、CTU情報及びCN情報を復号する。
【０１１２】
まず、CN情報復号部１０（分割情報復号部）は、復号モジュール９を用いて、CTUに含まれるCTU情報からツリーユニットヘッダCTUHを復号する。次に、CN情報復号部１０は、対象CNをQT分割するか否かを示すQT分割フラグ（分割情報）のコンテキスト（後述する）に応じて、CNに含まれるCN情報から、QT分割フラグを復号する。そして、CN情報復号部１０は、QT分割フラグがさらなる分割を通知しなくなるまで対象CNを再帰的に分割し復号する。最後に、CTU情報からツリーユニットフッタCTUFを復号する。
【０１１３】
なお、本実施形態では、復号されるCN情報がQT分割フラグ（qt_split_flag）である例を説明しているが、復号されるCN情報は、対象CNをBT（binary tree）分割するか否かを示すBT分割フラグ（bt_split_flag）、対象CNをTT（triple tree）分割するか否かを示すTT分割フラグ（tt_split_flag）であってもよい。図１１の（ａ）〜（ｃ）は、それぞれ、QT分割、BT分割、及びTT分割を示す図である。本図では、矢印が指し示すブロックが分割後のブロックである。図１１の（ａ）が示すように、QT分割は、ブロックを４分割する分割である。また、図１１の（ｂ）が示すように、BT分割は、ブロックを２分割する分割である。また、図１１の（ｃ）が示すように、TT分割は、ブロックを３分割する分割である。
【０１１４】
また、本実施形態に係る画像復号装置３１は、CNを分割しているが、同様の方法により、CU、PU、又はTU等のブロックを分割してもよい。その場合、上述の対象CNは、対象CU、対象PU、又は対象TU等であり得る。
【０１１５】
ツリーユニットヘッダCTUH及びツリーユニットフッタCTUFには、対象符号化ツリーユニットの復号方法を決定するために画像復号装置３１が参照する符号化パラメータが含まれる。また、CN情報には、QT分割フラグの他、後述するBT方向フラグ（BT分割モード）、対象CN及び下位の符号化ノードで適用されるパラメータを含んでいてもよい。
【０１１６】
（コンテキスト決定部）
コンテキスト決定部３２は、対象CNの分割関連情報と隣接CNの分割関連情報を取得する。なお、CNの分割関連情報とは、CNの分割状況に関連する情報であり、例えば、CNのパーティション番号、デプス、あるいは垂直デプス及び水平デプス、又はサイズ等を含む情報である。
【０１１７】
次に、コンテキスト決定部３２は、取得した対象CN及び隣接CNの分割関連情報を比較する。
【０１１８】
さらに、コンテキスト決定部３２は、比較結果に応じてコンテキストを決定する。コンテキスト決定部３２が決定したコンテキストは、上述のCN情報復号部１０に出力される。
【０１１９】
なお、本明細書におけるコンテキストとは、CABACにおけるコンテキストインデックスを示している。CABACでは、変換係数を表す各種のシンタックスに対して２値化処理が施され、この２値化処理によって得られた２値データが算術符号化される。ここで、上記各種のシンタックスとしては、QT分割するか否かを示すフラグqt_split_flag、変換係数が０であるか否かを示すフラグ、すなわち非０変換係数の有無を示すフラグsignificant_coeff_flag（変換係数有無フラグとも呼ぶ）、並びに、処理順で最後の非０変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yなどが挙げられる。
【０１２０】
また、CABACでは、シンボル（２値データの１ビット、Binとも呼ぶ）を１つ符号化する際、処理対象シンボルに対応するコンテキストインデックスが参照され、当該コンテキストインデックスによって指定される発生確率に応じた算術符号化が行われる。また、発生確率は、シンボルを１つ符号化する毎に更新される。
【０１２１】
本明細書において、QT分割フラグであるqt_split_flagに対応するコンテキストは、ctxIdxQT（又は、ctxIdxSplit）で示される。BT分割フラグであるbt_split_flagに対応するコンテキストは、ctxIdxBT（又は、ctxIdxSplit）で示される。TT分割フラグであるtt_split_flagに対応するコンテキストは、ctxIdxTT（又は、ctxIdxSplit）で示される。BT分割方向フラグまたはTT分割方向フラグであるbt_dir_flag、又はtt_dir_flagに対応するコンテキストは、ctxIdxDirで示される。つまりctxIdxDirは、分割方向として、水平に分割するか、または垂直に分割するかを示すコンテキストである。
【０１２２】
また、本明細書において、BT分割及びTT分割を区別せずに、両者を含めた分割をPT分割とすると、PT分割フラグであるpt_split_flagに対応するコンテキストは、ctxIdxPT（又は、ctxIdxSplit）で示される。PT分割方向フラグであるpt_dir_flagに対応するコンテキストは、ctxIdxDirで示される。PT分割パターンフラグであるpt_pat_flagに対応するコンテキストは、ctxIdxPatで示される。
【０１２３】
（CU復号部）
CU復号部２０は、PU情報復号部１２及びTT情報復号部１３から構成され、最下位の符号化ノードCN（すなわちCU）のPUI情報及びTTI情報を復号する。
【０１２４】
（PU情報復号部）
PU情報復号部１２では各PUのPU情報（マージフラグ（merge_flag）、マージインデックス（merge_idx）、予測ベクトルインデックス（mvp_idx）、参照画像インデックス（ref_idx）、インター予測識別子（inter_pred_flag）、及び差分ベクトル（mvd）等）を、復号モジュール９を用いて復号する。
【０１２５】
（TT情報復号部）
TT情報復号部１３は、変換ツリーTTのTT情報（TU分割フラグSP_TU（split_transform_flag）、TU残差フラグCBP_TU（cbf_cb、cbf_cr、cbf_luma）等、及びTU）を、復号モジュール９を用いて復号する。
【０１２６】
また、TT情報復号部１３は、TU復号部２２を備えている。TU復号部２２は、TUに残差が含まれている場合に、QP更新情報（量子化補正値）を復号する。なお、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの差分値を示す値である。またTU復号部２２は、量子化予測残差（residual_coding）を復号する。
【０１２７】
（コンテキスト決定方法）
本実施形態に係る画像復号装置３１によるコンテキスト決定方法について、図１２を参照して、詳細に説明する。図１２は、本実施形態に係る画像復号装置３１によるコンテキスト決定方法の一例を説明するフローチャート図である。
【０１２８】
コンテキスト決定部３２は、CN情報復号部１０がまだ分割していない対象CN（対象ブロック）の分割関連情報と、当該対象CNに隣接し、かつ、CN情報復号部１０がすでに分割し復号した隣接CN（隣接ブロック）の分割関連情報と、をCN情報復号部１０から取得する。（ステップＳ０）。なお、本明細書では、対象ブロックとして対象CN、隣接ブロックとして隣接CNを用いた例を示すが、対象ブロック及び隣接ブロックは、CU、PU、又はTUであってもよい。対象ブロック及び隣接ブロックがCU、PU、又はTUである場合、本実施形態に係るコンテキスト決定方法を同様に実施することができ、対象CU、対象PU、又は対象TUを分割するか否かを示すQT分割フラグを復号する確率を示すコンテキストを決定することができる。
【０１２９】
コンテキスト決定部３２は、取得した対象CN及び隣接CNを参照して、分割状況を特定することにより、対象CNの各辺（例えば、上辺又は左辺）に接している隣接CNの分割線が存在するか否かを判定する（ステップＳ１）。なお、ステップＳ１の具体的な方法については後述する。
【０１３０】
コンテキスト決定部３２は、判定した分割状況に応じて、コンテキストを決定する（ステップＳ２）。なお、ステップＳ２の具体的な方法については後述する。
【０１３１】
CN情報復号部１０は、コンテキスト決定部３２が決定したコンテキストに応じて、CNに含まれるCN情報から、対象CNをQT分割するか否かを示すQT分割フラグを復号する（ステップＳ３）。
【０１３２】
以下で、本実施形態のコンテキスト決定方法の具体的な方法を説明する。図１３は、本実施形態のコンテキスト決定方法のステップＳ１を説明するための図であり、対象ブロックＯ、隣接ブロックＷＬ、隣接ブロックＷＡ及び隣接ブロックＷＢを示している。図１３が示すように、対象ブロックＯは、左辺において、隣接ブロックＷＬと隣接している。また、対象ブロックＯは、上辺において、隣接ブロックＷＡ及び隣接ブロックＷＢと隣接している。なお、図１３における各ブロック内の番号は、パーティション番号を示している。
【０１３３】
なお、以下の説明で、コンテキスト決定部３２は、垂直方向の分割フラグsplitVerticallyと水平方向の分割フラグsplitHorizontallyとを導出するが、これらは、各々、水平分割フラグhorSplit、垂直分割フラグverSplitと呼んでもよい。等価なフラグの関係をまとめると、以下のとおりである。
【０１３４】
splitVertically  = horSplit
splitHorizontally = verSplit
また、垂直方向の分割フラグsplitVerticallyを左の隣接ブロックから導出する場合、splitVerticallyをsplitLeftとも呼び、水平方向の分割フラグsplitHorizonallyを上の隣接ブロックから導出する場合、splitHorizonallyをsplitAboveとも呼ぶ。
【０１３５】
まず、ステップＳ１において、コンテキスト決定部３２は、ステップＳ０で取得した隣接ブロックＷＬの分割関連情報を参照して、隣接ブロックＷＬと対象ブロックＯとが接する線分（つまり、対象ブロックＯの左辺）に接する分割線があるか否かを判定する。そして、コンテキスト決定部３２は、分割線の有無を判定した結果を、垂直に分割フラグsplitVertically（以下において、splitLeft、または、水平分割フラグhorSplitとしてもよい）として出力する。図１３が示すように、対象ブロックＯの左辺には分割線が接していないので、コンテキスト決定部３２は、分割線が存在しないことを示すsplitVertically (=splitLeft = horSplit) = 0を設定する。
【０１３６】
また、コンテキスト決定部３２は、ステップＳ０で取得した隣接ブロックＷＡ及び隣接ブロックＷＢの分割関連報を参照して、隣接ブロックＷＡ及び隣接ブロックＷＢを合わせたブロックと対象ブロックＯとが接する線分（つまり、対象ブロックＯの上辺）に接する分割線があるか否かを判定する。そして、コンテキスト決定部３２は、分割線の有無を判定した結果を、水平な分割フラグsplitHorizontally（以下において、splitAbove、または、垂直分割フラグverSplitとしてもよい）として出力する。図１３が示すように、対象ブロックＯの上辺に接する分割線が存在するので、コンテキスト決定部３２は、分割線が存在することを示すsplitHorizontally (= splitAbove = verSplit) = 1を設定する。
【０１３７】
次に、ステップＳ２において、コンテキスト決定部３２は、設定したsplitVertically及びsplitHorizontallyを参照して、対象ブロックを分割するか否かのコンテキストctxIdxSplitを、例えば、以下の式により導出する。
【０１３８】
ctxIdxSplit = splitVertically + splitHorizontally (= splitLeft + splitAbove = horSplit + verSplit)
図１３が示す隣接ブロックの例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部３２は、ctxIdxSplit = 1を出力する。なお、コンテキストによって指定されるコンテキスト変数に含まれる確率状態インデックスの指し示す発生確率は、分割線があるほど高くなるように設定、更新される。つまり、CN情報復号部１０は、隣接ブロックの分割線が存在するか否かで、コンテキストを切り替えることにより、隣接ブロックに分割線がある場合に、対象ブロックＯで“分割あり”を示す分割フラグを復号すれば符号量を小さくすることができる。このような設定をする理由は、隣接ブロックＷＡ又は隣接ブロックＷＢが分割されている場合、対象ブロックＯも分割される可能性が高いためである。
【０１３９】
以下の各具体例で、上述のコンテキスト決定方法のステップＳ１及びＳ２の具体例を、図面を参照して詳細に説明する。
【０１４０】
（具体例１）
図１４は、本具体例のコンテキスト決定方法のステップＳ１を説明するための図であり、対象ブロックＯ、隣接ブロックＷＬ、隣接ブロックＷＡ及び隣接ブロックＷＢを示している。図１４が示すように、対象ブロックＯは、左辺において、隣接ブロックＷＬと隣接している。また、対象ブロックＯは、上辺において、隣接ブロックＷＡ及び隣接ブロックＷＢと隣接している。
【０１４１】
なお、図１４が示すように、対象ブロックＯの左上座標を（xP,yP）、対象ブロックＯの左上座標の真左に隣接する点座標を、点Ｌ（xP-1,yP）とし、対象ブロックＯの左下座標の真左に隣接する点座標を、点ＬＢ（xP-1,yP+H-1）とする。また、対象ブロックＯの左上座標の真上に隣接する点座標を、点Ａ（xP,yP-1）とし、対象ブロックＯの右上座標の真上に隣接する点座標を、点ＡＲ（xP+W-1,yP-1）とする。なお、Wは、対象ブロックＯのＸ軸方向の幅であり、Hは、対象ブロックＯのＹ軸方向の高さである。図１４における各ブロック内の番号は、パーティション番号を示している。
【０１４２】
まず、ステップＳ１において、コンテキスト決定部３２がステップＳ０で取得した隣接ブロックＷＬの分割関連情報を参照して、点Ｌが含まれるブロックのパーティション番号partIDLと、点ＬＢが含まれるブロックのパーティション番号partIDLBとが異なるか否かを判定する。当該判定の式を下記に示す。
【０１４３】
splitVertically (= splitLeft = horSplit) = partIDL != partIDLB ? 1:0
点Ｌが含まれるブロックのパーティション番号と、点ＬＢが含まれるブロックのパーティション番号とが異なる場合、点Ｌと点ＬＢとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部３２は、対象ブロックＯの左辺に接する分割線が存在していると判定する。一方、点Ｌが含まれるブロックのパーティション番号と、点ＬＢが含まれるブロックのパーティション番号とが同じ場合、点Ｌと点ＬＢとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部３２は、対象ブロックＯの左辺に接する分割線が存在しないと判定する。
【０１４４】
コンテキスト決定部３２は、点Ｌが含まれるブロックのパーティション番号partIDと、点ＬＢが含まれるブロックのパーティション番号partIDLBとが異なるか否かの判定の結果を、上述のsplitVertically(=splitLeft=horSplit)として出力する。
【０１４５】
一つの例では、図１４が示すように、点Ｌと点ＬＢとは、同じ隣接ブロックＷＬに含まれるので、コンテキスト決定部３２は、分割線が存在しないことを示すsplitVertically = 0を設定する。
【０１４６】
同様にして、コンテキスト決定部３２は、ステップＳ０で取得した隣接ブロックＷＡ及び隣接ブロックＷＢの分割関連情報を参照して、点Ａが含まれるブロックのパーティション番号partIDAと、点ＡＲが含まれるブロックのパーティション番号partIDARとが異なるか否かを判定する。当該判定の式を下記に示す。
【０１４７】
splitHorizontally (=splitAbove=verSplit) = partIDA ! =partIDAR ? 1:0
そして、コンテキスト決定部３２は、当該判定の結果を、splitHorizontally(=splitAbove=verSplit)として出力する。図１４が示すように、点Ａと点ＡＲとは、それぞれ、異なる隣接ブロックＷＡと隣接ブロックＷＢに含まれるので、コンテキスト決定部３２は、分割線が存在することを示すsplitHorizontally = 1を設定する。
【０１４８】
次に、ステップＳ２において、コンテキスト決定部３２は、設定したsplitVertically及びsplitHorizontallyを参照して、コンテキストであるctxIdxSplit = splitVertically+ splitHorizontallyを決定する。本具体例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部３２は、ctxIdxSplit = 1を出力する。
【０１４９】
（具体例２）
図１５は、本具体例のコンテキスト決定方法のステップＳ１を説明するための図であり、対象ブロックＯ、隣接ブロックＷＬ、及び隣接ブロックＷＡを示している。図１５が示すように、対象ブロックＯは、左辺において、隣接ブロックＷＬと隣接している。また、対象ブロックＯは、上辺において、隣接ブロックＷＡと隣接している。また、図１５が示すように、隣接ブロックＷＬは、対象ブロックＯの左辺に接する点Ｌ（xPb-1,yP）を含み、隣接ブロックＷＡは、対象ブロックＯの上辺に接する点Ａ（xPb,yPb-1）を含む。なお、図１５における各ブロック内の(n,m)は、nが水平デプスを示し、mが垂直デプスを示す（n及びmは、整数である）。なお、水平デプスとは、あるブロックを、水平方向に並ぶ２つのブロックに分割した回数（分割階層）を示す。また、垂直デプスとは、あるブロックを、垂直方向に並ぶ２つのブロックに分割した回数（分割階層）を示す。例えば、符号化ツリーブロックCTBは、分割前において、水平デプス及び垂直デプスは、それぞれ、０である（depthHor = 0）（depthVer = 0）。QT分割においては、分割毎に、水平デプス及び垂直デプスは、それぞれ、１加算される（depthHor = depthHor + 1）（depthVer = depthVer + 1）。
【０１５０】
BT分割においては、分割毎に、水平デプス及び垂直デプスの何れか１つが、１加算される。あるブロックを上下に水平分割した場合（bt_split_flag = 1（BT分割フラグ）、bt_dir_flag = 0（BT分割方向フラグ））、垂直デプスが、１加算される（depthVer = depthVer + 1）。あるブロックを左右に垂直分割した場合（bt_split_flag = 1（BT分割フラグ）、bt_dir_flag = 1（BT分割方向フラグ））、水平デプスが、１加算される（depthHor = depthHor + 1）。
【０１５１】
TT分割においては、TT分割されたブロックの中央ブロック（パーティション番号を１とする（partIdx = 1））が、上下に水平分割された場合（pt_split_flag = 1、pt_dir_flag = 0、pt_pat_flag=1）、垂直デプスが、１加算される（depthVer = depthVer + 1）。TT分割されたブロックの中央ブロック（partIdx = 1）が、左右に垂直分割された場合（pt_split_flag = 1、pt_dir_flag = 1、pt_pat_flag=1）、水平デプスが、１加算される（depthHor = depthHor + 1）。
【０１５２】
また、TT分割されたブロックの中央ブロック以外のブロック（パーティション番号を０又は２とする（partIdx = 0 or 2））が、上下に水平分割された場合（pt_split_flag = 1、pt_dir_flag = 0、pt_pat_flag= 0 or 2）、垂直デプスが、２加算される（depthVer = depthVer + 2）。TT分割されたブロックの中央ブロック以外のブロック（partIdx = 0 or 2）が、左右に垂直分割された場合（pt_split_flag = 1、pt_dir_flag = 1、pt_pat_flag=1）、水平デプスが、２加算される（depthHor = depthHor + 2）。
【０１５３】
まず、ステップＳ１において、コンテキスト決定部３２は、隣接ブロックＷＬ及び対象ブロックＯの分割関連情報を参照して、点Ｌの垂直デプスdepthVerLeft（点Ｌを含む隣接ブロックＷＬの垂直デプスdepthVerLeft）と、対象ブロックＯの垂直デプスdepthVertCurrとを比較し、隣接ブロックＷＬの垂直デプスdepthVerLeftが対象ブロックＯの垂直デプスdepthVertCurrより大きいか否かを判定する。当該判定の式を下記に示す。
【０１５４】
splitVertically (= splitLeft = horSplit) = depthVerLeft > depthVertCurr ? 1 : 0
対象ブロックＯの左に隣接する隣接ブロックＷＬの垂直デプスが対象ブロックＯの垂直デプスより大きい場合、隣接ブロックＷＬは、対象ブロックＯよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部３２は、対象ブロックＯの左辺に接する分割線が存在すると判定する。一方、隣接ブロックＷＬの垂直デプスが対象ブロックＯの垂直デプスより小さい場合、対象ブロックＯは、隣接ブロックＷＬよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部３２は、対象ブロックＯの左辺に接する分割線は存在しないと判定する。なお、隣接ブロックＷＬの垂直デプスと対象ブロックＯの垂直デプスとが等しい場合、コンテキスト決定部３２は、対象ブロックＯの左辺に接する分割線は存在しないと判定する。
【０１５５】
そして、コンテキスト決定部３２は、隣接ブロックＷＬの垂直デプスが対象ブロックＯの垂直デプスより大きいか否かの判定の結果を、splitVerticallyとして出力する。図１５が示すように、隣接ブロックＷＬの垂直デプスは、対象ブロックＯの垂直デプスより小さいので、コンテキスト決定部３２は、分割線が存在しないことを示すsplitVertically = 0を設定する。
【０１５６】
また、コンテキスト決定部３２は、隣接ブロックＷＡ及び対象ブロックＯの分割関連情報を参照して、点Ａの水平デプスdepthHorUpper（点Ａを含む隣接ブロックＷＡの水平デプスdepthHorUpper）と、対象ブロックＯの水平デプスdepthHorCurrとを比較し、隣接ブロックＷＡの水平デプスdepthHorUpperが対象ブロックＯの水平デプスdepthHorCurrより大きいか否かを判定する。当該判定の式を下記に示す。
【０１５７】
splitHorizontally (= splitAbove = verSplit) = depthHorUpper > depthHorCurr ? 1: 0
対象ブロックＯの上に隣接する隣接ブロックＷＡの水平デプスが対象ブロックＯの水平デプスより大きい場合、隣接ブロックＷＡは、対象ブロックＯよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部３２は、対象ブロックＯの上辺に接する分割線が存在すると判定する。一方、隣接ブロックＷＡの水平デプスが対象ブロックＯの水平デプスより小さい場合、対象ブロックＯは、隣接ブロックＷＡよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部３２は、対象ブロックＯの上辺に接する分割線が存在しないと判定する。なお、隣接ブロックＷＡの水平デプスと対象ブロックＯの水平デプスとが等しい場合、コンテキスト決定部３２は、対象ブロックＯの上辺に接する分割線は存在しないと判定する。
【０１５８】
コンテキスト決定部３２は、隣接ブロックＷＡの水平デプスが対象ブロックＯの水平デプスより大きいか否かの判定の結果を、splitHorizontallyとして出力する。図１５が示すように、隣接ブロックＷＡの水平デプスは、対象ブロックＯの水平デプスより大きいので、コンテキスト決定部３２は、分割線が存在することを示すsplitHorizontally = 1を出力する。
【０１５９】
次に、ステップＳ２において、コンテキスト決定部３２は、設定したsplitVertically及びsplitHorizontallyを参照して、コンテキストであるctxIdxSplit = splitVertically+ splitHorizontallyを決定する。本具体例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部３２は、ctxIdxSplit = 1を出力する。
【０１６０】
（具体例３）
図１６は、本具体例のコンテキスト決定方法のステップＳ１を説明するための図であり、対象ブロックＯ、隣接ブロックＷＬ、及び隣接ブロックＷＡを示している。図１６が示すように、対象ブロックＯは、左辺において、隣接ブロックＷＬと隣接している。また、対象ブロックＯは、上辺において、隣接ブロックＷＡと隣接している。また、図１６が示すように隣接ブロックＷＬは、対象ブロックＯの左辺に接する点Ｌ（xPb-1,yP）を含み、隣接ブロックＷＡは、対象ブロックＯの上辺に接する点Ａ（xPb,yPb-1）を含む。なお、図１６における各ブロック内の(n,m)は、nが各ブロックの水平方向の幅を示し、mが垂直方向の高さを示す（n及びmは、整数である）。
【０１６１】
まず、ステップＳ１において、コンテキスト決定部３２は、対象ブロックＯ及び隣接ブロックＷＬの分割関連情報を参照して、対象ブロックＯの高さheightCurrと、点Ｌを含む隣接ブロックＷＬの高さheightLeftとを比較し、対象ブロックＯの高さheightCurrが隣接ブロックＷＬの高さheigthLeftより大きいか否かを判定する。当該判定の式を下記に示す。
【０１６２】
splitVertically (= splitLeft = horSplit) = heightLeft < heightCurr ? 1 : 0
対象ブロックＯの高さが隣接ブロックＷＬの高さより大きい場合、隣接ブロックＷＬは、対象ブロックＯよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部３２は、対象ブロックＯの左辺に接する分割線が存在すると判定する。一方、対象ブロックＯの高さが隣接ブロックＷＬの高さより小さい場合、対象ブロックＯは、隣接ブロックＷＬよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部３２は、対象ブロックＯの左辺に接する分割線は存在しないと判定する。なお、対象ブロックＯの高さと隣接ブロックＷＬの高さとが等しい場合、コンテキスト決定部３２は、対象ブロックＯの左辺に接する水平方向の分割線は存在しないと判定する。
【０１６３】
コンテキスト決定部３２は、対象ブロックＯの高さが隣接ブロックＷＬの高さより大きいか否かの判定の結果を、splitVerticallyとして出力する。図１６が示すように、対象ブロックＯの高さは、隣接ブロックＷＬの高さより小さいので、コンテキスト決定部３２は、分割線が存在しないことを示すsplitVertically = 0を設定する。
【０１６４】
また、コンテキスト決定部３２は、対象ブロックＯ及び隣接ブロックＷＡの分割関連情報を参照して、対象ブロックＯの幅widthCurrと、隣接ブロックＡを含む隣接ブロックＷＡの幅widthAboveとを比較し、対象ブロックＯの幅widthCurrが隣接ブロックＷＡの幅widthAboveより大きいか否かを判定する。当該判定の式を下記に示す。
【０１６５】
splitHorizontally (= splitAbove = verSplit)= widthAbove < widthCurr ? 1 : 0
対象ブロックＯの幅が隣接ブロックＷＡの幅より大きい場合、隣接ブロックＷＡは、対象ブロックＯよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部３２は、対象ブロックＯの上辺に接する分割線が存在すると判定する。一方、対象ブロックＯの幅が隣接ブロックＷＡの幅より小さい場合、対象ブロックＯは、隣接ブロックＷＡよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部３２は、対象ブロックＯの上辺に接する分割線は存在しないと判定する。なお、対象ブロックＯの幅と隣接ブロックＷＡの幅とが等しい場合、コンテキスト決定部３２は、対象ブロックＯの上辺に接する分割線は存在しないと判定する。
【０１６６】
コンテキスト決定部３２は、対象ブロックＯの幅が隣接ブロックＷＡの幅より大きいか否かの結果を、splitHorizontallyとして出力する。図１６が示すように、対象ブロックＯの幅は、隣接ブロックＷＡの幅より大きいので、コンテキスト決定部３２は、分割線が存在することを示すsplitHorizontally = 1を設定する。
【０１６７】
次に、ステップＳ２において、コンテキスト決定部３２は、設定したsplitVertically及びsplitHorizontallyを参照して、コンテキストであるctxIdxSplit = splitVertically+ splitHorizontally（= splitLeft + splitUpper）を決定する。本具体例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部３２は、ctxIdxSplit = 1を出力する。
【０１６８】
（具体例４）
以下で、本実施形態のコンテキスト決定方法の具体的な方法を説明する。図１７は、本実施形態のコンテキスト決定方法のS1202を説明するための図であり、対象ブロックＯ、隣接ブロックＷＬ、および隣接ブロックＷＡを示している。図１７が示すように、対象ブロックＯは、左辺において、隣接ブロックＷＬと隣接している。また、対象ブロックＯは、上辺において、隣接ブロックＷＡと隣接している。また、図１７が示すように、隣接ブロックＷＬは、対象ブロックＯの左辺に接する点Ｌ（xPb-1,yP）を含み、隣接ブロックＷＡは、対象ブロックＯの上辺に接する点Ａ（xPb,yPb-1）を含む。なお、図１７における各ブロック内の番号は、分割関連情報（デプス）を示している。デプスは、あるブロックを水平あるいは垂直方向に並ぶ２つのブロックに分割した回数（分割階層）を示す。例えば、分割前の符号化ツリーユニットCTUのデプスは０である（depth = 0）。１回のQT分割では、水平および垂直方向に１回ずつ分割されるので、デプスは２加算される（depth = depth+2）。
【０１６９】
１回のBT分割では、水平または垂直方向に１回分割されるので、デプスは１加算される（depth = depth+1）。
【０１７０】
１回のTT分割では、TT分割されたブロックの中央ブロックが１回分割された場合、デプスは１加算される（depth = depth+1）。また、中央ブロック以外のブロックが１回分割された場合、デプスは２加算される（depth = depth+2）。
【０１７１】
なお、以下の説明で、コンテキスト決定部３２は、垂直方向の分割（上下に分割）splitVerticallyと水平方向の分割（左右に分割）splitHorizontallyとを導出するが、これらは、各々、水平分割フラグhorSplit、垂直分割フラグverSplitと呼んでもよい。等価なフラグの関係をまとめると、以下のとおりである。
【０１７２】
splitVertically  = horSplit
splitHorizontally = verSplit
また、垂直方向の分割splitVerticallyを左の隣接ブロックから導出する場合、splitVerticallyをsplitLeftとも呼び、水平方向の分割splitHorizonallyを上の隣接ブロックから導出する場合、splitHorizonallyをsplitAboveとも呼ぶ。
【０１７３】
まず、S1202において、コンテキスト決定部３２は、S1201で取得した隣接ブロックＷＬ及び対象ブロックＯの分割関連情報を参照して、隣接ブロックＷＬのデプスdepthLeftと対象ブロックＯのデプスdepthCurrとを比較し、隣接ブロックＷＬのデプスdepthLeftが対象ブロックＯのデプスdepthCurrより大きいか否かを判定する。当該判定の式を下記に示す。
【０１７４】
splitLeft = depthLeft > depthCurr ? 1 : 0
隣接ブロックＷＬのデプスが対象ブロックＯのデプスより大きい場合、コンテキスト決定部３２はsplitLeft=1とする。一方、隣接ブロックＷＬのデプスが対象ブロックＯのデプスより小さい場合、コンテキスト決定部３２はsplitLeft=0とする。なお、隣接ブロックＷＬのデプスと対象ブロックＯのデプスとが等しい場合、コンテキスト決定部３２はsplitLeft=0とする。図１７では、隣接ブロックＷＬのデプスは、対象ブロックＯのデプスより大きいので、コンテキスト決定部３２はsplitLeft=1を設定する。
【０１７５】
また、コンテキスト決定部３２は、S1201で取得した隣接ブロックＷＡと対象ブロックＯの分割関連情報を参照して、隣接ブロックＷＡのデプスdepthAboveと対象ブロックＯのデプスdepthCurrとを比較し、隣接ブロックＷＡのデプスdepthAboveが対象ブロックＯのデプスdepthCurrより大きいか否かを判定する。当該判定の式を下記に示す。
【０１７６】
splitAbove = depthAbove > depthCurr ? 1 : 0
隣接ブロックＷＡのデプスが対象ブロックＯのデプスより大きい場合、コンテキスト決定部３２はsplitAbove=1とする。一方、隣接ブロックＷＡのデプスが対象ブロックＯのデプスより小さい場合、コンテキスト決定部３２はsplitAbove=0とする。なお、隣接ブロックＷＡのデプスと対象ブロックＯのデプスとが等しい場合、コンテキスト決定部３２はsplitAbove=0とする。図１７では、隣接ブロックＷＡのデプスは、対象ブロックＯのデプスと同じなので、コンテキスト決定部３２はsplitAbove=0を設定する。
【０１７７】
次に、S1203において、コンテキスト決定部３２は、比較結果のsplitLeft及びsplitAboveを参照して、対象ブロックを分割するか否かのコンテキストctxIdxSplitを、例えば、以下の式により導出する。
【０１７８】
ctxIdxSplit = splitLeft + splitAbove
図１７ではsplitLeft=1、splitAbove=0であるため、コンテキスト決定部３２は、ctxIdxSplit=1を出力する。なお、分割フラグは、隣接ブロックが対象ブロックよりも分割されている（隣接ブロックのデプスが対象ブロックのデプスよりも大きい）場合に、ctxIdxSplit=1となる確率が高くなるように設定、更新される。また、隣接ブロックが対象ブロックと同じか、分割されていない（隣接ブロックのデプスが対象ブロックのデプス以下の）場合に、ctxIdxSplit=1となる確率が低くなるように設定、更新される。つまり、CN情報復
号部１０は、隣接ブロックと対象ブロックのデプスを比較し、コンテキストを切り替えることにより、符号量を小さくすることができる。このような設定をする理由は、隣接ブロックＷＡ又は隣接ブロックＷＬが細かく分割されている場合、対象ブロックＯも分割される可能性が高いためである。
【０１７９】
上記では、隣接ブロックの分割関連情報（デプス）を参照して、対象ブロックの分割フラグ（qt_split_flag、bt_split_flag、pt_split_flag）を符号化あるいは復号するために必要な確率を示すコンテキストctxIdxSplitを導出する方法（以降では方法１と記す）を説明した。上記の方法は、対象ブロックと隣接ブロックのデプスを比較し、隣接ブロックのデプスが対象ブロックのデプスより大きいか否かを１と０とで表現するので、処理は簡単である。しかしながら、対象ブロックと隣接ブロックの分割回数の違い（デプスの差、デプスの異なる程度）や、ブロックサイズの差（サイズの異なる程度）を利用しないため、コンテキストの精度がよくないという課題がある。より具体的には、対象ブロックのデプスよりも隣接ブロックのデプスの方が非常に大きい場合（例えば、デプスの差が１より大きい）は、対象ブロックよりも隣接ブロックのデプスの方がやや大きい場合（例えば、デプスの差が１）よりも、対象ブロックは分割されやすい。同様に、対象ブロックのデプスよりも隣接ブロックのデプスの方が小さい場合（例えば、デプスの差が−１）は、対象ブロックと隣接ブロックのデプスが等しい場合（例えば、デプスの差が０）よりも、対象ブロックは分割されにくい。対象ブロックと隣接ブロックのデプスではなくブロックサイズを考慮した場合にも、同様の性質がある。さらに、対応するブロックサイズの差が大きい場合ほど、デプスの差も大きくなりがちであり、逆にこのような特性を活かさないとコンテキストの精度がよくない課題が生じる。
【０１８０】
以下では、分割関連情報の差を参照して、分割フラグのコンテキストctxIdxSplitを導出することで、上記課題を解決する方法を説明する。
【０１８１】
図１８は、画像復号装置31あるいは画像符号化装置11によるコンテキスト決定方法の一例を示すフローチャートである。図１２との違いはS1402とS1403である。
【０１８２】
画像復号装置31において、S1201では、コンテキスト決定部32は、対象ブロック（対象CN）の分割関連情報と、当該対象CNに隣接した隣接ブロック（隣接CN）の分割関連情報とをCN情報復号部10から取得する。なお、本明細書では、対象ブロックとして対象CN、隣接ブロックとして隣接CNを用いた例を示すが、対象ブロック及び隣接ブロックは、CU、PU、又はTUであってもよい。S1402では、コンテキスト決定部32は、取得した対象ブロックと２つの隣接ブロックの分割関連情報から、分割関連情報の差分値を導出する。S1403では、コンテキスト決定部32は、導出した２つの差分値を加算した結果から、コンテキストを決定する。S1204では、CN情報復号部10は、コンテキスト決定部32が決定したコンテキストに応じて、CN情報から、対象ブロックを分割するか否かを示す分割フラグを復号する。
【０１８３】
また、画像符号化装置11において、S1201では、コンテキスト決定部32は、対象ブロック（対象CN）の分割関連情報と、当該対象CNに隣接した隣接ブロック（隣接CN）の分割関連情報とを取得する。S1402では、コンテキスト決定部32は、取得した対象ブロックと２つの隣接ブロックの分割関連情報から、分割関連情報の差分値を導出する。S1403では、コンテキスト決定部32は、導出した２つの差分値を加算した結果から、コンテキストを決定する。S1204では、CN情報符号化部1042は、コンテキスト決定部32が決定したコンテキストに応じて、対象ブロックを分割するか否かを示す分割フラグを符号化する。
【０１８４】
以下の各具体例で、上述のコンテキスト決定方法のS1402及びS1403の具体例を、図面を参照して詳細に説明する。
【０１８５】
（具体例５）分割階層（デプス）の差分を参照
具体例５では、デプスを分割関連情報とした例を説明する。
【０１８６】
図１８のS1402では、対象ブロックのデプスdepthCurrと隣接ブロックWAのデプスdepthAboveの差分値diffDepth0、および対象ブロックのデプスdepthCurrと隣接ブロックWLのデプスdepthLeftの差分値diffDepth1を、下式を用いて導出する。
【０１８７】
diffDepth0 = depthAbove-depthCurr
diffDepth1 = depthLeft-depthCurr
図１８のS1403では、S1402で導出した２つの差分値diffDepth0、diffDepth1から、下式でコンテキストを導出する。
【０１８８】
ctxIdxSplit = diffDepth0+diffDepth1
図１９の（１）及び（２）は、対象ブロックOと上側の隣接ブロックWAのデプスに対し、方法１および具体例５を用いて導出したコンテキストctxIdxSplitを示した例である。図１９の各ブロック内の番号はデプスを表す。図１９では対象ブロックOと上側の隣接ブロックWAについて説明するが、対象ブロックOと左側の隣接ブロックWLについても同様であり、説明は省略する。図１９の（１）において、方法１では、隣接ブロックWAのデプスが対象ブロックOのデプスより大きい(a)、(b)はsplitAbove=1、そうではない(c)、(d)はsplitAbove=0である。具体例５では、隣接ブロックWAのデプスと対象ブロックOのデプスの差分を取るので、(a)、(b)、(c)、(d)のdiffDepth0は各々、4、2、0、-2である。従って具体例５の方が精度よくコンテキストを導出することができる。図１９の（２）において、方法１では、隣接ブロックWAのデプスが対象ブロックOのデプスより大きい(a)、(b)、(c)はsplitAbove=1、そうではない(d)はsplitAbove=0である。具体例５では、隣接ブロックWAのデプスと対象ブロックOのデプスの差分を取るので、(a)、(b)、(c)、(d)のdiffDepth0は各々、3、2、1、0である。従って具体例５の方が精度よくコンテキストを導出することができる。
【０１８９】
（具体例６）ブロックのサイズ（幅と高さ）の差分を参照
具体例６では、ブロックのサイズ（幅と高さ）を分割関連情報とした例を説明する。
ここで、ブロックサイズとは、ブロックの幅、又は、ブロックの高さ、もしくは、ブロックの幅と高さの両者のことを示す。またブロックの幅と高さの積もしくは和をブロックサイズとして用いても良い。
【０１９０】
図１８のS1402では、対象ブロックの幅の対数値log2widthCurrと隣接ブロックWAの幅の対数値log2widthAboveの差分値diffSize0、および対象ブロックの高さの対数値log2heightCurrと隣接ブロックWLの高さの対数値log2heightLeftの差分値diffSize1を、下式を用いて導出する。
【０１９１】
diffSize0 = log2widthCurr-log2widthAbove
diffSize1 = log2heightCurr-log2heightLeft
図１８のS1403では、S1402で導出した２つの差分値diffSize0、diffSize1から、下式でコンテキストを導出する。
【０１９２】
ctxIdxSplit = diffSize0+diffSize1
（具体例７）デプスおよびブロックのサイズ（幅と高さ）の差分を参照
具体例７では、具体例５のデプスと具体例６のブロックのサイズ（幅と高さ）を分割関連情報として使用する例を説明する。
【０１９３】
図１８のS1402では、具体例５、具体例６と同様の方法で差分値diffDepth0、diffDepth1、diffSize0、diffSize1を導出し、下式で各々デプスとブロックのサイズの差分を求める。
【０１９４】
diffDepth = diffDepth0+diffDepth1
diffSize = diffSize0+diffSize1
図１８のS1403では、S1402で導出した２つの差分値diffDepth、diffSizeから、以下のようにコンテキストを導出する。
【０１９５】
ctxIdxSplit = diffDepth+diffSize
また、コンテキストの導出は下記でもよい。
【０１９６】
ctxIdxSplit = (diffDepth+diffSize)>>1
また、具体例５のデプスと具体例６のブロックのサイズ（幅と高さ）を分割関連情報として使用する別の例を説明する。
【０１９７】
図１７の（２）に示すように、デプスはブロックサイズ（幅widthと高さheight）で表現できるので、上記のデプスをサイズとして表現すると、
diffDepth0 = (log2widthCurr+log2heightCurr)-(log2widthAbove+log2heightAbove)
diffDepth1 = (log2widthCurr+log2heightCurr)-(log2widthLeft+log2heightLeft)
である。従ってコンテキストは
diffTmp = 3*log2widthCurr+3*log2heightCurr-2*log2widthAbove-log2heightAbove-log2widthLeft-2*log2heightLeft
ctxIdxSplit = diffTmp
となる。あるいは
diffTmp = (3*log2widthCurr+3*log2heightCurr-2*log2widthAbove-log2heightAbove-log2widthLeft-2*log2heightLeft)>>1
ctxIdxSplit = diffTmp
としてもよい。
【０１９８】
（具体例５〜７の一般化）
結局のところ、隣接ブロックの幅と高さを考慮すると、「１）対象ブロックの左側に分割線があるかに関わる左側隣接ブロックの高さの対数値log2heightLeftと、対象ブロックの上側に分割線があるかに関わる上側隣接ブロックの幅の対数値log2widthAbove」がコンテキストの導出に重要であるが、「２）左側隣接ブロックの幅の対数値log2widthLeftと上側隣接ブロックの高さの対数値log2heightAbove」もコンテキストの導出に寄与する。したがって、分割関連情報の差分値を加算してコンテキストを導出する場合に、重要性を参照して重みを付けるとよい。この時、重要性の高い１）のlog2heightLeftとlog2widthAboveのウェイトをW1、重要性の低い２）のlog2widthLeftとlog2heightAboveのウェイトをW2として、重要性の高いウェイトW1をW1>=W2と設定することが適当である。この場合、分割関連情報の加算は下式で表される。
【０１９９】
diffTmp = ((W1+W2)*log2widthCurr+(W1+W2)*log2heightCurr-W1*log2widthAbove- W2*log2heightAbove-W2*log2widthLeft-W1*log2heightLeft)
上記の例では、W1 = 1, W2 = 1が具体例５、W1 = 1, W2 = 0が具体例６、W1 = 2, W2 =1が具体例７に対応する。そのほか、W1 = 3, W2 = 1などの構成も可能である。
【０２００】
（具体例８）３つ以上の隣接ブロックの参照
具体例５〜７では、対象ブロックと２つの隣接ブロックの分割関連情報を参照して、分割フラグのコンテキストを導出した。具体例８では３つ以上の隣接ブロックの分割関連情報を参照して、分割フラグのコンテキストを導出する例を説明する。なお、以下では分割関連情報はデプスとし、具体例５を拡張して説明するが、これに限らず、分割関連情報をブロックサイズや、デプスとブロックサイズ双方とし、具体例６または３を拡張した場合も同様に適用可能であるので説明を省略する。
【０２０１】
図２０の（１）は、対象ブロックOと３つの隣接ブロックWA、WL、WARの位置関係を示す図である。
【０２０２】
図１８のS1402では、対象ブロックのデプスdepthCurr、隣接ブロックWAのデプスdepthAbove、隣接ブロックWLのデプスdepthLeft、隣接ブロックWARのデプスdepthAboveRightの差分値diffDepth0、diffDepth1、diffDepth2を、下式を用いて導出する。
【０２０３】
diffDepth0 = depthAbove-depthCurr
diffDepth1 = depthLeft-depthCurr
diffDepth2 = depthAboveRight-depthCurr
図１８のS1403では、S1402で導出した３つの差分値diffDepth0、diffDepth1、diffDepth2から、下式でコンテキストを導出する。
【０２０４】
ctxIdxSplit = diffDepth0+diffDepth1+diffDepth2
また、図２０の（２）は、対象ブロックOと４つの隣接ブロックWA、WL、WAR、WBLの位置関係を示す図である。
【０２０５】
図１８のS1402では、対象ブロックのデプスdepthCurr、隣接ブロックWAのデプスdepthAbove、隣接ブロックWLのデプスdepthLeft、隣接ブロックWARのデプスdepthAboveRight、隣接ブロックWBLのデプスdepthBottomLeftの差分値diffDepth0、diffDepth1、diffDepth2、diffDepth3を、下式を用いて導出する。
【０２０６】
diffDepth0 = depthAbove-depthCurr
diffDepth1 = depthLeft-depthCurr
diffDepth2 = depthAboveRight-depthCurr
diffDepth3 = depthBottomLeft-depthCurr
図１８のS1403では、S1402で導出した４つの差分値diffDepth0、diffDepth1、diffDepth2、diffDepth3から、下式でコンテキストを導出する。
【０２０７】
ctxIdxSplit = diffDepth0+diffDepth1+diffDepth2*diffDepth3
また、対象ブロックOと４つの隣接ブロックWA、WL、WAR、WBLのデプスを用いる場合に、別の計算方法を用いて差分値を導出してもよい。例えば一例として、図１８のS1402では下式で差分値を算出する。
【０２０８】
diffDepth0 = depthAbove+DepthAboveRight-2*depthCurr
diffDepth1 = depthLeft+depthBottomLeft-2*depthCurr
図１８のS1403では下式でコンテキストを導出する。
【０２０９】
ctxIdxSplit = diffDepth0+diffDepth1
また別の一例として、図１８のS1402では下式で差分値を算出する。
【０２１０】
diffDepth0 = ((depthAbove+DepthAboveRight)>>1)-depthCurr
diffDepth1 = ((depthLeft+depthBottomLeft)>>1)-depthCurr
図１８のS1403では下式でコンテキストを導出する。
【０２１１】
ctxIdxSplit = diffDepth0+diffDepth1
（具体例９）
図２１は、画像復号装置31あるいは画像符号化装置11によるコンテキスト決定方法の別の一例を示すフローチャートである。図１８と図２１のフローチャートの違いはS1403とS1703である。それ以外のステップは同じであるので、説明を省略する。
【０２１２】
コンテキスト決定部32は、S1403では、S1402で算出した２つの差分値を加算してコンテキストを決定するが、S1703では、S1402で算出した差分値のうち、最大の差分値を用いてコンテキストを決定する。この処理を下式で表現する。
【０２１３】
ctxIdxSplit = max(diffDepth0,diffDepth1)
具体例９では最大の差分値を用いてコンテキストを決定するので、分割数の多い（デプスの大きい）状況が選択されやすくなる。
【０２１４】
（利用可能性のチェック）
上記の説明では、対象ブロックOの隣接ブロックは利用可能である(available)と仮定したが、実際には画像の端等で隣接ブロックが存在しない場合がある。隣接ブロックが利用可能でない場合は、差分値は0とする。例えば具体例５では、S1402は下記の手順になる。
【０２１５】
diffDepth0 = availableAbove ? (depthAbove-depthCurr) : 0
diffDepth1 = availableLeft ? (depthLeft-depthCurr) : 0
ctxIdxSplit = diffDepth0+diffDepth1
ここで、availableAboveとavailableLeftは、対象ブロックの上側の隣接ブロックと左側の隣接ブロックの利用可能性を示し、隣接ブロックがあれば1、なければ0である。なお、利用可能性のチェックはデプスの差分値を導出する具体例５に限らず、具体例６〜９などサイズの差分値を導出する場合や、デプスの差分値とサイズの差分値の両者を用いる場合にも適用可能である。例えば、具体例６では下記の手順になる。
【０２１６】
diffSize0 = availableAbove ? log2widthCurr-log2widthAbove : 0
diffSize1 = availableLeft ? log2heightCurr-log2heightLeft : 0
ctxIdxSplit = diffSize0+diffSize1
（クリッピングとマッピング）
具体例５〜８は、対象ブロックと隣接ブロックの分割関連情報の差分を利用して、分割フラグのコンテキストを細かく設定することで、コンテキストの精度を向上させる技術である。しかしながら、分割関連情報の差分値を単純に加算すると、ブロックサイズが大きい場合にコンテキストのとる値が非常に広範囲になってしまう。例えば、CTUサイズが128x128の場合、とりうるデプスの値は0(128x128に対応)〜11(4x4)となり、差分値の範囲は-22〜22となる。コンテキストの値の増加はエントロピー符号化および復号処理の複雑化を招き、必要なテーブルのメモリ量も大きくなるので好ましくない。また、通常コンテキストは０以上の整数に割り振られるため、負の数が生じるのは好ましくない。そこでコンテキストを導出する過程でクリッピングやマッピング、オフセットの加算、乗算、シフト演算などを行い、コンテキストの値の範囲を制限する技術について説明する。
【０２１７】
図１８のフローチャートで説明したように、コンテキスト決定部32は、S1402で分割関連情報の差分値を計算し、S1403で複数の差分値を加算した結果からコンテキストを導出するという処理の流れである。なお、以降の説明では、分割関連情報としてデプスを用い、具体例５を拡張して説明するが、分割関連情報をブロックサイズ、あるいはデプスとブロックサイズ双方として、具体例６あるいは７を拡張する方法も同じ方法を適用できるので、説明を省略する。また、図２１で説明した最大値を用いる方法に対しても、クリッピングとマッピングは同様に適用可能であり、説明を省略する。
【０２１８】
まず、S1402で算出した差分値をS1403で加算した後にクリッピングを実施する例を説明する。対象ブロックOと隣接ブロックWAのデプスの差分値diffDepth0と、対象ブロックOと隣接ブロックWLのデプスの差分値diffDepth1を加算した結果に対し、下式で示すようにクリッピングを施す。
【０２１９】
diffTmp = clip3(0,THDmax,diffDepth0+diffDepth1+offsetD) (c1)
ctxIdxSplit = ctxTbl[diffTmp]
ここで、ctxTblはデプスの差分値の加算結果からコンテキストを導出するためのテーブルであり、詳細は後述する。offsetDはデプスの差分値のゼロ点の位置（中央）を、テーブルctxTblの中央要素付近に対応させるためのオフセットである。０からTHDmaxへのクリップは、必要なテーブルのエントリ数を低減するために行っており、THDmax+1はテーブルのエントリ数の最大値である。
【０２２０】
図２２の（１）は、差分値を加算した後にクリッピングする動作を説明するフローチャートである。図２２の（１）は図１８のS1403の処理がS18031、S18041、S1805に変更された以外は図１８と同じであり、説明を省略する。S18031では、コンテキスト決定部32はS1402で導出した差分値を加算する。S18041では、コンテキスト決定部32は加算値を(c1)の方法でクリッピングする。S1805では、コンテキスト決定部32はクリッピング結果を用いてコンテキストを導出する。
【０２２１】
例えばctxTbl[]={0,1,1,2,3}、offsetD=2、THDmax=4とすると、前述のとりうる差分値-22〜22をオフセットにより-20〜24に変更し、クリッピングにより0〜4に制限した値をテーブルに入力することで、0〜2の４つの値に制限することができる。また、ctxTbl[]={0,1,2}、offsetD=1、THDmax=2とすると、前述のとりうる差分値-22〜22をオフセットにより-21〜23に変更し、クリッピングにより-1〜1に制限した値をテーブルに入力ることで、0〜2の３つの値に制限することができる。また、ctxTbl[]={0,1,1,2,3,3}、offsetD=2、THDmax=5とすると、前述のとりうる差分値をオフセットにより-20〜24に変更し、クリッピングにより0〜5に制限した値をテーブルに入力することで、0〜3の４つの値に制限することができる。
【０２２２】
また、別の例として、S1402で算出した差分値をクリッピングした結果をS1403で加算する例を説明する。対象ブロックOと隣接ブロックWAのデプスの差分値diffDepth0と、対象ブロックOと隣接ブロックWLのデプスの差分値diffDepth1に対し、下式で示すようにクリッピングを施す。
【０２２３】
diffDepth0 = clip3(-offsetD,offsetD,depthAbove-depthCurr)
diffDepth1 = clip3(-offsetD,offsetD,depthLeft-depthCurr) (c2)
diffTmp = diffDepth0+diffDepth1+(offsetD<<1)
ctxIdxSplit = ctxTbl[diffTmp]
図２２の（２）は、差分値をクリッピングした後にオフセットを加算する動作を説明するフローチャートである。図２２の（２）は図１８のS1403の処理がS18032、S18042、S1805に変更された以外は図１８と同じであり、説明を省略する。S18032では、コンテキスト決定部32はS1402で導出した差分値を(c2)の方法でクリッピングする。S18042では、コンテキスト決定部32はクリッピング値を加算する。S1805では、コンテキスト決定部32は加算結果を用いてコンテキストを導出する。
【０２２４】
この例では、複数のデプスの差分値ごとにクリップを行うため、あるデプスの差分値が大きく（もしくは小さく）なりすぎた場合に、その大きく（もしくは小さく）なりすぎた差分値に最終結果が影響を受けすぎないようにする効果がある。
【０２２５】
また、別の例として、S1402で算出した差分値をクリッピングした結果をS1403で加算し、さらにクリッピングする例を説明する。対象ブロックOと隣接ブロックWAのデプスの差分値diffDepth0と、対象ブロックOと隣接ブロックWLのデプスの差分値diffDepth1に対し、下式で示すようにクリッピングを施す。
【０２２６】
diffDepth0 = clip3(-offsetD1,offsetD1,depthAbove-depthCurr)
diffDepth1 = clip3(-offsetD1,offsetD1,depthLeft-depthCurr)
diffTmp = clip3(0,THDmax,diffDepth0+diffDepth1+(offsetD1<<1)) (c3)
ctxIdxSplit = ctxTbl[diffTmp]
図２２の（３）は、差分値をクリッピングした後に加算し、加算値をさらにクリッピングする動作を説明するフローチャートである。図２２の（３）は、図２２の（２）のS18042とS1805の間にS1806が追加された以外は図２２の（２）と同じであり、説明を省略する。S1806では、コンテキスト決定部32は(c3)の方法でクリッピングする。
【０２２７】
この例では加算後にもクリップを行うため、加算結果が大きく（もしくは小さく）なりすぎても、最終結果が影響を受けすぎないようにする効果がある。
【０２２８】
なお、offsetD=2、THDmax=5の場合に、加算結果、あるいは最大値をコンテキストにマッピングするためのテーブルを図２３に示す。これらはシミュレーションで効果のあった加算結果とコンテキストの組み合わせの例である。例えば、0,1,2の3値にマッピングする
ctxTbl[] = {0, 0, 0, 1, 2, 2}
や、0,1,2,3の4値にマッピングする
ctxTbl[] = {0, 0, 0, 1, 2, 3}
は特に適当である。
【０２２９】
上記では、差分値の加算結果からコンテキスト値へのマッピングにテーブルを用いていたが、テーブルを用いたマッピング以外に、下式のように加算結果と所定の閾値との比較によってコンテキストを導出する方法でもよい。
【０２３０】
if (diffTmp<THD1) ctxIdx = 0
else if (diffTmp<THD2) ctxIdx = 1
else if (diffTmp<THD3) ctxIdx = 2
else ctxIdx = 3
また、下記の３つの例ように除算や、シフト演算、乗算など四則演算とシフトを用いて、加算値の値の範囲を変化させることによって適当な範囲のコンテキストを導出する方法でもよい。
【０２３１】
diffDepth0 = depthAbove-depthCurr
diffDepth1 = depthLeft-depthCurr
例１
diffTmp = (diffDepth0 + diffDepth1)/2
例２
diffTmp = (diffDepth0 + diffDepth1)>>1
例３
diffTmp = (diffDepth0 + diffDepth1)*3 >> 2
また、利用可能性のチェックやクリッピング、マッピング、四則演算の組み合わせを用いて、差分値の加算値からコンテキストを導出してもよい。
【０２３２】
下記の例では、利用可能性のチェックを用いて、上と左に隣接するデプスとサイズの差分値diffDepth0、diffDepth1、diffSize0、diffSize1を導出後、それらをクリップしている。さらに、差分値の加算から、デプスの差分値diffTmpD、サイズの差分値diffTmpSを導出、それらの平均値diffTmpをインデクスとして、テーブルを用いたマッピングによりコンテキストを導出する。
【０２３３】
diffDepth0 = availableAbove ? (depthAbove-depthCurr) : 0
diffDepth1 = availableLeft ? (depthLeft-depthCurr) : 0
diffDepth0 = clip3(-offsetD1,offsetD1,diffDepth0)
diffDepth1 = clip3(-offsetD1,offsetD1,diffDepth1)
diffSize0 = availableAbove ? log2widthCurr-log2widthAbove : 0
diffSize1 = availableLeft ? log2heightCurr-log2heightLeft : 0
diffSize0 = clip3(-offsetD1,offsetD1,diffSize0)
diffSize1 = clip3(-offsetD1,offsetD1,diffSize1)
diffTmpD = clip3(0, THDmax,diffDepth0 + diffDepth1 + offsetD2)
diffTmpS = clip3(0, THSmax,diffSize0 + diffSize1 + offsetD2)
diffTmp = (diffTmpD + diffTmpS)>>1
ctxIdxSplit = ctxTbl[diffTmp]
ここで例えば、ctxTbl[] = {0, 0, 1, 2, 3, 3}、offsetD1 = 1、offsetD2 = 2、THDmax = 5, THSmax = 5などが適当であるが、他の値でもよい。
【０２３４】
なお、上記の処理は、クリッピングにより複雑にみえるが、結局のところ、クリッピングを除去してみれば下記のようになる。すなわち、すでに説明したように、隣接ブロックの分割関連情報が利用可能な場合に、分割可能情報（ここではデプス、と、サイズ）の差分の和をテーブル引きにより適当な範囲の値のコンテキストにマッピングする処理である。
【０２３５】
diffDepth0 = availableAbove ? (depthAbove-depthCurr) : 0
diffDepth1 = availableLeft ? (depthLeft-depthCurr) : 0
diffSize0 = availableAbove ? log2widthCurr-log2widthAbove : 0
diffSize1 = availableLeft ? log2heightCurr-log2heightLeft : 0
diffTmpD = diffDepth0 + diffDepth1 + offsetD2
diffTmpS = diffSize0 + diffSize1 + offsetD2
diffTmp = (diffTmpD + diffTmpS)>>1
ctxIdxSplit = ctxTbl[diffTmp]
（画像符号化装置）
本実施形態に係る画像復号装置３１の構成は、画像符号化装置１１にも適用できる。その場合、画像符号化装置１１は、CN情報復号部１０に代わるCN情報符号化部（図示せず）と、コンテキスト決定部３２とを備え、対象ブロックを分割するか否かを示す分割フラグ（QT分割フラグ、BT分割フラグ又はTT分割フラグ等）のコンテキストを導出する。
【０２３６】
上記の構成を有する画像符号化装置１１において、コンテキスト決定部３２は、まだ分割されていない対象ブロックの分割関連情報と、当該対象ブロックに隣接し、かつ、すでに分割された隣接ブロックの分割関連情報とを取得する。次に、コンテキスト決定部３２は、対象ブロック及び隣接ブロックの分割関連情報を参照して、隣接ブロックの分割状況を特定することにより、対象ブロックの各辺に接している隣接ブロックの分割線が存在するか否かを判定する。次に、コンテキスト決定部３２は、当該判定に応じて、コンテキストを決定する。次に、CN情報符号化部は、コンテキスト決定部３２が決定したコンテキストに応じて、対象ブロックを分割するか否かを示す分割フラグを符号化する。
【０２３７】
（実施形態１のまとめ）
以上のように、本実施形態に係る画像復号装置３１は、対象ブロックの分割情報（分割フラグ）のコンテキストを、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割状況を参照して決定し、当該コンテキストを用いて、対象ブロックの分割情報を復号する。また、本実施形態に係る画像復号装置３１は、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照して、隣接ブロックの分割状況を特定することにより、隣接ブロックの分割線の有無を判定し、当該判定を参照してコンテキストを決定する。これにより、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照するため、隣接ブロックの分割関連情報が反映され、より適切なコンテキストを決定することができる。従って、画像復号装置において、分割情報の符号量を削減できる。
【０２３８】
また、本実施形態に係る画像符号化装置１１および画像復号装置３１では、対象ブロックの分割情報（分割フラグ）のコンテキストを、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割関連情報を参照して決定し、当該コンテキストを用いて、対象ブロックの分割情報を符号化あるいは復号する。また、本実施形態では、分割関連情報としてデプス又はブロックサイズを参照して、隣接ブロックの分割状況を判定し、当該判定を参照してコンテキストを決定する。この時に、複数の隣接ブロックの分割関連情報の差分値を用いることで、隣接ブロックの分割関連情報がより精度よく反映され、コンテキストを精度良く決定することができる。これにより、より適切なコンテキストを決定することができる。また、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の符号（±）が異なる場合、つまり隣接ブロックの中に、デプスが対象ブロック以下のブロックと大きいブロックがある場合、常に分割されやすいと判定されることなく、差分値に従って分割されやすい場合とそうでない場合を判定することもできる。従って、画像符号化装置および画像復号装置において、分割情報の符号量を削減できる。
【０２３９】
本発明の一態様に係る画像復号装置は、ピクチャをブロック毎に復号する画像復号装置において、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部とを備えることを特徴とする。
【０２４０】
本発明の一態様に係る画像復号装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックのデプスである。
【０２４１】
本発明の一態様に係る画像復号装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックサイズである。
【０２４２】
本発明の一態様に係る画像復号装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックのデプスおよびブロックサイズである。
【０２４３】
本発明の一態様に係る画像復号装置において、上記分割関連情報の比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値である。
【０２４４】
本発明の一態様に係る画像復号装置において、上記分割関連情報の比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の最大値である。
【０２４５】
本発明の一態様に係る画像符号化装置は、ピクチャをブロック毎に符号化する画像符号化装置において、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部とを備えることを特徴とする。
【０２４６】
本発明の一態様に係る画像符号化装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックのデプスである。
【０２４７】
本発明の一態様に係る画像符号化装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックサイズである。
【０２４８】
本発明の一態様に係る画像符号化装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックのデプスおよびブロックサイズである。
【０２４９】
本発明の一態様に係る画像符号化装置において、上記分割関連情報の比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値である。
【０２５０】
本発明の一態様に係る画像符号化装置において、上記分割関連情報の比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の最大値である。
【０２５１】
〔実施形態２〕
本発明の実施形態２について、図面に基づいて説明すれば、以下のとおりである。なお、本実施形態においても、実施形態１に係る画像復号装置３１及び画像符号化装置１１を同様に用いることができる。従って、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、その説明を省略する。
【０２５２】
本実施形態において、コンテキスト決定部３２は、まだ分割されていない色差ブロックを分割するか否かを示す分割フラグのコンテキストを導出する。そのために、コンテキスト決定部３２は、当該色差ブロックに対応し、かつ、すでに分割され復号された輝度ブロックを参照することによりコンテキストを導出する。
【０２５３】
（コンテキスト決定部）
本実施形態に係るコンテキスト決定部３２は、色差ブロック（色差CB（第１の色コンポーネントに関する対象ブロック））に対応し、かつ、CN情報復号部１０がすでに分割し復号した輝度ブロック（輝度CB（第２の色コンポーネントに関する対応ブロック））の分割関連情報をCN情報復号部１０から取得する。なお、色差CBは、当該色差CBを分割するか否かを示す分割フラグを復号する前の対象ブロック（対象CB）であり、輝度CBは、対象ブロックに対応する対応ブロック（対応CB）である。また、上記の第１の色コンポーネントに関する対象ブロックは、輝度CBであってもよく、上記の第２の色コンポーネントに関する対応ブロックは、色差CBであってもよい。
【０２５４】
本実施形態に係るコンテキスト決定部３２において、コンテキスト決定部３２は、取得した輝度CBの分割関連情報を参照して、輝度CB対応ブロック（対応CB）の分割状況を特定することにより、対応CBに分割線が存在するか否かを判定する。
【０２５５】
本実施形態に係るコンテキスト決定部３２において、コンテキスト決定部３２は、判定した対応CBの分割の有無に応じて、対象CBのコンテキストを決定する。なお、本実施形態におけるコンテキストは、対象CBをQT分割するか否かを示すQT分割フラグを復号するか否かのコンテキストである。
【０２５６】
（コンテキスト決定方法）
本実施形態に係る画像復号装置３１によるコンテキスト決定方法について、図２４を参照して、詳細に説明する。図２４は、本実施形態に係る画像復号装置３１によるコンテキスト決定方法の一例を説明するフローチャート図である。なお、実施形態１に係るコンテキスト決定方法と同様の工程については、詳細な説明は省略する。
【０２５７】
コンテキスト決定部３２は、色差CB（色差ブロック）に対応し、かつ、CN情報復号部１０がすでに分割し復号した輝度CB（輝度ブロック）の分割関連情報をCN情報復号部１０から取得する（ステップＳ１０）。
【０２５８】
また、コンテキスト決定部３２は、取得した輝度CBの分割関連情報を参照して、輝度CB（対応CB）の分割状況を特定することにより、対応CBに分割線が存在するか否かを判定する（ステップＳ１１）。なお、ステップＳ１１の具体的な方法については後述する。
【０２５９】
また、コンテキスト決定部３２は、判定した輝度CB（対応CB）の分割の有無に応じて、色差CB（対象CB）のコンテキストを決定する（ステップＳ１２）。なお、ステップＳ１２の具体的な方法については後述する。
【０２６０】
CN情報復号部１０は、コンテキスト決定部３２が決定した色差CB（対象CB）のコンテキストに応じて、CNに含まれるCN情報から、対象CBをQT分割するか否かを示すQT分割フラグを復号する（ステップＳ１３）。
【０２６１】
（具体例１）
図２５は、本具体例のコンテキスト決定方法のステップＳ１１を説明するための図である。図２５の（ａ）は、色差CBを示し、図２５の（ｂ）は、輝度CBを示している。なお、図２５における各ブロック内の番号は、パーティション番号を示している。輝度CB（対応CB）は、ブロックＫＡ及びブロックＫＢを含む。また、ブロックＫＡの左上の点座標を点ＫＡＲとし、ブロックＫＢの右下の点座標を点ＫＢＲとする。
【０２６２】
まず、ステップＳ１１において、コンテキスト決定部３２は、輝度CBの分割関連情報を参照して、図２５の（ｂ）が示す輝度CBの左上の点ＫＡＲを含むブロックＫＡのパーティション番号（partId_AboveLeft）と、当該輝度CBの右下の点ＫＢＲを含むブロックＫＢのパーティション番号（partId_LowerRight）とが異なるか否かを判定する。そして、ステップＳ１２において、コンテキスト決定部３２は、当該判定の結果自体を、色差CBの分割フラグのコンテキストとして決定する。当該コンテキストの式を下記に示す。
【０２６３】
ctxIdxSplit = (partId_AboveLeft != partId_LowerRight)
なお、上記の式において、QT分割フラグのコンテキストの場合、ctxIdxSplitは、ctxIdxQTである。BT分割フラグのコンテキストの場合、ctxIdxSplitは、ctxIdxBTである。BT分割及びTT分割を区別せずに、両者を含めた分割であるPT分割のフラグのコンテキストの場合、ctxIdxSplitは、ctxIdxPTである。
【０２６４】
輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、当該輝度CBの右下の点ＫＢＲを含むブロックのパーティション番号とが異なる場合、点ＫＡＲと点ＫＢＲとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＲと点ＫＢＲとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、当該輝度CBの右下の点ＫＢＲを含むブロックのパーティション番号とが同じ場合、点ＫＡＲと点ＫＢＲとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＲと点ＫＢＲとの間には、分割線が存在しないと判定する。
【０２６５】
図２５が示すように、点ＫＡＲと点ＫＢＲとは、それぞれ、異なるブロックＫＡとブロックＫＢとに含まれており、コンテキスト決定部３２は、色差CBの分割フラグのコンテキストとして、ctxIdxSplit = 1を出力する。また、点ＫＡＲと点ＫＢＲとが、それぞれ、同じブロックに含まれている場合、コンテキスト決定部３２は、ctxIdxSplit = 0を出力する。
【０２６６】
（具体例２）
図２６は、本具体例のコンテキスト決定方法のステップＳ１１を説明するための図である。図２６の（ａ）は、色差CB（対象CB）を示し、図２６の（ｂ）は、輝度CB（対応CB）を示している。なお、図２６における各ブロック内の番号は、パーティション番号を示している。輝度CBは、ブロックＫＡ及びブロックＫＣを含む。また、ブロックＫＡの左上の点座標を点ＫＡＲとし、ブロックＫＡの左下の点座標を点ＫＡＬとする。また、ブロックＫＣの右上の点座標を点ＫＣＲとする。
【０２６７】
まず、ステップＳ１１において、コンテキスト決定部３２は、図２６の（ｂ）が示す輝度CBの左上の点ＫＡＲを含む対応ブロックのパーティション番号（partId_AboveLeft）と、当該輝度CBの右上の点ＫＣＲを含む対応ブロックのパーティション番号（partId_AboveRight）とが異なるか否かを判定する。当該判定の式を下記に示す。
【０２６８】
splitHorizontally (=verSplit) = (partId_AboveLeft != partId_AboveRight)
また、コンテキスト決定部３２は、当該輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号（partId_AboveLeft）と、当該輝度CBの左下の点ＫＡＬを含むブロックのパーティション番号（partId_LowerLeft）とが異なるか否かを判定する。当該判定の式を下記に示す。
【０２６９】
splitVertically (=horSplit) = (partId_AboveLeft != partId_LowerLeft)
輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、当該輝度CBの右上の点ＫＣＲを含むブロックのパーティション番号とが異なる場合、点ＫＡＲと点ＫＣＲとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＲと点ＫＣＲとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、当該輝度CBの右上の点ＫＣＲを含むブロックのパーティション番号とが同じ場合、点ＫＡＲと点ＫＣＲとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＲと点ＫＣＲとの間には、分割線が存在しないと判定する。
【０２７０】
また、輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、当該輝度CBの左下の点ＫＡＬを含むブロックのパーティション番号とが異なる場合、点ＫＡＲと点ＫＡＬとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＲと点ＫＡＬとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、当該輝度CBの左下の点ＫＡＬを含むブロックのパーティション番号とが同じ場合、点ＫＡＲと点ＫＡＬとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＲと点ＫＡＬとの間には、分割線が存在しないと判定する。
【０２７１】
コンテキスト決定部３２は、当該輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、右上の点ＫＣＲを含むブロックのパーティション番号とが異なるか否かの結果を、splitHorizontallyとして出力する。図２６の（ｂ）が示すように、点ＫＡＲと点ＫＣＲとは、それぞれ、異なるブロックＫＡとブロックＫＣとに含まれており、ブロックＫＡとブロックＫＣとは、パーティション番号が異なるため、コンテキスト決定部３２は、splitHorizontally = 1を設定する。
【０２７２】
また、コンテキスト決定部３２は、当該輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、左下の点ＫＡＬを含むブロックのパーティション番号とが異なるか否かの結果を、splitVerticallyとして出力する。図２６の（ｂ）が示すように、点ＫＡＲと点ＫＡＬとは、それぞれ、同じ対応ブロックＫＡに含まれており、パーティション番号が同じであるため、コンテキスト決定部３２は、splitVertically = 0を設定する。
【０２７３】
次に、ステップＳ１２において、コンテキスト決定部３２は、設定したsplitVertically及びsplitHorizontallyを参照して、色差CBの分割フラグのコンテキストであるctxIdxSplit = splitVertically + splitHorizontallyを決定する。本具体例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部３２は、ctxIdxSplit = 1を出力する。
【０２７４】
（具体例３）
図２７は、本具体例のコンテキスト決定方法のステップＳ１１を説明するための図である。図２７の（ａ）は、色差CB（対象CB）を示し、図２７の（ｂ）は、輝度CB（対応CB）を示している。なお、図２７における各ブロック内の番号は、パーティション番号を示している。輝度CBは、ブロックＫＡ、ブロックＫＢ、及びブロックＫＣを含む。また、ブロックＫＡの左上の点座標を点ＫＡＲとし、ブロックＫＡの左下の点座標を点ＫＡＬとする。また、ブロックＫＢの右下の点座標を点ＫＢＲとする。また、ブロックＫＣの右上の点座標を点ＫＣＲとする。
【０２７５】
まず、ステップＳ１１において、コンテキスト決定部３２は、図２７の（ｂ）が示す輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号（partId_AboveLeft）と、当該輝度CBの右上の点ＫＣＲを含むブロックのパーティション番号（partId_AboveRight）とが異なるか否かを判定する。また、コンテキスト決定部３２は、図２７の（ｂ）が示す輝度CBの左下の点ＫＡＬを含むブロックのパーティション番号（partId_LowerLeft）と、当該輝度CBの右下の点ＫＢＲを含むブロックのパーティション番号（partId_LowerRight）とが異なるか否かを判定する。コンテキスト決定部３２は、これらの判定を参照して、下記の式で示されるsplitHorizontallyを算出する。
【０２７６】
splitHorizontally (=verSplit) = (partId_AboveLeft != partId_AboveRight) + (partId_LowerLeft != partId_LowerRight)
また、コンテキスト決定部３２は、当該輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号（partId_AboveLeft）と、当該輝度CBの左下の点ＫＡＬを含むブロックのパーティション番号（partId_LowerLeft）とが異なるか否かを判定する。また、コンテキスト決定部３２は、当該輝度CBの右上の点ＫＣＲを含むブロックのパーティション番号（partId_AboveRight）と、当該輝度CBの右下の点ＫＢＲを含むブロックのパーティション番号（partId_lowerRight）とが異なるか否かを判定する。コンテキスト決定部３２は、これらの判定を参照して、下記の式で示されるsplitVerticallyを算出する。
【０２７７】
splitVertically (=horSplit) = (partId_AboveLeft != partId_LowerLeft) + (partId_AboveRight != partId_LowerRight)
輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、当該輝度CBの右上の点ＫＣＲを含むブロックのパーティション番号とが異なる場合、点ＫＡＲと点ＫＣＲとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＲと点ＫＣＲとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、当該輝度CBの右上の点ＫＣＲを含むブロックのパーティション番号とが同じ場合、点ＫＡＲと点ＫＣＲとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＲと点ＫＣＲとの間には、分割線が存在しないと判定する。
【０２７８】
また、輝度CBの左下の点ＫＡＬを含むブロックのパーティション番号と、当該輝度CBの右下の点ＫＢＲを含むブロックのパーティション番号とが異なる場合、点ＫＡＬと点ＫＢＲとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＬと点ＫＢＲとの間には、分割線が存在していると判定する。一方、輝度CBの左下の点ＫＡＬを含むブロックのパーティション番号と、当該輝度CBの右下の点ＫＢＲを含むブロックのパーティション番号とが同じ場合、点ＫＡＬと点ＫＢＲとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＬと点ＫＢＲとの間には、分割線が存在しないと判定する。
【０２７９】
また、輝度CBの左上の点ＫＡＲを含むブロックのパーティション番号と、当該輝度CBの左下の点ＫＡＬを含むブロックのパーティション番号とが異なる場合、点ＫＡＲと点ＫＡＬとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＡＲと点ＫＡＬとの間には、分割線が存在していると判定する。一方、輝度CBの右上の点ＫＣＲを含むブロックのパーティション番号と、当該輝度CBの右下の点ＫＢＲを含むブロックのパーティション番号とが同じ場合、点ＫＣＲと点ＫＢＲとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部３２は、点ＫＣＲと点ＫＢＲとの間には、異なる２つのブロックに挟まれた分割線が存在しないと判定する。
【０２８０】
図２７の（ｂ）が示すように、点ＫＡＲと点ＫＣＲとは、それぞれ、異なるブロックＫＡとブロックＫＣとに含まれており、ブロックＫＡとブロックＫＣとは、パーティション番号が異なるため、コンテキスト決定部３２は、(partId_AboveLeft != partId_AboveRight) = 1を設定する。また、点ＫＡＬと点ＫＢＲとは、それぞれ、異なるブロックＫＡとブロックＫＢとに含まれており、ブロックＫＡとブロックＫＢとは、パーティション番号が異なため、コンテキスト決定部３２は、(partId_LowerLeft != partId_LowerRight) = 1を設定する。従って、コンテキスト決定部３２は、上述の式より、splitHorizontally =2を設定する。
【０２８１】
また、図２７の（ｂ）が示すように、点ＫＡＲと点ＫＡＬとは、それぞれ、同じブロックＫＡに含まれており、パーティション番号が同じであるため、コンテキスト決定部３２は、(partId_AboveLeft != partId_LowerLeft) = 0を設定する。また、点ＫＣＲと点ＫＢＲとは、それぞれ、異なるブロックＫＣとブロックＫＢとに含まれており、ブロックＫＣとブロックＫＢとは、パーティション番号が異なため、コンテキスト決定部３２は、(partId_AboveRight != partId_LowerRight) = 1を設定する。従って、コンテキスト決定部３２は、上述の式より、splitVertically = 1を設定する。
【０２８２】
次に、ステップＳ１２において、コンテキスト決定部３２は、設定したsplitVertically及びsplitHorizontallyを参照して、色差CBの分割フラグのコンテキストであるctxIdxSplit = splitVertically + splitHorizontallyを決定する。本具体例の場合、splitVertically = 1であり、splitHorizontally = 2であるため、コンテキスト決定部３２は、ctxIdxSplit = 3を出力する。なお、本具体例のctxIdxSplitは、０〜４の５つの値を取り得るが、０〜２の３つの値を取ることも可能である。その場合、上述のsplitVertically又はsplitHorizontallyが１又は２である場合（つまり、少なくとも１つ以上の分割線がある場合）、splitVertically、又はsplitHorizontallyを１とする。ctxIdxSplitが０〜２の３つの値を取る場合の式を下記に示す。
【０２８３】
ctxIdxSplit = splitVertically ? 1 : 0 + splitHorizontally ? 1 : 0
又は、下記の式のようにsplitVertically + splitHorizontallyが３以上である場合、ctxIdxSplitを２としてもよい。
【０２８４】
ctxIdxSplit = min(2, splitVertically + splitHorizontally)
（画像符号化装置）
本実施形態に係る画像復号装置３１の構成は、画像符号化装置１１にも適用できる。その場合、画像符号化装置１１は、CN情報復号部１０に代わるCN情報符号化部（図示せず）と、コンテキスト決定部３２とを備え、対象ブロックを分割するか否かを示す分割フラグ（QT分割フラグ、BT分割フラグ又はTT分割フラグ等）のコンテキストを導出する。
【０２８５】
上記の構成を有する画像符号化装置１１において、コンテキスト決定部３２は、色差ブロック（対象ブロック）に対応し、かつ、すでに分割された輝度ブロック（対応ブロック）の分割関連情報を取得する。次に、コンテキスト決定部３２は、対応ブロックの分割状況を特定することにより、対応ブロックに分割線が存在するか否かを判定する。次に、コンテキスト決定部３２は、当該判定に応じて、対象ブロックの分割フラグのコンテキストを決定する。次に、CN情報符号化部は、コンテキスト決定部３２が決定したコンテキストに応じて、対象ブロックを分割するか否かを示す分割フラグを符号化する。
【０２８６】
（実施形態２のまとめ）
以上のように、本実施形態に係る画像復号装置３１は、第１の色コンポーネントに関する対象ブロックの分割情報（分割フラグ）のコンテキストを、既に復号された第２の色コンポーネントに関する対応ブロックの分割状況を参照して決定し、当該コンテキストを用いて、第１の色コンポーネントに関する対象ブロックの分割情報を復号する。これにより、対応ブロックの分割状況に応じて、対象ブロックの分割情報を復号する。
【０２８７】
また、本実施形態に係る画像復号装置３１は、対応ブロックのパーティション番号を参照して、第２の色コンポーネントに関する対応ブロックの分割状況を特定することにより、第２の色コンポーネントに関する対応ブロックの分割線の有無を判定し、当該判定を参照して、第１の色コンポーネントに関する対象ブロックの分割フラグのコンテキストを決定する。これにより、第２の色コンポーネントに関する対応ブロックのパーティション番号を参照して、第１のコンポーネントの分割の有無を判断するため、より適切なコンテキストを決定することができる。従って、画像復号装置において、分割情報の符号量を削減できる。
【０２８８】
〔実施形態３〕
本発明の実施形態３について、図面に基づいて説明すれば、以下のとおりである。なお、本実施形態においても、実施形態１に係る画像復号装置３１及び画像符号化装置１１を同様に用いることができる。従って、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、その説明を省略する。
【０２８９】
＜実施形態３の態様１＞
本態様では、実施形態１に係るコンテキスト決定方法と同様の方法によりコンテキストを導出する。ただし、本実施形態におけるコンテキストは、対象ブロックの分割方向を示す方向フラグ（分割モード）のコンテキストである。本態様において、コンテキスト決定部３２は、実施形態１と類似の方法により、隣接ブロックの分割の有無又は分割方向を判定し、当該判定に基づいて、対象ブロックに対するBT方向フラグのコンテキストを導出する。
【０２９０】
（CN情報復号部）
CN情報復号部１０は、対象CNのBT分割の分割方法を示すBT方向フラグ（請求項における分割情報）を復号するか否かのコンテキスト（後述する）に応じて、CNに含まれるCN情報から、BT方向フラグを復号する。そして、CN情報復号部１０は、BT方向フラグがさらなる分割を通知しなくなるまで、BT方向フラグが示す分割方法により、対象CNを再帰的に分割し復号する。最後に、CTU情報からツリーユニットフッタCTUFを復号する。
【０２９１】
（コンテキスト決定部）
本態様に係るコンテキスト決定部３２は、CN情報復号部１０がまだ分割していない対象CNの分割関連情報と、当該対象CNに隣接し、かつ、CN情報復号部１０がすでに分割し復号した隣接CNの分割関連情報と、をCN情報復号部１０から取得する。
【０２９２】
本態様に係るコンテキスト決定部３２は、取得した隣接CNのパーティション番号、水平デプス及び垂直デプス又はサイズを参照して、隣接ブロックの分割状況を特定することにより、隣接ブロックの、分割の有無又は分割の方向を判定する。
【０２９３】
また、本態様に係るコンテキスト決定部３２において、コンテキスト決定部３２は、判定した分割の有無又は分割の方向に応じて、対象ブロックの分割方向を示す方向フラグ（分割モード）のコンテキストを決定する。コンテキスト決定部３２が決定したコンテキストは、上述のCN情報復号部１０に出力される。
【０２９４】
（コンテキスト決定方法）
本態様に係る画像復号装置３１によるコンテキスト決定方法について、図２８を参照して、詳細に説明する。図２８は、本態様に係る画像復号装置３１によるコンテキスト決定方法の一例を説明するフローチャート図である。なお、実施形態１及び２に係るコンテキスト決定方法と同様の工程については、詳細な説明は省略する。
【０２９５】
まず、コンテキスト決定部３２は、CN情報復号部１０がまだ分割していない対象CN（対象ブロック）と、当該対象CNに隣接し、かつ、CN情報復号部１０がすでに分割し復号した隣接CN（隣接ブロック）と、をCN情報復号部１０から取得する（ステップＳ２０）。
【０２９６】
次に、コンテキスト決定部３２は、対象CN及び隣接CNのパーティション番号、水平デプス及び垂直デプス又はサイズを参照して、隣接ブロックの分割状況を特定することにより、隣接ブロックの、分割の有無又は分割方向を判定する（ステップＳ２１）。なお、ステップＳ２１の具体的な方法は後述する。
【０２９７】
次に、コンテキスト決定部３２は、判定した分割の有無又は分割方向に応じて、コンテキストを決定する（ステップＳ２２）。なお、ステップＳ２２の具体的な方法については後述する。
【０２９８】
次に、CN情報復号部１０は、コンテキスト決定部３２が決定したコンテキストに応じて、CNに含まれる情報から、対象CNのBT分割の分割方法を示すBT方向フラグを復号する（ステップＳ２３）。
【０２９９】
（具体例１）
本態様の具体例１において、コンテキスト決定部３２は、ステップＳ２１において、実施形態１の具体例と同様に、分割線の有無を判定した結果であるsplitHorizontally及びsplitVerticallyを設定する。本態様の具体例１におけるsplitHorizontally及びsplitVerticallyは、実施形態１の各具体例におけるsplitHorizontally及びsplitVerticallyと同様の方法により求められる。そのため、ステップＳ２１におけるsplitHorizontally及びsplitVerticallyについての工程の詳細な説明は省略する。また、コンテキスト決定部３２は、分割関連情報として、対象ブロックの幅であるwidthと、対象ブロックの高さであるheightを参照する。
【０３００】
まず、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明する。図２９の（ａ）は、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明するための表である。なお、以下では、簡略化のために、あるブロックが水平方向に並ぶ２つのブロックに分割されることを水平に分割（垂直分割）とし、あるブロックが垂直方向に並ぶ２つのブロックに分割されることを垂直に分割（水平分割）とする。
【０３０１】
ステップＳ２２において、コンテキスト決定部３２は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定することにより、コンテキスト（ctxIdxDir）を決定する。当該判定の式を下記に示す。
【０３０２】
if (splitHorizontally > splitVertically) ctxIdxDir = 1
else if (splitHorizontally < splitVertically) ctxIdxDir = 2
else ctxIdxDir = 0
なお、verSplitとhorSplitを用いて表現すると、以下になる。
【０３０３】
if (verSplit > horSplit) ctxIdxDir = 1
else if (verSplit < horSplit) ctxIdxDir = 2
else ctxIdxDir = 0
詳細に説明すると、図２９の（ａ）が示すように、splitHorizontallyがsplitVerticallyよりも大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir = 1に決定する。ctxIdxDir = 1は、隣接ブロック（もしくは対応ブロック）が、水平に分割/split horizontally（垂直分割/verSplit、左右に分割）されており、対象ブロックも水平に分割（垂直分割）される可能性が高く、CN情報復号部１０が対象ブロックの水平に分割（垂直分割）するか否かを示す方向フラグを復号する可能性が高いことを示している。
【０３０４】
また、splitHorizontallyがsplitVerticallyと同じである場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir = 0に決定する。ctxIdxDir = 0は、隣接ブロック（もしくは対応ブロック）が水平分割及び垂直分割の両方が同じ回数実行されているため、CN情報復号部１０は、対象ブロックの垂直分割又は水平分割の方向フラグを等確率で復号する可能性が高いことを示している。
【０３０５】
また、splitHorizontallyがsplitVerticallyよりも小さい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir = 2に決定する。ctxIdxDir = 2は、隣接ブロック（もしくは対応ブロック）が、垂直に分割（水平分割、上下に分割）されており、対象ブロックも垂直に分割（水平分割）される可能性が高く、CN情報復号部１０が対象ブロックの垂直に分割（水平分割）するか否かを示す方向フラグを復号する可能性が高いことを示している。
【０３０６】
次に、splitHorizontally及びsplitVerticallyを優先的に参照し、width及びheightを参照してコンテキストを決定する方法を説明する。図２９の（ｂ）は、splitHorizontally及びsplitVerticallyを優先的に参照し、width及びheightを参照してコンテキストを決定する方法を説明するための表である。
【０３０７】
ステップＳ２２において、コンテキスト決定部３２は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定することにより、コンテキスト（ctxIdxDir）を決定する。そして、コンテキスト決定部３２は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定することができなかった場合（例えばsplitHorizontallyとsplitVerticallyとが等しい場合）、widthがheightよりも大きいか否かを判定することにより、コンテキスト（ctxIdxDir）を決定する。これらの判定の式を下記に示す。
【０３０８】
if (splitHorizontally > splitVertically) ctxIdxDir = ctxA
else if (splitHorizontally < splitVertically) ctxIdxDir = ctxB
else if (width > height) ctxIdxDir = ctxA
else if (width < height) ctxIdxDir = ctxB
else ctxIdxDir = ctxC
ここでctxA、ctxB、ctxCは、コンテストを指定するための値である。例えば、ctxA=1, ctxB=2, ctxC=0としてもよいが、これらの値に限定されない。ctxA=0, ctxB=1, ctxC=2などでもよい。つまり、コンテキスト（コンテキストインデックス）によって指定されるコンテキスト変数は、コンテキストを区別するために用いられるので、分岐結果によって互いに値が異なれば十分であり、大小関係は異なってもよい（以下、同様）。ここでは、ctxA、ctxB、ctxCを用いることによって、splitHorizontally > splitVerticallyが真の場合と後続のwidth > heightが真の場合とのコンテキストが同じ値のctxAであること、splitHorizontally < splitVerticallyが真の場合と後続のwidth < heighが真の場合とのコンテキストが同じ値のctxBであること、および、上記２つのコンテキストctxAの値とctxBの値とが異なること、を示す。
【０３０９】
なお、verSplitとhorSplitを用いて表現すると、以下になる。
【０３１０】
if (verSplit > horSplit) ctxIdxDir = ctxA
else if (verSplit < horSplit) ctxIdxDir = ctxB
else if (width > height) ctxIdxDir = ctxA
else if (width < height) ctxIdxDir = ctxB
else ctxIdxDir = ctxC
詳細に説明すると、まず、コンテキスト決定部３２は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定し、図２９の（ｂ）が示すように、splitHorizontallyがsplitVerticallyよりも大きい場合、コンテキストを、ctxIdxDir = 1に決定する。splitHorizontallyがsplitVerticallyよりも大きくない場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir = 2に決定する。splitHorizontallyとsplitVerticallyとが等しい場合、コンテキスト決定部３２は、対象ブロックの幅であるwidthが、対象ブロックの高さであるheightよりも大きいか否かを判定する。widthがheightよりも大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir = 1に決定する。ここでコンテキスト決定部３２がコンテキストをctxIdxDir = 1に決定する理由としては、widthがheightよりも大きい場合、つまり、対象ブロックが垂直方向よりも水平方向に長い長方形である場合、対象ブロックが水平に分割（垂直分割）される可能性が高いためである。
【０３１１】
また、widthがheightよりも小さい場合、コンテキスト決定部３２は、コンテキストをctxIdxDir = 2に決定する。ここでコンテキスト決定部３２がコンテキストをctxIdxDir = 2に決定する理由としては、widthがheightよりも小さい場合、つまり、対象ブロックが水平方向よりも垂直方向に長い長方形である場合、対象ブロックが垂直に分割（水平分割）される可能性が高いためである。
【０３１２】
また、widthとheightとが等しい場合、コンテキスト決定部３２は、コンテキストをctxIdxDir = 0に決定する。ここでコンテキスト決定部３２がコンテキストをctxIdxDir = 0に決定する理由としては、widthとheightとが等しい場合、つまり、対象ブロックが水平方向の辺と垂直方向の辺とが等しい正方形である場合、対象ブロックの分割方向が等確率で発生するためである。
【０３１３】
次に、width及びheightを優先的に参照し、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明する。図２９の（ｃ）は、width及びheightを優先的に参照し、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明するための表である。
【０３１４】
ステップＳ２２において、コンテキスト決定部３２は、widthがheightよりも大きいか否かを判定することにより、コンテキスト（ctxIdxDir）を決定する。そして、コンテキスト決定部３２は、widthがheightよりも大きいか否かを判定することができなかった場合（例えばwidthとheightとが等しい場合）、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定することにより、コンテキスト（ctxIdxDir）を決定する。これらの判定の式を下記に示す。
【０３１５】
if (width > height) ctxIdxDir = ctxA
else if (width < height) ctxIdxDir = ctxB
else if (splitHorizontally > splitVertically) ctxIdxDir = ctxA
else if (splitHorizontally < splitVertically) ctxIdxDir = ctxB
else ctxIdxDir = ctxC
なお、verSplitとhorSplitを用いて表現すると、以下になる。
【０３１６】
if (width > height) ctxIdxDir = ctxA
else if (width < height) ctxIdxDir = ctxB
else if (verSplit > horSplit) ctxIdxDir = ctxA
else if (verSplit < horSplit) ctxIdxDir = ctxB
else ctxIdxDir = ctxC
詳細に説明すると、コンテキスト決定部３２は、widthがheightよりも大きいか否かを判定し、図２９の（ｃ）が示すように、widthがheightよりも大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir = 1に決定する。widthがheightよりも小さい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir = 2に決定する。
【０３１７】
次に、widthとheightとが等しい場合、コンテキスト決定部３２は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定する。splitHorizontallyがsplitVerticallyよりも大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir = 1に決定する。また、splitHorizontallyがsplitVerticallyよりも小さい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir = 2に決定する。また、splitHorizontallyとsplitVerticallyとが等しい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxDir =0に決定する。
【０３１８】
上記の各方法では、コンテキストの値が０〜２の３段階の値をとる例を説明したが、コンテキストの値は、０〜４の５段階の値をとってもよい。図２９の（ｄ）は、コンテキストの値が０〜４の５段階の値をとる例を説明するための表である。
【０３１９】
まず、ステップＳ２２において、コンテキスト決定部３２は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定する。そして、splitHorizontallyがsplitVerticallyよりも大きくない場合、コンテキスト決定部３２は、splitHorizontallyとsplitVerticallyとが等しいか否かをさらに判定する。また、コンテキスト決定部３２は、widthがheightよりも大きいか否かを判定する。そして、widthがheightよりも大きくない場合、widthとheightとが等しいか否かをさらに判定する。そして、コンテキスト決定部３２は、splitHorizontally及びsplitVerticallyを用いた判定と、width及びheightを用いた判定とを参照することにより、コンテキスト（ctxIdxDir）を決定する。これらの判定の式を下記に示す。
【０３２０】
ctxIdxDir = (splitHorizontally > splitVertically) ? 2 : (splitHorizontally == splitVertically) ? 1 : 0 + (width > height) ? 2 : (width == height) ? 1 : 0
詳細に説明すると、まず、コンテキスト決定部３２は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定し、splitHorizontallyがsplitVerticallyよりも大きい場合、splitHorizontally及びsplitVerticallyを用いた判定によるコンテキストの成分を、２に設定する。splitHorizontallyがsplitVerticallyよりも大きくない場合、コンテキスト決定部３２は、splitHorizontallyとsplitVerticallyとが等しいか否かをさらに判定する。splitHorizontallyとsplitVerticallyとが等しい場合、コンテキスト決定部３２は、splitHorizontally及びsplitVerticallyを用いた判定によるコンテキストの成分を、１に設定する。splitHorizontallyとsplitVerticallyとが等しくない場合、コンテキスト決定部３２は、splitHorizontally及びsplitVerticallyを用いた判定によるコンテキストの成分を、０に設定する。
【０３２１】
また、コンテキスト決定部３２は、widthがheightよりも大きいか否かを判定し、widthがheightよりも大きい場合、width及びheightを用いた判定によるコンテキストの成分を、２に設定する。widthがheightよりも大きくない場合、コンテキスト決定部３２は、widthとheightとが等しいか否かをさらに判定する。widthとheightとが等しい場合、コンテキスト決定部３２は、width及びheightを用いた判定によるコンテキストの成分を、１に設定する。widthとheightとが等しくない場合、コンテキスト決定部３２は、width及びheightを用いた判定によるコンテキストの成分を、０に設定する。
【０３２２】
次に、コンテキスト決定部３２は、splitHorizontally及びsplitVerticallyを用いた判定によるコンテキストの成分と、width及びheightを用いた判定によるコンテキストの成分とを加算することにより、ctxIdxDirを決定する。これにより決定されたctxIdxDirは、０〜４の値を取り得る。そして、ctxIdxDirが４に近いほど、隣接ブロック（または対応ブロック）が水平に分割（垂直分割）されている可能性が高く、対象ブロックも水平に分割される可能性が高く、CN情報復号部１０が対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が高いことを示している。また、ctxIdxDirが０に近いほど、隣接ブロックが垂直に分割（水平分割）されている可能性が高く、対象ブロックも垂直に分割される可能性が高く、CN情報復号部１０が対象ブロックの垂直に分割するか否かを示す方向フラグを復号する可能性が高いことを示している。
【０３２３】
また、ctxIdxDirが４に近いほど、隣接ブロックが垂直に分割（水平分割）されている可能性が高く、対象ブロックも垂直に分割（水平分割）される可能性が高く、CN情報復号部１０が対象ブロックを垂直に分割するか否かを示す方向フラグを復号する可能性が高いことを示していてもよい。同様に、ctxIdxDirが０に近いほど、隣接ブロックが水平に分割（垂直分割）されている可能性が高く、対象ブロックも水平に分割（垂直分割）される可能性が高く、CN情報復号部１０が、対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が高いことを示していてもよい。その場合の判定の式を下記に示す。
【０３２４】
ctxIdxDir = (splitHorizontally > splitVertically) ? 0 : (splitHorizontally == splitVertically) ? 1 : 2 + (width > height) ? 0 : (width == height) ? 1 : 2
なお、verSplitとhorSplitを用いて表現すると、以下になる。
【０３２５】
ctxIdxDir = (verSplit > horSplit) ? 0 : (verSplit == horSplit) ? 1 : 2 + (width > height) ? 0 : (width == height) ? 1 : 2
（具体例２）
上述の具体例１では、コンテキスト決定部３２がBT分割方向フラグ（bt_dir_flag）のコンテキスト（ctxIdxDir）を決定する方法を説明した。当該方法により求められたコンテキストは、本実施形態に係る画像復号装置３１がBT分割フラグ（bt_split_flag）を復号した後に、BT分割方向フラグ（bt_dir_flag）を復号する際に用いることを想定したものである。つまり、BT分割バイナリゼーションでは、１ビット目で分割の有無を指定し、２ビット目で分割の方向を指定する。しかし、本実施形態に係る画像復号装置３１は、BT分割フラグ（bt_split_flag）及びBT分割方向フラグ（bt_dir_flag）を復号する代わりに、垂直に分割するか否かを示す分割フラグ（bt_split_vertically_flag/bt_hor_split_flag）及び水平に分割するか否かを示す分割フラグ（bt_split_horizontally_flag/bt_ver_split_flag）を復号してもよい。つまり、BT分割バイナリゼーションにおいて、１ビット目で水平分割の有無（垂直に分割されているか否か）を指定し、２ビット目で垂直分割の有無（水平に分割されているか否か）を指定してもよい。その場合、垂直分割及び水平分割が無い場合に、分割がないものとすることができる。なお、垂直分割フラグは、対象ブロックを水平に分割するか否かを示すフラグである。また、水平分割フラグは、対象ブロックを垂直に分割するか否かを示すフラグである。下記で、水平分割フラグ（bt_split_vertically_flag）のコンテキスト（ctxIdxBTVertically）と、垂直分割フラグ（bt_split_horizontally_flag）のコンテキスト（ctxIdxBTHorizontally）とを決定する方法を説明する。
【０３２６】
まず、具体例１のように、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明する。ステップＳ２２において、コンテキスト決定部３２は、splitVerticallyが０より大きいか否かを判定する。splitVerticallyが０より大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTVertically = 1に決定する。ctxIdxBTVertically = 1は、対象ブロックが垂直に分割（水平分割、上下に分割）される可能性が高く、CN情報復号部１０が、対象ブロックを垂直に分割するか否かを示す方向フラグを復号する可能性が高いことを示している。splitVerticallyが０より大きくない場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTVertically = 0に決定する。ctxIdxBTVertically = 1は、対象ブロックが垂直に分割される可能性が低く、CN情報復号部１０が対象ブロックの垂直に分割の方向フラグを復号する可能性が低いことを示している。当該判定の式を下記に示す。
【０３２７】
ctxIdxBTVertically = (splitVertically > 0)? 1 : 0
また、コンテキスト決定部３２は、splitHorizontallyが０より大きいか否かを判定する。splitHorizontallyが０より大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。ctxIdxBTHorizontally = 1は、対象ブロックが水平に分割（垂直分割、左右に分割）される可能性が高く、CN情報復号部１０が、対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が高いことを示している。splitHorizontallyが０より大きくない場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTHorizontally = 0に決定する。ctxIdxBTVHorizontally = 0は、対象ブロックが水平に分割される可能性が低く、CN情報復号部１０が、対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が低いことを示している。当該判定の式を下記に示す。
【０３２８】
ctxIdxBTHorizontally = (splitHorizontally > 0)? 1 : 0
次に、splitHorizontally及びsplitVerticallyを優先的に参照し、width及びheightを参照してコンテキストを決定する方法を説明する。ステップＳ２２において、コンテキスト決定部３２は、splitVerticallyが０より大きいか否かを判定する。splitVerticallyが０より大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTVertically =1に決定する。splitVerticallytが０より大きくない場合、コンテキスト決定部３２は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより小さいか否かを判
定する。widthがheightより小さい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTVertically = 1に決定する。widthがheightより小さくない場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTVertically = 0に決定する。これらの判定の式を下記に示す。
【０３２９】
ctxIdxBTVertically = (splitVertically > 0) ? 1 : (width < height) ? 1 : 0
また、コンテキスト決定部３２は、splitHorizontallyが０より大きいか否かを判定する。splitHorizontallyが０より大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。splitHorizontallyが０より大きくない場合、コンテキスト決定部３２は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより大きいか否かを判定する。widthがheightより大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。widthがheightより大きくない場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTHorizontally= 0に決定する。これらの判定の式を下記に示す。
【０３３０】
ctxIdxBTHorizontally = (splitHorizontally > 0) ? 1 : (width > height) ? 1 : 0
次に、width及びheightを優先的に参照し、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明する。ステップＳ２２において、コンテキスト決定部３２は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより小さいか否かを判定する。widthがheightより小さい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTVertically = 1に決定する。widthがheightより小さくない場合、コンテキスト決定部３２は、splitVerticallyが０より大きいか否かを判定する。splitVerticallyが０より大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTVertically = 1に決定する。splitVerticallyが０より大きくない場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTVertically = 0に決定する。これらの判定の式を下記に示す。
【０３３１】
ctxIdxBTVertically = (width < height) ? 1 : (splitVertically > 0) ? 1 : 0
また、コンテキスト決定部３２は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより大きいか否かを判定する。widthがheightより大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。widthがheightより大きくない場合、コンテキスト決定部３２は、splitHorizontallyが０より大きいか否かを判定する。splitHorizontallyが０より大きい場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。splitHorizontallyが０より大きくない場合、コンテキスト決定部３２は、コンテキストを、ctxIdxBTHorizontally =0に決定する。
【０３３２】
（実施形態３の態様１のまとめ）
以上のように、本態様に係る画像復号装置３１は、対象ブロックの分割方向を示す方向フラグのコンテキストを、当該対象ブロックに隣接する１又は複数の隣接ブロックの分割状況を参照して決定し、当該コンテキストを用いて、方向フラグを復号する。これにより、隣接ブロックの分割状況に応じて、方向フラグを復号するため、隣接ブロックが分割されておらず、対象ブロックも分割されない可能性が高い場合に、不要な方向フラグを復号する可能性を減少させることができる。従って、画像復号装置において、分割情報の符号量を削減できる。
【０３３３】
また、本態様に係る画像復号装置３１は、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照して、隣接ブロックの分割状況を特定することにより、隣接ブロックの分割線の有無又は分割方向を判定し、当該判定を参照してコンテキストを決定する。これにより、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照するため、隣接ブロックの分割関連情報が反映された判定を実行することができ、より適切なコンテキストを決定することができる。
【０３３４】
＜実施形態３の態様２＞
本態様では、実施形態２に係るコンテキスト決定方法と同様の方法によりコンテキストを導出する。ただし、本実施形態におけるコンテキストは、対象ブロックの分割方法を示す方向フラグのコンテキストである。本態様において、コンテキスト決定部３２は、実施形態２と類似の方法により、対応ブロックの分割状況を特定することにより、対応ブロックの、分割の有無又は分割方向を判定し、当該判定に基づいて、対象ブロックの方向フラグのコンテキストを導出する。なお、実施形態３の態様２に係るCN情報復号部１０は、上述の実施形態３の態様１の機能と同様の機能を有している。
【０３３５】
（コンテキスト決定部）
本態様に係るコンテキスト決定部３２は、CN情報復号部１０がまだ分割していない色差ブロック（色差CB（請求項における第１の色コンポーネントに関する対象ブロック））に対応し、かつ、CN情報復号部１０がすでに分割し復号した輝度ブロック（輝度CB（請求項における第２の色コンポーネントに関する対応ブロック））の分割関連情報と、をCN情報復号部１０から取得する。
【０３３６】
また、本態様に係るコンテキスト決定部３２は、取得した輝度CBの分割関連情報を参照して、色差CB（対象CB）に対応する輝度CB（対応CB）の分割状況を特定することにより、対応CBの分割の有無又は分割方向を判定する。
【０３３７】
また、本態様に係るコンテキスト決定部３２において、コンテキスト決定部３２は、判定した分割状況に応じて、対象CBの分割方向を示す方向フラグのコンテキストを決定する。コンテキスト決定部３２が決定したコンテキストは、上述のCN情報復号部１０に出力される。
【０３３８】
（コンテキスト決定方法）
本態様に係る画像復号装置３１によるコンテキスト決定方法について、図３０を参照して、詳細に説明する。図３０は、本態様に係る画像復号装置３１によるコンテキスト決定方法の一例を説明するフローチャート図である。なお、実施形態１及び２、並びに実施形態３の態様１に係るコンテキスト決定方法と同様の工程については、詳細な説明は省略する。
【０３３９】
コンテキスト決定部３２は、CN情報復号部１０がまだ分割していない色差CB（対象CB）に対応し、かつ、CN情報復号部１０がすでに分割し復号した輝度CB（対応CB）の分割関連情報、をCN情報復号部１０から取得する（ステップＳ３０）。
【０３４０】
コンテキスト決定部３２は、取得した輝度CBの分割関連情報を参照して、色差CBに対応する輝度CBの分割状況を特定することにより、対応CBの分割の有無又は分割方向を判定する（ステップＳ３１）。
【０３４１】
コンテキスト決定部３２は、判定した対応CBの分割の有無又は分割方向に応じて、対象CBのコンテキストを決定する（ステップＳ３２）。
【０３４２】
CN情報復号部１０は、コンテキスト決定部３２が決定したコンテキストに応じて、CNに含まれるCN情報から、対象CBのBT分割の分割方法を示すBT方向フラグを復号する（ステップＳ３３）。
【０３４３】
（具体例）
本態様の具体例においても、コンテキスト決定部３２は、実施形態３の態様１の具体例１及び具体例２と同様の方法を実行することができる。そのため、本態様の具体例についての詳細な説明は省略する。
【０３４４】
本態様では、ステップＳ３１において、コンテキスト決定部３２は、対応ブロックが水平に分割（垂直分割）されているか否かを示すsplitHorizontallyと、対応ブロックが垂直に分割（水平分割）されているか否かを示すsplitVerticallyとを設定する。そして、コンテキスト決定部３２は、実施形態３の態様１の具体例１及び具体例２と同様の方法により、splitHorizontally及びsplitVerticallyを用い、また、必要に応じて、対象ブロックの幅であるwidthと、対象ブロックの高さであるheightとを用いることにより、対象ブロックの分割方向を示す方向フラグのコンテキスト（ctxIdxDir）を決定する。
【０３４５】
（実施形態３の態様２のまとめ）
以上のように、本態様に係る画像復号装置３１は、第１の色コンポーネントに関する対象ブロックの分割方向を示す方向フラグのコンテキストを、既に復号された第２の色コンポーネントに関する対応ブロックの分割状況を参照して決定し、当該コンテキストを用いて、方向フラグを復号する。これにより、対応ブロックの分割状況に応じて、方向フラグを復号するため、対応ブロックが分割されておらず、対象ブロックも分割されない可能性が高い場合に、不要な方向フラグを復号する可能性を減少させることができる。従って、画像復号装置において、分割情報の符号量を削減できる。
【０３４６】
また、本態様に係る画像復号装置３１は、対応ブロックのパーティション番号を参照して、対応ブロックの分割状況を特定することにより、対応ブロックの分割線の有無又は分割方向を判定し、当該判定を参照して、対象ブロックのコンテキストを決定する。これにより、対応ブロックのパーティション番号を参照するため、対応ブロックの分割関連情報が反映された、より適切なコンテキストを決定することができる。
【０３４７】
＜画像符号化装置＞
本実施形態に係る画像復号装置３１の構成は、同様に、画像符号化装置１１にも適用できる。その場合、画像符号化装置１１は、CN情報復号部１０に代わるCN情報符号化部（図示せず）と、コンテキスト決定部３２とを備え、対象ブロックを分割するか否かを示す分割方向フラグ（BT分割方向フラグ又はTT分割方向フラグ等）のコンテキストを導出する。
【０３４８】
上記の構成を有する画像符号化装置１１において、コンテキスト決定部３２は、色差ブロック（対象ブロック）の隣接ブロック、または色差ブロックに対応し、かつ、すでに分割された輝度ブロック（対応ブロック）の分割関連情報を取得する。次に、コンテキスト決定部３２は、これらの分割関連情報を参照して、隣接ブロック又は対応ブロックの分割状況を特定することにより、隣接ブロック若しくは対応ブロックの分割線が存在するか否かの判定、又は隣接ブロック若しくは対応ブロックの分割方向の判定を実行する。次に、コンテキスト決定部３２は、当該判定に応じて、対象ブロックの分割方向を示す分割方向フラグのコンテキストを決定する。次に、CN情報符号化部は、コンテキスト決定部３２が決定したコンテキストに応じて、対象ブロックの分割方向を示す分割方向フラグを符号化する。
【０３４９】
〔ソフトウェアによる実現例〕
なお、上述した実施形態における画像符号化装置１１、画像復号装置３１の一部、例えば、エントロピー復号部３０１、予測パラメータ復号部３０２、ループフィルタ３０５、予測画像生成部３０８、逆量子化・逆DCT部３１１、加算部３１２、予測画像生成部１０１、減算部１０２、DCT・量子化部１０３、エントロピー符号化部１０４、逆量子化・逆DCT部１０５、ループフィルタ１０７、符号化パラメータ決定部１１０、予測パラメータ符号化部１１１をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置１１、画像復号装置３１のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０３５０】
また、上述した実施形態における画像符号化装置１１、画像復号装置３１の一部、又は全部を、LSI（Large Scale Integration）等の集積回路として実現しても良い。画像符号化装置１１、画像復号装置３１の各機能ブロックは個別にプロセッサ化しても良いし、一部、又は全部を集積してプロセッサ化しても良い。また、集積回路化の手法はＬＳＩに限らず専用回路、又は汎用プロセッサで実現しても良い。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【０３５１】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【０３５２】
〔応用例〕
上述した画像符号化装置１１及び画像復号装置３１は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像（CG及びGUIを含む）であってもよい。
【０３５３】
まず、上述した画像符号化装置１１及び画像復号装置３１を、動画像の送信及び受信に利用できることを、図８を参照して説明する。
【０３５４】
図８の（ａ）は、画像符号化装置１１を搭載した送信装置PROD_Aの構成を示したブロック図である。図８の（ａ）に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した画像符号化装置１１は、この符号化部PROD_A1として利用される。
【０３５５】
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成又は加工する画像処理部Ａ７を更に備えていてもよい。図８の（ａ）においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
【０３５６】
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部（不図示）を介在させるとよい。
【０３５７】
図８の（ｂ）は、画像復号装置３１を搭載した受信装置PROD_Bの構成を示したブロック図である。図８の（ｂ）に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した画像復号装置３１は、この復号部PROD_B3として利用される。
【０３５８】
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図８の（ｂ）においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
【０３５９】
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部（不図示）を介在させるとよい。
【０３６０】
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送（ここでは、送信先が予め特定されていない送信態様を指す）であってもよいし、通信（ここでは、送信先が予め特定されている送信態様を指す）であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
【０３６１】
例えば、地上デジタル放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を無線放送で送受信する送信装置PROD_A／受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を有線放送で送受信する送信装置PROD_A／受信装置PROD_Bの一例である。
【０３６２】
また、インターネットを用いたVOD（Video On Demand）サービスや動画共有サービスなどのサーバ（ワークステーションなど）／クライアント（テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど）は、変調信号を通信で送受信する送信装置PROD_A／受信装置PROD_Bの一例である（通常、ＬＡＮにおいては伝送媒体として無線又は有線の何れかが用いられ、ＷＡＮにおいては伝送媒体として有線が用いられる）。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
【０３６３】
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
【０３６４】
次に、上述した画像符号化装置１１及び画像復号装置３１を、動画像の記録及び再生に利用できることを、図９を参照して説明する。
【０３６５】
図９の（ａ）は、上述した画像符号化装置１１を搭載した記録装置PROD_Cの構成を示したブロック図である。図９の（ａ）に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した画像符号化装置１１は、この符号化部PROD_C1として利用される。
【０３６６】
なお、記録媒体PROD_Mは、（１）HDD（Hard Disk Drive）やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、（２）SDメモリカードやUSB（Universal Serial Bus）フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、（３）DVD（Digital Versatile Disc）やBD（Blu-ray Disc:登録商標）などのように、記録装置PROD_Cに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０３６７】
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成又は加工する画像処理部PROD_C6を更に備えていてもよい。図９の（ａ）においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
【０３６８】
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部（不図示）を介在させるとよい。
【０３６９】
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD（Hard Disk Drive）レコーダなどが挙げられる（この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる）。また、カムコーダ（この場合、カメラPROD_C3が動画像の主な供給源となる）、パーソナルコンピュータ（この場合、受信部PROD_C5又は画像処理部Ｃ６が動画像の主な供給源となる）、スマートフォン（この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる）なども、このような記録装置PROD_Cの一例である。
【０３７０】
図９の（ｂ）は、上述した画像復号装置３１を搭載した再生装置PROD_Dの構成を示したブロック図である。図９の（ｂ）に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した画像復号装置３１は、この復号部PROD_D2として利用される。
【０３７１】
なお、記録媒体PROD_Mは、（１）HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、（２）SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、（３）DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０３７２】
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図９の（ｂ）においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
【０３７３】
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部（不図示）を介在させるとよい。
【０３７４】
このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる（この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる）。また、テレビジョン受像機（この場合、ディスプレイPROD_D3が動画像の主な供給先となる）、デジタルサイネージ（電子看板や電子掲示板等とも称され、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる）、デスクトップ型PC（この場合、出力端子PROD_D4又は送信部PROD_D5が動画像の主な供給先となる）、ラップトップ型又はタブレット型PC（この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる）、スマートフォン（この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる）なども、このような再生装置PROD_Dの一例である。
【０３７５】
（ハードウェア的実現及びソフトウェア的実現）
また、上述した画像復号装置３１及び画像符号化装置１１の各ブロックは、集積回路（ICチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、CPU（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０３７６】
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM（Read Only Memory）、上記プログラムを展開するRAM（RandomAccess Memory）、上記プログラム及び各種データを格納するメモリ等の記憶装置（記録
媒体）などを備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ（又はCPUやMPU）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０３７７】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやCD-ROM（Compact Disc Read-Only Memory）／MOディスク（Magneto-Optical disc）／MD（Mini Disc）／DVD（Digital Versatile Disc）／CD-R（CD Recordable）／ブルーレイディスク（Blu-ray Disc：登録商標）等の光ディスクを含むディスク類、ICカード（メモリカードを含む）／光カード等のカード類、マスクROM／EPROM（Erasable Programmable Read-Only Memory）／EEPROM（Electrically Erasable and Programmable Read-Only Memory：登録商標）／フラッシュROM等の半導体メモリ類、あるいはPLD（Programmable logic device）やFPGA（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０３７８】
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN（Local Area Network）、ISDN（Integrated Services Digital Network）、VAN（Value-Added Network）、CATV（Community Antenna television/Cable Television）通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成又は種類のものに限定されない。例えば、IEEE（Institute of Electrical and Electronic Engineers）1394、USB、電力線搬送、ケーブルＴＶ回線、電話線、ADSL（Asymmetric Digital Subscriber Line）回線等の有線でも、IrDA（Infrared Data Association）やリモコンのような赤外線、BlueTooth（登録商標）、IEEE802.11無線、HDR（High Data Rate）、NFC（Near Field Communication）、DLNA（Digital Living Network Alliance：登録商標）、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０３７９】
本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０３８０】
（関連出願の相互参照）
本出願は、２０１７年３月１６日に出願された日本国特許出願：特願２０１７−０５１３４２、及び２０１６年１２月１６日に出願された日本国特許出願：特願２０１６−２４４９００に対して優先権の利益を主張するものであり、それらを参照することにより、その内容の全てが本書に含まれる。
【産業上の利用可能性】
【０３８１】
本発明の実施形態は、画像データが符号化された符号化データを復号する画像復号装置、及び、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
【符号の説明】
【０３８２】
１０  CN情報復号部（分割情報復号部）
１１  画像符号化装置
１３  TT情報復号部
２２  TU復号部
３１  画像復号装置
３２  コンテキスト決定部
４１  画像表示装置
【図１】
2018110462.tif 000003
【図２】
2018110462.tif 000004
【図３】
2018110462.tif 000005
【図４】
2018110462.tif 000006
【図５】
2018110462.tif 000007
【図６】
2018110462.tif 000008
【図７】
2018110462.tif 000009
【図８】
2018110462.tif 000010
【図９】
2018110462.tif 000011
【図１０】
2018110462.tif 000012
【図１１】
2018110462.tif 000013
【図１２】
2018110462.tif 000014
【図１３】
2018110462.tif 000015
【図１４】
2018110462.tif 000016
【図１５】
2018110462.tif 000017
【図１６】
2018110462.tif 000018
【図１７】
2018110462.tif 000019
【図１８】
2018110462.tif 000020
【図１９】
2018110462.tif 000021
【図２０】
2018110462.tif 000022
【図２１】
2018110462.tif 000023
【図２２】
2018110462.tif 000024
【図２３】
2018110462.tif 000025
【図２４】
2018110462.tif 000026
【図２５】
2018110462.tif 000027
【図２６】
2018110462.tif 000028
【図２７】
2018110462.tif 000029
【図２８】
2018110462.tif 000030
【図２９】
2018110462.tif 000031
【図３０】
2018110462.tif 000032
【国際調査報告】
2018110462.tif 000033
2018110462.tif 000034
2018110462.tif 000035
2018110462.tif 000036
2018110462.tif 000037
2018110462.tif 000038
2018110462.tif 000039
2018110462.tif 000040
2018110462.tif 000041