(57)【要約】  インター予測処理中に動きベクトル差分（ＭＶＤ）をコーディングする。例示的な技法は、２つ以上のＭＶＤコーディングおよび／またはシグナリング技法の中から、ＭＶＤのための特定のコーディングおよび／またはシグナリング方法を決定することを含み得る。ビデオコーダ（例えば、ビデオエンコーダおよび／またはビデオデコーダ）は、ＭＶ精度、ピクチャ順序カウント（ＰＯＣ）差分、またはビデオデータのブロックの任意の他の既にコード化／復号された情報を含む、ビデオデータまたはコーディング方法の特性に基づいて、特定のＭＶＤコーディングおよび／またはシグナリング技法を決定し得る。【選択図】図９
2019533363.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
ビデオデータの符号化ブロックを受信することと、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することと、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号することと
を備える、方法。
【請求項２】
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備える、
請求項１に記載の方法。
【請求項３】
前記２つ以上の二値化技法は、指数ゴロムコーディング、単項コーディング、または固定長コーディングのうちの少なくとも１つを含む、
請求項２に記載の方法。
【請求項４】
前記２つ以上の二値化技法は、Ｋ次指数ゴロムコーディングを含み、前記ＭＶＤコーディング技法を決定することは、
スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用される前記Ｋ次指数ゴロムコーディングについてのＫの値を決定すること
を備える、請求項３に記載の方法。
【請求項５】
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定することを備える、
請求項２に記載の方法。
【請求項６】
前記方法は、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が１／４ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
請求項５に記載の方法。
【請求項７】
前記方法は、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が整数ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
請求項５に記載の方法。
【請求項８】
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、二値化技法を前記２つ以上の二値化技法から決定すること
を備える、請求項２に記載の方法。
【請求項９】
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素をエントロピーコーディングするために使用されるコンテキストの２つ以上のセットを備える、
請求項１に記載の方法。
【請求項１０】
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、コンテキストのセットをコンテキストの前記２つ以上のセットから決定することを備える、
請求項９に記載の方法。
【請求項１１】
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、コンテキストの前記セットをコンテキストの前記２つ以上のセットから決定することを備える、
請求項９に記載の方法。
【請求項１２】
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することは、
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することを備える、
請求項１に記載の方法。
【請求項１３】
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することは、
前記ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素を復号することと、
前記ＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素を復号することと
を備える、請求項１２に記載の方法。
【請求項１４】
ビデオデータを復号するように構成された装置であって、前記装置は、
ビデオデータの符号化ブロックを記憶するように構成されたメモリと、
ビデオデータの前記符号化ブロックを受信することと、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することと、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
【請求項１５】
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備える、
請求項１４に記載の装置。
【請求項１６】
前記２つ以上の二値化技法は、指数ゴロムコーディング、単項コーディング、または固定長コーディングのうちの少なくとも１つを含む、
請求項１５に記載の装置。
【請求項１７】
前記２つ以上の二値化技法は、Ｋ次指数ゴロムコーディングを含み、前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、
スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用される前記Ｋ次指数ゴロムコーディングについてのＫの値を決定する
ようにさらに構成される、
請求項１６に記載の装置。
【請求項１８】
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定するようにさらに構成される、
請求項１５に記載の装置。
【請求項１９】
前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が１／４ピクセル精度であると決定することと、
前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することと
を行うようにさらに構成される、請求項１８に記載の装置。
【請求項２０】
前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が整数ピクセル精度であると決定することと、
前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することと
を行うようにさらに構成される、請求項１８に記載の装置。
【請求項２１】
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、二値化技法を前記２つ以上の二値化技法から決定すること
を行うようにさらに構成される、請求項１５に記載の装置。
【請求項２２】
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素をエントロピーコーディングするために使用されるコンテキストの２つ以上のセットを備える、
請求項１４に記載の装置。
【請求項２３】
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、コンテキストのセットをコンテキストの前記２つ以上のセットから決定すること
を行うようにさらに構成される、請求項２２に記載の装置。
【請求項２４】
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、コンテキストの前記セットをコンテキストの前記２つ以上のセットから決定するようにさらに構成される、
請求項２２に記載の装置。
【請求項２５】
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号するために、前記１つまたは複数のプロセッサは、
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することを行うようにさらに構成される、
請求項１４に記載の装置。
【請求項２６】
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号するために、前記１つまたは複数のプロセッサは、
前記ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素を復号することと、
前記ＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素を復号することと
を行うようにさらに構成される、請求項２５に記載の装置。
【請求項２７】
前記装置は、ワイヤレス通信デバイスを備え、ビデオデータの前記符号化ブロックを受信するように構成された受信機をさらに備える、
請求項１４に記載の装置。
【請求項２８】
前記ワイヤレス通信デバイスは、電話ハンドセットを備え、前記受信機は、ワイヤレス通信規格にしたがって、ビデオデータの前記符号化ブロックを備える信号を復調するように構成される、
請求項２７に記載の装置。
【請求項２９】
ビデオデータの前記復号されたブロックを示すピクチャを出力するように構成されたディスプレイをさらに備える、
請求項１４に記載の装置。
【請求項３０】
ビデオデータを復号するように構成された装置であって、前記装置は、
ビデオデータの符号化ブロックを受信するための手段と、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信するための手段と、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定するための手段と、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号するための手段と、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号するための手段と
を備える、装置。
【請求項３１】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオデータを復号するように構成されたデバイスの１つまたは複数のプロセッサに、
ビデオデータの前記符号化ブロックを受信することと、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することと、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号することと
を行わせる、コンピュータ可読記憶媒体。
【請求項３２】
ビデオデータを符号化する方法であって、前記方法は、
インター予測モードにしたがってビデオデータのブロックを符号化することと、
ビデオデータの前記ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を決定することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す１つまたは複数のシンタックス要素を符号化することと
を備える、方法。
【請求項３３】
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備える、
請求項３２に記載の方法。
【請求項３４】
前記２つ以上の二値化技法は、指数ゴロムコーディング、単項コーディング、または固定長コーディングのうちの少なくとも１つを含む、
請求項３３に記載の方法。
【請求項３５】
前記２つ以上の二値化技法は、Ｋ次指数ゴロムコーディングを含み、前記ＭＶＤコーディング技法を決定することは、
スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用される前記Ｋ次指数ゴロムコーディングについてのＫの値を決定することを備える、
請求項３４に記載の方法。
【請求項３６】
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定することを備える、
請求項３３に記載の方法。
【請求項３７】
前記方法は、
ビデオデータの前記ブロックについての前記動きベクトル精度が１／４ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
請求項３６に記載の方法。
【請求項３８】
前記方法は、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が整数ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
請求項３６に記載の方法。
【請求項３９】
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、二値化技法を前記２つ以上の二値化技法から決定すること
を備える、請求項３３に記載の方法。
【請求項４０】
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素をエントロピーコーディングするために使用されるコンテキストの２つ以上のセットを備える、
請求項３２に記載の方法。
【請求項４１】
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、コンテキストのセットをコンテキストの前記２つ以上のセットから決定すること
を備える、請求項４０に記載の方法。
【請求項４２】
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、コンテキストの前記セットをコンテキストの前記２つ以上のセットから決定することを備える、
請求項４０に記載の方法。
【請求項４３】
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を符号化することは、
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を符号化することを備える、
請求項３２に記載の方法。
【請求項４４】
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を符号化することは、
前記ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素を符号化することと、
前記ＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素を符号化することと
を備える、請求項４３に記載の方法。
【請求項４５】
ビデオデータを符号化するように構成された装置であって、前記装置は、
ビデオデータのブロックを記憶するように構成されたメモリと、
インター予測モードにしたがってビデオデータの前記ブロックを符号化することと、
ビデオデータの前記ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を決定することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す１つまたは複数のシンタックス要素を符号化することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
【請求項４６】
ビデオデータの前記ブロックを示すピクチャをキャプチャするように構成されたカメラ
をさらに備える、請求項４５に記載の装置。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]本願は、２０１６年９月２９日付で出願された米国仮特許出願第６２／４０１，６９２号の利益を主張し、その全内容が、参照により本明細書に組み込まれている。
【技術分野】
【０００２】
[0002]本開示は、ビデオコーディングに関し、より具体的には、インター予測ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ Ｈ．２６３またはＩＴＵ−Ｔ Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ Ｖｉｄｅｏ Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているものなどの、ビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を行う。ブロックベースのビデオコーディングでは、ビデオフレームまたはスライスは、マクロブロックに区分され得る。各マクロブロックは、さらに区分され得る。イントラコーディングされた（Ｉ）フレームまたはスライス中のマクロブロックは、隣接するマクロブロックに関する空間的予測を使用して符号化される。インターコーディングされた（ＰまたはＢ）フレームまたはスライス中のマクロブロックは、同じフレームまたはスライス中の隣接マクロブロックに関する空間的予測、または他の参照フレームに関する時間的予測を使用し得る。
【発明の概要】
【０００５】
[0005]概して、本開示は、インター予測処理中に動きベクトル差分（ＭＶＤ）をコーディングするための技法を説明する。本開示の例示的な技法は、２つ以上のＭＶＤコーディングおよび／またはシグナリング技法の中から、ＭＶＤのための特定のコーディングおよび／またはシグナリング方法／技法を決定することを含み得る。ビデオコーダ（例えば、ビデオエンコーダおよび／またはビデオデコーダ）は、ＭＶ精度、ピクチャ順序カウント（ＰＯＣ）差分、ビデオデータのブロックの任意の他の既にコード化／復号された情報を含む、ビデオデータまたはコーディング方法の特性に基づいて、特定のＭＶＤコーディングおよび／またはシグナリング技法を決定し得る。
【０００６】
[0006]本開示の一例では、ビデオデータを復号する方法は、ビデオデータの符号化ブロックを受信することと、ビデオデータの符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素を復号することと、復号されたＭＶＤを使用してビデオデータの符号化ブロックを復号することと、を備える。
【０００７】
[0007]本開示の別の例では、ビデオデータの符号化ブロックを記憶するように構成されたメモリと、ビデオデータの符号化ブロックに関連付けられたＭＶＤを示す１つまたは複数のシンタックス要素を受信することと、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素を復号することと、復号されたＭＶＤを使用してビデオデータの符号化ブロックを復号することと、を行うように構成された１つまたは複数のプロセッサと、を備える。
【０００８】
[0008]本開示の別の例では、ビデオデータを復号するように構成された装置は、ビデオデータの符号化ブロックを受信するための手段と、ビデオデータの符号化ブロックに関連付けられたＭＶＤを示す１つまたは複数のシンタックス要素を受信するための手段と、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定するための手段と、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素を復号するための手段と、復号されたＭＶＤを使用してビデオデータの符号化ブロックを復号するための手段と、を備える。
【０００９】
[0009]別の例では、本開示は、命令を記憶するコンピュータ可読記憶媒体を開示し、命令は、実行されると、ビデオデータを復号するように構成されたデバイスの１つまたは複数のプロセッサに、ビデオデータの符号化ブロックを受信することと、ビデオデータの符号化ブロックに関連付けられたＭＶＤを示す１つまたは複数のシンタックス要素を受信することと、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素を復号することと、復号されたＭＶＤを使用してビデオデータの符号化ブロックを復号することと、を行わせる。
【００１０】
[0010]本開示の別の例では、ビデオデータを符号化する方法は、インター予測モードにしたがってビデオデータのブロックを符号化することと、ビデオデータのブロックに関連付けられたＭＶＤを決定することと、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素を符号化することと、を備える。
【００１１】
[0011]１つまたは複数の例の詳細は、添付の図面および以下の説明中に記載されている。他の特徴、目的、および利点が、その記述および図面から、並びに、特許請求の範囲から明らかになるだろう。
【図面の簡単な説明】
【００１２】
【図１】図１は、本開示の技法を利用し得る例示的なビデオ符号化および復号システムを図示するブロック図である。
【図２】図２は、本開示の技法を実装するように構成され得るビデオエンコーダの例を図示するブロック図である。
【図３】図３は、本開示の技法を実装するように構成され得るビデオデコーダの例を図示するブロック図である。
【図４】図４は、フルピクセル位置に関する分数ピクセル位置を図示する概念図である。
【図５Ａ】図５Ａは、対応するクロミナンスおよびルミナンス画素位置を図示する概念図である。
【図５Ｂ】図５Ｂは、対応するクロミナンスおよびルミナンス画素位置を図示する概念図である。
【図５Ｃ】図５Ｃは、対応するクロミナンスおよびルミナンス画素位置を図示する概念図である。
【図６】図６は、デコーダサイド動きベクトル導出（ＤＭＶＤ）のための例示的なＬ字形状テンプレートマッチングの図である。
【図７】図７は、例示的なミラーベースの双方向ＭＶ導出を例示する概念図である。
【図８】図８は、本開示の技法に従った、例示的な符号化方法を図示するフローチャートである。
【図９】図９は、本開示の技法に従った、例示的な復号を図示するフローチャートである。
【発明の詳細な説明】
【００１３】
[0021]本開示は、ＭＶ差分（ＭＶＤ）の二値化、符号化、シグナリング、および復号のための技法を含む、動きベクトル（ＭＶ：motion vector）コーディングのための技法に関する。本明細書で説明される技法は、ＨＥＶＣの拡張または次世代のビデオコーディング規格などの、高度ビデオコーデック（advanced video codecs）のコンテキストにおいて使用され得る。
【００１４】
[0022]Ｈ．２６４およびＨ．２６５ビデオエンコーダおよびビデオデコーダは、１／４ピクセル精度を有する動きベクトルをサポートする。１／４ピクセル精度では、ＭＶまたはＭＶＤに関する連続するコードワード値間の差分は、ピクセル間の距離の１／４に等しい。同様に、１／８ピクセル予測では、ＭＶまたはＭＶＤに関する連続するコードワード値間の差分は、ピクセル間の距離の１／８に等しい。整数ピクセル精度では、ＭＶまたはＭＶＤに関する連続するコードワード値間の差分は、距離がフルピクセルに等しい。
【００１５】
[0023]使用されるピクセル精度は通常、シグナリングも導出もされないが、代わりに、固定される（例えば、あらかじめ構成されるか、またはあらかじめ決定される）。いくつかの例では、１／８ピクセル精度は、１／４ピクセル精度または整数ピクセル精度に対して、特定の利点を提供し得る。しかしながら、全ての動きベクトルを１／８ピクセル精度に符号化することは、多くのコーディングビットを使用する可能性があり、それは、さもなければ１／８ピクセル精度動きベクトルによって提供される利点を超えるものである。すなわち、１／８ピクセル精度においてＭＶまたはＭＶＤをシグナリングするために要求されるビットレートは、任意の歪み利得を上回る可能性がある。ビデオコンテンツのいくつかのタイプについては、補間をまったく用いずに、言い換えれば整数ピクセル精度のみを使用して動きベクトルをコーディングすることが好ましい可能性がある。
【００１６】
[0024]コンピュータによって生成されるコンテンツなどのスクリーンコンテンツ（例えば、テキストまたはシンプルな画像）は一般に、ピクセル値の鋭い変化が後に続く、全てがまったく同じピクセル値を有する一連のピクセルを含む。例えば、白色の背景上に青色のテキストを含んだスクリーンコンテンツでは、白色の背景が全て同じピクセル値を有する一方で、青色の文字を形成するピクセルもまた、全て同じピクセル値を有し得るが、白色のピクセル値は青色のピクセル値とは相当に異なり得る。カメラ捕捉コンテンツ（例えば、いわゆる風景画像）は対照的に、通常、動き、陰、照明の変化、および他の自然現象による、ピクセル値のゆっくりとした変化を含む。スクリーンコンテンツとカメラ捕捉コンテンツとが通常異なる特性を有するため、１つのタイプのコンテンツに対して効果的なコーディングツールは、他のタイプのコンテンツに対して必ずしも効果的である必要はないだろう。一例として、インター予測符号化のためのサブピクセル補間は、カメラコンテンツのコーディングを改善し得るが、関連した複雑さおよびシグナリングオーバーヘッドが、スクリーンコンテンツに対して実際にコーディング品質および／または帯域幅効率を低下させ得る。
【００１７】
[0025]いくつかの例では、本開示の技法は、例えば、コーディングされるビデオのコンテンツ（例えば、コンテンツのタイプ）に基づいて、動きベクトル精度を適応的に（adaptively）決定することを含み得る。いくつかの例では、本開示の技法は、エンコーダによって、コーディングされているビデオコンテンツについての適切な動きベクトル精度を導出することを含み得る。同じ導出技法を使用して、ビデオデコーダもまた、動きベクトル精度を示すシンタックス要素を受信することなく、いかなる動きベクトル精度がビデオデータを符号化するために使用されたかを決定し得る。他の例では、ビデオエンコーダは、符号化されたビデオビットストリームにおいて、ビデオエンコーダによって選択された動きベクトル精度をシグナリングし得る（および、ビデオデコーダは、それを受信し得る）。
【００１８】
[0026]動きベクトル精度を適応的に選択することは、より高精度の動きベクトル（例えば、１／４または１／８の精度の動きベクトル）の使用が、例えばより良好なレート歪みのトレードオフを生じさせることによってビデオコーディング品質を改善させるビデオコンテンツに対して、そのようなより高精度の動きベクトルを使用できるようにすることによって、全体的なビデオコーディング品質を改善し得る。動きベクトル精度を適応的に選択することはまた、より高精度の動きベクトルの使用がビデオコーディング品質を改善せず、さらには悪化させるビデオコンテンツに対して、より低精度の動きベクトル（例えば整数精度）の使用を可能にすることによって、全体的なビデオコーディング品質を改善し得る。
【００１９】
[0027]本開示はまた、２つ以上のＭＶＤコーディングおよび／またはシグナリング技法の中からの１つのＭＶＤコーディングおよび／またはシグナリング技法の決定を含む、ＭＶＤコーディングおよび／またはシグナリングに関する技法を説明する。ビデオコーダ（例えば、ビデオエンコーダおよび／またはビデオデコーダ）は、ＭＶ精度、ＰＯＣ差分、またはビデオデータのブロックの任意の他の既にコード化／復号された情報を含む、ビデオデータまたはコーディング方法の特性に基づいて、特定のＭＶＤコーディングおよび／またはシグナリング技法を決定し得る。
【００２０】
[0028]本開示における様々な技法は、ビデオコーダを参照して説明され得、それは、ビデオエンコーダまたはビデオデコーダのいずれかを指し得る総称となることを意図している。別段に記載されていない限り、ビデオエンコーダまたはビデオデコーダに関して説明される技法が、ビデオエンコーダまたはビデオデコーダの他方によって実施されることができないと仮定されるべきではない。例えば、多くの場合、ビデオデコーダは、符号化されたビデオデータを復号するために、ビデオエンコーダと同じ、またはいくつかのケースでは逆のコーディング技法を実施する。多くの場合、ビデオエンコーダはまたビデオ復号ループを含み、したがって、ビデオエンコーダは、ビデオデータを符号化することの一部として、ビデオ復号を実施する。したがって、別段に記載されていない限り、本開示においてビデオデコーダに関して説明される技法はまたビデオエンコーダによっても実施され得、その逆も同様である。
【００２１】
[0029]本開示はまた、現在レイヤ、現在ブロック、現在ピクチャ、現在スライスなどの用語を使用し得る。本開示のコンテキストにおいて、現在という用語は、例えば、前にコーディングされたレイヤ、ブロック、ピクチャ、およびスライス、またはまだコーディングされていないブロック、ピクチャ、およびスライスとは対照的に、現在コーディングされているレイヤ、ブロック、ピクチャ、スライスなどを識別することを意図している。
【００２２】
[0030]本開示の技法は、説明を容易にするために、ＨＥＶＣ専門用語を利用し得る。しかしながら、本開示の技法がＨＥＶＣに限定されると仮定されるべきではなく、実際は、本開示の技法が、ＨＥＶＣの後続の規格およびその拡張で実装され得ることは明確に予期される。
【００２３】
[0031]図１は、ＭＶおよび／またはＭＶＤをコーディングするための本開示の技法を利用し得る例示的なビデオ符号化および復号システム１０を図示するブロック図である。図１に示されるように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、広範囲のデバイスのいずれかを備え得る。いくつかのケースでは、ソースデバイス１２および宛先デバイス１４は、ワイヤレスハンドセット、いわゆるセルラ無線電話または衛星無線電話などのワイヤレス通信デバイス、あるいは通信チャネル１６を介してビデオ情報を通信することができる任意のワイヤレスデバイスを備え得、その場合、通信チャネル１６はワイヤレスである。しかしながら、一般に、動きベクトルの適応サブピクセル精度をサポートするための技法に関する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。例えば、これらの技法は、オーバージエア（over-the-air）テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用され得る。したがって、通信チャネル１６は、符号化されたビデオデータの送信に好適なワイヤレス媒体またはワイヤード媒体の任意の組合せを備え得る。
【００２４】
[0032]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によると、ソースデバイス１２のビデオエンコーダ２０は、ＭＶおよび／またはＭＶＤをコーディングおよび／またはシグナリングするために２つ以上の技法をサポートするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他のコンポーネントまたは配置を含み得る。例えば、ソースデバイス１２は、外部カメラなどの外部のビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、統合されたディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェースし得る。
【００２５】
[0033]図１の例示されたシステム１０は、一例にすぎない。ＭＶおよび／またはＭＶＤをコーディングおよび／またはシグナリングするための本開示の技法は、任意のデジタルビデオ符号化および／または復号デバイスによって行われ得る。一般に、本開示の技法は、ビデオ符号化デバイスによって行われるが、これらの技法は、通常は「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。さらに、本開示の技法は、ビデオプリプロセッサによっても行われ得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、宛先デバイス１４に送信するためのコード化ビデオデータを生成するそのようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化および復号コンポーネントを含むような実質的に対照な形で動作し得る。故に、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のためのソースデバイス１２と宛先デバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００２６】
[0034]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。いくつかのケースでは、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはビデオ付き電話を形成し得る。しかしながら、上記で述べたように、本開示で説明する技法は、概してビデオコーディングに適用可能であり、ワイヤレスおよび／またはワイヤードのアプリケーションに適用され得る。各ケースでは、キャプチャされた、事前にキャプチャされた、またはコンピュータで生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、通信規格にしたがってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他のコンポーネントを含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００２７】
[0035]宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８は情報を復調する。繰り返しになるが、ビデオ符号化処理は、ＭＶおよび／またはＭＶＤをコーディングするために本明細書で説明される複数の技法のうちの１つまたは複数を実装し得る。チャネル１６を介して通信される情報は、マクロブロックおよび他のコード化ユニット、例えば、ピクチャグループ（ＧＯＰ：groups of pictures）の特性および／または処理を記述するシンタックス要素を含む、ビデオデコーダ３０によっても使用される、ビデオエンコーダ２０によって定義されるシンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに表示し、陰極線管（ＣＲＴ：cathode ray tube）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのうちのいずれかを備え得る。
【００２８】
[0036]図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理送信ラインなどの任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組み合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、一般に、ワイヤードまたはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するための任意の好適な通信媒体、または異なる通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２９】
[0037]ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ Ｖｉｄｅｏ Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ Ｈ．２６４規格などのビデオ圧縮規格にしたがって動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例は、ＭＰＥＧ−２およびＩＴＵ−Ｔ Ｈ．２６３を含む。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は各々、オーディオエンコーダおよびオーディオデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ：user datagram protocol）などの他のプロトコルに準拠し得る。
【００３０】
[0038]ビデオコーディング規格は、ＩＴＵ−Ｔ Ｈ．２６１、ＩＳＯ／ＩＥＣ ＭＰＥＧ−１ Ｖｉｓｕａｌと、ＩＴＵ−Ｔ Ｈ．２６２またはＩＳＯ／ＩＥＣ ＭＰＥＧ−２Ｖｉｓｕａｌ、ＩＴＵ−Ｔ Ｈ．２６３、ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ Ｖｉｓｕａｌ、およびそのスケーラブルビデオコーディング（ＳＶＣ）拡張およびマルチビュービデオコーディング（ＭＶＣ）拡張を含む（ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ ＡＶＣとしても知られる）ＩＴＵ−Ｔ Ｈ．２６４とを含む。
【００３１】
[0039]加えて、新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）およびＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）のビデオコーディング共同研究部会（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって確定された。最新のＨＥＶＣドラフトの規格は、以下ＨＥＶＣ ＷＤと呼ばれ、http://phenix. int-evry. fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1. zipから利用できる。
【００３２】
[0040]ＩＴＵ−Ｔ ＶＣＥＧ（Ｑ６／１６）およびＩＳＯ／ＩＥＣ ＭＰＥＧ（ＪＴＣ １／ＳＣ ２９／ＷＧ １１）は、現在のＨＥＶＣ規格（スクリーンコンテンツコーディングおよび高い動的範囲のコーディングのためのその現在の拡張および近い将来の拡張を含む）のものを大幅に超える圧縮能力を有する、将来的なビデオコーディング技術の標準化のための潜在的必要性を現在研究している。これらのグループは、この分野におけるそれらの専門家によって提案された圧縮技術設計を評価するために、この調査活動において、ＪＶＥＴ（Joint Video Exploration Team）として知られる共同コラボレーションの試みで協働している。ＪＶＥＴは、最初に２０１５年１０月１９〜２１日に開かれた。そして、最新バージョンの基準ソフトウェア、すなわち、Joint Exploration Model 3（ＪＥＭ３．０）がhttps://jvet. hhi. fraunhofer. de/svn/svn_HMJEMSoftware/tags/HM-16. 6-JEM-3. 0/からダウンロードできるだろう。
【００３３】
[0041]Joint Exploration Test Model 3 （ＪＥＭ３．０）のアルゴリズム説明は、J.  Chen他、“Algorithm Description of Joint Exploration Test Model 3,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 3rd Meeting: Geneva, CH, 26 May - 1 June 2016, JVET-C1001で説明されている。
【００３４】
[0042]ビデオエンコーダ２０およびビデオデコーダ３０は、各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなどの、様々な好適なエンコーダ回路またはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
【００３５】
[0043]ビデオシーケンスは、通常、一連のビデオフレームを含む。ピクチャグループ（ＧＯＰ）は、一般に、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰに含まれるフレームの数を記述するシンタックスデータを、ＧＯＰのヘッダ、ＧＯＰの１つまたは複数のフレームのヘッダ、あるいは他の場所に含み得る。各フレームは、それぞれのフレームの符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。Ｈ．２６４に関して、ビデオブロックは、マクロブロックまたはマクロブロックのパーティションに対応し得る。ビデオブロックは、サイズを固定または変更し得、指定のコーディング規格にしたがってサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得、それらは、サブブロックとも呼ばれるパーティションに配置され得る。
【００３６】
[0044]一例として、ＩＴＵ−Ｔ Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８などの様々なブロックサイズでのイントラ予測をサポートし、並びにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８、および４×４、およびクロマ成分については対応するスケーリングされたサイズなどの様々なブロックサイズでのインター予測をサポートする。本開示では、「Ｎ×（ｘ）Ｎ」と「Ｎ×（ｂｙ）Ｎ」は、垂直および水平寸法に関するブロックのピクセル寸法（例えば、１６×（ｘ）１６ピクセルまたは１６×（ｂｙ）１６ピクセル）を指すように互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセル、水平方向にＮピクセルを有し、ここで、Ｎは非負の整数値を表す。ブロック中のピクセルは、行および列に配置され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有するとは限らない。例えば、ブロックはＮ×Ｍピクセルを備え得、この場合、Ｍは必ずしもＮに等しいとは限らない。
【００３７】
[0045]１６×１６よりも小さいブロックサイズは、１６×１６マクロブロックのパーティションと呼ばれ得る。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、例えば、コード化ビデオブロックと予測ビデオブロックとの間のピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。いくつかのケースでは、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
【００３８】
[0046]小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。概して、マクロブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックとみなされ得る。加えて、スライスは、マクロブロックおよび／またはサブブロックなど、複数のビデオブロックであるとみなされ得る。各スライスは、ビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ（ＧＯＰ）などの、ビデオフレームの任意の単独で復号可能なユニット、または適用可能なコーディング技法にしたがって定義される別の単独で復号可能なユニットを指し得る。
【００３９】
[0047]高効率ビデオコーディング（ＨＥＶＣ）と呼ばれる新しいビデオコーディング規格が最近に確定されている。ＨＥＶＣの拡張は、スクリーンコンテンツコーディング拡張を含む。ＨＥＶＣ規格化の試みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスのモデルに基づいていた。ＨＭは、例えば、ＩＴＵ−Ｔ Ｈ．２６４／ＡＶＣによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供する。
【００４０】
[0048]ＨＭは、ビデオデータのブロックをコーディングユニット（ＣＵ）と呼ぶ。ビットストリーム内のシンタックスデータは、最も大きいコーディングユニット（ＬＣＵ、コーディングツリーユニット（ＣＴＵ）とも呼ばれる）を定義し、ピクセルの数に関して最も大きいコーディングユニットである。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。したがって、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニットまたはＬＣＵのサブＣＵを指し得る。ＬＣＵはサブＣＵに分割され得、各サブＣＵはサブＣＵに分割され得る。ビットストリームのためのシンタックスデータは、ＣＵ深度と呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームはまた、最小コーディングユニット（ＳＣＵ）も定義し得る。本開示はまた、「ブロック」という用語を使用して、ＣＵ、ＰＵ、またはＴＵのいずれをも指す。さらに、本開示は、コーディングユニットまたはＣＵに関与する例に言及する場合、コーディングユニットの代わりにマクロブロックに関する他の例が与えられ得ることを理解されたい。
【００４１】
[0049]ＬＣＵは、４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ここで、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは４つのリーフノードを含み、その各々は、サブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのためのシンタックスデータを提供し得る。例えば、４分木中のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示すスプリットフラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００４２】
[0050]（例えば、４分木データ構造中のリーフノードに対応する）分割されないＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部を表し、そのＰＵ用の参照サンプルを検索するためのデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵに関するイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵに関する動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、整数ピクセル精度、１／４ピクセル精度、１／８ピクセル精度）、動きベクトルが指し示す参照フレーム、および／または動きベクトルの参照リスト（例えば、リスト０もしくはリスト１）を記述し得る。ＰＵを定義するＣＵ用のデータはまた、例えば、ＣＵを１つまたは複数のＰＵに区分化することを記述し得る。区分化モードは、ＣＵがコーディングされていないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかの間で異なり得る。
【００４３】
[0051]１つまたは複数のＰＵを有するＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。ＰＵを使用した予測の後に、ビデオエンコーダは、ＰＵに対応するＣＵの部分の残差値を計算し得る。残差値は変換され、量子化され、スキャンされ得る。ＴＵは、必ずしもＰＵのサイズに限定されるとは限らない。したがって、ＴＵは、同じＣＵ用の対応するＰＵよりも大きくてもまたは小さくてもよい。いくつかの例では、ＴＵの最大サイズは、ＴＵを含むＣＵのサイズに対応し得る。
【００４４】
[0052]インター予測を使用するＰＵをコーディングすることは、現在ブロックと参照ブロック中の１つのブロックとの間の動きベクトルを計算することを含む。動きベクトルは、動き推定（または動き探索）と呼ばれる処理を通じて計算される。動きベクトルは、例えば、参照フレームの参照サンプルに関連して現在フレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対差分和（ＳＡＤsum of absolute difference）、２乗差分和（ＳＳＤ：sum of squared difference）、または他の差分メトリックによって決定され得るピクセル差分に関してコード化されているＰＵを含むＣＵの一部にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこでも発生し得る。いくつかの例では、参照サンプルは、分数ピクセル位置で発生し得る。現在の部分に最もマッチする参照フレームの一部分を発見すると、エンコーダは、参照フレーム中の現在の部分からそのマッチング部分まで（すなわち、現在の部分の中心からマッチング部分の中心まで）のロケーションにおける差分として、現在の部分のための現在の動きベクトルを決定する。
【００４５】
[0053]いくつかの例では、ビデオエンコーダ２０は、符号化されたビデオビットストリームにおいて部分ごとの動きベクトルをシグナリングし得る。シグナリングされた動きベクトルは、ビデオデータを復号するために、動き補償を行うようビデオデコーダ３０によって使用される。しかしながら、当初の動きベクトルを直接シグナリングすることは、多数のビットが、通常は情報を搬送することを必要とするので、より小さい効率のコーディングを直接もたらし得る。
【００４６】
[0054]いくつかの例では、当初の動きベクトルを直接シグナリングするのではなく、ビデオエンコーダ２０が、（例えば、ＨＥＶＣ中のＰＵごとに）区分またはビデオブロックごとの動きベクトルを予測し得る。この動きベクトル予測を行う際に、ビデオエンコーダ２０は、参照フレーム（例えば、時間的動きベクトル予測子（ＭＶＰ：motion vector predictor））においてコロケートされたブロックから決定される候補動きベクトル、または現在の部分と同じフレーム中の空間的に隣接するブロックから決定される候補動きベクトルのセットを選択し得る。ビデオエンコーダ２０は、動きベクトル予測を行い、必要な場合、シグナリングの際にビットレートを低減するために、当初の動きベクトルをシグナリングするのではなく、予測差分（動きベクトル差分（ＭＶＤ）とも呼ばれる）をシグナリングし得る。空間的に隣接するブロックからの候補動きベクトルは、空間的ＭＶＰ候補と呼ばれ得、一方、別の参照フレームにおいてコロケートされたブロックからの候補動きベクトルは、時間的ＭＶＰ候補と呼ばれ得る。
【００４７】
[0055]動きベクトル予測の２つの異なるモードまたはタイプは、ＨＥＶＣ規格で使用される。一方のモードは、「マージ（merge）」モードと呼ばれる。他方のモードは、高度動きベクトル予測（ＡＭＶＰ）と呼ばれる。マージモードでは、ビデオエンコーダ２０は、フレームの現在の部分についての選択された候補動きベクトルから、動きベクトル、参照インデックス（動きベクトルが指し示す所与の参照ピクチャリスト中の参照フレームを識別する）、および動き予測方向（参照ピクチャリスト（リスト０またはリスト１）を識別する、すなわち、参照フレームが時間的に前進するか、または現在フレームに後続するかに関して）をコピーするよう、予測シンタックスのビットストリームシグナリングを通じてビデオデコーダ３０に指示する。これは、選択された候補動きベクトル（すなわち、特定の空間的ＭＶＰ候補または時間的ＭＶＰ候補）を識別する候補動きベクトルリストにインデックスをビットストリームにおいてシグナリングすることによって、達成される。よって、マージモードについて、予測シンタックスは、モード（このケースでは「マージ」モード）を識別するフラグ、選択された候補動きベクトルを識別するインデックスを含み得る。いくつかの例では、候補動きベクトルは、現在の部分を参照した因果的部分（causal portion）中にあるだろう。すなわち、候補動きベクトルは、ビデオデコーダ３０によって既に復号されているだろう。このように、ビデオデコーダ３０は、動きベクトル、参照インデックス、および因果的部分のための動き予測方向を既に受信および／または決定している。このように、デコーダは、メモリからの因果的部分に関連付けられた動きベクトル、参照インデックス、および予測方向を単に検索し、現在の部分についての動き情報としてそれらの値をコピーし得る。マージモードでブロックを再構成するために、デコーダは、現在の部分のための導出された動き情報を使用して予測ブロックを取得し、コード化されたブロックを再構成するために予測ブロックに残差データを追加する。
【００４８】
[0056]ＡＭＶＰでは、ビデオエンコーダ２０は、ビットストリームシグナリングを通じて、候補部分からの動きベクトルのみをコピーするよう、およびそのコピーされたベクトルを現在の部分の動きベクトルのための予測子として使用するよう、ビデオデコーダ３０に指示する。ビデオエンコーダ２０はまた、現在ブロックの動きベクトル予測に関連付けられた予測方向を、動きベクトル予測子のための参照フレームの参照インデックスに沿って、ビデオデコーダ３０にＭＶＤをシグナリングし、符号化する。ＭＶＤは、現在ブロックのための現在の動きベクトルと、候補ブロックから導出された動きベクトル予測子との間の差である。このケースでは、ビデオエンコーダ２０は、動き推定を使用して、コード化されるべきブロックのための実際の動きベクトルを決定し、次いで、実際の動きベクトルとＭＶＤ値としての動きベクトル予測子との間の差分を決定する。この方法では、ビデオデコーダ３０は、現在の動きベクトルとして候補動きベクトルの正確なコピーを使用しないが、マージモードの場合、むしろ、動き推定から決定された現在の候補動きベクトルへの値において「クローズ状態（close）」であり得る候補動きベクトルを使用し、現在の動きベクトルを再成するためにＭＶＤを追加する。ＡＭＶＰモードにおいてブロックを再構成するために、ビデオデコーダ３０は、コード化ブロックを再構成するために現在の動きベクトルによって指し示されたブロックに、対応する残差データを追加する。
【００４９】
[0057]最も多い状況では、ＭＶＤは、現在の動きベクトル全体よりも少ないビットをシグナリングすることを要求する。このように、ＡＭＶＰは、現在の動きベクトルのより多くの正確なシグナリングを可能にする一方、全部の動きベクトルを送ることによって、コーディング効率を維持する。対照的に、マージモードは、ＭＶＤの仕様（specification）を考慮せず、すなわち、マージモードは、増加したシグナリング効率（すなわち、より少ないビット）のための動きベクトルシグナリングの正確性を犠牲にする。ＡＭＶＰのための予測シンタックスは、そのモードについてのフラグ（このケースではＡＭＶＰフラグ）、候補ブロックについてインデックス、現在の動きベクトルと候補ブロックからの予測動きベクトルとの間のＭＶＤ、参照インデックス、および動き予測候補を含み得る。
【００５０】
[0058]本開示の例示的な技法によると、ビデオエンコーダ２０は、サブ整数精度および／または整数ピクセル精度を変化させる動きベクトルを有する１つまたは複数のＰＵを使用して、（例えば、インター予測を使用する）ＣＵをインターモード符号化し得る。例えば、ビデオエンコーダ２０は、コード化されているビデオデータのコンテンツに基づいて、ＰＵに対して、整数ピクセル精度または分数（例えば１／４または１／８）ピクセル精度を有する動きベクトルを使用することの間で選択し得る。本開示のいくつかの技法によると、ビデオエンコーダ２０は、コード化されたビデオデータのビットストリームに含めるために、ＰＵの動きベクトルに対するサブピクセル精度のインジケーション（indication）を生成することを必要としない場合がある。代わりに、ビデオデコーダ３０は、ビデオエンコーダ２０によって使用されるのと同じ導出技法を使用して、動きベクトル精度を導出し得る。本開示の他の技法によると、ビデオエンコーダ２０は、符号化されたビデオデータのビットストリーム中に、選択された動きベクトル精度を決定するためにビデオデコーダ３０が使用し得る１つまたは複数のシンタックス要素を含め得る。
【００５１】
[0059]（例えば、インター予測を行うとき）サブ整数ピクセル位置についての値を計算するために、ビデオエンコーダ２０は、様々な補間フィルタを含み得る。例えば、サブ整数ピクセル位置の値を計算するためにバイリニア補間（bilinear interpolation）が使用され得る。ビデオエンコーダ２０は、ＰＵのルミナンスデータに関する動き探索を行い、ＰＵのルミナンスデータを使用して動きベクトルを計算するように構成され得る。ビデオエンコーダ２０は、次いで、ＰＵのクロミナンスデータを符号化するために動きベクトルを再利用し得る。通常、クロミナンスデータは、対応するルミナンスデータよりも低い解像度、例えば、ルミナンスデータの１／４の解像度を有する。したがって、クロミナンスデータの動きベクトルは、ルミナンスデータについてよりも高い精度を有し得る。例えば、ビデオエンコーダ２０およびビデオデコーダ３０は、ルミナンスデータについての１／４ピクセル精度の動きベクトル（および計算されたＭＶＤ）を使用し得、クロミナンスデータのついての１／８ピクセル精度を使用し得る。同様に、ビデオエンコーダ２０およびビデオデコーダ３０は、ルミナンスデータについての１／８ピクセル精度動きベクトルを使用し得、クロミナンスデータについての１／１６ピクセル精度を使用し得る。
【００５２】
[0060]予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後に、および変換係数を生成するための（Ｈ．２６４／ＡＶＣにおいて使用される４×４または８×８整数変換、あるいは離散コサイン変換ＤＣＴなどの）任意の変換の後に、変換係数の量子化が実行され得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するためにその係数が量子化される処理を指す。量子化処理は、係数の一部または全てに関連付けられたビット深度を低減し得る。例えば、ｎビットの値は、量子化の間にｍビットの値に端数を丸められ得、ここで、ｎはｍよりも大きい。
【００５３】
[0061]量子化の後に、例えば、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ：content adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、または別のエントロピーコーディング方法にしたがって、量子化データのエントロピーコーディングが行われ得る。エントロピーコーディング用に構成された処理ユニット、または別の処理ユニットは、量子化係数のゼロランレングスコーディング、および／またはコード化ブロックパターン（ＣＢＰ：coded block pattern）値、マクロブロックタイプ、コーディングモード、ＬＣＵサイズなどのシンタックス情報の生成などの、他の処理機能を行い得る。
【００５４】
[0062]下記でより詳細に説明される本開示の技法によると、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定すること、および決定されたＭＶＤコーディング技法を使用してビデオデータのブロックのためにＭＶＤをコーディングすることを行うように構成され得る。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、使用されるＭＶＤ精度、参照フレームのＰＯＣ距離、ＭＶＤ精度とＰＯＣ距離との両方、および／または他のビデオコーディング特性に基づいて、ＭＶＤコーディング技法を決定するように構成され得る。本開示の技法は、一般に、コーディングＭＶＤを参照して説明される。しかしながら、本開示の技法はまた、動きベクトル全体にシグナリングするビデオコーディングシステムにも同様に適用され得る。
【００５５】
[0063]宛先デバイス１４のビデオデコーダ３０は、本開示のビデオエンコーダ２０の技法のいずれかまたは全てと同様の、一般に対称的な技法を実行するように構成され得る。
【００５６】
[0064]図２は、ＭＶＤをコーディングおよび／またはシグナリングするための技法を実装し得るビデオエンコーダ２０の例を図示するブロック図である。ビデオエンコーダ２０は、ＬＣＵ、ＣＵ、およびＰＵを含むビデオフレーム内のブロックのイントラ予測およびインター予測を行い、ＴＵとして符号化され得る残差値を計算し得る。イントラコーディングは、空間的予測に依拠して、所与のビデオフレーム内のビデオにおける空間的冗長性を低減または除去する。インターコーディングは、時間的予測に依拠して、ビデオシーケンスの隣接するフレーム内のビデオにおける時間的冗長性を低減または除去する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得、単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。動き推定ユニット４２および動き補償ユニット４４はインター予測コーディングを行い得、イントラ予測ユニット４６はイントラ予測コーディングを行い得る。
【００５７】
[0065]図２に示されているように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、ビデオデータメモリ３８、動き補償ユニット４４、動き推定ユニット４２、イントラ予測ユニット４６、復号ピクチャバッファ６４、加算器５０、変換ユニット５２、量子化ユニット５４、およびエントロピー符号化ユニット５６を含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクト（blockiness artifacts）を除去するためにブロック境界をフィルタリングするための、デブロッキングフィルタ（図２に示されず）も含まれ得る。所望される場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタ処理することとなる。
【００５８】
[0066]ビデオデータメモリ３８は、ビデオエンコーダ２０のコンポーネントによって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ３８内に記憶されるビデオデータは、例えば、ビデオソース１８から取得され得る。復号ピクチャバッファ６４は、例えば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ３８および復号ピクチャバッファ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）のような様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ３８および復号ピクチャバッファ６４は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ３８は、ビデオエンコーダ２０の他のコンポーネントとともにオンチップであるか、またはそれらのコンポーネントに対してオフチップであり得る。
【００５９】
[0067]符号化処理中に、ビデオエンコーダ２０は、コード化されるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック（例えば、ＬＣＵ）に分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を実現するために、１つまたは複数の参照フレーム内の１つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを行う。イントラ予測ユニット４６は、空間圧縮を提供するためにコード化されるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する受信されたビデオブロックのイントラ予測コーディングを行い得る。
【００６０】
[0068]モード選択ユニット４０は、例えば、誤差結果に基づいて、コーディングモードのうちの１つ、イントラまたはインターを選択し、結果として生じたイントラまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に、参照フレームとしての使用のために符号化ブロックを再構成するために加算器６２に提供し得る。モード選択ユニット４０がブロックに関してインターモード符号化を選択したとき、解像度選択ユニット４８は、ブロックに関する動きベクトル（例えば、サブピクセルまたは整数ピクセル精度）のための解像度を選択し得る。例えば、解像度選択ユニット４８は、ブロックに関して動きベクトルおよびＭＶＤについての１／８ピクセル精度または１／４ピクセル精度を選択し得る。
【００６１】
[0069]例として、解像度選択ユニット４８は、ブロックを符号化するための１／４ピクセル精度の動きベクトルを使用することと、ブロックを符号化するための１／８ピクセル精度の動きベクトルを使用することとの間で、エラー差分（例えば、再構成されたブロックと当初のブロックとの間の差分）を比較するように構成され得る。動き推定ユニット４２は、第１のコーディングパスにおいて１つまたは複数の１／４ピクセル精度の動きベクトルと、第２のコーディングパスにおいて１つまたは複数の１／８ピクセル精度の動きベクトルとを使用してブロックを符号化するように構成され得る。動き推定ユニット４２は、さらに、第３の符号化パスにおいてブロックに対して１つまたは複数の１／４ピクセル精度の動きベクトルと１つまたは複数の１／８ピクセル精度の動きベクトルとの様々な組合せを使用し得る。解像度選択ユニット４８は、ブロックの各符号化パスのレート歪み値を計算し、レート歪み値間の差分を計算し得る。
【００６２】
[0070]差分がしきい値を超えると、解像度選択ユニット４８は、ブロックを符号化するために１／８ピクセル精度の動きベクトルを選択し得る。解像度選択ユニット４８はまた、インターモード予測処理中にブロックを符号化するとき、動きベクトルに対して１／８ピクセル精度を使用すべきかまたは１／４ピクセル精度を使用すべきかを決定するために、レート歪み情報を評価し、ビットバジェット（bit budget）を分析し、および／または他のファクタを分析し得る。インターモード符号化されるべきブロックに対して１／８ピクセル精度または１／４ピクセル精度を選択した後、モード選択ユニット４０または動き推定は、動きベクトルの選択された精度を示しているメッセージ（例えば、信号）を動き推定ユニット４２に送り得る。
【００６３】
[0071]加えて、下記でより詳細に説明される技法の説明によると、ビデオエンコーダ２０は、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定すること、および決定されたＭＶＤコーディング技法を使用してビデオデータのブロックのためにＭＶＤをコーディングすることを行うように構成され得る。下記で詳細に説明されるように、ビデオエンコーダ２０は、ＭＶ精度、ＰＯＣ差分、ビデオデータのブロックの任意の他の既にコード化／復号された情報を含む、ビデオデータまたはコーディング方法の特性に基づいて、特定のＭＶＤコーディングおよび／またはシグナリング技法を決定し得る。
【００６４】
[0072]動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念上の目的から別々に示されている。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成する処理である。動きベクトルは、例えば、現在フレーム（または、他のコード化ユニット）内のコード化されている現在ブロックに対する予測参照フレーム（または、他のコード化ユニット）内の予測ブロックの変位を示し得る。予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コード化されるべきブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、マクロブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【００６５】
[0073]動き推定ユニット４２は、復号ピクチャバッファ６４においてビデオブロックを参照フレームのビデオブロックと比較することによって、インターコード化フレームのビデオブロックについての動きベクトルを計算する。動き補償ユニット４４はまた、参照フレーム、例えば、ＩフレームまたはＰフレームのサブ整数ピクセルを補間し得る。例として、ＩＴＵ Ｈ．２６４規格は、２つのリスト、すなわち、符号化されている現在フレームよりも前の表示順序を有する参照フレームを含むリスト０と、符号化されている現在フレームよりも後の表示順序を有する参照フレームを含むリスト１とを記述する。したがって、復号ピクチャバッファ６４に記憶されるデータは、これらのリストにしたがって編成され得る。
【００６６】
[0074]いくつかの例では、動き補償ユニット４４は、ＣＵのルミナンスデータの動きベクトルが１／８ピクセル精度を有するときに、ＣＵのクロミナンスデータの１／１６ピクセル位置の値を補間するように構成され得る。クロミナンスデータの１／１６ピクセル位置の値を補間するために、動き補償ユニット４４はバイリニア補間を利用し得る。したがって、加算器５０は、参照ブロックの１／１６ピクセル位置のバイリニア補間値に対するＣＵのクロミナンスデータの残差を計算し得る。このようにして、ビデオエンコーダ２０は、コーディングユニットのルミナンスデータが、ルミナンスデータに対して１／８ピクセル精度を有する動きベクトルを使用して符号化されたとき、バイリニア補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの１／１６ピクセル位置の値を計算し、参照ブロックのバイリニア補間値に基づいてコーディングユニットのクロミナンスデータを符号化し得る。
【００６７】
[0075]動き推定ユニット４２は、復号ピクチャバッファ６４からの１つまたは複数の参照フレームのブロックを現在フレーム、例えば、ＰフレームまたはＢフレームの符号化されるべきブロックと比較する。復号されたピクチャバッファ６４における参照フレームがサブ整数ピクセルのための値を含むとき、動き推定ユニット４２によって計算された動きベクトルは、参照フレームのサブ整数ピクセルを参照し得る。動き推定ユニット４２および／または動き補償ユニット４４はまた、サブ整数ピクセル位置の値が復号ピクチャバッファ６４に記憶されていない場合、復号ピクチャバッファ６４に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット４２は、計算された動きベクトルを、エントロピー符号化ユニット５６および動き補償ユニット４４に送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれ得る。
【００６８】
[0076]動き推定ユニット４２、補償ユニット４４、モード選択ユニット４０、またはビデオエンコーダ２０の別のユニットはまた、ブロックを符号化するために使用される動きベクトルのためにピクセル精度（例えば、整数ピクセル精度、１／４ピクセル精度、１／８ピクセル精度、またはその他のもの）の使用をシグナリングし得る。例えば、動き推定ユニット４２は、エントロピー符号化ユニット５６に動きベクトルのための整数またはサブ整数ピクセル精度のインジケーション（例えば、１つまたは複数のシンタックス要素を使用する精度インジケータ）を送り得る。動き推定ユニット４２はまた、動きベクトルに対応するＰＵについてのサイズ情報に関係するコンテキスト情報をエントロピー符号化ユニット５６に提供し得、ここで、サイズ情報は、ＰＵを含むＣＵの深さ、ＰＵのサイズ、および／またはＰＵのタイプのいずれかまたは全てを含み得る。
【００６９】
[0077]動き補償ユニット４４は、予測ブロックに基づいて予測データを計算し得る。ビデオエンコーダ２０は、コード化されている元のビデオブロックから、動き補償ユニット４４からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を行う１つまたは複数のコンポーネントを表す。変換ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。
【００７０】
[0078]変換ユニット５２は、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義されるものなどの、他の変換を行い得る。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換もまた使用され得る。いずれの場合も、変換ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域にコンバートし得る。量子化ユニット５４は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化処理は、これら係数のうちのいくつかまたは全てに関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、変更され得る。
【００７１】
[0079]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングする。例えば、エントロピー符号化ユニット５６は、コンテンツＣＡＶＬＣ、ＣＡＢＡＣ、または別のエントロピーコーディング技法を行い得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、符号化ビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは検索するためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディングの場合、コンテキストは隣接マクロブロックに基づき得る。
【００７２】
[0080]いくつかのケースでは、エントロピー符号化ユニット５６またはビデオエンコーダ２０の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を行うように構成され得る。例えば、エントロピー符号化ユニット５６は、マクロブロックおよびパーティションのＣＢＰ値を決定するように構成され得る。また、いくつかのケースでは、エントロピー符号化ユニット５６は、マクロブロックまたはそれのパーティション中の係数のランレングスコーディングを行い得る。特に、エントロピー符号化ユニット５６は、マクロブロックまたはパーティション中の変換係数をスキャンするためにジグザグスキャンまたは他のスキャンパターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピー符号化ユニット５６はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
【００７３】
[0081]本開示の技法によれば、サブピクセル精度が導出されるのではなくシグナリングされる場合では、エントロピー符号化ユニット５６は、例えば、動きベクトルが整数ピクセル精度を有するのか、１／４ピクセル精度または１／８ピクセル精度（あるいは、様々な例における他のサブピクセル精度）などのサブピクセル精度を有するのかを示すための、動きベクトルのサブピクセル精度の指示を符号化するように構成され得る。エントロピー符号化ユニット５６は、ＣＡＢＡＣを使用して指示を符号化し得る。さらに、エントロピー符号化ユニット５６は、動きベクトルに対応するＰＵについてのサイズ情報を示すインジケーションを符号化するために、ＣＡＢＡＣを行うためのコンテキスト情報を使用し得、ここで、サイズ情報は、ＰＵを含むＣＵの深さ、ＰＵのサイズ、および／またはＰＵのタイプのいずれかまたは全てを含み得る。
【００７４】
[0082]上述されるように、ビデオエンコーダ２０は、動きベクトルを予測的にシグナリングし得る。ビデオエンコーダ２０によって実装され得る予測的シグナリング技法の２つの例は、ＡＭＶＰおよびマージモードシグナリングを含む。ＡＭＶＰでは、ビデオエンコーダ２０とビデオデコーダ３０の両方が、既にコード化されたブロックから決定された動きベクトルに基づいて、候補リストを収集する。ビデオエンコーダ２０は次いで、動きベクトル予測子（ＭＶＰ）を識別するためにインデックスを候補リストにシグナリングし、動きベクトル差分（ＭＶＤ）をシグナリングする。下記でより詳細に説明されるように、（例えば、エントロピー符号化ユニット５６を通じて）ビデオエンコーダ２０は、ＭＶＤを表すシンタックス要素を二値化およびコンテキスト符号化（例えば、ＣＡＢＡＣを使用して）し得る。ビデオデコーダ３０は、ＭＶＤによって修正されたＭＶＰを使用して、例えばＭＶＰ＋ＭＶＤに等しい動きベクトルを使用して、ブロックをインター予測する。
【００７５】
[0083]マージモードでは、ビデオエンコーダ２０とビデオデコーダ３０の両方が、既にコード化されたブロックに基づいて候補リストを収集し、ビデオエンコーダ２０は、候補リスト内の候補のうちの１つに対してインデックスをシグナリングする。マージモードでは、ビデオデコーダ３０は、シグナリングされた候補の参照ピクチャインデックスおよび動きベクトルを使用して、現在ブロックをインター予測する。ＡＭＶＰおよびマージモードの両方では、ビデオエンコーダ２０とビデオデコーダ３０は、ブロックを符号化する方法を決定するときにビデオエンコーダ２０によって使用されるリストが、ブロックを復号する方法を決定するときにビデオデコーダ３０によって使用されるリストと一致するように、同じリスト構築技法を利用する。
【００７６】
[0084]逆量子化ユニット５８および逆変換ユニット６０は、例えば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成するために、それぞれ逆量子化と逆変換とを適用する。動き補償ユニット４４は、残差ブロックを復号ピクチャバッファ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定での使用のためにサブ整数ピクセル値を計算するために、１つまたは複数の補間フィルタを再構築された残差ブロックに適用し得る。加算器６２は、復号ピクチャバッファ６４に記憶するための再構成されたビデオブロックを生成するために、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償された予測ブロックに加算する。再構成されたビデオブロックは、後続ビデオフレーム中のブロックをインターコーディングするための参照ブロックとして、動き推定ユニット４２と動き補償ユニット４４とによって使用され得る。
【００７７】
[0085]図３は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０、動き補償ユニット７２、イントラ予測ユニット７４、逆量子化ユニット７６、逆変換ユニット７８、復号ピクチャバッファ８２、および加算器８０を含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは、一般に逆の復号パスを実施し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得る。
【００７８】
[0086]ビデオデータメモリ６８は、ビデオデコーダ３０のコンポーネントによって復号されるべき、符号化されたビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ６８に記憶されるビデオデータは、例えば、コンピュータ可読媒体１６から、例えば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ６８は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶する、コード化ピクチャバッファ（ＣＰＢ）を形成し得る。復号ピクチャバッファ８２は、例えば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ６８および復号ピクチャバッファ８２は、同期ＳＤＲＡＭ、ＭＲＡＭ、ＲＲＡＭ、または他のタイプのメモリデバイスを含む、ＤＲＡＭなどの様々なメモリデバイスのうちの任意のものによって形成され得る。ビデオデータメモリ６８および復号ピクチャバッファ８２は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ６８は、ビデオデコーダ３０の他のコンポーネントとともにオンチップであるか、またはそれらのコンポーネントに対してオフチップであり得る。
【００７９】
[0087]エントロピー復号ユニット７０は、例えばビデオデータメモリ６８から、符号化されたビットストリームを検索し得る。符号化ビットストリームは、エントロピーコード化されたビデオデータ（例えば、ビデオデータの符号化ブロック）を含み得る。エントロピー復号ユニット７０は、エントロピーコード化されたビデオデータを復号し得、そのエントロピー復号されたビデオデータから、動き補償ユニット７２は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む、動き情報を決定し得る。動き補償ユニット７２は、例えば、上で説明したＡＭＶＰおよびマージモード技法を行うことによって、そのような情報を決定し得る。
【００８０】
[0088]動き補償ユニット７２は、ビットストリーム中で／受信した動きベクトルおよび／またはＭＶＤを使用して、復号ピクチャバッファ８２において参照フレーム中の予測ブロックを識別し得る。動きベクトルおよび／またはＭＶＤを符号化するために使用される精度は、エントロピー復号ユニット７０によって復号される精度インジケータ（例えば、１つまたは複数のシンタックス要素）によって定義され得る。イントラ予測ユニット７４は、空間的に隣接するブロックから予測ブロックを形成するために、ビットストリーム内で受信されたイントラ予測モードを使用し得る。逆量子化ユニット７６は、ビットストリーム中で提供され、エントロピー復号ユニット７０によって復号された量子化ブロック係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化処理は、例えば、Ｈ．２６４復号規格によって定義されるような従来の処理を含み得る。逆量子化処理はまた、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、マクロブロックごとにビデオエンコーダ２０によって計算される量子化パラメータＱＰＹの使用を含み得る。
【００８１】
[0089]逆変換ユニット５８は、ピクセル領域で残差ブロックを作るために、変換係数に逆変換、例えば逆ＤＣＴ、逆整数変換、または概念的に類似する逆変換処理を適用する。動き補償ユニット７２は、動き補償されたブロックを生成し、できるだけ補間フィルタに基づいて補間を実行する。サブピクセル精度を有する動き推定に使用されるべき補間フィルタ用の識別子は、シンタックス要素に含まれ得る。
【００８２】
[0090]動き補償ユニット７２は、参照ブロックのサブ整数ピクセルの補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。動き補償ユニット７２は、受信されたシンタックス情報にしたがって、ビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するために、その補間フィルタを使用し得る。本開示の技法によると、動き補償ユニット７２は、動きベクトルがルミナンスデータに対して１／８ピクセル精度を有するときに、参照ブロックのクロミナンスデータの１／１６ピクセル位置の値を補間し得る。例えば、動き補償ユニット７２は、参照ブロックの１／１６ピクセル位置の値を補間するために、バイリニア補間を使用し得る。
【００８３】
[0091]動き補償ユニット７２は、符号化されたビデオシーケンスのフレームおよび／またはスライスを符号化するために使用されたＬＣＵおよびＣＵのサイズと、符号化されたビデオシーケンスのフレームの各マクロブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化ＣＵのための１つまたは複数の参照フレーム（および参照フレームリスト）と、符号化されたビデオシーケンスを復号するための他の情報とを決定するために、シンタックス情報のいくつかを使用する。
【００８４】
[0092]加えて、下記でより詳細に説明される本開示の技法によると、ビデオデコーダ３０は、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定すること、および決定されたＭＶＤコーディング技法を使用してビデオデータのブロックのためにＭＶＤを復号することを行うように構成され得る。ビデオデコーダ３０は、ＭＶ精度、ＰＯＣ差分、ビデオデータのブロックの任意の他の既にコード化／復号された情報を含む、ビデオデータまたはコーディング方法の特性に基づく技法を復号および／またはシグナリングする特定のＭＶＤを決定し得る。
【００８５】
[0093]加算器８０は、復号ブロックを形成するために、残差ブロックを、動き補償ユニット７２またはイントラ予測ユニットによって生成された対応する予測ブロックと合計する。所望される場合、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタ処理するためのデブロッキングフィルタも適用され得る。復号されたビデオブロックは、次いで、復号ピクチャバッファ８２に記憶され、それは、参照ブロックを後続の動き補償のために提供し、また、（図１のディスプレイデバイス３２などの）ディスプレイデバイス上での提示のために復号されたビデオを生成する。
【００８６】
[0094]図４は、フルピクセル位置に対する分数ピクセル位置を図示する概念図である。特に、図４は、フルピクセル（ペル）１００に対する分数ピクセル位置を図示している。フルピクセル１００は、１／２ピクセル位置１０２Ａ〜１０２Ｃ（１／２ペル１０２）、１／４ピクセル位置１０４Ａ〜１０４Ｌ（１／４ペル１０４）、および１／８ピクセル位置１０６Ａ〜１０６ＡＶ（１／８ペル１０６）に対応する。
【００８７】
[0095]図４は、ブロックの１／８ピクセル位置１０６を、これらの位置が任意で含まれ得ることを示すために破線の枠を使用して図示している。すなわち、（例えば、同じ精度のＭＶＤから再構成されるような）動きベクトルが１／８ピクセル精度を有する場合、動きベクトルは、フルピクセル位置１００、１／２ピクセル位置１０２、１／４ピクセル位置１０４、または１／８ピクセル位置１０６のうちの任意のものを指し示し得る。しかしながら、動きベクトルが１／４ピクセル精度を有する場合、動きベクトルは、フルピクセル位置１００、１／２ピクセル位置１０２、または１／４ピクセル位置１０４のいずれかを指し示し得るが、１／８ピクセル位置１０６は指し示さないだろう。さらに、他の例では、他の精度、例えば、１／１６ピクセル精度、１／３２ピクセル精度などが使用され得ることを理解されたい。
【００８８】
[0096]フルピクセル位置１００におけるピクセルの値は、対応する参照フレームに含まれ得る。すなわち、フルピクセル位置１００におけるピクセルの値は、一般に、例えば、参照フレームが表示されるときに最終的にレンダリングされ、表示される参照フレーム中のピクセルの実際の値に対応する。（分数ピクセル位置と総称される）１／２ピクセル位置１０２、１／４ピクセル位置１０４、および１／８ピクセル位置１０６の値は、適応補間フィルタまたは固定補間フィルタ、例えば、様々なウィーナーフィルタ（Wiener filter）、バイリニアフィルタ、または他のフィルタなどの様々な数の「タップ」（係数）のフィルタを使用して補間され得る。概して、分数ピクセル位置の値は、隣接するフルピクセル位置または前に決定された分数ピクセル位置の値に対応する１つまたは複数の隣接ピクセルから補間され得る。
【００８９】
[0097]本開示のいくつかの例では、ビデオエンコーダ２０は、例えば、整数ピクセル精度、あるいは、１／８ピクセル位置および１／４ピクセル位置などの分数ピクセル精度間の、動きベクトルおよび／またはＭＶＤについての精度を適応的に選択し得る。ビデオエンコーダ２０は、各動きベクトル、各ＣＵ、各ＬＣＵ、各スライス、各フレーム、各ＧＯＰ、またはビデオデータの他のコード化ユニットについてこの選択を行い得る。ビデオエンコーダ２０が動きベクトルに対して１／４ピクセル精度を選択するとき、動きベクトルは、フルピクセル位置１００、１／２ピクセル位置１０２、または１／４ピクセル位置１０４のいずれかを参照し得る。ビデオエンコーダ２０が動きベクトルに対して１／８ピクセル精度を選択するとき、動きベクトルは、フルピクセル位置１００、１／２ピクセル位置１０２、１／４ピクセル位置１０４、または１／８ピクセル位置１０６のいずれかを参照し得る。
【００９０】
[0098]図５Ａ〜５Ｃは、対応するクロミナンスおよびルミナンスピクセル位置を例示する概念図である。図５Ａ〜図５Ｃはまた、ルミナンスデータについて計算された動きベクトルがどのようにクロミナンスデータのために再利用され得るかを図示している。前置きとして、図５Ａ〜図５Ｃはピクセル位置の部分的行（partial row）を示している。実際には、フルピクセル位置は、図４に図示されたものなどの関連する分数ピクセル位置の長方形格子を有し得ることを理解されたい。図５Ａ〜図５Ｃの例は、本開示において説明する概念を図示するものであり、分数クロミナンスピクセル位置と分数ルミナンスピクセル位置との間の対応の網羅的なリストとして意図されていない。
【００９１】
[0099]図５Ａ〜図５Ｃは、フルルミナンスピクセル位置１１０、１／２ルミナンスピクセル位置１１６、１／４ピクセル位置１１２、および１／８ルミナンスピクセル位置１１４Ａ、１１４Ｂを含む、ルミナンスブロックのピクセル位置を図示している。図５Ａ〜図５Ｃはまた、フルクロミナンスピクセル位置１２０、１／４クロミナンスピクセル位置１２２、１／８クロミナンスピクセル位置１２４、および１／１６クロミナンスピクセル位置１２６Ａ、１２６Ｂを含む、クロミナンスブロックの対応するピクセル位置を図示している。この例では、フルクロミナンスピクセル１２０はフルルミナンスピクセル１１０に対応する。さらに、この例では、クロミナンスブロックは、ルミナンスブロックに対して、水平および垂直の２つの成分にダウンサンプリングされる。よって、１／４クロミナンスピクセル１２２は、１／２ルミナンスピクセル１１６に対応する。同様に、１／８クロミナンスピクセル１２４は１／４ルミナンスピクセル１１２に対応し、１／１６クロミナンスピクセル１２６Ａは１／８ルミナンスピクセル１１４Ａに対応し、１／１６クロミナンスピクセル１２６Ｂは１／８ルミナンスピクセル１１４Ｂに対応する。
【００９２】
[0100]Ｈ．２６４／ＡＶＣ、ＨＥＶＣ、並びに潜在的にはＨ．２６４およびＨＥＶＣに対する後継コーデックなどの高度なビデオコーデックでは、動きベクトルをシグナリングするビットコストが増加し得る。このビットコストを低下させるために、デコーダサイドＭＶ導出（ＤＭＶＤ）が使用され得る。S. Kamp And M. Wien、「Decoder-side motion vector derivation for block-based video coding」、IEEE Transactions on Circuits and Systems for Video Technology、vol. 22、pp. 1732-1745、Dec. 2012には、Ｌ字形状テンプレートマッチングに基づいたＤＭＶＤが提示されている。
【００９３】
[0101]図６は、ＤＭＶＤのための例示的なＬ字形状テンプレートマッチングの図である。図６の例では、現在ピクチャ１３４の現在ブロック１３２は、テンプレートマッチングを使用してインター予測されている。テンプレート１３６は、現在ブロック１３２のうちの既に復号された隣接ブロックをカバーする形状を定義する。ビデオデコーダ（例えばビデオデコーダ３０）は、例えば、まず、テンプレート１３６によってカバーされる既に復号された隣接ブロックに含まれるピクセル値を、参照ピクチャ１４０の参照ピクチャに位置するブロックをカバーする、コロケートされたテンプレート１３８によってカバーされる既に復号された隣接ブロックに含まれるピクセル値と、比較し得る。ビデオデコーダは次いで、参照ピクチャ中の他のロケーションへテンプレートを移動させ、テンプレートによってカバーされたピクセル値を、テンプレート１３６によってカバーされる既に復号された隣接ブロックに含まれるピクセル値と、比較し得る。
【００９４】
[0102]これらの複数の比較に基づいて、ビデオデコーダは、図６の例に示される最良マッチ１４２などの最良マッチを決定し得る。ビデオデコーダは次いで、最良マッチとコロケートされたテンプレートとの間の変位を決定し得る。この変位（例えば、図６の変位１４４）は、現在ブロック１３２を予測するために使用される動きベクトルに対応する。
【００９５】
[0103]図６に図示されるように、ブロックがＤＭＶＤモードでコーディングされるとき、ブロックのＭＶは、ビデオデコーダ３０へ直接シグナリングされるのとは対照的に、ビデオデコーダ３０によって探索される。テンプレートマッチングによる最小の歪みにつながるＭＶは、ブロックの最終ＭＶとして選択される。高いコーディング効率を保つためには、デコーダ３０が候補動きベクトルを、現在ブロックを復号するためのＭＶとして選択するために一定数のテンプレートマッチが必要となり得、それは、復号の複雑さを増大させ得る。
【００９６】
[0104]ＤＭＶＤにおける復号の複雑さを低減するために、ミラーベースの双方向性ＭＶ導出法が、Y. -J. Chiu、L. Xu、W. Zhang、H. Jiang、「DECODER-SIDE MOTION ESTIMATION AND WIENER FILTER FOR HEVC」、VCIP workshop 2013, Malaysia, 17-20 November 2013において提示されていた。
【００９７】
[0105]図７は、例示的なミラーベースの双方向ＭＶ導出を図示する概念図である。図７に図示されるように、ミラーベースの双方向性ＭＶ導出は、デコーダサイドで分数サンプル確度において、探索中心の周りの中心対称動き推定によって適用され得る。探索ウィンドウのサイズ／ロケーションは、あらかじめ定義され、ビットストリームにおいてスケーリングされ得る。図７では、ｄＭＶは、ＭＶペア、つまりＭＶ０とＭＶ１を生成するために、ＰＭＶ０に加算され、ＰＭＶ１から減算されるオフセットである。探索ウィンドウ内部のｄＭＶの値は全てチェックされ得、Ｌ０参照とＬ１参照ブロックとの間の絶対差分和（ＳＡＤ）が、中心対称動き推定の測定値として使用され得る。最小のＳＡＤを有するＭＶペアは、ブロックの最終ＭＶとして選択され得る。
【００９８】
[0106]適応動きベクトル解像度に関する技法がここから説明される。サブピクセル動き補償は、整数ピクセル動き補償よりも効率的である。しかしながら、非常に高い周波数コンポーネントを有するテクスチャコンテンツまたはスクリーンコンテンツなどのいくつかのビデオコンテンツに関して、サブピクセル動き補償は、良くないか、さらには悪いパフォーマンスを示す。このようなケースでは、整数ピクセル精度を用いてコーディングされたＭＶおよび／またはＭＶＤのみを有する方が良い可能性がある。
【００９９】
[0107]L. Guo、P. Yin、Y. Zheng、X. Lu、Q. Xu、J. Sole「Adaptive motion vector resolution with implicit signaling」CIP 2010:2057-2060に記載されているように、適応ＭＶ解像度が、再構成された残差（例えば、残差値）に基づいて提案されている。再構成された残差ブロックの不一致（variance）がしきい値を上回るとき、ビデオエンコーダ２０およびビデオデコーダ３０は、１／４ピクセル動きベクトル精度を使用すると決定し得る。そうでなければ、ビデオエンコーダ２０とビデオデコーダ３０とは、動きベクトルとＭＶＤとをコーディングするとき、１／２ピクセル動きベクトル精度を使用する。
【０１００】
[0108]J. An、X. Li、X. Guo、S. Lei、「Progressive MV Resolution」、JCTVC-F125、Torino、Italy、Jul. 2011に記載されているように、ＭＶ解像度は、シグナリングされたＭＶ差分の大きさに基づいて適応的に決定される。Y. Zhou、B. Li、J. Xu、G. J. Sullivan、B. Linの「Motion Vector Resolution Control for Screen Content Coding」JCTVC-P0277, San Jose, US, Jan. 2014で説明されるように、いくつかの例では、ビデオエンコーダ２０は、スライスレベルでの動きベクトル精度情報をシグナリングするように構成され得る。
【０１０１】
[0109]米国特許出願公開第２０１５／０１９５５６２号において説明されるもののような他の例では、ビデオエンコーダ２０は、下記の技法のうちの１つまたは複数を使用して、ＭＶ精度情報を条件付きでシグナリングするように構成され得る。
【０１０２】
[0110]上述されるように、いくつかの例では、デコーダサイドの動きベクトル精度導出方法は、スクリーンコンテンツに関して提示される。この例では、動きベクトル精度は、ビデオデコーダ３０におけるテンプレートマッチングの結果に依存し得る。整数ピクセル位置のテンプレートマッチング結果とその隣接サブピクセル位置のものとが大きく異なる（例えば、何らかの閾値距離よりも大きい）とき、関連する領域はスクリーンコンテンツと見なされ得、ビデオデコーダ３０は整数ピクセル精度を用いてＭＶを復号し得る。そうでなければ、ビデオデコーダ３０は、サブピクセル動きベクトル精度を使用するように構成され得る。「大きく異なる」を定義するために、１つまたは複数の固定型または適応型のしきい値が使用され得る。
【０１０３】
[0111]ビデオデコーダ３０は、例えば、テンプレートマッチングに基づいて動きベクトル精度を決定することによって、ビデオデータを復号し得る。そのような例では、ビデオデコーダ３０は、コード化されている現在ブロックに対し、既にコード化された隣接ブロックの整数ピクセル位置を識別し、その整数ピクセル位置のロケーションに基づいて、複数の整数ピクセル位置を決定するためにテンプレートを適用し得る。ビデオデコーダ３０はまた、複数のサブピクセル位置を決定するために、複数のサブピクセル位置にテンプレートを適用し得る。テンプレートは、例えば形状を定義し得、ビデオデコーダ３０は、現在ブロックに対する形状のロケーションに基づいて、複数の整数ピクセル位置を位置特定することによって、複数の整数ピクセル位置を決定するためにテンプレートをビデオデータに適用し得る。同様に、ビデオデコーダ３０は、現在ブロックに対する形状のロケーションに基づいて、複数のサブピクセルピクセル位置を位置特定することによって、複数のサブピクセル位置を決定するためにテンプレートをビデオデータに適用し得る。
【０１０４】
[0112]ビデオデコーダ３０は、複数の整数ピクセル位置の１つまたは複数のピクセル値を、複数のサブピクセル位置の１つまたは複数のピクセル値と比較し、その比較に基づいて、動きベクトルについての動きベクトル精度を決定し得る。ビデオデコーダ３０は、動きベクトルを使用して現在ブロックを復号し得る。ビデオデコーダ３０は、例えば、マージモード、ＡＭＶＰモード、または何らかの他のそのようなモードを使用して、動きベクトルを決定し得る。
【０１０５】
[0113]ビデオデコーダ３０は、複数の整数ピクセル位置の１つまたは複数のピクセル値と複数のサブピクセル位置の１つまたは複数のピクセル値との間のピクセル値の差の大きさに対応する差分値を決定するために、複数の整数ピクセル位置の１つまたは複数のピクセル値を複数のサブピクセル位置の１つまたは複数のピクセル値と比較することによって、動きベクトルについての動きベクトル精度を決定し得る。差分値がしきい値よりも大きいことに応答して、ビデオデコーダ３０は、動きベクトル精度が整数ピクセル精度であると決定する。差分値がしきい値よりも低いことに応答して、ビデオデコーダ３０は、動きベクトル精度がサブピクセル精度であると決定し得る。しきい値は、固定値、適応値、または何らかの他のタイプの値であり得る。複数の整数ピクセル位置の１つまたは複数のピクセル値を複数のサブピクセル位置の１つまたは複数のピクセル値と比較するために、ビデオデコーダ３０は、例えば、複数の整数ピクセル位置の１つまたは複数のピクセル値と複数のサブピクセル位置の１つまたは複数のピクセル値との間の絶対差分和を決定し得る。
【０１０６】
[0114]本開示の他の技法によれば、動きベクトル精度は、空間的に隣接するブロック、時間的に隣接するブロック、またはその両方のプロパティ（先鋭度、階調度、または変換がスキップされるかどうかなど）に依存し得る。動きベクトル精度情報は、ビデオデコーダ３０で導出され得る。代替または追加として、動きベクトル精度は、空間的に隣接するブロック、時間的に隣接するブロック、またはその両方の動きベクトル精度に依存し得る。
【０１０７】
[0115]ビデオデコーダ３０は、例えば、隣接ブロックのプロパティに基づいて動きベクトル精度を決定し得る。隣接ブロックは、例えば、少なくとも１つの空間的に隣接するブロックおよび／または少なくとも１つの時間的に隣接するブロックを含み得る。コード化されている現在ブロックに対し、ビデオデコーダ３０は、１つまたは複数の隣接ブロックを位置特定し、その１つまたは複数の隣接ブロックのプロパティを決定し得る。そのプロパティは、例えば、１つまたは複数の隣接ブロックがスキップモードでコード化された場合、１つまたは複数の隣接ブロックの先鋭度、１つまたは複数の隣接ブロックの階調度、および／または１つまたは複数の隣接ブロックの動きベクトル精度のうちの１つまたは複数であり得る。１つまたは複数の隣接ブロックのプロパティに基づいて、ビデオデコーダ３０は、動きベクトルについての動きベクトル精度を決定し、その動きベクトルを使用して現在ブロックを復号し得る。ビデオデコーダ３０は、例えば、どの１つまたは複数のプロパティを決定するかを（例えばコンテキストに基づいて）シグナリングなしに決定し得るか、固定された１つまたは複数のプロパティを常に決定し得るか、あるいはどの１つまたは複数のプロパティを決定するかのインジケーションを受信し得る。
【０１０８】
[0116]本開示の別の例示的な技法では、ビデオエンコーダ２０は、どのデコーダサイド動きベクトル精度方法または複数の方法が使用されるかを指定するビットストリーム（例えば、１つまたは複数のシンタックス要素）中のインジケータをシグナリングし得る。例えば、ビデオエンコーダ２０は、直接ビットストリーム中のインジケータをシグナリングし得る、および／またはビデオデコーダ３０は、スライスタイプおよび時間的レベルなどのビットストリーム中でコード化された他の情報からインジケータの値を導出し得る。
【０１０９】
[0117]ビデオデコーダ３０は、例えば、符号化されたビデオビットストリームにおいて、動きベクトル精度シグナリングタイプのインジケーションを受信し、その動きベクトル精度シグナリングタイプに基づいて、ビデオデータのブロックについての動きベクトル精度を決定し得る。ビデオデコーダ３０は、ビデオデータのブロックについての参照ブロックを位置特定するために、決定された動きベクトル精度の動きベクトルを使用し得る。動きベクトル精度シグナリングタイプは、例えば、（１）上記で説明したテンプレートマッチングタイプ、（２）上記で説明した隣接ブロックプロパティベースタイプ、または（３）以下でより詳細に説明するようなダイレクトシグナリングタイプのうちの１つであり得る。
【０１１０】
[0118]ビデオデコーダ３０は、例えば、スライスヘッダ中の動きベクトル精度のインジケーション、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、または何らかの他のレベルを受信し得る。その指示は、例えばスライスタイプであり得る。言い換えれば、ビデオデコーダ３０は、特定のスライスについてのスライスタイプを決定し得、また、そのスライスタイプに基づいて、そのスライスのブロックを復号するために使用するための動きベクトル精度を決定し得る。その指示は、例えばスライスの時間的レベルであり得る。言い換えれば、ビデオデコーダ３０は、スライスについての時間的レベルを決定し得、また、そのスライスの時間的レベルに基づいて、そのスライスの復号ブロックについて使用するための動きベクトル精度を決定し得る。
【０１１１】
[0119]別の例では、ビデオエンコーダ２０は、最も大きいコーディングユニットＬＣＵレベル、ＣＵレベル、またはＰＵレベルなどの、ビットストリーム中の動きベクトル精度情報をシグナリングするように構成され得る。言い換えれば、ビデオエンコーダ２０は、符号化されたビデオデータのビットストリームに含めるための１つまたは複数のシンタックス要素を生成し得、ビデオデコーダ３０は、ビデオデータの特定のブロックについての動きベクトル精度を決定するためにそれらのシンタックス要素を構文解析し得る。あるＣＵが、整数精度ＭＶを有することを指示されるとき、このＣＵ内部の全てのＰＵが整数動きベクトル精度を有する。
【０１１２】
[0120]一例では、マージ／スキップモードについて、ビデオデコーダ３０は、動き補償を行うときのみ、動きベクトルを整数精度に丸め得る。丸められていないＭＶは、後のブロックのＭＶ予測のために保存され得る。例えば、ビデオデコーダ３０は、第１のブロックについてのコーディングモードがマージモードまたはスキップモードであると決定し得、また第１のブロックについての動きベクトル精度が整数ピクセル精度であると決定し得る。ビデオデコーダ３０は、少なくとも１つの分数精度動きベクトル候補を含む、第１のブロックについてのマージ候補リストを構築し得る。ビデオデコーダ３０は、第１のブロックを復号するために分数精度動きベクトル候補を選択し、整数ピクセル精度動きベクトルを決定するために分数精度動きベクトル候補を丸め得る。ビデオデコーダ３０は、整数ピクセル精度動きベクトルを使用して、第１のブロックについての参照ブロックを位置特定し得る。
【０１１３】
[0121]第２のブロック（例えば、第１のブロックの情報に基づいてコード化されたブロック）について、ビデオデコーダ３０は、第２のブロックについての候補リスト（例えば、マージ候補リストまたはＡＭＶＰ候補リスト）に整数精度動きベクトル候補を加え得る。他の例では、しかしながら、ビデオデコーダ３０は、第２のブロックについての候補リストに分数精度動きベクトル候補を加え得る。
【０１１４】
[0122]非マージ／スキップインターモードについて、ＭＶ予測子は整数精度に丸められ得、ＭＶＤは、丸められたＭＶが後のブロックのＭＶ予測のために保存され得るように、整数精度でシグナリングされ得る。代替的にまたは追加として、ビデオエンコーダ２０およびビデオデコーダ３０は、丸めることの前に、後のブロックＭＶ予測のためにＭＶを保存するように構成され得る。一例では、このケースについて、丸めることは動き補償のためにのみ行われ得る。代替的にまたは追加として、丸められたＭＶは、動き補償で使用され得、後のブロックのＭＶ予測のために保存され得る。
【０１１５】
[0123]例えば、ビデオデコーダ３０は、第１のブロッについてのコーディングモードがマージモード以外のものであると決定し得、また第１のブロックについての動きベクトル精度が整数ピクセル精度であると決定し得る。ビデオデコーダ３０は、第１のブロックについての分数精度ＭＶＰを決定し、第１のブロックについての整数ピクセル精度ＭＶＰを決定するためにその分数精度ＭＶＰを丸め得る。ビデオデコーダ３０は、整数ピクセル精度である、第１のブロックについてのＭＶＤを決定し得る。ビデオデコーダ３０は、整数ピクセル精度ＭＶＰおよび分数精度ＭＶＤに基づいて、整数ピクセル精度動きベクトルを決定し得る。ビデオデコーダ３０は、整数ピクセル精度動きベクトルを使用して、第１のブロックについての参照ブロックの位置を特定し得る。
【０１１６】
[0124]ビデオデコーダ３０は、例えば、第１のブロックについてのＡＭＶＰ候補リストを構築することによって、第１のブロックの分数精度ＭＶＰを決定し得る。ＡＭＶＰ候補リストは、分数精度動きベクトル候補を含み得る。ビデオデコーダ３０は、第１のブロックについての分数精度ＭＶＰとして、分数精度動きベクトル候補を選択し得る。ビデオデコーダ３０は、第１のブロックの情報を使用して予測されることになる、第２のブロックについての候補リストに、分数精度動きベクトル候補を加え得る。
【０１１７】
[0125]代替または追加として、一例では、ＭＶＤ精度情報がシグナリングされ得、サブピクセル精度ＭＶが、いくつかの例では常に使用され得る。ＭＶＤ精度は、ＬＣＵレベルで、ＣＵレベルで、またはＰＵレベルでシグナリングされ得る。一例では、あるＰＵ（またはＣＵ）が、整数精度ＭＶＤを有することを指示されるとき、ＰＵ（またはこのＣＵ内部の全てのＰＵ）が整数ＭＶＤ精度を有し得る。ＡＭＶＰコード化ＰＵに対し、ＰＵのＭＶＤは整数ピクセル精度を有し得るが、一方、予測されたＭＶおよびＰＵのＭＶは、サブピクセル精度を有し得る。よって、整数精度ＭＶＤをサブピクセル精度ＭＶＰに加えることにより、結果として、サブピクセル動きベクトルが得られる。
【０１１８】
[0126]例えば、ビデオデコーダ３０は、第１のブロックについてのＭＶＤ精度が整数ピクセル精度であると決定し得る。ビデオデコーダ３０は、少なくとも１つの分数精度動きベクトル候補を含む、第１のブロックについてのＭＶＰのマージ候補リスト（例えば、ＡＭＶＰ候補リスト）を構築し得る。ビデオデコーダ３０は、その候補リストから分数精度動きベクトル候補を選択し、分数精度動きベクトル候補および整数ピクセル精度ＭＶＤに基づいて分数ピクセル精度動きベクトルを決定し得る。ビデオデコーダ３０は、分数ピクセル精度動きベクトルを使用して、第１のブロックについての参照ブロックを位置特定し得る。
【０１１９】
[0127]別の例では、動きベクトル精度フラグが、ＬＣＵまたはＣＵに部分的に適用され得る。例えば、ＣＵの整数精度フラグは、マージおよびスキップなどのあらかじめ定義されたコーディングモードを用いて、または非２Ｎ×２Ｎ区分などのあらかじめ定義された区分を用いて、またはトランスフォームスキップまたは無残差などの特殊なコーディングツールを用いてコード化されたＰＵには適用されない。
【０１２０】
[0128]一例では、ビデオデコーダ３０は、ビデオデータについてのデフォルト動きベクトル精度を決定し、特殊モードでコード化されているビデオデータのＰＵに応答して、デフォルト動きベクトル精度の動きベクトルを使用してＰＵについての参照ブロックを位置特定し得る。特殊モードは、例えば、スキップモード、２Ｎ×２Ｎマージモード、マージモード、トランスフォームスキップモード、または非対称区分化モードのうちの１つまたは複数であり得る。ビデオデータの第２のＰＵが特殊モード以外のモードを使用してコード化されていることに応答して、ビデオデコーダ３０は、ビデオデータの第２のＰＵについて、シグナリングされた動きベクトル精度を決定し、そのシグナリングされた動きベクトル精度の動きベクトルを使用して第２のＰＵについての参照ブロックを位置特定し得る。ビデオデコーダ３０は、ビデオデータのＣＵについて、デフォルト動きベクトル精度とは異なる、シグナリングされた動きベクトル精度を決定し得る。ＣＵは、例えば、ＰＵおよび／または第２のＰＵを含み得る。一例では、デフォルト動きベクトル精度は分数動きベクトル精度であるが、一方、シグナリングされた動きベクトル精度は整数ピクセル精度であり得る。他の例では、デフォルト動きベクトル精度は分数動きベクトル精度であり得る。
【０１２１】
[0129]一例では、ビデオエンコーダ２０は、ノンゼロＭＶＤを有するＰＵまたはＣＵのみについてのＭＶ／ＭＶＤ精度情報を符号化およびシグナリングするように構成され得る。ＭＶ／ＭＶＤ精度情報がシグナリングされないとき、ビデオデコーダ３０は、ＰＵまたはＣＵについてのサブピクセルＭＶ精度を使用するように構成され得る。ビデオエンコーダ２０は、ＰＵまたはＣＵのＭＶＤを符号化およびシグナリングした後、ＭＶ／ＭＶＤ精度情報をシグナリングするように構成され得る。いくつかの例では、０に等しいＭＶＤは、ＭＶＤの垂直成分と、ＭＶＤの水平成分の両方が０に等しいことを示し得る。
【０１２２】
[0130]一例では、ビデオデータの現在ブロックについて、ビデオデコーダ３０は、ＭＶＤ値を示す１つまたは複数のシンタックス要素を受信し得る。ＭＶＤ値がゼロに等しいことに応答して、ビデオデコーダ３０は、現在ブロックのための動きベクトルがサブピクセル動きベクトル精度を有することを決定するように構成され得る。ＭＶＤ値がゼロに等しいことは、ＭＶＤ値のｘ成分とＭＶＤ値のｙ成分との両方がゼロに等しいことを指示し得る。
【０１２３】
[0131]ビデオデータの第２の現在ブロックについて、ビデオデコーダ３０は、第２のＭＶＤ値を示す１つまたは複数のシンタックス要素を受信し、その第２のＭＶＤ値が非ゼロ値であることに応答して、第２の現在ブロックについての第２の動きベクトルの動きベクトル精度の指示を受信し得る。ビデオデコーダ３０は、参照ピクチャにおいて、第２の動きベクトルを使用して第２の現在ブロックの参照ブロックの位置を特定し得る。第２の現在ブロックについて、ビデオデコーダ３０は、第２のＭＶＤ値を受信した後に、動きベクトル精度の指示を受信し得る。
【０１２４】
[0132]ＭＶ／ＭＶＤ精度情報がＰＵレベルにおいてシグナリングされるとき、ビデオエンコーダ２０は、以下の条件のうちの１つまたは複数（例えば、任意のもの）が正である場合にＭＶ／ＭＶＤ精度情報をシグナリングしないように構成され得る：（１）ＰＵがマージ／スキップモードでコード化される、（２）ＰＵがＡＭＶＰモードでコード化され、ＰＵの各予測方向におけるＭＶＤがゼロに等しい、あるいは（３）代替または追加として、１つのＣＵがコード化されたＰＵとインターコード化されたＰＵをともに含み得る場合、それは、ＨＥＶＣ／において無効にされ（disallowed）、ＰＵがイントラコード化されるとき、ＰＵレベルにおけるＭＶ／ＭＶＤ精度情報のシグナリングがスキップされる。
【０１２５】
[0133]ビデオデコーダ３０は、例えば、ビデオデータの第１のブロック（例えば、第１のＰＵ）について、第１の動きベクトル精度情報を示す１つまたは複数のシンタックス要素を受信し得る。ビデオデータの第２のブロックがある条件を満たすことに応答して、ビデオデコーダ３０は、デフォルト動きベクトル精度に対応するように第２の動きベクトル情報を決定し得る。一例では、その条件は、第２のブロックがマージモードまたはスキップモードを使用してコード化されることであり得る。別の例では、その条件は、第２のブロックがＡＭＶＰモードを使用してコード化されており、第２のブロックの各予測方向についてのＭＶＤがゼロに等しいことであり得る。デフォルト精度は、例えば、いくつかの例では分数精度、他の例では整数精度であり得る。第１および第２の動きベクトル精度情報は、例えば、動きベクトル精度またはＭＶＤ精度の一方または両方であり得る。
【０１２６】
[0134]ＭＶ／ＭＶＤ精度情報がＣＵレベルでシグナリングされるとき、ＭＶ／ＭＶＤ精度情報は、以下の条件のうちの１つ（および場合によっては１つまたは複数）がＣＵ内の全てのＰＵについて正である場合にシグナリングされない可能性がある：（１）ＰＵがイントラコード化される、（２）ＰＵがマージ／スキップモードを用いてコード化される、または（３）ＰＵがＡＭＶＰモードを用いてコード化され、ＰＵの各予測方向におけるＭＶＤがゼロに等しい。代替または追加として、動きベクトル精度情報がシグナリングされないとき、整数動きベクトル精度などのデフォルト動きベクトル精度が、ＰＵまたはＣＵに対して使用され得る。
【０１２７】
[0135]ビデオデコーダ３０は、例えば、ビデオデータの第１のＣＵについて、第１の動きベクトル精度情報を受信し、またビデオデータの第２のＣＵがある条件を満たすことに応答して、デフォルト精度に対応するように第２の動きベクトル情報を決定し得る。その条件は、例えば、ＣＵ内の全てのＰＵがイントラコード化されること、ＣＵ内の全てのＰＵがマージモードまたはスキップモードを使用してコード化されること、ＣＵ内の全てのＰＵが、ゼロに等しい全てのＰＵの各方向に、ＡＭＶＰおよびＭＶＤを使用してコード化されることであり得る。デフォルト精度は、例えば分数精度であり得るか、または精度なしであり得る。例えば、あるブロックがイントラ予測される場合、そのブロックは、関連付けられる動きベクトルを有さず、したがって関連付けられる動きベクトル精度を有さない。第１および第２の動きベクトル精度情報は、例えば、動きベクトル精度またはＭＶＤ精度の一方または両方を含み得る。
【０１２８】
[0136]現在のＡＭＶＰコード化ＰＵが、整数ピクセル動きベクトル精度と同様にシグナリング／導出されるとき、空間的な隣接ブロック、時間的な隣接ブロック、またはそれら両方からの１つまたは複数の（いくつかの例では全ての）ＭＶ候補が、ＡＭＶＰリストの生成処理における刈り込み（pruning）の前に、整数ピクセル精度に丸められ得る。整数ピクセルＭＶが、現在のマージ、スキップコード化されたＣＵ／ＰＵ、またはそれら両方について使用されるようにシグナリング／導出されるとき、空間的な時間的な隣接ブロック、時間的な隣接ブロック、またはそれら両方からの１つまたは複数の（いくつかの例では全ての）ＭＶ候補が、マージリストの生成処理における刈り込みの前に、整数ピクセル精度に丸められ得る。
【０１２９】
[0137]例えば、ビデオデコーダ３０は、ブロックについての候補リスト（例えば、マージ候補リストまたはＡＭＶＰ候補リスト）に含めるための１つまたは複数の動きベクトル候補を識別し得る。１つまたは複数の動きベクトル候補は、例えば、１つまたは複数の空間的な隣接候補および／または１つまたは複数の時間的な隣接候補を含み得る。１つまたは複数の動きベクトル候補は、少なくとも１つの分数精度動きベクトル候補を含み得る。ブロックについての動きベクトル精度が整数ピクセル精度であることに応答して、ビデオデコーダ３０は、１つまたは複数の整数精度動きベクトル候補を決定するために、その１つまたは動きベクトル候補を丸め得る。ビデオデコーダ３０は、１つまたは複数の整数精度動きベクトル候補において刈り込み操作を行い得る。
【０１３０】
[0138]一例では、動きベクトル精度フラグが、他のシンタックス要素のＣＡＢＡＣコンテキストとして使用され（または条件付きで使用され）得る。すなわち、動きベクトル精度フラグに応じた異なるコンテキストモデルが、特定のシンタックス要素をコード化するために使用され得る。一例では、ＰＵなどのブロックについてのＡＭＶＰ候補インデックスをコーディングするとき、ＰＵまたは関連するＣＵあるいは空間的に隣接するブロックまたは時間的に隣接するブロックの動きベクトル精度フラグが、ＣＡＢＡＣコーディングコンテキストとして使用される。代替または追加として、いくつかの例では、ＡＭＶＰ候補インデックスが０に等しくなる初期化された可能性は、動きベクトル精度フラグが整数ピクセル動きベクトル精度を指示するとき、１の付近に設定され得る。代替または追加として、Ｂスライスにおいてのみ、あるいは、スライスが一定の時間的レベルにあるとき、または量子化パラメータが、あらかじめ定義されたしきい値よりも大きいときのみなど、いくつかのケースでは、動きベクトル精度フラグは、ＡＭＶＰ候補インデックスなどの他のシンタックス要素についてのＣＡＢＡＣコンテキストとして使用され得る。
【０１３１】
[0139]これらの例のうちの１つまたは複数が組み合わされ得る。例えば、実際には、例の任意の部分の任意の組合せが新たな例として使用され得る。加えて、上記の例の２次的な例が以下で説明されている。
【０１３２】
[0140]いくつかの例は、スクリーンコンテンツについてのデコーダサイド動きベクトル精度導出に関する。一例では、再構築されたサンプルにおけるＬ字形状または他の形状のテンプレートマッチングが使用され得る。動きベクトル精度は、整数ピクセル位置のＳＡＤなどのテンプレートマッチング結果と、その隣接サブピクセル位置のマッチング結果との差に基づき得る。例えば、整数ピクセル位置のマッチング結果がはるかに小さいとき、整数ピクセル精度が適用される。他の場合、サブピクセル精度が適用される。「はるかに小さい」を定義するために、しきい値が使用され得る。実際には、固定されたしきい値、適応的なしきい値、またはそれら両方が使用され得る。適応的なしきい値に関して、適応的なしきい値は、ビットストリームにおいてシグナリングされるか、あるいは、ビットストリームにおいてシグナリングされた、ブロックタイプまたはＱＰなどの他の情報に基づいて導出され得る。加えて、「はるかに大きい」場合のしきい値もまた定義され得る。したがって、整数位置から隣接するサブピクセル位置のものを減じたマッチング結果が、「はるかに大きい」しきい値よりも大きいとき、１／４ピクセル精度が使用され得る。マッチングの差が、「はるかに小さい」のしきい値と「はるかに大きい」のしきい値との間にあるとき、１／２ピクセル精度が使用され得る。代替的にまたは追加として、ミラーベースの双方向性テンプレートマッチングなどの他のテンプレートマッチング法が、代わりに、上記の例で使用され得る。
【０１３３】
[0141]別の例では、動きベクトル精度情報は、階調度、シャープネス、または、変換がブロックについてスキップされるかどうかなど、空間的にまたは時間的に隣接するブロックのプロパティに基づいてデコーダサイドで導出され得る。しきい値情報は、ビットストリームにおいてシグナリングされるか、ビットストリームから導出されるか、またはそれら両方であり得る。
【０１３４】
[0142]いくつかの例はインジケータシグナリングに関する。種々のコンテンツに適応的に適合するために、デコーダサイド動きベクトル精度導出（ＤＭＰＤ）の種々の方法の組み合せが使用され得る。どの方法が使用されているかを示すために、インジケータがビットストリームにおいてシグナリングされ得る。一例では、インジケータは、どのＤＭＰＤ方法が使用されるかをデコーダに明示的に知らせるために、スライスレベル以上でシグナリングされ得る。別の例では、いくつかのＤＭＰＤ方法の使用がビットストリームにおいてシグナリングされる一方で、他のＤＭＰＤ方法の使用は、ビットストリームにおいて、スライスタイプおよびスライスの時間的レベルなどの他の情報に基づいて導出される。
【０１３５】
[0143]いくつかの例は、シグナリングされる適応型動きベクトル精度に関する。そのような例では、動きベクトル精度は、ビットストリームにおいて、ＬＣＵ、ＣＵまたはＰＵレベルなどでシグナリングされ得る。整数精度、１／２ピクセル精度、１／４ピクセル精度、または他の精度などの動きベクトル精度を示すために、フラグ／値が使用され得る。動きベクトル精度が、１つのブロックまたは１つの領域／スライスについてシグナリングされるとき、このブロック／領域／スライス内の全てのより小さなブロックは、同じ動きベクトル精度を共有し得る。さらに、ＭＶＤ情報がまた、シグナリングされた精度でシグナリングされ得る。動き補償の前に、ＭＶ（ＭＶ予測子＋ＭＶＤ）は、シグナリングされた精度に丸められ得る。丸めることは、正の無限大、負の無限大、ゼロ、または無限大（負の値は負の無限大に丸められ、一方、正の値は正の無限大に丸められる）に向かい得る。代替的にまたは追加として、ＭＶ予測子は、最初は上述のように丸められ、次いでブロックについてのＭＶを形成し得る。動き補償の後、ブロックのＭＶは、後のブロックのＭＶ予測のために保存される。ＭＶを保存するとき、丸められたＭＶは、例えば、その後に復号されるブロックについてのマージ候補またはＡＭＶＰ候補として後に使用されるように保存され得る。代替的にまたは追加として、丸められていないＭＶが、丸められた動きベクトルの代わりに保存され得、それは、潜在的に、動きフィールドがより正確に保たれ得る。
【０１３６】
[0144]別の例では、動きベクトル精度情報は、スキップモード、２Ｎ×２Ｎマージモード、またはそれら両方についてシグナリングされない。そのような例では、動きベクトル精度情報はまた、マージされたＰＵについてシグナリングされないこともある。代替または追加として、マージモードおよびスキップモードなどの特殊なコーディングモードで、または非対称パーティションなどの特殊なパーティションを用いて、または特殊なトランスフォーム深さを用いてまたはトランスフォームスキップを用いてコード化されているＰＵは、整数精度ＭＶがそれらのＣＵレベルでシグナリングされるときさえ、１／４ペルなど、デフォルトの動きベクトル精度を保ち得る。代替または追加として、時間的レベル、ＱＰ、ＣＵ深さなどの他のコード化された情報はまた、特殊なコーディングモードまたは特殊なコーディングツールとみなされ得る。
【０１３７】
[0145]ＣＡＢＡＣを用いて動きベクトル精度情報をエントロピーコーディングするとき、空間的に隣接するブロック／ＣＵ内にある動きベクトル精度情報以外のコンテキストは、ＣＵ深さ、ＰＵ区分化、ブロックサイズ、時間的レベルなどの、ラインバッファを保存するために使用され得る。
【０１３８】
[0146]ブロック（例えば、ＰＵ）のための例示的なＭＶＤシグナリングの、擬似コード、シンタックス、セマンティクスが、以下に示される。
【０１３９】
【表１】
2019533363.tif 000003
【０１４０】
[0147]abs_mvd_greater0_flag[0]およびabs_mvd_greater0_flag[ 1 ]は、１つのビンであり、同じコンテキストを共有する。
【０１４１】
[0148]abs_mvd_greater1_flag[0]およびabs_mvd_greater1_flag[ 1 ]は、１つのビンであり、同じコンテキストを共有する。
【０１４２】
[0149]abs_mvd_minus2[ 0 ]およびabs_mvd_minus2[ 1 ]は、１に等しいパラメータを有する指数ゴロムコードである。
【０１４３】
[0150]算術コーディングが使用されるときのＭＶＤシグナリング処理における２つの例示的なステップは、二値化およびコンテキストモデル選択を含む。例えば、ＨＥＶＣにおいて、ＭＶＤ値の１つのコンポーネントは、abs_mvd_greater0_flag、abs_mvd_greater1_flag、abs_mvd_minus2、およびmvd_sign_flagとして分解される（二値化される）。abs_mvd_minus2の値は、１に等しいパラメータを有する指数ゴロムコードを使用することによってさらに二値化される。
【０１４４】
[0151]ＭＶＤシグナリングのための現在の例示的な技法は、下記の問題を有し得る。コンテキスト適応算術コーディングのための二値化およびコンテキストモデリングなどのＭＶＤシグナリング技法は、動きベクトル精度を含む、ＭＶＤおよび動きベクトルをコーディングするための異なるフォーマットに二値化およびコンテキストが基づいていないとき、いくつかの動きベクトルまたはＭＶＤに関しては非効率的であり得る。異なる動きベクトル精度は、結果としてもたらされるＭＶＤの振幅において異なる統計を有し得る。同じ動き精度を有していたとしても、アファインまたは従来のインターモード（回転動きのための）などの異なるコーディングモードを有する統計は、異なり得る。このような情報を考慮することは、さらなるコーディング利得をもたらし得る。
【０１４５】
[0152]本開示は、ビットストリームにおいてＭＶＤをより良く表現するために２つ以上のＭＶＤコーディング（例えば、シグナリング）技法を使用することを目的とする。一例では、ビデオデータのブロックのＭＶＤをコーディングするために使用される技法は、動き精度、および／または現在のコード化されたブロックと参照ピクチャとの間のＰＯＣ差分、あるいは、ブロックの任意の他の既にコード化／復号された情報に依存し得る。
【０１４６】
[0153]項目別にされた技法が、個々にまたは任意の組み合わせで、ビデオエンコーダ２０および／またはビデオデコーダ３０によって行われ得る。一例では、本開示は、それぞれ、ビデオエンコーダ２０および／またはビデオデコーダ３０が、ＭＶＤを符号化および復号するために、２つ以上の異なるＭＶＤコーディング技法を適用するように構成され得ることを説明している。
【０１４７】
[0154]一例では、ビデオエンコーダ２０は、インター予測モード（例えば、ＡＭＶＰインター予測モード）にしたがってビデオデータのブロックを符号化するように構成され得る。ＡＭＶＰにしたがってビデオデータのブロックを符号化する部分として、ビデオエンコーダ２０は、ビデオデータのブロックに関連付けられたＭＶＤを決定するように構成され得る。下記でより詳細に説明されるように、ビデオエンコーダ２０は、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素を符号化することとを行うようにさらに構成され得る。同様に、ビデオデコーダ３０は、ビデオデータの符号化ブロックを受信することと、ビデオデータの符号化ブロックに関連付けられたＭＶＤを示す１つまたは複数のシンタックス要素を受信することと、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素を復号することと、復号されたＭＶＤを使用してビデオデータの符号化ブロックを復号することとを行うように構成され得る。
【０１４８】
[0155]本開示の一例では、ＭＶＤを示すために使用される１つまたは複数のシンタックス要素は、abs_mvd_greater0_flag[x]、abs_mvd_greater1_flag[x]、abs_mvd_minus2[x]、およびmvd_sign_flag[x]を含み得、ここで、[x]は、ＭＶＤの水平または垂直成分(例えば、水平成分についての[0]、および垂直成分についての[1])のいずれかを指定する。シンタックス要素abs_mvd_greater0_flag[x]の値は、特定の水平または垂直成分についてのＭＶＤの絶対値がゼロより大きいか否かを示す。シンタックス要素abs_mvd_greater1_flag[x]の値は、特定の水平または垂直成分についてのＭＶＤの絶対値が１より大きいか否かを示す。対応するabs_mvd_greater0_flag[x]の値が、ＭＶＤのコンポーネントの絶対値がゼロより大きいことを示す場合に、シンタックス要素abs_mvd_greater1_flag[x]のみがコード化されることに留意されたい。abs_mvd_minus2[x]の値は、特定の水平または垂直成分についてのＭＶＤの絶対値を示す。対応するabs_mvd_greater1_flag[x]の値が、ＭＶＤのコンポーネントの絶対値が１より大きいことを示す場合に、シンタックス要素abs_mvd_minus2[x]のみがコード化されることに留意されたい。シンタックス要素mvd_sign_flag[x]の値は、ＭＶＤの各コンポーネントあるいは極性（例えば、正または負）を示す。上記は、ＭＶＤがどのようにコード化され得るかの一例である。当然ながら、ＭＶＤをコード化するためにシンタックス要素の他のグループが使用され得る。
【０１４９】
[0156]本開示の一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＭＶＤコーディング／シグナリングのための２つ以上の異なる二値化方法に適用するように構成されるべきものである。一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＭＶＤを示す１つまたは複数のシンタックス要素をコーディングするために、２つ以上の二値化方法の中から、特定の二値化方法を決定するように構成され得る。
【０１５０】
[0157]本開示の一例では、用いられるＭＶＤを示す１つまたは複数のシンタックス要素のための二値化方法は、指数ゴロムコード、単項コード、固定長コードなどを含み得るが、これらに限定されない。一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、１つの二値化方法に適用されるが、異なるパラメータを用い得る。例えば、二値化方法は、Ｋ−指数ゴロム二値化方法（the K-the Exp-Golomb binarization method）として定義され、ここで、パラメータＫは、１つのスライス、タイル、および／またはピクチャ内で異なり得る。
【０１５１】
[0158]２つ以上の二値化技法がＫ次指数ゴロムコーディングを含む例にしたがって、ビデオエンコーダ２０は、スライス、タイル、ピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用されるＫ次指数ゴロムコーディングについてのパラメータＫの値を決定するように構成され得る。いくつかの例では、パラメータＫの値は、ビデオデコーダ３０にシグナリングされ得る。他の例では、ビデオデコーダ３０は、スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用されるＫ次指数ゴロムコーディングについてのＫの値を決定するように構成され得る。
【０１５２】
[0159]本開示の一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ブロックサイズ、ＭＶＤのために使用される動きベクトル精度、動きモデル（例えば、アファイン動き対回転動き）、インター予測方向、参照ピクチャ、現在ピクチャと参照ピクチャとの間のＰＯＣ差分、隣接ブロックの動きベクトル差分または動きベクトル、隣接ブロックのイントラ／インターモード決定、および／または動き予測特性（スケーリングされない対スケーリングされた、空間対時間）に基づいて、二値化方法を決定し得る。
【０１５３】
[0160]本開示の別の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＭＶＤ精度に基づいてＭＶＤを示す１つまたは複数のシンタックス要素の二値化を決定するように構成され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０は、比較的高いＭＶＤ精度（例えば、１／４ピクセル精度）が適用されたとき、比較的下位の次数の指数ゴロムコード（例えば、１に等しいゴロムパラメータ）を用いてabs_mvd_minus2[x]シンタックス要素を二値化し得る。ビデオエンコーダ２０および／またはビデオデコーダ３０は、より低いＭＶＤ精度が適用されたとき（例えば、整数ピクセル精度またはマルチプルなピクセル精度）、比較的高い次数の指数ゴロムコード（例えば、２に等しいゴロムパラメータ）を用いてabs_mvd_minus2[x]シンタックス要素を二値化し得る。
【０１５４】
[0161]別の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータの符号化ブロックとビデオデータの符号化ブロックに関連付けられた参照ピクチャとの間のＰＯＣ距離および／または動きベクトル精度に基づいて、二値化技法を２つ以上の二値化技法から決定するように構成され得る。ＰＯＣ距離の例が例示的な実装において下記で説明されている。動きベクトル精度を使用する例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータのブロックについての動きベクトル精度が１／４ピクセル精度であると決定すること、およびＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを行うように構成され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータの符号化ブロックについての動きベクトル精度が整数ピクセル精度であると決定すること、およびＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを行うようにさらに構成され得る。
【０１５５】
[0162]本開示の別の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＣＡＢＡＣコンテキストの２つ以上のセットを、（例えば、シグナリングおよび／または構文解析のために）ＭＶＤシンタックスを示す１つまたは複数のシンタックス要素に適用し得る。一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＭＶＤを示す１つまたは複数のシンタックス要素をコーディングするために、ＣＡＢＡＣコンテキストの２つ以上のセットの中から、ＣＡＢＡＣコンテキストの１つのセットを決定するように構成され得る。一例では、ＣＡＢＡＣコンテキストの各セットは、少なくとも１つのコンテキストを含み得る。別の例では、ＣＡＢＡＣコンテキストの異なるセットは、異なるコンテキストの数を有し得る。
【０１５６】
[0163]ＣＡＢＡＣコンテキストの１つのセットを選択する条件は、ブロックサイズ、動きベクトル精度、動きモデル（アファイン動き対回転動き）、インター予測方向、参照ピクチャ、現在ピクチャと参照ピクチャとの間のＰＯＣ差分、動きベクトルまたは隣接ブロックにおける動きベクトル差分、隣接ブロックのイントラ／インターモード決定、または動き予測子特性（スケーリングされない対スケーリングされた，空間対時間）に依存し得る。一例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータの符号化ブロックとビデオデータの符号化ブロックに関連付けられた参照ピクチャとの間のＰＯＣ距離および／または動きベクトル精度に基づいて、コンテキストのセットをコンテキストの２つ以上のセットから決定するように構成され得る。
【０１５７】
[0164]本開示の別の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、２つ以上の部分にＭＶＤシグナリングを分割し得、他のシンタックス要素は、ＭＶＤシグナリングのための分割された部分の２つの間（between）（３つ以上の間（among））でコード化され得る。一例では、シンタックス要素の第１の部分は、ＭＶＤの水平および垂直成分が０に等しいかどうかのインジケーションのシグナリングを含み、ここにおいて、ビデオエンコーダ２０およびビデオデコーダ３０は、ＭＶＤの各コンポーネントについて２つのシンタックス要素をコーディング（例えば、それぞれ、符号化および復号）し得る。別の例では、第１の部分は、３つのシンタックス要素を含み得る。第１のシンタックス要素は、ＭＶＤがゼロＭＶＤであるか否かを示し、および、ＭＶＤの各コンポーネント（例えば、水平または垂直成分）が０に等しいか否かを示すために、他の２つのシンタックス要素を示す。
【０１５８】
[0165]別の例では、ＭＶＤ情報の少なくとも一部分（例えば、ＭＶＤの何らかの部分を示す少なくとも１つのシンタックス要素）は、ＭＶ精度情報を示すシンタックス要素がシグナリングされる前に、シグナリング／コード化される。別の例では、ＭＶ精度情報がＭＶ精度情報を決定するためにビデオデコーダ３０によって使用される前に、ＭＶＤ情報の一部分がシグナリングされる。ＭＶＤ情報の残りの部分は、ＭＶ精度情報の後にシグナリングされる。残りの部分のシグナリングは、前の例で説明されるようなＭＶ精度情報にしたがい得る。
【０１５９】
[0166]別の例では、ＭＶＤ情報の少なくとも一部分（例えば、ＭＶＤの何らかの部分を示す少なくとも１つのシンタックス要素）は、ＭＶ予測子（ＭＶＰ）インデックスを示すシンタックス要素の前に、シグナリング／コーディングされる。別の例では、ゼロＭＶＤのインジケーションを含むＭＶＤ情報の第１の部分が、ゼロＭＶＤを用いてコード化されるとき、ＭＶＤインデックスはスキップされ得る（すなわち、ＭＶＤインデックスは、シグナリング／コーディングされない）。このケースでは、ＭＶＰインデックスは、常に０に設定される。別の例では、ビデオデコーダ３０は、シグナリングすることなく（例えば、ＭＶＰインデックスについてのシグナリングされたシンタックス要素を受信することなく）、ＭＶＰインデックスを導出するように構成され得る。導出は、複数のＭＶ予測子に、および／または再構成された隣接サンプルに基づき得る。別の例では、上記の技法は、米国特許出願公開第２０１５／０１９５５６２号において見られるように、特定の条件下、例えば、ＭＶ精度情報がＭＶＤに基づいて条件付きでシグナリングされるときに、適用され得る。
【０１６０】
[0167]上記で説明された技法によると、ビデオエンコーダ２０およびビデオデコーダ３０は、２つ以上の部分において、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素をコーディングするように構成され得る。別の例では、エンコーダ２０およびビデオデコーダ３０は、ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素をコーディングすること、およびＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素をコーディングすることを行うように構成され得る。
【０１６１】
[0168]ＭＶＤシグナリングについて上述される複数のコーディング技法のセットがあらかじめ定義され得る。他の例では、使用されるべき技法のセットは、シーケンスパラメータセット、および／またはピクチャパラメータセット、および／またはスライスヘッダにおいてシグナリングされ得る。
【０１６２】
[0169]本開示の技法のためのシンタックス要素およびセマンティクスの１つの例示的な実装が、下記で説明される。
【０１６３】
【表２】
2019533363.tif 000004
【０１６４】
[0170]この例示的な実装では、ＭＶＤコーディングに使用された合計５つのコンテキストが存在する。mv_precisionフラグが１に等しい（例えば、１／４ピクセル精度）であるとき、または現在ピクチャと参照ピクチャとの間のＰＯＣ差分が１に等しいとき、下記の二値化およびコンテキストモデリング方法が適用される。
【０１６５】
[0171]シンタックス要素abs_mvd_greater0_flag[0]およびabs_mvd_greater0_flag[ 1 ]は、１つのＣＡＢＡＣビンとしてコード化され、同じコンテキストをインデックスctxIdx = 0と共有する。
【０１６６】
[0172]シンタックス要素abs_mvd_greater1_flag[0]およびabs_mvd_greater1_flag[ 1 ]は、１つのＣＡＢＡＣビンとしてコード化され、同じコンテキストをインデックスctxIdx = 1と共有する。
【０１６７】
[0173]シンタックス要素abs_mvd_minus2[ 0 ]およびabs_mvd_minus2[ 1 ]は、２つの部分に分割される。これらのシンタックス要素は、１に等しいパラメータを有する指数ゴロムコードにしたがって二値化され得る。二値化は、１つの単項コード部分と１つの固定長コード部分との２つの部分を含み得る。単項コードおよび固定長コードの長さは、パラメータによって定義される。単項コード部分は、１つまたは複数のマルチプルなコンテキストを用いてコード化され得る。一例では、指数ゴロムコードの単項コードは、インデックスctxIdx = 3を有するコンテキストを使用してコード化される。
【０１６８】
[0174]そうでない場合（すなわち、１／４ピクセル精度以外の動きベクトル精度と、１より大きいＰＯＣ距離）、下記の技法を適用する。
【０１６９】
[0175]シンタックス要素abs_mvd_greater0_flag[0]およびabs_mvd_greater0_flag[ 1 ]は、１つのＣＡＢＡＣビンとしてコード化され、同じコンテキストをインデックスctxIdx = 0と共有する。
【０１７０】
[0176]シンタックス要素abs_mvd_greater1_flag[0]およびabs_mvd_greater1_flag[ 1 ]は、１つのＣＡＢＡＣビンとしてコード化され、同じコンテキストをインデックスctxIdx = 2と共有する。
【０１７１】
[0177]シンタックス要素abs_mvd_minus2[ 0 ]およびabs_mvd_minus2[ 1 ]は、２つの部分に分割される。第１の部分は、２に等しいパラメータを有する指数ゴロムコードを使用してコード化される。セクション部分は、インデックスctxIdx = 4を有するコンテキストを使用して指数ゴロムコードの単項コードを使用してコード化される。
【０１７２】
[0178]図８は、本開示の技法に従った、例示的な符号化方法を図示するフローチャートである。図８の技法は、ビデオエンコーダ２０によって行われ得る。
【０１７３】
[0179]ビデオエンコーダ２０は、インター予測モードにしたがってビデオデータのブロックを符号化することと（２００）、ビデオデータのブロックに関連付けられたＭＶＤを決定することと（２０２）、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと（２０４）、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素を符号化することと（２０６）、を行うように構成され得る。
【０１７４】
[0180]図９は、本開示の技法に従った、例示的な復号を図示するフローチャートである。図９の技法は、ビデオデコーダ３０によって行われ得る。
【０１７５】
[0181]ビデオデコーダ３０は、ビデオデータの符号化ブロックを受信することと（２５０）、ビデオデータの符号化ブロックに関連付けられたＭＶＤを示す１つまたは複数のシンタックス要素を受信することと（２５２）、ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと（２５４）、決定されたＭＶＤコーディング技法を使用してＭＶＤを示す１つまたは複数のシンタックス要素を復号することと（２５６）、復号されたＭＶＤを使用してビデオデータの符号化ブロックを復号することと（２５８）を行うように構成され得る。
【０１７６】
[0182]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらのあらゆる組み合わせで実装され得る。ソフトウェアにおいて実装される場合、それら機能は、コンピュータ可読媒体上で１つまたは複数の命令またはコードとして記憶あるいは送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルにしたがって、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体またはデータ記憶媒体などの有体の媒体に対応するコンピュータ可読記憶媒体を含み得る。このように、コンピュータ可読媒体は一般に、（１）非一時的である有形のコンピュータ可読記憶媒体または（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび／またはデータ構造を検索するために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされることができる任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０１７７】
[0183]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態で所望されるプログラムコードを記憶するために使用されることができ、かつコンピュータによってアクセスされることができる任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含むのではなく、代わりに、非一時的な有形の記憶媒体を対象とすることが理解されるべきである。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスクおよびブルーレイディスクを含み、ここで、ディスク（disk）は通常、データを磁気的に再生し、一方、ディスク（disc）はデータをレーザで光学的に再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１７８】
[0184]これら命令は、１つまたは複数のＤＳＰ、汎用マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、または他の等価的な集積回路またはディスクリート論理回路などの１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、任意の前述の構造または本明細書で説明された技法の実装に適した任意の他の構造を指し得る。加えて、いくつかの例では、本明細書で説明された例は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に提供され得るか、複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０１７９】
[0185]この開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（例えば、チップセット）を含む、幅広い多様なデバイスまたは装置内に実装され得る。本開示では、開示される技法を行うように構成されたデバイスの機能的態様を強調するために、様々なコンポーネントまたはユニットが説明されたが、それらは、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、上で説明したように、様々なユニットは、コーデックハードウェアユニットへと組み合わせられるか、適切なソフトウェアおよび／またはファームウェアと連携して、上で説明したような１つまたは複数のプロセッサを含む、相互動作するハードウェアユニットの集合によって提供され得る。
【０１８０】
[0186]様々な例が説明された。これらの例および他の例は、以下の請求項の範囲内にある。
【図１】
2019533363.tif 000005
【図２】
2019533363.tif 000006
【図３】
2019533363.tif 000007
【図４】
2019533363.tif 000008
【図５Ａ】
2019533363.tif 000009
【図５Ｂ】
2019533363.tif 000010
【図５Ｃ】
2019533363.tif 000011
【図６】
2019533363.tif 000012
【図７】
2019533363.tif 000013
【図８】
2019533363.tif 000014
【図９】
2019533363.tif 000015
【手続補正書】
【提出日】令和1年6月10日(2019.6.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
ビデオデータの符号化ブロックを受信することと、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定すること、ここにおいて、前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備え、前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックを含むピクチャとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定することを備える、と、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することと、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号することと
を備える、方法。
【請求項２】
前記２つ以上の二値化技法は、指数ゴロムコーディング、単項コーディング、または固定長コーディングのうちの少なくとも１つを含む、
請求項１に記載の方法。
【請求項３】
前記２つ以上の二値化技法は、Ｋ次指数ゴロムコーディングを含み、前記ＭＶＤコーディング技法を決定することは、
スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用される前記Ｋ次指数ゴロムコーディングについてのＫの値を決定すること
を備える、請求項２に記載の方法。
【請求項４】
前記方法は、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が１／４ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
請求項１に記載の方法。
【請求項５】
前記方法は、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が整数ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
請求項１に記載の方法。
【請求項６】
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、二値化技法を前記２つ以上の二値化技法から決定すること
を備える、請求項１に記載の方法。
【請求項７】
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素をエントロピーコーディングするために使用されるコンテキストの２つ以上のセットを備える、
請求項１に記載の方法。
【請求項８】
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、コンテキストのセットをコンテキストの前記２つ以上のセットから決定することを備える、
請求項７に記載の方法。
【請求項９】
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、コンテキストの前記セットをコンテキストの前記２つ以上のセットから決定することを備える、
請求項７に記載の方法。
【請求項１０】
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することは、
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することを備える、
請求項１に記載の方法。
【請求項１１】
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することは、
前記ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素を復号することと、
前記ＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素を復号することと
を備える、請求項１０に記載の方法。
【請求項１２】
ビデオデータを復号するように構成された装置であって、前記装置は、
ビデオデータの符号化ブロックを記憶するように構成されたメモリと、
１つまたは複数のプロセッサと
を備え、前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックを受信することと、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定すること、ここにおいて、前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備え、前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、ビデオデータの前記符号化ブロックを含むピクチャとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定することを行うようにさらに構成される、と、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することと、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号することと
を行うように構成される、装置。
【請求項１３】
前記２つ以上の二値化技法は、指数ゴロムコーディング、単項コーディング、または固定長コーディングのうちの少なくとも１つを含む、
請求項１２に記載の装置。
【請求項１４】
前記２つ以上の二値化技法は、Ｋ次指数ゴロムコーディングを含み、前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、
スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用される前記Ｋ次指数ゴロムコーディングについてのＫの値を決定する
ようにさらに構成される、
請求項１３に記載の装置。
【請求項１５】
前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が１／４ピクセル精度であると決定することと、
前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することと
を行うようにさらに構成される、請求項１２に記載の装置。
【請求項１６】
前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が整数ピクセル精度であると決定することと、
前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することと
を行うようにさらに構成される、請求項１２に記載の装置。
【請求項１７】
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、二値化技法を前記２つ以上の二値化技法から決定すること
を行うようにさらに構成される、請求項１２に記載の装置。
【請求項１８】
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素をエントロピーコーディングするために使用されるコンテキストの２つ以上のセットを備える、
請求項１２に記載の装置。
【請求項１９】
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、コンテキストのセットをコンテキストの前記２つ以上のセットから決定すること
を行うようにさらに構成される、請求項１８に記載の装置。
【請求項２０】
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、コンテキストの前記セットをコンテキストの前記２つ以上のセットから決定するようにさらに構成される、
請求項１８に記載の装置。
【請求項２１】
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号するために、前記１つまたは複数のプロセッサは、
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することを行うようにさらに構成される、
請求項１２に記載の装置。
【請求項２２】
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号するために、前記１つまたは複数のプロセッサは、
前記ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素を復号することと、
前記ＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素を復号することと
を行うようにさらに構成される、請求項２１に記載の装置。
【請求項２３】
前記装置は、ワイヤレス通信デバイスを備え、ビデオデータの前記符号化ブロックを受信するように構成された受信機をさらに備える、
請求項１２に記載の装置。
【請求項２４】
前記ワイヤレス通信デバイスは、電話ハンドセットを備え、前記受信機は、ワイヤレス通信規格にしたがって、ビデオデータの前記符号化ブロックを備える信号を復調するように構成される、
請求項２３に記載の装置。
【請求項２５】
ビデオデータの前記復号されたブロックを示すピクチャを出力するように構成されたディスプレイをさらに備える、
請求項１２に記載の装置。
【請求項２６】
ビデオデータを復号するように構成された装置であって、前記装置は、
ビデオデータの符号化ブロックを受信するための手段と、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信するための手段と、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定するための手段、ここにおいて、前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備え、前記ＭＶＤコーディング技法を決定するための手段は、ビデオデータの前記符号化ブロックを含むピクチャとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定するための手段を備える、と、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号するための手段と、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号するための手段と
を備える、装置。
【請求項２７】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオデータを復号するように構成されたデバイスの１つまたは複数のプロセッサに、
ビデオデータの前記符号化ブロックを受信することと、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定すること、ここにおいて、前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備え、前記ＭＶＤコーディング技法を決定するために、前記命令は、１つまたは複数のプロセッサに、ビデオデータの前記符号化ブロックを含むピクチャとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定することをさらに行わせる、と、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することと、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号することと
を行わせる、コンピュータ可読記憶媒体。
【請求項２８】
ビデオデータを符号化する方法であって、前記方法は、
インター予測モードにしたがってビデオデータのブロックを符号化することと、
ビデオデータの前記ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を決定することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定すること、ここにおいて、前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備え、前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックを含むピクチャとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定することを備える、と、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す１つまたは複数のシンタックス要素を符号化することと
を備える、方法。
【請求項２９】
前記２つ以上の二値化技法は、指数ゴロムコーディング、単項コーディング、または固定長コーディングのうちの少なくとも１つを含む、
請求項２８に記載の方法。
【請求項３０】
前記２つ以上の二値化技法は、Ｋ次指数ゴロムコーディングを含み、前記ＭＶＤコーディング技法を決定することは、
スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用される前記Ｋ次指数ゴロムコーディングについてのＫの値を決定することを備える、
請求項２９に記載の方法。
【請求項３１】
前記方法は、
ビデオデータの前記ブロックについての前記動きベクトル精度が１／４ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
請求項２８に記載の方法。
【請求項３２】
前記方法は、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が整数ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
請求項２８に記載の方法。
【請求項３３】
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、二値化技法を前記２つ以上の二値化技法から決定すること
を備える、請求項２８に記載の方法。
【請求項３４】
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素をエントロピーコーディングするために使用されるコンテキストの２つ以上のセットを備える、
請求項２８に記載の方法。
【請求項３５】
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、コンテキストのセットをコンテキストの前記２つ以上のセットから決定すること
を備える、請求項３４に記載の方法。
【請求項３６】
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、コンテキストの前記セットをコンテキストの前記２つ以上のセットから決定することを備える、
請求項３４に記載の方法。
【請求項３７】
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を符号化することは、
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を符号化することを備える、
請求項２８に記載の方法。
【請求項３８】
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を符号化することは、
前記ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素を符号化することと、
前記ＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素を符号化することと
を備える、請求項３７に記載の方法。
【請求項３９】
ビデオデータを符号化するように構成された装置であって、前記装置は、
ビデオデータのブロックを記憶するように構成されたメモリと、
１つまたは複数のプロセッサと
を備え、前記１つまたは複数のプロセッサは、
インター予測モードにしたがってビデオデータの前記ブロックを符号化することと、
ビデオデータの前記ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を決定することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定すること、ここにおいて、前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備え、前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、ビデオデータの前記符号化ブロックを含むピクチャとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定することを行うようにさらに構成される、と、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す１つまたは複数のシンタックス要素を符号化することと
を行うように構成される、装置。
【請求項４０】
ビデオデータの前記ブロックを示すピクチャをキャプチャするように構成されたカメラ
をさらに備える、請求項３９に記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１８０
【補正方法】変更
【補正の内容】
【０１８０】
[0186]様々な例が説明された。これらの例および他の例は、以下の請求項の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、前記方法は、
ビデオデータの符号化ブロックを受信することと、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することと、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号することと
を備える、方法。
［Ｃ２］
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備える、
［Ｃ１］に記載の方法。
［Ｃ３］
前記２つ以上の二値化技法は、指数ゴロムコーディング、単項コーディング、または固定長コーディングのうちの少なくとも１つを含む、
［Ｃ２］に記載の方法。
［Ｃ４］
前記２つ以上の二値化技法は、Ｋ次指数ゴロムコーディングを含み、前記ＭＶＤコーディング技法を決定することは、
スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用される前記Ｋ次指数ゴロムコーディングについてのＫの値を決定すること
を備える、［Ｃ３］に記載の方法。
［Ｃ５］
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定することを備える、
［Ｃ２］に記載の方法。
［Ｃ６］
前記方法は、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が１／４ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
［Ｃ５］に記載の方法。
［Ｃ７］
前記方法は、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が整数ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
［Ｃ５］に記載の方法。
［Ｃ８］
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、二値化技法を前記２つ以上の二値化技法から決定すること
を備える、［Ｃ２］に記載の方法。
［Ｃ９］
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素をエントロピーコーディングするために使用されるコンテキストの２つ以上のセットを備える、
［Ｃ１］に記載の方法。
［Ｃ１０］
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、コンテキストのセットをコンテキストの前記２つ以上のセットから決定することを備える、
［Ｃ９］に記載の方法。
［Ｃ１１］
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、コンテキストの前記セットをコンテキストの前記２つ以上のセットから決定することを備える、
［Ｃ９］に記載の方法。
［Ｃ１２］
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することは、
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することを備える、
［Ｃ１］に記載の方法。
［Ｃ１３］
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することは、
前記ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素を復号することと、
前記ＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素を復号することと
を備える、［Ｃ１２］に記載の方法。
［Ｃ１４］
ビデオデータを復号するように構成された装置であって、前記装置は、
ビデオデータの符号化ブロックを記憶するように構成されたメモリと、
ビデオデータの前記符号化ブロックを受信することと、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することと、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
［Ｃ１５］
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備える、
［Ｃ１４］に記載の装置。
［Ｃ１６］
前記２つ以上の二値化技法は、指数ゴロムコーディング、単項コーディング、または固定長コーディングのうちの少なくとも１つを含む、
［Ｃ１５］に記載の装置。
［Ｃ１７］
前記２つ以上の二値化技法は、Ｋ次指数ゴロムコーディングを含み、前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、
スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用される前記Ｋ次指数ゴロムコーディングについてのＫの値を決定する
ようにさらに構成される、
［Ｃ１６］に記載の装置。
［Ｃ１８］
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定するようにさらに構成される、
［Ｃ１５］に記載の装置。
［Ｃ１９］
前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が１／４ピクセル精度であると決定することと、
前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することと
を行うようにさらに構成される、［Ｃ１８］に記載の装置。
［Ｃ２０］
前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が整数ピクセル精度であると決定することと、
前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することと
を行うようにさらに構成される、［Ｃ１８］に記載の装置。
［Ｃ２１］
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、二値化技法を前記２つ以上の二値化技法から決定すること
を行うようにさらに構成される、［Ｃ１５］に記載の装置。
［Ｃ２２］
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素をエントロピーコーディングするために使用されるコンテキストの２つ以上のセットを備える、
［Ｃ１４］に記載の装置。
［Ｃ２３］
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、コンテキストのセットをコンテキストの前記２つ以上のセットから決定すること
を行うようにさらに構成される、［Ｃ２２］に記載の装置。
［Ｃ２４］
前記ＭＶＤコーディング技法を決定するために、前記１つまたは複数のプロセッサは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、コンテキストの前記セットをコンテキストの前記２つ以上のセットから決定するようにさらに構成される、
［Ｃ２２］に記載の装置。
［Ｃ２５］
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号するために、前記１つまたは複数のプロセッサは、
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することを行うようにさらに構成される、
［Ｃ１４］に記載の装置。
［Ｃ２６］
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号するために、前記１つまたは複数のプロセッサは、
前記ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素を復号することと、
前記ＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素を復号することと
を行うようにさらに構成される、［Ｃ２５］に記載の装置。
［Ｃ２７］
前記装置は、ワイヤレス通信デバイスを備え、ビデオデータの前記符号化ブロックを受信するように構成された受信機をさらに備える、
［Ｃ１４］に記載の装置。
［Ｃ２８］
前記ワイヤレス通信デバイスは、電話ハンドセットを備え、前記受信機は、ワイヤレス通信規格にしたがって、ビデオデータの前記符号化ブロックを備える信号を復調するように構成される、
［Ｃ２７］に記載の装置。
［Ｃ２９］
ビデオデータの前記復号されたブロックを示すピクチャを出力するように構成されたディスプレイをさらに備える、
［Ｃ１４］に記載の装置。
［Ｃ３０］
ビデオデータを復号するように構成された装置であって、前記装置は、
ビデオデータの符号化ブロックを受信するための手段と、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信するための手段と、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定するための手段と、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号するための手段と、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号するための手段と
を備える、装置。
［Ｃ３１］
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオデータを復号するように構成されたデバイスの１つまたは複数のプロセッサに、
ビデオデータの前記符号化ブロックを受信することと、
ビデオデータの前記符号化ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を示す１つまたは複数のシンタックス要素を受信することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を復号することと、
前記復号されたＭＶＤを使用してビデオデータの前記符号化ブロックを復号することと
を行わせる、コンピュータ可読記憶媒体。
［Ｃ３２］
ビデオデータを符号化する方法であって、前記方法は、
インター予測モードにしたがってビデオデータのブロックを符号化することと、
ビデオデータの前記ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を決定することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す１つまたは複数のシンタックス要素を符号化することと
を備える、方法。
［Ｃ３３］
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素のための２つ以上の二値化技法を備える、
［Ｃ３２］に記載の方法。
［Ｃ３４］
前記２つ以上の二値化技法は、指数ゴロムコーディング、単項コーディング、または固定長コーディングのうちの少なくとも１つを含む、
［Ｃ３３］に記載の方法。
［Ｃ３５］
前記２つ以上の二値化技法は、Ｋ次指数ゴロムコーディングを含み、前記ＭＶＤコーディング技法を決定することは、
スライス、タイル、またはピクチャのうちの１つまたは複数の特性に基づいて二値化のために使用される前記Ｋ次指数ゴロムコーディングについてのＫの値を決定することを備える、
［Ｃ３４］に記載の方法。
［Ｃ３６］
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、二値化技法を前記２つ以上の二値化技法から決定することを備える、
［Ｃ３３］に記載の方法。
［Ｃ３７］
前記方法は、
ビデオデータの前記ブロックについての前記動きベクトル精度が１／４ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が１のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
［Ｃ３６］に記載の方法。
［Ｃ３８］
前記方法は、
ビデオデータの前記符号化ブロックについての前記動きベクトル精度が整数ピクセル精度であると決定することをさらに備え、
前記ＭＶＤコーディング技法を決定することは、前記ＭＶＤの絶対値マイナス２を示すシンタックス要素が２のパラメータを有する指数ゴロムコードを用いて二値化されると決定することを備える、
［Ｃ３６］に記載の方法。
［Ｃ３９］
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、二値化技法を前記２つ以上の二値化技法から決定すること
を備える、［Ｃ３３］に記載の方法。
［Ｃ４０］
前記２つ以上のＭＶＤコーディング技法は、前記ＭＶＤを示す前記１つまたは複数のシンタックス要素をエントロピーコーディングするために使用されるコンテキストの２つ以上のセットを備える、
［Ｃ３２］に記載の方法。
［Ｃ４１］
前記ＭＶＤコーディング技法を決定することは、
ビデオデータの前記符号化ブロックのブロックサイズ、前記ＭＶＤのために使用される動きベクトル精度、動きモデル、インター予測方向、参照ピクチャ、ビデオデータの前記符号化ブロックと前記参照ピクチャとの間のピクチャ順序カウント差分、隣接ブロックの動きベクトル、隣接ブロックのＭＶＤ、隣接ブロックのイントラ／インターモード決定、または動き予測子特性のうちの１つまたは複数に基づいて、コンテキストのセットをコンテキストの前記２つ以上のセットから決定すること
を備える、［Ｃ４０］に記載の方法。
［Ｃ４２］
前記ＭＶＤコーディング技法を決定することは、ビデオデータの前記符号化ブロックとビデオデータの前記符号化ブロックに関連付けられた参照ピクチャとの間のピクチャ順序カウント（ＰＯＣ）距離または動きベクトル精度に基づいて、コンテキストの前記セットをコンテキストの前記２つ以上のセットから決定することを備える、
［Ｃ４０］に記載の方法。
［Ｃ４３］
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を符号化することは、
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を符号化することを備える、
［Ｃ３２］に記載の方法。
［Ｃ４４］
２つ以上の部分において、前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す前記１つまたは複数のシンタックス要素を符号化することは、
前記ＭＶＤの水平成分がゼロであるかどうかを示す第１のシンタックス要素を符号化することと、
前記ＭＶＤの垂直成分がゼロであるかどうかを示す第２のシンタックス要素を符号化することと
を備える、［Ｃ４３］に記載の方法。
［Ｃ４５］
ビデオデータを符号化するように構成された装置であって、前記装置は、
ビデオデータのブロックを記憶するように構成されたメモリと、
インター予測モードにしたがってビデオデータの前記ブロックを符号化することと、
ビデオデータの前記ブロックに関連付けられた動きベクトル差分（ＭＶＤ）を決定することと、
ＭＶＤコーディング技法を、２つ以上のＭＶＤコーディング技法から決定することと、
前記決定されたＭＶＤコーディング技法を使用して前記ＭＶＤを示す１つまたは複数のシンタックス要素を符号化することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
［Ｃ４６］
ビデオデータの前記ブロックを示すピクチャをキャプチャするように構成されたカメラ
をさらに備える、［Ｃ４５］に記載の装置。
【国際調査報告】
2019533363.tif 000016
2019533363.tif 000017
2019533363.tif 000018