(57)【要約】  本開示は、イントラブロックコピー（ＢＣ）コーディングモードに従ってビデオデータをコーディングするための技法を説明する。予測ブロックを識別するブロックベクトル差分が、符号化および復号され得る複数のシンタックス要素によって表され得る。本開示は、ビデオエンコーダが、ブロックベクトル差分の成分の絶対値および／または符号を表すシンタックス要素を条件付きでそれによりシグナリングし得る様々な技法を提案する。同様に、ビデオデコーダは、そのようなシンタックス要素がシグナリングされないとき、ブロックベクトル差分の成分の絶対値および／または符号を表すシンタックス要素の値を推論するように構成され得る。
2017519447.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化されたビデオデータの符号化されたブロックを受信することと、
ビデオデータの前記符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号することと、
ビデオデータの前記符号化されたブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を復号することと、
前記ＢＶＤの前記第１の成分のための第１の符号値を復号することと、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を推論することと、
前記ＢＶＤの前記第１の成分の前記復号された第１の絶対値と、前記ＢＶＤの前記第２の成分の前記復号された第２の絶対値と、前記ＢＶＤの前記第１の成分のための前記復号された第１の符号値と、前記ＢＶＤの前記第２の成分のための前記推論された第２の符号値とに基づいて、前記ＢＶＤを決定することと、
前記ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定することと、
前記ブロックベクトルを使用してビデオデータの前記ブロックを復号することと
を備える、方法。
【請求項２】
前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項３】
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｘ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｙ成分である、請求項１に記載の方法。
【請求項４】
前記第２の成分のための前記第２の符号値を推論することは、前記ＢＶＤが予測され、前記ｘ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｙ成分の前記第２の符号値を推論することを備える、請求項３に記載の方法。
【請求項５】
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｙ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｘ成分である、請求項１に記載の方法。
【請求項６】
前記第２の成分のための前記第２の符号値を推論することは、前記ＢＶＤが予測され、前記ｙ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｘ成分の前記第２の符号値を推論することを備える、請求項５に記載の方法。
【請求項７】
前記ＢＶＤの前記第１の成分の前記第１の絶対値を復号することは、
前記ＢＶＤの前記第１の成分の前記第１の絶対値に関連する第１のシンタックス要素を受信することと、
前記ＢＶＤの前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１のシンタックス要素の値が、前記第１の成分の前記第１の絶対値−前記オフセットを表すと推論することと、
前記オフセットに前記第１のシンタックス要素の前記値を加算することによって、前記第１の成分の前記第１の絶対値を決定することと、
を備える、請求項１に記載の方法。
【請求項８】
前記オフセットが、ビデオデータの前記符号化されたブロックの幅、またはビデオデータの前記符号化されたブロックの高さのうちの１つである、請求項７に記載の方法。
【請求項９】
前記オフセットが、ビデオデータの前記符号化されたブロックの幅の関数、またはビデオデータの前記符号化されたブロックの高さの関数である、請求項７に記載の方法。
【請求項１０】
前記第２の成分のための前記第２の符号値を推論することは、前記第２の符号値を示すシンタックス要素が前記符号化されたビデオビットストリーム中に存在しない場合、前記第２の成分のための前記第２の符号値を推論することを備える、請求項１に記載の方法。
【請求項１１】
ビデオデータを復号するように構成された装置であって、前記装置が、
ビデオデータを記憶するように構成されたメモリと、
符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化された前記ビデオデータの符号化されたブロックを受信することと、
ビデオデータの前記符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号することと、
ビデオデータの前記符号化されたブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を復号することと、
前記ＢＶＤの前記第１の成分のための第１の符号値を復号することと、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を推論することと、
前記ＢＶＤの前記第１の成分の前記復号された第１の絶対値と、前記ＢＶＤの前記第２の成分の前記復号された第２の絶対値と、前記ＢＶＤの前記第１の成分のための前記復号された第１の符号値と、前記ＢＶＤの前記第２の成分のための前記推論された第２の符号値とに基づいて、前記ＢＶＤを決定することと、
前記ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定することと、
前記ブロックベクトルを使用してビデオデータの前記ブロックを復号することと、
を行うように構成された、ビデオデコーダと、
を備える、装置。
【請求項１２】
前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含む、請求項１１に記載の装置。
【請求項１３】
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｘ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｙ成分である、請求項１１に記載の装置。
【請求項１４】
前記第２の成分のための前記第２の符号値を推論するために、前記ビデオデコーダは、前記ＢＶＤが予測され、前記ｘ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｙ成分の前記第２の符号値を推論するように構成される、請求項１３に記載の装置。
【請求項１５】
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｙ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｘ成分である、請求項１１に記載の装置。
【請求項１６】
前記第２の成分のための前記第２の符号値を推論するために、前記ビデオデコーダは、前記ＢＶＤが予測され、前記ｙ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｘ成分の前記第２の符号値を推論するように構成される、請求項１５に記載の装置。
【請求項１７】
前記ＢＶＤの前記第１の成分の前記第１の絶対値を復号するために、前記ビデオデコーダは、
前記ＢＶＤの前記第１の成分の前記第１の絶対値に関連する第１のシンタックス要素を受信することと、
前記ＢＶＤの前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１のシンタックス要素の値が、前記第１の成分の前記第１の絶対値−前記オフセットを表すと推論することと、
前記オフセットに前記第１のシンタックス要素の前記値を加算することによって、前記第１の成分の前記第１の絶対値を決定することと、
を行うように構成される、請求項１１に記載の装置。
【請求項１８】
前記オフセットが、ビデオデータの前記符号化されたブロックの幅、またはビデオデータの前記符号化されたブロックの高さのうちの１つである、請求項１７に記載の装置。
【請求項１９】
前記オフセットが、ビデオデータの前記符号化されたブロックの幅の関数、またはビデオデータの前記符号化されたブロックの高さの関数である、請求項１７に記載の装置。
【請求項２０】
前記第２の成分のための前記第２の符号値を推論するために、前記ビデオデコーダは、前記第２の符号値を示すシンタックス要素が前記符号化されたビデオビットストリーム中に存在しない場合、前記第２の成分のための前記第２の符号値を推論するように構成される、請求項１１に記載の装置。
【請求項２１】
前記ビデオデコーダがプロセッサにおいて実装され、前記装置がワイヤレス通信デバイスであり、前記ワイヤレス通信デバイスが、
送信機と、
前記ビデオデータを受信するように構成された受信機と、
をさらに備える、請求項１１に記載の装置。
【請求項２２】
前記ワイヤレス通信デバイスがセルラー電話であり、前記受信機が、セルラー通信規格に従って、前記ビデオデータを受信し、前記受信されたビデオデータを復調するように構成される、請求項２１に記載の装置。
【請求項２３】
ビデオデータを復号するように構成された装置であって、前記装置は、
符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化されたビデオデータの符号化されたブロックを受信するための手段と、
ビデオデータの前記符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号するための手段と、
ビデオデータの前記符号化されたブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を復号するための手段と、
前記ＢＶＤの前記第１の成分のための第１の符号値を復号するための手段と、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を推論するための手段と、
前記ＢＶＤの前記第１の成分の前記復号された第１の絶対値と、前記ＢＶＤの前記第２の成分の前記復号された第２の絶対値と、前記ＢＶＤの前記第１の成分のための前記復号された第１の符号値と、前記ＢＶＤの前記第２の成分のための前記推論された第２の符号値とに基づいて、前記ＢＶＤを決定するための手段と、
前記ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定するための手段と、
前記ブロックベクトルを使用してビデオデータの前記ブロックを復号するための手段と、
を備える、装置。
【請求項２４】
前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含む、請求項２３に記載の装置。
【請求項２５】
前記ＢＶＤの前記第１の成分の前記第１の絶対値を復号するための前記手段は、
前記ＢＶＤの前記第１の成分の前記第１の絶対値に関連する第１のシンタックス要素を受信するための手段と、
前記ＢＶＤの前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１のシンタックス要素の値が、前記第１の成分の前記第１の絶対値−前記オフセットを表すと推論するための手段と、
前記オフセットに前記第１のシンタックス要素の前記値を加算することによって、前記第１の成分の前記第１の絶対値を決定するための手段と、
を備える、請求項２３に記載の装置。
【請求項２６】
前記第２の成分のための前記第２の符号値を推論するための前記手段は、前記第２の符号値を示すシンタックス要素が前記符号化されたビデオビットストリーム中に存在しない場合、前記第２の成分のための前記第２の符号値を推論するための手段を備える、請求項２３に記載の装置。
【請求項２７】
ビデオデータを符号化する方法であって、前記方法は、
イントラブロックコピー（ＢＣ）モードで符号化されたビデオデータのブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を符号化することと、
ビデオデータの前記ブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を符号化することと、
前記ＢＶＤの前記第１の成分のための第１の符号値を符号化することと、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を符号化しないことと、
前記第１の絶対値、前記第２の絶対値、および前記第１の符号値のためのシンタックス要素を生成することと、
を備える、方法。
【請求項２８】
前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含む、請求項２７に記載の方法。
【請求項２９】
前記ＢＶＤの前記第１の成分の前記第１の絶対値を符号化することは、
前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１の絶対値から前記オフセットを減算すること、
を備える、請求項２７に記載の方法。
【請求項３０】
前記オフセットが、ビデオデータの前記ブロックの幅、またはビデオデータの前記ブロックの高さのうちの１つである、請求項２９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その各々の全体が参照により本明細書に組み込まれる、２０１４年６月２０日に出願された米国仮特許出願第６２／０１５，３１３号、２０１４年９月２２日に出願された米国仮出願第６２／０５３，６７２号、および２０１４年９月２９日に出願された米国仮出願第６２／０５６，９６５号の利益を主張する。
【０００２】
[0002]本開示は、ビデオ符号化およびビデオ復号に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部）はビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることがある。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間予測または時間予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初は２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示は、イントラブロックコピー（ＢＣ）コーディングモードに従ってビデオデータをコーディングするための技法を説明する。イントラＢＣは、現在のビデオブロックが同じピクチャ内の予測ブロックに基づいてコーディングされる予測技法を指す。同じピクチャ内の予測ブロックは、ブロックベクトル差分と呼ばれることがあるベクトルによって識別される。いくつかの例では、予測ブロックを識別するブロックベクトル差分は、符号化および復号され得る複数のシンタックス要素によって表され得る。本開示は、ビデオエンコーダが、ブロックベクトル差分の成分の絶対値および／または符号を表すシンタックス要素を条件付きでそれによりシグナリングし得る様々な技法を提案する。同様に、ビデオデコーダは、そのようなシンタックス要素がシグナリングされないとき、ブロックベクトル差分の成分の絶対値および／または符号を表すシンタックス要素の値を推論するように構成され得る。
【０００７】
[0007]本開示の一例では、ビデオデータを復号する方法は、符号化されたビデオビットストリームにおいて、イントラＢＣモードを使用して符号化されたビデオデータの符号化されたブロックを受信することと、ビデオデータの符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号することと、ビデオデータの符号化されたブロックに関連するＢＶＤの第２の成分の第２の絶対値を復号することと、ＢＶＤの第１の成分のための第１の符号値を復号することと、ＢＶＤの第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、第２の符号値を推論することと、ＢＶＤの第１の成分の復号された第１の絶対値と、ＢＶＤの第２の成分の復号された第２の絶対値と、ＢＶＤの第１の成分のための復号された第１の符号値と、ＢＶＤの第２の成分のための推論された第２の符号値とに基づいて、ＢＶＤを決定することと、ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定することと、ブロックベクトルを使用してビデオデータのブロックを復号することと、を備える。この例では、ＢＶＤの第１の成分は、ＢＶＤの水平成分またはＢＶＤの垂直成分のいずれかであり得る。
【０００８】
[0008]本開示の別の例では、ＢＶＤの第１の成分の第１の絶対値を復号することは、ＢＶＤの第１の成分の第１の絶対値に関連する第１のシンタックス要素を受信することと、ＢＶＤの第１の成分の第１の絶対値がオフセットよりも大きいことを示す１つまたは複数のビデオコーディング特性に基づいて、第１のシンタックス要素の値が、第１の成分の第１の絶対値−（minus）オフセットを表すと推論することと、オフセットに第１のシンタックス要素の値を加算することによって、第１の成分の第１の絶対値を決定することと、を備える。
【０００９】
[0009]本開示の別の例では、ビデオデータを復号するように構成された装置は、ビデオデータを記憶するように構成されたメモリと、符号化されたビデオビットストリームにおいて、イントラＢＣモードを使用して符号化されたビデオデータの符号化されたブロックを受信することと、ビデオデータの符号化されたブロックに関連するＢＶＤの第１の成分の第１の絶対値を復号することと、ビデオデータの符号化されたブロックに関連するＢＶＤの第２の成分の第２の絶対値を復号することと、ＢＶＤの第１の成分のための第１の符号値を復号することと、ＢＶＤの第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、第２の符号値を推論することと、ＢＶＤの第１の成分の復号された第１の絶対値と、ＢＶＤの第２の成分の復号された第２の絶対値と、ＢＶＤの第１の成分のための復号された第１の符号値と、ＢＶＤの第２の成分のための推論された第２の符号値とに基づいて、ＢＶＤを決定することと、ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定することと、ブロックベクトルを使用してビデオデータのブロックを復号することと、を行うように構成された、ビデオデコーダと、を備える。
【００１０】
[0010]本開示の別の例では、ビデオデータを復号するように構成された装置は、符号化されたビデオビットストリームにおいて、イントラＢＣモードを使用して符号化されたビデオデータの符号化されたブロックを受信するための手段と、ビデオデータの符号化されたブロックに関連するＢＶＤの第１の成分の第１の絶対値を復号するための手段と、ビデオデータの符号化されたブロックに関連するＢＶＤの第２の成分の第２の絶対値を復号するための手段と、ＢＶＤの第１の成分のための第１の符号値を復号するための手段と、ＢＶＤの第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、第２の符号値を推論するための手段と、ＢＶＤの第１の成分の復号された第１の絶対値と、ＢＶＤの第２の成分の復号された第２の絶対値と、ＢＶＤの第１の成分のための復号された第１の符号値と、ＢＶＤの第２の成分のための推論された第２の符号値とに基づいて、ＢＶＤを決定するための手段と、ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定するための手段と、ブロックベクトルを使用してビデオデータのブロックを復号するための手段と、を備える。
【００１１】
[0011]本開示の別の例では、ビデオデータを符号化する方法は、イントラＢＣモードで符号化されたビデオデータのブロックに関連するＢＶＤの第１の成分の第１の絶対値を符号化することと、ビデオデータのブロックに関連するＢＶＤの第２の成分の第２の絶対値を符号化することと、ＢＶＤの第１の成分のための第１の符号値を符号化することと、ＢＶＤの第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、第２の符号値を符号化しないことと、第１の絶対値、第２の絶対値、および第１の符号値のためのシンタックス要素を生成することと、を備える。
【００１２】
[0012]本開示の１つまたは複数の態様の詳細は添付の図面および以下の説明に記載される。本開示で説明される技法の他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１３】
【図１】[0013]本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0014]例示的なイントラブロックコピー（ＢＣ）技法を示す概念図。
【図３】[0015]本開示の例によるブロックベクトル差分（ＢＶＤ）コーディングの一例を示す概念図。
【図４】[0016]本開示の例によるＢＶＤコーディングのための他の例示的なブロックベクトル予測子を示す概念図。
【図５】[0017]本開示で説明される技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図６】[0018]本開示で説明される技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図７】[0019]本開示の例示的な符号化方法を示すフローチャート。
【図８】[0020]本開示の例示的な復号方法を示すフローチャート。
【図９】[0021]本開示の別の例示的な復号方法を示すフローチャート。
【発明を実施するための形態】
【００１４】
[0022]本開示は、イントラブロックコピー（ＢＣ）ブロックベクトルコーディングのための様々な方法、技法、および装置を提案する。本開示の様々な例では、本明細書で説明される技法は、イントラＢＣブロックベクトルコーディングの冗長性を除去し、イントラＢＣブロックベクトルコーディングの他の態様を改善することによって、イントラＢＣブロックベクトルコーディングを改善する。本開示の技法は、高効率ビデオコーディング（ＨＥＶＣ）規格の拡張（たとえば、スクリーンコンテンツコーディング拡張）を含む、イントラＢＣモードを利用する任意のビデオコーディングプロセスにおいて使用され得る。本開示のいくつかの例は、概して、より高いビット深度（たとえば、８ビット超）のためのサポート、ならびにより高いクロマサンプリングフォーマット（たとえば、４：４：４および４：２：２クロマサブサンプリングフォーマット）のためのサポートを含む、ＨＥＶＣおよびそれの拡張にも適用可能であり得る。
【００１５】
[0023]図１は、本開示で説明されるイントラＢＣブロックベクトルコーディングのための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されているように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化されたビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信デバイス、（セルラー通信規格によって通信する）セルラー電話、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信のために装備され得る。
【００１６】
[0024]宛先デバイス１４は、リンク１６を介して復号されるべき符号化されたビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、ソースデバイス１２が、符号化されたビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調および復調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００１７】
[0025]代替的に、符号化されたデータは、出力インターフェース２２からストレージデバイス３２に出力され得る。同様に、符号化されたデータは、入力インターフェースによってストレージデバイス３２からアクセスされ得る。ストレージデバイス３２は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス３２は、ソースデバイス１２によって生成された符号化されたビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイス３２から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶することと、その符号化されたビデオデータを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通して符号化されたビデオデータにアクセスし得る。これは、ファイルサーバ上に記憶された符号化されたビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。ストレージデバイス３２からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００１８】
[0026]イントラＢＣブロックベクトルコーディングのための本開示の技法は、必ずしもワイヤレス適用例またはワイヤレス設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体上に記憶するためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００１９】
[0027]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００２０】
[0028]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信され得る。符号化されたビデオデータは、さらに（または代替的に）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス３２上に記憶され得る。
【００２１】
[0029]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３４とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化されたビデオデータを受信する。リンク１６を介して通信され、またはストレージデバイス３２上に与えられた符号化されたビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ記憶される符号化されたビデオデータとともに含まれ得る。
【００２２】
[0030]ディスプレイデバイス３４は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、さらに外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３４は、復号されたビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００２３】
[0031]ビデオエンコーダ２０およびビデオデコーダ３０は、高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ  １０，アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例は、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３を含む。
【００２４】
[0032]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれ、オーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリームにおいてオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００２５】
[0033]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００２６】
[0034]以下でより詳細に説明するように、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラＢＣビデオコーディングにおいてブロックベクトル差分の態様を条件付きでシグナリングおよび／または推論するための本開示の技法を実行するように構成され得る。本開示の一例では、ビデオデコーダ３０は、符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化されたビデオデータの符号化されたブロックを受信するように構成され得る。ビデオデコーダ３０は、ビデオデータの符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号し、ビデオデータの符号化されたブロックに関連する第２の成分の第２の絶対値を復号し、ＢＶＤの第１の成分のための第１の符号値を復号し得る。ビデオデコーダ３０は、ＢＶＤの第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、第２の符号値を推論するようにさらに構成され得る。ビデオデコーダ３０はまた、ＢＶＤの第１の成分の復号された第１の絶対値と、ＢＶＤの第２の成分の復号された第２の絶対値と、ＢＶＤの第１の成分のための復号された第１の符号値と、ＢＶＤの第２の成分のための推論された第２の符号値とに基づいて、ＢＶＤを決定するように構成され得る。ビデオデコーダ３０は、ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定することと、ブロックベクトルを使用してビデオデータのブロックを復号することとを行うようにさらに構成され得る。
【００２７】
[0035]本開示の別の例では、ビデオエンコーダ２０は、イントラＢＣモードで符号化されたビデオデータのブロックに関連するＢＶＤの第１の成分の第１の絶対値を符号化することと、ビデオデータのブロックに関連する第２の成分の第２の絶対値を符号化することと、ＢＶＤの第１の成分のための第１の符号値を符号化することとを行うように構成され得る。ビデオエンコーダ２０は、ＢＶＤの第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、第２の符号値を符号化しないようにさらに構成され得る。ビデオエンコーダ２０はまた、第１の絶対値、第２の絶対値、および第１の符号値のためのシンタックス要素を生成するように構成され得る。
【００２８】
[0036]ＪＣＴ−ＶＣはＨＥＶＣ規格を開発した。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００２９】
[0037]「ＨＥＶＣワーキングドラフト１０」または「ＷＤ１０」と呼ばれるＨＥＶＣ規格の最近のドラフトが、ドキュメントＪＣＴＶＣ−Ｌ１００３ｖ３４、Ｂｒｏｓｓら、「High efficiency video coding (HEVC) text specification draft 10 (for FDIS & Last Call)」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第１２回会議、ジュネーブ、スイス、２０１３年１月１４〜２３日に記載されており、それは、２０１４年９月２２日現在、以下からダウンロード可能である。
http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip
【００３０】
[0038]ＨＥＶＣ規格の別のドラフトは、本明細書では「ＷＤ１０リビジョン」と呼ばれ、Ｂｒｏｓｓら、「Editors’ proposed corrections to HEVC version 1」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１３回会議、仁川、韓国、２０１３年４月に記載されており、それは、２０１３年８月３０日現在、以下から入手可能である。
http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0432-v3.zip
【００３１】
[0039]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット（a sequence of treeblocks or largest coding units）（ＬＣＵ：largest coding unit）に分割され得ることを記載している。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵｓ）に分割され得る。たとえば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
【００３２】
[0040]ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵｓ：prediction units）および変換ユニット（ＴＵｓ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルをもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含んでいることがある。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかに基づいて異なり得る。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従ってＣＵを１つまたは複数のＴＵに区分することをも記述し得る。ＴＵは、形状が正方形または非正方形であり得る。
【００３３】
[0041]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用してより小さいユニットに再分割され得る。ＲＱＴのリーフノードはＴＵと呼ばれることがある。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され得、その変換係数は量子化され得る。
【００３４】
[0042]概して、ＰＵは、予測プロセスに関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０もしくはリスト１）を記述し得る。
【００３５】
[0043]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数のＴＵをも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値はピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアル化変換係数（serialized transform coefficient）を生成するためにＴＵを使用して変換係数に変換され、量子化され、走査され得る。本開示は、一般に、ＣＵのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示は、コーディングノードならびにＰＵおよびＴＵを含む、ツリーブロック、すなわち、ＬＣＵまたはＣＵを指すために「ビデオブロック」という用語をも使用し得る。
【００３６】
[0044]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャ（a series of video frames or pictures）を含む。ピクチャグループ（ＧＯＰ：group of pictures）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
【００３７】
[0045]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００３８】
[0046]本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法（dimensions）および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ここで、Ｎは非負整数値を表す。ブロック中のピクセルは行および列に配列され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００３９】
[0047]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域においてピクセルデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するためにＴＵを変換し得る。
【００４０】
[0048]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ここで、ｎはｍよりも大きい。
【００４１】
[0049]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応型走査を実行し得る。１次元ベクトルを形成するために量子化変換係数を走査した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディングまたは別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化されたビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００４２】
[0050]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣ中のコードワードは、比較的より短いコードが優勢シンボル（more probable symbols）に対応し、より長いコードが劣勢シンボル（less probable symbols）に対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのための等長コードワードを使用することに勝るビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００４３】
[0051]上記で説明されたように、ビデオデータのブロックのための予測技法は、概して、イントラ予測およびインター予測としてカテゴリー分類される。イントラ予測、または空間予測は、概して、同じピクチャ中の隣接する、前にコーディングされたブロックのピクセル値からブロックを予測することを伴う。インター予測、または時間予測は、概して、１つまたは複数の前にコーディングされたピクチャのピクセル値からブロックを予測することを伴う。
【００４４】
[0052]リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動車インフォテインメント、クラウドコンピューティングなど、多くの適用例が、日常生活においてありふれたものになりつつある。これらの適用例におけるビデオコンテンツ（すなわち、スクリーンコンテンツ）は、通常、自然コンテンツ、テキスト、人工グラフィックスなどの組合せである。テキストおよび人工グラフィックス領域では、（文字、アイコン、シンボルなどの）反復パターンがしばしば存在する。
【００４５】
[0053]最近、動きがあるテキストおよびグラフィックスなど、スクリーンコンテンツ材料のための新しいコーディングツールの調査が要求された。応答して、スクリーンコンテンツのためのコーディング効率を改善する様々な技法および技術が提案されている。新規の専用コーディングツールを用いてスクリーンコンテンツの特性を活用することによってコーディング効率の有意な改善が得られ得るという証拠があるので、スクリーンコンテンツコーディングのための特定のツールを含む、ＨＥＶＣ規格の場合によっては開発中の将来の拡張を目標とした提案の募集（ＣｆＰ）が発行されている。団体は、この募集に応答して提案を提出するように勧誘されている。このＣｆＰの使用事例および要件が、ＭＰＥＧドキュメントＮ１４１７４に記載されている。第１７回ＪＣＴ−ＶＣ会議中に、http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1014-v1.zipにおいて入手可能な、スクリーンコンテンツコーディングテストモデル（ＳＣＭ：screen content coding test model）が確立された。
【００４６】
[0054]イントラＢＣは、ビデオコーダが、冗長性を除去し、スクリーンコンテンツのためのイントラピクチャコーディング効率を改善することを可能にし得る技法である。いくつかの事例では、イントラＢＣは、イントラ動き補償（ＭＣ）と代替的に呼ばれることがある。イントラＢＣ技法に関するさらなる詳細が、Ｃ．Ｐａｎｇら、「Non-RCE3 Intra Motion Compensation with 2-D MVs」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１４回会議：ウィーン、オーストリア、２０１３年７月２５日〜８月２日（以下、「ＪＣＴＶＣ−Ｎ０２５６」）において見つけられ得る。ＪＣＴＶＣ−Ｎ０２５６は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N0256-v4.zipにおいてダウンロードのために利用可能である。
【００４７】
[0055]（ＨＥＶＣ）範囲拡張規格に含めるためのイントラＢＣ技法のための提案が、最近、採用された。ＨＥＶＣ範囲拡張のドラフトが、Ｄ．Ｆｌｙｎｎら、「High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 7」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１７回会議：バレンシア、スペイン、２０１４年３月２７日〜４月４日、ＪＣＴＶＣ−Ｑ１００５＿ｖ１（以下、「ＨＥＶＣ範囲拡張」）に記載されている。ＨＥＶＣ範囲拡張は、http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1005-v4.zipにおいてダウンロードのために利用可能である。
【００４８】
[0056]本明細書では、ＨＥＶＣ仕様テキスト（たとえば、ＨＥＶＣ  ＷＤ１０）は、ＨＥＶＣバージョン１と呼ばれることがある。範囲拡張仕様は、ＨＥＶＣのバージョン２になり得る。しかしながら、かなりの程度まで、ＨＥＶＣバージョン１における提案された技法の多く（たとえば、動きベクトル予測）は、ＨＥＶＣ範囲拡張において技術的に同様である。したがって、本開示がＨＥＶＣバージョン１に基づく変更に言及するときはいつでも、同じ変更が範囲拡張仕様に適用され得る。同様に、本開示がＨＥＶＣバージョン１モジュールおよび／または仕様セクションを再利用するとき、（同じサブクローズをもつ）同じＨＥＶＣ範囲拡張モジュールおよび／または仕様セクションも再利用される。
【００４９】
[0057]イントラＢＣコーディングモードは、非隣接サンプルからであるが現在のピクチャ内の空間予測を可能にする。これは、以下でより詳細に説明される図２に示されている。イントラＢＣコーディングモードでは、現在のブロックは、現在のピクチャの（ループ内フィルタ処理の前に）すでに復号されたブロックから予測される。ループ内フィルタ処理という用語は、ループ内デブロッキングフィルタ、ならびにサンプル適応オフセット（ＳＡＯ）の両方を含み得る。他の例では、適応ループフィルタ（ＡＬＦ）を含む、追加のループ内フィルタが使用され得る。図５に関して、ループ内フィルタ処理は、加算器６２と復号されたピクチャバッファ６４との間で行われることになる。図６に関して、ループ内フィルタ処理は、加算器９０と復号されたピクチャバッファ９２との間で行われることになる。デコーダでは、予測された値が、補間なしに残差に加算される（たとえば、ブロックベクトル（ＢＶ）が、整数値としてシグナリングされる）。ブロックベクトル予測の後に、ブロックベクトル差分は、ＨＥＶＣにおける動きベクトル差分コーディング方法を使用して符号化され得る。
【００５０】
[0058]１つの例示的なイントラＢＣコーディングモードは、ＣＵレベルとＰＵレベルの両方において有効にされ得る。一例では、ＰＵレベルイントラＢＣコーディングの場合、２Ｎ×ＮおよびＮ×２Ｎ  ＰＵ区分が、すべてのＣＵサイズのためにサポートされる。さらに、ＣＵが最も小さいＣＵであるとき、Ｎ×Ｎ  ＰＵ区分がサポートされる。イントラＢＣコーディング技法は、最近、ＨＥＶＣ範囲拡張から削除された。しかしながら、関係する技法は、スクリーンコンテンツコーディング（ＳＣＣ）のための基礎になっている。ＨＥＶＣ  ＳＣＣ拡張の最近のドラフトが、Ｒａｊａｎ  Ｊｏｓｈｉら、「High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 2」、ＪＣＴＶＣ−Ｓ１００５、札幌、日本、２０１４年６月３０日〜７月９日（以下、「ＳＣＣ」）に記載されている。ＳＣＣのコピーが、２０１５年５月２１日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/19_Strasbourg/wg11/JCTVC-S1005-v1.zipにおいて入手可能である。
【００５１】
[0059]図２は、イントラＢＣモードに従って現在のピクチャ１０３内の現在のビデオブロック１０２を予測するための例示的な技法を示す概念図である。図２は、現在のピクチャ１０３内の予測ビデオブロック１０４を示す。ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、本開示の技法によるイントラＢＣモードに従って現在のビデオブロック１０２を予測するために、予測ビデオブロック１０４を使用し得る。
【００５２】
[0060]ビデオエンコーダ２０は、ビデオデータの前に再構成されたブロックのセットから現在のビデオブロック１０２を予測するための予測ビデオブロック１０４を決定する。すなわち、予測ビデオブロック１０４は、現在のビデオブロック１０２と同じフレームにおいてすでに符号化および再構成されたビデオデータのブロックの中から決定される。ビデオエンコーダ２０は、符号化されたビデオビットストリーム中にも含まれるビデオデータを逆量子化および逆変換することと、得られた残差ブロックをビデオデータの再構成ブロックを予測するために使用される予測ブロックと加算することとによって、ビデオデータのブロックを再構成する。
【００５３】
[0061]図２の例では、「対象とするエリア」、「探索エリア」、または「ラスタエリア」と呼ばれることもある現在のピクチャ１０３内の探索領域１０８は、前に再構成されたビデオブロックのセットを含む。ビデオエンコーダ２０は、探索領域１０８内の様々なビデオブロックに基づいて現在のビデオブロック１０２を予測し、コーディングすることの相対的な効率と精度との分析に基づいて、探索領域１０８中のビデオブロックの中から現在のビデオブロック１０２を予測するために使用される予測ビデオブロック１０４を決定し得る。
【００５４】
[0062]ビデオエンコーダ２０は、現在のビデオブロック１０２に対する予測ビデオブロック１０４のロケーションまたは変位を表す（オフセットベクトル、変位ベクトル、または動きベクトルとも呼ばれる）２次元ブロックベクトル１０６を決定する。いくつかの例では、ブロックベクトル１０６は、予測ビデオブロック１０４の左上ピクセルの位置および現在のビデオブロック１０２の左上ピクセルの位置から計算される。しかしながら、ブロックベクトル１０６は、予測ビデオブロック１０４および現在のビデオブロック１０２内の任意のあらかじめ定義されたまたはシグナリングされた位置に対して計算され得る。
【００５５】
[0063]ブロックベクトル１０６は、それぞれ現在のビデオブロック１０２に対する予測ビデオブロック１０４の水平変位および垂直変位を表す、水平変位成分１１２（すなわち、ｘ成分）および垂直変位成分１１０（すなわち、ｙ成分）を含む２次元ベクトルである。ビデオエンコーダ２０は、ブロックベクトル１０６を識別または定義する、たとえば、水平変位成分１１２および垂直変位成分１１０を定義する１つまたは複数のシンタックス要素を符号化されたビデオビットストリーム中に含め得る。ビデオデコーダ３０は、ブロックベクトル１０６の水平変位成分および垂直変位成分を決定するために１つまたは複数のシンタックス要素を復号し、現在のビデオブロック１０２のための予測ビデオブロック１０４を識別するために、決定されたブロックベクトルを使用し得る。
【００５６】
[0064]現在のビデオブロック１０２は、ＣＵ、またはＣＵのＰＵであり得る。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、イントラＢＣに従って予測されたＣＵをいくつかのＰＵに分割し得る。そのような例では、ビデオコーダは、ＣＵのＰＵの各々のためのそれぞれの（たとえば、異なる）ＢＶＤを決定し得る。たとえば、ビデオコーダは、２Ｎ×２Ｎ  ＣＵを２つの２Ｎ×Ｎ  ＰＵ、２つのＮ×２Ｎ  ＰＵ、または４つのＮ×Ｎ  ＰＵに分割し得る。他の例として、ビデオコーダは、２Ｎ×２Ｎ  ＣＵを（（Ｎ／２）×Ｎ＋（３Ｎ／２）×Ｎ）ＰＵ、（（３Ｎ／２）×Ｎ＋（Ｎ／２）×Ｎ）ＰＵ、（Ｎ×（Ｎ／２）＋Ｎ×（３Ｎ／２））ＰＵ、（Ｎ×（３Ｎ／２）＋Ｎ×（Ｎ／２））ＰＵ、４つの（Ｎ／２）×２Ｎ  ＰＵ、または４つの２Ｎ×（Ｎ／２）ＰＵに分割し得る。いくつかの例では、ビデオコーダは２Ｎ×２Ｎ  ＰＵを使用して２Ｎ×２Ｎ  ＣＵを予測し得る。
【００５７】
[0065]図２に示されているように、予測ビデオブロック１０４は、すでに復号された領域（すなわち、探索領域１０８）内のみにあり得、この領域外にはあり得ないことが観測され得る。ＳＣＣのためのいくつかの提案では、ブロックベクトル１０６の全体をコーディングするのではなく、ブロックベクトル差分（ＢＶＤ）が、ビットストリームにおいてコーディングされる。ＢＶＤは、ブロックベクトル−（minus）ブロックベクトル予測子（ＢＶＰ）である。ＢＶＰ予測方法に関係する様々な提案があり、そのような方法を研究するためにコア実験が立ち上げられた（ドキュメント、Ｓｏｌｅら「HEVC Screen Content Coding Core Experiment 1 (SCCE1): Intra Block Copying Extensions」ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１７回会議：バレンシア、スペイン、２０１４年３月２７日〜４月４日、ＪＣＴＶＣ−Ｑ１１２１が、いくつかの方法を詳述している）。
【００５８】
[0066]現在のブロックの予測子が、パーシングしている（parsing）間に知られた場合、有効および無効ＢＶＤが導出され得、そのような情報が、ＢＶＤコーディングを最適化するために使用され得る。この観測によって動機づけされ、ＢＶＤコーディングを改善するためのシステムおよび方法が開示される。イントラＢＣコーディングに関する様々な態様が本明細書で開示される。以下で説明される例の各々は、他の例と一緒に、または別々に適用され得る。
【００５９】
[0067]図３は、本開示の例によるＢＶＤコーディングの一例を示す概念図である。現在のブロック２０２について、予測ブロック２０４、２０６、２０８、および２１４が、現在のブロック２０２をコーディングするために使用され得、有効ＢＶＤを生成するために使用され得る潜在的有効予測ブロック（potential valid predictive blocks）である。ブロック２１０は、探索領域２１２内になく、したがって、予測ブロックとして使用されないことがある（すなわち、無効予測ブロック（an invalid predictive block）であるか、または任意のＢＶＰからＢＶＤを生成するために使用され得る。この場合も、ＢＶＤは、ブロックベクトル（すなわち、現在のブロックから予測ブロックへのベクトル）−（minus）ＢＶＰ（たとえば、図３中のデフォルト予測子Ｐ１〜Ｐ３）として定義される。ブロックベクトルと同様に、ＢＶＤは、ｘ成分（ＢＶＤｘ）とｙ成分（ＢＶＤｙ）の両方から構成され得る。
【００６０】
[0068]ＢＶＰ  Ｐ１、Ｐ２、およびＰ３は、シグナリングされるブロックベクトルのサイズを減少させるために使用されるデフォルトＢＶＰである。ビデオエンコーダ２０は、現在のブロック２０２に対してではなく、ＢＶＰに対してＢＶＤを計算し得る。ビデオエンコーダ２０は、所定のレートひずみ基準に基づいてＢＶＤを計算するために使用すべきＢＶＰ  Ｐ１、Ｐ２、またはＰ３のうちの１つを決定し得る。いくつかの例では、ビデオエンコード２０は、ビット単位で最も小さいＢＶＤを生成するＢＶＰを選択するように構成され得る。ビデオエンコーダ２０は、ＢＶＤを生成するために使用されるＢＶＰを示すシンタックス要素をシグナリングするように構成され得る。ビデオデコーダ３０は、現在のブロック２０２のためのブロックベクトルを取得するために、ＢＶＤを復号し、次いで、復号されたＢＶＤにＢＶＰの値を加算するように構成される。
【００６１】
[0069]図３の例では、ＢＶＰ  Ｐ１、Ｐ２、およびＰ３は、現在のブロック２０２のピクセルにおける幅（Ｗ）に対して定義される。図３の例では、現在のブロック２０２はＰＵであり、幅ＷはＰＵの幅である。ＢＶＰ  Ｐ１は、位置（−２Ｗ，０）にある。すなわち、ＢＶＰ  Ｐ１は、現在のブロック２０２の左上隅ピクセルの、現在のブロック２０２の幅の２倍左にある。しかしながら、ＢＶＰの位置は、現在のブロック２０２中の任意の点に対して定義され得る。ＢＶＰ  Ｐ２は、現在のブロック２０２の左上隅ピクセルの、現在のブロック２０２の幅の１倍左にある。ＢＶＰ  Ｐ３は、現在のブロック２０２の左上隅ピクセルの、現在のブロック２０２の幅の１倍右にある。
【００６２】
[0070]ＢＶＰ  Ｐ１、Ｐ２、およびＰ３は、潜在的ＢＶＰの例にすぎない。別のＢＶＰは、現在のブロック２０２から離れた位置（Ｗ，０）で定義され得る。いくつかのイントラＢＣ予測モードでは、２つのデフォルトＢＶＰが使用される（たとえば、（−２Ｗ，０）および（−Ｗ，０）または（−２Ｗ，０）および（２Ｗ，０）。本開示の他の例では、隣接ブロック内の位置（たとえば、隣接ブロックの左上隅）が、ＢＶＰとして使用され得る。図４は、現在のブロック２０２に対する左隣接ブロック２２２および上隣接ブロック２２０が、ＢＶＰとして使用され得る一例を示す。他の例では、現在のブロック２０２に対する他の位置における隣接ブロックが、ＢＶＰとして使用され得る。イントラＢＣコーディングのいくつかの例では、隣接ブロック自体もイントラＢＣモードを使用してコーディングされる場合、左隣接ブロック２２２および／または上隣接ブロック２２０がＢＶＰとして使用され得る。
【００６３】
[0071]図３に戻ると、ＢＶＰ  Ｐ１の場合、ＢＶＤｘ成分が（Ｗよりも大きく（すなわち、ＢＶＤｘがＢＶＰ  Ｐ１の右のＷ個のピクセルよりも大きく）、ここで、Ｗが現在のブロック２０２の幅であるとき、ＢＶＤを生成するために使用されるべき予測ブロックが、復号されない領域内に入らないために、ＢＶＤｙは正でなければならない。たとえば、予測ブロック２１４から計算されたＢＶＤは、ＢＶＰ  Ｐ１から計算された場合、Ｗよりも大きいＢＶＤｘ成分を有することになる。さらに、ＢＶＰ  Ｐ１からのＢＶＤｘ成分がＷよりも大きい例では、ＢＶＤｙ成分は、探索領域２１２中にあるために現在のブロック２０２の高さよりも大きくなければならない。これは、現在のブロック２０２のための任意の予測ブロックの全体が、探索領域２１２内になければならず、したがって、Ｗよりも大きい正のＢＶＤｘ成分の場合のＢＶＤｙ成分が、ピクセルにおいて少なくとも１つの高さだけ現在のブロック２０２よりも高くなければならないからである。ＢＶＰ  Ｐ２またはＰ３から計算されたＢＶＤｘ成分が０よりも大きいとき、同じ結果がＢＶＰ  Ｐ２およびＰ３に当てはまる。
【００６４】
[0072]これらの例に鑑みて、本開示は、ビデオエンコーダ２０が、イントラＢＣビデオコーディングプロセスのいくつかの条件下でおよび／または所与のいくつかの特性の下で、ＢＶＤの成分の符号または部分（たとえば、ＢＶＤ−（minus）オフセット）のうちの１つまたは複数をシグナリングしないように（たとえば、条件付きでシグナリングするように）それにより構成され得る技法を提案する。ビデオエンコーダ２０が、ＢＶＤの成分の符号または部分をシグナリングしないようにそれにより構成されることになるイントラＢＣビデオコーディングプロセスの同じ条件および／または特性を仮定すれば、ビデオデコーダ３０は、いくつかのあらかじめ定義されたルールに基づいて、ＢＶＤの成分の符号または部分の値を推論するように構成されることになる。符号またはＢＶＤ−（minus）オフセットなど、ＢＶＤベクトルの一部を推論する能力は、イントラＢＣ実装形態のジオメトリ特性により、固有である。すなわち、イントラＢＣコーディングでは、予測は、インター予測のための動きベクトル復号の場合にすでに十分に復号された時間ピクチャに反して、現在のピクチャ内の復号されたサンプルに対して実行される。
【００６５】
[0073]以下は、その各々が本開示の他の例と組み合わせて適用され得るか、または別々に使用され得る、本開示のいくつかの例の列挙である。以下の例では、ビデオエンコーダ２０の見地から、条件付きシグナリングが、１つまたは複数のビデオコーディング特性に基づいて、ＢＶＤ成分値（たとえば、ＢＶＤ成分の符号またはＢＶＤ−（minus）オフセット）を表す特定のシンタックス要素をシグナリングするべきか否かを決定することを備える。同様に、ビデオデコーダ３０の見地から、ＢＶＤ成分値（たとえば、ＢＶＤ成分の符号またはＢＶＤ−（minus）オフセット）を表す特定のシンタックス要素がシグナリングされないとき、ビデオデコーダ３０は１つまたは複数のビデオコーディング特性に基づいてシンタックス要素の値を推論するように構成され得る。例示的なビデオコーディング特性が、以下で詳述され、ＢＶＤのｘ成分の符号値、ＢＶＤのｙ成分の符号値、デフォルト予測子（たとえば、図３のＢＶＰ  Ｐ１、Ｐ２、およびＰ３）の使用、ＢＶＰの値、ＢＶＰの位置、現在符号化されているブロックの隣接ブロックの利用可能性、隣接ブロックのコーディングモード、および／またはイントラＢＣマージインデックスのうちの１つまたは複数を含み得る。
【００６６】
[0074]本開示の一例では、ビデオエンコーダ２０は、１つまたは複数のビデオコーディング特性に基づいてＢＶＤの成分の符号値を条件付きでシグナリングするように構成され得る。同様に、ビデオデコーダ３０は、１つまたは複数のビデオコーディング特性に基づいてＢＶＤの成分のための符号値を推論するように構成され得る。概して、ビデオコーディング特性が、１つの符号値のみがＢＶＤの特定の成分のために考えられるようなものである状況では、ビデオエンコーダ２０は、ＢＶＤ成分の符号値をシグナリングしないように構成され得、ビデオデコーダ３０は、ＢＶＤ成分の符号値を推論するように構成され得る。
【００６７】
[0075]本開示の一例では、ビデオエンコーダ２０は、ＢＶＤの他方の成分の値および／または符号に基づいてＢＶＤのある成分の符号値を条件付きでシグナリングするように構成され得る。すなわち、ビデオエンコーダ２０は、ＢＶＤｘの値および符号に基づいてＢＶＤｙの符号を条件付きでシグナリングするように構成され得るか、またはその逆も同様である。特に、ビデオエンコーダ２０は、ＢＶＤの他の成分が、ＢＶＤの第１の成分が常に特定の値を有しなければならないようなものであるとき、ＢＶＤの第１の成分の符号値をシグナリングしないように構成され得る。
【００６８】
[0076]たとえば、図３に関して、ＢＶＰがＰ２であり、ＢＶＤｘが正である（すなわち、予測ブロックがＰ２の右にある）場合、ＢＶＤｙも、予測ブロックが探索領域２１２中になければならないので、必ず正である。したがって、この例では、ビデオエンコーダ２０は、ＢＶＤｙの符号をシグナリングしないように構成され得る。同様に、この状況では、ビデオデコーダ３０は、ＢＶＤｙの符号値が正であると推論するように構成され得る。
【００６９】
[0077]本開示の別の例では、ビデオエンコーダ２０は、デフォルトＢＶＰがイントラＢＣコーディングのために使用されるかどうかに基づいて、ＢＶＤの成分の符号値を条件付きでシグナリングするように構成され得る。たとえば、デフォルトＢＶＰ  Ｐ１、Ｐ２、およびＰ３は、図３に示されているように定義され得る。現在のブロック２０２のいくつかのロケーションのために、１つのデフォルトＢＶＰが、ピクチャの最右ピクセルとしてｘ値を有するものとして定義され得る。したがって、そのようなデフォルト値ＢＶＰが使用された場合、ＢＶＤｘは必ず常に負であり、ビデオエンコーダ２０は、ＢＶＤｘの符号をシグナリングしないように構成され得る。同様に、デフォルトＢＶＰは、ピクチャの最左ピクセルであるものとして定義され得る。したがって、ピクチャの最左ピクセルに位置するＢＶＰが使用された場合、ＢＶＤｘは必ず常に正であることになり、ビデオエンコーダ２０は、ＢＶＤｘの符号をシグナリングしないように構成され得る。
【００７０】
[0078]本開示の別の例では、ビデオエンコーダ２０は、隣接ブロックの利用可能性および／または隣接ブロック（たとえば、図４の左隣接ブロック２２２および／または上隣接ブロック２２０）の予測モードに基づいて、ＢＶＤの成分の符号値を条件付きでシグナリングするように構成され得る。いくつかの例では、隣接ブロックはＢＶＰとして使用され得る。そのような場合、ビデオエンコーダ２０は、ＢＶＰとして使用される隣接ブロックがビデオデコーダ３０において知られていないことがあるので、ＢＶＤ成分の符号値をシグナリングし得る（すなわち、ビデオデコーダ３０によって推論されない）。隣接ブロックがＢＶＰとして使用されるために利用可能でない場合、符号値は、上記で説明された特性のいずれかを含む他のビデオコーディング特性に従って隠され得る。
【００７１】
[0079]本開示の別の例では、ビデオエンコーダ２０は、ＢＶＰ値、ＢＶＰの位置、またはイントラＢＣマージインデックスに基づいてＢＶＤの成分の符号値を条件付きでシグナリングするように構成され得る。概して、ＢＶＤの成分の符号値が単一の値に制限される（すなわち、常に負であるかまはた常に正である）ことを引き起こすことになる任意のビデオコーディング特性に応答して、ビデオエンコーダ２０は、符号値をシグナリングしないように構成され得る。同様に、同じビデオコーディング特性に基づいて、ビデオデコーダ３０は、ＢＶＤの成分の符号値を推論するように構成され得る。このようにして、符号値の不要なシグナリングが回避され、したがって、ビットレート効率を増加させる。
【００７２】
[0080]上記で説明された同じ推理（reasoning）に基づいて、ＢＶＤの成分の全体の絶対値（entire absolute value）をシグナリングするのではなく、ビデオエンコーダ２０は、ＢＶＤの成分が必ず現在のブロックの高さまたは幅よりも大きい状況では、ＢＶＤ−（minus）所定のオフセットを条件付きでシグナリングするように構成され得る。上記で説明されたように、予測ブロックが探索領域２１２内にあるという要件を仮定すれば、いくつかの状況では、ＢＶＤの成分は、現在のブロック２０２の高さの幅よりも必ず大きくなる。たとえば、再び図３を参照すると、ＢＶＰ  Ｐ１に対するＢＶＤｘ成分がＷよりも大きい場合、ＢＶＤｙ成分は、探索領域２１２中にあるために現在のブロック２０２の高さよりも大きくなければならない。この状況では、ＢＶＤｙの全体をシグナリングするよりむしろ、ビデオエンコーダ２０は、ＢＶＤｙ−（minus）オフセットをシグナリングするように構成され得る。オフセットは、現在のブロック２０２の高さ、または現在のブロック２０２の高さの関数（たとえば、高さ＋何らかの定数）であり得る。ビデオデコーダ３０は、ＢＶＤｙ成分の実際の値（actual value）を復元するために、符号化されたビットストリームにおいて受信されたＢＶＤｙ成分の値にオフセットを加算するように構成され得る。
【００７３】
[0081]符号隠蔽のための上記の例と同様に、予測ブロックが探索領域２１２内にあるためにＢＶＤの特定の成分がオフセットよりも大きいことを示すビデオコーディング特性の任意の組合せが、ＢＶＤの成分がＢＶＤ−（minus）オフセットとして条件付きでいつシグナリングされるかを決定するために使用され得る。この場合も、例示的なビデオコーディング特性は、ＢＶＤのｘ成分の符号値、ＢＶＤのｙ成分の符号値、デフォルト予測子（たとえば、図３のＢＶＰ  Ｐ１、Ｐ２、およびＰ３）の使用、ＢＶＰの値、ＢＶＰの位置、現在符号化されているブロックの隣接ブロックの利用可能性、隣接ブロックのコーディングモード、および／またはイントラＢＣマージインデックスのうちの１つまたは複数を含み得る。
【００７４】
[0082]要約すれば、本開示の技法によれば、ビデオデコーダ３０は、符号化されたビデオビットストリームにおいて、イントラＢＣモードを使用して符号化されたビデオデータの符号化されたブロックを受信するように構成され得る。ビデオデコーダ３０は、ＢＶＤの第１の成分の第１の絶対値を示す１つまたは複数のシンタックス要素を受信することと、ＢＶＤの第２の成分の第２の絶対値を示す１つまたは複数のシンタックス要素を受信することとをも行うように構成され得る。ビデオデコーダ３０は、ビデオデータの符号化されたブロックに関連するＢＶＤの第１の成分の第１の絶対値を復号することと、ビデオデータの符号化ブロックに関連する第２の成分の第２の絶対値を復号することとを行うように構成され得る。
【００７５】
[0083]ビデオデコーダ３０は、ＢＶＤの第１の成分のための第１の符号値を示すシンタックス要素を受信することと、ＢＶＤの第１の成分のための第１の符号値を復号することとを行うようにさらに構成され得る。本開示の技法によれば、ビデオデコーダ３０は、ＢＶＤの第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、第２の符号値を推論するように構成され得る。すなわち、ＢＶＤの第２の成分の符号値のためのシンタックス値を受信するのではなく（すなわち、ビデオエンコーダ２０は、第２の成分の符号値を示すシンタックス要素を符号化しない）、ビデオデコーダ３０は、第２の成分の符号値を推論する。
【００７６】
[0084]ビデオデコーダ３０は、ＢＶＤの第１の成分の復号された第１の絶対値と、ＢＶＤの第２の成分の復号された第２の絶対値と、ＢＶＤの第１の成分のための復号された第１の符号値と、ＢＶＤの第２の成分のための推論された第２の符号値とに基づいて、ＢＶＤを決定するようにさらに構成され得る。ビデオデコーダ３０は、次いで、ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定し、ブロックベクトルを使用してビデオデータのブロックを復号し得る。
【００７７】
[0085]上記の例では、１つまたは複数のビデオコーディング特性は、ＢＶＤの第１の成分の第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、ブロックベクトル予測子の位置、符号化されたブロックに対する隣接ブロックの利用可能性、隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含み得る。
【００７８】
[0086]一例では、ＢＶＤの第１の成分はＢＶＤのｘ成分であり、ＢＶＤの第２の成分はＢＶＤのｙ成分である。別の例では、ＢＶＤの第１の成分はＢＶＤのｙ成分であり、ＢＶＤの第２の成分はＢＶＤのｘ成分である。
【００７９】
[0087]本開示の別の例では、ＢＶＤの第１の成分の第１の絶対値を復号するために、ビデオデコーダ３０は、ＢＶＤの第１の成分の第１の絶対値に関連する第１のシンタックス要素を受信することと、ＢＶＤの第１の成分の第１の絶対値がオフセットよりも大きいことを示す１つまたは複数のビデオコーディング特性に基づいて、第１のシンタックス要素の値が、第１の成分の第１の絶対値−（minus）オフセットを表すと推論することとを行うように構成される。ビデオデコーダ３０は、オフセットに第１のシンタックス要素の値を加算することによって、第１の成分の第１の絶対値を決定し得る。一例では、オフセットは、ビデオデータの符号化されたブロックの幅、またはビデオデータの符号化されたブロックの高さのうちの１つである。別の例では、オフセットは、ビデオデータの符号化されたブロックの幅の関数、またはビデオデータの符号化されたブロックの高さの関数である。
【００８０】
[0088]以下は、本開示の技法の提案する例示的な実装形態である。以下の例はＨＥＶＣに基づき、ならびに提案するブロックベクトル予測方法およびデフォルトＢＶＰは（ＪＣＴＶＣ−Ｑ１１２１において提案された隣接ブロックモードなどの）提案された隣接ブロックモードに基づく。
【００８１】
[0089]
【表１】
2017519447.tif 000003
【００８２】
[0090]以下のセマンティクスは、上記のシンタックステーブルに記載されているシンタックス要素のうちのいくつかのための例示的な定義を説明する。
【００８３】
[0091]ｉｎｔｒａ＿ｂｃ＿ａｂｓ＿ｂｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ［ｃｏｍｐＩｄｘ］の値は、ブロックベクトル成分差分の絶対値が０よりも大きいかどうかを指定し得る。ｃｏｍｐＩｄｘの値は、シンタックス要素がＢＶＤのｘ成分に関するのか（ｃｏｍｐＩｄｘ＝０）、ＢＶＤのｙ成分に関するのか（ｃｏｍｐＩｄｘ＝１）を示す。
【００８４】
[0092]ｉｎｔｒａ＿ｂｃ＿ａｂｓ＿ｂｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ［ｃｏｍｐＩｄｘ］の値は、ブロックベクトル成分差分の絶対値が１よりも大きいかどうかを指定し得る。ｉｎｔｒａ＿ｂｃ＿ａｂｓ＿ｂｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ［ｃｏｍｐＩｄｘ］が存在しないとき、それは０に等しいと推論され得る。
【００８５】
[0093]ｉｎｔｒａ＿ｂｃ＿ａｂｓ＿ｂｖｄ＿ｍｉｎｕｓ２［ｃｏｍｐＩｄｘ］＋２は、ブロックベクトル成分差分の絶対値を指定し得る。
【００８６】
[0094]ｉｎｔｒａ＿ｂｃ＿ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］は、以下のようにブロックベクトル成分差分の符号を指定し得る。ｉｎｔｒａ＿ｂｃ＿ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］が０に等しい場合、対応するブロックベクトル成分差分は正の値を有し得る。他の場合（ｉｎｔｒａ＿ｂｃ＿ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］が１に等しい）、対応するブロックベクトル成分差分は負の値を有し得る。
【００８７】
[0095]ＨｉｄｅＳｉｇｎの値は、シンタックス要素ｉｎｔｒａ＿ｂｃ＿ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇがシグナリングされるか否かを示す。ＨｉｄｅＳｉｇｎが真でない場合、ｉｎｔｒａ＿ｂｃ＿ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇはシグナリングされる。ＨｉｄｅＳｉｇｎが真である場合、ｉｎｔｒａ＿ｂｃ＿ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇはシグナリングされず、代わりに、ビデオデコーダ３０が符号値を推論する。上記の例では、ｙ成分の符号値のみが推論され得る。しかしながら、他の類似する例では、ｘ成分の符号値が推論され得る。
【００８８】
[0096]この例では、ＨｉｄｅＳｉｇｎの値は以下のように導出され得る。
【数１】
2017519447.tif 000004
【００８９】
[0097]上記の例では、ＨｉｄｅＳｉｇｎはｕｉＨｉｄｅＤａｔａの値に等しくなり得る。以下で示されるように、ｕｉＨｉｄｅＤａｔａの値はまた、ＢＶＤの成分の絶対値−（minus）オフセットを条件付きでシグナリングするために使用され得る。
【００９０】
[0098]１に等しいシンタックス要素ＩｓＬｅｆｔＣＵＩＢＣの値は、現在のブロックの左のＣＵがイントラＢＣモードとしてコーディングされることを示し、０に等しいＩｓＬｅｆｔＣＵＩＢＣの値は、現在のブロックの左のＣＵがイントラＢＣモードとしてコーディングされないことを示す。
【００９１】
[0099]１に等しいシンタックス要素ＩｓＡｂｏｖｅＩＢＣの値は、現在のブロックの上のＣＵがイントラＢＣモードとしてコーディングされることを示し、０に等しいＩｓＡｂｏｖｅＩＢＣの値は、現在のブロックの上のＣＵがイントラＢＣモードとしてコーディングされないことを示す。
【００９２】
[0100]シンタックス要素ｉＭＶＰＩｄｘの値は、イントラＢＣマージ候補のインデックスである。
【００９３】
[0101]シンタックス要素ｕｉＢＶＰｒｅｄＴｙｐｅの値＝２は、２つのデフォルトＢＶＰが現在のコーディングブロックのために使用されていることを示す。たとえば、デフォルトＢＶＰは、（−２Ｗ，０）および（２Ｗ，０）または（−２Ｗ，０）および（−Ｗ，０）であり得る。シンタックス要素ｕｉＢＶＰｒｅｄＴｙｐｅの値＝１は、１つのデフォルトＢＶＰが現在のブロックをコーディングするために使用されていることを示す。たとえば、例示的なデフォルトＢＶＰは（−２Ｗ，０）であり得る。シンタックス要素ｕｉＢＶＰｒｅｄＴｙｐｅの値＝０は、デフォルトベクトルが現在のコーディングブロックのために使用されていないことを示す。上記の例からわかるように、ｉｎｔｒａ＿ｂｃ＿ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇは、隣接ブロックのいずれもがイントラＢＣモードを使用してコーディングされない（すなわち、ｕｉＢＶＰｒｅｄＴｙｐｅが１または２である）場合にのみ推論される（たとえば、隠される）。これらの例では、使用されるデフォルトＢＶＰはビデオデコーダ３０によって知られ、したがって、ｉｎｔｒａ＿ｂｃ＿ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇの値は、上記に示した例示的なビデオコーディング特性の存在に鑑みて推論され得る。
【００９４】
[0102]上記の例では、ｕｉＢＶＰｒｅｄＴｙｐｅの値＝０であるとき、両方の隣接ブロックが存在し、したがって、ビデオエンコーダ２０は、両方の成分のための符号値をシグナリングすることになる（すなわち、符号隠蔽なし）。ｕｉＢＶＰｒｅｄＴｙｐｅの値＝１であるとき、隣接ブロックのうちの少なくともが存在しない。この隣接ブロックのための予測子が、デフォルトベクトルに設定される。ｉＭＶＰＩｄｘがこのブロック／デフォルトベクトルを指す場合（すなわちｉＭＶＰＩｄｘ＝＝１）、ｕｉＨｉｄｅＤａｔａは設定される（すなわち、ビデオエンコーダ２０は、符号値をシグナリングしないように構成される）。ｕｉＢＶＰｒｅｄＴｙｐｅの値＝２であるとき、隣接ブロックの両方が存在しない。これらの隣接ブロックのための予測子が、デフォルトベクトルに設定される。ｉＭＶＰＩｄｘがこのブロックを指す場合（すなわちｉＭＶＰＩｄｘ＝＝０または１）、ｕｉＨｉｄｅＤａｔａは設定される（すなわち、ビデオエンコーダ２０は、符号値をシグナリングしないように構成される）。
【００９５】
[0103]以下は、ＢＶＤ−（minus）オフセットの垂直成分（すなわち、ｙ成分）の絶対値の条件付きシグナリングおよび推論の例示的な実装形態である。
【００９６】
[0104]垂直成分ＢＶＤｙについて、ｃｏｍｐＩｄｘ＝１の場合、ＢＶＤ  ｌＢｖｄ［ｃｏｍｐＩｄｘ］は、以下のように導出される。
【数２】
2017519447.tif 000005
ここで、ｕｉＨｅｉｇｈｔは、現在コーディングされているブロックの高さである。
【００９７】
[0105]以下の例に見られるように、ＢＶＤのｙ成分の絶対値を復元するために、ビデオデコーダ３０は、受信されたシンタックス要素によって示されるｙ成分の絶対値に現在のブロックの高さ（ｕｉＨｅｉｇｈｔ）を加算する。同様に、ビデオエンコーダ２０は、ｉｎｔｒａ＿ｂｃ＿ａｂｓ＿ｂｖｄ＿ｍｉｎｕｓ２の値からｕｉＨｅｉｇｈｔを減算するように構成され得る。
【００９８】
[0106]以下は、ＢＶＤの成分の部分の符号値を条件付きでシグナリングおよび／または推論するためのいくつかの追加の例示的な実装形態である。第１８回ＪＣＴ−ＶＣ会議では、ドキュメント、Ｍｉｙａｚａｗａら、「Non-SCCE1: Adaptive Switching between differential and direct coding for intra block copy vectors」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ），第１８回会議：札幌、日本、２０１４年６月３０日〜７月９日（ＪＣＴＶＣ−Ｒ００７４）が、イントラブロックベクトルコーディングのための予測子の１つとして（０，０）を使用することを提案した。ロケーション（０，０）は現在コーディングされているブロックの左上隅に相当し、したがって、（０，０）の使用はブロックベクトルの予測を示さない。ＢＶが予測されるか否か（すなわち、予測子が０であるか否か）を指定するためのフラグが追加されることが提案された。予測されない場合、ＢＶは予測なしにコーディングされる。フラグは、ＢＶ成分が非０であるときのみにシグナリングされることが提案された。
【００９９】
[0107]さらに、ドキュメント、Ｋａｒｃｚｅｗｉｃｚら、「Non-SCCE1: Block vector coding for Intra block copy」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１８回会議：札幌、日本、２０１４年６月３０日〜７月９日（ＪＣＴＶＣ−Ｒ０１８１）は、イントラブロックベクトルコーディングのための２値化方式を提案した。本方法では、最初に、コンテキスコード化フラグが、ＢＶＤが０であることを示すためにコーディングされる。ＢＶＤが０でないとき、別のフラグが、ＢＶＤの絶対レベルがＮよりも大きいかどうかを示すためにコーディングされる。ＢＶＤの絶対値がＮよりも大きい場合、残りの絶対レベルが、次数ｋをもつバイパス指数ゴロムコードを使用してコーディングされる。ＢＶＤの符号を示すために、１つのフラグがコーディングされる。
【０１００】
[0108]下記で、本開示は、イントラブロックベクトルコーディングのための予測子が（０，０）であることが起こり、ＪＣＴＶＣ−Ｒ０１８１の２値化方式が使用されるときのイントラＢＣ  ＢＶＤコーディングのための例示的な実装形態を説明する。以下の技法は、任意の他の２値化方式またはＢＶＰのために一般化され得ることに留意されたい。
【０１０１】
[0109]以下で説明されるように、以下の例の一態様は、イントラＢＣコーディングの固有のジオメトリ特性に基づいて、符号およびオフセットなど、ＢＶＤの部分／成分を推論することである。たとえば、予測は、インター動きベクトル復号の場合にすでに十分に復号された時間ピクチャに反して、現在のピクチャ内の空間復号サンプルから起こる。
【０１０２】
[0110]
【表２】
2017519447.tif 000006
【０１０３】
[0111]シンタックス要素ｂｖ＿ｐｒｅｄ＿ｆｌａｇの値は、ブロックベクトルが予測されるか否かを指定する。ｂｖ＿ｐｒｅｄ＿ｆｌａｇが１に等しいとき、ブロックベクトルは予測されず、それ以外の場合、それは予測される。ｂｃ＿ｂｖ＿ｐｒｅｄ＿ｆｌａｇが存在しないとき、それは０に等しいと推論される。
【０１０４】
[0112]シンタックス要素ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］の値は、以下のようにブロックベクトル成分差分の符号を指定する。ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］が０に等しい場合、対応するブロックベクトル成分差分は正の値を有する。他の場合（ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］が１に等しい）、対応するブロックベクトル成分差分は負の値を有する。ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］が存在しないとき、それは１に等しいと推論される。
【０１０５】
[0113]ｃｏｍｐＩｄｘ＝０．．１の場合のブロックベクトル差分ｌＢｖｄ［ｃｏｍｐＩｄｘ］が以下のように導出される。
【数３】
2017519447.tif 000007
ここで、ｕｉＷｉｄｔｈおよびｕｉＨｅｉｇｈｔは、現在のＰＵの幅および高さである。
【０１０６】
[0114]上記の例からわかるように、ビデオデコーダ３０は、ＢＶＤが予測され、ｘ成分の絶対値が０よりも大きい場合（すなわち、！（ｂｖ＿ｐｒｅｄ＿ｆｌａｇ＆＆ａｂｓ＿ｂｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ［０］＞＝０））、ＢＶＤのｙ成分の第２の符号値を推論するように構成され得る。別の例では、ビデオデコーダ３０は、ＢＶＤが予測され、ｙ成分の絶対値が０よりも大きい場合（すなわち、！（ｂｖ＿ｐｒｅｄ＿ｆｌａｇ＆＆ａｂｓ＿ｂｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ［１］＝＝０））、ＢＶＤのｘ成分の第２の符号値を推論するように構成され得る。
【０１０７】
[0115]以下は、イントラＢＣ  ＢＶＤコーディングのための別の例示的な提案する実装形態である。以下の例示的な実装形態は、Ｃ．Ｐａｎｇら、「Description of Core Experiment 1 (CE1): Vector entropy coding」テスト１．１およびテスト４．１、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１８回会議、札幌、日本、２０１４年６月３０日〜７月９日（ＪＣＴＶＣ−Ｒ１１０１テスト４．１およびＪＣＴＶＣ−Ｒ１１０１テスト１．１）と、Ｘ．Ｇｕｏら、「AHG8: Major-color-based screen content coding」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１５回会議：ジュネーブ、スイス、２０１３年１０月２３日〜１１月１日（ＪＣＴＶＣ−Ｒ０１８１）とからの提案に基づく。
【０１０８】
[0116]（上記の実装形態でも詳述した）ＪＣＴＶＣ−Ｒ１１０１テスト４．１に記載されている方法に従う１つの方法は、ブロックベクトルが予測されないとき、短縮単項コード（a truncated unary code）を一緒に使用して両方のブロックベクトル成分（ＢＶＤｘおよびＢＶＤｙ）の符号をコーディングすることを提案する。
【０１０９】
[0117]たとえば、以下の表は、ブロックベクトルが予測されないとき、ＢＶＤｘおよびＢＶＤｙの符号をコーディングするための例示的な単項コードを示す。
【表３】
2017519447.tif 000008
【０１１０】
[0118]ブロックベクトルが予測されるとき、ＪＣＴＶＣ−Ｒ１１０１テスト４．１に従う１つの方法は、別々に両方のブロックベクトル成分（ＢＶＤｘおよびＢＶＤｙ）の符号をコーディングすることを提案する。すなわち、各ＢＶＤ成分について、ＢＶＤ成分の符号が負の場合、１の値がコーディングされ、そうではなく、ＢＶＤ成分の符号が正の場合、０の値がコーディングされる。
【表４】
2017519447.tif 000009
【０１１１】
[0119]上記の技法の欠点は以下を含み得る。
ａ）  ＢＶＤが予測されるか否かに基づくブロックレベルにおける符号コーディングのための異なる２値化方式の使用。これは、さらなる計算の負担および複雑さを増す。
ｂ）  符号に関係するシンタックス要素が存在しないときにＢＶＤ成分の符号の値を推論することも、ＢＶＤが予測されるか否かに基づく。これも実装複雑さを増す。
【０１１２】
[0120]これらの欠点に鑑みて、本開示は以下の実装形態を提案する。以下の技法は、概して、上記で説明した本開示の技法に基づき、本開示で説明される任意の他の技法とともに使用され得る。
【０１１３】
[0121]本開示の１つの例示的な実装形態は、ＢＶＤが予測されるか否かにかかわらず、各ＢＶＤ成分について別々にＢＶＤ成分の符号をコーディングすることを伴う。別の例では、ＢＶＤ成分の符号は、成分のための符号シンタックス要素がビットストリーム中に存在しないとき、負であると推論されない。下記の表は、本開示のこの例示的な実装形態のための例示的なシンタックスを示す。
【０１１４】
[0122]
【表５】
2017519447.tif 000010
【０１１５】
[0123]シンタックス要素ｂｖ＿ｐｒｅｄ＿ｆｌａｇの値は、ブロックベクトルが予測されるか否かを指定する。ｂｖ＿ｐｒｅｄ＿ｆｌａｇが０に等しいとき、ブロックベクトルは予測されず、そうではなくｂｖ＿ｐｒｅｄ＿ｆｌａｇが１であるとき、ブロックベクトルは予測される。ｂｖ＿ｐｒｅｄ＿ｆｌａｇが存在しないとき、それは１に等しいと推論される。
【０１１６】
[0124]シンタックス要素ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］の値は、以下のようにブロックベクトル成分差分の符号を指定する。
−  ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］が０に等しい場合、対応するブロックベクトル成分差分は正の値を有する。
−  他の場合（ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］が１に等しい）、対応するブロックベクトル成分差分は負の値を有する。
−  ｂｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｃｏｍｐＩｄｘ］が存在しないとき、それは１に等しいと推論される。
【０１１７】
[0125]ｃｏｍｐＩｄｘ＝０．．１の場合のブロックベクトル差分ｌＢｖｄＴ［ｃｏｍｐＩｄｘ］が以下のように導出される。
【数４】
2017519447.tif 000011
【０１１８】
[0126]ｃｏｍｐＩｄｘ＝０．．１の場合のブロックベクトル差分ｌＢｖｄ［ｃｏｍｐＩｄｘ］が以下のように導出される。
【数５】
2017519447.tif 000012
ここで、ｕｉＷｉｄｔｈおよびｕｉＨｅｉｇｈｔは、現在のＰＵの幅および高さである。
【０１１９】
[0127]上記の例によれば、ビデオデコーダ３０は、第２の成分のための第２の符号値（たとえば、ｙ成分の符号値）を示すシンタックス要素が符号化されたビデオビットストリーム中に存在しない場合、第２の符号値を推論するように構成され得る。
【０１２０】
[0128]図５は、本開示で説明されるイントラＢＣ  ＢＶＤコーディング技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。
【０１２１】
[0129]図５の例では、ビデオエンコーダ２０は、ビデオデータメモリ４０と、予測処理ユニット４１と、復号されたピクチャバッファ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、区分ユニット３５と、動き推定ユニット４２と、動き補償ユニット４４と、イントラＢＣユニット４８と、イントラ予測処理ユニット４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。ループ内フィルタ（図示せず）が、加算器６２と復号されたピクチャバッファ６４との間に配置され得る。
【０１２２】
[0130]様々な例では、ビデオエンコーダ２０の固定またはプログラマブルハードウェアユニットは、本開示の技法を実行する役割を担い得る。また、いくつかの例では、本開示の技法は、図５に示されているビデオエンコーダ２０の図示された固定またはプログラマブルハードウェアユニットのうちの１つまたは複数の間で分割され得るが、他のデバイスも本開示の技法を実行し得る。たとえば、図５の例に従って、ビデオエンコーダ２０のイントラＢＣユニット４８は、単独で、または、動き推定ユニット４２、動き補償ユニット４４、イントラ予測処理ユニット４６、およびエントロピー符号化ユニット５６など、ビデオエンコーダ２０の他のユニットと組み合わせて、本開示の技法を実行し得る。いくつかの例では、ビデオエンコーダ２０はイントラＢＣユニット４８を含まないことがあり、イントラＢＣユニット４８の機能は、動き推定ユニット４２および／または動き補償ユニット４４など、予測処理ユニット４１の他の構成要素によって実行され得る。
【０１２３】
[0131]ビデオデータメモリ４０は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ４０に記憶されたビデオデータは、たとえば、ビデオソース１８から取得され得る。復号されたピクチャバッファ（ＤＰＢ）６４は、（たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで）ビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶するバッファである。ビデオデータメモリ４０およびＤＰＢ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ４０およびＤＰＢ６４は、同じメモリデバイスまたは別々のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ４０は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１２４】
[0132]図５に示されているように、ビデオエンコーダ２０はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。この区分は、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（たとえばコーディングレートおよびひずみのレベル）に基づいて現在のビデオブロックについて、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、イントラＢＣモードでＢＶＤを符号化するための上記で説明された本開示の技法を実装するように構成され得る。予測処理ユニット４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化されたブロックを再構成するために加算器６２に与え得る。
【０１２５】
[0133]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在のビデオブロックのインター予測コーディングを実行する。
【０１２６】
[0134]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライスまたはＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。イントラＢＣユニット４８は、インター予測のための動き推定ユニット４２による動きベクトルの決定と同様の様式で、イントラＢＣコーディングのためのベクトル、たとえば、ブロックベクトルおよびＢＶＤを決定し得るか、またはブロックベクトルを決定するために動き推定ユニット４２を利用し得る。
【０１２７】
[0135]予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致する（closely match）ことがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、復号されたピクチャバッファ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【０１２８】
[0136]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々が、復号されたピクチャバッファ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０１２９】
[0137]いくつかの例では、イントラＢＣユニット４８は、動き推定ユニット４２および動き補償ユニット４４に関して上記で説明された様式と同様の様式で、ベクトルを生成し、予測ブロックをフェッチし得るが、予測ブロックは、現在のブロックと同じピクチャまたはフレーム中にあり、ベクトルは、動きベクトルの対語として（as opposed to motion vectors）ブロックベクトルと呼ばれる。他の例では、イントラＢＣユニット４８は、本明細書で説明される技法に従ってイントラＢＣ予測のためのそのような機能を実行するために、全体的にまたは部分的に、動き推定ユニット４２および動き補償ユニット４４を使用し得る。いずれの場合も、イントラＢＣでは、予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of squared difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックであり得、ブロックの識別は、サブ整数ピクセル位置のための値の計算を含み得る。
【０１３０】
[0138]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在のビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０１３１】
[0139]予測ビデオブロックが、イントラＢＣ予測による同じピクチャからのものであるのか、インター予測による異なるピクチャからのものであるのかにかかわらず、ビデオエンコーダ２０は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって、残差ビデオブロックを形成し、ピクセル差分値を形成し得る。ピクセル差分値は、ブロックの残差データを形成し、ルーマ成分差分とクロマ成分差分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。イントラＢＣユニット４８および／または動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。シンタックス要素は、たとえば、予測ブロックを識別するために使用されるベクトルを定義するシンタックス要素、予測モードを示す任意のフラグ、または本開示の技法に関して説明される任意の他のシンタックスを含み得る。
【０１３２】
[0140]イントラ予測処理ユニット４６は、上記で説明されたように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測、またはイントラＢＣユニット４８によって実行されるイントラＢＣ予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在のブロックを符号化するために使用すべき、イントラＢＣモードを含む、イントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測処理ユニット４６（またはいくつかの例では、モード選択ユニット）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【０１３３】
[0141]たとえば、イントラ予測処理ユニット４６は、様々なテストされるイントラ予測モードのためにレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみおよびレートから比率を計算し得る。
【０１３４】
[0142]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確（most probable）イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信されるビットストリーム中に含め得る。
【０１３５】
[0143]予測処理ユニット４１が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０１３６】
[0144]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【０１３７】
[0145]量子化の後に、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化されたビットストリームは、ビデオデコーダ３０に送信されるか、あるいはビデオデコーダ３０が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０１３８】
[0146]逆量子化ユニット５８および逆変換処理ユニット６０は、他のビデオブロックの予測のための参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４および／またはイントラＢＣユニット４８は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４および／またはイントラＢＣユニット４８はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。
【０１３９】
[0147]加算器６２は、復号されたピクチャバッファ６４に記憶するための参照ブロックを生成するために、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償された予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、イントラＢＣユニット４８と、動き推定ユニット４２と、動き補償ユニット４４とによって参照ブロックとして使用され得る。
【０１４０】
[0148]図６は、本開示で説明されるイントラＢＣモードでＢＶＤをコーディングするための技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図６の例では、ビデオデコーダ３０は、ビデオデータメモリ７９と、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、復号されたピクチャバッファ９２とを含む。予測処理ユニット８１は、イントラＢＣユニット８５と、動き補償ユニット８２と、イントラ予測処理ユニット８４とを含む。ビデオデコーダ３０は、いくつかの例では、図５からのビデオエンコーダ２０に関して説明された符号化パスとは概して逆の復号パスを実行し得る。
【０１４１】
[0149]様々な例では、ビデオデコーダ３０のユニットは、本開示の技法を実行する役割を担い得る。また、いくつかの例では、本開示の技法は、ビデオデコーダ３０のユニットのうちの１つまたは複数の間で分割され得る。たとえば、イントラＢＣユニット８５は、単独で、または、動き補償ユニット８２、イントラ予測処理ユニット８４、およびエントロピー復号ユニット８０など、ビデオデコーダ３０の他のユニットと組み合わせて、本開示の技法を実行し得る。いくつかの例では、ビデオデコーダ３０は、イントラＢＣユニット８５を含まないことがあり、イントラＢＣユニット８５の機能は、動き補償ユニット８２など、予測処理ユニット８１の他の構成要素によって実行され得る。
【０１４２】
[0150]ビデオデータメモリ７９は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化されたビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ７９に記憶されたビデオデータは、たとえば、ストレージデバイス３２から、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって得られ得る。ビデオデータメモリ７９は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成し得る。復号されたピクチャバッファ９２は、（たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで）ビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する復号されたピクチャバッファ（ＤＰＢ）の一例である。ビデオデータメモリ７９およびＤＰＢ９２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ７９およびＤＰＢ９２は、同じメモリデバイスまたは別々のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ７９は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１４３】
[0151]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、予測処理ユニット８１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１４４】
[0152]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。予測処理ユニット８１は、イントラＢＣコーディングモードでＢＶＤをコーディングするための本開示の技法を実装するように構成され得る。ビデオフレームがインターコード化（すなわち、ＢまたはＰ）スライスとしてコーディングされたとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、復号されたピクチャバッファ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。
【０１４５】
[0153]他の例では、ビデオブロックが、本明細書で説明されるイントラＢＣモードに従ってコーディングされたとき、予測処理ユニット８１のイントラＢＣユニット８５は、エントロピー復号ユニット８０から受信されたブロックベクトルおよび他のシンタックス要素に基づいて、現在のビデオブロックのための予測ブロックを生成する。予測ブロックは、ビデオエンコーダ２０によって定義され、ＤＰＢ９２から取り出される現在のビデオブロックと同じピクチャ内の再構成された領域内にあり得る。
【０１４６】
[0154]動き補償ユニット８２および／またはイントラＢＣユニット８５は、動きベクトルおよび他のシンタックス要素をパースすることによって現在のビデオスライスのビデオブロックのための予測情報を決定し得、復号されている現在のビデオブロックのための予測ブロックを生成するためにその予測情報を使用する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化されたビデオブロックのための動きベクトルと、スライスの各インターコード化されたビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【０１４７】
[0155]同様に、イントラＢＣユニット８５は、現在のビデオブロックがイントラＢＣモードを使用して予測されたことと、ピクチャのどのビデオブロックが再構成された領域内にあり、ＤＰＢ９２に記憶されるべきであるかを示す構成情報と、スライスの各イントラＢＣ予測されたビデオブロックのためのブロックベクトルと、スライスの各イントラＢＣ予測されたビデオブロックのためのイントラＢＣ予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつか、たとえば、フラグを使用し得る。
【０１４８】
[0156]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルの補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するためにその補間フィルタを使用し得る。
【０１４９】
[0157]逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１５０】
[0158]動き補償ユニット８２またはイントラＢＣユニット８５が、ベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２およびイントラＢＣユニット８５によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、再構成されたビデオブロックを生成するためにこの加算演算を実行する１つまたは複数の構成要素を表す。
【０１５１】
[0159]加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。ループ内フィルタ（図示せず）が、加算器９０と復号されたピクチャバッファ９２との間に配置され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する復号されたピクチャバッファ９２に記憶される。復号されたピクチャバッファ９２はまた、図１のディスプレイデバイス３４などのディスプレイデバイス上での後の表示のための復号されたビデオを記憶する。
【０１５２】
[0160]図７は、本開示の例示的な符号化方法を示すフローチャートである。図７の技法は、イントラＢＣユニット４８を含む、ビデオエンコーダ２０の１つまたは複数のハードウェアユニットによって実装され得る。
【０１５３】
[0161]本開示の一例では、イントラＢＣユニット４８は、イントラＢＣモードで符号化されたビデオデータのブロックに関連するＢＶＤの第１の成分の第１の絶対値を符号化する（７０２）ことと、ビデオデータのブロックに関連する第２の成分の第２の絶対値を符号化する（７０４）こととを行うように構成され得る。イントラＢＣユニットは、ＢＶＤの第１の成分のための第１の符号値を符号化し（７０６）、ＢＶＤの第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、第２の符号値を符号化しない（７０８）ようにさらに構成され得る。イントラＢＣユニット４８は、第１の絶対値、第２の絶対値、および第１の符号値のためのシンタックス要素を生成する（７１０）ようにさらに構成され得る。
【０１５４】
[0162]本開示の一例では、１つまたは複数のビデオコーディング特性は、ＢＶＤの第１の成分の第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、ブロックベクトル予測子の位置、符号化されたブロックに対する隣接ブロックの利用可能性、隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含む。
【０１５５】
[0163]本開示の別の例では、ＢＶＤの第１の成分の第１の絶対値を符号化するために、イントラＢＣユニット４８は、第１の成分の第１の絶対値がオフセットよりも大きいことを示す１つまたは複数のビデオコーディング特性に基づいて、第１の絶対値からオフセットを減算するようにさらに構成され得る。一例では、オフセットは、ビデオデータのブロックの幅、またはビデオデータのブロックの高さのうちの１つである。
【０１５６】
[0164]図８は、本開示の例示的な復号方法を示すフローチャートである。図８の技法は、イントラＢＣユニット８５を含む、ビデオデコーダ３０の１つまたは複数のハードウェアユニットによって実装され得る。
【０１５７】
[0165]本開示の一例では、ビデオデコーダ３０は、符号化されたビデオビットストリームにおいて、イントラＢＣモードを使用して符号化されたビデオデータの符号化されたブロックを受信する（８０２）ように構成され得る。イントラＢＣユニット８５は、ＢＶＤの第１の成分の第１の絶対値を示す１つまたは複数のシンタックス要素を受信する（８０４）ことと、ＢＶＤの第２の成分の第２の絶対値を示す１つまたは複数のシンタックス要素を受信する（８０６）こととをも行うように構成され得る。イントラＢＣユニット８５は、ビデオデータの符号化されたブロックに関連するＢＶＤの第１の成分の第１の絶対値を復号する（８０８）ことと、ビデオデータの符号化されたブロックに関連する第２の成分の第２の絶対値を復号する（８１０）こととを行うように構成され得る。
【０１５８】
[0166]イントラＢＣユニット８５は、ＢＶＤの第１の成分のための第１の符号値を示すシンタックス要素を受信する（８１２）ことと、ＢＶＤの第１の成分のための第１の符号値を復号する（８１４）こととを行うようにさらに構成され得る。本開示の技法によれば、イントラＢＣユニット８５は、ＢＶＤの第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、第２の符号値を推論する（８１６）ように構成され得る。すなわち、ＢＶＤの第２の成分の符号値のためのシンタックス値を受信するのではなく（すなわち、ビデオエンコーダ２０は、第２の成分の符号値を示すシンタックス要素を符号化しない）、イントラＢＣユニット８５は、第２の成分の符号値を推論する。
【０１５９】
[0167]イントラＢＣユニット８５は、ＢＶＤの第１の成分の復号された第１の絶対値と、ＢＶＤの第２の成分の復号された第２の絶対値と、ＢＶＤの第１の成分のための復号された第１の符号値と、ＢＶＤの第２の成分のための推論された第２の符号値とに基づいて、ＢＶＤを決定する（８１８）ようにさらに構成され得る。イントラＢＣユニット８５は、次いで、ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定し（８２０）、ブロックベクトルを使用してビデオデータのブロックを復号し（８２２）得る。
【０１６０】
[0168]上記の例では、１つまたは複数のビデオコーディング特性は、ＢＶＤの第１の成分の第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、ブロックベクトル予測子の位置、符号化されたブロックに対する隣接ブロックの利用可能性、隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含み得る。
【０１６１】
[0169]一例では、ＢＶＤの第１の成分はＢＶＤのｘ成分であり、ＢＶＤの第２の成分はＢＶＤのｙ成分である。別の例では、ＢＶＤの第１の成分はＢＶＤのｙ成分であり、ＢＶＤの第２の成分はＢＶＤのｘ成分である。
【０１６２】
[0170]本開示の別の例では、イントラＢＣユニット８５は、ＢＶＤが予測され、ｘ成分の絶対値が０よりも大きい場合（すなわち、！（ｂｖ＿ｐｒｅｄ＿ｆｌａｇ＆＆ａｂｓ＿ｂｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ［０］＞＝０））、ＢＶＤのｙ成分の第２の符号値を推論するように構成され得る。別の例では、イントラＢＣユニット８５は、ＢＶＤが予測され、ｙ成分の絶対値が０よりも大きい場合（すなわち、！（ｂｖ＿ｐｒｅｄ＿ｆｌａｇ＆＆ａｂｓ＿ｂｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ［１］＝＝０））、ＢＶＤのｘ成分の第２の符号値を推論するように構成され得る。
【０１６３】
[0171]本開示の別の例では、イントラＢＣユニット８５は、第２の成分のための第２の符号値（たとえば、ｙ成分の符号値）を示すシンタックス要素が符号化されたビデオビットストリーム中に存在しない場合、第２の符号値を推論するように構成され得る。
【０１６４】
[0172]図９は、本開示の別の例示的な復号方法を示すフローチャートである。図９の技法は、イントラＢＣユニット８５を含む、ビデオデコーダ３０の１つまたは複数のハードウェアユニットによって実装され得る。
【０１６５】
[0173]本開示の一例では、ＢＶＤの第１の成分の第１の絶対値を復号する（図８の８０８参照）ために、イントラＢＣユニット８５は、ＢＶＤの第１の成分の第１の絶対値に関連する第１のシンタックス要素を受信する（９０２）ことと、ＢＶＤの第１の成分の第１の絶対値がオフセットよりも大きいことを示す１つまたは複数のビデオコーディング特性に基づいて、第１のシンタックス要素の値が、第１の成分の第１の絶対値−（minus）オフセットを表すと推論する（９０４）こととを行うように構成される。イントラＢＣユニット８５は、オフセットに第１のシンタックス要素の値を加算することによって、第１の成分の第１の絶対値を決定し（９０６）得る。一例では、オフセットは、ビデオデータの符号化されたブロックの幅、またはビデオデータの符号化されたブロックの高さのうちの１つである。別の例では、オフセットは、ビデオデータの符号化されたブロックの幅の関数、またはビデオデータの符号化されたブロックの高さの関数である。
【０１６６】
[0174]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶され得るか、あるいはコンピュータ可読媒体を介して送信され得、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明される技法の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１６７】
[0175]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１６８】
[0176]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明される技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理素子で十分に実装され得る。
【０１６９】
[0177]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作可能ハードウェアユニットの集合によって与えられ得る。
【０１７０】
[0178]様々な例が説明された。これらおよび他の例は以下の特許請求の範囲内に入る。
【図１】
2017519447.tif 000013
【図２】
2017519447.tif 000014
【図３】
2017519447.tif 000015
【図４】
2017519447.tif 000016
【図５】
2017519447.tif 000017
【図６】
2017519447.tif 000018
【図７】
2017519447.tif 000019
【図８】
2017519447.tif 000020
【図９】
2017519447.tif 000021
【手続補正書】
【提出日】平成29年3月1日(2017.3.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化されたビデオデータの符号化されたブロックを受信することと、
ビデオデータの前記符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号することと、
ビデオデータの前記符号化されたブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を復号することと、
前記ＢＶＤの前記第１の成分のための第１の符号値を復号することと、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を推論することと、ここにおいて、前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含み、
前記ＢＶＤの前記第１の成分の前記復号された第１の絶対値と、前記ＢＶＤの前記第２の成分の前記復号された第２の絶対値と、前記ＢＶＤの前記第１の成分のための前記復号された第１の符号値と、前記ＢＶＤの前記第２の成分のための前記推論された第２の符号値とに基づいて、前記ＢＶＤを決定することと、
前記ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定することと、
前記ブロックベクトルを使用してビデオデータの前記ブロックを復号することと
を備える、方法。
【請求項２】
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｘ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｙ成分である、請求項１に記載の方法。
【請求項３】
前記第２の成分のための前記第２の符号値を推論することは、前記ＢＶＤが予測され、前記ｘ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｙ成分の前記第２の符号値を推論することを備える、請求項２に記載の方法。
【請求項４】
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｙ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｘ成分である、請求項１に記載の方法。
【請求項５】
前記第２の成分のための前記第２の符号値を推論することは、前記ＢＶＤが予測され、前記ｙ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｘ成分の前記第２の符号値を推論することを備える、請求項４に記載の方法。
【請求項６】
前記ＢＶＤの前記第１の成分の前記第１の絶対値を復号することは、
前記ＢＶＤの前記第１の成分の前記第１の絶対値に関連する第１のシンタックス要素を受信することと、
前記ＢＶＤの前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１のシンタックス要素の値が、前記第１の成分の前記第１の絶対値−前記オフセットを表すと推論することと、
前記オフセットに前記第１のシンタックス要素の前記値を加算することによって、前記第１の成分の前記第１の絶対値を決定することと、
を備える、請求項１に記載の方法。
【請求項７】
前記オフセットが、ビデオデータの前記符号化されたブロックの幅、またはビデオデータの前記符号化されたブロックの高さのうちの１つである、請求項６に記載の方法。
【請求項８】
前記オフセットが、ビデオデータの前記符号化されたブロックの幅の関数、またはビデオデータの前記符号化されたブロックの高さの関数である、請求項６に記載の方法。
【請求項９】
前記第２の成分のための前記第２の符号値を推論することは、前記第２の符号値を示すシンタックス要素が前記符号化されたビデオビットストリーム中に存在しない場合、前記第２の成分のための前記第２の符号値を推論することを備える、請求項１に記載の方法。
【請求項１０】
ビデオデータを復号するように構成された装置であって、前記装置が、
ビデオデータを記憶するように構成されたメモリと、
符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化された前記ビデオデータの符号化されたブロックを受信することと、
ビデオデータの前記符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号することと、
ビデオデータの前記符号化されたブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を復号することと、
前記ＢＶＤの前記第１の成分のための第１の符号値を復号することと、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を推論することと、ここにおいて、前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含み、
前記ＢＶＤの前記第１の成分の前記復号された第１の絶対値と、前記ＢＶＤの前記第２の成分の前記復号された第２の絶対値と、前記ＢＶＤの前記第１の成分のための前記復号された第１の符号値と、前記ＢＶＤの前記第２の成分のための前記推論された第２の符号値とに基づいて、前記ＢＶＤを決定することと、
前記ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定することと、
前記ブロックベクトルを使用してビデオデータの前記ブロックを復号することと、
を行うように構成された、ビデオデコーダと、
を備える、装置。
【請求項１１】
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｘ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｙ成分である、請求項１０に記載の装置。
【請求項１２】
前記第２の成分のための前記第２の符号値を推論するために、前記ビデオデコーダは、前記ＢＶＤが予測され、前記ｘ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｙ成分の前記第２の符号値を推論するように構成される、請求項１１に記載の装置。
【請求項１３】
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｙ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｘ成分である、請求項１０に記載の装置。
【請求項１４】
前記第２の成分のための前記第２の符号値を推論するために、前記ビデオデコーダは、前記ＢＶＤが予測され、前記ｙ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｘ成分の前記第２の符号値を推論するように構成される、請求項１３に記載の装置。
【請求項１５】
前記ＢＶＤの前記第１の成分の前記第１の絶対値を復号するために、前記ビデオデコーダは、
前記ＢＶＤの前記第１の成分の前記第１の絶対値に関連する第１のシンタックス要素を受信することと、
前記ＢＶＤの前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１のシンタックス要素の値が、前記第１の成分の前記第１の絶対値−前記オフセットを表すと推論することと、
前記オフセットに前記第１のシンタックス要素の前記値を加算することによって、前記第１の成分の前記第１の絶対値を決定することと、
を行うように構成される、請求項１０に記載の装置。
【請求項１６】
前記オフセットが、ビデオデータの前記符号化されたブロックの幅、またはビデオデータの前記符号化されたブロックの高さのうちの１つである、請求項１５に記載の装置。
【請求項１７】
前記オフセットが、ビデオデータの前記符号化されたブロックの幅の関数、またはビデオデータの前記符号化されたブロックの高さの関数である、請求項１５に記載の装置。
【請求項１８】
前記第２の成分のための前記第２の符号値を推論するために、前記ビデオデコーダは、前記第２の符号値を示すシンタックス要素が前記符号化されたビデオビットストリーム中に存在しない場合、前記第２の成分のための前記第２の符号値を推論するように構成される、請求項１０に記載の装置。
【請求項１９】
前記ビデオデコーダがプロセッサにおいて実装され、前記装置がワイヤレス通信デバイスであり、前記ワイヤレス通信デバイスが、前記ビデオデータを受信するように構成された受信機をさらに備える、請求項１０に記載の装置。
【請求項２０】
前記ワイヤレス通信デバイスがセルラー電話であり、前記受信機が、セルラー通信規格に従って、前記ビデオデータを受信し、前記受信されたビデオデータを復調するように構成される、請求項１９に記載の装置。
【請求項２１】
ビデオデータを復号するように構成された装置であって、前記装置は、
符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化されたビデオデータの符号化されたブロックを受信するための手段と、
ビデオデータの前記符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号するための手段と、
ビデオデータの前記符号化されたブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を復号するための手段と、
前記ＢＶＤの前記第１の成分のための第１の符号値を復号するための手段と、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を推論するための手段と、ここにおいて、前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含み、
前記ＢＶＤの前記第１の成分の前記復号された第１の絶対値と、前記ＢＶＤの前記第２の成分の前記復号された第２の絶対値と、前記ＢＶＤの前記第１の成分のための前記復号された第１の符号値と、前記ＢＶＤの前記第２の成分のための前記推論された第２の符号値とに基づいて、前記ＢＶＤを決定するための手段と、
前記ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定するための手段と、
前記ブロックベクトルを使用してビデオデータの前記ブロックを復号するための手段と、
を備える、装置。
【請求項２２】
前記ＢＶＤの前記第１の成分の前記第１の絶対値を復号するための前記手段は、
前記ＢＶＤの前記第１の成分の前記第１の絶対値に関連する第１のシンタックス要素を受信するための手段と、
前記ＢＶＤの前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１のシンタックス要素の値が、前記第１の成分の前記第１の絶対値−前記オフセットを表すと推論するための手段と、
前記オフセットに前記第１のシンタックス要素の前記値を加算することによって、前記第１の成分の前記第１の絶対値を決定するための手段と、
を備える、請求項２１に記載の装置。
【請求項２３】
前記第２の成分のための前記第２の符号値を推論するための前記手段は、前記第２の符号値を示すシンタックス要素が前記符号化されたビデオビットストリーム中に存在しない場合、前記第２の成分のための前記第２の符号値を推論するための手段を備える、請求項２１に記載の装置。
【請求項２４】
ビデオデータを符号化する方法であって、前記方法は、
イントラブロックコピー（ＢＣ）モードで符号化されたビデオデータのブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を符号化することと、
ビデオデータの前記ブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を符号化することと、
前記ＢＶＤの前記第１の成分のための第１の符号値を符号化することと、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を符号化しないことと、ここにおいて、前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含み、
前記第１の絶対値、前記第２の絶対値、および前記第１の符号値のためのシンタックス要素を生成することと、
を備える、方法。
【請求項２５】
前記ＢＶＤの前記第１の成分の前記第１の絶対値を符号化することは、
前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１の絶対値から前記オフセットを減算すること、
を備える、請求項２４に記載の方法。
【請求項２６】
前記オフセットが、ビデオデータの前記ブロックの幅、またはビデオデータの前記ブロックの高さのうちの１つである、請求項２５に記載の方法。
【請求項２７】
前記方法はワイヤレス通信デバイス上で実行可能であり、前記ワイヤレス通信デバイスが、
ビデオデータの前記符号化されたブロックを記憶するように構成されたデータ記憶媒体と、
前記データ記憶媒体に記憶されたビデオデータの前記ブロックを処理するための命令を実行するように構成されたプロセッサと、
ビデオデータの前記ブロックを受信するための受信機と、
を備える、請求項１に記載の方法。
【請求項２８】
前記ワイヤレス通信デバイスがセルラー電話であり、ビデオデータの前記ブロックが、通信規格に従って、前記受信機によって受信され、復調される、請求項２７に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１７０
【補正方法】変更
【補正の内容】
【０１７０】
[0178]様々な例が説明された。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、前記方法は、
符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化されたビデオデータの符号化されたブロックを受信することと、
ビデオデータの前記符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号することと、
ビデオデータの前記符号化されたブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を復号することと、
前記ＢＶＤの前記第１の成分のための第１の符号値を復号することと、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を推論することと、
前記ＢＶＤの前記第１の成分の前記復号された第１の絶対値と、前記ＢＶＤの前記第２の成分の前記復号された第２の絶対値と、前記ＢＶＤの前記第１の成分のための前記復号された第１の符号値と、前記ＢＶＤの前記第２の成分のための前記推論された第２の符号値とに基づいて、前記ＢＶＤを決定することと、
前記ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定することと、
前記ブロックベクトルを使用してビデオデータの前記ブロックを復号することと
を備える、方法。
［Ｃ２］
前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含む、Ｃ１に記載の方法。
［Ｃ３］
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｘ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｙ成分である、Ｃ１に記載の方法。
［Ｃ４］
前記第２の成分のための前記第２の符号値を推論することは、前記ＢＶＤが予測され、前記ｘ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｙ成分の前記第２の符号値を推論することを備える、Ｃ３に記載の方法。
［Ｃ５］
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｙ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｘ成分である、Ｃ１に記載の方法。
［Ｃ６］
前記第２の成分のための前記第２の符号値を推論することは、前記ＢＶＤが予測され、前記ｙ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｘ成分の前記第２の符号値を推論することを備える、Ｃ５に記載の方法。
［Ｃ７］
前記ＢＶＤの前記第１の成分の前記第１の絶対値を復号することは、
前記ＢＶＤの前記第１の成分の前記第１の絶対値に関連する第１のシンタックス要素を受信することと、
前記ＢＶＤの前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１のシンタックス要素の値が、前記第１の成分の前記第１の絶対値−前記オフセットを表すと推論することと、
前記オフセットに前記第１のシンタックス要素の前記値を加算することによって、前記第１の成分の前記第１の絶対値を決定することと、
を備える、Ｃ１に記載の方法。
［Ｃ８］
前記オフセットが、ビデオデータの前記符号化されたブロックの幅、またはビデオデータの前記符号化されたブロックの高さのうちの１つである、Ｃ７に記載の方法。
［Ｃ９］
前記オフセットが、ビデオデータの前記符号化されたブロックの幅の関数、またはビデオデータの前記符号化されたブロックの高さの関数である、Ｃ７に記載の方法。
［Ｃ１０］
前記第２の成分のための前記第２の符号値を推論することは、前記第２の符号値を示すシンタックス要素が前記符号化されたビデオビットストリーム中に存在しない場合、前記第２の成分のための前記第２の符号値を推論することを備える、Ｃ１に記載の方法。
［Ｃ１１］
ビデオデータを復号するように構成された装置であって、前記装置が、
ビデオデータを記憶するように構成されたメモリと、
符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化された前記ビデオデータの符号化されたブロックを受信することと、
ビデオデータの前記符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号することと、
ビデオデータの前記符号化されたブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を復号することと、
前記ＢＶＤの前記第１の成分のための第１の符号値を復号することと、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を推論することと、
前記ＢＶＤの前記第１の成分の前記復号された第１の絶対値と、前記ＢＶＤの前記第２の成分の前記復号された第２の絶対値と、前記ＢＶＤの前記第１の成分のための前記復号された第１の符号値と、前記ＢＶＤの前記第２の成分のための前記推論された第２の符号値とに基づいて、前記ＢＶＤを決定することと、
前記ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定することと、
前記ブロックベクトルを使用してビデオデータの前記ブロックを復号することと、
を行うように構成された、ビデオデコーダと、
を備える、装置。
［Ｃ１２］
前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含む、Ｃ１１に記載の装置。
［Ｃ１３］
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｘ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｙ成分である、Ｃ１１に記載の装置。
［Ｃ１４］
前記第２の成分のための前記第２の符号値を推論するために、前記ビデオデコーダは、前記ＢＶＤが予測され、前記ｘ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｙ成分の前記第２の符号値を推論するように構成される、Ｃ１３に記載の装置。
［Ｃ１５］
前記ＢＶＤの前記第１の成分が前記ＢＶＤのｙ成分であり、前記ＢＶＤの前記第２の成分が前記ＢＶＤのｘ成分である、Ｃ１１に記載の装置。
［Ｃ１６］
前記第２の成分のための前記第２の符号値を推論するために、前記ビデオデコーダは、前記ＢＶＤが予測され、前記ｙ成分の絶対値が０よりも大きい場合、前記ＢＶＤの前記ｘ成分の前記第２の符号値を推論するように構成される、Ｃ１５に記載の装置。
［Ｃ１７］
前記ＢＶＤの前記第１の成分の前記第１の絶対値を復号するために、前記ビデオデコーダは、
前記ＢＶＤの前記第１の成分の前記第１の絶対値に関連する第１のシンタックス要素を受信することと、
前記ＢＶＤの前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１のシンタックス要素の値が、前記第１の成分の前記第１の絶対値−前記オフセットを表すと推論することと、
前記オフセットに前記第１のシンタックス要素の前記値を加算することによって、前記第１の成分の前記第１の絶対値を決定することと、
を行うように構成される、Ｃ１１に記載の装置。
［Ｃ１８］
前記オフセットが、ビデオデータの前記符号化されたブロックの幅、またはビデオデータの前記符号化されたブロックの高さのうちの１つである、Ｃ１７に記載の装置。
［Ｃ１９］
前記オフセットが、ビデオデータの前記符号化されたブロックの幅の関数、またはビデオデータの前記符号化されたブロックの高さの関数である、Ｃ１７に記載の装置。
［Ｃ２０］
前記第２の成分のための前記第２の符号値を推論するために、前記ビデオデコーダは、前記第２の符号値を示すシンタックス要素が前記符号化されたビデオビットストリーム中に存在しない場合、前記第２の成分のための前記第２の符号値を推論するように構成される、Ｃ１１に記載の装置。
［Ｃ２１］
前記ビデオデコーダがプロセッサにおいて実装され、前記装置がワイヤレス通信デバイスであり、前記ワイヤレス通信デバイスが、
送信機と、
前記ビデオデータを受信するように構成された受信機と、
をさらに備える、Ｃ１１に記載の装置。
［Ｃ２２］
前記ワイヤレス通信デバイスがセルラー電話であり、前記受信機が、セルラー通信規格に従って、前記ビデオデータを受信し、前記受信されたビデオデータを復調するように構成される、Ｃ２１に記載の装置。
［Ｃ２３］
ビデオデータを復号するように構成された装置であって、前記装置は、
符号化されたビデオビットストリームにおいて、イントラブロックコピー（ＢＣ）モードを使用して符号化されたビデオデータの符号化されたブロックを受信するための手段と、
ビデオデータの前記符号化されたブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を復号するための手段と、
ビデオデータの前記符号化されたブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を復号するための手段と、
前記ＢＶＤの前記第１の成分のための第１の符号値を復号するための手段と、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を推論するための手段と、
前記ＢＶＤの前記第１の成分の前記復号された第１の絶対値と、前記ＢＶＤの前記第２の成分の前記復号された第２の絶対値と、前記ＢＶＤの前記第１の成分のための前記復号された第１の符号値と、前記ＢＶＤの前記第２の成分のための前記推論された第２の符号値とに基づいて、前記ＢＶＤを決定するための手段と、
前記ＢＶＤとブロックベクトル予測子とからブロックベクトルを決定するための手段と、
前記ブロックベクトルを使用してビデオデータの前記ブロックを復号するための手段と、
を備える、装置。
［Ｃ２４］
前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含む、Ｃ２３に記載の装置。
［Ｃ２５］
前記ＢＶＤの前記第１の成分の前記第１の絶対値を復号するための前記手段は、
前記ＢＶＤの前記第１の成分の前記第１の絶対値に関連する第１のシンタックス要素を受信するための手段と、
前記ＢＶＤの前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１のシンタックス要素の値が、前記第１の成分の前記第１の絶対値−前記オフセットを表すと推論するための手段と、
前記オフセットに前記第１のシンタックス要素の前記値を加算することによって、前記第１の成分の前記第１の絶対値を決定するための手段と、
を備える、Ｃ２３に記載の装置。
［Ｃ２６］
前記第２の成分のための前記第２の符号値を推論するための前記手段は、前記第２の符号値を示すシンタックス要素が前記符号化されたビデオビットストリーム中に存在しない場合、前記第２の成分のための前記第２の符号値を推論するための手段を備える、Ｃ２３に記載の装置。
［Ｃ２７］
ビデオデータを符号化する方法であって、前記方法は、
イントラブロックコピー（ＢＣ）モードで符号化されたビデオデータのブロックに関連するブロックベクトル差分（ＢＶＤ）の第１の成分の第１の絶対値を符号化することと、
ビデオデータの前記ブロックに関連する前記ＢＶＤの第２の成分の第２の絶対値を符号化することと、
前記ＢＶＤの前記第１の成分のための第１の符号値を符号化することと、
前記ＢＶＤの前記第２の成分のための第２の符号値が１つの値に制限されることを示す１つまたは複数のビデオコーディング特性に基づいて、前記第２の符号値を符号化しないことと、
前記第１の絶対値、前記第２の絶対値、および前記第１の符号値のためのシンタックス要素を生成することと、
を備える、方法。
［Ｃ２８］
前記１つまたは複数のビデオコーディング特性が、前記ＢＶＤの前記第１の成分の前記第１の符号値、デフォルトブロックベクトル予測子の使用、ブロックベクトル予測子の値、前記ブロックベクトル予測子の位置、前記符号化されたブロックに対する隣接ブロックの利用可能性、前記隣接ブロックのコーディングモード、またはイントラＢＣマージインデックスのうちの１つまたは複数を含む、Ｃ２７に記載の方法。
［Ｃ２９］
前記ＢＶＤの前記第１の成分の前記第１の絶対値を符号化することは、
前記第１の成分の前記第１の絶対値がオフセットよりも大きいことを示す前記１つまたは複数のビデオコーディング特性に基づいて、前記第１の絶対値から前記オフセットを減算すること、
を備える、Ｃ２７に記載の方法。
［Ｃ３０］
前記オフセットが、ビデオデータの前記ブロックの幅、またはビデオデータの前記ブロックの高さのうちの１つである、Ｃ２９に記載の方法。
【国際調査報告】
2017519447.tif 000022
2017519447.tif 000023
2017519447.tif 000024