(57)【要約】      （修正有）【課題】画像符号化・復号処理において、符号化効率を向上させつつ、処理量及びメモリバンド幅の増加を抑えることができる動画像復号装置、および動画像符号化装置を提供する。【解決手段】画像をＣＴＵに分割し、ＣＴＵを２分木、４分木を含むツリーを用いてＣＵに再帰的に分割する分割部と、共有符号化ブロックの左上座標と幅、高さを設定する共有マージ手段を備え、マージ候補導出部は、対象符号化ユニットのサイズが所定の共有サイズ以下である場合に、対象ＣＵの左上位置を共有符号化ブロックの左上座標に設定し対象ＣＵの幅、高さに、共有符号化ブロックの幅、高さを各々設定する。【選択図】図１３
2020088451.tif 000002
【特許請求の範囲】
【請求項１】
画像をＣＴＵに分割し、ＣＴＵを２分木、４分木を含むツリーを用いて符号化ユニットに再帰的に分割する分割部を備え、符号化ユニットの動きベクトルを導出するインター予測パラメータ導出部を備え、
マージインデックスに応じて選択されるマージ候補を導出するマージ候補導出部を備え、
共有符号化ブロックの左上座標と幅、高さを設定する共有マージ手段を備え
上記マージ候補導出部は、
対象符号化ユニットのサイズが所定の共有サイズ以下である場合に、
対象符号化ユニットの左上位置を上記共有符号化ブロックの左上座標に設定し
対象符号化ユニットの幅、高さに、上記共有符号化ブロックの幅、高さを各々設定することを特徴とする動画像復号装置もしくは動画像符号化装置。
【請求項２】
上記共有マージ手段は、符号化ユニットの分割部において、符号化ノードのサイズが上記所定の共有サイズが等しい場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの幅、高さを各々設定することを特徴とする請求項１に記載の動画像復号装置もしくは動画像符号化装置。
【請求項３】
上記共有マージ手段は、符号化ユニットの分割部において、符号化ノードのサイズが上記所定の共有サイズ以上の場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの幅、高さを各々設定することを特徴とする請求項１に記載の動画像復号装置もしくは動画像符号化装置。
【請求項４】
上記共有マージ手段は、符号化ユニットの分割部において、符号化ノードのサイズが上記所定の共有サイズと等しい場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの幅、高さを設定し、さらに、
符号化ノードのサイズが上記所定の共有サイズの1/2  かつ、QT分割（MTTデプス＝０）かつ、分割インデックスが０の場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの２倍の幅と２倍の高さを各々設定することを特徴とする請求項１に記載の動画像復号装置もしくは動画像符号化装置。
【請求項５】
上記共有マージ手段は、符号化ユニットの分割部において、符号化ノードのサイズが上記所定の共有サイズと等しい場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの幅、高さを設定し、さらに、
符号化ノードのサイズが上記所定の共有サイズの1/2  かつ、QT分割（MTTデプス＝０）かつ、分割インデックスが０もしくは２の場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの２倍の幅と１倍の高さを各々設定することを特徴とする請求項１に記載の動画像復号装置もしくは動画像符号化装置。
【請求項６】
上記共有マージ手段は、共有符号化ブロックの左上座標に画面もしくはタイルを矩形のグリッドサイズに分割した場合の左上座標に設定し、上記共有符号化ブロックの幅、高さに上記矩形グリッドサイズの幅の整数倍、高さの整数倍を各々設定することを特徴とする請求項１に記載の動画像復号装置もしくは動画像符号化装置。
【請求項７】
上記共有マージ手段は、共有符号化ブロックの左上座標に、上記符号化ユニット左上座標を上記矩形グリッドサイズの対数値を用いて、右シフトして左シフトして導出し、
画面もしくはタイルを固定サイズブロックに分割した場合の左上座標に設定し、上記共有符号化ブロックの幅、高さに、上記符号化ユニットの幅、高さに各々、オフセットを加算、右シフト、左シフトした値に設定することを特徴とする請求項６に記載の動画像復号装置もしくは動画像符号化装置。
【請求項８】
上記インター予測パラメータ導出部で導出する動きベクトルをメインヒストリメモリに格納するヒストリ格納部を備え、
上記マージ候補予測部は、メインヒストリメモリの動きベクトルを利用してマージ候補を導出するヒストリマージ候補導出部を備え、
上記ヒストリ格納部は、対象符号化ユニットのサイズが所定の共有サイズ未満である場合に、動きベクトルの格納を行わず、対象符号化ユニットのサイズが所定の共有サイズ以上である場合に動きベクトルを格納することを特徴とする請求項１に記載の動画像復号装置もしくは動画像符号化装置。
【請求項９】
上記インター予測パラメータ導出部で導出する動きベクトルを格納するヒストリ格納部を備え、
上記マージ候補予測部は、メインヒストリメモリ（参照メモリ、第１ヒストリメモリ）の動きベクトルを利用してマージ候補を導出するヒストリマージ候補導出部を備え、
上記ヒストリ格納部は、対象符号化ユニットのサイズが所定の共有サイズ未満である場合に、動きベクトルを一時ヒストリメモリ（第２ヒストリメモリ）に格納し、対象符号化ユニットのサイズが所定の共有サイズ以上である場合に上記メインヒストリメモリに動きベクトルを格納し、
上記ヒストリ格納部は、上記一時ヒストリメモリに格納した動きベクトルをメインヒストリメモリに格納することを特徴とする請求項１に記載の動画像復号装置もしくは動画像符号化装置。
【請求項１０】
上記ヒストリ格納部は、対象符号化ユニットの左上座標が、上記共有符号化ブロックの左上座標に一致する場合に上記一時ヒストリメモリに格納した動きベクトルをメインヒストリメモリに格納することを特徴とする請求項８に記載の動画像復号装置もしくは動画像符号化装置。
【請求項１１】
上記ヒストリ格納部は、ヒストリメモリ（更新メモリ、第１ヒストリメモリ）に動きベクトルを格納し、
上記ヒストリ格納部は、対象符号化ユニットの左上座標が、上記共有符号化ブロックの左上座標に一致する場合に上記ヒストリメモリの内容を、コピーヒストリメモリに複製し、
上記ヒストリマージ候補導出部は、対象符号化ユニットのサイズが所定の共有サイズ未満である場合に、コピーヒストリメモリの動きベクトルを利用してマージ候補を導出し、共有サイズ以上である場合に、ヒストリメモリの動きベクトルを利用してマージ候補を導出することを特徴とする請求項９に記載の動画像復号装置もしくは動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、動画像復号装置、および動画像符号化装置に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。
【０００３】
具体的な動画像符号化方式としては、例えば、H.264/AVCやHEVC（High-Efficiency Video Coding）にて提案されている方式などが挙げられる。
【０００４】
このような動画像符号化方式においては、動画像を構成する画像（ピクチャ）は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット（CTU：Coding Tree Unit）、符号化ツリーユニットを分割することで得られる符号化単位（符号化ユニット（Coding Unit：CU）と呼ばれることもある）、及び、符号化単位を分割することより得られる変換ユニット（TU：Transform Unit）からなる階層構造により管理され、CU毎に符号化／復号される。
【０００５】
また、このような動画像符号化方式においては、通常、入力画像を符号化／復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像（原画像）から減算して得られる予測誤差（「差分画像」または「残差画像」と呼ぶこともある）が符号化される。予測画像の生成方法としては、画面間予測（インター予測）、および、画面内予測（イントラ予測）が挙げられる。
【０００６】
また、近年の動画像符号化及び復号の技術として非特許文献１が挙げられる。
【０００７】
また、非特許文献１には、画面を矩形のCTUブロックに分割した後、さらいCTUをマルチツリーMTT（QTBT, QTBTTT）と呼ばれる４分木、２分木、３分木などの複数のツリーにより再帰的に分割する技術があるが開示されている。
【０００８】
また、非特許文献２には、複数のブロックをあわせた共有符号化ブロックの単位で並列に予測パラメータ（動きベクトル候補）を導出する技術が開示されている。
【０００９】
また、非特許文献３には、インター予測に利用した動きベクトルをヒストリメモリに格納して再利用する技術が開示されている。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】" Versatile Video Coding (Draft 3)", JVET-L1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2018-11-08 17:06:06
【非特許文献２】"CE4-related: Shared merge list", JVET-L0091, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2018-09-24 13:51:51
【非特許文献３】" CE4: History-based Motion Vector Prediction (Test 4.4.7)", JVET-L0266, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2018-09-25 04:29:26
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら非特許文献２に記載の共有マージ方法では、符号化ユニットにおいて、親のノードの位置とサイズを用いてマージモードを導出する方法が示されているが、複数のツリー構造（QTBTTT、４分木、２分木、３分木）である場合には、対象符号化ユニットにおいて、親のノードの位置とサイズを導出することが容易にはできない、という課題がある。
【００１２】
また、共有マージに用いる面積（サイズ）が32、128、512など、４分木ツリーのサイズにはないサイズの場合には、並列に予測パラメータを導出することができない、という課題がある。
【００１３】
また、共有マージに用いる面積（サイズ）が32、128、512など、４分木ツリーのサイズにはないサイズの場合には、指定したサイズでは、並列に予測パラメータを導出することができない、という課題がある。
【００１４】
また、共有マージに用いるブロックの形状が分割に応じて変化するため必ずしもエンコーダの動き探索が容易にはならない、という課題がある。
【００１５】
また、ヒストリマージ候補を導出する場合、共有マージが動作しないという課題がある。
【課題を解決するための手段】
【００１６】
本発明の一態様に係る動画像復号装置もしくは動画像符号化装置は、画像をＣＴＵに分割し、ＣＴＵを２分木、４分木を含むツリーを用いて符号化ユニットに再帰的に分割する分割部を備え、符号化ユニットの動きベクトルを導出するインター予測パラメータ導出部を備え、マージインデックスに応じて選択されるマージ候補を導出するマージ候補導出部を備え、共有符号化ブロックの左上座標と幅、高さを設定する共有マージ手段を備え上記マージ候補導出部は、対象符号化ユニットのサイズが所定の共有サイズ以下である場合に、対象符号化ユニットの左上位置を上記共有符号化ブロックの左上座標に設定し対象符号化ユニットの幅、高さに、上記共有符号化ブロックの幅、高さを各々設定することを特徴とする。
【発明の効果】
【００１７】
本発明の一態様によれば、動画像符号化・復号処理において、符号化効率を向上させつつ、処理量及びメモリバンド幅の増加を抑えることができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係る画像伝送システムの構成を示す概略図である。
【図２】本実施形態に係る動画像符号化装置を搭載した送信装置、および、動画像復号装置を搭載した受信装置の構成について示した図である。(a)は動画像符号化装置を搭載した送信装置を示しており、(b)は動画像復号装置を搭載した受信装置を示している。
【図３】本実施形態に係る動画像符号化装置を搭載した記録装置、および、動画像復号装置を搭載した再生装置の構成について示した図である。(a)は動画像符号化装置を搭載した記録装置を示しており、(b)は動画像復号装置を搭載した再生装置を示している。
【図４】符号化ストリームのデータの階層構造を示す図である。
【図５】CTUの分割例を示す図である。
【図６】参照ピクチャおよび参照ピクチャリストの一例を示す概念図である。
【図７】動画像復号装置の構成を示す概略図である。
【図８】動画像復号装置の概略的動作を説明するフローチャートである。
【図９】CT情報復号部の動作を説明するフローチャートである。
【図１０】CTUおよびQT情報のシンタックス表の構成例を示す図である。
【図１１】MT(Multi Tree)情報のシンタックス表の構成例を示す図である。
【図１２】インター予測パラメータ導出部の構成を示す概略図である。
【図１３】マージ予測パラメータ導出部、および、AMVP予測パラメータ導出部の構成を示す概略図である。
【図１４】共有マージの動作を説明するフローチャートである。
【図１５】共有符号化ブロック導出の動作を説明するフローチャートである。
【図１６】共有マージのQT符号化ノードでの動作を説明するシンタックステーブルである。
【図１７】共有マージのMT符号化ノードでの動作を説明するシンタックステーブルの別の例である。
【図１８】共有符号化ブロック導出の動作を説明するフローチャートである。
【図１９】共有マージのMT符号化ノードでの動作を説明するシンタックステーブルの別の例である。
【図２０】共有マージのQT符号化ノードでの動作を説明するシンタックステーブルである。
【図２１】共有符号化ブロック導出の動作を説明するフローチャートである。
【図２２】共有マージのMT符号化ノードでの動作を説明するシンタックステーブルの別の例である。
【図２３】共有マージの符号化ユニットでの共有を示す図である。
【図２４】共有マージのMT符号化ノードでの動作を説明するシンタックステーブルの別の例である。
【図２５】共有符号化ブロック導出の動作を説明するフローチャートの別の例である。
【図２６】共有マージの符号化ユニットでの共有を示す図である。
【図２７】本発明の実施形態の固定の矩形のグリッドサイズ単位で予測パラメータを導出する共有マージの動作を説明する図である。
【図２８】本発明の実施形態のヒストリマージ候補導出部、ヒストリ格納部を備える動画像復号装置の構成を示すブロック図である。
【図２９】本実施形態のヒストリマージの処理を示す図である。
【図３０】本発明の実施形態のヒストリマージ候補導出部、ヒストリ格納部の一構成の動作を説明するフローチャートである。
【図３１】第１の構成のAMVP予測パラメータ導出部3032の動作を示すフローチャートである。
【図３２】本発明の実施形態のヒストリ格納部の一構成の動作を説明するフローチャートである。
【図３３】本発明の実施形態のヒストリマージ候補導出部、ヒストリ格納部を備える動画像復号装置の別の構成を示すブロック図である。
【図３４】本発明の実施形態のヒストリマージ候補導出部、ヒストリ格納部の別の構成の動作を説明するフローチャートである。
【図３５】本実施形態のAMVP予測パラメータ導出部の動作を示すフローチャートである。
【図３６】本発明の実施形態のヒストリ格納部の別の構成の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１９】
（第１の実施形態）
以下、図面を参照しながら本発明の実施形態について説明する。
【００２０】
図1は、本実施形態に係る画像伝送システム１の構成を示す概略図である。
【００２１】
画像伝送システム１は、符号化対象画像を符号化した符号化ストリームを伝送し、伝送された符号化ストリームを復号し画像を表示するシステムである。画像伝送システム１は、動画像符号化装置（画像符号化装置）11、ネットワーク21、動画像復号装置（画像復号装置）31、及び動画像表示装置（画像表示装置）41を含んで構成される。
【００２２】
動画像符号化装置11には画像Tが入力される。
【００２３】
ネットワーク21は、動画像符号化装置11が生成した符号化ストリームTeを動画像復号装置31に伝送する。ネットワーク21は、インターネット（Internet）、広域ネットワーク（WAN:Wide Area Network）、小規模ネットワーク（LAN:Local Area Network）またはこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に限らず、地上デジタル放送、衛星放送等の放送波を伝送する一方向の通信網であっても良い。また、ネットワーク21は、DVD（Digital Versatile Disc:登録商標）、BD（Blue-ray Disc:登録商標）等の符号化ストリームTeを記録した記憶媒体で代替されても良い。
【００２４】
動画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、復号した１または複数の復号画像Tdを生成する。
【００２５】
動画像表示装置41は、動画像復号装置31が生成した１または複数の復号画像Tdの全部または一部を表示する。動画像表示装置41は、例えば、液晶ディスプレイ、有機ＥＬ（Electro-luminescence）ディスプレイ等の表示デバイスを備える。ディスプレイの形態としては、据え置き、モバイル、HMD等が挙げられる。また、動画像復号装置31が高い処理能力を有する場合には、画質の高い画像を表示し、より低い処理能力しか有しない場合には、高い処理能力、表示能力を必要としない画像を表示する。
【００２６】
＜演算子＞
本明細書で用いる演算子を以下に記載する。
【００２７】
>>は右ビットシフト、<<は左ビットシフト、&はビットワイズ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）。
【００３０】
abs(a)はaの絶対値を返す関数である。
【００３１】
Int(a)はaの整数値を返す関数である。
【００３２】
floor(a)はa以下の最大の整数を返す関数である。
【００３３】
ceil(a)はa以上の最大の整数を返す関数である。
【００３４】
a/dはdによるaの除算（小数点以下切り捨て）を表す。
【００３５】
＜符号化ストリームTeの構造＞
本実施形態に係る動画像符号化装置11および動画像復号装置31の詳細な説明に先立って、動画像符号化装置11によって生成され、動画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
【００３６】
図4は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図4の(a)〜(f)は、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニ
ット、符号化ツリーユニットに含まれる符号化ユニットを示す図である。
【００３７】
（符号化ビデオシーケンス）
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために動画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図4(a)に示すように、ビデオパラメータセット（Video Parameter Set）、シーケンスパラメータセットSPS（Sequence Parameter Set）、ピクチャパラメータセットPPS（Picture Parameter Set）、ピクチャPICT、及び、付加拡張情報SEI（Supplemental Enhancement Information）を含んでいる。
【００３８】
ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
【００３９】
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために動画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。
【００４０】
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために動画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値（pic_init_qp_minus26）や重み付き予測の適用を示すフラグ（weighted_pred_flag）が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
【００４１】
（符号化ピクチャ）
符号化ピクチャでは、処理対象のピクチャPICTを復号するために動画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図4(b)に示すように、スライス0〜スライスNS-1を含む（NSはピクチャPICTに含まれるスライスの総数）。
【００４２】
なお、以下、スライス0〜スライスNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
【００４３】
（符号化スライス）
符号化スライスでは、処理対象のスライスSを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスは、図4(c)に示すように、スライスヘッダ、および、スライスデータを含んでいる。
【００４４】
スライスヘッダには、対象スライスの復号方法を決定するために動画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報（slice_type）は、スライスヘッダに含まれる符号化パラメータの一例である。
【００４５】
スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単方向予測、または、イントラ予測を用いるＰスライス、（３）符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるＢスライスなどが挙げられる。なお、インター予測は、単予測、双予測に限定されず、より多くの参照ピクチャを用いて予測画像を生成してもよい。以下、P、Bスライスと呼ぶ場合には、インター予測を用いることができるブロックを含むスライスを指す。
【００４６】
なお、スライスヘッダは、ピクチャパラメータセットPPSへの参照（pic_parameter_set_id）を含んでいても良い。
【００４７】
（符号化スライスデータ）
符号化スライスデータでは、処理対象のスライスデータを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスデータは、図4(d)に示すように、CTUを含んでいる。CTUは、スライスを構成する固定サイズ（例えば64x64）のブロックであり、最大符号化単位（LCU:Largest Coding Unit）と呼ぶこともある。
【００４８】
（符号化ツリーユニット）
図4(e)には、処理対象のCTUを復号するために動画像復号装置31が参照するデータの集合が規定されている。CTUは、再帰的な４分木分割（QT（Quad Tree）分割）、２分木分割（BT（Binary Tree）分割）あるいは３分木分割（TT（Ternary Tree）分割）により符号化処理の基本的な単位である符号化ユニットCUに分割される。BT分割とTT分割を合わせてマルチツリー分割（MT（Multi Tree）分割）と呼ぶ。再帰的な４分木分割により得られる木構造のノードのことを符号化ノード（Coding Node）と称する。４分木、２分木、及び３分木の中間ノードは、符号化ノードであり、CTU自身も最上位の符号化ノードとして規定される。
【００４９】
CTは、CT情報として、QT分割を行うか否かを示すQT分割フラグ（cu_split_flag）、MT分割の有無を示すMT分割フラグ（mtt_split_cu_flag）、MT分割の分割方向を示すMT分割方向（mtt_split_cu_vertical_flag）、MT分割の分割タイプを示すMT分割タイプ（mtt_split_cu_binary_flag）を含む。cu_split_flag、mtt_split_cu_flag、mtt_split_cu_vertical_flag、mtt_split_cu_binary_flagは符号化ノード毎に伝送される。
【００５０】
cu_split_flagが１の場合、符号化ノードは４つの符号化ノードに分割される（図5(b)）。
【００５１】
cu_split_flagが０の時、mtt_split_cu_flagが０の場合に符号化ノードは分割されず１つのCUをノードとして持つ（図5(a)）。CUは符号化ノードの末端ノードであり、これ以上分割されない。CUは、符号化処理の基本的な単位となる。
【００５２】
mtt_split_cu_flagが１の場合に符号化ノードは以下のようにMT分割される。mtt_split_cu_binary_flagが１の時、mtt_split_cu_vertical_flagが０の場合に符号化ノードは２つの符号化ノードに水平分割され（図5(d)）、mtt_split_cu_vertical_flagが１の場合に符号化ノードは２つの符号化ノードに垂直分割される（図5(c)）。また、mtt_split_cu_binary_flagが０の時、mtt_split_cu_vertical_flagが０の場合に符号化ノードは３つの符号化ノードに水平分割され（図5(f)）、mtt_split_cu_vertical_flagが１の場合に符号化ノードは３つの符号化ノードに垂直分割される（図5(e)）。これらを図5(g)に示す。
【００５３】
また、CTUのサイズが64x64画素の場合には、CUのサイズは、64x64画素、64x32画素、32x64画素、32x32画素、64x16画素、16x64画素、32x16画素、16x32画素、16x16画素、64x8画素、8x64画素、32x8画素、8x32画素、16x8画素、8x16画素、8x8画素、64x4画素、4x64画素、32x4画素、4x32画素、16x4画素、4x16画素、8x4画素、4x8画素、及び、4x4画素の何れかをとり得る。
【００５４】
（符号化ユニット）
図4(f)に示すように、処理対象の符号化ユニットを復号するために動画像復号装置31が参照するデータの集合が規定されている。具体的には、CUは、CUヘッダCUH、予測パラメ
ータ、変換パラメータ、量子化変換係数等から構成される。CUヘッダでは予測モード等が規定される。
【００５５】
予測処理は、CU単位で行われる場合と、CUをさらに分割したサブCU単位で行われる場合がある。CUとサブCUのサイズが等しい場合には、CU中のサブCUは１つである。CUがサブCUのサイズよりも大きい場合、CUは、サブCUに分割される。たとえばCUが8x8、サブCUが4x4の場合、CUは水平２分割、垂直２分割からなる、４つのサブCUに分割される。
【００５６】
予測の種類（予測モード）は、イントラ予測と、インター予測の２つがある。イントラ予測は、同一ピクチャ内の予測であり、インター予測は、互いに異なるピクチャ間（例えば、表示時刻間、レイヤ画像間）で行われる予測処理を指す。
【００５７】
変換・量子化処理はCU単位で行われるが、量子化変換係数は4x4等のサブブロック単位でエントロピー符号化してもよい。
【００５８】
（予測パラメータ）
予測画像は、ブロックに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測とインター予測の予測パラメータがある。
【００５９】
以下、インター予測の予測パラメータについて説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、動きベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が１の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「ＸＸであるか否かを示すフラグ」と記す場合、フラグが０以外（たとえば１）をＸＸである場合、０をＸＸではない場合とし、論理否定、論理積などでは１を真、０を偽と扱う（以下同様）。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
【００６０】
インター予測パラメータを導出するためのシンタックス要素には、例えば、マージモードで用いるアフィンフラグaffine_flag、マージフラグmerge_flag、マージインデックスmerge_idx、mmvd_flag、AMVPモードで、参照ピクチャを選択するためのインター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルを導出するための予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、差分ベクトル精度amvr_modeがある。
【００６１】
（参照ピクチャリスト）
参照ピクチャリストは、参照ピクチャメモリ306に記憶された参照ピクチャからなるリストである。図6は、参照ピクチャおよび参照ピクチャリストの一例を示す概念図である。図6(a)において、矩形はピクチャ、矢印はピクチャの参照関係、横軸は時間、矩形中のI、P、Bは各々イントラピクチャ、単予測ピクチャ、双予測ピクチャ、矩形中の数字は復号順を示す。図に示すように、ピクチャの復号順は、I0、P1、B2、B3、B4であり、表示順は、I0、B3、B2、B4、P1である。図6(b)に、ピクチャB3（対象ピクチャ）の参照ピクチャリストの例を示す。参照ピクチャリストは、参照ピクチャの候補を表すリストであり、１つのピクチャ（スライス）が１つ以上の参照ピクチャリストを有してもよい。図の例では、対象ピクチャB3は、L0リストRefPicList0およびL1リストRefPicList1の２つの参照ピクチャリストを持つ。個々のCUでは、参照ピクチャリストRefPicListX（X=0または1）中のどのピクチャを実際に参照するかを参照ピクチャインデックスrefIdxLXで指定する。図は、refIdxL0=2、refIdxL1=0の例である。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、以降では、LXをL0、L1に置き換えることでL0リストに対する
パラメータとL1リストに対するパラメータを区別する。
【００６２】
（マージ予測とAMVP予測）
予測パラメータの復号（符号化）方法には、マージ予測（merge）モードとAMVP（Advanced Motion Vector Prediction、適応動きベクトル予測）モードがあり、マージフラグmerge_flagは、これらを識別するためのフラグである。マージ予測モードは、予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めずに、既に処理した近傍ブロックの予測パラメータ等から導出するモードである。AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めるモードである。なお、動きベクトルmvLXは、予測ベクトルmvpLXを識別する予測ベクトルフラグmvp_LX_flagと差分ベクトルmvdLXとして符号化される。
【００６３】
インター予測識別子inter_pred_idcは、参照ピクチャの種類および数を示す値であり、PRED_L0、PRED_L1、PRED_BIの何れかの値をとる。PRED_L0、PRED_L1は、各々L0リスト、L1リストで管理された１枚の参照ピクチャを用いる単予測を示す。PRED_BIはL0リストとL1リストで管理された２枚の参照ピクチャを用いる双予測BiPredを示す。
【００６４】
マージインデックスmerge_idxは、処理が完了したブロックから導出される予測パラメータ候補（マージ候補）のうち、いずれの予測パラメータを対象ブロックの予測パラメータとして用いるかを示すインデックスである。
【００６５】
（動きベクトル）
動きベクトル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
（動画像復号装置の構成）
本実施形態に係る動画像復号装置31（図7）の構成について説明する。
【００７１】
動画像復号装置31は、エントロピー復号部301、パラメータ復号部（予測画像復号装置）302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部（予測画像生成装置）308、逆量子化・逆変換部311、及び加算部312を含んで構成される。なお、後述の動画像符号化装置11に合わせ、動画像復号装置31にループフィルタ305が含まれない構成もある。
【００７２】
パラメータ復号部302は、さらに、ヘッダ復号部3020、CT情報復号部3021、及びCU復号部3022（予測モード復号部）を備えており、CU復号部3022はさらにTU復号部3024を備えている。これらを総称して復号モジュールと呼んでもよい。ヘッダ復号部3020は、符号化データからVPS、SPS、PPSなどのパラメータセット情報、スライスヘッダ（スライス情報）を復号する。CT情報復号部3021は、符号化データからCTを復号する。CU復号部3022は符号化データからCUを復号する。TU復号部3024は、TUに予測誤差が含まれている場合に、符号化データからQP更新情報（量子化補正値）と量子化予測誤差（residual_coding）を復号する。
【００７３】
また、パラメータ復号部302は、図示しないインター予測パラメータ導出部303及びイントラ予測パラメータ導出部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
【００７４】
また、以降では処理の単位としてCTU、CUを使用した例を記載するが、この例に限らず、サブCU単位で処理をしてもよい。あるいはCTU、CU、をブロック、サブCUをサブブロックと読み替え、ブロックあるいはサブブロック単位の処理としてもよい。
【００７５】
エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号（シンタックス要素）を復号する。エントロピー符号化には、シンタックス要素の種類や周囲の状況に応じて適応的に選択したコンテキスト（確率モデル）を用いてシンタックス要素を可変長符号化する方式と、あらかじめ定められた表、あるいは計算式を用いてシンタックス要素を可変長符号化する方式がある。前者のCABAC（Context Adaptive Binary Arithmetic Coding）は、符号化あるいは復号したピクチャ（スライス）毎に更新した確率モデルをメモリに格納する。そして、Pピクチャ、あるいはBピクチャのコンテキストの初期状態として、メモリに格納された確率モデルの中から、同じスライスタイプ、同じスライスレベルの量子化パラメータを使用したピクチャの確率モデルを設定する。この初期状態を符号化、復号処理に使用する。復号された符号には、予測画像を生成するための予測情報および、差分画像を生成するための予測誤差などがある。
【００７６】
エントロピー復号部301は、復号した符号をパラメータ復号部302に出力する。復号した符号とは、例えば、予測モードpredMode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag(mvp_lx_flag)、差分ベクトルmvdLX、amvr_mode等である。どの符号を復号するかの制御は、パラメータ復号部302の指示に基づいて行われる。
【００７７】
（基本フロー）
図8は、動画像復号装置31の概略的動作を説明するフローチャートである。
【００７８】
（S1100：パラメータセット情報復号）ヘッダ復号部3020は、符号化データからVPS、SPS、PPSなどのパラメータセット情報を復号する。
【００７９】
（S1200：スライス情報復号）ヘッダ復号部3020は、符号化データからスライスヘッダ
（スライス情報）を復号する。
【００８０】
以下、動画像復号装置31は、対象ピクチャに含まれる各CTUについて、S1300からS5000の処理を繰り返すことにより各CTUの復号画像を導出する。
【００８１】
（S1300：CTU情報復号）CT情報復号部3021は、符号化データからCTUを復号する。
【００８２】
（S1400：CT情報復号）CT情報復号部3021は、符号化データからCTを復号する。
【００８３】
（S1500：CU復号）CU復号部3022はS1510、S1520を実施して、符号化データからCUを復号する。
【００８４】
（S1510：CU情報復号）CU復号部3022は、符号化データからCU情報、予測情報、TU分割フラグsplit_transform_flag、CU残差フラグcbf_cb、cbf_cr、cbf_luma等を復号する。
【００８５】
（S1520：TU情報復号）TU復号部3024は、TUに予測誤差が含まれている場合に、符号化データからQP更新情報（量子化補正値）と量子化予測誤差（residual_coding）を復号する。なお、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの差分値である。
【００８６】
（S2000：予測画像生成）予測画像生成部308は、対象CUに含まれる各ブロックについて、予測情報に基づいて予測画像を生成する。
【００８７】
（S3000：逆量子化・逆変換）逆量子化・逆変換部311は、対象CUに含まれる各TUについて、逆量子化・逆変換処理を実行する。
【００８８】
（S4000：復号画像生成）加算器312は、予測画像生成部308より供給される予測画像と、逆量子化・逆変換部311より供給される予測誤差とを加算することによって、対象CUの復号画像を生成する。
【００８９】
（S5000：ループフィルタ）ループフィルタ305は、復号画像にデブロッキングフィルタ、SAO、ALFなどのループフィルタをかけ、復号画像を生成する。
【００９０】
（CT情報復号の処理）
以下、CT情報復号の処理を、図9、図10、図11を参照して説明する。図9は、本発明の一実施形態に係るCT情報復号部3021の動作を説明するフローチャートである。また、図10は、本発明の一実施形態に係るCTUおよびQT情報のシンタックス表の構成例を示す図であり、図11は、本発明の一実施形態に係るMT分割情報のシンタックス表の構成例を示す図である。
【００９１】
CT情報復号部3021は符号化データからCT情報を復号し、再帰的に符号化ツリーCT（coding_quadtree）を復号する。具体的には、CT情報復号部3021はQT情報を復号し、対象CT coding_quadtree(x0,y0,log2CbSize,cqtDepth)を復号する。なお、(x0,y0)は対象CTの左上座標、log2CbSizeはCTのサイズであるCTサイズの２を底とした対数である対数CTサイズ、cqtDepthはCTの階層を示すCTデプス（QT深度）である。
【００９２】
（S1411）CT情報復号部3021は復号したCT情報にQT分割フラグがあるか否かを判定する。QT分割フラグがある場合にはS1421に遷移し、それ以外の場合にはS1422に遷移する。
【００９３】
（S1421）CT情報復号部3021は、対数CTサイズlog2CbSizeがMinCbLog2SizeYより大きい
と判定された場合には、QT分割フラグ（split_cu_flag）を復号する。
【００９４】
（S1422）CT情報復号部3021は、それ以外の場合には、符号化データからのQT分割フラグsplit_cu_flagの復号を省略し、QT分割フラグsplit_cu_flagに０をセットする。
【００９５】
（S1450）QT分割フラグsplit_cu_flagが０以外である場合にはS1451に遷移し、それ以外の場合にはS1471に遷移する。
【００９６】
（S1451）CT情報復号部3021はQT分割を行う。具体的には、CT情報復号部3021は、CTデプスcqtDepth+1の位置(x0,y0)、(x1,y0)、(x0,y1)、(x1,y1)において、対数CTサイズlog2CbSize-1の４つのCTを復号する。なお、QT分割された符号化ノードのpartIdxは左上、右上、左下、右下の順に0, 1, 2, 3で割り当てる。
【００９７】
coding_quadtree(x0,y0,log2CbSize-1,cqtDepth+1, 0) // 左上
coding_quadtree(x1,y0,log2CbSize-1,cqtDepth+1, 1) // 右上
coding_quadtree(x0,y1,log2CbSize-1,cqtDepth+1, 2) // 左下
coding_quadtree(x1,y1,log2CbSize-1,cqtDepth+1, 3) // 右上
ここで、(x0,y0)は対象CTの左上座標、(x1,y1)は以下の式のように(x0,y0)にCTサイズ（1<<log2CbSize）の1/2を加えて導出される。
【００９８】
x1 = x0+(1<<(log2CbSize-1))
y1 = y0+(1<<(log2CbSize-1))
1<<Nは2のN乗と同値である（以下同様）。
【００９９】
そして、CT情報復号部3021は、下式のように、CTの階層を示すCTデプスcqtDepthと対数CTサイズlog2CbSizeを更新する。
【０１００】
cqtDepth = cqtDepth+１
log2CbSize = log2CbSize-１
CT情報復号部3021は、下位のCTにおいても、更新された左上座標、対数CTサイズ、CTデプスを用いて、S1411から開始されるQT情報復号を継続する。
【０１０１】
QT分割終了後、CT情報復号部3021は符号化データからCT情報を復号し、再帰的に符号化ツリーCT（MT、multi_type_tree）を復号する。具体的には、CT情報復号部3021は、MT分割情報を復号し、対象CT multi_type_tree(x0,y0,cbWidth,cbHeight,mttDepth,doft,partIdx,treeType)を復号する。なお、cbWidthはCTの幅、cbHeightはCTの高さ、mttDepthはマルチツリーの階層を示すCTデプス（MT深度）、doftはdepthOffset、treeTypeは、SINGLE_TREE、DUAL_TREE_LUMA、DUAL_TREE_CHROMAのいずれかである。
【０１０２】
（S1471）CT情報復号部3021は、復号したCT情報にMT分割フラグ（分割情報）があるか否かを判定する。MT分割フラグがある場合にはS1481に遷移する。それ以外の場合にはS1482に遷移する。
【０１０３】
（S1481）CT情報復号部3021はMT分割フラグmtt_split_cu_flagを復号する。
【０１０４】
（S1482）CT情報復号部3021は符号化データからMT分割フラグmtt_split_cu_flagを復号せず、０に設定する。
【０１０５】
（S1490）CT情報復号部3021は、MT分割フラグmtt_split_cu_flagが０以外の場合には、S1491に遷移する。それ以外の場合には、CT情報復号部3021は対象CTを分割せず、処理を
終了する（CUの復号に移行する）。
【０１０６】
（S1491）CT情報復号部3021はMT分割を行う。MT分割の方向を示すフラグmtt_split_cu_vertical_flagと、MT分割が２分木であるか３分木であるかを示すシンタックス要素mtt_split_cu_binary_flagを復号する。MT分割された符号化ノードのpartIdxは左から順に0, 1, 2が割り当てられ、上から下に順に0, 1, 2が割り当てられる。BTの場合には0, 1を順に割り当てる。CT情報復号部3021は、MT分割タイプmtt_split_cu_binary_flagが１（２分割）、かつ、MT分割方向mtt_split_cu_vertical_flagが０（水平分割）の場合は、以下の２つのCTを復号（BT分割情報復号）する。
【０１０７】
multi_type_tree(x0,y0,cbWidth,cbHeight/2,mttDepth+1,doft,0,treeType)
multi_type_tree(x0,y1,cbWidth,cbHeight/2,mttDepth+1,doft,1,treeType)
一方、MT分割方向mtt_split_cu_vertical_flagが１（垂直分割）の場合は、以下の２つのCTを復号（BT分割情報復号）する。
【０１０８】
multi_type_tree(x0,y0,cbWidth/2,cbHeight,mttDepth+1,doft,0,treeType)
multi_type_tree(x1,y0,cbWidth/2,cbHeight,mttDepth+1,doft,1,treeType)
ここで、(x1,y1)は以下の式で導出される。
【０１０９】
x1 = x0+cbWidth/2
y1 = y0+cbHeight/2
さらに、cbWidth、または、cbHeightを下式のように更新する。
【０１１０】
cbWidth = cbWidth/2
cbHeight = cbHeight/2
CT情報復号部3021は、MT分割タイプmtt_split_cu_binary_flagが０（３分割）を示す場合には、３つのCTを復号（TT分割情報復号）する。
【０１１１】
MT分割方向mtt_split_cu_vertical_flagが０（水平分割）の場合は、以下の３つのCTを復号する。
【０１１２】
multi_type_tree(x0,y0,cbWidth,cbHeight/4,mttDepth+1,doft,0,treeType)
multi_type_tree(x0,y1,cbWidth,cbHeight/2,mttDepth+1,doft,1,treeType)
multi_type_tree(x0,y2,cbWidth,cbHeight/4,mttDepth+1,doft,2,treeType)
一方、MT分割方向mtt_split_cu_vertical_flagが１（垂直分割）の場合は、以下の３つのCTを復号（TT分割情報復号）する。
【０１１３】
multi_type_tree(x0,y0,cbWidth/4,cbHeight,mttDepth+1,doft,0,treeType)
multi_type_tree(x1,y0,cbWidth/2,cbHeight,mttDepth+1,doft,1,treeType)
multi_type_tree(x2,y0,cbWidth/4,cbHeight,mttDepth+1,doft,2,treeType)
ここで、(x1,y1)、(x2,y2)は、以下の式のように、導出される。
【０１１４】
x1 = x0+cbWidth/4
y1 = y0+cbHeight/4
x2 = x0+3*cbWidth/4
y2 = y0+3*cbHeight/4
CT情報復号部3021は、下位のCTにおいても、更新された左上座標、CTの幅及び高さ、MT深度を用いて、S1471から開始されるBT分割情報復号、あるいは、TT分割情報復号を継続する。
【０１１５】
また、CT情報復号部3021は、MT分割フラグmtt_split_cu_flagが０の場合、すなわちQT分割もMT分割も行われない場合には、CU復号部3022でCU（coding_unit(x0,y0,cbWidth, cbHeight)）を復号する。
【０１１６】
また、パラメータ復号部302は、図示しないインター予測パラメータ導出部303及びイントラ予測パラメータ導出部304を含んで構成される。予測画像生成部308は、図示しないインター予測画像生成部309及びイントラ予測画像生成部3021を含んで構成される。
【０１１７】
（インター予測パラメータ導出部の構成）
インター予測パラメータ導出部303は、エントロピー復号部301もしくは符号化パラメータ決定部110から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを導出する。また、インター予測パラメータ導出部303で導出されたインター予測パラメータを、予測画像生成部308に出力し、予測パラメータメモリ307に記憶する。インター予測パラメータ導出部303及びその内部の要素AMVP予測パラメータ導出部3032、マージ予測パラメータ導出部3036、アフィン予測部30372、MMVD予測部30373は、符号化装置、復号装置で共通する手段であるので、これらを総称して動きベクトル導出部（動きベクトル導出装置）と称してもよい。
【０１１８】
図12(a)は、本実施形態に係るインター予測パラメータ導出部303の構成を示す概略図である。インター予測パラメータ導出部303は、AMVP予測パラメータ導出部3032、マージ予測パラメータ導出部3036、アフィン予測部30372、MMVD予測部30373を含んで構成される。AMVP予測パラメータ導出部3032、マージ予測パラメータ導出部3036、アフィン予測部30372、MMVD予測部30373は、符号化装置、復号装置で共通する手段であるので、これらを総称して動きベクトル導出部（動きベクトル導出装置）と称してもよい。
【０１１９】
アフィンフラグaffine_flagが１、すなわち、アフィン予測モードを示す場合、アフィン予測部30372は、サブブロックのインター予測パラメータを導出する。
【０１２０】
MMVDフラグmmvd_flagが１、すなわち、MMVD予測モードを示す場合、MMVD予測部30373は、マージ予測パラメータ導出部3036で導出されるマージ候補と差分ベクトルからインター予測パラメータを導出する。
【０１２１】
マージフラグmerge_flagが１、すなわち、マージ予測モードを示す場合、マージインデックスmerge_idxを復号し、マージ予測パラメータ導出部3036に出力する。
【０１２２】
マージフラグmerge_flagが０、すなわち、AMVP予測モードを示す場合、AMVP予測パラメータ導出部3032はインター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLXから予測ベクトルフラグmvp_LX_flagから予測ベクトルmvpLXを導出する。
【０１２３】
（MV加算部）
MV加算部3038では導出された予測ベクトルmvpLXと差分ベクトルmvdLXを加算し、動きベクトルmvLXを導出する。
【０１２４】
（アフィン予測部）
アフィン予測部30372は対象ブロックのアフィン予測パラメータを導出する。本実施形態では、アフィン予測パラメータとして、対象ブロックの２つの制御点（V0、V1）の動きベクトル（mv0_x,mv0_y）（mv1_x,mv1_y）を導出する。具体的には、対象ブロックの隣接ブロックの動きベクトルから予測することにより、各制御点の動きベクトルを導出してもよいし、制御点の動きベクトルとして導出された予測ベクトルと符号化データから導出される差分ベクトルの和により、各制御点の動きベクトルを導出してもよい。
【０１２５】
（マージ予測）
図13(a)は、本実施形態に係るマージ予測パラメータ導出部3036の構成を示す概略図である。マージ予測パラメータ導出部3036は、マージ候補導出部30361、マージ候補選択部30362を備える。なお、マージ候補は、予測リスト利用フラグpredFlagLX、動きベクトルmvLX、参照ピクチャインデックスrefIdxLXを含んで構成され、マージ候補リストに格納される。マージ候補リストに格納されたマージ候補には、所定の規則に従ってインデックスが割り当てられる。
【０１２６】
マージ候補導出部30361は、復号済の隣接ブロックの動きベクトルと参照ピクチャインデックスrefIdxLXをそのまま用いてマージ候補を導出する。それ以外に、マージ候補導出部30361は、後述する空間マージ候補導出処理、時間マージ候補導出処理、結合マージ候補導出処理、およびゼロマージ候補導出処理、時空間マージ候補導出処理を適用してもよい。
【０１２７】
（空間マージ候補導出処理）
空間マージ候補導出処理として、マージ候補導出部30361は、所定の規則に従って、予測パラメータメモリ307が記憶している予測パラメータ（予測リスト利用フラグpredFlagLX、動きベクトルmvLX、参照ピクチャインデックスrefIdxLX）を読み出し、マージ候補に設定する。参照ピクチャの指定方法は、例えば、対象ブロックから予め定めた範囲内にある隣接ブロック（例えば、対象ブロックの左端L、左下端BL、左上端AL、上端A、右上端ARにそれぞれ接するブロックの全部または一部）のそれぞれに係る予測パラメータである。各々のマージ候補をL, BL, AL, A, ARと呼ぶ。
【０１２８】
（時間マージ候補導出処理）
時間マージ導出処理として、マージ候補導出部30361は、対象ブロックの右下CBR、あるいは、中央の座標を含む参照画像中のブロックCの予測パラメータを、予測パラメータメモリ307から読み出してマージ候補とし、マージ候補リストmergeCandList[]に格納する。
【０１２９】
マージ候補導出部30361は、マージ候補リストに格納された２つの異なるマージ候補の動きベクトルと参照ピクチャインデックスを、それぞれL0、L1の動きベクトルとして組み合わせることで結合マージ候補を導出する。結合マージ候補をC0MBと呼ぶ。
【０１３０】
（ゼロマージ候補導出処理）
マージ候補導出部30361は、参照ピクチャインデックスrefIdxLXが0…Mであり、動きベクトルmvLXのX成分、Y成分が共に０であるゼロマージ候補Z0,…,ZMを導出しマージ候補リストに格納する。
【０１３１】
マージ候補リストmergeCandList[]に格納する順番は、例えば、空間マージ候補、時間マージ候補、結合マージ候補、ゼロマージ候補、つまり｛L,A,AR,BL,A,COL,COMB0,..,COMBM,Z0,Z1,…,ZM｝である。なお、利用可能でない（ブロックがイントラ予測等）参照ブロックはマージ候補リストに格納しない。
【０１３２】
マージ候補選択部30362は、マージ候補リストに含まれるマージ候補のうち、マージインデックスmerge_idxが割り当てられたマージ候補mergeCandList[merge_idx]を、対象ブロックのインター予測パラメータとして選択する。マージ候補選択部30362は選択したマージ候補を予測パラメータメモリ307に記憶するとともに、予測画像生成部308に出力する。
【０１３３】
（時空間マージ候補導出処理）
マージ候補導出部30361は、時間的に対象ブロックに隣接する参照画像上（たとえば直前のピクチャ）のブロックの動きベクトル、もしくは、空間的に対象ブロックに隣接するブロックの動きベクトルから、対象ブロックを分割して得られるサブブロックの動きベクトルを導出する。具体的には、対象ブロックが参照する参照ピクチャに合わせて、参照画像上のブロックの動きベクトルをスケーリングすることにより、対象ブロック中の各サブブロックの動きベクトルspMvLX[xi][yi] (xi=xPb+sbW*i, yj=yPb+sbH*j, i=0,1,2,・・・,bW/sbW-1、j=0,1,2,・・・,bH/sbH-1)を導出する。ここで、(xPb,yPb)は対象ブロックの左上座標、bW、bHは対象ブロックのサイズ、sbW、sbHはサブブロックの幅と高さである。
【０１３４】
（MMVD予測部30373）
MMVD予測部30373は、マージ候補導出部30361で導出した中心ベクトルに、差分ベクトルを加算して動きベクトルを導出する。
【０１３５】
（AMVP予測）
図13(b)は、本実施形態に係るAMVP予測パラメータ導出部3032の構成を示す概略図である。AMVP予測パラメータ導出部3032は、ベクトル候補導出部3033とベクトル候補選択部3034を備える。ベクトル候補導出部3033は、参照ピクチャインデックスrefIdxLXに基づいて予測パラメータメモリ307が記憶する復号済みの隣接ブロックの動きベクトルmvLXから予測ベクトル候補を導出し、予測ベクトル候補リストmvpListLX[]に格納する。
【０１３６】
以下は、ヒストリメモリを用いたAMVP予測パラメータ導出部3032の動作を示す擬似コードである。
i = 0
if( availableFlagLXA ) {
mvpListLX[ i++ ] = mvLXA
if( availableFlagLXB  &&  ( mvLXA  !=  mvLXB ) )
mvpListLX[ i++ ] = mvLXB
} else if( availableFlagLXB )
mvpListLX[ i++ ] = mvLXB          (8-195)
if( i < 2  &&  availableFlagLXCol )
mvpListLX[ i++ ] = mvLXCol
if( i < 2 ) {
for( j = 1; j<= numCheckedHMVPCand; j ++) {
if( i >= 2) break;
for( X = 0; X < 2; X ++) {
if reference index of ListLX of HMVPCandList[j] is equal to refIdxLX and motion vector of ListLX of HMVPCandList[j] is not equal to any of mvpListLX, mvpListLX[ i++ ] = HMVPCandList[j].mvLX
}
}
while( i < 2 ) {
mvpListLX[ i ][ 0 ] = 0
mvpListLX[ i ][ 1 ] = 0
i++
}
（共有マージ）
共有マージとは、複数の符号化ユニットをまとめた単位（共有符号化ブロック）でインター予測の予測パラメータを導出する構成である。共有マージを用いると、動画像符号化装置では、共有符号化ブロックに含まれる符号化ユニットの予測パラメータを同時に探索することが可能である。動画像復号装置では、符号化ユニットの予測パラメータを一度に
並列で導出することが可能であるため簡略化できる。
【０１３７】
例えば、共有符号化ブロックのサイズが256(=16x16)の大きさであって、16x16の符号化ノードが8x16, 8x4, 8x4に分割される場合、16x16の中に含まれる全ての符号化ユニットで同じマージ候補及びマージ候補リストmergeCandListが導出される。これにより、8x16,
8x4, 8x4において、各々merge_idx=0, 1, 3のように異なるマージ候補が選択される場合においても、マージ候補リストを１度に導出することができる。
【０１３８】
図14は、共有マージの動作を説明するフローチャートである。
【０１３９】
Ｓ２０００  共有マージ部は、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)、幅cbWidthPCU、高さcbHeightPCUを設定する。
【０１４０】
Ｓ２１０１  マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、Ｓ２１０２に遷移する。
【０１４１】
Ｓ２１０２  マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、マージ候補の導出に用いる対象ブロックの左上位置(xCb, yCb)、幅cbWidth、高さcbHeightを共有符号化ブロックの左上座標(xCbPCU, yCbPCU)、幅cbWidthPCU、高さcbHeightPCUに設定する。
【０１４２】
xCb = xCbPCU
yCb = yCbPCU
cbWidth = cbWidthPCU
cbHeight = cbHeightPCU
Ｓ２１０３  マージ候補導出部30361は、設定された符号化ユニットサイズと幅、高さを用いてマージ候補を導出する。例えば空間マージ候補として、
A1: (xCb - 1, yCb + cbHeight - 1)
B1: (xCb - cbWidth - 1, yCb - 1)
B0: (xCb - cbWidth, yCb - 1)
A0: (xCb - 1, yCb + cbHeight)
B2: (xCb - 1, yCb - 1)
の位置から、予測パラメータを導出する。すなわち、符号化ユニットサイズが共有サイズ以下である場合には、符号化ユニット以上のサイズの共有符号化ブロックの単位で、予測パラメータを導出する。そのため、共有符号化ブロックの範囲内の符号化ブロックの予測パラメータを並列で導出することができる。
【０１４３】
（共有符号化ブロックの設定方法の基本構成）
以下、共有符号化ブロックの設定方法（Ｓ２０００）の詳細を説明する。
【０１４４】
図15は、共有符号化ブロック導出の動作を説明するフローチャートである。
【０１４５】
Ｓ２００１  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しいかを判定する。判定が真の場合にＳ２００２に遷移する。
【０１４６】
Ｓ２００２  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しい場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidth、高さcbHeightを各々設定する。
【０１４７】
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
図16は、共有マージの符号化ノードでの動作を説明するシンタックステーブルである。図に示すように、QTの符号化ノード、つまり、coding_quadtreeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。ここでは、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しい場合に共有符号化ブロックを設定する。
【０１４８】
図17は、共有マージの符号化ノードでの動作を説明するシンタックステーブルである。図に示すように、MTの符号化ノード、multi_type_treeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。ここでは、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しい場合に共有符号化ブロックを設定する。符号化ノードは、CU分割フラグcu_split_flag及びMT分割フラグmtt_split_flagの値によらずに、再帰的なCT分割において処理される単位であり、CT分割される場合には、分割された符号化ユニットのCUの祖先のノード（親ノード、親親ノード、・・・）であり、CT分割されない場合には、CUになる。
【０１４９】
以上の構成によって、複数のツリー構造（QTBTTT、４分木、２分木、３分木）が混在する場合においても、容易に、複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる効果を奏する。
【０１５０】
（共有符号化ブロックの設定方法の基本構成２）
以下、共有符号化ブロックの設定方法（Ｓ２０００）の詳細を説明する。
【０１５１】
図18は、共有符号化ブロック導出の動作を説明するフローチャートである。
【０１５２】
Ｓ２００１  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上かを判定する。判定が真の場合にＳ２００２に遷移する。
【０１５３】
Ｓ２００２  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上の場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidth、高さcbHeightを各々設定する。
【０１５４】
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
（変形例１）
図19は、変形例１の共有マージのMT符号化ノードでの動作を説明するシンタックステーブルである。
【０１５５】
図20は、共有マージの符号化ノードでの動作を説明するシンタックステーブルである。図に示すように、QTの符号化ノード、つまり、coding_quadtreeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。ここでは、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上の場合に共有符号化ブロックを設定する。
【０１５６】
既に説明したとおり、マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下の場合に、設定された共有符号化ブロックを用いて予測パラメータを導出する。
【０１５７】
例えば、CTUサイズが128の場合、4分木(QT)の符号化ノード及び符号化ユニットのサイズは、64x64(=4096), 32x32(=1024), 16x16(=256), 8x8(=64), 4x4(=16)である。仮に、parallelMergeSizeとして16x8に相当するサイズの128を設定する場合、16x16(=256)の分割ノードも8x8(=64)の分割ノードも、128のサイズにはならず、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しい場合は生じない。従って、４分木の分岐を利用する場合、共有マージが利用されない可能性がある。
【０１５８】
これに対して、本変形例１では、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上かを判定して、共有符号化ブロックを設定する。例えば上記のparallelMergeSize=128の例でも、16x16(=256)の符号化ユニットのサイズで共有符号化ブロックを設定するため、マージ候補導出部30361において、符号化ユニットサイズが共有サイズ以下の場合に、共有符号化ブロックを設定することによって共有マージが実現できる。
【０１５９】
以上の構成によって、複数のツリー構造（QTBTTT、４分木、２分木、３分木）が混在する場合においても、容易に、複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる効果を奏する。さらに、共有符号化ブロック設定の条件判定を、所定の共有サイズparallelMergeSize以上とすることによって、QT分割において符号化ノードのサイズ(cbWidth*cbHeight)としてとりうることがないサイズ、例えば32, 128, 512のサイズにparallelMergeSizeが設定される場合においても、予測パラメータを並列に導出することができる効果を奏する。この場合、parallelMergeSizeが32, 128, 512のサイズにおいても、設定したサイズの２倍の8x8、16x16、32x32を単位として並列で予測パラメータを共有することができるという効果を奏する。
【０１６０】
（変形例２）
図21は、共有符号化ブロック導出の動作を説明するフローチャートである。
【０１６１】
Ｓ２０１１  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しいかを判定する。所定の共有サイズと等しい場合には、Ｓ２０１２に遷移し、それ以外は、Ｓ２０１３に遷移する。なお、ここの等しいか(==)の判定は、以上か(>=)の判定に置き換えてもよい。図面では>=を記述。
【０１６２】
Ｓ２０１２  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上の場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidth、高さcbHeightを各々設定する。
【０１６３】
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
Ｓ２０１３  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeの1/2であり、QT分割のノード(MTツリーmulti_treeのmttDepth==0)であり、QT分割の左上ノード（QTの分割インデックスpartIdxが0）と等しい場合に、Ｓ２０１４に遷移し、それ以外は、処理を終了する。
【０１６４】
なお、QT分割の左上ノードの判定は、分割ノードの座標(xCb, yCb)が共有サイズの2倍
のサイズ（例えばgridSize x gridSize）のグリッドに一致するか否かの以下の判定で行っても良い。
【０１６５】
(xCb == (xCb >> shiftGrid) << shiftGrid) && (yCb == (yCb >> shiftGrid) << shiftGrid)
ここでshiftGrid = log2(gridSize)。gridSize=1<<(log2(parallelMergeSize*2)/2)。例えばparallelMergeSize=128の場合にはgridSize=1<<log2(128*2)/2=1<<(8/2)=16で16x16のグリッドが用いられる。
【０１６６】
なお、判定には、シフトの代わりにビットorを用いても良い。
【０１６７】
(xCb & maskGrid) == 0 && (yCb & maskGrid)
ここでmaskGrid = (1<<shiftGrid)-1。例えばparallelMergeSize=128の場合にはshiftGrid=4、maskGrid=15(=0xf)
Ｓ２０１４  上記条件を満たす場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidthの２倍、高さcbHeightの２倍を各々設定する。
【０１６８】
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth * 2
cbHeightPCU= cbHeight * 2
なお、Ｓ２０１１の分岐とＳ２０１３の分岐の順序はどちらが先でもよい。
【０１６９】
なお、qt_split_cu_flagが１の場合に、共有サイズparallelMergeSizeの2倍を条件に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidthの１倍、高さcbHeightの１倍を各々設定してもよい。
【０１７０】
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
既に説明したとおり、共有マージを用いる場合の共通処理として、マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下の場合に、設定された共有符号化ブロックを用いて予測パラメータを導出する。
【０１７１】
図22は、上記の動作を示す共有マージの符号化ノードでの動作を説明するシンタックステーブルの例である。ここでは、coding_quadtree及びmulti_type_treeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。Ｓ２０１１とＳ２０１３の分岐は図21の判定と逆の順序となっている。
【０１７２】
本変形例２では、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeの1/2か否かを判定して、共有符号化ブロックを設定する。従って、例えば上記のparallelMergeSize=128の例では16x16(=256)のブロックを分割した8x8(=64)の符号化ユニットのサイズで、共有符号化ブロックを設定する（図23）。ここではQT分割のノード(MTツリーmulti_treeのmttDepth==0)であり、QT分割の左上ノード（分割インデックスpartIdxが0）と等しい場合に、8x8の縦横2倍の16x16のサイズで共有符号化ブロックを設定する。これにより16x16のブロックに含まれる符号化ツリーで共有マージが実現できる。
【０１７３】
以上の構成によって、複数のツリー構造（QTBTTT、４分木、２分木、３分木）が混在する場合においても、容易に、複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる効果を奏する。さらに、所定の共有サイズparallelMergeSizeが1/2となる場合においても共有符号化ブロックを設定することで、QT分割において符号化ノードとして達することがないparallelMergeSizeが32, 128, 512のサイズにおいても、予測パラメータを並列に導出することができる効果を奏する。
【０１７４】
（変形例３）
図24は、共有符号化ブロック導出の動作を説明するフローチャートである。
【０１７５】
Ｓ２０２１  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しいかを判定する。等しい場合には、Ｓ２０２２に遷移し、それ以外は、Ｓ２０２３に遷移する。なお、ここの等しいか(==)の判定は、以上か(>=)の判定に置き換えてもよい。図面では>=を記述。
【０１７６】
Ｓ２０２２  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上の場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidth、高さcbHeightを各々設定する。
【０１７７】
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
Ｓ２０２３  符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeの1/2であり、QT分割のノード(MTツリーmulti_treeのmttDepth==0)であり、QT分割の左上ノードもしくは左下ノード（QTの分割インデックスpartIdxが0,2）と等しい場合に、Ｓ２０２４に遷移し、それ以外は、処理を終了する。
【０１７８】
なお、QT分割の左上ノードもしくは左下ノードの判定を含む上記判定は、分割ノードの座標(xCb, yCb)がのサイズ（例えばgridWidth x Height）のグリッドといっちするかを判定する以下の判定で行っても良い。なおQTでは、左上、右上、左下、右下の順で処理するため、横長サイズをもちいる（つまり、共有サイズが128の場合、8x16ではなく16x8を用いる）
(xCb == (xCb >> shiftGridW) << shiftGridW) && (yCb == (yCb >> shiftGridH) << shiftGridH)
ここでshiftGridW = log2(gridWidth)、shiftGridH = log2(gridHeight)
gridWidth=1<<((log2(parallelMergeSize)+1)/2)、gridHeight=1<<((log2(parallelMergeSize))/2)。
例えばparallelMergeSize=128の場合には
gridWidth=1<<((log2(parallelMergeSize)+1)/2)=1<<((7+1)/2)=16
gridHeight=1<<((log2(parallelMergeSize))/2)=1<<((7)/2)=8
なので16x8のグリッドが判定に用いられる。
【０１７９】
なお、判定には、シフトの代わりにビットorを用いても良い。
【０１８０】
(xCb & maskGridW) == 0 && (yCb & maskGridH) == 0
ここでmaskGridW = (1<<shiftGridW)-1、maskGridH = (1<<shiftGridH)-1
Ｓ２０２４  上記条件の場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符
号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidthの２倍、高さcbHeightの１倍を各々設定する。
【０１８１】
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth * 2
cbHeightPCU= cbHeight
Ｓ２０２１の分岐とＳ２０２３の分岐の順序は、どちらが先でもよい。
【０１８２】
なお、qt_split_cu_flagが１の場合に、共有サイズparallelMergeSizeの2倍を条件に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidthの１倍、高さcbHeightの1/2倍を各々設定してもよい。
【０１８３】
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight / 2
既に説明したとおり、共有マージを用いる場合の共通処理として、マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下の場合に、設定された共有符号化ブロックを用いて予測パラメータを導出する。
【０１８４】
図25は、上記の動作を示す共有マージの符号化ノードでの動作を説明するシンタックステーブルの例である。ここでは、coding_quadtree及びmulti_type_treeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。図21におけるＳ２０１１とＳ２０１３の分岐は逆となっている。
【０１８５】
本変形例３では、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeの1/2の場合を判定して、共有符号化ブロックを設定するため、例えば上記のparallelMergeSize=128の例では16x16(=256)のブロックを分割した8x8(=64)の符号化ノードのサイズで、共有符号化ブロックを設定する。ここではQT分割のノード(MTツリーmulti_treeのmttDepth==0)であり、QT分割の左上ノードもしくは左下ノード（分割インデックスpartIdxが0,2）と等しい場合に、8x8の横2倍の16x8のサイズで共有符号化ブロックを設定する（図26）。これにより16x8のブロックに含まれる符号化ツリーで共有マージが実現できる。
【０１８６】
以上の構成によって、複数のツリー構造（QTBTTT、４分木、２分木、３分木）が混在する場合においても、容易に、複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる効果を奏する。さらに、所定の共有サイズparallelMergeSizeが1/2となる場合においても共有符号化ブロックを設定することで、QT分割において符号化ノードがとりえない、parallelMergeSizeが32, 128, 512においても、予測パラメータを並列に導出することができる効果を奏する。さらに、QT分割以外でparallelMergeSizeが32, 128, 512においても、設定したサイズである8x4、16x8、32x16を単位として並列で予測パラメータを共有することができるという効果を奏する。
【０１８７】
（グリッド単位の共有）
図27(b)は、グリッド単位で共有する例を示す。固定の矩形のグリッドサイズ単位で予測パラメータを導出する共有マージの動作を説明する図である。
【０１８８】
Ｓ３０２１  共有マージ部は、グリッドサイズgridSizeを復号もしくは符号化する。例
えばシンタックス要素grid_size_unit_idcを復号もしくは符号化する。例えばグリッドサイズを4x4単位の整数倍とする場合は、以下で導出する。
【０１８９】
gridSize = 1 << (grid_size_unit_idc + 2)
なお、グリッドの幅gridWidthと高さgridHeightを別としてもよい。この場合、例えばシンタックス要素grid_width_unit_idc、grid_width_height_idcを復号もしくは符号化する。
【０１９０】
gridWidth = 1 << (grid_width_unit_idc + 2)
gridHeight = 1 << (grid_height_unit_idc + 2)
Ｓ３０２２  マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、Ｓ２０２３に遷移する。
【０１９１】
Ｓ３０２３  マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、共有符号化ブロックの左上座標にピクチャもしくはタイルを矩形のグリッドサイズに分割した場合の左上座標に設定し、上記共有符号化ブロックの幅、高さに上記矩形グリッドサイズgridSizexGridSizeの幅の整数倍、高さの整数倍を各々設定する。
【０１９２】
xCb = (xCb >> shiftGrid) << shiftGrid
yCb = (yCb >> shiftGrid) << shiftGrid
cbWidth = (cbWidth >> shiftGrid)<< shiftGrid
cbHeight = (cbHeight >> shiftGrid)<< shiftGrid
ここでshiftGrid = log2(gridSize)。
【０１９３】
グリッドの幅と高さを独立に設定可能とする構成では以下を行う。
【０１９４】
xCb = (xCb >> shiftGridW) << shiftGridW
yCb = (yCb >> shiftGridH) << shiftGridH
cbWidth = (cbWidth >> shiftGridW)<< shiftGridW
cbHeight = (cbHeight >> shiftGridH)<< shiftGridH
ここでshiftGridW = log2(gridWidth)、shiftGridH = log2(gridHeight)。
【０１９５】
Ｓ３０２４  マージ候補導出部30361は、設定された符号化ユニットサイズと幅、高さを用いてマージ候補を導出する。例えば以下の符号化ユニットのサイズから導出されるA1, B0, B1, A0, B2の位置の予測パラメータを用いてマージ候補を導出する。
【０１９６】
A1: (xCb - 1, yCb + cbHeight - 1)
B1: (xCb - cbWidth - 1, yCb - 1)
B0: (xCb - cbWidth, yCb - 1)
A0: (xCb - 1, yCb + cbHeight)
B2: (xCb - 1, yCb - 1)
以上の構成によって、複数のツリー構造（QTBTTT、４分木、２分木、３分木）が混在する場合においても、複数の符号化ユニットで、並列で予測パラメータを導出することができるという効果を奏する。
【０１９７】
さらに、複数のツリー構造（QTBTTT、４分木、２分木、３分木）が混在する場合においても、共有マージに用いるブロックの形状が分割に応じて変化することがないため、エンコーダの動き探索が容易にはなるという効果を奏する。
【０１９８】
なお、図27(a)に示すように、共有サイズ以下であるか否かの分岐を省略しても良い。
【０１９９】
Ｓ３０１１  共有マージ部は、グリッドサイズgridSizeを復号もしくは符号化する。例えばシンタックス要素grid_size_unit_idcを復号もしくは符号化する。例えばグリッドサイズを4x4単位の整数倍とする場合は、以下で導出する。
【０２００】
gridSize = 1 << (grid_size_unit_idc + 2)
なお、グリッドの幅gridWidthと高さgridHeightを別としてもよい。この場合、例えばシンタックス要素grid_width_unit_idc、grid_height_unit_idcを復号もしくは符号化する。
【０２０１】
gridWidth = 1 << (grid_width_unit_idc + 2)
gridHeight = 1 << (grid_height_unit_idc + 2)
Ｓ３０１３  マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、共有符号化ブロックの左上座標にピクチャもしくはタイルを矩形のグリッドサイズに分割した場合の左上座標に設定し、上記共有符号化ブロックの幅、高さに上記矩形グリッドサイズの幅の整数倍、高さの整数倍を各々設定する。Ｓ３０２３と同じ処理であるので説明を省略する。
ここでshiftGridW = log2(gridWidth)、shiftGridH = log2(gridHeight)。
【０２０２】
Ｓ３０１４  マージ候補導出部30361は、設定された符号化ユニットサイズと幅、高さを用いてマージ候補を導出する。Ｓ３０２４と同じ処理であるので説明を省略する。
【０２０３】
ベクトル候補選択部3034は、予測ベクトル候補リストmvpListLX[]の予測ベクトル候補のうち、予測ベクトルフラグmvp_LX_flagが示す動きベクトルmvpListLX[mvp_LX_flag]を予測ベクトルmvpLXとして選択する。ベクトル候補選択部3034は選択した予測ベクトルmvpLXをMV加算部3038に出力する。
【０２０４】
複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる動画像符号化装置11および動画像復号装置31は、マージ候補導出においては、さらにヒストリメモリを用いるヒストリマージ候補導出部を備えてもよい。また、AMVP予測パラメータ導出部3032がヒストリメモリを用いる構成でもよい。
【０２０５】
（共有マージとヒストリメモリ）
ヒストリマージ候補導出部を備える動画像符号化装置11および動画像復号装置31は、マージモードもしくはAMVPモードの符号化ユニットにおいて導出したインター予測パラメーター（予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、動きベクトルmvLX）をヒストリメモリに格納するヒストリ格納部を備える。また、ヒストリマージ候補導出部は、ヒストリ格納部に格納したインター予測パラメータを利用してマージ候補を導出する。また、AMVP予測パラメータ導出部3032は、ヒストリ格納部に格納したインター予測パラメータを利用して予測ベクトル候補リストmvpListLX[]を導出してもよい。
【０２０６】
なお、共有マージを用いる場合には、共有符号化ブロックで同一のマージ候補、予測ベクトル候補を導出する必要がある。しかし、共有符号化ブロック内の符号化ユニットにおいてヒストリメモリを用いたマージ候補、予測ベクトル候補導出を行う場合、共有符号化ブロック内でヒストリメモリを更新すると、符号化ユニットごとにヒストリメモリが変化するために、同一性を確保できないという課題がある。同時に、共有符号化ブロック内の符号化ユニットにおいて単にヒストリメモリの更新を停止するだけでは、ヒストリメモリの内容が変化しないため、ヒストリメモリが所定の性能を実現できない課題がある。以下、この課題を解決する構成を順に説明する。
【０２０７】
（共有マージを用いる場合のヒストリ動きベクトル導出の構成１）
構成１は、共有符号化ブロック内の符号化ユニットにおいては、（メイン）ヒストリメモリを更新を停止しておく代わりに、一時ヒストリメモリに導出したインター予測パラメータを格納しておき、一時ヒストリメモリの内容は、共有符号化ブロックの左上ブロックでメインヒストリに反映する構成である。
【０２０８】
図28は、本発明の実施形態のヒストリマージ候補導出部3051、ヒストリ格納部351を備える動画像復号装置の構成を示すブロック図である。ヒストリ格納部351は、第１ヒストリメモリ（メインヒストリメモリ）と、第２ヒストリメモリ（一時ヒストリメモリ、非参照ヒストリメモリ）を備える。マージ候補導出部30361の備えるヒストリマージ候補導出部3051は、第１ヒストリメモリを参照して、ヒストリマージ候補を導出する。AMVP予測パラメータ導出部3032は、第１ヒストリメモリを参照して、AMVP候補を導出する。
【０２０９】
図29(a)は、本実施形態のヒストリマージの処理を示す図である。図に示すように、符号化ユニットのサイズに関わらずに、ヒストリマージ候補導出部3051とAMVP予測パラメータ導出部3032は、第１ヒストリメモリを参照する。ヒストリ格納部351は、符号化ユニットのサイズが所定共有サイズ以上の場合に、符号化ユニットの動きベクトルなどのインター予測パラメータを第１ヒストリメモリに格納し、それ以外（符号化ユニットのサイズが所定の共有サイズ未満）の場合に、符号化ユニットのインター予測パラメータを第２ヒストリメモリに格納する。
【０２１０】
図30は、本発明の実施形態のヒストリマージ候補導出部3051、ヒストリ格納部351の一構成の動作を説明するフローチャートである。
【０２１１】
（構成１のヒストリメモリ参照処理Ｓ３４１０）
構成１では、ヒストリメモリ参照処理Ｓ３４１０を行う。
【０２１２】
Ｓ３４１１  ヒストリマージ候補導出部3051とAMVP予測パラメータ導出部3032は、第１ヒストリメモリを参照して、インター予測パラメータを導出する。
【０２１３】
（ヒストリメモリ参照のマージ候補導出詳細）
以下、ヒストリマージ候補導出部3051のＳ３４１１の動作を詳細に説明する。
【０２１４】
第１ヒストリメモリHMVPCandList1[i](i=HMVPCandList1の要素数-1..0)を走査し、mergeCandList[j](j=0..現在までのマージ候補数-1)を走査し、同じ動きベクトルで同じ参照ピクチャインデックスをもつ要素がある場合にはsameMotionを真とする。sameMotionが偽の場合、つまり同じ要素がない場合には、マージ候補リストに第１ヒストリメモリHMVPCandList1の要素を追加する。
【０２１５】
mergeCandList[numCurrMergeCand++] = HMVPCandList1[i]
ここでnumCurrMergeCandは現在のmergeCandList[]中のマージ候補数である。上記処理を繰り返して複数の第１ヒストリメモリ中の複数の要素をマージ候補リストに追加してもよい。なお、上記第１ヒストリメモリの走査順(i=HMVPCandList1の要素数-1..0)は、ヒストリメモリへの格納詳細におけるFIFOの最後の要素を優先する構成である。逆に、FIFOの先頭要素を優先する構成では走査順はi=0..HMVPCandList1の要素数-1でもよい。
【０２１６】
（ヒストリメモリ参照の予測ベクトル導出詳細）
以下、AMVP予測パラメータ導出部3032のＳ３４１１の動作を詳細に説明する。
【０２１７】
図31は、第１ヒストリメモリを用いたAMVP予測パラメータ導出部3032の動作を示すフロ
ーチャートである。
Ｓ３２１１：隣接ブロックＡの動きベクトルmvLXAが存在する場合には、予測ベクトル候補リストにmvLXAを格納しインデックスiをインクリメントする。
【０２１８】
mvpListLX[ i++ ] = mvLXA
Ｓ３２１２：隣接ブロックＢの動きベクトルmvLXBが存在し、mvLXBがmvLXAと異なる場合(
mvLXA  !=  mvLXB )には、予測ベクトル候補リストにmvLXBを格納しインデックスiをインクリメントする。
【０２１９】
mvpListLX[ i++ ] = mvLXB
Ｓ３２１３：導出された候補数（インデックスi）が最大候補数（例えば２）より小さい場合には、第１ヒストリメモリHMVPCandListの動きベクトルを予測ベクトル候補リストにmvLXBに格納する。
【０２２０】
mvpListLX[ i++ ] = HMVPCandList[j]
より具体的には、第１ヒストリメモリのインデックスjを用いて、第１ヒストリメモリの参照ピクチャリスト、インデックス、および、動きベクトルを参照し、第１ヒストリメモリの参照ピクチャ（ListLX of HMVPCandList[j]）が符号化ユニットの参照ピクチャRefPicListX[ refIdxLX ]と等しく、HMVPCandList[j]の動きベクトルが、予測ベクトル候補リストmvpListLXの動きベクトルと異なる場合に、第１ヒストリメモリHMVPCandListの動きベクトルを予測ベクトル候補リストに格納する。
Ｓ３２１４：導出された候補数（インデックスi）が最大候補数（例えば２）より小さい場合には、ゼロベクトル(0, 0)を予測ベクトル候補リストに格納する。
【０２２１】
mvpListLX[ i ][ 0 ] = 0
mvpListLX[ i ][ 1 ] = 0
（構成１のヒストリメモリ格納・更新処理３５１０）
構成１では、ヒストリメモリ更新処理Ｓ３５１０として以下の処理によってヒストリメモリを格納する。
【０２２２】
Ｓ３５１１  インター予測パラメータ導出部は、符号化ユニットのインター予測パラメータを導出する。
【０２２３】
Ｓ３５１２  ヒストリ格納部351は、符号化ユニットのサイズが共有サイズ以上であるか否かを判定する。共有サイズ以上の場合はＳ３５１３に遷移し、それ以外の場合はＳ３５１４に遷移する。
【０２２４】
Ｓ３５１３  ヒストリ格納部351は、符号化ユニットのサイズが共有サイズ以上である場合に、符号化ユニットのインター予測パラメータmvCandを第１ヒストリメモリに格納する。
【０２２５】
HMVPCandList1[tempIdx] = mvCand
Ｓ３５１４  ヒストリ格納部351は、符号化ユニットのサイズが共有サイズ未満である場合に、符号化ユニットのインター予測パラメータmvCandを第２ヒストリメモリに格納する。
【０２２６】
HMVPCandList2[tempIdx] = mvCand
（ヒストリメモリへの格納詳細）
以下、第１ヒストリメモリ（メインメモリ）へのmvCand格納方法を説明する。第２ヒストリメモリへのmvCand格納方法も以下の方法と同じ方法をとってもよいし（但し第１ヒス
トリメモリHMVPCandList1を第２ヒストリメモリHMVPCandList2で置き換える）、より簡易な方法でもよい。
【０２２７】
符号化ユニットのインター予測パラメータmvCandが、第１ヒストリメモリのHMVPCandList1[]の要素の動きベクトル、参照ピクチャインデックスと異なる場合には、インター予測パラメータmvCandを第１ヒストリメモリに格納する。
【０２２８】
HMVPCandList1[tempIdx] = mvCand
より具体的には、0から第１ヒストリメモリの要素数HMVPCandNum1-1の範囲の、あるループ変数HMVPIdxについて、HMVPCandList1[HMVPIdx]を走査し、第１ヒストリメモリ中の要素の動きベクトル、参照ピクチャインデックスとは異なるmvCandを見つける。このときのループ変数の値はHMVPIdxである。同じ要素が見つかった場合には、sameCandを真とする。
【０２２９】
新しく挿入する要素mvCandが最後に格納されるFIFOを実現するため、第１ヒストリメモリの各々の要素の位置をひとつずつ前にずらす。
【０２３０】
HMVPCandList1[ tempIdx-1] = HMVPCandList1[ tempIdx ]
ここで、tempIdxはHMVPCandNum-1から1までデクリメントする。
【０２３１】
なお、同じ要素が見つかった場合（sameCandが真）の場合には、同じ要素が見つかった以降をずらす処理をおこなってもよい。
【０２３２】
tempIdx = HMVPCandNum-1から(sameCand ? HMVPIdx :1)までデクリメントする。
【０２３３】
第１ヒストリメモリの最後の要素に、mvCandを追加する。
【０２３４】
HMVPCandList1[HMVPCandNum - 1] = mvCand
上記は、新しく挿入する要素mvCandが最後に格納されるFIFOであったが、新しく挿入する要素が最初に格納されるFIFOで実現してもよい。この場合、以下の処理を行う。
第１ヒストリメモリの各々の要素の位置をひとつずつ後にずらす。
【０２３５】
HMVPCandList1[ tempIdx ] = HMVPCandList1[ tempIdx - 1]
ここで、tempIdx = 1からHMVPCandNum-1までインクリメントする。
【０２３６】
なお、同じ要素が見つかった場合（sameCandが真）の場合には、同じ要素が見つかった以降をずらす処理をおこなってもよい。
【０２３７】
tempIdx = (sameCand ? HMVPIdx :1) からHMVPCandNum-1までインクリメントする。
【０２３８】
第１ヒストリメモリの先頭要素に、mvCandを追加する。
【０２３９】
HMVPCandList1[0] = mvCand
図32は、構成１のヒストリ格納部351のヒストリメモリの追加更新処理の動作を説明するフローチャートである。
【０２４０】
Ｓ３５１５  ヒストリ格納部351は、符号化ノードのサイズが所定の共有サイズ以上である場合に、Ｓ３５１６に遷移する。
【０２４１】
Ｓ３５１６  ヒストリ格納部351は、符号化ノードのサイズが所定の共有サイズ以上で
ある場合に、第２ヒストリメモリの内容を第１ヒストリメモリに追加する。
【０２４２】
HMVPCandList1[j] = HMVPCandList2[i]
なお、Ｓ３５１５は符号化ユニットもしくは符号化ノードの左上座標が共有符号化ブロックの左上座標と一致しているかを条件としてもよい。この場合、符号化ユニットもしくは符号化ノードの左上座標が共有符号化ブロックの左上座標と一致している場合に、第２ヒストリメモリの内容を第１ヒストリメモリに追加する。
【０２４３】
（第２ヒストリメモリから第１ヒストリメモリへの追加詳細）
第２ヒストリメモリHMVPCandList2[i](i=HMVPCandList2の要素数-1..0)を走査し、第１ヒストリメモリHMVPCandList1[i](i=HMVPCandList1の要素数-1..0)を走査し、HMVPCandListの要素に対し同じ動きベクトル、かつ、同じ参照ピクチャインデックスではない（動きベクトルもしくは参照ピクチャインデックスが異なる）HMVPCandList2の要素iを見つけ、HMVPCandList1に追加する。
【０２４４】
上記、構成の動画像符号化装置もしくは動画像復号装置によれば、共有符号化ブロック内の更新を一時ヒストリメモリに限定することによって、ヒストリメモリを用いる場合にも共有符号化ブロックで同一のマージ候補、予測ベクトル候補を導出する共有マージを実現できる効果を奏する。さらに、一時ヒストリメモリ（第２ヒストリメモリ）の内容をメインヒストリメモリに追加することによって、共有マージを用いながら、ヒストリメモリの性能を実現できる効果を奏する。
【０２４５】
（共有マージを用いる場合のヒストリ動きベクトル導出の構成２）
構成２は、共有符号化ブロック内の符号化ユニットにおいても、（メイン）ヒストリメモリの更新を継続する代わりに、更新を停止するコピーヒストリメモリを用意し、ヒストリメモリを利用するマージ候補、予測ベクトル候補の導出においては、コピーヒストリメモリを用いる構成である。共有符号化ブロックの左上ブロックでメインヒストリメモリの内容をコピーヒストリメモリにコピーする。
【０２４６】
図33は、本発明の実施形態のヒストリマージ候補導出部3052、ヒストリ格納部352を備える動画像復号装置の別の構成を示すブロック図である。ヒストリ格納部352は、第１ヒストリメモリ（メインヒストリメモリ）と、第２ヒストリメモリ（コピーヒストリメモリ、非更新ヒストリメモリ）を備える。マージ候補導出部30361の備えるヒストリマージ候補導出部3052は、第１ヒストリメモリもしくは第２ヒストリメモリを参照して、ヒストリマージ候補を導出する。AMVP予測パラメータ導出部3032も、第１ヒストリメモリもしくは第２ヒストリメモリを参照して、AMVP候補を導出する。
【０２４７】
図29(b)は、本実施形態のヒストリマージの処理を示す図である。図に示すように、ヒストリマージ候補導出部3052とAMVP予測パラメータ導出部3032は、符号化ユニットのサイズに応じて、第１ヒストリメモリもしくは第２ヒストリメモリを参照する。具体的には、符号化ユニットのサイズが所定共有サイズ以上の場合に、第１ヒストリメモリを参照し、符号化ユニットのサイズが所定共有サイズ未満の場合に、第２ヒストリメモリを参照する。ヒストリ格納部352は、符号化ユニットのサイズに関わらず符号化ユニットのインター予測パラメータを第１ヒストリメモリに格納する。
【０２４８】
図34は、本発明の実施形態のヒストリマージ候補導出部3052、ヒストリ格納部352の別の構成の動作を説明するフローチャートである。
【０２４９】
（構成２のヒストリメモリ参照処理Ｓ３４２０）
構成２では、以下の処理によってヒストリメモリを参照し、インター予測パラメータ。
を導出する。
【０２５０】
Ｓ３４２１  ヒストリ格納部351は、符号化ユニットのサイズが共有サイズ以上であるか否かを判定する。共有サイズ以上の場合はＳ３４２２に遷移し、それ以外の場合はＳ３４２３に遷移する。
【０２５１】
Ｓ３４２２  ヒストリマージ候補導出部3052とAMVP予測パラメータ導出部3032は、符号化ユニットのサイズが共有サイズ以上である場合に、第１ヒストリメモリを参照して、インター予測パラメータを導出する。
【０２５２】
Ｓ３４２３  ヒストリマージ候補導出部3052とAMVP予測パラメータ導出部3032は、符号化ユニットのサイズが共有サイズ未満である場合に、第２ヒストリメモリを参照して、インター予測パラメータを導出する。
【０２５３】
（ヒストリメモリ参照のマージ候補導出詳細）
以下、ヒストリマージ候補導出部3052の第１ヒストリメモリを参照するインター予測パラメータ導出（Ｓ３４２２）の処理は、以下である。
【０２５４】
mergeCandList[numCurrMergeCand++] = HMVPCandList1[i]
詳細は、第１構成で説明したヒストリメモリ参照のマージ候補導出詳細と同じであるので説明を省略する。
【０２５５】
以下、ヒストリマージ候補導出部3052の第２ヒストリメモリを参照するインター予測パラメータ導出（Ｓ３４２３）の具体的処理は、以下である。
【０２５６】
mergeCandList[numCurrMergeCand++] = HMVPCandList2[i]
詳細は第１構成で説明したヒストリメモリ参照のマージ候補導出詳細において、第１ヒストリメモリHMVPCandList1を第２ヒストリメモリHMVPCandList2と読み替える以外同じであるので説明を省略する。
【０２５７】
（ヒストリメモリ参照の予測ベクトル導出詳細）
以下、AMVP予測パラメータ導出部3032のＳ３４２０の動作を詳細に説明する。
【０２５８】
図35は、本実施形態のAMVP予測パラメータ導出部3032の動作を示すフローチャートである。
Ｓ３２２１：隣接ブロックＡの動きベクトルmvLXAが存在する場合には、予測ベクトル候補リストにmvLXAを格納しインデックスiをインクリメントする。
【０２５９】
mvpListLX[ i++ ] = mvLXA
Ｓ３２２２：隣接ブロックＢの動きベクトルmvLXBが存在し、mvLXBがmvLXAと異なる場合(
mvLXA  !=  mvLXB )には、予測ベクトル候補リストにmvLXBを格納しインデックスiをインクリメントする。
【０２６０】
mvpListLX[ i++ ] = mvLXB
Ｓ３２２３Ａ  ヒストリ格納部352は、符号化ユニットのサイズが共有サイズ以上であるか否かを判定する。共有サイズ以上の場合はＳ３２２３Ｂに遷移し、それ以外の場合はＳ３２２３Ｃに遷移する。
Ｓ３２２３Ｂ  AMVP予測パラメータ導出部3032は、符号化ユニットのサイズが共有サイズ以上である場合に、第１ヒストリメモリを参照して、インター予測パラメータを導出する。導出された候補数（インデックスi）が最大候補数（例えば２）より小さい場合には、
第１ヒストリメモリHMVPCandList1の動きベクトルを予測ベクトル候補リストmvpListLXに格納する。
【０２６１】
mvpListLX[ i++ ] = HMVPCandList1[j]
なお、ヒストリメモリへの格納においてFIFOが先頭要素を優先する構成ではj=0とし、FIFOが最後の要素を優先する構成ではj = HMVPCandNum -1としてもよい。
より具体的には、第１ヒストリメモリのインデックスjを用いて、第１ヒストリメモリの参照ピクチャリスト、インデックス、および、動きベクトルを参照し、第１ヒストリメモリの参照ピクチャ（ListLX of HMVPCandList1[j]）が符号化ユニットの参照ピクチャRefPicListX[ refIdxLX ]と等しく、HMVPCandList1[j]の動きベクトルが予測ベクトル候補リストmvpListLXの動きベクトルと異なる場合に、第１ヒストリメモリHMVPCandList1の動きベクトルを予測ベクトル候補リストに格納する。
Ｓ３２２３Ｃ  AMVP予測パラメータ導出部3032は、符号化ユニットのサイズが共有サイズ未満である場合に、第２ヒストリメモリを参照して、インター予測パラメータを導出する。以下の処理はHMVPCandList1がHMVPCandList2になることを除いてＳ３２２３Ｂと同一である。導出された候補数（インデックスi）が最大候補数（例えば２）より小さい場合には、第２ヒストリメモリHMVPCandListの動きベクトルを予測ベクトル候補リストに格納する。
【０２６２】
mvpListLX[ i++ ] = HMVPCandList2[j]
なお、ヒストリメモリへの格納詳細におけるFIFOが先頭要素を優先する構成ではj=0とし、FIFOが最後の要素を優先する構成ではj=HMVPCandNum-1としてもよい。
より具体的には、第２ヒストリメモリのインデックスjを用いて、第２ヒストリメモリの参照ピクチャリストとインデックスと、動きベクトルを参照し、第２ヒストリメモリの参照ピクチャリスト（ListLX of HMVPCandList2[j]）が符号化ユニットの参照ピクチャRefPicListX[ refIdxLX ]と等しく、HMVPCandList2[j]の動きベクトルが、予測ベクトル候補リストmvpListLXの動きベクトルと異なる場合に、第２ヒストリメモリHMVPCandList2の動きベクトルを予測ベクトル候補リストに格納する。
Ｓ３２２４：導出された候補数（インデックスi）が最大候補数（例えば２）より小さい場合には、ゼロベクトル(0, 0)を予測ベクトル候補リストにmvLXBに格納する。
【０２６３】
mvpListLX[ i ][ 0 ] = 0
mvpListLX[ i ][ 1 ] = 0
（構成２のヒストリメモリ格納・更新処理３５２０）
構成２では、ヒストリメモリ格納・更新処理３５２０として以下のＳ３５２２の処理によってヒストリメモリを格納する。
【０２６４】
Ｓ３５２２  ヒストリ格納部352は、符号化ユニットのインター予測パラメータを第１ヒストリメモリに格納する。
【０２６５】
HMVPCandList1[tempIdx] = mvCand
詳細は、第１の構成のヒストリメモリ格納方法で説明したとおりであるのでここでは省略する。
【０２６６】
（構成２のヒストリメモリ追加更新処理）
図36は、構成２のヒストリ格納部352のヒストリメモリの追加更新処理の動作を説明するフローチャートである。
【０２６７】
Ｓ３５２５  ヒストリ格納部352は、符号化ノードのサイズが所定の共有サイズ以上である場合に、Ｓ３５２６に遷移する。
【０２６８】
Ｓ３５２６  ヒストリ格納部352は、符号化ノードのサイズが所定の共有サイズ以上である場合に、第１ヒストリメモリHMVPCandList1の内容を第２ヒストリメモリHMVPCandList2にコピーする。
【０２６９】
HMVPCandList2[j] = HMVPCandList1[j]
ここではj = 0.. HMVPCandList1の要素数-1である。
【０２７０】
なお、Ｓ３５２５は符号化ユニットもしくは符号化ノードの左上座標が共有符号化ブロックの左上座標と一致しているかを条件としてもよい。この場合、符号化ユニットもしくは符号化ノードの左上座標が共有符号化ブロックの左上座標と一致している場合に、第１ヒストリメモリの内容を第２ヒストリメモリにコピーする。
【０２７１】
上記の処理は、符号化ノードでの処理であるのでCT情報符号化部1111もしくはCT情報復号部3021がヒストリ格納部352のヒストリメモリに対して行ってもよい。
【０２７２】
上記、構成の動画像符号化装置もしくは動画像復号装置によれば、共有符号化ブロック内の参照をコピーヒストリメモリに限定することによって、ヒストリメモリを用いる場合にも共有符号化ブロックで同一のマージ候補、予測ベクトル候補を導出する共有マージを実現できる効果を奏する。さらに、共有符号化ブロック内でもメインヒストリメモリの更新を継続することによって、共有マージを用いながら、ヒストリメモリの性能を実現できる効果を奏する。
【０２７３】
MV加算部3038は、AMVP予測パラメータ導出部3032から入力された予測ベクトルmvpLXと復号した差分ベクトルmvdLXを加算して動きベクトルmvLXを算出する。MV加算部3038は、算出した動きベクトルmvLXを予測画像生成部308および予測パラメータメモリ307に出力する。
【０２７４】
mvLX[0] = mvpLX[0]+mvdLX[0]
mvLX[1] = mvpLX[1]+mvdLX[1]
またamvr_modeから導出されるMvShift (=1<<amvr_mode)を用いて逆量子化してもよい。
【０２７５】
mvdL0[0] = mvdLX[0] << (MvShift + 2)
mvdL0[1] = mvdLX[1] << (MvShift + 2)
ループフィルタ305は、符号化ループ内に設けたフィルタで、ブロック歪やリンギング歪を除去し、画質を改善するフィルタである。ループフィルタ305は、加算部312が生成したCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット（SAO）、適応ループフィルタ（ALF）等のフィルタを施す。
【０２７６】
参照ピクチャメモリ306は、加算部312が生成したCUの復号画像を、対象ピクチャ及び対象CU毎に予め定めた位置に記憶する。
【０２７７】
予測パラメータメモリ307は、復号対象のCTUあるいはCU毎に予め定めた位置に予測パラメータを記憶する。具体的には、予測パラメータメモリ307は、パラメータ復号部302が復号したパラメータ及びエントロピー復号部301が復号した予測モードpredMode等を記憶する。
【０２７８】
予測画像生成部308には、予測モードpredMode、予測パラメータ等が入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードpredModeが示す予測モードで、予測パラメータと読み出した参
照ピクチャ（参照ピクチャブロック）を用いてブロックもしくはサブブロックの予測画像を生成する。ここで、参照ピクチャブロックとは、参照ピクチャ上の画素の集合（通常矩形であるのでブロックと呼ぶ）であり、予測画像を生成するために参照する領域である。
【０２７９】
（インター予測画像生成部309）
予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ導出部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測によりブロックもしくはサブブロックの予測画像を生成する。
【０２８０】
図AA19は、本実施形態に係る予測画像生成部308に含まれるインター予測画像生成部309の構成を示す概略図である。インター予測画像生成部309は、動き補償部（予測画像生成装置）3091、重み予測部3094を含んで構成される。
【０２８１】
（動き補償）
動き補償部3091（補間画像生成部3091）は、インター予測パラメータ導出部303から入力された、インター予測パラメータ（予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、動きベクトルmvLX）に基づいて、参照ピクチャメモリ306から、参照ピクチャインデックスrefIdxLXで指定された参照ピクチャRefPicLXにおける、対象ブロックの位置を起点として動きベクトルmvLXだけシフトした位置にあるブロックを読み出すことによって補間画像（動き補償画像）を生成する。ここで、動きベクトルmvLXの精度が整数精度でない場合には、動き補償フィルタと呼ばれる小数位置の画素を生成するためのフィルタを施して、補間画像を生成する。
【０２８２】
動き補償部3091は、まず、予測ブロック内座標(x,y)に対応する整数位置(xInt,yInt)および位相(xFrac,yFrac)を以下の式で導出する。
【０２８３】
xInt = xPb+(mvLX[0]>>(log2(MVBIT)))+x
xFrac = mvLX[0]&(MVBIT-1)
yInt = yPb+(mvLX[1]>>(log2(MVBIT)))+y
yFrac = mvLX[1]&(MVBIT-1)
ここで、(xPb,yPb)は、bW*bHサイズのブロックの左上座標、x=0…bW-1、y=0…bH-1であり、MVBITは、動きベクトルmvLXの精度（1/(2^MVBIT)画素精度）を示す。
【０２８４】
動き補償部3091は、参照ピクチャrefImgに補間フィルタを用いて水平補間処理を行うことで、一時的画像temp[][]を導出する。以下のΣはk=0..NTAP-1のkに関する和、shift1は値のレンジを調整する正規化パラメータ、offset1=1<<(shift1-1)である。
【０２８５】
temp[x][y] = (ΣmcFilter[xFrac][k]*refImg[xInt+k-NTAP/2+1][yInt]+offset1)>>shift1
続いて、動き補償部3091は、一時的画像temp[][]を垂直補間処理により、補間画像Pred[][]を導出する。以下のΣはk=0..NTAP-1のkに関する和、shift2は値のレンジを調整する正規化パラメータ、offset2=1<<(shift2-1)である。
【０２８６】
Pred[x][y] = (ΣmcFilter[yFrac][k]*temp[x][y+k-NTAP/2+1]+offset2)>>shift2  なお、双予測の場合は、上記のPred[][]をL0リスト、L1リスト毎に導出し（補間画像PredL0[][]とPredL1[][]と呼ぶ）、補間画像PredL0[][]と補間画像PredL1[][]から補間画像Pred[][]を生成する。
【０２８７】
（重み予測）
重み予測部3094は、補間画像PredLXに重み係数を乗算することによりブロックの予測画像を生成する。予測リスト利用フラグの一方（predFlagL0もしくはpredFlagL1）が１（単予測）、かつ、重み予測を用いない場合、補間画像PredLX（LXはL0もしくはL1）を画素ビット数bitDepthに合わせる以下の式の処理を行う。
【０２８８】
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredLX[x][y]+offset1)>>shift1)
ここで、shift1=14-bitDepth、offset1=1<<(shift1-1)である。
また、参照リスト利用フラグの両者（predFlagL0とpredFlagL1）が１（双予測BiPred）、かつ、重み予測を用いない場合、補間画像PredL0、PredL1を平均し画素ビット数に合わせる以下の式の処理を行う。
【０２８９】
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredL0[x][y]+PredL1[x][y]+offset2)>>shift2)
ここで、shift2=15-bitDepth、offset2=1<<(shift2-1)である。
【０２９０】
さらに、単予測、かつ、重み予測を行う場合、重み予測部3094は重み予測係数w0とオフセットo0を符号化データから導出し、以下の式の処理を行う。
【０２９１】
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,((PredLX[x][y]*w0+2^(log2WD-1))>>log2WD)+o0)
ここで、log2WDは所定のシフト量を示す変数である。
【０２９２】
さらに、双予測BiPred、かつ、重み予測を行う場合、重み予測部3094は重み予測係数w0、w1、o0、o1を符号化データから導出し、以下の式の処理を行う。
【０２９３】
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredL0[x][y]*w0+PredL1[x][y]*w1+((o0+o1+1)<<log2WD))>>(log2WD+1))
インター予測画像生成部309は生成したブロックの予測画像を加算部312に出力する。
【０２９４】
逆量子化・逆変換部311は、エントロピー復号部301から入力された量子化変換係数を逆量子化して変換係数を求める。この量子化変換係数は、符号化処理において、予測誤差に対してDCT（Discrete Cosine Transform、離散コサイン変換）、DST（Discrete Sine Transform、離散サイン変換）、KLT（Karyhnen Loeve Transform、カルーネンレーベ変換）等の周波数変換を行い量子化して得られる係数である。逆量子化・逆変換部311は、求めた変換係数について逆DCT、逆DST、逆KLT等の逆周波数変換を行い、予測誤差を算出する。逆量子化・逆変換部311は予測誤差を加算部312に出力する。
【０２９５】
加算部312は、予測画像生成部308から入力されたブロックの予測画像と逆量子化・逆変換部311から入力された予測誤差を画素毎に加算して、ブロックの復号画像を生成する。加算部312はブロックの復号画像を参照ピクチャメモリ306に記憶し、また、ループフィルタ305に出力する。
【０２９６】
（動画像符号化装置の構成）
次に、本実施形態に係る動画像符号化装置11の構成について説明する。図AA22は、本実施形態に係る動画像符号化装置11の構成を示すブロック図である。動画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、逆量子化・逆変換部105、加算部106、ループフィルタ107、予測パラメータメモリ（予測パラメータ記憶部、フレームメモリ）108、参照ピクチャメモリ（参照画像記憶部、フレームメモリ）109、符号化パラメータ決定部110、予測パラメータ導出部120、エントロピー符号化部104を含んで構成される。
【０２９７】
予測画像生成部101は画像Ｔの各ピクチャを分割した領域であるCU毎に予測画像を生成する。予測画像生成部101は既に説明した予測画像生成部308と同じ動作であり、説明を省略する。
【０２９８】
減算部102は、予測画像生成部101から入力されたブロックの予測画像の画素値を、画像Ｔの画素値から減算して予測誤差を生成する。減算部102は予測誤差を変換・量子化部103に出力する。
【０２９９】
変換・量子化部103は、減算部102から入力された予測誤差に対し、周波数変換によって変換係数を算出し、量子化によって量子化変換係数を導出する。変換・量子化部103は、量子化変換係数をエントロピー符号化部104及び逆量子化・逆変換部105に出力する。
【０３００】
逆量子化・逆変換部105は、動画像復号装置31における逆量子化・逆変換部311（図7）と同じであり、説明を省略する。算出した予測誤差は加算部106に出力される。
【０３０１】
エントロピー符号化部104には、変換・量子化部103から量子化変換係数が入力され、符号化パラメータ決定部110から符号化パラメータが入力される。符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、予測モードpredMode、及びマージインデックスmerge_idx等の符号がある。
【０３０２】
エントロピー符号化部104は、分割情報、予測パラメータ、量子化変換係数等をエントロピー符号化して符号化ストリームTeを生成し、出力する。
【０３０３】
予測パラメータ導出部120は、インター予測パラメータ導出部303、イントラ予測パラメータ導出部304を含む手段であり、符号化パラメータ決定部110から入力された符号化パラメータからイントラ予測パラメータ及びイントラ予測パラメータを導出する。導出されたイントラ予測パラメータ及びイントラ予測パラメータは、予測画像生成部101と予測パラメータメモリ108に出力される。パラメータ符号化部111は、ヘッダ符号化部1110、CT情報符号化部1111、CU符号化部1112（予測モード符号化部）および図示しないインター予測パラメータ符号化部112とイントラ予測パラメータ符号化部113を備えている。CU符号化部1112はさらにTU符号化部1114を備えている。符号化パラメータ決定部110は、インター予測パラメータ符号化部112とイントラ予測パラメータ符号化部113を備えている。
【０３０４】
以下、各モジュールの概略動作を説明する。予測パラメータ導出部120はヘッダ情報、分割情報、予測情報、量子化変換係数等のパラメータの符号化処理を行う。
【０３０５】
CT情報符号化部1111は、QT、MT（BT、TT）分割情報等を符号化する。
【０３０６】
CU符号化部1112はCU情報、予測情報、TU分割フラグsplit_transform_flag、CU残差フラグcbf_cb、cbf_cr、cbf_luma等を符号化する。
【０３０７】
TU符号化部1114は、TUに予測誤差が含まれている場合に、QP更新情報（量子化補正値）と量子化予測誤差（residual_coding）を符号化する。
【０３０８】
CT情報符号化部1111、CU符号化部1112は、インター予測パラメータ（予測モードpredMode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX）、イントラ予測パラメータ（intra_luma_mpm_flag、mpm_idx、mpm_reminder、intra_chroma_pred_mode）、量子化変換係数等のシンタックス要素をエントロピー
符号化部104に供給する。
【０３０９】
符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、１つのセットを選択する。符号化パラメータとは、上述したQT、BTあるいはTT分割情報、予測パラメータ、あるいはこれらに関連して生成される符号化の対象となるパラメータである。予測パラメータ導出部120は、符号化パラメータ決定部110が決定したパラメータから予測パラメータを導出し、予測画像生成部101に出力する。予測画像生成部101は、これらの予測パラメータを用いて予測画像を生成する。
【０３１０】
符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すRDコスト値を算出する。RDコスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された予測誤差の二乗和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして出力する。予測パラメータ導出部303により導出された予測パラメータを予測パラメータメモリ108に記憶する。
【０３１１】
（インター予測パラメータ符号化部の構成）
インター予測パラメータ符号化部112は、マージインデックス導出部11211とベクトル候補インデックス導出部11212を備える。
【０３１２】
マージインデックス導出部11211は、マージインデックスmerge_idx候補を導出し、予測パラメータ導出部120のマージ予測パラメータ導出部3036（マージ予測部）に出力する。ベクトル候補インデックス導出部11212は予測ベクトルフラグmvp_LX_flag候補を導出する。マージ予測パラメータ導出部3036は、マージインデックスmerge_idxに基づいて、インター予測パラメータを導出し予測画像生成部101に出力する。
【０３１３】
AMVP予測パラメータ導出部3032は動きベクトルmvLXに基づいて予測ベクトルmvpLXを導出する。AMVP予測パラメータ導出部3032は予測ベクトルmvpLXをMV減算部1123に出力する。なお、参照ピクチャインデックスrefIdxLX及び予測ベクトルフラグmvp_LX_flagは、パラメータ符号化部111に出力される。
【０３１４】
MV減算部1123は、符号化パラメータ決定部110から入力された動きベクトルmvLXから、AMVP予測パラメータ導出部3032の出力である予測ベクトルmvpLXを減算して差分ベクトルmvdLXを生成する。差分ベクトルmvdLXはパラメータ符号化部111に出力される。
【０３１５】
加算部106は、予測画像生成部101から入力されたブロックの予測画像の画素値と逆量子化・逆変換部105から入力された予測誤差を画素毎に加算して復号画像を生成する。加算部106は生成した復号画像を参照ピクチャメモリ109に記憶する。
【０３１６】
ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、SAO、ALFを施す。なお、ループフィルタ107は、必ずしも上記３種類のフィルタを含まなくてもよく、例えばデブロッキングフィルタのみの構成であってもよい。
【０３１７】
予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、対象ピクチャ及びCU毎に予め定めた位置に記憶する。
【０３１８】
参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を対象ピクチャ及び
CU毎に予め定めた位置に記憶する。
【０３１９】
なお、上述した実施形態における動画像符号化装置11、動画像復号装置31の一部、例えば、エントロピー復号部301、パラメータ復号部302、ループフィルタ305、予測画像生成部308、逆量子化・逆変換部311、加算部312、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、ループフィルタ107、符号化パラメータ決定部110、予測パラメータ導出部120をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、動画像符号化装置11、動画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０３２０】
また、上述した実施形態における動画像符号化装置11、動画像復号装置31の一部、または全部を、LSI（Large Scale Integration）等の集積回路として実現しても良い。動画像符号化装置11、動画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【０３２１】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【０３２２】
〔応用例〕
上述した動画像符号化装置11及び動画像復号装置31は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像（CGおよびGUIを含む）であってもよい。
【０３２３】
まず、上述した動画像符号化装置11及び動画像復号装置31を、動画像の送信及び受信に利用できることを、図2を参照して説明する。
【０３２４】
図2(a)は、動画像符号化装置11を搭載した送信装置PROD_Aの構成を示したブロック図である。図に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置11は、この符号化部PROD_A1として利用される。
【０３２５】
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部Ａ７を更に備えていてもよい。図においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
【０３２６】
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部（不図示）を介在させるとよい。
【０３２７】
図2(b)は、動画像復号装置31を搭載した受信装置PROD_Bの構成を示したブロック図である。図に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置31は、この復号部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の双方として機能する。
【０３３４】
次に、上述した動画像符号化装置11及び動画像復号装置31を、動画像の記録及び再生に利用できることを、図3を参照して説明する。
【０３３５】
図3(a)は、上述した動画像符号化装置11を搭載した記録装置PROD_Cの構成を示したブロック図である。図に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置11は、この符号化部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の一例である。
【０３４０】
図3(b)は、上述した動画像復号装置31を搭載した再生装置PROD_Dの構成を示したブロックである。図に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置31は、この復号部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の一例である。
【０３４５】
（ハードウェア的実現およびソフトウェア的実現）
また、上述した動画像復号装置31および動画像符号化装置11の各ブロックは、集積回路（ICチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、CPU（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０３４６】
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM（Read Only Memory）、上記プログラムを展開するRAM（Random
Access 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：登録商標）、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０３４９】
本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０３５０】
本発明の実施形態は、画像データが符号化された符号化データを復号する動画像復号装置、および、画像データが符号化された符号化データを生成する動画像符号化装置に好適に適用することができる。また、動画像符号化装置によって生成され、動画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
【符号の説明】
【０３５１】
31  画像復号装置
301  エントロピー復号部
302  パラメータ復号部
3020  ヘッダ復号部
303  インター予測パラメータ導出部
304  イントラ予測パラメータ導出部
308  予測画像生成部
309  インター予測画像生成部
310  イントラ予測画像生成部
311  逆量子化・逆変換部
312  加算部
11  画像符号化装置
101  予測画像生成部
102  減算部
103  変換・量子化部
104  エントロピー符号化部
105  逆量子化・逆変換部
107  ループフィルタ
110  符号化パラメータ決定部
111  パラメータ符号化部
112  インター予測パラメータ符号化部
113  イントラ予測パラメータ符号化部
1110  ヘッダ符号化部
1111  CT情報符号化部
1112  CU符号化部（予測モード符号化部）
1114  TU符号化部
【図１】
2020088451.tif 000003
【図２】
2020088451.tif 000004
【図３】
2020088451.tif 000005
【図４】
2020088451.tif 000006
【図５】
2020088451.tif 000007
【図６】
2020088451.tif 000008
【図７】
2020088451.tif 000009
【図８】
2020088451.tif 000010
【図９】
2020088451.tif 000011
【図１０】
2020088451.tif 000012
【図１１】
2020088451.tif 000013
【図１２】
2020088451.tif 000014
【図１３】
2020088451.tif 000015
【図１４】
2020088451.tif 000016
【図１５】
2020088451.tif 000017
【図１６】
2020088451.tif 000018
【図１７】
2020088451.tif 000019
【図１８】
2020088451.tif 000020
【図１９】
2020088451.tif 000021
【図２０】
2020088451.tif 000022
【図２１】
2020088451.tif 000023
【図２２】
2020088451.tif 000024
【図２３】
2020088451.tif 000025
【図２４】
2020088451.tif 000026
【図２５】
2020088451.tif 000027
【図２６】
2020088451.tif 000028
【図２７】
2020088451.tif 000029
【図２８】
2020088451.tif 000030
【図２９】
2020088451.tif 000031
【図３０】
2020088451.tif 000032
【図３１】
2020088451.tif 000033
【図３２】
2020088451.tif 000034
【図３３】
2020088451.tif 000035
【図３４】
2020088451.tif 000036
【図３５】
2020088451.tif 000037
【図３６】
2020088451.tif 000038