(57)【要約】      （修正有）【課題】マルチビュー符号化において、ビュー間残差予測処理を行うか否かを適応的に選択する方法を提供する。【解決手段】マルチビュー符号化方法は、ビデオデータのブロックをコーディングするための区分モードを決定することを含み、区分モードは、予測コーディングのためのビデオデータのブロックの分割を示す。方法はまた、区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定することを含み、重み付けファクタがコーディングされないとき、ビュー間残差予測処理は、ブロックに対する残差を予測するために適用されない。方法はまた、決定された区分モードでビデオデータのブロックをコーディングすることを含む。【選択図】図１７
2018067940.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、
ビデオデータのブロックをコーディングするための区分モードを決定することと、ここで、前記区分モードは、予測コーディングのためのビデオデータの前記ブロックの分割を示し、
前記区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定することと、ここで、前記重み付けファクタがコーディングされないとき、前記ビュー間残差予測処理は、前記ブロックに対する残差を予測するために適用されない、
前記決定された区分モードでビデオデータの前記ブロックをコーディングすることと、
を備える、方法。
【請求項２】
前記ブロックをコーディングすることは前記ブロックを復号することを備え、前記重み付けファクタがコーディングされないとき、前記重み付けファクタの値が０であると自動的に決定することをさらに備える、請求項１に記載の方法。
【請求項３】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定することは、
前記区分モードが前記ブロック全体を予測することを含むかどうかを決定することと、
前記区分モードが前記ブロック全体を予測することを含まないとき、前記重み付けファクタのコーディングをスキップすることと、を備える、請求項１に記載の方法。
【請求項４】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定することは、
前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含むかどうかを決定することと、
前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含まないとき、前記重み付けファクタのコーディングをスキップすることと、を備える、請求項１に記載の方法。
【請求項５】
前記ブロックに対するコーディングモードに基づいて前記重み付けファクタをコーディングするかどうかを決定することをさらに備え、前記コーディングモードがスキップモードおよび統合モード以外のコーディングモードであるとき、前記重み付けファクタのコーディングをスキップすること、請求項１に記載の方法。
【請求項６】
前記重み付けファクタがコーディングされるとき、前記方法はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにすることを備え、前記１つまたは複数のディセーブルにされた重み付けファクタは前記ビュー間残差予測処理において使用されない、請求項１に記載の方法。
【請求項７】
前記１つまたは複数の重み付けファクタをディセーブルにすることは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにすることを備える、請求項６に記載の方法。
【請求項８】
前記重み付けファクタがコーディングされるとき、前記方法はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正することを備え、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、請求項１に記載の方法。
【請求項９】
前記１つまたは複数の重み付けファクタを修正することは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正することを備える、請求項８に記載の方法。
【請求項１０】
ビデオデータをコーディングするための装置であって、
ビデオデータを記憶するメモリと、
前記ビデオデータのブロックをコーディングするための区分モードを決定し、ここで、前記区分モードは、予測コーディングのための前記ビデオデータの前記ブロックの分割を示し、
前記区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定し、ここで、前記重み付けファクタがコーディングされないとき、前記ビュー間残差予測処理は、前記ブロックに対する残差を予測するために適用されない、
前記決定された区分モードで前記ビデオデータの前記ブロックをコーディングする
ように構成される１つまたは複数のプロセッサと、を備える、装置。
【請求項１１】
前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ブロックを復号するように構成され、前記重み付けファクタがコーディングされないとき、前記１つまたは複数のプロセッサは、前記重み付けファクタの値が０であると自動的に決定するように構成される、請求項１０に記載の装置。
【請求項１２】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定するために、前記１つまたは複数のプロセッサは、
前記区分モードが前記ブロック全体を予測することを含むかどうかを決定するように構成され、
前記区分モードが前記ブロック全体を予測することを含まないとき、前記１つまたは複数のプロセッサが、前記重み付けファクタのコーディングをスキップするように構成される、請求項１０に記載の装置。
【請求項１３】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定することは、
前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含むかどうかを決定することを備え、
前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含まないとき、前記１つまたは複数のプロセッサが、前記重み付けファクタのコーディングをスキップするように構成される、請求項１０に記載の装置。
【請求項１４】
前記１つまたは複数のプロセッサがさらに、
前記ブロックに対するコーディングモードに基づいて前記重み付けファクタをコーディングするかどうかを決定するように構成され、前記コーディングモードがスキップモードおよび統合モード以外のコーディングモードであるとき、前記重み付けファクタのコーディングをスキップすること、請求項１０に記載の装置。
【請求項１５】
前記重み付けファクタがコーディングされるとき、前記１つまたは複数のプロセッサはさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにするように構成され、前記１つまたは複数のディセーブルにされた重み付けファクタは前記ビュー間残差予測処理において使用されない、請求項１０に記載の装置。
【請求項１６】
前記１つまたは複数の重み付けファクタをディセーブルにするために、前記１つまたは複数のプロセッサは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにするように構成される、請求項１５に記載の装置。
【請求項１７】
前記重み付けファクタがコーディングされるとき、前記１つまたは複数のプロセッサはさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正するように構成され、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、請求項１０に記載の装置。
【請求項１８】
前記１つまたは複数の重み付けファクタを修正するために、前記１つまたは複数のプロセッサは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正するように構成される、請求項１７に記載の装置。
【請求項１９】
前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ビュー間残差予測処理によって前記ブロックを復号するように構成され、前記ビュー間残差予測処理によって前記ブロックを復号するために、前記１つまたは複数のプロセッサは、
前記ブロックの時間的動きベクトルによって示される時間的参照ブロックを決定し、
前記ブロックの視差ベクトルによって示される視差参照ブロックを決定し、
前記時間的動きベクトルと前記視差ベクトルの組合せによって示される時間的視差参照ブロックを決定し、
符号化されたビットストリームから、前記ブロックに対する最終的な残差を示すデータを取得し、
前記視差参照ブロックと前記時間的視差参照ブロックとの差に基づいて、残差予測子を決定し、
前記最終的な残差、前記残差予測子、および前記時間的参照ブロックの組合せに基づいて、前記ブロックを再構築するように構成される、請求項１０に記載の装置。
【請求項２０】
前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ビュー間残差予測処理によって前記ブロックを符号化するように構成され、前記ビュー間残差予測処理によって前記ブロックを符号化するために、前記１つまたは複数のプロセッサは、
前記ブロックの時間的動きベクトルによって示される時間的参照ブロックを決定し、
前記ブロックの視差ベクトルによって示される視差参照ブロックを決定し、
前記時間的動きベクトルと前記視差ベクトルの組合せによって示される時間的視差参照ブロックを決定し、
前記第１のブロックと前記時間的参照ブロックとの差を備える第１の残差を決定し、
前記視差参照ブロックと前記時間的視差参照ブロックとの差を備える残差予測子を決定し、
前記第１の残差と前記残差予測子との差に基づいて、最終的な残差を決定し、
前記最終的な残差を示すデータをビットストリーム中に符号化するように構成される、請求項１０に記載の装置。
【請求項２１】
ビデオデータをコーディングするための装置であって、
ビデオデータのブロックをコーディングするための区分モードを決定するための手段と、ここで、前記区分モードは、予測コーディングのためのビデオデータの前記ブロックの分割を示し、
前記区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定するための手段と、ここで、前記重み付けファクタがコーディングされないとき、前記ビュー間残差予測処理は、前記ブロックに対する残差を予測するために適用されない、
前記決定された区分モードでビデオデータの前記ブロックをコーディングするための手段と、
を備える、装置。
【請求項２２】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定するための前記手段は、
前記区分モードが前記ブロック全体を予測することを含むかどうかを決定するための手段と、
前記区分モードが前記ブロック全体を予測することを含まないとき、前記重み付けファクタのコーディングをスキップするための手段と、を備える、請求項２１に記載の装置。
【請求項２３】
前記重み付けファクタがコーディングされるとき、前記装置はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにするための手段をさらに備え、前記１つまたは複数のディセーブルにされた重み付けファクタは前記ビュー間残差予測処理において使用されない、請求項２１に記載の装置。
【請求項２４】
前記１つまたは複数の重み付けファクタをディセーブルにするための前記手段は、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにするための手段を備える、請求項２３に記載の装置。
【請求項２５】
前記重み付けファクタがコーディングされるとき、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正するための手段をさらに備え、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、請求項２１に記載の装置。
【請求項２６】
前記１つまたは複数の重み付けファクタを修正することは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正することを備える、請求項２５に記載の装置。
【請求項２７】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されると、１つまたは複数のプロセッサに、
ビデオデータのブロックをコーディングするための区分モードを決定させ、ここで、前記区分モードは、予測コーディングのためのビデオデータの前記ブロックの分割を示し、
前記区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定させ、ここで、前記重み付けファクタがコーディングされないとき、前記ビュー間残差予測処理は、前記ブロックに対する残差を予測するために適用されない、
前記決定された区分モードでビデオデータの前記ブロックをコーディングさせる、非一時的コンピュータ可読媒体。
【請求項２８】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定するために、前記命令は、前記１つまたは複数のプロセッサに、
前記区分モードが前記ブロック全体を予測することを含むかどうかを決定させ、
前記区分モードが前記ブロック全体を予測することを含まないとき、前記１つまたは複数のプロセッサは、前記重み付けファクタのコーディングをスキップするように構成される、請求項２７に記載の非一時的コンピュータ可読媒体。
【請求項２９】
前記命令はさらに、前記１つまたは複数のプロセッサに、
前記ブロックに対するコーディングモードに基づいて前記重み付けファクタをコーディングするかどうかを決定させ、ここで、前記コーディングモードがスキップモードおよび統合モード以外のコーディングモードであるとき、前記重み付けファクタのコーディングをスキップする、請求項２７に記載の非一時的コンピュータ可読媒体。
【請求項３０】
前記重み付けファクタがコーディングされるとき、前記命令はさらに、前記１つまたは複数のプロセッサに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにさせ、前記１つまたは複数のディセーブルにされた重み付けファクタが前記ビュー間残差予測処理において使用されない、請求項２７に記載の非一時的コンピュータ可読媒体。
【請求項３１】
前記１つまたは複数の重み付けファクタをディセーブルにするために、前記命令は、前記１つまたは複数のプロセッサに、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにさせる、請求項３０に記載の非一時的コンピュータ可読媒体。
【請求項３２】
前記重み付けファクタがコーディングされるとき、前記命令はさらに、前記１つまたは複数のプロセッサに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正させ、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、請求項２７に記載の非一時的コンピュータ可読媒体。
【請求項３３】
前記１つまたは複数の重み付けファクタを修正するために、前記命令は、前記１つまたは複数のプロセッサに、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正させる、請求項３２に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、その内容全体が完全に参照により組み込まれる、２０１２年１２月７日に出願された米国仮出願第６１／７３４，８７４号の利益を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）で定義されている規格、現在開発中のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格、およびそのような規格の拡張に記載されているビデオ圧縮技法のような、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、かつ／または記憶することができる。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ピクチャまたはピクチャの一部分）は、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードとも呼ばれ得るビデオブロックに区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーティングされた（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用することができる。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コーディングされたブロックと予測ブロックとの差を示す残差データとに従って符号化される。イントラコーディングされたブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは空間領域から変換領域に変換されて、残差変換係数をもたらすことができ、次いで、残差変換係数は量子化され得る。最初に２次元アレイで構成される量子化された変換係数は、変換係数の１次元ベクトルを生成するためにスキャンされてよく、エントロピーコーディングがさらなる圧縮を達成するために適用されてよい。
【０００６】
[0006]マルチビューコーディングビットストリームは、たとえば、複数の視点からのビューを符号化することによって生成され得る。マルチビューコーディング態様を利用するいくつかの３次元（３Ｄ）ビデオ規格が開発されている。たとえば、異なるビューは、３Ｄビデオをサポートするために左目のビューと右目のビューとを伝えることができる。あるいは、いくつかの３Ｄビデオコーディング処理は、いわゆるマルチビュープラス深度コーディングを適用することができる。マルチビュープラス深度コーディングでは、３Ｄビデオビットストリームは、テクスチャビュー成分だけではなく深度ビュー成分も含み得る。たとえば、各ビューは、１つのテクスチャビュー成分と１つの深度ビュー成分とを備え得る。
【発明の概要】
【０００７】
[0007]全般に、本開示は、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）のような２次元コーデックに基づく、マルチレイヤエンコーダデコーダ（コーデック）および３次元ビデオ（３ＤＶ）コーデックのためのビュー間残差予測に関する。本開示の技法は、いくつかの例では、高度なインター残差予測（ＡＲＰ）処理を改良（refine）するために使用され得る。たとえば、本開示の態様は、ＡＲＰをイネーブル（enable）／ディセーブル(disable)すること、ＡＲＰにおける補間、およびＡＲＰにおける重み付けファクタに関し得る。
【０００８】
[0008]一例では、マルチレイヤビデオデータをコーディングする方法は、第１の時間的位置にあるビデオデータの第１のブロックに対して、第１のブロックをコーディングするための１つまたは複数の参照ピクチャリストが第２の異なる時間的位置にある少なくとも１つの参照ピクチャを含むかどうかを決定することと、１つまたは複数の参照ピクチャリスト中のある参照ピクチャのビデオデータの少なくとも１つの参照ブロックに対してビデオデータの第１のブロックをコーディングすることとを含み、コーディングすることは、１つまたは複数の参照ピクチャリストが第２の時間的位置にある少なくとも１つの参照ピクチャを含まないとき、ビュー間残差予測処理をディセーブルにすることを含む。
【０００９】
[0009]別の例では、マルチレイヤビデオデータをコーディングするための装置は、第１の時間的位置にあるビデオデータの第１のブロックに対して、第１のブロックをコーディングするための１つまたは複数の参照ピクチャリストが第２の異なる時間的位置にある少なくとも１つの参照ピクチャを含むかどうかを決定し、１つまたは複数の参照ピクチャリスト中のある参照ピクチャのビデオデータの少なくとも１つの参照ブロックに対してビデオデータの第１のブロックをコーディングするように構成される、１つまたは複数のプロセッサを含み、コーディングすることは、１つまたは複数の参照ピクチャリストが第２の時間的位置にある少なくとも１つの参照ピクチャを含まないとき、ビュー間残差予測処理をディセーブルにすることを含む。
【００１０】
[0010]別の例では、マルチレイヤビデオデータをコーディングするための装置は、第１の時間的位置にあるビデオデータの第１のブロックに対して、第１のブロックをコーディングするための１つまたは複数の参照ピクチャリストが第２の異なる時間的位置にある少なくとも１つの参照ピクチャを含むかどうかを決定するための手段と、１つまたは複数の参照ピクチャリスト中のある参照ピクチャのビデオデータの少なくとも１つの参照ブロックに対してビデオデータの第１のブロックをコーディングするための手段とを含み、コーディングすることは、１つまたは複数の参照ピクチャリストが第２の時間的位置にある少なくとも１つの参照ピクチャを含まないとき、ビュー間残差予測処理をディセーブルにすることを含む。
【００１１】
[0011]別の例では、非一時的コンピュータ可読媒体は命令を記憶しており、この命令は、実行されると、１つまたは複数のプロセッサに、第１の時間的位置にあるビデオデータの第１のブロックに対して、第１のブロックをコーディングするための１つまたは複数の参照ピクチャリストが第２の異なる時間的位置にある少なくとも１つの参照ピクチャを含むかどうかを決定させ、１つまたは複数の参照ピクチャリスト中のある参照ピクチャのビデオデータの少なくとも１つの参照ブロックに対してビデオデータの第１のブロックをコーディングさせ、コーディングすることは、１つまたは複数の参照ピクチャリストが第２の時間的位置にある少なくとも１つの参照ピクチャを含まないとき、ビュー間残差予測処理をディセーブルにすることを含む。
【００１２】
[0012]別の例では、ビデオデータをコーディングする方法は、ビデオデータの現在のブロックに対する、時間的動きベクトルによって示される時間的参照ブロックの位置を決定することと、ここで、現在のブロックおよび時間的参照ブロックはビデオデータの第１のレイヤに位置し、第１のタイプの補間によって、現在のブロックの視差ベクトルによって示される視差参照ブロックの位置を補間することと、ここで、視差参照ブロックは第２の異なるレイヤに位置し、第１のタイプの補間は双線形フィルタを備え、時間的動きベクトルと視差ベクトルの組合せによって示される視差参照ブロックの時間的視差参照ブロックを決定することと、時間的参照ブロック、視差参照ブロック、および時間的視差参照ブロックに基づいて現在のブロックをコーディングすることとを含む。
【００１３】
[0013]別の例では、ビデオデータをコーディングするための装置は、ビデオデータの現在のブロックに対する、時間的動きベクトルによって示される時間的参照ブロックの位置を決定し、ここで、現在のブロックおよび時間的参照ブロックはビデオデータの第１のレイヤに位置し、第１のタイプの補間によって、現在のブロックの視差ベクトルによって示される視差参照ブロックの位置を補間し、ここで、視差参照ブロックは第２の異なるレイヤに位置し、第１のタイプの補間は双線形フィルタを備え、時間的動きベクトルと視差ベクトルの組合せによって示される視差参照ブロックの時間的視差参照ブロックを決定し、時間的参照ブロック、視差参照ブロック、および時間的視差参照ブロックに基づいて現在のブロックをコーディングするように構成される、１つまたは複数のプロセッサを含む。
【００１４】
[0014]別の例では、ビデオデータをコーディングするための装置は、ビデオデータの現在のブロックに対する、時間的動きベクトルによって示される時間的参照ブロックの位置を決定するための手段と、ここで、現在のブロックおよび時間的参照ブロックはビデオデータの第１のレイヤに位置し、第１のタイプの補間によって、現在のブロックの視差ベクトルによって示される視差参照ブロックの位置を補間するための手段と、ここで、視差参照ブロックは第２の異なるレイヤに位置し、第１のタイプの補間は双線形フィルタを備え、時間的動きベクトルと視差ベクトルの組合せによって示される視差参照ブロックの時間的視差参照ブロックを決定するための手段と、時間的参照ブロック、視差参照ブロック、および時間的視差参照ブロックに基づいて現在のブロックをコーディングするための手段とを含む。
【００１５】
[0015]別の例では、非一時的コンピュータ可読媒体は命令を記憶しており、この命令は、実行されると、１つまたは複数のプロセッサに、ビデオデータの現在のブロックに対する、時間的動きベクトルによって示される時間的参照ブロックの位置を決定させ、ここで、現在のブロックおよび時間的参照ブロックはビデオデータの第１のレイヤに位置し、第１のタイプの補間によって、現在のブロックの視差ベクトルによって示される視差参照ブロックの位置を補間させ、ここで、視差参照ブロックは第２の異なるレイヤに位置し、第１のタイプの補間は双線形フィルタを備え、時間的動きベクトルと視差ベクトルの組合せによって示される視差参照ブロックの時間的視差参照ブロックを決定させ、時間的参照ブロック、視差参照ブロック、および時間的視差参照ブロックに基づいて現在のブロックをコーディングさせる。
【００１６】
[0016]別の例では、ビデオデータをコーディングする方法は、ビデオデータのブロックをコーディングするための区分モードを決定することと、ここで、区分モードは予測コーディングのためのビデオデータのブロックの分割を示し、区分モードに基づいてビュー間残差予測処理のための重み付けファクタをコーディングするかどうかを決定することと、ここで、重み付けファクタがコーディングされないとき、ビュー間残差予測処理は現在のブロックに対する残差を予測するために適用されない、決定された区分モードでビデオデータのブロックをコーディングすることとを含む。
【００１７】
[0017]別の例では、ビデオデータをコーディングするための装置は、ビデオデータのブロックをコーディングするための区分モードを決定し、ここで、区分モードは予測コーディングのためのビデオデータのブロックの分割を示し、区分モードに基づいてビュー間残差予測処理のための重み付けファクタをコーディングするかどうかを決定することと、ここで、重み付けファクタがコーディングされないとき、ビュー間残差予測処理は現在のブロックに対する残差を予測するために適用されない、決定された区分モードでビデオデータのブロックをコーディングするように構成される、１つまたは複数のプロセッサを含む。
【００１８】
[0018]別の例では、ビデオデータをコーディングするための装置は、ビデオデータのブロックをコーディングするための区分モードを決定するための手段と、ここで、区分モードは予測コーディングのためのビデオデータのブロックの分割を示し、区分モードに基づいてビュー間残差予測処理のための重み付けファクタをコーディングするかどうかを決定するための手段と、ここで、重み付けファクタがコーディングされないとき、ビュー間残差予測処理は現在のブロックに対する残差を予測するために適用されない、決定された区分モードでビデオデータのブロックをコーディングするための手段と、を含む。
【００１９】
[0019]別の例では、非一時的コンピュータ可読媒体は命令を記憶しており、この命令は、実行されると、１つまたは複数のプロセッサに、ビデオデータのブロックをコーディングするための区分モードを決定させ、ここで、区分モードは予測コーディングのためのビデオデータのブロックの分割を示し、区分モードに基づいてビュー間残差予測処理のための重み付けファクタをコーディングするかどうかを決定させ、ここで、重み付けファクタがコーディングされないとき、ビュー間残差予測処理が現在のブロックに対する残差を予測するために適用されない、決定された区分モードでビデオデータのブロックをコーディングさせる。
【００２０】
[0020]別の例では、ビデオデータをコーディングする方法は、ビデオデータの第１のレイヤ中のビデオデータの第１のブロックに対して、第１のブロックを予測するための時間的動きベクトルと、関連付けられる時間的参照ピクチャとを決定することと、ここで、時間的参照ピクチャはピクチャ順序カウント値を有し、第１のブロックと関連付けられる視差ベクトルによって示される視差参照ピクチャ中の視差参照ブロックを決定することと、ここで、視差参照ピクチャは、第１のブロックと第１のブロックと異なる第２のビューを含むピクチャを含むアクセスユニットに含まれ、第２のビュー中にあり時間的参照ピクチャのピクチャ順序カウント値を有する時間的視差参照ピクチャを、復号ピクチャバッファが含むかどうかを決定することと、ここで、第２のビュー中にあり時間的参照ピクチャのピクチャ順序カウント値を有する時間的視差参照ピクチャを、復号ピクチャバッファが含まないとき、時間的視差参照ピクチャは時間的動きベクトルと視差ベクトルの組合せに基づいて位置決定され、第１のブロックの残差データを予測するためのビュー間残差予測処理を修正することと、ビュー間残差予測処理と修正されたビュー間残差予測処理のうちの１つによって、ビデオデータの第１のブロックに対する残差をコーディングすることとを含む。
【００２１】
[0021]別の例では、ビデオデータをコーディングするための装置は、ビデオデータの第１のレイヤ中のビデオデータの第１のブロックに対して、第１のブロックを予測するための時間的動きベクトルと、関連付けられる時間的参照ピクチャとを決定し、ここで、時間的参照ピクチャはピクチャ順序カウント値を有し、第１のブロックと関連付けられる視差ベクトルによって示される視差参照ピクチャ中の視差参照ブロックを決定し、ここで、視差参照ピクチャは、第１のブロックと第１のブロックと異なる第２のビューを含むピクチャを含むアクセスユニットに含まれ、第２のビュー中にあり時間的参照ピクチャのピクチャ順序カウント値を有する時間的視差参照ピクチャを復号ピクチャバッファが含むかどうかを決定し、ここで、第２のビュー中にあり時間的参照ピクチャのピクチャ順序カウント値を有する時間的視差参照ピクチャを復号ピクチャバッファが含まないとき、時間的視差参照ピクチャは時間的動きベクトルと視差ベクトルの組合せに基づいて位置決定される、第１のブロックの残差データを予測するためのビュー間残差予測処理を修正し、ビュー間残差予測処理と修正されたビュー間残差予測処理のうちの１つによって、ビデオデータの第１のブロックに対する残差をコーディングするように構成される、１つまたは複数のプロセッサを含む。
【００２２】
[0022]別の例では、ビデオデータをコーディングするための装置は、ビデオデータの第１のレイヤ中のビデオデータの第１のブロックに対して、第１のブロックを予測するための時間的動きベクトルと、関連付けられる時間的参照ピクチャとを決定するための手段と、ここで、時間的参照ピクチャはピクチャ順序カウント値を有し、第１のブロックと関連付けられる視差ベクトルによって示される視差参照ピクチャ中の視差参照ブロックを決定するための手段と、ここで、視差参照ピクチャは、第１のブロックと第１のブロックと異なる第２のビューを含むピクチャを含むアクセスユニットに含まれ、第２のビュー中にあり時間的参照ピクチャのピクチャ順序カウント値を有する時間的視差参照ピクチャを復号ピクチャバッファが含むかどうかを決定するための手段と、ここで、第２のビュー中にあり時間的参照ピクチャのピクチャ順序カウント値を有する時間的視差参照ピクチャを復号ピクチャバッファが含まないとき、時間的視差参照ピクチャは時間的動きベクトルと視差ベクトルの組合せに基づいて位置決定され、第１のブロックの残差データを予測するためのビュー間残差予測処理を修正するための手段と、ビュー間残差予測処理と修正されたビュー間残差予測処理のうちの１つによって、ビデオデータの第１のブロックに対する残差をコーディングするための手段とを含む。
【００２３】
[0023]別の例では、非一時的コンピュータ可読媒体は命令を記憶しており、この命令は、実行されると、１つまたは複数のプロセッサに、ビデオデータの第１のレイヤ中のビデオデータの第１のブロックに対して、第１のブロックを予測するための時間的動きベクトルと、関連付けられる時間的参照ピクチャとを決定させ、ここで、時間的参照ピクチャはピクチャ順序カウント値を有し、第１のブロックと関連付けられる視差ベクトルによって示される視差参照ピクチャ中の視差参照ブロックを決定させ、ここで、視差参照ピクチャは、第１のブロックと第１のブロックと異なる第２のビューを含むピクチャを含むアクセスユニットに含まれ、第２のビュー中にあり時間的参照ピクチャのピクチャ順序カウント値を有する時間的視差参照ピクチャを復号ピクチャバッファが含むかどうかを決定させ、ここで、第２のビュー中にあり時間的参照ピクチャのピクチャ順序カウント値を有する時間的視差参照ピクチャを復号ピクチャバッファが含まないとき、時間的視差参照ピクチャは時間的動きベクトルと視差ベクトルの組合せに基づいて位置決定される、第１のブロックの残差データを予測するためのビュー間残差予測処理を修正させ、ビュー間残差予測処理と修正されたビュー間残差予測処理のうちの１つによって、ビデオデータの第１のブロックに対する残差をコーディングさせる。
【００２４】
[0024]本開示の１つまたは複数の例の詳細が、添付の図面および以下の説明において説明される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００２５】
【図１】本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】本開示で説明される技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】本開示で説明される技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４】マルチビューシーケンスをコーディングすることを示す概念図。
【図５】例示的なマルチビュー予測パターンを示す概念図。
【図６】ビデオデータの例示的なスケーラブルレイヤを示す概念図。
【図７】現在のＰＵに対する例示的な空間隣接する予測ユニット（ＰＵ）を示す概念図。
【図８】ビュー間残差予測を示すブロック図。
【図９】マルチビュービデオコーディングにおける高度な残差予測（ＡＲＰ）の例示的な予測構造を示す概念図。
【図１０】ＡＲＰにおける、現在のブロックと、参照ブロックと、動き補償されたブロックとの例示的な関係を示す概念図。
【図１１】１／４サンプルのルーマ補間のための整数サンプルと小数サンプルの位置を示す概念図。
【図１２】ビデオデータのブロックをコーディングするための区分モードを示す概念図。
【図１３】本開示の１つまたは複数の技法による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図１４】本開示の１つまたは複数の技法による、ビデオデコーダの例示的な動作を示すフローチャート。
【図１５】本開示の１つまたは複数の技法による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図１６】本開示の１つまたは複数の技法による、ビデオデコーダの例示的な動作を示すフローチャート。
【図１７】本開示の１つまたは複数の技法による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図１８】本開示の１つまたは複数の技法による、ビデオデコーダの例示的な動作を示すフローチャート。
【図１９】]本開示の１つまたは複数の技法による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図２０】本開示の１つまたは複数の技法による、ビデオデコーダの例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００２６】
[0045]本開示の技法は全般に、高度な２次元（２Ｄ）コーデックに基づいて、マルチビューコーデック、３ＤＶ（たとえば、マルチビュープラス深度）コーデック、またはスケーラブルコーデックのための高度な残差予測（ＡＲＰ）のコーディング効率をさらに改善するための、様々な技法に関する。たとえば、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格が、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）およびＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発されている。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９」と呼ばれる（本明細書ではＷＤ９とも呼ばれる）ＨＥＶＣ規格のドラフトは、Ｂｒｏｓｓ他、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ９」、Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＪＣＴ−ＶＣ）  ｏｆ  ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１、第１１回会議、上海、中国、２０１２年１０月に記載されており、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴＶＣ−Ｋ１００３−ｖ１０．ｚｉｐから入手可能である。
【００２７】
[0046]ＨＥＶＣの１つの使用法は、高精細度および超高精細度（ＵＨＤ）ビデオの領域におけるものであり得る。多くの高精細度（ＨＤ）ディスプレイはすでに、ステレオビデオをレンダリングすることが可能であり、ＵＨＤディスプレイの増大する解像度およびディスプレイサイズは、そのようなディスプレイをステレオビデオに対してさらにより適したものにし得る。その上、ＨＥＶＣの改善された圧縮能力（たとえば、Ｈ．２６４／ＡＶＣ  Ｈｉｇｈプロファイルと比較して、同じ品質でビットレートは半分であると予測される）は、ＨＥＶＣを、ステレオビデオをコーディングするための良好な候補にし得る。たとえば、ビュー間の冗長性を利用する機構を使用して、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、Ｈ．２６４／ＡＶＣ規格を使用してコーディングされる同じ品質および解像度の単一ビュー（モノスコープ）ビデオよりもさらに低いレートで、フル解像度のステレオビデオをコーディングするために、ＨＥＶＣを使用することが可能であり得る。
【００２８】
[0047]ＡＶＣベースのプロジェクトと同様に、ＶＣＥＧおよびＭＰＥＧのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＪＣＴ−３Ｖ）は、ＨＥＶＣコーディング技術を使用している２つの３ＤＶ方法の研究を進めている。一方は、ＭＶ−ＨＥＶＣとも呼ばれるＨＥＶＣのマルチビュー拡張であり、もう一方は、深度増強されたＨＥＶＣベースのフル３ＤＶコーデック、すなわち３Ｄ−ＨＥＶＣである。規格化の取り組みの一部は、ＨＥＶＣに基づいたマルチビュー／３Ｄビデオコーディングの規格化を含む。最新のソフトウェア３Ｄ−ＨＴＭバージョン５．０は、ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−５．０／において電子的に入手可能である。以下で説明される技法は、上記の２つの提案されている３ＤＶ方法とともに実施され得る。
【００２９】
[0048]いくつかの例では、本技法はまた（または代替的に）、ＨＥＶＣに対するスケーラブル拡張とともに実施され得る。スケーラブルビデオコーディングでは、ビデオデータの複数のレイヤがコーディングされ得る。いくつかの例では、各レイヤは特定のビューに対応し得る。ここで、ビュースケーラビリティと空間スケーラビリティの適用は、より多くのビューに対する後方互換性のある拡張、および／または、レガシーデバイスによる復号が可能になる方法でのビューの解像度の向上を可能にするので、３Ｄサービスの進化において非常に有益であると考えられる。
【００３０】
[0049]２次元ビデオコーディングでは、ビデオデータ（すなわち、ピクチャのシーケンス）は、ピクチャごとに、必ずしも表示の順序ではない順序でコーディングされる。ビデオコーディングデバイスは、各ピクチャをブロックに分割し、各ブロックを個々にコーディングする。ブロックベースの予測モードは、イントラ予測とも呼ばれる空間予測とインター予測とも呼ばれる時間的予測とを含む。
【００３１】
[0050]マルチビューコーディングされたデータまたはスケーラブルコーディングされたデータのような、３次元ビデオデータでは、ブロックはまた、ビュー間予測および／またはレイヤ間予測され得る。本明細書で説明されるように、ビデオ「レイヤ」は一般に、ビュー、フレームレート、解像度などの少なくとも１つの共通の特性を有するピクチャのシーケンスを指し得る。たとえば、レイヤは、マルチビュービデオデータの特定のビュー（たとえば、視点）と関連付けられるビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤと関連付けられるビデオデータを含み得る。
【００３２】
[0051]したがって、本開示は、ビデオデータのレイヤとビューを交換可能に指し得る。すなわち、ビデオデータのビューはビデオデータのレイヤと呼ばれることがあり、ビデオデータのレイヤはビデオデータのビューと呼ばれることがある。その上、ビュー間予測およびレイヤ間予測という用語は、ビデオデータの複数のレイヤおよび／またはビューの間の予測を交換可能に指し得る。加えて、マルチレイヤコーデック（またはマルチレイヤビデオコーダ）は、マルチビューコーデックまたはスケーラブルコーデックをまとめて指し得る。
【００３３】
[0052]マルチビューまたはスケーラブルビデオコーディングでは、ブロックは、ビデオデータの別のビューまたはレイヤのピクチャから予測され得る。この方式で、異なるビューから再構築されたビュー成分に基づくビュー間予測が可能にされ得る。本開示は、特定のビューまたはレイヤの符号化されたピクチャを指すために、「ビュー成分」という用語を使用する。すなわち、ビュー成分は、（表示順序または出力順序に関して）特定の時間における特定のビューに対する符号化されたピクチャを備え得る。ビュー成分（またはビュー成分のスライス）は、ピクチャ順序カウント（ＰＯＣ）値を有することがあり、ＰＯＣ値は一般に、ビュー成分の表示順序（または出力順序）を示す。
【００３４】
[0053]通常、２つのビューの同一のまたは対応するオブジェクトは同じ位置にない。「視差ベクトル」という用語は、あるビューのピクチャ中のオブジェクトの、異なるビューにおける対応するオブジェクトに対する変位を示すベクトルを指すために使用され得る。そのようなベクトルは、「変位ベクトル」とも呼ばれ得る。視差ベクトルはまた、ピクチャのビデオデータのピクセルまたはブロックに適用可能であり得る。たとえば、第１のビューのピクチャ中のピクセルは、第２のビューのピクチャ中の対応するピクセルに対して、第１のビューおよび第２のビューが撮影された異なるカメラ位置に関する特定の視差ベクトルの分だけ、変位していることがある。いくつかの例では、視差ベクトルは、あるビューから別のビューへの動き情報（参照ピクチャインデックスを伴う、または伴わない動きベクトル）を予測するために使用され得る。
【００３５】
[0054]したがって、コーディング効率をさらに改善するために、ビデオコーダはまた、ビュー間動き予測および／またはビュー間残差予測を適用することができる。ビュー間動き予測に関して、ビデオコーダは、あるビューのブロックと関連付けられる動きベクトルを、第２の異なるビューのブロックと関連付けられる動きベクトルに対してコーディングすることができる。同様に、以下でより詳細に説明されるように、ビュー間残差予測では、ビデオコーダは、あるビューの残差データを第２の異なるビューの残差に対してコーディングすることができる。いくつかの例では、ビュー間残差予測は、特に３Ｄ−ＨＥＶＣの状況では、高度な残差予測（ＡＲＰ）と呼ばれ得る。
【００３６】
[0055]ＡＲＰでは、ビデオコーダは、現在のブロックを予測するための予測ブロックを決定する。現在のブロックの予測ブロックは、現在のブロックの動きベクトルによって示される位置と関連付けられる、時間的参照ピクチャのサンプルに基づき得る。時間的参照ピクチャは、現在のピクチャと同じビューと関連付けられるが、現在のピクチャとは異なる時間インスタンスと関連付けられる。いくつかの例では、ブロックのサンプルが特定のピクチャのサンプルに基づくとき、サンプルは、特定のピクチャの実際のサンプルまたは補間されたサンプルに基づき得る。
【００３７】
[0056]加えて、ＡＲＰでは、ビデオコーダは、現在のブロックの視差ベクトルによって示される位置にある視差参照ピクチャのサンプルに基づいて、視差参照ブロックを決定する。視差参照ピクチャは、現在のピクチャとは異なるビュー（すなわち、参照ビュー）と関連付けられるが、現在のピクチャと同じ時間インスタンスと関連付けられる。
【００３８】
[0057]ビデオコーダはまた、現在のブロックの時間的視差参照ブロックを決定する。時間的参照ブロックは、現在のブロックの動きベクトルおよび視差ベクトルによって示される位置と関連付けられる時間的視差参照ピクチャのサンプルに基づく。たとえば、時間的視差参照ブロックは、視差参照ブロックに時間的動きベクトルを適用する（たとえば、時間的動きベクトルを再使用する）ことによって、位置決定され得る。したがって、時間的視差参照ピクチャは、視差参照ピクチャと同じビューと関連付けられ、現在のブロックの時間的参照ピクチャと同じアクセスユニットと関連付けられる。
【００３９】
[0058]例示を目的に、時間的視差参照ブロックは、時間的動きベクトルを視差参照ブロックに適用することによって位置決定されるものとして本明細書では説明されるが、いくつかの例では、時間的動きベクトルは、実際には視差参照ピクチャに直接適用されないことがある。むしろ、時間的動きベクトルは、たとえば現在のブロックに対して、時間的視差参照ブロックを位置決定するために、視差ベクトルと組み合わされ得る。たとえば、例示を目的に、視差ベクトルがＤＶ［０］およびＤＶ［１］として示され、時間的動きベクトルがＴＭＶ［０］およびＴＭＶ［１］として示されると仮定する。この例では、ビデオコーダ（ビデオエンコーダまたはビデオデコーダのような）は、視差ベクトルと時間的動きベクトルを組み合わせることによって、たとえばＤＶ［０］＋ＴＭＶ［０］、ＤＶ［１］＋ＴＭＶ［１］によって、現在のブロックに対する時間的視差参照ピクチャ中の時間的視差ブロックの位置を決定することができる。したがって、「時間的動きベクトルを視差参照ブロックに適用する」ことに対する本明細書での言及は、時間的動きベクトルが視差参照ブロックの位置に直接適用されることを必ずしも要求しない。
【００４０】
[0059]ビデオコーダは次いで、現在のブロックと関連付けられる残差、たとえば、現在のブロックと時間的参照ブロックとの差を予測するための、残差予測子を決定する。現在のブロックに対する残差予測子の各サンプルは、視差参照ブロックのサンプルと、時間的視差参照ブロックの対応するサンプルとの差を示す。いくつかの例では、ビデオコーダは、重み付けファクタ（たとえば、０、０．５、１など）を残差予測子に適用して、残差予測子の精度を上げることができる。
【００４１】
[0060]ビデオコーダがビデオエンコーダである例では、ビデオエンコーダは、現在のブロックについての最終的な残差ブロックを決定することができる。最終的な残差ブロックは、現在のブロックのサンプルと、時間的予測ブロック中のサンプルと、残差予測子中のサンプルとの差を示すサンプルを備える。ビデオエンコーダは、ビットストリーム中に、最終的な残差ブロックを表すデータを含め得る。ビデオコーダがビデオデコーダである例では、ビデオデコーダは、最終的な残差ブロック、残差予測子、および時間的予測ブロックに基づいて、現在のブロックを再構築することができる。
【００４２】
[0061]ＡＲＰはビュー間（またはレイヤ間）残差予測のコーディング効率を改善することができるが、さらなる改良が可能である。たとえば、本開示のいくつかの技法は、ＡＲＰ重み付けファクタに関する。上で述べられたように、ビデオコーダは、重み付けファクタを残差予測子に適用することができる。一般に、重み付けファクタは、現在のブロックをコーディングするための参照ピクチャリスト中に時間的参照ピクチャがあるかどうかに関係なく、常にビットストリーム中でシグナリングされる。しかしながら、時間的参照ピクチャがないときに重み付けファクタをシグナリングすることは、不必要に複雑さを上げて効率を下げることがあり、それは、時間的参照ピクチャがなければ時間的予測およびＡＲＰを適用するための関連付けられる残差もないからである。
【００４３】
[0062]参照ピクチャリスト中に（たとえば、リスト０にもリスト１にも）時間的参照ピクチャがない可能性がある１つの例は、ランダムアクセスピクチャをコーディングするときである。以下でより詳細に説明されるように、ランダムアクセスピクチャは、時間的に予測されない。ランダムアクセスピクチャは通常、イントラ予測だけ、またはビュー間予測だけが行われる（ビュー間参照ピクチャのみが参照ピクチャリストに含まれる）。したがって、上で述べられたように、重み付けファクタのシグナリングは不必要かつ非効率的であり、それは、予測子を決定するための残差がないからである。
【００４４】
[0063]本開示の態様によれば、ビデオコーダ（ビデオエンコーダまたはビデオデコーダのような）は、現在コーディングされているブロックに対する参照ピクチャリスト中の参照ピクチャに基づいて、ＡＲＰ（あるレイヤの残差を第２の異なるレイヤの残差に対してコーディングすることを含む）をイネーブルまたはディセーブルにすることができる。ある例では、ビデオコーダは、現在コーディングされているブロックに対する参照ピクチャリスト（たとえば、リスト０またはリスト１）が任意の時間的参照ピクチャを含むかどうかに基づいて、ＡＲＰをイネーブルまたはディセーブルにすることができる。本開示の態様によれば、インター予測されたスライスに対する参照ピクチャリストがビュー間参照ピクチャのみを含む場合、ビデオコーダは、スライスのブロックをコーディングするときにＡＲＰをディセーブルにすることができる。そのような例では、ビデオコーダがビデオエンコーダを備えるとき、ビデオエンコーダは、ビットストリーム中のスライス内のすべてのブロック（たとえば、以下でより詳細に説明されるように、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）の状況ではコーディングユニットまたは予測ユニット）に対する重み付けファクタをシグナリングしなくてよい（重み付けファクタのシグナリングをスキップ（省略）してよい）。同様に、ビデオコーダがビデオデコーダを備えるとき、ビデオデコーダは、重み付けファクタの復号を同様にスキップし、重み付けファクタが０に等しいと自動的に決定する（すなわち、推測する）ことができる。
【００４５】
[0064]上で説明された技法は、ランダムアクセスピクチャの状況で適用され得る。たとえば、本開示の態様によれば、ビデオコーダは、現在コーディングされているビュー成分がランダムアクセスビュー成分かどうかに基づいて、ＡＲＰをイネーブルまたはディセーブルにすることができる。上で述べられたように、ランダムアクセスピクチャはイントラ予測またはビュー間予測されるので、ランダムアクセスビュー成分は時間的参照ピクチャを有しない。したがって、ビデオコーダは、ランダムアクセスビュー成分の各ブロックに対してＡＲＰをディセーブルにすることができる。やはり、ビデオエンコーダは、ビットストリーム中で重み付けファクタをシグナリングしなくてよい（重み付けファクタのシグナリングをスキップしてよい）。同様に、ビデオコーダがビデオデコーダを備えるとき、ビデオデコーダは同様に、重み付けファクタの復号をスキップし、重み付けファクタが０に等しいと推測することができる。
【００４６】
[0065]別の例では、本開示の態様によれば、ビデオコーダは、少なくとも１つの参照ピクチャが現在コーディングされているブロックと同じビューからのものである場合、ＡＲＰをイネーブルにすることができる。加えて、または代替的に、ビデオコーダは、両方の参照ピクチャ（ＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャおよびＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャに対応する）が利用可能であればそれらが現在コーディングされているブロックと同じビューのものであるときにのみ、ＡＲＰをイネーブルにすることができる。加えて、または代替的に、ビデオコーダは、ブロックがビュー間参照ピクチャとともにビュー間コーディングされる場合、ブロックに対するＡＲＰをディセーブルにすることができる。上で述べられたように、ＡＲＰがディセーブルにされるとき、重み付けファクタはシグナリングされない。
【００４７】
[0066]本開示の技法はまた、ＡＲＰにおける補間に関する。たとえば、ＡＲＰを実行するとき（たとえば、重み付けファクタが０ではない）、ビデオエンコーダとビデオデコーダの両方が、残差予測子生成処理の間に追加の動き補償処理を使用することができる。したがって、動きベクトルが小数ピクセル（小数ペル）位置を示す場合、ビデオコーダは、２つの小数ペル補間処理、たとえば、時間的参照ブロックを位置決定するための一方の補間処理と、視差時間的参照ブロックを位置決定するための他方の補間処理とを実行する。加えて、ビデオコーダは、視差参照ブロックを決定するときに、さらに別の小数ペル補間処理を適用することができる。ＨＥＶＣでは、８タップのフィルタがルーマ成分に対して規定され、一方、４タップのフィルタがクロマ成分に対して規定される。そのような補間処理は、ＡＲＰと関連付けられる計算の複雑さを上げ得る。
【００４８】
[0067]本開示の態様によれば、ＡＲＰの動き補償処理は、特に参照ブロックのサブピクセル（サブペル）補間に関して、簡略化され得る。たとえば、ビデオコーダは、動き補償の間に予測信号を生成するために使用される処理（たとえば、時間的参照ブロックを決定するために使用される処理）と同様または同一の方法で、視差参照ブロックを決定することができる。すなわち、ビデオコーダは、現在のブロックの視差ベクトルとともに、再構築された参照ビューピクチャを使用して、視差参照ブロックを決定することができる。
【００４９】
[0068]いくつかの例では、本開示の態様によれば、ビデオコーダは、ＡＲＰ中の参照ブロックの位置を決定するための、１つまたは複数のタイプの補間を使用することができる。たとえば、ビデオコーダは、双線形フィルタのようなローパスフィルタを使用して、視差参照ブロックの位置を補間することができる。加えて、または代替的に、ビデオコーダは、ローパスフィルタを使用して、時間的視差参照ブロックの位置を補間することができる。さらに別の例では、ビデオコーダは、ローパスフィルタを使用して、時間的参照ブロックの位置を補間することができる。したがって、本開示の態様によれば、ビデオコーダは、双線形フィルタを使用して、ＡＲＰ中の１つまたは複数の参照ブロックの位置を補間することができ、これは、ＨＥＶＣによって規定される高次のタップフィルタを適用することより、計算上、より効率的であり得る。本明細書では双線形フィルタに対する言及が行われるが、１つまたは複数の他のローパスフィルタも使用されてよいこと、またはそれらが代替的に使用されてよいことを理解されたい。本開示の態様によれば、ビデオコーダは、ルーマ成分、クロマ成分、またはルーマ成分とクロマ成分の両方の任意の組合せに、上で説明されたローパスフィルタを適用することができる。
【００５０】
[0069]本開示の技法はまた、特定のコーディングモードおよび／または区分モードに対するＡＲＰ重み付けファクタをシグナリングすることに関する。たとえば、一般に、重み付けファクタは、ＰＡＲＴ＿２Ｎ×２Ｎ、ＰＡＲＴ＿２Ｎ×Ｎ、ＰＡＲＴ＿Ｎ×２Ｎなどを含むすべての区分モード（たとえば、図１２に示される例に関してより詳細に説明されるような）、および、スキップ、統合（merge）、高度な動きベクトル予測（ＡＭＶＰ）を含むすべてのインターコーディングされるモードに対して、シグナリングされ得る。すべての区分モードおよびインターモードに対する重み付けファクタをシグナリングすることは不必要に複雑さを上げ効率を下げることがあり、それは、ＡＲＰがいくつかの区分モードまたはインターモードでは効率的に適用されないことがあるからである。
【００５１】
[0070]本開示の態様によれば、ＡＲＰは、現在コーディングされているブロックの区分モードおよび／またはコーディングモードに基づいて、イネーブルまたはディセーブルにされ得る。たとえば、重み付けファクタは、ある区分モードおよび／またはあるコーディングモードのみに対してシグナリングされるだけであり得る。重み付けファクタがビットストリームに含まれない場合、ビデオデコーダは、重み付けファクタの復号をスキップし、重み付けファクタの値が０である（したがってＡＲＰをディセーブルにする）と推測することができる。本開示の態様によれば、いくつかの例では、ＰＡＲＴ＿２Ｎ×２Ｎに等しくない区分モードを伴う任意のインターコーディングされたブロックに対する重み付けファクタはシグナリングされなくてよい。別の例では、ＰＡＲＴ＿２Ｎ×２Ｎ、ＰＡＲＴ＿２Ｎ×Ｎ、ＰＡＲＴ＿Ｎ×２Ｎ以外の区分モードを伴うインターコーディングされたブロックに対する重み付けファクタはシグナリングされなくてよい。さらに別の例では、加えて、または代替的に、スキップモードおよび／または統合モードに等しくないコーディングモードを伴う任意のインターコーディングされたブロックに対する重み付けファクタは、シグナリングされなくてよい。
【００５２】
[0071]本開示の技法はまた、重み付けファクタがビットストリーム中でシグナリングされる方式を改良することに関する。たとえば、一般に、ビデオコーダは、３つの固定の重み付けファクタの固定セット（たとえば、０、０．５、および１）から重み付けファクタを選択することができる。しかしながら、いくつかの例では、３つの固定の重み付けファクタは、現在のビューとその参照ビューとの品質の差が原因で、十分な予測の効率を達成するのに十分な柔軟性をもたらさないことがある。現在のビューと参照ビューとの品質の差は、特にスケーラブルビデオコーディングに関しては、動的であり得る。逆に、３つの重み付けファクタは、いくつかのスライスまたはピクチャにより必要とされるものを超えることがある。すなわち、いくつかのスライスまたはピクチャは、複雑さとコーディング効率の改善との間の最適なバランスを達成するために、３つの重み付けファクタから選択する必要はないことがある。
【００５３】
[0072]本開示の態様によれば、重み付けファクタに対するより柔軟な手法が実施され得る。たとえば、利用可能な重み付けファクタの数は、（たとえば、シーケンスパラメータセット（ＳＰＳ）のようなパラメータセット中の）シーケンスレベルで変更され得る。例示を目的とするある例では、たとえば０．５および／または１の１つまたは複数の重み付けファクタをディセーブルにするためのインジケータが、ＳＰＳ中でシグナリングされ得る。別の例では、そのようなインジケータは、ビデオパラメータセット（ＶＰＳ）中でシグナリングされ、すべての非ベースビューに対して適用可能であってよい。さらに別の例では、そのようなインジケータは、各々の非ベースビューに対してＶＰＳ拡張においてシグナリングされ得る。別の例では、そのようなインジケータは、１つまたは複数の重み付けファクタをディセーブルにするために、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、またはビューパラメータセットにおいて提供され得る。重み付けファクタがディセーブルにされているとき、残りの重み付けファクタを表すためにより少数のビットが使用されてよく、これによってビットを節約する。
【００５４】
[0073]他の態様によれば、１つまたは複数の重み付けファクタを修正および／または置換するための、インジケータが提供され得る。ある例では、ビデオコーダは、０．５という重み付けファクタを０．７５という重み付けファクタで置換することができる。このインジケータは、スライスヘッダ、ＳＰＳ、ピクチャパラメータセット（ＰＰＳ）、またはＶＰＳでシグナリングされ得る。
【００５５】
[0074]本開示の技法はまた、復号ピクチャバッファ（以下で図２および図３に関してより詳細に説明されるように、参照ピクチャメモリとも交換可能に呼ばれ得る）の参照ピクチャおよび／または参照ピクチャリストに基づいて、ＡＲＰ処理をイネーブルにするかディセーブルにするかを決定することに関する。たとえば、上で述べられたように、残差予測子を決定するための時間的視差参照ブロックは通常、時間的動きベクトルを視差参照ブロックに適用することによって位置決定される。しかしながら、いくつかの例では、復号ピクチャバッファは、時間的動きベクトルを視差参照ブロックに適用することによって示されるピクチャを含まないことがある。すなわち、復号ピクチャバッファは、視差参照ブロックと同じビューの中にあり現在のブロックの時間的参照ピクチャと同じピクチャ順序カウント（ＰＯＣ）値も有する、ピクチャを含まないことがある。
【００５６】
[0075]いくつかの例では、ピクチャが復号ピクチャバッファに含まれる場合であっても、参照ピクチャリストまたは視差参照ブロックを含むスライスの参照ピクチャリストは、時間的動きベクトルを視差参照ブロックに適用することによって示されるピクチャ、たとえば、可能性のある時間的視差参照ピクチャを含まないことがある。そのような例では、時間的視差参照ブロックを位置決定することは、コーディング処理に誤差および／または遅延をもたらすことがある。
【００５７】
[0076]本開示の態様によれば、ビデオコーダは、復号ピクチャバッファおよび／または参照ピクチャリストのピクチャに基づいて、ＡＲＰをイネーブルまたはディセーブルにすることができる。たとえば、現在のブロックをコーディングするための復号ピクチャバッファが、現在のブロックの時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中のピクチャを含まないとき、ビデオコーダはＡＲＰ処理を修正することができる。
【００５８】
[0077]別の例では、加えて、または代替的に、視差参照ブロックの参照ピクチャリストが、現在のブロックの時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中にピクチャを含まないとき、ビデオコーダはＡＲＰ処理を修正することができる。すなわち、現在の参照ピクチャリストのインデックスがＸであるとすると（Ｘは０または１である）、一例では、視差参照ブロックのＸに等しいリストインデックスを伴う参照ピクチャリストが、視差参照ピクチャと同じビューの中にあり現在のブロックの時間的参照ピクチャと同じＰＯＣを有する参照ピクチャを含まない場合、ビデオコーダはＡＲＰ処理を修正することができる。別の例では、視差参照ブロックの参照ピクチャリストのいずれもが（たとえば、リスト０もリスト１も）、視差参照ピクチャと同じビューの中にあり現在のブロックの時間的参照ピクチャと同じＰＯＣを有する参照ピクチャを含まない場合、ビデオコーダはＡＲＰ処理を修正することができる。
【００５９】
[0078]いくつかの例では、ビデオコーダは、現在のブロックがＡＲＰを使用してコーディングされないように、ＡＲＰ処理をディセーブルにすることによってＡＲＰ処理を修正することができる。すなわち、残差予測子は生成されず、または常に０に設定される。他の例では、ビデオコーダは、時間的動きベクトルをスケーリングして別の時間的視差参照ピクチャを識別することによって、ＡＲＰ処理を修正することができる。たとえば、ビデオコーダは、スケーリングされた動きベクトルが、視差参照ピクチャに適用されると、参照ピクチャリストに含まれ視差参照ピクチャに時間的に最も近い位置にある時間的視差参照ピクチャを識別するように、時間的動きベクトルをスケーリングすることができる。上で説明された技法は、参照ピクチャリストに含まれないピクチャ中の視差参照ブロックをビデオコーダが位置決定しようとするのを防ぐことができる。
【００６０】
[0079]図１は、高度な残差予測（ＡＲＰ）のための本開示の技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されるように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化されたビデオデータを与えるソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信に対応し得る。
【００６１】
[0080]宛先デバイス１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化されたビデオデータを受信することができる。コンピュータ可読媒体１６は、符号化されたビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化されたビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。
【００６２】
[0081]符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、高周波（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路のような、任意のワイヤレスまたは有線の通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を支援するために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００６３】
[0082]いくつかの例では、符号化されたデータは、出力インターフェース２２からストレージデバイスに出力され得る。同様に、符号化されたデータは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性のメモリ、あるいは符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化されたビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。
【００６４】
[0083]宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス１４に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準的なデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００６５】
[0084]本開示の技法は、必ずしもワイヤレスの用途または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、ｄｙｎａｍｉｃ  ａｄａｐｔｉｖｅ  ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途のような、種々のマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話などの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００６６】
[0085]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、マルチビューコーディングにおける動きベクトル予測のための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他のコンポーネントまたは構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースをとり得る。
【００６７】
[0086]図１の示されるシステム１０は一例にすぎない。高度な残差予測のための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。一般に、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、通常「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、宛先デバイス１４に送信するためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように、デバイス１２、１４は、実質的に対称的な方式で動作することができる。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話のために、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００６８】
[0087]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータにより生成されたビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成し得る。しかしながら、上で言及されたように、本開示で説明される技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび／または有線の用途に適用され得る。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。次いで、符号化されたビデオ情報は、出力インターフェース２２によってコンピュータ可読媒体１６に出力され得る。
【００６９】
[0088]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたは有線ネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示されず）は、ソースデバイス１２から符号化されたビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化されたビデオデータを宛先デバイス１４に与え得る。同様に、ディスクスタンピング設備のような、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化されたビデオデータを受信し、その符号化されたビデオデータを含むディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００７０】
[0089]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコーディングされたユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのいずれかを備え得る。
【００７１】
[0090]図１には示されないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００７２】
[0091]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せのような、種々の好適なエンコーダまたはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダに含まれてよく、そのいずれもが複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合されてよい。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／または携帯電話のようなワイヤレス通信デバイスを備え得る。
【００７３】
[0092]本開示では全般に、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別のデバイスに「シグナリング」することに言及することがある。しかしながら、ビデオエンコーダ２０はあるシンタックス要素をビデオデータの様々な符号化された部分と関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ２０は、ビデオデータの様々な符号化された部分のヘッダに、あるシンタックス要素を格納することによって、データを「シグナリング」することができる。いくつかの場合には、そのようなシンタックス要素は、ビデオデコーダ３０によって受信され復号される前に、符号化され記憶され（たとえば、記憶デバイス２４に記憶され）得る。したがって、「シグナリング」という用語は全般に、圧縮されたビデオデータを復号するためのシンタックスまたは他のデータの通信を、そのような通信がリアルタイムで発生するかほぼリアルタイムで発生するかある期間にわたって発生するかにかかわらず指すことがあり、ある期間にわたる通信は、シンタックス要素を符号化の時点で媒体に記憶し、次いで、シンタックス要素がこの媒体に記憶された後の任意の時点で復号デバイスによって取り出され得るときに、発生し得る。
【００７４】
[0093]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格のような、プロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果としてＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。
【００７５】
[0094]ビデオエンコーダ２０およびビデオデコーダ３０は、加えて、または代替的に、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格のような別のビデオコーディング規格に従って動作し得る。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９」と呼ばれるＨＥＶＣ規格のドラフトは、Ｂｒｏｓｓ他、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ９」、Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＪＣＴ−ＶＣ）  ｏｆ  ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１、第１１回会議、上海、中国、２０１２年１０月に記載されている。
【００７６】
[0095]さらに、上で述べられたように、ＨＥＶＣ向けのスケーラブルビデオコーディング拡張、マルチビューコーディング拡張、および３ＤＶ拡張を作成するための作業が進行中である。したがって、いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０はマルチビュービデオコーディングを実行することができる。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣのマルチビュー拡張（ＭＶ−ＨＥＶＣと呼ばれる）、深度増強されたＨＥＶＣベースのフル３ＤＶコーデック（３Ｄ−ＨＥＶＣと呼ばれる）、または、ＨＥＶＣのスケーラブルビデオコーディング拡張（ＳＨＥＶＣ（スケーラブルＨＥＶＣ）またはＨＳＶＣ（高効率スケーラブルビデオコーディング）と呼ばれる）を実装することができる。
【００７７】
[0096]以下で説明される技法は、上で述べられたＨＥＶＣ拡張の１つまたは複数とともに実装され得る。３Ｄ−ＨＥＶＣでは、テクスチャビューと深度ビューの両方に対する、コーディングユニット／予測ユニットレベルでのコーディングツールを含む新たなコーディングツールが、含まれサポートされ得る。２０１３年１１月２１日時点で、３Ｄ−ＨＥＶＣのためのソフトウェア（すなわち、３Ｄ−ＨＴＭバージョン５．０）は、次のリンクｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−５．０／からダウンロードされ得る。
【００７８】
[0097]一般に、ＨＥＶＣの動き補償ループは、Ｈ．２６４／ＡＶＣにおける動き補償ループと同じである。たとえば、動き補償ループにおける現在のフレーム
【数１】
2018067940.tif 000003
【００７９】
の再構築は、逆量子化された係数ｒと時間的予測Ｐを足したもの
【数２】
2018067940.tif 000004
【００８０】
に等しい。上の式では、Ｐは、Ｐフレームのための単予測的インター予測またはＢフレームのための双予測的インター予測を示す。
【００８１】
[0098]しかしながら、ＨＥＶＣにおける動き補償のユニットは、以前のビデオコーディング規格におけるユニットとは異なる。たとえば、以前のビデオコーディング規格におけるマクロブロックの概念は、ＨＥＶＣでは存在しない。むしろ、マクロブロックは、一般的な４分木方式に基づく柔軟な階層構造によって置き換えられる。この方式の中で、３つのタイプのブロック、すなわちコーディングユニット（ＣＵ）、予測ユニット（ＰＵ）、および変換ユニット（ＴＵ）が定義される。ＣＵは領域分割の基本ユニットである。ＣＵの概念はマクロブロックの概念に類似するが、ＣＵは最大サイズに制限されず、コンテンツの適応性を向上させるために４つの等しいサイズのＣＵへの再帰的分割を可能にする。ＰＵはインター／イントラ予測の基本ユニットである。いくつかの例では、ＰＵは、不規則な画像パターンを効果的にコーディングするために、単一のＰＵの中に複数の任意の形状の区分を含み得る。ＴＵは変換の基本ユニットである。ＣＵのＴＵは、ＣＵのＰＵとは独立に定義され得る。しかしながら、ＴＵのサイズは、ＴＵが属するＣＵに限定される。３つの異なる概念へのブロック構造のこの分離は、各々がその役割に従って最適化されることを可能にでき、このことはコーディング効率の改善をもたらし得る。
【００８２】
[0099]ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは「フレーム」とも呼ばれることもある。ピクチャは、ＳL、ＳCb、およびＳCrと示される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルとも呼ばれることもある。他の例では、ピクチャは、モノクロームであってよく、ルーマサンプルのアレイのみを含み得る。
【００８３】
[0100]ピクチャの符号化された表現を生成するために、ビデオエンコーダ２０はコーディングツリーユニット（ＣＴＵ）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのＮ×Ｎのブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）とも呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣのような、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されず、１つまたは複数のＣＵを含み得る。スライスは、ラスタースキャン順序で連続的に順序付けられた整数個のＣＴＵを含み得る。
【００８４】
[0101]コーディングされたスライスは、スライスヘッダとスライスデータとを備え得る。スライスのスライスヘッダは、スライスについての情報を提供するシンタックス要素を含むシンタックス構造であり得る。スライスデータは、スライスのコーディングされたＣＴＵを含み得る。
【００８５】
[0102]本開示は、サンプルの１つまたは複数のブロックのサンプルをコーディングするために使用される１つまたは複数のサンプルブロックとシンタックス構造とを指すために、「ビデオユニット」または「ビデオブロック」または「ブロック」という用語を使用し得る。例示的なタイプのビデオユニットまたはブロックは、ＣＴＵ、ＣＵ、ＰＵ、変換ユニット（ＴＵ）、マクロブロック、マクロブロック区分などを含み得る。いくつかの状況では、ＰＵの議論は、マクロブロック区分のマクロブロックの議論と交換され得る。
【００８６】
[0103]コーディングされたＣＴＵを生成するために、ビデオエンコーダ２０は、ＣＴＵのコーディングツリーブロックに対して４分木区分を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分割することができ、したがって「コーディングツリーユニット」という名称である。コーディングブロックは、サンプルのＮ×Ｎのブロックである。ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００８７】
[0104]ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分することができる。予測ブロックは、同じ予測が適用されるサンプルの方形（すなわち、正方形または非正方形）ブロックである。ＣＵのＰＵは、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックに対する、予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成することができる。したがって、本開示では、ＣＵは１つまたは複数のＰＵに区分されると言われ得る。説明を簡単にするために、本開示は、ＰＵの予測ブロックのサイズを、単にＰＵのサイズと呼ぶことがある。
【００８８】
[0105]ビデオエンコーダ２０は、イントラ予測またはインター予測を使用して、ＰＵの予測ブロックを生成し得る。ビデオエンコーダ２０がイントラ予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャのサンプルに基づいてＰＵの予測ブロックを生成し得る。本開示では、「に基づいて」という句は、「に少なくとも部分的に基づいて」を示し得る。
【００８９】
[0106]ビデオエンコーダ２０がインター予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャ以外の１つまたは複数のピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。ブロックの予測ブロック（たとえば、ＰＵ）を生成するためにインター予測が使用されるとき、本開示は、ブロックを「インターコーディングされる」または「インター予測される」ものとして呼ぶことがある。インター予測は、単予測的（すなわち、単予測）または双予測的（すなわち、双予測）であり得る。単予測または双予測を実行するために、ビデオエンコーダ２０は、現在のピクチャに対して、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを生成し得る。参照ピクチャリストの各々は、１つまたは複数の参照ピクチャを含み得る。参照ピクチャリストが構築された後（すなわち、利用可能であれば、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）、参照ピクチャリストに対する参照インデックスは、参照ピクチャリストに含まれる任意の参照ピクチャを識別するために使用され得る。
【００９０】
[0107]単予測を使用するとき、ビデオエンコーダ２０は、参照ピクチャ内の参照位置を決定するために、ＲｅｆＰｉｃＬｉｓｔ０とＲｅｆＰｉｃＬｉｓｔ１のいずれかまたは両方の中の参照ピクチャを探索し得る。さらに、単予測を使用するとき、ビデオエンコーダ２０は、参照位置に対応するサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成し得る。その上、単予測を使用するとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと参照位置との間の空間的変位を示す単一の動きベクトルを生成し得る。この動きベクトルは、ＰＵの予測ブロックと参照位置との間の水平方向の変位を規定する水平成分を含み、ＰＵの予測ブロックと参照位置との間の垂直方向の変位を規定する垂直成分を含み得る。
【００９１】
[0108]双予測を使用してＰＵを符号化するとき、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャ中の第１の参照位置と、ＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャ中の第２の参照位置とを決定し得る。ビデオエンコーダ２０は、第１の参照位置および第２の参照位置に対応するサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成することができる。その上、双予測を使用してＰＵを符号化するとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと第１の参照位置との間の空間的変位を示す第１の動きベクトルと、ＰＵの予測ブロックと第２の参照位置との間の空間的変位を示す第２の動きベクトルとを生成することができる。
【００９２】
[0109]ビデオエンコーダ２０がインター予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャ以外の１つまたは複数のピクチャのサンプルに基づいて、ＰＵの予測ブロックを生成することができる。たとえば、ビデオエンコーダ２０は、ＰＵに対して単予測的インター予測（すなわち、単予測）または双予測的インター予測（すなわち、双予測）を実行することができる。
【００９３】
[0110]ビデオエンコーダ２０がＰＵに対して単予測を実行する例では、ビデオエンコーダ２０は、ＰＵの動きベクトルに基づいて、参照ピクチャ中の参照位置を決定することができる。ビデオエンコーダ２０は次いで、ＰＵの予測ブロックを決定することができる。ＰＵの予測ブロック中の各サンプルは、参照位置と関連付けられ得る。いくつかの例では、ＰＵの予測ブロック中のサンプルは、当該ＰＵと同じサイズを有し左上の角が参照位置であるサンプルのブロック内にそのサンプルがあるとき、その参照位置と関連付けられ得る。予測ブロック中の各サンプルは、参照ピクチャの実際のサンプルまたは補間されたサンプルであり得る。
【００９４】
[0111]予測ブロックのルーマサンプルが参照ピクチャの補間されたルーマサンプルに基づく例では、ビデオエンコーダ２０は、８タップの補間フィルタを参照ピクチャの実際のルーマサンプルに適用することによって、補間されたルーマサンプルを生成することができる。予測ブロックのクロマサンプルが参照ピクチャの補間されたクロマサンプルに基づく例では、ビデオエンコーダ２０は、４タップの補間フィルタを参照ピクチャの実際のクロマサンプルに適用することによって、補間されたクロマサンプルを生成することができる。一般に、フィルタのタップの数は、フィルタを数学的に表すために必要とされる係数の数を示す。よりタップ数の大きいフィルタは、よりタップ数の少ないフィルタより、一般に複雑である。
【００９５】
[0112]ビデオエンコーダ２０がＰＵに対して双予測を実行する例では、ＰＵは２つの動きベクトルを有する。ビデオエンコーダ２０は、ＰＵの動きベクトルに基づいて、２つの参照ピクチャ中の２つの参照位置を決定することができる。ビデオエンコーダ２０は次いで、上で説明された方式で、２つの参照位置と関連付けられる参照ブロックを決定することができる。ビデオエンコーダ２０は次いで、ＰＵの予測ブロックを決定することができる。予測ブロック中の各サンプルは、参照ブロック中の対応するサンプルの加重平均であり得る。サンプルの重みは、ＰＵを含むピクチャからの参照ピクチャの時間的距離に基づき得る。
【００９６】
[0113]ビデオエンコーダ２０は、様々な区分モードに従ってＣＵを１つまたは複数のＰＵに区分することができる。たとえば、ＣＵのＰＵの予測ブロックを生成するためにイントラ予測が使用される場合、ＣＵは、ＰＡＲＴ＿２Ｎ×２ＮモードまたはＰＡＲＴ＿Ｎ×Ｎモードに従って区分され得る。ＰＡＲＴ＿２Ｎ×２Ｎモードでは、ＣＵは１つのＰＵしか有しない。ＰＡＲＴ＿Ｎ×Ｎモードでは、ＣＵは長方形の予測ブロックを有する４つの等しいサイズのＰＵを有する。ＣＵのＰＵの予測ブロックを生成するためにインター予測が使用される場合、ＣＵは、ＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿Ｎ×Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、ＰＡＲＴ＿Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×ｎＵモード、ＰＡＲＴ＿２Ｎ×ｕＤモード、ＰＡＲＴ＿ｎＬ×２Ｎモード、またはＰＡＲＴ＿ｎＲ×２Ｎモードに従って区分され得る。ＰＡＲＴ＿２Ｎ×ＮモードおよびＰＡＲＴ＿Ｎ×２Ｎモードでは、ＣＵは長方形の予測ブロックを有する２つの等しいサイズのＰＵに区分される。ＰＡＲＴ＿２Ｎ×ｎＵモード、ＰＡＲＴ＿２Ｎ×ｕＤモード、ＰＡＲＴ＿ｎＬ×２Ｎモード、およびＰＡＲＴ＿ｎＲ×２Ｎモードの各々では、ＣＵは長方形の予測ブロックを有する２つの等しくないサイズのＰＵに区分される。
【００９７】
[0114]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵの予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成した後、ビデオエンコーダ２０は、ＣＵのルーマ残差ブロックを生成することができる。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つの中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの差を示す。さらに、ビデオエンコーダ２０はＣＵのＣｂ残差ブロックを生成することができる。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つの中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの差を示し得る。ビデオエンコーダ２０はまた、ＣＵのＣｒ残差ブロックを生成することができる。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つの中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの差を示し得る。
【００９８】
[0115]さらに、ビデオエンコーダ２０は、４分木区分を使用して、ＣＵのルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロックを、１つまたは複数のルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに分解することができる。変換ブロックは、同じ変換が適用されるサンプルの方形（たとえば、正方形または非正方形）ブロックである。ＣＵのＴＵは、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロックと関連付けられ得る。ＴＵと関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであり得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００９９】
[0116]ビデオエンコーダ２０は、ＴＵのルーマ変換ブロックに１回または複数回の変換を適用して、ＴＵのルーマ係数ブロックを生成することができる。係数ブロックは変換係数の２次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ２０は、ＴＵのＣｂ変換ブロックに１回または複数回の変換を適用して、ＴＵのＣｂ係数ブロックを生成することができる。ビデオエンコーダ２０は、ＴＵのＣｒ変換ブロックに１回または複数回の変換を適用して、ＴＵのＣｒ係数ブロックを生成することができる。
【０１００】
[0117]係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後に、ビデオエンコーダ２０は、係数ブロックを量子化することができる。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現する処理を指す。ビデオエンコーダ２０は、ＣＵと関連付けられた量子化パラメータ（ＱＰ）値に基づいて、ＣＵのＴＵと関連付けられた係数ブロックを量子化することができる。ビデオエンコーダ２０は、ＣＵと関連付けられたＱＰ値を調整することによって、ＣＵと関連付けられた係数ブロックに適用される量子化の程度を調整することができる。いくつかの例では、ＣＵと関連付けられるＱＰ値は、現在のピクチャまたはスライス全体と関連付けられ得る。ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）を実行することができる。
【０１０１】
[0118]ビデオエンコーダ２０は、ビデオデータの表現（すなわち、コーディングされたピクチャおよび関連付けられたデータ）を形成するビットのシーケンスを含むビットストリームを出力することができる。ビットストリームは、一連のネットワーク抽象化レイヤ（ＮＡＬ）ユニットを備え得る。ＮＡＬユニットは、ＮＡＬユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが散在させられているローバイトシーケンスペイロード（ＲＢＳＰ）の形態でそのデータを含むバイトとを含む、シンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって規定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。いくつかの例では、ＲＢＳＰは０ビットを含む。
【０１０２】
[0119]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、異なるタイプのＮＡＬユニットは、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、コーディングされたスライス、ＳＥＩなどに対して、異なるＲＢＳＰをカプセル化し得る。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰではなく）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれ得る。
【０１０３】
[0120]ＨＥＶＣでは、ＳＰＳは、コーディングされたビデオシーケンス（ＣＶＳ）のすべてのスライスに適用される情報を含み得る。ＨＥＶＣでは、ＣＶＳは、瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、あるいはブロークンリンクアクセス（ＢＬＡ）ピクチャ、あるいは、ＩＤＲまたはＢＬＡピクチャではないすべての後続のピクチャを含むビットストリーム中の最初のピクチャであるクリーンランダムアクセス（ＣＲＡ）ピクチャから開始し得る。すなわち、ＨＥＶＣでは、ＣＶＳは、復号順序で、ビットストリーム中の第１のアクセスユニットであるＣＲＡアクセスユニットと、ＩＤＲアクセスユニットまたはＢＬＡアクセスユニットと、それに続いて、後続のＩＤＲまたはＢＬＡアクセスユニットを含まないがそれまでのすべての後続のアクセスユニットを含む、０個以上の非ＩＤＲおよび非ＢＬＡアクセスユニットとからなり得る、アクセスユニットのシーケンスを備え得る。
【０１０４】
[0121]ＶＰＳは、０個以上のＣＶＳ全体に適用されるシンタックス要素を備えるシンタックス構造である。ＳＰＳは、ＳＰＳがアクティブであるとき、アクティブであるＶＰＳを識別するシンタックス要素を含み得る。したがって、ＶＰＳのシンタックス要素は、ＳＰＳのシンタックス要素よりも一般的に適用可能であり得る。ＰＰＳは、０個以上のコーディングされたピクチャに適用されるシンタックス要素を備えるシンタックス構造である。ＰＰＳは、ＰＰＳがアクティブであるとき、アクティブであるＳＰＳを識別するシンタックス要素を含み得る。スライスのスライスヘッダは、スライスがコーディングされているときにアクティブであるＰＰＳを示す、シンタックス要素を含み得る。
【０１０５】
[0122]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ３０は、ビットストリームを解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築することができる。ビデオデータを再構築するための処理は、全般に、ビデオエンコーダ２０によって実行される処理の逆であり得る。たとえば、ビデオデコーダ３０は、ＰＵの動きベクトルを使用して、現在のＣＵのＰＵの予測ブロックを決定することができる。加えて、ビデオデコーダ３０は、現在のＣＵのＴＵと関連付けられる係数ブロックを逆量子化することができる。ビデオデコーダ３０は、現在のＣＵのＴＵと関連付けられる変換ブロックを再構築するために、係数ブロックに対して逆変換を実行することができる。ビデオデコーダ３０は、現在のＣＵのＰＵの予測ブロックのサンプルを現在のＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在のＣＵのコーディングブロックを再構築することができる。ピクチャの各ＣＵのコーディングブロックを再構築することによって、ビデオデコーダ３０はピクチャを再構築することができる。
【０１０６】
[0123]いくつかの例では、ビデオエンコーダ２０は、統合（マージmerge）モードまたは高度な動きベクトル予測（ＡＭＶＰ）モードを使用して、ＰＵの動き情報をシグナリングすることができる。言い換えると、ＨＥＶＣでは、動きパラメータの予測のために２つのモードがあり、一方は統合／スキップモードであり、他方はＡＭＶＰである。動き予測は、１つまたは複数の他のビデオユニットの動き情報に基づく、ビデオユニット（たとえば、ＰＵ）の動き情報の決定を備え得る。ＰＵの動き情報（すなわち、動きパラメータ）は、ＰＵの動きベクトルと、ＰＵの参照インデックスと、１つまたは複数の予測方向インジケータとを含み得る。
【０１０７】
[0124]ビデオエンコーダ２０が統合モードを使用して現在のＰＵの動き情報をシグナリングするとき、ビデオエンコーダ２０は、統合候補リストを生成する。言い換えると、ビデオエンコーダ２０は、動きベクトル予測子リストの構築処理を実行することができる。統合候補リストは、現在のＰＵに空間的または時間的に隣接するＰＵの動き情報を示す、統合候補のセットを含む。すなわち、統合モードでは、動きパラメータ（参照インデックス、動きベクトルなど）の候補リストが構築され、候補は、空間的に隣接するブロックおよび時間的に隣接するブロックからであり得る。
【０１０８】
[0125]さらに、統合モードでは、ビデオエンコーダ２０は、統合候補リストから統合候補を選択することができ、現在のＰＵの動き情報として、選択された統合候補によって示される動き情報を使用することができる。ビデオエンコーダ２０は、選択された統合候補の統合候補リスト中の位置をシグナリングすることができる。たとえば、ビデオエンコーダ２０は、選択された統合候補の統合リスト内の位置を示すインデックスを送信する（すなわち、候補インデックスを統合する）ことによって、選択された動きベクトルパラメータをシグナリングすることができる。
【０１０９】
[0126]ビデオデコーダ３０は、ビットストリームから、候補リストへのインデックス（すなわち、統合候補インデックス）を取得することができる。加えて、ビデオデコーダ３０は、同じ統合候補リストを生成することができ、統合候補インデックスに基づいて、選択された統合候補を決定することができる。ビデオデコーダ３０は次いで、選択された統合候補の動き情報を使用して、現在のＰＵの予測ブロックを生成することができる。すなわち、ビデオデコーダ３０は、候補リストインデックスに少なくとも部分的に基づいて、候補リスト中の選択された候補を決定することができ、選択された候補は、現在のＰＵの動き情報（たとえば、動きベクトル）を規定する。このようにして、デコーダ側において、インデックスが復号されると、インデックスが指す対応するブロックのすべての動きパラメータは、現在のＰＵによって継承され得る。
【０１１０】
[0127]スキップモードは統合モードと同様である。スキップモードでは、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオエンコーダ２０およびビデオデコーダ３０が統合モードで統合候補リストを使用するのと同じ方法で、統合候補リストを生成し使用する。しかしながら、ビデオエンコーダ２０がスキップモードを使用して現在のＰＵの動き情報をシグナリングするとき、ビデオエンコーダ２０は、現在のＰＵに対する残差データを何らシグナリングしない。したがって、ビデオデコーダ３０は、残差データを使用せずに、統合候補リスト中の選択された候補の動き情報によって示される参照ブロックに基づいて、ＰＵの予測ブロックを決定することができる。スキップモードは統合モードと同じ動きベクトル導出処理を有するので、本文書で説明される技法は、統合モードとスキップモードの両方に適用され得る。
【０１１１】
[0128]ＡＭＶＰモードは、ビデオエンコーダ２０が候補リストを生成することができ候補リストから候補を選択することができるという点で、統合モードと同様である。しかしながら、ビデオエンコーダ２０がＡＭＶＰモードを使用して現在のＰＵのＲｅｆＰｉｃＬｉｓｔＸ（Ｘは０または１である）動き情報をシグナリングするとき、ビデオエンコーダ２０は、現在のＰＵに対するＲｅｆＰｉｃＬｉｓｔＸ動きベクトル予測子（ＭＶＰ）フラグをシグナリングすることに加えて、現在のＰＵに対するＲｅｆＰｉｃＬｉｓｔＸ動きベクトル差分（ＭＶＤ）と現在のＰＵに対するＲｅｆＰｉｃＬｉｓｔＸ参照インデックスとをシグナリングすることができる。現在のＰＵに対するＲｅｆＰｉｃＬｉｓｔＸ  ＭＶＰフラグは、ＡＭＶＰ候補リスト中の選択されたＡＭＶＰ候補の位置を示し得る。現在のＰＵに対するＲｅｆＰｉｃＬｉｓｔＸ  ＭＶＤは、現在のＰＵのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルと、選択されたＡＭＶＰ候補の動きベクトルとの差を示し得る。このようにして、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔＸ  ＭＶＰフラグと、ＲｅｆＰｉｃＬｉｓｔＸ参照インデックス値と、ＲｅｆＰｉｃＬｉｓｔＸ  ＭＶＤとをシグナリングすることによって、現在のＰＵのＲｅｆＰｉｃＬｉｓｔＸ動き情報をシグナリングすることができる。言い換えると、現在のＰＵの動きベクトルを表すビットストリーム中のデータは、参照インデックスと、候補リストに対するインデックスと、ＭＶＤとを表すデータを含み得る。したがって、選択された動きベクトルは、候補リストへのインデックスを送信することによってシグナリングされ得る。加えて、参照インデックス値および動きベクトル差分もシグナリングされ得る。
【０１１２】
[0129]さらに、現在のＰＵの動き情報がＡＭＶＰモードを使用してシグナリングされるとき、ビデオデコーダ３０は、ビットストリームから、現在のＰＵに対するＭＶＤとＭＶＰフラグとを取得することができる。ビデオデコーダ３０は、同じＡＭＶＰ候補リストを生成することができ、ＭＶＰフラグに基づいて、選択されたＡＭＶＰ候補を決定することができる。ビデオデコーダ３０は、ＭＶＤを、選択されたＡＭＶＰ候補によって示される動きベクトルに加算することによって、現在のＰＵの動きベクトルを復元することができる。すなわち、ビデオデコーダ３０は、選択されたＡＭＶＰ候補によって示される動きベクトルおよびＭＶＤに基づいて、現在のＰＵの動きベクトルを決定することができる。ビデオデコーダ３０は次いで、復元された動きベクトルまたは現在のＰＵの動きベクトルを使用して、現在のＰＵの予測ブロックを生成することができる。
【０１１３】
[0130]ビデオコーダが現在のＰＵに対するＡＭＶＰ候補リストを生成するとき、ビデオコーダは、現在のＰＵに空間的に隣接する位置（すなわち、空間的隣接ＰＵ）を包含するＰＵの動き情報に基づいて１つまたは複数のＡＭＶＰ候補を、現在のＰＵに時間的に隣接するＰＵ（すなわち、時間的隣接ＰＵ）の動き情報に基づいて１つまたは複数のＡＭＶＰ候補を導出することができる。ＡＭＶＰでは、各々の動きの仮定に対する動きベクトル予測子の候補リストは、コーディングされた参照インデックスに基づいて導出され得る。本開示では、ＰＵ（または他のタイプのビデオユニット）は、ＰＵと関連付けられる予測ブロック（またはビデオユニットと関連付けられる他のタイプのサンプルブロック）がある位置を含む場合、その位置を「包含する」と言われ得る。候補リストは、同じ参照インデックスと、時間的参照ピクチャにおいて同じ位置にあるブロックの隣接ブロックの動きパラメータ（すなわち、動き情報）に基づいて導出される時間的動きベクトル予測子とに関連付けられる、隣接ブロックの動きベクトルを含む。
【０１１４】
[0131]コーディング効率をさらに改善するために、ビデオコーダはまた、ビュー間動き予測および／またはビュー間残差予測を適用することができる。ビュー間動き予測に関して、ビデオコーダは、たとえば、上で説明された統合／スキップモードまたはＡＭＶＰモードを使用して、あるビューのブロックと関連付けられる動きベクトルを、第２の異なるビューのブロックと関連付けられる動きベクトルに対してコーディングすることができる。同様に、ビュー間残差予測におけるように、ビデオコーダは、あるビューの残差データを第２の異なるビューの残差に対してコーディングすることができる。いくつかの例では、ビュー間残差予測は、以下でより詳細に説明されるように、高度な残差予測（ＡＲＰ）処理を適用することによって達成され得る。
【０１１５】
[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]レイヤ間予測ユニット４３は、マルチビューコーディングにおいて、たとえば、ＭＶＤの生成または統合のために、動きベクトル予測子を識別することができる。たとえば、レイヤ間予測ユニット４３は、現在のブロックに対する動きベクトルを予測するために、現在のブロックとは異なるビュー成分中のブロックから視差動きベクトルを識別することができる。他の例では、レイヤ間予測ユニット４３は、現在のブロックに対する動きベクトルを予測するために、現在のブロックとは異なるビュー成分中のブロックから時間的動きベクトルを識別することができる。
【０１４８】
[0165]本開示の態様によれば、レイヤ間予測ユニット４３は、レイヤ間残差予測を実行することができる。たとえば、レイヤ間予測ユニット４３は、あるレイヤの残差データを、第２の異なるレイヤの残差データに対してコーディングすることができる。いくつかの例では、レイヤ間予測ユニット４３はまず、現在のブロックを予測するための予測ブロックを決定することができる。現在のブロックの予測ブロックは、現在のブロックの動きベクトルによって示される位置と関連付けられる、時間的参照ピクチャのサンプルに基づき得る。時間的参照ピクチャは、現在のピクチャと同じレイヤと関連付けられるが、現在のピクチャとは異なる時間インスタンスと関連付けられる。
【０１４９】
[0166]レイヤ間予測ユニット４３はまた、現在のブロックの視差ベクトルによって示される位置にある視差参照ピクチャのサンプルに基づいて、視差参照ブロックを決定する。視差参照ピクチャは、現在のピクチャとは異なるレイヤ（すなわち、参照レイヤ）と関連付けられるが、現在のピクチャと同じ時間インスタンスと関連付けられる。レイヤ間予測ユニット４３はまた、現在のブロックの時間的視差参照ブロックを決定する。時間的参照ブロックは、現在のブロックの動きベクトルおよび視差ベクトルによって（たとえば、動きベクトルと視差ベクトルの組合せによって）示される位置と関連付けられる時間的視差参照ピクチャのサンプルに基づく。したがって、時間的視差参照ピクチャは、視差参照ピクチャと同じビューと関連付けられ、時間的参照ピクチャと同じアクセスユニットと関連付けられる。
【０１５０】
[0167]レイヤ間予測ユニット４３は次いで、現在のブロックと関連付けられる残差、たとえば、現在のブロックと時間的参照ブロックとの差を予測するための、残差予測子を決定する。現在のブロックに対する残差予測子の各サンプルは、視差参照ブロックのサンプルと、時間的視差参照ブロックの対応するサンプルとの差を示す。いくつかの例では、レイヤ間予測ユニット４３は、重み付けファクタ（たとえば、０、０．５、１など）を残差予測子に適用して、残差予測子の精度を上げることができる。
【０１５１】
[0168]レイヤ間予測ユニット４３は、現在のブロックに対する最終的な残差ブロックを決定することができる。最終的な残差ブロックは、現在のブロックのサンプルと、時間的予測ブロック中のサンプルと、残差予測子中のサンプルとの差を示すサンプルを備える。ビデオエンコーダ２０は、ビットストリーム中に、最終的な残差ブロックを表すデータを含め得る。
【０１５２】
[0169]本開示の態様によれば、レイヤ間予測ユニット４３は、現在コーディングされているブロックに対する参照ピクチャリスト中の参照ピクチャに基づいて、ビュー間残差予測（あるレイヤの残差を第２の異なるレイヤの残差に対してコーディングすることを含む）をイネーブルまたはディセーブルにすることができる。ある例では、レイヤ間予測ユニット４３は、現在コーディングされているブロックに対する参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）が任意の時間的参照ピクチャを含むかどうかに基づいて、ビュー間残差予測をイネーブルまたはディセーブルにすることができる。本開示の態様によれば、インター予測されたブロックに対する参照ピクチャリストがビュー間参照ピクチャのみを含む場合、レイヤ間予測ユニット４３は、レイヤ間予測ユニット４３をディセーブルにすることができる。いくつかの例では、レイヤ間予測ユニット４３は、ランダムアクセスビュー成分の各ブロックに対して、レイヤ間予測ユニット４３をディセーブルにすることができる。
【０１５３】
[0170]別の例では、視差参照ブロックの参照ピクチャリストが、時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中の参照ピクチャを含まないとき、レイヤ間予測ユニット４３はビュー間残差予測を修正することができる。ビュー間残差予測を修正するかどうかの決定は、参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０および／またはＲｅｆＰｉｃＬｉｓｔ１）の一方または両方に基づき得る。すなわち、すなわち、現在の参照ピクチャリストのインデックスがＸであるとすると（Ｘは０または１である）、一例では、視差参照ブロックのＸに等しいリストインデックスを伴う参照ピクチャリストが視差参照ピクチャと同じビューの中にあり現在のブロックの時間的参照ピクチャと同じＰＯＣを有する参照ピクチャを含まない場合、レイヤ間予測ユニット４３はＡＲＰ処理を修正することができる。別の例では、視差参照ブロックの参照ピクチャリストのいずれもが（たとえば、リスト０もリスト１も）、視差参照ピクチャと同じビューの中にあり現在のブロックの時間的参照ピクチャと同じＰＯＣを有する参照ピクチャを含まない場合、レイヤ間予測ユニット４３はＡＲＰ処理を修正することができる。
【０１５４】
[0171]いくつかの例では、レイヤ間予測ユニット４３は、ビュー間残差予測をディセーブルにすることによって、ビュー間残差予測を修正することができる。他の例では、レイヤ間予測ユニット４３は、時間的動きベクトルをスケーリングして別の時間的視差参照ピクチャを識別することによって、ビュー間残差予測処理を修正することができる。たとえば、レイヤ間予測ユニット４３は、動きベクトルと視差ベクトルのスケーリングされた組合せが、視差参照ピクチャに適用されると、参照ピクチャリストに含まれ視差参照ピクチャに時間的に最も近い位置にある時間的視差参照ピクチャを識別するように、時間的動きベクトルをスケーリングすることができる。
【０１５５】
[0172]参照ピクチャリストに関して説明されるが、レイヤ間予測ユニット４３は、加えて、または代替的に、参照ピクチャメモリ６４（すなわち、復号ピクチャバッファ）が時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中のピクチャを含まない場合、ビュー間残差予測を修正および／またはディセーブル化することができる。
【０１５６】
[0173]さらに別の例では、本開示の態様によれば、レイヤ間予測ユニット４３は、特にサブペル位置を補間するときに参照ブロックが位置決定される方式を簡略化することができる。たとえば、レイヤ間予測ユニット４３は、双線形フィルタのようなローパスフィルタを使用して、視差参照ブロックの位置を補間することができる。加えて、または代替的に、レイヤ間予測ユニット４３は、双線形フィルタのようなローパスフィルタを使用して、時間的視差参照ブロックの位置を補間することができる。さらに別の例では、本開示の態様によれば、動き推定ユニット４２および／または動き補償ユニット４４は、双線形フィルタのようなローパスフィルタを使用して、時間的参照ブロックの位置を補間することができる。
【０１５７】
[0174]さらに別の例では、本開示の態様によれば、レイヤ間予測ユニット４３は、ビュー間残差予測のみを適用することができるので、特定のコーディングモードおよび／または区分モードだけに対して、重み付けファクタをシグナリングすることができる。たとえば、レイヤ間予測ユニット４３は、ＰＡＲＴ＿２Ｎ×２Ｎに等しくない区分モードを伴う任意のインターコーディングされるブロックだけに対して、重み付けファクタをシグナリングすることができる。別の例では、加えて、または代替的に、レイヤ間予測ユニット４３は、スキップモードおよび／または統合モードに等しくないコーディングモードを伴う任意のインターコーディングされたブロックに対する重み付けファクタを、シグナリングしなくてよい。
【０１５８】
[0175]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルおよび／またはレイヤ間予測ユニット４３からの情報に基づいて、予測ブロックをフェッチすることまたは生成することを伴い得る。動き補償ユニット４４は、いくつかの例では、ビュー間予測を適用することができる。やはり、動き推定ユニット４２、レイヤ間予測ユニット４３、および動き補償ユニット４４は、いくつかの例では、機能的に統合され得る。現在のビデオブロックのＰＵの動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックを位置決定することができる。
【０１５９】
[0176]加算器５０は、以下で論じられるように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット４２はルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連付けられる、シンタックス要素を生成することができる。
【０１６０】
[0177]イントラ予測ユニット４６は、上で説明されたように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用するようにイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パスの間に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、使用するのに適したイントラ予測モードをテストされたモードから選択することができる。
【０１６１】
[0178]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードに対するレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックに対して最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみおよびレートから比率を計算することができる。
【０１６２】
[0179]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与えることができる。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ２０は、送信されるビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々に対して使用する、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る、構成データを含め得る。
【０１６３】
[0180]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって、残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数のコンポーネントを表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を、ピクセル値領域から周波数領域などの変換領域に変換することができる。
【０１６４】
[0181]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送ることができる。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化処理は、係数の一部またはすべてと関連付けられるビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列のスキャンを実行することができる。代替的に、エントロピー符号化ユニット５６がスキャンを実行してよい。
【０１６５】
[0182]量子化の後、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行することができる。
【０１６６】
[0183]逆量子化ユニット５８および逆変換処理ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構築する。動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のピクチャのうちの１つの予測ブロックに加算することによって、参照ブロックを計算することができる。動き補償ユニット４４はまた、再構築された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算することができる。
【０１６７】
[0184]加算器６２は、再構築された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための再構築されたビデオブロックを生成する。再構築されたビデオブロックは、後続のピクチャ中のブロックをインターコーディングするための参照ブロックとして、動き推定ユニット４２および動き補償ユニット４４によって使用され得る。
【０１６８】
[0185]図３は、マルチビューコーディングにおいて動きベクトルを予測するための本開示で説明される技法を実施し得る例示的なビデオデコーダ３０を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、参照ピクチャメモリ９２とを含む。予測処理ユニット８１は、動き補償ユニット８２と、レイヤ間予測ユニット８３と、イントラ予測ユニット８４とを含む。
【０１６９】
[0186]上で述べられたように、ビデオデコーダ３０は、マルチビュービデオコーディングを実行するように適合され得る。いくつかの例では、ビデオデコーダ３０は、マルチビューＨＥＶＣを復号するように構成され得る。ＨＥＶＣ−３Ｄでは、各ビューに対するテクスチャマップ（すなわち、ルーマ値およびクロマ値）を復号することに加えて、ビデオデコーダ３０はさらに、各ビューに対する深度マップを復号することができる。
【０１７０】
[0187]いずれにしても、復号処理の間に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す、符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化された係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信することができる。
【０１７１】
[0188]たとえば、背景として、ビデオデコーダ３０は、ネットワークを介した送信のために、いわゆる「ネットワーク抽象化レイヤユニット」またはＮＡＬユニットに圧縮された、圧縮ビデオデータを受信することができる。各ＮＡＬユニットは、ＮＡＬユニットに記憶されるデータのタイプを識別するヘッダを含み得る。一般にＮＡＬユニットに記憶される、２つのタイプのデータがある。ＮＡＬユニットに記憶される第１のタイプのデータはビデオコーディングレイヤ（ＶＣＬ）データであり、これは圧縮ビデオデータを含む。ＮＡＬユニットに記憶される第２のタイプのデータは非ＶＣＬデータと呼ばれ、これは、多数のＮＡＬユニットに共通のヘッダデータを定義するパラメータセットなどの追加の情報と、補足エンハンスメント情報（ＳＥＩ）とを含む。
【０１７２】
[0189]たとえば、パラメータセットは、（たとえば、シーケンスパラメータセット（ＳＰＳ）中の）シーケンスレベルヘッダ情報と、（たとえば、ピクチャパラメータセット（ＰＰＳ）中の）まれに変化するピクチャレベルヘッダ情報とを含み得る。パラメータセット中に含まれている、まれに変化する情報は、シーケンスまたはピクチャごとに繰り返される必要がなく、それによりコーディング効率が改善される。加えて、パラメータセットの使用はヘッダ情報の帯域外送信を可能にし、それにより誤り耐性のための冗長送信の必要をなくす。
【０１７３】
[0190]ビデオスライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット８１のイントラ予測ユニット８４は、シグナリングされたイントラ予測モードと、現在のピクチャの以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックに対する予測データを生成することができる。ピクチャがインターコーディングされた（すなわちＢ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックの予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照ピクチャリストと、リスト０と、リスト１とを構築することができる。
【０１７４】
[0191]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックに対する予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックに対する予測ブロックを生成する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構築情報と、スライスの各々のインター符号化されたビデオブロックのための動きベクトルと、スライスの各々のインターコーディングされたビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。いくつかの例では、動き補償ユニット８２は、レイヤ間予測ユニット８３からある動き情報を受信することができる。
【０１７５】
[0192]レイヤ間予測ユニット８３は、現在のブロックのための動き情報を取り出す場所を示す予測データを受信することができる。たとえば、レイヤ間予測ユニット８３は、ＭＶＰインデックス（ｍｖｐ＿ｆｌａｇ）、ＭＶＤ、統合フラグ（ｍｅｒｇｅ＿ｆｌａｇ）、および／または統合インデックス（ｍｅｒｇｅ＿ｉｄｘ）などの動きベクトル予測情報を受信し、そのような情報を使用して、現在のブロックを予測するために使用される動き情報を識別することができる。すなわち、ビデオエンコーダ２０に関して上で述べられたように、本開示の態様によれば、レイヤ間予測ユニット８３は、ＭＶＰインデックス（ｍｖｐ＿ｆｌａｇ）とＭＶＤとを受信し、そのような情報を使用して、現在のブロックを予測するために使用される動きベクトルを決定することができる。レイヤ間予測ユニット８３は、ＭＶＰまたは統合候補のリストを生成することができる。ＭＶＰおよび／または統合候補は、現在復号されているビデオブロックとは異なるビューの中に位置する１つまたは複数のビデオブロックを含み得る。
【０１７６】
[0193]本開示の態様によれば、レイヤ間予測ユニット８３は、レイヤ間残差予測を実行することができる。たとえば、レイヤ間予測ユニット８３は、あるレイヤの残差データを、第２の異なるレイヤの残差データに対してコーディングすることができる。いくつかの例では、レイヤ間予測ユニット８３はまず、現在のブロックを予測するための予測ブロックを決定することができる。現在のブロックの予測ブロックは、現在のブロックの動きベクトルによって示される位置と関連付けられる、時間的参照ピクチャのサンプルに基づき得る。時間的参照ピクチャは、現在のピクチャと同じレイヤと関連付けられるが、現在のピクチャとは異なる時間インスタンスと関連付けられる。
【０１７７】
[0194]レイヤ間予測ユニット８３はまた、現在のブロックの視差ベクトルによって示される位置にある視差参照ピクチャのサンプルに基づいて、視差参照ブロックを決定する。視差参照ピクチャは、現在のピクチャとは異なるレイヤ（すなわち、参照レイヤ）と関連付けられるが、現在のピクチャと同じ時間インスタンスと関連付けられる。レイヤ間予測ユニット８３はまた、現在のブロックの時間的視差参照ブロックを決定する。時間的参照ブロックは、現在のブロックの動きベクトルおよび視差ベクトルによって（たとえば、動きベクトルと視差ベクトルの組合せによって）示される位置と関連付けられる時間的視差参照ピクチャのサンプルに基づく。したがって、時間的視差参照ピクチャは、視差参照ピクチャと同じビューと関連付けられ、時間的参照ピクチャと同じアクセスユニットと関連付けられる。
【０１７８】
[0195]レイヤ間予測ユニット８３は次いで、現在のブロックと関連付けられる残差、たとえば、現在のブロックと時間的参照ブロックとの差を予測するための、残差予測子を決定する。現在のブロックに対する残差予測子の各サンプルは、視差参照ブロックのサンプルと、時間的視差参照ブロックの対応するサンプルとの差を示す。いくつかの例では、レイヤ間予測ユニット８３は、重み付けファクタ（たとえば、０、０．５、１など）を残差予測子に適用して、残差予測子の精度を上げることができる。
【０１７９】
[0196]レイヤ間予測ユニット８３は、符号化されたビットストリームから、現在のブロックに対する最終的な残差ブロックを示すデータを取得することができる。レイヤ間予測ユニット８３は、最終的な残差ブロックと、時間的予測ブロックと、残差予測子の中のサンプルとを組み合わせることによって、現在のブロックを再構築することができる。
【０１８０】
[0197]本開示の態様によれば、レイヤ間予測ユニット８３は、現在コーディングされているブロックに対する参照ピクチャリスト中の参照ピクチャに基づいて、ビュー間残差予測（あるレイヤの残差を第２の異なるレイヤの残差に対してコーディングすることを含む）をイネーブルまたはディセーブルにすることができる。ある例では、レイヤ間予測ユニット８３は、現在コーディングされているブロックに対する参照ピクチャリストが任意の時間的参照ピクチャを含むかどうかに基づいて、ビュー間残差予測をイネーブルまたはディセーブルにすることができる。本開示の態様によれば、インター予測されたブロックに対する参照ピクチャリストがビュー間参照ピクチャのみを含む場合、レイヤ間予測ユニット８３は、レイヤ間予測ユニット８３をディセーブルにすることができる。いくつかの例では、レイヤ間予測ユニット８３は、ランダムアクセスビュー成分の各ブロックに対して、レイヤ間予測ユニット８３をディセーブルにすることができる。
【０１８１】
[0198]別の例では、視差参照ブロックの参照ピクチャリストが、時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中の参照ピクチャを含まないとき、レイヤ間予測ユニット８３はビュー間残差予測を修正することができる。ビュー間残差予測を修正するかどうかの決定は、参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０および／またはＲｅｆＰｉｃＬｉｓｔ１）の一方または両方に基づき得る。すなわち、すなわち、現在の参照ピクチャリストのインデックスがＸであるとすると（Ｘは０または１である）、一例では、視差参照ブロックのＸに等しいリストインデックスを伴う参照ピクチャリストが、視差参照ピクチャと同じビューの中にあり現在のブロックの時間的参照ピクチャと同じＰＯＣを有する参照ピクチャを含まない場合、レイヤ間予測ユニット８３はＡＲＰ処理を修正することができる。別の例では、視差参照ブロックの参照ピクチャリストのいずれもが（たとえば、リスト０もリスト１も）、視差参照ピクチャと同じビューの中にあり現在のブロックの時間的参照ピクチャと同じＰＯＣを有する参照ピクチャを含まない場合、レイヤ間予測ユニット８３はＡＲＰ処理を修正することができる。
【０１８２】
[0199]いくつかの例では、レイヤ間予測ユニット８３は、ビュー間残差予測をディセーブルにすることによって、ビュー間残差予測を修正することができる。他の例では、レイヤ間予測ユニット８３は、時間的動きベクトルをスケーリングして別の時間的視差参照ピクチャを識別することによって、ビュー間残差予測処理を修正することができる。たとえば、レイヤ間予測ユニット８３は、動きベクトルと視差ベクトルのスケーリングされた組合せが、視差参照ピクチャに適用されると、参照ピクチャリストに含まれ視差参照ピクチャに時間的に最も近い位置にある時間的視差参照ピクチャを識別するように、時間的動きベクトルをスケーリングすることができる。
【０１８３】
[0200]さらに別の例では、本開示の態様によれば、レイヤ間予測ユニット８３は、特にサブペル位置を補間するときに参照ブロックが位置決定される方式を簡略化することができる。たとえば、レイヤ間予測ユニット８３は、双線形フィルタのようなローパスフィルタを使用して、視差参照ブロックの位置を補間することができる。加えて、または代替的に、レイヤ間予測ユニット８３は、双線形フィルタのようなローパスフィルタを使用して、時間的視差参照ブロックの位置を補間することができる。さらに別の例では、本開示の態様によれば、動き補償ユニット８２は、双線形フィルタのようなローパスフィルタを使用して、時間的参照ブロックの位置を補間することができる。
【０１８４】
[0201]さらに別の例では、本開示の態様によれば、レイヤ間予測ユニット８３は、ビュー間残差予測のみを適用することができるので、特定のコーディングモードおよび／または区分モードだけに対して、重み付けファクタをシグナリングすることができる。たとえば、レイヤ間予測ユニット８３は、ＰＡＲＴ＿２Ｎ×２Ｎに等しくない区分モードを伴う任意のインターコーディングされたブロックだけに対して、重み付けファクタをシグナリングすることができる。別の例では、加えて、または代替的に、レイヤ間予測ユニット８３は、スキップモードおよび／または統合モードに等しくないコーディングモードを伴う任意のインターコーディングされたブロックに対する重み付けファクタを、シグナリングしなくてよい。
【０１８５】
[0202]逆量子化ユニット８６は、ビットストリーム中で提供され、エントロピー復号ユニット８０によって復号された、量子化された変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化処理は、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータを使用して量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定することを含み得る。
【０１８６】
[0203]逆変換処理ユニット８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用する。本開示の態様によれば、逆変換処理ユニット８８は、変換が残差データに適用された方式を決定することができる。すなわち、たとえば、逆変換処理ユニット８８は、受信されたビデオデータのブロックと関連付けられる残差ルーマサンプルと残差クロマサンプルとに、変換（たとえば、ＤＣＴ、整数変換、ウェーブレット変換、または１つもしくは複数の他の変換）が適用された方式を表すＲＱＴを決定することができる。
【０１８７】
[0204]動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックの予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数のコンポーネントを表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または別様にビデオ品質を改善するために、他のループフィルタも（コーディングループ中またはコーディングループ後のいずれかで）使用され得る。次いで、所与のピクチャ中の復号されたビデオブロックは、その後の動き補償に使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上に後で提示するために、復号されたビデオを記憶する。
【０１８８】
[0205]図４は、例示的なマルチビュー復号順序を示す概念図である。マルチビュー復号順序はビットストリームの順序であり得る。図４の例では、各正方形がビュー成分に対応する。正方形の列は、アクセスユニットに対応する。各アクセスユニットは、時間インスタンスのすべてのビューのコーディングされたピクチャを含むように定義され得る。正方形の行は、ビューに対応する。図４の例では、アクセスユニットがＴ０〜Ｔ１１と標識され、ビューがＳ０〜Ｓ７と標識される。アクセスユニットの各ビュー成分は次のアクセスユニットの任意のビュー成分の前に復号されるので、図４の復号順序は時間優先コーディングと呼ばれ得る。アクセスユニットの復号順序は、出力または表示の順序と同一ではないことがある。
【０１８９】
[0206]マルチビューコーディングはビュー間予測をサポートすることができる。ビュー間予測は、Ｈ．２６４／ＡＶＣ、ＨＥＶＣ、または他のビデオコーディング仕様において使用されるインター予測と同様であり、同じシンタックス要素を使用し得る。しかしながら、ビデオコーダが（マクロブロックまたはＰＵのような）現在のビデオユニットに対してビュー間予測を実行するとき、ビデオコーダは、参照ピクチャとして、現在のビデオユニットと同じアクセスユニット中にあるが異なるビュー中にあるピクチャを使用することができる。対照的に、従来のインター予測は、参照ピクチャとして異なるアクセスユニット中のピクチャのみを使用する。
【０１９０】
[0207]図５は、ＭＶＣ、マルチビューＨＥＶＣ、および３Ｄ−ＨＥＶＣ（マルチビュープラス深度）とともに使用され得る例示的なＭＶＣ予測パターンを示す概念図である。以下でのＭＶＣへの言及は全般にＭＶＣに当てはまり、Ｈ．２６４／ＭＶＣには限定されない。
【０１９１】
[0208]図５の例では、８個のビュー（Ｓ０〜Ｓ７）が示され、ビューごとに１２個の時間的位置（Ｔ０〜Ｔ１１）が示される。一般に、図５の各行はビューに対応し、各列は時間的位置を示す。ビューの各々は、他のビューに対する相対的なカメラ位置を示すために使用され得る、ビュー識別子（「ｖｉｅｗ＿ｉｄ」）を使用して識別され得る。図５に示された例では、ビューＩＤは「Ｓ０」〜「Ｓ７」として示されているが、数字のビューＩＤが使用されることもある。加えて、時間的位置の各々は、ピクチャの表示順序を示すピクチャ順序カウント（ＰＯＣ）値を使用して識別され得る。図５に示された例では、ＰＯＣ値は「Ｔ０」〜「Ｔ１１」として示されている。
【０１９２】
[0209]マルチビューコーディングされたビットストリームは、特定のデコーダによって復号可能である、いわゆる基本ビューを有してよく、ステレオビューペアがサポートされ得るが、いくつかのマルチビュービットストリームは、３Ｄビデオ入力として３つ以上のビューをサポートすることができる。したがって、特定のデコーダを有するクライアントのレンダラは、複数のビューを伴う３Ｄビデオコンテンツを予想することができる。
【０１９３】
[0210]図５のピクチャは、対応するピクチャがイントラコーディングされる（すなわち、Ｉフレームである）か、または一方向に（すなわち、Ｐフレームとして）インターコーディングされるか、または複数の方向に（すなわち、Ｂフレームとして）インターコーディングされるかを指定する、文字を含む影付きブロックを使用して示される。一般に、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のオブジェクトを使用する。たとえば、時間的位置Ｔ０にあるビューＳ２のＰフレームは、時間的位置Ｔ０にあるビューＳ０のＩフレームから予測される。
【０１９４】
[0211]シングルビュービデオの符号化の場合と同様に、マルチビュービデオシーケンスのピクチャは、異なる時間的位置におけるピクチャに関して予測的に符号化され得る。たとえば、時間的位置Ｔ１におけるビューＳ０のｂフレームは、時間的位置Ｔ０におけるビューＳ０のＩフレームからそのｂフレームに向けられた矢印を有し、ｂフレームがＩフレームから予測されることを示す。しかしながら、加えて、マルチビュービデオの符号化の状況において、ピクチャはビュー間予測され得る。すなわち、ビュー成分は、参照のために他のビュー中のビュー成分を使用することができる。たとえば、別のビュー中のビュー成分がインター予測参照であるかのように、ビュー間予測が実現され得る。可能性のあるビュー間参照は、シーケンスパラメータセット（ＳＰＳ）ＭＶＣ拡張においてシグナリングされてよく、インター予測またはビュー間予測の参照の柔軟な順序付けを可能にする参照ピクチャリストの構築処理によって修正され得る。
【０１９５】
[0212]図５は、ビュー間予測の様々な例を提供する。図５の例では、ビューＳ１のピクチャは、ビューＳ１の様々な時間的位置にあるピクチャから予測されるものとして、かつ同じ時間的位置にあるビューＳ０およびビューＳ２のピクチャのうちのピクチャからビュー間予測されるものとして示されている。たとえば、時間的位置Ｔ１にあるビューＳ１のｂフレームは、時間的位置Ｔ０およびＴ２にあるビューＳ１のＢフレームの各々、ならびに時間的位置Ｔ１にあるビューＳ０およびビューＳ２のｂフレームから予測される。
【０１９６】
[0213]図５の例では、大文字「Ｂ」および小文字「ｂ」は、異なる符号化方法ではなく、ピクチャ間の異なる階層関係を示すことが意図される。一般に、大文字の「Ｂ」フレームは、小文字の「ｂ」フレームよりも予測階層が比較的高い。図５はまた、異なるレベルの陰影を使用して予測階層の差異を示し、より陰影の量が大きい（すなわち、比較的暗い）ピクチャは、より陰影が少ない（すなわち、比較的明るい）ピクチャよりも予測階層が高い。たとえば、図５のすべてのＩフレームは完全な陰影によって示されるが、Ｐフレームはいくぶん明るい陰影を有し、Ｂフレーム（および小文字のｂフレーム）は、互いに対して様々なレベルの陰影を有するが、ＰフレームおよびＩフレームの陰影よりも常に明るい。
【０１９７】
[0214]一般に、階層の比較的高いピクチャが、階層の比較的低いピクチャの復号中に参照ピクチャとして使用され得るように、予測階層の比較的高いピクチャは、階層の比較的低いピクチャを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセスユニット中のビュー成分の復号順序を示すインデックスである。ビュー順序インデックスは、ＳＰＳなどのパラメータセット中で示唆され得る。
【０１９８】
[0215]このようにして、参照ピクチャとして使用されるピクチャは、その参照ピクチャを参照して符号化されたピクチャを復号する前に復号され得る。ビュー順序インデックスは、アクセスユニット中のビュー成分の復号順序を示すインデックスである。ビュー順序インデックスｉごとに、対応するｖｉｅｗ＿ｉｄがシグナリングされる。ビュー成分の復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示される場合、ビュー順序インデックスのセットは、０からビューの全数よりも１少ない数まで連続的に順序付けされたセットを備える。
【０１９９】
[0216]準拠するサブビットストリームを形成するために、ビットストリーム全体のサブセットが抽出され得る。たとえば、サーバによって提供されるサービス、１つもしくは複数のクライアントのデコーダの容量、サポート、および能力、ならびに／または、１つもしくは複数のクライアントの選好に基づいて、特定の適用例が必要とし得る多くの可能なサブビットストリームが存在する。たとえば、あるクライアントが３つのビューのみを必要とすることがあり、２つの状況があり得る。一例では、あるクライアントは滑らかなビュー体験を必要とすることがあり、ｖｉｅｗ＿ｉｄ値Ｓ０、Ｓ１、およびＳ２のビューを選好することがあり、一方、別のクライアントはビュースケーラビリティを必要とし、ｖｉｅｗ＿ｉｄ値Ｓ０、Ｓ２、およびＳ４のビューを選好することがある。これらのサブビットストリームの両方が、独立したビットストリームとして復号され得るとともに、同時にサポートされ得ることに留意されたい。
【０２００】
[0217]ビュー間予測に関して、同じアクセスユニット中の（すなわち、同じ時間インスタンスをもつ）ピクチャ間でビュー間予測が可能にされる。非ベースビューの１つの中のピクチャをコーディングするとき、ピクチャが異なるビュー中にあるが同じ時間インスタンスをもつ場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間予測参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。
【０２０１】
[0218]したがって、マルチビュービデオコーディングの状況では、２種類の動きベクトルが存在する。動きベクトルの１つの種類は、時間的参照ピクチャを指す通常の動きベクトルである。通常の時間的動きベクトルに対応するインター予測のタイプは、動き補償された予測（ＭＣＰ）と呼ばれ得る。ビュー間予測参照ピクチャが動き補償のために使用されるとき、対応する動きベクトルは「視差動きベクトル」と呼ばれる。言い換えると、視差動きベクトルは、異なるビュー中のピクチャ（すなわち、視差参照ピクチャまたはビュー間参照ピクチャ）を指す。視差動きベクトルに対応するインター予測のタイプは、「視差補償された予測」または「ＤＣＰ」と呼ばれ得る。
【０２０２】
[0219]上で言及されたように、ＨＥＶＣのマルチビュー拡張（すなわち、ＭＶ−ＨＥＶＣ）およびＨＥＶＣの３ＤＶ拡張（すなわち、３Ｄ−ＨＥＶＣ）が開発中である。ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣは、ビュー間動き予測とビュー間残差予測とを使用して、コーディング効率を改善することができる。ビュー間動き予測では、ビデオコーダは、現在のＰＵとは異なるビュー中のＰＵの動き情報に基づいて、現在のＰＵの動き情報を決定する（すなわち、予測する）ことができる。ビュー間残差予測では、ビデオコーダは、図５に示される予測構造を使用して、現在のＣＵとは異なるビュー中の残差データに基づいて、現在のＣＵの残差ブロックを決定することができる。
【０２０３】
[0220]ビュー間動き予測とビュー間残差予測とを可能にするために、ビデオコーダは、ブロック（たとえば、ＰＵ、ＣＵなど）に対する視差ベクトルを決定することができる。一般に、視差ベクトルは、２つのビューの間の変位を推定するものとして使用される。ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーダは、ブロックに対する視差ベクトルを使用して、ビュー間動き予測または残差予測のために別のビュー中の参照ブロック（本明細書では視差参照ブロックと呼ばれ得る）を位置決定することができ、またはビュー間動き予測のために視差ベクトルを視差動きベクトルに変換することができる。
【０２０４】
[0221]図６は、スケーラブルビデオコーディングを示す概念図である。図６はＨ．２６４／ＡＶＣおよびＳＶＣに関して説明されるが、ＨＳＶＣを含む他のマルチレイヤビデオコーディング方式を訴えて、同様のレイヤがコーディングされ得ることを理解されたい。別の例では、多規格コーデックを使用して同様のレイヤがコーディングされ得る。たとえば、ベースレイヤはＨ．２６４／ＡＶＣを使用してコーディングされ得るが、エンハンスメントレイヤはＨＥＶＣに対するスケーラブルなＨＬＳのみの拡張を使用してコーディングされ得る。したがって、以下でのＳＶＣへの言及は全般にスケーラブルビデオコーディングに当てはまり、Ｈ．２６４／ＳＶＣには限定されない。
【０２０５】
[0222]ＳＶＣでは、たとえば、空間スケーラビリティ、時間スケーラビリティ、および品質スケーラビリティ（ビットレートまたは信号対雑音比（ＳＮＲ）として表される）を含むスケーラビリティが、３次元において可能にされ得る。一般に、任意の次元における表現に追加することによって、より良い表現が普通は達成され得る。たとえば、図６の例では、７．５Ｈｚのフレームレートと６４キロバイト毎秒（ＫＢＰＳ）のビットレートとを有するＱｕａｒｔｅｒ  Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ（ＱＣＩＦ）において、レイヤ０がコーディングされる。加えて、レイヤ１は１５Ｈｚのフレームレートと６４ＫＢＰＳのビットレートとを有するＱＣＩＦにおいてコーディングされ、レイヤ２は１５Ｈｚのフレームレートと２５６ＫＢＰＳのビットレートとを有するＣＩＦにおいてコーディングされ、レイヤ３は７．５Ｈｚのフレームレートと５１２ＫＢＰＳのビットレートとを有するＱＣＩＦにおいてコーディングされ、レイヤ４は３０Ｈｚのフレームレートとメガバイト毎秒（ＭＢＰＳ）のビットレートとを有する４ＣＩＦにおいてコーディングされる。図５に示されるレイヤの特定の数、コンテンツ、および構成は、例示のみを目的に与えられることを理解されたい。
【０２０６】
[0223]いずれにしても、ビデオエンコーダ（ビデオエンコーダ２０のような）がそのようなスケーラブルな方法でコンテンツを符号化すると、ビデオデコーダ（ビデオデコーダ３０のような）は、たとえばクライアントまたは送信チャネルに依存し得る適用例の要件に従って、実際の配信されるコンテンツを適合させるように抽出器ツールを使用することができる。
【０２０７】
[0224]ＳＶＣでは、最低の空間レイヤと品質レイヤとを有するピクチャは通常、Ｈ．２６４／ＡＶＣに適合する。図６の例では、最低の空間レイヤと品質レイヤとを伴うピクチャ（ＱＣＩＦ解像度をもつ、レイヤ０およびレイヤ１中のピクチャ）は、Ｈ．２６４／ＡＶＣに適合し得る。それらの中で、最低の時間レベルのピクチャは時間ベースレイヤ（レイヤ０）を形成する。この時間ベースレイヤ（レイヤ０）は、より高い時間レベル（レイヤ１）のピクチャによって増強され得る。
【０２０８】
[0225]Ｈ．２６４／ＡＶＣ適合レイヤに加えて、空間スケーラビリティおよび／または品質スケーラビリティを与えるためにいくつかの空間および／または品質のエンハンスメントレイヤが追加され得る。各々の空間または品質のエンハンスメントレイヤ自体は、Ｈ．２６４／ＡＶＣ適合レイヤと同じ時間スケーラビリティ構造を伴い、時間的にスケーラブルであり得る。
【０２０９】
[0226]ビュー間残差予測はビデオデータの「ビュー」に関して説明され得るが、同様の技法は、図６に示されるスケーラブル構造のレイヤのような、データの複数のレイヤに適用され得ることを理解されたい。たとえば、ビデオコーダ（ビデオエンコーダ２０および／またはビデオデコーダ３０のような）は、あるレイヤの残差を別のレイヤを使用して予測することができる。いくつかの例では、本技法は、ＨＳＶＣのようなＨＥＶＣのスケーラブルな拡張とともに実施され得る。
【０２１０】
[0227]特に、以下でより詳細に説明されるように、ビデオエンコーダ２０は、いくつかのコーディング区分モードおよび／またはいくつかのコーディングモードのためだけに、ＣＵに対する重み付けファクタをシグナリングすることができる。重み付けファクタがシグナリングされないとき、ビデオデコーダ３０は、重み付けファクタの復号をスキップし、重み付けファクタが０であると自動的に決定する（すなわち、推測する）ことができる。
【０２１１】
[0228]一例では、ＰＡＲＴ＿２Ｎ×２Ｎに等しくない区分モードを伴うインターコーディングされたＣＵに対する重み付けファクタはシグナリングされなくてよい。代替的な例では、ＰＡＲＴ＿２Ｎ×２Ｎ、ＰＡＲＴ＿２Ｎ×２、およびＰＡＲＴ＿Ｎ×２Ｎに等しくない区分モードを伴うインターコーディングされたＣＵに対する重み付けファクタはシグナリングされなくてよい。さらに別の例では、加えて、または代替的に、スキップおよび／または統合に等しくないコーディングモードを伴う任意のインターコーディングされたＣＵに対する重み付けファクタは、シグナリングされなくてよい。
【０２１２】
[0229]他の態様によれば、ビデオコーダは重み付けファクタを修正することができる。たとえば、１つまたは複数の重み付けファクタ（たとえば０．５および／または１）をディセーブルにするためのインジケータが、シーケンスレベルでシグナリングされ得る。いくつかの例では、インジケータは、各々の非ベースビューに対してＶＰＳ拡張においてシグナリングされ得る。他の例では、インジケータは、ＶＰＳ中でシグナリングされてよく、すべての非ベースビューに対して適用可能であってよい。さらに他の例では、インジケータは、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、またはビューパラメータセット中でシグナリングされ得る。
【０２１３】
[0230]別の例では、インジケータは、重み付けファクタの１つまたは複数を修正するためにシグナリングされ得る。たとえば、インジケータは、ビデオデコーダ３０に、最初の重み付けファクタ（たとえば、０．５）を新しい重み付けファクタ（たとえば、０．７５）で置換させ得る。この修正インジケータは、ＰＰＳ、スライスヘッダ、またはＶＰＳでシグナリングされ得る。
【０２１４】
[0231]さらに他の態様によれば、ビデオコーダは、復号ピクチャバッファのピクチャ、および／または、図６に示されるスケーラブル構造の中のピクチャをコーディングするための参照ピクチャリストに基づいて、ＡＲＰをイネーブルまたはディセーブルにすることができる。たとえば、現在のＰＵをコーディングするための復号ピクチャバッファが、時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中のピクチャを含まないとき、ビデオコーダはＰＵのためのＡＲＰ処理を修正することができる。
【０２１５】
[0232]別の例では、加えて／代替的に、視差参照ブロックの参照ピクチャリストの一方または両方が、時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中の参照ピクチャを含まないとき、ビデオコーダはＰＵのためのＡＲＰ処理を修正することができる。
【０２１６】
[0233]いくつかの例では、ビデオコーダは、現在のＰＵがＡＲＰを使用してコーディングされないように、ＡＲＰ処理をディセーブルにすることによってＡＲＰ処理を修正することができる。他の例では、ビデオコーダは、時間的動きベクトルをスケーリングして別の利用可能な時間的視差参照ピクチャを識別することによって、ＡＲＰ処理を修正することができる。
【０２１７】
[0234]図７は、現在のＰＵ１００の視差ベクトルを決定するために使用され得る、現在のＰＵ１００に対する例示的な空間隣接ＰＵを示す概念図である。図７の例では、空間隣接ＰＵは、Ａ0、Ａ1、Ｂ0、Ｂ1、およびＢ2として示される位置を包含するＰＵであり得る。
【０２１８】
[0235]上で述べられたように、ビデオコーダ（ビデオエンコーダ２０またはビデオデコーダ３０のような）は、ビュー間動き予測および／またはビュー間残差予測を実行することができる。これらの２つのコーディングツールをイネーブルにするために、第１のステップは、視差ベクトルを導出する。
【０２１９】
[0236]いくつかの例では、ビデオコーダは、隣接ブロックベース視差ベクトル（ＮＢＤＶ：Neighboring Blocks Based Disparity Vector）の方法を使用して、ブロックの視差ベクトルを導出することができる。たとえば、ＰＵの視差ベクトルを導出するために、ＮＢＤＶと呼ばれる処理が、３Ｄ−ＨＥＶＣのテストモデル（すなわち、３Ｄ−ＨＴＭ）において使用され得る。ＮＢＤＶ処理は、空間的および時間的に隣接するブロック（隣接ＰＵ  Ａ0、Ａ1、Ｂ0、Ｂ1、およびＢ2のような）からの視差動きベクトルを使用して、現在のブロックの視差ベクトルを導出する。隣接ブロック（たとえば、現在のブロックに空間的または時間的に隣接するブロック）は、ビデオコーディングにおいてほとんど同じ動き情報と視差情報とを共有する可能性が高いので、現在のブロックは、現在のブロックの視差ベクトルの予測子として、隣接ブロックにおける動きベクトル情報を使用することができる。
【０２２０】
[0237]ビデオコーダがＮＢＤＶ処理を実行するとき、ビデオコーダは、固定の確認順序で、空間隣接ブロックおよび時間隣接ブロックの動きベクトルを確認することができる。ビデオコーダが空間隣接ブロックまたは時間隣接ブロックの動きベクトルを確認するとき、ビデオコーダは、空間隣接ブロックまたは時間隣接ブロックの動きベクトルが視差動きベクトルかどうかを決定することができる。ピクチャのブロックの視差動きベクトルは、ピクチャの視差参照ピクチャ内の位置を指す動きベクトルである。
【０２２１】
[0238]所与のピクチャの視差参照ピクチャは、所与のピクチャと同じアクセスユニットと関連付けられるが所与のピクチャとは異なるビューと関連付けられる、ピクチャであり得る。ビデオコーダが視差動きベクトルを識別すると、ビデオコーダは、確認処理を終了することができる。ビデオコーダは、返された視差動きベクトルを視差ベクトルに変換することができ、ビュー間動き予測およびビュー間残差予測のために視差ベクトルを使用することができる。たとえば、ビデオコーダは、視差動きベクトルの水平成分に等しい現在のブロックの視差ベクトルの水平成分を設定することができ、視差ベクトルの垂直成分を０に設定することができる。
【０２２２】
[0239]ＮＢＤＶ処理を実行することによってビデオコーダが現在のブロックの視差ベクトルを導出することが不可能である場合（すなわち、視差ベクトルが見つからない場合）、ビデオコーダは、現在のブロックの視差ベクトルとして０視差ベクトルを使用することができる。０視差ベクトルは、０に等しい水平成分と垂直成分の両方を有する視差ベクトルである。したがって、ＮＢＤＶ処理が利用不可能な結果を返すときであっても、視差ベクトルを必要とするビデオコーダの他のコーディング処理は、現在のブロックに対して０視差ベクトルを使用することができる。
【０２２３】
[0240]いくつかの例では、ＮＢＤＶ処理を実行することによってビデオコーダが現在のブロックの視差ベクトルを導出することが不可能である場合、ビデオコーダは、現在のブロックに対するビュー間残差予測をディセーブルにすることができる。しかしながら、ＮＢＤＶ処理を実行することによってビデオコーダが現在のブロックの視差ベクトルを導出することが可能かどうかに関係なく、ビデオコーダは、現在のＰＵに対してビュー間動き予測を使用することができる。すなわち、すべての事前に定義された隣接ブロックを確認した後で視差ベクトルが見つからない場合、ビュー間動き予測のために０視差ベクトルが使用され得るが、ビュー間残差予測は対応するＣＵに対してディセーブルにされ得る。
【０２２４】
[0241]上で述べられたように、たとえば、Ａ0、Ａ1、Ｂ0、Ｂ1、またはＢ2によって示されるＰＵを含む、５個の空間隣接ブロックが、視差ベクトルの導出のために使用され得る。加えて、１つまたは複数の時間隣接ブロックが、視差ベクトルの導出のために使用され得る。この場合、現在のビューからのすべての参照ピクチャが、候補ピクチャとして扱われる。候補ピクチャの数は、たとえば、４個の参照ピクチャにさらに制約され得る。同じ位置にある参照ピクチャがまず確認され、候補ピクチャの残りは、参照インデックス（ｒｅｆＩｄｘ）の昇順で確認される。ＲｅｆＰｉｃＬｉｓｔ０[ｒｅｆＩｄｘ]とＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘ］の両方が利用可能であるとき、ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘ］は他のピクチャに先行し、ここでＸはｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇに等しい。
【０２２５】
[0242]各候補ピクチャに対して、時間隣接ブロックを導出するために３つの候補領域が決定される。ある領域が２つ以上の１６×１６のブロックを包含するとき、そのような領域中のすべての１６×１６のブロックが、ラスタースキャン順序で確認される。ＣＰＵ（現在のＰＵまたは現在のＣＵの同じ位置にある領域）、ＣＬＣＵ（現在のＰＵの同じ位置にある領域を包含する最大コーディングユニット（ＬＣＵ））、およびＢＲ（ＣＰＵの右下の４×４のブロック）という、３つの候補領域が定義される。
【０２２６】
[0243]ビデオコーダは、視差ベクトルに対する空間隣接ブロックおよび／または時間隣接ブロックを、特定の順序で確認することができる。いくつかの例では、ビデオコーダは、最初に空間隣接ブロック（Ａ0、Ａ1、Ｂ0、Ｂ1、およびＢ2）を確認し、続いて時間隣接ブロックを確認することができる。空間隣接ブロックの１つが視差動きベクトルを有する場合、ビデオコーダは確認処理を終了することができ、現在のＰＵの最終的な視差ベクトルとして視差動きベクトルを使用することができる。
【０２２７】
[0244]ビデオコーダは、候補ピクチャの候補領域の各々を確認することができる。一例では、候補ピクチャが第１の非ベースビューの中にある場合、ビデオコーダは、ＣＰＵ、ＣＬＣＵ、およびＢＲの順序で候補領域を確認することができる。この例では、候補ピクチャが第２の非ベースビューの中にある場合、ビデオコーダは、ＢＲ、ＣＰＵ、およびＣＬＣＵの順序で候補領域を確認することができる。
【０２２８】
[0245]この例では、第１の非ベースビューと関連付けられるピクチャの復号は、ベースビューと関連付けられるピクチャの復号に依存し得るが、他のビューと関連付けられるピクチャの復号には依存しないことがある。さらに、この例では、第２の非ベースビューと関連付けられるピクチャの復号はまた、ベースビューと関連付けられるピクチャの復号のみに依存し得る。他の例では、第２の非ベースビューと関連付けられるピクチャの復号はさらに、第１の非ベースビューに依存し得るが、他のビューがもしあればそれと関連付けられるピクチャには依存しないことがある。
【０２２９】
[0246]候補領域が２つ以上の１６×１６のブロックを包含するとき、ビデオコーダは、ラスタースキャン順序に従って、候補領域中のすべての１６×１６のブロックを確認することができる。ビデオコーダが候補領域（または候補領域内の１６×１６のブロック）を確認するとき、ビデオコーダは、候補領域を包含するＰＵが視差動きベクトルを規定するかどうかを決定することができる。候補領域を包含するＰＵが視差動きベクトルを規定する場合、ビデオコーダは、ＰＵの視差動きベクトルに基づいて、現在のビデオユニットの視差ベクトルを決定することができる。
【０２３０】
[0247]ビュー間動き予測は、ＡＭＶＰモードと統合モードの両方に適用され得る。たとえば、上で述べられたように、ＡＭＶＰモードは、ビュー間動きベクトル予測子が候補リストに追加されるような方法で拡張されている。ＮＢＤＶから導出された視差ベクトルに基づいて、ビデオコーダは、視差ベクトルと現在のブロックの中間サンプルの位置とを加算することによって、参照ビュー中の参照ブロックを決定する。現在のブロックの参照インデックスがビュー間参照ピクチャを指す場合、ビデオコーダは、ビュー間動きベクトル予測子を、対応する視差ベクトルに等しく設定することができる。現在の参照インデックスが時間的参照ピクチャを指し、参照ブロックが、現在の参照インデックスと同じアクセスユニットを指す動き仮定を使用する場合には、ビデオコーダは、この動き仮定と関連付けられる動きベクトルを、ビュー間動きベクトル予測子として使用することができる。他の場合には、ビデオコーダは、ビュー間動きベクトル予測子をディセーブルなものとして標識することができ、ビデオコーダは、動きベクトル予測子候補のリストに動きベクトルを含めなくてよい。
【０２３１】
[0248]統合／スキップモードに関して、動きパラメータの候補リストは、ビュー間動き予測を使用して取得される動きパラメータセットによって拡張される。たとえば、ビデオコーダは、上で述べられたＡＭＶＰモードと同じ方法で、参照ビュー中の参照ブロックの動きベクトル候補を導出することができる。導出された動きベクトルがイネーブルであり、その参照ピクチャが現在のＰＵ／ＣＵの参照ピクチャリスト中のあるエントリのピクチャ順序カウント（ＰＯＣ）値と等しいＰＯＣ値を有する場合、動き情報（予測方向、参照ピクチャ、および動きベクトル）が、ＰＯＣに基づいて参照インデックスを変換した後で、統合候補リストに追加され得る。そのような候補は、ビュー間予測された動きベクトルと呼ばれ得る。それ以外の場合、視差ベクトルはビュー間視差動きベクトルに変換され、ビデオコーダは、利用可能であるときのビュー間予測された動きベクトルと同じ位置において、ビュー間視差動きベクトルを統合候補リスト中へ追加することができる。
【０２３２】
[0249]ビュー間動き予測と同様の方式で、ビュー間残差予測は、図８および図９に関して以下でより詳細に説明されるように、各ＣＵの視差ベクトルに基づく。
【０２３３】
[0250]図８は、マルチビュービデオコーディングの例示的な予測構造を示す概念図である。例として、ビデオコーダ（ビデオエンコーダ２０またはビデオデコーダ３０のような）は、時間Ｔ0におけるビューＶ１中のブロックＰeを使用してブロックを予測することによって、時間Ｔ8におけるビューＶ１中のブロックをコーディングすることができる。ビデオコーダは、Ｐeから現在のブロックの元のピクセル値を減算し、これによって、現在のブロックの残差サンプルを取得することができる。
【０２３４】
[0251]加えて、ビデオコーダは、視差ベクトル１０４によって参照ビュー（ビューＶ０）における参照ブロックを位置決定することができる。参照ブロックＩbの元のサンプル値とその予測されるサンプルＰbの差は、以下の式でｒbによって示されるような、参照ブロックの残差サンプルと呼ばれる。いくつかの例では、ビデオコーダは、現在の残差からｒbを減算し、得られた差の信号を変換コーディングするだけでよい。したがって、ビュー間残差予測が使用されるとき、動き補償ループは次の式で表され得る。
【数３】
2018067940.tif 000005
【０２３５】
ここで、現在のブロックの再構築
【数４】
2018067940.tif 000006
【０２３６】
は、逆量子化された係数ｒeに、予測Ｐeと量子化正規化された残差係数ｒbとを足したものに等しい。ビデオコーダは、ｒbを残差予測子として扱うことができる。したがって、動き補償と同様に、ｒbは現在の残差から減算されてよく、得られた差の信号のみが変換コーディングされる。
【０２３７】
[0252]ビデオコーダは、ＣＵごとにビュー間残差予測の使用を示すために、フラグを条件的にシグナリングすることができる。たとえば、ビデオコーダは、残差参照領域によって包含される、または部分的に包含される、すべての変換ユニット（ＴＵ）を網羅することができる。これらのＴＵのいずれかがインターコーディングされ、０ではないコーディングされたブロックフラグ（ＣＢＦ）の値（ルーマＣＢＦまたはクロマＣＢＦ）を含む場合、ビデオコーダは、関連する残差参照を利用可能なものとして標識することができ、残差予測を適用することができる。この場合、ビデオコーダは、ＣＵシンタックスの一部としてビュー間残差予測の使用を示す、フラグをシグナリングすることができる。このフラグが１に等しい場合、現在の残差信号は、補間された可能性のある参照残差信号を使用して予測され、差だけが、変換コーディングを使用して送信される。それ以外の場合、現在のブロックの残差は、ＨＥＶＣ変換コーディングを使用して従来通りにコーディングされる。
【０２３８】
[0253]２０１２年７月１０日に出願された米国仮出願第６１／６７０，０７５号、および、２０１２年９月２７日に出願された米国仮出願第６１／７０６，６９２号は、スケーラブルビデオコーディングのための一般化された残差予測（ＧＲＰ）を提案する。これらの仮特許出願はスケーラブルビデオコーディングに注目するが、これらの仮特許出願で説明されるＧＲＰ技法は、マルチビュービデオコーディング（たとえば、ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣ）に適用可能であり得る。
【０２３９】
[0254]単予測の状況では、ＧＲＰの概略的な考え方は、
Ｉc=ｒc+Ｐc+ｗ*ｒr
として定式化され得る。
【０２４０】
[0255]上の式において、Ｉcは現在のレイヤ（またはビュー）の中の現在のフレームの再構築を示し、Ｐcは同じレイヤ（またはビュー）からの時間的予測を表し、ｒcはシグナリングされる残差を示し、ｒrは参照レイヤからの残差予測を示し、ｗは重み付けファクタである。いくつかの例では、重み付けファクタは、ビットストリームにおいてコーディングされること、または、以前にコーディングされた情報に基づいて導出されることが必要であり得る。ＧＲＰのためのこのフレームワークは、シングルループ復号とマルチループ復号の両方の場合に適用され得る。マルチループ復号は、再構築されアップサンプリングされたより低分解能の信号を使用した、ブロックの予測の制約されないバージョンを伴う。エンハンスメントレイヤ中の１つのブロックを復号するために、以前のレイヤ中の複数のブロックがアクセスされる必要がある。
【０２４１】
[0256]たとえば、ビデオデコーダ３０がマルチループ復号を使用するとき、ＧＲＰはさらに、
Ｉc=ｒc+Ｐc+ｗ*（Ｉr-Pr）
として定式化され得る。
【０２４２】
[0257]上の式では、Ｐrは参照レイヤ中の現在のピクチャに対する時間的予測を示し、Ｐcは同じレイヤ（またはビュー）からの時間的予測を表し、ｒcはシグナリングされた残差を示し、ｗは重み付けファクタであり、Ｉrは参照レイヤ中の現在のピクチャの完全な再構築を示す。
【０２４３】
[0258]上の式は、ビットストリーム中でシグナリングされ得る、または、以前にコーディングされた情報に基づいて導出され得る、重み付けファクタを含む。いくつかの例では、ビデオエンコーダ２０は、ビットストリーム中で、ＧＲＰにおいて使用される重み付けインデックスをＣＵごとにシグナリングすることができる。各重み付けインデックスは、０以上の１つの重み付けファクタに対応し得る。現在のＣＵに対する重み付けファクタが０に等しいとき、現在のＣＵの残差ブロックは、従来のＨＥＶＣ変換コーディングを使用してコーディングされる。そうではなく、現在のＣＵに対する重み付けファクタが０より大きいとき、現在の残差信号（すなわち、現在のＣＵの残差ブロック）は、重み付けファクタによって乗算された参照残差信号を使用して予測されてよく、差だけが変換コーディングを使用して送信される。いくつかの例では、参照残差信号は補間される。
【０２４４】
[0259]Ｌ．Ｚｈａｎｇ他、「３Ｄ−ＣＥ５．ｈ  ｒｅｌａｔｅｄ：  Ａｄｖａｎｃｅｄ  ｒｅｓｉｄｕａｌ  ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  ｍｕｌｔｉｖｉｅｗ  ｃｏｄｉｎｇ」、Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｔｅｎｓｉｏｎ  Ｄｅｖｅｌｏｐｍｅｎｔ  ｏｆ  ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１、第２回会合：上海、中国、２０１２年１０月１３〜１９日、文書ＪＣＴ３Ｖ−Ｂ００５１（以後「ＪＣＴ３Ｖ−Ｂ００５１」）は、ビュー間残差予測のコーディング効率をさらに改善するための、高度な残差予測（ＡＲＰ）方法を提案した。いくつかの例では、ＡＲＰは、ＣＵレベルの代わりにＰＵレベルで実行され得る。ＡＲＰと上で説明された残差予測方式を区別するために、上で説明された残差予測方式は、「ＣＵベースのビュー間残差予測」と呼ばれ得る。
【０２４５】
[0260]図９は、マルチビュービデオコーディングにおけるＡＲＰの例示的な予測構造を示す概念図である。図６は、現在のピクチャ１１０、時間的参照ピクチャ１１２、視差参照ピクチャ１１４、および時間的視差参照ピクチャ１１６という、４つのピクチャを含む。現在のピクチャ１１０は、ビューＶ１と関連付けられ、時間インスタンスＴjと関連付けられる。時間的参照ピクチャ１１２は、ビューＶ１と関連付けられ、時間インスタンスＴiと関連付けられる。視差参照ピクチャ１１４は、ビューＶ０と関連付けられ、時間インスタンスＴjと関連付けられる。時間的視差参照ピクチャ１１６は、ビューＶ０と関連付けられ、時間インスタンスＴiと関連付けられる。
【０２４６】
[0261]現在のピクチャ１１０は、「Ｄc」として示される現在のＰＵを含む。言い換えると、Ｄcは現在のビュー（ビュー１）の中の現在のブロックを表す。Ｄcは、時間的参照ピクチャ１１２の中のある位置を示す、時間的動きベクトルＶDを有する。ビデオエンコーダ２０は、時間的動きベクトルＶDによって示される位置と関連付けられるピクチャ１１２中のサンプルに基づいて、時間的参照ブロックＤrを決定することができる。したがって、Ｄrは時間Ｔiにおける同じビュー（ビュー１）からのＤcの時間的予測ブロックを示し、ＶDはＤcからＤrへの動きを示す。
【０２４７】
[0262]さらに、ビデオエンコーダ２０は、Ｄcの視差ベクトルによって示される位置と関連付けられる視差参照ピクチャ１１４中のサンプルに基づいて、視差参照ブロックＢcを決定することができる。したがって、Ｂcは参照ブロック（すなわち、時間Ｔjにおける参照ビュー（ビュー０）の中のＤcの表現）を示す。Ｂcの左上の位置は、導出された視差ベクトルをＤcの左上の位置に加算することによって、導出された視差ベクトルとともに計算され得る。ＤcおよびＢcは、２つの異なるビューにおける同じオブジェクトの投影であり得るので、ＤcおよびＢcは同じ動き情報を共有するはずである。したがって、時間Ｔiにおけるビュー０の中のＢcの時間的予測ブロックＢrは、ＶDの動き情報を適用することによってＢcから位置決定され得る。
【０２４８】
[0263]ビデオエンコーダ２０は、時間的視差ピクチャ１１６の中の時間的視差参照ブロックＢr（Ｂcの予測ブロック）を決定することができる。上で示されたように、時間的視差ピクチャ１１６は、Ｂrと同じビュー（すなわち、ビューＶ０）と関連付けられ、Ｄrと同じ時間インスタンス（すなわち、時間インスタンスＴi）と関連付けられる。ビデオエンコーダ２０は、Ｄcの動きベクトルＶDによって示される位置にあるサンプルに基づいて、Ｂrを決定することができる。したがって、Ｂrの左上の位置は、動きベクトルＶDをＢcの左上の位置に加算することによって、再使用される動きベクトルＶDとともに計算され得る。Ｂcの左上の位置は、Ｄcの左上の位置と視差ベクトルとの合計に等しくてよい。したがって、Ｂrの左上の位置は、Ｄcの左上の位置と視差ベクトルと動きベクトルＶDの座標との合計に等しくてよい。このようにして、図９において矢印１１８によって示されるように、ビデオエンコーダ２０は、Ｂrを決定するための動きベクトルＶDを再使用することができる。
【０２４９】
[0264]さらに、ＡＲＰにおいて、第１の残差ブロック中の各サンプルは、Ｄcの中のサンプルとＤrの対応するサンプルとの差を示し得る。第１の残差ブロックは、Ｄcの元の残差ブロックと呼ばれ得る。第２の残差ブロック中の各サンプルは、Ｂcの中のサンプルとＢrの中の対応するサンプルとの差を示し得る。第２の残差ブロックは「残差予測子」と呼ばれ得る。ビデオエンコーダ２０は動きベクトルＶDを使用してＢrを決定するので、残差予測子はＢcの実際の残差データとは異なり得る。
【０２５０】
[0265]ビデオエンコーダ２０が残差予測子を決定した後で、ビデオエンコーダ２０は、重み付けファクタによって残差予測子を乗算することができる。言い換えると、ＶDの動き情報を伴うＢcの残差は、重み付けファクタによって乗算され、現在の残差のための残差予測子として使用される。重み付けファクタは、０、０．５、または１に等しくてよい。したがって、３つの重み付けファクタ（すなわち、０、０．５、および１）がＡＲＰにおいて使用され得る。
【０２５１】
[0266]ビデオエンコーダ２０が重み付けファクタによって残差予測子を乗算した後、残差予測子は、重み付けられた残差予測子と呼ばれ得る。ビデオエンコーダ２０は、最終的な重み付けファクタとして、現在のＣＵ（すなわち、現在のＰＵを含むＣＵ）に対して最小限のレートひずみコストをもたらす重み付けファクタを選択することができる。ビデオエンコーダ２０は、ビットストリーム中に、重み付けインデックスを示すデータをＣＵレベルで含め得る。重み付けインデックスは、現在のＣＵに対する最終的な重み付けファクタ（すなわち、重み付けられた残差予測子を生成するために使用された重み付けファクタ）を示し得る。いくつかの例では、０、１、および２という重み付けインデックスは、０、１、および０．５という重み付けファクタにそれぞれ対応する。現在のＣＵに対して０という重み付けファクタを選択することは、現在のＣＵのＰＵのいずれに対してもＡＲＰを使用しないことと等価である。
【０２５２】
[0267]ビデオエンコーダ２０は次いで、現在のＰＵの最終的な残差ブロックを決定することができる。現在のＰＵの最終的な残差ブロック中の各サンプルは、元の残差ブロック中のサンプルと、重み付けられた残差予測子中の対応するサンプルとの差を示し得る。現在のＣＵ（すなわち、現在のＰＵを含むＣＵ）の残差ブロックは、現在のＣＵの他のＰＵの残差ブロックがもしあればそれらとともに、現在のＰＵの最終的な残差ブロックを含み得る。本開示の他の箇所で説明されるように、ビデオエンコーダ２０は、１つまたは複数の変換ブロックの間で、現在のＣＵの残差ブロックを区分することができる。変換ブロックの各々は現在のＣＵのＴＵと関連付けられ得る。各変換ブロックに対して、ビデオエンコーダ２０は、変換ブロックに１つまたは複数の変換を適用して、変換係数ブロックを生成することができる。ビデオエンコーダ２０は、ビットストリーム中に、変換係数ブロックの量子化された変換係数を表すデータを含め得る。
【０２５３】
[0268]したがって、ＡＲＰでは、２つのビューの残差の間での高い相関を確実にするために、ビデオコーダ２０は、現在のＰＵの動きを、参照ビューピクチャ中の対応するブロックに適用して、ビュー間残差予測のために使用されるべき基本ビュー中の残差を生成することができる。このようにして、現在のＰＵおよび参照ビュー中の対応する参照ブロックに対して、動きが揃えられる。その上、予測誤差がさらに減るように、適応重み付けファクタが残差信号に適用される。
【０２５４】
[0269]現在のＰＵが双予測される場合、現在のＰＵは、ＲｅｆＰｉｃＬｉｓｔ０動きベクトルと、ＲｅｆＰｉｃＬｉｓｔ１動きベクトルと、ＲｅｆＰｉｃＬｉｓｔ０参照インデックスと、ＲｅｆＰｉｃＬｉｓｔ１参照インデックスとを有する。本開示は、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０参照インデックスによって示される参照ピクチャを、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０ターゲット参照ピクチャと呼ぶことがある。現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１動きベクトルは、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１ターゲット参照ピクチャ中の参照位置を示し得る。本開示は、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１参照インデックスによって示される参照ピクチャを、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１ターゲット参照ピクチャと呼ぶことがある。現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１動きベクトルは、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１ターゲット参照ピクチャ中の参照位置を示し得る。
【０２５５】
[0270]したがって、ビデオエンコーダ２０が双予測されたＰＵに対してＡＲＰを実行するとき、ビデオエンコーダ２０は、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０動きベクトルに基づいて、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０ターゲット参照ピクチャ中の参照位置を決定することができる。本開示は、この参照位置を、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０参照位置と呼ぶことがある。ビデオエンコーダ２０は次いで、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０参照位置と関連付けられる現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０ターゲット参照ピクチャの、実際のサンプルまたは補間されたサンプルを含む、参照ブロックを決定することができる。本開示は、この参照ブロックを、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０参照ブロックと呼ぶことがある。
【０２５６】
[0271]加えて、ビデオエンコーダ２０は、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１動きベクトルに基づいて、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１ターゲット参照ピクチャ中の参照位置を決定することができる。本開示は、この参照位置を、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１参照位置と呼ぶことがある。ビデオエンコーダ２０は次いで、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０参照位置と関連付けられる現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１ターゲット参照ピクチャの、実際のサンプルまたは補間されたサンプルを含む、参照ブロックを決定することができる。本開示は、この参照ブロックを、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１参照ブロックと呼ぶことがある。
【０２５７】
[0272]ビデオエンコーダ２０は、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０参照ブロックおよび現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１参照ブロックに基づいて、現在のＰＵの時間的予測ブロックを決定することができる。たとえば、現在のＰＵの時間的予測ブロック中の各サンプルは、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０参照ブロックおよび現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１参照ブロック中の対応するサンプルの加重平均を示し得る。
【０２５８】
[0273]さらに、ビデオエンコーダ２０が双予測されたＰＵに対してＡＲＰを実行するとき、ビデオエンコーダ２０は、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０動きベクトルおよび視差参照ブロックの視差参照フレーム内の位置に基づいて、時間的視差参照ピクチャ中の時間的視差参照位置を決定することができる。本開示は、この時間的視差参照位置およびこの時間的視差参照ピクチャを、ＲｅｆＰｉｃＬｉｓｔ０時間的視差参照位置およびＲｅｆＰｉｃＬｉｓｔ０時間的視差参照ピクチャとそれぞれ呼ぶことがある。ＲｅｆＰｉｃＬｉｓｔ０時間的視差参照ピクチャは、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０ターゲット参照ピクチャと同じＰＯＣ値を有し得る。ビデオエンコーダ２０は次いで、ＲｅｆＰｉｃＬｉｓｔ０時間的視差参照位置と関連付けられるＲｅｆＰｉｃＬｉｓｔ０時間的視差参照ピクチャの、実際のサンプルまたは補間されたサンプルを含む、サンプルブロックを決定することができる。本開示は、このサンプルブロックを、ＲｅｆＰｉｃＬｉｓｔ０時間的視差参照ブロックと呼ぶことがある。
【０２５９】
[0274]加えて、ビデオエンコーダ２０は、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１動きベクトルおよび視差参照ブロックの視差参照フレーム内の位置に基づいて、時間的視差参照ピクチャ中の時間的視差参照位置を決定することができる。本開示は、この時間的視差参照位置およびこの時間的視差参照ピクチャを、ＲｅｆＰｉｃＬｉｓｔ１時間的視差参照位置およびＲｅｆＰｉｃＬｉｓｔ１時間的視差参照ピクチャとそれぞれ呼ぶことがある。ＲｅｆＰｉｃＬｉｓｔ１時間的視差参照ピクチャは、現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１ターゲット参照ピクチャと同じＰＯＣ値を有し得る。現在のＰＵのＲｅｆＰｉｃＬｉｓｔ０ターゲット参照ピクチャおよび現在のＰＵのＲｅｆＰｉｃＬｉｓｔ１ターゲット参照ピクチャは異なることがあるので、ＲｅｆＰｉｃＬｉｓｔ１時間的視差参照ピクチャは、ＲｅｆＰｉｃＬｉｓｔ０時間的視差参照ピクチャとは異なることがある。ビデオエンコーダ２０は次いで、ＲｅｆＰｉｃＬｉｓｔ１時間的視差参照位置と関連付けられるＲｅｆＰｉｃＬｉｓｔ１時間的視差参照ピクチャの、実際のサンプルまたは補間されたサンプルを含む、サンプルブロックを決定することができる。本開示は、このサンプルブロックを、ＲｅｆＰｉｃＬｉｓｔ１時間的視差参照ブロックと呼ぶことがある。
【０２６０】
[0275]次に、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔ０時間的視差参照ブロックおよびＲｅｆＰｉｃＬｉｓｔ１時間的視差参照ブロックに基づいて、視差予測ブロックを決定することができる。いくつかの例では、視差予測ブロック中の各サンプルは、ＲｅｆＰｉｃＬｉｓｔ０時間的視差参照ブロックおよびＲｅｆＰｉｃＬｉｓｔ１時間的視差参照ブロック中の対応するサンプルの加重平均である。ビデオエンコーダ２０は次いで、残差予測子を決定することができる。残差予測子は、サンプルのブロックであり得る。残差予測子中の各サンプルは、視差参照ブロック中のサンプルと、視差予測ブロック中の対応するサンプルとの差を示し得る。ビデオエンコーダ２０は次いで、重み付けファクタを残差予測子に適用することによって、重み付けられた残差予測子を生成することができる。ビデオエンコーダ２０は次いで、現在のＰＵの最終的な残差ブロックを決定することができる。現在のＰＵの最終的な残差ブロック中の各サンプルは、現在のＰＵの元の予測ブロック中のサンプルと現在のＰＵの時間的予測ブロック中の対応するサンプルとの差と、重み付けられた残差予測子とを示し得る。ビデオエンコーダ２０は、ビットストリーム中で現在のＰＵの最終的な残差ブロックをシグナリングすることができる。
【０２６１】
[0276]ビデオデコーダ３０は、ＰＵおよび双予測されたＰＵに対してＡＲＰを実行するとき、同様の処理を実行することができる。たとえば、ビデオデコーダ３０は、上で説明されたサンプルの方式で、現在のＰＵの時間的予測ブロックと重み付けられた残差予測子とを決定することができる。ビデオデコーダ３０は、ビットストリーム中でシグナリングされるデータに基づいて、現在のＰＵの最終的な残差ブロックを決定することができる。ビデオデコーダ３０は次いで、現在のＰＵの最終的な残差ブロックと、現在のＰＵの時間的予測ブロックと、重み付けられた残差予測子とを加算することによって、現在のＰＵの予測ブロックを再構築することができる。
【０２６２】
[0277]図１０は、上で説明された、現在のブロックと、対応するブロックと、動き補償されたブロックとの関係を示す。言い換えると、図１０は、ＡＲＰにおける、現在のブロックと、参照ブロックと、動き補償されたブロックとの例示的な関係を示す概念図である。図１０の例では、ビデオコーダは現在、現在のピクチャ１３１中の現在のＰＵ１３０をコーディングしている。現在のピクチャ１３１は、ビューＶ１および時間インスタンスＴ１と関連付けられる。
【０２６３】
[0278]さらに、図１０の例では、ビデオコーダは、現在のＰＵ１３０の視差ベクトルによって示される位置と関連付けられる参照ピクチャ１３３の実際のサンプルまたは補間されたサンプルを備える、参照ブロック１３２（すなわち、対応するブロック）を決定することができる。たとえば、参照ブロック１３２の左上の角は、現在のＰＵ１３０の視差ベクトルによって示される位置であり得る。時間的視差参照ブロック１４５は、現在のＰＵ１３０の予測ブロックと同じサイズを有し得る。
【０２６４】
[0279]図１０の例では、現在のＰＵ１３０は、第１の動きベクトル１３４と第２の動きベクトル１３６とを有する。動きベクトル１３４は、時間的参照ピクチャ１３８の中のある位置を示す。時間的参照ピクチャ１３８は、ビューＶ１（すなわち、現在のピクチャ１３１と同じビュー）および時間インスタンスＴ０と関連付けられる。動きベクトル１３６は、時間的参照ピクチャ１４０の中のある位置を示す。時間的参照ピクチャ１４０は、ビューＶ１および時間インスタンスＴ３と関連付けられる。
【０２６５】
[0280]上で説明されたＡＲＰ方式によれば、ビデオコーダは、参照ピクチャ１３３と同じビューと関連付けられ時間的参照ピクチャ１３８と同じ時間インスタンスと関連付けられる参照ピクチャ（すなわち、参照ピクチャ１４２）を決定することができる。加えて、ビデオコーダは、動きベクトル１３４を参照ブロック１３２の左上の角の座標に加算して、時間的視差参照位置を導出することができる。ビデオコーダは、時間的視差参照ブロック１４３（すなわち、動き補償されたブロック）を決定することができる。時間的視差参照ブロック１４３中のサンプルは、動きベクトル１３４から導出された時間的視差参照位置と関連付けられる、参照ピクチャ１４２の実際のサンプルまたは補間されたサンプルであり得る。時間的視差参照ブロック１４３は、現在のＰＵ１３０の予測ブロックと同じサイズを有し得る。
【０２６６】
[0281]同様に、ビデオコーダは、参照ピクチャ１３４と同じビューと関連付けられ時間的参照ピクチャ１４０と同じ時間インスタンスと関連付けられる参照ピクチャ（すなわち、参照ピクチャ１４４）を決定することができる。加えて、ビデオコーダは、動きベクトル１３６を参照ブロック１３２の左上の角の座標に加算して、時間的視差参照位置を導出することができる。ビデオコーダは次いで、時間的視差参照ブロック１４５（すなわち、動き補償されたブロック）を決定することができる。時間的視差参照ブロック１４５中のサンプルは、動きベクトル１３６から導出された時間的視差参照位置と関連付けられる、参照ピクチャ１４４の実際のサンプルまたは補間されたサンプルであり得る。時間的視差参照ブロック１４５は、現在のＰＵ１３０の予測ブロックと同じサイズを有し得る。
【０２６７】
[0282]さらに、図１０の例では、ビデオコーダは、時間的視差参照ブロック１４３および時間的視差参照ブロック１４５に基づいて、視差予測ブロックを決定することができる。ビデオコーダは次いで、残差予測子を決定することができる。残差予測子中の各サンプルは、参照ブロック１３２中のサンプルと、視差予測ブロック中の対応するサンプルとの差を示し得る。
【０２６８】
[0283]本開示の態様によれば、ビデオコーダ（ビデオエンコーダまたはビデオデコーダのような）は、現在コーディングされているブロックに対する参照ピクチャリスト中の参照ピクチャに基づいて、ＡＲＰ（あるレイヤの残差を第２の異なるレイヤの残差に対してコーディングすることを含む）をイネーブルまたはディセーブルにすることができる。ある例では、ビデオコーダは、現在コーディングされているブロックに対する参照ピクチャリストが任意の時間的参照ピクチャを含むかどうかに基づいて、ＡＲＰをイネーブルまたはディセーブルにすることができる。本開示の態様によれば、インター予測されたブロックに対する参照ピクチャリストがビュー間参照ピクチャのみを含む場合、ビデオコーダはＡＲＰをディセーブルにすることができる。そのような例では、ビデオコーダがビデオエンコーダを備えるとき、ビデオエンコーダは、ビットストリーム中で重み付けファクタをシグナリングしなくてよい（重み付けファクタのシグナリングをスキップしてよい）。同様に、ビデオコーダがビデオデコーダを備えるとき、ビデオデコーダは同様に、重み付けファクタの復号をスキップし、重み付けファクタが０に等しいと推測することができる。
【０２６９】
[0284]上で説明された技法は、ランダムアクセスピクチャの状況で適用され得る。たとえば、本開示の態様によれば、ビデオコーダは、現在コーディングされているビュー成分がランダムアクセスビュー成分かどうかに基づいて、ＡＲＰをイネーブルまたはディセーブルにすることができる。
【０２７０】
[0285]ランダムアクセスビュー成分に関して、ＨＥＶＣでは一般に、ＮＡＬユニットタイプによって識別され得る４つのピクチャタイプがある。４つのピクチャタイプは、瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、ＣＲＡピクチャ、時間レイヤアクセス（ＴＬＡ）ピクチャ、および、ＩＤＲピクチャ、ＣＲＡピクチャまたはＴＬＡピクチャではないコーディングされたピクチャを含む。ＩＤＲピクチャおよびコーディングされたピクチャは、Ｈ．２６４／ＡＶＣ仕様から継承されたピクチャタイプである。ＣＲＡおよびＴＬＡピクチャタイプは、ＨＥＶＣ規格に対する新たな追加である。ＣＲＡピクチャは、ビデオシーケンスの中央の任意のランダムアクセスポイントから始まる復号を容易にするピクチャタイプであり、ＩＤＲピクチャを挿入するよりも効率的であり得る。ＴＬＡピクチャは、イネーブルな時間レイヤ切替えポイントを示すために使用され得るピクチャタイプである。
【０２７１】
[0286]放送またはストリーミングのようなビデオ用途では、切替えは、ビデオデータの異なるチャネルの間で起こることがあり、ビデオデータの特定の部分へのジャンプが起こることがある。そのような例では、切替えおよび／またはジャンプの間の最小の遅延を達成することが有益であり得る。この特徴は、ビデオビットストリーム中で一定の間隔でランダムアクセスピクチャを有することによって可能にされ得る。Ｈ．２６４／ＡＶＣとＨＥＶＣの両方において規定されているＩＤＲピクチャは、ランダムアクセスのために使用され得る。しかしながら、ＩＤＲピクチャは、コーディングされたビデオシーケンスを開始し、復号ピクチャバッファ（ＤＰＢ）（図２および図３に関して以下で説明されるように、参照ピクチャメモリとも呼ばれ得る）からピクチャを除去する。したがって、復号順序でＩＤＲピクチャに後続するピクチャは、参照としてＩＤＲピクチャより前に復号されるピクチャを使用することができない。その結果、ランダムアクセスのためにＩＤＲピクチャに依存するビットストリームは、より低いコーディング効率を有することがある。コーディング効率を改善するために、復号順序でＣＲＡピクチャに後続するが出力順序でＣＲＡピクチャに先行するピクチャが、ＣＲＡピクチャより前に復号されたピクチャを参照として使用することを、ＨＥＶＣにおけるＣＲＡピクチャが可能にする。
【０２７２】
[0287]ＨＥＶＣでは、ＣＲＡピクチャで開始するビットストリームは適合ビットストリームと見なされる。ビットストリームがＣＲＡピクチャで始まるとき、ＣＲＡピクチャの先行ピクチャは、利用不可能な参照ピクチャを参照することがあり、したがって、正確に復号されないことがある。しかしながら、ＨＥＶＣは、開始するＣＲＡピクチャの先行ピクチャが出力されないことを規定しており、したがって「クリーンランダムアクセス」という名称である。ビットストリーム適合要件を確立するために、ＨＥＶＣは、非出力の先行ピクチャの復号のために利用不可能な参照ピクチャを生成するための復号処理を規定する。しかしながら、適合するデコーダの実装形態は、復号処理がビットストリームの開始から実行されるときと比較して、これらの適合するデコーダが同一の出力を生成し得る限り、その復号処理に従う必要はない。ＨＥＶＣでは、適合するビットストリームはＩＤＲピクチャをまったく含まなくてもよく、したがって、コーディングされたビデオシーケンスのサブセットまたは不完全なコーディングされたビデオシーケンスを含み得る。
【０２７３】
[0288]ＩＤＲピクチャおよびＣＲＡピクチャのほかに、他のタイプのランダムアクセスポイントピクチャ、たとえば、ブロークンリンクアクセス（ＢＬＡ）ピクチャがある。ランダムアクセスポイントピクチャの主要なタイプの各々について、ランダムアクセスポイントピクチャがシステムによってどのように扱われ得る可能性があるかに応じて、サブタイプがあり得る。ランダムアクセスポイントピクチャの各サブタイプは、異なるＮＡＬユニットタイプを有する。
【０２７４】
[0289]一般に、ＨＥＶＣの拡張（ＭＶ−ＨＥＶＣ、３Ｄ−ＨＥＶＣ、またはＳＨＶＣのような）に関して、ビュー成分がランダムアクセスポイントかどうかは、ビュー成分のＮＡＬユニットタイプに依存し得る。そのタイプが、ランダムアクセスポイントピクチャのためのＨＥＶＣ基本仕様において定義されているタイプに属する場合、現在のビュー成分はランダムアクセスポイントビュー成分（または簡単のために、現在のビューのランダムアクセスポイントピクチャ）である。
【０２７５】
[0290]いくつかの例では、ランダムアクセス機能は、時間次元における（したがってビュー内部での）いくつかの予測がＨＥＶＣ基本仕様と同様にディセーブルにされるかまたは制約されるかのいずれかである方法で、時間的予測のみに適用される。しかしながら、ランダムアクセスポイントビュー成分のためのビュー間予測は、Ｈ．２６４／ＭＶＣにおけるアンカーピクチャと同様に、コーディング効率を改善することが依然として可能であり、そのように一般に実行される。したがって、ランダムアクセスポイント（ＲＡＰ）ビュー成分は、ビュー間予測を使用する場合、ＰピクチャまたはＢピクチャであり得る。
【０２７６】
[0291]本開示の態様によれば、（ビデオエンコーダ２０またはビデオデコーダ３０などの）ビデオコーダは、ランダムアクセスビュー成分の各ブロックに対するビュー間残差予測をディセーブルにすることができる。そのような例では、ビデオエンコーダ２０は、ビットストリーム中で重み付けファクタをシグナリングしなくてよい（重み付けファクタのシグナリングをスキップしてよい）。ビデオデコーダ３０は、重み付けファクタの復号を同様にスキップし、重み付けファクタが０に等しいと自動的に決定することができる。
【０２７７】
[0292]別の例では、本開示の態様によれば、ビデオコーダは、少なくとも１つの参照ピクチャが現在コーディングされているブロックと同じビューからのものである場合、ＡＲＰをイネーブルにすることができる。加えて、または代替的に、ビデオコーダは、両方の参照ピクチャ（ＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャおよびＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャに対応する）が利用可能であればそれらが現在コーディングされているブロックと同じビューのものであるときにのみ、ＡＲＰをイネーブルにすることができる。加えて、または代替的に、ビデオコーダは、ブロックがビュー間参照ピクチャとともにビュー間コーディングされる場合、ブロックに対するＡＲＰをディセーブルにすることができる。上で述べられたように、ＡＲＰがディセーブルにされるとき、重み付けファクタはシグナリングされない。
【０２７８】
[0293]いくつかの例では、現在のブロックをコーディングするための復号ピクチャバッファが、時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中のピクチャを含まないとき、ビデオコーダはＡＲＰ処理を修正することができる。
【０２７９】
[0294]別の例では、加えて、または代替的に、視差参照ブロックの参照ピクチャリストの一方または両方が、時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中の参照ピクチャを含まないとき、ビデオコーダはＡＲＰ処理を修正することができる。たとえば、視差参照ブロックを含むスライスに対する現在の参照ピクチャリストのインデックスがＸであるとすると（Ｘは０または１である）、一例では、視差参照ブロックのＸに等しいリストインデックスを伴う参照ピクチャリストが、視差参照ピクチャと同じビューの中にあり現在のブロックの時間的参照ピクチャと同じＰＯＣを有する参照ピクチャを含まない場合、ビデオコーダはＡＲＰ処理を修正することができる。別の例では、視差参照ブロックの参照ピクチャリストのいずれもが（たとえば、リスト０もリスト１も）、視差参照ピクチャと同じビューの中にあり現在のブロックの時間的参照ピクチャと同じＰＯＣを有する参照ピクチャを含まない場合、ビデオコーダはＡＲＰ処理を修正することができる。
【０２８０】
[0295]いくつかの例では、ビデオコーダは、現在のブロックがＡＲＰを使用してコーディングされないように、ＡＲＰ処理をディセーブルにすることによってＡＲＰ処理を修正することができる。他の例では、ビデオコーダは、時間的動きベクトルをスケーリングして別の時間的視差参照ピクチャを識別することによって、ＡＲＰ処理を修正することができる。たとえば、ビデオコーダは、視差ベクトルに組み合わされると、参照ピクチャリストに含まれ視差参照ピクチャに時間的に最も近い位置にあるスケーリングされた組合せ時間的視差参照ピクチャように、時間的動きベクトルをスケーリングすることができる。上で説明された技法は、復号ピクチャバッファまたは参照ピクチャリストの一方または両方に含まれないピクチャ中の視差参照ブロックをビデオコーダが位置決定しようとするのを防ぐことができる。
【０２８１】
[0296]本開示の他の態様によれば、ＡＲＰは、現在コーディングされているブロックの区分モードおよび／またはコーディングモードに基づいて、イネーブルまたはディセーブルにされ得る。たとえば、重み付けファクタは、ある区分モードおよび／またはあるコーディングモードのみに対してシグナリングされるだけであり得る。重み付けファクタがビットストリームに含まれない場合、ビデオデコーダは、重み付けファクタの復号をスキップし、重み付けファクタの値が０である（したがってＡＲＰをディセーブルにする）と推測することができる。本開示の態様によれば、いくつかの例では、ＰＡＲＴ＿２Ｎ×２Ｎに等しくない区分モードを伴う任意のインターコーディングされたブロックに対する重み付けファクタはシグナリングされなくてよい。別の例では、ＰＡＲＴ＿２Ｎ×２Ｎ、ＰＡＲＴ＿２Ｎ×Ｎ、ＰＡＲＴ＿Ｎ×２Ｎ以外の区分モードを伴うインターコーディングされたブロックに対する重み付けファクタはシグナリングされなくてよい。さらに別の例では、加えて、または代替的に、スキップモードおよび／または統合モードに等しくないコーディングモードを伴う任意のインターコーディングされたブロックに対する重み付けファクタは、シグナリングされなくてよい。
【０２８２】
[0297]本開示のさらに他の態様によれば、重み付けファクタに対するより柔軟な手法が実施され得る。たとえば、利用可能な重み付けファクタの数は、（たとえば、シーケンスパラメータセット（ＳＰＳ）のようなパラメータセット中の）シーケンスレベルで変更され得る。例示を目的とするある例では、たとえば０．５および／または１の１つまたは複数の重み付けファクタをディセーブルにするためのインジケータ、が、ＳＰＳ中でシグナリングされ得る。別の例では、そのようなインジケータは、ＶＰＳ中でシグナリングされ、すべての非ベースビューに対して適用可能であってよい。さらに別の例では、そのようなインジケータは、各々の非ベースビューに対してビデオパラメータセット（ＶＰＳ）拡張においてシグナリングされ得る。別の例では、そのようなインジケータは、１つまたは複数の重み付けファクタをディセーブルにするために、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、またはビューパラメータセットにおいて提供され得る。重み付けファクタがディセーブルにされているとき、残りの重み付けファクタを表すためにより少数のビットが使用されてよく、これによってビットを節約する。
【０２８３】
[0298]他の態様によれば、１つまたは複数の重み付けファクタを修正および／または置換するための、インジケータが提供され得る。ある例では、ビデオコーダは、０．５という重み付けファクタを０．７５という重み付けファクタで置換することができる。このインジケータは、スライスヘッダ、ＳＰＳ、ピクチャパラメータセット（ＰＰＳ）、またはＶＰＳでシグナリングされ得る。
【０２８４】
[0299]本開示の態様によれば、１つの例示的な実装形態において、ビデオコーダは、３Ｄ−ＨＴＭバージョン５．０（上で述べられた）に記載されるような、修正されたビュー間残差予測処理を使用することができる。たとえば、本開示の態様によれば、１つまたは複数のシンタックス要素が、ビュー間残差予測が適用されることを示すために使用され得る。
【０２８５】
[0300]ある例では、重み付けファクタのインデックスを示す１つまたは複数のシンタックス要素（たとえば、ｗｅｉｇｈｔｉｎｇ＿ｆａｃｔｏｒ＿ｉｎｄｅｘシンタックス要素）がＣＵの一部としてシグナリングされ得る。この例では、ＣＵのシンタックスは（たとえば、３Ｄ−ＨＴＭバージョン５．０に対して）修正されてよく、重み付けファクタのシンタックス要素は、現在のビューが従属テクスチャビューであること、現在のＣＵがイントラコーディングされていないこと、および現在のＣＵがＰＡＲＴ＿２Ｎ×２Ｎに等しい区分モードを有することという条件を満たす場合にのみ、シグナリングされ得る。このシンタックス要素がビットストリーム中に存在しないとき、重み付けファクタは０に等しいと推測される。１つの例示的なＣＵシンタックス表が以下に示される。
【表１】
2018067940.tif 000007
【０２８６】
[0301]別の例示的なＣＵシンタックス表が以下に示される。
【表２】
2018067940.tif 000008
【０２８７】
[0302]上の例では、現在のＣＵが同じビューからの少なくとも１つの参照ピクチャから予測されるとき、ＴｅｍｐＭＶＡｖａｉは１に等しく設定され得る。それ以外の場合、それは０に等しく設定される。加えて、視差ベクトルが発見され得る場合、ＤｉｓｐＶｅｃｔＡｖａｉは１に等しく設定され得る。それ以外の場合、それは０に等しい。
【０２８８】
[0303]別の例では、重み付けファクタのシンタックス要素は、現在のビューが従属テクスチャビューであること、現在のＣＵがイントラコーディングされていないこと、現在のＣＵがＰＡＲＴ＿２Ｎ×２Ｎに等しい区分モードを有すること、導出された視差ベクトルが利用可能であること、および、少なくとも１つの区分が時間的動きベクトルを有すること、たとえば参照ピクチャが同じビューからのものであることという条件が満たされるときにのみ、シグナリングされ得る。このシンタックス要素がビットストリーム中に存在しないとき、重み付けファクタは０に等しいと推測される。
【０２８９】
[0304]さらに別の例では、重み付けファクタのシンタックス要素は、現在のビューが従属テクスチャビューであること、現在のＣＵがイントラコーディングされていないこと、現在のＣＵがＰＡＲＴ＿２Ｎ×２Ｎに等しい区分モードを有すること、導出された視差ベクトルが利用可能であること、および、現在のＣＵのすべてのＰＵの中の少なくとも１つの区分が時間的動きベクトルを有すること、たとえば参照ピクチャが同じビューからのものであることという条件が満たされるときにのみ、シグナリングされ得る。このシンタックス要素がビットストリーム中に存在しないとき、重み付けファクタは０に等しいと推測される。
【０２９０】
[0305]さらに別の例では、重み付けファクタのシンタックス要素は、現在のビューが従属テクスチャビューであること、および導出された視差ベクトルが利用可能であることという条件が満たされたときにのみ、シグナリングされ得る。
【０２９１】
[0306]本開示の態様によれば、重み付けファクタは種々の方法でシグナリングされ得る。たとえば、上で述べられたように、シンタックス要素ｗｅｉｇｈｔｉｎｇ＿ｆａｃｔｏｒ＿ｉｎｄｅｘは、高度な残差予測のために使用される重み付けファクタに対するインデックスを示し得る。存在しないとき、高度な残差予測は、現在のＣＵに対してディセーブルにされ得る。たとえば、重み付けファクタが０に等しい場合、現在のブロックの残差はＨＥＶＣ変換コーディングを使用して従来通りにコーディングされ、ＨＥＶＣ仕様（たとえば、上で識別されたようなＷＤ９など）の８．５．２．２項におけるような仕様が、予測サンプルを得るために呼び出される。重み付けファクタインデックスが存在する場合、現在の残差信号は、重み付けファクタによって乗算された、補間された可能性のある参照残差信号を使用して予測され、差のみが送信され、ＨＥＶＣ仕様（たとえば、ＷＤ９）の修正された８．５．２．２．１項および８．５．２．２．２項に関して以下で説明される処理が、時間的参照ピクチャが利用される各予測リストに対して呼び出され得る。
【０２９２】
[0307]いくつかの例では、重み付けファクタインデックスは、重み付けファクタにマッピングされ得る。このようにして、ビデオコーダは、ビュー間残差予測においてより柔軟な方法を重み付けファクタに対して実施することができる。たとえば、例示を目的に、シグナリングされるべきＮ個の異なる重み付けファクタがあると仮定し、Ｎは２、３、４などに等しいとする。これらの重み付けファクタの各々は最初に、以下の表１の例に示されるように、固有の重み付けインデックスにマッピングされてよく、ここで、Ｗ0、Ｗ1、Ｗ2、．．．、ＷN-1は、値の昇順に並んだ重み付けファクタである。
【表３】
2018067940.tif 000009
【０２９３】
[0308]別の例では、Ｗ0、Ｗ1、Ｗ2、．．．、ＷN-1は、コーディングの間に計算され得る、使用されている重み付けファクタの確率の降順で、重み付けファクタを表し得る。
【０２９４】
[0309]別の例示的なマッピングが以下の表２に示され、０、１、０．５に等しい重み付けファクタはそれぞれ、０、１、２によってインデックスが付けられる。すべての残りの重み付けファクタは、値の昇順または確率の降順に基づいてインデックスが付けられ得る。
【表４】
2018067940.tif 000010
【０２９５】
[0310]ビデオデコーダ３０は、符号化されたビットストリームからの重み付けファクタインデックスを解析してインデックスの値を決定することができる。一例では、各重み付けファクタは、重み付けファクタインデックスによって識別されてよく、重み付けファクタインデックスは、ＨＥＶＣ仕様（たとえば、ＷＤ９）のセクション９．３．２．２に記載されるように、ｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ二値化を使用してシグナリングされ得る。別の例では、重み付けファクタは、重み付けファクタの確率の降順に基づいて固有の重み付けインデックスにまずマッピングされ、次いで、ｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ二値化によってコーディングされ得る。
【０２９６】
[0311]さらに別の例では、二値化処理は、以下の表３に従って定義され得る。
【表５】
2018067940.tif 000011
【０２９７】
[0312]ここで、３からＮ−１の値に対応する重み付けファクタインデックスのビンストリングは、「１１」というプレフィックスと、ｗｅｉｇｈｔｉｎｇ＿ｆａｃｔｏｒ＿ｉｎｄｅｘの値から３を減算することによってインデックスが付けられるサフィックスと一致し、このときｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ二値化が使用される。
【０２９８】
[0313]全体で４つの重み付けファクタがあるとき、二値化処理は次の表によって定義され得る。
【表６】
2018067940.tif 000012
【０２９９】
[0314]全体で３つの重み付けファクタ、たとえば、０、０．５、および１があるとき、二値化処理は次の表によって定義され得る。
【表７】
2018067940.tif 000013
【０３００】
[0315]コンテキスト初期化に関して、コンテキストの１つのセットが、重み付けファクタインデックスをコーディングするために使用され得る。高度なビュー間残差予測モードは、ＰスライスとＢスライスの両方に適用され得る。Ｐスライスの重み付けインデックスのコンテキストのための初期確率は、Ｂスライスの初期確率とは異なり得る。あるいは、すべてのコンテキストモデルが、異なるビン値、たとえば０および１に対して、等しい確率で初期化される。
【０３０１】
[0316]コンテキスト選択に関して、例示を目的に、現在のピクチャの左上サンプルに対する現在のルーマコーディングブロックの左上ルーマサンプルをルーマ位置（ｘＣ，ｙＣ）が特定すると仮定する。現在のコーディングブロックのすぐ左に位置するコーディングブロックの利用可能性を規定する変数ａｖａｉｌａｂｌｅＬは、ＨＥＶＣ仕様の６．４．１項で規定されるようなｚスキャン順序でブロックに対する利用可能性導出処理を呼び出すことによって導出され、入力および出力がａｖａｉｌａｂｌｅＬに割り当てられるとき位置（ｘＣｕｒｒ，ｙＣｕｒｒ）は（ｘＣ，ｙＣ）に等しく設定され隣接位置（ｘＮ，ｙＮ）は（ｘＣ−１，ｙＣ）に等しく設定されると、さらに仮定する。
【０３０２】
[0317]上の例では、現在のコーディングブロックのすぐ上に位置するコーディングブロックの利用可能性を規定する変数ａｖａｉｌａｂｌｅＡは、ＨＥＶＣ仕様（たとえば、ＷＤ９）の６．４．１項で規定されるようなｚスキャン順序でブロックに対する利用可能性導出処理を呼び出すことによって導出されてよく、入力および出力がａｖａｉｌａｂｌｅＡに割り当てられるとき位置（ｘＣｕｒｒ，ｙＣｕｒｒ）は（ｘＣ，ｙＣ）に等しく設定され隣接位置（ｘＮ，ｙＮ）は（ｘＣ，ｙＣ−１）に等しく設定される。
【０３０３】
[0318]本開示の態様によれば、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ＮはＬまたはＡであり得る）は次のように導出され得る。
【０３０４】
−  ｍｂＰＡｄｄｒＮが利用可能でありブロックｍｂＰＡｄｄｒＮに対する重み付けファクタが０に等しくない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しく設定される。
【０３０５】
−  それ以外の場合（ｍｂＰＡｄｄｒＮが利用可能ではなく、または、ブロックｍｂＰＡｄｄｒＮに対する重み付けファクタが０に等しい場合）、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しく設定される。
【０３０６】
[0319]加えて、ｃｔｘＩｄｘが重み付けファクタインデックスをコーディングするために使用されるべきコンテキストインデックスであると仮定する。この例では、コーディングされるべき各ビンに対するｃｔｘＩｄｘのインクリメント（ｃｔｘＩｄｘＩｎｃ）は、ｃｔｘＩｄｘＩｎｃ＝Ｍ＊ｃｏｎｄＴｅｒｍＦｌａｇＬ＋Ｎ＊ｃｏｎｄＴｅｒｍＦｌａｇＡによって導出され、ここでＭまたはＮは１または２であり得る。あるいは、ｃｔｘＩｄｘＩｎｃは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡによって導出され得る。あるいは、ｃｔｘＩｄｘＩｎｃは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＬによって導出され得る。あるいは、ｃｔｘＩｄｘＩｎｃは０に固定され得る。
【０３０７】
[0320]上で述べられたように、いくつかの例では、重み付けファクタは修正され得る。たとえば、利用可能な重み付けファクタの数は、（たとえば、シーケンスパラメータセット（ＳＰＳ）のようなパラメータセット中の）シーケンスレベルで変更され得る。例示を目的とするある例では、たとえば０．５および／または１の１つまたは複数の重み付けファクタをディセーブルにするためのインジケータが、ＳＰＳ中でシグナリングされ得る。別の例では、そのようなインジケータは、ＶＰＳ中でシグナリングされ、すべての非ベースビューに対して適用可能であってよい。さらに別の例では、そのようなインジケータは、各々の非ベースビューに対してビデオパラメータセット（ＶＰＳ）拡張においてシグナリングされ得る。別の例では、そのようなインジケータは、１つまたは複数の重み付けファクタをディセーブルにするために、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、またはビューパラメータセットにおいて提供され得る。
【０３０８】
[0321]他の態様によれば、１つまたは複数の重み付けファクタを修正および／または置換するための、インジケータが提供され得る。ある例では、ビデオコーダは、０．５という重み付けファクタを０．７５という重み付けファクタで置換することができる。このインジケータは、スライスヘッダ、ＳＰＳ、ピクチャパラメータセット（ＰＰＳ）、またはＶＰＳでシグナリングされ得る。
【０３０９】
[0322]一例では、ビデオパラメータセットが次のように（たとえば、３Ｄ−ＨＴＭバージョン５．０に対して）修正され得る。
【表８】
2018067940.tif 000014
【０３１０】
[0323]上の例では、１に等しいａｄｖａｎｃｅｄ＿ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇ［ｉ］は、ｉに等しいｌａｙｅｒ＿ｉｄを伴う現在のテクスチャビューに対して高度な残差予測（ＡＲＰ）が使用され得ることを規定し得る。０に等しいａｄｖａｎｃｅｄ＿ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇ［ｉ］は、ｉに等しいｌａｙｅｒ＿ｉｄを伴う現在のテクスチャビューに対してＡＲＰが使用されないことを規定する。存在しないとき、ａｄｖａｎｃｅｄ＿ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇ［ｉ］は０に等しいと推測され得る。
【０３１１】
[0324]別の例では、フラグ、すなわちａｄｖａｎｃｅｄ＿ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇは、ＶＰＳの拡張において一度シグナリングされてよく、すべての非ベーステクスチャビューに対して適用可能であり得る。この例では、１に等しいｗｅｉｇｈｔ＿ｆａｃｔｏｒ＿ｃｈａｎｇｅ＿ｆｌａｇ［ｉ］は、２に等しい重み付けファクタインデックスに対応する重み付けファクタが現在のレイヤに対して変更されることを規定し得る。加えて、０に等しいｗｅｉｇｈｔ＿ｆａｃｔｏｒ＿ｃｈａｎｇｅ＿ｆｌａｇ［ｉ］は、２に等しい重み付けファクタインデックスに対応する重み付けファクタが現在のレイヤに対して変更されないことを規定し得る。加えて、ｄｉｆｆ＿ｗｅｉｇｈｔ［ｉ］は、２に等しい重み付けファクタインデックスに対する新たな重み付けファクタと元の重み付けファクタとの差（場合によってはスケーリングを伴う）を規定し得る。ｄｉｆｆ＿ｗｅｉｇｈｔ［ｉ］の範囲は、両端を含めて−２〜４であり得る。
【０３１２】
[0325]上の例では、ビデオコーダは、次のように新たな重み付けファクタを導出することができる。
【数５】
2018067940.tif 000015
【０３１３】
上の例では、重み付けファクタＷ2がＷ0またはＷ1に等しいとき、適用可能なビューの中の任意のＣＵの重み付けファクタインデックスは、常に２より小さい。
【０３１４】
[0326]さらに別の例では、上で説明されたシンタックス要素は、シーケンスパラメータセットを参照する非ベーステクスチャビューに対して同じ機能を達成するために、ａｄｖａｎｃｅｄ＿ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇ、ｗｅｉｇｈｔ＿ｆａｃｔｏｒ＿ｃｈａｎｇｅ＿ｆｌａｇ、およびｄｉｆｆ＿ｗｅｉｇｈｔとして、シーケンスパラメータセットまたはシーケンスパラメータセットの拡張においてシグナリングされ得る。
【０３１５】
[0327]図１１は、ビデオデータ中のサンプル位置を示す。一般に、サンプル位置は、ビデオコーディングにおいては動きベクトルまたは視差ベクトルによって識別され得る。ビデオコーダ（ビデオエンコーダ２０および／またはビデオデコーダ３０のような）は、予測コーディングを目的に、識別された位置と関連付けられるサンプルを使用することができる。図１１の例では、整数サンプルは大文字で示されるが、小数サンプル位置は小文字で示される。図１１の例は全般に１／４サンプルルーマ補間を示すが、同様の補間はクロマ成分に適用され得る。
【０３１６】
[0328]ビデオコーダ（ビデオエンコーダ２０またはビデオデコーダ３０のような）がＰＵに対してＡＲＰを実行するとき、ビデオコーダは、３つのブロック（すなわち、図９のＢr、Ｂc、およびＤr）にアクセスする必要があり得る。上で述べられたように、動きベクトルが小数ペル位置を示す場合、ビデオコーダは、２つの小数ペル補間処理、たとえば、時間的参照ブロックを位置決定するための一方の補間処理と、視差時間的参照ブロックを位置決定するための他方の補間処理とを実行する。加えて、ビデオコーダは、視差参照ブロックを決定するときに、さらに別の小数ペル補間処理を適用することができる。ＨＥＶＣは、動き補償されたブロックを決定するとき、小数サンプル補間処理のために、８／４タップのルーマ／クロマ補間フィルタを使用することができる。
【０３１７】
[0329]本開示の態様によれば、ＡＲＰの動き補償処理は、特に参照ブロックのサブペル補間に関して、簡略化され得る。いくつかの例では、本開示の態様によれば、ビデオコーダは、ＡＲＰ中の参照ブロックの位置を決定するための、１つまたは複数のタイプの補間を使用することができる。たとえば、ビデオコーダは、双線形フィルタのようなローパスフィルタを使用して、参照ブロックの位置を補間することができる。一般に、双線形フィルタ（すなわち、双線形補間）は、通常の２次元グリッド上で２つの変数（たとえば、ｘおよびｙ）の関数を補間するための線形補間の拡張である。したがって、双線形フィルタは２タップのフィルタであり得る。
【０３１８】
[0330]いくつかの例では、ビデオコーダは、視差参照ブロックと時間的視差参照ブロックとを生成するとき、双線形フィルタを使用することができる。したがって、小数サンプル補間処理のためにＨＥＶＣにおいて使用される８／４タップのルーマ／クロマ補間フィルタは、残差予測子を生成するとき、すなわち、図９に示されるＢrとＢcとを生成するとき、双線形フィルタによって置き換えられ得る。
【０３１９】
[0331]加えて、いくつかの例では、ビデオコーダは、現在のＰＵの動き補償されたブロックを生成するとき、双線形フィルタを使用することができる。すなわち、小数サンプル補間処理のためにＨＥＶＣにおいて使用される８／４タップのルーマ／クロマ補間フィルタは、現在のＰＵの動き補償されたブロックを生成するとき、すなわち、図９に示されるＤrを生成するとき、双線形フィルタによって置き換えられ得る。したがって、現在のＰＵの予測ブロックを決定するとき、ビデオコーダは、時間的参照ピクチャのルーマ成分および／またはクロマ成分に双線形フィルタを適用することができる。
【０３２０】
[0332]１つの代替的な例では、ビデオコーダは、上で説明された双線形フィルタを、ルーマ成分のみに、またはクロマ成分のみに適用することができる。別の例では、ビデオコーダは、ルーマ成分とクロマ成分の両方に双線形フィルタを適用することができる。
【０３２１】
[0333]図１１に示される例では、ルーマサンプル補間処理への入力は、フルサンプルユニット（ｘＩｎｔL，ｙＩｎｔL）におけるルーマ位置と、小数サンプルユニット（ｘＦｒａｃL，ｙＦｒａｃL）におけるルーマ位置と、ルーマ参照サンプルアレイｒｅｆＰｉｃＬＸLとを含み得る。加えて、補間処理の出力は、予測されたルーマサンプル値ｐｒｅｄＳａｍｐｌｅＬＸL［ｘL，ｙL］である。
【０３２２】
[0334]影付きブロック内の大文字Ａi,jで標識された位置は、ルーマサンプルの所与の２次元アレイｒｅｆＰｉｃＬＸL内のフルサンプル位置におけるルーマサンプルを表す。これらのサンプルは、予測されたルーマサンプル値ｐｒｅｄＳａｍｐｌｅＬＸL［ｘL，ｙL］を生成するために使用され得る。ルーマサンプルの所与のアレイｒｅｆＰｉｃＬＸL内の対応するルーマサンプルＡi,jの各々の位置（ｘＡi,j，ｙＡi,j）は、次のように導出され得る。
【数６】
2018067940.tif 000016
【０３２３】
[0335]影なしブロック内の小文字で標識された位置は、１／４ピクセル（１／４ペル）サンプル小数位置におけるルーマサンプルを表す。小数サンプルユニット（ｘＦｒａｃL，ｙＦｒａｃL）中のルーマ位置のオフセットは、フルサンプル位置および小数サンプル位置における生成されたルーマサンプルのうちのいずれが、予測されたルーマサンプル値ｐｒｅｄＳａｍｐｌｅＬＸL［ｘL，ｙL］に割り当てられるかを規定する。この割当ては、以下に示される表６−１で規定される割当てに従って実行され得る。ｐｒｅｄＳａｍｐｌｅＬＸL［ｘL，ｙL］の値は出力である。
【０３２４】
[0336]変数ｓｈｉｆｔ１、ｓｈｉｆｔ２、およびｓｈｉｆｔ３は、ＨＥＶＣ  ８．５．２．２．２．２項と同じ方法で導出され得る。フルサンプル位置（ｘＡi,j，ｙＡi,j）におけるルーマサンプルＡi,jを仮定すると、小数サンプル位置におけるルーマサンプル「ａ0,0」〜「ｒ0,0」は、以下の式によって導出され得る。
【０３２５】
−  ａ0,0、ｂ0,0、ｃ0,0、ｄ0,0、ｈ0,0、およびｎ0,0と標識されたサンプルは、２タップのフィルタを最も近い整数位置のサンプルに適用することによって導出され得る。
【数７】
2018067940.tif 000017
【０３２６】
−  ｅ0,0、ｉ0,0、ｐ0,0、ｆ0,0、ｊ0,0、ｑ0,0、ｇ0,0、ｋ0,0、およびｒ0,0と標識されるサンプルは、８タップのフィルタをサンプルａ0,i、ｂ0,i、およびｃ0,iに適用することによって導出されることが可能であり、ここで垂直方向にｉ＝−３〜４である。
【数８】
2018067940.tif 000018
【表９】
2018067940.tif 000019
【０３２７】
[0337]上で述べられたように、ルーマ成分に関して説明されるが、ビデオコーダは、同様の方式でクロマブロック中のサンプルを位置決定することができる。
【０３２８】
[0338]いくつかの例では、視差参照ブロックおよび時間的視差参照ブロックの位置は、ＨＥＶＣ仕様の８．５．２．２．１項および８．５．２．２．２項で規定されるような動き補償が適用された後で決定され得る。たとえば、現在のブロックに対して、予測されるルーマサンプルアレイはｐｒｅｄＳａｍｐｌｅＬＸLとして識別されてよく、クロマサンプルアレイはｐｒｅｄＳａｍｐｌｅＬＸcbおよびｐｒｅｄＳａｍｐｌｅＬＸcrとして識別されてよい。この例では、重み付けファクタが０に等しくない場合、ビデオコーダは、処理の終わりにおいて次の動作を実行することができる。
【０３２９】
−  各参照ピクチャリストＸに対して（Ｘは０または１である）、参照ピクチャがビュー間参照ピクチャではない場合、予測されるサンプル値をさらに修正するために次のことが適用される。
【０３３０】
１．視差ベクトル導出処理を呼び出して、ターゲット参照ビューを指す視差ベクトルを取得する。
【０３３１】
２．同じアクセスユニット内のピクチャターゲット参照ビュー中の視差ベクトルによって参照ブロックを位置決定する。視差ベクトルが小数位置を指す（すなわち、参照ブロックの左上の位置（図９のＢc）が小数の位置である）場合、双線形フィルタが、参照ブロックを補間するために適用される。
【０３３２】
３．現在のブロックの動き情報を再使用して、参照ブロックに対する動き情報を導出する。参照ブロックの導出された動きベクトルと、参照ブロックに対する参照ビュー中の導出された参照ピクチャとに基づいて、参照ブロックに対して動き補償を適用して残差ブロックを導出する。現在のブロックと、参照ブロックと、動き補償されたブロックとの関係が図９に示される。
【０３３３】
現在のブロックの参照インデックスをｒｅｆ＿ｉｄｘ＿ｌｘと示す。
【０３３４】
ｒｅｆＰｉｃＬｉｓｔＸ［ｒｅｆ＿ｉｄｘ＿ｌｘ］と同じＰＯＣを有しターゲット参照ビューの中にある参照ピクチャを、復号ピクチャバッファ中で選択する。
【０３３５】
現在のブロックの動きベクトルと同一となるように参照ブロックの動きベクトルを導出する。
【０３３６】
動きベクトルが小数位置を指す場合、すなわち、参照ブロックの左上の位置と動きベクトルを足したものが小数位置（図９におけるＢrの左上の位置）である場合、双線形補間が適用される。
【０３３７】
４．重み付けファクタを残差ブロックに適用して、ｐｒｅｄＡＲＰＳａｍｐｌｅＬＸL、ｐｒｅｄＡＲＰＳａｍｐｌｅＬＸcb、およびｐｒｅｄＡＲＰＳａｍｐｌｅＬＸcrと示される、重み付けられた残差ブロックを得る。
【０３３８】
５．重み付けられた残差ブロックの値を予測されたサンプルに加算する。
【０３３９】
ｐｒｅｄＳａｍｐｌｅＬＸL
＝ｐｒｅｄＳａｍｐｌｅＬＸL＋ｐｒｅｄＡＲＰＳａｍｐｌｅＬＸL
ｐｒｅｄＳａｍｐｌｅＬＸcb
＝ｐｒｅｄＳａｍｐｌｅＬＸcb＋ｐｒｅｄＡＲＰＳａｍｐｌｅＬＸcb
ｐｒｅｄＳａｍｐｌｅＬＸcr
＝ｐｒｅｄＳａｍｐｌｅＬＸcr＋ｐｒｅｄＡＲＰＳａｍｐｌｅＬＸcr
上の演算は行列／ベクトルの加算演算であることに留意されたい。
【０３４０】
[0339]高度なビュー間残差予測が適用されるかされないかに関係なく、ＨＥＶＣ仕様（たとえば、ＷＤ９）の８．５．２．２．３項に規定されるような重み付けられたサンプル予測処理が、双方向予測されたＰＵに適用される。
【０３４１】
[0340]上で述べられたように、本開示のいくつかの態様によれば、視差参照ブロックの参照ピクチャリストが、時間的参照ピクチャと同じＰＯＣを有する視差参照ピクチャと同じビュー中のピクチャを含まないとき、ビデオコーダはＡＲＰ処理を修正することができる。
【０３４２】
[0341]いくつかの例では、ビデオコーダは、現在のブロックがＡＲＰを使用してコーディングされないように、ＡＲＰ処理をディセーブルにすることによってＡＲＰ処理を修正することができる。他の例では、ビデオコーダは、時間的動きベクトルをスケーリングして別の時間的視差参照ピクチャを識別することによって、ＡＲＰ処理を修正することができる。たとえば、ビデオコーダは、スケーリングされた動きベクトルが、視差参照ピクチャに適用されると、参照ピクチャリストに含まれ視差参照ピクチャに時間的に最も近い位置にある時間的視差参照ピクチャを識別するように、時間的動きベクトルをスケーリングすることができる。
【０３４３】
[0342]図１２は、予測ユニットと関連付けられ得る区分モード（ＰＵサイズを定義し得る）を全般的に示す。たとえば、特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＣＵは、区分モード２Ｎ×２Ｎ（１６０）と、Ｎ×Ｎ（１６２）と、ｈＮ×２Ｎ（１６４）と、２Ｎ×ｈＮ（１６６）と、Ｎ×２Ｎ（１６８）と、２Ｎ×Ｎ（１７０）と、ｎＬ×２Ｎ（１７２）と、ｎＲ×２Ｎ（１７４）と、２Ｎ×ｎＵ（１７６）と、２Ｎ×ｎＤ（１７８）とを使用して予測され得る。図１２の例に示される区分モードは単に説明のために提示されており、ビデオデータが予測される方式を示すために他の区分モードが使用されてよい。
【０３４４】
[0343]いくつかの場合には、ビデオコーダ（たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０など）は、区分モード１６０と１６２とを使用して、イントラ予測またはインター予測を実行することができる。たとえば、ビデオコーダは、２Ｎ×２Ｎ  ＰＵ（区分モード１６０）を使用してＣＵ全体を予測することができる。別の例では、ビデオコーダは、４つのＮ×ＮサイズのＰＵ（区分モード１６２）を使用してＣＵを予測することができ、４つのセクションの各々は、異なる予測技法を適用される可能性がある。
【０３４５】
[0344]加えて、イントラコーディングに関して、ビデオコーダは、短距離イントラ予測（ＳＤＩＰ）と呼ばれる技法を実行することができる。ＳＤＩＰが利用可能である場合、ＣＵは、平行なＰＵを使用して予測され得る（区分モード１６４および１６６）。すなわち、ＳＤＩＰは一般に、ＣＵが平行なＰＵに分割されることを可能にする。コーディングユニット（ＣＵ）を非正方形の予測ユニット（ＰＵ）に分割することによって、予測されるピクセルと参照ピクセルとの間の距離は短くされ得る。
【０３４６】
[0345]インターコーディングに関して、対称区分モード１６０および１６２に加えて、ビデオコーダは、ＰＵの並行配列（区分モード１６８および１７０）、または種々のＡＭＰ（非対称動き区分）モードを実施することができる。ＡＭＰモードに関して、ビデオコーダは、区分モードｎＬ×２Ｎ（１７２）と、ｎＲ×２Ｎ（１７４）と、２Ｎ×ｎＵ（１７６）と、２Ｎ×ｎＤ（１７８）とを使用して、ＣＵを非対称的に区分することができる。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示とによって示される。
【０３４７】
[0346]本開示の他の態様によれば、ＡＲＰは、現在コーディングされているブロックの区分モードおよび／またはコーディングモードに基づいて、イネーブルまたはディセーブルにされ得る。たとえば、重み付けファクタは、ある区分モードおよび／またはあるコーディングモードのみに対してシグナリングされるだけであり得る。重み付けファクタがビットストリームに含まれない場合、ビデオデコーダは、重み付けファクタの復号をスキップし、重み付けファクタの値が０である（したがってＡＲＰをディセーブルにする）と推測することができる。
【０３４８】
[0347]ある例では、例示的なコーディングユニットのシンタックス表に関して上で述べられたように、本開示のいくつかの態様によれば、ＰＡＲＴ＿２Ｎ×２Ｎ（区分モード１６０）に等しくない区分モードを伴う任意のインターコーディングされるブロックに対する重み付けファクタはシグナリングされなくてよい。別の例では、ＰＡＲＴ＿２Ｎ×２Ｎ（区分モード１６０）、ＰＡＲＴ＿２Ｎ×Ｎ（区分モード１７０）、およびＰＡＲＴ＿Ｎ×２Ｎ（区分モード１６８）以外の区分モードを伴うインターコーディングされたブロックに対する重み付けファクタはシグナリングされなくてよい。さらに別の例では、加えて、または代替的に、スキップモードおよび／または統合モードに等しくないコーディングモードを伴う任意のインターコーディングされたブロックに対する重み付けファクタは、シグナリングされなくてよい。
【０３４９】
[0348]図１３は、本開示の技法による、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分、たとえば、現在のＰＵを備え得る。ビデオエンコーダ２０（図１および図２）に関して説明されるが、他のデバイスが図１３の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０３５０】
[0349]この例では、ビデオエンコーダ２０は、最初に、動きベクトルを使用して現在のブロックを予測する（１９０）。たとえば、ビデオエンコーダ２０は、現在のブロックの１つまたは複数の予測ユニット（ＰＵ）を計算し得る。この例では、ビデオエンコーダ２０が現在のブロックをインター予測すると仮定される。たとえば、動き推定ユニット４２は、前にコーディングされたピクチャ、たとえば、ビュー間ピクチャおよび時間的ピクチャの動き探索を実行することによって、現在のブロックの動きベクトルを計算し得る。したがって、動き推定ユニット４２は、現在のブロックを符号化するために、時間的動きベクトルまたは視差動きベクトルを生成し得る。
【０３５１】
[0350]ビデオエンコーダ２０は次いで、現在のブロックをコーディングするための参照ピクチャリスト（たとえば、現在のブロックが双予測されるとき、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）が現在のブロックの時間的位置以外の時間的位置にある１つまたは複数の参照ピクチャを含むかどうかを決定することができる（１９１）。いくつかの例では、本開示の他の箇所で説明されるように、ビデオエンコーダ２０は、現在のブロックがランダムアクセスピクチャに含まれるかどうかを決定することによって、そのような決定を行うことができる。
【０３５２】
[0351]参照ピクチャリストが現在のブロックの時間的位置とは異なる時間的位置に参照ピクチャを含む場合（ステップ１９１のはいの分岐）、ビデオエンコーダ２０は、上で説明されたＡＲＰ処理のようなビュー間残差予測処理をイネーブルにし得る。この例では、ビデオエンコーダ２０は、インター残差予測を実行して、現在のブロックの残差データを予測することができる（１９２）。たとえば、上で述べられたように、ビデオエンコーダ２０は、第１のブロックの視差ベクトルによって示される視差参照ブロックを決定し、時間的動きベクトルと視差動きベクトルを組み合わせることによって時間的視差参照ブロックを決定し、時間的視差参照ブロックと視差参照ブロックとの差に基づいて残差予測子を決定することができる。ビデオエンコーダ２０は、重み付けファクタを残差予測子に適用することができる。ビデオエンコーダ２０は次いで、現在のブロックに対する残差ブロックを計算することができる（１９４）。
【０３５３】
[0352]参照ピクチャリストが現在のブロックの時間的位置とは異なる時間的位置に参照ピクチャを含まない場合（ステップ１９１のいいえの分岐）、ビデオエンコーダ２０は、上で説明されたＡＲＰ処理のようなビュー間残差予測処理をディセーブルにすることができ、現在のブロックに対する残差ブロックの計算をスキップすることができる（１９４）。この例では、ビデオエンコーダ２０は、ビュー間残差予測処理のための重み付けファクタをシグナリングしなくてよい。すなわち、例示を目的とする例では、ビデオエンコーダ２０は、ビットストリーム中でｗｅｉｇｈｔｉｎｇ＿ｆａｃｔｏｒ＿ｉｎｄｅｘシンタックス要素をシグナリングしなくてよい。
【０３５４】
[0353]いずれの場合でも、ビデオエンコーダ２０は、たとえば、変換ユニット（ＴＵ）を生成するために、現在のブロックに対する残差ブロックを計算する（１９４）。ビュー間残差予測が使用されないときに残差ブロックを計算するために、ビデオエンコーダ２０は、元のコーディングされていないブロックと現在のブロックの予測ブロックとの差分を計算して、残差を生成することができる。ビュー間残差予測が使用されるときに残差ブロックを計算するために、ビデオエンコーダ２０は、元のコーディングされていないブロックと現在のブロックの予測ブロックとの差分を計算して、第１の残差を生成することができる。ビデオエンコーダ２０は次いで、第１の残差と残差予測子との差に基づいて、最終的な残差を計算することができる。
【０３５５】
[0354]ビデオエンコーダ２０は次いで、残差ブロックの係数を変換し、量子化することができる（１９６）。次に、ビデオエンコーダ２０は、残差ブロックの量子化された変換係数をスキャンすることができる（１９８）。スキャンの間、またはスキャンの後、ビデオエンコーダ２０は、たとえば、ビュー間残差予測がイネーブルにされ適用される例におけるビュー間残差予測の重み付け値を含む、変換係数をエントロピー符号化することができる（２００）。ビデオエンコーダ２０は次いで、ビュー間残差予測がイネーブルにされ適用される例において、ブロックの係数および重み付け値に対するエントロピーコーディングされたデータを出力することができる（２０２）。
【０３５６】
[0355]図１４は、本開示の技法による、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分（たとえば、ＰＵ）を備え得る。ビデオデコーダ３０（図１および図３）に関して説明されるが、他のデバイスが図１４の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０３５７】
[0356]最初に、ビデオデコーダ３０は、現在のブロックに対する変換係数および動きベクトルについてのデータを受信する（２１０）。やはり、この例は、現在のブロックがインター予測されると仮定する。エントロピー復号ユニット８０は、ブロックの係数および動きベクトルについてのデータをエントロピー復号する（２１２）。
【０３５８】
[0357]ビデオデコーダ３０は次いで、現在のブロックをコーディングするための参照ピクチャリスト（たとえば、現在のブロックが双予測されるとき、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）が現在のブロックの時間的位置以外の時間的位置にある１つまたは複数の参照ピクチャを含むかどうかを決定することができる（２１４）。いくつかの例では、本開示の他の箇所で説明されるように、ビデオデコーダ３０は、現在のブロックがランダムアクセスピクチャに含まれるかどうかを決定することによって、そのような決定を行うことができる。
【０３５９】
[0358]参照ピクチャリストが現在のブロックの時間的位置とは異なる時間的位置に参照ピクチャを含む場合（ステップ２１４のはいの分岐）、ビデオデコーダ３０は、上で説明されたＡＲＰ処理のようなビュー間残差予測処理をイネーブルにし得る。この例では、ビデオデコーダ３０は、インター残差予測を実行して、現在のブロックの残差データを予測することができる（２１６）。たとえば、上で述べられたように、ビデオデコーダ３０は、第１のブロックの視差ベクトルによって示される視差参照ブロックを決定し、時間的動きベクトルと視差動きベクトルを組み合わせることによって時間的視差参照ブロックを決定し、時間的視差参照ブロックと視差参照ブロックとの差に基づいて残差予測子を決定することができる。ビデオデコーダ３０はまた、ビットストリームにおいてシグナリングされるような重み付けファクタを残差予測子に適用することができる。
【０３６０】
[0359]参照ピクチャリストが現在のブロックの時間的位置とは異なる時間的位置に参照ピクチャを含まない場合（ステップ２１４のいいえの分岐）、または、ビュー間残差予測によって残差データを予測した後（２１６））、ビデオデコーダ３０は、上で説明されたＡＲＰ処理のようなビュー間残差予測処理をディセーブルにすることができ、動きベクトルを使用した現在のブロックの予測へと飛ぶことができる（２１８）。
【０３６１】
[0360]いずれの場合にも、ビデオデコーダ３０は次いで、復号された動きベクトルを使用して、現在のブロックを予測することができる（２１８）。ビデオデコーダ３０は、次いで、量子化された変換係数のブロックを作成するために、再生成された係数を逆スキャンすることができる（２２０）。ビデオデコーダ３０は、次いで、残差ブロックを生成するために係数を逆量子化し、逆変換することができる（２２２）。ビデオデコーダ３０は、最終的に、予測ブロックと残差ブロックを組み合わせることによって現在のブロックを復号することができる（２２４）。たとえば、ビュー間残差予測が適用されない例では、ビデオデコーダ３０は単に、予測ブロックと復号された残差を組み合わせることができる。ビュー間残差予測が適用される例では、ビデオデコーダ３０は、予測ブロックと、復号された残差（最終的な残差を表す）と、残差予測子とを組み合わせることができる。
【０３６２】
[0361]図１５は、本開示の技法による、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分、たとえば、現在のＰＵを備え得る。ビデオエンコーダ２０（図１および図２）に関して説明されるが、他のデバイスが図１５の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０３６３】
[0362]この例では、ビデオエンコーダ２０は、現在のブロックに対する時間的動きベクトルによって示される時間的参照ブロックの位置を決定する（２４０）。たとえば、ビデオエンコーダ２０は、現在のブロックの１つまたは複数の予測ユニット（ＰＵ）を計算し得る。この例では、ビデオエンコーダ２０が現在のブロックをインター予測すると仮定される。たとえば、動き推定ユニット４２は、前にコーディングされたピクチャ、たとえば、ビュー間ピクチャおよび時間的ピクチャの動き探索を実行することによって、現在のブロックの動きベクトルを計算し得る。したがって、動き推定ユニット４２は、現在のブロックを符号化するために、時間的動きベクトルまたは視差動きベクトルを生成し得る。
【０３６４】
[0363]ビデオエンコーダ２０はまた、視差参照ブロックの位置を補間することができる（２４２）。たとえば、ビデオエンコーダ２０は、視差ベクトルを決定して、現在のブロックと同じＰＯＣ値を有するが第２の異なるビューの中に位置する、視差参照ブロックを位置決定することができる。いくつかの例では、本開示の態様によれば、整数位置にない視差参照ブロックの位置を視差ベクトルが識別する場合、ビデオエンコーダ２０は、双線形フィルタを適用して、視差参照ブロックの位置を補間することができる。
【０３６５】
[0364]加えて、ビデオエンコーダ２０は、時間的視差参照ブロックの位置を決定することができる（２４４）。たとえば、ビデオエンコーダ２０は、時間的動きベクトルと視差動きベクトルを組み合わせて、時間的視差参照ブロックの位置を決定することができる。やはり、いくつかの例では、本開示の態様によれば、整数位置にない時間的視差参照ブロックの位置を組合せが識別する場合、ビデオエンコーダ２０は、双線形フィルタを適用して、時間的視差参照ブロックの位置を補間することができる。
【０３６６】
[0365]ビデオエンコーダ２０は次いで、現在のブロックに対する残差予測子を決定することができる（２４６）。ビデオエンコーダ２０は、視差参照ブロックと時間的視差参照ブロックとの差に基づいて、残差予測子を決定することができる。ビデオエンコーダ２０は、重み付けファクタを得られた残差予測子に適用することができる。
【０３６７】
[0366]ビデオエンコーダ２０は次いで、ブロックに対する最終的な残差を決定することができる（２４８）。たとえば、ビデオエンコーダ２０は、現在のブロックのサンプルと時間的参照ブロックとの差に基づいて、第１の残差を決定することができる。ビデオエンコーダ２０は次いで、第１の残差と残差予測子との差に基づいて、最終的な残差を決定することができる。
【０３６８】
[0367]ビデオエンコーダ２０は次いで、残差ブロックの係数を変換し、量子化することができる（２５０）。次に、ビデオエンコーダ２０は、残差ブロックの量子化された変換係数をスキャンすることができる（２５２）。スキャンの間、またはスキャンの後、ビデオエンコーダ２０は、たとえば、ビュー間残差予測の重み付け値を含む、変換係数をエントロピー符号化することができる（２５４）。ビデオエンコーダ２０は次いで、ブロックの係数および重み付け値についてのエントロピーコーディングされたデータを出力することができる（２５６）。
【０３６９】
[0368]図１６は、本開示の技法による、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分（たとえば、ＰＵ）を備え得る。ビデオデコーダ３０（図１および図３）に関して説明されるが、他のデバイスが図１４の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０３７０】
[0369]最初に、ビデオデコーダ３０は、現在のブロックに対する変換係数および動きベクトルについてのデータを受信する（２６０）。やはり、この例は、現在のブロックがインター予測されると仮定する。エントロピー復号ユニット８０は、ブロックの係数および動きベクトルについてのデータをエントロピー復号する（２６２）。
【０３７１】
[0370]ビデオデコーダ３０は次いで、復号された動きベクトルを使用して現在のブロックを予測することができる（２６４）。ビデオデコーダ３０はまた、量子化された変換係数のブロックを作成するために再生成された係数を逆スキャンすることができる（２６６）。ビデオデコーダ３０はまた、残差ブロックを生成するために係数を逆量子化し、逆変換することができる（２６８）。
【０３７２】
[0371]ビデオデコーダ３０はまた、視差参照ブロックの位置を補間することができる（２７０）。たとえば、ビデオデコーダ３０は、視差ベクトルを決定して、現在のブロックと同じＰＯＣ値を有するが第２の異なるビューの中に位置する、視差参照ブロックを位置決定することができる。いくつかの例では、本開示の態様によれば、整数位置にない視差参照ブロックの位置を視差ベクトルが識別する場合、ビデオデコーダ３０は、双線形フィルタを適用して、視差参照ブロックの位置を補間することができる。
【０３７３】
[0372]加えて、ビデオデコーダ３０は、時間的視差参照ブロックの位置を決定することができる（２７２）。たとえば、ビデオデコーダ３０は、時間的動きベクトルと視差動きベクトルを組み合わせて、時間的視差参照ブロックの位置を決定することができる。やはり、いくつかの例では、本開示の態様によれば、整数位置にない時間的視差参照ブロックの位置を組合せが識別する場合、ビデオデコーダ３０は、双線形フィルタを適用して、時間的視差参照ブロックの位置を補間することができる。
【０３７４】
[0373]ビデオデコーダ３０は次いで、現在のブロックに対する残差予測子を決定することができる（２７４）。ビデオデコーダ３０は、視差参照ブロックと時間的視差参照ブロックとの差に基づいて、残差予測子を決定することができる。ビデオデコーダ３０は、重み付けファクタを得られた残差予測子に適用することができる。
【０３７５】
[0374]ビデオデコーダ３０は、最終的に、予測ブロックと残差を組み合わせることによって現在のブロックを復号することができる（２７６）。たとえば、ビデオデコーダ３０は、予測ブロックと、復号された残差（最終的な残差を表す）と、残差予測子とを組み合わせることができる。
【０３７６】
[0375]図１７は、本開示の技法による、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分、たとえば、現在のＰＵを備え得る。ビデオエンコーダ２０（図１および図２）に関して説明されるが、他のデバイスが図１７の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０３７７】
[0376]この例では、ビデオエンコーダ２０は、最初に、現在のブロックを予測するための区分モードを決定する（２８０）。たとえば、ビデオエンコーダ２０は、現在のブロックに対して、１つのＰＵを計算するか（たとえば、２Ｎ×２Ｎの区分モード）、２つ以上のＰＵを計算するかを決定することができる。この例では、ビデオエンコーダ２０が現在のブロックをインター予測すると仮定される。たとえば、動き推定ユニット４２は、前にコーディングされたピクチャ、たとえば、ビュー間ピクチャおよび時間的ピクチャの動き探索を実行することによって、現在のブロックの動きベクトルを計算し得る。したがって、動き推定ユニット４２は、現在のブロックを符号化するために、時間的動きベクトルまたは視差動きベクトルを生成し得る。
【０３７８】
[0377]ビデオエンコーダ２０は次いで、決定された区分モードに基づいて、重み付けファクタを示すデータを符号化する（かつビュー間残差予測を実行する）かどうかを決定することができる（２８２）。いくつかの例では、ビデオエンコーダ２０は、区分モードが２Ｎ×２Ｎの区分モード以外のモードである場合、ビュー間残差予測をディセーブルにして、重み付けファクタの符号化をスキップすることができる。
【０３７９】
[0378]ビデオエンコーダ２０が重み付けファクタを符号化する場合、ビデオエンコーダ２０は、ビュー間残差予測を実行して、現在のブロックの残差データを予測することができる（２８４）。たとえば、上で述べられたように、ビデオエンコーダ２０は、第１のブロックの視差ベクトルによって示される視差参照ブロックを決定し、時間的動きベクトルと視差動きベクトルを組み合わせることによって時間的視差参照ブロックを決定し、時間的視差参照ブロックと視差参照ブロックとの差に基づいて残差予測子を決定することができる。ビデオエンコーダ２０は、重み付けファクタを残差予測子に適用することができる。ビデオエンコーダ２０は次いで、現在のブロックに対する残差ブロックを計算することができる（２８６）。
【０３８０】
[0379]ビデオエンコーダ２０が重み付けファクタを符号化しない場合（ステップ２８２のいいえの分岐）、ビデオエンコーダ２０は、ビュー間残差予測をディセーブルにすることができ、現在のブロックの残差ブロックの計算に飛ぶことができる（２８６）。この例では、ビデオエンコーダ２０は、ビュー間残差予測処理のための重み付けファクタをシグナリングしなくてよい。すなわち、例示を目的とする例では、ビデオエンコーダ２０は、ビットストリーム中でｗｅｉｇｈｔｉｎｇ＿ｆａｃｔｏｒ＿ｉｎｄｅｘシンタックス要素をシグナリングしなくてよい。
【０３８１】
[0380]いずれの場合でも、ビデオエンコーダ２０は、たとえば、変換ユニット（ＴＵ）を生成するために、現在のブロックに対する残差ブロックを計算する（２８６）。ビュー間残差予測が使用されないときに残差ブロックを計算するために、ビデオエンコーダ２０は、元のコーディングされていないブロックと現在のブロックの予測ブロックとの差分を計算して、残差を生成することができる。ビュー間残差予測が使用されるときに残差ブロックを計算するために、ビデオエンコーダ２０は、元のコーディングされていないブロックと現在のブロックの予測ブロックとの差分を計算して、第１の残差を生成することができる。ビデオエンコーダ２０は次いで、第１の残差と残差予測子との差に基づいて、最終的な残差を計算することができる。
【０３８２】
[0381]ビデオエンコーダ２０は次いで、残差ブロックの係数を変換し、量子化することができる（２８８）。次に、ビデオエンコーダ２０は、残差ブロックの量子化された変換係数をスキャンすることができる（２９０）。スキャンの間、またはスキャンの後、ビデオエンコーダ２０は、たとえば、ビュー間残差予測がイネーブルにされ適用される例におけるビュー間残差予測の重み付け値を含む、変換係数をエントロピー符号化することができる（２９２）。ビデオエンコーダ２０は次いで、ビュー間残差予測がイネーブルにされ適用される例において、ブロックの係数および重み付け値についてのエントロピーコーディングされたデータを出力することができる（２９４）。
【０３８３】
[0382]図１８は、本開示の技法による、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分（たとえば、ＰＵ）を備え得る。ビデオデコーダ３０（図１および図３）に関して説明されるが、他のデバイスが図１４の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０３８４】
[0383]この例では、ビデオデコーダ３０は、最初に、現在のブロックを予測するための区分モードを決定する（３００）。たとえば、ビデオデコーダ３０は、現在のブロックに対して、１つのＰＵを決定するか（たとえば、２Ｎ×２Ｎの区分モード）、２つ以上のＰＵを決定するかを決定することができる。ブロックのその区分構造は、符号化されたビットストリームでシグナリングされ得る。ビデオデコーダ３０はまた、現在のブロックに対する変換係数および動きベクトルについてのデータをエントロピー復号する（３０２）。やはり、この例は、現在のブロックがインター予測されると仮定する。
【０３８５】
[0384]ビデオデコーダ３０は次いで、決定された区分モードに基づいて、重み付けファクタを復号する（たとえば、符号化されたビットストリームから解析する）（かつビュー間残差予測を実行する）かどうかを決定することができる（３０４）。いくつかの例では、ビデオデコーダ２０は、区分モードが２Ｎ×２Ｎの区分モード以外のモードである場合、ビュー間残差予測をディセーブルにして、重み付けファクタの復号をスキップすることができる。すなわち、たとえば、区分モードが２Ｎ×２Ｎの区分モード以外のモードであるとき、ビデオデコーダ３０は、重み付けファクタが０であると自動的に決定する（すなわち、推測する）ことができる。
【０３８６】
[0385]ビデオデコーダ３０が重み付けファクタを復号する場合、ビデオデコーダ３０は、ビュー間残差予測を実行して、現在のブロックの残差データを予測することができる（３０６）。たとえば、上で述べられたように、ビデオデコーダ３０は、第１のブロックの視差ベクトルによって示される視差参照ブロックを決定し、現在のブロックの動きベクトルを視差参照ブロックに適用することによって時間的視差参照ブロックを決定し、時間的視差参照ブロックと視差参照ブロックとの差に基づいて残差予測子を決定することができる。ビデオデコーダ３０はまた、ビットストリームにおいてシグナリングされるような重み付けファクタを残差予測子に適用することができる。
【０３８７】
[0386]ビデオデコーダ３０が重み付けファクタを復号しない場合（ステップ３０４のいいえの分岐）、ビデオデコーダ３０は、ビュー間残差予測処理をディセーブルにすることができる。ビデオデコーダ３０は、動きベクトルを使用して現在のブロックの予測に飛ぶことができる。
【０３８８】
[0387]いずれの場合にも、ビデオデコーダ３０は次いで、復号された動きベクトルを使用して、現在のブロックを予測することができる（３０８）。ビデオデコーダ３０は、次いで、量子化された変換係数のブロックを作成するために、再生成された係数を逆スキャンすることができる（３１０）。ビデオデコーダ３０は、次いで、残差ブロックを生成するために係数を逆量子化し、逆変換することができる（３１２）。ビデオデコーダ３０は、最終的に、予測ブロックと残差ブロックを組み合わせることによって現在のブロックを復号することができる（３１４）。たとえば、ビュー間残差予測が適用されない例では、ビデオデコーダ３０は単に、予測ブロックと復号された残差を組み合わせることができる。ビュー間残差予測が適用される例では、ビデオデコーダ３０は、予測ブロックと、復号された残差（最終的な残差を表す）と、残差予測子とを組み合わせることができる。
【０３８９】
[0388]図１９は、本開示の技法による、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分、たとえば、現在のＰＵを備え得る。ビデオエンコーダ２０（図１および図２）に関して説明されるが、他のデバイスが図１９の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０３９０】
[0389]この例では、ビデオエンコーダ２０は、現在のブロックに対する時間的動きベクトルと参照ピクチャとを決定する（３２０）。たとえば、ビデオエンコーダ２０は、現在のブロックの１つまたは複数の予測ユニット（ＰＵ）を計算し得る。この例では、ビデオエンコーダ２０が現在のブロックをインター予測すると仮定される。たとえば、動き推定ユニット４２は、前にコーディングされたピクチャ、たとえば、ビュー間ピクチャおよび時間的ピクチャの動き探索を実行することによって、現在のブロックの動きベクトルを計算し得る。したがって、動き推定ユニット４２は、現在のブロックを符号化するために、時間的動きベクトルまたは視差動きベクトルを生成し得る。
【０３９１】
[0390]ビデオエンコーダ２０は次いで、現在のブロックと同じアクセスユニット中の視差参照ブロックを決定することができる（３２２）。たとえば、ビデオエンコーダ２０は、視差ベクトルを決定して、現在のブロックと同じＰＯＣ値を有するが第２の異なるビューの中に位置する、視差参照ブロックを位置決定することができる。
【０３９２】
[0391]ビデオエンコーダ２０は、復号ピクチャバッファ（本明細書では参照ピクチャメモリとも呼ばれる）が時間的参照ピクチャのＰＯＣ値に等しいＰＯＣを有するピクチャを含むかどうかを決定することができる（３２４）。たとえば、ビデオエンコーダ２０は、時間的動きベクトルと視差動きベクトルの組合せによって示されるピクチャが復号ピクチャバッファに含まれるかどうかを決定することができる。いくつかの例では、可能性のある時間的視差参照ピクチャが復号ピクチャバッファに含まれる場合であっても、ビデオエンコーダ２０はさらに、視差参照ブロックに対する一方または両方の参照ピクチャリストにピクチャが含まれるかどうかを決定することができる。
【０３９３】
[0392]復号ピクチャバッファ（および／または視差参照ブロックの一方または両方の参照ピクチャリスト）に可能性のある時間的視差参照ピクチャが含まれる場合（３２４）、ビデオエンコーダ２０は、ビュー間残差予測処理を実行して、現在のブロックの残差データを予測することができる（３２６）。たとえば、上で述べられたように、ビデオエンコーダ２０は、第１のブロックの視差ベクトルによって示される視差参照ブロックを決定し、現在のブロックの動きベクトルを視差参照ブロックに適用することによって時間的視差参照ブロックを決定し、時間的視差参照ブロックと視差参照ブロックとの差に基づいて残差予測子を決定することができる。ビデオエンコーダ２０は、重み付けファクタを残差予測子に適用することができる。ビデオエンコーダ２０は次いで、現在のブロックに対する残差ブロックを計算することができる（３３０）。
【０３９４】
[0393]復号ピクチャバッファに可能性のある時間的視差参照ピクチャが含まれない（または、視差参照ブロックの一方または両方の参照ピクチャリストに含まれない）場合（ステップ３２４のいいえの分岐）、ビデオエンコーダ２０は、ビュー間残差予測処理を修正することができる（３２８）。いくつかの例では、ビデオエンコーダ２０は、処理をディセーブルにすることによって処理を修正することができる。他の例では、ビデオエンコーダ２０は、利用可能な参照ピクチャ（復号ピクチャバッファおよび／または参照ピクチャリストに含まれる参照ピクチャ）を選択し、それに従って時間的動きベクトルをスケーリングすることができる。
【０３９５】
[0394]いずれの場合でも、ビデオエンコーダ２０は、たとえば、変換ユニット（ＴＵ）を生成するために、現在のブロックに対する残差ブロックを計算する（３３０）。ビュー間残差予測が使用されないときに残差ブロックを計算するために、ビデオエンコーダ２０は、元のコーディングされていないブロックと現在のブロックの予測ブロックとの差分を計算して、残差を生成することができる。ビュー間残差予測が使用されるときに残差ブロックを計算するために、ビデオエンコーダ２０は、元のコーディングされていないブロックと現在のブロックの予測ブロックとの差分を計算して、第１の残差を生成することができる。ビデオエンコーダ２０は次いで、第１の残差と残差予測子との差に基づいて、最終的な残差を計算することができる。
【０３９６】
[0395]ビデオエンコーダ２０は次いで、残差ブロックの係数を変換し、量子化することができる（３３２）。次に、ビデオエンコーダ２０は、残差ブロックの量子化された変換係数をスキャンすることができる（３３４）。スキャンの間、またはスキャンの後、ビデオエンコーダ２０は、たとえば、ビュー間残差予測がイネーブルにされ適用される例におけるビュー間残差予測の重み付け値を含む、変換係数をエントロピー符号化することができる（３３６）。ビデオエンコーダ２０は次いで、ビュー間残差予測がイネーブルにされ適用される例において、ブロックの係数および重み付け値についてのエントロピーコーディングされたデータを出力することができる（３３８）。
【０３９７】
[0396]図２０は、本開示の技法による、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分（たとえば、ＰＵ）を備え得る。ビデオデコーダ３０（図１および図３）に関して説明されるが、他のデバイスが図１４の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０３９８】
[0397]最初に、ビデオデコーダ３０は、現在のブロックに対する変換係数および動きベクトルについてのデータを受信する（３５０）。やはり、この例は、現在のブロックがインター予測されると仮定する。ビデオデコーダ３０は、受信された動きベクトルを使用して時間的参照ピクチャを位置決定することができる。
【０３９９】
[0398]ビデオデコーダ３０は次いで、現在のブロックと同じアクセスユニット中の視差参照ブロックを決定することができる（３５２）。たとえば、ビデオデコーダ３０は、視差ベクトルを決定して、現在のブロックと同じＰＯＣ値を有するが第２の異なるビューの中に位置する、視差参照ブロックを位置決定することができる。いくつかの例では、ビデオデコーダ３０は、ビットストリームに含まれるデータに基づいて視差ベクトルを決定することができる。他の例では、ビデオデコーダ３０は、ビデオエンコーダ２０と同じ処理を適用して、視差ベクトルを決定することができる。
【０４００】
[0399]ビデオデコーダ３０は、復号ピクチャバッファ（本明細書では参照ピクチャメモリとも呼ばれる）が時間的参照ピクチャのＰＯＣ値に等しいＰＯＣ値を有するピクチャを含むかどうかを決定することができる（３５４）。たとえば、ビデオデコーダ３０は、時間的動きベクトルと視差動きベクトルの組合せによって示されるピクチャが復号ピクチャバッファに含まれるかどうかを決定することができる。いくつかの例では、可能性のある時間的視差参照ピクチャが復号ピクチャバッファに含まれる場合であっても、ビデオデコーダ３０はさらに、視差参照ブロックに対する１つまたは複数の参照ピクチャリストにピクチャが含まれるかどうかを決定することができる。
【０４０１】
[0400]復号ピクチャバッファ（および／または視差参照ブロックの参照ピクチャリスト）に可能性のある時間的視差参照ピクチャが含まれる場合、ビデオデコーダ３０は、ビュー間残差予測処理を実行して、現在のブロックの残差データを予測することができる（３５６）。たとえば、上で述べられたように、ビデオデコーダ３０は、第１のブロックの視差ベクトルによって示される視差参照ブロックを決定し、現在のブロックの動きベクトルを視差参照ブロックに適用することによって時間的視差参照ブロックを決定し、時間的視差参照ブロックと視差参照ブロックとの差に基づいて残差予測子を決定することができる。ビデオデコーダ３０はまた、ビットストリームにおいてシグナリングされるような重み付けファクタを残差予測子に適用することができる。
【０４０２】
[0401]復号ピクチャバッファ（および／または、視差参照ブロックの参照ピクチャリスト）に可能性のある時間的視差参照ピクチャが含まれない場合（ステップ３５４のいいえの分岐）、ビデオデコーダ３０は、ビュー間残差予測処理を修正することができる（３５８）。いくつかの例では、ビデオデコーダ３０は、処理をディセーブルにすることによって処理を修正することができる。他の例では、ビデオデコーダ３０は、利用可能な参照ピクチャ（復号ピクチャバッファおよび／または参照ピクチャリストに含まれる参照ピクチャ）を選択し、それに従って時間的動きベクトルをスケーリングすることができる。
【０４０３】
[0402]いずれの場合にも、ビデオデコーダ３０は次いで、復号された動きベクトルを使用して、現在のブロックを予測することができる（３６０）。ビデオデコーダ３０は、次いで、量子化された変換係数のブロックを作成するために、再生成された係数を逆スキャンすることができる（３６２）。ビデオデコーダ３０は、次いで、残差ブロックを生成するために係数を逆量子化し、逆変換することができる（３６４）。ビデオデコーダ３０は、最終的に、予測ブロックと残差ブロックを組み合わせることによって現在のブロックを復号することができる（３６６）。たとえば、ビュー間残差予測が適用されない例では、ビデオデコーダ３０は単に、予測ブロックと復号された残差を組み合わせることができる。ビュー間残差予測が適用される例では、ビデオデコーダ３０は、予測ブロックと、復号された残差（最終的な残差を表す）と、残差予測子とを組み合わせることができる。
【０４０４】
[0403]例によっては、本明細書で説明された技法のうちのいずれかの、いくつかの動作またはイベントは、異なる順序で実行されてよく、追加、統合、または完全に除外され得る（たとえば、すべての説明された動作またはイベントが、本技法の実施のために必要であるとは限らない）ことを認識されたい。その上、いくつかの例では、動作またはイベントは、連続的にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて実行され得る。
【０４０５】
[0404]本開示のいくつかの態様が、説明のために開発中のＨＥＶＣ規格に関して説明された。しかしながら、本開示で説明される技法は、他の規格またはまだ開発されていないプロプライエタリビデオコーディング処理を含む、他のビデオコーディング処理のために有用であり得る。
【０４０６】
[0405]上で説明された技法は、ビデオエンコーダ２０（図１および図２）および／またはビデオデコーダ３０（図１および図３）によって実行されてよく、ビデオエンコーダ２０とビデオデコーダ３０の両方が全般にビデオコーダと呼ばれ得る。同様に、ビデオコーディングは、適宜、ビデオ符号化またはビデオ復号を指し得る。
【０４０７】
[0406]例に応じて、本明細書で説明された方法のうちのいずれかのいくつかの動作またはイベントは、異なる順序で実行されてよく、互いに追加、統合、または完全に除外され得る（たとえば、すべての説明された動作またはイベントが、本方法の実施のために必要であるとは限らない）ことを理解されたい。その上、いくつかの例では、動作またはイベントは、連続的にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて実行され得る。さらに、本開示のいくつかの態様は、明快にするために単一のモジュールまたはユニットによって実行されるものとして説明されているが、本開示の技法はビデオコーダと関連付けられるユニットまたはモジュールの組合せによって実行され得ることを理解されたい。
【０４０８】
[0407]技法の様々な態様の特定の組合せが上で説明されたが、これらの組合せは、本開示で説明される技法の例を単に示すために与えられる。したがって、本開示の技法は、これらの例示的な組合せに限定されるべきではなく、本開示で説明される技法の様々な態様の任意の想起可能な組合せを包含し得る。
【０４０９】
[0408]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいは、コンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。
【０４１０】
[0409]このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０４１１】
[0410]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【０４１２】
[0411]しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびｂｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０４１３】
[0412]命令は、１つもしくは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つもしくは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実施に適した任意の他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび／もしくはソフトウェアのモジュール内で提供され、または複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理素子中で完全に実装され得る。
【０４１４】
[0413]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットは、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上で説明されたように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作するハードウェアユニットの集合によって与えられ得る。
【０４１５】
[0414]本開示の様々な態様が説明されてきた。これらおよび他の態様は以下の特許請求の範囲内に入る。
【図１】
2018067940.tif 000020
【図２】
2018067940.tif 000021
【図３】
2018067940.tif 000022
【図４】
2018067940.tif 000023
【図５】
2018067940.tif 000024
【図６】
2018067940.tif 000025
【図７】
2018067940.tif 000026
【図８】
2018067940.tif 000027
【図９】
2018067940.tif 000028
【図１０】
2018067940.tif 000029
【図１１】
2018067940.tif 000030
【図１２】
2018067940.tif 000031
【図１３】
2018067940.tif 000032
【図１４】
2018067940.tif 000033
【図１５】
2018067940.tif 000034
【図１６】
2018067940.tif 000035
【図１７】
2018067940.tif 000036
【図１８】
2018067940.tif 000037
【図１９】
2018067940.tif 000038
【図２０】
2018067940.tif 000039
【手続補正書】
【提出日】平成29年12月18日(2017.12.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、
ビデオデータのブロックをコーディングするための区分モードを決定することと、ここで、前記区分モードは、予測コーディングのためのビデオデータの前記ブロックの分割を示し、
前記決定された区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定することと、ここで、前記ビュー間残差予測処理は、第１のビューとは異なる第２のビューに関連付けられる第２の残差データに基づいて、前記第１のビューに関連付けられる前記ブロックについての第１の残差データをコーディングすることを含み、
前記決定された区分モードでビデオデータの前記ブロックをコーディングすることと、
を備える、方法。
【請求項２】
前記重み付けファクタをコーディングしないという決定に基づいて、前記方法は、前記重み付けファクタの値が０であると自動的に決定し、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用しないことをさらに備える、請求項１に記載の方法。
【請求項３】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定することは、前記区分モードが前記ブロック全体を予測することを含むかどうかを決定することを備え、前記方法は、前記区分モードが前記ブロック全体を予測することを含まないとき、前記重み付けファクタのコーディングをスキップし、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用しないことをさらに備える、請求項１に記載の方法。
【請求項４】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定することは、前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含むかどうかを決定することを備え、前記方法は、前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含まないとき、前記重み付けファクタのコーディングをスキップし、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用しないことをさらに備える、請求項１に記載の方法。
【請求項５】
前記ブロックに対するコーディングモードに基づいて前記重み付けファクタをコーディングするかどうかを決定することをさらに備え、前記コーディングモードがスキップモードおよび統合モード以外のコーディングモードであるとき、前記重み付けファクタのコーディングをスキップし、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用しない、請求項１に記載の方法。
【請求項６】
前記重み付けファクタをコーディングするという決定に基づいて、前記方法はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにすることを備え、前記１つまたは複数のディセーブルにされた重み付けファクタは前記ビュー間残差予測処理において使用されない、請求項１に記載の方法。
【請求項７】
コーディングすることは、復号することを備え、前記１つまたは複数の重み付けファクタをディセーブルにすることは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにすることを備える、請求項６に記載の方法。
【請求項８】
前記重み付けファクタをコーディングするという決定に基づいて、前記方法はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正することを備え、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、請求項１に記載の方法。
【請求項９】
コーディングすることは、復号することを備え、前記１つまたは複数の重み付けファクタを修正することは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正することを備える、請求項８に記載の方法。
【請求項１０】
ビデオデータをコーディングするための装置であって、
ビデオデータを記憶するメモリと、
前記ビデオデータのブロックをコーディングするための区分モードを決定し、ここで、前記区分モードは、予測コーディングのための前記ビデオデータの前記ブロックの分割を示し、
前記決定された区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定し、ここで、前記ビュー間残差予測処理は、第１のビューとは異なる第２のビューに関連付けられる第２の残差データに基づいて、前記第１のビューに関連付けられる前記ブロックについての第１の残差データをコーディングすることを含み、
前記決定された区分モードで前記ビデオデータの前記ブロックをコーディングする
ように構成される１つまたは複数のプロセッサと、
を備える、装置。
【請求項１１】
前記重み付けファクタをコーディングしないという決定に基づいて、前記１つまたは複数のプロセッサは、前記重み付けファクタの値が０であると自動的に決定し、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用しないように構成される、請求項１０に記載の装置。
【請求項１２】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定するために、前記１つまたは複数のプロセッサは、前記区分モードが前記ブロック全体を予測することを含むかどうかを決定するように構成され、前記１つまたは複数のプロセッサは、前記区分モードが前記ブロック全体を予測することを含まないとき、前記重み付けファクタのコーディングをスキップし、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用しないようにさらに構成される、請求項１０に記載の装置。
【請求項１３】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定することは、前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含むかどうかを決定することを備え、前記１つまたは複数のプロセッサは、前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含まないとき、前記重み付けファクタのコーディングをスキップし、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用しないようにさらに構成される、請求項１０に記載の装置。
【請求項１４】
前記１つまたは複数のプロセッサがさらに、
前記ブロックに対するコーディングモードに基づいて前記重み付けファクタをコーディングするかどうかを決定するように構成され、前記コーディングモードがスキップモードおよび統合モード以外のコーディングモードであるとき、前記重み付けファクタのコーディングをスキップし、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用しない、請求項１０に記載の装置。
【請求項１５】
前記重み付けファクタをコーディングするという決定に基づいて、前記１つまたは複数のプロセッサはさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにするように構成され、前記１つまたは複数のディセーブルにされた重み付けファクタは前記ビュー間残差予測処理において使用されない、請求項１０に記載の装置。
【請求項１６】
前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ブロックを復号するように構成され、前記１つまたは複数の重み付けファクタをディセーブルにするために、前記１つまたは複数のプロセッサは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにするように構成される、請求項１５に記載の装置。
【請求項１７】
前記重み付けファクタをコーディングするという決定に基づいて、前記１つまたは複数のプロセッサはさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正するように構成され、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、請求項１０に記載の装置。
【請求項１８】
前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ブロックを復号するように構成され、前記１つまたは複数の重み付けファクタを修正するために、前記１つまたは複数のプロセッサは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正するように構成される、請求項１７に記載の装置。
【請求項１９】
前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ビュー間残差予測処理によって前記ブロックを復号するように構成され、前記ビュー間残差予測処理によって前記ブロックを復号するために、前記１つまたは複数のプロセッサは、
前記ブロックの時間的動きベクトルによって示される時間的参照ブロックを決定し、
前記ブロックの視差ベクトルによって示される視差参照ブロックを決定し、
前記時間的動きベクトルと前記視差ベクトルの組合せによって示される時間的視差参照ブロックを決定し、
符号化されたビットストリームから、前記ブロックに対する最終的な残差を示すデータを取得し、
前記視差参照ブロックと前記時間的視差参照ブロックとの差に基づいて、残差予測子を決定し、
前記最終的な残差、前記残差予測子、および前記時間的参照ブロックの組合せに基づいて、前記ブロックを再構築するように構成される、請求項１０に記載の装置。
【請求項２０】
前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ビュー間残差予測処理によって前記ブロックを符号化するように構成され、前記ビュー間残差予測処理によって前記ブロックを符号化するために、前記１つまたは複数のプロセッサは、
前記ブロックの時間的動きベクトルによって示される時間的参照ブロックを決定し、
前記ブロックの視差ベクトルによって示される視差参照ブロックを決定し、
前記時間的動きベクトルと前記視差ベクトルの組合せによって示される時間的視差参照ブロックを決定し、
前記第１のブロックと前記時間的参照ブロックとの差を備える第１の残差を決定し、
前記視差参照ブロックと前記時間的視差参照ブロックとの差を備える残差予測子を決定し、
前記第１の残差と前記残差予測子との差に基づいて、最終的な残差を決定し、
前記最終的な残差を示すデータをビットストリーム中に符号化するように構成される、請求項１０に記載の装置。
【請求項２１】
ビデオデータをコーディングするための装置であって、
ビデオデータのブロックをコーディングするための区分モードを決定するための手段と、ここで、前記区分モードは、予測コーディングのためのビデオデータの前記ブロックの分割を示し、
前記決定された区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定するための手段と、ここで、前記ビュー間残差予測処理は、第１のビューとは異なる第２のビューに関連付けられる第２の残差データに基づいて、前記第１のビューに関連付けられる前記ブロックについての第１の残差データをコーディングすることを含み、
前記決定された区分モードでビデオデータの前記ブロックをコーディングするための手段と、
を備える、装置。
【請求項２２】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定するための前記手段は、前記区分モードが前記ブロック全体を予測することを含むかどうかを決定するための手段を備え、前記区分モードが前記ブロック全体を予測することを含まないとき、前記重み付けファクタのコーディングをスキップし、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用しないための手段をさらに備える、請求項２１に記載の装置。
【請求項２３】
前記重み付けファクタをコーディングするという決定に基づいて、前記装置はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにするための手段を備え、前記１つまたは複数のディセーブルにされた重み付けファクタは前記ビュー間残差予測処理において使用されない、請求項２１に記載の装置。
【請求項２４】
コーディングするための前記手段は、復号するための手段を備え、前記１つまたは複数の重み付けファクタをディセーブルにするための前記手段は、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにするための手段を備える、請求項２３に記載の装置。
【請求項２５】
前記重み付けファクタをコーディングするという決定に基づいて、前記装置はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正するための手段を備え、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、請求項２１に記載の装置。
【請求項２６】
コーディングするための前記手段は、復号するための手段を備え、前記１つまたは複数の重み付けファクタを修正するための前記手段は、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正するための手段を備える、請求項２５に記載の装置。
【請求項２７】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されると、１つまたは複数のプロセッサに、
ビデオデータのブロックをコーディングするための区分モードを決定させ、ここで、前記区分モードは、予測コーディングのためのビデオデータの前記ブロックの分割を示し、
前記決定された区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定させ、ここで、前記ビュー間残差予測処理は、第１のビューとは異なる第２のビューに関連付けられる第２の残差データに基づいて、前記第１のビューに関連付けられる前記ブロックについての第１の残差データをコーディングすることを含み、
前記決定された区分モードでビデオデータの前記ブロックをコーディングさせる、非一時的コンピュータ可読媒体。
【請求項２８】
前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定するために、前記命令は、前記１つまたは複数のプロセッサに、前記区分モードが前記ブロック全体を予測することを含むかどうかを決定させ、前記１つまたは複数のプロセッサに、前記区分モードが前記ブロック全体を予測することを含まないとき、前記重み付けファクタのコーディングをスキップさせ、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用させない命令をさらに備える、請求項２７に記載の非一時的コンピュータ可読媒体。
【請求項２９】
前記命令はさらに、前記１つまたは複数のプロセッサに、前記ブロックに対するコーディングモードに基づいて前記重み付けファクタをコーディングするかどうかを決定させ、前記命令はさらに、前記１つまたは複数のプロセッサに、前記コーディングモードがスキップモードおよび統合モード以外のコーディングモードであるとき、前記重み付けファクタのコーディングをスキップさせ、前記ブロックの前記第１の残差を予測するために前記ビュー間残差予測処理を適用させない、請求項２７に記載の非一時的コンピュータ可読媒体。
【請求項３０】
前記重み付けファクタをコーディングするという決定に基づいて、前記命令はさらに、前記１つまたは複数のプロセッサに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにさせ、前記１つまたは複数のディセーブルにされた重み付けファクタが前記ビュー間残差予測処理において使用されない、請求項２７に記載の非一時的コンピュータ可読媒体。
【請求項３１】
前記１つまたは複数の重み付けファクタをディセーブルにするために、前記命令は、前記１つまたは複数のプロセッサに、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにさせる、請求項３０に記載の非一時的コンピュータ可読媒体。
【請求項３２】
前記重み付けファクタをコーディングするという決定に基づいて、前記命令はさらに、前記１つまたは複数のプロセッサに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正させ、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、請求項２７に記載の非一時的コンピュータ可読媒体。
【請求項３３】
前記１つまたは複数の重み付けファクタを修正するために、前記命令は、前記１つまたは複数のプロセッサに、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正させる、請求項３２に記載の非一時的コンピュータ可読媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０４１５
【補正方法】変更
【補正の内容】
【０４１５】
[0414]本開示の様々な態様が説明されてきた。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］ビデオデータをコーディングする方法であって、
ビデオデータのブロックをコーディングするための区分モードを決定することと、ここで、前記区分モードは、予測コーディングのためのビデオデータの前記ブロックの分割を示し、
前記区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定することと、ここで、前記重み付けファクタがコーディングされないとき、前記ビュー間残差予測処理は、前記ブロックに対する残差を予測するために適用されない、
前記決定された区分モードでビデオデータの前記ブロックをコーディングすることと、
を備える、方法。
［Ｃ２］前記ブロックをコーディングすることは前記ブロックを復号することを備え、前記重み付けファクタがコーディングされないとき、前記重み付けファクタの値が０であると自動的に決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ３］前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定することは、
前記区分モードが前記ブロック全体を予測することを含むかどうかを決定することと、
前記区分モードが前記ブロック全体を予測することを含まないとき、前記重み付けファクタのコーディングをスキップすることと、を備える、Ｃ１に記載の方法。
［Ｃ４］前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定することは、
前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含むかどうかを決定することと、
前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含まないとき、前記重み付けファクタのコーディングをスキップすることと、を備える、Ｃ１に記載の方法。
［Ｃ５］前記ブロックに対するコーディングモードに基づいて前記重み付けファクタをコーディングするかどうかを決定することをさらに備え、前記コーディングモードがスキップモードおよび統合モード以外のコーディングモードであるとき、前記重み付けファクタのコーディングをスキップすること、Ｃ１に記載の方法。
［Ｃ６］前記重み付けファクタがコーディングされるとき、前記方法はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにすることを備え、前記１つまたは複数のディセーブルにされた重み付けファクタは前記ビュー間残差予測処理において使用されない、Ｃ１に記載の方法。
［Ｃ７］前記１つまたは複数の重み付けファクタをディセーブルにすることは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにすることを備える、Ｃ６に記載の方法。
［Ｃ８］前記重み付けファクタがコーディングされるとき、前記方法はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正することを備え、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、Ｃ１に記載の方法。
［Ｃ９］前記１つまたは複数の重み付けファクタを修正することは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正することを備える、Ｃ８に記載の方法。
［Ｃ１０］ビデオデータをコーディングするための装置であって、
ビデオデータを記憶するメモリと、
前記ビデオデータのブロックをコーディングするための区分モードを決定し、ここで、前記区分モードは、予測コーディングのための前記ビデオデータの前記ブロックの分割を示し、
前記区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定し、ここで、前記重み付けファクタがコーディングされないとき、前記ビュー間残差予測処理は、前記ブロックに対する残差を予測するために適用されない、
前記決定された区分モードで前記ビデオデータの前記ブロックをコーディングする
ように構成される１つまたは複数のプロセッサと、を備える、装置。
［Ｃ１１］前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ブロックを復号するように構成され、前記重み付けファクタがコーディングされないとき、前記１つまたは複数のプロセッサは、前記重み付けファクタの値が０であると自動的に決定するように構成される、Ｃ１０に記載の装置。
［Ｃ１２］前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定するために、前記１つまたは複数のプロセッサは、
前記区分モードが前記ブロック全体を予測することを含むかどうかを決定するように構成され、
前記区分モードが前記ブロック全体を予測することを含まないとき、前記１つまたは複数のプロセッサが、前記重み付けファクタのコーディングをスキップするように構成される、Ｃ１０に記載の装置。
［Ｃ１３］前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定することは、
前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含むかどうかを決定することを備え、
前記区分モードがＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、およびＰＡＲＴ＿Ｎ×２Ｎモードのうちの１つを含まないとき、前記１つまたは複数のプロセッサが、前記重み付けファクタのコーディングをスキップするように構成される、Ｃ１０に記載の装置。
［Ｃ１４］前記１つまたは複数のプロセッサがさらに、
前記ブロックに対するコーディングモードに基づいて前記重み付けファクタをコーディングするかどうかを決定するように構成され、前記コーディングモードがスキップモードおよび統合モード以外のコーディングモードであるとき、前記重み付けファクタのコーディングをスキップすること、Ｃ１０に記載の装置。
［Ｃ１５］前記重み付けファクタがコーディングされるとき、前記１つまたは複数のプロセッサはさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにするように構成され、前記１つまたは複数のディセーブルにされた重み付けファクタは前記ビュー間残差予測処理において使用されない、Ｃ１０に記載の装置。
［Ｃ１６］前記１つまたは複数の重み付けファクタをディセーブルにするために、前記１つまたは複数のプロセッサは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにするように構成される、Ｃ１５に記載の装置。
［Ｃ１７］前記重み付けファクタがコーディングされるとき、前記１つまたは複数のプロセッサはさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正するように構成され、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、Ｃ１０に記載の装置。
［Ｃ１８］前記１つまたは複数の重み付けファクタを修正するために、前記１つまたは複数のプロセッサは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正するように構成される、Ｃ１７に記載の装置。
［Ｃ１９］前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ビュー間残差予測処理によって前記ブロックを復号するように構成され、前記ビュー間残差予測処理によって前記ブロックを復号するために、前記１つまたは複数のプロセッサは、
前記ブロックの時間的動きベクトルによって示される時間的参照ブロックを決定し、
前記ブロックの視差ベクトルによって示される視差参照ブロックを決定し、
前記時間的動きベクトルと前記視差ベクトルの組合せによって示される時間的視差参照ブロックを決定し、
符号化されたビットストリームから、前記ブロックに対する最終的な残差を示すデータを取得し、
前記視差参照ブロックと前記時間的視差参照ブロックとの差に基づいて、残差予測子を決定し、
前記最終的な残差、前記残差予測子、および前記時間的参照ブロックの組合せに基づいて、前記ブロックを再構築するように構成される、Ｃ１０に記載の装置。
［Ｃ２０］前記ブロックをコーディングするために、前記１つまたは複数のプロセッサは、前記ビュー間残差予測処理によって前記ブロックを符号化するように構成され、前記ビュー間残差予測処理によって前記ブロックを符号化するために、前記１つまたは複数のプロセッサは、
前記ブロックの時間的動きベクトルによって示される時間的参照ブロックを決定し、
前記ブロックの視差ベクトルによって示される視差参照ブロックを決定し、
前記時間的動きベクトルと前記視差ベクトルの組合せによって示される時間的視差参照ブロックを決定し、
前記第１のブロックと前記時間的参照ブロックとの差を備える第１の残差を決定し、
前記視差参照ブロックと前記時間的視差参照ブロックとの差を備える残差予測子を決定し、
前記第１の残差と前記残差予測子との差に基づいて、最終的な残差を決定し、
前記最終的な残差を示すデータをビットストリーム中に符号化するように構成される、Ｃ１０に記載の装置。
［Ｃ２１］ビデオデータをコーディングするための装置であって、
ビデオデータのブロックをコーディングするための区分モードを決定するための手段と、ここで、前記区分モードは、予測コーディングのためのビデオデータの前記ブロックの分割を示し、
前記区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定するための手段と、ここで、前記重み付けファクタがコーディングされないとき、前記ビュー間残差予測処理は、前記ブロックに対する残差を予測するために適用されない、
前記決定された区分モードでビデオデータの前記ブロックをコーディングするための手段と、
を備える、装置。
［Ｃ２２］前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定するための前記手段は、
前記区分モードが前記ブロック全体を予測することを含むかどうかを決定するための手段と、
前記区分モードが前記ブロック全体を予測することを含まないとき、前記重み付けファクタのコーディングをスキップするための手段と、を備える、Ｃ２１に記載の装置。
［Ｃ２３］前記重み付けファクタがコーディングされるとき、前記装置はさらに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにするための手段をさらに備え、前記１つまたは複数のディセーブルにされた重み付けファクタは前記ビュー間残差予測処理において使用されない、Ｃ２１に記載の装置。
［Ｃ２４］前記１つまたは複数の重み付けファクタをディセーブルにするための前記手段は、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにするための手段を備える、Ｃ２３に記載の装置。
［Ｃ２５］前記重み付けファクタがコーディングされるとき、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正するための手段をさらに備え、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、Ｃ２１に記載の装置。
［Ｃ２６］前記１つまたは複数の重み付けファクタを修正することは、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正することを備える、Ｃ２５に記載の装置。
［Ｃ２７］命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されると、１つまたは複数のプロセッサに、
ビデオデータのブロックをコーディングするための区分モードを決定させ、ここで、前記区分モードは、予測コーディングのためのビデオデータの前記ブロックの分割を示し、
前記区分モードに基づいて、ビュー間残差予測処理のために重み付けファクタをコーディングするかどうかを決定させ、ここで、前記重み付けファクタがコーディングされないとき、前記ビュー間残差予測処理は、前記ブロックに対する残差を予測するために適用されない、
前記決定された区分モードでビデオデータの前記ブロックをコーディングさせる、非一時的コンピュータ可読媒体。
［Ｃ２８］前記区分モードに基づいて前記重み付けファクタをコーディングするかどうかを決定するために、前記命令は、前記１つまたは複数のプロセッサに、
前記区分モードが前記ブロック全体を予測することを含むかどうかを決定させ、
前記区分モードが前記ブロック全体を予測することを含まないとき、前記１つまたは複数のプロセッサは、前記重み付けファクタのコーディングをスキップするように構成される、Ｃ２７に記載の非一時的コンピュータ可読媒体。
［Ｃ２９］前記命令はさらに、前記１つまたは複数のプロセッサに、
前記ブロックに対するコーディングモードに基づいて前記重み付けファクタをコーディングするかどうかを決定させ、ここで、前記コーディングモードがスキップモードおよび統合モード以外のコーディングモードであるとき、前記重み付けファクタのコーディングをスキップする、Ｃ２７に記載の非一時的コンピュータ可読媒体。
［Ｃ３０］前記重み付けファクタがコーディングされるとき、前記命令はさらに、前記１つまたは複数のプロセッサに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタをディセーブルにさせ、前記１つまたは複数のディセーブルにされた重み付けファクタが前記ビュー間残差予測処理において使用されない、Ｃ２７に記載の非一時的コンピュータ可読媒体。
［Ｃ３１］前記１つまたは複数の重み付けファクタをディセーブルにするために、前記命令は、前記１つまたは複数のプロセッサに、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタをディセーブルにさせる、Ｃ３０に記載の非一時的コンピュータ可読媒体。
［Ｃ３２］前記重み付けファクタがコーディングされるとき、前記命令はさらに、前記１つまたは複数のプロセッサに、前記ビュー間残差予測処理の１つまたは複数の重み付けファクタを修正させ、前記修正された１つまたは複数の重み付けファクタは前記ビュー間残差予測処理において使用される、Ｃ２７に記載の非一時的コンピュータ可読媒体。
［Ｃ３３］前記１つまたは複数の重み付けファクタを修正するために、前記命令は、前記１つまたは複数のプロセッサに、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）、ＶＰＳ拡張、ピクチャパラメータセット、およびスライスヘッダのうちの１つに含まれるデータに基づいて、前記１つまたは複数の重み付けファクタを修正させる、Ｃ３２に記載の非一時的コンピュータ可読媒体。
【外国語明細書】
2018067940000001.pdf