(57)【要約】      （修正有）【課題】イントラブロックコピーモードが有効化される時の並列処理を向上させるビデオデータ復号方法を提供する。【解決手段】ビデオデータを復号する方法は、波面並列処理が有効化されてコーディングされるブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定する。ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始める時とＣＴＢの第１の行の下のＣＴＢの第２の行が復号され始める時との間の遅延を識別する。決定されたＣＴＢ遅延に基づいて現在ブロックを含むピクチャ内のイントラブロックコピー（ＩＢＣ）予測領域を決定する。決定されたＩＢＣ予測領域内から現在ブロックのための予測ブロックを識別し、予測ブロックに基づいて現在ブロックをＩＢＣ復号する。【選択図】図１８
2020145716.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのために、コーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる前記１つまたは複数のブロックのために決定された前記ＣＴＢ遅延に基づいて、前記現在ブロックを含むピクチャ内の前記現在ブロックのためのＩＢＣ予測領域を決定することと、
前記現在ブロックのための前記決定されたＩＢＣ予測領域内から、前記現在ブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
を備える、方法。
【請求項２】
前記現在ブロックが第１のブロックを備え、前記方法は、
前記ＩＢＣモードにおいてコーディングされ、波面並列処理が有効化されてコーディングされるビデオデータの第２のブロックのために、前記ＣＴＢ遅延に基づいて、前記第２のブロックのためのＩＢＣ予測領域を決定することと、
前記第２のブロックのための前記ＩＢＣ予測領域内から、前記第２のブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
をさらに備える、請求項１に記載の方法。
【請求項３】
シンタックス要素を受信することと、
前記シンタックス要素の値に基づいて、波面並列処理が前記第１のブロックのために無効化されると決定することと
をさらに備える、請求項１に記載の方法。
【請求項４】
前記シンタックス要素は、コンテキスト変数のための特定の同期プロセスが呼び出されるべきであるかどうかを示す同期プロセス有効化シンタックス要素を備える、請求項３に記載の方法。
【請求項５】
前記第１のブロックのための前記ＩＢＣ予測領域が、前に復号されたフィルタ処理されていないＣＴＢを備える、請求項１に記載の方法。
【請求項６】
前記ＩＢＣ予測領域が、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上に位置する、対角線方向に位置するＣＴＢを含み、前記対角線方向に位置するＣＴＢの直下のＣＴＢを除外する、請求項１に記載の方法。
【請求項７】
前記第１のブロックと並列に、前記対角線方向に位置するＣＴＢの直下の前記ＣＴＢを復号すること
をさらに備える、請求項６に記載の方法。
【請求項８】
前記ＣＴＢ遅延が１つのＣＴＢを備える、請求項１に記載の方法。
【請求項９】
前記ＣＴＢ遅延が２つのＣＴＢを備える、請求項１に記載の方法。
【請求項１０】
ビデオデータの符号化ビットストリーム中で、ビデオデータの前記第１のブロックのためのコーディングモードが前記ＩＢＣモードであることを示す１つまたは複数のシンタックス要素を受信することと、
ビデオデータの前記符号化ビットストリーム中で、ビデオデータの前記第１のブロックのためのブロックベクトルを識別する１つまたは複数のシンタックス要素を受信することと、ここにおいて、前記第１のブロックのための前記ＩＢＣ予測領域内から、前記第１のブロックのための前記予測ブロックを識別することが、前記ブロックベクトルを用いて前記予測ブロックの位置を特定することを備える、
をさらに備える、請求項１に記載の方法。
【請求項１１】
前記ＣＴＢ遅延を決定することが、ＣＴＢの単位で前記ＣＴＢ遅延を決定することを備える、請求項１に記載の方法。
【請求項１２】
ビデオデータを符号化する方法であって、前記方法は、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの第１のブロックのために、前記ＣＴＢ遅延に基づいて、前記第１のブロックのためのＩＢＣ予測領域を決定することと、
前記第１のブロックのための前記ＩＢＣ予測領域内から、前記第１のブロックのための予測ブロックを識別することと、
前記予測ブロックの位置を特定するためのブロックベクトルを示すためのシンタックスを生成することと
を備える、方法。
【請求項１３】
前記ＩＢＣモードにおいてコーディングされ、波面並列処理が有効化されてコーディングされるビデオデータの第２のブロックのために、前記ＣＴＢ遅延に基づいて、前記第２のブロックのためのＩＢＣ予測領域を決定することと、
前記第２のブロックのための前記ＩＢＣ予測領域内から、前記第２のブロックのための予測ブロックを識別することと
をさらに備える、請求項１２に記載の方法。
【請求項１４】
前記ＩＢＣ予測領域が、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上のＣＴＢを含み、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上の前記ＣＴＢの直下のＣＴＢを除外する、請求項１２に記載の方法。
【請求項１５】
前記ＣＴＢ遅延が１つのＣＴＢを備える、請求項１２に記載の方法。
【請求項１６】
前記ＣＴＢ遅延が２つのＣＴＢを備える、請求項１２に記載の方法。
【請求項１７】
ビデオ復号を実行するためのデバイスであって、前記デバイスが、
ビデオデータを記憶するためのメモリと、
１つまたは複数のプロセッサと
を備え、前記１つまたは複数のプロセッサは、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる前記１つまたは複数のブロックのために決定された前記ＣＴＢ遅延に基づいて、前記現在ブロックを含むピクチャ内の前記現在ブロックのためのＩＢＣ予測領域を決定することと、
前記現在ブロックのための前記決定されたＩＢＣ予測領域内から、前記現在ブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
を行うように構成された、
デバイス。
【請求項１８】
前記現在ブロックが第１のブロックを備え、ここにおいて、前記１つまたは複数のプロセッサは、
前記ＩＢＣモードにおいてコーディングされ、波面並列処理が有効化されてコーディングされるビデオデータの第２のブロックのために、前記ＣＴＢ遅延に基づいて、前記第２のブロックのためのＩＢＣ予測領域を決定することと、
前記第２のブロックのための前記ＩＢＣ予測領域内から、前記第２のブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
を行うようにさらに構成された、請求項１７に記載のデバイス。
【請求項１９】
前記１つまたは複数のプロセッサは、
シンタックス要素を受信することと、
前記シンタックス要素の値に基づいて、波面並列処理が前記第１のブロックのために無効化されると決定することと
を行うようにさらに構成された、請求項１７に記載のデバイス。
【請求項２０】
前記シンタックス要素は、コンテキスト変数のための特定の同期プロセスが呼び出されるべきであるかどうかを示す同期プロセス有効化シンタックス要素を備える、請求項１９に記載のデバイス。
【請求項２１】
前記第１のブロックのための前記ＩＢＣ予測領域が、前に復号されたフィルタ処理されていないＣＴＢを備える、請求項１７に記載のデバイス。
【請求項２２】
前記ＩＢＣ予測領域が、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上に位置する、対角線方向に位置するＣＴＢを含み、前記対角線方向に位置するＣＴＢの直下のＣＴＢを除外する、請求項１７に記載のデバイス。
【請求項２３】
前記１つまたは複数のプロセッサが、
前記第１のブロックと並列に、前記対角線方向に位置するＣＴＢの直下の前記ＣＴＢを復号する
ようにさらに構成された、請求項２２に記載のデバイス。
【請求項２４】
前記ＣＴＢ遅延が１つのＣＴＢを備える、請求項１７に記載のデバイス。
【請求項２５】
前記ＣＴＢ遅延が２つのＣＴＢを備える、請求項１７に記載のデバイス。
【請求項２６】
前記１つまたは複数のプロセッサは、
ビデオデータの符号化ビットストリーム中で、ビデオデータの前記第１のブロックのためのコーディングモードが前記ＩＢＣモードであることを示す１つまたは複数のシンタックス要素を受信することと、
ビデオデータの前記符号化ビットストリーム中で、ビデオデータの前記第１のブロックのためのブロックベクトルを識別する１つまたは複数のシンタックス要素を受信することと、ここにおいて、前記第１のブロックのための前記ＩＢＣ予測領域内から、前記第１のブロックのための前記予測ブロックを識別することが、前記ブロックベクトルを用いて前記予測ブロックの位置を特定することを備える、
を行うようにさらに構成された、請求項１７に記載のデバイス。
【請求項２７】
前記ＣＴＢ遅延を決定するために、前記１つまたは複数のプロセッサが、ＣＴＢの単位で前記ＣＴＢ遅延を決定するようにさらに構成された、請求項１７に記載のデバイス。
【請求項２８】
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ディスプレイを備えるワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項１７に記載のデバイス。
【請求項２９】
ビデオ符号化を実行するためのデバイスであって、前記デバイスが、
ビデオデータを記憶するためのメモリと、
１つまたは複数のプロセッサと
を備え、前記１つまたは複数のプロセッサは、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの第１のブロックのために、前記ＣＴＢ遅延に基づいて、前記第１のブロックのためのＩＢＣ予測領域を決定することと、
前記第１のブロックのための前記ＩＢＣ予測領域内から、前記第１のブロックのための予測ブロックを識別することと、
前記予測ブロックの位置を特定するためのブロックベクトルを示すためのシンタックスを生成することと
を行うように構成された、
デバイス。
【請求項３０】
前記１つまたは複数のプロセッサは、
前記ＩＢＣモードにおいてコーディングされ、波面並列処理が有効化されてコーディングされるビデオデータの第２のブロックのために、前記ＣＴＢ遅延に基づいて、前記第２のブロックのためのＩＢＣ予測領域を決定することと、
前記第２のブロックのための前記ＩＢＣ予測領域内から、前記第２のブロックのための予測ブロックを識別することと
を行うようにさらに構成された、請求項２９に記載のデバイス。
【請求項３１】
前記ＩＢＣ予測領域が、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上のＣＴＢを含み、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上の前記ＣＴＢの直下のＣＴＢを除外する、請求項２９に記載のデバイス。
【請求項３２】
前記ＣＴＢ遅延が１つのＣＴＢを備える、請求項２９に記載のデバイス。
【請求項３３】
前記ＣＴＢ遅延が２つのＣＴＢを備える、請求項２９に記載のデバイス。
【請求項３４】
前記デバイスが、
集積回路、
マイクロプロセッサ、または
カメラを備えるワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項３３に記載のデバイス。
【請求項３５】
ビデオデータを復号するための装置であって、前記装置は、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定するための手段と、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる前記１つまたは複数のブロックのために決定された前記ＣＴＢ遅延に基づいて、前記現在ブロックを含むピクチャ内の前記現在ブロックのためのＩＢＣ予測領域を決定するための手段と、
前記現在ブロックのための前記決定されたＩＢＣ予測領域内から、前記現在ブロックのための予測ブロックを識別するための手段と、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号するための手段と
を備える、装置。
【請求項３６】
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる前記１つまたは複数のブロックのために決定された前記ＣＴＢ遅延に基づいて、前記現在ブロックを含むピクチャ内の前記現在ブロックのためのＩＢＣ予測領域を決定することと、
前記現在ブロックのための前記決定されたＩＢＣ予測領域内から、前記現在ブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
を行わせる、命令を記憶するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【優先権の主張】
【０００１】
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、２０１４年１０月９日に出願された米国仮特許出願６２／０６２，１２２号の利益を主張する。
【技術分野】
【０００２】
[0002]本開示はビデオコーディングに関し、より詳細には、他のビデオブロックに基づくビデオブロックの予測に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格（Ｈ．２６５）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間（ピクチャ内）予測および／または時間（ピクチャ間）予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間予測または時間予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され（scanned）得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]本開示は、ＩＢＣモードが有効化されるときの並列処理を潜在的に向上させるための技法を紹介する。
【０００７】
[0007]一例では、ビデオデータを復号する方法は、波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのために、コーディングツリーブロック（ＣＴＢ：coding tree block）遅延を決定することと、ここにおいて、ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、イントラブロックコピー（ＩＢＣ：intra-block copy）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのために決定されたＣＴＢ遅延に基づいて、現在ブロックを含むピクチャ内の現在ブロックのためのＩＢＣ予測領域を決定することと、現在ブロックのための決定されたＩＢＣ予測領域内から、現在ブロックのための予測ブロックを識別することと、予測ブロックに基づいて現在ブロックをＩＢＣ復号することとを含む。
【０００８】
[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]本開示は、ＩＢＣモードが有効化されるときの並列処理を潜在的に向上させるための技法を紹介する。より詳細には、本開示は、デコーダが、波面並列処理と呼ばれることがある、非ラスタ走査順序で並列に複数のＣＴＵを処理することができるような、ＩＢＣブロックベクトル（ＢＶ）に対する制限を紹介する。本開示の技法は、限定はしないが、４：４：４、４：２：２、４：２：０、４：０：０など、場合によっては（possibly）高ビット深度（８ビット超）の異なるクロマサンプリングフォーマットのサポートを含む、スクリーンコンテンツコーディングを対象とする。
【００２３】
[0036]図１は、ＩＢＣモードにおいてブロックをコーディングするための技法と並列処理のための技法とを含む、本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されているように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信のために装備され得る。
【００２４】
[0037]宛先デバイス１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、ソースデバイス１２が、符号化ビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２５】
[0038]代替的に、符号化データは出力インターフェース２２からストレージデバイス１７に出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイス１７からアクセスされ得る。ストレージデバイス１７は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス１７は、ソースデバイス１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイス１７から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。ストレージデバイス１７からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００２６】
[0039]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２７】
[0040]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００２８】
[0041]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信され得る。符号化ビデオデータは、さらに（または代替的に）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス１７上に記憶され得る。
【００２９】
[0042]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信され、またはストレージデバイス１７上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ記憶される符号化ビデオデータとともに含まれ得る。
【００３０】
[0043]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３１】
[0044]ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣなどのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。「ＨＥＶＣワーキングドラフト１０」または「ＨＥＶＣ  ＷＤ１０」と呼ばれる、ＨＥＶＣ規格のワーキングドラフトは、Ｂｒｏｓｓら、「Editors’ proposed corrections to HEVC version 1」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１３回会議、仁川、韓国、２０１３年４月に記載されている。別のＨＥＶＣドラフト仕様は、http://phenix.int-evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC-O1003-v2.zipから入手可能である。本開示で説明する技法はまた、現在開発中であるＨＥＶＣ規格の拡張に従って動作し得る。
【００３２】
[0045]代替または追加として、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としては、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ：Scalable Video Coding）拡張とマルチビュービデオコーディング（ＭＶＣ：Multiview Video Coding）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４がある。
【００３３】
[0046]ＨＥＶＣの設計は、最近、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ）とのＪＣＴ−ＶＣによって確定された。ＨＥＶＣ  ＲＥｘｔと呼ばれるＨＥＶＣの範囲拡張も、ＪＣＴ−ＶＣによって開発されている。以下でＲＥｘｔ  ＷＤ７と呼ばれる、範囲拡張の最近のワーキングドラフト（ＷＤ）が、http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1005-v4.zipから入手可能である。
【００３４】
[0047]本開示は、概して、最近確定されたＨＥＶＣ仕様テキストをＨＥＶＣバージョン１またはベースＨＥＶＣと呼ぶ。範囲拡張仕様は、ＨＥＶＣのバージョン２になり得る。動きベクトル予測など、多くのコーディングツールに関して、ＨＥＶＣバージョン１と範囲拡張仕様とは、技術的に同様である。したがって、本開示がＨＥＶＣバージョン１に対する変更について説明するときはいつでも、概してベースＨＥＶＣ仕様＋いくつかの追加のコーディングツールを含む範囲拡張仕様にも、同じ変更が適用され得る。さらに、概して、ＨＥＶＣ範囲拡張を実装するデコーダにもＨＥＶＣバージョン１モジュールが組み込まれ得ると仮定され得る。
【００３５】
[0048]動きがあるグラフィックスおよびテキストなど、スクリーンコンテンツ材料のための新しいコーディングツールが、現在開発中であり、ＨＥＶＣの将来のバージョンを含む将来のビデオコーディング規格中に含めることが企図されている。これらの新しいコーディングツールは、スクリーンコンテンツのためのコーディング効率を潜在的に改善する。新規の専用コーディングツールを用いてスクリーンコンテンツの特性を活用することによってコーディング効率の有意な改善が得られ得るという証拠があるので、ＳＣＣ）のための特定のツールを含む、ＨＥＶＣ規格の場合によっては将来の拡張を開発することを目標とした提案の募集（ＣｆＰ）が発行されている。企業および団体は、この募集に応答して提案を提出するように勧誘されている。このＣｆＰの使用事例および要件が、ＭＰＥＧドキュメントＮ１４１７４に記載されている。第１７回ＪＣＴ−ＶＣ会議中に、ＳＣＣテストモデル（ＳＣＭ：screen content coding test model）が確立された。ＳＣＣの最近のワーキングドラフト（ＷＤ）は、http://phenix.int-evry.fr/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC-R1005-v3.zipから入手可能である。
【００３６】
[0049]概して、ソースデバイス１２のビデオエンコーダ２０は、これらの現在または将来の規格のいずれかに従ってビデオデータを符号化するように構成され得ることが企図される。同様に、概して、宛先デバイス１４のビデオデコーダ３０は、これらの現在または将来の規格のいずれかに従ってビデオデータを復号するように構成され得ることも企図される。
【００３７】
[0050]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれ、オーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３８】
[0051]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００３９】
[0052]上記で紹介したように、ＪＣＴ−ＶＣは最近、ＨＥＶＣ規格の開発を確定した。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づいていた。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは３５個ものイントラ予測符号化モードを与え得る。
【００４０】
[0053]ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCb、およびＳCrと示される３つのサンプルアレイを含み得る。ＳLはルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbはＣｂクロミナンスサンプルの２次元アレイである。ＳCrはＣｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【００４１】
[0054]ピクチャの符号化表現を生成するために、ビデオエンコーダ２０はコーディングツリーユニット（ＣＴＵ：coding tree unit）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロック（ＣＴＢ）と、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックはサンプルのＮ×Ｎブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ：largest coding unit）と呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなど、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のＣＴＵを含み得る。
【００４２】
[0055]コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するためにＣＴＵのコーディングツリーブロック（ＣＴＢ）に対して４分木区分を再帰的に実行し得、したがって「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのＮ×Ｎブロックであり得る。ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００４３】
[0056]ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックである。ＣＵの予測ユニット（ＰＵ：prediction unit）は、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロックとＣｂ予測ブロックとＣｒ予測ブロックとのための予測ルーマブロックと予測Ｃｂブロックと予測Ｃｒブロックとを生成し得る。
【００４４】
[0057]ビデオエンコーダ２０は、ＰＵのための予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいてＰＵの予測ブロックを生成し得る。ビデオエンコーダ２０が、ＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００４５】
[0058]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成した後、ビデオエンコーダ２０は、ＣＵのためのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つ中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差を示す。さらに、ビデオエンコーダ２０はＣＵのためのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つ中のＣｂサンプルとＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差を示し得る。ビデオエンコーダ２０はＣＵのためのＣｒ残差ブロックをも生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つ中のＣｒサンプルとＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差を示し得る。
【００４６】
[0059]さらに、ビデオエンコーダ２０は、ＣＵのルーマ残差ブロックとＣｂ残差ブロックとＣｒ残差ブロックとを１つまたは複数のルーマ変換ブロックとＣｂ変換ブロックとＣｒ変換ブロックとに分解するために４分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形（たとえば、正方形または非正方形）ブロックである。ＣＵの変換ユニット（ＴＵ：transform unit）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連付けられ得る。ＴＵに関連付けられたルーマ変換ブロックはＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００４７】
[0060]ビデオエンコーダ２０は、ＴＵのためのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用し得る。係数ブロックは変換係数の２次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ２０は、ＴＵのためのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用し得る。
【００４８】
[0061]係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後に、ビデオエンコーダ２０は、係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実行し得る。
【００４９】
[0062]ビデオエンコーダ２０は、コード化ピクチャと関連データとの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、ＮＡＬユニットのシーケンスを備え得る。ＮＡＬユニットは、ＮＡＬユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが点在させられたＲＢＳＰの形態でそのデータを含んでいるバイトとを含んでいる、シンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰは０ビットを含む。
【００５０】
[0063]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、第１のタイプのＮＡＬユニットはＰＰＳのためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットはＳＥＩメッセージのためのＲＢＳＰをカプセル化し得、以下同様である。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰとは対照的に）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ＶＣＬ  ＮＡＬユニットと呼ばれることがある。
【００５１】
[0064]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。さらに、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得するために、ビットストリームをパースし得る。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。さらに、ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた変換ブロックを再構成するために係数ブロックに対して逆変換を実行し得る。ビデオデコーダ３０は、現在ＣＵのＰＵのための予測ブロックのサンプルを現在ＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在ＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのためのコーディングブロックを再構成することによって、ビデオデコーダ３０はピクチャを再構成し得る。
【００５２】
[0065]クロマフォーマットと呼ばれることもあるビデオサンプリングフォーマットは、ＣＵ中に含まれるルーマサンプルの数に対して、ＣＵ中に含まれるクロマサンプルの数を定義し得る。クロマ成分のためのビデオサンプリングフォーマットに応じて、Ｕ成分およびＶ成分の、サンプルの数に関するサイズは、Ｙ成分のサイズと同じであるかまたはそれとは異なり得る。ＨＥＶＣ規格では、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃと呼ばれる値が、ルーマ成分に対して、クロマ成分の異なるサンプリングフォーマットを示すように定義される。ＨＥＶＣでは、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃはＳＰＳ中でシグナリングされる。表１は、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃの値と、関連するクロマフォーマットとの間の関係を示す。
【００５３】
【表１】
2020145716.tif 000003
【００５４】
[0066]表１では、変数ＳｕｂＷｉｄｔｈＣおよびＳｕｂＨｅｉｇｈｔＣが、ルーマ成分のためのサンプルの数と各クロマ成分のためのサンプルの数との間の、水平および垂直のサンプリングレートの比を示すために使用され得る。表１に記載されているクロマフォーマットでは、２つのクロマ成分は同じサンプリングレートを有する。したがって、４：２：０サンプリングでは、２つのクロマアレイの各々はルーマアレイの半分の高さと半分の幅とを有するが、４：２：２サンプリングでは、２つのクロマアレイの各々はルーマアレイの同じ高さと半分の幅とを有する。４：４：４サンプリングでは、２つのクロマアレイの各々はルーマアレイと同じ高さと幅とを有し得、または場合によっては、３つの色平面はすべて、モノクロームサンプリングされたピクチャとして別個に処理され得る。
【００５５】
[0067]表１の例では、４：２：０フォーマットの場合、水平方向と垂直方向の両方について、ルーマ成分のためのサンプリングレートは、クロマ成分のサンプリングレートの２倍である。結果として、４：２：０フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分のためのサンプルのアレイの幅および高さは、クロマ成分のためのサンプルの各アレイの幅および高さの２倍である。同様に、４：２：２フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分のためのサンプルのアレイの幅は、各クロマ成分のためのサンプルのアレイの幅の２倍であるが、ルーマ成分のためのサンプルのアレイの高さは、各クロマ成分のためのサンプルのアレイの高さに等しい。４：４：４フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分のためのサンプルのアレイは、各クロマ成分のためのサンプルのアレイと同じ幅と高さとを有する。ＹＵＶ色空間に加えて、ビデオデータはＲＧＢ空間色に従って定義され得ることに留意されたい。このようにして、本明細書で説明するクロマフォーマットはＹＵＶ色空間またはＲＧＢ色空間のいずれかに適用され得る。ＲＧＢクロマフォーマットは、一般に、赤サンプルの数と、緑サンプルの数と、青サンプルの数とが等しくなるようにサンプリングされる。したがって、本明細書で使用する「４：４：４クロマフォーマット」という用語は、ＹＵＶ色空間またはＲＧＢ色空間のいずれかを指すことがあり、ここにおいて、サンプルの数はすべての色成分について等しい。
【００５６】
[0068]図２Ａ〜図２Ｃは、ビデオデータのための異なるサンプルフォーマットを示す概念図である。図２Ａは、４：２：０サンプルフォーマットを示す概念図である。図２Ａに示されているように、４：２：０サンプルフォーマットの場合、クロマ成分はルーマ成分の４分の１のサイズである。したがって、４：２：０サンプルフォーマットに従ってフォーマットされたＣＵの場合、クロマ成分のサンプルごとに４つのルーマサンプルがある。図２Ｂは、４：２：２サンプルフォーマットを示す概念図である。図２Ｂに示されているように、４：２：２サンプルフォーマットの場合、クロマ成分はルーマ成分の２分の１のサイズである。したがって、４：２：２サンプルフォーマットに従ってフォーマットされたＣＵの場合、クロマ成分のサンプルごとに２つのルーマサンプルがある。図２Ｃは、４：４：４サンプルフォーマットを示す概念図である。図２Ｃに示されているように、４：４：４サンプルフォーマットの場合、クロマ成分はルーマ成分と同じサイズである。したがって、４：４：４サンプルフォーマットに従ってフォーマットされたＣＵの場合、クロマ成分のサンプルごとに１つのルーマサンプルがある。
【００５７】
[0069]図３は、４：２：０サンプルフォーマットに従ってフォーマットされた１６×１６コーディングユニットの一例を示す概念図である。図３は、ＣＵ内のルーマサンプルに対するクロマサンプルの相対位置を示す。上記で説明したように、ＣＵは、一般に、水平方向および垂直方向のルーマサンプルの数に従って定義される。したがって、図３に示されているように、４：２：０サンプルフォーマットに従ってフォーマットされた１６×１６ＣＵは、ルーマ成分の１６×１６サンプルと、各クロマ成分のための８×８サンプルとを含む。さらに、上記で説明したように、ＣＵはより小さいＣＵに区分され得る。たとえば、図３に示されているＣＵは、４つの８×８ＣＵに区分され得、ここで、各８×８ＣＵは、ルーマ成分のための８×８サンプルと、各クロマ成分のための４×４サンプルとを含む。
【００５８】
[0070]図４は、４：２：２サンプルフォーマットに従ってフォーマットされた１６×１６コーディングユニットの一例を示す概念図である。図４は、ＣＵ内のルーマサンプルに対するクロマサンプルの相対位置を示す。上記で説明したように、ＣＵは、一般に、水平方向および垂直方向のルーマサンプルの数に従って定義される。したがって、図４に示されているように、４：２：２サンプルフォーマットに従ってフォーマットされた１６×１６ＣＵは、ルーマ成分のための１６×１６サンプルと、各クロマ成分のための８×１６サンプルとを含む。さらに、上記で説明したように、ＣＵはより小さいＣＵに区分され得る。たとえば、図４に示されているＣＵは、４つの８×８ＣＵに区分され得、ここで、各ＣＵは、ルーマ成分のための８×８サンプルと、各クロマ成分のための４×８サンプルとを含む。
【００５９】
[0071]図５に、ＩＢＣモードの概念説明図を示す。ビデオエンコーダ２０およびビデオデコーダ３０は、たとえば、ＩＢＣモードを使用してビデオデータのブロックを符号化および復号するように構成され得る。リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動車インフォテインメント、クラウドコンピューティングなど、多くのアプリケーションは、人々の日常生活では日常的になりつつあり、そのようなコンテンツをコーディングするときのコーディング効率は、ＩＢＣモードの使用によって改善され得る。図１のシステム１０は、これらのアプリケーションのいずれかを実行するように構成されたデバイスを表し得る。これらの適用例におけるビデオコンテンツは、しばしば、自然コンテンツ、テキスト、人工グラフィックスなどの組合せである。ビデオフレームのテキストおよび人工グラフィックス領域では、（文字、アイコン、シンボルなどの）繰返しパターンがしばしば存在する。上記で紹介したように、ＩＢＣは、ＪＣＴ−ＶＣ  Ｍ０３５０において報告されたように、この種類の冗長性を除去することと、フレーム内コーディング効率を潜在的に改善することとを可能にする専用の技法である。図５に示されているように、ＩＢＣを使用するＣＵの場合、予測信号は同じフレーム（たとえば、ピクチャ）中のすでに再構成された領域から取得される。最後に、現在ＣＵから変位させられた予測信号の位置を示すオフセットまたはブロックベクトルは、残差信号とともに符号化される。
【００６０】
[0072]たとえば、図５は、本開示の技法によるＩＢＣモードに従って現在ピクチャ１０３内のビデオデータの現在ブロック１０２を予測するための例示的な技法を示している。図５に、現在ピクチャ１０３内の予測ビデオブロック１０４を示す。ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、本開示の技法によるＩＢＣモードに従って現在ビデオブロック１０２を予測するために、予測ビデオブロック１０４を使用し得る。
【００６１】
[0073]ビデオエンコーダ２０は、ビデオデータの前に再構成されたブロックのセットから現在ビデオブロック１０２を予測するための予測ビデオブロック１０４を選択する。ビデオエンコーダ２０は、符号化ビデオビットストリーム中にも含まれるビデオデータを逆量子化および逆変換することと、得られた残差ブロックをビデオデータの再構成ブロックを予測するために使用される予測ブロックと加算することとによって、ビデオデータのブロックを再構成する。図５の例では、「対象とするエリア」または「ラスタエリア」と呼ばれることもある、ピクチャ１０３内の対象とする領域１０８は、前に再構成されたビデオブロックのセットを含む。ビデオエンコーダ２０は、以下でより詳細に説明するように、様々な方法でピクチャ１０３内の対象とする領域１０８を定義し得る。ビデオエンコーダ２０は、対象とする領域１０８内の様々なビデオブロックに基づいて現在ビデオブロック１０２を予測およびコーディングすることの相対的な効率と精度との分析に基づいて、対象とする領域１０８中のビデオブロックの中から現在ビデオブロック１０２を予測するための予測ビデオブロック１０４を選択し得る。
【００６２】
[0074]対象とする領域１０８は、本開示では、ＩＢＣ予測領域と呼ばれることもある。本開示は、対象とする領域１０８中にどのブロックが含まれるかを変更し（modify）得る様々な技法について説明する。したがって、本開示の技法を実装するとき、対象とする領域１０８のサイズおよび形状は、図５の例において示されるサイズおよび形状とは異なり得る。
【００６３】
[0075]ビデオエンコーダ２０は、現在ビデオブロック１０２に対する予測ビデオブロック１０４のロケーションまたは変位を表す２次元ベクトル１０６を決定する。オフセットベクトルの一例である２次元ベクトル１０６は、それぞれ、現在ビデオブロック１０２に対する予測ビデオブロック１０４の水平変位と垂直変位とを表す、水平変位成分１１２と垂直変位成分１１０とを含む。ビデオエンコーダ２０は、２次元ベクトル１０６を識別または定義する、たとえば、水平変位成分１１２と垂直変位成分１１０とを定義する、１つまたは複数のシンタックス要素を符号化ビデオビットストリーム中に含め得る。ビデオデコーダ３０は、２次元ベクトル１０６を決定するために１つまたは複数のシンタックス要素を復号し、現在ビデオブロック１０２のための予測ビデオブロック１０４を識別するために、決定されたベクトルを使用し得る。
【００６４】
[0076]いくつかの例では、２次元ベクトル１０６の解像度は、整数ピクセルであり得、たとえば、整数ピクセル解像度を有するように制約され得る。そのような例では、水平変位成分１１２および垂直変位成分１１０の解像度は整数ピクセルである。そのような例では、ビデオエンコーダ２０およびビデオデコーダ３０は、現在ビデオブロック１０２のための予測子を決定するために予測ビデオブロック１０４のピクセル値を補間する必要はない。
【００６５】
[0077]他の例では、水平変位成分１１２と垂直変位成分１１０の一方または両方の解像度はサブピクセルであり得る。たとえば、成分１１２および成分１１０の一方は整数ピクセル解像度を有し得、他方はサブピクセル解像度を有する。いくつかの例では、水平変位成分１１２と垂直変位成分１１０の両方の解像度はサブピクセルであり得るが、水平変位成分１１２と垂直変位成分１１０とは異なる解像度を有し得る。
【００６６】
[0078]いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、特定のレベル、たとえば、ブロックレベル、スライスレベル、またはピクチャレベルの適応に基づいて、水平変位成分１１２および垂直変位成分１１０の解像度を適応させる。たとえば、ビデオエンコーダ２０は、スライスレベルにおいて、たとえば、スライスヘッダ中で、水平変位成分１１２および垂直変位成分１１０の解像度が整数ピクセル解像度であるのか整数ピクセル解像度でないのかを示すフラグをシグナリングし得る。フラグが、水平変位成分１１２および垂直変位成分１１０の解像度が整数ピクセル解像度ではないことを示す場合、ビデオデコーダ３０は、解像度がサブピクセル解像度であると推論し得る。いくつかの例では、必ずしもフラグであるとは限らない１つまたは複数のシンタックス要素は、ビデオデータのスライスまたは他のユニットごとに、水平変位成分１１２および／または垂直変位成分１１０の集合的な解像度または個々の解像度を示すために送信され得る。
【００６７】
[0079]さらに他の例では、フラグまたはシンタックス要素の代わりに、ビデオエンコーダ２０は、解像度コンテキスト情報に基づいて水平変位成分１１２および／または垂直変位成分１１０の解像度を設定し得、ビデオデコーダ３０は、解像度コンテキスト情報から水平変位成分１１２および／または垂直変位成分１１０の解像度を推論し得る。解像度コンテキスト情報は、例として、現在ビデオブロック１０２を含むピクチャまたはピクチャのシーケンスのための色空間（たとえば、ＹＵＶ、ＲＧＢなど）、特定の色フォーマット（たとえば、４：４：４、４：２：２、４：２：０など）、フレームサイズ、フレームレート、または量子化パラメータ（ＱＰ）を含み得る。少なくともいくつかの例では、ビデオコーダは、前にコーディングされたフレームまたはピクチャに関する情報に基づいて、水平変位成分１１２および／または垂直変位成分１１０の解像度を決定し得る。このようにして、水平変位成分１１２の解像度および垂直変位成分１１０のための解像度は、あらかじめ定義され、シグナリングされ得るか、他のサイド情報（たとえば、解像度コンテキスト情報）から推論され得るか、またはすでにコーディングされたフレームに基づき得る。
【００６８】
[0080]現在ビデオブロック１０２は、ＣＵ、またはＣＵのＰＵであり得る。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＩＢＣに従って予測されたＣＵをいくつかのＰＵに分割し得る。そのような例では、ビデオコーダは、ＣＵのＰＵの各々について、それぞれの（たとえば、異なる）２次元ベクトル１０６を決定し得る。たとえば、ビデオコーダは、２Ｎ×２Ｎ  ＣＵを２つの２Ｎ×Ｎ  ＰＵ、２つのＮ×２Ｎ  ＰＵ、または４つのＮ×Ｎ  ＰＵに分割し得る。他の例として、ビデオコーダは、２Ｎ×２Ｎ  ＣＵを（（Ｎ／２）×Ｎ＋（３Ｎ／２）×Ｎ）ＰＵ、（（３Ｎ／２）×Ｎ＋（Ｎ／２）×Ｎ）ＰＵ、（Ｎ×（Ｎ／２）＋Ｎ×（３Ｎ／２））ＰＵ、（Ｎ×（３Ｎ／２）＋Ｎ×（Ｎ／２））ＰＵ、４つの（Ｎ／２）×２Ｎ  ＰＵ、または４つの２Ｎ×（Ｎ／２）ＰＵに分割し得る。いくつかの例では、ビデオコーダは、２Ｎ×２Ｎ  ＰＵを使用して２Ｎ×２Ｎ  ＣＵを予測し得る。
【００６９】
[0081]現在ビデオブロック１０２は、ルーマビデオブロック（たとえば、ルーマ成分）と、ルーマビデオブロックに対応するクロマビデオブロック（たとえば、クロマ成分）とを含む。いくつかの例では、ビデオエンコーダ２０は、ルーマビデオブロックのための２次元ベクトル１０６を定義する１つまたは複数のシンタックス要素のみを符号化ビデオビットストリーム中に符号化し得る。そのような例では、ビデオデコーダ３０は、ルーマブロックのためにシグナリングされた２次元ベクトルに基づいて、ルーマブロックに対応する１つまたは複数のクロマブロックの各々のための２次元ベクトル１０６を導出し得る。本開示で説明する技法では、１つまたは複数のクロマブロックのための２次元ベクトルの導出において、ビデオデコーダ３０は、ルーマブロックのための２次元ベクトルがクロマサンプル内のサブピクセル位置を指す場合、ルーマブロックのための２次元ベクトルを変更し得る。
【００７０】
[0082]色フォーマット、たとえば、色サンプリングフォーマットまたはクロマサンプリングフォーマットに応じて、ビデオコーダは、ルーマビデオブロックに対して、対応するクロマビデオブロックをダウンサンプリングし得る。色フォーマット４：４：４はダウンサンプリングを含まず、これは、クロマブロックが水平方向および垂直方向においてルーマブロックと同じ数のサンプルを含むことを意味する。色フォーマット４：２：２は水平方向においてダウンサンプリングされ、これは、クロマブロック中にルーマブロックに対して水平方向において半分の数のサンプルがあることを意味する。色フォーマット４：２：０は水平方向および垂直方向においてダウンサンプリングされ、これは、クロマブロック中にルーマブロックに対して水平方向および垂直方向において半分の数のサンプルがあることを意味する。
【００７１】
[0083]ビデオコーダがクロマビデオブロックのためのベクトル１０６を対応するルーマブロックのためのベクトル１０６に基づいて決定する例では、ビデオコーダは、ルーマベクトルを変更する必要があり得る。たとえば、ルーマベクトル１０６が、水平変位成分１１２および／または垂直変位成分１１０が奇数のピクセルである整数解像度を有し、色フォーマットが４：２：２または４：２：０である場合、変換されたルーマベクトルは、対応するクロマブロック中の整数ピクセルロケーションを指さないことがある。そのような例では、ビデオコーダは、対応するクロマブロックを予測するためのクロマベクトルとして使用するためにルーマベクトルをスケーリングし得る。
【００７２】
[0084]説明したように、図５は、ＩＢＣモードでコーディングされている現在ＣＵを示している。現在ＣＵのための予測ブロックは、探索領域から取得され得る。探索領域は、現在ＣＵと同じフレームからのすでにコーディングされたブロックを含む。たとえば、フレームがラスタ走査順序で（すなわち、左から右におよび上から下に）コーディングされていると仮定すると、フレームのすでにコーディングされたブロックは、図５に示されているように、現在ＣＵの左側および上にあるブロックに対応する。いくつかの例では、探索領域はフレーム中のすでにコーディングされたブロックのすべてを含み得るが、他の例では、探索領域はすでにコーディングされたブロックのすべてよりも少ないブロックを含み得る。動きベクトルまたは予測ベクトルと呼ばれることがある、図５中のオフセットベクトルは、現在ＣＵの左上ピクセルと予測ブロックの左上ピクセルとの間の差分（図５中の標示された予測信号）を識別する。したがって、符号化ビデオビットストリーム中でオフセットベクトルをシグナリングすることによって、ビデオデコーダは、現在ＣＵがＩＢＣモードでコーディングされるとき、現在ＣＵのための予測ブロックを識別することができる。
【００７３】
[0085]ＩＢＣは、ＨＥＶＣへのＳＣＣ拡張を含む、ＳＣＣの様々な実装形態中に含まれている。ＩＢＣの一例について、図５に関して上記で説明したが、ここで、現在ＣＵ／ＰＵは、現在ピクチャ／スライスのすでに復号されたブロックから予測される。ＩＢＣでは、予測ブロック（たとえば図５中の予測ビデオブロック１０４）は、ループフィルタ処理されなかった、たとえばデブロックフィルタ処理またはＳＡＯフィルタ処理されなかった再構成ブロックであり得る。
【００７４】
[0086]ＩＢＣを用いてコーディングされるルーマ成分またはクロマ成分の場合、ブロック補償が整数ブロック補償を用いて行われ、したがって補間が必要とされない。したがって、ブロックベクトルは、整数レベル精度において予測され、シグナリングされる。
【００７５】
[0087]ＳＣＣの現在の実装形態では、ブロックベクトル予測子は、各ＣＴＢの始まりにおいて（−ｗ，０）に設定され、ここで、ｗはＣＵの幅に対応する。そのようなブロックベクトル予測子は、それがＩＢＣモードを用いてコーディングされる場合、最新のコード化ＣＵ／ＰＵのうちの１つであるように更新される。ＣＵ／ＰＵがＩＢＣを用いてコーディングされない場合、ブロックベクトル予測子は不変のままである。ブロックベクトル予測の後、ブロックベクトル差分は、ＨＥＶＣなどにおけるＭＶ差分（ＭＶＤ：MV difference）コーディング方法を使用して符号化される。
【００７６】
[0088]ＩＢＣの現在の実装形態は、ＣＵレベルとＰＵレベルの両方におけるＩＢＣコーディングを有効化する。ＰＵレベルのＩＢＣの場合、２Ｎ×ＮおよびＮ×２Ｎ  ＰＵ区分（partitions）が、すべてのＣＵサイズについてサポートされる。さらに、ＣＵが最も小さいＣＵであるとき、Ｎ×Ｎ  ＰＵ区分がサポートされる。
【００７７】
[0089]上記で紹介したように、ＨＥＶＣは、タイルおよび波面並列処理（ＷＰＰ）を含む、コーデックをより並列フレンドリー（parallel-friendly）にするためのいくつかの提案を含んでいる。ＨＥＶＣは、タイルのコーディングツリーブロックラスタ走査において連続的に順序付けられた、１つの列および１つの行中で同時に発生する整数個のコーディングツリーブロックとしてタイルを定義する。各ピクチャをタイルに分割することは区分である。
【００７８】
[0090]図６に、タイルが使用されるときのピクチャのラスタ走査を示す。ピクチャ内のタイルは、図６に示されているように、ピクチャのタイルラスタ走査において連続的に順序付けられる。タイルの数およびそれらの境界のロケーションは、シーケンス全体について定義されるか、またはピクチャごとに変更され得る。タイル境界は、スライス境界と同様に、タイルが独立して処理され得るように、パースおよび予測依存性を断つ。ただし、ループ内フィルタ（デブロッキングおよびＳＡＯ）は、タイル境界を依然として越え得る。ＨＥＶＣはまた、スライスとタイルとの間の関係に対するいくつかの制約を規定する。図６の例では、ライン１１４Ａおよび１１４Ｂは垂直タイル境界を表し、ライン１１４Ｃおよび１１４Ｄは水平タイル境界を表す。各タイル内の番号は、タイル内のＣＴＢのためのラスタ走査順序を表す。たとえば、左上端のタイルの場合、０と標示されたブロックが最初に復号され、次いで１と標示されたブロックが復号され、次いで２と標示されたブロックが復号され、以下同様である。
【００７９】
[0091]タイルを使用することの潜在的な利点は、そのタイルが、ビデオデコーダ３０など、エントロピー復号および動き補償再構成のためのビデオデコーダのプロセッサ間の通信を常に必要とするとは限らないことである。しかしながら、そのような通信は、シンタックス要素ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に設定される場合、必要とされ得る。スライスと比較して、タイルが、スライスよりも潜在的に高い相関をもつサンプルを含んでいるピクチャ区分形状を可能にするので、また、タイルがスライスヘッダオーバーヘッドを潜在的に低減するので、タイルは、潜在的により良好なコーディング効率を有する。
【００８０】
[0092]ＨＥＶＣにおけるタイル設計は、いくつかの利益を与え得る。一例として、タイルは、ビデオデコーダ３０による並列処理を有効化し得る。別の例として、タイルは、スライスの使用と比較して、ＣＴＵの変更された復号順序を可能にすることによってコーディング効率を改善し得るが、主要な利益は第１の利益である。タイルがシングルレイヤコーディングにおいて使用されるとき、シンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔａｔｉｏｎ＿ｉｄｃは、デコーダが並列復号情報を最大限に利用することを想定して、１つの処理スレッドによって処理されるべきルーマサンプルの最大数を計算するためにデコーダによって使用され得る。ＨＥＶＣでは、たとえば、エントロピーコーディング同期あるいはタイル境界またはスライス境界を越えるデブロッキングフィルタ処理により、異なるスレッド間に同じピクチャの相互依存性があり得る。ＨＥＶＣは、エンコーダがｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔａｔｉｏｎ＿ｉｄｃの値を最高の可能な値であるように設定することを奨励する注釈を含む。
【００８１】
[0093]上記で紹介したように、ＨＥＶＣはまた、ＷＰＰをサポートする。ＷＰＰが有効化されるとき、ピクチャの各ＣＴＵ行は、分離された区分である。しかしながら、スライスおよびタイルと比較すると、ＷＰＰでは、コーディング依存性がＣＴＵ行の境界において断たれない。さらに、コーディング損失をさらに低減するために、ＣＡＢＡＣ確率が、前の行の第２のＣＴＵから伝搬される。また、ＷＰＰは、通常のラスタ走査順序を変更しない。依存性が断たれないので、ＷＰＰビットストリームのレートひずみ損失は、非並列ビットストリームのレートひずみ損失と比較して小さくなり得る。
【００８２】
[0094]ＷＰＰが有効化されるとき、ＣＴＵ行の数までの数のプロセッサが、ＣＴＵ行（またはライン）を処理するために並列に動作し得る。しかしながら、波面依存性は、すべてのＣＴＵ行がピクチャの始まりにおいて復号を開始することを可能にするとは限らない。したがって、ＣＴＵ行はまた、ピクチャの終わりにおいて、復号を同時に終了することができない。これは、多数のプロセッサが使用されるときにより明白になる、並列化非効率性をもたらす。
【００８３】
[0095]図７に、各行が、上の行の第２のＣＴＢを処理した後に利用可能なＣＡＢＡＣ確率を用いて開始する、ＣＴＢの行を並列に処理するＷＰＰの一例を示す。行１１６Ａ〜１１６Ｇの各々が並列に復号され得るが、各行が上の行の情報に潜在的に依存するので、すべての行の復号が同時に開始することが可能であるとは限らない。たとえば、ビデオデコーダ３０は、行１１６Ｃの一定数のブロックが復号されるまで、行１１６Ｄを復号することを開始することができない。同様に、ビデオデコーダ３０は、１１６Ｄの一定数のブロックがすでに復号されるまで、１１６Ｅを復号することを開始することができない。以下でより詳細に説明するように、上の行を復号することを開始した後、ある行を復号する前にビデオデコーダ３０が待つ時間の量は、遅延と呼ばれることがある。図７の例では、グレーのブロックは、すでに復号されたブロックを表し、白のブロックは、まだ復号されていないブロックを表す。図７に見られるように、行は、一般に、すぐ下の行よりも多くのすでに復号されたブロックを有する。
【００８４】
[0096]タイルおよびＷＰＰなどの並列処理技法とともにＩＢＣモードにおいてビデオデータをコーディングすることは、潜在的困難を生じ（pose）得る。ＩＢＣモードは、同じピクチャ内の前に復号されたフィルタ処理されていないサンプルを予測のために使用する。現在のテストモデルでは、ＩＢＣモードの場合、探索範囲は、無制限であり、現在ピクチャのいかなるフィルタ処理されていない復号されたサンプルをも使用することができる（全探索ＩＢＣ）。リアルタイム適用例では、同時に複数のＣＴＵを有効化された処理することのために、非ラスタ順序（たとえばＷＰＰ）で処理することが一般的である。ＨＥＶＣは、ＷＰＰまたはｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが有効化されるときのエントロピー復号順序を定義する。
【００８５】
[0097]ＷＰＰおよびタイルを用いたＳＣＣのいくつかの実装形態は、非ラスタ走査が有効化されるとき、潜在的にいくつかの問題を有する。第１の例として、予測サンプルの利用可能性が、常にラスタ順序順次処理に基づいて考慮される。これは、システムの並列処理能力に潜在的に著しく影響を及ぼす。第２の例として、最近のＪＣＴ−ＶＣ会議において、ＷＰＰが有効化されるときエントロピーパーシング（entropy parsing）に対して同様のライン中のＩＢＣ予測領域を制限するためのいくつかの提案があった。しかしながら、これは、ＩＢＣモードのために利用可能である限られた探索範囲により、コーディング効率に潜在的に著しい影響を及ぼす。
【００８６】
[0098]並列処理方式のようなＷＰＰを可能にし、コーディング効率損失を低減するために、本開示は、ＩＢＣ探索範囲および／またはＩＢＣブロックベクトルに対するいくつかのフレキシブルな制限を追加するための技法について説明する。
【００８７】
[0099]以下の技法の各々は、別々にまたは一緒に適用され得る。本開示で説明する技法は、ＩＢＣ予測のための予測領域の利用可能性を詳述する。さらに、この領域は、ＷＰＰに基づいて有効化されるか否かに依存し得る。
【００８８】
[0100]第１の技法によれば、サンプルを再構成することの固定の処理順序が考慮され得る。（たとえばＷＰＰが有効化されるときのエントロピーパーシング順序または以下の処理順序のうちのいずれか）。すでに復号／再構成されたサンプルが、予測のためにのみ使用され得る。
【００８９】
[0101]第２の技法によれば、サンプルを再構成することの固定の処理順序が考慮され得る。（たとえばＷＰＰが有効化されるときのエントロピーパーシング順序または以下の処理順序のうちのいずれか）。すでに復号／再構成されたサンプルが、予測のためにのみ使用され得る。さらに、現在ＣＴＢの下のいかなる領域もＩＢＣ予測のために利用可能でないと見なされる。
【００９０】
[0102]第３の技法によれば、サンプルを再構成することの固定の処理順序が考慮され得る。（たとえばＷＰＰが有効化されるときのエントロピーパーシング順序または以下の処理順序のうちのいずれか）、および現在のＣＴＢの下のいかなる領域も、ＩＢＣ予測のために利用可能でないと見なされ、部分領域が、ＳＰＳヘッダ中で指定された最大ＴＵサイズに基づいて、現在ＣＴＢの上のために利用可能でないと見なされる。
【００９１】
[0103]第４の技法によれば、サンプルを再構成することの固定の処理順序が考慮され得る。（たとえばＷＰＰが有効化されるときのエントロピーパーシング順序または以下の処理順序のうちのいずれか）、および部分領域が、ＳＰＳヘッダ中で指定された最大ＴＵサイズに基づいて、現在ＣＴＢの上のために利用可能でないと見なされる。
【００９２】
[0104]第５の技法によれば、サンプルを再構成することのフレキシブルな処理順序が、ＩＢＣ予測のために有効であると見なされ得、この領域がビットストリーム中でシグナリングされる。
【００９３】
[0105]第６の技法によれば、サンプルを再構成することのフレキシブルな処理順序が、ＩＢＣ予測のために有効であると見なされ得、この領域がビットストリーム中でシグナリングされ、現在ＣＴＢの下のいかなる領域も、ＩＢＣ予測のために利用可能でないと見なされる。次に、上記で紹介した様々な技法の例をより詳細に示す。
【００９４】
[0106]図８〜図１２に、ＷＰＰを使用して復号されるように構成されたブロックの例を示す。図８〜図１２に示されている領域の各々は、ＣＴＢに対応する。図８〜図１２の例では、Ｘで標示されたＣＴＢは、復号されている現在ブロックを表す。ＩＢＣ予測の場合、１で標示されたブロックはＩＢＣのために使用されることがあり、０で標示されたブロックはＩＢＣのために使用されないことがある。
【００９５】
[0107]図８に、上のＣＴＢ行に関して１ＣＴＢ遅延をもつＩＢＣ処理順序を用いた第１の例について次に説明するを示す。図８に示されているような以下の制限が、どのＩＢＣブロックも、０でマークされた領域から予測しないように、ＩＢＣブロックベクトルに対して適用される。図８では、「１」でマークされた領域は、すでに再構成された有効な予測された領域である。これらの制限は、「０」でマークされたいかなる領域も現在ブロックｘと並列に処理することを可能にする。
８．４．４  イントラブロックコピー予測モードにおけるブロックベクトル成分のための導出プロセス
−  以下は、ビットストリーム適合の要件である。
【００９６】
【数１】
2020145716.tif 000004
【００９７】
および
【００９８】
【数２】
2020145716.tif 000005
【００９９】
[0108]本開示の一技法によれば、波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのために、ビデオデコーダ３０は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、ＣＴＢ遅延を決定し得る。ＩＢＣモードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、ビデオデコーダ３０は、ＷＰＰが有効化されてコーディングされる１つまたは複数のブロックのために決定されたＣＴＢ遅延に基づいて、現在ブロックを含むピクチャ内の現在ブロックのためのＩＢＣ予測領域を決定し得る。言い換えれば、ビデオデコーダ３０は、ＷＰＰが有効化または無効化されるか否かにかかわらないことを意味する、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値にかかわらず、ＣＴＢ遅延に基づいて、現在ブロックのためのＩＢＣ予測領域を決定し得る。常に、ＣＴＢ遅延に基づいてＩＢＣ予測領域を決定することによって、全体的復号複雑さは低減されるが、ビデオデコーダ３０がＷＰＰが有効化されてＩＢＣモードをサポートすることを依然として可能にする方法で低減される。
【０１００】
[0109]いくつかの代替実装形態では、上記の制限は、どのＩＢＣブロックも、復号されない領域から予測しないように、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、ＩＢＣブロックベクトルに対して適用されるにすぎないことがある。
８．４．４  イントラブロックコピー予測モードにおけるブロックベクトル成分のための導出プロセス
−  以下は、ビットストリーム適合の要件である。
ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき
【０１０１】
【数３】
2020145716.tif 000006
【０１０２】
およびｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき
【０１０３】
【数４】
2020145716.tif 000007
【０１０４】
[0110]次に、上のＣＴＢ行に関して２ＣＴＢ遅延をもつＩＢＣ処理順序を用いた第２の例について説明する。図９に示されているような以下の制限が、どのＩＢＣブロックも「０」領域から予測しないように、ＩＢＣブロックベクトルに対して適用される。図９では、１でマークされた領域は、すでに再構成された有効な予測された領域である。これらの制限は、「０」でマークされたいかなる領域も現在ブロックｘと並列に処理することを可能にする。ここで、各領域はＣＴＢに対応する。
８．４．４  イントラブロックコピー予測モードにおけるブロックベクトル成分のための導出プロセス
−  以下は、ビットストリーム適合の要件である。
【０１０５】
【数５】
2020145716.tif 000008
【０１０６】
および
【０１０７】
【数６】
2020145716.tif 000009
【０１０８】
[0111]代替的に、上記の制限条件は、どのＩＢＣブロックも、復号されない領域から予測しないように、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいときのみ、ＩＢＣブロックベクトルに対して適用される。
８．４．４  イントラブロックコピー予測モードにおけるブロックベクトル成分のための導出プロセス
−  以下は、ビットストリーム適合の要件である。
ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき
【０１０９】
【数７】
2020145716.tif 000010
【０１１０】
およびｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき
【０１１１】
【数８】
2020145716.tif 000011
【０１１２】
[0112]次に、タイル形の領域をもつＩＢＣ処理順序を用いた第３の例について説明する。図１０に示されているような以下の制限が、どのＩＢＣブロックも「０」領域から予測しないように、ＩＢＣブロックベクトルに対して適用される。図１０では、１でマークされた領域は、すでに再構成された有効な予測された領域である。これらの制限は、「０」でマークされたいかなる領域も現在ブロックｘと並列に処理することを可能にする。ここで、各領域はＣＴＢに対応する。
【０１１３】
[0113]一例では、上記の制限は、以下のようにｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいときのみ適用される。
８．４．４  イントラブロックコピー予測モードにおけるブロックベクトル成分のための導出プロセス
−−−−
−  以下は、ビットストリーム適合の要件である。
【０１１４】
【数９】
2020145716.tif 000012
【０１１５】
[0114]代替的に、上記の制限条件は、どのＩＢＣブロックも、復号されない領域から予測しないように、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいときのみ、ＩＢＣブロックベクトルに対して適用される。以下は、ビットストリーム適合の要件である。ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき
【０１１６】
【数１０】
2020145716.tif 000013
【０１１７】
[0115]次に、上のＣＴＢ行に関して１未満のＣＴＢ遅延をもつＩＢＣ処理順序を用いた第４の例について説明する。この例では、上記で説明した「上のＣＴＢ行に関して１ＣＴＢ遅延をもつＩＢＣ処理順序」と同様に、ただし、代わりに、１未満のＣＴＢ遅延である最大ＴＵブロックの遅延を用いて、ＩＢＣのための予測サンプルを制限することが提案される。最大ＴＵサイズｍａｘＴＵＳｉｚｅＹが、ｍａｘＴＵＳｉｚｅＹ＝１＜＜ＭａｘＴｂＬｏｇ２ＳｉｚｅＹとして導出されるものとする。（ＳＰＳ中でシグナリングされる）。
８．４．４  イントラブロックコピー予測モードにおけるブロックベクトル成分のための導出プロセス
−  以下は、ビットストリーム適合の要件である。
【０１１８】
【数１１】
2020145716.tif 000014
【０１１９】
および
【０１２０】
【数１２】
2020145716.tif 000015
【０１２１】
[0116]代替的に、上記の制限条件は、どのＩＢＣブロックも、復号されない領域から予測しないように、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいときのみ、ＩＢＣブロックベクトルに対して適用される。
８．４．４  イントラブロックコピー予測モードにおけるブロックベクトル成分のための導出プロセス
−  以下は、ビットストリーム適合の要件である。
ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき
【０１２２】
【数１３】
2020145716.tif 000016
【０１２３】
およびｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき
【０１２４】
【数１４】
2020145716.tif 000017
【０１２５】
[0117]波面並列処理は、ピクチャ中の各ＣＴＢ行を並列処理することを可能にする。たとえば、１０８０ｐピクチャでは、システムが１７個の並列処理コアを有する場合、１７個までのＣＴＢ行が並列に処理され得る。しかしながら、たいていのマルチコアシステムでは、限られた数（たとえば４つ）の並列処理コアのみが使用されることが一般的である。このシナリオでは、４つのＣＴＢ行のみが並列に処理され、第５のＣＴＢ行が、上の４つのＣＴＢ行のうちの１つの完了の後に処理される。そのようなシナリオでは、第５のＣＴＢ行が、前の４つのＣＴＢ行からのすでに復号された領域から予測することが可能である。この例では、各ＣＴＢ行のために、すべてのそれの前の復号されたＣＴＢ行のための有効な復号された領域（ＣＴＢ）をシグナリングすることが提案される。別の実施形態では、各ＣＴＢ行のために、すべてのそれのＣＴＢ行のための有効な復号された領域（ＣＴＢ）をシグナリングすることが提案される。この情報は、ＳＰＳ、ＶＰＳ、ＰＰＳ、スライスヘッダまたはそれらのそれぞれの拡張中でシグナリングされ得る。代替的に、この情報は、ＳＥＩメッセージ中でシグナリングされ得る。
【０１２６】
[0118]一例では、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいときに基づいて、以下の情報が条件付きでシグナリングされる。代替的に以下の情報は、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが有効化されるか否かとは無関係にシグナリングされる。
【０１２７】
[0119]別の例では、以下の情報は、少なくとも１つのパラメータセット（ＰＰＳ、ＳＰＳ、ＶＰＳ）またはそれの拡張中でシグナリングされ得る、ＩＢＣツール有効化フラグ上で条件付きでシグナリングされる。
【０１２８】
[0120]第１の例では、各ＣＴＢ行のために、それの上のＣＴＢの行のすべてのためのＩＢＣ予測のための利用可能性領域がシグナリングされる。たとえば図１１参照。現在ＣＴＢの下の領域は、ＩＢＣ予測のために利用可能でないと見なされる。以下は、スライスヘッダにおける提案する方法の例示的な実装形態である。
【０１２９】
【表２】
2020145716.tif 000018
【０１３０】
【表３】
2020145716.tif 000019
【０１３１】
１に等しいｐｐｓ＿ｉｂｃ＿ｒｅｆ＿ａｖａｉｌ＿ｒｅｓｔｒｉｃｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、イントラブロックコピー参照使用制限が存在し、スライスのすべてのコード化ツリーブロックのためにスライスセグメントヘッダ中でシグナリングされることを指定する。０に等しいｐｐｓ＿ｉｂｃ＿ｒｅｆ＿ａｖａｉｌ＿ｒｅｓｔｒｉｃｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、イントラブロックコピー参照使用情報がスライスセグメントヘッダ中に存在しないことを指定するｐｐｓ＿ｉｂｃ＿ｒｅｆ＿ａｖａｉｌ＿ｒｅｓｔｒｉｃｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが存在しないとき、それは０であると推論される。
【０１３２】
ｎｕｍ＿ｃｔｂＹ＿ｉｎ＿ｓｌｉｃｅ＿ｍｉｎｕｓ１＋１は、スライス中のＣＴＢ行の数を指定する。
【０１３３】
ｍａｘ＿ｄｅｌａｙ＿ＩＢＣＰｒｅｄ＿ｉｎ＿ＣＴＢｓ［ｉ］［ｊ］は、現在ＣＴＢ行ｉのために、ＩＢＣ予測のために利用可能である、前の各ＣＴＢ行ｊのためのＣＴＢに関するその最大遅延を指定する。存在しないとき、それは行中のＣＴＢの数に等しいと推論される。
【０１３４】
[0121]別の例示的な実装形態では、各ＣＴＢ行のために、すべてのＣＴＢの行のためのＩＢＣ予測のための利用可能性領域がシグナリングされる。たとえば図１２参照。以下は、スライスヘッダにおける提案する方法の例示的な実装形態である。
【０１３５】
【表４】
2020145716.tif 000020
【０１３６】
１に等しいｐｐｓ＿ｉｂｃ＿ｒｅｆ＿ａｖａｉｌ＿ｒｅｓｔｒｉｃｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、イントラブロックコピー参照使用制限が存在し、スライスのすべてのコード化ツリーブロックのためにスライスセグメントヘッダ中でシグナリングされることを指定する。０に等しいｐｐｓ＿ｉｂｃ＿ｒｅｆ＿ａｖａｉｌ＿ｒｅｓｔｒｉｃｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、イントラブロックコピー参照使用情報がスライスセグメントヘッダ中に存在しないことを指定するｐｐｓ＿ｉｂｃ＿ｒｅｆ＿ａｖａｉｌ＿ｒｅｓｔｒｉｃｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが存在しないとき、それは０であると推論される。
【０１３７】
ｎｕｍ＿ｃｔｂＹ＿ｉｎ＿ｓｌｉｃｅ＿ｍｉｎｕｓ１＋１は、スライス中のＣＴＢ行の数を指定する。
【０１３８】
ｍａｘ＿ｄｅｌａｙ＿ＩＢＣＰｒｅｄ＿ｉｎ＿ＣＴＢｓ［ｉ］［ｊ］は、現在ＣＴＢ行ｉのために、ＩＢＣ予測のために利用可能である、前の各ＣＴＢ行ｊのためのＣＴＢに関するその最大遅延を指定する。存在しないとき、それは行中のＣＴＢの数に等しいと推論される。
【０１３９】
[0122]代替的に、これは、ＳＰＳ  ＶＵＩまたはＳＥＩメッセージにおいてシグナリングされ、ＪＣＴＶＣ−Ｓ０１４５および２０１４年１０月７日に出願された米国仮特許出願６２／０６１，０６３号において提案された態様と組み合わせられ得る。
【０１４０】
[0123]本開示の別の例示的な技法は、マージのためのＩＢＣモードのシグナリングに関する。本開示は、マージモードのためのＩＢＣモードの使用をシグナリングする技法を紹介する。提案する方法は、主に、場合によっては高ビット深度（８ビット超）のサポート、４：４：４、４：２：２、４：２：０、４：０：０などの異なるクロマサンプリングフォーマットなどを含む、スクリーンコンテンツコーディングに関係する。
【０１４１】
[0124]最近のＪＣＴ−ＶＣ会議では、ＩＢＣモードが使用されるときのマージ候補リスト生成を変更するための提案があった。ＩＢＣの予測特性がインターとは異なることが観測されたので、マージ候補リスト生成プロセスがインターとは異なって変更されるとき、コーディング効率を与えることが示された。
【０１４２】
[0125]図１３に、ＩＢＣマージプロセスがインターマージプロセスとは別々にシグナリングされる、例示的なシグナリング技法を示す。図１３の例では、ビデオデコーダ３０は、ＰＵのために、ＰＵのＣＵがインターモードにおいてコーディングされるかどうかを示すシンタックス要素（２１０）を受信する。ＣＵのためのｃｕ＿ｓｋｉｐ＿ｆｌａｇが真（２１２、Ｙｅｓ）である場合、ＣＵは、スキップモードにおいてコーディングされ、ビデオデコーダ３０は、ＣＵのためのマージインデックス（２１４）を受信または推論し、決定されたマージインデックスに関連する動き情報に従ってＣＵをコーディングする。ＣＵのためのｃｕ＿ｓｋｉｐ＿ｆｌａｇが偽（２１２、Ｎｏ）である場合、ビデオデコーダ３０は、シンタックス要素ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ（２１６）とマージフラグ（２１８）とを受信する。マージフラグが真（２２０、Ｙｅｓ）である場合、ビデオデコーダ３０は、マージインデックス（２１４）を受信し、マージインデックスに関連する動き情報に従ってＣＵを復号する。マージフラグが偽（２２０、Ｎｏ）である場合、ビデオデコーダ３０は、別のｉｎｔｒａ＿ｂｃ＿ｆｌａｇ（２２４）を受信する。ｉｎｔｒａ＿ｂｃ＿ｆｌａｇが真（２２４、Ｙｅｓ）である場合、ビデオデコーダ３０は、ブロックベクトル情報（２２６）を受信する。受信されたブロックベクトル情報に基づいて、ビデオデコーダ３０はＣＵを復号する。ｉｎｔｒａ＿ｂｃ＿ｆｌａｇが偽（２２４、Ｎｏ）である場合、ビデオデコーダ３０は動きベクトル情報（２２８）を受信する。動きベクトル情報に基づいて、ビデオデコーダ３０はＣＵを復号する。
【０１４３】
[0126] 図１３で説明するシグナリングの方式は、潜在的問題を有する。一例として、インターモードとＩＢＣモードを分離するためのあらゆるＰＵのためのｉｎｔｒａ＿ｂｃ＿ｆｌａｇのシグナリングは、ＩＢＣモードとインターモードとの統一のために効率的でないことがある。この問題に関係する態様／解決策は、２０１４年１０月７日に出願された米国仮特許出願６２／０６１，１２１号、２０１５年１０月６日に出願された米国特許出願１４／８７６，６９９号、およびＪＣＴＶＣ−Ｓ０１１３においてカバーされる。インター予測に関して、ＢＶＤおよびＢＶＰ＿ｉｄｘのコーディングをＭＶＤおよびＭＶＰインデックスのコーディングと整合させることが提案された。
【０１４４】
[0127]本開示の一技法によれば、図１４に示されているように、現在ＰＵがマージである（すなわちｍｅｒｇｅ＿ｆｌａｇが１である）ときのみ、ｉｎｔｒａ＿ｂｃ＿ｆｌａｇをシグナリングすることが提案される。さらに、ｉｎｔｒａ＿ｂｃ＿ｆｌａｇは、少なくとも１つのパラメータセット（ＰＰＳ、ＳＰＳ、ＶＰＳ）中でまたは他の場所でシグナリングされ得る、ＩＢＣツール有効化フラグ上で条件付きでシグナリングされ得る。本開示は、マージＰＵの場合のみシグナリングされるｉｎｔｒａ＿ｂｃ＿ｆｌａｇに基づいて、ＩＢＣマージプロセスをインターマージプロセスから分離するための技法を紹介する。そのような事例では、ＩＢＣモードのためのマージ候補リストと従来のインター予測のためのマージ候補リストとは異なり得る。シンタックス要素ｉｎｔｒａ＿ｂｃ＿ｆｌａｇは、以下の場合、シグナリングされず、１として推論されないことがある。（１）現在スライスがＩスライスである、（２）現在ＣＵサイズが８×８であり、それの区分サイズがＮ×Ｎである。
【０１４５】
[0128]図１４に、図１３の別々にシグナリングすることと比較してＩＢＣマージプロセスが１回のみシグナリングされる例示的なシグナリング技法を示す。図１４の例では、ビデオデコーダ３０は、ＰＵのために、ＰＵのＣＵがインターモードにおいてコーディングされるかどうかを示すシンタックス要素（２３０）を受信する。ＣＵのためのｃｕ＿ｓｋｉｐ＿ｆｌａｇが真（２３２、Ｙｅｓ）である場合、ＣＵは、スキップモードにおいてコーディングされ、ビデオデコーダ３０は、ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ（２３４）とＣＵのためのマージインデックス（２１４）とを受信し、決定されたマージインデックスに関連する動き情報に従ってＣＵをコーディングする。ＣＵのためのｃｕ＿ｓｋｉｐ＿ｆｌａｇが偽（２３２、Ｎｏ）である場合、ビデオデコーダ３０は、マージフラグ（２４０）を受信する。マージフラグが真（２４０、Ｙｅｓ）である場合、ビデオデコーダ３０は、ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ（２３４）とマージインデックス（２３６）とを受信し、マージインデックスに関連する動き情報に従ってＣＵを復号する。マージフラグが偽（２４０、Ｎｏ）である場合、ビデオデコーダ３０は、動き情報（２４２）を受信し、場合によってはＩＢＣブロックベクトル情報を含み、動き情報に従ってＣＵを復号する。
【０１４６】
[0129]図１５は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオを後処理エンティティ２７に出力するように構成され得る。後処理エンティティ２７は、ビデオエンコーダ２０からの符号化ビデオデータを処理し得る、ＭＡＮＥまたはスプライシング／編集デバイスなど、ビデオエンティティの一例を表すものとする。いくつかの事例では、後処理エンティティ２７はネットワークエンティティの一例であり得る。いくつかのビデオ符号化システムでは、後処理エンティティ２７およびビデオエンコーダ２０は別個のデバイスの一部であり得、他の事例では、後処理エンティティ２７に関して説明する機能は、ビデオエンコーダ２０を備える同じデバイスによって実行され得る。いくつかの例では、後処理エンティティ２７は図１のストレージデバイス１７の一例である。
【０１４７】
[0130]ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディング、インターコーディング、およびＩＢＣコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。ＩＢＣコーディングモードは、上記で説明したように、ビデオデータのフレームから空間冗長性を除去し得るが、従来のイントラモードとは異なり、ＩＢＣコーディングコードは、イントラ予測コーディングモードに依拠するのではなく、フレーム内のより大きい探索エリア中の予測ブロックの位置を特定し、オフセットベクトルを用いて予測ブロックを指すために使用され得る。
【０１４８】
[0131]図１５の例では、ビデオエンコーダ２０は、ビデオデータメモリ３３と、区分ユニット３５と、予測処理ユニット４１と、フィルタユニット６３と、復号ピクチャバッファ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測処理ユニット４６と、ＩＢＣユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。フィルタユニット６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ：adaptive loop filter）、およびサンプル適応オフセット（ＳＡＯ：sample adaptive offset）フィルタなど、１つまたは複数のループフィルタを表すものとする。図１５ではフィルタユニット６３はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット６３はループ後フィルタとして実装され得る。
【０１４９】
[0132]様々な例では、ビデオエンコーダ２０の固定またはプログラマブルハードウェアユニットは、本開示の技法を実行する役割を担い得る。また、いくつかの例では、本開示の技法は、図１５に示されているビデオエンコーダ２０の図示された固定またはプログラマブルハードウェアユニットのうちの１つまたは複数の間で分割され得るが、他のデバイスも本開示の技法を実行し得る。たとえば、図１５の例に従って、ビデオエンコーダ２０のＩＢＣユニット４８は、単独で、または、動き推定ユニット４２、動き補償ユニット４４、イントラ予測処理ユニット４６、およびエントロピー符号化ユニット５６など、ビデオエンコーダ２０の他のユニットと組み合わせて、本開示の技法を実行し得る。いくつかの例では、ビデオエンコーダ２０はＩＢＣユニット４８を含まないことがあり、ＩＢＣユニット４８の機能は、動き推定ユニット４２および／または動き補償ユニット４４など、予測処理ユニット４１の他の構成要素によって実行され得る。
【０１５０】
[0133]ビデオデータメモリ３３は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ３３に記憶されるビデオデータは、たとえば、ビデオソース１８から取得され得る。復号ピクチャバッファ６４は、たとえば、イントラコーディングモード、インターコーディングモード、またはＩＢＣコーディングモードにおいてビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ３３および復号ピクチャバッファ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ３３および復号ピクチャバッファ６４は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ３３は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１５１】
[0134]図１５に示されているように、ビデオエンコーダ２０はビデオデータを受信し、ビデオデータをビデオデータメモリ３３に記憶する。区分ユニット３５はデータをビデオブロックに区分する。この区分はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分を含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（たとえば、コーディングレートおよびひずみレベル）に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの１つ、複数のインターコーディングモードのうちの１つ、または複数のＩＢＣコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコード化ブロック、インターコード化ブロック、またはＩＢＣコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【０１５２】
[0135]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４はまた、空間圧縮を行うために、同じピクチャ中の１つまたは複数の予測ブロックに対して現在ビデオブロックのＩＢＣコーディングを実行し得る。
【０１５３】
[0136]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードまたはＩＢＣモードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライス、ＢスライスまたはＧＰＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。ＩＢＣコーディングの場合、ＩＢＣにおいてオフセットベクトルと呼ばれることがある動きベクトルは、現在ビデオフレーム内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。ＩＢＣユニット４８は、インター予測のための動き推定ユニット４２による動きベクトルの決定と同様の様式で、ＩＢＣコーディングのためのベクトル、たとえば、ブロックベクトルを決定し得るか、またはブロックベクトルを決定するために動き推定ユニット４２を利用し得る。
【０１５４】
[0137]予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、復号ピクチャバッファ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【０１５５】
[0138]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々が、復号ピクチャバッファ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０１５６】
[0139]いくつかの例では、ＩＢＣユニット４８は、動き推定ユニット４２および動き補償ユニット４４に関して上記で説明した様式と同様の様式で、ベクトルを生成し、予測ブロックをフェッチし得るが、予測ブロックは、現在ブロックと同じピクチャまたはフレーム中にあり、ベクトルは、動きベクトルの対語としてブロックベクトルと呼ばれる。他の例では、ＩＢＣユニット４８は、本明細書で説明する技法に従ってＩＢＣ予測のためのそのような機能を実行するために、全体的にまたは部分的に、動き推定ユニット４２および動き補償ユニット４４を使用し得る。いずれの場合も、ＩＢＣでは、予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックであり得、ブロックの識別は、サブ整数ピクセル位置のための値の計算を含み得る。
【０１５７】
[0140]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。補間フィルタ処理は、既知のピクセルサンプルから追加のピクセルサンプルを生成し、したがって、ビデオブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増加させ得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す、またはＩＢＣコーディングの場合、コーディングされているピクチャ内の、予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０１５８】
[0141] イントラ予測処理ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測、またはＩＢＣユニット４８によって実行されるＩＢＣの代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測処理ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
【０１５９】
[0142]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
【０１６０】
[0143]予測処理ユニット４１が、インター予測、イントラ予測、またはＩＢＣのいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０１６１】
[0144]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【０１６２】
[0145]量子化の後に、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）あるいは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、あるいはビデオデコーダ３０が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０１６３】
[0146]逆量子化ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。補間フィルタ処理は、既知のピクセルサンプルから追加のピクセルサンプルを生成し、したがって、ビデオブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増加させ得る。加算器６２は、復号ピクチャバッファ６４に記憶するための参照ブロックを生成するために、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１６４】
[0147]ビデオエンコーダ２０は、本開示の技法による、ビデオデータを符号化するように構成されたビデオエンコーダの一例を表す。たとえば、ビデオエンコーダ２０は、ＷＰＰが有効化されてコーディングされる１つまたは複数のブロックのためのＣＴＢ遅延を決定し得る。ＣＴＢ遅延は、たとえば、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別し得る。イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、ＷＰＰが無効化されてコーディングされるビデオデータの第１のブロックのために、ビデオエンコーダ２０は、ＣＴＢ遅延に基づいて、第１のブロックのためのＩＢＣ予測領域を決定し得る。ビデオエンコーダ２０は、第１のブロックのためのＩＢＣ予測領域内から、第１のブロックのための予測ブロックを識別し、予測ブロックの位置を特定するためのブロックベクトルを示すためのシンタックスを生成し得る。
【０１６５】
[0148]図１６は、本開示で説明する技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図１６の例では、ビデオデコーダ３０は、ビデオデータメモリ７８と、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、フィルタユニット９１と、復号ピクチャバッファ（ＤＰＢ）９２とを含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測処理ユニット８４と、ＩＢＣユニット８５とを含む。ビデオデコーダ３０は、いくつかの例では、図１５からのビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【０１６６】
[0149]様々な例では、ビデオデコーダ３０のユニットは、本開示の技法を実行する役割を担い得る。また、いくつかの例では、本開示の技法は、ビデオデコーダ３０のユニットのうちの１つまたは複数の間で分割され得る。たとえば、ＩＢＣユニット８５は、単独で、または、動き補償ユニット８２、イントラ予測処理ユニット８４、およびエントロピー復号ユニット８０など、ビデオデコーダ３０の他のユニットと組み合わせて、本開示の技法を実行し得る。いくつかの例では、ビデオデコーダ３０はＩＢＣユニット８５を含まないことがあり、ＩＢＣユニット８５の機能は、動き補償ユニット８２など、予測処理ユニット８１の他の構成要素によって実行され得る。
【０１６７】
[0150]復号プロセス中に、ビデオデコーダ３０は、ビデオデータ、たとえば、符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビデオビットストリームを、ビデオエンコーダ２０から受信する。ビデオデコーダ３０は、ビデオデータをネットワークエンティティ２９から受信し、ビデオデータをビデオデータメモリ７８に記憶し得る。ビデオデータメモリ７８は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ７８に記憶されたビデオデータは、たとえば、ストレージデバイス１７から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ７８は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファを形成し得る。したがって、図１６では別々に示されているが、ビデオデータメモリ７８およびＤＰＢ９２は、同じメモリデバイスまたは別々のメモリデバイスによって与えられ得る。ビデオデータメモリ７８およびＤＰＢ９２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成され得る。様々な例では、ビデオデータメモリ７８は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１６８】
[0151]ネットワークエンティティ２９は、たとえば、上記で説明した技法のうちの１つまたは複数を実装するように構成されたサーバ、ＭＡＮＥ、ビデオエディタ／スプライサ、または他のそのようなデバイスであり得る。ネットワークエンティティ２９は、ビデオエンコーダ２０などのビデオエンコーダを含むことも、含まないこともある。本開示で説明する技法のうちのいくつかは、ネットワークエンティティ２９が符号化ビデオビットストリームをビデオデコーダ３０に送信するより前に、ネットワークエンティティ２９によって実装され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ２９およびビデオデコーダ３０は別個のデバイスの部分であり得るが、他の事例では、ネットワークエンティティ２９に関して説明する機能は、ビデオデコーダ３０を備える同じデバイスによって実行され得る。ネットワークエンティティ２９は、場合によっては、図１のストレージデバイス１７の一例であり得る。
【０１６９】
[0152]ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１７０】
[0153]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわちＢまたはＰ）スライスとしてコーディングされたときまたはブロックがＩＢＣコーディングされたとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて現在ビデオスライスのビデオブロックのための予測ブロックを生成する。インター予測の場合、予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、ＤＰＢ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０とリスト１とを構成し得る。ＩＢＣコーディングの場合、予測ブロックは、予測されているブロックと同じピクチャから生成され得る。
【０１７１】
[0154]他の例では、ビデオブロックが、本明細書で説明するＩＢＣモードに従ってコーディングされたとき、予測処理ユニット８１のＩＢＣユニット８５は、エントロピー復号ユニット８０から受信されたブロックベクトルおよび他のシンタックス要素に基づいて、現在ビデオブロックのための予測ブロックを生成する。予測ブロックは、ビデオエンコーダ２０によって定義され、ＤＰＢ９２から取り出される現在ビデオブロックと同じピクチャ内の再構成された領域内にあり得る。
【０１７２】
[0155]動き補償ユニット８２および／またはＩＢＣユニット８５は、動きベクトルおよび他のシンタックス要素をパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し得、復号されている現在ビデオブロックのための予測ブロックを生成するためにその予測情報を使用する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【０１７３】
[0156]同様に、ＩＢＣユニット８５は、現在ビデオブロックがＩＢＣモードを使用して予測されたことと、ピクチャのどのビデオブロックが再構成された領域内にあり、ＤＰＢ９２に記憶されるべきであるかを示す構成情報と、スライスの各ＩＢＣ予測ビデオブロックのためのブロックベクトルと、スライスの各ＩＢＣ予測ビデオブロックのためのＩＢＣ予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつか、たとえば、フラグを使用し得る。
【０１７４】
[0157]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルの補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するためにその補間フィルタを使用し得る。
【０１７５】
[0158]逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、量子化解除（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１７６】
[0159]動き補償ユニット８２またはＩＢＣユニット８５が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、（コーディングループ内またはコーディングループ後のいずれかの）ループフィルタも、ピクセル遷移を平滑化するか、またはさもなければビデオ品質を改善するために使用され得る。フィルタユニット９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すものとする。図１６では、フィルタユニット９１はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット９１はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶するＤＰＢ９２に記憶される。ＤＰＢ９２は、図１のディスプレイデバイス３２など、ディスプレイデバイス上での後の提示のために、復号されたビデオをも記憶するメモリの一部であり得るか、またはそのようなメモリとは別個であり得る。
【０１７７】
[0160]ビデオデコーダ３０は、本開示の技法による、ビデオデータを復号するように構成されたビデオデコーダの一例を表す。ＷＰＰが有効化されてコーディングされる１つまたは複数のブロックのために、ビデオデコーダ３０は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、ＣＴＢ遅延を決定する。ＣＴＢ遅延は、たとえば、ＣＴＢの単位であり得る。ＩＢＣモードにおいてコーディングされ、ＷＰＰが無効化されてコーディングされるビデオデータの現在ブロックのために、ビデオデコーダ３０は、ＷＰＰが有効化されてコーディングされる１つまたは複数のブロックのために決定されたＣＴＢ遅延に基づいて、現在ブロックを含むピクチャ内の現在ブロックのためのＩＢＣ予測領域を決定する。ビデオデコーダ３０は、現在ブロックのための決定されたＩＢＣ予測領域内から、現在ブロックのための予測ブロックを識別し、予測ブロックに基づいて現在ブロックをＩＢＣ復号する。ＩＢＣモードにおいてコーディングされ、ＷＰＰが有効化されてコーディングされるビデオデータの第２のブロックのために、ビデオデコーダ３０はまた、ＣＴＢ遅延に基づいて、第２のブロックのためのＩＢＣ予測領域を決定し、第２のブロックのためのＩＢＣ予測領域内から、第２のブロックのための予測ブロックを識別し、予測ブロックに基づいて現在ブロックをＩＢＣ復号し得る。
【０１７８】
[0161]ビデオデコーダ３０は、たとえば、シンタックス要素（たとえば上記で説明したｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ）の値に基づいて、ＷＰＰが第１のブロックのために無効化されると決定し得る。シンタックス要素は、たとえば、コンテキスト変数のための特定の同期プロセスが呼び出されるべきであるかどうかを示す同期プロセス有効化シンタックス要素であり得る。
【０１７９】
[0162]第１のブロックのためのＩＢＣ予測領域は、前に復号されたフィルタ処理されていないＣＴＢを含み得る。追加または代替として、ＩＢＣ予測領域は、第１のブロックの右側および第１のブロックの少なくとも２つまたはそれ以上の行上に位置する、対角線方向に位置するＣＴＢを含み得、対角線方向に位置するＣＴＢの直下のＣＴＢを除外する。対角線方向に位置するＣＴＢのために、ビデオデコーダ３０は、第１のブロックと並列に、対角線方向に位置するＣＴＢの直下のＣＴＢを復号し得る。
【０１８０】
[0163]ビデオデコーダ３０は、ビデオデータの符号化ビットストリーム中で、ビデオデータの第１のブロックのためのコーディングモードがＩＢＣモードであることを示す１つまたは複数のシンタックス要素を受信し、ビデオデータの符号化ビットストリーム中で、ビデオデータの第１のブロックのためのブロックベクトルを識別する１つまたは複数のシンタックス要素を受信し得る。第１のブロックのためのＩＢＣ予測領域内から、第１のブロックのための予測ブロックを識別するために、ビデオデコーダ３０は、ブロックベクトルを用いて予測ブロックの位置を特定し得る。
【０１８１】
[0164]図１７は、本開示の技法による、ビデオデータを符号化するための技法を示す流れ図である。図１７の技法について、一般的なビデオエンコーダに関して説明する。一般的なビデオエンコーダは、ビデオエンコーダ２０の特徴を組み込み得るか、またはビデオエンコーダの異なる構成であり得る。ＷＰＰが有効化されてコーディングされる１つまたは複数のブロックのために、ビデオエンコーダは、ＣＴＢ遅延を決定する（３００）。ＣＴＢ遅延は、ＣＴＢの単位で、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する。ＣＴＢ遅延は、たとえば、１つのＣＴＢ、２つのＣＴＢ、または何らかの他のそのような遅延であり得る。ＩＢＣモードにおいてコーディングされ、ＷＰＰが無効化されてコーディングされるビデオデータの第１のブロックのために、ビデオエンコーダは、ＣＴＢ遅延に基づいて、第１のブロックのためのＩＢＣ予測領域を決定する（３０２）。ビデオエンコーダは、第１のブロックのためのＩＢＣ予測領域内から、第１のブロックのための予測ブロックを識別し（３０４）、予測ブロックの位置を特定するためのブロックベクトルを示すためのシンタックスを生成する（３０６）。
【０１８２】
[0165]ＩＢＣモードにおいてコーディングされ、ＷＰＰが有効化されてコーディングされるビデオデータの第２のブロックのために、ビデオエンコーダは、ＣＴＢ遅延に基づいて、第２のブロックのためのＩＢＣ予測領域を決定し、第２のブロックのためのＩＢＣ予測領域内から、第２のブロックのための予測ブロックを識別し得る。ＩＢＣ予測領域は、第１のブロックの右側および第１のブロックの少なくとも２つまたはそれ以上の行上のＣＴＢを含み、第１のブロックの右側および第１のブロックの少なくとも２つまたはそれ以上の行上のＣＴＢの直下のＣＴＢを除外し得る。
【０１８３】
[0166]図１８は、本開示の技法による、ビデオデータを復号するための技法を示す流れ図である。図１８の技法について、一般的なビデオデコーダに関して説明する。一般的なビデオデコーダは、ビデオデコーダ３０の特徴を組み込み得るか、またはビデオデコーダの異なる構成であり得る。ＷＰＰが有効化されてコーディングされる１つまたは複数のブロックのために、ビデオデコーダは、ＣＴＢ遅延を決定する（３１０）。ＣＴＢ遅延は、ＣＴＢの単位で、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する。ＣＴＢ遅延は、たとえば、１つのＣＴＢ、２つのＣＴＢ、または何らかの他のそのような遅延であり得る。ＩＢＣモードにおいてコーディングされ、ＷＰＰが無効化されてコーディングされるビデオデータの第１のブロックのために、ビデオデコーダは、ＣＴＢ遅延に基づいて、第１のブロックのためのＩＢＣ予測領域を決定する（３１２）。ビデオデコーダは、第１のブロックのためのＩＢＣ予測領域内から、第１のブロックのための予測ブロックを識別する（３１４）。ビデオデコーダ３０は、予測ブロックに基づいて現在ブロックをＩＢＣ復号する（３１６）。
【０１８４】
[0167]ＩＢＣモードにおいてコーディングされ、ＷＰＰが有効化されてコーディングされるビデオデータの第２のブロックのために、ビデオデコーダは、ＣＴＢ遅延に基づいて、第２のブロックのためのＩＢＣ予測領域を決定し、第２のブロックのためのＩＢＣ予測領域内から、第２のブロックのための予測ブロックを識別する。ビデオデコーダは、さらに、シンタックス要素を受信し、シンタックス要素の値に基づいて、ＷＰＰが第１のブロックのために無効化されると決定する。シンタックス要素は、たとえば、コンテキスト変数のための特定の同期プロセスが呼び出されるべきであるかどうかを示す同期プロセス有効化シンタックス要素（たとえば上記で説明したｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）であり得る。
【０１８５】
[0168]第１のブロックのためのＩＢＣ予測領域は、たとえば、前に復号されたフィルタ処理されていないＣＴＢを含み得る。ＩＢＣ予測領域は、たとえば、第１のブロックの右側および第１のブロックの少なくとも２つまたはそれ以上の行上のＣＴＢを含み得、第１のブロックの右側および第１のブロックの少なくとも２つまたはそれ以上の行上のＣＴＢの直下のＣＴＢを除外する。ビデオデコーダは、第１のブロックの右側および第１のブロックの少なくとも２つまたはそれ以上の行上のＣＴＢの直下のＣＴＢを第１のブロックと並列に復号し得る。
【０１８６】
[0169]ビデオデコーダは、さらに、ビデオデータの符号化ビットストリーム中で、ビデオデータの第１のブロックのためのコーディングモードがＩＢＣモードであることを示す１つまたは複数のシンタックス要素を受信し、ビデオデータの符号化ビットストリーム中で、ビデオデータの第１のブロックのためのブロックベクトルを識別する１つまたは複数のシンタックス要素を受信し得る。第１のブロックのためのＩＢＣ予測領域内から、第１のブロックのための予測ブロックを識別するために、ビデオデコーダは、ブロックベクトルを用いて予測ブロックの位置を特定し得る。
【０１８７】
[0170]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１８８】
[0171]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１８９】
[0172]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０１９０】
[0173]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示した技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０１９１】
[0174]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
【図１】
2020145716.tif 000021
【図２Ａ】
2020145716.tif 000022
【図２Ｂ】
2020145716.tif 000023
【図２Ｃ】
2020145716.tif 000024
【図３】
2020145716.tif 000025
【図４】
2020145716.tif 000026
【図５】
2020145716.tif 000027
【図６】
2020145716.tif 000028
【図７】
2020145716.tif 000029
【図８】
2020145716.tif 000030
【図９】
2020145716.tif 000031
【図１０】
2020145716.tif 000032
【図１１】
2020145716.tif 000033
【図１２】
2020145716.tif 000034
【図１３】
2020145716.tif 000035
【図１４】
2020145716.tif 000036
【図１５】
2020145716.tif 000037
【図１６】
2020145716.tif 000038
【図１７】
2020145716.tif 000039
【図１８】
2020145716.tif 000040
【手続補正書】
【提出日】令和2年5月22日(2020.5.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのために、コーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる前記１つまたは複数のブロックのために決定された前記ＣＴＢ遅延に基づいて、前記現在ブロックを含むピクチャ内の前記現在ブロックのためのＩＢＣ予測領域を決定することと、
前記現在ブロックのための前記決定されたＩＢＣ予測領域内から、前記現在ブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
を備える、方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１９１
【補正方法】変更
【補正の内容】
【０１９１】
[0174]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、前記方法は、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのために、コーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる前記１つまたは複数のブロックのために決定された前記ＣＴＢ遅延に基づいて、前記現在ブロックを含むピクチャ内の前記現在ブロックのためのＩＢＣ予測領域を決定することと、
前記現在ブロックのための前記決定されたＩＢＣ予測領域内から、前記現在ブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
を備える、方法。
［Ｃ２］
前記現在ブロックが第１のブロックを備え、前記方法は、
前記ＩＢＣモードにおいてコーディングされ、波面並列処理が有効化されてコーディングされるビデオデータの第２のブロックのために、前記ＣＴＢ遅延に基づいて、前記第２のブロックのためのＩＢＣ予測領域を決定することと、
前記第２のブロックのための前記ＩＢＣ予測領域内から、前記第２のブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ３］
シンタックス要素を受信することと、
前記シンタックス要素の値に基づいて、波面並列処理が前記第１のブロックのために無効化されると決定することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ４］
前記シンタックス要素は、コンテキスト変数のための特定の同期プロセスが呼び出されるべきであるかどうかを示す同期プロセス有効化シンタックス要素を備える、Ｃ３に記載の方法。
［Ｃ５］
前記第１のブロックのための前記ＩＢＣ予測領域が、前に復号されたフィルタ処理されていないＣＴＢを備える、Ｃ１に記載の方法。
［Ｃ６］
前記ＩＢＣ予測領域が、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上に位置する、対角線方向に位置するＣＴＢを含み、前記対角線方向に位置するＣＴＢの直下のＣＴＢを除外する、Ｃ１に記載の方法。
［Ｃ７］
前記第１のブロックと並列に、前記対角線方向に位置するＣＴＢの直下の前記ＣＴＢを復号すること
をさらに備える、Ｃ６に記載の方法。
［Ｃ８］
前記ＣＴＢ遅延が１つのＣＴＢを備える、Ｃ１に記載の方法。
［Ｃ９］
前記ＣＴＢ遅延が２つのＣＴＢを備える、Ｃ１に記載の方法。
［Ｃ１０］
ビデオデータの符号化ビットストリーム中で、ビデオデータの前記第１のブロックのためのコーディングモードが前記ＩＢＣモードであることを示す１つまたは複数のシンタックス要素を受信することと、
ビデオデータの前記符号化ビットストリーム中で、ビデオデータの前記第１のブロックのためのブロックベクトルを識別する１つまたは複数のシンタックス要素を受信することと、ここにおいて、前記第１のブロックのための前記ＩＢＣ予測領域内から、前記第１のブロックのための前記予測ブロックを識別することが、前記ブロックベクトルを用いて前記予測ブロックの位置を特定することを備える、
をさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
前記ＣＴＢ遅延を決定することが、ＣＴＢの単位で前記ＣＴＢ遅延を決定することを備える、Ｃ１に記載の方法。
［Ｃ１２］
ビデオデータを符号化する方法であって、前記方法は、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの第１のブロックのために、前記ＣＴＢ遅延に基づいて、前記第１のブロックのためのＩＢＣ予測領域を決定することと、
前記第１のブロックのための前記ＩＢＣ予測領域内から、前記第１のブロックのための予測ブロックを識別することと、
前記予測ブロックの位置を特定するためのブロックベクトルを示すためのシンタックスを生成することと
を備える、方法。
［Ｃ１３］
前記ＩＢＣモードにおいてコーディングされ、波面並列処理が有効化されてコーディングされるビデオデータの第２のブロックのために、前記ＣＴＢ遅延に基づいて、前記第２のブロックのためのＩＢＣ予測領域を決定することと、
前記第２のブロックのための前記ＩＢＣ予測領域内から、前記第２のブロックのための予測ブロックを識別することと
をさらに備える、Ｃ１２に記載の方法。
［Ｃ１４］
前記ＩＢＣ予測領域が、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上のＣＴＢを含み、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上の前記ＣＴＢの直下のＣＴＢを除外する、Ｃ１２に記載の方法。
［Ｃ１５］
前記ＣＴＢ遅延が１つのＣＴＢを備える、Ｃ１２に記載の方法。
［Ｃ１６］
前記ＣＴＢ遅延が２つのＣＴＢを備える、Ｃ１２に記載の方法。
［Ｃ１７］
ビデオ復号を実行するためのデバイスであって、前記デバイスが、
ビデオデータを記憶するためのメモリと、
１つまたは複数のプロセッサと
を備え、前記１つまたは複数のプロセッサは、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる前記１つまたは複数のブロックのために決定された前記ＣＴＢ遅延に基づいて、前記現在ブロックを含むピクチャ内の前記現在ブロックのためのＩＢＣ予測領域を決定することと、
前記現在ブロックのための前記決定されたＩＢＣ予測領域内から、前記現在ブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
を行うように構成された、
デバイス。
［Ｃ１８］
前記現在ブロックが第１のブロックを備え、ここにおいて、前記１つまたは複数のプロセッサは、
前記ＩＢＣモードにおいてコーディングされ、波面並列処理が有効化されてコーディングされるビデオデータの第２のブロックのために、前記ＣＴＢ遅延に基づいて、前記第２のブロックのためのＩＢＣ予測領域を決定することと、
前記第２のブロックのための前記ＩＢＣ予測領域内から、前記第２のブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
を行うようにさらに構成された、Ｃ１７に記載のデバイス。
［Ｃ１９］
前記１つまたは複数のプロセッサは、
シンタックス要素を受信することと、
前記シンタックス要素の値に基づいて、波面並列処理が前記第１のブロックのために無効化されると決定することと
を行うようにさらに構成された、Ｃ１７に記載のデバイス。
［Ｃ２０］
前記シンタックス要素は、コンテキスト変数のための特定の同期プロセスが呼び出されるべきであるかどうかを示す同期プロセス有効化シンタックス要素を備える、Ｃ１９に記載のデバイス。
［Ｃ２１］
前記第１のブロックのための前記ＩＢＣ予測領域が、前に復号されたフィルタ処理されていないＣＴＢを備える、Ｃ１７に記載のデバイス。
［Ｃ２２］
前記ＩＢＣ予測領域が、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上に位置する、対角線方向に位置するＣＴＢを含み、前記対角線方向に位置するＣＴＢの直下のＣＴＢを除外する、Ｃ１７に記載のデバイス。
［Ｃ２３］
前記１つまたは複数のプロセッサが、
前記第１のブロックと並列に、前記対角線方向に位置するＣＴＢの直下の前記ＣＴＢを復号する
ようにさらに構成された、Ｃ２２に記載のデバイス。
［Ｃ２４］
前記ＣＴＢ遅延が１つのＣＴＢを備える、Ｃ１７に記載のデバイス。
［Ｃ２５］
前記ＣＴＢ遅延が２つのＣＴＢを備える、Ｃ１７に記載のデバイス。
［Ｃ２６］
前記１つまたは複数のプロセッサは、
ビデオデータの符号化ビットストリーム中で、ビデオデータの前記第１のブロックのためのコーディングモードが前記ＩＢＣモードであることを示す１つまたは複数のシンタックス要素を受信することと、
ビデオデータの前記符号化ビットストリーム中で、ビデオデータの前記第１のブロックのためのブロックベクトルを識別する１つまたは複数のシンタックス要素を受信することと、ここにおいて、前記第１のブロックのための前記ＩＢＣ予測領域内から、前記第１のブロックのための前記予測ブロックを識別することが、前記ブロックベクトルを用いて前記予測ブロックの位置を特定することを備える、
を行うようにさらに構成された、Ｃ１７に記載のデバイス。
［Ｃ２７］
前記ＣＴＢ遅延を決定するために、前記１つまたは複数のプロセッサが、ＣＴＢの単位で前記ＣＴＢ遅延を決定するようにさらに構成された、Ｃ１７に記載のデバイス。
［Ｃ２８］
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ディスプレイを備えるワイヤレス通信デバイス
のうちの少なくとも１つを備える、Ｃ１７に記載のデバイス。
［Ｃ２９］
ビデオ符号化を実行するためのデバイスであって、前記デバイスが、
ビデオデータを記憶するためのメモリと、
１つまたは複数のプロセッサと
を備え、前記１つまたは複数のプロセッサは、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの第１のブロックのために、前記ＣＴＢ遅延に基づいて、前記第１のブロックのためのＩＢＣ予測領域を決定することと、
前記第１のブロックのための前記ＩＢＣ予測領域内から、前記第１のブロックのための予測ブロックを識別することと、
前記予測ブロックの位置を特定するためのブロックベクトルを示すためのシンタックスを生成することと
を行うように構成された、
デバイス。
［Ｃ３０］
前記１つまたは複数のプロセッサは、
前記ＩＢＣモードにおいてコーディングされ、波面並列処理が有効化されてコーディングされるビデオデータの第２のブロックのために、前記ＣＴＢ遅延に基づいて、前記第２のブロックのためのＩＢＣ予測領域を決定することと、
前記第２のブロックのための前記ＩＢＣ予測領域内から、前記第２のブロックのための予測ブロックを識別することと
を行うようにさらに構成された、Ｃ２９に記載のデバイス。
［Ｃ３１］
前記ＩＢＣ予測領域が、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上のＣＴＢを含み、前記第１のブロックの右側および前記第１のブロックの少なくとも２つまたはそれ以上の行上の前記ＣＴＢの直下のＣＴＢを除外する、Ｃ２９に記載のデバイス。
［Ｃ３２］
前記ＣＴＢ遅延が１つのＣＴＢを備える、Ｃ２９に記載のデバイス。
［Ｃ３３］
前記ＣＴＢ遅延が２つのＣＴＢを備える、Ｃ２９に記載のデバイス。
［Ｃ３４］
前記デバイスが、
集積回路、
マイクロプロセッサ、または
カメラを備えるワイヤレス通信デバイス
のうちの少なくとも１つを備える、Ｃ３３に記載のデバイス。
［Ｃ３５］
ビデオデータを復号するための装置であって、前記装置は、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定するための手段と、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる前記１つまたは複数のブロックのために決定された前記ＣＴＢ遅延に基づいて、前記現在ブロックを含むピクチャ内の前記現在ブロックのためのＩＢＣ予測領域を決定するための手段と、
前記現在ブロックのための前記決定されたＩＢＣ予測領域内から、前記現在ブロックのための予測ブロックを識別するための手段と、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号するための手段と
を備える、装置。
［Ｃ３６］
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
波面並列処理が有効化されてコーディングされる１つまたは複数のブロックのためにコーディングツリーブロック（ＣＴＢ）遅延を決定することと、ここにおいて、前記ＣＴＢ遅延は、ＣＴＢの第１の行が復号され始めるときと、ＣＴＢの前記第１の行の下のＣＴＢの第２の行が復号され始めるときとの間の遅延を識別する、
イントラブロックコピー（ＩＢＣ）モードにおいてコーディングされ、波面並列処理が無効化されてコーディングされるビデオデータの現在ブロックのために、波面並列処理が有効化されてコーディングされる前記１つまたは複数のブロックのために決定された前記ＣＴＢ遅延に基づいて、前記現在ブロックを含むピクチャ内の前記現在ブロックのためのＩＢＣ予測領域を決定することと、
前記現在ブロックのための前記決定されたＩＢＣ予測領域内から、前記現在ブロックのための予測ブロックを識別することと、
前記予測ブロックに基づいて前記現在ブロックをＩＢＣ復号することと
を行わせる、命令を記憶するコンピュータ可読記憶媒体。
【外国語明細書】
2020145716000001.pdf