(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は下記を備える、
マージング候補リストのための時間マージング候補を生成すること、ここにおいて、前記時間マージング候補を生成することは、
コロケートピクチャを識別すること、ここにおいて、前記コロケートピクチャは、現在予測ユニットとは異なる時間インスタンスに存在する、と、
前記コロケートピクチャ中のコロケート予測ユニットを識別することと、
第１の参照ピクチャを決定すること、ここにおいて、前記コロケート予測ユニットの予測ブロックは、前記第１の参照ピクチャのサンプルに基づいて決定され、前記第１の参照ピクチャは、参照ピクチャタイプに属し、前記参照ピクチャタイプは、時間参照ピクチャ、またはディスパリティ参照ピクチャのいずれかである、と、
第２の参照ピクチャを決定すること、ここにおいて、前記第２の参照ピクチャは、第１の参照インデックス値によって示され、参照ピクチャリスト内の位置に存在し、前記第１の参照インデックス値は、あらかじめ定義された、デフォルト値であり、前記参照ピクチャリストは、前記現在予測ユニットを含むスライスのためのものである、と、
前記時間マージング候補の参照インデックスを設定すること、ここにおいて、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に設定され、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属さないとき、前記時間マージング候補の前記参照インデックスが第２の参照インデックス値に設定され、
前記第２の参照インデックス値は、前記スライスのスライスヘッダ中でシグナリングされるか、または前記第１の参照ピクチャと同じ参照ピクチャタイプに属する前記参照ピクチャリスト内の最先の参照ピクチャのインデックス値である、と、
前記コロケート予測ユニットの動きベクトルを使用して前記時間マージング候補の動きベクトルを設定することと、
を備える、と、
前記マージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定することと、
前記選択されたマージング候補によって指定される動き情報に基づいて、前記現在予測ユニットのための予測ブロックを決定することと、
前記現在予測ユニットのための前記予測ブロックの対応するサンプルと残差データのサンプルを加算することによって、再構成されたサンプルブロックを生成すること。
【請求項２】
前記第１の参照インデックス値が０に等しい、請求項１に記載の方法。
【請求項３】
前記コロケート予測ユニットが、コロケートピクチャのコロケート領域の中心ブロックをカバーする予測ユニットであるか、または前記コロケートピクチャの前記コロケート領域の右下ブロックをカバーする予測ユニットであり、前記コロケート領域が前記現在予測ユニットとコロケートされる、請求項１に記載の方法。
【請求項４】
ビデオデータを符号化する方法であって、前記方法は下記を備える、
マージング候補リストのための時間マージング候補を生成すること、ここにおいて、前記時間マージング候補を生成することは、
コロケートピクチャを識別すること、ここにおいて、前記コロケートピクチャは、現在予測ユニットとは異なる時間インスタンスに存在する、と、
前記コロケートピクチャ中のコロケート予測ユニットを識別することと、
第１の参照ピクチャを決定すること、ここにおいて、前記コロケート予測ユニットの予測ブロックは、前記第１の参照ピクチャのサンプルに基づいて決定され、前記第１の参照ピクチャは、参照ピクチャタイプに属し、前記参照ピクチャタイプは、時間参照ピクチャ、またはディスパリティ参照ピクチャのいずれかである、と、
第２の参照ピクチャを決定すること、ここにおいて、前記第２の参照ピクチャは、第１の参照インデックス値によって示され、参照ピクチャリスト内の位置に存在し、前記第１の参照インデックス値は、あらかじめ定義された、デフォルト値であり、前記参照ピクチャリストは、前記現在予測ユニットを含むスライスのためのものである、と、
前記時間マージング候補の参照インデックスを設定すること、ここにおいて、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に設定され、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属さないとき、前記時間マージング候補の前記参照インデックスが第２の参照インデックス値に設定され、
前記第２の参照インデックス値は、前記スライスのスライスヘッダ中でシグナリングされるか、または前記第１の参照ピクチャと同じ参照ピクチャタイプに属する前記参照ピクチャリスト内の最先の参照ピクチャのインデックス値である、と、
前記コロケート予測ユニットの動きベクトルを使用して前記時間マージング候補の動きベクトルを設定することと、
を備える、と、
前記マージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定することと、
前記マージング候補リスト内の前記選択されたマージング候補を識別するデータを含むビットストリームを生成すること。
【請求項５】
前記第１の参照インデックス値が０に等しい、請求項４に記載の方法。
【請求項６】
前記時間参照ピクチャの参照ピクチャタイプは、短期参照ピクチャタイプまたは長期参照ピクチャタイプのいずれかであり、前記短期参照ピクチャタイプと前記長期参照ピクチャタイプは、同じ参照ピクチャタイプに属し、
前記第１の参照ピクチャの参照ピクチャタイプが、短期参照ピクチャタイプと長期参照ピクチャタイプとのうちの１つであり、
前記第２の参照ピクチャの参照ピクチャタイプが、前記短期参照ピクチャタイプと前記長期参照ピクチャタイプとのうちの１つである、
請求項４に記載の方法。
【請求項７】
前記第１の参照ピクチャの参照ピクチャタイプが、時間参照ピクチャタイプとディスパリティ参照ピクチャタイプとのうちの１つであり、
前記第２の参照ピクチャの参照ピクチャタイプが、前記時間参照ピクチャタイプと前記ディスパリティ参照ピクチャタイプとのうちの１つである、
請求項４に記載の方法。
【請求項８】
前記コロケート予測ユニットが、コロケートピクチャのコロケート領域の中心ブロックをカバーする予測ユニットであるか、または前記コロケートピクチャの前記コロケート領域の右下ブロックをカバーする予測ユニットであり、前記コロケート領域が前記現在予測ユニットとコロケートされる、請求項４に記載の方法。
【請求項９】
ビデオデータを符号化するためのデバイスであって、前記デバイスは下記を備える、
前記ビデオデータを記憶するように構成された記憶媒体と、
１つまたは複数のプロセッサであって、
マージング候補リストのための時間マージング候補を生成し、ここにおいて、前記１つまたは複数のプロセッサは、前記時間マージング候補を生成することの一部として構成され、前記１つまたは複数のプロセッサが、
コロケートピクチャを識別し、ここにおいて、前記コロケートピクチャは、現在予測ユニットとは異なる時間インスタンスに存在し、
前記コロケートピクチャ中のコロケート予測ユニットを識別し、
第１の参照ピクチャを決定し、ここにおいて、前記コロケート予測ユニットの予測ブロックは、前記第１の参照ピクチャのサンプルに基づいて決定され、前記第１の参照ピクチャは、参照ピクチャタイプに属し、前記参照ピクチャタイプは、時間参照ピクチャ、またはディスパリティ参照ピクチャのいずれかであり、
第２の参照ピクチャを決定し、ここにおいて、前記第２の参照ピクチャは、第１の参照インデックス値によって示され、参照ピクチャリスト内の位置に存在し、前記第１の参照インデックス値は、あらかじめ定義された、デフォルト値であり、前記参照ピクチャリストは、前記現在予測ユニットを含むスライスのためのものであり、
前記時間マージング候補の参照インデックスを設定し、ここにおいて、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に設定され、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属さないとき、前記時間マージング候補の前記参照インデックスが第２の参照インデックス値に設定され、
前記第２の参照インデックス値は、前記スライスのスライスヘッダ中でシグナリングされるか、または前記第１の参照ピクチャと同じ参照ピクチャタイプに属する前記参照ピクチャリスト内の最先の参照ピクチャのインデックス値であり、
前記コロケート予測ユニットの動きベクトルを使用して前記時間マージング候補の動きベクトルを設定すること、
を行い、
前記マージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定し、
前記マージング候補リスト内の前記選択されたマージング候補を識別するデータを含むビットストリームを生成する
ように構成された１つまたは複数のプロセッサ。
【請求項１０】
ビデオデータを復号するためのデバイスであって、前記デバイスは下記を備える、
前記ビデオデータを記憶するように構成された記憶媒体と、
１つまたは複数のプロセッサであって、
マージング候補リストのための時間マージング候補を生成し、ここにおいて、前記１つまたは複数のプロセッサは、前記時間マージング候補を生成することの一部として構成され、前記１つまたは複数のプロセッサが、
コロケートピクチャを識別し、ここにおいて、前記コロケートピクチャは、現在予測ユニットとは異なる時間インスタンスに存在し、
前記コロケートピクチャ中のコロケート予測ユニットを識別し、
第１の参照ピクチャを決定し、ここにおいて、前記コロケート予測ユニットの予測ブロックは、前記第１の参照ピクチャのサンプルに基づいて決定され、前記第１の参照ピクチャは、参照ピクチャタイプに属し、前記参照ピクチャタイプは、時間参照ピクチャ、またはディスパリティ参照ピクチャのいずれかであり、
第２の参照ピクチャを決定し、ここにおいて、前記第２の参照ピクチャは、第１の参照インデックス値によって示され、参照ピクチャリスト内の位置に存在し、前記第１の参照インデックス値は、あらかじめ定義された、デフォルト値であり、前記参照ピクチャリストは、前記現在予測ユニットを含むスライスのためのものであり、
前記時間マージング候補の参照インデックスを設定し、ここにおいて、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に設定され、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属さないとき、前記時間マージング候補の前記参照インデックスが第２の参照インデックス値に設定され、
前記第２の参照インデックス値は、前記スライスのスライスヘッダ中でシグナリングされるか、または前記第１の参照ピクチャと同じ参照ピクチャタイプに属する前記参照ピクチャリスト内の最先の参照ピクチャのインデックス値であり、
前記コロケート予測ユニットの動きベクトルを使用して前記時間マージング候補の動きベクトルを設定すること、
を行い、
前記マージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定し、
前記選択されたマージング候補によって指定される動き情報に基づいて、前記現在予測ユニットのための予測ブロックを決定し、
前記現在予測ユニットのための前記予測ブロックの対応するサンプルと残差データのサンプルを加算することによって、再構成されたサンプルブロックを生成する
ように構成された１つまたは複数のプロセッサ。
【請求項１１】
前記第１の参照インデックス値が０に等しい、請求項９または請求項１０に記載のデバイス。
【請求項１２】
前記コロケート予測ユニットが、コロケートピクチャのコロケート領域の中心ブロックをカバーする予測ユニットであるか、または前記コロケートピクチャの前記コロケート領域の右下ブロックをカバーする予測ユニットであり、前記コロケート領域が前記現在予測ユニットとコロケートされる、請求項９または請求項１０に記載のデバイス。
【請求項１３】
ビデオデータを符号化するためのデバイスであって、前記デバイスは下記を備える、
コロケートピクチャを識別するための手段、ここにおいて、前記コロケートピクチャは、現在予測ユニットとは異なる時間インスタンスに存在する、と、
前記コロケートピクチャ中のコロケート予測ユニットを識別するための手段と、
第１の参照ピクチャを決定するための手段、ここにおいて、前記コロケート予測ユニットの予測ブロックは、前記第１の参照ピクチャのサンプルに基づいて決定され、前記第１の参照ピクチャは、参照ピクチャタイプに属し、前記参照ピクチャタイプは、時間参照ピクチャ、またはディスパリティ参照ピクチャのいずれかである、と、
第２の参照ピクチャを決定するための手段、前記第２の参照ピクチャは、第１の参照インデックス値によって示され、参照ピクチャリスト内の位置に存在し、前記第１の参照インデックス値は、あらかじめ定義された、デフォルト値であり、前記参照ピクチャリストは、前記現在予測ユニットを含むスライスのためのものである、と、
マージング候補リストの時間マージング候補の参照インデックスを設定するための手段、ここにおいて、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に設定され、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属さないとき、前記時間マージング候補の前記参照インデックスが第２の参照インデックス値に設定され、
前記第２の参照インデックス値は、前記スライスのスライスヘッダ中でシグナリングされるか、または前記第１の参照ピクチャと同じ参照ピクチャタイプに属する前記参照ピクチャリスト内の最先の参照ピクチャのインデックス値である、と、
前記コロケート予測ユニットの動きベクトルを使用して前記時間マージング候補の動きベクトルを設定するための手段と、
前記マージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定するための手段と、
前記マージング候補リスト内の前記選択されたマージング候補を識別するデータを含むビットストリームを生成するための手段。
【請求項１４】
ビデオデータを復号するためのデバイスであって、前記デバイスは下記を備える、
コロケートピクチャを識別するための手段、ここにおいて、前記コロケートピクチャは、現在予測ユニットとは異なる時間インスタンスに存在する、と、
前記コロケートピクチャ中のコロケート予測ユニットを識別するための手段と、
第１の参照ピクチャを決定するための手段、ここにおいて、前記コロケート予測ユニットの予測ブロックは、前記第１の参照ピクチャのサンプルに基づいて決定され、前記第１の参照ピクチャは、参照ピクチャタイプに属し、前記参照ピクチャタイプは、時間参照ピクチャ、またはディスパリティ参照ピクチャのいずれかである、と、
第２の参照ピクチャを決定するための手段、ここにおいて、前記第２の参照ピクチャは、第１の参照インデックス値によって示され、参照ピクチャリスト内の位置に存在し、前記第１の参照インデックス値は、あらかじめ定義された、デフォルト値であり、前記参照ピクチャリストは、前記現在予測ユニットを含むスライスのためのものである、と、
マージング候補リストの時間マージング候補の参照インデックスを設定するための手段、ここにおいて、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に設定され、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属さないとき、前記時間マージング候補の前記参照インデックスが第２の参照インデックス値に設定され、
前記第２の参照インデックス値は、前記スライスのスライスヘッダ中でシグナリングされるか、または前記第１の参照ピクチャと同じ参照ピクチャタイプに属する前記参照ピクチャリスト内の最先の参照ピクチャのインデックス値である、と、
前記コロケート予測ユニットの動きベクトルを使用して前記時間マージング候補の動きベクトルを設定するための手段と、
前記マージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定するための手段と、
前記選択されたマージング候補によって指定される動き情報に基づいて、前記現在予測ユニットのための予測ブロックを決定するための手段と、
前記現在予測ユニットのための前記予測ブロックの対応するサンプルと残差データのサンプルを加算することによって、再構成されたサンプルブロックを生成するための手段。
【請求項１５】
命令を記憶するコンピュータ可読記憶媒体であって、
前記命令は、実行されたとき、ビデオデータを符号化するためのデバイスに、
マージング候補リストのための時間マージング候補を生成し、ここにおいて、前記時間マージング候補を生成するように前記デバイスを構成することの一部として、前記命令は、前記デバイスが、
コロケートピクチャを識別し、ここにおいて、前記コロケートピクチャは、現在予測ユニットとは異なる時間インスタンスに存在し、
前記コロケートピクチャ中のコロケート予測ユニットを識別し、
第１の参照ピクチャを決定し、ここにおいて、前記コロケート予測ユニットの予測ブロックは、前記第１の参照ピクチャのサンプルに基づいて決定され、前記第１の参照ピクチャは、参照ピクチャタイプに属し、前記参照ピクチャタイプは、時間参照ピクチャ、またはディスパリティ参照ピクチャのいずれかであり、
第２の参照ピクチャを決定し、ここにおいて、前記第２の参照ピクチャは、第１の参照インデックス値によって示され、参照ピクチャリスト内の位置に存在し、前記第１の参照インデックス値は、あらかじめ定義された、デフォルト値であり、前記参照ピクチャリストは、前記現在予測ユニットを含むスライスのためのものであり、
前記時間マージング候補の参照インデックスを設定し、ここにおいて、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に設定され、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属さないとき、前記時間マージング候補の前記参照インデックスが第２の参照インデックス値に設定され、
前記第２の参照インデックス値は、前記スライスのスライスヘッダ中でシグナリングされるか、または前記第１の参照ピクチャと同じ参照ピクチャタイプに属する前記参照ピクチャリスト内の最先の参照ピクチャのインデックス値であり、
前記コロケート予測ユニットの動きベクトルを使用して前記時間マージング候補の動きベクトルを設定すること、
を行うように構成し、
前記マージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定し、
前記マージング候補リスト内の前記選択されたマージング候補を識別するデータを含むビットストリームを生成すること
を行うように構成する、コンピュータ可読記憶媒体。
【請求項１６】
命令を記憶するコンピュータ可読記憶媒体であって、
前記命令は、実行されたとき、ビデオデータを復号するためのデバイスに、
マージング候補リストのための時間マージング候補を生成し、ここにおいて、前記時間マージング候補を生成するように前記デバイスを構成することの一部として、前記命令は、前記デバイスが、
コロケートピクチャを識別し、ここにおいて、前記コロケートピクチャは、現在予測ユニットとは異なる時間インスタンスに存在し、
前記コロケートピクチャ中のコロケート予測ユニットを識別し、
第１の参照ピクチャを決定し、ここにおいて、前記コロケート予測ユニットの予測ブロックは、前記第１の参照ピクチャのサンプルに基づいて決定され、前記第１の参照ピクチャは、参照ピクチャタイプに属し、前記参照ピクチャタイプは、時間参照ピクチャ、またはディスパリティ参照ピクチャのいずれかであり、
第２の参照ピクチャを決定し、ここにおいて、前記第２の参照ピクチャは、第１の参照インデックス値によって示され、参照ピクチャリスト内の位置に存在し、前記第１の参照インデックス値は、あらかじめ定義された、デフォルト値であり、前記参照ピクチャリストは、前記現在予測ユニットを含むスライスのためのものであり、
前記時間マージング候補の参照インデックスを設定し、ここにおいて、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に設定され、
前記第２の参照ピクチャが前記第１の参照ピクチャと同じ参照ピクチャタイプに属さないとき、前記時間マージング候補の前記参照インデックスが第２の参照インデックス値に設定され、
前記第２の参照インデックス値は、前記スライスのスライスヘッダ中でシグナリングされるか、または前記第１の参照ピクチャと同じ参照ピクチャタイプに属する前記参照ピクチャリスト内の最先の参照ピクチャのインデックス値であり、
前記コロケート予測ユニットの動きベクトルを使用して前記時間マージング候補の動きベクトルを設定すること、
を行うように構成し、
前記マージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定し、
前記選択されたマージング候補によって指定される動き情報に基づいて、前記現在予測ユニットのための予測ブロックを決定し、
前記現在予測ユニットのための前記予測ブロックの対応するサンプルと残差データのサンプルを加算することによって、再構成されたサンプルブロックを生成すること
を行うように構成する、コンピュータ可読記憶媒体。
【請求項１７】
前記デバイスは、
集積回路、
マイクロプロセッサ、または、
ワイヤレスハンドセット
のうちの少なくとも１つを備える、請求項９または請求項１０に記載のデバイス。
【請求項１８】
復号されたビデオデータを表示するように構成されたディスプレイをさらに備える、請求項１０に記載のデバイス。
【請求項１９】
前記ビデオデータをキャプチャするように構成されたカメラをさらに備える、請求項９に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、各々の内容全体が参照により本明細書に組み込まれる、
２０１２年７月９日に出願された米国仮特許出願第６１／６６９，５７５号、
２０１２年７月２０日に出願された米国仮特許出願第６１／６７３，９８２号、
２０１２年８月２９日に出願された米国仮特許出願第６１／６９４，６２３号、
２０１２年１０月１日に出願された米国仮特許出願第６１／７０８，５０８号、および
２０１２年１２月３１日に出願された米国仮特許出願第６１／７４７，８０７号の利益を主張する。
【０００２】
[0002]本開示はビデオコーディング（すなわち、ビデオデータの符号化および／または復号）に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンスドビデオコーディング（ＡＶＣ：Advanced Video Coding）、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）がビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差係数が得られ得、その残差係数は、次いで量子化され得る。最初に２次元アレイで構成された、量子化された係数は係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【０００６】
[0006]たとえば、複数の観点からのビューを符号化することによって、マルチビューコーディングビットストリームが生成され得る。開発された、または開発中であるいくつかの３次元（３Ｄ）ビデオ規格は、マルチビューコーディング態様を利用する。たとえば、３Ｄビデオをサポートするために、異なるビューが左眼ビューと右眼ビューとを送信し得るか、または合成３Ｄ描画を生成するために異なるビューが使用され得る。代替的に、いくつかの３Ｄビデオコーディングプロセスは、いわゆるマルチビュー＋深度コーディングを適用し得る。マルチビュー＋深度コーディングでは、３Ｄビデオビットストリームは、テクスチャビューコンポーネントだけでなく、深度ビューコンポーネントをも含んでいることがある。たとえば、各ビューは、１つのテクスチャビューコンポーネントと１つの深度ビューコンポーネントとを備え得る。
【発明の概要】
【０００７】
[0007]概して、本開示では、ビデオコーデック、たとえば、高効率ビデオコーディング（ＨＥＶＣ）とＨＥＶＣの拡張とにおいてより効率的な時間動きベクトル予測（ＴＭＶＰ：temporal motion vector prediction）をサポートするための技法について説明する。さらに、本開示では、ＨＥＶＣ拡張において動き予測のコーディング効率を改善するための技法について説明する。いくつかの事例では、現在ビデオユニットに関連する参照ピクチャリスト中の初期参照ピクチャと、現在ビデオユニットのための時間動きベクトル予測子（ＴＭＶＰ）の参照インデックスによって示される参照ピクチャとは、異なる参照ピクチャタイプに属する。そのような事例では、ビデオコーダは、時間マージング候補の参照インデックスを、参照ピクチャリストの初期位置以外の参照ピクチャリスト中の位置を示す値に設定し得る。時間マージング候補の参照インデックスは、現在ビデオユニットに関連する参照ピクチャリスト中の位置を示す。
【０００８】
[0008]一例では、本開示では、ビデオデータを復号する方法であって、第１の参照インデックス値が、現在ピクチャの現在予測ユニット（ＰＵ：prediction unit）に関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示し、ここにおいて、コロケートピクチャのコロケートＰＵの参照インデックスが、コロケートピクチャのコロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示す、方法について説明し、本方法は、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、時間マージング候補の参照インデックスを第２の参照インデックス値に設定すること、第２の参照インデックス値が第１の参照インデックス値とは異なることと、時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定することと、選択されたマージング候補によって指定される動き情報に少なくとも部分的に基づいて、現在ＰＵのための予測ブロックを決定することと、現在ＰＵのための予測ブロックに少なくとも部分的に基づいて、再構成されたサンプルブロックを生成することとを備える。
【０００９】
[0009]別の例では、本開示では、ビデオデータを符号化する方法であって、第１の参照インデックス値が、現在ピクチャの現在ＰＵに関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示し、ここにおいて、コロケートピクチャのコロケートＰＵの参照インデックスが、コロケートピクチャのコロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示す、方法について説明し、本方法は、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、時間マージング候補の参照インデックスを第２の参照インデックス値に設定することと、第２の参照インデックス値が第１の参照インデックス値とは異なる、時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定することと、マージング候補リスト内の選択されたマージング候補を識別するデータを含むビットストリームを生成することとを備える。
【００１０】
[0010]別の例では、本開示では、１つまたは複数のプロセッサを備えるビデオコーダであって、第１の参照インデックス値が、現在ピクチャの現在ＰＵに関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示し、ここにおいて、コロケートピクチャのコロケートＰＵの参照インデックスが、コロケートピクチャのコロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示す、ビデオコーダについて説明し、１つまたは複数のプロセッサは、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、１つまたは複数のプロセッサが、現在ＰＵのマージング候補リスト中の時間マージング候補の参照インデックスを第２の参照インデックス値に設定するように構成され、第２の参照インデックス値は第１の参照インデックス値とは異なる。
【００１１】
[0011]別の例では、本開示では、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、現在ＰＵのマージング候補リストの時間マージング候補の参照インデックスを第１の参照インデックス値に設定するための手段を備えるビデオコーダであって、第２の参照インデックス値が、現在ＰＵに関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示し、第２の参照インデックス値が第１の参照インデックス値とは異なり、コロケートピクチャのコロケートＰＵの参照インデックスが、コロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示す、ビデオコーダについて説明する。
【００１２】
[0012]別の例では、本開示では、実行されたとき、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、現在ＰＵのマージング候補リストの時間マージング候補の参照インデックスを第１の参照インデックス値に設定するようにビデオコーダに対して構成する命令を記憶したコンピュータ可読記憶媒体であって、第２の参照インデックス値が、現在ＰＵに関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示し、第２の参照インデックス値が第１の参照インデックス値とは異なり、コロケートピクチャのコロケートＰＵの参照インデックスが、コロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示す、コンピュータ可読記憶媒体について説明する。
【００１３】
[0013]本開示の１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】[0014]本開示で説明する技法を利用し得る例示的なビデオコーディングシステムを示すブロック図。
【図２】[0015]現在予測ユニット（ＰＵ）に対する例示的な空間動きベクトルネイバーを示す概念図。
【図３】[0016]例示的なマルチビューコーディング復号順序を示す概念図。
【図４】[0017]マルチビューコーディングのための例示的な予測構造を示す概念図。
【図５】[0018]ビュー間予測動きベクトル候補の例示的な導出プロセスを示す概念図。
【図６】[0019]マージモードにおける時間動きベクトルとディスパリティ動きベクトルとの間の予測を示す概念図。
【図７】[0020]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図８】[0021]本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図９】[0022]本開示の１つまたは複数の技法による、ビデオデコーダの例示的な動作を示すフローチャート。
【図１０】[0023]本開示の１つまたは複数の技法による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図１１】[0024]本開示の１つまたは複数の例示的な技法による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図１２】[0025]本開示の１つまたは複数の例示的な技法による、ビデオデコーダの例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１５】
[0026]高効率ビデオコーディング（ＨＥＶＣ）では、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）が現在ピクチャの現在スライスをコーディングし始めるとき、ビデオコーダは、現在スライスのための１つまたは複数の参照ピクチャリストを生成し得る。参照ピクチャリストの各々は参照ピクチャのリストを含む。参照ピクチャ中のデータは、現在スライス中のデータを予測するために使用され得る。本開示では、スライスのための参照ピクチャリストは、予測ユニット（ＰＵ）がスライス中にある場合、ＰＵに関連する。ＰＵに関連する参照ピクチャリストは、本明細書ではＰＵの参照ピクチャリストと呼ばれることもある。さらに、現在ピクチャの各ＰＵは、１つまたは複数の動きベクトルと、１つまたは複数の参照インデックスと、１つまたは複数の予測方向インジケータとを有し得る。ＰＵの動きベクトルと、参照インデックスと、予測方向インジケータとは、ＰＵの動き情報と総称されることがある。ＰＵの参照インデックスは、参照ピクチャリスト内の、参照ピクチャの位置を示し得る。ＰＵの動きベクトルは、ＰＵの予測ブロックと参照ピクチャ中のロケーションとの間の空間変位を示し得る。
【００１６】
[0027]いくつかの例では、ＰＵの動き情報は、マージ／スキップモードまたは高度動きベクトル予測（ＡＭＶＰ：advanced motion vector prediction）モードを使用してシグナリングされ得る。ビデオエンコーダがマージモードを使用して現在ＰＵの動き情報をシグナリングするとき、ビデオエンコーダは、１つまたは複数のマージング候補を含むマージング候補リストを生成し得る。マージング候補の各々は、空間動きベクトル予測子または時間動きベクトル予測子（すなわち、ＴＭＶＰ）の動き情報を指定する。空間動きベクトル予測子は、現在ピクチャ（すなわち、現在ＰＵを含むピクチャ）中のＰＵであり得る。ＴＭＶＰは、時間参照ピクチャ（すなわち、現在ピクチャとは異なる時間インスタンスにおいて出現するピクチャ）中のＰＵであり得る。ＴＭＶＰの動き情報を指定するマージング候補は「時間マージング候補」と呼ばれることがある。
【００１７】
[0028]マージング候補リストを生成した後に、ビデオエンコーダは、マージング候補のうちの１つを選択し、ビットストリーム中に、マージング候補リスト内の、選択されたマージング候補の位置を示すシンタックス要素を含め得る。ビデオデコーダが現在ＰＵを復号するとき、ビデオデコーダは同じマージング候補リストを生成し得る。さらに、ビデオデコーダは、ビットストリームからシンタックス要素を取得し、そのシンタックス要素を使用してマージング候補リスト中の選択されたマージング候補を決定し得る。ビデオデコーダは、次いで、選択されたマージング候補によって示される動き情報を現在ＰＵの動き情報として使用し得る。
【００１８】
[0029]ＨＥＶＣでは、時間マージング候補の参照インデックスは常に０に設定される。したがって、時間マージング候補の参照インデックスは、常に、現在ＰＵに関連する参照ピクチャリスト中の第１の参照ピクチャを示す。さらに、ＴＭＶＰの参照インデックスが、現在ＰＵに関連する参照ピクチャリスト中の第１の参照ピクチャ以外のピクチャを示す場合、時間マージング候補は、ＴＭＶＰの動きベクトルのスケーリングされたバージョンを指定し得る。ビデオコーダは、現在ＰＵに関連する参照ピクチャリスト中の第１の参照ピクチャと、ＴＭＶＰの参照インデックスによって示される参照ピクチャとの間の時間距離に基づいて、ＴＭＶＰの動きベクトルのスケーリングされたバージョンを生成し得る。
【００１９】
[0030]ＨＥＶＣのマルチビューおよび３次元ビデオ（３ＤＶ）コーディング拡張（すなわち、ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣ）では、ビットストリームは複数のビューを含み得る。ビューの各々は、異なる閲覧パースペクティブからのシーンを表し得る。さらに、ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣはビュー間予測をサポートする。ビュー間予測では、現在ピクチャのスライスのための参照ピクチャリストは、現在ピクチャと同じ時間インスタンスに関連するが、現在ピクチャとは異なるビューに関連する、１つまたは複数の参照ピクチャを含み得る。現在ピクチャと同じ時間インスタンスに関連するが、現在ピクチャとは異なるビューに関連する参照ピクチャは、「ディスパリティ参照ピクチャ」または「ビュー間参照ピクチャ」と呼ばれることがある。対照的に、現在ピクチャと同じビューに関連するが、現在ピクチャとは異なる時間インスタンスに関連する参照ピクチャは、「時間参照ピクチャ」と呼ばれることがある。ディスパリティ参照ピクチャおよび時間参照ピクチャは、異なる「タイプ」の参照ピクチャ（すなわち、異なる「参照ピクチャタイプ」）に属すると言われる。
【００２０】
[0031]ＰＵの参照インデックスは、参照ピクチャリスト中の、ディスパリティ参照ピクチャの位置を示し得る。参照ピクチャリスト中の、ディスパリティ参照ピクチャの位置を示す参照インデックスに関連する動きベクトルは「ディスパリティ動きベクトル」と呼ばれることがある。同様に、ＰＵの参照インデックスは、参照ピクチャリスト中の、時間参照ピクチャの位置を示し得る。参照ピクチャリスト中の、時間参照ピクチャの位置を示す参照インデックスに関連する動きベクトルは「時間動きベクトル」と呼ばれることがある。
【００２１】
[0032]上述のように、マージング候補リストは時間マージング候補を含み得る。時間マージング候補は、ＴＭＶＰの動き情報に基づいて動き情報を指定し得る。ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣでは、ＴＭＶＰ自体がディスパリティ動きベクトルおよび／または時間動きベクトルを有し得る。ＴＭＶＰの動きベクトルがディスパリティ動きベクトルであり、現在ＰＵに関連する参照ピクチャリスト中の第１の参照ピクチャが時間参照ピクチャである場合、ビデオコーダはＴＭＶＰの動きベクトルをスケーリングしない。したがって、ＴＭＶＰの動きベクトルがディスパリティ動きベクトルであり、現在ＰＵに関連する参照ピクチャリスト中の第１の参照ピクチャが時間参照ピクチャである場合、ＴＭＶＰに基づく時間マージング候補は、０に等しい参照インデックスを指定し、スケーリングされていない動きベクトルを指定する。したがって、ビデオコーダは、時間動きベクトルのような時間マージング候補の動きベクトルを、この動きベクトルは最初はディスパリティ動きベクトルであるにもかかわらず、使用し得る。
【００２２】
[0033]同様に、ＴＭＶＰの動きベクトルが時間動きベクトルであり、現在ＰＵに関連する参照ピクチャリストの第１の参照ピクチャがディスパリティ動きベクトルである場合、ビデオコーダはＴＭＶＰの動きベクトルをスケーリングしない。そうではなく、ビデオコーダは、０に等しい参照インデックスと、ＴＭＶＰのスケーリングされていない動きベクトルとを指定する時間マージング候補を生成し得る。ビデオコーダは、時間マージング候補の動きベクトルは最初は時間動きベクトルであるにもかかわらず、この動きベクトルをディスパリティ動きベクトルとして使用し得る。時間動きベクトルをディスパリティ動きベクトルとして使用し、ディスパリティ動きベクトルを時間動きベクトルとして使用すると、著しい不正確さが生じ得る。したがって、ＴＭＶＰによって示される参照ピクチャと、現在ＰＵに関連する対応する参照ピクチャリストの第１の参照ピクチャとが、異なる参照ピクチャタイプに属するシナリオでは、ビデオコーダは、得られた時間マージング候補を使用する可能性が低い。これは、コーディング効率を減少させ、ビットストリームのサイズを増加させ得る。
【００２３】
[0034]本開示の１つまたは複数の技法はこの問題を解決し得る。たとえば、現在ビデオユニットに関連する参照ピクチャリスト中の初期参照ピクチャがＲＦ0と示され得る。この例では、現在ビデオユニットのための時間動きベクトル予測子（ＴＭＶＰ：temporal motion vector predictor）の参照インデックスはＲＦ1と示され得る。ＲＦ0とＲＦ1とが同じ参照ピクチャタイプに属するとき、ビデオコーダは、時間マージング候補の参照インデックスをデフォルト値（たとえば、０）に設定し得る。そうではなく、ＲＦ0とＲＦ1とが異なる参照ピクチャタイプに属する場合、ビデオコーダは、時間マージング候補の参照インデックスをデフォルト値以外の値に設定し得る。たとえば、ＲＦ0とＲＦ1とが異なる参照ピクチャタイプに属するとき、ビデオコーダは、現在ビデオユニット（たとえば、現在ＰＵ）のマージング候補リスト中の時間マージング候補の参照インデックスを非デフォルト値に設定し得る。時間マージング候補の参照インデックスは、現在ビデオユニットに関連する参照ピクチャリスト中の位置を示す。
【００２４】
[0035]ビデオコーダは時間マージング候補の参照インデックスを常にデフォルト値（たとえば、０）に設定するとは限らないので、時間マージング候補は、参照ピクチャリスト中の他の参照ピクチャを示し得る。これにより、時間マージング候補によって指定される動き情報の使用が、他のマージング候補によって指定される動き情報よりも良好なレート／ひずみ値をもたらす確率が増加し得る。したがって、本開示の技法は、コーディング効率を高め、ビットストリームサイズを減少させ得る。
【００２５】
[0036]図１は、本開示の技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、総称的にビデオ符号化またはビデオ復号を指すことがある。
【００２６】
[0037]図１に示すように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は符号化ビデオデータを生成する。したがって、ソースデバイス１２は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号し得る。したがって、宛先デバイス１４は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００２７】
[0038]ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲のデバイスを備み得る。
【００２８】
[0039]宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化ビデオデータを受信し得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な１つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする１つまたは複数の通信媒体を備え得る。この例では、ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス１４に送信し得る。１つまたは複数の通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、ワイヤレスおよび／またはワイヤード通信媒体を含み得る。１つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（たとえば、インターネット）など、パケットベースネットワークの一部を形成し得る。１つまたは複数の通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
【００２９】
[0040]別の例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス１４は、たとえば、ディスクアクセスまたはカードアクセスを介して、記憶媒体にアクセスし得る。記憶媒体は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
【００３０】
[0041]さらなる例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間記憶デバイスに記憶された、符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス１４に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイト用の）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブがある。
【００３１】
[0042]宛先デバイス１４は、インターネット接続などの標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。データ接続の例示的なタイプとしては、ファイルサーバに記憶された符号化ビデオデータにアクセスするために好適な、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００３２】
[0043]本開示の技法は、ワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の適用例など、様々なマルチメディア適用例をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話などの適用例をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
【００３３】
[0044]図１は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定（たとえば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスはデータを符号化し、メモリに記憶し得、および／またはビデオ復号デバイスはメモリからデータを取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、メモリにデータを符号化し、および／またはメモリからデータを取り出して復号するだけであるデバイスによって実行される。
【００３４】
[0045]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ビデオソース１８は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／またはビデオデータを生成するためのコンピュータグラフィックスシステム、あるいはビデオデータのそのようなソースの組合せを含み得る。
【００３５】
[0046]ビデオエンコーダ２０は、ビデオソース１８からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス１２は、出力インターフェース２２を介して宛先デバイス１４に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータはまた、復号および／または再生のための宛先デバイス１４による後のアクセスのために記憶媒体またはファイルサーバ上に記憶され得る。
【００３６】
[0047]図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの例では、入力インターフェース２８は、受信機および／またはモデムを含む。入力インターフェース２８は、チャネル１６を介して符号化ビデオデータを受信し得る。ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るかまたはその外部にあり得る。概して、ディスプレイデバイス３２は、復号ビデオデータを表示する。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスを備え得る。
【００３７】
[0048]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装される場合、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む）上記のいずれも、１つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００３８】
[0049]本開示では、概して、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別のデバイスに「シグナリング」することに言及することがある。「シグナリング」という用語は、概して、圧縮ビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムで行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中で、たとえば、ファイルサーバまたはストリーミングサーバを介してリモートアクセス可能な記憶媒体あるいはローカルアクセス可能な記憶デバイスなど、コンピュータ可読記憶媒体にシンタックス要素を記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。
【００３９】
[0050]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、そのスケーラブルビデオコーディング（ＳＶＣ：Scalable Video Coding）拡張、マルチビュービデオコーディング（ＭＶＣ：Multiview Video Coding）拡張、およびＭＶＣベースの３ＤＶ拡張を含む、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌおよび（ＩＳＯ／ＩＥＣ
ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４などのビデオ圧縮規格に従って動作する。場合によっては、ＭＶＣベースの３ＤＶに準拠する任意の合法的ビットストリームは、ＭＶＣプロファイル、たとえばステレオハイプロファイルに準拠するサブビットストリームを常に含んでいる。さらに、Ｈ．２６４／ＡＶＣへの３次元ビデオ（３ＤＶ）コーディング拡張、すなわち、ＡＶＣベースの３ＤＶを生成するための取り組みが進行中である。他の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２、またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびＩＴＵ−Ｔ  Ｈ．２６４、ＩＳＯ／ＩＥＣ  Ｖｉｓｕａｌ、または別のビデオコーディング仕様に従って動作し得る。
【００４０】
[0051]図１の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔビデオコーディングエキスパーツグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパーツグループ（ＭＰＥＧ：Motion Picture Experts Group）とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発された高効率ビデオコーディング（ＨＥＶＣ）規格に従って動作し得る。「HEVC Working Draft 7」と呼ばれるＨＥＶＣ規格のドラフトは、２０１３年７月８日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v5.zipから入手可能である、Ｂｒｏｓｓら、「High Efficiency Video Coding (HEVC) text specification draft 7」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第９回会合、ジュネーブ、スイス、２０１２年４月〜５月に記載されている。「HEVC Working Draft 8」と呼ばれるＨＥＶＣ規格の別のドラフトは、２０１３年７月８日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v13.zipから入手可能である、Ｂｒｏｓｓら、「High Efficiency Video Coding (HEVC) text specification draft 8」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１０回会合、上海、中国、２０１２年１０月に記載されている。「HEVC Working Draft 9」と呼ばれるＨＥＶＣ規格の別のドラフトは、２０１３年７月８日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zipから入手可能である、Ｂｒｏｓｓら、「High Efficiency Video Coding (HEVC) text specification draft 9」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１１回会合、ストックホルム、スウェーデン、２０１２年７月に記載されている。
【００４１】
[0052]さらに、ＨＥＶＣのためのＳＶＣ拡張を生成するための取り組みが進行中である。ＨＥＶＣのＳＶＣ拡張はＳＨＥＶＣと呼ばれることがある。さらに、ＶＣＥＧとＭＰＥＧとの３Ｄビデオコーディング共同研究部会（ＪＣＴ−３Ｃ：Joint Collaboration Team on 3D Video Coding）がＨＥＶＣに基づく３ＤＶ規格を開発しており、その規格化の取り組みの一部は、ＨＥＶＣに基づくマルチビューコーデック（「ＭＶ−ＨＥＶＣ」）と、ＨＥＶＣに基づく３ＤＶコーディング（「３Ｄ−ＨＥＶＣ」）の別の一部との規格化を含む。ＨＥＶＣの３ＤＶ拡張は、ＨＥＶＣベースの３ＤＶまたは３Ｄ−ＨＥＶＣと呼ばれることがある。３Ｄ−ＨＥＶＣは、少なくとも部分的に、Ｓｃｈｗａｒｚら、「Description of 3D Video Coding Technology Proposal by Fraunhofer HHI (HEVC compatible configuration A)、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１、ドキュメントＭＰＥＧ１１／Ｍ２２５７０、ジュネーブ、スイス、２０１１年１１／１２月、およびＳｃｈｗａｒｚら、「Description of 3D Video Coding Technology Proposal by Fraunhofer HHI (HEVC compatible configuration B)、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１、ドキュメントＭＰＥＧ１１／Ｍ２２５７１、ジュネーブ、スイス、２０１１年１１／１２月において提案された解決策に基づく。本明細書で３Ｄ−ＨＴＭと呼ぶ、３Ｄ−ＨＥＶＣの参照ソフトウェアの記述は、Ｓｃｈｗａｒｚら、「Test Model under Consideration for HEVC based 3D video coding」、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ２０１１／Ｎ１２５５９、サンノゼ、米国、２０１２年２月において入手可能である。参照ソフトウェア、すなわち、ＨＴＭバージョン３．０は、２０１３年７月８日現在、https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-3.0/から入手可能である。代替的に、３Ｄ−ＨＥＶＣのための３Ｄ−ＨＴＭのためのソフトウェアは、２０１３年７月８日現在、https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/trunk/から入手可能である。
【００４２】
[0053]ＨＥＶＣおよび他のビデオコーディング規格では、ビデオシーケンスは、一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCb、およびＳCrと表される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプル（luma）の２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」（chroma）サンプルと呼ばれることもある。他の例では、ピクチャは、モノクロームであり得、ルーマサンプルのアレイのみを含み得る。サンプルはピクセル領域値であり得る。
【００４３】
[0054]ピクチャの符号化表現を生成するために、ビデオエンコーダ２０は、コーディングツリーユニット（ＣＴＵ：coding tree unit）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックはサンプルのＮ×Ｎブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ：largest coding unit）と呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなど、他のビデオコーディング規格のマクロブロックに概して類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ：coding unit）を含み得る。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のＣＴＵを含み得る。
【００４４】
[0055]本開示では、サンプルの１つまたは複数のブロックと、サンプルの１つまたは複数のブロックのサンプルをコーディングするために使用されるシンタックス構造とを指すために、「ビデオユニット」または「ビデオブロック」という用語を使用することがある。ビデオユニットの例示的なタイプとしては、ＣＴＵ、ＣＵ、ＰＵ、変換ユニット（ＴＵ：transform unit）、マクロブロック、マクロブロックパーティションなどがあり得る。
【００４５】
[0056]コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、ＣＴＵのコーディングツリーブロックに対して再帰的に４分木分割を実行してコーディングツリーブロックをコーディングブロックに分割し得、したがって「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのＮ×Ｎブロックである。ＣＵは、ルーマサンプルアレイ、ＣｂサンプルアレイおよびＣｒサンプルアレイを有するピクチャの、ルーマサンプルのコーディングブロックおよびクロマサンプルの２つの対応するコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵの予測ユニット（ＰＵ）は、ピクチャのルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックのための予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成得る。
【００４６】
[0057]ビデオエンコーダ２０は、イントラ予測またはインター予測を使用して、ＰＵのための予測ブロックを生成し得る。ビデオエンコーダ２０がイントラ予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵに関連するピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００４７】
[0058]ビデオエンコーダ２０がインター予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵに関連付するピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成し得る。インター予測は、単方向インター予測（すなわち、単予測）または双方向インター予測（すなわち、双予測）であり得る。単予測または双予測を実行するために、ビデオエンコーダ２０は、現在スライスのための第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを生成し得る。参照ピクチャリストの各々は、１つまたは複数の参照ピクチャを含み得る。単予測を使用するとき、ビデオエンコーダ２０は、参照ピクチャ内の参照ロケーションを決定するために、ＲｅｆＰｉｃＬｉｓｔ０とＲｅｆＰｉｃＬｉｓｔ１の一方または両方の中の参照ピクチャを探索し得る。さらに、単予測を使用するとき、ビデオエンコーダ２０は、参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、ＰＵのための予測ブロックを生成し得る。その上、単予測を使用するとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと参照ロケーションとの間の空間変位を示す単一の動きベクトルを生成し得る。ＰＵの予測ブロックと参照ロケーションとの間の空間変位を示すために、動きベクトルは、ＰＵの予測ブロックと参照ロケーションとの間の水平変位を指定する水平成分を含み得、ＰＵの予測ブロックと参照ロケーションとの間の垂直変位を指定する垂直成分を含み得る。
【００４８】
[0059]ＰＵを符号化するために双予測を使用するとき、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャ中の第１の参照ロケーションと、ＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャ中の第２の参照ロケーションとを決定し得る。ビデオエンコーダ２０は、次いで、第１の参照ロケーションと第２の参照ロケーションとに対応するサンプルに少なくとも部分的に基づいて、ＰＵのための予測ブロックを生成し得る。その上、ＰＵを符号化するために双予測を使用するとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと第１の参照ロケーションとの間の空間変位を示す第１の動きベクトル、およびＰＵの予測ブロックと第２の参照ロケーションとの間の空間変位を示す第２の動きベクトルを生成し得る。
【００４９】
[0060]ビデオエンコーダ２０が、ＣＵの１つまたは複数のＰＵのための予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成した後に、ビデオエンコーダ２０はＣＵのためのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つ中のルーマサンプルと、ＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ２０は、ＣＵのためのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つ中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０はまた、ＣＵのためのＣｒ残差ブロックを生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つ中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００５０】
[0061]さらに、ビデオエンコーダ２０は、４分木分割を使用して、ＣＵのルーマ残差ブロック、Ｃｂ残差ブロックおよびＣｒ残差ブロックを１つまたは複数のルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロックに分解し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連し得る。ＴＵに関連するルーマ変換ブロックはＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであり得る。
【００５１】
[0062]ビデオエンコーダ２０は、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用してＴＵのためのルーマ係数ブロックを生成し得る。係数ブロックは変換係数の２次元ブロックであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ２０は、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用してＴＵのためのＣｂ係数ブロックを生成し得る。ビデオエンコーダ２０は、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用してＴＵのためのＣｒ係数ブロックを生成し得る。
【００５２】
[0063]係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後に、ビデオエンコーダ２０は係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現する処理を指す。さらに、ビデオエンコーダ２０は、ピクチャのＣＵのＴＵの変換ブロックを再構成するために、変換係数を逆量子化し、変換係数に逆変換を適用し得る。ビデオエンコーダ２０は、ＣＵのＴＵの再構成された変換ブロックと、ＣＵのＰＵの予測ブロックとを使用して、ＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのコーディングブロックを再構成することによって、ビデオエンコーダ２０はピクチャを再構成し得る。ビデオエンコーダ２０は、再構成されたピクチャを復号ピクチャバッファ（ＤＰＢ：decoded picture buffer）に記憶し得る。ビデオエンコーダ２０は、ＤＰＢ中の再構成されたピクチャをインター予測およびイントラ予測のために使用し得る。
【００５３】
[0064]ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実行し得る。ビデオエンコーダ２０は、ビットストリーム中でエントロピー符号化されたシンタックス要素を出力し得る。
【００５４】
[0065]ビデオエンコーダ２０は、コード化ピクチャと関連するデータとの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームはネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニットのシーケンスを備え得る。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）をカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを含むシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰは０ビットを含む。
【００５５】
[0066]異なるタイプのＮＡＬユニットは異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ：picture parameter set）のためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットは補足エンハンスメント情報（ＳＥＩ：Supplemental Enhancement Information）のためのＲＢＳＰをカプセル化し得、以下同様である。ＰＰＳは、０個以上のコード化ピクチャ全体に適用されるシンタックス要素を含んでいることがあるシンタックス構造である。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰとは対照的に）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ：video coding layer）ＮＡＬユニットと呼ばれることがある。コード化スライスをカプセル化するＮＡＬユニットは、本明細書ではコード化スライスＮＡＬユニットと呼ばれることがある。コード化スライスのためのＲＢＳＰは、スライスヘッダおよびスライスデータを含み得る。
【００５６】
[0067]ビデオデコーダ３０は、ビットストリームを受信し得る。さらに、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得するためにビットストリームをパースし得る。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、一般に、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。たとえば、ビデオデコーダ３０は、ＰＵの動きベクトルを使用して現在ＣＵのＰＵのための予測ブロックを決定し得る。ビデオデコーダ３０は、ＰＵの１つまたは複数の動きベクトルを使用してＰＵのための予測ブロックを生成し得る。
【００５７】
[0068]さらに、ビデオデコーダ３０は、現在ＣＵのＴＵに関連する係数ブロックを逆量子化し得る。ビデオデコーダ３０は、係数ブロックに対して逆変換を実行して、現在ＣＵのＴＵに関連する変換ブロックを再構成し得る。ビデオデコーダ３０は、現在ＣＵのＰＵのための予測ブロックのサンプルを現在ＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在ＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのためのコーディングブロックを再構成することによって、ビデオデコーダ３０はピクチャを再構成し得る。ビデオデコーダ３０は、出力のためにおよび／または他のピクチャを復号する際に使用するために、復号されたピクチャを復号ピクチャバッファに記憶し得る。
【００５８】
[0069]ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）が現在ピクチャを処理し始めるとき、ビデオコーダは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ、ＲｅｆＰｉｃＳｅｔＦｏｌｌＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌという、現在ピクチャのための５つの参照ピクチャセット（ＲＰＳ：reference picture set）サブセットを決定し得る。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅは、出力順序で現在ピクチャの前に生じ、現在ピクチャによって参照のために使用される、短期参照ピクチャを含み得る。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌＢｅｆｏｒｅは、出力順序で現在ピクチャの前に生じ、現在ピクチャによって参照のために使用されない、短期参照ピクチャを含み得る。ＲｅｆＰｉｃＳｔＣｕｒｒＡｆｔｅｒは、出力順序で現在ピクチャの後に生じ、現在ピクチャによって参照のために使用される、短期参照ピクチャを含み得る。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌＡｆｔｅｒは、出力順序で現在ピクチャの後に生じ、現在ピクチャによって参照のために使用されない、短期参照ピクチャを含み得る。ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒは、現在ピクチャによって参照のために使用される長期参照ピクチャを含み得る。ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌは、現在ピクチャによって参照のために使用されない長期参照ピクチャを含み得る。ビデオエンコーダ２０は、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ、ＲｅｆＰｉｃＳｅｔＦｏｌｌＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌを決定するために使用し得るシンタックス要素（たとえば、ｄｅｌｔａ＿ｐｏｃ＿ｓ０＿ｍｉｎｕｓ１シンタックス要素、ｕｓｅｄ＿ｂｙ＿ｃｕｒｒ＿ｐｉｃ＿ｓ０＿ｆｌａｇシンタックス要素、ｄｅｌｔａ＿ｐｏｃ＿ｓ１＿ｍｉｎｕｓ１シンタックス要素、ｕｓｅｄ＿ｂｙ＿ｃｕｒｒ＿ｐｉｃ＿ｓ１＿ｆｌａｇシンタックス要素、ｄｅｌｔａ＿ｐｏｃ＿ｌｓｂ＿ｌｔシンタックス要素など）をスライスヘッダ中に含み得る。
【００５９】
[0070]上記のように、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）がピクチャの現在スライスをコーディングし始めるとき、ビデオコーダは、「リスト０」または「ＲｅｆＰｉｃＬｉｓｔ０」と呼ばれることがある、第１の参照ピクチャリストを初期化し得る。さらに、現在スライスがＢスライスである場合、ビデオコーダは、「リスト１」または「ＲｅｆＰｉｃＬｉｓｔ１」と呼ばれることがある、第２の参照ピクチャリストを初期化し得る。参照ピクチャリスト初期化は、参照ピクチャのピクチャ順序カウント（「ＰＯＣ」：picture order count）値に基づいて、参照ピクチャメモリ（すなわち、復号ピクチャバッファ）中の参照ピクチャをリスト中に入れる明示的機構であり得る。ピクチャのＰＯＣ値はピクチャの表示順序と整合され得る。
【００６０】
[0071]たとえば、ＲｅｆＰｉｃＬｉｓｔ０を生成するために、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）はＲｅｆＰｉｃＬｉｓｔ０の初期バージョンを生成し得る。ＲｅｆＰｉｃＬｉｓｔ０の初期バージョンでは、最初にＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ中の参照ピクチャがリストされ、利用可能な場合は、続いてＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ中の参照ピクチャがリストされ、続いてＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャがリストされる。ＲｅｆＰｉｃＬｉｓｔ０の初期バージョンでは、最初に、より前の出力順序をもつ短期ピクチャ（すなわち、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ中の参照ピクチャ）が、現在ピクチャまでのピクチャ順序カウント（ＰＯＣ）距離の昇順でＲｅｆＰｉｃＬｉｓｔ０に挿入され、次いで、より後の出力順序をもつ短期ピクチャ（すなわち、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ中の参照ピクチャ）が、現在ピクチャまでのＰＯＣ距離の昇順でＲｅｆＰｉｃＬｉｓｔ０に挿入され、最後に、長期ピクチャ（すなわち、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャ）が末尾に挿入される。ＰＯＣ距離は、ピクチャのＰＯＣ値の間の差分である。ＰＯＣは、同じコード化ビデオシーケンス中の他のピクチャの出力順序位置に対する出力順序での関連するピクチャの位置を示す、各ピクチャに関連する変数である。
【００６１】
[0072]同様に、ＲｅｆＰｉｃＬｉｓｔ１を生成するために、ビデオコーダはＲｅｆＰｉｃＬｉｓｔ１の初期バージョンを生成し得る。ＲｅｆＰｉｃＬｉｓｔ１の初期バージョンでは、最初にＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ中の参照ピクチャがリストされ、続いてＲｅｆＰｉｃｔＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ中の参照ピクチャがリストされ、続いてＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャがリストされる。ＲｅｆＰｉｃＬｉｓｔ１の初期バージョンでは、最初に、より後の出力順序をもつ短期ピクチャ（すなわち、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ中の参照ピクチャ）が、現在ピクチャまでのＰＯＣ距離の昇順でＲｅｆＰｉｃＬｉｓｔ１に挿入され、次いで、より前の出力順序をもつ短期ピクチャ（すなわち、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ中の参照ピクチャ）が、現在ピクチャまでのＰＯＣ距離の昇順でＲｅｆＰｉｃＬｉｓｔ１に挿入され、最後に、長期ピクチャ（すなわち、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャ）が末尾に挿入される。このようにして、参照ピクチャリスト初期化は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒという３つのＲＰＳサブセットに基づいて、デフォルトのリスト０および（スライスがＢスライスである場合は）リスト１を作成する。
【００６２】
[0073]ビデオコーダが参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）を初期化した後に、ビデオコーダは、参照ピクチャリスト中の参照ピクチャの順序を変更し得る。言い換えれば、ビデオコーダは参照ピクチャリスト変更（ＲＰＬＭ：reference picture list modification）プロセスを実行し得る。たとえば、一般に、Ｂピクチャの第１または第２の参照ピクチャリストのための参照ピクチャリスト構成は、２つのステップ、すなわち、参照ピクチャリスト初期化と、参照ピクチャリスト並べ替え（変更）とを含む。
【００６３】
[0074]ビデオコーダは、１つの特定の参照ピクチャが参照ピクチャリスト中の２つ以上の位置に現れ得る場合を含む、任意の順序で参照ピクチャの順序を変更し得る。たとえば、参照ピクチャリスト並べ替え機構は、参照ピクチャリスト初期化中に参照ピクチャリスト中に入れられたピクチャの位置を任意の新しい位置に変更することができる。さらに、参照ピクチャリスト並べ替え機構は、参照ピクチャが参照ピクチャリストの初期バージョン中になかった場合でも、参照ピクチャメモリ中の任意の参照ピクチャを参照ピクチャリストの任意の位置に入れ得る。参照ピクチャリスト並べ替え（変更）の後に、いくつかのピクチャは、参照ピクチャリスト中のまさに最も遠い位置に入れられ得る。しかしながら、参照ピクチャの位置がリストのアクティブ参照ピクチャの数を超える場合、ビデオコーダは、その参照ピクチャを参照ピクチャリストの最終バージョンのエントリであると見なさない。ビデオエンコーダ２０は、スライスヘッダ中で、各参照ピクチャリストのアクティブ参照ピクチャの数をシグナリングし得る。ビデオコーダが参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）を構成した後に、参照ピクチャリスト中に含まれる任意の参照ピクチャを識別するために、参照ピクチャリストへの参照インデックスが使用され得る。本開示では、ＲｅｆＰｉｃＬｉｓｔ０中の位置を識別する参照インデックスはＲｅｆＰｉｃＬｉｓｔ０参照インデックスと呼ばれることがあり、ＲｅｆＰｉｃＬｉｓｔ１中の位置を識別する参照インデックスはＲｅｆＰｉｃＬｉｓｔ１参照インデックスと呼ばれることがある。
【００６４】
[0075]ビデオエンコーダ２０は、マージモードまたは高度動きベクトル予測（ＡＭＶＰ）モードを使用してＰＵの動き情報をシグナリングし得る。言い換えれば、ＨＥＶＣでは、動きパラメータの予測のための２つのモードがあり、一方はマージモードであり、他方はＡＭＶＰである。ＰＵの動き情報は、ＰＵの（１つまたは複数の）動きベクトルと、ＰＵの（１つまたは複数の）参照インデックスとを含み得る。ビデオエンコーダ２０がマージモードを使用して現在ＰＵの動き情報をシグナリングするとき、ビデオエンコーダ２０はマージング候補リストを生成する。言い換えれば、ビデオエンコーダ２０はマージング候補リスト構成プロセスを実行し得る。マージング候補リストはマージング候補のセットを含む。マージング候補リストは、現在ＰＵに空間的または時間的に隣接するＰＵの動き情報を示すマージング候補を含み得る。すなわち、マージモードでは、動きパラメータ（たとえば、参照インデックス、動きベクトルなど）の候補リストが構成され、候補は、空間的隣接ブロックまたは時間的隣接ブロックからのものであり得る。
【００６５】
[0076]さらに、マージモードでは、ビデオエンコーダ２０は、マージング候補リストからマージング候補を選択し得、選択されたマージング候補によって示される動き情報を現在ＰＵの動き情報として使用し得る。ビデオエンコーダ２０は、選択されたマージング候補のマージング候補リスト中の位置をシグナリングし得る。たとえば、ビデオエンコーダ２０は、マージング候補リスト中へのインデックスを送信することによって、選択された動きベクトルパラメータをシグナリングし得る。ビデオデコーダ３０は、ビットストリームから、マージング候補リスト中へのインデックス（すなわち、候補リストインデックス）を取得し得る。さらに、ビデオデコーダ３０は、同じマージング候補リストを生成し、選択されたマージング候補の位置の指示に基づいて、選択されたマージング候補を決定し得る。ビデオデコーダ３０は、次いで、選択されたマージング候補の動き情報を使用して現在ＰＵのための予測ブロックを生成し得る。すなわち、ビデオデコーダ３０は、候補リストインデックスに少なくとも部分的に基づいて、マージング候補リスト中の選択されたマージング候補を決定し得、ここにおいて、選択されたマージング候補は、現在ＰＵのための動きベクトルを指定する。このようにして、デコーダ側において、インデックスが復号されると、インデックスが指す対応するブロックのすべての動きパラメータが現在ＰＵによって継承されることになる。
【００６６】
[0077]スキップモードはマージモードと同様である。スキップモードでは、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオエンコーダ２０およびビデオデコーダ３０がマージモードにおいてマージング候補リストを使用するのと同じ方法で、マージング候補リストを生成し、使用する。しかしながら、ビデオエンコーダ２０がスキップモードを使用して現在ＰＵの動き情報をシグナリングするとき、ビデオエンコーダ２０は、現在ＰＵのための残差データをシグナリングしない。したがって、ビデオデコーダ３０は、ＰＵのための予測ブロックとして、マージング候補リスト中の選択されたマージング候補の動き情報によって示される参照ブロックを使用し得る。
【００６７】
[0078]ＡＭＶＰモードは、ビデオエンコーダ２０が候補リストを生成し、候補リストから候補を選択するという点で、マージモードと同様である。ＡＭＶＰ候補リスト中の候補は動きベクトル予測子（ＭＶＰ：motion vector predictor）候補と呼ばれることがある。ビデオエンコーダ２０がＡＭＶＰモードを使用して現在ＰＵの動き情報をシグナリングするとき、ビデオエンコーダ２０は、候補リスト中の選択されたＭＶＰ候補の位置をシグナリングすることに加えて、現在ＰＵのための動きベクトル差分（ＭＶＤ：motion vector difference）と、参照インデックスとをシグナリングし得る。現在ＰＵのためのＭＶＤは、現在ＰＵの動きベクトルと、ＡＭＶＰ候補リストからの選択された候補の動きベクトルとの間の差分を示し得る。単予測では、ビデオエンコーダ２０は、現在ＰＵのために１つのＭＶＤと１つの参照インデックスとをシグナリングし得る。双予測では、ビデオエンコーダ２０は、現在ＰＵのために２つのＭＶＤと２つの参照インデックスとをシグナリングし得る。
【００６８】
[0079]さらに、ＡＭＶＰモードを使用して現在ＰＵの動き情報がシグナリングされるとき、ビデオデンコーダ３０は、ビットストリームから、現在ＰＵのためのＭＶＤと候補リストインデックスとを取得し得る。ビデオデコーダ３０は、同じＡＭＶＰ候補リストを生成し得、ＡＭＶＰ候補リスト中の選択されたＭＶＰ候補の位置の指示に基づいて、選択された候補を決定し得る。ビデオデコーダ３０は、選択されたＭＶＰ候補によって示される動きベクトルにＭＶＤを加算することによって現在ＰＵの動きベクトルを復元し得る。すなわち、ビデオデコーダ３０は、選択されたＭＶＰ候補によって示される動きベクトルとＭＶＤとに少なくとも部分的に基づいて、現在ＰＵの動きベクトルを決定し得る。ビデオデコーダ３０は、次いで、現在ＰＵの復元された１つまたは複数の動きベクトルを使用して現在ＰＵのための予測ブロックを生成し得る。
【００６９】
[0080]上記のように、マージモードまたはＡＭＶＰのための候補リストは、現在ＰＵに空間的に隣接するＰＵに基づく候補を含み得る。本開示では、そのようなＰＵを空間的に隣接するＰＵまたは空間動きベクトルネイバー（vector neighbor）と呼ぶことがある。図２は、現在ＰＵ４０に対する例示的な空間動きベクトルネイバーを示す概念図である。すなわち、図２には、ＰＵ４０と、ＰＵ４０の空間的に隣接するＰＵとの間の例示的な関係が示されている。図２の例では、空間的に隣接するＰＵは、Ａ0、Ａ1、Ｂ0、Ｂ1、およびＢ2として示されるロケーションをカバーするＰＵであり得る。ＰＵの予測ブロックがあるロケーションを含むとき、ＰＵはそのロケーションをカバーし得る。
【００７０】
[0081]図２の例に関して、ルーマロケーション（ｘＰ，ｙＰ）は、現在ピクチャの左上ルーマサンプルに対するＰＵ４０の左上ルーマサンプルを指定し得る。さらに、変数ｎＰＳＷおよびｎＰＳＨは、それぞれ、ルーマサンプル中の、ＰＵ４０の幅および高さを示し得る。現在ピクチャの左上サンプルに対するＰＵ  Ｎの左上ルーマサンプルは（ｘＮ，ｙＮ）であり、ここで、Ｎは、位置Ａ0、Ａ1、Ｂ0、Ｂ1、またはＢ2をカバーするＰＵを示す。位置Ａ0、Ａ1、Ｂ0、Ｂ1、またはＢ2をカバーするＰＵについて、（ｘＮ，ｙＮ）は、それぞれ、（ｘＰ−１，ｙＰ＋ｎＰＳＨ）、（ｘＰ−１，ｙＰ＋ｎＰＳＨ−１）、（ｘＰ＋ｎＰＳＷ，ｙＰ−１）、（ｘＰ＋ｎＰＳＷ−１，ｙＰ−１）または（ｘＰ−１，ｙＰ−１）として定義され得る。
【００７１】
[0082]上記のように、マージング候補リストまたはＡＭＶＰ候補リストは、現在ＰＵに時間的に隣接するＰＵの動き情報を指定する候補を含み得る。本開示では、現在ＰＵに時間的に隣接するＰＵの動き情報を指定するマージング候補を指すために「時間マージング候補」という用語を使用することがある。同様に、本開示では、現在ＰＵに時間的に隣接するＰＵの動き情報を指定するＡＭＶＰ候補リスト中のＭＶＰ候補を指すために「時間ＭＶＰ候補」という用語を使用することがある。本開示では、現在ＰＵに時間的に隣接し、その動き情報が時間マージング候補または時間ＭＶＰ候補によって指定される、ＰＵを指すために、「時間動きベクトル予測子」または「ＴＭＶＰ」という用語を使用することがある。
【００７２】
[0083]ＴＭＶＰを決定するために、ビデオコーダは、最初に、現在ＰＵとコロケートされたＰＵを含む参照ピクチャを識別し得る。言い換えれば、ビデオコーダはコロケートピクチャを識別し得る。現在ピクチャの現在スライスがＢスライス（すなわち、双方向インター予測ＰＵを含むことを許可されたスライス）である場合、ビデオエンコーダ２０は、スライスヘッダ中で、コロケートピクチャがＲｅｆＰｉｃＬｉｓｔ０からのものであるかＲｅｆＰｉｃＬｉｓｔ１からのものであるかを示すシンタックス要素（たとえば、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ）をシグナリングし得る。言い換えれば、現在スライス（すなわち、現在ＰＵを含んでいるスライス）がＢスライス中にあり、現在スライスのスライスヘッダ中のｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇシンタックス要素は、コロケート参照ピクチャがＲｅｆＰｉｃＬｉｓｔ１中にあることを示す場合、コロケート参照ピクチャは、スライスヘッダのｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘシンタックス要素によって示されるロケーションにおけるＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャであり得る。そうではなく、現在スライスがＰスライスであるかまたは現在スライスがＢスライスであり、現在スライスのスライスヘッダ中のｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇシンタックス要素は、コロケート参照ピクチャがＲｅｆＰｉｃＬｉｓｔ０中にあることを示す場合、コロケート参照ピクチャは、スライスヘッダのｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘシンタックス要素によって示されるロケーションにおけるＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャであり得る。ビデオコーダが参照ピクチャリストを識別した後に、ビデオコーダは、識別された参照ピクチャリスト中のピクチャ（すなわち、コロケートピクチャ）を識別するために、スライスヘッダ中でシグナリングされ得る別のシンタックス要素（たとえば、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ）を使用し得る。
【００７３】
[0084]ビデオコーダは、コロケートピクチャを検査することによってコロケートＰＵを識別し得る。このＰＵを含んでいるＣＵの右下ＰＵの動き、またはコロケートＰＵを含んでいるＣＵの中心ＰＵ内の右下ＰＵの動きのいずれかが使用される。コロケートＰＵを含んでいるＣＵの右下ＰＵは、ＰＵの予測ブロックの右下サンプルのすぐ右下のロケーションをカバーするＰＵであり得る。言い換えれば、ＴＭＶＰは、コロケートピクチャ中にあり、現在ＰＵの右下コーナーとコロケートされたロケーションをカバーするＰＵであり得、または、ＴＭＶＰは、コロケートピクチャ中にあり、現在ＰＵの中心とコロケートされたロケーションをカバーするＰＵであり得る。したがって、コロケートＰＵは、コロケートピクチャのコロケート領域の中心ブロックをカバーするＰＵであるか、またはコロケートピクチャのコロケート領域の右下ブロックをカバーするＰＵであり得、コロケート領域は現在ＰＵとコロケートされる。
【００７４】
[0085]ビデオコーダは、上記のプロセスによって識別される動きベクトル（すなわち、識別されたＴＭＶＰの動きベクトル）を使用して、マージモードのためのマージング候補またはＡＭＶＰモードのためのＭＶＰ候補を生成し得る。さらに、識別されたＴＭＶＰの動きベクトルを使用してマージング候補またはＭＶＰ候補を生成するとき、ビデオコーダは、現在ピクチャの（ＰＯＣ値によって反映される）時間ロケーションと、コロケートピクチャの時間ロケーションとに基づいて動きベクトルをスケーリングし得る。たとえば、現在ピクチャのＰＯＣ値とコロケートピクチャのＰＯＣ値との間の差分がより小さいときよりも、現在ピクチャのＰＯＣ値とコロケートピクチャのＰＯＣ値との間の差分がより大きいとき、ビデオコーダは、動きベクトルの大きさをより大きい量だけ増加させ得る。
【００７５】
[0086]ＨＥＶＣでは、ＳＰＳはｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇシンタックス要素を含み得、ｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇシンタックス要素が１に等しいとき、スライスヘッダはｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇシンタックス要素を含み得る。特定のピクチャについて、スライスヘッダをカプセル化するＮＡＬユニットのｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇシンタックス要素とｔｅｍｐｏｒａｌ＿ｉｄシンタックス要素の両方が０に等しいとき、復号順序でその特定のピクチャの前にあるピクチャからの動きベクトルは、その特定のピクチャ、または復号順序でその特定のピクチャの後にあるピクチャの復号において、ＴＭＶＰとして使用されないことがある。ＮＡＬユニットのｔｅｍｐｏｒａｌ＿ｉｄシンタックス要素はＮＡＬユニットの時間識別子を指定し得る。
【００７６】
[0087]マルチビューコーディングでは、異なる視点からの同じシーンの複数のビューがあり得る。「アクセスユニット」という用語は、同じ時間インスタンスに対応するピクチャのセットを指すために使用される。したがって、ビデオデータは、時間とともに生じる一連のアクセスユニットとして概念化され得る。「ビューコンポーネント」は、単一のアクセスユニット中のビューのコード化表現であり得る。本開示では、「ビュー」は、同じビュー識別子に関連するビューコンポーネントのシーケンスを指すことがある。
【００７７】
[0088]図３は、例示的なマルチビュー復号順序を示す概念図である。マルチビュー復号順序はビットストリーム順序と呼ばれることもある。図３の例では、各正方形がビューコンポーネントに対応する。正方形の列はアクセスユニットに対応する。各アクセスユニットは、時間インスタンスのすべてのビューのコード化ピクチャを含んでいるように定義され得る。正方形の行は、ビューに対応する。図３の例では、アクセスユニットはＴ０〜Ｔ８と標示され、ビューはＳ０〜Ｓ７と標示される。アクセスユニットの各ビューコンポーネントは次のアクセスユニットの任意のビューコンポーネントの前に復号されるので、図３の復号順序は時間優先コーディングと呼ばれることがある。アクセスユニットの復号順序は出力順序または表示順序と同一でないことがある。
【００７８】
[0089]マルチビューコーディングはビュー間予測をサポートする。ビュー間予測は、Ｈ．２６４／ＡＶＣ、ＨＥＶＣ、または他のビデオコーディング規格において使用されるインター予測と同様であり、同じシンタックス要素を使用し得る。ただし、ビデオコーダが（マクロブロックなどの）現在ビデオユニットに対してビュー間予測を実行するとき、ビデオコーダは、参照ピクチャとして、現在ビデオユニットと同じアクセスユニット中にあるが異なるビュー中にあるピクチャを使用し得る。対照的に、従来のインター予測は、参照ピクチャとして異なるアクセスユニット中のピクチャのみを使用する。
【００７９】
[0090]図４は、マルチビューコーディングのための例示的な予測構造を示す概念図である。図４のマルチビュー予測構造は時間予測およびビュー間予測を含む。図４の例では、各正方形がビューコンポーネントに対応する。「Ｉ」と標示された正方形はイントラ予測ビューコンポーネントである。「Ｐ」と標示された正方形は単方向インター予測ビューコンポーネントである。「Ｂ」および「ｂ」と標示された正方形は双方向インター予測ビューコンポーネントである。「ｂ」と標示された正方形は、「Ｂ」と標示された正方形を参照ピクチャとして使用し得る。第１の正方形から第２の正方形を指す矢印は、第１の正方形が、インター予測において第２の正方形のための参照ピクチャとして利用可能であることを示す。図４の垂直矢印によって示されるように、同じアクセスユニットの異なるビュー中のビューコンポーネントは参照ピクチャとして利用可能であり得る。アクセスユニットの１つのビューコンポーネントを同じアクセスユニットの別のビューコンポーネントのための参照ピクチャとして使用することは、ビュー間予測と呼ばれることがある。
【００８０】
[0091]Ｈ．２６４／ＡＶＣのＭＶＣ拡張では、ビュー間予測はディスパリティ動き補償によってサポートされ、ディスパリティ動き補償は、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることが可能になる。Ｈ．２６４／ＡＶＣのＭＶＣ拡張によって２つのビューのコーディングもサポートされ得る。Ｈ．２６４／ＡＶＣのＭＶＣ拡張の利点のうちの１つは、ＭＶＣエンコーダが３Ｄビデオ入力として３つ以上のビューをとることができ、また、ＭＶＣデコーダがそのようなマルチビュー表現を復号し得ることである。したがって、ＭＶＣデコーダをもついかなるレンダラも、３つ以上のビューをもつ３Ｄビデオコンテンツを予想し得る。
【００８１】
[0092]Ｈ．２６４／ＡＶＣのＭＶＣ拡張では、同じアクセスユニット中の（すなわち、同じ時間インスタンスをもつ）ピクチャの間でビュー間予測が可能にされる。非ベースビュー中のピクチャをコーディングするとき、ピクチャが、異なるビュー中にあるがビデオコーダが現在コーディング中のピクチャと同じ時間インスタンス（すなわち、アクセスユニット）内にある場合、（ビデオエンコーダ２０またはビデオデコーダ３０などの）ビデオコーダは、ピクチャを参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）中に追加し得る。他のインター予測参照ピクチャのように、ビデオコーダはビュー間予測参照ピクチャを参照ピクチャリストの任意の位置に挿入し得る。ビデオデコーダ（たとえば、ビデオデコーダ３０）が、あるビュー中のピクチャを他のビュー中のピクチャと無関係に復号することができる場合、そのビューは「ベースビュー」と呼ばれることがある。
【００８２】
[0093]３Ｄ−ＨＥＶＣは、異なる視点からの同じシーンの複数のビューを提供する。３Ｄ−ＨＥＶＣのための規格化の取り組みの一部は、ＨＥＶＣに基づくマルチビュービデオコーデックの規格化を含む。ＨＥＶＣベースの３ＤＶ（すなわち、３Ｄ−ＨＥＶＣ）では、異なるビューから再構成されたビューコンポーネントに基づくビュー間予測が可能にされる。コーディング効率をさらに改善するために、３Ｄ−ＨＥＶＣのための参照ソフトウェアのいくつかのバージョンでは、２つの新しいコーディングツール、すなわち、ビュー間動き予測およびビュー間残差予測が採用されている。したがって、Ｈ．２６４／ＡＶＣにおけるＭＶＣのように、３Ｄ−ＨＥＶＣはビュー間動き予測をサポートする。
【００８３】
[0094]３Ｄ−ＨＥＶＣでは、ビュー間動き予測は、標準のＨＥＶＣにおいて使用される動き補償と同様であり、同じまたは同様のシンタックス要素を利用し得る。マージモードおよびＡＭＶＰモードが例示的な動き予測技法である。ビデオコーダがＰＵに対してビュー間動き予測を実行するとき、ビデオコーダは、動き情報のソースとして、ＰＵと同じアクセスユニット中にあるが異なるビュー中にあるピクチャを使用し得る。対照的に、従来の動き補償は、参照ピクチャとして異なるアクセスユニット中のピクチャのみを使用する。したがって、３Ｄ−ＨＥＶＣでは、従属ビュー中のブロックの動きパラメータは、同じアクセスユニットの他のビュー中のすでにコーディングされた動きパラメータに基づいて予測または推論され得る。
【００８４】
[0095]マージモードまたはＡＭＶＰモードを使用して現在ＰＵの動き情報がシグナリングされるとき、ビデオコーダは、候補リスト（たとえば、マージング候補リストまたはＡＭＶＰ候補リスト）を生成し得る。３Ｄ−ＨＥＶＣにおけるビュー間動き予測を実装するために、候補リストは、マージング候補リストとＡＭＶＰ候補リストとの中にビュー間予測動きベクトル候補を含み得る。ビデオコーダは、候補リスト中の他の候補と同様の方法でビュー間予測動きベクトル候補を使用し得る。ビュー間予測動きベクトル候補は、ディスパリティ参照ピクチャのＰＵ（すなわち参照ＰＵ）の動き情報を指定する。ディスパリティ参照ピクチャは、現在ＰＵと同じアクセスユニット中にあるが、現在ＰＵとは異なるビュー中にあり得る。ディスパリティ参照ピクチャ中の参照ＰＵを決定するために、ビデオコーダは、ディスパリティベクトル構成プロセスを実行して現在ＰＵのディスパリティベクトルを決定し得る。現在ＰＵのディスパリティベクトルは、現在ＰＵの予測ブロックとディスパリティ参照ピクチャ内のロケーションとの間の水平空間変位を示し得る。参照ＰＵは、ディスパリティベクトルによって示されるロケーションをカバーするディスパリティ参照ピクチャのＰＵであり得る。
【００８５】
[0096]さらに、３Ｄ−ＨＥＶＣでは、ベースＨＥＶＣ仕様の場合のように、マージング候補リストは時間マージング候補を含み得る。同様に、３Ｄ−ＨＥＶＣでは、ベースＨＥＶＣ仕様の場合のように、ＡＭＶＰ候補リストは時間ＭＶＰ候補を含み得る。ベースＨＥＶＣ仕様の場合のように、時間マージング候補および時間ＭＶＰ候補はＴＭＶＰの動きベクトルを指定し得る。３Ｄ−ＨＥＶＣでは、時間マージング候補および時間ＭＶＰ候補は、０に等しい参照インデックスを常に有し得る。本開示では、時間マージング候補の参照インデックスによって示される参照ピクチャを、時間マージング候補のためのターゲット参照ピクチャと呼ぶことがある。同様に、本開示では、時間ＭＶＰ候補の参照インデックスによって示される参照ピクチャを、時間ＭＶＰ候補のためのターゲット参照ピクチャと呼ぶことがある。
【００８６】
[0097]ＴＭＶＰの参照インデックスによって示される参照ピクチャ、および時間マージング候補のためのターゲット参照ピクチャは、異なる参照ピクチャタイプに属し得る。したがって、コロケートピクチャ中のＴＭＶＰが指す参照ピクチャの参照ピクチャタイプ、および（その参照インデックスがＨＥＶＣでは常に０に等しい）時間マージング候補のためのターゲット参照ピクチャの参照ピクチャタイプは、異なり得る。たとえば、参照ピクチャのうちの１つはビュー間参照ピクチャ（ディスパリティに設定されるタイプ）であり得、他の参照ピクチャは時間参照ピクチャ（時間に設定されるタイプ）であり得る。本開示では、現在ピクチャと同じ時間インスタンスに関連するが、現在ピクチャとは異なるビューに関連する参照ピクチャを示すために、「ディスパリティ参照ピクチャ」という用語を使用することがある。さらに、本開示では、現在ピクチャと同じビューに関連するが、現在ピクチャとは異なる時間インスタンスに関連する参照ピクチャを示すために、「時間参照ピクチャ」という用語を使用することがある。
【００８７】
[0098]さらなる特定の例では、ＴＭＶＰの参照インデックスが指す参照ピクチャは時間参照ピクチャであり得、時間マージング候補のためのターゲット参照ピクチャはディスパリティ参照ピクチャであり得、またはその逆も同様である。３Ｄ−ＨＥＶＣのためのテストモデルソフトウェア（すなわち、３Ｄ−ＨＴＭソフトウェア）のいくつかのバージョンでは、ビデオコーダは、時間マージング候補のためのターゲット参照ピクチャを０または左側の隣接ＰＵの参照インデックスの値に等しく設定し得る。したがって、時間マージング候補の参照インデックスは０に等しくないことがある。
【００８８】
[0099]上述のように、ビデオエンコーダ２０は、スキップモードまたはマージモード（すなわち、スキップ／マージモード）を使用してＰＵの動き情報をシグナリングし得る。スキップ／マージモードでは、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、現在ＰＵのためのＭＶＰ候補のリストを生成し得る。さらに、ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣでは、ビデオコーダは、本開示の他の場所において説明するように現在ＰＵのための決定ディスパリティベクトルを含み得る。ディスパリティベクトルに基づいて、ビデオコーダはビュー間予測動きベクトルを決定し得る。そのようなビュー間予測動きベクトルが利用可能である場合、ビデオコーダは、マージング候補リストに新しい動きベクトル候補（すなわち、マージング候補）としてビュー間予測動きベクトルを追加し得る。このビュー間予測動きベクトルは、利用可能な場合、時間動きベクトルである。
【００８９】
[0100]スキップ／マージモードで使用するビュー間予測動きベクトルを決定するために、ビデオコーダは、現在ＰＵのためのディスパリティベクトルを使用して、現在ＰＵと同じアクセスユニットの参照ビュー中の現在ＰＵ／ＣＵの対応するブロックの位置を特定し得る。さらに、対応するブロックがイントラコーディングされず、対応するブロックがビュー間予測されず、対応するブロックの参照ブロックが、現在ＰＵの参照ピクチャリスト（すなわち、現在スライスの参照ピクチャリスト）中の参照ピクチャのＰＯＣ値に等しいＰＯＣ値を有する場合、ビデオコーダは、ＰＯＣ値に基づいて対応するブロックの参照インデックスを変換し得る。すなわち、ビデオコーダは、現在ＰＵに関連する参照ピクチャリスト中の、対応するブロックの参照インデックスによって示される参照ピクチャと同じＰＯＣ値を有する参照ピクチャの位置を決定し得る。ビデオコーダは、決定された位置を示すようにビュー間予測動きベクトル候補の参照インデックスを設定し得る。
【００９０】
[0101]対応するブロックの参照インデックスを変換した後に、ビデオコーダは、次いで、マージング候補リスト中に、ビュー間予測動きベクトルとして対応するブロックの動き情報を含め得る。対応するブロックの動き情報は、対応するブロックの予測方向と、参照インデックスと、動きベクトルとを含み得る。
【００９１】
[0102]図５は、ビュー間予測動きベクトル候補の例示的な導出プロセスを示す概念図である。図５の例では、ビューＶ０が、ピクチャ５０、５２、５４、および５６を含む。ビューＶ１が、ピクチャ５８、６０、６２、および６４を含む。ビデオコーダは現在、ピクチャ６０をコーディングしていることがあり、したがって、ピクチャ６０は「現在ピクチャ６０」と呼ばれ得る。現在ピクチャ６０は現在ＰＵ６６を含む。現在ＰＵ６６は現在ピクチャ６０の現在スライス中にあり得る。ピクチャ５８は、現在ピクチャ６０の現在スライスのためのＲｅｆＰｉｃＬｉｓｔ０（すなわち、Ｌｉｓｔ０）の位置０（すなわち、Ｒｅｆ０）にあり得る。ピクチャ６２はＲｅｆＰｉｃＬｉｓｔ１（すなわち、Ｌｉｓｔ１）の位置０（すなわち、Ｒｅｆ０）にあり得、ピクチャ６４はＲｅｆＰｉｃＬｉｓｔ１の位置１にあり得る。
【００９２】
[0103]さらに、図５の例では、ビデオコーダは、現在ＰＵ６６のためのディスパリティベクトルを決定し得る。ビデオコーダは、次いで、現在ＰＵ６６のためのディスパリティベクトルに少なくとも部分的に基づいて、ピクチャ５２中の対応するブロック６８を決定し得る。ピクチャ５２および現在ピクチャ６２は同じ時間インスタンス（すなわち、時間インスタンスＴ１）に関連する。図５の例では、対応するブロック６８が双方向インター予測される。したがって、対応するブロック６８は、ＲｅｆＰｉｃＬｉｓｔ０動きベクトル７０およびＲｅｆＰｉｃＬｉｓｔ１動きベクトル７２という、２つの動きベクトルを有する。ＲｅｆＰｉｃＬｉｓｔ０動きベクトル７０はピクチャ５０中のロケーションを示す。ＲｅｆＰｉｃＬｉｓｔ１動きベクトル７２はピクチャ５６中のロケーションを示す。したがって、現在ＰＵ６６のマージング候補リストまたはＡＭＶＰ候補リスト中のビュー間予測動きベクトル候補は、ＲｅｆＰｉｃＬｉｓｔ０動きベクトル７４およびＲｅｆＰｉｃＬｉｓｔ１動きベクトル７６を指定し得る。ＲｅｆＰｉｃＬｉｓｔ０動きベクトル７４は、ＲｅｆＰｉｃＬｉｓｔ０動きベクトル７０の水平成分および垂直成分に等しい水平成分および垂直成分を有し得る。ＲｅｆＰｉｃＬｉｓｔ１動きベクトル７６は、ＲｅｆＰｉｃＬｉｓｔ１動きベクトル７２の水平成分および垂直成分に等しい水平成分および垂直成分を有し得る。さらに、ピクチャ５８はピクチャ５０（すなわち、対応するブロック６８のＲｅｆＰｉｃＬｉｓｔ０参照インデックスによって示されるピクチャ）と同じＰＯＣ値を有するので、ビュー間予測動きベクトル候補は、ピクチャ５８の現在ＰＵのためのＲｅｆＰｉｃＬｉｓｔ０中の位置を示すＲｅｆＰｉｃＬｉｓｔ０参照インデックスを指定し得る。ピクチャ６４はピクチャ５６（すなわち、対応するブロック６８のＲｅｆＰｉｃＬｉｓｔ１参照インデックスによって示されるピクチャ）と同じＰＯＣ値を有するので、ビュー間予測動きベクトル候補は、ピクチャ６４の現在ＰＵのためのＲｅｆＰｉｃＬｉｓｔ１中の位置を示すＲｅｆＰｉｃＬｉｓｔ１参照インデックスを指定し得る。
【００９３】
[0104]現在ＰＵのディスパリティベクトルによって示される対応するＰＵがイントラ予測されるか、対応するＰＵがインター予測されないか、または、対応するＰＵの参照インデックスが、現在ＰＵに関連する対応する参照ピクチャリスト中のいかなる参照ピクチャのＰＯＣ値にも一致しないＰＯＣ値を有する参照ピクチャを指す場合、ビデオコーダは、ビュー間予測動きベクトル候補が利用可能でないと決定し得る。ビュー間予測動きベクトル候補が利用可能でないとビデオコーダが決定した場合、ビデオコーダは、現在ＰＵのためのディスパリティベクトルをビュー間ディスパリティ動きベクトルに変換し得る。ビデオコーダは、次いで、ビデオコーダがビュー間予測動きベクトルを追加したであろう位置において、マージング候補リストにビュー間ディスパリティ動きベクトルを追加し得る。
【００９４】
[0105]ＨＥＶＣ規格には、それぞれ予測ユニット（ＰＵ）のための、マージモード（スキップはマージの特殊な場合と見なされる）および高度動きベクトル予測（ＡＭＶＰ）モードと称する、２つのインター予測モードがある。ＡＭＶＰまたはマージモードのいずれでも、複数の動きベクトル予測子のための動きベクトル（ＭＶ：motion vector）候補リストが維持される。現在ＰＵの（１つまたは複数の）動きベクトル、ならびにマージモードにおける参照インデックスは、ＭＶ候補リストから１つの候補を取ることによって生成される。
【００９５】
[0106]ＭＶ候補リストは、マージモードのために最高５つの候補と、ＡＭＶＰモードのためにわずか２つの候補とを含んでいる。マージ候補は、両方の参照ピクチャリスト（リスト０およびリスト１）に対応する動きベクトルと参照インデックスとを含んでいることがある。マージ候補がマージインデックスによって識別される場合、現在ブロックの予測のために使用される参照ピクチャ、ならびに関連する動きベクトルが決定される。しかしながら、リスト０またはリスト１のいずれかからの各潜在的予測方向についてのＡＭＶＰモードでは、ＡＭＶＰ候補は動きベクトルのみを含んでいるので、ＭＶ候補リストへのＭＶＰインデックスとともに、参照インデックスが明示的にシグナリングされる必要がある。ＡＭＶＰモードでは、予測動きベクトルはさらに改良され得る。
【００９６】
[0107]これらの２つのインターコーディングモードについて、現在ＰＵのための参照インデックスは、ＡＭＶＰでコーディングされる場合、明示的にシグナリングされる。しかしながら、現在ＰＵのための参照インデックスは、マージでコーディングされる場合、マージ候補の一部として導出される。簡潔のために、ＡＭＶＰモードでシグナリングされるか、あるいはマージ候補リストの一部として導出される参照インデックスを、ターゲット参照インデックスと呼ぶ。ＨＥＶＣでは、ＴＭＶＰマージ候補のターゲット参照インデックスは常に０に設定され得る。
【００９７】
[0108]ＡＭＶＰモードでは、ターゲット参照インデックスが時間動きベクトルに対応する場合、ビデオコーダは、異なるビュー中の対応するブロックを決定するために現在ＰＵのディスパリティベクトルを使用し得る。さらに、ターゲット参照インデックスが時間動きベクトルに対応する場合、ビデオコーダは、対応するブロック中の動きベクトルを検査することによってビュー間予測動きベクトルを見つけ得る。言い換えれば、ターゲット参照インデックスが時間動きベクトルに対応する場合、ディスパリティベクトルによって位置を特定される現在ＰＵの対応するブロック中の動きベクトルを検査することによってビュー間予測動きベクトルが見つけられる。
【００９８】
[0109]さらに、ＡＭＶＰモードでは、ターゲット参照インデックスがディスパリティ動きベクトルに対応する場合、ビデオコーダはビュー間予測動きベクトルを導出しない。そうではなく、ビデオコーダは、現在ＰＵのためのディスパリティベクトルをビュー間ディスパリティ動きベクトルに変換し得る。ビデオコーダは、ビュー間ディスパリティ動きベクトルをＡＭＶＰ候補リスト中に含め得る。したがって、ビュー間予測動きベクトルが利用可能でない場合、ディスパリティベクトルはビュー間ディスパリティ動きベクトルに変換され、その変換されたビュー間ディスパリティ動きベクトルは、利用可能であるとき、ビュー間予測動きベクトルとして、同じ位置において、ＡＭＶＰ候補リストまたはマージング候補リスト中に追加される。
【００９９】
[0110]スキップ／マージモードでは、ビデオコーダは、利用可能な場合、常に、マージング候補リスト中のすべての空間マージング候補および時間マージング候補の前にビュー間予測動きベクトルを挿入し得る。ビュー間予測動きベクトルが利用可能でない場合、ビデオコーダは、利用可能な場合、同じ位置において（すなわち、マージング候補リスト中のすべての空間マージング候補および時間マージング候補の前に）ビュー間ディスパリティ動きベクトルを挿入し得る。３Ｄ−ＨＥＶＣのテストモデル（すなわち、３Ｄ−ＨＴＭソフトウェア）のいくつかのバージョンでは、ビュー間予測動きベクトルまたはビュー間ディスパリティ動きベクトルがＡＭＶＰ候補リスト中のすべての空間候補とは異なる場合、ビュー間予測動きベクトルまたはビュー間ディスパリティ動きベクトルは、ＡＭＶＰ候補リスト中のすべての有効な空間候補の後に続く。
【０１００】
[0111]Ｈ．２６４／ＡＶＣのＭＶＣ拡張は、Ｈ．２６４／ＡＶＣのＭＶＣ拡張が「ＨＬＳのみ」の要件を満たすように実装され得る。ＨＬＳのみの要件は、Ｈ．２６４／ＡＶＣのＭＶＣ拡張に高レベルシンタックス（ＨＬＳ：high-level syntax）変更のみがあることを保証する。したがって、Ｈ．２６４／ＡＶＣにおけるマクロブロックレベルでのモジュールは再設計されない。そうではなく、Ｈ．２６４／ＡＶＣにおけるマクロブロックレベルでの各モジュールは、Ｈ．２６４／ＡＶＣのＭＶＣ拡張において十分に再利用され得る。マルチループ復号が許容できる場合、ＭＶ−ＨＥＶＣ、３Ｄ−ＨＥＶＣおよびＳＨＥＶＣが「ＨＬＳのみ」の要件を満たし得ることが可能である。たとえば、ＭＶ−ＨＥＶＣでは、ＨＥＶＣにおけるＣＵ／ＰＵレベルでのモジュールが再設計される必要がなく、ＭＶ−ＨＥＶＣのために十分に再利用され得るように、それにおいてＨＬＳ変更のみがあることが保証されるべきである。３Ｄ−ＨＥＶＣでは、テクスチャビューと深度ビューの両方のためのＨＥＶＣにおけるＣＵ／ＰＵレベルでのコーディングツールを含む、新しいコーディングツールが含まれ、サポートされ得る。
【０１０１】
[0112]いくつかの事例では、ビュー間予測を可能にするために、最小で必須のＨＬＳ変更は以下の目的に関する。
【０１０２】
・  ピクチャ識別：参照ピクチャリスト構成およびマーキングは、特定のビュー中のピクチャを識別することが可能である必要がある。
【０１０３】
ＨＬＳ変更は、Ｈ．２６４／ＭＶＣにおける「ＨＬＳのみ」の要件を満たすのには十分ではなく、低レベルコーディングモジュールが、たとえば、ゼロ動き関係スケーリングを処理する状況に決して遭遇しないように、他の制約、仮定が作られる。そのような制約、変更および仮定は以下を含み得る。
【０１０４】
・  コロケートピクチャがビュー間（のみ）参照ピクチャである場合、時間ダイレクトモードを無効にすること。
【０１０５】
・  ビュー間（のみ）参照ピクチャを短期でないと見なすこと：空間ダイレクトに関係する。ビュー間（のみ）参照ピクチャは、ビュー間予測のために使用される現在ピクチャの参照ピクチャリスト中の参照ピクチャであり得る。
【０１０６】
・  暗黙的重み付け予測を無効にすること。
【０１０７】
[0113]潜在的ＨＥＶＣ拡張において必要とされる「ＨＬＳのみ」を満たすために、潜在的ＨＥＶＣ拡張における変更は高レベルのみにあり得る。したがって、スライスヘッダの下でのシンタックス要素に関する変更は行われず、潜在的ＨＥＶＣ拡張のためのＣＵレベル復号プロセス変更はない。たとえば、ＨＥＶＣ拡張仕様の動きベクトル予測は、ＨＥＶＣベース仕様における動きベクトル予測と厳密に同じであるべきである。ＨＬＳ変更は、拡張仕様の規範的なデコーダ変更であり得るが、ベース仕様の観点からは、そのような変更は、必ずしも既知である必要はなく、報知的であり得る。
【０１０８】
[0114]効率的なビュー間予測などの機能を可能にするために、ＨＥＶＣ拡張とベース仕様の両方における変更が必要とされ得る。ベースＨＥＶＣデコーダの典型的な復号プロセスまたはコーディング効率に影響を及ぼさないが、拡張仕様の機能を可能にすることを目的とするベース仕様の変更は、フックと呼ばれる。たいていの場合、「ＨＬＳのみ」の要件は、ベース仕様におけるフックと拡張仕様におけるＨＬＳ変更の両方で満たされる必要がある。ベース仕様におけるフックが良好に定義されない場合、ある所望の機能は、拡張仕様において有効にされないことがあり、または拡張仕様がかなりの変更を行うことを必要とし得る。ＨＬＳのみのＳＶＣでは、ベースレイヤ表現が、場合によってはアップサンプリングおよび／またはフィルタ処理の後に、現在レイヤの現在ピクチャの参照ピクチャリスト中に入れられ得る。そのようなピクチャはレイヤ間参照ピクチャと呼ばれることがある。
【０１０９】
[0115]いくつかの事例では、本開示では、動きベクトルについて、参照インデックスと動きベクトル自体のｘおよびｙ値とからなるものとして説明することがある。上記のように、参照インデックスは参照ピクチャへのポインタであり得る。同等に、本開示では、参照インデックスに対応する参照ピクチャを、動きベクトルが参照している参照ピクチャとして言及することがある。動きベクトルが同じビュー中の参照ピクチャを参照する場合、その動きベクトルは時間動きベクトルと呼ばれることがある。動きベクトルが異なるビューの参照ピクチャを参照する場合、その動きベクトルはディスパリティ動きベクトルと呼ばれることがある。
【０１１０】
[0116]時間動きベクトルは、短期時間動きベクトル（略して短期動きベクトル）または長期時間動きベクトル（略して長期動きベクトル）のいずれかであり得る。たとえば、動きベクトルが短期参照ピクチャを参照する場合、動きベクトルは短期である。同様に、動きベクトルが長期参照ピクチャを参照する場合、動きベクトルは長期である。別段に言及されていない限り、ディスパリティ動きベクトルおよび長期動きベクトルは、本開示全体にわたって、異なるカテゴリーに属する。本開示では、短期参照ピクチャおよび長期参照ピクチャを時間参照ピクチャと総称することがある。同様に、ディスパリティ動きベクトルは、ＳＶＣのコンテキストではレイヤ間動きベクトルで置き換えられ得る。本開示では、異なるレイヤの（場合によってはアップサンプリングされフィルタ処理された）レイヤ表現を指すために「レイヤ間動きベクトル」という用語を使用することがある。
【０１１１】
[0117]Ｃｈｅｎら、「AHG10: Motion Related Hooks for HEVC Multiview/3DV Extension Based on Long-Term Reference Pictures」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１０回会合、ストックホルム、スウェーデン、２０１２年７月、ドキュメントＪＣＴＶＣ−Ｊ０１２１（以下では、「ドキュメントＪＣＴＶＣ−Ｊ０１２１」）は、ＴＭＶＰ候補が使用されるときの状況を含めて、マージまたはＡＭＶＰ中に時間動きベクトルを予測するために、長期と見なされるときのビュー間（のみ）参照ピクチャに対応する動きベクトルを使用しないことを提案している。ＪＣＴＶＣ−Ｊ０１２１およびＨＥＶＣベース仕様では、予測なしは、動きベクトルが利用不可能であると見なされ、マージ候補リストまたはＡＭＶＰ候補リスト中に入れられるために使用され得ないことを意味する。
【０１１２】
[0118]Ｃｈｅｎら、「AHG10: On Video Parameter Set for HEVC Extensions」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１０回会合、ストックホルム、スウェーデン、２０１２年７月、ドキュメントＪＣＴＶＣ−Ｊ０１２４（以下では、「ドキュメントＪＣＴＶＣ−Ｊ０１２４」）は様々な手法を提案した。ドキュメントＪＣＴＶＣ−Ｊ０１２４に記載されている手法のうちの１つは、ビュー間動きベクトルがビューインデックスまたはレイヤインデックスによって識別され得るという形で、より高度である。その結果、動きベクトルの予測は、同じビュー内の時間動きベクトル、または同じビューを参照しているビュー間動きベクトルのいずれか内でのみ可能にされるように、動きベクトルの予測はさらに制約される。さらに、同じビュー内でさえ、予測は、長期または短期のいずれかの同じカテゴリーに属する同じビュー内でのみ可能にされるように、予測は制約される。さらに、ビュー間参照ピクチャは、異なるタイプの参照ピクチャ（非時間参照ピクチャ）としてマークされる。さらに、ドキュメントＪＣＴＶＣ−Ｊ０１２４は、高レベルの復号プロセスの一部として追加のピクチャ識別情報を戻すための関数ＡｄｄＰｉｃＩｄ（
）を定義している。いくつかの例では、ＡｄｄＰｉｃＩｄ（  ）の戻り値は、マルチビューコンテキストにおけるビュー順序インデックスである。ビュー順序インデックスは、ビューに関連するカメラ位置に基づくビューの順序付けでのビューの位置を示す。他の例では、ＡｄｄＰｉｃＩｄ（  ）の戻り値は、一般的なレイヤＩＤ（ｌａｙｅｒ＿ｉｄ）、たとえば、ｒｅｓｅｒｖｅｄ＿ｏｎｅ＿５ｂｉｔｓの値−１であり、ここにおいて、ｒｅｓｅｒｖｅｄ＿ｏｎｅ＿５ｂｉｔｓはＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７において指定されているものである。
【０１１３】
[0119]Ｃｈｅｎら、「AHG12: Hooks for Temporal Motion Vector Prediction and Weighted Prediction in HEVC Multiview/3DV Extension、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第９回会合、ジュネーブ、スイス、２０１２年４月〜５月、ドキュメントＪＣＴＶＣ−Ｉ０３５３（以下では、「ドキュメントＪＣＴＶＣ−Ｉ０３５３」）は、たとえば、ビュー間（のみ）参照のための、ＨＥＶＣベース仕様中に示される新しいタイプの動きベクトルを提案している。そのような場合は、ただ１つのビュー間参照がある場合、ＪＣＴＶＣ−Ｊ０１２４における上述の解決策に等価である。ただし、複数のビュー間参照が可能であるとき、２つのビュー間動きベクトルが同じビューを参照するかどうかを見分けることは可能でない。
【０１１４】
[0120]ＴＭＶＰの使用についてＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７に記載されているシステムにはいくつかの問題があり得る。たとえば、マージモードを使用して現在ＰＵの動き情報がシグナリングされるとき、ビデオコーダは、ＴＭＶＰの動き情報を指定する時間マージング候補（すなわち、現在ＰＵとは異なるアクセスユニット中の参照ピクチャのコロケートＰＵ）を生成し得る。ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７では、時間マージング候補の参照インデックスは常に０に等しく設定される。言い換えれば、時間マージング候補の参照インデックスは、常にＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の第１の参照ピクチャである。したがって、マージモードでは、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７は、ＴＭＶＰからのマージング候補のための参照インデックスが０になることのみを可能にする。
【０１１５】
[0121]ＴＭＶＰが、現在ＰＵのＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の第１の参照ピクチャ以外の動きベクトルのための参照ピクチャを示す場合、ビデオコーダは、現在ＰＵに関連するＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の第１の参照ピクチャと、コロケートＰＵによって動きベクトルについて示される参照ピクチャとの間の時間距離に基づいて、動きベクトルをスケーリングし得る。すなわち、動きベクトルが、ＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャと同じでない参照ピクチャに対応する場合（ただしＸは０または１である）、動きベクトルは時間距離に基づいてスケーリングされる。
【０１１６】
[0122]しかしながら、ＴＭＶＰの（Ｘが０または１である）ＲｅｆＰｉｃＬｉｓｔＸ動きベクトルがディスパリティ動きベクトル（すなわち、ＴＭＶＰを含んでいるピクチャと同じアクセスユニット中のピクチャ中にあるが、ＴＭＶＰを含んでいるピクチャとは異なるビュー中にあるロケーションを示す動きベクトル）であり、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの位置０における参照ピクチャが時間参照ピクチャ（すなわち、現在アクセスユニットとは異なるアクセスユニット中のピクチャ）である場合、ビデオコーダはディスパリティ動きベクトルをスケーリングしない。そうではなく、ビデオコーダは、ディスパリティ動きベクトルが時間動きベクトルであるかのようにディスパリティ動きベクトルを使用し得る。ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが時間動きベクトル（すなわち、ＴＭＶＰを含んでいるピクチャとは異なるアクセスユニット中にあるピクチャ中のロケーションを示す動きベクトル）であり、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの位置０における参照ピクチャがディスパリティ参照ピクチャ（すなわち、異なるビュー中だが現在ピクチャと同じアクセスユニット中のピクチャ）である場合、ビデオコーダは時間動きベクトルをスケーリングしない。そうではなく、ビデオコーダは、時間動きベクトルをディスパリティ動きベクトルとして使用し得る。
【０１１７】
[0123]ドキュメントＪＣＴＶＣ−Ｊ０１２４において提案されている解決策では、ＴＭＶＰマージング候補（すなわち、ＴＭＶＰからのマージング候補）のための参照インデックスは、依然として０に設定される。しかしながら、上記の２つのシナリオのいずれかが発生した（すなわち、参照ピクチャリストの位置０における参照ピクチャが時間参照ピクチャであり、ＴＭＶＰの動きベクトルがディスパリティ動きベクトルであるか、または参照ピクチャリストの位置０における参照ピクチャがディスパリティ参照ピクチャであり、ＴＭＶＰの動きベクトルが時間動きベクトルである）とき、ビデオコーダは、時間マージング候補が利用不可能であると見なし得る。
【０１１８】
[0124]図６は、マージモードにおける時間動きベクトルとディスパリティ動きベクトルとの間の予測を示す概念図である。図６の例に示すように、ビュー１はピクチャ８０、８１、および８２を含む。ビュー２はピクチャ８３、８４、および８５を含む。ピクチャ８０および８３は０に等しいＰＯＣ値を有し、ピクチャ８１および８４は１に等しいＰＯＣ値を有し、ピクチャ８２および８５は２に等しいＰＯＣ値を有する。ビデオコーダは現在、ピクチャ８４をコーディングしている。すなわち、ピクチャ８４が現在ピクチャである。矢印８６は時間動きベクトル（すなわち、現在ピクチャと同じビュー中にあるが、異なる時間インスタンス中にあるピクチャ中のロケーションを示す動きベクトル）を表す。さらに、図６の例では、ピクチャ８５は、ピクチャ８４の現在ＰＵのためのコロケートピクチャであり得る。ピクチャ８５中のＴＭＶＰはディスパリティ動きベクトル（すなわち、ピクチャ８５とは異なるビュー中のピクチャ中のロケーションを示す動きベクトル）を有する。図６の例では、ＴＭＶＰのディスパリティベクトルはピクチャ８２中のロケーションを示す。
【０１１９】
[0125]本開示の技法は、マージモードについて上記で説明した問題のうちの１つまたは複数を解決し得る。本開示の第１の例示的な技法によれば、０に等しい参照インデックスをもつＲｅｆＰｉｃＬｉｓｔＸ中のピクチャの参照ピクチャタイプと、ＴＭＶＰの動きベクトルによって参照されるピクチャの参照ピクチャタイプとが同じであるとき、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸの最終参照インデックスを０に設定し得る。たとえば、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルがディスパリティ参照ピクチャ中のロケーションを示し、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャがディスパリティ参照ピクチャである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを０に設定し得る。別の例では、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが時間参照ピクチャ中のロケーションを示し、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが時間参照ピクチャである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを０に設定し得る。
【０１２０】
[0126]場合によっては、本開示の第１の例示的な技法では、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸの最終参照インデックスを以下のように変更し得る。ＲｅｆＰｉｃＬｉｓｔＸ［０］（すなわち、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャ）の参照ピクチャタイプが時間であり、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルがディスパリティ参照ピクチャを示す場合、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを、ディスパリティの参照ピクチャタイプに属する現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１のエントリに設定し得る。言い換えれば、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが時間参照ピクチャである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスが現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の時間参照ピクチャを示すように、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを設定し得る。たとえば、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の時間参照ピクチャが現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第２の参照ピクチャである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを１（すなわち、２−１）に設定し得る。
【０１２１】
[0127]さらに、本開示の第１の例示的な技法では、ＲｅｆＰｉｃＬｉｓｔＸ［０］の参照ピクチャタイプがディスパリティであり、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが時間参照ピクチャを示す場合、ビデオコーダは、参照インデックスを時間の参照ピクチャタイプに属するＲｅｆＰｉｃＬｉｓｔＸ中の第１のエントリに設定し得る。言い換えれば、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが時間参照ピクチャである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスが現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の時間参照ピクチャを示すように、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを設定し得る。たとえば、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の時間参照ピクチャが現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第３の参照ピクチャである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを２（すなわち、３−１）に設定し得る。
【０１２２】
[0128]このようにして、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、ビデオエンコーダ２０は、時間マージング候補の参照インデックスを非０値に設定し得る。第１の参照ピクチャは、現在ビデオユニット（たとえば、ＰＵ）に関連する参照ピクチャリスト中の初期参照ピクチャであり得る。第２の参照ピクチャは、現在ビデオユニットのためのＴＭＶＰの参照インデックスによって示され得る。時間マージング候補の参照インデックスは、現在ビデオユニットに関連する参照ピクチャリスト中の位置を示す。さらに、ビデオエンコーダ２０は、時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定し得る。ビデオエンコーダ２０は、マージング候補リスト中の選択されたマージング候補を識別するデータ（たとえば、ｍｅｒｇｅ＿ｉｄｘシンタックス要素）を含むビットストリームを生成し得る。
【０１２３】
[0129]同様に、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、ビデオデコーダ３０は、時間マージング候補の参照インデックスを非０値に設定し得る。第１の参照ピクチャは、現在ビデオユニットに関連する参照ピクチャリスト中の初期参照ピクチャであり得る。第２の参照ピクチャは、現在ビデオユニットのためのＴＭＶＰの参照インデックスによって示され得る。時間マージング候補の参照インデックスは、現在ビデオユニットに関連する参照ピクチャリスト中の位置を示す。さらに、ビデオデコーダ３０は、時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定し得る。ビデオデコーダ３０は、選択されたマージング候補によって指定される動き情報に少なくとも部分的に基づいて、現在ビデオユニットのための予測ブロックを決定し得る。さらに、ビデオデコーダ３０は、現在ビデオユニットのための予測ブロックに少なくとも部分的に基づいて、再構成されたサンプルブロック（たとえば、再構成されたコーディングブロック）を生成し得る。
【０１２４】
[0130]一代替形態では、ディスパリティ動きベクトルは長期動きベクトルとして示され／置き換えられ得、ビュー間（のみ）参照は長期参照として示され／置き換えられ得、時間参照／動きベクトルは時間短期参照／動きベクトルによって示され／置き換えられ得る。たとえば、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが短期参照ピクチャであり、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが短期動きベクトルである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを０に設定し得る。同様に、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが長期参照ピクチャであり、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが長期動きベクトルである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを０に設定し得る。しかしながら、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが短期参照ピクチャであり、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが長期動きベクトルである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを非０値に設定し得る。たとえば、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の長期参照ピクチャに設定し得る。同様に、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが長期参照ピクチャであり、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが短期動きベクトルである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを非０値に設定し得る。たとえば、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の短期参照ピクチャに設定し得る。
【０１２５】
[0131]別の代替形態では、時間参照ピクチャの参照インデックス（「ｒｅｆ＿ｉｄｘ」）（「Ｔ＿ｒｅｆ＿ｉｄｘ」）と、ビュー間参照（のみ）ピクチャのｒｅｆ＿ｉｄｘ（「Ｄ＿ｒｅｆ＿ｉｄｘ」）とは、スライスヘッダ中でシグナリングされる。ＲｅｆＰｉｃＬｉｓｔＸ［０］の参照ピクチャタイプが時間である場合、最終参照インデックスはＤ＿ｒｅｆ＿ｉｄｘに設定される。そうではなく、ＲｅｆＰｉｃＬｉｓｔＸ［０］の参照ピクチャタイプがディスパリティである場合、最終参照インデックスはＴ＿ｒｅｆ＿ｉｄｘに設定される。
【０１２６】
[0132]本開示の第２の例示的な技法によれば、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャと、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルによって参照される参照ピクチャの両方が時間短期参照ピクチャであるとき、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを０に設定し得る。ＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャは、０に等しい参照インデックスをもつＲｅｆＰｉｃＬｉｓｔＸ中の参照ピクチャ（すなわち、ＲｅｆＰｉｃＬｉｓｔＸ［０］）である。
【０１２７】
[0133]場合によっては、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを以下のように変更し得る。最初に、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルによって参照される参照ピクチャのＡｄｄＰｉｃＩｄは、ＴａｒｇｅｔＡｄｄＰｉｃＩｄと示されることがある。上記のように、いくつかの例では、参照ピクチャのＡｄｄＰｉｃＩｄは、マルチビューコンテキストでは、参照ピクチャのビュー順序インデックスであり得る。いくつかの例では、参照ピクチャのＡｄｄＰｉｃＩｄは、参照ピクチャの一般的なレイヤ識別子（ｌａｙｅｒ＿ｉｄ）であり得る。たとえば、参照ピクチャのＡｄｄＰｉｃＩｄは、参照ピクチャに関連するＮＡＬユニットのＮＡＬユニットヘッダ中で指定されるｒｅｓｅｒｖｅｄ＿ｏｎｅ＿５ｂｉｔｓ＿ｍｉｎｕｓ１シンタックス要素の値であり得る。
【０１２８】
[0134]ＲｅｆＰｉｃＬｉｓｔＸ［０］のタイプが時間である場合、ビデオコーダは、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャ以外の現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の各参照ピクチャを検査し得る。ビデオコーダが現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの位置ｊにおける参照ピクチャを検査したとき、ビデオコーダは、ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］）がＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しいかどうかを決定し得る。上記のように、ＡｄｄＰｉｃＩｄ（  ）は、追加のピクチャ識別情報を戻す関数である。ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］）がＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しい場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ動きベクトルの最終参照インデックスをｊに設定し得る。言い換えれば、ビデオコーダは、両端値を含む１からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までの各ｊについて以下を実行し得る。ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］）がＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しい場合、ビデオコーダは最終参照インデックスをｊに設定し、戻り得る。ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中のアクティブ参照ピクチャの数を示し得る。ｊ＝１からｊ＝ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのＲｅｆＰｉｃＬｉｓｔＸ［ｊ］中の各参照ピクチャを検査した後に最終参照インデックスが戻されない場合、ビデオコーダは、時間マージング候補の動きベクトルが利用不可能であると決定し得る。
【０１２９】
[0135]さらに、本開示の第２の例示的な技法では、ＲｅｆＰｉｃＬｉｓｔＸ［０］の参照ピクチャタイプが時間でなく、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが時間動きベクトルである場合、ビデオコーダは、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャ以外のＲｅｆＰｉｃＬｉｓｔＸ中の各参照ピクチャを検査し得る。ビデオコーダが現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの位置ｊにおける参照ピクチャ（すなわち、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］）を検査したとき、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］が時間参照ピクチャであるかどうかを決定し得る。ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］が時間参照ピクチャである場合、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスをｊに設定し、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の参照ピクチャを検査するのを停止し得る。言い換えれば、両端値を含む１からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのｊについて、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］が時間参照ピクチャである場合、最終参照インデックスをｊに設定し、戻る。ｊ＝１からｊ＝ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのＲｅｆＰｉｃＬｉｓｔＸ［ｊ］中の各参照ピクチャを検査した後に最終参照インデックスが戻されない場合、ビデオコーダは、時間マージング候補の動きベクトルが利用不可能であると決定し得る。
【０１３０】
[0136]代替例では、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の初期参照ピクチャの参照ピクチャタイプが時間でなく、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが時間動きベクトルである場合、ビデオコーダは、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャ以外の現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の各参照ピクチャを検査し得る。ビデオコーダが現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの位置ｊにおける参照ピクチャ（すなわち、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］）を検査したとき、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］のＰＯＣ値が、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが参照する参照ピクチャのＰＯＣ値に等しいかどうかを決定し得る。そうである場合、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスをｊに設定し、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の参照ピクチャを検査するのを停止し得る。したがって、ＲｅｆＰｉｃＬｉｓｔＸ［０］の参照ピクチャタイプが時間でなく、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが時間動きベクトルである場合、両端値を含む１からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのｊについて、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］のＰＯＣ値が、動きベクトルが参照しているピクチャのＰＯＣ値に等しい場合、最終参照インデックスをｊに設定し、戻る。
【０１３１】
[0137]いくつかの例では、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャ以外の現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の各参照ピクチャを検査した後に、ビデオコーダは、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の参照ピクチャが、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが参照する参照ピクチャのＰＯＣ値に等しくないと決定し、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の最後の参照ピクチャが時間参照ピクチャである場合、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスをｊに設定し得る。したがって、一代替形態では、前の段落において説明したループが正常に戻らない場合、両端値を含む１からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのｊについて、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］が時間参照ピクチャである場合、最終参照インデックスをｊに設定し、戻る。
【０１３２】
[0138]さらに、本開示の第２の例示的な技法によれば、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の初期参照ピクチャが時間参照ピクチャでなく、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが時間動きベクトルである場合、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルによって参照される参照ピクチャのＡｄｄＰｉｃＩｄは、ＴａｒｇｅｔＡｄｄＰｉｃＩｄと示され得る。さらに、ビデオコーダは、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャ以外の現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の各参照ピクチャを検査し得る。ビデオコーダが現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの位置ｊにおける参照ピクチャを検査したとき、ビデオコーダは、参照ピクチャのＡｄｄＰｉｃＩｄがＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しいかどうかを決定し得る。参照ピクチャのＡｄｄＰｉｃＩｄがＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しい場合、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスをｊに設定し得、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の参照ピクチャを検査するのを停止し得る。現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャ以外の現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の各参照ピクチャを検査した後に、ビデオコーダが、参照ピクチャのいずれもＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しいＡｄｄＰｉｃＩｄｓを有しないと決定した場合、ビデオコーダは、時間マージング候補が利用不可能であると決定し得る。
【０１３３】
[0139]したがって、ＲｅｆＰｉｃＬｉｓｔＸ［０］のタイプが時間でなく、動きベクトルが時間でない場合、動きベクトルによって参照されるピクチャのＡｄｄＰｉｃＩｄはＴａｒｇｅｔＡｄｄＰｉｃＩｄと示され得る。両端値を含む０からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのｊについて、ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］）がＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しい場合、最終参照インデックスをｊに設定し、戻る。まだ戻されない場合、動きベクトルは利用不可能であると見なされる。
【０１３４】
[0140]一代替例では、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の初期参照ピクチャが時間参照ピクチャでなく、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが時間動きベクトルでない場合、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルによって参照される参照ピクチャのＡｄｄＰｉｃＩｄは、ＴａｒｇｅｔＡｄｄＰｉｃＩｄと示され得る。さらに、この例では、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャのＡｄｄＰｉｃＩｄがＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しい場合、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを０に設定し、戻り得る。場合によっては、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを０に設定し、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャのＡｄｄＰｉｃＩｄの間の差に基づいて時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ動きベクトルをスケーリングし得る。
【０１３５】
[0141]したがって、前の段落の例では、ＲｅｆＰｉｃＬｉｓｔＸ［０］のタイプが時間でなく、動きベクトルが時間でないとき、動きベクトルによって参照されるピクチャのＡｄｄＰｉｃＩｄをＴａｒｇｅｔＡｄｄＰｉｃＩｄと示す。ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］）がＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しい場合、最終参照インデックスを０に設定し、戻る。さもなければ、最終参照インデックスを０に設定し、ＡｄｄＰｉｃＩｄの差に基づいて動きベクトルをスケーリングする。一例では、ビデオコーダは動きベクトル（「ｍｖ」）を以下のようにスケーリングし得る。ｍｖ＝ｍｖ＊（ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］）−ＡｄｄＰｉｃＩｄ（現在ピクチャ））／（ＴａｒｇｅｔＡｄｄＰｉｃＩｄ−ＡｄｄＰｉｃＩｄ（コロケートピクチャ））
[0142]本開示の別の例示的な技法では、ビデオエンコーダ２０は、時間マージング候補のために使用されるべきターゲット参照インデックスをシグナリングし得る。ターゲット参照インデックスのシグナリングは様々なレベルにおけるものであり得る。たとえば、ビデオエンコーダ２０は、ターゲット参照インデックスをスライスレベルでシグナリングし得る。たとえば、この例では、ビデオエンコーダ２０は、ターゲット参照インデックスをスライスヘッダ中でシグナリングし得る。別の例では、ビデオエンコーダ２０は、ターゲット参照インデックスをＰＵレベルでシグナリングし得る。たとえば、この例では、ビデオエンコーダ２０は、ターゲット参照インデックスをｐｒｅｄｉｃｔｉｏｎ＿ｕｎｉｔシンタックス構造においてシグナリングし得る。本開示のこの例示的な技法によれば、時間マージング候補のために使用され得る参照フレームの数が個別に制限され得る。たとえば、ビデオコーダは、時間マージング候補のための参照ピクチャリスト中の最初の２つのフレームのみを使用し得る。この手法の第１の利点は、ＴＭＶＰ参照インデックスシグナリングのために費やされるビンの数が一般的な場合における（たとえば、２つの参照フレームをもつ前の例における）数よりも小さくなり得ることであり得、それは、参照インデックス０または参照インデックス１が使用されることを示す１ビットのみである。第２の利点は、ＴＭＶＰ参照インデックスが事前に知られている場合、ビデオコーダが、フレーム全体またはフレームの一部について前もってＴＭＶＰ候補を事前に導出し得、この事前計算では可能性の数を制限することが有用である（前の例では、それは最高２つの異形であり得る）ことであり得る。
【０１３６】
[0143]様々なシナリオでは、ピクチャＢとピクチャＡとピクチャＢとからピクチャＡを参照している動きベクトルが同じＰＯＣを有する場合、動きベクトルは時間動きベクトルでないと見なされ得る。
【０１３７】
[0144]上記のように、ＴＭＶＰはコロケートＰＵの動きベクトルであり得、ターゲット参照インデックスは、マージ／スキップ候補リストまたはＡＭＶＰ候補リスト中の時間マージング候補の参照インデックスである。ターゲット参照インデックスは常に０に等しくなり得る。本開示の技法の少なくともいくつかは、ビデオコーダがマージモードでＴＭＶＰを使用し、ターゲット参照インデックスが常に０に等しい場合をターゲットにする。したがって、ＴＭＶＰが、０に等しい参照インデックスによって識別される現在ＰＵの参照ピクチャ（すなわち、参照ピクチャリストの初期のまたは第１の参照ピクチャ）とは異なる参照ピクチャタイプ（たとえば、時間またはビュー間）を有する参照ピクチャを指すとき、ビデオコーダは、時間マージング候補のターゲット参照インデックスを変更し得る。本開示は、ＴＭＶＰが、「条件に一致しない参照タイプ」として、０に等しい参照インデックスによって識別される現在ＰＵの参照ピクチャとは異なるタイプ（たとえば、時間またはビュー間）を有する参照ピクチャを指す条件を示し得る。
【０１３８】
[0145]上記の例では、ビデオコーダは、（たとえば、２つの異なるピクチャが両方とも長期参照ピクチャであったか両方とも短期ピクチャであったか、それらが両方ともビュー間参照ピクチャであったかどうか、またはは、それらの各々が、それを参照しているとピクチャと同じＰＯＣ値を有するかどうかによって）同じ参照ピクチャタイプを有する２つの異なるピクチャを識別し得る。ターゲット参照インデックスは、変更された後でさえ、単に、０と、全スライスにわたって固定である１つの特定の値Ｃとであり得る。０はタイプ０（長期またはビュー間）に対応し、Ｃは、タイプ１（短期または時間）に対応する参照ピクチャリスト中の第１のエントリに対応する参照インデックスであると仮定する。０はタイプ１（短期または時間）に対応し、Ｃは、タイプ０（長期またはビュー間）に対応する参照ピクチャリスト中の第１のエントリに対応する参照インデックスであると仮定する。条件に一致しない参照タイプが当てはまるとき、ビデオコーダは、Ｃになるように最終参照インデックスを変更し得る。
【０１３９】
[0146]ＨＥＶＣベースのマルチビュー（すなわち、ＭＶ−ＨＥＶＣ）および３Ｄ−ＨＥＶＣにおける動き関連の技術のためのいくつかの設計は、いくつかのさらなる問題を有する。たとえば、３Ｄ−ＨＴＭのいくつかのバージョンでは、時間マージング候補のためのターゲット参照インデックス（ＴＩｄｘ）は、０に等しくないことがある、左に隣接するＰＵからの参照インデックスによって決定され得る。ＴＭＶＰの動きベクトルがディスパリティ動きベクトルであり、ＴＩｄｘが時間参照ピクチャに対応する場合、ビデオコーダはディスパリティ動きベクトルをスケーリングしない。反対に、ＴＭＶＰの動きベクトルが時間動きベクトルであり、ＴＩｄｘがビュー間参照ピクチャに対応する場合、ビデオコーダは時間動きベクトルをスケーリングしない。これら２つの場合では、ビデオコーダは、時間マージング候補が利用不可能でないと見なし得る。同じ問題は、ＴＩｄｘが現在ＣＵ／ＰＵのための復号された参照インデックスを表すＡＭＶＰモードにおいて観察され得る。
【０１４０】
[0147]ＭＶ−ＨＥＶＣと３Ｄ−ＨＥＶＣとのための動き関連の技術のためのいくつかの設計についての別の例示的な問題では、ディスパリティ動きベクトルが識別されると、ディスパリティベクトル導出プロセスが終了される。しかしながら、第１の利用可能なディスパリティ動きベクトルは十分に正確でないことがある。別の例示的な問題では、スキップ／マージモードのためのビュー間候補導出プロセスが常にビュー間予測動きベクトルを選好する。ビュー間予測をおそらく使用することになる高動きをもつ領域では、これは好適でないことがある。別の例示的な問題では、ビュー間候補の固定位置、すなわち、ＡＭＶＰ候補リストまたはマージング候補リスト中のすべての空間候補の前または後の位置が、局所的な特性に適応できない。
【０１４１】
[0148]本開示は、ＭＶ−ＨＥＶＣおよび／または３ＤＶコーディングにおける動き予測のコーディング効率をさらに改善するための様々な方法を提供する。たとえば、時間マージング候補の（空間隣接ブロックによって導出された）ターゲット参照インデックスは、ＴＭＶＰが指す参照ピクチャとは異なる参照ピクチャタイプを有する参照ピクチャに対応するとき、ビデオコーダは、時間マージング候補を、ＴＭＶＰの参照ピクチャの参照ピクチャタイプと同じ参照ピクチャタイプ（たとえば、時間またはビュー間）をもつピクチャに対応する参照インデックス値に変更し得る。たとえば、参照ピクチャが時間参照ピクチャであり、ＴＭＶＰが指す参照ピクチャがビュー間参照ピクチャであるとき、ビデオコーダは、時間マージング候補を、ＴＭＶＰの参照ピクチャの参照ピクチャタイプと同じ参照ピクチャタイプをもつピクチャに対応する参照インデックス値に変更し得る。
【０１４２】
[0149]本開示の別の例示的な技法によれば、マージ／スキップモードでは、ビュー間予測動きベクトルが利用可能であるときでも、ビデオコーダは、ビュー間予測動きベクトルをマージング候補リストに追加しないことがある。そうではなく、ビデオコーダは、代わりに、ディスパリティベクトルをビュー間ディスパリティ動きベクトルに変換し得る。ビデオコーダは、そのビュー間ディスパリティ動きベクトルをマージング候補リスト中に追加し得る。ビデオコーダは、空間隣接ブロックの情報に基づいて、マージング候補リストにビュー間予測動きベクトルを追加すべきかビュー間ディスパリティ動きベクトルを追加すべきかを決定し得る。
【０１４３】
[0150]さらに、本開示の別の例示的な技法によれば、ビデオコーダは、ディスパリティベクトル導出プロセス中に、隣接ブロックから複数の利用可能なディスパリティ動きベクトルを収集し得る。ビデオコーダは、導出されたディスパリティベクトルとして複数のディスパリティ動きベクトルの中間値（たとえば、中央値）または平均を使用し得る。本開示の別の例示的な技法によれば、ビデオコーダは、マージ／スキップモードでは、空間隣接ブロックの情報に基づいて、マージング候補リスト中に、第１の利用可能な空間マージング候補の前または後に、ビュー間予測動きベクトルまたはビュー間ディスパリティ動きベクトルを挿入し得る。
【０１４４】
[0151]図７は、本開示の技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。図７は、説明のために与えられており、本開示において広く例示され説明される技法を限定するものと見なされるべきでない。説明のために、本開示では、ＨＥＶＣコーディングのコンテキストにおいてビデオエンコーダ２０について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１４５】
[0152]図７の例では、ビデオエンコーダ２０は、予測処理ユニット１００と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１４と、復号ピクチャバッファ１１６と、エントロピー符号化ユニット１１８とを含む。予測処理ユニット１００は、インター予測処理ユニット１２０と、イントラ予測処理ユニット１２６とを含む。インター予測処理ユニット１２０は、動き推定ユニット１２２と、動き補償ユニット１２４とを含む。他の例では、ビデオエンコーダ２０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【０１４６】
[0153]ビデオエンコーダ２０はビデオデータを受信し得る。ビデオエンコーダ２０は、ビデオデータのピクチャのスライス中の各ＣＴＵを符号化し得る。ＣＴＵの各々は、等しいサイズのルーマコーディングツリーブロック（ＣＴＢ：coding tree block）と、ピクチャの対応するＣＴＢとに関連し得る。ＣＴＵの符号化の一部として、予測処理ユニット１００は、４分木分割を実行して、ＣＴＵのＣＴＢを漸進的に小さくなるブロックに分割し得る。より小さいブロックは、ＣＵのコーディングブロックであり得る。たとえば、予測処理ユニット１００は、ＣＴＵに関連するＣＴＢを４つの等しいサイズのサブブロックに区分し、サブブロックのうちの１つまたは複数を４つの等しいサイズのサブサブブロックに区分し得、以下同様である。
【０１４７】
[0154]ビデオエンコーダ２０は、ＣＴＵのＣＵを符号化してＣＵの符号化表現（すなわち、コード化ＣＵ）を生成し得る。ＣＵの符号化の一部として、予測処理ユニット１００は、ＣＵに関連するコーディングブロックをＣＵの１つまたは複数のＰＵの間で区分し得る。したがって、各ＰＵは、ルーマ予測ブロックと、対応するクロマ予測ブロックとに関連し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なサイズを有するＰＵをサポートし得る。ＣＵのサイズは、ＣＵのルーマコーディングブロックのサイズを指し得、ＰＵのサイズは、ＰＵのルーマ予測ブロックのサイズを指し得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測用の２Ｎ×２ＮまたはＮ×ＮのＰＵサイズと、インター予測用の２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、または同様の対称ＰＵサイズとをサポートし得る。ビデオエンコーダ２０およびビデオデコーダ３０は、インター予測用の２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対する非対称区分もサポートし得る。
【０１４８】
[0155]インター予測処理ユニット１２０は、ＣＵの各ＰＵに対してインター予測を実行することによってＰＵの予測データを生成し得る。ＰＵの予測データは、ＰＵの予測ブロックと、ＰＵの動き情報とを含み得る。インター予測処理ユニット１２０は、ＰＵがＩスライス中にあるか、Ｐスライス中にあるか、Ｂスライス中にあるかに応じて、ＣＵのＰＵに対して異なる演算を実行し得る。Ｉスライス中では、すべてのＰＵがイントラ予測される。したがって、ＰＵがＩスライス中にある場合、インター予測処理ユニット１２０は、ＰＵに対してインター予測を実行しない。
【０１４９】
[0156]Ｐスライス中のＰＵはイントラ予測または単方向インター予測され得る。たとえば、ＰＵがＰスライス中にある場合、動き推定ユニット１２２は、ＰＵの参照領域について参照ピクチャのリスト（たとえば、「ＲｅｆＰｉｃＬｉｓｔ０」）中の参照ピクチャを探索し得る。ＰＵの参照領域は、参照ピクチャ内の、ＰＵの予測ブロックに最も密接に対応するサンプルブロックを含んでいる領域であり得る。動き推定ユニット１２２は、ＰＵの参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０中の位置を示す参照インデックス（すなわち、ＲｅｆＰｉｃＬｉｓｔ０参照インデックス）を生成し得る。さらに、動き推定ユニット１２２は、ＰＵの予測ブロックと参照領域に関連する参照ロケーションとの間の空間変位を示す動きベクトル（すなわち、ＲｅｆＰｉｃＬｉｓｔ０動きベクトル）を生成し得る。たとえば、動きベクトルは、現在の復号されたピクチャ中の座標から参照ピクチャ中の座標までのオフセットを与える２次元ベクトルであり得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動きベクトルによって示される参照ロケーションにおける実際のまたは補間されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【０１５０】
[0157]Ｂスライス中のＰＵは、イントラ予測されるか、単方向インター予測されるか、または双方向インター予測され得る。したがって、ＰＵがＢスライス中のある場合、動き推定ユニット１２２は、ＰＵに対して単予測または双予測を実行し得る。ＰＵに対して単予測を実行するために、動き推定ユニット１２２は、ＰＵの参照領域についてＲｅｆＰｉｃＬｉｓｔ０または第２の参照ピクチャリスト（「ＲｅｆＰｉｃＬｉｓｔ１」）の参照ピクチャを探索し得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照インデックスと、ＰＵの予測ブロックと参照領域に関連する参照ロケーションとの間の空間変位を示す動きベクトルと、参照ピクチャがＲｅｆＰｉｃＬｉｓｔ０中にあるかＲｅｆＰｉｃＬｉｓｔ１中にあるかを示す１つまたは複数の予測方向インジケータとを出力し得る。動き補償ユニット１２４は、ＰＵの動きベクトルによって示される参照ロケーションにおける実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成し得る。
【０１５１】
[0158]ＰＵに対して双方向インター予測を実行するために、動き推定ユニット１２２は、ＰＵの参照領域についてＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャを探索し得、また、ＰＵの別の参照領域についてＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャを探索し得る。動き推定ユニット１２２は、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照インデックス（すなわち、ＲｅｆＰｉｃＬｉｓｔ０参照インデックスおよびＲｅｆＰｉｃＬｉｓｔ１参照インデックス）を生成し得る。さらに、動き推定ユニット１２２は、参照領域に関連する参照ロケーションとＰＵのサンプルブロックとの間の空間変位を示す動きベクトル（すなわち、ＲｅｆＰｉｃＬｉｓｔ０動きベクトルおよびＲｅｆＰｉｃＬｉｓｔ１動きベクトル）を生成し得る。ＰＵの動き情報は、ＰＵの参照インデックスと動きベクトルとを含み得る。動き補償ユニット１２４は、ＰＵの動きベクトルによって示される参照ロケーションにおける実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成し得る。
【０１５２】
[0159]イントラ予測処理ユニット１２６は、ＰＵに対してイントラ予測を実行することによってＰＵの予測データを生成し得る。ＰＵの予測データは、ＰＵの予測ブロックと、様々なシンタックス要素とを含み得る。イントラ予測処理ユニット１２６は、Ｉスライス中、Ｐスライス中、およびＢスライス中のＰＵに対してイントラ予測を実行し得る。
【０１５３】
[0160]ＰＵに対してイントラ予測を実行するために、イントラ予測処理ユニット１２６は、複数のイントラ予測モードを使用して、ＰＵのための予測データの複数のセットを生成し得る。イントラ予測処理ユニット１２６は、隣接ＰＵのサンプルに基づいてＰＵの予測ブロックを生成し得る。隣接ＰＵは、ＰＵ、ＣＵ、およびＣＴＵについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、または左にあり得る。異なるイントラ予測モードは、ネイバーサンプルの異なるセットに関連し得る。イントラ予測処理ユニット１２６は様々な数のイントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数はＰＵの予測ブロックのサイズに依存し得る。
【０１５４】
[0161]予測処理ユニット１００は、ＰＵのためにインター予測処理ユニット１２０によって生成された予測データ、またはＰＵのためにイントラ予測処理ユニット１２６によって生成された予測データの中から、ＣＵのＰＵのための予測データを選択し得る。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／ひずみメトリックに基づいて、ＣＵのＰＵのための予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測ブロックと呼ぶことがある。
【０１５５】
[0162]残差生成ユニット１０２は、ＣＵのルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック、ならびにＣＵのＰＵの選択された予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックに基づいて、ＣＵのルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロックを生成し得る。たとえば、残差生成ユニット１０２は、残差ブロック中の各サンプルがＣＵのコーディングブロック中のサンプルとＣＵのＰＵの対応する選択された予測ブロック中の対応するサンプルとの間の差分に等しい値を有するように、ＣＵの残差ブロックを生成し得る。
【０１５６】
[0163]変換処理ユニット１０４は、４分木分割を実行して、ＣＵに関連する残差ブロックを、ＣＵのＴＵに関連する変換ブロックに区分し得る。したがって、ＴＵは、ルーマ変換ブロックと、２つの対応するクロマ変換ブロックとに関連し得る。ＣＵのＴＵのルーマ変換ブロックとクロマ変換ブロックとのサイズおよび位置は、ＣＵのＰＵの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。
【０１５７】
[0164]変換処理ユニット１０４は、ＴＵの変換ブロックに１つまたは複数の変換を適用することによって、ＣＵのＴＵごとに係数ブロックを生成し得る。変換処理ユニット１０４は、ＴＵに関連付する変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向性変換、または概念的に同様の変換を変換ブロックに適用し得る。いくつかの例では、変換処理ユニット１０４は変換ブロックに変換を適用しない。そのような例では、変換ブロックは係数ブロックとして扱われ得る。
【０１５８】
[0165]量子化ユニット１０６は、係数ブロック中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化時にｎビット変換係数はｍビット変換係数に切り捨てられ得、ただし、ｎはｍよりも大きい。量子化ユニット１０６は、ＣＵに関連する量子化パラメータ（ＱＰ：quantization parameter）値に基づいて、ＣＵのＴＵに関連する係数ブロックを量子化し得る。ビデオエンコーダ２０は、ＣＵに関連するＱＰ値を調整することによって、ＣＵにする係数ブロックに適用される量子化の程度を調整し得る。量子化は情報の損失をもたらし得、したがって、量子化変換係数は、元の係数よりも低い精度を有し得る。
【０１５９】
[0166]逆量子化ユニット１０８および逆変換処理ユニット１１０は、それぞれ、係数ブロックに逆量子化および逆変換を適用して、係数ブロックから残差ブロックを再構成し得る。再構成ユニット１１２は、再構成された残差ブロックのサンプルを、予測処理ユニット１００によって生成された１つまたは複数の予測ブロックからの対応するサンプルに加算して、ＴＵに関連する再構成された変換ブロックを生成し得る。このようにＣＵの各ＴＵのための変換ブロックを再構成することによって、ビデオエンコーダ２０はＣＵのコーディングブロックを再構成し得る。
【０１６０】
[0167]フィルタユニット１１４は、ＣＵに関連するコーディングブロック中のブロッキングアーティファクトを低減するために、１つまたは複数のデブロッキング演算を実行し得る。フィルタユニット１１４が、再構成されたコーディングブロックに対して１つまたは複数のデブロッキング演算を実行した後に、復号ピクチャバッファ１１６は、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット１２０は、再構成されたコーディングブロックを含んでいる参照ピクチャを使用して、他のピクチャのＰＵに対してインター予測を実行し得る。さらに、イントラ予測処理ユニット１２６は、復号ピクチャバッファ１１６中の再構成されたコーディングブロックを使用して、ＣＵと同じピクチャ中の他のＰＵに対してイントラ予測を実行し得る。
【０１６１】
[0168]エントロピー符号化ユニット１１８は、ビデオエンコーダ２０の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット１１８は、量子化ユニット１０６から係数ブロックを受信し得、予測処理ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１８は、何らかのそのようなデータに対して１つまたは複数のエントロピー符号化演算を実行して、エントロピー符号化データを生成し得る。たとえば、エントロピー符号化ユニット１１８は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）演算、ＣＡＢＡＣ演算、可変対可変（Ｖ２Ｖ：variable-to-variable）長コーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）演算、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング演算、指数ゴロム符号化演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。ビデオエンコーダ２０は、エントロピー符号化ユニット１１８によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。たとえば、ビットストリームは、ＣＵのＲＱＴを表すデータを含み得る。ビットストリームはまた、エントロピー符号化されないシンタックス要素を含み得る。
【０１６２】
[0169]図８は、本開示で説明する技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図８は、説明のために与えられており、本開示において広く例示され説明される技法を限定するものではない。説明のために、本開示では、ＨＥＶＣコーディングのコンテキストにおいてビデオデコーダ３０について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１６３】
[0170]図８の例では、ビデオデコーダ３０は、エントロピー復号ユニット１５０と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換処理ユニット１５６と、再構成ユニット１５８と、フィルタユニット１６０と、復号ピクチャバッファ１６２とを含む。予測処理ユニット１５２は、動き補償ユニット１６４と、イントラ予測処理ユニット１６６とを含む。他の例では、ビデオデコーダ３０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【０１６４】
[0171]エントロピー復号ユニット１５０は、ＮＡＬユニットを受信し、ＮＡＬユニットをパースしてビットストリームからシンタックス要素を取得し得る。エントロピー復号ユニット１５０は、ＮＡＬユニット中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換処理ユニット１５６、再構成ユニット１５８、およびフィルタユニット１６０は、ビットストリームから取得されたシンタックス要素に基づいて復号ビデオデータを生成し得る。
【０１６５】
[0172]ビットストリームのＮＡＬユニットは、コード化スライスＮＡＬユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬユニットからシンタックス要素を抽出し、エントロピー復号し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタクス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連するＰＰＳを識別するシンタックス要素を含み得る。
【０１６６】
[0173]ビットストリームからシンタックス要素を取得することに加えて、ビデオデコーダ３０は、ＣＵに対して再構成演算を実行し得る。ＣＵに対して再構成演算を実行するために、ビデオデコーダ３０は、ＣＵの各ＴＵに対して再構成演算を実行し得る。ＣＵの各ＴＵに対して再構成演算を実行することによって、ビデオデコーダ３０はＣＵの残差ブロックを再構成し得る。
【０１６７】
[0174]ＣＵのＴＵに対して再構成演算を実行することの一部として、逆量子化ユニット１５４は、ＴＵに関連する係数ブロックを逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）し得る。逆量子化ユニット１５４は、ＴＵのＣＵに関連するＱＰ値を使用して、量子化の程度を決定し得、同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定し得る。
【０１６８】
[0175]逆量子化ユニット１５４が係数ブロックを逆量子化した後に、逆変換処理ユニット１５６は、ＴＵに関連する残差ブロックを生成するために、係数ブロックに１つまたは複数の逆変換を適用し得る。たとえば、逆変換処理ユニット１５６は、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、逆回転変換、逆方向性変換、または別の逆変換を係数ブロックに適用し得る。
【０１６９】
[0176]ＰＵがイントラ予測を使用して符号化された場合、イントラ予測処理ユニット１６６は、イントラ予測を実行してＰＵの予測ブロックを生成し得る。イントラ予測処理ユニット１６６は、イントラ予測モードを使用して、空間的に隣接するＰＵの予測ブロックに基づいてＰＵの予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成し得る。イントラ予測処理ユニット１６６は、ビットストリームから復号された１つまたは複数のシンタックス要素に基づいて、ＰＵのためのイントラ予測モードを決定し得る。
【０１７０】
[0177]予測処理ユニット１５２は、ビットストリームから取得されたシンタックス要素に基づいて、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）および第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）を構成し得る。さらに、ＰＵがインター予測を使用して符号化された場合、エントロピー復号ユニット１５０は、ＰＵの動き情報を抽出し得る。動き補償ユニット１６４は、ＰＵの動き情報に基づいて、ＰＵのための１つまたは複数の参照領域を決定し得る。動き補償ユニット１６４は、ＰＵのための１つまたは複数の参照ブロックにおけるサンプルに基づいて、ＰＵのための予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成し得る。
【０１７１】
[0178]再構成ユニット１５８は、適用可能なとき、ＣＵのＴＵに関連するルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロック、ならびにＣＵのＰＵの予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック、すなわち、イントラ予測データまたはインター予測データのいずれかを使用して、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを再構成し得る。たとえば、再構成ユニット１５８は、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロックのサンプルを、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックの対応するサンプルに加算して、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを再構成し得る。
【０１７２】
[0179]フィルタユニット１６０は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックに関連するブロッキングアーティファクトを低減するために、デブロッキング演算を実行し得る。ビデオデコーダ３０は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを復号ピクチャバッファ１６２に記憶し得る。復号ピクチャバッファ１６２は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。たとえば、ビデオデコーダ３０は、復号ピクチャバッファ１６２中のルーマブロック、ＣｂブロックおよびＣｒブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を実行し得る。このようにして、ビデオデコーダ３０は、ビットストリームからルーマ係数ブロックの変換係数レベルを取得し、変換係数レベルを逆量子化し、変換係数レベルに変換を適用して変換ブロックを生成し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、表示のためにコーディングブロックを出力し得る。
【０１７３】
[0180]本開示の第１の例示的な技法によれば、現在ビデオユニットに関連する参照ピクチャリスト中の初期参照ピクチャと、現在ビデオユニットのためのＴＭＶＰの参照インデックスによって示される参照ピクチャとが、異なる参照ピクチャタイプに属するとき、ビデオコーダは、時間マージング候補の参照インデックスを非０値（すなわち、参照ピクチャリストの第１の位置以外の参照ピクチャリスト中の位置を示す値）に設定し得る。時間マージング候補の参照インデックスは、現在ビデオユニットに関連する参照ピクチャリスト中の位置を示す。
【０１７４】
[0181]さらに、本開示の第１の例示的な技法によれば、ビュー間参照ピクチャが長期であると見なされる。ＴＭＶＰ導出がマージモードの下で行われるとき、ビデオコーダは最終参照インデックスを変更し得る。変数ｍｅｒｇｅＴＭＶＰが、マージモードの下では１に設定され、ＡＭＶＰモードの下では０に設定される。言い換えれば、１に等しいｍｅｒｇｅＴＭＶＰはマージモードを示し、０に等しいｍｅｒｇｅＴＭＶＰはＡＭＶＰモードを示す。たとえば、２つの参照ピクチャを考察することにし、一方はＲｅｆＰｉｃＬｉｓｔＸ［０］であり、他方は、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが参照するピクチャである。２つの参照ピクチャのうちの一方が短期であり、他方が長期である場合、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔＸ［ｉ］を満たすエントリｉと、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが参照するピクチャが、両方とも短期になるか両方とも長期になるまで、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中で探索を実行し得る。
【０１７５】
[0182]本開示の第１の例示的な技法を実装するために、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７に様々な変更が加えられ得る。様々なＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔへの変更を示す本開示の部分全体にわたって、ボールドおよび下線で示されたテキストは追加されたテキストを示す。さらに、様々なＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔへの変更を示す本開示の部分全体にわたって、取消し線で示されたテキストは削除されたテキストを示す。本開示の第１の例示的な技法を実装するために、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．２．１．１に以下の変更が加えられ得る。以下のテキストに示されていないＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．２．１．１の部分は、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７への記載と同じままであり得る。
【０１７６】
８．５．２．１．１  マージモードのためのルーマ動きベクトルの導出プロセス
このプロセスは、ＰｒｅｄＭｏｄｅがＭＯＤＥ＿ＳＫＩＰに等しいかまたはＰｒｅｄＭｏｄｅがＭＯＤＥ＿ＩＮＴＥＲに等しく、ｍｅｒｇｅ＿ｆｌａｇ［ｘＰ］［ｙＰ］が１に等しいときにのみ呼び出され、ただし、（ｘＰ，ｙＰ）は、現在ピクチャの左上ルーマサンプルに対する現在予測ユニットの左上ルーマサンプルを指定する。
【０１７７】
このプロセスの入力は以下の通りである。
【０１７８】
−  現在ピクチャの左上ルーマサンプルに対する現在コーディングユニットの左上ルーマサンプルのルーマロケーション（ｘＣ，ｙＣ）、
−  現在ピクチャの左上ルーマサンプルに対する現在予測ユニットの左上ルーマサンプルのルーマロケーション（ｘＰ，ｙＰ）、
−  現在コーディングユニットのサイズを指定する変数ｎＣＳ、
−  ルーマのための予測ユニットの幅および高さを指定する変数ｎＰＳＷおよびｎＰＳＨ、
−  現在コーディングユニット内の現在予測ユニットのインデックスを指定する変数ＰａｒｔＩｄｘ
このプロセスの出力は以下の通りである。
【０１７９】
−  ルーマ動きベクトルｍｖＬ０およびｍｖＬ１、
−  参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、
−  予測リスト利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１
変数ｓｉｎｇｌｅＭＣＬＦｌａｇは以下のように導出される。
【０１８０】
−  ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２が０よりも大きく、ｎＣＳが８に等しい場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは１に設定される。
【０１８１】
−  そうでない場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは０に設定される。
【０１８２】
ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、ｘＰはｘＣに等しく設定され、ｙＰはｙＣに等しく設定され、ｎＰＳＷとｎＰＳＨの両方はｎＣＳに等しく設定される。
【０１８３】
注釈−ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、現在コーディングユニットのすべての予測ユニットは、２Ｎ×２Ｎ予測ユニットのマージング候補リストと同等である、単一のマージング候補リストを共有する。
【０１８４】
動きベクトルｍｖＬ０およびｍｖＬ１と、参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１と、予測利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１とは、以下の順序付きステップによって指定されているように導出される。
【０１８５】
１．  サブクローズ８．５．２．１．２における隣接予測ユニットパーティションからのマージング候補の導出プロセスが、入力として、ルーマロケーション（ｘＰ，ｙＰ）と、変数ｓｉｎｇｌｅＭＣＬＦｌａｇと、予測ユニットの幅および高さｎＰＳＷおよびｎＰＳＨと、パーティションインデックスＰａｒｔＩｄｘとを用いて呼び出され、出力が、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＮと、参照インデックスｒｅｆＩｄｘＬ０ＮおよびｒｅｆＩｄｘＬ１Ｎと、予測リスト利用フラグｐｒｅｄＦｌａｇＬ０ＮおよびｐｒｅｄＦｌａｇＬ１Ｎと、動きベクトルｍｖＬ０ＮおよびｍｖＬ１Ｎとに割り当てられ、ただし、ＮはＡ０、Ａ１、Ｂ０、Ｂ１またはＢ２で置き換えられる。
【０１８６】
２．  時間マージング候補の参照インデックスが０に等しくなるように導出され、ｍｅｒｇｅＴＭＶＰが１に設定される。
【０１８７】
３．  ．．．
[0183]セクション８．５．２．１．１への変更に示されているように、マージモードのためのルーマ動きベクトルの導出プロセス中にｍｅｒｇｅＴＭＶＰ変数は１に設定される。したがって、ｍｅｒｇｅＴＭＶＰ変数は、ビデオコーダがマージモードを使用していることを示す。
【０１８８】
[0184]さらに、本開示の第１の例示的な技法によれば、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．２．１．７に以下の変更が加えられ得る。
【０１８９】
８．５．２．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０１９０】
−  現在ピクチャの左上サンプルに対する現在予測ユニットの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマのための予測ユニットの幅および高さを指定する変数ｎＰＳＷおよびｎＰＳＨ、
−  現在予測ユニットパーティションの参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
このプロセスの出力は以下の通りである。
【０１９１】
−  動きベクトル予測ｍｖＬＸＣｏｌ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ
関数ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は、ピクチャｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャのピクチャ順序カウントＰｉｃＯｒｄｅｒＣｎｔＶａｌを戻し、以下のように指定される。
【０１９２】
ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ, ｒｅｆＩｄｘ, ＬＸ）＝ＰｉｃＯｒｄｅｒＣｎｔ（ピクチャｐｉｃＸのＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘ］）        （８−１４１）
ｓｌｉｃｅ＿ｔｙｐｅ、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ、およびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数ｃｏｌＰｉｃが以下のように導出される。
【０１９３】
−  ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０に等しい場合、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ１［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０１９４】
−  そうでない場合（ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１に等しいか、またはｓｌｉｃｅ＿ｔｙｐｅがＰに等しい）、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ０［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０１９５】
変数ｃｏｌＰｕとそれの位置（ｘＰＣｏｌ，ｙＰＣｏｌ）とは、以下の順序付きステップで導出される。
【０１９６】
１．  変数ｃｏｌＰｕが以下のように導出される。
【０１９７】
ｙＰＲｂ＝ｙＰ＋ｎＰＳＨ        （８−１３９）
−  （ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）に等しい場合、現在予測ユニットの右下ルーマ位置の水平成分が以下のように定義され、
ｘＰＲｂ＝ｘＰ＋ｎＰＳＷ        （８−１４０）
変数ｃｏｌＰｕが、ｃｏｌＰｉｃ内の（（ｘＰＲｂ＞＞４）＜＜４，（ｙＰＲｂ＞＞４）＜＜４）によって与えられる変更された位置をカバーする予測ユニットとして設定される。
【０１９８】
−  そうでない場合（（ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）に等しくない）、ｃｏｌＰｕは「利用不可能である」とマークされる。
【０１９９】
２．  ｃｏｌＰｕがイントラ予測モードでコーディングされるか、またはｃｏｌＰｕが「利用不可能である」とマークされたとき、以下が適用される。
【０２００】
−  現在予測ユニットの中心ルーマ位置が以下のように定義される。
【０２０１】
ｘＰＣｔｒ＝（ｘＰ＋（ｎＰＳＷ＞＞１）        （８−１４１）
ｙＰＣｔｒ＝（ｙＰ＋（ｎＰＳＨ＞＞１）        （８−１４２）
−  変数ｃｏｌＰｕが、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｙＰＣｔｒ＞＞４）＜＜４）によって与えられる変更された位置をカバーする予測ユニットとして設定される。
【０２０２】
３．  （ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃの左上ルーマサンプルに対するｃｏｌＰｕの左上ルーマサンプルに等しく設定される。
【０２０３】
関数ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は以下のように定義される。ピクチャｐｉｃＸが現在ピクチャであった時間において、ｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャが「長期参照に使用される」とマークされた場合、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は１を戻し、そうでない場合、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃ，ｒｅｆＩｄｘ，ＬＸ）は０を戻す。
【０２０４】
ｍｅｒｇｅＴＭＶＰが（マージモードの下で）１である場合、以下が適用され、ｒｅｆＩｄｘＬＸの値を変更し得る。
【０２０５】
−  ＲｅｆＰｉｃＬｉｓｔＸ［０］が長期参照ピクチャであり、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が０に等しい場合、両端値を含む１からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのｉについて、以下が適用される。
【０２０６】
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｉ］が短期参照ピクチャである場合、ｒｅｆＩｄｘＬＸがｉに設定され、ループを終了する。
【０２０７】
−  ＲｅｆＰｉｃＬｉｓｔＸ［０］が短期参照ピクチャであり、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が１に等しい場合、両端値を含む１からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのｉについて、以下が適用される。
【０２０８】
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｉ］が長期参照ピクチャである場合、ｒｅｆＩｄｘＬＸがｉに設定され、ループを終了する。
【０２０９】
変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは以下のように導出される。
【０２１０】
−  以下の条件のうちの１つまたは複数が真である場合、ｍｖＬＸＣｏｌの両方の成分は０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは０に等しく設定される。
【０２１１】
−  ｃｏｌＰｕがイントラ予測モードでコーディングされる。
【０２１２】
−  ｃｏｌＰｕが「利用不可能である」とマークされている。
【０２１３】
−  ｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しい。
【０２１４】
−  そうでない場合、動きベクトルｍｖＣｏｌ、参照インデックスｒｅｆＩｄｘＣｏｌ、および参照リスト識別子ｌｉｓｔＣｏｌは以下のように導出される。
【０２１５】
−  ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ１に等しく設定される。
【０２１６】
−  そうでない場合（ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下が適用される。
【０２１７】
−  ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ０に等しく設定される。
【０２１８】
−  そうでない場合（ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下の割当てが行われる。
【０２１９】
−  あらゆる参照ピクチャリスト中のあらゆるピクチャｐｉｃのＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌ以下である場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］およびＬＸに等しく設定され、ただし、Ｘは、このプロセスが呼び出されたＸの値である。
【０２２０】
−  そうでない場合（少なくとも１つの参照ピクチャリスト中の少なくとも１つのピクチャｐｉｃのＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌよりも大きい、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌおよびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］およびＬＮに等しく設定され、ただし、Ｎは、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値である。
【０２２１】
−  以下の条件のうちの１つが真である場合、変数ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは０に等しく設定される。
【０２２２】
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］が長期参照ピクチャであり、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が０に等しい。
【０２２３】
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］が短期参照ピクチャであり、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が１に等しい。
【０２２４】
−  そうでない場合、変数ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは１に等しく設定され、以下が適用される。
【０２２５】
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］が長期参照ピクチャである場合、またはＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が１に等しい場合、またはＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ）−ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌ−ＰｉｃＯｒｄｅｒＣｎｔ（ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］）に等しい場合、
ｍｖＬＸＣｏｌ＝ｍｖＣｏｌ        （８−１４３）
−  そうでない場合、ｍｖＬＸＣｏｌは、以下で指定されるように動きベクトルｍｖＣｏｌのスケーリングされたバージョンとして導出される
ｔｘ＝（１６３８４＋（Ａｂｓ（ｔｄ）＞＞１））／ｔｄ        （８−１４４）
ＤｉｓｔＳｃａｌｅＦａｃｔｏｒ＝Ｃｌｉｐ３（−４０９６，４０９５，（ｔｂ＊ｔｘ＋３２)＞＞６)        （８−１４５）
ｍｖＬＸＣｏｌ＝Ｃｌｉｐ３（−８１９２，８１９１．７５，Ｓｉｇｎ（ＤｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ）＊（（Ａｂｓ（ＤｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ）＋１２７）＞＞８））        （８−１４６）
ただし、ｔｄおよびｔｂは以下のように導出される
ｔｄ＝Ｃｌｉｐ３（−１２８，１２７，ＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ
）−ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ））        （８−１４７)
ｔｂ＝Ｃｌｉｐ３（−１２８，１２７，ＰｉｃＯｒｄｅｒＣｎｔＶａｌ−ＰｉｃＯｒｄｅｒＣｎt（ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］））        （８−１４８）
[0185]ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．２．１．７への上記に示した変更に示されているように、ＲｅｆＰｉｃＬｉｓｔＸ［０］は、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャを示す。さらに、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）は、位置ｒｅｆＩｄｘＣｏｌにおけるコロケートピクチャ（すなわち、ｃｏｌＰｉｃ）の参照ピクチャリスト（すなわち、ｌｉｓｔＣｏｌ）中の参照ピクチャが長期参照ピクチャであるかどうかを示す。
【０２２６】
[0186]したがって、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが長期参照ピクチャであり、コロケートピクチャ中のＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ参照インデックスによって示される参照ピクチャが長期参照ピクチャでない（すなわち、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が０に等しい）場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックス（すなわち、ｒｅｆＩｄｘＬＸ）を現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の短期参照ピクチャに設定し得る。現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが短期参照ピクチャであり、コロケートピクチャ中のＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ参照インデックスによって示される参照ピクチャが長期参照ピクチャでない（すなわち、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が１に等しい）場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックス（すなわち、ｒｅｆＩｄｘＬＸ）を現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の長期参照ピクチャに設定し得る。
【０２２７】
[0187]上記で説明したように、ビデオコーダは、本開示の第２の例示的な技法によれば、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸの初期参照ピクチャと、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルによって指される参照ピクチャの両方が、両方とも時間短期参照ピクチャであるかどうかを決定する。そうである場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを０に設定し得る。そうでない場合、ビデオコーダは、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを非０値に設定し得る。
【０２２８】
[0188]本開示の第２の例示的な技法では、ビュー間ピクチャは、異なる次元によって識別され得る。本開示の第２の例示的な技法では、各ピクチャが属するレイヤ／ビューを識別するためにＡｄｄＰｉｃＩｄが使用され得る。たとえば、２つの参照ピクチャを考察することにし、一方はＲｅｆＰｉｃＬｉｓｔＸ［０］であり、他方は、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが参照するピクチャｐｉｃＴである。この例では、ＰｉｃＴはターゲットピクチャであり、ＲｅｆＰｉｃＬｉｓｔＸ中のｉ番目のエントリが、ＲｅｆＰｉｃＬｉｓｔＸ［０］のＡｄｄＰｉｃＩｄとは異なるＰｉｃＴと同じＡｄｄＰｉｃＩｄを有する場合、ｉは最終参照インデックスとして設定される。複数のエントリがこの要求を満たすとき、ビデオコーダは、最も小さいインデックスを、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスとして設定し得る。
【０２２９】
[0189]本開示の第２の例示的な技法によれば、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ
７のセクション８．５．２．１．１は以下のように変更され得る。
【０２３０】
８．５．２．１．１  マージモードのためのルーマ動きベクトルの導出プロセス
このプロセスは、ＰｒｅｄＭｏｄｅがＭＯＤＥ＿ＳＫＩＰに等しいかまたはＰｒｅｄＭｏｄｅがＭＯＤＥ＿ＩＮＴＥＲに等しく、ｍｅｒｇｅ＿ｆｌａｇ［ｘＰ］［ｙＰ］が１に等しいときにのみ呼び出され、ただし、（ｘＰ，ｙＰ）は、現在ピクチャの左上ルーマサンプルに対する現在予測ユニットの左上ルーマサンプルを指定する。
【０２３１】
このプロセスの入力は以下の通りである。
【０２３２】
−  現在ピクチャの左上ルーマサンプルに対する現在コーディングユニットの左上ルーマサンプルのルーマロケーション（ｘＣ，ｙＣ）、
−  現在ピクチャの左上ルーマサンプルに対する現在予測ユニットの左上ルーマサンプルのルーマロケーション（ｘＰ，ｙＰ）、
−  現在コーディングユニットのサイズを指定する変数ｎＣＳ、
−  ルーマのための予測ユニットの幅および高さを指定する変数ｎＰＳＷおよびｎＰＳＨ、
−  現在コーディングユニット内の現在予測ユニットのインデックスを指定する変数ＰａｒｔＩｄｘ
このプロセスの出力は以下の通りである。
【０２３３】
−  ルーマ動きベクトルｍｖＬ０およびｍｖＬ１、
−  参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、
−  予測リスト利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１
変数ｓｉｎｇｌｅＭＣＬＦｌａｇは以下のように導出される。
【０２３４】
−  ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２が０よりも大きく、ｎＣＳが８に等しい場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは１に設定される。
【０２３５】
−  そうでない場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは０に設定される。
【０２３６】
ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、ｘＰはｘＣに等しく設定され、ｙＰはｙＣに等しく設定され、ｎＰＳＷとｎＰＳＨの両方はｎＣＳに等しく設定される。
【０２３７】
注釈−ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、現在コーディングユニットのすべての予測ユニットは、２Ｎ×２Ｎ予測ユニットのマージング候補リストと同等である、単一のマージング候補リストを共有する。
【０２３８】
動きベクトルｍｖＬ０およびｍｖＬ１と、参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１と、予測利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１とは、以下の順序付きステップによって指定されているように導出される。
【０２３９】
１．  サブクローズ８．５．２．１．２における隣接予測ユニットパーティションからのマージング候補の導出プロセスが、入力として、ルーマロケーション（ｘＰ，ｙＰ）と、変数ｓｉｎｇｌｅＭＣＬＦｌａｇと、予測ユニットの幅および高さｎＰＳＷおよびｎＰＳＨと、パーティションインデックスＰａｒｔＩｄｘとを用いて呼び出され、出力が、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＮと、参照インデックスｒｅｆＩｄｘＬ０ＮおよびｒｅｆＩｄｘＬ１Ｎと、予測リスト利用フラグｐｒｅｄＦｌａｇＬ０ＮおよびｐｒｅｄＦｌａｇＬ１Ｎと、動きベクトルｍｖＬ０ＮおよびｍｖＬ１Ｎとに割り当てられ、ただし、ＮはＡ０、Ａ１、Ｂ０、Ｂ１またはＢ２で置き換えられる。
【０２４０】
２．  時間マージング候補の参照インデックスが０に等しくなるように導出され、ｍｅｒｇｅＴＭＶＰが１に設定される。
【０２４１】
３．  ．．．
[0190]セクション８．５．２．１．１への変更に示されているように、マージモードのためのルーマ動きベクトルの導出プロセス中にｍｅｒｇｅＴＭＶＰ変数は１に設定される。したがって、ｍｅｒｇｅＴＭＶＰ変数は、ビデオコーダがマージモードを使用していることを示す。
【０２４２】
[0191]本開示の第２の例示的な技法によれば、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ
７のセクション８．５．２．１．７は以下のように変更され得る。
【０２４３】
８．５．２．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０２４４】
−  現在ピクチャの左上サンプルに対する現在予測ユニットの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマのための予測ユニットの幅および高さを指定する変数ｎＰＳＷおよびｎＰＳＨ、
−  現在予測ユニットパーティションの参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
このプロセスの出力は以下の通りである。
【０２４５】
−  動きベクトル予測ｍｖＬＸＣｏｌ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ
関数ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は、ピクチャｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャのピクチャ順序カウントＰｉｃＯｒｄｅｒＣｎｔＶａｌを戻し、以下のように指定される。
【０２４６】
ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）＝ＰｉｃＯｒｄｅｒＣｎｔ（ピクチャｐｉｃＸのＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘ］）        （８−１４１）
ｓｌｉｃｅ＿ｔｙｐｅ、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ、およびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数ｃｏｌＰｉｃが以下のように導出される。
【０２４７】
−  ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０に等しい場合、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ１［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０２４８】
−  そうでない場合（ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１に等しいか、またはｓｌｉｃｅ＿ｔｙｐｅがＰに等しい）、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ０［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０２４９】
変数ｃｏｌＰｕとそれの位置（ｘＰＣｏｌ，ｙＰＣｏｌ）とは、以下の順序付きステップで導出される。
【０２５０】
１．  変数ｃｏｌＰｕが以下のように導出される。
【０２５１】
ｙＰＲｂ＝ｙＰ＋ｎＰＳＨ        （８−１３９）
−  （ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）に等しい場合、現在予測ユニットの右下ルーマ位置の水平成分が以下のように定義され、
ｘＰＲｂ＝ｘＰ＋ｎＰＳＷ        （８−１４０）
変数ｃｏｌＰｕが、ｃｏｌＰｉｃ内の（（ｘＰＲｂ＞＞４）＜＜４，（ｙＰＲｂ＞＞４）＜＜４）によって与えられる変更された位置をカバーする予測ユニットとして設定される。
【０２５２】
−  そうでない場合（（ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）に等しくない）、ｃｏｌＰｕは「利用不可能である」とマークされる。
【０２５３】
２．  ｃｏｌＰｕがイントラ予測モードでコーディングされるか、またはｃｏｌＰｕが「利用不可能である」とマークされたとき、以下が適用される。
【０２５４】
−  現在予測ユニットの中心ルーマ位置が以下のように定義される。
【０２５５】
ｘＰＣｔｒ＝（ｘＰ＋（ｎＰＳＷ＞＞１）        （８−１４１）
ｙＰＣｔｒ＝（ｙＰ＋（ｎＰＳＨ＞＞１）        （８−１４２）
−  変数ｃｏｌＰｕが、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｙＰＣｔｒ＞＞４）＜＜４）によって与えられる変更された位置をカバーする予測ユニットとして設定される。
【０２５６】
３．  （ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃの左上ルーマサンプルに対するｃｏｌＰｕの左上ルーマサンプルに等しく設定される。
【０２５７】
関数ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は以下のように定義される。ピクチャｐｉｃＸが現在ピクチャであった時間において、ｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャが「長期参照に使用される」とマークされた場合、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は１を戻し、そうでない場合、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃ，ｒｅｆＩｄｘ，ＬＸ）は０を戻す。
【０２５８】
ＡｄｄＰｉｃＩｄ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）はＡｄｄＰｉｃＩｄ（ｐｉｃ）を戻し、ここにおいて、ｐｉｃは、ピクチャｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャである。現在ピクチャとしてｃｕｒｒｐｉｃを示す。
【０２５９】
ｍｅｒｇｅＴＭＶＰが（マージモードの下で）１である場合、以下が適用され、ｒｅｆＩｄｘＬＸの値を変更し得る。
【０２６０】
−  ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］）がＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）に等しくない場合
−  ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］）がＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｃ）に等しい場合、両端値を含む１からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのｉについて、以下が適用される。
【０２６１】
・  ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ｉ］）がＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）に等しい場合、ｒｅｆＩｄｘＬＸがｉに設定され、ループを終了する。
【０２６２】
−  そうではなく、ＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）がＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｃ）に等しい場合、両端値を含む１からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までのｉについて、以下が適用される。
【０２６３】
・  ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ｉ］）がＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｃ）に等しい場合、ｒｅｆＩｄｘＬＸがｉに設定され、ループを終了する。
【０２６４】
−  そうでない場合（ＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）がＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｃ）に等しくなく、ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］がＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｃ）に等しくない）、何も行わない。
【０２６５】
・  ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ｉ］）がＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）に等しい場合、ｒｅｆＩｄｘＬＸがｉに設定され、ループを終了する。
【０２６６】
・  代替的に、ｒｅｆＩｄｘＬＸが依然として０であるとき、ＡｄｄＰｉｃＩｄ距離に基づいて動きベクトルがスケーリングされ得る。スケーリングファクタは（ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］）−ＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｃ））／（ＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）−ＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ））である
−  ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］）がＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）に等しい場合
−  ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］）がＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｃ）に等しい場合、何も行わない。
【０２６７】
−  ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］）がＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｃ）に等しくない場合、何も行わない。
【０２６８】
・  代替的に、ＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ）がＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｄ）に等しくない場合、動きベクトルはＡｄｄＰｉｃＩｄ距離に基づいてスケーリングされ得る。スケーリングファクタは（ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［０］）−ＡｄｄＰｉｃＩｄ（ｃｕｒｒＰｉｃ））／（ＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）−ＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ））である。
【０２６９】
変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは以下のように導出される。
【０２７０】
−  以下の条件のうちの１つまたは複数が真である場合、ｍｖＬＸＣｏｌの両方の成分は０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは０に等しく設定される。
【０２７１】
−  ｃｏｌＰｕがイントラ予測モードでコーディングされる。
【０２７２】
−  ｃｏｌＰｕが「利用不可能である」とマークされている。
【０２７３】
−  ｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しい。
【０２７４】
−  そうでない場合、動きベクトルｍｖＣｏｌ、参照インデックスｒｅｆＩｄｘＣｏｌ、および参照リスト識別子ｌｉｓｔＣｏｌは以下のように導出される。
【０２７５】
−  ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ１に等しく設定される。
【０２７６】
−  そうでない場合（ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下が適用される。
【０２７７】
−  ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ０に等しく設定される。
【０２７８】
−  そうでない場合（ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下の割当てが行われる。
【０２７９】
−  あらゆる参照ピクチャリスト中のあらゆるピクチャｐｉｃのＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌ以下である場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］およびＬＸに等しく設定され、ただし、Ｘは、このプロセスが呼び出されたＸの値である。
【０２８０】
−  そうでない場合（少なくとも１つの参照ピクチャリスト中の少なくとも１つのピクチャｐｉｃのＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌよりも大きい、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌおよびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］およびＬＮに等しく設定され、ただし、Ｎは、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値である。
【０２８１】
−  以下の条件のうちの１つが真である場合、変数ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは０に等しく設定される。
【０２８２】
−  ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］）がＡｄｄＰｉｃＩｄ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）に等しくない。
【０２８３】
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］が短期参照ピクチャであり、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が１に等しい。
【０２８４】
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］が長期参照ピクチャであり、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が０に等しい。
【０２８５】
−  そうでない場合、変数ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは１に等しく設定され、以下が適用される。
【０２８６】
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］が長期参照ピクチャである場合、またはＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が１に等しい場合、またはＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ）−ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌ−ＰｉｃＯｒｄｅｒＣｎｔ（ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］）に等しい場合、
ｍｖＬＸＣｏｌ＝ｍｖＣｏｌ        （８−１４３）
−  そうでない場合、ｍｖＬＸＣｏｌは、以下で指定されるように動きベクトルｍｖＣｏｌのスケーリングされたバージョンとして導出される
ｔｘ＝（１６３８４＋（Ａｂｓ（ｔｄ）＞＞１））／ｔｄ        （８−１４４）
ＤｉｓｔＳｃａｌｅＦａｃｔｏｒ＝Ｃｌｉｐ３（−４０９６，４０９５，（ｔｂ＊ｔｘ＋３２）＞＞６）        （８−１４５）
ｍｖＬＸＣｏｌ＝Ｃｌｉｐ３（−８１９２，８１９１．７５，Ｓｉｇｎ（ＤｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ）＊（（Ａｂｓ（ＤｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ）＋１２７）＞＞８））        （８−１４６）
ただし、ｔｄおよびｔｂは以下のように導出される
ｔｄ＝Ｃｌｉｐ３（−１２８，１２７，ＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ）−ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ））        （８−１４７)
ｔｂ＝Ｃｌｉｐ３（−１２８，１２７，ＰｉｃＯｒｄｅｒＣｎｔＶａｌ−ＰｉｃＯｒｄｅｒＣｎt（ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］））        （８−１４８）
[0192]本開示の第３の例示的な技法は、上記で説明した第１および第２の例示的な技法と同様である。しかしながら、第３の例示的な技法は、短期参照ピクチャと長期参照ピクチャとの間を区別する。たとえば、２つの参照ピクチャを考察することにする。参照ピクチャの一方はＲｅｆＰｉｃＬｉｓｔＸ［０］であり、他方の参照ピクチャはピクチャｐｉｃＴ（すなわち、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルが参照するピクチャ）である。ｐｉｃＴの追加のピクチャ識別子（すなわち、ＡｄｄＰｉｃＩｄ（ＰｉｃＴ））がＲｅｆＰｉｃＬｉｓｔＸ［０］の追加のピクチャ識別子とは異なるか、あるいはＲｅｆＰｉｃＬｉｓｔＸ［０］とｐｉｃＴの両方が時間参照ピクチャであるが、ＲｅｆＰｉｃＬｉｓｔＸ［０］とｐｉｃＴとのうちの１つのみが短期参照ピクチャであり、ＲｅｆＰｉｃＬｉｓｔＸ中のｉ番目のエントリがｐｉｃＴと同じＡｄｄＰｉｃＩｄを有し、それらが両方とも短期時間参照ピクチャであるかまたは両方とも長期時間参照ピクチャであるか、あるいはその両方が非時間参照ピクチャであるとき、ビデオコーダは、最終参照インデックスをｉに設定し得る。現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の複数のエントリがこの要求を満たすとき、ビデオコーダは、最も小さいインデックスを、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスとして設定し得る。
【０２８７】
[0193]本開示の第４の例示的な技法では、ビデオコーダは、スライスヘッダ中で、時間参照ピクチャのｒｅｆ＿ｉｄｘ（Ｔ＿ｒｅｆ＿ｉｄｘ＿ｌｘ）と、ビュー間参照（のみ）ピクチャのｒｅｆ＿ｉｄｘ（Ｄ＿ｒｅｆ＿ｉｄｘ＿ｌｘ）とをシグナリングし得る。ＲｅｆＰｉｃＬｉｓｔＸ［０］の参照ピクチャタイプが時間である場合、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスをＤ＿ｒｅｆ＿ｉｄｘ＿ｌｘに設定し得る。ＲｅｆＰｉｃＬｉｓｔＸ［０］の参照ピクチャタイプがディスパリティである場合、ビデオコーダは、時間マージング候補の最終ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスをＴ＿ｒｅｆ＿ｉｄｘ＿ｌｘに設定し得る。
【０２８８】
[0194]代替的に、いくつかの例では、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔＸが利用可能である場合、０および１に等しい両方のＸについて、Ｔ＿ｒｅｆ＿ｉｄｘ＿ｌＸおよびＤ＿ｒｅｆ＿ｉｄｘ＿ｌＸを以下のように導出し得る。両端値を含む０からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までの各ｊについて、以下が適用される。ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］が時間参照ピクチャである場合、Ｔ＿ｒｅｆ＿ｉｄｘ＿ｌＸはｊに設定され、戻る。両端値を含む０からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までの各ｊについて、以下が適用される。ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］が時間参照ピクチャでない場合、Ｔ＿ｒｅｆ＿ｉｄｘ＿ｌＸはｊに設定され、戻る。一例では、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］のマーキングステータス（たとえば、長期、短期、またはいずれでもない）を検査することによって、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］が時間参照ピクチャであるか否かを決定し得る。別の例では、ビデオコーダは、ピクチャの参照ピクチャタイプを識別するベース仕様におけるフックを検査することによって、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］が時間参照ピクチャであるか否かを決定し得る。別の例では、ビデオコーダは、現在ピクチャとＲｅｆＰｉｃＬｉｓｔＸ［ｊ］とのＰＯＣ値を比較することによって、ＲｅｆＰｉｃＬｉｓｔＸ［ｊ］が時間参照ピクチャであるか否かを決定し得る。
【０２８９】
[0195]本開示の第４の例示的な技法では、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．２．１．１は以下のように変更され得る。
【０２９０】
８．５．２．１．１  マージモードのためのルーマ動きベクトルの導出プロセス
このプロセスは、ＰｒｅｄＭｏｄｅがＭＯＤＥ＿ＳＫＩＰに等しいかまたはＰｒｅｄＭｏｄｅがＭＯＤＥ＿ＩＮＴＥＲに等しく、ｍｅｒｇｅ＿ｆｌａｇ［ｘＰ］［ｙＰ］が１に等しいときにのみ呼び出され、ただし、（ｘＰ，ｙＰ）は、現在ピクチャの左上ルーマサンプルに対する現在予測ユニットの左上ルーマサンプルを指定する。
【０２９１】
このプロセスの入力は以下の通りである。
【０２９２】
−  現在ピクチャの左上ルーマサンプルに対する現在コーディングユニットの左上ルーマサンプルのルーマロケーション（ｘＣ，ｙＣ）、
−  現在ピクチャの左上ルーマサンプルに対する現在予測ユニットの左上ルーマサンプルのルーマロケーション（ｘＰ，ｙＰ）、
−  現在コーディングユニットのサイズを指定する変数ｎＣＳ、
−  ルーマのための予測ユニットの幅および高さを指定する変数ｎＰＳＷおよびｎＰＳＨ、
−  現在コーディングユニット内の現在予測ユニットのインデックスを指定する変数ＰａｒｔＩｄｘ
このプロセスの出力は以下の通りである。
【０２９３】
−  ルーマ動きベクトルｍｖＬ０およびｍｖＬ１、
−  参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、
−  予測リスト利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１
変数ｓｉｎｇｌｅＭＣＬＦｌａｇは以下のように導出される。
【０２９４】
−  ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２が０よりも大きく、ｎＣＳが８に等しい場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは１に設定される。
【０２９５】
−  そうでない場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは０に設定される。
【０２９６】
ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、ｘＰはｘＣに等しく設定され、ｙＰはｙＣに等しく設定され、ｎＰＳＷとｎＰＳＨの両方はｎＣＳに等しく設定される。
【０２９７】
注釈−ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、現在コーディングユニットのすべての予測ユニットは、２Ｎ×２Ｎ予測ユニットのマージング候補リストと同等である、単一のマージング候補リストを共有する。
【０２９８】
動きベクトルｍｖＬ０およびｍｖＬ１と、参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１と、予測利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１とは、以下の順序付きステップによって指定されているように導出される。
【０２９９】
１．  サブクローズ８．５．２．１．２における隣接予測ユニットパーティションからのマージング候補の導出プロセスが、入力として、ルーマロケーション（ｘＰ，ｙＰ）と、変数ｓｉｎｇｌｅＭＣＬＦｌａｇと、予測ユニットの幅および高さｎＰＳＷおよびｎＰＳＨと、パーティションインデックスＰａｒｔＩｄｘとを用いて呼び出され、出力が、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＮと、参照インデックスｒｅｆＩｄｘＬ０ＮおよびｒｅｆＩｄｘＬ１Ｎと、予測リスト利用フラグｐｒｅｄＦｌａｇＬ０ＮおよびｐｒｅｄＦｌａｇＬ１Ｎと、動きベクトルｍｖＬ０ＮおよびｍｖＬ１Ｎとに割り当てられ、ただし、ＮはＡ０、Ａ１、Ｂ０、Ｂ１またはＢ２で置き換えられる。
【０３００】
２．  時間マージング候補の参照インデックスが０に等しくなるように導出され、ｍｅｒｇｅＴＭＶＰが１に設定される。
【０３０１】
３．  ．．．
[0196]セクション８．５．２．１．１への変更に示されているように、マージモードのためのルーマ動きベクトルの導出プロセス中にｍｅｒｇｅＴＭＶＰ変数は１に設定される。したがって、ｍｅｒｇｅＴＭＶＰ変数は、ビデオコーダがマージモードを使用していることを示す。
【０３０２】
[0197]さらに、本開示の第４の例示的な技法によれば、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．２．１．７は以下のように変更され得る。
【０３０３】
８．５．２．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０３０４】
−  現在ピクチャの左上サンプルに対する現在予測ユニットの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマのための予測ユニットの幅および高さを指定する変数ｎＰＳＷおよびｎＰＳＨ、
−  現在予測ユニットパーティションの参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
このプロセスの出力は以下の通りである。
【０３０５】
−  動きベクトル予測ｍｖＬＸＣｏｌ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ
関数ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は、ピクチャｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャのピクチャ順序カウントＰｉｃＯｒｄｅｒＣｎｔＶａｌを戻し、以下のように指定される。
【０３０６】
ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）＝ＰｉｃＯｒｄｅｒＣｎｔ（ピクチャｐｉｃＸのＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘ］）        （８−１４１）
ｓｌｉｃｅ＿ｔｙｐｅ、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ、およびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数ｃｏｌＰｉｃが以下のように導出される。
【０３０７】
−  ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０に等しい場合、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ１［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０３０８】
−  そうでない場合（ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１に等しいか、またはｓｌｉｃｅ＿ｔｙｐｅがＰに等しい）、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ０［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０３０９】
変数ｃｏｌＰｕとそれの位置（ｘＰＣｏｌ，ｙＰＣｏｌ）とは、以下の順序付きステップで導出される。
【０３１０】
１．  変数ｃｏｌＰｕが以下のように導出される。
【０３１１】
ｙＰＲｂ＝ｙＰ＋ｎＰＳＨ        （８−１３９）
−  （ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）に等しい場合、現在予測ユニットの右下ルーマ位置の水平成分が以下のように定義され、
ｘＰＲｂ＝ｘＰ＋ｎＰＳＷ        （８−１４０）
変数ｃｏｌＰｕが、ｃｏｌＰｉｃ内の（（ｘＰＲｂ＞＞４）＜＜４，（ｙＰＲｂ＞＞４）＜＜４）によって与えられる変更された位置をカバーする予測ユニットとして設定される。
【０３１２】
−  そうでない場合（（ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）に等しくない）、ｃｏｌＰｕは「利用不可能である」とマークされる。
【０３１３】
２．  ｃｏｌＰｕがイントラ予測モードでコーディングされるか、またはｃｏｌＰｕが「利用不可能である」とマークされたとき、以下が適用される。
【０３１４】
−  現在予測ユニットの中心ルーマ位置が以下のように定義される。
【０３１５】
ｘＰＣｔｒ＝（ｘＰ＋（ｎＰＳＷ＞＞１）        （８−１４１）
ｙＰＣｔｒ＝（ｙＰ＋（ｎＰＳＨ＞＞１）        （８−１４２）
−  変数ｃｏｌＰｕが、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｙＰＣｔｒ＞＞４）＜＜４）によって与えられる変更された位置をカバーする予測ユニットとして設定される。
【０３１６】
３．  （ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃの左上ルーマサンプルに対するｃｏｌＰｕの左上ルーマサンプルに等しく設定される。
【０３１７】
関数ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は以下のように定義される。ピクチャｐｉｃＸが現在ピクチャであった時間において、ｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャが「長期参照に使用される」とマークされた場合、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は１を戻し、そうでない場合、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃ，ｒｅｆＩｄｘ，ＬＸ）は０を戻す。
【０３１８】
ｍｅｒｇｅＴＭＶＰが（マージモードの下で）１である場合、以下が適用され、ｒｅｆＩｄｘＬＸの値を変更し得る。
【０３１９】
−  ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が０に等しい場合、ｒｅｆＩｄｘＬＸはＴ＿ｒｅｆ＿ｉｄｘ＿ｌＸに設定される
−  そうでない場合、ｒｅｆＩｄｘＬＸはＤ＿ｒｅｆ＿ｉｄｘ＿ｌＸに設定される。
【０３２０】
．．．
[0198]上記に示したセクション８．５．２．１．７の変更されたバージョンの代替バージョンでは、最後の示されたラインは、「そうでない場合、ｒｅｆＩｄｘＬＸはＩに設定され、ｒｅｆＩｄｘＬＸはＤ＿ｒｅｆ＿ｉｄｘ＿ｌＸに設定される。」である。
【０３２１】
[0199]セクション８．５．２．１．７の変更されたバージョンに示されているように、時間ルーマ動きベクトル予測のための導出プロセスがマージモードのために実行されている場合（すなわち、ｍｅｒｇｅＴＭＶＰが１に等しい）、ビデオコーダは、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）が０に等しいかどうかを決定し得る。ｃｏｌＰｉｃはコロケートピクチャを示す。ｒｅｆＩｄｘＣｏｌはコロケートピクチャ中のＴＭＶＰの参照インデックスを示す。ｌｉｓｔＣｏｌは、ｒｅｆＩｄｘＣｏｌが参照する参照ピクチャリストを示す。したがって、０に等しいＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）は、ｃｏｌＰｉｃ中のＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ参照インデックスによって示される参照ピクチャ（ただしＸはｌｉｓｔＣｏｌに等しい）が長期参照ピクチャでない（すなわち、短期参照ピクチャである）ことを示す。そうである場合、ビデオコーダは、ｒｅｆＩｄｘＬＸ（すなわち、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックス）をＴ＿ｒｅｆ＿ｉｄｘ＿ｌＸに設定する。そうでない場合、ビデオコーダはｒｅｆＩｄｘＬＸをＤ＿ｒｅｆ＿ｉｄｘ＿ｌＸに設定する。
【０３２２】
[0200]本開示の第５の例示的な技法は、上記で説明した第３の例示的な技法と同様である。ただし、第５の例示的な技法では、ビデオエンコーダ２０は、スライスヘッダ中でｔｍｖｐ＿ｍｅｒｇｅ＿ｔｅｍｐｏｒａｌ＿ｆｌａｇシンタックス要素をシグナリングし得る。０に等しいｔｍｖｐ＿ｍｅｒｇｅ＿ｔｅｍｐｏｒａｌ＿ｆｌａｇシンタックス要素は、ＴＭＶＰマージ候補からのターゲット参照インデックスがＴ＿ｒｅｆ＿ｉｄｘ＿ｌｘに等しいことを示す。１に等しいｔｍｖｐ＿ｍｅｒｇｅ＿ｔｅｍｐｏｒａｌ＿ｆｌａｇシンタックス要素は、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックス（すなわち、ターゲットマージＴＭＶＰ参照インデックス）がＤ＿ｒｅｆ＿ｉｄｘ＿ｌｘに等しいことを示す。ｔｍｖｐ＿ｍｅｒｇｅ＿ｔｅｍｐｏｒａｌ＿ｆｌａｇシンタックス要素が存在しないとき、ビデオデコーダ３０は、ｔｍｖｐ＿ｍｅｒｇｅ＿ｔｅｍｐｏｒａｌ＿ｆｌａｇシンタックス要素が０に等しく、時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスが０に等しいと推論し得る。Ｔ＿ｒｅｆ＿ｉｄｘ＿ｌｘとＤ＿ｒｅｆ＿ｉｄｘ＿ｌｘとのうちの少なくとも１つは０に等しい。
【０３２３】
[0201]第５の例示的な技法では、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．２．１．１は以下のように変更され得る。
【０３２４】
マージモードのためのルーマ動きベクトルの導出プロセス
このプロセスは、ＰｒｅｄＭｏｄｅがＭＯＤＥ＿ＳＫＩＰに等しいかまたはＰｒｅｄＭｏｄｅがＭＯＤＥ＿ＩＮＴＥＲに等しく、ｍｅｒｇｅ＿ｆｌａｇ［ｘＰ］［ｙＰ］が１に等しいときにのみ呼び出され、ただし、（ｘＰ，ｙＰ）は、現在ピクチャの左上ルーマサンプルに対する現在予測ユニットの左上ルーマサンプルを指定する。
【０３２５】
このプロセスの入力は以下の通りである。
【０３２６】
−  現在ピクチャの左上ルーマサンプルに対する現在コーディングユニットの左上ルーマサンプルのルーマロケーション（ｘＣ，ｙＣ）、
−  現在ピクチャの左上ルーマサンプルに対する現在予測ユニットの左上ルーマサンプルのルーマロケーション（ｘＰ，ｙＰ）、
−  現在コーディングユニットのサイズを指定する変数ｎＣＳ、
−  ルーマのための予測ユニットの幅および高さを指定する変数ｎＰＳＷおよびｎＰＳＨ、
−  現在コーディングユニット内の現在予測ユニットのインデックスを指定する変数ＰａｒｔＩｄｘ
このプロセスの出力は以下の通りである。
【０３２７】
−  ルーマ動きベクトルｍｖＬ０およびｍｖＬ１、
−  参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、
−  予測リスト利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１
変数ｓｉｎｇｌｅＭＣＬＦｌａｇは以下のように導出される。
【０３２８】
−  ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２が０よりも大きく、ｎＣＳが８に等しい場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは１に設定される。
【０３２９】
−  そうでない場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは０に設定される。
【０３３０】
ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、ｘＰはｘＣに等しく設定され、ｙＰはｙＣに等しく設定され、ｎＰＳＷとｎＰＳＨの両方はｎＣＳに等しく設定される。
【０３３１】
注釈−ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、現在コーディングユニットのすべての予測ユニットは、２Ｎ×２Ｎ予測ユニットのマージング候補リストと同等である、単一のマージング候補リストを共有する。
【０３３２】
動きベクトルｍｖＬ０およびｍｖＬ１と、参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１と、予測利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１とは、以下の順序付きステップによって指定されているように導出される。
【０３３３】
１．  サブクローズ８．５．２．１．２における隣接予測ユニットパーティションからのマージング候補の導出プロセスが、入力として、ルーマロケーション（ｘＰ，ｙＰ）と、変数ｓｉｎｇｌｅＭＣＬＦｌａｇと、予測ユニットの幅および高さｎＰＳＷおよびｎＰＳＨと、パーティションインデックスＰａｒｔＩｄｘとを用いて呼び出され、出力が、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＮと、参照インデックスｒｅｆＩｄｘＬ０ＮおよびｒｅｆＩｄｘＬ１Ｎと、予測リスト利用フラグｐｒｅｄＦｌａｇＬ０ＮおよびｐｒｅｄＦｌａｇＬ１Ｎと、動きベクトルｍｖＬ０ＮおよびｍｖＬ１Ｎとに割り当てられ、ただし、ＮはＡ0、Ａ1、Ｂ0、Ｂ1またはＢ2で置き換えられる。
【０３３４】
時間マージング候補の参照インデックスは、ｔｍｖｐ＿ｍｅｒｇｅ＿ｔｅｍｐｏｒａｌ＿ｆｌａｇが０であるときはＴ＿ｒｅｆ＿ｉｄｘ＿ｌｘに等しくなるように導出され、ｔｍｖｐ＿ｍｅｒｇｅ＿ｔｅｍｐｏｒａｌ＿ｆｌａｇが１であるときはＴ＿ｒｅｆ＿ｉｄｘ＿ｌｘに等しくなるように導出される。
【０３３５】
[0202]本開示の第６の例示的な技法では、追加のターゲット参照インデックスが使用可能になる。上記の例では、すべての短期参照ピクチャは、現行のＨＥＶＣ仕様に記載されているように、依然として、０に等しい参照インデックスをもつ参照ピクチャのほうへスケーリングされる。しかしながら、すべての長期参照ピクチャについて、ビデオコーダは、長期参照ピクチャを参照している動きベクトルがマージング候補を形成するために使用され得るように、新しい参照インデックス（ｒｅｆ＿ｉｄｘ  Ｎ、以下の説明ではｒｅｆＩｄｘＬ０ＡおよびｒｅｆＩｄｘＬ１Ａと呼ばれる）を導出する。概して、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが短期参照ピクチャである（すなわち、０に等しい参照インデックスが短期参照ピクチャを表す）とき、新たに追加されたターゲット参照インデックスは、長期参照ピクチャを表すために使用される。しかしながら、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ中の第１の参照ピクチャが長期参照ピクチャである（すなわち、０に等しい参照インデックスが長期参照ピクチャを表す）とき、ビデオコーダは、新たに追加されたターゲット参照インデックスを使用してビュー間参照ピクチャを表し得る。現行のＨＥＶＣ仕様と同様に、ターゲット参照インデックスが長期参照ピクチャに対応する場合、コロケートブロック中の動きベクトルは、利用可能であると見なされる場合、スケーリングされない。
【０３３６】
[0203]ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．３．５は、復号前の参照ピクチャのマーキングについて説明している。本開示の第６の例示的な技法によれば、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔのセクション８．３．５は以下のテキストと置き換えられ得る。
【０３３７】
８．３．５  ＴＭＶＰのための追加のターゲット参照インデックスの導出プロセス
このプロセスは、現在スライスがＰスライスまたはＢスライスであるときに呼び出される。追加のターゲット参照インデックスｒｅｆＩｄｘＬ０ＡおよびｒｅｆＩｄｘＬ１Ａが導出される。
【０３３８】
変数ｒｅｆＩｄｘＬ０ＡおよびｒｅｆＩｄｘＬ１Ａを両方とも−１に設定する。
【０３３９】
以下が適用されてｒｅｆＩｄｘＬ０Ａが導出される。
【０３４０】
ｂＺｅｒｏＩｄｘＬｏｎｇＴｅｒｍＦｌａｇ＝ＲｅｆＰｉｃＬｉｓｔ０［０］が短期参照ピクチャ？０：１
ｂＦｏｕｎｄ＝０；
ｆｏｒ（ｉ＝１；ｉ＜＝ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１  ＆＆  ！ｂＦｏｕｎｄ；ｉ＋＋）
ｉｆ（（ｂＺｅｒｏＩｄｘＬｏｎｇＴｅｒｍＦｌａｇ＆＆ＲｅｆＰｉｃＬｉｓｔ０［ｉ］が短期参照ピクチャ）｜｜
（！ｂＺｅｒｏＩｄｘＬｏｎｇＴｅｒｍＦｌａｇ＆＆ＲｅｆＰｉｃＬｉｓｔ０［ｉ］が長期参照ピクチャ））｛
ｒｅｆＩｄｘＬ０Ａ＝ｉ
ｂＦｏｕｎｄ＝１
｝
スライスがＢスライスであるとき、以下が適用されてｒｅｆＩｄｘＬ１Ａが導出される。
【０３４１】
ｂＺｅｒｏＩｄｘＬｏｎｇＴｅｒｍＦｌａｇ=ＲｅｆＰｉｃＬｉｓｔ１［０］が短期参照ピクチャ？０：１
ｂＦｏｕｎｄ＝０；
ｆｏｒ（ｉ＝１；ｉ＜＝ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１  ＆＆  ！ｂＦｏｕｎｄ；ｉ＋＋）
ｉｆ（（ｂＺｅｒｏＩｄｘＬｏｎｇＴｅｒｍＦｌａｇ＆＆ＲｅｆＰｉｃＬｉｓｔ１［ｉ］が短期参照ピクチャ)｜｜
（！ｂＺｅｒｏＩｄｘＬｏｎｇＴｅｒｍＦｌａｇ＆＆ＲｅｆＰｉｃＬｉｓｔ１［ｉ］が長期参照ピクチャ））｛
ｒｅｆＩｄｘＬ１Ａ＝ｉ
ｂＦｏｕｎｄ  ＝１
｝
[0204]さらに、本開示の第６の例示的な技法では、時間動きベクトル予測中に、現在モードがマージモードであるとき、ターゲット参照インデックス０はｒｅｆＩｄｘＬＸＡに変更され得る（ただし、Ｘは０または１に等しい）。ｒｅｆＩｄｘＬＸＡは非０参照インデックス値を示し得る。ＡＭＶＰモードは変更されない。
【０３４２】
[0205]ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．２．１．１は、マージモードのためのルーマ動きベクトルの導出プロセスについて説明している。本開示の第６の例示的な技法では、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．２．１．１は以下のように変更され得る。
【０３４３】
８．５．２．１．１  マージモードのためのルーマ動きベクトルの導出プロセス
このプロセスは、ＰｒｅｄＭｏｄｅ［ｘＣ］［ｙＣ］がＭＯＤＥ＿ＳＫＩＰに等しいかまたはＰｒｅｄＭｏｄｅ［ｘＣ］［ｙＣ］がＭＯＤＥ＿ＩＮＴＥＲに等しく、ｍｅｒｇｅ＿ｆｌａｇ［ｘＰ］［ｙＰ］が１に等しいときにのみ呼び出され、ただし、（ｘＰ，ｙＰ）は、現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルを指定する。
【０３４４】
このプロセスの入力は以下の通りである。
【０３４５】
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマコーディングブロックの左上サンプルのルーマロケーション（ｘＣ，ｙＣ）、
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルのルーマロケーション（ｘＰ，ｙＰ）、
−  現在ルーマコーディングブロックのサイズを指定する変数ｎＣＳ、
−  ルーマ予測ブロックの幅および高さを指定する変数ｎＰｂＷおよびｎＰｂＨ、
−  現在コーディングユニット内の現在予測ユニットのインデックスを指定する変数ｐａｒｔＩｄｘ
このプロセスの出力は以下の通りである。
【０３４６】
−  ルーマ動きベクトルｍｖＬ０およびｍｖＬ１、
−  参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、
−  予測リスト利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１
変数ｓｉｎｇｌｅＭＣＬＦｌａｇは以下のように導出される。
【０３４７】
−  ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２が０よりも大きく、ｎＣＳが８に等しい場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは１に設定される。
【０３４８】
−  そうでない場合、ｓｉｎｇｌｅＭＣＬＦｌａｇは０に設定される。
【０３４９】
ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、ｘＰはｘＣに等しく設定され、ｙＰはｙＣに等しく設定され、ｎＰｂＷとｎＰｂＨの両方はｎＣＳに等しく設定される。
【０３５０】
注釈−ｓｉｎｇｌｅＭＣＬＦｌａｇが１に等しいとき、現在コーディングユニットのすべての予測ユニットは、２Ｎ×２Ｎ予測ユニットのマージング候補リストと同等である、単一のマージング候補リストを共有する。
【０３５１】
動きベクトルｍｖＬ０およびｍｖＬ１と、参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１と、予測利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１とは、以下の順序付きステップによって指定されているように導出される。
【０３５２】
１．  サブクローズ８．５．２．１．２における隣接予測ユニットパーティションからのマージング候補の導出プロセスが、入力として、ルーマコーディングブロックロケーション（ｘＣ，ｙＣ）と、コーディングブロックサイズｎＣＳと、ルーマ予測ブロックロケーション（ｘＰ，ｙＰ）と、変数ｓｉｎｇｌｅＭＣＬＦｌａｇと、ルーマ予測ブロックの幅および高さｎＰｂＷおよびｎＰｂＨと、パーティションインデックスｐａｒｔＩｄｘとを用いて呼び出され、出力が、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＮと、参照インデックスｒｅｆＩｄｘＬ０ＮおよびｒｅｆＩｄｘＬ１Ｎと、予測リスト利用フラグｐｒｅｄＦｌａｇＬ０ＮおよびｐｒｅｄＦｌａｇＬ１Ｎと、動きベクトルｍｖＬ０ＮおよびｍｖＬ１Ｎとに割り当てられ、ただし、ＮはＡ０、Ａ１、Ｂ０、Ｂ１またはＢ２で置き換えられる。
【０３５３】
２．  時間マージング候補の参照インデックスｒｅｆＩｄｘＬＸ（ただしＸは０または１である）が０に等しく設定される。
【０３５４】
３．  サブクローズ８．５．３．１．７における時間ルーマ動きベクトル予測の導出プロセスが、入力として、ルーマロケーション（ｘＰ，ｙＰ）と、ルーマ予測ブロックの幅および高さｎＰｂＷおよびｎＰｂＨと、ｒｅｆＩｄｘＬＸと、１に等しいｍｅｒｇｅＴＭＶＰとを用いて呼び出され、出力が、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌと、時間動きベクトルｍｖＬＸＣｏｌとである。変数ａｖａｉｌａｂｌｅＦｌａｇＣｏｌおよびｐｒｅｄＦｌａｇＬＸＣｏｌ（ただし、Ｘはそれぞれ０または１である）が、以下で指定されているように導出される。
【０３５５】
４．  ．．．
．．．
[0206]したがって、上記に示したセクション８．５．２．１．１の変更されたバージョンでは、セクション８．５．３．１．７の時間ルーマ動きベクトル予測プロセスは、１に等しいｍｅｒｇｅＴＭＶＰ変数を用いて呼び出される。第６の例示的な技法に従って変更されたセクション８．５．３．１．７のバージョンについては、本開示の他の場所で説明する。
【０３５６】
[0207]ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．３．１．５は、ＡＭＶＰモードのためのルーマ動きベクトル予測のための導出プロセスについて説明している。本開示の第６の例示的な技法によれば、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ
７のセクション８．５．３．１．５は以下のように変更され得る。
【０３５７】
８．５．３．１．５  ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０３５８】
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマコーディングブロックの左上サンプルのルーマロケーション（ｘＣ，ｙＣ）、
−  現在ルーマコーディングブロックのサイズを指定する変数ｎＣＳ、
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマ予測ブロックの幅および高さを指定する変数ｎＰｂＷおよびｎＰｂＨ、
−  現在予測ユニットパーティションの参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）、
−  現在コーディングユニット内の現在予測ユニットのインデックスを指定する変数ｐａｒｔＩｄｘ
このプロセスの出力は以下の通りである。
【０３５９】
−  動きベクトルｍｖＬＸの予測ｍｖｐＬＸ（ただし、Ｘは０または１である）
動きベクトル予測子ｍｖｐＬＸは、以下の順序付きステップで導出される。
【０３６０】
１．  サブクローズ８．５．３．１．６における隣接予測ユニットパーティションからの動きベクトル予測子候補の導出プロセスが、入力としての、ルーマコーディングブロックロケーション（ｘＣ，ｙＣ）と、コーディングブロックサイズｎＣＳと、ルーマ予測ブロックロケーション（ｘＰ，ｙＰ）と、ルーマ予測ブロックの幅および高さｎＰｂＷおよびｎＰｂＨと、ｒｅｆＩｄｘＬＸ（ただしＸはそれぞれ０または１である）と、パーティションインデックスｐａｒｔＩｄｘと、出力としての、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＮと、動きベクトルｍｖＬＸＮとを用いて呼び出され、ただし、ＮはＡ、Ｂによって置き換えられる。
【０３６１】
２．  ａｖａｉｌａｂｌｅＦｌａｇＬＸＡとａｖａｉｌａｂｌｅＦｌａｇＬＸＢの両方が１に等しく、ｍｖＬＸＡがｍｖＬＸＢに等しくない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定され、そうでない場合、サブクローズ８．５．３．１．７における時間ルーマ動きベクトル予測の導出プロセスが、入力として、ルーマロケーション（ｘＰ，ｙＰ）と、ルーマ予測ブロックの幅および高さｎＰｂＷおよびｎＰｂＨと、ｒｅｆＩｄｘＬＸ（ただし、Ｘはそれぞれ０または１である）と、０に等しいｍｅｒｇｅＴＭＶＰとを用いて呼び出され、出力が、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌと、時間動きベクトル予測子ｍｖＬＸＣｏｌとである。
【０３６２】
．．．
[0208]したがって、上記に示したセクション８．５．２．１．５の変更されたバージョンでは、セクション８．５．３．１．７の時間ルーマ動きベクトル予測プロセスは、０に等しいｍｅｒｇｅＴＭＶＰ変数を用いて呼び出される。第６の例示的な技法に従って変更されたセクション８．５．３．１．７のバージョンについては、本開示の他の場所で説明する。
【０３６３】
[0209]ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．３．１．７は、時間ルーマ動きベクトル予測のための導出プロセスについて説明している。本開示の第６の例示的な技法によれば、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７のセクション８．５．３．１．７は以下のように変更され得る。
【０３６４】
８．５．３．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０３６５】
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマ予測ブロックの幅および高さを指定する変数ｎＰｂＷおよびｎＰｂＨ、
−  参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）、
−  変数ｍｅｒｇｅＴＭＶＰ
このプロセスの出力は以下の通りである。
【０３６６】
−  動きベクトル予測ｍｖＬＸＣｏｌ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ
関数ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は、ピクチャｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャのピクチャ順序カウントＰｉｃＯｒｄｅｒＣｎｔＶａｌを戻し、以下のように指定される。
【０３６７】
ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）＝ＰｉｃＯｒｄｅｒＣｎｔ（ピクチャｐｉｃＸのＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘ］）        （８−１４１）
ｓｌｉｃｅ＿ｔｙｐｅ、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ、およびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数ｃｏｌＰｉｃが以下のように導出される。
【０３６８】
−  ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０に等しい場合、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ１［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０３６９】
−  そうでない場合（ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１に等しいか、またはｓｌｉｃｅ＿ｔｙｐｅがＰに等しい）、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ０［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０３７０】
変数ｃｏｌＰｂとそれの位置（ｘＰＣｏｌ，ｙＰＣｏｌ）とは、以下の順序付きステップで導出される。
【０３７１】
１．  変数ｃｏｌＰｂが以下のように導出される。
【０３７２】
ｙＰＲｂ＝ｙＰ＋ｎＰｂＨ        （８−１５１）
−  （ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）に等しい場合、現在ルーマ予測ブロックの右下ルーマロケーションの水平成分が以下によって定義され、
ｘＰＲｂ＝ｘＰ＋ｎＰｂＷ        （８−１５２）
変数ｃｏｌＰｂが、ｃｏｌＰｉｃ内の（（ｘＰＲｂ＞＞４）＜＜４，（ｙＰＲｂ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックとして設定される。
【０３７３】
−  そうでない場合（（ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）に等しくない）、ｃｏｌＰｂは「利用不可能である」とマークされる。
【０３７４】
２．  ｃｏｌＰｂがイントラ予測モードでコーディングされるか、またはｃｏｌＰｂが「利用不可能である」とマークされたとき、以下が適用される。
【０３７５】
−  現在予測ブロックの中心ルーマロケーションが以下によって定義される。
【０３７６】
ｘＰＣｔｒ＝（ｘＰ＋（ｎＰｂＷ＞＞１）        （８−１５３）
ｙＰＣｔｒ＝（ｙＰ＋（ｎＰｂＨ＞＞１）        （８−１５４）
−  変数ｃｏｌＰｂが、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｘＰＣｔｒ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックとして設定される。
【０３７７】
３．  （ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃの左上ルーマサンプルに対するｃｏｌＰｂの左上サンプルに等しく設定される。
【０３７８】
以下の条件のすべてが真である場合、ｒｅｆＩｄｘＬＸはｒｅｆＩｄｘＬＸＡになるように設定される。
【０３７９】
−  ｍｅｒｇｅＴＭＶＰが１に等しい。
【０３８０】
−  ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｕｒｒＰｉｃ，ｒｅｆＩｄｘＬＸ，ＬｉｓｔＸ）がＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）に等しくない。
【０３８１】
−  ｒｅｆＩｄｘＬＸＡが０よりも大きい。
【０３８２】
変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは以下のように導出される。
【０３８３】
−  以下の条件のうちの１つまたは複数が真である場合、ｍｖＬＸＣｏｌの両方の成分は０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは０に等しく設定される。
【０３８４】
−  ｃｏｌＰｂがイントラ予測モードでコーディングされる。
【０３８５】
−  ｃｏｌＰｂが「利用不可能である」とマークされている。
【０３８６】
−  ｓｌｉｃｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しい。
【０３８７】
−  ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｕｒｒＰｉｃ，ｒｅｆＩｄｘＬＸ，ＬｉｓｔＸ）がＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）に等しくない。
【０３８８】
−  そうでない場合、動きベクトルｍｖＣｏｌ、参照インデックスｒｅｆＩｄｘＣｏｌ、および参照リスト識別子ｌｉｓｔＣｏｌが以下のように導出される。
【０３８９】
−  ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ１に等しく設定される。
【０３９０】
−  そうでない場合（ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下が適用される。
【０３９１】
−  ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ０に等しく設定される。
【０３９２】
−  そうでない場合（ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下の割当てが行われる。
【０３９３】
−  あらゆる参照ピクチャリスト中のあらゆるピクチャｐｉｃのＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌ以下である場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］およびＬＸに等しく設定され、ただし、Ｘは、このプロセスが呼び出されたＸの値である。
【０３９４】
−  そうでない場合（少なくとも１つの参照ピクチャリスト中の少なくとも１つのピクチャｐｉｃのＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌよりも大きい、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌおよびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］およびＬＮに等しく設定され、ただし、Ｎは、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値である。
【０３９５】
および、変数ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは１に等しく設定され、以下が適用される。
【０３９６】
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］が長期参照ピクチャである場合、またはＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ）−ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌ−ＰｉｃＯｒｄｅｒＣｎｔ（ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］）に等しい場合、
ｍｖＬＸＣｏｌ＝ｍｖＣｏｌ        （８−１５５）
−  そうでない場合、ｍｖＬＸＣｏｌは、以下で指定されるように動きベクトルｍｖＣｏｌのスケーリングされたバージョンとして導出される
ｔｘ＝（１６３８４＋（Ａｂｓ（ｔｄ）＞＞１））／ｔｄ        （８−１５６）
ｄｉｓｔＳｃａｌｅＦａｃｔｏｒ＝Ｃｌｉｐ３（−４０９６，４０９５，（ｔｂ＊ｔｘ＋３２)＞＞６）        （８−１５７）
ｍｖＬＸＣｏｌ＝Ｃｌｉｐ３（−３２７６８，３２７６７，Ｓｉｇｎ２（ｄｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ）＊
（Ａｂｓ（ｄｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ）＋１２７）＞＞８））        （８−１５８）
ただし、ｔｄおよびｔｂは以下のように導出される
ｔｄ＝Ｃｌｉｐ３（−１２８，１２７，ＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ）−ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ））        （８−１５９）
ｔｂ＝Ｃｌｉｐ３（−１２８，１２７，ＰｉｃＯｒｄｅｒＣｎｔＶａｌ−ＰｉｃＯｒｄｅｒＣｎt（ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］））        （８−１６０）
[0210]上記に示したセクション８．５．３．１．７の変更されたバージョンでは、ｒｅｆＩｄｘＬＸは時間マージング候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスである。ｒｅｆＩｄｘＬＸＡは．．．を示す。
【０３９７】
[0211]本開示の第７の例示的な技法は、上記で説明した第６の例示的な技法と同様である。ただし、第７の例示的な技法はＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９に準拠する。第７の例示的な技法では、ｒｅｆＩｄｘＬＸＡ（ただしＸは０または１に等しい）は、第６の例示的な技法の場合のように導出されるか、または場合によってはシグナリング／設定され得る。
【０３９８】
[0212]ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９のセクション８．５．３．１．７は、時間ルーマ動きベクトル予測のための導出プロセスについて説明している。第７の例示的な技法では、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９のセクション８．５．３．１．７は以下のように変更され得る。
【０３９９】
８．５．３．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０４００】
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマ予測ブロックの幅および高さを指定する変数ｎＰｂＷおよびｎＰｂＨ、
−  変数ｍｅｒｇｅＴＭＶＰ、
−  参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
このプロセスの出力は以下の通りである。
【０４０１】
−  動きベクトル予測ｍｖＬＸＣｏｌ、−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ
変数ｃｕｒｒＰｂは、ルーマロケーション（ｘＰ，ｙＰ）における現在ルーマ予測ブロックを指定する。
【０４０２】
変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは以下のように導出される。
【０４０３】
−  ｓｌｉｃｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しい場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４０４】
−  そうでない場合、以下の順序付きステップが適用される。
【０４０５】
１．  ｓｌｉｃｅ＿ｔｙｐｅ、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ、およびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数ｃｏｌＰｉｃが以下のように導出される。
【０４０６】
−  ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０に等しい場合、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ１［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０４０７】
−  そうでない場合（ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１に等しいか、またはｓｌｉｃｅ＿ｔｙｐｅがＰに等しい）、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ０［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０４０８】
２．  右下コロケート動きベクトルが以下のように導出される
ｘＰＲｂ＝ｘＰ＋ｎＰｂＷ        （８−１６２）
ｙＰＲｂ＝ｙＰ＋ｎＰｂＨ        （８−１６３）
−  （ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）に等しく、ｘＰＲｂがｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓよりも小さい場合、以下が適用される。
【０４０９】
−  変数ｃｏｌＰｂが、ｃｏｌＰｉｃによって指定されるコロケートピクチャ内の（（ｘＰＲｂ＞＞４）＜＜４，（ｙＰＲｂ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックを指定する。
【０４１０】
−  ルーマロケーション（ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃによって指定されるコロケートピクチャの左上ルーマサンプルに対する、ｃｏｌＰｂによって指定されるコロケートルーマ予測ブロックの左上サンプルに等しく設定される。
【０４１１】
−  サブクローズ８．５．３．１．８において指定されているコロケート動きベクトルの導出プロセスが、入力として、ｃｕｒｒＰｂと、ｃｏｌＰｉｃと、ｃｏｌＰｂと、（ｘＰＣｏｌ，ｙＰＣｏｌ）と、ｍｅｒｇｅＴＭＶＰと、ｒｅｆＩｄｘＬＸとを用いて呼び出され、出力が、ｍｖＬＸＣｏｌと、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌとに割り当てられる。
【０４１２】
−  そうでない場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４１３】
３．  ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しいとき、中心コロケート動きベクトルが以下のように導出される。
【０４１４】
ｘＰＣｔｒ＝ｘＰ＋（ｎＰｂＷ＞＞１）        （８−１６４）
ｙＰＣｔｒ＝ｙＰ＋（ｎＰｂＨ＞＞１）        （８−１６５）
−  変数ｃｏｌＰｂが、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｘＰＣｔｒ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックを指定する。
【０４１５】
−  ルーマロケーション（ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃによって指定されるコロケートピクチャの左上ルーマサンプルに対する、ｃｏｌＰｂによって指定されるコロケートルーマ予測ブロックの左上サンプルに等しく設定される。
【０４１６】
−  サブクローズ８．５．３．１．８において指定されているコロケート動きベクトルの導出プロセスが、入力として、ｃｕｒｒＰｂと、ｃｏｌＰｉｃと、ｃｏｌＰｂと、（ｘＰＣｏｌ，ｙＰＣｏｌ）と、ｍｅｒｇｅＴＭＶＰと、ｒｅｆＩｄｘＬＸとを用いて呼び出され、出力が、ｍｖＬＸＣｏｌと、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌとに割り当てられる。
【０４１７】
[0213]セクション８．５．３．１．７の変更されたバージョンでは、時間ルーマ動きベクトル予測のための導出プロセスが、入力としてｍｅｒｇｅＴＭＶＰ変数を受信する。ｍｅｒｇｅＴＭＶＰ変数は、セクション８．５．３．１．７の導出プロセスがマージモードのために呼び出された場合は１に等しくなり得、セクション８．５．３．１．７の導出プロセスがＡＭＶＰモードのために呼び出された場合は０に等しくなり得る。セクション８．５．３．１．７の変更されたバージョンでは、ｍｅｒｇｅＴＭＶＰ変数は、セクション８．５．３．１．８の導出プロセスへの入力として与えられる。
【０４１８】
[0214]ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９のセクション８．５．３．１．８は、コロケート動きベクトルの導出プロセスについて説明している。第７の例示的な技法によれば、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９のセクション８．５．３．１．８は以下のように変更され得る。
【０４１９】
８．５．３．１．８  コロケート動きベクトルの導出プロセス
このプロセスへの入力は以下の通りである。
【０４２０】
−  現在予測ブロックを指定するｃｕｒｒＰｂ、
−  コロケートピクチャを指定するｃｏｌＰｉｃ、
−  ｃｏｌＰｉｃによって指定されるコロケートピクチャ内のコロケート予測ブロックを指定するｃｏｌＰｂ、
−  ｃｏｌＰｉｃによって指定されるコロケートピクチャの左上ルーマサンプルに対する、ｃｏｌＰｂによって指定されるコロケートルーマ予測ブロックの左上サンプルを指定するルーマロケーション（ｘＰＣｏｌ，ｙＰＣｏｌ）、
−  変数ｍｅｒｇｅＴＭＶＰ、
−  参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
このプロセスの出力は以下の通りである。
【０４２１】
−  動きベクトル予測ｍｖＬＸＣｏｌ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ
変数ｃｕｒｒＰｉｃは現在ピクチャを指定する。
【０４２２】
アレイｐｒｅｄＦｌａｇＬＸＣｏｌ［ｘ］［ｙ］、ｍｖＬＸＣｏｌ［ｘ］［ｙ］およびｒｅｆＩｄｘＬＸＣｏｌ［ｘ］［ｙ］は、ｃｏｌＰｉｃによって指定されるコロケートピクチャの対応するアレイ、それぞれ、ＰｒｅｄＦｌａｇＬＸ［ｘ］［ｙ］、ＭｖＬＸ［ｘ］［ｙ］およびＲｅｆＩｄｘＬＸ［ｘ］［ｙ］に等しく設定され、ただし、Ｘは、このプロセスが呼び出されたＸの値である。
【０４２３】
変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは以下のように導出される。
【０４２４】
−  ｃｏｌＰｂがイントラ予測モードでコーディングされる場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４２５】
−  そうでない場合、動きベクトルｍｖＣｏｌ、参照インデックスｒｅｆＩｄｘＣｏｌ、および参照リスト識別子ｌｉｓｔＣｏｌが以下のように導出される。
【０４２６】
−  ｐｒｅｄＦｌａｇＬ０Ｃｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌが、それぞれ、ｍｖＬ１Ｃｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ｒｅｆＩｄｘＬ１Ｃｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ１に等しく設定される。
【０４２７】
−  そうではなく、ｐｒｅｄＦｌａｇＬ０Ｃｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しく、ｐｒｅｄＦｌａｇＬ１Ｃｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌが、それぞれ、ｍｖＬ０Ｃｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ｒｅｆＩｄｘＬ０Ｃｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ０に等しく設定される。
【０４２８】
−  そうでない場合（ｐｒｅｄＦｌａｇＬ０Ｃｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しく、ｐｒｅｄＦｌａｇＬ１Ｃｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下の割当てが行われる。
【０４２９】
−  ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ，ｐｉｃ）が、現在スライスのあらゆる参照ピクチャリスト中のあらゆるピクチャｐｉｃについて０以下である場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌが、それぞれ、ｍｖＬＸＣｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ｒｅｆＩｄｘＬＸＣｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬｘに等しく設定され、ただし、Ｘは、このプロセスが呼び出されたＸの値である。
【０４３０】
−  そうでない場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌおよびｌｉｓｔＣｏｌが、それぞれ、ｍｖＬＮＣｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ｒｅｆＩｄｘＬＮＣｏｌ［ｘＰＣｏｌ］［ｙＰＣｏｌ］およびＬＮに等しく設定され、ただし、Ｎはｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値である。
【０４３１】
および、ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが以下のように導出される。
【０４３２】
−  ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｕｒｒＰｉｃ，ｃｕｒｒＰｂ，ｒｅｆＩｄｘＬＸ，ＬＸ）がＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｃｏｌＰｂ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）に等しくないとき、以下が適用される
−  ｒｅｆＩｄｘＬＸＡが０よりも大きく、ｍｅｒｇｅＴＭＶＰが１に等しい場合、ｒｅｆＩｄｘＬＸがｒｅｆＩｄｘＬＸＡに等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが１に等しく設定される。
【０４３３】
−  そうでない場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４３４】
−  変数ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが１に等しく設定されたとき、ｒｅｆＰｉｃＬｉｓｔＣｏｌ［ｒｅｆＩｄｘＣｏｌ］は、ピクチャｃｏｌＰｉｃ中の予測ブロックｃｕｒｒＰｂを含んでいるスライスの参照ピクチャリストｌｉｓｔＣｏｌ中の参照インデックスｒｅｆＩｄｘＣｏｌをもつピクチャになるように設定され、以下が適用される。
【０４３５】
ｃｏｌＰｏｃＤｉｆｆ＝ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ，ｒｅｆＰｉｃＬｉｓｔＣｏｌ[ ｒｅｆＩｄｘＣｏｌ]）        （８−１６６）
ｃｕｒｒＰｏｃＤｉｆｆ＝ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ，ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］）        （８−１６７）
−  ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘＬＸ］が長期参照ピクチャであるか、またはｃｏｌＰｏｃＤｉｆｆがｃｕｒｒＰｏｃＤｉｆｆに等しい場合、ｍｖＬＸＣｏｌが以下のように導出される。
【０４３６】
ｍｖＬＸＣｏｌ＝ｍｖＣｏｌ        （８−１６８）
−  そうでない場合、ｍｖＬＸＣｏｌは、以下で指定されるように動きベクトルｍｖＣｏｌのスケーリングされたバージョンとして導出される
ｔｘ＝（１６３８４＋（Ａｂｓ（ｔｄ）＞＞１））／ｔｄ        （８−１６９）
ｄｉｓｔＳｃａｌｅＦａｃｔｏｒ＝Ｃｌｉｐ３（−４０９６，４０９５，（ｔｂ＊ｔｘ＋３２）＞＞６）        （８−１７０）
mｖＬＸＣｏｌ＝Ｃｌｉｐ３（−３２７６８，３２７６７，Ｓｉｇｎ（ｄｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ）＊
（（Ａｂｓ（ｄｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ）＋１２７）＞＞８））        （８−１７１）
ただし、ｔｄおよびｔｂは以下のように導出される
ｔｄ＝Ｃｌｉｐ３（−１２８，１２７，ｃｏｌＰｏｃＤｉｆｆ）        （８−１７２）
ｔｂ＝Ｃｌｉｐ３（−１２８，１２７，ｃｕｒｒＰｏｃＤｉｆｆ）        （８−１７３）
[0215]上記に示したセクション８．５．３．１．８の変更されたバージョンでは、ｒｅｆＩｄｘＬＸは、時間マージング候補またはＭＶＰ候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスを示す。さらに、セクション８．５．３．１．８の変更されたバージョンでは、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔＸ参照インデックスによって示される参照ピクチャと、ＴＭＶＰのＲｅｆＰｉｃＬｉｓｔＸ参照インデックスによって示される参照ピクチャが、両方とも長期参照ピクチャでないか、両方とも短期参照ピクチャでないかを決定し得る。すなわち、ビデオコーダは、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｕｒｒＰｉｃ，ｃｕｒｒＰｂ，ｒｅｆＩｄｘＬＸ，ＬＸ）がＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｃｏｌＰｉｃ，ｃｏｌＰｂ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）に等しくないかどうかを決定し得る。そうである場合、ビデオコーダは、ｒｅｆＩｄｘＬＸＡが０よりも大きく、ｍｅｒｇｅＴＭＶＰが０に等しい場合、時間マージング候補またはＭＶＰ候補のＲｅｆＰｉｃＬｉｓｔＸ参照インデックスをｒｅｆＩｄｘＬＸＡに設定し得る。そうでない場合、ビデオコーダは、時間マージング候補またはＭＶＰ候補の両方の動きベクトル成分を０に設定し得る。
【０４３７】
[0216]第８の例示的な技法は、第７の例示的な技法に追加の可能な改善を行い得る。第８の例示的な技法は、ターゲットＴＭＶＰ参照ピクチャの参照ピクチャタイプとコロケート参照ピクチャの参照ピクチャタイプとが異なる場合に適用される。動き情報を導出するための２つのコロケートサブブロックがある（すなわち、右下および中心）。ＴＭＶＰ導出が可能でない場合、動き情報導出のためのサブブロックは右下から中心に切り替えられ得る。ただし、上記の方法が適用されるとき、ゼロＴＭＶＰ参照インデックスは別のゼロＴＭＶＰ参照インデックスと交換され得る。その結果、ビデオコーダは、常にＴＭＶＰを導出することが可能になり得る。これは、利用可能な動き情報をもつ右下ブロックが常に使用され得、ビデオコーダが中心サブブロックを使用してゼロ参照インデックスのＴＭＶＰを導出することができる場合でも、中心サブブロックへの切替えが起こらなくなり得ることを意味する。
【０４３８】
[0217]追加の可能な改善は、ゼロ参照インデックスを用いてＴＭＶＰを導出する可能性について右下ブロックと中心ブロックとが検査された後に、上記で説明した方法（ＴＭＶＰ参照インデックスを変更する）を適用することであり得る。ビデオコーダがＴＭＶＰを導出することができない場合、ビデオコーダは、ＴＭＶＰの参照インデックスを非０値に変更し得る。非０参照インデックスのために、ビデオコーダは、右下サブブロックまたは中心サブブロックからＴＭＶＰを導出し得、あるいはビデオコーダは切替え機構を適用し得る。このバージョンは、非０参照インデックスを用いたＴＭＶＰが中心サブブロックから導出された場合、右下ブロックに戻り、ＴＭＶＰ導出プロセスを繰り返すことが不要であり得るので、ＨＥＶＣのいくつかのバージョンに対してより少ない変更を有する。後者の解決策は、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９のセクション８．５．３．１．７の以下の変更されたバージョンにおいて実装され得る。
【０４３９】
８．５．３．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０４４０】
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマ予測ブロックの幅および高さを指定する変数ｎＰｂＷおよびｎＰｂＨ、
−  変数ｍｅｒｇｅＴＭＶＰＦｌａｇ、
−  参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
８．５．３．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０４４１】
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマ予測ブロックの幅および高さを指定する変数ｎＰｂＷおよびｎＰｂＨ、
−  変数ｍｅｒｇｅＴＭＶＰ、
−  参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
このプロセスの出力は以下の通りである。
【０４４２】
−  動きベクトル予測ｍｖＬＸＣｏｌ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ
変数ｃｕｒｒＰｂは、ルーマロケーション（ｘＰ，ｙＰ）における現在ルーマ予測ブロックを指定する。
【０４４３】
変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは以下のように導出される。
【０４４４】
−  ｓｌｉｃｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しい場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４４５】
−  そうでない場合、以下の順序付きステップが適用される。
【０４４６】
１．  ｓｌｉｃｅ＿ｔｙｐｅ、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ、およびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数ｃｏｌＰｉｃが以下のように導出される。
【０４４７】
−  ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０に等しい場合、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ１［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０４４８】
−  そうでない場合（ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１に等しいか、またはｓｌｉｃｅ＿ｔｙｐｅがＰに等しい）、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ０［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０４４９】
２．  右下コロケート動きベクトルが以下のように導出される
ｘＰＲｂ＝ｘＰ＋ｎＰｂＷ        （８−１６２）
ｙＰＲｂ＝ｙＰ＋ｎＰｂＨ        （８−１６３）
−  （ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）に等しく、ｘＰＲｂがｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓよりも小さい場合、以下が適用される。
【０４５０】
−  変数ｃｏｌＰｂが、ｃｏｌＰｉｃによって指定されるコロケートピクチャ内の（（ｘＰＲｂ＞＞４）＜＜４，（ｙＰＲｂ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックを指定する。
【０４５１】
−  ルーマロケーション（ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃによって指定されるコロケートピクチャの左上ルーマサンプルに対する、ｃｏｌＰｂによって指定されるコロケートルーマ予測ブロックの左上サンプルに等しく設定される。
【０４５２】
−  サブクローズ８．５．３．１．８において指定されているコロケート動きベクトルの導出プロセスが、入力として、ｃｕｒｒＰｂと、ｃｏｌＰｉｃと、ｃｏｌＰｂと、（ｘＰＣｏｌ，ｙＰＣｏｌ）と、０に等しいｍｅｒｇｅＴＭＶＰＦｌａｇと、ｒｅｆＩｄｘＬＸとを用いて呼び出され、出力が、ｍｖＬＸＣｏｌと、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌとに割り当てられる。
【０４５３】
−  そうでない場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４５４】
３．  ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しいとき、中心コロケート動きベクトルが以下のように導出される。
【０４５５】
ｘＰＣｔｒ＝ｘＰ＋（ｎＰｂＷ＞＞１）        （８−１６４）
ｙＰＣｔｒ＝ｙＰ＋（ｎＰｂＨ＞＞１）        （８−１６５）
−  変数ｃｏｌＰｂが、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｘＰＣｔｒ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックを指定する。
【０４５６】
−  ルーマロケーション（ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃによって指定されるコロケートピクチャの左上ルーマサンプルに対する、ｃｏｌＰｂによって指定されるコロケートルーマ予測ブロックの左上サンプルに等しく設定される。
【０４５７】
−  サブクローズ８．５．３．１．８において指定されているコロケート動きベクトルの導出プロセスが、入力として、ｃｕｒｒＰｂと、ｃｏｌＰｉｃと、ｃｏｌＰｂと、（ｘＰＣｏｌ，ｙＰＣｏｌ）と、ｍｅｒｇｅＴＭＶＰに等しいｍｅｒｇｅＴＭＶＰＦｌａｇと、ｒｅｆＩｄｘＬＸとを用いて呼び出され、出力が、ｍｖＬＸＣｏｌと、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌとに割り当てられる。
【０４５８】
[0218]さらに、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９のセクション８．５．３．１．８（コロケート動きベクトルの導出プロセス）は、第７の例示的な技法に関して示したセクション８．５．３．１．８と同じであり得るが、「ｍｅｒｇｅＴＭＶＰ」は、「ｍｅｒｇｅＴＭＶＰ」のあらゆる発生について「ｍｅｒｇｅＴＭＶＰＦｌａｇ」と置き換えられる。
【０４５９】
[0219]本開示の第９の例示的な技法は、上記で説明した第８の例示的な技法と同様である。しかしながら、第９の例示的な技法では、動き情報が中心ブロックについて利用可能でない場合、右下ブロックを用いた非０参照インデックスのためのＴＭＶＰ導出が行われ得る。
【０４６０】
[0220]第９の例示的な技法では、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９のセクション８．５．３．１．７は以下のように変更され得る。
【０４６１】
８．５．３．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０４６２】
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマ予測ブロックの幅および高さを指定する変数ｎＰｂＷおよびｎＰｂＨ、
−  変数ｍｅｒｇｅＴＭＶＰ、
−  参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
このプロセスの出力は以下の通りである。
【０４６３】
−  動きベクトル予測ｍｖＬＸＣｏｌ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ
変数ｃｕｒｒＰｂは、ルーマロケーション（ｘＰ，ｙＰ）における現在ルーマ予測ブロックを指定する。
【０４６４】
変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは以下のように導出される。
【０４６５】
−  ｓｌｉｃｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しい場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４６６】
−  そうでない場合、以下の順序付きステップが適用される。
【０４６７】
１．  ｓｌｉｃｅ＿ｔｙｐｅ、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ、およびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数ｃｏｌＰｉｃが以下のように導出される。
【０４６８】
−  ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０に等しい場合、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ１［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０４６９】
−  そうでない場合（ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１に等しいか、またはｓｌｉｃｅ＿ｔｙｐｅがＰに等しい）、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ０［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０４７０】
２．  右下コロケート動きベクトルが以下のように導出される
ｘＰＲｂ＝ｘＰ＋ｎＰｂＷ        （８−１６２）
ｙＰＲｂ＝ｙＰ＋ｎＰｂＨ        （８−１６３）
−  （ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）に等しく、ｘＰＲｂがｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓよりも小さい場合、以下が適用される。
【０４７１】
−  変数ｃｏｌＰｂが、ｃｏｌＰｉｃによって指定されるコロケートピクチャ内の（（ｘＰＲｂ＞＞４）＜＜４，（ｙＰＲｂ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックを指定する。
【０４７２】
−  ルーマロケーション（ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃによって指定されるコロケートピクチャの左上ルーマサンプルに対する、ｃｏｌＰｂによって指定されるコロケートルーマ予測ブロックの左上サンプルに等しく設定される。
【０４７３】
−  ｘＰＣｔｒ＝ｘＰ＋（ｎＰｂＷ＞＞１）
ｙＰＣｔｒ＝ｙＰ＋（ｎＰｂＨ  ＞＞１）
変数ｃｏｌＣｔｒが、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｘＰＣｔｒ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックを指定する。
【０４７４】
−  サブクローズ８．５．３．１．８において指定されているコロケート動きベクトルの導出プロセスが、入力として、ｃｕｒｒＰｂと、ｃｏｌＰｉｃと、ｃｏｌＰｂと、（ｘＰＣｏｌ，ｙＰＣｏｌ）と、ｍｅｒｇｅＴＭＶＰ＊（！ｐｒｅｄＦｌａｇＬ０Ｃｏｌ［ｘＣｏｌＣｔｒ］［ｙＣｏｌＣｔｒ］＆＆！ｐｒｅｄＦｌａｇＬ１Ｃｏｌ［ｘＣｏｌＣｔｒ］［ｙＣｏｌＣｔｒ］）に等しいｍｅｒｇｅＴＭＶＰＦｌａｇと、ｒｅｆＩｄｘＬＸとを用いて呼び出され、出力が、ｍｖＬＸＣｏｌと、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌとに割り当てられる。
【０４７５】
−  そうでない場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４７６】
３．  ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しいとき、中心コロケート動きベクトルが以下のように導出される。
【０４７７】
ｘＰＣｔｒ＝ｘＰ＋（ｎＰｂＷ＞＞１）        （８−１６４）
ｙＰＣｔｒ＝ｙＰ＋（ｎＰｂＨ＞＞１）        （８−１６５）
−  変数ｃｏｌＰｂが、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｘＰＣｔｒ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックを指定する。
【０４７８】
−  ルーマロケーション（ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃによって指定されるコロケートピクチャの左上ルーマサンプルに対する、ｃｏｌＰｂによって指定されるコロケートルーマ予測ブロックの左上サンプルに等しく設定される。
【０４７９】
−  サブクローズ８．５．３．１．８において指定されているコロケート動きベクトルの導出プロセスが、入力として、ｃｕｒｒＰｂと、ｃｏｌＰｉｃと、ｃｏｌＰｂと、（ｘＰＣｏｌ，ｙＰＣｏｌ）と、ｍｅｒｇｅＴＭＶＰに等しいｍｅｒｇｅＴＭＶＰＦｌａｇと、ｒｅｆＩｄｘＬＸとを用いて呼び出され、出力が、ｍｖＬＸＣｏｌと、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌとに割り当てられる。
【０４８０】
[0221]第１０の例示的な技法は、上記で説明した第８の例示的な技法と同様である。ただし、第１０の例示的な技法では、ビデオコーダは、第１の検査において、右下ブロックまたは中心ブロックが、参照ピクチャのタイプが異なっているために利用不可能であると決定した場合、ビデオコーダは、右下ブロックまたは中心ブロックを２回検査し得る。第１０の例示的な技法では、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９のセクション８．５．３．１．７は以下の方法のうちの１つで変更され得る。
【０４８１】
８．５．３．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０４８２】
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマ予測ブロックの幅および高さを指定する変数ｎＰｂＷおよびｎＰｂＨ、
−  変数ｍｅｒｇｅＴＭＶＰＦｌａｇ、
−  参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
８．５．３．１．７  時間ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０４８３】
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマ予測ブロックの幅および高さを指定する変数ｎＰｂＷおよびｎＰｂＨ、
−  変数ｍｅｒｇｅＴＭＶＰ、
−  参照インデックスｒｅｆＩｄｘＬＸ（ただし、Ｘは０または１である）
このプロセスの出力は以下の通りである。
【０４８４】
−  動きベクトル予測ｍｖＬＸＣｏｌ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ
変数ｃｕｒｒＰｂは、ルーマロケーション（ｘＰ，ｙＰ）における現在ルーマ予測ブロックを指定する。
【０４８５】
変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは以下のように導出される。
【０４８６】
−  ｓｌｉｃｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しい場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４８７】
−  そうでない場合、以下の順序付きステップが適用される。
【０４８８】
−  変数ｎｕｍＬｏｏｐが０に設定される。
【０４８９】
−  ｎｕｍＬｏｏｐが２よりも小さく、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが１に等しい間、以下のステップが順番に反復的に適用される。
【０４９０】
１．  ｓｌｉｃｅ＿ｔｙｐｅ、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ、およびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数ｃｏｌＰｉｃが以下のように導出される。
【０４９１】
−  ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０に等しい場合、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ１［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０４９２】
−  そうでない場合（ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１に等しいか、またはｓｌｉｃｅ＿ｔｙｐｅがＰに等しい）、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ０［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０４９３】
２．  右下コロケート動きベクトルが以下のように導出される
ｘＰＲｂ＝ｘＰ＋ｎＰｂＷ        （８−１６２）
ｙＰＲｂ＝ｙＰ＋ｎＰｂＨ        （８−１６３）
−  （ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅＹ）に等しく、ｘＰＲｂがｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓよりも小さい場合、以下が適用される。
【０４９４】
−  変数ｃｏｌＰｂが、ｃｏｌＰｉｃによって指定されるコロケートピクチャ内の（（ｘＰＲｂ＞＞４）＜＜４，（ｙＰＲｂ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックを指定する。
【０４９５】
−  ルーマロケーション（ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃによって指定されるコロケートピクチャの左上ルーマサンプルに対する、ｃｏｌＰｂによって指定されるコロケートルーマ予測ブロックの左上サンプルに等しく設定される。
【０４９６】
−  サブクローズ８．５．３．１．８において指定されているコロケート動きベクトルの導出プロセスが、入力として、ｃｕｒｒＰｂと、ｃｏｌＰｉｃと、ｃｏｌＰｂと、（ｘＰＣｏｌ，ｙＰＣｏｌ）と、（ｎｕｍＬｏｏｐ＆ｍｅｒｇｅＴＭＶＰ）に等しいｍｅｒｇｅＴＭＶＰＦｌａｇと、ｒｅｆＩｄｘＬＸとを用いて呼び出され、出力が、ｍｖＬＸＣｏｌと、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌとに割り当てられる。
【０４９７】
−  そうでない場合、ｍｖＬＸＣｏｌの両方の成分が０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しく設定される。
【０４９８】
３．  ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しいとき、中心コロケート動きベクトルが以下のように導出される。
【０４９９】
ｘＰＣｔｒ＝ｘＰ＋（ｎＰｂＷ＞＞１）        （８−１６４）
ｙＰＣｔｒ＝ｙＰ＋（ｎＰｂＨ＞＞１）        （８−１６５）
−  変数ｃｏｌＰｂが、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｘＰＣｔｒ＞＞４）＜＜４）によって与えられる変更されたロケーションをカバーするルーマ予測ブロックを指定する。
【０５００】
−  ルーマロケーション（ｘＰＣｏｌ，ｙＰＣｏｌ）が、ｃｏｌＰｉｃによって指定されるコロケートピクチャの左上ルーマサンプルに対する、ｃｏｌＰｂによって指定されるコロケートルーマ予測ブロックの左上サンプルに等しく設定される。
【０５０１】
−  サブクローズ８．５．３．１．８において指定されているコロケート動きベクトルの導出プロセスが、入力として、ｃｕｒｒＰｂと、ｃｏｌＰｉｃと、ｃｏｌＰｂと、（ｘＰＣｏｌ，ｙＰＣｏｌ）と、（ｎｕｍＬｏｏｐ＆ｍｅｒｇｅＴＭＶＰ）に等しいｍｅｒｇｅＴＭＶＰＦｌａｇと、ｒｅｆＩｄｘＬＸとを用いて呼び出され、出力が、ｍｖＬＸＣｏｌと、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌとに割り当てられる。
【０５０２】
[0222]上記に示したセクション８．５．３．１．７の変更されたバージョンでは、ｍｅｒｇｅＴＭＶＰが１であり、ｎｕｍＬｏｏｐが１である場合、（ｎｕｍＬｏｏｐ＆ｍｅｒｇｅＴＭＶＰ）は１を戻すが、そうでない場合、（ｎｕｍＬｏｏｐ＆ｍｅｒｇｅＴＭＶＰ）は０を戻す。
【０５０３】
[0223]代替的に、変数「ｍｅｒｇｅＴＭＶＰ」は「ｍｅｒｇｅＴＭＶＰＦｌａｇ」と置き換えられ得る。さらに、第１０の例示的な技法では、セクション８．５．３．１．８は、上記で説明した第７の例示的な技法のためのセクション８．５．３．１．８のバージョンと同じであり得る。ただし、第１０の例示的な技法のためのセクション８．５．３．１．８のバージョンでは、変数「ｍｅｒｇｅＴＭＶＰ」は、「ｍｅｒｇｅＴＭＶＰ」のあらゆる発生について「ｍｅｒｇｅＴＭＶＰＦｌａｇ」と置き換えられる。
【０５０４】
[0224]本開示のいくつかの例示的な技法によれば、ビデオコーダは、現在ＰＵの空間隣接ブロックから時間マージング候補のターゲット参照インデックスを導出し得る。さらに、時間マージング候補のターゲット参照インデックスは、ＴＭＶＰが指す参照ピクチャとは異なる参照ピクチャタイプ（たとえば、時間またはビュー間）を有する参照ピクチャに対応するとき、ビデオコーダは、ＴＭＶＰの参照ピクチャのタイプと同じタイプをもつピクチャに対応する参照インデックス値を示すように、時間マージング候補を変更し得る。
【０５０５】
[0225]そのような技法によれば、所与の参照ピクチャリストＸ（ただしＸは０または１に等しい）について、変更された後のターゲット参照インデックスは、全スライスについて固定である、１つの特定の値Ｃまたは特定の値Ｄであり得る。Ｃは、長期（またはビュー間）参照ピクチャに対応する参照ピクチャリスト中の第１のエントリに対応する参照インデックスである。Ｄは、短期（または時間）参照ピクチャに対応する参照ピクチャリスト中の第１のエントリに対応する参照インデックスである。ＣまたはＤのいずれかは０に等しい。
【０５０６】
[0226]さらに、ターゲット参照インデックスは「ＴａｒＩｄｘ＿ＬＸ」と示され得、ＴＭＶＰポイントが指す参照ピクチャは「ｃｏＲｅｆＰｉｃ」と示され得る。以下のうちの１つが真であるとき、ビデオコーダはＴａｒＩｄｘ＿ＬＸを変更し得る。
【０５０７】
・  ＲｅｆＰｉｃＬｉｓｔＸ［ＴａｒＩｄｘ＿ＬＸ］が時間参照ピクチャであり、ｃｏＲｅｆＰｉｃがコロケートピクチャのビュー間参照ピクチャであった場合。
【０５０８】
・  ＲｅｆＰｉｃＬｉｓｔＸ［ＴａｒＩｄｘ＿ＬＸ］がビュー間参照ピクチャであり、ｃｏＲｅｆＰｉｃがコロケートピクチャの時間参照ピクチャであった場合。
【０５０９】
[0227]いくつかの例では、上記の条件のうちの１つが真である場合、かつｃｏＲｅｆＰｉｃがビュー間参照ピクチャである場合、ビデオコーダはＴａｒＩｄｘ＿ＬＸをＣに設定し得る。上記の条件のうちの１つが真である場合、かつｃｏＲｅｆＰｉｃが時間参照ピクチャである場合、ビデオコーダはＴａｒＩｄＸ＿ＬＸをＤに設定し得る。上記の条件のいずれも真でないとき、ビデオコーダはＴａｒＩｄＸ＿ＬＸを変更しない。代替的に、上記のプロセスでは、「ビュー間参照」は「長期参照」によって置き換えられ、「時間参照」は「短期参照」によって置き換えられる。
【０５１０】
[0228]１つの代替例では、ＲｅｆＰｉｃＰｉｃＸ［ＴａｒＩｄｘ＿ＬＸ］とｃｏＲｅｆＰｉｃが両方ともビュー間参照ピクチャ（すなわち、ディスパリティ参照ピクチャ）である場合、ビデオコーダは、各ビューのＡｄｄＰｉｃＩｄに基づいて動きベクトルをスケーリングし得る。ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ＴａｒＩｄｘ＿ＬＸ］）がＴａｒｇｅｔＡｄｄＰｉｃＩｄに等しい場合、ビデオコーダは、ＴａｒＩｄｘ＿ＬＸを同じままに保ち、戻り得る。そうでない場合、ビデオコーダは、ターゲット参照インデックスをＴａｒＩｄｘ＿ＬＸに設定し、ＡｄｄＰｉｃＩｄの差に基づいて動きベクトルをスケーリングし得る。一例では、ビデオコーダは、ＴＭＶＰの動きベクトル（「ｍｖ」と示される）を以下のように決定し得る。
【０５１１】
ｍｖ＝ｍｖ＊（ＡｄｄＰｉｃＩｄ（ＲｅｆＰｉｃＬｉｓｔＸ［ＴａｒＩｄｘ＿ＬＸ］）−ＡｄｄＰｉｃＩｄ（現在ピクチャ））／（ＡｄｄＰｉｃＩｄ（ｃｏＲｅｆＰｉｃ）−ＡｄｄＰｉｃＩｄ（コロケートピクチャ）），ただし、ＡｄｄＰｉｃＩｄは、ビューのビュー識別子またはレイヤ識別子であり得る。
【０５１２】
[0229]別の代替例では、以下の条件のうちの１つが真であるとき、ビデオコーダはＴａｒＩｄｘ＿ＬＸを変更し得る。
【０５１３】
・  ＲｅｆＰｉｃＬｉｓｔＸ［ＴａｒＩｄｘ＿ＬＸ］が時間参照ピクチャであり、ｃｏＲｅｆＰｉｃがコロケートピクチャのビュー間参照ピクチャであった場合。
【０５１４】
・  ＲｅｆＰｉｃＬｉｓｔＸ［ＴａｒＩｄｘ＿ＬＸ］がビュー間参照ピクチャであり、ｃｏＲｅｆＰｉｃがコロケートピクチャの時間参照ピクチャであった場合。
【０５１５】
この例では、上記の条件の両方が真であるとき、ビデオコーダはＴａｒＩｄｘ＿ＬＸを変更しない。しかしながら、ｃｏＲｅｆＰｉｃがビュー間参照ピクチャである場合、ビデオコーダはＴａｒＩｄｘ＿ＬＸをＣに設定し得る。ｃｏＲｅｆＰｉｃが時間参照ピクチャであるとき、ビデオコーダは、ＴａｒＩｄｘ＿ＬＸを、以下を満たす参照インデックスＴＩｄｘに設定し得る：ＲｅｆＰｉｃＬｉｓｔＸ［Ｔｉｄｘ］のＰＯＣ値がｃｏＲｅｆＰｉｃのＰＯＣ値に等しいこと。そのようなＴＩｄｘが存在しない場合、ビデオコーダはＴａｒＩｄＸ＿ＬＸをＤに設定し得る。代替的に、そのようなＴＩｄｘが存在しない場合、ビデオコーダは、時間マージング候補がｌｉｓｔＸ方向について利用不可能であると見なし得る。
【０５１６】
[0230]別の例示的な代替形態は、前の２つの代替例と同様である。ただし、この例では、ビデオコーダは、Ｄを１つのあらかじめ定義された時間参照インデックスに設定する。このあらかじめ定義された値は、スライスヘッダ、ピクチャパラメータセット、シーケンスパラメータセット、ビデオパラメータセット、または別のタイプのパラメータセット中でシグナリングされ得る。
【０５１７】
[0231]さらに、上記で説明したプロシージャはＡＭＶＰモードに適用され得る。すなわち、ビデオコーダは、ＡＭＶＰモードで時間ＭＶＰ候補のために適応ターゲット参照インデックスを使用し得る。プロシージャがＡＭＶＰモードに適用されるとき、ビデオコーダは、ＴＩｄｘ＿ＬＸを復号参照インデックスに初期化し得、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔＸを現在ＣＵ／ＰＵの復号参照ピクチャリストに等しく設定し得る。
【０５１８】
[0232]上述のように、本開示のいくつかの例示的な技法では、ビデオコーダは、ビュー間予測動きベクトルが利用可能であるときでも、ビュー間予測動きベクトルをスキップ／マージモードのためのマージング候補リストに追加しない。そうではなく、そのような技法によれば、ビデオコーダは、空間隣接ブロックの情報に基づいて、マージング候補リストにビュー間予測動きベクトルを追加すべきかビュー間ディスパリティ動きベクトルを追加すべきかを決定し得る。ビデオコーダがマージング候補リストにビュー間ディスパリティ動きベクトルを追加すべきであるとの決定を行った場合、ビデオコーダは、ディスパリティベクトルをビュー間ディスパリティ動きベクトルに変換し、マージング候補リスト中にビュー間ディスパリティ動きベクトルを追加し得る。
【０５１９】
[0233]そのような技法によれば、ビデオコーダは、マージモードで適応ビュー間候補選択を実行し得る。たとえば、ビュー間候補は、ビュー間予測動きベクトルまたはビュー間ディスパリティ動きベクトルのいずれかであり得る。ビュー間予測動きベクトルとビュー間ディスパリティ動きベクトルの両方が利用可能であるとき、ビデオコーダは、以下のように、空間／時間マージング候補のタイプ（たとえば、ＨＥＶＣベース仕様において定義されているＡ0、Ｂ0、Ａ1、Ｂ1、Ｂ2、およびＴＭＶＰ）の頻度に基づいて、ビュー間予測動きベクトルとビュー間ディスパリティ動きベクトルとのうちのどちらの一方をマージング候補リストに追加すべきかを決定し得る。時間参照ピクチャを参照するＫ個の動きベクトルがあり、Ｋが、あらかじめ定義されたしきい値Ｎよりも小さい場合、ビュー間ディスパリティ動きベクトルはマージング候補リストに追加される。そうでない場合、ビデオコーダは、ビュー間予測動きベクトルをマージング候補リストに追加し得る。Ｎは、たとえば、１、２、３、４などに設定され得る。代替的に、時間動きベクトルの数が空間マージング候補中のディスパリティ動きベクトルの数よりも小さい場合、ビデオコーダは、マージング候補リストにビュー間ディスパリティ動きベクトルを追加し得る。そうでない場合、ビデオコーダは、ビュー間予測動きベクトルをマージング候補リストに追加し得る。
【０５２０】
[0234]代替例では、ビュー間予測動きベクトルとビュー間ディスパリティ動きベクトルの両方が利用可能であるとき、ビデオコーダは、空間／時間マージング候補の動きの複雑さに基づいて、ビュー間予測動きベクトルとビュー間ディスパリティ動きベクトルとのうちのどちらをマージング候補リストに追加すべきかを決定し得る。たとえば、動きの複雑さが所与のしきい値よりも大きい場合、ビデオコーダは、マージング候補リストにビュー間ディスパリティ動きベクトルを追加し得る。そうでない場合、ビデオコーダは、マージング候補リストにビュー間予測動きベクトルを追加し得る。いくつかの例では、動きの複雑さは、動きベクトルの水平値と垂直値との２乗の和によって定義され得る。他の例では、動きの複雑さは、動きベクトルの水平値と垂直値との絶対値の和によって定義され得る。別の例では、ビュー間予測動きベクトルとビュー間ディスパリティ動きベクトルの両方が利用可能であるとき、ビデオコーダは、マージング候補リストにビュー間予測動きベクトルとビュー間ディスパリティ動きベクトルの両方を追加し得る。
【０５２１】
[0235]上記のように、ビデオコーダは、本開示のいくつかの例示的な技法によれば、ディスパリティベクトル導出プロセス中に、隣接ブロックから複数の利用可能なディスパリティ動きベクトルを収集し得る。ビデオコーダは、導出されたディスパリティベクトルとしてディスパリティ動きベクトルの中間値（たとえば、中央値）または平均を使用し得る。いくつかの例では、複数の利用可能なディスパリティ動きベクトルは、空間／時間隣接ブロックからのすべての利用可能なディスパリティ動きベクトルであり得る。代替的に、複数の利用可能なディスパリティ動きベクトルは、空間／時間隣接ブロックからの最初のＮ個の利用可能なディスパリティ動きベクトルであり得、ここにおいて、Ｎは２、３、４、５および６であり得る。
【０５２２】
[0236]複数のディスパリティ動きベクトルの中間値（たとえば、中央値）は、その水平／垂直値がディスパリティ動きベクトルの水平／垂直値の中間値であるベクトルとして定義される。一代替形態では、中間ディスパリティベクトルの垂直値は０に設定される。別の代替形態では、ビデオコーダは、複数のディスパリティベクトルの水平値の中間値に等しい水平値を有する、複数のディスパリティ動きベクトルのうちのディスパリティベクトルに、中間ディスパリティ動きベクトルを設定し得る。中央値に等しい同じ水平値をもつ２つ以上のディスパリティ動きベクトルがあるとき、ビデオコーダは、最終ディスパリティベクトルとして第１の利用可能なディスパリティ動きベクトルを使用し得る。
【０５２３】
[0237]一例では、ディスパリティ動きベクトルは、隣接ブロックが使用する動きベクトルであり得、ディスパリティ動きベクトルはビュー間参照ピクチャを指し得る。代替例では、ビデオコーダはまた、現在ＰＵの空間隣接ＰＵまたは時間隣接ＰＵがビュー間動き予測において使用する暗黙的ディスパリティベクトルを、ディスパリティ動きベクトルと見なし得る。現在ＰＵの空間的または時間的に隣接するＰＵが、ビュー間動き予測を使用してコーディングされる場合、空間的または時間的に隣接するＰＵのディスパリティベクトルは暗黙的ディスパリティベクトルである。
【０５２４】
[0238]本開示の別の例示的な技法によれば、ビデオコーダは、マージモードで適応ビュー間候補位置を使用し得る。たとえば、マージ／スキップモードでは、ビデオコーダは、空間隣接ブロックの情報に基づいて、マージング候補リスト中に、第１の利用可能な空間マージング候補の後の位置においてビュー間候補を挿入すべきか、または前の位置においてビュー間候補を挿入すべきかを決定し得る。ビュー間候補は、ビュー間予測動きベクトルまたはビュー間ディスパリティ動きベクトルであり得る。すなわち、マージング候補リスト中へのビュー間候補のエントリは、空間隣接ブロックの動き情報に基づき得る。
【０５２５】
[0239]空間隣接ブロック（たとえば、Ａ0、Ｂ0、Ａ1、Ｂ1、Ｂ2）のＫ個の動きベクトルが時間参照ピクチャを指し、動きベクトルのうちのＪ個がビュー間参照ピクチャを指すと仮定する。ＫがＪよりも小さく、また、ビュー間候補が時間参照ピクチャを指す（ビュー間予測動きベクトルが追加される）場合、または、ＫがＪよりも大きく、ビュー間候補がビュー間参照ピクチャを指す（ビュー間ディスパリティベクトルが追加される）場合、ビデオコーダは、マージング候補リスト中のＭ番目の空間マージング候補の後にマージング候補を挿入し得る。様々な例では、Ｍは１、２、３、４などであり得る。
【０５２６】
[0240]代替例では、以下の条件のうちの１つが真である場合、ビデオコーダは、第１の利用可能な空間マージング候補の後にビュー間候補を挿入し得る。
【０５２７】
・  第１の利用可能な空間マージング候補の動きベクトルが時間参照ピクチャを指し、ビュー間候補がビュー間参照ピクチャを指す。
【０５２８】
・  第１の利用可能な空間マージング候補の動きベクトルがビュー間参照ピクチャを指し、ビュー間候補が時間参照ピクチャを指す。
【０５２９】
上記の条件の両方が真でないとき、ビデオコーダは、すべての空間マージング候補の前にビュー間候補を挿入し得る。
【０５３０】
[0241]図９は、本開示の１つまたは複数の技法による、ビデオデコーダ３０の例示的な動作を示すフローチャートである。図９の例では、第１の参照インデックス値が、現在ピクチャの現在ＰＵに関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示す。いくつかの例では、第１の参照インデックス値は０に等しい。コロケートピクチャのコロケートＰＵの参照インデックスは、コロケートピクチャのコロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示す。
【０５３１】
[0242]図９の例では、ビデオデコーダ３０は、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するかどうかを決定する（２００）。一例では、第１の参照ピクチャの参照ピクチャタイプは、時間参照ピクチャタイプまたはディスパリティ参照ピクチャタイプのうちの１つであり得る。この例では、第２の参照ピクチャの参照ピクチャタイプは、時間参照ピクチャタイプとディスパリティ参照ピクチャタイプとのうちの１つであり得る。別の例では、第１の参照ピクチャの参照ピクチャタイプは、短期参照ピクチャタイプまたは長期参照ピクチャタイプのうちの１つである。この例では、第２の参照ピクチャの参照ピクチャタイプは、短期参照ピクチャタイプと長期参照ピクチャタイプとのうちの１つである。参照ピクチャが現在ピクチャのためのＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅまたはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ参照ピクチャサブセット中に（または、いくつかの例では、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌＢｅｆｏｒｅまたはＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌＡｆｔｅｒ参照ピクチャサブセット中に）ある場合、参照ピクチャは短期参照ピクチャタイプに属し得る。参照ピクチャが現在ピクチャのためのＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中に（または、いくつかの例では、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセット中に）ある場合、参照ピクチャは長期参照ピクチャタイプに属し得る。
【０５３２】
[0243]第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき（「２００」のＹＥＳ）、ビデオデコーダ３０は、時間マージング候補の参照インデックスを第２の参照インデックス値に設定する（２０２）。第２の参照インデックス値は第１の参照インデックス値とは異なり得る。第２の参照インデックス値は、現在ピクチャに関連する参照ピクチャリスト内の、第３の参照ピクチャの位置を示し得る。いくつかの例では、第３の参照ピクチャと第２の参照ピクチャとは同じ参照ピクチャタイプに属する。しかしながら、第１の参照ピクチャと第２の参照ピクチャとが同じ参照ピクチャタイプに属するとき、時間マージング候補の参照インデックスは第１の参照インデックス値に等しいままであり得る。さらに、いくつかの例では、第２の参照インデックス値はスライスヘッダ中でシグナリングされる。
【０５３３】
[0244]いくつかの例では、第１の参照ピクチャが時間参照ピクチャタイプに属し、第２の参照ピクチャがディスパリティ参照ピクチャタイプに属するとき、ビデオデコーダ３０は、時間マージング候補の参照インデックスがディスパリティ参照ピクチャの参照ピクチャリスト中の最先の位置を示すように、時間マージング候補の参照インデックスを設定する。さらに、いくつかの例では、第１の参照ピクチャがディスパリティ参照ピクチャタイプに属し、第２の参照ピクチャが時間参照ピクチャタイプに属するとき、ビデオデコーダ３０は、時間マージング候補の参照インデックスが時間参照ピクチャの参照ピクチャリスト中の最先の位置を示すように、時間マージング候補の参照インデックスを設定し得る。
【０５３４】
[0245]上記のように、いくつかの例では、第１の参照ピクチャと第２の参照ピクチャの一方または両方は、短期参照ピクチャまたは長期参照ピクチャであり得る。いくつかのそのような例では、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、ビデオデコーダ３０は、時間マージング候補の参照インデックスが、第２の参照ピクチャと同じ参照ピクチャタイプに属する参照ピクチャを含んでいる参照ピクチャリスト中の最先の位置を示すように、時間マージング候補の参照インデックスを設定し得る。
【０５３５】
[0246]さらに、ビデオデコーダ３０は、時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定する（２０４）。いくつかの例では、ビデオデコーダ３０は、ビットストリームから、選択されたマージング候補のマージング候補リスト中の位置を示すシンタックス要素を取得し得る。ビデオデコーダ３０は、選択されたマージング候補によって指定される動き情報に少なくとも部分的に基づいて、現在ビデオユニットのための予測ブロックを決定する（２０６）。さらに、ビデオデコーダ３０は、現在ビデオユニットのための予測ブロックに少なくとも部分的に基づいて、再構成されたサンプルブロックを生成する（２０８）。
【０５３６】
[0247]図１０は、本開示の１つまたは複数の技法による、ビデオエンコーダ２０の例示的な動作を示すフローチャートである。図１０の例では、第１の参照インデックス値が、現在ピクチャの現在ＰＵに関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示す。いくつかの例では、第１の参照インデックス値は０に等しい。コロケートピクチャのコロケートＰＵの参照インデックスは、コロケートピクチャのコロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示す。
【０５３７】
[0248]さらに、図１０の例では、ビデオエンコーダ２０は、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するかどうかを決定する（２５０）。一例では、第１の参照ピクチャの参照ピクチャタイプは、時間参照ピクチャタイプまたはディスパリティ参照ピクチャタイプのうちの１つであり得る。この例では、第２の参照ピクチャの参照ピクチャタイプは、時間参照ピクチャタイプとディスパリティ参照ピクチャタイプとのうちの１つであり得る。別の例では、第１の参照ピクチャの参照ピクチャタイプは、短期参照ピクチャタイプまたは長期参照ピクチャタイプのうちの１つである。この例では、第２の参照ピクチャの参照ピクチャタイプは、短期参照ピクチャタイプと長期参照ピクチャタイプとのうちの１つである。
【０５３８】
[0249]第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき（「２５０」のＹＥＳ）、ビデオエンコーダ２０は、時間マージング候補の参照インデックスを第２の参照インデックス値に設定する（２５２）。第２の参照インデックス値は第１の参照インデックス値とは異なり得る。第２の参照インデックス値は、現在ピクチャに関連する参照ピクチャリスト内の、第３の参照ピクチャの位置を示し得る。いくつかの例では、第３の参照ピクチャと第２の参照ピクチャとは同じ参照ピクチャタイプに属する。しかしながら、第１の参照ピクチャと第２の参照ピクチャとが同じ参照ピクチャタイプに属するとき、時間マージング候補の参照インデックスは第１の参照インデックス値に等しいままであり得る。さらに、いくつかの例では、第２の参照インデックス値はスライスヘッダ中でシグナリングされる。
【０５３９】
[0250]いくつかの例では、第１の参照ピクチャが時間参照ピクチャタイプに属し、第２の参照ピクチャがディスパリティ参照ピクチャタイプに属するとき、ビデオエンコーダ２０は、時間マージング候補の参照インデックスがディスパリティ参照ピクチャの参照ピクチャリスト中の最先の位置を示すように、時間マージング候補の参照インデックスを設定する。さらに、いくつかの例では、第１の参照ピクチャがディスパリティ参照ピクチャタイプに属し、第２の参照ピクチャが時間参照ピクチャタイプに属するとき、ビデオエンコーダ２０は、時間マージング候補の参照インデックスが時間参照ピクチャの参照ピクチャリスト中の最先の位置を示すように、時間マージング候補の参照インデックスを設定し得る。
【０５４０】
[0251]上記のように、いくつかの例では、第１の参照ピクチャと第２の参照ピクチャの一方または両方は、短期参照ピクチャまたは長期参照ピクチャであり得る。いくつかのそのような例では、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、ビデオエンコーダ２０は、時間マージング候補の参照インデックスが、第２の参照ピクチャと同じ参照ピクチャタイプに属する参照ピクチャを含んでいる参照ピクチャリスト中の最先の位置を示すように、時間マージング候補の参照インデックスを設定し得る。
【０５４１】
[0252]一方、いくつかの例では、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属しないとき（「２５０」のＮＯ）、または時間マージング候補の参照インデックスを第２の参照インデックス値に設定した後に、ビデオエンコーダ２０は、時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定する（２５４）。いくつかの例では、ビデオエンコーダ２０は、レート／ひずみ分析に基づいて、選択されたマージング候補を決定し得る。さらに、ビデオエンコーダ２０は、マージング候補リスト中の選択されたマージング候補を識別するデータを含むビットストリームを生成する（２５６）。
【０５４２】
[0253]図１１は、本開示の１つまたは複数の例示的な技法による、ビデオエンコーダ２０の例示的な動作を示すフローチャートである。図１１の例では、ビデオエンコーダ２０はビデオデータを受信する（３００）。ビデオエンコーダ２０は、ビデオデータの各ピクチャについてボックス３０２中のアクションを実行し得る。図１１の例では、ビデオエンコーダ２０は、現在ピクチャのための参照ピクチャサブセットを決定する（３０４）。ビデオエンコーダ２０は、現在ピクチャの各ＰスライスまたはＢスライスについてボックス３０６中のアクションを実行し得る。たとえば、ビデオエンコーダ２０は、現在スライスのための１つまたは複数の参照ピクチャリストを生成する（３０８）。ビデオエンコーダ２０は、現在スライスの各ＣＵについてボックス３１０中のアクションを実行し得る。さらに、ビデオエンコーダ２０は、現在ＣＵの各ＰＵについてボックス３１２中のアクションを実行し得る。図１１の例では、ビデオエンコーダ２０は、現在ＰＵのマージング候補リストのための空間マージング候補を生成する（３１４）。さらに、ビデオエンコーダ２０は、現在ＰＵのマージング候補リストのための時間マージング候補を生成する（３１６）。ビデオエンコーダ２０は、本開示の技法のいずれかに従って時間マージング候補を生成し得る。さらに、ビデオエンコーダ２０は、現在ＣＵの他のシンタックス構造を生成する（３１８）。ビデオエンコーダ２０は、ビデオデータの符号化表現を含むビットストリームを生成する（３２０）。ビデオデータの符号化表現は、ＰＵのマージング候補リスト中の選択されたマージング候補を示すシンタックス要素を含み得る。
【０５４３】
[0254]図１２は、本開示の１つまたは複数の例示的な技法による、ビデオデコーダ３０の例示的な動作を示すフローチャートである。図１２の例では、ビデオデコーダ３０は、ビデオデータの符号化表現を含むビットストリームを受信する（３５０）。ビデオデコーダ３０は、ビデオデータの各ピクチャについてボックス３５２中のアクションを実行し得る。図１２の例では、ビデオデコーダ３０は、現在ピクチャのための参照ピクチャサブセットを決定する（３５４）。ビデオデコーダ３０は、現在ピクチャの各ＰスライスまたはＢスライスについてボックス３５６中のアクションを実行し得る。たとえば、ビデオデコーダ３０は、現在スライスのための１つまたは複数の参照ピクチャリストを生成する（３５８）。ビデオデコーダ３０は、現在スライスの各ＣＵについてボックス３６０中のアクションを実行し得る。さらに、ビデオデコーダ３０は、現在ＣＵの各ＰＵについてボックス３６２中のアクションを実行し得る。図１２の例では、ビデオデコーダ３０は、現在ＰＵのマージング候補リストのための空間マージング候補を生成する（３６４）。さらに、ビデオデコーダ３０は、現在ＰＵのマージング候補リストのための時間マージング候補を生成する（３６６）。ビデオデコーダ３０は、本開示の技法のいずれかに従って時間マージング候補を生成し得る。さらに、ビデオデコーダ３０は、現在ＣＵのコーディングブロックを再構成する（３６８）。いくつかの事例では、ビデオデコーダ３０は、現在ＣＵのコーディングブロックを再構成するために、マージング候補リスト中の選択されたマージング候補によって指定される動き情報を使用し得る。各ピクチャの各スライスのＣＵのコーディングブロックを再構成することによって、ビデオデコーダ３０はビデオデータを再構成し得る。ビデオデコーダ３０はビデオデータを出力する（３７０）。
【０５４４】
[0255]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０５４５】
[0256]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０５４６】
[0257]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０５４７】
[0258]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、適切なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０５４８】
[0259]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビデオデータを復号する方法であって、
第１の参照インデックス値が、現在ピクチャの現在予測ユニット（ＰＵ）に関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示し、
コロケートピクチャのコロケートＰＵの参照インデックスが、前記コロケートピクチャの前記コロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示し、
前記方法は、
前記第１の参照ピクチャと前記第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、時間マージング候補の参照インデックスを第２の参照インデックス値に設定することと、前記第２の参照インデックス値が前記第１の参照インデックス値とは異なることと、
前記時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定することと、
前記選択されたマージング候補によって指定される動き情報に少なくとも部分的に基づいて、前記現在ＰＵのための予測ブロックを決定することと、
前記現在ＰＵのための前記予測ブロックに少なくとも部分的に基づいて、再構成されたサンプルブロックを生成することと、
を備える、
方法。
［Ｃ２］  前記第１の参照ピクチャと前記第２の参照ピクチャとが同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に等しいままである、Ｃ１に記載の方法。
［Ｃ３］  前記第１の参照インデックス値が０に等しい、Ｃ１に記載の方法。
［Ｃ４］  前記第２の参照インデックス値が、前記現在ピクチャの前記現在ＰＵに関連する前記参照ピクチャリスト内の、第３の参照ピクチャの位置を示し、
前記第３の参照ピクチャと前記第２の参照ピクチャとが同じ参照ピクチャタイプに属する、
Ｃ１に記載の方法。
［Ｃ５］  前記第３の参照ピクチャが、前記現在ピクチャの前記現在ＰＵに関連する前記参照ピクチャリスト内の、前記第２の参照ピクチャと同じ参照ピクチャタイプに属する最先の参照ピクチャである、Ｃ４に記載の方法。
［Ｃ６］  前記第２の参照インデックス値がスライスヘッダ中でシグナリングされる、Ｃ４に記載の方法。
［Ｃ７］  前記第１の参照ピクチャの参照ピクチャタイプが、短期参照ピクチャタイプと長期参照ピクチャタイプとのうちの１つであり、
前記第２の参照ピクチャの参照ピクチャタイプが、前記短期参照ピクチャタイプと前記長期参照ピクチャタイプとのうちの１つである、
Ｃ１に記載の方法。
［Ｃ８］  前記第１の参照ピクチャの参照ピクチャタイプが、時間参照ピクチャタイプとディスパリティ参照ピクチャタイプとのうちの１つであり、
前記第２の参照ピクチャの参照ピクチャタイプが、前記時間参照ピクチャタイプと前記ディスパリティ参照ピクチャタイプとのうちの１つである、
Ｃ１に記載の方法。
［Ｃ９］  前記コロケートＰＵが、前記コロケートピクチャのコロケート領域の中心ブロックをカバーするＰＵであるか、または前記コロケートピクチャの前記コロケート領域の右下ブロックをカバーするＰＵであり、前記コロケート領域が前記現在ＰＵとコロケートされる、Ｃ１に記載の方法。
［Ｃ１０］  前記コロケートピクチャが、前記現在ピクチャとは異なる時間インスタンスに関連する、Ｃ１に記載の方法。
［Ｃ１１］  ビデオデータを符号化する方法であって、
第１の参照インデックス値が、現在ピクチャの現在予測ユニット（ＰＵ）に関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示し、
コロケートピクチャのコロケートＰＵの参照インデックスが、前記コロケートピクチャの前記コロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示し、
前記方法は、
前記第１の参照ピクチャと前記第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、時間マージング候補の参照インデックスを第２の参照インデックス値に設定することと、前記第２の参照インデックス値が前記第１の参照インデックス値とは異なることと、
前記時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定することと、
前記マージング候補リスト内の前記選択されたマージング候補を識別するデータを含むビットストリームを生成することと、
を備える、
方法。
［Ｃ１２］  前記第１の参照ピクチャと前記第２の参照ピクチャとが同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に等しいままである、Ｃ１１に記載の方法。
［Ｃ１３］  前記第１の参照インデックス値が０に等しい、Ｃ１１に記載の方法。
［Ｃ１４］  前記第２の参照インデックス値が、前記現在ピクチャの前記現在ＰＵに関連する前記参照ピクチャリスト内の、第３の参照ピクチャの位置を示し、
前記第３の参照ピクチャと前記第２の参照ピクチャとが同じ参照ピクチャタイプに属する、
Ｃ１１に記載の方法。
［Ｃ１５］  前記第３の参照ピクチャが、前記現在ピクチャの前記現在ＰＵに関連する前記参照ピクチャリスト内の、前記第２の参照ピクチャと同じ参照ピクチャタイプに属する最先の参照ピクチャである、Ｃ１４に記載の方法。
［Ｃ１６］  前記第２の参照インデックス値をスライスヘッダ中でシグナリングすることをさらに備える、Ｃ１４に記載の方法。
［Ｃ１７］  前記第１の参照ピクチャの参照ピクチャタイプが、短期参照ピクチャタイプと長期参照ピクチャタイプとのうちの１つであり、
前記第２の参照ピクチャの参照ピクチャタイプが、前記短期参照ピクチャタイプと前記長期参照ピクチャタイプとのうちの１つである、
Ｃ１１に記載の方法。
［Ｃ１８］  前記第１の参照ピクチャの参照ピクチャタイプが、時間参照ピクチャタイプとディスパリティ参照ピクチャタイプとのうちの１つであり、
前記第２の参照ピクチャの参照ピクチャタイプが、前記時間参照ピクチャタイプと前記ディスパリティ参照ピクチャタイプとのうちの１つである、
Ｃ１１に記載の方法。
［Ｃ１９］  前記コロケートＰＵが、前記コロケートピクチャのコロケート領域の中心ブロックをカバーするＰＵであるか、または前記コロケートピクチャの前記コロケート領域の右下ブロックをカバーするＰＵであり、前記コロケート領域が前記現在ＰＵとコロケートされる、Ｃ１１に記載の方法。
［Ｃ２０］  前記コロケートピクチャが、前記現在ピクチャとは異なる時間インスタンスに関連する、Ｃ１１に記載の方法。
［Ｃ２１］  １つまたは複数のプロセッサを備えるビデオコーダであって、
第１の参照インデックス値が、現在ピクチャの現在予測ユニット（ＰＵ）に関連する参照ピクチャリスト内の、第１の参照ピクチャの位置を示し、
コロケートピクチャのコロケートＰＵの参照インデックスが、前記コロケートピクチャの前記コロケートＰＵに関連する参照ピクチャリスト内の、第２の参照ピクチャの位置を示し、
前記１つまたは複数のプロセッサは、前記第１の参照ピクチャと前記第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、前記１つまたは複数のプロセッサが、前記現在ＰＵのマージング候補リスト中の時間マージング候補の参照インデックスを第２の参照インデックス値に設定するように構成され、前記第２の参照インデックス値が前記第１の参照インデックス値とは異なる、
ビデオコーダ。
［Ｃ２２］  前記第１の参照ピクチャと前記第２の参照ピクチャとが同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に等しいままである、Ｃ２１に記載のビデオコーダ。
［Ｃ２３］  前記第１の参照インデックス値が０に等しい、Ｃ２１に記載のビデオコーダ。
［Ｃ２４］  前記第２の参照インデックス値が、前記現在ピクチャの前記現在ＰＵに関連する前記参照ピクチャリスト内の、第３の参照ピクチャの位置を示し、
前記第３の参照ピクチャと前記第２の参照ピクチャとが同じ参照ピクチャタイプに属する、
Ｃ２１に記載のビデオコーダ。
［Ｃ２５］  前記第３の参照ピクチャが、前記現在ピクチャの前記現在ＰＵに関連する前記参照ピクチャリスト内の、前記第２の参照ピクチャと同じ参照ピクチャタイプに属する最先の参照ピクチャである、Ｃ２４に記載のビデオコーダ。
［Ｃ２６］  前記第２の参照インデックス値がスライスヘッダ中でシグナリングされる、Ｃ２４に記載のビデオコーダ。
［Ｃ２７］  前記第１の参照ピクチャの参照ピクチャタイプが、短期参照ピクチャタイプと長期参照ピクチャタイプとのうちの１つであり、
前記第２の参照ピクチャの参照ピクチャタイプが、前記短期参照ピクチャタイプと前記長期参照ピクチャタイプとのうちの１つである、
Ｃ２１に記載のビデオコーダ。
［Ｃ２８］  前記第１の参照ピクチャの参照ピクチャタイプが、時間参照ピクチャタイプとディスパリティ参照ピクチャタイプとのうちの１つであり、
前記第２の参照ピクチャの参照ピクチャタイプが、前記時間参照ピクチャタイプと前記ディスパリティ参照ピクチャタイプとのうちの１つである、
Ｃ２１に記載のビデオコーダ。
［Ｃ２９］  前記コロケートＰＵが、前記コロケートピクチャのコロケート領域の中心ブロックをカバーするＰＵであるか、または前記コロケートピクチャの前記コロケート領域の右下ブロックをカバーするＰＵであり、前記コロケート領域が前記現在ＰＵとコロケートされる、Ｃ２１に記載のビデオコーダ。
［Ｃ３０］  前記コロケートピクチャが、前記現在ピクチャとは異なる時間インスタンスに関連する、Ｃ２１に記載のビデオコーダ。
［Ｃ３１］  前記１つまたは複数のプロセッサが、ビデオデータを符号化するように構成された、Ｃ２１に記載のビデオコーダ。
［Ｃ３２］  前記１つまたは複数のプロセッサが、
前記時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定することと、
前記マージング候補リスト内の前記選択されたマージング候補を識別するデータを含むビットストリームを生成することと
を行うように構成された、Ｃ３１に記載のビデオコーダ。
［Ｃ３３］  前記１つまたは複数のプロセッサが、ビデオデータを復号するように構成された、Ｃ２１に記載のビデオコーダ。
［Ｃ３４］  前記１つまたは複数のプロセッサが、
前記時間マージング候補を含むマージング候補リスト中の複数のマージング候補の中から選択されたマージング候補を決定することと、
前記選択されたマージング候補によって指定される動き情報に少なくとも部分的に基づいて、前記現在ＰＵのための予測ブロックを決定することと、
前記現在ＰＵのための前記予測ブロックに少なくとも部分的に基づいて、再構成されたサンプルブロックを生成することと
を行うように構成された、Ｃ３３に記載のビデオコーダ。
［Ｃ３５］  第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、現在予測ユニット（ＰＵ）のマージング候補リストの時間マージング候補の参照インデックスを第１の参照インデックス値に設定するための手段を備えるビデオコーダであって、
第２の参照インデックス値が、前記現在ＰＵに関連する参照ピクチャリスト内の、前記第１の参照ピクチャの位置を示し、前記第２の参照インデックス値が前記第１の参照インデックス値とは異なり、
コロケートピクチャのコロケートＰＵの参照インデックスが、前記コロケートＰＵに関連する参照ピクチャリスト内の、前記第２の参照ピクチャの位置を示す、
ビデオコーダ。
［Ｃ３６］  前記第１の参照ピクチャと前記第２の参照ピクチャとが同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に等しいままである、Ｃ３５に記載のビデオコーダ。
［Ｃ３７］  実行されたとき、第１の参照ピクチャと第２の参照ピクチャとが異なる参照ピクチャタイプに属するとき、現在予測ユニット（ＰＵ）のマージング候補リストの時間マージング候補の参照インデックスを第１の参照インデックス値に設定するようにビデオコーダに対して構成する命令を記憶したコンピュータ可読記憶媒体であって、
第２の参照インデックス値が、前記現在ＰＵに関連する参照ピクチャリスト内の、前記第１の参照ピクチャの位置を示し、前記第２の参照インデックス値が前記第１の参照インデックス値とは異なり、
コロケートピクチャのコロケートＰＵの参照インデックスが、前記コロケートＰＵに関連する参照ピクチャリスト内の、前記第２の参照ピクチャの位置を示す、
コンピュータ可読記憶媒体。
［Ｃ３８］  前記第１の参照ピクチャと前記第２の参照ピクチャとが同じ参照ピクチャタイプに属するとき、前記時間マージング候補の前記参照インデックスが前記第１の参照インデックス値に等しいままである、Ｃ３７に記載のコンピュータ可読記憶媒体。
【図１】
0006321003.tif 000002
【図２】
0006321003.tif 000003
【図３】
0006321003.tif 000004
【図４】
0006321003.tif 000005
【図５】
0006321003.tif 000006
【図６】
0006321003.tif 000007
【図７】
0006321003.tif 000008
【図８】
0006321003.tif 000009
【図９】
0006321003.tif 000010
【図１０】
0006321003.tif 000011
【図１１】
0006321003.tif 000012
【図１２】
0006321003.tif 000013