(57)【要約】  １つまたは複数のプロセッサを備えるビデオコーダは、ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定し、ここにおいて、現在ブロックはビデオのフレーム中にある、ビデオデータの現在ブロックの第１の色成分のためのオフセットベクトルを決定し、ビデオのフレーム中に、オフセットベクトルを使用して第１の色成分の参照ブロックを配置し、ビデオデータの現在ブロックの第２の色成分のためのサブピクセル位置を指すオフセットベクトルに応答して、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更し、ビデオのフレーム中に、変更されたオフセットベクトルを使用して第２の色成分のための参照ブロックを配置し、第１の色成分のための参照ブロックと第２の色成分のための参照ブロックとに基づいて、現在ブロックをコーディングする。【選択図】  図８
2016527789.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定することと、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置することと、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することと、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置することと、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックを復号することと
を備える方法。
【請求項２】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項１に記載の方法。
【請求項３】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項１に記載の方法。
【請求項４】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項１に記載の方法。
【請求項５】
前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、請求項１に記載の方法。
【請求項６】
前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、請求項１に記載の方法。
【請求項７】
前記オフセットベクトルを変更することが、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することを備える、請求項１に記載の方法。
【請求項８】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｘ成分を変更することを備える、請求項１に記載の方法。
【請求項９】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｙ成分を変更することを備える、請求項１に記載の方法。
【請求項１０】
前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｘ成分を変更することをさらに備える、請求項９に記載の方法。
【請求項１１】
ビデオデータを符号化する方法であって、
ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されるべきであると決定することと、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置することと、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することと、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置することと、
ビデオデータの符号化ビットストリームに含めるために、前記オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することと
を備える方法。
【請求項１２】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項１１に記載の方法。
【請求項１３】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項１１に記載の方法。
【請求項１４】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項１１に記載の方法。
【請求項１５】
前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、請求項１１に記載の方法。
【請求項１６】
前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、請求項１１に記載の方法。
【請求項１７】
前記オフセットベクトルを変更することが、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することを備える、請求項１１に記載の方法。
【請求項１８】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記オフセットベクトルの前記ｘ成分を変更することを備える、請求項１１に記載の方法。
【請求項１９】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記オフセットベクトルの前記ｙ成分を変更することを備える、請求項１１に記載の方法。
【請求項２０】
前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記オフセットベクトルの前記ｘ成分を変更することをさらに備える、請求項１９に記載の方法。
【請求項２１】
ビデオコーディングを実行する装置であって、
ビデオデータを記憶するメモリと、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定することと、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置することと、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することと、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置することと、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックをコーディングすることと
を行うように構成された１つまたは複数のプロセッサを備えるビデオコーダと
を備える装置。
【請求項２２】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項２１に記載の装置。
【請求項２３】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項２１に記載の装置。
【請求項２４】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項２１に記載の装置。
【請求項２５】
前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、請求項２１に記載の装置。
【請求項２６】
前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、請求項２１に記載の装置。
【請求項２７】
前記ビデオコーダが、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することによって、前記オフセットベクトルを変更する、請求項２１に記載の装置。
【請求項２８】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記ビデオコーダが、前記ｘ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、請求項２１に記載の装置。
【請求項２９】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記ビデオコーダが、前記ｙ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、請求項２１に記載の装置。
【請求項３０】
前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｘ成分を変更することをさらに備える、請求項２９に記載の装置。
【請求項３１】
前記ビデオコーダがビデオデコーダを備え、前記ビデオコーダが、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックを復号することによって、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックをコーディングするようにさらに構成される、請求項２１に記載の装置。
【請求項３２】
前記ビデオコーダがビデオエンコーダを備え、前記ビデオコーダが、ビデオデータの符号化ビットストリームに含めるために、前記オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することによって、前記参照ブロックに基づいて前記現在ブロックをコーディングするようにさらに構成される、請求項２１に記載の装置。
【請求項３３】
前記装置が、
集積回路、
マイクロプロセッサ、および
ワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項２９に記載の装置。
【請求項３４】
ビデオコーディングを実行する装置であって、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定するための手段と、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定するための手段と、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置するための手段と、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更するための手段と、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置するための手段と、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックをコーディングするための手段と
を備える装置。
【請求項３５】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項３４に記載の装置。
【請求項３６】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項３４に記載の装置。
【請求項３７】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項３４に記載の装置。
【請求項３８】
前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、請求項３４に記載の装置。
【請求項３９】
前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、請求項３４に記載の装置。
【請求項４０】
前記オフセットベクトルを前記変更するための手段が、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更するための手段を備える、請求項３４に記載の装置。
【請求項４１】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｘ成分を変更することを備える、請求項３４に記載の装置。
【請求項４２】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを前記変更するための手段が、前記ｙ成分を変更するための手段を備える、請求項３４に記載の装置。
【請求項４３】
前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを前記変更するための手段が、前記ｘ成分を変更するための手段をさらに備える、請求項４２に記載の装置。
【請求項４４】
前記装置がビデオデコーダを備え、前記ビデオデコーダが、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックを復号することによって、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックをコーディングするようにさらに構成される、請求項３４に記載の装置。
【請求項４５】
前記装置がビデオエンコーダを備え、前記ビデオエンコーダが、ビデオデータの符号化ビットストリームに含めるために、前記オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することによって、前記参照ブロックに基づいて前記現在ブロックをコーディングするようにさらに構成される、請求項３４に記載の装置。
【請求項４６】
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定させ、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定させ、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置させ、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更させ、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置させ、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックをコーディングさせる、
命令を記憶するコンピュータ可読媒体。
【請求項４７】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項４９】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５０】
前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５１】
前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５２】
前記１つまたは複数のプロセッサが、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することによって、前記オフセットベクトルを変更する、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５３】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記１つまたは複数のプロセッサが、前記ｘ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５４】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記１つまたは複数のプロセッサが、前記ｙ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、請求項５３に記載のコンピュータ可読記憶媒体。
【請求項５５】
前記１つまたは複数のプロセッサが、前記ｘ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルをさらに変更する、請求項５４に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１３年７月１２日に出願された米国仮出願第６１／８４５，８３２号、および米国仮出願第６１／８４６，９７６号ファイル２０１３年７月１６日の利益を主張する。
[0002]本開示はビデオコーディングに関し、より詳細には、他のビデオブロックに基づいたビデオブロックの予測に関する。
【背景技術】
【０００２】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００３】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）がビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもある。ピクチャのイントラコード化（Ｉ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００４】
[0005]空間的予測または時間的予測によって、コーディングされるべきブロックの予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データはコード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査されてもよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてもよい。
【発明の概要】
【０００５】
[0006]本開示は、イントラモード補償（ＩＭＣ）コーディングに関する技法を導入する。ＩＭＣコーディングでは、イントラ予測モードの場合、ビデオエンコーダは、コーディングされているブロックと同じフレームまたはピクチャ中の予測ブロックを探索するが、インター予測モードの場合、ビデオエンコーダは、隣接する行および列だけではなく、より広い探索エリアを探索する。ビデオデコーダは、ビデオエンコーダによって決定された同じ予測ブロックを配置することによって、ブロックを復号する。
【０００６】
[0007]一例によれば、ビデオデータを復号する方法は、ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定することと、ここにおいて、現在ブロックはビデオのフレーム中にある、ビデオデータの現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、ビデオのフレーム中に、オフセットベクトルを使用して第１の色成分の参照ブロックを配置することと、ビデオデータの現在ブロックの第２の色成分のためのサブピクセル位置を指すオフセットベクトルに応答して、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更することと、ビデオのフレーム中に、変更されたオフセットベクトルを使用して第２の色成分のための参照ブロックを配置することと、第１の色成分のための参照ブロックと第２の色成分のための参照ブロックとに基づいて、現在ブロックを復号することとを含む。
【０００７】
[0008]別の例によれば、ビデオデータを符号化する方法は、ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されるべきであると決定することと、ビデオデータの現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、ビデオのフレーム中に、オフセットベクトルを使用して第１の色成分の参照ブロックを配置することと、ビデオデータの現在ブロックの第２の色成分のためのサブピクセル位置を指すオフセットベクトルに応答して、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更することと、ビデオのフレーム中に、変更されたオフセットベクトルを使用して第２の色成分のための参照ブロックを配置することと、ビデオデータの符号化ビットストリームに含めるために、オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することとを含む。
【０００８】
[0009]別の例によれば、ビデオコーディングを実行する装置は、ビデオデータを記憶するメモリと、ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定することと、ここにおいて、現在ブロックはビデオのフレーム中にある、ビデオデータの現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、ビデオのフレーム中に、オフセットベクトルを使用して第１の色成分の参照ブロックを配置することと、ビデオデータの現在ブロックの第２の色成分のためのサブピクセル位置を指すオフセットベクトルに応答して、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更することと、ビデオのフレーム中に、変更されたオフセットベクトルを使用して第２の色成分のための参照ブロックを配置することと、第１の色成分のための参照ブロックと第２の色成分のための参照ブロックとに基づいて、現在ブロックをコーディングすることとを行うように構成された１つまたは複数のプロセッサを備えるビデオコーダとを含む。
【０００９】
[0010]別の例によれば、ビデオコーディングを実行する装置は、ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定するための手段と、ここにおいて、現在ブロックはビデオのフレーム中にある、ビデオデータの現在ブロックの第１の色成分のためのオフセットベクトルを決定するための手段と、ビデオのフレーム中に、オフセットベクトルを使用して第１の色成分の参照ブロックを配置するための手段と、ビデオデータの現在ブロックの第２の色成分のためのサブピクセル位置を指すオフセットベクトルに応答して、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更するための手段と、ビデオのフレーム中に、変更されたオフセットベクトルを使用して第２の色成分のための参照ブロックを配置するための手段と、第１の色成分のための参照ブロックと第２の色成分のための参照ブロックとに基づいて、現在ブロックをコーディングするための手段とを含む。
【００１０】
[0011]別の例によれば、コンピュータ可読媒体は、１つまたは複数のプロセッサによって実行されたとき、１つまたは複数のプロセッサに、ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定させ、ここにおいて、現在ブロックはビデオのフレーム中にある、ビデオデータの現在ブロックの第１の色成分のためのオフセットベクトルを決定させ、ビデオのフレーム中に、オフセットベクトルを使用して第１の色成分の参照ブロックを配置させ、ビデオデータの現在ブロックの第２の色成分のためのサブピクセル位置を指すオフセットベクトルに応答して、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更させ、ビデオのフレーム中に、変更されたオフセットベクトルを使用して第２の色成分のための参照ブロックを配置させ、第１の色成分のための参照ブロックと第２の色成分のための参照ブロックとに基づいて、現在ブロックをコーディングさせる、命令を記憶する。
【００１１】
[0012]１つまたは複数の例の詳細は、添付の図面および以下の説明において記載される。他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１２】
【図１】[0013]本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２Ａ】[0014]ビデオデータのためのサンプルフォーマットを示す概念図。
【図２Ｂ】ビデオデータのためのサンプルフォーマットを示す概念図。
【図２Ｃ】ビデオデータのためのサンプルフォーマットを示す概念図。
【図３】[0015]４：２：０サンプルフォーマットに従ってフォーマットされた１６×１６コーディングユニットを示す概念図。
【図４】[0016]４：２：２サンプルフォーマットに従ってフォーマットされた１６×１６コーディングユニットを示す概念図。
【図５】[0017]イントラ動き補償（ＩＭＣ）モードの概念図を示す図。
【図６】[0018]本開示で説明する技法を実施し得る例示的なビデオエンコーダを示すブロック図。
【図７】[0019]本開示で説明する技法を実施し得る例示的なビデオデコーダを示すブロック図。
【図８】[0020]本開示の技法による、ビデオデータをコーディングする方法の一例を示すフローチャート。
【発明を実施するための形態】
【００１３】
[0021]最近開発された高効率ビデオコーディング（ＨＥＶＣ）規格を含む様々なビデオコーディング規格は、ビデオブロックのための予測コーディングモードを含み、ここで、現在コーディングされているブロックは、ビデオデータのすでにコーディングされたブロックに基づいて予測される。イントラ予測モードでは、現在ブロックは、現在ブロックと同じピクチャ中の１つまたは複数の以前にコーディングされた隣接するブロックに基づいて予測されるが、インター予測モードでは、現在ブロックは、異なるピクチャ中のすでにコーディングされたブロックに基づいて予測される。インター予測モードでは、予測ブロックとして使用するために以前にコーディングされたフレームのブロックを決定するプロセスは動き推定と呼ばれることがあり、動き推定は一般にビデオエンコーダによって実行され、予測ブロックを識別し取り出すプロセスは動き補償と呼ばれることがあり、動き補償はビデオエンコーダとビデオデコーダの両方によって実行される。
【００１４】
[0022]ビデオエンコーダは、一般に、複数のコーディングシナリオを使用してビデオをコーディングし、望ましいレートひずみトレードオフを生じるコーディングシナリオを識別することによって、ビデオデータのシーケンスをどのようにコーディングするかを決定する。特定のビデオブロックのためのイントラ予測コーディングシナリオをテストするとき、ビデオエンコーダは、一般に、隣接するピクセルの行（すなわち、コーディングされているブロックのすぐ上にあるピクセルの行）をテストし、隣接するピクセルの列（すなわち、コーディングされているブロックのすぐ左にあるピクセルの列）をテストする。対照的に、インター予測シナリオをテストするとき、ビデオエンコーダは、一般に、はるかに大きい探索エリア中の候補予測ブロックを識別し、ここで、探索エリアは、ビデオデータの以前にコーディングされたフレーム中のビデオブロックに対応する。
【００１５】
[0023]しかしながら、テキスト、シンボル、または繰返しパターンを含むビデオ画像など、いくつかのタイプのビデオ画像の場合、コーディング利得は、イントラブロックコピー（ＩＢＣ）モードと呼ばれることもあるイントラ動き補償（ＩＭＣ）モードを使用することによって、イントラ予測およびインター予測に対して達成され得ることが発見された。本開示では、ＩＭＣモードおよびＩＢＣモードという用語は交換可能である。たとえば、当初はＩＭＣモードという用語が使用されていたが、後にＩＢＣモードに変更された。ＩＭＣモードでは、イントラ予測モードの場合、ビデオエンコーダは、コーディングされているブロックと同じフレームまたはピクチャ中の予測ブロックを探索するが、インター予測モードの場合、ビデオエンコーダは、隣接する行および列だけではなく、より広い探索エリアを探索する。
【００１６】
[0024]ＩＭＣモードでは、ビデオエンコーダは、予測されているブロックと同じフレームまたはピクチャ内の予測ブロックを識別するために、動きベクトルまたはブロックベクトルと呼ばれることもあるオフセットベクトルを決定し得る。オフセットベクトルは、たとえば、ｘ成分とｙ成分とを含み、ｘ成分は予測されているビデオブロックと予測ブロックとの間の水平変位を識別し、ｙ成分は予測されているビデオブロックと予測ブロックとの間の垂直変位を識別する。符号化ビットストリームを復号するときに、ビデオデコーダがビデオエンコーダによって選択された予測ブロックを識別することができるように、ビデオエンコーダは、符号化ビットストリーム中で、決定されたオフセットベクトルをシグナリングする。
【００１７】
[0025]本開示は、ＩＭＣコーディングの性能を改善するおよび／またはＩＭＣコーディングモードを利用するシステムのシステム設計を簡略化することができ得る技法を導入する。１つの技法によれば、動きベクトルの、ｘ成分またはｙ成分などの成分をシグナリングするために使用されるコードワードの長さは、ＩＭＣコーディングモードのために使用される探索領域のサイズおよび／または予測されているブロックを含むコーディングツリーユニットのサイズに依存し得る。このようにして、固定長コードワードはオフセットベクトルの成分をシグナリングするために使用され得るが、固定長コードワードの長さはシナリオに依存し得る。固定長コードワードの長さは、たとえば、ｘ成分およびｙ成分について異なっていてもよい。いくつかのコーディングシナリオにおいてより小さい固定長コードワードを使用することによって、ＩＭＣコーディングモードのためのオフセットベクトルをシグナリングすることに関連付けられたビットオーバーヘッドが低減され得る。
【００１８】
[0026]本開示の技法の別の態様によれば、ビデオコーダは、ＩＭＣモードでコーディングされているビデオデータのブロックのための（たとえば、第１の色成分のための）オフセットベクトルを決定し得、オフセットベクトルが（たとえば、第１の色成分または第２の色成分のいずれかのための）サブピクセル位置を指す場合、オフセットベクトルは整数ピクセル位置を指すか、またはあまり正確ではないサブピクセル位置を指すように変更され得る。以下でより詳細に説明するように、第１の色成分について決定されるオフセットベクトルは、第２の色成分のための予測ブロックを配置するために使用される前に、スケーリングされる必要があり得る。元のオフセットベクトルが第１の色成分のための整数ピクセル位置を指す場合でも、スケーリングされたオフセットベクトルは第２の色成分のサブピクセル位置を指し得る。他の例では、スケーリングされたオフセットベクトルは、第１の色成分のための指されたオフセットベクトルよりも精度が高い、第２のオフセットベクトルのためのピクセル位置を指し得る。
【００１９】
[0027]  本開示の技法によれば、オフセットベクトルおよび／または変更されたオフセットベクトルは、整数ピクセル位置を指すか、またはあまり正確ではないピクセル位置を指すように丸められ得る。整数ピクセル位置を指すことは、補間フィルタリングを実行する必要性をなくすことができ得るが、あまり正確ではないサブピクセル位置をポイントすることは、より正確なサブピクセル位置のために使用される補間フィルタに対して補間フィルタの複雑性を低減し得る。補間フィルタリングを回避することまたはあまり複雑ではない補間フィルタを使用することは、ＩＭＣコーディングモードを実施することについての全体的な複雑性（すなわち、メモリ使用量、動作数など）を潜在的に低減し得る。
【００２０】
[0028]本開示の技法の別の態様によれば、ＩＭＣコーディングモードのための最大コーディングユニット（ＣＵ）サイズは、最大ＣＴＵサイズよりも小さいサイズに設定され得る。したがって、ＩＭＣコーディングは、ＩＭＣコーディングのための最大ＣＵサイズと同じサイズであるか、またはそれよりも小さいＣＵについてのみ実行され得る。いくつかの実装形態では、最大ＣＴＵサイズよりも小さい、ＩＭＣコーディングのための最大ＣＵサイズを有することは、エンコーダ側の最適化であり得、その結果、ＩＭＣコーディングのための最大ＣＵサイズよりも大きい、ビデオデータのブロックのためのＩＭＣコーディングシナリオを評価しないことによって、ビデオデータが符号化される速度が増加する。この実装形態では、ＩＭＣコーディングのための最大ＣＵサイズは、ビデオデコーダにシグナリングされることまたはビデオデコーダによって決定されることを必要としない場合がある。他の実装形態では、ビデオエンコーダは、明示的にまたは暗黙的にのいずれかで、ＩＭＣコーディングのための最大ＣＵサイズをビデオデコーダにシグナリングし得る。
【００２１】
[0029]本開示の技法の別の態様によれば、各ＣＵのための動きベクトルコーディング方法は、ＣＵサイズ、ＣＵ位置、およびＣＴＵサイズのうちの１つまたは複数に依存し得る。本開示で使用する場合、動きベクトルコーディング方法は、動きベクトルをコーディングするために使用されるコードワードの長さを指し得るが、この方法は、動きベクトルが固定コードを使用してコーディングされるか、もしくは可変長コードを使用してコーディングされるか、または動きベクトルをコーディングするための何らかの他の方法も指し得る。ＣＵ位置はビデオデータのフレーム内のＣＵの位置を指し得るが、ＣＵ位置はＣＴＵ内のＣＵの位置も指し得る。たとえば、ＣＴＵの右下隅のＣＵは、ＣＴＵの上部におけるＣＵと比較すると、予測ブロックを識別するためにより長い動きベクトルを潜在的に必要とし得る。したがって、右下のＣＴＵの動きベクトルをコーディングするために使用されるコードワードは、ＣＴＵの上部にあるＣＴＵの動きベクトルをコーディングするために使用されるコードワードよりも長くてもよい。この態様によれば、異なるサイズを有するか、または異なる位置もしくは異なるＣＴＵサイズにおけるＣＵのコード長は、異なっていてもよい。ｍｖコーディングにおける他のプロセスはまた、コードタイプまたは算術コードのためのコンテキストモードなどの、ＣＵサイズ、ＣＵ位置、および／またはＣＴＵサイズにも依存し得ることに留意されたい。
【００２２】
[0030]図１は、本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信に対応し得る。
【００２３】
[0031]宛先デバイス１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、ソースデバイス１２が、符号化ビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク、またはインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２４】
[0032]代替的に、符号化データは、出力インターフェース２２からストレージデバイス１７に出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイス１７からアクセスされ得る。ストレージデバイス１７は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス１７は、ソースデバイス１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイス１７から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、両方の組合せを含み得る。ストレージデバイス１７からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００２５】
[0033]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティングおよび／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ伝送をサポートするように構成され得る。
【００２６】
[0034]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。しかしながら、本開示で説明する技法は、ビデオコーディング全般に適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００２７】
[0035]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信され得る。符号化ビデオデータは、さらに（または代替的に）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス１７上に記憶され得る。
【００２８】
[0036]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信され、またはストレージデバイス１７上に提供された符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ３０などのビデオデコーダが使用するための、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶される符号化ビデオデータとともに含まれ得、またはファイルサーバを記憶した。
【００２９】
[0037]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるか、またはその外部に存在する場合がある。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのいずれかを備え得る。
【００３０】
[0038]ビデオエンコーダ２０およびビデオデコーダ３０は、高効率ビデオコーディング（ＨＥＶＣ）などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。「ＨＥＶＣワーキングドラフト１０」または「ＨＥＶＣ  ＷＤ１０」と呼ばれるＨＥＶＣ規格のワーキングドラフトは、Ｂｒｏｓｓら、「Ｅｄｉｔｏｒｓ’  ｐｒｏｐｏｓｅｄ  ｃｏｒｒｅｃｔｉｏｎｓ  ｔｏ  ＨＥＶＣ  ｖｅｒｓｉｏｎ  １」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のビデオコーディング共同研究部会（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第１３回会議、仁川、韓国、２０１３年４月に記載されている。本開示で説明する技法はまた、現在開発中のＨＥＶＣ規格の拡張に従って動作し得る。
【００３１】
[0039]代替または追加として、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格などの、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例は、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３を含む。
【００３２】
[0040]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３３】
[0041]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアに対する命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するための１つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれ得、そのいずれかは、組み合わされたエンコーダ／デコーダ（コーデック）の一部として、それぞれのデバイスに統合され得る。
【００３４】
[0042]ＪＣＴ−ＶＣが、ＨＥＶＣ規格を開発した。ＨＥＶＣの標準化の取組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展型モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００３５】
[0043]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマ（luma）サンプルとクロマ（chroma）サンプルの両方を含むツリーブロックまたは最大コーディングユニット（ＬＣＵ）のシーケンスに分割され得ることを記載している。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木（quadtree）に従って、コーディングユニット（ＣＵ）に分割され得る。たとえば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割される場合があり、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割される場合がある。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連付けられたシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズも定義し得る。
【００３６】
[0044]ＣＵは、ＨＥＶＣにおける基本コーディングユニットとして定義される。ＨＥＶＣでは、フレームは最初に、ＣＴＵ（コーディングツリーユニット）と呼ばれる、いくつかの方形ユニットに分割される。ＣＴＵサイズを２Ｎ×２Ｎとする。各ＣＴＵは４つのＮ×Ｎ  ＣＵに分割され得、各ＣＵは４つの（Ｎ／２）×（Ｎ／２）ユニットにさらに分割され得る。ブロック分割は、あらかじめ定義された最大分割レベルまたは許容される最小ＣＵサイズに達するまで、同様の方法で継続することができる。ＣＴＵのサイズ、ＣＴＵをＣＵにさらに分割するレベル、およびＣＵの最小サイズは符号化構成において定義され、ビデオデコーダ３０に送られるか、またはビデオエンコーダ２０とビデオデコーダ３０の両方に知られていてもよい。
【００３７】
[0045]ＣＵは、コーディングノードと、コーディングノードに関連付けられた予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルを有するツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連付けられたシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連付けられたシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形であり得る。
【００３８】
[0046]ＨＥＶＣ規格は、異なるＣＵに対して異なり得る、ＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般に、ＰＵと同じサイズであるか、またはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ）として知られる４分木構造を使用して、より小さいユニットにさらに分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連付けられたピクセル差分値は、変換係数を生成するために変換され得、変換係数は量子化され得る。
【００３９】
[0047]概して、ＰＵは、予測プロセスに関するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵについてのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００４０】
[0048]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数の変換ユニット（ＴＵ）も含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数（serialized transform coefficient）を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。本開示では、一般に、ＣＵのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合には、本開示ではまた、コーディングノードならびにＰＵおよびＴＵを含む、ツリーブロック、すなわち、ＬＣＵまたはＣＵを指すために「ビデオブロック」という用語を使用し得る。
【００４１】
[0049]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはＣＵ内のコーディングノードに対応する場合がある。ビデオブロックは固定サイズまたは可変サイズを有する場合があり、指定されたコーディング規格に応じてサイズが異なる場合がある。
【００４２】
[0050]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示とによって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部で２Ｎ×０．５Ｎ  ＰＵ、および下部で２Ｎ×１．５Ｎ  ＰＵに水平に区分される２Ｎ×２Ｎ  ＣＵを指す。
【００４３】
[0051]本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法の観点からビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）、および水平方向に１６ピクセル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ個のピクセル、および水平方向にＮ個のピクセルを有し、ここで、Ｎは非負整数値を表す。ブロック中のピクセルは、行および列に配列され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００４４】
[0052]したがって、ＨＥＶＣによれば、ＣＵは、１つもしくは複数の予測ユニット（ＰＵ）および／または１つもしくは複数の変換ユニット（ＴＵ）を含み得る。本開示ではまた、ＣＵ、ＰＵ、またはＴＵのいずれかを指すために「ブロック」、「区分」または「部分」という用語を使用する。概して、「部分」は、ビデオフレームの任意のサブセットを指し得る。さらに、本開示では、一般に、ＣＵのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合には、本開示ではまた、コーディングノードならびにＰＵおよびＴＵを含む、ツリーブロック、すなわち、ＬＣＵまたはＣＵを指すために「ビデオブロック」という用語を使用し得る。したがって、ビデオブロックはＣＵ内のコーディングノードに対応する場合があり、ビデオブロックは固定サイズまたは可変サイズを有する場合があり、指定されたコーディング規格に応じてサイズが異なる場合がある。
【００４５】
[0053]クロマフォーマットと呼ばれることもあるビデオサンプリングフォーマットは、ＣＵに含まれるルーマサンプルの数に対して、ＣＵに含まれるクロマサンプルの数を定義し得る。クロマ成分用のビデオサンプリングフォーマットに応じて、Ｕ成分およびＶ成分の、サンプルの数に関するサイズは、Ｙ成分のサイズと同じか、または異なる場合がある。ＨＥＶＣ規格では、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃと呼ばれる値は、ルーマ成分に対して、クロマ成分の異なるサンプリングフォーマットを示すために定義される。ＨＥＶＣでは、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃはＳＰＳにおいてシグナリングされる。表１は、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃの値と関連するクロマフォーマットとの間の関係を示す。
【００４６】
【表１】
2016527789.tif 000003
【００４７】
[0054]表１では、変数ＳｕｂＷｉｄｔｈＣおよびＳｕｂＨｅｉｇｈｔＣは、ルーマ成分用のサンプルの数とクロマ成分ごとのサンプルの数との間の、水平および垂直のサンプリングレートの比を示すために使用され得る。表１に記載されたクロマフォーマットでは、２つのクロマ成分は同じサンプリングレートを有する。したがって、４：２：０サンプリングでは、２つのクロマアレイの各々はルーマアレイの半分の高さと半分の幅とを有するが、４：２：２サンプリングでは、２つのクロマアレイの各々はルーマアレイの同じ高さと半分の幅とを有する。４：４：４サンプリングでは、２つのクロマアレイの各々はルーマアレイと同じ高さと同じ幅とを有し得るか、場合によっては、３つの色平面はすべて、モノクロームサンプリングされたピクチャとして別個に処理され得る。
【００４８】
[0055]表１の例では、４：２：０フォーマットの場合、水平方向と垂直方向の両方について、ルーマ成分用のサンプリングレートは、クロマ成分のサンプリングレートの２倍である。結果として、４：２：０フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分用のサンプルのアレイの幅および高さは、クロマ成分用のサンプルの各アレイの幅および高さの２倍である。同様に、４：２：２フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分用のサンプルのアレイの幅は、クロマ成分ごとのサンプルのアレイの幅のそれの２倍であるが、ルーマ成分用のサンプルのアレイの高さは、クロマ成分ごとのサンプルのアレイの高さに等しい。４：４：４フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分用のサンプルのアレイは、クロマ成分ごとのサンプルのアレイと同じ幅と高さとを有する。ＹＵＶ色空間に加えて、ビデオデータはＲＧＢ空間色に従って定義され得ることに留意されたい。このようにして、本明細書で説明するクロマフォーマットはＹＵＶ色空間またはＲＧＢ色空間のいずれかに適用され得る。ＲＧＢクロマフォーマットは一般に、赤サンプルの数、緑サンプルの数および青サンプルの数が等しくなるようにサンプリングされる。したがって、本明細書で使用する「４：４：４クロマフォーマット」という用語は、ＹＵＶ色空間またはＲＧＢ色空間のいずれかを指し得、ここにおいて、サンプルの数はすべての色成分について等しい。
【００４９】
[0056]図２Ａ〜図２Ｃは、ビデオデータのための異なるサンプルフォーマットを示す概念図である。図２Ａは、４：２：０サンプルフォーマットを示す概念図である。図２Ａに示すように、４：２：０サンプルフォーマットの場合、クロマ成分はルーマ成分の４分の１のサイズである。したがって、４：２：０サンプルフォーマットに従ってフォーマットされたＣＵの場合、クロマ成分のサンプルごとに４つのルーマサンプルが存在する。図２Ｂは、４：２：２サンプルフォーマットを示す概念図である。図２Ｂに示すように、４：２：２サンプルフォーマットの場合、クロマ成分はルーマ成分の２分の１のサイズである。したがって、４：２：２サンプルフォーマットに従ってフォーマットされたＣＵの場合、クロマ成分のサンプルごとに２つのルーマサンプルが存在する。図２Ｃは、４：４：４サンプルフォーマットを示す概念図である。図２Ｃに示すように、４：４：４サンプルフォーマットの場合、クロマ成分はルーマ成分と同じサイズである。したがって、４：４：４サンプルフォーマットに従ってフォーマットされたＣＵの場合、クロマ成分のサンプルごとに１つのルーマサンプルが存在する。
【００５０】
[0057]図３は、４：２：０サンプルフォーマットに従ってフォーマットされた１６ｘ１６コーディングユニットの一例を示す概念図である。図３は、ＣＵ内のルーマサンプルに対するクロマサンプルの相対位置を示す。上記で説明したように、ＣＵは、一般に、水平方向および垂直方向のルーマサンプルの数に従って定義される。したがって、図３に示すように、４：２：０サンプルフォーマットに従ってフォーマットされた１６×１６  ＣＵは、ルーマ成分の１６×１６サンプルと、クロマ成分ごとの８×８サンプルとを含む。さらに、上記で説明したように、ＣＵはより小さいＣＵに区分され得る。たとえば、図３に示すＣＵは、４つの８×８  ＣＵに区分され得、ここで、各８×８  ＣＵは、ルーマ成分用の８×８サンプルと、クロマ成分ごとの４×４サンプルとを含む。
【００５１】
[0058]図４は、４：２：２サンプルフォーマットに従ってフォーマットされた１６×１６コーディングユニットの一例を示す概念図である。図４は、ＣＵ内のルーマサンプルに対するクロマサンプルの相対位置を示す。上記で説明したように、ＣＵは、一般に、水平方向および垂直方向のルーマサンプルの数に従って定義される。したがって、図４に示すように、４：２：２サンプルフォーマットに従ってフォーマットされた１６×１６  ＣＵは、ルーマ成分用の１６×１６サンプルと、クロマ成分ごとの８×１６サンプルとを含む。さらに、上記で説明したように、ＣＵはより小さいＣＵに区分され得る。たとえば、図４に示すＣＵは、４つの８×８  ＣＵに区分され得、ここで、各ＣＵは、ルーマ成分用の８×８サンプルと、クロマ成分ごとの４×８サンプルとを含む。
【００５２】
[0059]ＣＵのＰＵを使用するイントラ予測コーディングまたはインター予測コーディングの後で、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域においてピクセルデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するために、ＴＵを変換し得る。
【００５３】
[0060]変換係数を生成するための任意の変換の後で、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【００５４】
[0061]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
【００５５】
[0062]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、たとえば、シンボルの隣接値が０ではないかどうかに関し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣ中のコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように、構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００５６】
[0063]本開示の１つの例示的な技法によれば、ビデオデコーダ３０は、ＩＭＣモードを使用してビデオデータの現在ブロックを復号し得る。ビデオデコーダ３０は、ビデオデータの現在ブロックについて、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し、コードワードの長さに基づいて、オフセットベクトルをコーディングし得る。コーディングされているオフセットベクトルの成分はｘ成分またはｙ成分のいずれかであり得、一方の成分をシグナリングするために使用されるコードワードの長さは、ｘ成分およびｙ成分の他方をシグナリングするために使用される第２のコードワードの長さとは異なり得る。
【００５７】
[0064]ビデオデコーダ３０は、たとえば、ビデオデータの現在ブロックのためのＩＭＣを実行するために使用される探索領域のサイズに基づいてコードワードの長さを決定することによって、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し得る。探索領域のサイズは、たとえば、現在ブロックのピクセルと探索領域の上部境界との間の距離、現在ブロックのピクセルと探索領域の左境界との間の距離、現在ブロックのピクセルと探索領域の右境界との間の距離のうちの１つまたは複数に基づいて決定され得る。
【００５８】
[0065]加えてまたは代替的に、ビデオデコーダ３０は、現在ブロックを備えるコーディングツリーユニットのサイズ、コーディングツリーユニット（ＣＴＵ）中の現在ブロックのロケーション、またはビデオデータのフレーム中の現在ブロックのロケーションのうちの１つまたは複数に基づいて、現在ブロックのサイズに基づいて、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し得る。
【００５９】
[0066]本開示の別の例示的な技法によれば、ビデオデコーダ３０は、ＩＭＣモードを使用してビデオデータの現在ブロックを復号し得る。ビデオデコーダ３０は、ビデオデータの現在ブロックについて、オフセットベクトル（たとえば、ビデオデコーダ３０がオフセットベクトルを決定するために使用する情報をビデオエンコーダ２０がシグナリングした、現在ブロックのルーマ成分のためのオフセットベクトル）を決定し、サブピクセル位置を指すオフセットベクトルに応答して（たとえば、クロマサンプル内のサブピクセル位置を指すオフセットベクトルに応答して）、現在ブロックのクロマ成分のための参照ブロックを配置するために使用される変更されたオフセットベクトルを生成するためにオフセットベクトルを変更し得る。変更されたオフセットベクトルは、たとえば、整数ピクセル位置を指すか、またはサブピクセル位置よりも精度が低い位置であるピクセル位置を指し得る。
【００６０】
[0067]本開示の別の例示的な技法によれば、ビデオデコーダ３０は、ビデオデータの現在ブロックについて、最大ＣＴＵサイズを決定し得る。ビデオデコーダ３０は、ビデオデータの現在ブロックについて、ＩＭＣモードのための最大ＣＵサイズを決定し得る。ＩＭＣモードのための最大ＣＵサイズは、最大ＣＴＵサイズよりも小さくてもよい。ビデオデコーダ３０は、ＩＭＣモードのための最大ＣＵサイズに基づいて、ビデオデータの現在ブロックをコーディングし得る。ＩＭＣモードのための最大ＣＵサイズに基づいてビデオデータの現在ブロックをコーディングすることは、たとえば、ＩＭＣモードのための最大ＣＵサイズよりも大きいビデオデータの現在ブロックのサイズに応答して、ＩＭＣモードでビデオデータの現在ブロックをコーディングしないこと、または、ＩＭＣモードのための最大ＣＵサイズよりも小さいかもしくはそれに等しいビデオデータの現在ブロックのサイズに応答して、ＩＭＣモードでビデオデータの現在ブロックをコーディングすることのうちの１つまたは複数を含み得る。ＩＭＣモードのための最大ＣＵサイズは、たとえば、符号化ビデオビットストリーム中でシグナリングされるか、またはすでにコーディングされたビデオデータの統計値に基づいて決定され得る。
【００６１】
[0068]本開示の別の例示的な技法によれば、ビデオデコーダ３０は、ＩＭＣモードを使用してビデオデータの現在ブロックをコーディングし得る。現在ブロックのサイズ、現在ブロックの位置、および現在ブロックを備えるＣＴＵのサイズのうちの１つまたは複数に基づいて、ビデオデコーダ３０は、ビデオデータの現在ブロックについて、オフセットベクトルをコーディングするためのコーディング方法を決定し、決定されたコーディング方法に基づいてオフセットベクトルをコーディングし得る。オフセットベクトルをコーディングするためのコーディング方法は、たとえば、固定長コーディング、可変長コーディング、算術コーディング、およびコンテキストベースのコーディングのうちの１つまたは組合せを含み得る。現在ブロックの位置は、たとえば、ＣＴＵ内の位置またはビデオデータのフレーム内の位置であり得る。
【００６２】
[0069]図５は、イントラ動き補償（ＩＭＣ）モードの概念図を示す。上述のように、ＩＭＣモードはイントラブロックコピー（ＩＢＣ）モードと同じである。ビデオエンコーダ２０およびビデオデコーダ３０は、たとえば、ＩＭＣモードを使用してビデオデータのブロックを符号化および復号するように構成され得る。リモートデスクトップ、リモートゲーム、ワイヤレスディスプレイ、自動車用インフォテインメント、クラウドコンピューティングなどの多くのアプリケーションは、人々の日常生活におけるルーチンになりつつあり、そのようなコンテンツをコーディングするときのコーディング効率はＩＭＣモードの使用によって改善され得る。図１のシステム１０は、これらのアプリケーションのうちのいずれかを実行するように構成されたデバイスを表し得る。これらのアプリケーションにおけるビデオコンテンツは、自然コンテンツ、テキスト、人工グラフィックスなどの組合せであることが多い。ビデオフレームのテキスト領域および人工グラフィックス領域では、（文字、アイコン、シンボルなどの）繰返しパターンが存在することが多い。上記で紹介したように、ＩＭＣは、ＪＣＴ−ＶＣ  Ｍ０３５０で報告されたように、この種類の冗長性を除去し、フレーム内コーディング効率を潜在的に改善することを可能にする専用の技法である。図５に示すように、ＩＭＣを使用するコーディングユニット（ＣＵ）の場合、予測信号は同じフレーム中のすでに再構成された領域から取得される。結局、現在ＣＵから変位した予測信号の位置を示すオフセットベクトルは、残差信号とともに符号化される。
【００６３】
[0070]たとえば、図５は、本開示による、同じピクチャ内のビデオデータの予測ブロックから、ビデオデータのブロックのイントラ予測用のモードに従って、たとえば、本開示の技法によるイントラＭＣモードに従って、現在ピクチャ１０３内のビデオデータの現在ブロック１０２を予測するための例示的な技法を示す。図５は、現在ピクチャ１０３内のビデオデータ１０４の予測ブロックを示す。ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、本開示の技法によるイントラＭＣモードに従って現在ビデオブロック１０２を予測するために予測ビデオブロック１０４を使用し得る。
【００６４】
[0071]ビデオエンコーダ２０は、ビデオデータの以前に再構成されたブロックのセットから、現在ビデオブロック１０２を予測するための予測ビデオブロック１０４を選択する。ビデオエンコーダ２０は、符号化ビデオビットストリーム中にも含まれるビデオデータを逆量子化および逆変換し、得られた残差ブロックを、ビデオデータの再構成されたブロックを予測するために使用される予測ブロックと合計することによって、ビデオデータのブロックを再構成する。図５の例では、「対象とするエリア」または「ラスタエリア」とも呼ばれることがある、ピクチャ１０３内の対象とする領域１０８は、以前に再構成されたビデオブロックのセットを含む。ビデオエンコーダ２０は、以下でより詳細に説明するように、様々な方法でピクチャ１０３内の対象とする領域１０８を定義し得る。ビデオエンコーダ２０は、対象とする領域１０８内の様々なビデオブロックに基づいて現在ビデオブロック１０２を予測しコーディングする相対的な効率と精度との分析に基づいて、対象とする領域１０８中のビデオブロックの中から現在ビデオブロック１０２を予測するための予測ビデオブロック１０４を選択し得る。
【００６５】
[0072]ビデオエンコーダ２０は、現在ビデオブロック１０２に対する予測ビデオブロック１０４のロケーションまたは変位を表す２次元ベクトル１０６を決定する。オフセットベクトルの一例である２次元ベクトル１０６は、それぞれ、現在ビデオブロック１０２に対する予測ビデオブロック１０４の水平変位と垂直変位とを表す、水平変位成分１１２と垂直変位成分１１０とを含む。ビデオエンコーダ２０は、２次元ベクトル１０６を識別または定義する、たとえば、符号化ビデオビットストリーム中の水平変位成分１１２と垂直変位成分１１０とを定義する、１つまたは複数のシンタックス要素を含み得る。ビデオデコーダ３０は、２次元ベクトル１０６を決定するために１つまたは複数のシンタックス要素を復号し、現在ビデオブロック１０２のための予測ビデオブロック１０４を識別するために決定されたベクトルを使用し得る。
【００６６】
[0073]いくつかの例では、２次元ベクトル１０６の解像度は、整数ピクセルであり得、たとえば、整数ピクセル解像度を有するように制約され得る。そのような例では、水平変位成分１１２および垂直変位成分１１０の解像度は整数ピクセルである。そのような例では、ビデオエンコーダ２０およびビデオデコーダ３０は、現在ビデオブロック１０２のための予測子を決定するために予測ビデオブロック１０４のピクセル値を補間する必要はない。
【００６７】
[0074]他の例では、水平変位成分１１２および垂直変位成分１１０の一方または両方の解像度はサブピクセルであり得る。たとえば、成分１１２および１１０の一方は整数ピクセル解像度を有してもよく、他方はサブピクセル解像度を有する。いくつかの例では、水平変位成分１１２および垂直変位成分１１０の両方の解像度はサブピクセルであり得るが、水平変位成分１１２および垂直変位成分１１０は異なる解像度を有し得る。
【００６８】
[0075]いくつかの例では、ビデオデコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、特定のレベル、たとえば、ブロックレベル、スライスレベル、またはピクチャレベルの適応に基づいて、水平変位成分１１２および垂直変位成分１１０の解像度を適応させる。たとえば、ビデオエンコーダ２０は、スライスレベルにおいて、たとえば、スライスヘッダ中で、水平変位成分１１２および垂直変位成分１１０の解像度が整数ピクセル解像度であるかまたは整数ピクセル解像度ではないかを示すフラグをシグナリングし得る。水平変位成分１１２および垂直変位成分１１０の解像度が整数ピクセル解像度ではないことをフラグが示す場合、ビデオデコーダ３０は解像度がサブピクセル解像度であると推論し得る。いくつかの例では、必ずしもフラグであるとは限らない１つまたは複数のシンタックス要素は、ビデオデータのスライスまたは他のユニットごとに、水平変位成分１１２および／または垂直変位成分１１０の集合的な解像度または個々の解像度を示すために送信され得る。
【００６９】
[0076]さらに他の例では、フラグまたはシンタックス要素の代わりに、ビデオエンコーダ２０は解像度コンテキスト情報に基づいて水平変位成分１１２および／または垂直変位成分１１０の解像度を設定し得、ビデオデコーダ３０は解像度コンテキスト情報から水平変位成分１１２および／または垂直変位成分１１０の解像度を推論し得る。解像度コンテキスト情報は、例として、現在ビデオブロック１０２を含むピクチャまたはピクチャのシーケンスについての色空間（たとえば、ＹＵＶ、ＲＧＢなど）、特定の色フォーマット（たとえば、４：４：４、４：２：２、４：２：０など）、フレームサイズ、フレームレート、または量子化パラメータ（ＱＰ）を含み得る。少なくともいくつかの例では、ビデオコーダは、以前にコーディングされたフレームまたはピクチャに関する情報に基づいて、水平変位成分１１２および／または垂直変位成分１１０の解像度を決定し得る。このようにして、水平変位成分１１２の解像度および垂直変位成分１１０についての解像度はあらかじめ定義され、シグナリングされ得、他のサイド情報（たとえば、解像度コンテキスト情報）から推論され得るか、またはすでにコーディングされたフレームに基づき得る。
【００７０】
[0077]現在ビデオブロック１０２は、ＣＵ、またはＣＵのＰＵであり得る。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＩＭＣに従って予測されたＣＵをいくつかのＰＵに分割し得る。そのような例では、ビデオコーダは、ＣＵのＰＵの各々について、それぞれの（たとえば、異なる）２次元ベクトル１０６を決定し得る。たとえば、ビデオコーダは、２Ｎ×２Ｎ  ＣＵを２つの２Ｎ×Ｎ  ＰＵ、２つのＮ×２Ｎ  ＰＵ、または４つのＮ×Ｎ  ＰＵに分割し得る。他の例として、ビデオコーダは、２Ｎ×２Ｎ  ＣＵを（（Ｎ／２）×Ｎ＋（３Ｎ／２）×Ｎ）  ＰＵ、（（３Ｎ／２）×Ｎ＋（Ｎ／２）×Ｎ）  ＰＵ、（Ｎ×（Ｎ／２）＋Ｎ×（３Ｎ／２））  ＰＵ、（Ｎ×（３Ｎ／２）＋Ｎ×（Ｎ／２））  ＰＵ、４つの（Ｎ／２）×２Ｎ  ＰＵ、または４つの２Ｎ×（Ｎ／２）  ＰＵに分割し得る。いくつかの例では、ビデオコーダは２Ｎ×２Ｎ  ＰＵを使用して２Ｎ×２Ｎ  ＣＵを予測し得る。
【００７１】
[0078]現在ビデオブロック１０２は、ルーマビデオブロック（たとえば、ルーマ成分）と、ルーマビデオブロックに対応するクロマビデオブロック（たとえば、クロマ成分）とを含む。いくつかの例では、ビデオエンコーダ２０は、ルーマビデオブロックのための２次元ベクトル１０６を定義する１つまたは複数のシンタックス要素のみを符号化ビデオビットストリーム中に符号化し得る。そのような例では、ビデオデコーダ３０は、ルーマブロックについてシグナリングされた２次元ベクトルに基づいて、ルーマブロックに対応する１つまたは複数のクロマブロックの各々について２次元ベクトル１０６を導出し得る。本開示で説明する技法では、１つまたは複数のクロマブロックのための２次元ベクトルの導出において、ルーマブロックのための２次元ベクトルがクロマサンプル内のサブピクセル位置を指す場合、ビデオデコーダ３０はルーマブロックのための２次元ベクトルを変更し得る。
【００７２】
[0079]色フォーマット、たとえば、色サンプリングフォーマットまたはクロマサンプリングフォーマットに応じて、ビデオコーダは、ルーマビデオブロックに対して、対応するクロマビデオブロックをダウンサンプリングし得る。色フォーマット４：４：４はダウンサンプリングを含まず、これは、クロマブロックが水平方向および垂直方向においてルーマブロックと同じ数のサンプルを含むことを意味する。色フォーマット４：２：２は水平方向においてダウンサンプリングされ、これは、クロマブロックではルーマブロックに対して水平方向において半分の数のサンプルがあることを意味する。色フォーマット４：２：０は水平方向および垂直方向においてダウンサンプリングされ、これは、クロマブロックではルーマブロックに対して水平方向および垂直方向において半分の数のサンプルがあることを意味する。
【００７３】
[0080]ビデオコーダがクロマビデオブロックのためのベクトル１０６を対応するルーマブロックのためのベクトル１０６に基づいて決定する例では、ビデオコーダはルーマベクトルを変更する必要があり得る。たとえば、ルーマベクトル１０６が、水平変位成分１１２および／または垂直変位成分１１０が奇数のピクセルである整数解像度を有し、色フォーマットが４：２：２または４：２：０である場合、変換されたルーマベクトルは対応するクロマブロック中の整数ピクセルロケーションを指さないことがある。そのような例では、ビデオコーダは、対応するクロマブロックを予測するためのクロマベクトルとして使用するためにルーマベクトルをスケーリングし得る。
【００７４】
[0081]図５は、ＩＭＣモードでコーディングされている現在ＣＵを示す。現在ＣＵのための予測ブロックは、探索領域から取得され得る。探索領域は、現在ＣＵと同じフレームからのすでにコーディングされたブロックを含む。たとえば、フレームがラスタ走査順序で（すなわち、左から右におよび上から下に）コーディングされていると仮定すると、フレームのすでにコーディングされたブロックは、図５に示すように、現在ＣＵの左側および上にあるブロックに対応する。いくつかの例では、探索領域はフレーム中のすべてのすでにコーディングされたブロックを含み得るが、他の例では、探索領域はすべてよりも少ないすでにコーディングされたブロックを含み得る。動きベクトルまたは予測ベクトルと呼ばれることがある、図５におけるオフセットベクトルは、現在ＣＵの左上ピクセルと予測ブロックの左上ピクセルとの間の差分（図５における標識された予測信号）を識別する。したがって、符号化ビデオビットストリーム中でオフセットベクトルをシグナリングすることによって、ビデオデコーダは、現在ＣＵがＩＭＣモードでコーディングされるとき、現在ＣＵのための予測ブロックを識別することができる。
【００７５】
[0082]本開示の技法の様々な態様によれば、（オフセットベクトルと呼ばれる）ＩＭＣのための動きベクトルは、Ｖｘが水平方向（すなわち、ｘ方向）における変位を示し、Ｖｙが垂直方向（すなわち、ｙ方向）における変位を示す、２Ｄベクトル（Ｖｘ，Ｖｙ）である。オフセットベクトル成分Ｖｉ（ｉはｘまたはｙであり得る）は、ＣＴＵサイズに応じて符号化され得る。たとえば、Ｖｉのコード長および／または２値化方法は、異なるＣＴＵサイズについて異なり得る。たとえば、ＣＴＵサイズが６４×６４である場合、６ビット固定長コードが使用され得る。さもなければ、ＣＴＵサイズが３２×３２である場合、５ビット固定長コードが使用され得る。
【００７６】
[0083]さらに、オフセットベクトルのコーディングは、探索領域エリアにも依存し得る。異なる探索領域サイズまたは形状は、オフセットベクトルのための異なるコーディング方法につながり得る。オフセットベクトルのコーディングは、たとえば、探索領域の長さおよび幅の一方または両方に依存し得る。探索領域のサイズは、たとえば、現在ブロックのピクセルと、探索領域の上部境界、探索領域の左境界および／または探索領域の右境界との間の距離に対応し得る。探索領域のサイズは、たとえば、スライスまたはフレーム内のブロックズロケーションに依存し得る。フレームの左上におけるブロックは、たとえば、フレームの右下にあるブロックよりも小さい探索領域を有し得る。
【００７７】
[0084]加えて、上記の依存は、一方のオフセットベクトル成分のみ（すなわち、ｘ成分のみまたはｙ成分のみ）に、または両方のオフセットベクトル成分に拡張され得る。また、両方の成分は異なる２値化を有する可能性がある。たとえば、探索エリアは左側のＣＴＵを含むが、（上側のデータのためのラインバッファを必要とするために）上側のＣＴＵにまで行かなくてもよいので、水平ＭＶは６ビット固定長コードを有し得るが、垂直ＭＶは５ビット固定長コードを有し得る。
【００７８】
[0085]本開示の技法の他の態様によれば、オフセットベクトル成分Ｖｉ（ｉはｘまたはｙであり得る）の解像度は、整数ピクセル解像度またはサブピクセル解像度であり得る。サブピクセル解像度が特定の色成分（たとえば、Ｙ／Ｕ／Ｖ、Ｒ／Ｇ／Ｂ）のオフセットベクトルのために使用されるとき、サブピクセル位置における値を生成するために補間フィルタが使用される。
【００７９】
[0086]本技法のこれらの態様によれば、（たとえば、ルーマブロックまたはクロマブロックのための）任意の色成分について、対応するオフセットベクトルの解像度がサブピクセルであるとき、オフセットベクトルの解像度は整数ピクセル位置またはあまり正確ではないサブピクセル位置に変換され得る。整数ピクセル位置の場合、補間フィルタが必要とされないことがあるが、あまり正確ではないサブピクセル位置の場合、より単純な（たとえば、より精度が高いサブピクセル位置のために必要とされる補間フィルタと比較してより単純な）補間フィルタが使用され得る。本開示によれば、整数ピクセル位置は半ピクセル位置よりも正確ではない位置である。半ピクセル位置は１／４ピクセル位置よりも正確ではない位置であり、以下同様である。
【００８０】
[0087]たとえば、４：２：０のケースでは、ルーマＭＶ（すなわち、ルーマオフセットベクトル）が奇数である（たとえば、ｘ成分および／またはｙ成分が奇数である）とき、クロマＭＶ（すなわち、クロマオフセットベクトル）はサブペル精度を有し、補間フィルタが必要とされる。しかしながら、本開示で説明する技法では、クロマＭＶ（すなわち、クロマオフセットベクトル）は、補間フィルタの使用を回避するために整数位置に丸められる。オフセットベクトルは切り上げられるか、または切り捨てられる可能性がある。言い換えれば、ビデオエンコーダ２０は、現在ブロックのルーマブロックのためのオフセットベクトルをビデオデコーダ３０にシグナリングし得る。ビデオデコーダ３０は、（一度スケーリングされたまたは別様の）このオフセットベクトルを現在ブロックのクロマブロックのためのオフセットベクトルとして使用すると、オフセットベクトルが、現在ブロックを含む現在ピクチャのクロマサンプル内のサブピクセル位置を指すことになるかどうかを決定し得る。オフセットベクトルがクロマサンプル内のサブピクセル位置を指す場合、ビデオデコーダ３０は、クロマサンプル中の整数ピクセル位置またはクロマサンプル中のサブピクセル位置よりも精度が低い位置を指す変更されたオフセットベクトルを生成するためにオフセットベクトルを変更し得る  この方法は、同様の性能を提供しながら、より少ないメモリ帯域幅と動作数（フィルタリングなし）を必要とし得る。
【００８１】
[0088]本開示の技法の様々な態様によれば、ＩＭＣのための最大ＣＵサイズはＣＴＵサイズとは異なり得る。たとえば、ＣＴＵサイズが６４×６４であるとき、ＩＭＣのための最大ＣＵサイズは１６×１６に設定され得る。いくつかの例では、この制限はビデオエンコーダ２０とビデオデコーダ３０の両方、またはビデオエンコーダ２０のみに適用可能であり得る。
【００８２】
[0089]この種類の技法がビデオエンコーダ２０とビデオデコーダ３０の両方に適用されるとき、ＩＭＣのための最大ＣＵサイズは、ＣＴＵサイズ、または前のフレームから収集された統計値に依存し得る。さらに、最大ＣＵサイズ情報は、ピクチャパラメータセット（ＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ＬＣＵヘッダなどの様々なレベルで、または何らかの他のレベルで、ビットストリーム中でシグナリングされ得る。この技法がビデオエンコーダ２０とビデオデコーダ３０の両方に適用されるとき、制限されたＣＵサイズよりも大きいＣＵはデフォルトでは非イントラＭＣ  ＣＵに設定され得、余分のシグナリングは必要とされなくてもよい。
【００８３】
[0090]図６は、本開示で説明する技法を実施し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオを後処理（post-processing）エンティティ２７に出力するように構成され得る。後処理エンティティ２７は、ＭＡＮＥまたはスプライシング／編集デバイスなどの、ビデオエンコーダ２０からの符号化ビデオデータを処理し得るビデオエンティティの一例を表すように意図されている。場合によっては、後処理エンティティ２７はネットワークエンティティの一例であってもよい。いくつかのビデオ符号化システムでは、後処理エンティティ２７およびビデオエンコーダ２０は別個のデバイスの部分であってもよく、他の事例では、後処理エンティティ２７に関して説明する機能は、ビデオエンコーダ２０を備える同じデバイスによって実行されてもよい。いくつかの例では、後処理エンティティ２７は図１のストレージデバイス１７の一例である。
【００８４】
[0091]ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディング、インターコーディング、およびＩＭＣコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。ＩＭＣコーディングモードは、上記で説明したように、ビデオデータのフレームから空間的冗長性を除去し得るが、従来のイントラモードとは異なり、ＩＭＣコーディングコードは、イントラ予測コーディングモードに依拠するのではなく、より広い探索エリア中の予測ブロックをフレーム内に配置し、オフセットベクトルを用いて予測ブロックを指すために使用され得る。
【００８５】
[0092]図６の例では、ビデオエンコーダ２０は、ビデオデータメモリ３３と、区分ユニット３５と、予測処理ユニット４１と、フィルタユニット６３と、復号ピクチャバッファ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測処理ユニット４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。フィルタユニット６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すように意図されている。図６では、フィルタユニット６３はループ内フィルタであるものとして示されているが、他の構成では、フィルタユニット６３はループ後フィルタとして実装され得る。
【００８６】
[0093]ビデオデータメモリ３３は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ３３に記憶されたビデオデータは、たとえば、ビデオソース１８から取得され得る。復号ピクチャバッファ６４は、たとえば、イントラコーディングモード、インターコーディングモード、またはＩＭＣコーディングモードでビデオエンコーダ２０によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ３３および復号ピクチャバッファ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ３３および復号ピクチャバッファ６４は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ３３は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【００８７】
[0094]図６に示すように、ビデオエンコーダ２０はビデオデータを受信し、ビデオデータをビデオデータメモリ３３に記憶する。区分ユニット３５はデータをビデオブロックに区分する。この区分はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分を含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（たとえば、コーディングレートおよびひずみレベル）に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの１つ、複数のインターコーディングモードのうちの１つ、または複数のＩＭＣコーディングモードのうちの１つなどの、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコード化ブロック、インターコード化ブロック、またはＩＭＣコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【００８８】
[0095]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間的圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間的圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在のビデオブロックのインター予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４はまた、空間的圧縮を行うために、同じピクチャ中の１つまたは複数の予測ブロックに対して現在ビデオブロックのＩＭＣコーディングを実行し得る。
【００８９】
[0096]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードまたはＩＭＣモードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Ｐスライス、Ｂスライス、またはＧＰＢスライスとして指定し得る。動き推定ユニット４２および動き補償ユニット４４は、高度に統合される場合があるが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。ＩＭＣコーディングの場合、ＩＭＣにおいてオフセットベクトルと呼ばれることがある動きベクトルは、現在ビデオフレーム内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００９０】
[0097]予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、復号ピクチャバッファ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、完全なピクセル位置および分数ピクセル位置に対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【００９１】
[0098]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、復号ピクチャバッファ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００９２】
[0099]本開示のいくつかの技法によれば、ＩＭＣモードを使用してビデオブロックをコーディングするとき、動き推定ユニット４２は、ビデオブロックのルーマ成分のための動きベクトル、またはオフセットベクトルを決定し、ルーマ成分のためのオフセットベクトルに基づいて、ビデオブロックのクロマ成分のためのオフセットベクトルを決定し得る。別の例では、ＩＭＣモードを使用してビデオブロックをコーディングするとき、動き推定ユニット４２は、ビデオブロックのクロマ成分のための動きベクトル、またはオフセットベクトルを決定し、クロマ成分のためのオフセットベクトルに基づいて、ビデオブロックのルーマ成分のためのオフセットベクトルを決定し得る。したがって、ビデオエンコーダ２０はビットストリーム中で一方のオフセットベクトルのみをシグナリングし得、そのオフセットベクトルから、ビデオブロックのクロマ成分とルーマ成分の両方のためのオフセットベクトルが決定され得る。
【００９３】
[0100]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを含み得る。補間フィルタリングは、既知のピクセルサンプルから追加のピクセルサンプルを生成し、したがって、ビデオブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増加し得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す、またはＩＭＣコーディングの場合の予測ブロックを、コーディングされているピクチャ内に配置し得る。ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０によって使用するための、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。
【００９４】
[0101]イントラ予測処理ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測およびＩＭＣの代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測処理ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
【００９５】
[0102]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【００９６】
[0103]予測処理ユニット４１が、インター予測、イントラ予測、またはＩＭＣのいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【００９７】
[0104]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【００９８】
[0105]量子化の後に、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法もしくは技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームはビデオデコーダ３０に送信されるか、またはビデオデコーダ３０が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【００９９】
[0106]逆量子化ユニット５８および逆変換処理ユニット６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。補間フィルタリングは、既知のピクセルサンプルから追加のピクセルサンプルを生成し、したがって、ビデオブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増加し得る。加算器６２は、復号ピクチャバッファ６４に記憶するための参照ブロックを生成するために、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１００】
[0107]このようにして、図６のビデオエンコーダ２０は、ＩＭＣモードを使用してビデオデータの現在ブロックをコーディングし、ビデオデータの現在ブロックについて、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し、コードワードの長さに基づいて、オフセットベクトルをコーディングするように構成されたビデオエンコーダの一例を表す。ビデオエンコーダ２０は、たとえば、ビデオデータの現在ブロックについてＩＭＣを実行するために使用される探索領域のサイズに基づいておよび／または現在ブロックを含むＣＴＵのサイズに基づいて、成分をシグナリングするために使用されるコードワードの長さを決定し得る。
【０１０１】
[0108]ビデオエンコーダ２０はまた、ＩＭＣモードを使用してビデオデータの現在ブロックをコーディングし、ビデオデータの現在ブロックについて、現在ブロックのルーマ成分のためのオフセットベクトルを決定し、現在ブロックを含む現在ピクチャのクロマサンプル内のサブピクセル位置を指すオフセットベクトルに応答して、変更されたオフセットベクトル現在ブロックのクロマブロックを生成するためにオフセットベクトルを変更するように構成されたビデオエンコーダの一例を表す。変更されたオフセットベクトルは、たとえば、クロマサンプル中の整数ピクセル位置を指すか、またはクロマサンプル中のサブピクセル位置よりも精度が低い位置であるピクセル位置を指し得る。
【０１０２】
[0109]ビデオエンコーダ２０はまた、ビデオデータの現在ブロックについて、最大ＣＴＵサイズを決定し、ビデオデータの現在ブロックについて、ＩＭＣモードのための最大ＣＵサイズが最大ＣＴＵサイズよりも小さくなるように、ＩＭＣモードのための最大ＣＵサイズを決定し、ＩＭＣモードのための最大ＣＵサイズに基づいてビデオデータの現在ブロックをコーディングするように構成されたビデオエンコーダの一例を表す。いくつかの実装形態では、ビデオエンコーダ２０は、ＩＭＣモードのための最大ＣＵサイズの指示をビデオデコーダにシグナリングし得るが、他の構成では、ビデオエンコーダ２０はＩＭＣモードのための最大ＣＵサイズの指示をビデオデコーダにシグナリングしなくてもよい。
【０１０３】
[0110]ビデオエンコーダ２０はまた、ＩＭＣモードを使用してビデオデータの現在ブロックをコーディングし、現在ブロックのサイズ、現在ブロックの位置、現在ブロックを備えるコーディングツリーユニット（ＣＴＵ）のサイズのうちの１つまたは複数に基づいて、ビデオデータの現在ブロックについて、オフセットベクトルをコーディングするためのコーディング方法を決定し、コーディング方法に基づいて、オフセットベクトルをコーディングするように構成されたビデオエンコーダの一例を表す。コーディング方法は、たとえば、固定長コーディング、可変長コーディング、算術コーディング、コンテキストベースのコーディング、またはビデオデータをコーディングするために使用される任意の他のタイプのコーディング方法のいずれかであり得る。現在ブロックの位置は、ＣＴＵ内の位置を指し得るか、またはビデオデータのフレーム内の現在ブロックの位置を指し得る。
【０１０４】
[0111]図７は、本開示で説明する技法を実施し得る例示的なビデオデコーダ３０を示すブロック図である。図７の例では、ビデオデコーダ３０は、ビデオデータメモリ７８と、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、フィルタユニット９１と、復号ピクチャバッファ９２とを含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測処理ユニット８４とを含む。ビデオデコーダ３０は、いくつかの例では、図６からのビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【０１０５】
[0112]復号プロセス中に、ビデオデコーダ３０は、ビデオデータ、たとえば、符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビデオビットストリームを、ビデオエンコーダ２０から受信する。ビデオデコーダ３０は、ビデオデータをネットワークエンティティ２９から受信し、ビデオデータをビデオデータメモリ７８に記憶し得る。ビデオデータメモリ７８は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ７８に記憶されたビデオデータは、たとえば、ストレージデバイス１７から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードもしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ７８は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファを形成し得る。したがって、図７では別々に示されているが、ビデオデータメモリ７８および復号ピクチャバッファ９２は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。ビデオデータメモリ７８および復号ピクチャバッファ９２は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々なメモリデバイスのいずれかによって形成され得る。様々な例では、ビデオデータメモリ７８は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１０６】
[0113]ネットワークエンティティ２９は、たとえば、上記で説明した技法のうちの１つまたは複数を実施するように構成されたサーバ、ＭＡＮＥ、ビデオエディタ／スプライサ、または他のそのようなデバイスであり得る。ネットワークエンティティ２９はビデオエンコーダ２０などのビデオエンコーダを含んでもよく、または含まなくてもよい。本開示で説明する技法のいくつかは、ネットワークエンティティ２９が符号化ビデオビットストリームをビデオデコーダ３０に送信するのに先立って、ネットワークエンティティ２９によって実施され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ２９およびビデオデコーダ３０は別個のデバイスの部分であってもよく、他の事例では、ネットワークエンティティ２９に関して説明する機能は、ビデオデコーダ３０を備える同じデバイスによって実行されてもよい。ネットワークエンティティ２９は、場合によっては、図１のストレージデバイス１７の一例であり得る。
【０１０７】
[0114]ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１０８】
[0115]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて、予測処理ユニット８１のイントラ予測処理ユニット８４は、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされたときまたはブロックがＩＭＣコーディングされたとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。インター予測の場合、予測ブロックは参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、復号ピクチャバッファ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。ＩＭＣコーディングの場合、予測ブロックは予測されているブロックと同じピクチャから生成され得る。
【０１０９】
[0116]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１１０】
[0117]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルのための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。このケースでは、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０で使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用し得る。
【０１１１】
[0118]本開示のいくつかの技法によれば、ＩＭＣモードを使用してビデオブロックをコーディングするとき、動き補償ユニット８２は、ビデオブロックのルーマ成分のための動きベクトル、またはオフセットベクトルを決定し、ルーマ成分のための動きベクトルに基づいて、ビデオブロックのクロマ成分のための動きベクトルを決定し得る。別の例では、ＩＭＣモードを使用してビデオブロックをコーディングするとき、動き補償ユニット８２は、ビデオブロックのクロマ成分のための動きベクトル、またはオフセットベクトルを決定し、クロマ成分のための動きベクトルに基づいて、ビデオブロックのルーマ成分のための動きベクトルを決定し得る。したがって、ビデオデコーダ３０は、ビットストリーム中で一方のオフセットベクトルのみを受信し得、そのオフセットベクトルから、ビデオブロックのクロマ成分とルーマ成分の両方のためのオフセットベクトルが決定され得る。
【０１１２】
[0119]ＩＭＣモードを使用してビデオブロックを復号するとき、動き補償ユニット８２は、たとえば、クロマ成分のためのオフセットベクトルを決定するために、ルーマ成分のための、ＩＭＣモードのためのオフセットベクトルと呼ばれる、動きベクトルを変更し得る。動き補償ユニット８２は、たとえば、ビデオブロックのためのサンプリングフォーマットに基づいて、およびオフセットベクトルが指すサブピクセル位置の精度に基づいて、ルーマブロックのオフセットベクトルのｘ成分とｙ成分の一方または両方を変更し得る。たとえば、ビデオブロックが４：２：２サンプリングフォーマットを使用してコーディングされる場合、動き補償ユニット８２は、クロマ成分のためのオフセットベクトルを決定するために、ルーマオフセットベクトルのｙ成分ではなく、ｘ成分のみを変更し得る。図４からわかるように、４：２：２サンプリングフォーマットでは、クロマブロックおよびルーマブロックは垂直方向において同じ数のサンプルを有し、したがって、ｙ成分の変更を潜在的に不要にする。クロマ予測ブロックを配置するために使用されるときに、ルーマオフセットベクトルが、クロマサンプルなしの位置（たとえば、現在ブロックを含む現在ピクチャのクロマサンプル中のサブピクセル位置における）を指す場合、動き補償ユニット８２は、ルーマオフセットベクトルのみを変更し得る。ルーマオフセットベクトルが、クロマ予測ブロックを配置するために使用されるときに、クロマサンプルが存在する位置を指す場合、動き補償ユニット８２はルーマオフセットベクトルを変更しなくてもよい。
【０１１３】
[0120]別の例では、ビデオブロックが４：２：０サンプリングフォーマットを使用してコーディングされる場合、動き補償ユニット８２は、クロマ成分のためのオフセットベクトルを決定するために、ルーマオフセットベクトルのｘ成分およびｙ成分のいずれかまたは両方を変更し得る。図３からわかるように、４：２：０サンプリングフォーマットでは、クロマブロックおよびルーマブロックは垂直方向と水平方向の両方において異なる数のサンプルを有する。クロマ予測ブロックを配置するために使用されるときに、ルーマオフセットベクトルが、クロマサンプルなしの位置（たとえば、現在ブロックを含む現在ピクチャのクロマサンプル中のサブピクセル位置における）を指す場合、動き補償ユニット８２は、ルーマオフセットベクトルのみを変更し得る。ルーマオフセットベクトルが、クロマ予測ブロックを配置するために使用されるときに、クロマサンプルが存在する位置を指す場合、動き補償ユニット８２はルーマオフセットベクトルを変更しなくてもよい。
【０１１４】
[0121]動き補償ユニット８２は、変更されたオフセットベクトルとも呼ばれる変更された動きベクトルを生成するためにルーマオフセットベクトルを変更し得る。動き補償ユニット８２は、クロマ予測ブロックを配置するために使用されるときに、クロマブロックのために使用される変更されたオフセットベクトルがより解像度が低いサブピクセル位置または整数ピクセル位置を指すように、サブピクセル位置を指すルーマオフセットベクトルを変更し得る。一例として、１／８ピクセル位置を指すルーマオフセットベクトルは１／４ピクセル位置を指すように変更され得、１／４ピクセル位置を指すルーマオフセットベクトルは１／２ピクセル位置を指すように変更され得る、などである。他の例では、動き補償ユニット８２は、変更されたオフセットベクトルがクロマ参照ブロックを配置するための整数ピクセル位置を常に指すように、ルーマオフセットベクトルを変更し得る。より解像度が低いサブピクセル位置または整数ピクセル位置を指すようにルーマオフセットベクトルを変更することは、何らかの補間フィルタリングの必要性をなくすおよび／または任意の必要とされる補間フィルタリングの複雑性を低減することができ得る。
【０１１５】
[0122]図３および図４を参照し、左上のサンプルが位置（０，０）にあると仮定すると、ビデオブロックは、奇数のｘ位置と偶数のｘ位置の両方および奇数のｙ位置と偶数のｙ位置の両方においてルーマサンプルを有する。４：４：４サンプリングフォーマットでは、ビデオブロックはまた、奇数のｘ位置と偶数のｘ位置の両方および奇数のｙ位置と偶数のｙ位置の両方においてクロマサンプルを有する。したがって、４：４：４サンプリングフォーマットの場合、動き補償ユニットは、ルーマ予測ブロックとクロマ予測ブロックの両方を配置するために同じオフセットベクトルを使用し得る。４：２：２サンプリングフォーマットの場合、図４に示すように、ビデオブロックは奇数のｙ位置と偶数のｙ位置の両方において、ただし偶数のｘ位置のみにおいてクロマサンプルを有する。したがって、４：２：２サンプリングフォーマットの場合、ルーマオフセットベクトルが奇数のｘ位置を指す場合、動き補償ユニット８２は、補間を必要とすることなしに、変更されたオフセットベクトルが現在ブロックのクロマブロックのための参照クロマブロックを配置するために使用され得るように、偶数のｘ位置を指す変更されたオフセットベクトルを生成するためにルーマオフセットベクトルのｘ成分を変更し得る。動き補償ユニット８２は、たとえば、最も近い偶数のｘ位置に切り上げるかまたは切り捨てるかのいずれか、すなわち、ｘ成分が最も近い左側のｘ位置または最も近い右側のｘ位置のいずれかを指すようにｘ成分を変えることによって、ｘ成分を変更し得る。ルーマオフセットベクトルが偶数のｘ位置をすでに指す場合、変更は必要ではないことがある。
【０１１６】
[0123]４：２：０サンプリングフォーマットの場合、図３に示すように、ビデオブロックは偶数のｙ位置のみにおいて、および偶数のｘ位置のみにおいてクロマサンプルを有する。したがって、４：２：０サンプリングフォーマットの場合、ルーマオフセットベクトルが奇数のｘ位置または奇数のｙ位置を指す場合、動き補償ユニット８２は、補間を必要とすることなしに、変更されたオフセットベクトルが現在ブロックのクロマブロックのための参照クロマブロックを配置するために使用され得るように、偶数のｘ位置を指す変更されたオフセットベクトルを生成するためにルーマオフセットベクトルのｘ成分またはｙ成分を変更し得る。動き補償ユニット８２は、たとえば、最も近い偶数のｘ位置に切り上げるかまたは切り捨てるかのいずれか、すなわち、ｘ成分が最も近い左側のｘ位置または最も近い右側のｘ位置のいずれかを指すようにｘ成分を変えることによって、ｘ成分を変更し得る。動き補償ユニット８２は、たとえば、最も近い偶数のｙ位置に切り上げるかまたは切り捨てるかのいずれか、すなわち、ｙ成分が最も近い上側のｙ位置または最も近い下側のｙ位置のいずれかを指すようにｙ成分を変えることによって、ｙ成分を変更し得る。ルーマオフセットベクトルが偶数のｘ位置と偶数のｙ位置とをすでに指す場合、変更は必要ではないことがある。
【０１１７】
[0124]逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化（inverse quantize）、すなわち逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１１８】
[0125]動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ピクセル移行を平滑化するか、またはさもなければビデオ品質を向上させるために（コーディングループ内またはコーディングループ後のいずれかの）ループフィルタも使用され得る。フィルタユニット９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すように意図されている。図７では、フィルタユニット９１はループ内フィルタであるものとして示されているが、他の構成では、フィルタユニット９１はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、復号ピクチャバッファ９２に記憶され、復号ピクチャバッファ９２は後続の動き補償のために使用される参照ピクチャを記憶する。復号ピクチャバッファ９２は、図１のディスプレイデバイス３２などのディスプレイデバイス上で後で提示するための復号ビデオも記憶するメモリの一部であってもよく、またはそのようなメモリとは別個であってもよい。
【０１１９】
[0126]このようにして、図７のビデオデコーダ３０は、ＩＭＣモードを使用してビデオデータの現在ブロックをコーディングし、ビデオデータの現在ブロックについて、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し、コードワードの長さに基づいて、オフセットベクトルをコーディングするように構成されたビデオデコーダの一例を表す。ビデオデコーダ３０は、たとえば、現在ブロックを復号し、コードワードを受信し得る。オフセットベクトルの成分は、たとえば、ｘ成分またはｙ成分であり得る。本開示の技法の一態様によれば、ｘ成分のためのコードワードの長さは、ｙ成分のためのコードワードの長さとは異なり得る。
【０１２０】
[0127]ビデオデコーダ３０は、たとえば、ビデオデータの現在ブロックのためのＩＭＣを実行するために使用される探索領域のサイズに基づいてコードワードの長さを決定することによって、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し得る。探索領域のサイズは、たとえば、現在ブロックのピクセルと探索領域の上部境界との間の距離、現在ブロックのピクセルと探索領域の左境界との間の距離、および／または現在ブロックのピクセルと探索領域の右境界との間の距離を含み得る。ビデオデコーダ３０は、代替または追加として、現在ブロックを備えるコーディングツリーユニットのサイズに基づいてコードワードの長さを決定すること、ＣＴＵ中の現在ブロックのロケーションに基づいてコードワードの長さを決定すること、ビデオデータのフレーム中の現在ブロックのロケーションに基づいてコードワードの長さを決定すること、および／または現在ブロックのサイズに基づいてコードワードの長さを決定することによって、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し得る。
【０１２１】
[0128]ビデオデコーダ３０はまた、ＩＭＣモードを使用してビデオデータの現在ブロックをコーディングし、ビデオデータの現在ブロックについて、オフセットベクトルを決定し、サブピクセル位置を指すオフセットベクトルに応答して、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更するように構成されたビデオデコーダの一例を表す。変更されたオフセットベクトルは、たとえば、整数ピクセル位置を指すか、より精度が低いサブピクセル位置を指し得る。
【０１２２】
[0129]ビデオデコーダ３０はまた、ビデオデータの現在ブロックについて、最大ＣＴＵサイズを決定し、ビデオデータの現在ブロックについて、ＩＭＣモードのための最大ＣＵサイズが最大ＣＴＵサイズよりも小さくなるように、ＩＭＣモードのための最大ＣＵサイズを決定するように構成されたビデオデコーダの一例を表す。ビデオデコーダ３０は、ＩＭＣモードのための最大ＣＵサイズに基づいて、ビデオデータの現在ブロックをコーディングし得る。ビデオデコーダ３０は、たとえば、ＩＭＣモードのための最大ＣＵサイズよりも大きいビデオデータの現在ブロックのサイズに応答して、ＩＭＣモードでビデオデータの現在ブロックをコーディングしない、および／または、ＩＭＣモードのための最大ＣＵサイズよりも小さいかもしくはそれに等しいビデオデータの現在ブロックのサイズに応答して、ＩＭＣモードでビデオデータの現在ブロックをコーディングするように構成され得る。ビデオデコーダ３０は、たとえば、ビデオデータ中でＩＭＣモードのための最大ＣＵサイズをシグナリングするシンタックス要素を受信すること得る。代替的に、ビデオデコーダ３０は、すでにコーディングされたビデオデータの統計値に基づいて、ＩＭＣモードのための最大ＣＵサイズを決定し得る。
【０１２３】
[0130]ビデオデコーダ３０はまた、ＩＭＣモードを使用してビデオデータの現在ブロックをコーディングし、現在ブロックのサイズ、現在ブロックの位置、現在ブロックを備えるコーディングツリーユニット（ＣＴＵ）のサイズのうちの１つまたは複数に基づいて、ビデオデータの現在ブロックについて、オフセットベクトルをコーディングするためのコーディング方法を決定し、コーディング方法に基づいて、オフセットベクトルをコーディングするように構成されたビデオデコーダの一例を表す。コーディング方法は、たとえば、固定長コーディング、可変長コーディング、算術コーディング、コンテキストベースのコーディング、またはビデオデータをコーディングするために使用される任意の他のタイプのコーディング方法のいずれかであり得る。現在ブロックの位置は、ＣＴＵ内の位置を指し得るか、またはビデオデータのフレーム内の現在ブロックの位置を指し得る。
【０１２４】
[0131]図８は、本開示の技法による、ビデオデータをコーディングする（たとえば、符号化するまたは復号する）方法の一例を示すフローチャートである。図８の技法について、一般的なビデオコーダを参照しながら説明する。一般的なビデオコーダは、たとえば、上記で説明したビデオエンコーダ２０またはビデオデコーダ３０に対応し得るが、本技法はまた、他のタイプのビデオエンコーダおよびビデオデコーダによって実行され得る。図８の技法は、たとえば、表示するための復号ビデオを生成することの一部としてビデオデコーダによって実行され得る。図８の技法は、たとえば、ビデオデータを符号化することの一部としてビデオエンコーダによって実行され得る。ビデオエンコーダは、たとえば、他のフレームを符号化する際に使用するための参照フレームを生成するために、符号化ビデオデータを復号し得る。
【０１２５】
[0132]図８の技法によれば、ビデオコーダは、ビデオのフレーム中のビデオデータの現在ブロックがＩＭＣモードを使用してコーディングされると決定する（１８０）。現在ブロックは、たとえば、４：４：４サンプリングフォーマット、４：２：０サンプリングフォーマット、または４：２：２サンプリングフォーマットでコーディングされ得る。ビデオデコーダは、たとえば、符号化ビットストリーム中で、現在ブロックのためのコーディングモードを示すシンタックス要素を受信することによって、現在ブロックがＩＭＣモードを使用してコーディングされると決定し得る。ビデオエンコーダは、たとえば、現在ブロックを符号化するために使用すべきコーディングモードを決定するために複数のモードをテストすることの一部として、現在ブロックがＩＭＣモードを使用してコーディングされるべきであると決定し得る。
【０１２６】
[0133]図８の例によれば、ビデオコーダは、ビデオデータの現在ブロックの第１の色成分のためのオフセットベクトルを決定する（１８２）。ビデオデコーダは、たとえば、符号化ビットストリーム中で受信されたシンタックス要素に基づいてオフセットベクトルを決定し得るが、ビデオエンコーダは、現在ブロックを符号化するために使用すべき参照ブロックを探索することの一部としてオフセットベクトルを決定し得る。第１の色成分は、たとえば、ルーマ成分またはクロマ成分のいずれかであり得る。ビデオコーダは、ビデオのフレーム中に、オフセットベクトルを使用して第１の色成分の参照ブロックを配置する（１８４）。
【０１２７】
[0134]図８の例によれば、ビデオコーダは、サブピクセル位置を指すオフセットベクトルに応答して、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更する（１８６）。ビデオコーダは、整数ピクセル位置を指すか、またはサブピクセル位置よりも精度が低い位置である位置を指すようにオフセットベクトルを変更し得る。この点について、オフセットベクトルを変更することは、単にオフセットベクトルをスケーリングする以上のことを含み得る。たとえば、ビデオコーダはオフセットベクトルをスケーリングし得、また、サブピクセル位置を指すスケーリングされたオフセットベクトルに応答して、オフセットベクトルをあまり正確ではないサブピクセル位置へのまたは整数ピクセル位置へのポイントにラウンドし得る。クロマ参照ブロックのサブピクセル位置を指すオフセットベクトルに応答して、ビデオコーダは、クロマ参照ブロックの整数ピクセル位置を指す変更されたオフセットベクトルを生成するためにオフセットベクトルを変更し得る。現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされるいくつかの例では、ビデオコーダは、オフセットベクトルのｘ成分を変更することによって、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更し得る。現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされるいくつかの例では、ビデオコーダは、オフセットベクトルのｘ成分、ｙ成分、またはｘ成分とｙ成分の両方を変更することによって、変更されたオフセットベクトルを生成するためにオフセットベクトルを変更し得る。
【０１２８】
[0135]ビデオコーダは、ビデオデータのフレーム中に、変更されたオフセットベクトルを使用して第２の色成分の参照ブロックを配置する（１８８）。いくつかの例では、ビデオコーダは、現在ブロックのルーマ成分のためのオフセットベクトルを決定し、クロマ参照ブロックを配置するために変更されたオフセットベクトルを使用し得る。
【０１２９】
[0136]ビデオコーダは、ビデオデータの現在ブロックをコーディングすることの一部として図８の技法を実行し得る。ビデオエンコーダは、たとえば、ビデオデータの符号化ビットストリームに含めるために、オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することによって、ビデオデータの現在ブロックをコーディングし得る。ビデオデコーダは、たとえば、第１の色成分のための参照ブロックと第２の色成分のための参照ブロックとに基づいて現在ブロックを復号することによって、現在ブロックをコーディングし得る。
【０１３０】
[0137]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、または（２）信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０１３１】
[0138]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、任意の接続が、適切にコンピュータ可読媒体と呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに、非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）と、レーザーディスク（登録商標）と、光ディスクと、デジタル多用途ディスク（ＤＶＤ）と、フロッピー（登録商標）ディスクと、Ｂｌｕ−ｒａｙディスクとを含み、通常、ディスク（disk）は磁気的にデータを再生するが、ディスク（disc）はレーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１３２】
[0139]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路などの１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造または本明細書で説明する技法の実装形態に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明する機能は、符号化および復号のために構成されるか、または複合コーデックに組み込まれる、専用のハードウェアモジュールおよび／またはソフトウェアモジュール内で提供され得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０１３３】
[0140]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１３４】
[0141]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
【図１】
2016527789.tif 000004
【図２Ａ】
2016527789.tif 000005
【図２Ｂ】
2016527789.tif 000006
【図２Ｃ】
2016527789.tif 000007
【図３】
2016527789.tif 000008
【図４】
2016527789.tif 000009
【図５】
2016527789.tif 000010
【図６】
2016527789.tif 000011
【図７】
2016527789.tif 000012
【図８】
2016527789.tif 000013
【手続補正書】
【提出日】平成28年3月29日(2016.3.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定することと、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して第１の色成分の参照ブロックを配置することと、
前記第１の色成分のための前記オフセットベクトルと前記ビデオデータの前記現在ブロックのサンプルフォーマットとに基づいて、前記現在ブロックの第２の色成分のためのオフセットベクトルを決定することと、
ビデオデータの前記現在ブロックの前記第２の色成分のためのサブピクセル位置を指す前記第２の色成分のための前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することと、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置することと、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックを復号することとを備える方法。
【請求項２】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項１に記載の方法。
【請求項３】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項１に記載の方法。
【請求項４】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項１に記載の方法。
【請求項５】
前記サンプルフォーマットが４：２：０サンプリングフォーマットを備える、請求項１に記載の方法。
【請求項６】
前記サンプルフォーマットが４：２：２サンプリングフォーマットを備える、請求項１に記載の方法。
【請求項７】
前記第２の色成分のための前記オフセットベクトルを変更することが、クロマサンプルのアレイのサブピクセル位置を指す前記第２の色成分のための前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することを備える、請求項１に記載の方法。
【請求項８】
前記第２の色成分のための前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：２サンプリングフォーマットを備え、前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することが、前記ｘ成分を変更することを備える、請求項１に記載の方法。
【請求項９】
前記第２の色成分のための前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：０サンプリングフォーマットを備え、前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することが、前記ｙ成分を変更することを備える、請求項１に記載の方法。
【請求項１０】
前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することが、前記ｘ成分を変更することをさらに備える、請求項９に記載の方法。
【請求項１１】
ビデオデータを符号化する方法であって、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されるべきであると決定することと、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して第１の色成分の参照ブロックを配置することと、
前記第１の色成分のための前記オフセットベクトルと前記ビデオデータの前記現在ブロックのサンプルフォーマットとに基づいて、前記現在ブロックの第２の色成分のためのオフセットベクトルを決定することと、
ビデオデータの前記現在ブロックの前記第２の色成分のためのサブピクセル位置を指す前記第２の色成分のための前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することと、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置することと、
ビデオデータの符号化ビットストリームに含めるために、前記オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することとを備える方法。
【請求項１２】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項１１に記載の方法。
【請求項１３】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項１１に記載の方法。
【請求項１４】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項１１に記載の方法。
【請求項１５】
前記サンプルフォーマットが４：２：０サンプリングフォーマットを備える、請求項１１に記載の方法。
【請求項１６】
前記サンプルフォーマットが４：２：２サンプリングフォーマットを備える、請求項１１に記載の方法。
【請求項１７】
前記第２の色成分のための前記オフセットベクトルを変更することが、クロマサンプルのアレイのサブピクセル位置を指す前記第２の色成分のための前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することを備える、請求項１１に記載の方法。
【請求項１８】
前記第２の色成分のための前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：２サンプリングフォーマットを備え、前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することが、前記第２の色成分のための前記オフセットベクトルの前記ｘ成分を変更することを備える、請求項１１に記載の方法。
【請求項１９】
前記第２の色成分のための前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：０サンプリングフォーマットを備え、前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することが、前記第２の色成分のための前記オフセットベクトルの前記ｙ成分を変更することを備える、請求項１１に記載の方法。
【請求項２０】
前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することが、前記第２の色成分のための前記オフセットベクトルの前記ｘ成分を変更することをさらに備える、請求項１９に記載の方法。
【請求項２１】
ビデオコーディングを実行する装置であって、
ビデオデータを記憶するメモリと、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定することと、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して第１の色成分の参照ブロックを配置することと、
前記第１の色成分のための前記オフセットベクトルと前記ビデオデータの前記現在ブロックのサンプルフォーマットとに基づいて、前記現在ブロックの第２の色成分のためのオフセットベクトルを決定することと、
ビデオデータの前記現在ブロックの前記第２の色成分のためのサブピクセル位置を指す前記第２の色成分のための前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することと、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置することと、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックをコーディングすることと
を行うように構成された１つまたは複数のプロセッサを備えるビデオコーダとを備える装置。
【請求項２２】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項２１に記載の装置。
【請求項２３】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項２１に記載の装置。
【請求項２４】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項２１に記載の装置。
【請求項２５】
前記サンプルフォーマットが４：２：０サンプリングフォーマットを備える、請求項２１に記載の装置。
【請求項２６】
前記サンプルフォーマットが４：２：２サンプリングフォーマットを備える、請求項２１に記載の装置。
【請求項２７】
前記ビデオコーダが、クロマサンプルのアレイのサブピクセル位置を指す前記第２の色成分のための前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することによって、前記第２の色成分のための前記オフセットベクトルを変更する、請求項２１に記載の装置。
【請求項２８】
前記第２の色成分のための前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：２サンプリングフォーマットを備え、前記ビデオコーダが、前記ｘ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更する、請求項２１に記載の装置。
【請求項２９】
前記第２の色成分のための前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：０サンプリングフォーマットを備え、前記ビデオコーダが、前記ｙ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更する、請求項２１に記載の装置。
【請求項３０】
前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更することが、前記ｘ成分を変更することをさらに備える、請求項２９に記載の装置。
【請求項３１】
前記ビデオコーダがビデオデコーダを備え、前記ビデオコーダが、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックを復号することによって、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックをコーディングするようにさらに構成される、請求項２１に記載の装置。
【請求項３２】
前記ビデオコーダがビデオエンコーダを備え、前記ビデオコーダが、ビデオデータの符号化ビットストリームに含めるために、前記オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することによって、前記参照ブロックに基づいて前記現在ブロックをコーディングするようにさらに構成される、請求項２１に記載の装置。
【請求項３３】
前記装置が、
集積回路、
マイクロプロセッサ、および
ワイヤレス通信デバイスのうちの少なくとも１つを備える、請求項２９に記載の装置。
【請求項３４】
ビデオコーディングを実行する装置であって、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定するための手段と、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定するための手段と、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して第１の色成分の参照ブロックを配置するための手段と、
前記第１の色成分のための前記オフセットベクトルと前記ビデオデータの前記現在ブロックのサンプルフォーマットとに基づいて、前記現在ブロックの第２の色成分のためのオフセットベクトルを決定するための手段と、
ビデオデータの前記現在ブロックの前記第２の色成分のためのサブピクセル位置を指す前記第２の色成分のための前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更するための手段と、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置するための手段と、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックをコーディングするための手段とを備える装置。
【請求項３５】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項３４に記載の装置。
【請求項３６】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項３４に記載の装置。
【請求項３７】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項３４に記載の装置。
【請求項３８】
前記サンプルフォーマットが４：２：０サンプリングフォーマットを備える、請求項３４に記載の装置。
【請求項３９】
前記サンプルフォーマットが４：２：２サンプリングフォーマットを備える、請求項３４に記載の装置。
【請求項４０】
前記第２の色成分のための前記オフセットベクトルを前記変更するための手段が、クロマサンプルのアレイのサブピクセル位置を指す前記第２の色成分のための前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更するための手段を備える、請求項３４に記載の装置。
【請求項４１】
前記第２の色成分のための前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：２サンプリングフォーマットを備え、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｘ成分を変更することを備える、請求項３４に記載の装置。
【請求項４２】
前記第２の色成分のための前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：０サンプリングフォーマットを備え、前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを前記変更するための手段が、前記ｙ成分を変更するための手段を備える、請求項３４に記載の装置。
【請求項４３】
前記変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを前記変更するための手段が、前記ｘ成分を変更するための手段をさらに備える、請求項４２に記載の装置。
【請求項４４】
前記装置がビデオデコーダを備え、前記ビデオデコーダが、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックを復号することによって、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックをコーディングするようにさらに構成される、請求項３４に記載の装置。
【請求項４５】
前記装置がビデオエンコーダを備え、前記ビデオエンコーダが、ビデオデータの符号化ビットストリームに含めるために、前記オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することによって、前記参照ブロックに基づいて前記現在ブロックをコーディングするようにさらに構成される、請求項３４に記載の装置。
【請求項４６】
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定させ、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定させ、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して第１の色成分の参照ブロックを配置させ、
前記第１の色成分のための前記オフセットベクトルと前記ビデオデータの前記現在ブロックのサンプルフォーマットとに基づいて、前記現在ブロックの第２の色成分のためのオフセットベクトルを決定させ、
ビデオデータの前記現在ブロックの前記第２の色成分のためのサブピクセル位置を指す前記第２の色成分のための前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記第２の色成分のための前記オフセットベクトルを変更させ、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置させ、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックをコーディングさせる、命令を記憶するコンピュータ可読媒体。
【請求項４７】
前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記変更されたオフセットベクトルが整数ピクセル位置を指す、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項４９】
前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５０】
前記サンプルフォーマットが４：２：０サンプリングフォーマットを備える、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５１】
前記サンプルフォーマットが４：２：２サンプリングフォーマットを備える、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５２】
前記１つまたは複数のプロセッサが、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することによって、前記オフセットベクトルを変更する、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５３】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：２サンプリングフォーマットを備え、前記１つまたは複数のプロセッサが、前記ｘ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、請求項４６に記載のコンピュータ可読記憶媒体。
【請求項５４】
前記オフセットベクトルがｘ成分とｙ成分とを備え、前記サンプルフォーマットが４：２：０サンプリングフォーマットを備え、前記１つまたは複数のプロセッサが、前記ｙ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、請求項５３に記載のコンピュータ可読記憶媒体。
【請求項５５】
前記１つまたは複数のプロセッサが、前記ｘ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルをさらに変更する、請求項５４に記載のコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１３４
【補正方法】変更
【補正の内容】
【０１３４】
[0141]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]  ビデオデータを復号する方法であって、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定することと、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置することと、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することと、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置することと、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックを復号することとを備える方法。
[Ｃ２]  前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、Ｃ１に記載の方法。
[Ｃ３]  前記変更されたオフセットベクトルが整数ピクセル位置を指す、Ｃ１に記載の方法。
[Ｃ４]  前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、Ｃ１に記載の方法。
[Ｃ５]  前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、Ｃ１に記載の方法。
[Ｃ６]  前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、Ｃ１に記載の方法。
[Ｃ７]  前記オフセットベクトルを変更することが、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することを備える、Ｃ１に記載の方法。
[Ｃ８]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｘ成分を変更することを備える、Ｃ１に記載の方法。
[Ｃ９]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｙ成分を変更することを備える、Ｃ１に記載の方法。
[Ｃ１０]  前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｘ成分を変更することをさらに備える、Ｃ９に記載の方法。
[Ｃ１１]  ビデオデータを符号化する方法であって、
ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されるべきであると決定することと、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置することと、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することと、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置することと、
ビデオデータの符号化ビットストリームに含めるために、前記オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することとを備える方法。
[Ｃ１２]  前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、Ｃ１１に記載の方法。
[Ｃ１３]  前記変更されたオフセットベクトルが整数ピクセル位置を指す、Ｃ１１に記載の方法。
[Ｃ１４]  前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、Ｃ１１に記載の方法。
[Ｃ１５]  前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、Ｃ１１に記載の方法。
[Ｃ１６]  前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、Ｃ１１に記載の方法。
[Ｃ１７]  前記オフセットベクトルを変更することが、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することを備える、Ｃ１１に記載の方法。
[Ｃ１８]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記オフセットベクトルの前記ｘ成分を変更することを備える、Ｃ１１に記載の方法。
[Ｃ１９]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記オフセットベクトルの前記ｙ成分を変更することを備える、Ｃ１１に記載の方法。
[Ｃ２０]  前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記オフセットベクトルの前記ｘ成分を変更することをさらに備える、Ｃ１９に記載の方法。
[Ｃ２１]  ビデオコーディングを実行する装置であって、
ビデオデータを記憶するメモリと、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定することと、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定することと、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置することと、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することと、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置することと、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックをコーディングすることと
を行うように構成された１つまたは複数のプロセッサを備えるビデオコーダとを備える装置。
[Ｃ２２]  前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、Ｃ２１に記載の装置。
[Ｃ２３]  前記変更されたオフセットベクトルが整数ピクセル位置を指す、Ｃ２１に記載の装置。
[Ｃ２４]  前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、Ｃ２１に記載の装置。
[Ｃ２５]  前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、Ｃ２１に記載の装置。
[Ｃ２６]  前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、Ｃ２１に記載の装置。
[Ｃ２７]  前記ビデオコーダが、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することによって、前記オフセットベクトルを変更する、Ｃ２１に記載の装置。
[Ｃ２８]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記ビデオコーダが、前記ｘ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、Ｃ２１に記載の装置。
[Ｃ２９]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記ビデオコーダが、前記ｙ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、Ｃ２１に記載の装置。
[Ｃ３０]  前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｘ成分を変更することをさらに備える、Ｃ２９に記載の装置。
[Ｃ３１]  前記ビデオコーダがビデオデコーダを備え、前記ビデオコーダが、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックを復号することによって、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックをコーディングするようにさらに構成される、Ｃ２１に記載の装置。
[Ｃ３２]  前記ビデオコーダがビデオエンコーダを備え、前記ビデオコーダが、ビデオデータの符号化ビットストリームに含めるために、前記オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することによって、前記参照ブロックに基づいて前記現在ブロックをコーディングするようにさらに構成される、Ｃ２１に記載の装置。
[Ｃ３３]  前記装置が、
集積回路、
マイクロプロセッサ、および
ワイヤレス通信デバイスのうちの少なくとも１つを備える、Ｃ２９に記載の装置。
[Ｃ３４]  ビデオコーディングを実行する装置であって、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定するための手段と、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定するための手段と、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置するための手段と、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更するための手段と、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置するための手段と、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックをコーディングするための手段とを備える装置。
[Ｃ３５]  前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、Ｃ３４に記載の装置。
[Ｃ３６]  前記変更されたオフセットベクトルが整数ピクセル位置を指す、Ｃ３４に記載の装置。
[Ｃ３７]  前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、Ｃ３４に記載の装置。
[Ｃ３８]  前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、Ｃ３４に記載の装置。
[Ｃ３９]  前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、Ｃ３４に記載の装置。
[Ｃ４０]  前記オフセットベクトルを前記変更するための手段が、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更するための手段を備える、Ｃ３４に記載の装置。
[Ｃ４１]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することが、前記ｘ成分を変更することを備える、Ｃ３４に記載の装置。
[Ｃ４２]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを前記変更するための手段が、前記ｙ成分を変更するための手段を備える、Ｃ３４に記載の装置。
[Ｃ４３]  前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを前記変更するための手段が、前記ｘ成分を変更するための手段をさらに備える、Ｃ４２に記載の装置。
[Ｃ４４]  前記装置がビデオデコーダを備え、前記ビデオデコーダが、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックを復号することによって、前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて前記現在ブロックをコーディングするようにさらに構成される、Ｃ３４に記載の装置。
[Ｃ４５]  前記装置がビデオエンコーダを備え、前記ビデオエンコーダが、ビデオデータの符号化ビットストリームに含めるために、前記オフセットベクトルを識別する１つまたは複数のシンタックス要素を生成することによって、前記参照ブロックに基づいて前記現在ブロックをコーディングするようにさらに構成される、Ｃ３４に記載の装置。
[Ｃ４６]  １つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記ビデオデータの現在ブロックがイントラ動き補償（ＩＭＣ）モードを使用して符号化されると決定させ、ここにおいて、前記現在ブロックはビデオのフレーム中にある、
前記ビデオデータの前記現在ブロックの第１の色成分のためのオフセットベクトルを決定させ、
前記ビデオのフレーム中に、前記オフセットベクトルを使用して前記第１の色成分の参照ブロックを配置させ、
前記ビデオデータの前記現在ブロックの第２の色成分のためのサブピクセル位置を指す前記オフセットベクトルに応答して、変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更させ、
前記ビデオのフレーム中に、前記変更されたオフセットベクトルを使用して前記第２の色成分のための参照ブロックを配置させ、
前記第１の色成分のための前記参照ブロックと前記第２の色成分のための前記参照ブロックとに基づいて、前記現在ブロックをコーディングさせる、命令を記憶するコンピュータ可読媒体。
[Ｃ４７]  前記第１の色成分が前記現在ブロックのルーマ成分を備え、前記第２の色成分が前記現在ブロックのクロマ成分を備える、Ｃ４６に記載のコンピュータ可読記憶媒体。
[Ｃ４８]  前記変更されたオフセットベクトルが整数ピクセル位置を指す、Ｃ４６に記載のコンピュータ可読記憶媒体。
[Ｃ４９]  前記変更されたオフセットベクトルが、前記サブピクセル位置よりも精度が低い位置であるピクセル位置を指す、Ｃ４６に記載のコンピュータ可読記憶媒体。
[Ｃ５０]  前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされる、Ｃ４６に記載のコンピュータ可読記憶媒体。
[Ｃ５１]  前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされる、Ｃ４６に記載のコンピュータ可読記憶媒体。
[Ｃ５２]  前記１つまたは複数のプロセッサが、クロマサンプルのアレイのサブピクセル位置を指す前記オフセットベクトルに応答して、前記クロマサンプルのアレイの整数ピクセル位置を指す前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更することによって、前記オフセットベクトルを変更する、Ｃ４６に記載のコンピュータ可読記憶媒体。
[Ｃ５３]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：２サンプリングフォーマットを使用してコーディングされ、前記１つまたは複数のプロセッサが、前記ｘ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、Ｃ４６に記載のコンピュータ可読記憶媒体。
[Ｃ５４]  前記オフセットベクトルがｘ成分とｙ成分とを備え、前記現在ブロックが４：２：０サンプリングフォーマットを使用してコーディングされ、前記１つまたは複数のプロセッサが、前記ｙ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルを変更する、Ｃ５３に記載のコンピュータ可読記憶媒体。
[Ｃ５５]  前記１つまたは複数のプロセッサが、前記ｘ成分を変更することによって、前記変更されたオフセットベクトルを生成するために前記オフセットベクトルをさらに変更する、Ｃ５４に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2016527789.tif 000014
2016527789.tif 000015
2016527789.tif 000016