(57)【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、前記方法は、
マクロブロック区分がルーマサンプルの照明補償を実行するための前記ルーマサンプル間の共通の１組の予測重みを有するように、前記マクロブロック区分に対して一度、前記マクロブロック区分の前記ルーマサンプルの照明補償のための予測重みを前記マクロブロック区分のための変換サイズに基づくのではなく前記マクロブロック区分のサイズに基づいてビデオコーダが導出することと、
照明補償を用いる前記予測重みを用いて前記マクロブロック区分のための予測されたブロックを前記ビデオコーダが計算することと、
前記予測されたブロックを用いて前記マクロブロック区分を前記ビデオコーダがコーティングすることと
を備える、方法。
【請求項２】
ビデオデータをコーディングすることは、ビデオデータを復号することを備え、前記マクロブロック区分をコーディングすることは、前記マクロブロック区分を復号することを備える、請求項１に記載の方法。
【請求項３】
ビデオデータをコーディングすることは、ビデオデータを符号化することを備え、前記マクロブロック区分をコーディングすることは、前記マクロブロック区分を符号化することを備える、請求項１に記載の方法。
【請求項４】
前記共通の１組の予測重みを導出することは、トップ隣接ブロックの多くてもＮ×４サンプルからのルーマサンプルと、左側隣接ブロックの多くても４×Ｍサンプルからのルーマサンプルとを用いて、前記共通の１組の予測重みを導出することを備え、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
ここにおいて、ＮおよびＭは１６以下である、請求項１に記載の方法。
【請求項５】
前記トップ隣接ブロックはルーマサンプルの１行の高さを有し、
前記左側隣接ブロックはルーマサンプルの１列の幅を有する、請求項４に記載の方法。
【請求項６】
前記トップ隣接ブロックはルーマサンプルの前記１行からのルーマサンプルの第１のサブセットのみを含み、
前記左側隣接ブロックは、ルーマサンプルの前記１列からのルーマサンプルの第２のサブセットのみを含む、請求項５に記載の方法。
【請求項７】
前記トップ隣接ブロックは前記ルーマサンプルの左端および右端からのルーマサンプルのみを含み、
前記左側隣接ブロックは、ルーマサンプルの前記１列の上端および下端からのルーマサンプルのみを含む、請求項５に記載の方法。
【請求項８】
ＮおよびＭのうちの一方は４、８または１６のうちの１つであり、ＮおよびＭのうちの他方は１６に等しい、請求項４に記載の方法。
【請求項９】
前記左側隣接ブロックの前記Ｎ×４サンプルは、前記マクロブロック区分に対する任意の４×４左側隣接ルーマサンプルを備える、請求項４に記載の方法。
【請求項１０】
前記トップ隣接ブロックの前記４×Ｍサンプルは、前記マクロブロック区分に対する任意の４×４トップ隣接ルーマサンプルを備える、請求項４に記載の方法。
【請求項１１】
ＮまたはＭのうちの少なくとも一方は４に等しくなく、
前記トップ隣接ブロックは最も左側のトップ隣接ブロックであり、
前記左側隣接ブロックは最もトップの左側隣接ブロックである、請求項４に記載の方法。
【請求項１２】
前記予測重みを導出することは、前記トップ隣接ブロックの左端および右端および中央からのサンプルと、前記左側隣接ブロックの上端および下端および中央からのサンプルとを用いて前記予測重みを導出することを備える、請求項４に記載の方法。
【請求項１３】
前記予測重みを導出することは、サンプルの行またはサンプルの列のうちの多くても４つのサンプルを用いて、前記予測重みを導出することを備える、請求項４に記載の方法。
【請求項１４】
前記予測重みを導出することは、１つまたは複数のダウンサンプリングされたサンプルを用いて前記予測重みを導出することを備える、請求項４に記載の方法。
【請求項１５】
前記予測重みを導出することは、１つまたは複数のダウンサンプリングされフィルタリングされたサンプルを用いて前記予測重みを導出することを備える、請求項４に記載の方法。
【請求項１６】
前記マクロブロック区分は８×８のサイズを有し、前記共通の１組の予測重みは単一の１組の予測重みを備え、前記方法はさらに、前記マクロブロック区分のルーマサンプルの１つのブロックのための予測重みに基づいて、前記マクロブロック区分の照明補償のための前記単一の１組の予測重みを導出することを備える、請求項１に記載の方法。
【請求項１７】
ルーマサンプルの前記８×８マクロブロック区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備え、前記予測重みを導出するために用いられる前記１つのブロックは、４×４ルーマサンプルの前記少なくとも１つのサブ区分のうちの１つを備える、請求項１６に記載の方法。
【請求項１８】
ルーマサンプルの前記８×８マクロブロック区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備え、前記方法はさらに、前記予測重みを導出するために用いられる前記１つのブロックとして、前記サブ区分のための動きベクトルの中の最も大きい動きベクトルを有する４×４ルーマサンプルの前記少なくとも１つのサブ区分のうちの１つを選択することを備える、請求項１６に記載の方法。
【請求項１９】
前記１組の予測重みは１組の以前に復号された左側隣接ルーマサンプルと、前記マクロブロック区分と同じピクチャ内の前記マクロブロック区分に対する１組のトップ隣接ルーマサンプルとに基づき、前記１組の予測重みはまた、前記マクロブロック区分のためのルーマサンプルのビュー間予測参照ブロックに対する１組の左側隣接ルーマサンプルおよび１組のトップ隣接ルーマサンプルに基づく、請求項１に記載の方法。
【請求項２０】
前記マクロブロック区分のためのビュー間動きベクトルを決定することと、
前記ビュー間動きベクトルを整数ピクセルに丸めることと、
前記整数に丸められた動きベクトルに基づいてルーマサンプルの前記ビュー間予測参照ブロックを決定することと
をさらに備える、請求項１９に記載の方法。
【請求項２１】
前記マクロブロック区分のためのビュー間動きベクトルを決定することと、
前記ビュー間動きベクトルを半整数ピクセルに丸めることと、
前記半整数に丸められた動きベクトルに基づいてルーマサンプルの前記ビュー間予測参照ブロックを決定することと
をさらに備える、請求項１９に記載の方法。
【請求項２２】
前記ビュー間予測参照ブロックは第１のブロックを備え、
前記１組の左側隣接ルーマサンプルおよび前記１組のトップ隣接ルーマサンプルは、前記第１のブロックの場所を指示する丸められた動きベクトルに基づいて決定される第２の異なるビュー間予測参照ブロックに対して隣接している、請求項１９に記載の方法。
【請求項２３】
前記マクロブロック区分はフルビデオブロックの１つまたは複数のビデオブロック区分のうちの１つのビデオブロック区分を備え、前記共通の１組の予測重みを導出することは、前記フルビデオブロックの左上ピクセルを含む前記フルビデオブロックの前記１つまたは複数のビデオブロック区分のうちの前記１つのビデオブロック区分に基づいて前記フルビデオブロックのすべての前記ビデオブロック区分に対して一度、前記共通の１組の予測重みを導出することを備える、請求項１に記載の方法。
【請求項２４】
前記マクロブロック区分は、複数のサブブロックを備え、前記サブブロックの各々はそれぞれの動きベクトルを有し、前記共通の１組の予測重みを導出することは、前記マクロブロック区分の左上サブブロックに基づいて、前記サブブロックごとに一度、前記共通の１組の予測重みを導出することを備える、請求項１に記載の方法。
【請求項２５】
前記マクロブロック区分はＮ×Ｍに等しいサイズを有し、ＮまたはＭの少なくとも一方は１６に等しく、前記予測重みを導出することは、上側隣接ブロック内のＮ列までのピクセル、または左側隣接ブロック内のＭ行までのピクセルを用いて、前記予測重みを導出することを備える、請求項１に記載の方法。
【請求項２６】
前記Ｎ列までのピクセル、または前記Ｍ行までのピクセルにおいてフィルタリング動作を実行して、１組の中間サンプルを形成することをさらに備え、ここにおいて前記予測重みを導出することは、少なくとも部分的に前記中間サンプルに基づいて前記予測重みを導出することを備える、請求項２５に記載の方法。
【請求項２７】
前記フィルタリング動作を実行することは、８×４、４×８または４×４領域を形成することができる前記Ｎ列まで、または前記Ｍ行までの内のサンプルに関して前記フィルタリング動作を実行することを備える、請求項２６に記載の方法。
【請求項２８】
前記マクロブロック区分はＮ×Ｍに等しいサイズを有し、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
前記予測重みを導出することは、Ｎに基づく上側隣接ブロック内のピクセルの列の数、またはＭに基づく左側隣接ブロック内のピクセルの行の数のうちの少なくとも一方を用いて前記予測重みを導出することを備える、請求項１に記載の方法。
【請求項２９】
ビデオコーダを備えるデバイスであって、前記ビデオコーダは、
マクロブロック区分がルーマサンプルの照明補償を実行するための前記ルーマサンプル間の共通の１組の予測重みを有するように、前記マクロブロック区分に対して一度、前記マクロブロック区分の前記ルーマサンプルの照明補償のための予測重みを前記マクロブロック区分のための変換サイズに基づくのではなく前記マクロブロック区分のサイズに基づいて導出し、
照明補償を用いる前記予測重みを用いて前記マクロブロック区分のための予測されたブロックを計算し、
前記予測されたブロックを用いて前記マクロブロック区分をコーティングする
ように構成される、デバイス。
【請求項３０】
前記共通の１組の予測重みを導出するために、前記ビデオコーダは、トップ隣接ブロックの多くてもＮ×４サンプルからのルーマサンプルを用いて前記共通の１組の予測重みを導出し、左側隣接ブロックの多くても４×Ｍサンプルからのルーマサンプルを用いるように構成され、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
ここにおいて、ＮおよびＭは１６以下である、請求項２９に記載のデバイス。
【請求項３１】
前記トップ隣接ブロックはルーマサンプルの１行の高さを有し、
前記左側隣接ブロックはルーマサンプルの１列の幅を有する、請求項３０に記載のデバイス。
【請求項３２】
前記トップ隣接ブロックはルーマサンプルの前記１行からのルーマサンプルの第１のサブセットのみを含み、
前記左側隣接ブロックは、ルーマサンプルの前記１列からのルーマサンプルの第２のサブセットのみを含む、請求項３１に記載のデバイス。
【請求項３３】
前記トップ隣接ブロックは前記ルーマサンプルの左端および右端からのルーマサンプルのみを含み、
前記左側隣接ブロックは、ルーマサンプルの前記１列の上端および下端からのルーマサンプルのみを含む、請求項３１に記載のデバイス。
【請求項３４】
ＮおよびＭのうちの一方は４、８または１６のうちの１つであり、ＮおよびＭのうちの他方は１６に等しい、請求項３０に記載のデバイス。
【請求項３５】
前記左側隣接ブロックの前記Ｎ×４サンプルは、前記マクロブロック区分に対する任意の４×４左側隣接ルーマサンプルを備える、請求項３０に記載のデバイス。
【請求項３６】
前記トップ隣接ブロックの前記４×Ｍサンプルは、前記マクロブロック区分に対する任意の４×４トップ隣接ルーマサンプルを備える、請求項３０に記載のデバイス。
【請求項３７】
ＮまたはＭのうちの少なくとも一方は４に等しくなく、
前記トップ隣接ブロックは最も左側のトップ隣接ブロックであり、
前記左側隣接ブロックは最もトップの左側隣接ブロックである、請求項３０に記載のデバイス。
【請求項３８】
前記予測重みを導出するために、前記ビデオコーダは、前記トップ隣接ブロックの左端および右端および中央からのサンプルと、前記左側隣接ブロックの上端および下端および中央からのサンプルとを用いて前記予測重みを導出するように構成される、請求項３０に記載のデバイス。
【請求項３９】
前記予測重みを導出するために、前記ビデオコーダは、サンプルの行またはサンプルの列のうちの多くても４つのサンプルを用いて、前記予測重みを導出するように構成される、請求項３０に記載のデバイス。
【請求項４０】
前記予測重みを導出するために、前記ビデオコーダは、１つまたは複数のダウンサンプリングされたサンプルを用いて前記予測重みを導出するように構成される、請求項３０に記載のデバイス。
【請求項４１】
前記予測重みを導出するために、前記ビデオコーダは、１つまたは複数のダウンサンプリングされフィルタリングされたサンプルを用いて前記予測重みを導出するように構成される、請求項３０に記載のデバイス。
【請求項４２】
前記マクロブロック区分は８×８のサイズを有し、前記共通の１組の予測重みは単一の１組の予測重みを備え、前記ビデオコーダはさらに、前記マクロブロック区分のルーマサンプルの１つのブロックのための予測重みに基づいて、前記マクロブロック区分の照明補償のための前記単一の１組の予測重みを導出するように構成される、請求項２９に記載のデバイス。
【請求項４３】
ルーマサンプルの前記８×８マクロブロック区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備え、前記予測重みを導出するために用いられる前記１つのブロックは、４×４ルーマサンプルの前記少なくとも１つのサブ区分のうちの１つを備える、請求項４２に記載のデバイス。
【請求項４４】
ルーマサンプルの前記８×８マクロブロック区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備え、前記ビデオコーダはさらに、前記予測重みを導出するために用いられる前記１つのブロックとして、前記サブ区分のための動きベクトルの中の最も大きい動きベクトルを有する４×４ルーマサンプルの前記少なくとも１つのサブ区分のうちの１つを選択するように構成される、請求項４２に記載のデバイス。
【請求項４５】
前記１組の予測重みは１組の以前に復号された左側隣接ルーマサンプルと、前記マクロブロック区分と同じピクチャ内の前記マクロブロック区分に対する１組のトップ隣接ルーマサンプルとに基づき、前記１組の予測重みはまた、前記マクロブロック区分のためのルーマサンプルのビュー間予測参照ブロックに対する１組の左側隣接ルーマサンプルおよび１組のトップ隣接ルーマサンプルに基づく、請求項２９に記載のデバイス。
【請求項４６】
前記ビデオコーダはさらに、
前記マクロブロック区分のためのビュー間動きベクトルを決定し、
前記ビュー間動きベクトルを整数ピクセルに丸め、
前記整数に丸められた動きベクトルに基づいてルーマサンプルの前記ビュー間予測参照ブロックを決定する
ように構成される、請求項４５に記載のデバイス。
【請求項４７】
前記ビデオコーダはさらに、
前記マクロブロック区分のためのビュー間動きベクトルを決定し、
前記ビュー間動きベクトルを半整数ピクセルに丸め、
前記半整数に丸められた動きベクトルに基づいてルーマサンプルの前記ビュー間予測参照ブロックを決定する
ように構成される、請求項４５に記載のデバイス。
【請求項４８】
前記ビュー間予測参照ブロックは第１のブロックを備え、
前記１組の左側隣接ルーマサンプルおよび前記１組のトップ隣接ルーマサンプルは、前記第１のブロックの場所を指示する丸められた動きベクトルに基づいて決定される第２の異なるビュー間予測参照ブロックに対して隣接している、請求項４５に記載のデバイス。
【請求項４９】
前記マクロブロック区分はフルビデオブロックの１つまたは複数のビデオブロック区分のうちの１つのビデオブロック区分を備え、前記共通の１組の予測重みを導出するために、前記ビデオコーダは、前記フルビデオブロックの左上ピクセルを含む前記１つまたは複数のビデオブロック区分のうちの前記１つのビデオブロック区分に基づいて前記フルビデオブロックのすべての前記ビデオブロック区分に対して一度、前記共通の１組の予測重みを導出するように構成される、請求項２９に記載のデバイス。
【請求項５０】
前記マクロブロック区分は、複数のサブブロックを備え、前記サブブロックの各々はそれぞれの動きベクトルを有し、前記共通の１組の予測重みを導出するために、前記ビデオコーダは、前記マクロブロック区分の左上サブブロックに基づいて、前記サブブロックごとに一度、前記共通の１組の予測重みを導出するように構成される、請求項２９に記載のデバイス。
【請求項５１】
前記マクロブロック区分はＮ×Ｍに等しいサイズを有し、ＮまたはＭの少なくとも一方は１６に等しく、前記予測重みを導出するために、前記ビデオコーダは、上側隣接ブロック内のＮ列までのピクセル、または左側隣接ブロック内のＭ行までのピクセルを用いて、前記予測重みを導出するように構成される、請求項２９に記載のデバイス。
【請求項５２】
前記ビデオコーダは、前記Ｎ列までのピクセル、または前記Ｍ行までのピクセルにおいてフィルタリング動作を実行して、１組の中間サンプルを形成するようにさらに構成され、前記予測重みを導出するために、前記ビデオコーダは、少なくとも部分的に前記中間サンプルに基づいて予測重みを導出するように構成される、請求項５１に記載のデバイス。
【請求項５３】
前記フィルタリング動作を実行するために、前記ビデオコーダは、８×４、４×８または４×４領域を形成することができる前記Ｎ列まで、または前記Ｍ行までの内のサンプルに関して前記フィルタリング動作を実行するように構成される、請求項５２に記載のデバイス。
【請求項５４】
前記マクロブロック区分はＮ×Ｍに等しいサイズを有し、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
前記予測重みを導出するために、前記ビデオコーダは、Ｎに基づく上側隣接ブロック内のピクセルの列の数、またはＭに基づく左側隣接ブロック内のピクセルの行の数のうちの少なくとも一方を用いて前記予測重みを導出するように構成される、請求項２９に記載のデバイス。
【請求項５５】
実行されるときに、少なくとも１つのプロセッサに、
マクロブロック区分がルーマサンプルの照明補償を実行するための前記ルーマサンプル間の共通の１組の予測重みを有するように、前記マクロブロック区分に対して一度、前記マクロブロック区分の前記ルーマサンプルの照明補償のための予測重みを前記マクロブロック区分のための変換サイズに基づくのではなく前記マクロブロック区分のサイズに基づいて導出させ、
照明補償を用いる前記予測重みを用いて前記マクロブロック区分のための予測されたブロックを計算させ、
前記予測されたブロックを用いて前記マクロブロック区分をコーティングさせる
記憶された命令を備える、非一時的コンピュータ可読記憶媒体。
【請求項５６】
前記少なくとも１つのプロセッサに前記共通の１組の予測重みを導出させる前記命令は、実行されるときに、前記少なくとも１つのプロセッサに、トップ隣接ブロックの多くてもＮ×４サンプルからのルーマサンプルを用いて前記共通の１組の予測重みを導出させ、左側隣接ブロックの多くても４×Ｍサンプルからのルーマサンプルを使用させる命令をさらに備え、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
ここにおいて、ＮおよびＭは１６以下である、請求項５５に記載の非一時的コンピュータ可読記憶媒体。
【請求項５７】
前記マクロブロック区分はＮ×Ｍに等しいサイズを有し、ＮまたはＭの少なくとも一方は１６に等しく、前記少なくとも１つのプロセッサに前記予測重みを導出させる前記命令は、実行されるときに、前記少なくとも１つのプロセッサに、上側隣接ブロック内のＮ列までのピクセル、または左側隣接ブロック内のＭ行までのピクセルを用いて、前記予測重みを導出させる命令をさらに備える、請求項５５に記載の非一時的コンピュータ可読記憶媒体。
【請求項５８】
前記マクロブロック区分はＮ×Ｍに等しいサイズを有し、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
前記少なくとも１つのプロセッサに前記予測重みを導出させる前記命令は、前記少なくとも１つのプロセッサに、Ｎに基づく上側隣接ブロック内のピクセルの列の数、またはＭに基づく左側隣接ブロック内のピクセルの行の数のうちの少なくとも一方を用いて前記予測重みを導出させる命令を備える、請求項５５に記載の非一時的コンピュータ可読記憶媒体。
【請求項５９】
ビデオデータをコーディングするためのデバイスであって、
マクロブロック区分がルーマサンプルの照明補償を実行するための前記ルーマサンプル間の共通の１組の予測重みを有するように、前記マクロブロック区分に対して一度、前記マクロブロック区分の前記ルーマサンプルの照明補償のための予測重みを前記マクロブロック区分のための変換サイズに基づくのではなく前記マクロブロック区分のサイズに基づいて導出するための手段と、
照明補償を用いる前記予測重みを用いて前記マクロブロック区分のための予測されたブロックを計算するための手段と、
前記予測されたブロックを用いて前記マクロブロック区分を符号化するための手段と
を備える、デバイス。
【請求項６０】
前記共通の１組の予測重みを導出するための前記手段は、トップ隣接ブロックの多くてもＮ×４サンプルからのルーマサンプルを用いて前記共通の１組の予測重みを導出するための手段と、左側隣接ブロックの多くても４×Ｍサンプルからのルーマサンプルを使用するための手段とを備え、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
ここにおいて、ＮおよびＭは１６以下である、請求項５９に記載のデバイス。
【請求項６１】
前記マクロブロック区分はＮ×Ｍに等しいサイズを有し、ＮまたはＭの少なくとも一方は１６に等しく、前記予測重みを導出するための前記手段は、上側隣接ブロック内のＮ列までのピクセル、または左側隣接ブロック内のＭ行までのピクセルを用いて、前記予測重みを導出するための手段を備える、請求項５９に記載のデバイス。
【請求項６２】
前記マクロブロック区分はＮ×Ｍに等しいサイズを有し、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
前記予測重みを導出するための前記手段は、Ｎに基づく上側隣接ブロック内のピクセルの列の数、またはＭに基づく左側隣接ブロック内のピクセルの行の数のうちの少なくとも一方を用いて前記予測重みを導出するための手段を備える、請求項５９に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１２年１１月２０日に出願された米国仮出願第６１／７２８，７３９号、および２０１３年１月８日に出願された米国仮出願第６１／７５０，３２１号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコーディングに関し、より詳細には、３次元ビデオコーディング（３ＤＶＣ）に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法のような、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶することができる。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ピクチャまたはピクチャの一部分）は、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれる場合もあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャの中の参照サンプルに対する時間的予測を使用することができる。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックの位置を指示する動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データはピクセル領域から変換領域に変換されて残差変換係数を得ることができ、次いで、その残差変換係数は量子化され得る。最初は２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するために、エントロピーコーディングが適用されてよい。
【発明の概要】
【０００６】
[0006]一般に、本開示は、３Ｄ−ＡＶＣと呼ばれる、Ｈ．２６４／アドバンストビデオコーディング（ＡＶＣ）標準規格の３Ｄ拡張を使用して３次元ビデオコーディングを実行するための技法を説明する。３Ｄ拡張は、深度データを伴う左眼のビューおよび右眼のビューのような、ビデオデータの複数のビューを符号化するためのビデオコーディング技術を規定する。各ビューは、共通のシーンの対応するビデオデータがキャプチャされた異なる視点または角度に対応することができる。３Ｄ  Ｈ．２６４／ＡＶＣの状況では、各ビューは、テクスチャビューと深度ビューとを含み得る。１つの時間インスタンスにおけるビューのコード化表現は、ビュー成分である。ビュー成分は、深度ビュー成分とテクスチャビュー成分とを含み得る。
【０００７】
[0007]３Ｄ−ＡＶＣでは、ビデオエンコーダが照明補償と呼ばれる技法を実行することができる。照明補償技法は、現在のビューの以前にコーディングされたルーマサンプルと、別のビューからのルーマサンプルとの差に基づいて現在ブロックのための照明または「ルーマ」サンプル値を調整するか、または正規化する。異なるビュー間のルーマ値を正規化することによって、ビデオエンコーダが、未補償のルーマ値と比べて、類似のサンプル、またはルーマサンプルの値をより良好に予測することができる。しかしながら、３Ｄ−ＡＶＣにおいて照明補償を実行するための現在の技法は、計算を非常に複雑にするおそれがあり、かつ／または場合によっては、既存のＨ．２６４／ＡＶＣデコーダ実施態様に適合しない場合がある。本開示の技法は一般に、計算が複雑になるのを抑え、３Ｄ−ＡＶＣにおいて照明補償を実行するように構成されるビデオコーダに関する適合性を改善するための技法に関する。
【０００８】
[0008]一例では、ビデオデータを復号する方法が、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出することと、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算することと、予測されたブロックを用いてビデオブロック区分を復号することとを含む。
【０００９】
[0009]別の例では、ビデオデータを符号化することの、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分が、ルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出することを含む。その方法はさらに、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算することと、予測されたブロックを用いてビデオブロック区分を符号化することとを含む。
【００１０】
[0010]別の例では、ビデオコーダを備えるデバイスが、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出するように構成される。そのデバイスはさらに、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算し、予測されたブロックを用いてビデオブロック区分をコーディングするように構成される。
【００１１】
[0011]別の例では、実行されるときに、１つまたは複数のプロセッサに、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出させる命令を備える非一時的コンピュータ可読記憶媒体。その記憶媒体はさらに、実行されるときに、少なくとも１つのプロセッサに、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算させ、予測されたブロックを用いてビデオブロック区分をコーディングさせる命令を備える。
【００１２】
[0012]別の例では、ビデオデータをコーディングするためのデバイスが、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出するための手段と、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算するための手段と、予測されたブロックを用いてビデオブロック区分を符号化するための手段とを含む。
【００１３】
[0013]本開示の１つまたは複数の態様の詳細が、添付の図面および以下の説明において記載される。本開示で説明される技法の他の特徴、目的、および利点は、これらの説明および図面から、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】[0014]本開示の技法による、適応照明補償を実行するように構成され得る例示的なビデオ符号化および復号システム１０を示すブロック図。
【図２】[0015]本開示の技法による、適応ルミナンス補償を実行するように構成され得る例示的なビデオエンコーダ２０を示すブロック図。
【図３】[0016]本開示の技法による、適応ルミナンス補償を実行するように構成され得る例示的なビデオデコーダ３０を示すブロック図。
【図４】[0017]例示的な３Ｄ−ＡＣＶ予測パターンを示す概念図。
【図５】[0018]ビュー間予測された参照フレームのブロックと、復号されたフレームの現在ブロックとの間の関係を示す概念図。
【図６Ａ】[0019]本開示の技法による、適応ルミナンス補償技法の例を示す概念図。
【図６Ｂ】本開示の技法による、適応ルミナンス補償技法の例を示す概念図。
【図６Ｃ】本開示の技法による、適応ルミナンス補償技法の例を示す概念図。
【図６Ｄ】本開示の技法による、適応ルミナンス補償技法の例を示す概念図。
【図７Ａ】[0020]本開示の技法による、適応ルミナンス補償技法の例を示す概念図。
【図７Ｂ】本開示の技法による、適応ルミナンス補償技法の例を示す概念図。
【図８】[0021]本開示の技法による、適応ルミナンス補償技法を実行するように構成されるビデオコーディングデバイスの例示的な動作を示す流れ図。
【発明を実施するための形態】
【００１５】
[0022]特定のビデオコーディングシステムによれば、データ圧縮を実現するように、ビデオシーケンスにおける時間的冗長性を低減するために、動き推定および動き補償が使用され得る。この場合、ビデオデータの予測ブロック、たとえば、コーディングされている現在ビデオブロックの値を予測するために使用され得る別のビデオのピクチャまたはスライスからのブロックを識別する、動きベクトルが生成され得る。予測ビデオブロックの値が現在ビデオブロックの値から減算されて、残差データのブロックを生成する。動き情報（たとえば、動きベクトル、動きベクトルインデックス、予測方向、または他の情報）が、残差データとともにビデオエンコーダからビデオデコーダに通信される。デコーダは、（動きベクトルに基づいて）同じ予測ブロックを見つけ、残差データを予測ブロックのデータと合成することによって、符号化ビデオブロックを復元することができる。
【００１６】
[0023]３次元Ｈ．２６４／ＡＶＣ（３Ｄ−ＡＶＣ）は、たとえば、左眼のビューおよび右眼のビューを用いて、３次元効果を生成するためにビデオデータの複数のビューをコーディングするためのビデオコーディングプロセスである。一般に、各ビューは、共通のシーンの対応するビデオデータがキャプチャされた（または生成された）異なる視点または角度に対応する。ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ規格に対する３Ｄ−ＡＶＣ拡張が、現在開発中である。３Ｄ−ＡＶＣ拡張を追加するための、Ｈ．２６４／ＡＶＣ規格に対する修正のワーキングドラフトは、２０１３年１月付けの、「３Ｄ−ＡＶＣ  Ｄｒａｆｔ  Ｔｅｘｔ  ５」、ＩＳＯ／ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ１１／ＪＣＴ３Ｖ−Ｃ１００２、ジュネーブ、スイス（「３Ｄ−ＡＶＣ  ＷＤ５」）において記述されている。３Ｄ−ＡＶＣ拡張は、３Ｄビデオデータの表示を支援するようにビューをコーディングするための技法を定義する。
【００１７】
[0024]たとえば、３Ｄビデオでは、２つのビュー（たとえば、鑑賞者の左眼のビューおよび右眼のビュー）が、光の異なる偏光を使用して同時に、またはほぼ同時に表示されることが可能であり、鑑賞者の眼の各々がビューのそれぞれ１つを受け取るように、鑑賞者は受動偏光眼鏡を着用することができる。代替的に、鑑賞者は、各眼を独立に遮断する能動眼鏡を着用することができ、ディスプレイが高速に、眼鏡と同期して各眼の画像を交互に表示することができる。
【００１８】
[0025]各ビュー（たとえば、左眼のビューおよび右眼のビュー）は個別にコーディングされ得るが、３Ｄ−ＡＶＣでは、ビューの１つは、参照ビューの深度成分を使用して他のビューから復元される。例示すると、ビューの特定のピクチャ（ここで、このビューの特定のピクチャは、ビューの「ビュー成分」と呼ばれ得る）の深度マップは、左眼のビューと右眼のビューとの差分として計算され得る。エンコーダは、たとえば、ビュー成分のいわゆる「テクスチャ成分」として左眼のビューを符号化することができ、深度マップは、ビュー成分のいわゆる「深度成分」として符号化され得る。
【００１９】
[0026]デコーダは次いで、ビュー成分のテクスチャ成分とビュー成分の深度成分とを復号し、深度成分を使用してテクスチャ成分（左眼のビューを表す）から右眼のビューを復元することができる。１つのビューおよび対応する深度マップのみをこの方式で符号化することによって、３Ｄ−ＡＶＣは、３Ｄ−ＡＶＣデータの別個のビューとして独立に左眼のビューと右眼のビューの両方を符号化することと比較して、左眼のビューと右眼のビューの両方をより効率的に符号化することができる。
【００２０】
[0027]３Ｄ−ＡＶＣは、３Ｄビデオのテクスチャ成分と深度成分との間の成分間依存性も利用する。これらの依存性間を利用するために、３Ｄ−ＡＶＣはテクスチャデータおよび深度データの共同コーディングを導入する。３Ｄ−ＡＶＣでは、ベースビューが深度マップに関連付けられ、深度マップはビデオデータの１つのフレームの種々の領域の深度を指示する。成分間依存性を利用するために、ベースビューの深度成分は、コーディングされたテクスチャビューから抽出された情報でコーディングされる。一方、テクスチャビュー成分および深度ビュー成分のコーディング順は自由である。依存性テクスチャビューが、深度優先コーディング構成において、テクスチャに先行してコーティングされる関連する深度から入手可能な情報でコーティングされるのに対して、テクスチャビューはテクスチャ優先コーディング構成において深度に先行してコーティングされる。
【００２１】
[0028]３Ｄ−ＡＶＣはＨ．２６４／ＡＶＣビデオコーティング標準規格に基づいて構築され、Ｈ．２６４／ＡＶＣ準拠ビデオコーダは、３Ｄ−ＡＶＣビデオストリームのベースビュー（たとえば、片方の眼に対応するビュー）をコーティングできる場合があるが、ビデオデータの他方のビューまたは深度成分をコーティングできない場合がある。根底にあるＨ．２６４／ＡＶＣ標準規格をサポートする一環として、３Ｄ−ＡＶＣ準拠ビデオコーダは、ビデオコーダの１つのブロックのルーマ（輝度）成分およびクロマ（色）成分を予測するインター予測を実行することができる。インター予測中に、ビデオコーダは、現在ブロックとは異なるフレームからのあらかじめコーティングされた参照ブロックに基づいて予測ブロックを決定する。
【００２２】
[0029]３Ｄ−ＡＶＣは、ビュー間予測を可能にすることによってインター予測の概念をさらに拡張し、ビデオコーダが、異なるビューの以前のブロックからの参照ブロックからの値に基づいて現在ブロックのためのルーマ値またはクロマ値を予測する。しかしながら、いくつかの異なる要因に起因して、対応するブロック、または類似のブロックのルミナンス（ルーマ）値は、異なるビュー間で異なる場合がある。ビュー間予測を実行するとき、３Ｄ−ＡＶＣビデオコーダ（たとえば、エンコーダまたはデコーダ）は、このビュー間ルミナンス変更を調整するために、ルミナンス補償を実行することができる。ルミナンス補償を実行するプロセスは、「適応ルミナンス補償」（ＡＬＣ）と呼ばれる場合があり、照明補償とも呼ばれる。
【００２３】
[0030]ＡＬＣを実行するとき、３Ｄ−ＡＶＣビデオコーダは、現在ブロックと同じフレーム内のトップ隣接ブロックおよび左側隣接ブロック（top- and left-neighboring blocks）からのルーマサンプルと、別のビューからの参照ブロックに対するトップ隣接ブロックおよび左側隣接ブロックからのルーマサンプルとを決定する。参照ブロックは、現在ブロックのための視差ベクトルによって特定され得る。ビデオコーダは、隣接ルーマサンプルを現在ブロックルーマサンプルと比較し、サンプルの値があまりにも大きく変化する場合には、参照ブロックからの予測ルーマサンプルを、現在ブロックのための隣接サンプルの集合と予測ルーマサンプルの集合との間の重み付けされた差に基づいて調整する。
【００２４】
[0031]３Ｄ−ＡＶＣでは、Ｈ．２６４／ＡＶＣの場合と同様に、１つのビデオフレームが複数のマクロブロックに分割される。各マクロブロックは、マクロブロック区分にさらに分割される場合があり、それらのマクロブロック区分がサブ区分にさらに分割される場合がある。ＡＬＣを実行するとき、準拠ビデオコーダは、マクロブロックのサブ区分ごとに動き補償を実行して、ＡＬＣのための左側隣接ビュー間ルーマサンプルおよびトップ隣接ビュー間ルーマサンプルを決定することができる。場合によっては、マクロブロックサブ区分およびマクロブロック区分は、まったく同じ動きベクトルを有することができ、その動きベクトルはルーマサンプルの予測ビュー間参照ブロックを指示する。各サブ区分が同じ動きベクトルを有するときでも、何度も動き補償を実行することは、計算に関して費用がかかる場合がある。さらに、ＡＬＣとともに動き補償を実行するためのブロックサイズは、動き補償を実行するための既存のＨ．２６４／ＡＶＣビデオデコーダ実施態様に適合しない場合がある。
【００２５】
[0032]本開示の例示的な技法を用いて、照明補償を実行する計算の複雑さを緩和することができる。たとえば、本開示の技法によれば、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）が、マクロブロックの区分またはサブ区分ごとに左側隣接ビュー間ルーマサンプルおよびトップ隣接ビュー間ルーマサンプルの同じ集合に基づいて単一の１組の重みを導出し、マクロブロック区分またはサブ区分においてＡＬＣを実行するときに同じ１組の重みを使用することができる。いくつかの例では、ビデオコーダは、ＡＬＣ中にサブピクセルにおいて動き補償を実行する計算の複雑さを緩和するために、現在ブロックに対するビュー間参照ブロックの位置を指示する動きベクトルの精度を下げるか、または丸めるように構成される場合もある。いくつかの他の例では、本開示の技法によるビデオコーダは、ＡＬＣを実行するときに縮小されたサイズまたは異なるサイズのルーマサンプルを有するトップ隣接ビュー間ルーマサンプル領域および左側隣接ビュー間ルーマサンプル領域を選択するように構成される場合もある。
【００２６】
[0033]次の説明は、３Ｄ−ＡＶＣの状況にあると理解されるべきであり、その状況では、３Ｄ−ＡＶＣへの言及は、Ｈ．２６４／ＡＶＣへの言及であると理解される。すなわち、３Ｄ−ＡＶＣがＨ．２６４に対する拡張であり、３Ｄ−ＡＶＣは、Ｈ．２６４／ＡＶＣのさらなる拡張であるとすると、３Ｄ−ＡＶＣは、Ｈ．２６４／ＡＶＣのすべての態様を組み込み、またはそうでなければそれを「引き継ぐ」ものと見なされ得る。言い換えると、いくつかの例では、本技法は、Ｈ．２６４／ＡＶＣと後方互換性のある（または、言い換えると、３Ｄ−ＡＶＣをサポートしないがＨ．２６４／ＡＶＣをサポートするビデオデコーダによって復号されることが可能な）３Ｄ−ＡＶＣビットストリームの生成を実現することができる。次の技法は各々、３Ｄ−ＡＶＣの状況で説明されるが、これらの技法は、一部の例では、テクスチャビュー成分と深度ビュー成分の両方を有する３Ｄビデオデータをコーディングする他の方法へと拡張され得る。たとえば、本開示の技法は、３次元拡張との関連で、高効率ビデオコーティング（ＨＥＶＣ）標準規格、たとえば、３Ｄ−ＨＥＶＣのような、他のビデオコーティング標準規格に適用され得る。
【００２７】
[0034]図１は、本開示の技法による、適応照明補償を実行するように構成され得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されるように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを提供するソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを提供する。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、スレートコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信に対応し得る。
【００２８】
[0035]宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することができる任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化ビデオデータをリアルタイムでまたはほぼリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。
【００２９】
[0036]符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、高周波（ＲＦ）スペクトルまたは１つまたは複数の物理伝送線路のような、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００３０】
[0037]いくつかの例では、符号化データは、ソースデバイス２４の送信機２４からストレージデバイスに出力され得る。同様に、符号化データは、宛先デバイス１４の受信機２６によって、ストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。
【００３１】
[0038]宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通じて符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００３２】
[0039]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、ｄｙｎａｍｉｃ  ａｄａｐｔｉｖｅ  ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、種々のマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３３】
[0040]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、カプセル化ユニット２１と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、カプセル化解除ユニット２９と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの例では、ソースデバイス１２および宛先デバイス１４は、他のコンポーネントまたは構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイス３２を含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００３４】
[0041]図１の示されたシステム１０は一例にすぎない。ＡＬＣに関する本開示の技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートすることができる。
【００３５】
[0042]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ電話を形成することができる。しかしながら、上述のように、本開示で説明される技法は、概してビデオコーディングに適用可能であってよく、ワイヤレスおよび／または有線の適用例に適用されてよい。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００３６】
[0043]ビデオソース１８は一般に、３Ｄビデオに対応する左眼のビューおよび右眼のビューのような、あるシーンの複数のビューをビデオエンコーダ２０に与えることができる。ビデオソース１８は、ビューに対するカメラ視点の位置を示す情報も与えることができる。
【００３７】
[0044]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたは有線ネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイス１２から符号化ビデオデータを受信し、宛先デバイス１４に符号化ビデオデータを与え得る。同様に、ディスクスタンピング設備のような媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含むディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【００３８】
[0045]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。宛先デバイス１４のカプセル化解除ユニット２９は、ビットストリーム（または３Ｄ−ＡＶＣの状況では「動作点」と呼ばれるビットストリームのサブセット）からのＳＥＩメッセージをカプセル化解除するユニットを表し得る。カプセル化解除ユニット２９は、カプセル化ユニット２９によって実行される動作とは逆の順序で動作を実行して、ＳＥＩメッセージのようなカプセル化された符号化ビットストリームからのデータをカプセル化解除することができる。ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような、種々のディスプレイデバイスのいずれかを備え得る。
【００３９】
[0046]ビデオエンコーダ２０およびビデオデコーダ３０は各々、適用可能な場合、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せのような、種々の適切なエンコーダ回路またはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダ内に含まれてよく、それらのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合されてよい。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／または携帯電話などのワイヤレス通信デバイスを備え得る。
【００４０】
[0047]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、各々オーディオエンコーダおよびオーディオデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム内のオーディオとビデオの両方の符号化を扱うための、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアとソフトウェアとを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４１】
[0048]図１に示された例では、システム１０はまた、ルータ３６を有するサーバ／コンテンツ配信ネットワーク３４を含む。いくつかの例では、ソースデバイス１２は、上で説明されたように、様々なワイヤレス送信および／もしくは有線送信または記憶媒体を介して、サーバ／コンテンツ配信ネットワーク３４と通信することができる。さらに、図１の例では別々に示されたが、いくつかの例では、ソースデバイス１２とサーバ／コンテンツ配信ネットワーク３４は同じデバイスを備える。サーバ／コンテンツ配信ネットワーク３４は、（ソースデバイス１２のビデオエンコーダ２０からの）コード化ビデオデータの１つまたは複数のバージョンを記憶することができ、そのようなコード化ビデオデータを宛先デバイス１４およびビデオデコーダ３０によるアクセスのために利用可能にすることができる。いくつかの例では、ルータ３６は、要求されたフォーマットで、コード化ビデオデータを宛先デバイス１４に提供することを担い得る。
【００４２】
[0049]ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格などのビデオコーディング規格、またはＨ．２６４に対するＭＶＣ拡張および／または３Ｄ−ＡＶＣ拡張を含む、そのような規格の拡張に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、ＭＰＥＧ−２、ＩＴＵ−Ｔ  Ｈ．２６３およびＨＥＶＣ（ＩＴＵ−Ｔ  Ｈ．２６５）がある。
【００４３】
[0050]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明される技法は、概してＨ．２６４規格に準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ研究グループによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「アドバンストビデオコーディング  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書ではＨ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ばれ得る。Ｈ．２６４／ＡＶＣは、スケーラブルビデオコーディング（ＳＶＣ）拡張とＭＶＣ拡張とを含む。さらに、異なる空間解像度におけるコーディングテクスチャデータおよび深度マップを利用して、３Ｄ−ＡＶＣ拡張を提供するようにさらに開発が行われている。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。３Ｄ−ＡＶＣの状況において説明されるが、本開示で説明される技法は、テクスチャ成分と深度成分の両方を伴う３Ｄビデオの符号化および復号が可能な、他のビデオコーディングアルゴリズムに関して実装され得る。
【００４４】
[0051]ビデオエンコーダ２０は、ビデオデコーダ３０が最終的に受信し得るブロックベースのシンタックスデータ、ピクチャベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータなどのシンタックスデータを、たとえば、ピクチャヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ中でコーディングし得る。ＧＯＰシンタックスデータは、それぞれのＧＯＰ中のいくつかのピクチャを記述することができ、ピクチャシンタックスデータは、対応するピクチャを符号化するために使用される符号化／予測モードを示すことができる。
【００４５】
[0052]いくつかの例では、ビデオデータを復号するときに使用され得る特定のパラメータセットを、ビデオエンコーダ２０は生成することができ、ビデオデコーダ３０は受信することができる。たとえば、パラメータセットは、（シーケンスパラメータセット（ＳＰＳ）内の）シーケンスレベルヘッダ情報と、（ピクチャパラメータセット（ＰＰＳ）内の）まれにしか変化しないピクチャレベルヘッダ情報とを含み得る。パラメータセット（たとえば、ＰＰＳおよびＳＰＳ）がある場合、まれにしか変化しない情報はシーケンス（たとえば、ピクチャのシーケンス）ごとまたはピクチャごとに繰り返される必要はなく、したがってコーディング効率が改善され得る。さらに、パラメータセットを使用すると、重要なヘッダ情報の帯域外送信が可能になり、誤り耐性のための冗長送信の必要を回避することができる。帯域外送信の例では、補助強化情報（ＳＥＩ）のＮＡＬユニットのような他のＮＡＬユニットとは異なるチャネル上で、パラメータセットのＮＡＬユニットが送信され得る。
【００４６】
[0053]（ＳＥＩメッセージと呼ばれる）ＳＥＩのＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットからのコード化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、および他の目的に関係するプロセスを支援できる情報を含み得る。ＳＥＩメッセージは、非ＶＣＬ  ＮＡＬユニットに含まれることがある。ＳＥＩメッセージは、いくつかの規格の仕様の規範部分に含まれることがあり、したがって、規格に準拠するデコーダ実装のために常に必須であるとは限らない。ＳＥＩメッセージは、シーケンスレベルのＳＥＩメッセージまたはピクチャレベルのＳＥＩメッセージであり得る。ＳＶＣの例ではスケーラビリティ情報ＳＥＩメッセージ、ＭＶＣではビュースケーラビリティ情報ＳＥＩメッセージのようなＳＥＩメッセージ内に、何らかのシーケンスレベル情報が含まれることがある。ビュースケーラビリティ情報ＳＥＩメッセージも、Ｈ．２６４に対する３Ｄ−ＡＶＣ拡張のためのシーケンスレベル情報を提供することができる。
【００４７】
[0054]いくつかの例では、ビデオエンコーダ２０は、Ｈ．２６４の３Ｄ−ＡＶＣ拡張に準拠する３Ｄ−ＡＶＣビットストリームをコーディングすることができ、そのビットストリームは、異なる空間解像度におけるテクスチャデータおよび深度データを含むことができ、具体的には、テクスチャデータ解像度に比べて低い解像度にある深度データを含むことができる。本開示の技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、本開示の技法による適応ルミナンス補償を実行するように構成され得る。
【００４８】
[0055]上記のように、適応ルミナンス補償を実行するためのある種の技法の結果として、計算が非常に複雑になり、かつ／または既存のＨ．２６４／ＡＶＣビデオデコーダに適合しなくなるおそれがある。本開示の技法に比べて相対的に高い計算の複雑さを有する場合があるいくつかのＡＬＣ実施態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、マクロブロックサブ区分ごとに一度、動き補償を実行する場合がある。ＡＬＣを実行する計算の複雑さを緩和するために、ビデオエンコーダ２０、メイビデオデコーダ３０は、マクロブロック区分ごとに一度だけ、動き補償を実行することができる。
【００４９】
[0056]たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルミナンス（ルーマ）サンプルの照明補償のための予測重みを導出し、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算し、予測されたブロックを用いてビデオブロック区分をコーティングするように構成され得る。
【００５０】
[0057]ビデオブロック区分は、１つのマクロブロックの１つの区分を備えることができる。たとえば、ビデオブロック区分は、８×１６、１６×８、８×８またはマクロブロックの他の区分サイズを備えることができる。ビデオブロック区分の４×４ブロックごとに予測重みを決定するのではなく、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオブロック区分に対して一度だけ、照明補償のための予測重みを決定することができる。さらに、マクロブロックが複数の（たとえば、２つ以上の）ビデオブロック区分を含む場合には、区分の各々は、マクロブロックのための変換サイズに関係なく、共通の１組の予測重みを有することができる。変換サイズは、たとえば、４×４とすることができる。別の例では、マクロブロック区分および変換サイズに関係なく、マクロブロックは、そのマクロブロックのために一度だけ導出された単一の１組の予測重みを含む。
【００５１】
[0058]先に論じられたように、ビデオブロック区分のための予測されたブロックを計算するとき、照明補償が使用され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、たとえば、視差動きベクトルを用いて、ビデオブロック区分のためのビュー間参照ブロックを決定することができる。さらに、共通の１組の予測重みを用いて、ビデオエンコーダ２０およびビデオデコーダ３０は、照明補償を実行することにより、ビュー間参照ブロックの値を変更することができる。ビデオエンコーダ２０およびビデオデコーダ３０は、照明補償を受けた、予測されたブロックを用いてビデオブロック区分をコーティングすることができる。たとえば、ビデオエンコーダ２０は、ビデオブロック区分のための残存データを計算し、その残存データを変換し、量子化し、変換され、量子化された残存データをエントロピー符号化することができる。ビデオデコーダ３０は、同様に、変換され、量子化された残存データをエントロピー復号し、残差データを逆量子化し、逆変換して、残存データを空間領域において再生し、残存データをビデオブロック区分のための予測されたデータと合成して、ビデオブロック区分を再生（すなわち、復号）することができる。ビデオエンコーダ２０またはビデオデコーダ３０は、符号化および復号プロセスの動き補償においてルミナンス補償を実行することができる。
【００５２】
[0059]一般に、３Ｄ−ＡＶＣに準拠しているビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーダは、ビデオストリーム内にコーティングされる構文データに基づいてＡＬＣを実行するように構成され得る。ビデオエンコーダ２０またはビデオデコーダ３０は、ビデオデータの１つのブロックが異なるビューの１つのブロックからビュー間予測されるとき、ＡＬＣを実行するように構成され得る。現在ブロックがビュー間予測されるとき、ビデオエンコーダ２０またはビデオデコーダ３０は、動き推定および動き補償を実行して、現在のビューに対する異なるビューからの対応する参照ブロックを示す動きベクトルを決定する。
【００５３】
[0060]ＡＬＣを実行するために、ビデオコーダは最初にルーマサンプルの予測ブロックを決定する。その後、ビデオコーダは、そのコーダがコーティングしているビデオデータの現在ブロックに対する隣接ルーマサンプルのブロックを決定する。ビデオコーダは、現在ブロックと同じフレーム（またはピクチャ）内にある現在ブロックに対するトップ隣接ブロックおよび左側隣接ブロックを決定する。また、ビデオコーダは、視差動きベクトルを用いて、現在ブロックのための参照ブロックを決定する。参照ブロックに対するルーマサンプルのトップ隣接ブロックは「ＵＴＲｅｆｉ」と表され、参照ブロックに対するルーマサンプルの左側隣接ブロックは「ＬＴＲｅｆｉ」と表され、ただし、下付き文字ｉは、特定のマクロブロック区分またはサブ区分インデックスを指示する。
【００５４】
[0061]ＡＬＣを実行するように構成されるビデオコーダは、現在ブロックに対する以前に復号されたルーマサンプル、すなわち、現在ブロックと同じフレーム内のルーマサンプルのトップ隣接ブロックおよび左側隣接ブロックも決定する。現在ブロックに対するルーマサンプルの左側隣接ブロックは「ＬＴＤｅｃｉ」と表され、ルーマサンプルのトップ隣接ブロックは「ＵＴＤｅｃｉ」と表される。
【００５５】
[0062]ビデオエンコーダ２０またはビデオデコーダ３０が、特定のマクロブロック区分のための、ルーマサンプル：ＵＴＤｅｃｉ、ＬＴＤｅｃｉ、ＵＴＲｅｆｉおよびＬＴＲｅｆｉを決定した後に、ビデオエンコーダ２０またはビデオデコーダ３０は、ＵＴＤｅｃｉ、ＬＴＤｅｃｉ、ＵＴＲｅｆｉおよびＬＴＲｅｆｉのルーマサンプルの値を互いに比較する。より詳細には、ビデオエンコーダ２０またはビデオデコーダ３０は、次のように、ＵＴＲｅｆｉ、ＬＴＲｅｆｉ、ＵＴＤｅｃｉおよびＬＴＤｅｃｉの対応するルーマサンプルを互いに比較することができる。
【数１】
0006359549.tif 000002
【００５６】
[0063]式１は、ＬＴＤｅｃｉの対応するルーマサンプルをＬＴＲｅｆｉのルーマサンプルと比較し、変数「Ｒｅｆ＿Ｄｅｃｉ」を生成し、２つのサンプル間の差がしきい値（「ＴＨ」と表され、デフォルトで３０に等しい）より小さい場合には、対応するＬＴＤｅｃｉサンプルをＲｅｆ＿Ｄｅｃｉに加算する。また、式１は、ＵＴＤｅｃｉとＵＴＲｅｆｉとの間の差がＴＨより小さい場合には、ＵＴＤｅｃｉの各サンプルの値をＲｅｆ＿Ｄｅｃｉに加算する。
【００５７】
[0064]式２は式１に類似であり、ＬＴＤｅｃｉとＬＴＲｅｆｉ［ｋ，ｍ］との差の絶対値がしきい値ＴＨより小さい場合には、ＬＴＲｅｆｉ［ｋ，ｍ］の値をＲｅｆ＿Ｒｅｆｉに加算する。また、式２は、ＵＴＤｅｃｉ［ｋ，ｍ］−ＵＴＲｅｆｉ［ｋ，ｍ］の差の絶対値がＴＨより小さい場合には、ＵＴＲｅｆｉ［ｋ，ｍ］の値をＲｅｆ＿Ｒｅｆｉに加算する。
【００５８】
[0065]両方の式において、下付き文字「ｉ」は、特定のマクロブロック区分またはサブ区分のインデックスを表す。変数「ｋ」および「ｍ」は、ＵＴＤｅｃｉ、ＵＴＲｅｆｉ、ＬＴＤｅｃｉおよびＬＴＲｅｆｉ内の特定のサンプルのｘ座標およびｙ座標を表す。式１および式２は例示のために説明される。式１および式２において、ＵＴＤｅｃｉおよびＵＴＲｅｆｉは４ピクセルの高さを有し、ＬＴＲｅｆｉおよびＬＴＤｅｃｉは４ピクセルの幅を有する。後にさらに詳細に説明されるように、本開示の技法によれば、ＵＴＤｅｃｉ、ＬＴＤｅｃｉ、ＵＴＲｅｆｉおよびＬＴＲｅｆｉのための他の寸法も可能である。
【００５９】
[0066]Ｒｅｆ＿ＲｅｆｉおよびＲｅｆ＿Ｄｅｃｉの値を計算した後に、ビデオエンコーダ２０またはビデオデコーダ３０は、現在ブロックの予測されたルーマ値を調整するために用いられるいくつかの重みパラメータを決定する。現在ブロックのための予測されたルーマ値は、ｐｒｅｄＰａｒｔｉと表される。ＡＬＣのための重みパラメータを計算するために、ビデオコーダは最初に「Ｗｉ」と表される変数の値を決定する。Ｗｉは以下の式３に従って決定される。
【数２】
0006359549.tif 000003
【００６０】
[0067]式３において、「＞＞」は、算術右シフトを指示し、ＣＵＴ＿ＴＨは４に等しい値を有するしきい値であり、ｌｏｇＷＤＣは、１５に等しい別の変数である。Ｒｅｆ＿Ｒｅｆｉ＞＞ＣＵＴ＿ＴＨの算術シフトがＲｅｆ＿Ｄｅｃｉ＞＞ＣＵＴ＿ＴＨの算術シフトに等しい場合には、Ｗｉは１に等しい。そうでない場合、Ｗｉは（（１＜＜ｌｏｇＷＤＣ）ｘＲｅｆ＿Ｒｅｆｉ＋Ｒｅｆ＿Ｒｅｆｉ＞＞１）に等しい。
【００６１】
[0068]Ｗｉの計算値に基づいて、ビデオコーダは、現在ブロックのためのルーマサンプルの予測されたブロックのマクロブロック区分またはサブ区分のためのＡＬＣ補償済みルーマ値を決定する。現在ブロックのルーマ値のＡＬＣ補償済み区分はｐｒｅｄＰａｒｔＡＬＣｉ［ｘ，ｙ］と表される。ｐｒｅｄＰａｒｔＡＬＣｉ［ｘ，ｙ］は式４に従って次のように計算される。
【数３】
0006359549.tif 000004
【００６２】
[0069]式４におけるｐｒｅｄＰａｒｔｉは式５に従って計算される。
【数４】
0006359549.tif 000005
【００６３】
[0070]本開示の技法は、先に参照された３Ｄ−ＡＶＣ  ＷＤ４の用語を変更する。より詳細には、Ｍｉｓｈｕｒｏｖｓｋｉｙらによる文書「ＪＣＴ３Ｖ−Ｂ００３１」（ＩＳＯ／ＩＥＣ／ＪＣＴ１／ＳＣ  ２９／ＷＧ  １１，  Ｓｈａｎｇｈａｉ，  Ｃｈｉｎａ，  ｄａｔｅｄ  Ｏｃｔ．  ２０１２）（「ＪＣＴ３Ｖ−Ｂ００３１」）において見られ得る適応ルミナンス補償に関する以前の提案の提出に対する変更を含む。ＪＣＴ３Ｖ−Ｂ００３１への変更は、３Ｄ−ＡＶＣ  ＷＤ  ５において反映される。ＪＣＴ３Ｖ−Ｂ００３１に対する本開示のいくつかの技法を詳述する変更が、ここで、何らかの説明とともに記述されることになる。作業草案への追加は、「＠」において開始する行で表される。ＪＣＴ３Ｖ−Ｂ００３１からの削除は、「＃」において開始する行で表される。太字は、３Ｄ−ＡＶＣ  ＷＤ  ４において見出しとなるセクションを指示する。
【００６４】
Ｊ．８．３．５．１予測されることになるルーマブロックの座標およびサイズの定義
＠  （ｘＭ，ｙＭ）を従属節６．４．１の出力に等しいとする（ピクチャの左上サンプルに対するアドレスｍｂＡｄｄｒを有する現在のマクロブロックのための左上ルーマサンプルの場所）。
【００６５】
＠  （ｘＰ，ｙＰ）を従属節６．４．２．１の出力に等しいとする（マクロブロック区分ｍｂＰａｒｔＩｄｘのための左上ルーマサンプルの場所）。
【００６６】
＃  （ｘＢ，ｙＢ）を従属節６．４．３の出力に等しいとする（０．．．１５とすることができるＬｕｍａ４ｘ４ＢｌｋＩｄｘによって規定される４×４ルーマブロックのための左上ルーマサンプルの場所）。
【００６７】
＠  （ｘＢ，ｙＢ）を従属節６．４．２．２の出力に等しいとする（サブマクロブロックの左上サンプルに対する４×４ルーマブロックのための左上ルーマサンプルの場所）。
【００６８】
＃  （ｘＢ８，ｙＢ８）をプロセス６．４．５の出力に等しいとする（８×８ルーマブロックのための左上ルーマサンプルの場所、ただし、Ｌｕｍａ８ｘ８ＢｌｋＩｄｘ＝（Ｌｕｍａ４ｘ４ＢｌｋＩｄｘ＞＞２）が入力として与えられる）。
【００６９】
＃  変数ｘＣＴ、ｙＣＴ、ＣＢＸ、ＣＢＹは表Ｊ−８−Ｘに従って設定される：［Ｅｄ．（ＭＨ）：ＣＢＸおよびＣＢＹは、ｃａｍｅｌＣａｓｉｎｇを有しないので適切な変数名ではない］。
【表１】
0006359549.tif 000006
【００７０】
＠  変数ｘＣＴ、ｙＣＴ、ＣＢＸ、ＣＢＹは次のように設定される。
【００７１】
＠  ｍｂ＿ｔｙｐｅがＰ＿８×８またはＰ＿８×８ｒｅｆ（）に等しく、ｓｕｂ＿ｍｙ＿ｔｙｐｅがＰ＿Ｌ０＿８×８でない場合には、
○  ＠  ｘＣＴはｘＭ＋ｘＰ＋ｘＢに等しく設定される。
【００７２】
○  ＠  ｙＣＴはｙＭ＋ｙＰ＋ｙＢに等しく設定される。
【００７３】
○  ＠  ＣＢＸおよびＣＢＹは４に等しく設定される。
【００７４】
−  ＠  そうでない場合には（ｍｂ＿ｔｙｐｅが、Ｐ＿Ｌ０＿１６ｘ１６、Ｐ＿Ｌ０＿Ｌ０＿１６ｘ８、またはＰ＿Ｌ０＿Ｌ０＿８ｘ１６、またはＰ＿８ｘ８およびＰ＿８ｘ８ｒｅｆ（）に等しく、そのｓｕｂ＿ｍｂ＿ｔｙｐｅがＰ＿Ｌ０＿８ｘ８である）
○  ＠  ｘＣＴはｘＭ＋ｘＰに等しく設定される。
【００７５】
○  ＠  ｙＣＴはｙＭ＋ｙＰに等しく設定される。
【００７６】
○  ＠  ＣＢＸはＭｂＰａｒｔＷｉｄｔｈ（ｍｂ＿ｔｙｐｅ）に等しく設定される。
【００７７】
○  ＠  ＣＢＹはＭｂＰａｒｔＨｅｉｇｈｔ（ｍｂ＿ｔｙｐｅ）に等しく設定される。
【００７８】
＠  次の条件の１つまたは複数が真である場合には、Ｗ０Ｃは１に設定され、ｌｏｇＷＤＣは１５に設定される。
【００７９】
＠−  ｘＣＴはｘＬ＝３の場合に（ｘＬ＋１）より小さい。
【００８０】
＠−  ｙＣＴはｙＬ＝３の場合に（ｙＬ＋１）より小さい。
【００８１】
＠−  （ｍｖＬ０［０］＋（（ｘＣＴ−ｘＬ−１）＜＜２））は、ｘＬ＝３の場合に０より小さい。
【００８２】
＠−  （ｍｖＬ０［１］＋（（ｙＣＴ−ｙＬ−１）＜＜２））は、ｙＬ＝３の場合に０より小さい。
【００８３】
＠−  （ｍｖＬ０［０］＋（（ｘＣＴ＋ＣＢＸ）＜＜２））は（ＰｉｃＷｉｄｔｈＩｎＳａｍｐｌｅｓＬ＜＜２）以上である。
【００８４】
＠−  （ｍｖＬ０［１］＋（（ｙＣＴ＋ＣＢＹ）＜＜２））は（ＰｉｃＨｅｉｇｈｔＩｎＳａｍｐｌｅｓＬ＜＜２）以上である。
【００８５】
＠−  そうでない場合には、ＬＲｅｆ、ＵＲｅｆ、ＬＲｅｃ、ＵＲｅｃサンプル値は、Ｊ８．３．６．２およびＪ．８．３．６．３において規定されるように導出され、その後、それに対応して、従属節Ｊ．８．３．６．４およびＪ．８．３．６．５において規定される変数ＮｅｉｇｈｂｏｒＲｅｆＳｕｍ、ＮｅｉｇｈｂｏｒＳｕｍおよびＷ０Ｌ、Ｏ０Ｌが計算される。
【００８６】
＃  Ｊ．８．３．７  ４×４変換のための適応ルミナンス補償を伴うインター予測プロセス
＠Ｊ．８．３．７  Ｐ＿８×８ｍｂ＿ｔｙｐｅのための適応ルミナンス補償を伴うインター予測プロセス
＠  この従属節は、＃  ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇが０に等しく、かつ＠ｍｂ＿ａｌｃ＿ｆｌａｇが１に等しく、ｍｂ＿ｔｙｐｅがＰ＿８ｘ８に等しく、かつＳｕｂＭｂＰａｒｔＷｉｄｔｈとＳｕｂＭｂＰａｒｔＨｅｉｇｈｔの両方が８より小さいときにのみ、テクスチャビュー成分におけるマクロブロックのために呼び出される。
【００８７】
マクロブロックのためのインター予測プロセスは、順に以下のステップからなる。
【００８８】
１．  ＠  従属節Ｊ．８．３．５は、次のように、動きベクトル成分、参照インデックスおよび予測重みを導出するために呼び出される。
【００８９】
２．  ＃  変数ＭｖＣｎｔは、ｓｕｂＭｖＣｎｔだけインクリメントされる。
【００９０】
３．＠＃マクロブロック区分ｍｂＰａｒｔＩｄｘおよび＠  サブマクロブロック区分ｓｕｂＭｂＰａｒｔＩｄｘごとに、以下の割当てが行われる。
【００９１】
［Ｅｄ．（ＭＨ）：変数名の取り決めは以下で順守されず、必要に応じて書き換えられる］
＃−  ｓｕｂ＿ｍｂ＿ｔｙｐｅ＿Ｎｏｒｍａｌ［ｍｂＰａｒｔＩｄｘ］＝ｓｕｂ＿ｍｂ＿ｔｙｐｅ［ｍｂＰａｒｔＩｄｘ］；
＃−  ｍｂ＿ｔｙｐｅ＿Ｎｏｒｍａｌ＝ｍｂ＿ｔｙｐｅ；
＃−  ｍｂ＿ｔｙｐｅがＰ＿Ｌ０＿１６ｘ１６に等しい場合には、以下のことが順に当てはまる。
【００９２】
＃−  ｍｂ＿ｔｙｐｅがＰ＿８×８に等しく設定される。
【００９３】
＃−  ０からＮｕｍＭｂＰａｒｔ（ｍｂ＿ｔｙｐｅ）−１までを含むｍｂＰａｒｔＩｄｘの場合、♯ｓｕｂ＿ｍｂ＿ｔｙｐｅ［ｍｂＰａｒｔＩｄｘ］はＰ＿Ｌ０＿８ｘ８に等しく設定される。
【００９４】
＃−  そうでない場合には、以下のことが順に当てはまる。
【００９５】
＃−  ｍｂ＿ｔｙｐｅがＰ＿８×８に等しく設定される。
【００９６】
＃−  ０からＮｕｍＭｂＰａｒｔ（ｍｂ＿ｔｙｐｅ）−１を含むｍｂＰａｒｔＩｄｘの場合に、ｓｕｂ＿ｍｂ＿ｔｙｐｅ［ｍｂＰａｒｔＩｄｘ］がＰ＿Ｌ０＿４ｘ４に等しく設定される。
【００９７】
＠  ０からＮｕｍＳｕｂＭｂＰａｒｔ−１までのｉの場合に、ｓｕｂ＿ｍｂ＿ｔｙｐｅ［ｉ］はｓｕｂ＿ｍｂ＿ｔｙｐｅ＿ｔｅｍｐ［ｉ］に格納され、Ｐ＿Ｌ０＿４ｘ４に等しく設定される。
【００９８】
４．＠  ＃  マクロブロック区分ｍｂＰａｒｔＩｄｘおよび＠  サブマクロブロック区分ｓｕｂＭｂＰａｒｔＩｄｘごとに、以下の割当てが行われる。
【００９９】
＠−    従属節Ｊ．８．３．６を呼び出して、適応ルミナンス補償における予測重みを導出する。
【０１００】
＠−    従属節Ｊ．８．４．２を呼び出して、インター予測サンプルを導出する。
【０１０１】
＠−    従属節Ｊ．８．５を呼び出して、変換係数を導出し、デブロッキングフィルタプロセス前にピクチャを構成する。
【０１０２】
５．＠  ＃  マクロブロック区分ｍｂＰａｒｔＩｄｘおよび＠  サブマクロブロック区分ｓｕｂＭｂＰａｒｔＩｄｘごとに、以下の割当てが行われる。
【０１０３】
＃  ｍｂ＿ｔｙｐｅ＝ｍｂ＿ｔｙｐｅ＿Ｎｏｒｍａｌ
＃  ｓｕｂ＿ｍｂ＿ｔｙｐｅ［ｍｂＰａｒｔＩｄｘ］＝ｓｕｂ＿ｍｂ＿ｔｙｐｅ＿Ｎｏｒｍａｌ［ｍｂＰａｒｔＩｄｘ］
＠ｓｕｂ＿ｍｂ＿ｔｙｐｅ［ｉ］はｓｕｂ＿ｍｂ＿ｔｙｐｅ＿ｔｅｍｐ［ｉ］に復元される。
【０１０４】
[0071]３Ｄ−ＡＶＣ  ＷＤ４の付録Ｊ、セクション従属節Ｊ．８．３．５．１−Ｊ．８．３．７に対するこれらの修正は、本明細書において記述される適応ルミナンス補償技法を変更する。適応ルミナンス補償技法は、ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーダによって実行され得る。それらの変更の結果として、ＪＣＴ３Ｖ−Ｂ００３１提案書において記述される技法に比べて計算の複雑さが緩和される場合がある。
【０１０５】
[0072]先に簡潔に説明されたように、ＪＣＴ３Ｖ−Ｂ００３１提案書の技法によれば、準拠するビデオコーダは、動き補償を実行し、マクロブロック（サブ）区分ごとに、Ｗｉと表されるＡＬＣ重み値を決定し、適応ルミナンス補償のための隣接するビュー間ルーマサンプルを決定することができる。１つのマクロブロックが、たとえば、サブ区分に区分される場合には、４×４ブロックごとに動き補償を実行し、Ｗｉを計算する、計算の複雑さが大きい場合がある。
【０１０６】
[0073]本開示の技法の一例によれば、ビデオエンコーダ２０またはビデオデコーダ３０は、ビデオデータのマクロブロックの区分当たり一度だけ、さらにはマクロブロックあたり一度だけ１組の予測重みを決定することができる（たとえば、マクロブロックの特定の区分に対して決定し、マクロブロックのさらなる区分ごとに再利用される）。より詳細には、３Ｄ−ＡＶＣ  ＷＤ４への上記の変更は、参照ピクチャからルーマサンプルのブロックの場所を決定するプロセスを変更する。
【０１０７】
[0074]再び、上記のＷＤ４変更との関連で、現在のマクロブロックが、サイズ８×８の部分マクロブロックタイプを有しない８×８マクロブロック区分である場合には、左側隣接ルーマサンプルブロックおよびトップ隣接ルーマサンプルブロックの位置を指示するｘ座標（ｘＣＴ）は、現在のマクロブロックのための左上ルーマサンプルの左上ｘ座標＋現在のマクロブロック区分の左上ルーマサンプルのｘ座標（ｘＰ）＋マクロブロックサブ区分の左上ルーマサンプルのｘ座標（ｘＢ）に等しい。トップ隣接ルーマサンプルブロックおよび左側隣接ルーマサンプルブロックの位置を示すｙ座標（ｙＣＴ）は、現在のマクロブロックの左上ルーマサンプルのｙ座標（ｙＭ）＋現在のマクロブロック区分のための左上ルーマサンプルのｙ座標（ｙＰ）＋サブマクロブロックの左上ルーマサンプルに対する４×４ルーマブロックのための左上ルーマサンプルのｙ座標（ｙＢ）に等しい。この場合、ルーマサンプルブロックの高さおよび幅は４×４ルーマサンプルに等しい。
【０１０８】
[0075]そうでない場合には、ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇが１に等しいとき、ｘＣＴはｘＭ＋ｘＰに等しく、ｙＣＴは、ｙＭ＋ｙＰに等しく、左側隣接ルーマサンプルブロックの高さ（ＬＴＲｅｆｉおよびＬＴＤｅｃｉ）は現在のマクロブロック区分の高さに等しい。トップ隣接ルーマサンプルブロックの幅（ＵＴＲｅｆおよびＵＴＤｅｃ）は現在のマクロブロック区分の幅に等しい。したがって、マクロブロックの変換サイズに関係なく、部分マクロブロック区分ごとに別々ではなく、マクロブロック区分ごとに同じ１組の予測重みが決定される。
【０１０９】
[0076]本開示の技法のいくつかの他の例では、８×８マクロブロックの場合であっても、マクロブロック区分の４×４ルーマブロックごとの動きベクトルが同じであるか否かに関係なく、ビデオエンコーダ２０またはビデオデコーダ３０が、１組の予測重みＷｉを決定することができる。この例では、ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロック区分のルーマサンプルの１つの４×４ブロックのために決定されたＡＬＣ重みに基づいて、予測重みＷｉを導出する。いくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０が、現在ブロックが４×４ルーマサンプルより大きい変換サイズを有するときに、このサンプルの技法を利用することができる。
【０１１０】
予測重みを導出するためにビデオコーダが用いる４×４ブロックは、場合によっては、８×８ＭＢ区分内の任意の４×４ルーマブロックとすることができる。
【０１１１】
[0077]いくつかの他の例では、ＡＬＣを実行するとき、ビデオエンコーダ２０またはビデオデコーダ３０が、最大値動きベクトル絶対値（すなわち、動きベクトルの水平成分の絶対値および垂直成分の絶対値の和）を有するルーマサンプルの４×４ブロックを決定することができる。
【０１１２】
[0078]さらに別の例では、ビデオエンコーダ２０またはビデオデコーダ３０が、現在マクロブロック全体のための１組の予測重みを導出し、使用することができる。ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロックの左上ルーマサンプルを含むマクロブロック区分のために導出された１組の予測重みを用いて、現在マクロブロックのためのＡＬＣ重みを決定することができる。ＭＢ区分が異なる動きベクトルを有する複数のルーマブロックを含む場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロック区分の左上ブロックのために導出された重みに基づいて、マクロブロックのための予測重みＷｉを決定することができる。
【０１１３】
[0079]本開示の技法によるいくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０が、異なるサイズのＬＴＲｅｆｉ、ＬＴＤｅｃｉ、ＵＴＤｅｃｉおよびＵＴＲｅｆｉを用いることができる。たとえば、Ｎ×Ｍ（ただし、Ｎは幅であり、Ｍは高さであり、４、８または１６のうちの１つとすることができる）のサイズを有する所与のブロックの場合に、照明補償が許されるとき、Ｎ×４個の上行および４×Ｍ個の左列の代わりに、ビデオエンコーダ２０またはビデオデコーダ３０が、ＡＬＣのための予測重みを導出するために、それより少ない行または少ない列を用いることができる。
【０１１４】
[0080]別の例では、Ｎ（またはＭ）が１６に等しい場合には、選択されたルーマサンプルブロックが８×４（または４×８）のサイズを有するように、ビデオエンコーダ２０またはビデオデコーダ３０が、ＵＴＲｅｆｉ、ＵＴＤｅｃｉ、ＬＴＲｅｆｉおよびＬＴＤｅｃｉの上行（または左列）を選択することができる。また、本開示の技法によるいくつかの他の例では、ビデオエンコーダ２０またはビデオデコーダ３０が、動き補償を呼び出すのではなく、既存の動きベクトルを取り込み、ベクトルの概数を決定し、動きベクトルを丸め、参照ピクチャのルーマブロックの場所（すなわち、ＵＴＲｅｆｉおよびＬＴＲｅｆｉ）を決定するように構成され得る。
【０１１５】
[0081]たとえば、参照ピクチャ（それはビュー間参照ピクチャである）内のトップ領域サンプルおよび左側領域サンプルを導出するとき、動き補償を呼び出して、現在ブロックと同じ動きベクトルに基づいてルーマサンプルを得る代わりに、ビデオエンコーダ２０またはビデオデコーダ３０が動きベクトルを丸めることができる。たとえば、ビデオエンコーダ２０またはビデオデコーダ３０が、既存の動きベクトル（たとえば、ｍｖ［０］、ｍｖ［１］）を取り込み、動きベクトルを整数ピクセルに丸めることができる。動きベクトルを整数ピクセルに丸めるために、ビデオエンコーダ２０またはビデオデコーダ３０が、以下の式６〜８のうちの１つを用いることができる（動きベクトルがすでに整数ピクセル動きベクトルであるとき、補間は不要である）。
【数５】
0006359549.tif 000007
【０１１６】
[0082]代替的には、ビデオエンコーダ２０またはビデオデコーダ３０が、たとえば、以下の式９を用いて、動きベクトルを半ピクセルに丸めることができる。
【数６】
0006359549.tif 000008
【０１１７】
[0083]また、ビデオエンコーダ２０またはビデオデコーダ３０が、動きベクトルを変換して、現在ブロックを動き補償するために用いられる（異なる）動きベクトルからのトップルーマサンプルブロックおよび左側ルーマサンプルブロックを導出することもできる。
【０１１８】
[0084]別の例では、４×４に等しいか、または４×４より大きいサイズを有するトップまたは左側隣接ルーマブロックのための動き補償を実行する代わりに、ビデオエンコーダ２０またはビデオデコーダ３０が、予測重みＷｉを導出するときに、１つの上行および１つの左列内のルーマサンプルのみを考慮することができる。別の例では、ビデオエンコーダ２０またはビデオデコーダ３０が、上行および左列のみを利用することができるが、整数ベクトルに丸められた動きベクトルを用いてルーマサンプルの参照ブロックの場所を導出することができる。
【０１１９】
[0085]いくつかの他の例では、ビデオエンコーダ２０またはビデオデコーダ３０が、予測重みを導出するときに、隣接ルーマサンプルの１つのブロックからのルーマサンプルのサブセットのみを選択することができる。たとえば、ビデオエンコーダ２０またはビデオデコーダ３０は、１つの行または列の両端を用いて、予測重みを導出することができる。別の例では、ビデオエンコーダ２０またはビデオデコーダ３０は、ＡＬＣのための重みを決定するときに、ルーマサンプルのブロックの両端にあるルーマサンプルと、行または列の中央サンプルとを用いることができる。
【０１２０】
[0086]さらに別の例では、ビデオエンコーダ２０またはビデオデコーダ３０は、ＡＬＣのための予測重みを決定するときに、１つの行または列からの４つまでのルーマサンプルを利用することができる。この例では、隣接ルーマサンプル（現在ブロックに対する）の１つの行／列がＮ個のサンプル長を有するとき（ここにおいて、Ｎ＝４＊２Ｓ、Ｓ＝０、１または２）、ブロックの左上サンプルの水平または垂直座標に対する、選択されたサンプルの水平／垂直位置ｘ［ｉ］は、ｘ［ｉ］＝ｉ＜＜ｓのように計算される場合があり、ここにおいて、ｉは０から３の範囲にある。
【０１２１】
[0087]さらに別の代替形態では、ビデオエンコーダ２０またはビデオデコーダ３０が、１つの行または列のためのルーマサンプルをダウンサンプリングすることができる。ビデオエンコーダ２０またはビデオデコーダ３０が、ＡＬＣのための予測重みを決定するときに、１つの行または列のルーマをフィルタリングし、ダウンサンプリングすることもできる。
【０１２２】
[0088]代替的には、Ｎ×Ｍ（ただし、Ｎは幅であり、Ｍは高さであり、そのうちの一方は１６に等しい）のサイズを有する所与のブロックの場合に、照明補償が許されるとき、Ｎ×４個の上行および４×Ｍ個の左列を用いる代わりに、ビデオエンコーダ２０またはビデオデコーダ３０が、ＡＬＣのための予測重みの導出を実行するために、それより少ない行または少ない列を用いることができる。
【０１２３】
[0089]さらに別の例では、ルーマサンプルが８×４（もしくは４×８）または４×４を形成するように、ビデオエンコーダ２０またはビデオデコーダ３０が、隣接する１６×４個のトップ隣接ルーマサンプル領域（または左側４×１６個のルーマサンプル領域）内のサンプルを選択することができる。また、ビデオエンコーダ２０またはビデオデコーダ３０が、８×４（もしくは４×８）または４×４領域を形成することができる１６×４個のトップ領域（または左側４×１６領域）からのフィルタリング済みサンプルを使用することもできる。本開示の技法のいずれかが、マクロブロックの寸法ＮまたはＭに関係なく、実行され得ることも理解されたい。
【０１２４】
[0090]種々の例において、ビデオエンコーダ２０またはビデオデコーダ３０が、現在マクロブロックの変換サイズに関係なく、左側隣接サンプル領域およびトップ隣接サンプル領域の寸法を選択することができる。また、ビデオエンコーダ２０またはビデオデコーダ３０が、現在ブロックの変換サイズには関係ないが、現在マクロブロック区分またはサブ区分のサイズに基づいて、左側隣接サンプル領域およびトップ隣接サンプル領域の寸法を選択することもできる。
【０１２５】
[0091]また、ビデオエンコーダ２０またはビデオデコーダ３０が、ＭＢ区分独立参照サンプル識別ともでき、この方法では、ＭＢは、ＭＢ区分に関係なく生成された１組の重みによって常にフィルタリングされる。
【０１２６】
[0092]種々の例において、代替のビデオエンコーダ２０またはビデオデコーダ３０が、ＡＬＣのためのトップルーマ参照サンプルおよび左側ルーマ参照サンプルを、現在マクロブロックの左上４×４ブロックのトップ４×４および左側４×４のルーマブロックに設定することができる。さらに、ビデオエンコーダ２０またはビデオデコーダ３０が、参照ビュー内の参照サンプルの予測子を得るために用いられる、そのブロックの動きベクトルを設定することができる。
【０１２７】
[0093]いくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０が、トップ参照サンプルおよび左側参照サンプルを、現在マクロブロックの左上４×４ブロックのトップ４×４ルーマブロックおよび左側４×４ルーマブロックに設定することができる。また、ビデオエンコーダ２０またはビデオデコーダ３０が、現在マクロブロックのブロックの１つまたは複数の動きベクトルを用いることによって、参照ビュー内のルーマ参照サンプルの予測子ブロックを決定するために用いられる動きベクトルを決定することもできる。
【０１２８】
[0094]本開示のいくつかの他の技法では、ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロック区分に依存するが、サブブロック区分に依存しない参照サンプル識別を実行するように構成され得る。これらの技法では、ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロック区分ごとに１組のＡＬＣ重みを導出することができる。ビデオエンコーダ２０またはビデオデコーダ３０が、サブブロック区分に関係なく、１組の重みを用いて、マクロブロック区分内のピクセルを一緒にフィルタリングするように構成され得る。たとえば、８×８ＭＢ区分の場合、８×８区分が４つの４×４ブロックにさらに区分される場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、４つのブロックのために同じ１組のフィルタ係数を用いることができ、ブロックを一緒にフィルタリングすることができる。
【０１２９】
[0095]別の例では、ビデオエンコーダ２０またはビデオデコーダ３０が、トップ参照サンプルおよび左側参照サンプルを、マクロブロック区分の左上４×４ブロックのトップ４×４ブロックおよび左側４×４ブロックに設定することができる。この例では、ビデオエンコーダ２０またはビデオデコーダ３０が、トップ４×４ブロックおよび左側４×４ブロックの動きベクトルを用いて、参照ビューからのルーマサンプルの予測ブロックの場所を決定する。
【０１３０】
[0096]別の代替形態では、マクロブロック区分がＭ×Ｎのサイズを有し、ＭもしくはＮが８より大きいか、またはＭもしくはＮが８に等しいサイズを有するが、マクロブロック区分が８×８であるサブブロック区分を有する場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、領域が４×Ｎのサイズを有するような左側ルーマ参照サンプルと、トップ参照サンプル領域がＭ×４のサイズを有するようなトップ参照サンプルの領域とを選択することができる。また、ビデオエンコーダ２０またはビデオデコーダ３０が、左側ルーマ参照サンプルが４×８のサイズを有するような左側参照サンプル領域と、右側ルーマ参照サンプル領域が８×４のサイズを有するような右側参照サンプル領域とを選択することもできる。左側ルーマ参照サンプル領域およびトップルーマ参照サンプル領域がそれぞれ４×Ｎ／２およびＭ／２×４のサイズを有するようなビデオエンコーダ２０またはビデオデコーダ３０。
【０１３１】
[0097]種々の例において、ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロック区分依存、およびサブブロック区分依存参照サンプル識別を実行することができる。この例では、ビデオエンコーダ２０またはビデオデコーダ３０が、ＭＢ区分ごとに１組のＡＬＣ予測重みを導出する。しかしながら、ビデオエンコーダ２０またはビデオデコーダ３０が異なる技法を用いて、サブブロック区分ごとの参照サンプルを識別することができる。マクロブロック区分が８×８区分であり、サブブロック区分が２つの８×４（ｍｘｎ）、または２つの４×８（ｍｘｎ）のいずれかのブロックサイズを有する場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、左側隣接参照サンプル領域が４×ｎのサイズを有し、トップ参照ルーマサンプルがｍ×４のサイズを有するような、左側参照サンプル領域を選択することができる。
【０１３２】
[0098]１つの代替形態では、マクロブロック区分がサイズ８×８からなり、サブブロック区分が２つの８×４（ｍｘｎ）ブロック、または２つの４×８（ｍｘｎ）ブロックのいずれかである場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、参照ルーマサンプルのトップ隣接ブロックまたは左側隣接ブロックの場所を示す動きベクトルのうちの１つに基づいて、現在ブロックのためのルーマサンプルの予測ブロックの場所を示す動きベクトルを決定することができる。別の代替形態では、ビデオエンコーダ２０またはビデオデコーダ３０が、現在ブロックのためのルーマサンプルの予測ブロックを示す動きベクトルを決定するときに、トップ隣接参照サンプルブロックおよび／または左側隣接参照サンプルブロックの場所を指示する動きベクトルを利用することができる。
【０１３３】
[0099]３Ｄ−ＡＶＣ作業草案に対する変更のために本明細書において説明される技法は、本開示の技法に従って構成されたコーダが動き補償を実行して、マクロブロック区分あたり一度だけＡＬＣのための重みを決定する技法を含む。その際、ビデオデコーダは、同じ動きベクトルを用いて、各マクロブロック区分、およびそのマクロブロック区分内の任意のサブ区分のための参照ルーマサンプルを決定する。
【０１３４】
[0100]したがって、一例では、ビデオエンコーダ２０またはビデオデコーダ３０が、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重み、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算し、予測されたブロックを用いてビデオブロック区分をコーティングする（たとえば、符号化するか、または復号する）ように構成され得る。
【０１３５】
[0101]図２は、本開示の技法による、適応ルミナンス補償を実行するように構成され得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は符号化されるべきビデオデータを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６と、参照ピクチャメモリ６４とを含む。次に、モード選択ユニット４０は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６と、区分ユニット４８とを含む。
【０１３６】
[0102]ビデオブロック復元のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。ブロック境界をフィルタリングして復元されたビデオからブロッキネスアーティファクトを除去するための、デブロッキングフィルタ（図２に図示せず）も含まれ得る。必要な場合、デブロッキングフィルタは一般に、加算器６２の出力をフィルタリングする。デブロッキングフィルタに加えて、（ループ内またはループ後の）追加ループフィルタも使用され得る。そのようなフィルタは、簡潔のために示されていないが、必要な場合、（ループ内フィルタとして）加算器５０の出力をフィルタリングすることができる。
【０１３７】
[0103]モード選択ユニット４０は、１つまたは複数のビューからブロックの形態で未加工のビデオデータを受信することができる。３Ｄ−ＡＶＣでは、ビューは左眼のビューおよび右眼のビューに対応することができる。モード選択ユニット４０は、たとえば、誤差結果に基づいて、コーディングモード、すなわちイントラまたはインター（たとえば、時間予測とも呼ばれる、ビュー内インター予測、またはビュー間予測）のうちの１つを選択し、結果として生成されたイントラ予測ブロックまたはインター予測ブロックを、加算器５０に与え、残存ブロックデータを生成し、かつ加算器６２に与え、参照ピクチャとして使用するための符号化ブロックを再構成することができる。いくつかの例では、モード選択ユニット４０が、ブロックが、異なるビューからのビデオデータに基づいてビュー間予測されるべきであると判断することができる。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などのシンタックス要素を、エントロピー符号化ユニット５６に提供する。
【０１３８】
[0104]動き推定ユニット４２および動き補償ユニット４４は高度に統合され得るが、概念的な目的のために別々に示される。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。同様に、動き推定ユニット４２が、ビュー間予測のための視差推定を実行することができ、結果として、視差動きベクトルが生成される。動きベクトルは、たとえば、現在のピクチャ（または他のコード化ユニット）内のコーディングされている現在のブロックに対する参照ピクチャ（または他のコード化ユニット）内の予測ブロックに対する、現在のピクチャ内のビデオブロックのブロックの変位を示すことができる。
【０１３９】
[0105]本開示の技法による種々の例において、たとえば、現在ブロックがビュー間予測されるときに、動き推定ユニット４２が、異なるビューからの予測ブロックに対する現在ブロックの変位を指示する動きベクトルを決定することができる。また、動き推定ユニット４２は、ＡＬＣを実行するときにビデオエンコーダ２０が重みを決定するために使用する参照ルーマサンプルの１つもしくは複数のブロックまたは領域の場所を指示する動きベクトルを決定するように構成され得る。動き推定ユニット４２は、分数ピクチャ精度、たとえば、半ピクセルまたは４分の１ピクセル精度を有する動きベクトル（たとえば、時間および／または視差動きベクトル）を計算することができる。本開示の特定の技法によれば、動き補償ユニット４４が、ＡＬＣを実行するときに、動きベクトルの丸め、たとえば、分数ピクセル動きベクトルから整数ピクセルまたは半ピクセル精度動きベクトルへの丸めを実行するように構成され得る。
【０１４０】
[0106]予測ブロックは、絶対値差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分尺度によって決定され得るピクセル差分に関して、コーディングされるべきブロックに厳密に一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算することができる。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間することができる。したがって、動き推定ユニット４２は、フルピクセル位置および分数ピクセル位置に対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力することができる。
【０１４１】
[0107]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス内のビデオブロックのＰＵの動きベクトルを計算する。動き推定／視差ユニット４２はまた、ビュー間予測を実行するように構成されてよく、その場合、動き推定／視差ユニット４２は、あるビューのピクチャ（たとえば、ビュー０）のブロックと、参照ビューのピクチャ（たとえば、ビュー１）の対応するブロックとの間の変位ベクトルを計算することができる。一般に、動きベクトルのためのデータは、参照ピクチャリストと、参照ピクチャリストへのインデックス（ｒｅｆ＿ｉｄｘ）と、水平成分と、垂直成分とを含み得る。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択されてよく、それらの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。各リスト（すなわち、リスト０またはリスト１）に対して、ビデオエンコーダ２０は、参照インデックスの昇順に基づいて項目を選択することができる。
【０１４２】
[0108]動き推定ユニット４２は、参照ピクチャの予測ブロックを識別する動きベクトルを生成し、エントロピー符号化ユニット５６と動き補償ユニット４４とに送ることができる。すなわち、動き推定ユニット４２は、予測ブロックを含んでいる参照ピクチャリストを識別する動きベクトルデータと、予測ブロックのピクチャを識別する参照ピクチャリストへのインデックスと、識別されたピクチャ内の予測ブロックの位置を特定する水平成分および垂直成分とを生成し、送ることができる。
【０１４３】
[0109]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックを取得または生成することに関与し得る。やはり、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４は機能的に統合され得る。現在のビデオマクロブロックの区分の動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックの位置を特定することができる。
【０１４４】
[0110]動き補償ユニット４４は、本開示の技法による、ＡＬＣに関連する特定の技法を実行することもできる。いくつかの例では、動き補償ユニット４４は、現在ブロックに対するトップ隣接ルーマサンプルブロックおよび左側隣接ルーマサンプルブロックを決定するように構成され得る。トップ隣接サンプルブロックおよび左側隣接サンプルブロックは、現在ブロックと同じフレームの以前にコーディングされたブロックからのルーマサンプル領域（たとえば、上記のＵＴＤｅｃ領域およびＬＴＤｅｃ領域）と、参照ブロックに隣接するルーマサンプル領域（たとえば、上記のＬＴＲｅｆおよびＵＴＤｅｃ）とを備えることができる。
【０１４５】
[0111]動き補償ユニット４４は、動き推定ユニット４２によって生成される１つまたは複数の動きベクトルに基づいて、サンプル領域の場所と、現在ブロックのための予測ルーマサンプル値の場所とを決定することができる。現在ブロックが、ＡＬＣ対応である場合には、動き補償ユニット４４が、現在ブロックのためのトップ隣接ルーマサンプル領域および左側隣接ルーマサンプル領域を決定すると、動き補償ユニット４４は、複数のブロックからの対応するサンプルの絶対値を比較し、上記のように、Ｒｅｆ＿ＲｅｆおよびＲｅｆ＿Ｄｅｃ変数と、現在ブロックのための重み係数Ｗｉとを生成する。動き補償ユニット４４が、現在マクロブロック区分またはサブ区分のための重み係数Ｗｉを決定すると、動き補償ユニット４４は、上記の式４に従って、重み係数Ｗｉによって、現在ブロックのためのルーマ値の予測ブロック、ｐｒｅｄＰａｒｔｉを調整することができる。
【０１４６】
[0112]本開示の技法によれば、動き補償ユニット４４は、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行ための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出するように構成され得る。動き補償ユニット４４は、本開示の技法による、ルーマサンプルの照明補償をさらに実行するように構成され得る。たとえば、現在マクロブロックが、Ｐスライス内のビュー間参照ピクセルから一方向において予測されるとき、動き補償ユニット４４は、本開示の技法に従って、現在マクロブロックのルーマサンプルのための照明補償を実行することができる。同様に、動き補償ユニット４４は、区分のための予測ブロックを計算するために、現在マクロブロックの区分のための参照ブロックに予測重みを適用することができる。
【０１４７】
[0113]加算器５０は、以下で論じられるように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット４２は、ルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際に、ビデオデコーダ３０が使用するためのビデオブロックおよびビデオスライスと関連付けられるシンタックス要素を生成することができる。
【０１４８】
[0114]イントラ予測ユニット４６は、上で説明されたように、動き推定ユニット４２および動き補償ユニット４４によって実行されるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用するイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パスの間、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。
【０１４９】
[0115]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードに対するレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を示すかを判定するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
【０１５０】
[0116]ブロックのイントラ予測モードを選択した後、イントラ予測ユニット４６は、ブロックのために選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット５６に提供することができる。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ２０は、（コードワードマッピングテーブルとも呼ばれる）複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルと、様々なブロックのための符号化コンテキストの定義と、最確イントラ予測モードの指示とを含み得る送信されたビットストリーム構成データの中に、コンテキストの各々に対して使用する、イントラ予測モードインデックステーブルと、修正されたイントラ予測モードインデックステーブルとを含めることができる。
【０１５１】
[0117]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって、残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数のコンポーネントを表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。
【０１５２】
[0118]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【０１５３】
[0119]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後、符号化ビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されてよく、または後で送信するかまたは取り出すためにアーカイブされてよい。
【０１５４】
[0120]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域内の残差ブロックを復元する。動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のピクチャのうちの１つの予測ブロックに加算することによって、参照ブロックを計算することができる。動き補償ユニット４４はまた、復元された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算することができる。加算器６２は、復元された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための復元ビデオブロックを生成する。復元ビデオブロックは、後続ピクチャ中のブロックをインターコーディングするために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１５５】
[0121]ビデオエンコーダ２０は、上で説明されたように、いくつかのシンタックス要素を生成することができ、それらはエントロピー符号化ユニット５６またはビデオエンコーダ２０の別の符号化ユニットによって符号化され得る。いくつかの例では、ビデオエンコーダ２０は、上で説明されたように、３Ｄ−ＡＶＣビットストリームのためのシンタックス要素を生成し符号化することができ、やはり、この３ＤＶＣビットストリームはＨ．２６４／ＡＶＣと後方互換性があり得る。
【０１５６】
[0122]このようにして、ビデオエンコーダ２０は、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行ための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出し、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算し、予測されたブロックを用いてビデオブロック区分を符号化するように構成され得る。
【０１５７】
[0123]図３は、本開示の技法による、適応ルミナンス補償を実行するように構成され得る例示的なビデオデコーダ３０を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２およびイントラ予測ユニット７４を有する予測ユニット８１と、逆量子化ユニット７６と、逆変換ユニット７８と、加算器８０と、参照ピクチャメモリ８２とを含む。
【０１５８】
[0124]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと関連するシンタックス要素とを表す符号化ビデオのビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、予測ユニット８１に動きベクトルと他の予測関連シンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１５９】
[0125]たとえば、ビデオデコーダ３０は、ＮＡＬユニットに記憶されたデータのタイプ（たとえば、ＶＣＬデータおよび非ＶＣＬデータ）を識別するＮＡＬユニットヘッダを有するいくつかのＮＡＬユニットを受信することができる。パラメータセットは、上で説明されたＳＰＳ、ＰＰＳ、または他のパラメータセットなどのシーケンスレベルヘッダ情報を含み得る。
【０１６０】
[0126]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、予測ユニット８１のイントラ予測ユニット７４は、アクティブパラメータセットを考慮して、シグナリングされたイントラ予測モードおよび現在のピクチャの前に復号されたブロックからのデータに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成することができる。ピクチャがインターコード化（すなわちＢ、Ｐまたは一般化ＰＢ（ＧＰＢ））スライスとしてコーディングされるとき、予測ユニット８１の動き補償ユニット７２は、やはりアクティブパラメータセットを考慮して、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックの予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照ピクチャリスト、リスト０およびリスト１（または合成リスト、リストｃ）を構築することができる。
【０１６１】
[0127]動き補償ユニット７２は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、またはＰスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数に対する構築情報と、スライスの各インター符号化ビデオブロックの動きベクトルと、スライスの各インターコード化ビデオブロックのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１６２】
[0128]エントロピー復号ユニットまたは動き補償ユニット７２は、ビュー間予測されたブロックにおいてＡＬＣを実行するときに利用される動きベクトルを決定することもできる。動き補償ユニット７２は、エントロピー復号ユニット７０を用いて復号された動きベクトルに基づいて現在ブロックのためのルーマ値を予測するために用いられるルーマサンプルのビュー間予測ブロック（ｐｒｅｄＰａｒｔ）の場所を決定することができる。エントロピー復号ユニット７０および動き補償ユニット７２は、同じ参照ブロックからのトップ隣接ルーマサンプルブロックおよび左側隣接ルーマサンプルブロックＬＴＲｅｆｉおよびＵＴＲｅｆｉの場所を、ｐｒｅｄＰａｒｔｉ、すなわち、参照ビューからの予測ルーマブロックとして指示する１つまたは複数のベクトルも決定することができる。
【０１６３】
[0129]動き補償ユニット７２は、現在ブロックに対するトップ隣接ルーマサンプルブロック領域および左側隣接ルーマサンプルブロック領域ＬＴＤｅｃｉおよびＵＴＤｅｃｉを決定することもできる。ＬＴＤｅｃｉおよびＵＴＤｅｃｉは、現在ビデオブロックと同じフレーム内に位置する。動き補償ユニット７２は、上記のようなＵＴＲｅｆｉおよびＵＴＤｅｃｉおよびＬＴＤｅｃｉおよびＬＴＲｅｆｉの対応するサンプル間の差を式において決定し、現在マクロブロック区分またはサブ区分のための変数Ｒｅｆ＿ＲｅｆｉおよびＲｅｆ＿Ｄｅｃｉを生成することによって、現在ブロックにおいてＡＬＣを実行することができる。動き補償ユニット７２は、上記の式３に従って、現在マクロブロック区分またはサブ区分においてＡＬＣを実行するための重み係数Ｗｉを決定することができる。動き補償ユニット７２は、上記の式４に従って、ＷｉによってｐｒｅｄＰａｒｔｉの予測されたルーマ値を調整する。ｐｒｅｄＰａｒｔｉの重みの出力は、ルーマサンプルの重み付けされた予測ブロック、ｐｒｅｄＰａｒｔＡＬＣｉである。
【０１６４】
[0130]このようにして、動き補償ユニット７２は、本開示の技法による、照明補償を実行するように、たとえば、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行ための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出し、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算するように構成され得る。
【０１６５】
[0131]逆量子化ユニット７６は、ビットストリーム内で提供されエントロピー復号ユニット７０によって復号された量子化変換係数を、逆量子化（inverse quantize）、すなわち逆量子化（de-quantize）する。逆量子化プロセスは、ビデオスライス内のビデオブロックごとにビデオエンコーダ２０によって計算される量子化パラメータを使用して量子化の程度を決定することと、同様に、適用すべき逆量子化の程度を決定することとを含み得る。
【０１６６】
[0132]逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。逆変換処理ユニット７８は、変換が残差データに適用された方式を判定することができる。
【０１６７】
[0133]動き補償ユニット７２が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器８０は、この加算演算を実行する１つまたは複数のコンポーネントを表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または別様にビデオ品質を改善するために、（コーディングループ内またはコーディングループ後の）他のループフィルタも使用され得る。次いで、所与のピクチャ内の復号ビデオブロックは、その後の動き補償に使用される参照ピクチャを記憶する参照ピクチャメモリ８２に記憶される。参照ピクチャメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上に後で提示するための、復号されたビデオを記憶する。
【０１６８】
[0134]このようにして、図３のビデオデコーダ３０は、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行ための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出し、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算し、予測されたブロックを用いてビデオブロック区分を復号するように構成され得る。
【０１６９】
[0135]図４は、例示的な３Ｄ−ＡＶＣの予測パターンを示す概念図である。図４の例では、８個のビューが示され、各ビューに対して１２個の時間位置が示される。一般に、図４内の各行はビューに対応し、各列は時間位置を示す。ビューの各々は、他のビューに対する相対的なカメラ位置を示すために使用され得るビュー識別子（「ｖｉｅｗ＿ｉｄ」）を使用して識別され得る。図４に示された例では、ビューＩＤは「Ｓ０」〜「Ｓ７」として示されているが、数字のビューＩＤも使用され得る。加えて、時間位置の各々は、ピクチャの表示順序を示すピクチャ順序カウント（ＰＯＣ）値を使用して識別され得る。図４に示された例では、ＰＯＣ値は「Ｔ０」〜「Ｔ１１」として示されている。
【０１７０】
[0136]図４中のピクチャは、対応するピクチャがイントラコード化される（すなわち、Ｉフレームである）のか、または一方向に（すなわち、Ｐフレームとして）インターコード化されるのか、または複数の方向に（すなわち、Ｂフレームとして）インターコード化されるのかを指定する、文字を含む影付きブロックを使用して示される。一般に、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のオブジェクトを使用する。たとえば、時間位置Ｔ０にあるビューＳ２のＰフレームは、時間位置Ｔ０にあるビューＳ０のＩフレームから予測される。図４に示されたピクチャの各々は、ビュー成分と呼ばれ得る。
【０１７１】
[0137]シングルビュービデオ符号化の場合と同様に、３Ｄ−ＡＶＣビデオシーケンスのピクチャは、異なる時間位置におけるピクチャに関して予測符号化され得る。たとえば、時間位置Ｔ１にあるビューＳ０のｂフレームは、時間位置Ｔ０にあるビューＳ０のＩフレームからそのｂフレームに向けられた矢印を有し、その矢印は、ｂフレームがＩフレームから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化の状況において、ピクチャはビュー間予測され得る。すなわち、ビュー成分は、参照のために他のビュー中のビュー成分を使用することができる。３Ｄ−ＡＶＣでは、たとえば、別のビュー中のビュー成分がインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、ＳＰＳの３Ｄ−ＡＶＣ拡張においてシグナリングされてよく、インター予測参照またはビュー間予測参照の柔軟な順序付けを可能にする、参照ピクチャリストの構築プロセスによって修正され得る。
【０１７２】
[0138]図４は、ビュー間予測の様々な例を提供する。図４の例では、ビューＳ１のピクチャは、ビューＳ１の異なる時間位置におけるピクチャから予測されるものとして、かつ、同じ時間位置におけるビューＳ０およびＳ２のピクチャのうちのピクチャからビュー間予測されるものとして示されている。たとえば、時間位置Ｔ１にあるビューＳ１のｂフレームは、時間位置Ｔ０およびＴ２にあるビューＳ１のＢフレームの各々、ならびに時間位置Ｔ１にあるビューＳ０およびビューＳ２のｂフレームから予測される。
【０１７３】
[0139]図４の例では、大文字の「Ｂ」および小文字の「ｂ」は、異なる符号化方法ではなく、ピクチャ間の異なる階層関係を示すものとする。一般に、大文字の「Ｂ」フレームは、小文字の「ｂ」フレームよりも予測階層が比較的高い。図４はまた、異なるレベルの影付きを使用して予測階層における変形形態を示し、より大きい量の影付き（すなわち、比較的暗い）ピクチャは、より少ない影付きを有する（すなわち、比較的明るい）ピクチャよりも予測階層が高い。たとえば、図４内のすべてのＩフレームは完全な影付きにより示されるが、Ｐフレームはいくぶん明るい影付きを有し、Ｂフレーム（および小文字のｂフレーム）は、互いに対して様々なレベルの影付きを有するが、ＰフレームおよびＩフレームの影付きよりも常に明るい。
【０１７４】
[0140]一般に、階層が比較的高いピクチャが、階層が比較的低いピクチャの復号中に参照ピクチャとして使用され得るように、予測階層が比較的高いピクチャは、階層が比較的低いピクチャを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。ビュー順序インデックスは、ＳＰＳなどのパラメータセット内で示唆され得る。このようにして、参照ピクチャとして使用されるピクチャは、その参照ピクチャを参照して符号化されたピクチャを復号する前に復号され得る。
【０１７５】
[0141]いくつかの例では、全ビットストリームのサブセットが抽出されて、依然として３Ｄ−ＡＶＣに準拠するサブビットストリームを形成することができる。たとえば、サーバによって提供されるサービス、１つまたは複数のクライアントのデコーダの容量、サポート、および能力、ならびに／または、１つまたは複数のクライアントの選好に基づいて、特定の適用例が必要とし得る多くの可能なサブビットストリームが存在する。たとえば、あるクライアントが３つのビューのみを必要とする場合があり、２つのシナリオがあり得る。一例では、あるクライアントは滑らかな鑑賞体験を求めることがあり、ｖｉｅｗ＿ｉｄ値Ｓ０、Ｓ１、およびＳ２のビューを好むことがあり、別の他のクライアントはビュースケーラビリティを求めることがあり、ｖｉｅｗ＿ｉｄ値Ｓ０、Ｓ２、およびＳ４のビューを好むことがある。これらのサブビットストリームの両方が、独立したＭＶＣビットストリームとして復号されてよく、同時にサポートされ得る。
【０１７６】
[0142]本開示の技法によれば、非ベースビューのビデオデータがベースビューから予測され得る。さらに、ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーダは、非ベースビューのルーマサンプルをコーディングするときに照明補償を実行するように構成され得る。たとえば、図４に示されるように、ビューＳ２のデータは、ビューＳ０のデータからビュー間予測され得る。したがって、たとえば、ビデオコーダは、照明補償を利用して、時刻Ｔ０におけるビューＳ０のＩピクチャのデータに対する、ビューＳ２の時刻Ｔ０におけるＰピクチャのブロックをコーディングすることができる。一例として、ビデオコーダは、ビューＳ２の時刻Ｔ０におけるＰピクチャのビデオブロック（たとえば、マクロブロック）のビデオブロック区分のための予測重みを一度導出することができる。
【０１７７】
[0143]図５は、ビュー間予測された参照フレームのブロックと、復号されたフレームの現在ブロックとの間の関係を示す概念図である。図５の例では、復号されたフレーム１０２の現在ブロック１００が、動きベクトル１０８を介して、ビュー間参照フレーム１０６の予測ブロック１０４、ｐｒｅｄＰａｒｔｉに関連付けられる。動きベクトル１０８は、予測ブロック１０４に対する現在ブロック１００の相対変位を指示する。
【０１７８】
[0144]現在ブロック１００および予測ブロック１０４の左側および上方に、ルーマサンプルブロックがある。現在ブロックに対する左側隣接ルーマサンプルブロックはＬＴＤｅｃｉ１１０であり、現在ブロック１００に対するトップ隣接ルーマサンプルブロックはＵＴＤｅｃｉ１１２である。予測ブロック１０４に対する左側隣接ブロックはＬＴＲｅｆｉ１１４であり、予測ブロック１０４に対するトップ隣接ブロックはＵＴＲｅｆｉ１１６である。
【０１７９】
[0145]図５に示されるＵＴＲｅｆｉ１１６、ＬＴＲｅｆｉ１１４、ＵＴＤｅｃｉ１１２およびＬＴＤｅｃｉ１１０の配置は一例にすぎない。本開示の技法によれば、ビデオエンコーダ２０またはビデオデコーダ３０が、図５に示される以外の、ＵＴＲｅｆｉ、ＬＴＲｅｆｉ、ＵＴＤｅｃｉおよびＬＴＤｅｃｉのサイズおよび／または場所を決定することができる。たとえば、ＵＴＲｅｆｉ、ＬＴＲｅｆｉ、ＵＴＤｅｃｉおよびＬＴＤｅｃｉは、現在ブロック１００および予測ブロック１０４の幅または高さより小さい寸法を有することができる。図５には、１つの動きベクトル、動きベクトル１０８しか示されないが、例として、ＬＴＲｅｆｉ１１４およびＵＴＲｅｆｉ１１６のうちの１つまたは複数の位置を指示する異なる動きベクトルが存在することもできる。
【０１８０】
[0146]図６Ａ〜図６Ｄは、本開示の技法による、適応ルミナンス補償技法の例を示す概念図である。図１に関して先に簡潔に説明されたように、ビデオエンコーダ２０またはビデオデコーダ３０が、異なるサイズおよび場所のトップ隣接ルーマサンプル領域ブロックおよび左側隣接ルーマサンプル領域ブロックを使用するように構成され得る。本開示の技法によれば、図１〜図３のビデオエンコーダ２０またはビデオデコーダ３０が、トップ隣接サンプル領域のために８×４サンプル、および左側隣接領域のために４×８サンプルのサイズを有するルーマサンプル領域をいずれか決定するように構成され得る。図６Ａは、本開示の技法による、ビデオエンコーダ２０またはビデオデコーダ３０が８×４トップ隣接サンプルを利用する構成を示す。
【０１８１】
[0147]図６Ｂは、ビデオエンコーダ２０またはビデオデコーダ３０が、ＡＬＣを実行する時点を選択するように構成され得る、別の取り得る４×８または８×４ルーマサンプル領域ブロック構成を示す。図６Ｂの例では、ビデオエンコーダ２０またはビデオデコーダ３０が、トップ隣接サンプルのために中央の８×４領域を選択し、左側隣接中央４×８ルーマサンプル領域ブロック（図６Ｂには示されない）を選択することができる。
【０１８２】
[0148]いくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０が、現在ブロックに対する元の１６×４トップ領域内の任意の８×４トップ領域を選択することができ、ただし、Ｎは１６に等しい。ビデオエンコーダ２０またはビデオデコーダ３０が、元の４×１６領域内の任意の４×８領域を選択することができ、ただし、Ｍは１６に等しい。ＡＬＣ重み付けのためのルーマサンプルブロックがサイズ８×４または４×８サンプルからなる場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、種々の方法、たとえば、３Ｄ−ＡＶＣの現在の作業草案において行われるのと同様の方法において、８×４または４×８参照ブロック（すなわち、ＬＴＲｅｆｉおよびＵＴＲｅｆｉ）の場所を決定することができる。
【０１８３】
[0149]図６Ｃは、ビデオエンコーダ２０またはビデオデコーダ３０のためのさらに別の取り得るルーマサンプル領域ブロック構成を示す。図６Ｃにおいて、Ｎ、すなわち、現在マクロブロック区分の幅、またはＭ、すなわち、現在マクロブロック区分の高さが４に等しくない場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、ＡＬＣのための重み係数を決定するときに使用するための最も左側にある４×４トップ隣接ルーマサンプル領域を決定する。ビデオエンコーダ２０またはビデオデコーダ３０が、同様に、中央の最もトップにある左側隣接４×４ルーマサンプルブロック領域（図６Ｃには示されない）を決定するように構成され得る。
【０１８４】
[0150]図６Ｄは、ＡＬＣを実行するときのビデオエンコーダ２０またはビデオデコーダ３０のための別の取り得るルーマサンプル領域構成を示す。図６Ｄの例では、ＮまたはＭが４に等しくない場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、ＡＬＣを実行するときに使用するための中央の４×４トップ隣接ルーマサンプル領域ブロックを決定するように構成される。同様に、この例では、ビデオエンコーダ２０またはビデオデコーダ３０が、ＡＬＣを実行するときに使用するための中央の左側隣接４×４ルーマサンプルブロックを決定するように構成される。
【０１８５】
[0151]別の代替形態では、ＮまたはＭの値に関係なく、ビデオエンコーダ２０またはビデオデコーダ３０が、４×４ルーマサンプルのサイズを有する領域として、トップルーマサンプル領域および左側ルーマサンプル領域を選択することができる。代替的には、ビデオエンコーダ２０またはビデオデコーダ３０が、Ｎ×４および４×Ｍ領域内の任意の４×４領域を選択することができる。
【０１８６】
[0152]図７Ａ〜図７Ｂは、本開示の技法による、適応ルミナンス補償技法の例を示す概念図である。図１に関して先に簡潔に説明されたように、ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロック区分に依存するが、サブブロック区分に依存しない参照サンプル識別を実行するように構成され得る。これらの技法では、ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロック区分ごとに１組のＡＬＣ重みを導出することができる。また、ビデオエンコーダ２０またはビデオデコーダ３０は、サブブロック区分に関係なく、１組の重みを用いてマクロブロック区分内のピクセルを一緒にフィルタリングするように構成され得る。たとえば、８×８マクロブロック区分の場合、８×８区分が４つの４×４ブロックにさらに分割される場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、４つのブロックすべてに対して同じ１組のフィルタ係数を使用することができ、複数のブロックを一緒にフィルタリングすることができる。
【０１８７】
[0153]図７Ａに示される別の例では、ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロック区分の左上４×４ブロックのトップ４×４ブロックおよび左側４×４ブロックへのトップ隣接ルーマサンプル領域および左側隣接ルーマサンプル領域を選択する。この例では、ビデオエンコーダ２０またはビデオデコーダ３０が、トップ隣接４×４ルーマサンプル領域および／または左側隣接４×４ルーマサンプル領域の動きベクトルを用いて、参照ビューからのルーマサンプルの予測ブロック（たとえば、ＬＴＲｅｆｉおよびＵＴＲｅｆｉ）の場所を決定するように構成され得る。
【０１８８】
[0154]別の代替形態では、マクロブロック区分がＭ×Ｎのサイズを有し、ＭまたはＮが８×８より大きいか、またはＭまたはＮが８×８に等しいサイズを有するが、サブブロック区分が８×８である場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、左側ルーマ参照サンプル領域が４×Ｎのサイズを有するような領域と、トップ参照サンプル領域がＭ×４のサイズを有するようなトップ参照サンプル領域とを選択することができる。また、ビデオエンコーダ２０またはビデオデコーダ３０が、左側ルーマ参照サンプルが４×８のサイズを有するような左側参照サンプル領域と、右側ルーマ参照サンプル領域が８×４のサイズを有するような右側参照サンプル領域とを選択することもできる。左側ルーマ参照サンプル領域およびトップルーマ参照サンプル領域がそれぞれ４×Ｎ／２およびＭ／２×４のサイズを有するようなビデオエンコーダ２０またはビデオデコーダ３０。
【０１８９】
[0155]図７Ｂに示されるような種々の例において、ビデオエンコーダ２０またはビデオデコーダ３０が、マクロブロック区分に依存し、およびサブブロック区分に依存する参照サンプル識別を実行することができる。図７Ｂの例において、ビデオエンコーダ２０またはビデオデコーダ３０が、ＭＢ区分ごとに１組のＡＬＣ予測重みを導出する。しかしながら、ビデオエンコーダ２０またはビデオデコーダ３０が異なる技法を用いて、サブブロック区分ごとの参照サンプルを識別することができる。マクロブロック区分が８×８区分であり、サブブロック区分が２つの８×４（ｍｘｎ）または２つの４×８（ｍｘｎ）のいずれかのブロックサイズを有する場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、左側隣接参照サンプル領域が４×ｎのサイズを有し、トップ参照ルーマサンプルがｍ×４のサイズを有するような、左側参照サンプル領域を選択することができる。
【０１９０】
[0156]１つの代替形態では、マクロブロック区分がサイズ８×８からなり、サブブロック区分が２つの８×４（ｍｘｎ）ブロックまたは２つの４×８（ｍｘｎ）ブロックのいずれかである場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、参照ルーマサンプルのトップ隣接ブロックまたは左側隣接ブロックの場所を示す動きベクトルのうちの１つに基づいて、現在ブロックのためのルーマサンプルの予測ブロックの場所を示す動きベクトルを決定することができる。別の代替形態では、ビデオエンコーダ２０またはビデオデコーダ３０が、現在ブロックのためのルーマサンプルの予測ブロックを示す動きベクトルを決定するときに、トップ隣接参照サンプルブロックおよび／または左側隣接参照サンプルブロックの場所を指示する動きベクトルを利用することができる。
【０１９１】
[0157]３Ｄ−ＡＶＣ作業草案に対する変更のために説明される技法は、本開示の技法に従って構成されたコーダが動き補償を実行して、マクロブロック区分あたり一度だけＡＬＣのための重みを決定する技法を含む。その際、ビデオデコーダは、同じ動きベクトルを用いて、各マクロブロック区分およびそのマクロブロック区分内の任意のサブ区分のための参照ルーマサンプルを決定する。
【０１９２】
[0158]図８は、本開示の技法による、適応ルミナンス補償技法を実行するように構成されるビデオコーディングデバイスの例示的な動作を示す流れ図である。この例の目的を果たすために、ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーダが図８の方法を実行できることは理解されたい。
【０１９３】
[0159]図８の方法において、ビデオエンコーダ２０またはビデオデコーダ３０が、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出することができる（１６０）。
【０１９４】
[0160]図８の方法において、ビデオエンコーダ２０またはビデオデコーダ３０が、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算し（１６２）、予測されたブロックを用いてビデオブロック区分をコーディングする（１６４）ようにさらに構成され得る。
【０１９５】
[0161]共通の１組の予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、トップ隣接ブロックの多くてもＮ×４サンプルからのルーマサンプルを用いて共通の１組の予測重みを導出し、左側隣接ブロックの多くても４×Ｍサンプルからのルーマサンプルを使用するようにさらに構成され得る。この例では、Ｎは幅であり、Ｍは高さであり、ＮおよびＭは１６以下である。
【０１９６】
[0162]種々の例において、トップ隣接ブロックはルーマサンプルの１行の高さを有し、左側隣接ブロックはルーマサンプルの１列の幅を有する。いくつかの例では、トップ隣接ブロックはルーマサンプルの１行からのルーマサンプルの第１のサブセットのみを含むことができ、左側隣接ブロックは、ルーマサンプルの１列からのルーマサンプルの第２のサブセットのみを含むことができる。
【０１９７】
[0163]いくつかの例では、トップ隣接ブロックはルーマサンプルの左端および右端からのルーマサンプルのみを含み、左側隣接ブロックは、ルーマサンプルの１列の上端および下端からのルーマサンプルのみを含む。いくつかの他の例では、ＮおよびＭの一方は４、８または１６のうちの１つであり、ＮおよびＭの他方は１６に等しい。
【０１９８】
[0164]さらに別の例では、ビデオブロック区分はＮ×Ｍに等しいサイズを有することができ、ただし、Ｎは幅であり、Ｍは高さである。この例では、予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、Ｎに基づく上側隣接ブロック（above-neighboring block）内のピクセルの列の数、およびＭに基づく左側隣接ブロック内のピクセルの行の数のうちの少なくとも１つを用いて予測重みを導出することができる。
【０１９９】
[0165]さらに別の例では、左側隣接ブロックのＮ×４サンプルが、ビデオブロック区分に対する任意の４×８左側隣接ルーマサンプルを備えることができる。別の例では、左側隣接ブロックのＮ×４サンプルが、ビデオブロック区分に対する任意の４×４左側隣接ルーマサンプルを備えることができる。別の例では、トップ隣接ブロックの４×Ｍサンプルが、ビデオブロック区分に対する任意の８×４左側隣接ルーマサンプルを備えることができる。別の例では、トップ隣接ブロックの４×Ｍサンプルが、ビデオブロック区分に対する任意の４×４左側隣接ルーマサンプルを備えることができる。さらに他の例では、ＮおよびＭのうちの少なくとも一方が４に等しくない場合には、トップ隣接ブロックは最も左側のトップ隣接ブロックであり、左側隣接ブロックは最もトップの左側隣接ブロックである。
【０２００】
[0166]さらに他の例では、予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、サンプルの行またはサンプルの列の端サンプルおよび中央サンプルを用いて予測重みを導出するようにさらに構成され得る。別の例では、予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、サンプルの行またはサンプルの列の多くても４つのサンプルを用いて予測重みを導出するようにさらに構成され得る。
【０２０１】
[0167]種々の例において、予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、１つまたは複数のダウンサンプリングされたサンプルを用いて、予測重みを導出するようにさらに構成され得る。別の例では、予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、１つまたは複数のダウンサンプリングされフィルタリングされたサンプルを用いて予測重みを導出するようにさらに構成され得る。
【０２０２】
[0168]さらに他の例では、区分が８×８のサイズを有し、共通の１組の予測重みが単一の１組の予測重みを備える場合には、ビデオエンコーダ２０またはビデオデコーダ３０が、ビデオブロック区分のルーマサンプルの１つのブロックのための予測重みに基づいて、ビデオブロック区分の照明補償のための単一の１組の予測重みを導出するようにさらに構成され得る。
【０２０３】
[0169]別の例では、ルーマサンプルの８×８区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備え、予測重みを導出するために用いられる１つのブロックは、４×４ルーマサンプルの少なくとも１つのサブ区分のうちの１つとすることができる。種々の例において、ルーマサンプルの８×８区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備えることができる。これらの例では、ビデオエンコーダ２０またはビデオデコーダ３０が、予測重みを導出するために用いられる１つのブロックとして、サブ区分のための動きベクトルの中の最も大きい動きベクトルを有する４×４ルーマサンプルの少なくとも１つのサブ区分のうちの１つを選択するようにさらに構成され得る。
【０２０４】
[0170]別の例では、１組の予測重みは１組の以前に復号された左側隣接ルーマサンプルと、ビデオブロック区分と同じピクチャ内のビデオブロック区分に対する１組のトップ隣接ルーマサンプルとに基づき、１組の予測重みは、さらに、ビデオブロック区分のためのルーマサンプルのビュー間予測参照ブロックに対する１組の左側隣接ルーマサンプルおよび１組のトップ隣接ルーマサンプルに基づく。
【０２０５】
[0171]さらに別の例では、ビデオエンコーダ２０またはビデオデコーダ３０が、ビデオブロック区分のためのビュー間動きベクトルを決定し、ビュー間動きベクトルを整数ピクセルに丸め、半整数に丸められた動きベクトルに基づいて、ルーマサンプルのビュー間予測参照ブロックを決定するように構成され得る。
【０２０６】
[0172]さらに他の例では、ビデオエンコーダ２０またはビデオデコーダ３０が、ビデオブロック区分のためのビュー間動きベクトルを決定するように構成され得る。ビデオエンコーダ２０またはビデオデコーダ３０が、ビュー間動きベクトルを半整数ピクセルに丸め、半整数に丸められた動きベクトルに基づいて、ルーマサンプルのビュー間予測参照ブロックを決定することができる。
【０２０７】
[0173]さらに他の例では、ビュー間予測参照ブロックは第１のブロックを備えることができ、１組の左側隣接ルーマサンプルおよび１組のトップ隣接ルーマサンプルは、第１のブロックの場所を指示する丸められた動きベクトルに基づいて決定される第２の異なるビュー間予測参照ブロックに対して隣接している。
【０２０８】
[0174]さらに他の例では、ビデオブロック区分はフルビデオブロックの１つまたは複数のビデオブロック区分のうちの１つのビデオブロック区分を備え、共通の１組の予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、フルビデオブロックの左上ピクセルを含むビデオブロック区分のうちの１つに基づいて、すべてのビデオブロック区分に対して一度、共通の１組の予測重みを導出するように構成される。
【０２０９】
[0175]別の例では、ビデオブロック区分は、複数のサブブロックを備えることができ、各サブブロックは、それぞれの動きベクトルを有することができる。共通の１組の予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、ビデオブロック区分の左上サブブロックに基づいて、サブブロックごとに一度、共通の１組の予測重みを導出するように構成される。
【０２１０】
[0176]さらに別の例では、ビデオブロック区分は、Ｎ×Ｍに等しいサイズを有することができ、ＮおよびＭの少なくとも一方は１６に等しくすることができる。この例では、予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、上側隣接ブロック内のＮ列までのピクセル、または左側隣接ブロック内のＭ行までのピクセルを用いて予測重みを導出するようにさらに構成される。
【０２１１】
[0177]いくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０は、Ｎ列までのピクセルまたはＭ行までのピクセルにおいてフィルタリング動作を実行して、１組の中間サンプルを形成するようにさらに構成され得る。これらの例では、予測重みを導出するために、ビデオエンコーダ２０またはビデオデコーダ３０が、少なくとも部分的に中間サンプルに基づいて、予測重みを導出するように構成され得る。そして、いくつかの例では、フィルタリング動作を実行するために、ビデオエンコーダ２０またはビデオデコーダ３０が、８×４、４×８または４×４領域を形成することができるＮ列まで、またはＭ行までの内のサンプルにおいてフィルタリング動作を実行するように構成され得る。
【０２１２】
[0178]このようにして、図８の方法は、ビデオブロック区分のための変換サイズに関係なく、ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、ビデオブロック区分に対して一度、ビデオブロック区分のルーマサンプルの照明補償のための予測重みを導出することと、照明補償を用いる予測重みを用いてビデオブロック区分のための予測されたブロックを計算することと、予測されたブロックを用いてビデオブロック区分をコーティングする（たとえば、符号化するか、または復号する）こととを含む方法の一例を表す。
【０２１３】
[0179]本開示の特定の技法はＨ．２６４規格に関して説明されたが、本技法は必ずしも特定のコーディング規格に限定されないことを理解されたい。すなわち、本技法は、より一般的には、たとえば、上で説明されたように、ビデオデータのより効率的な処理（たとえば、コーディング）を通じて、３ＤＶＣにおけるコーディングの効率性を達成することに関する。
【０２１４】
[0180]例に応じて、本明細書で説明された方法のうちのいずれかのいくつかの行為またはイベントは、異なるシーケンスで実行されてよく、互いに付加、統合、または除外されてよい（たとえば、すべての説明された行為またはイベントが、方法の実施のために必要であるとは限らない）ことを理解されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて、同時に実行され得る。加えて、本開示のいくつかの態様は、明快にするために単一のモジュールまたはユニットによって実行されるものとして説明されるが、本開示の技法はビデオコーダに関連するユニットまたはモジュールの組合せによって実行され得ることを理解されたい。
【０２１５】
[0181]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする、任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。
【０２１６】
[0182]このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、または（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０２１７】
[0183]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【０２１８】
[0184]しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０２１９】
[0185]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内で与えられてよく、または複合コーデックに組み込まれてよい。また、本技法は、１つまたは複数の回路または論理要素中で完全に実装され得る。
【０２２０】
[0186]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上で説明されたように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられ、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０２２１】
[0187]本開示の様々な態様が説明されてきた。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビデオデータをコーディングする方法であって、前記方法は、
ビデオブロック区分のための変換サイズに関係なく、前記ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、前記ビデオブロック区分に対して一度、前記ビデオブロック区分の前記ルーマサンプルの前記照明補償のための予測重みを導出することと、
照明補償を用いる前記予測重みを用いて前記ビデオブロック区分のための予測されたブロックを計算することと、
前記予測されたブロックを用いて前記ビデオブロック区分をコーティングすることとを備える、方法。
［Ｃ２］  ビデオデータをコーディングすることは、ビデオデータを復号することを備え、前記ビデオブロック区分をコーディングすることは、前記ビデオブロック区分を復号することを備える、Ｃ１に記載の方法。
［Ｃ３］  ビデオデータをコーディングすることは、ビデオデータを符号化することを備え、前記ビデオブロック区分をコーディングすることは、前記ビデオブロック区分を符号化することを備える、Ｃ１に記載の方法。
［Ｃ４］  前記共通の１組の予測重みを導出することは、トップ隣接ブロックの多くてもＮ×４サンプルからのルーマサンプルと、左側隣接ブロックの多くても４×Ｍサンプルからのルーマサンプルとを用いて、前記共通の１組の予測重みを導出することを備え、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
ここにおいて、ＮおよびＭは１６以下である、Ｃ１に記載の方法。
［Ｃ５］  前記トップ隣接ブロックはルーマサンプルの１行の高さを有し、
前記左側隣接ブロックはルーマサンプルの１列の幅を有する、Ｃ４に記載の方法。
［Ｃ６］  前記トップ隣接ブロックはルーマサンプルの前記１行からのルーマサンプルの第１のサブセットのみを含み、
前記左側隣接ブロックは、ルーマサンプルの前記１列からのルーマサンプルの第２のサブセットのみを含む、Ｃ５に記載の方法。
［Ｃ７］  前記トップ隣接ブロックは前記ルーマサンプルの左端および右端からのルーマサンプルのみを含み、
前記左側隣接ブロックは、ルーマサンプルの前記１列の上端および下端からのルーマサンプルのみを含む、Ｃ５に記載の方法。
［Ｃ８］  ＮおよびＭのうちの一方は４、８または１６のうちの１つであり、ＮおよびＭのうちの他方は１６に等しい、Ｃ４に記載の方法。
［Ｃ９］  前記左側隣接ブロックの前記Ｎ×４サンプルは、前記ビデオブロック区分に対する任意の４×８左側隣接ルーマサンプルを備える、Ｃ４に記載の方法。
［Ｃ１０］  前記左側隣接ブロックの前記Ｎ×４サンプルは、前記ビデオブロック区分に対する任意の４×４左側隣接ルーマサンプルを備える、Ｃ４に記載の方法。
［Ｃ１１］  前記トップ隣接ブロックの前記４×Ｍサンプルは、前記ビデオブロック区分に対する任意の８×４左側隣接ルーマサンプルを備える、Ｃ４に記載の方法。
［Ｃ１２］  前記トップ隣接ブロックの前記４×Ｍサンプルは、前記ビデオブロック区分に対する任意の４×４左側隣接ルーマサンプルを備える、Ｃ４に記載の方法。
［Ｃ１３］  ＮおよびＭのうちの少なくとも一方は４に等しくなく、
前記トップ隣接ブロックは最も左側のトップ隣接ブロックであり、
前記左側隣接ブロックは最もトップの左側隣接ブロックである、Ｃ４に記載の方法。
［Ｃ１４］  前記予測重みを導出することは、サンプルの前記行またはサンプルの前記列のうちの端サンプルおよび中央サンプルを用いて前記予測重みを導出することを備える、Ｃ４に記載の方法。
［Ｃ１５］  前記予測重みを導出することは、サンプルの前記行またはサンプルの前記列のうちの多くても４つのサンプルを用いて、前記予測重みを導出することを備える、Ｃ４に記載の方法。
［Ｃ１６］  前記予測重みを導出することは、１つまたは複数のダウンサンプリングされたサンプルを用いて前記予測重みを導出することを備える、Ｃ４に記載の方法。
［Ｃ１７］  前記予測重みを導出することは、１つまたは複数のダウンサンプリングされフィルタリングされたサンプルを用いて前記予測重みを導出することを備える、Ｃ４に記載の方法。
［Ｃ１８］  前記区分は８×８のサイズを有し、前記共通の１組の予測重みは単一の１組の予測重みを備え、前記方法はさらに、前記ビデオブロック区分のルーマサンプルの１つのブロックのための予測重みに基づいて、前記ビデオブロック区分の照明補償のための前記単一の１組の予測重みを導出することを備える、Ｃ１に記載の方法。
［Ｃ１９］  ルーマサンプルの前記８×８区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備え、前記予測重みを導出するために用いられる前記１つのブロックは、４×４ルーマサンプルの前記少なくとも１つのサブ区分のうちの１つを備える、Ｃ１８に記載の方法。
［Ｃ２０］  ルーマサンプルの前記８×８区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備え、前記方法はさらに、前記予測重みを導出するために用いられる前記１つのブロックとして、前記サブ区分のための動きベクトルの中の最も大きい動きベクトルを有する４×４ルーマサンプルの前記少なくとも１つのサブ区分のうちの１つを選択することを備える、Ｃ１８に記載の方法。
［Ｃ２１］  前記１組の予測重みは１組の以前に復号された左側隣接ルーマサンプルと、前記ビデオブロック区分と同じピクチャ内の前記ビデオブロック区分に対する１組のトップ隣接ルーマサンプルとに基づき、前記１組の予測重みは、さらに、前記ビデオブロック区分のためのルーマサンプルのビュー間予測参照ブロックに対する１組の左側隣接ルーマサンプルおよび１組のトップ隣接ルーマサンプルに基づく、Ｃ１に記載の方法。
［Ｃ２２］  前記ビデオブロック区分のためのビュー間動きベクトルを決定することと、
前記ビュー間動きベクトルを整数ピクセルに丸めることと、
前記半整数に丸められた動きベクトルに基づいてルーマサンプルの前記ビュー間予測参照ブロックを決定することとをさらに備える、Ｃ２１に記載の方法。
［Ｃ２３］  前記ビデオブロック区分のためのビュー間動きベクトルを決定することと、
前記ビュー間動きベクトルを半整数ピクセルに丸めることと、
前記半整数に丸められた動きベクトルに基づいてルーマサンプルの前記ビュー間予測参照ブロックを決定することとをさらに備える、Ｃ２１に記載の方法。
［Ｃ２４］  前記ビュー間予測参照ブロックは第１のブロックを備え、
前記１組の左側隣接ルーマサンプルおよび前記１組のトップ隣接ルーマサンプルは、前記第１のブロックの前記場所を指示する丸められた動きベクトルに基づいて決定される第２の異なるビュー間予測参照ブロックに対して隣接している、Ｃ２１に記載の方法。
［Ｃ２５］  前記ビデオブロック区分はフルビデオブロックの１つまたは複数のビデオブロック区分のうちの１つのビデオブロック区分を備え、前記共通の１組の予測重みを導出することは、前記フルビデオブロックの左上ピクセルを含む前記ビデオブロック区分のうちの前記１つに基づいてすべての前記ビデオブロック区分に対して一度、前記共通の１組の予測重みを導出することを備える、Ｃ１に記載の方法。
［Ｃ２６］  前記ビデオブロック区分は、複数のサブブロックを備え、前記サブブロックの各々はそれぞれの動きベクトルを有し、前記共通の１組の予測重みを導出することは、前記ビデオブロック区分の左上サブブロックに基づいて、前記サブブロックごとに一度、前記共通の１組の予測重みを導出することを備える、Ｃ１に記載の方法。
［Ｃ２７］  前記ビデオブロック区分はＮ×Ｍに等しいサイズを有し、ＮおよびＭの少なくとも一方は１６に等しく、前記予測重みを導出することは、上側隣接ブロック内のＮ列までのピクセル、または左側隣接ブロック内のＭ行までのピクセルを用いて、前記予測重みを導出することを備える、Ｃ１に記載の方法。
［Ｃ２８］  前記Ｎ列までのピクセル、または前記Ｍ行までのピクセルにおいてフィルタリング動作を実行して、１組の中間サンプルを形成することをさらに備え、ここにおいて前記予測重みを導出することは、少なくとも部分的に前記中間サンプルに基づいて前記予測重みを導出することを備える、Ｃ２７に記載の方法。
［Ｃ２９］  前記フィルタリング動作を実行することは、８×４、４×８または４×４領域を形成することができる前記Ｎ列まで、または前記Ｍ行までの内のサンプルに関して前記フィルタリング動作を実行することを備える、Ｃ２８に記載の方法。
［Ｃ３０］  前記ビデオブロック区分はＮ×Ｍに等しいサイズを有し、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
前記予測重みを導出することは、Ｎに基づく上側隣接ブロック内のピクセルの列の数、およびＭに基づく左側隣接ブロック内のピクセルの行の数のうちの少なくとも一方を用いて前記予測重みを導出することを備える、Ｃ１に記載の方法。
［Ｃ３１］  ビデオコーダを備えるデバイスであって、前記ビデオコーダは、
ビデオブロック区分のための変換サイズに関係なく、前記ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、前記ビデオブロック区分に対して一度、前記ビデオブロック区分の前記ルーマサンプルの前記照明補償のための予測重みを導出し、
照明補償を用いる前記予測重みを用いて前記ビデオブロック区分のための予測されたブロックを計算し、
前記予測されたブロックを用いて前記ビデオブロック区分をコーティングするように構成される、ビデオコーダを備えるデバイス。
［Ｃ３２］  前記共通の１組の予測重みを導出するために、前記ビデオコーダは、トップ隣接ブロックの多くてもＮ×４サンプルからのルーマサンプルを用いて前記共通の１組の予測重みを導出し、左側隣接ブロックの多くても４×Ｍサンプルからのルーマサンプルを用いるように構成され、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
ここにおいて、ＮおよびＭは１６以下である、Ｃ３１に記載のデバイス。
［Ｃ３３］  前記トップ隣接ブロックはルーマサンプルの１行の高さを有し、
前記左側隣接ブロックはルーマサンプルの１列の幅を有する、Ｃ３２に記載のデバイス。
［Ｃ３４］  前記トップ隣接ブロックはルーマサンプルの前記１行からのルーマサンプルの第１のサブセットのみを含み、
前記左側隣接ブロックは、ルーマサンプルの前記１列からのルーマサンプルの第２のサブセットのみを含む、Ｃ３３に記載のデバイス。
［Ｃ３５］  前記トップ隣接ブロックは前記ルーマサンプルの左端および右端からのルーマサンプルのみを含み、
前記左側隣接ブロックは、ルーマサンプルの前記１列の上端および下端からのルーマサンプルのみを含む、Ｃ３３に記載のデバイス。
［Ｃ３６］  ＮおよびＭのうちの一方は４、８または１６のうちの１つであり、ＮおよびＭのうちの他方は１６に等しい、Ｃ３２に記載のデバイス。
［Ｃ３７］  前記左側隣接ブロックの前記Ｎ×４サンプルは、前記ビデオブロック区分に対する任意の４×８左側隣接ルーマサンプルを備える、Ｃ３２に記載のデバイス。
［Ｃ３８］  前記左側隣接ブロックの前記Ｎ×４サンプルは、前記ビデオブロック区分に対する任意の４×４左側隣接ルーマサンプルを備える、Ｃ３２に記載のデバイス。
［Ｃ３９］  前記トップ隣接ブロックの前記４×Ｍサンプルは、前記ビデオブロック区分に対する任意の８×４左側隣接ルーマサンプルを備える、Ｃ３２に記載のデバイス。
［Ｃ４０］  前記トップ隣接ブロックの前記４×Ｍサンプルは、前記ビデオブロック区分に対する任意の４×４左側隣接ルーマサンプルを備える、Ｃ３２に記載のデバイス。
［Ｃ４１］  ＮおよびＭのうちの少なくとも一方は４に等しくなく、
前記トップ隣接ブロックは最も左側のトップ隣接ブロックであり、
前記左側隣接ブロックは最もトップの左側隣接ブロックである、Ｃ３２に記載のデバイス。
［Ｃ４２］  前記予測重みを導出するために、前記ビデオコーダは、サンプルの前記行またはサンプルの前記列のうちの端サンプルおよび中央サンプルを用いて前記予測重みを導出するように構成される、Ｃ３２に記載のデバイス。
［Ｃ４３］  前記予測重みを導出するために、前記ビデオコーダは、サンプルの前記行またはサンプルの前記列のうちの多くても４つのサンプルを用いて、前記予測重みを導出するように構成される、Ｃ３２に記載のデバイス。
［Ｃ４４］  前記予測重みを導出するために、前記ビデオコーダは、１つまたは複数のダウンサンプリングされたサンプルを用いて前記予測重みを導出するように構成される、Ｃ３２に記載のデバイス。
［Ｃ４５］  前記予測重みを導出するために、前記ビデオコーダは、１つまたは複数のダウンサンプリングされフィルタリングされたサンプルを用いて前記予測重みを導出するように構成される、Ｃ３２に記載のデバイス。
［Ｃ４６］  前記区分は８×８のサイズを有し、前記共通の１組の予測重みは単一の１組の予測重みを備え、前記ビデオコーダはさらに、前記ビデオブロック区分のルーマサンプルの１つのブロックのための予測重みに基づいて、前記ビデオブロック区分の照明補償のための前記単一の１組の予測重みを導出するように構成される、Ｃ３１に記載のデバイス。
［Ｃ４７］  ルーマサンプルの前記８×８区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備え、前記予測重みを導出するために用いられる前記１つのブロックは、４×４ルーマサンプルの前記少なくとも１つのサブ区分のうちの１つを備える、Ｃ４６に記載のデバイス。
［Ｃ４８］  ルーマサンプルの前記８×８区分は、４×４ルーマサンプルの少なくとも１つのサブ区分をさらに備え、前記ビデオコーダはさらに、前記予測重みを導出するために用いられる前記１つのブロックとして、前記サブ区分のための動きベクトルの中の最も大きい動きベクトルを有する４×４ルーマサンプルの前記少なくとも１つのサブ区分のうちの１つを選択するように構成される、Ｃ４６に記載のデバイス。
［Ｃ４９］  前記１組の予測重みは１組の以前に復号された左側隣接ルーマサンプルと、前記ビデオブロック区分と同じピクチャ内の前記ビデオブロック区分に対する１組のトップ隣接ルーマサンプルとに基づき、前記１組の予測重みは、さらに、前記ビデオブロック区分のためのルーマサンプルのビュー間予測参照ブロックに対する１組の左側隣接ルーマサンプルおよび１組のトップ隣接ルーマサンプルに基づく、Ｃ３１に記載のデバイス。
［Ｃ５０］  前記ビデオコーダはさらに、
前記ビデオブロック区分のためのビュー間動きベクトルを決定し、
前記ビュー間動きベクトルを整数ピクセルに丸め、
前記半整数に丸められた動きベクトルに基づいてルーマサンプルの前記ビュー間予測参照ブロックを決定するように構成される、Ｃ４９に記載のデバイス。
［Ｃ５１］  前記ビデオコーダはさらに、
前記ビデオブロック区分のためのビュー間動きベクトルを決定し、
前記ビュー間動きベクトルを半整数ピクセルに丸め、
前記半整数に丸められた動きベクトルに基づいてルーマサンプルの前記ビュー間予測参照ブロックを決定するように構成される、Ｃ４９に記載のデバイス。
［Ｃ５２］  前記ビュー間予測参照ブロックは第１のブロックを備え、
前記１組の左側隣接ルーマサンプルおよび前記１組のトップ隣接ルーマサンプルは、前記第１のブロックの前記場所を指示する丸められた動きベクトルに基づいて決定される第２の異なるビュー間予測参照ブロックに対して隣接している、Ｃ４９に記載のデバイス。
［Ｃ５３］  前記ビデオブロック区分はフルビデオブロックの１つまたは複数のビデオブロック区分のうちの１つのビデオブロック区分を備え、前記共通の１組の予測重みを導出するために、前記ビデオコーダは、前記フルビデオブロックの左上ピクセルを含む前記ビデオブロック区分のうちの前記１つに基づいてすべての前記ビデオブロック区分に対して一度、前記共通の１組の予測重みを導出するように構成される、Ｃ３１に記載のデバイス。
［Ｃ５４］  前記ビデオブロック区分は、複数のサブブロックを備え、前記各サブブロックはそれぞれ動きベクトルを有し、前記共通の１組の予測重みを導出するために、前記ビデオコーダは、前記ビデオブロック区分の左上サブブロックに基づいて、前記サブブロックごとに一度、前記共通の１組の予測重みを導出するように構成される、Ｃ３１に記載のデバイス。
［Ｃ５５］  前記ビデオブロック区分はＮ×Ｍに等しいサイズを有し、ＮおよびＭの少なくとも一方は１６に等しく、前記予測重みを導出するために、前記ビデオコーダは、上側隣接ブロック内のＮ列までのピクセル、または左側隣接ブロック内のＭ行までのピクセルを用いて、前記予測重みを導出するように構成される、Ｃ３１に記載のデバイス。
［Ｃ５６］  前記ビデオコーダは、前記Ｎ列までのピクセル、または前記Ｍ行までのピクセルにおいてフィルタリング動作を実行して、１組の中間サンプルを形成するようにさらに構成され、前記予測重みを導出するために、前記ビデオコーダは、少なくとも部分的に前記中間サンプルに基づいて前記予測重みを導出するように構成される、Ｃ５５に記載のデバイス。
［Ｃ５７］  前記フィルタリング動作を実行するために、前記ビデオコーダは、８×４、４×８または４×４領域を形成することができる前記Ｎ列まで、または前記Ｍ行までの内のサンプルに関して前記フィルタリング動作を実行するように構成される、Ｃ５６に記載のデバイス。
［Ｃ５８］  前記ビデオブロック区分はＮ×Ｍに等しいサイズを有し、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
前記予測重みを導出するために、前記ビデオコーダは、Ｎに基づく上側隣接ブロック内のピクセルの列の数、およびＭに基づく左側隣接ブロック内のピクセルの行の数のうちの少なくとも一方を用いて前記予測重みを導出するように構成される、Ｃ３１に記載のデバイス。
［Ｃ５９］  実行されるときに、１つまたは複数のプロセッサに、
ビデオブロック区分のための変換サイズに関係なく、前記ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、前記ビデオブロック区分に対して一度、前記ビデオブロック区分の前記ルーマサンプルの前記照明補償のための予測重みを導出させ、
照明補償を用いる前記予測重みを用いて前記ビデオブロック区分のための予測されたブロックを計算させ、
前記予測されたブロックを用いて前記ビデオブロック区分をコーティングさせる命令を備える、非一時的コンピュータ可読記憶媒体。
［Ｃ６０］  前記少なくとも１つのプロセッサに前記共通の１組の予測重み導出させる前記命令は、実行されるときに、前記少なくとも１つのプロセッサに、トップ隣接ブロックの多くてもＮ×４サンプルからのルーマサンプルを用いて前記共通の１組の予測重みを導出させ、左側隣接ブロックの多くても４×Ｍサンプルからのルーマサンプルを使用させる命令をさらに備え、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
ここにおいて、ＮおよびＭは１６以下である、Ｃ５９に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ６１］  前記ビデオブロック区分はＮ×Ｍに等しいサイズを有し、ＮおよびＭの少なくとも一方は１６に等しく、前記少なくとも１つのプロセッサに前記予測重みを導出させる前記命令は、実行されるときに、前記少なくとも１つのプロセッサに、上側隣接ブロック内のＮ列までのピクセル、または左側隣接ブロック内のＭ行までのピクセルを用いて、前記予測重みを導出させる命令をさらに備える、Ｃ５９に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ６２］  前記ビデオブロック区分はＮ×Ｍに等しいサイズを有し、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
前記少なくとも１つのプロセッサに前記予測重みを導出させる前記命令は、前記少なくとも１つのプロセッサに、Ｎに基づく上側隣接ブロック内のピクセルの列の数、およびＭに基づく左側隣接ブロック内のピクセルの行の数のうちの少なくとも一方を用いて前記予測重みを導出させる命令を備える、Ｃ５９に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ６３］  ビデオデータをコーディングするためのデバイスであって、
ビデオブロック区分のための変換サイズに関係なく、前記ビデオブロック区分がルーマサンプルの照明補償を実行するための共通の１組の予測重みを有するように、前記ビデオブロック区分に対して一度、前記ビデオブロック区分の前記ルーマサンプルの前記照明補償のための予測重みを導出するための手段と、
照明補償を用いる前記予測重みを用いて前記ビデオブロック区分のための予測されたブロックを計算するための手段と、
前記予測されたブロックを用いて前記ビデオブロック区分を符号化するための手段とを備える、ビデオデータをコーディングするためのデバイス。
［Ｃ６４］  前記共通の１組の予測重みを導出するための前記手段は、トップ隣接ブロックの多くてもＮ×４サンプルからのルーマサンプルを用いて前記共通の１組の予測重みを導出するための手段と、左側隣接ブロックの多くても４×Ｍサンプルからのルーマサンプルを使用するための手段とを備え、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
ここにおいて、ＮおよびＭは１６以下である、Ｃ６３に記載のデバイス。
［Ｃ６５］  前記ビデオブロック区分はＮ×Ｍに等しいサイズを有し、ＮおよびＭの少なくとも一方は１６に等しく、前記予測重みを導出するための前記手段は、上側隣接ブロック内のＮ列までのピクセル、または左側隣接ブロック内のＭ行までのピクセルを用いて、前記予測重みを導出するための手段を備える、Ｃ６３に記載のデバイス。
［Ｃ６６］  前記ビデオブロック区分はＮ×Ｍに等しいサイズを有し、
ここにおいて、Ｎは幅であり、Ｍは高さであり、
前記予測重みを導出するための前記手段は、Ｎに基づく上側隣接ブロック内のピクセルの列の数、およびＭに基づく左側隣接ブロック内のピクセルの行の数のうちの少なくとも一方を用いて前記予測重みを導出するための手段を備える、Ｃ６３に記載のデバイス。
【図１】
0006359549.tif 000009
【図２】
0006359549.tif 000010
【図３】
0006359549.tif 000011
【図４】
0006359549.tif 000012
【図５】
0006359549.tif 000013
【図６Ａ】
0006359549.tif 000014
【図６Ｂ】
0006359549.tif 000015
【図６Ｃ】
0006359549.tif 000016
【図６Ｄ】
0006359549.tif 000017
【図７Ａ】
0006359549.tif 000018
【図７Ｂ】
0006359549.tif 000019
【図８】
0006359549.tif 000020