(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
現在ブロックがマージモードでインター予測されるか、又はスキップモードでインター予測されるかを決定することと、
前記現在ブロックがマージモードでインター予測される、又はスキップモードでインター予測されることに基づいて、
前記現在ブロックをマージモード又はスキップモードでインター予測するために、第１のオフセット値だけシフトされた視差ベクトルによって、参照ビュー中の参照ブロックを識別することと、
識別された前記参照ブロックのための動き情報が利用可能ではないと決定することと、
識別された前記参照ブロックの前記動き情報が利用可能ではないことに基づいて、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）が前記現在ブロックのために利用可能ではないと決定することと、
前記ＩＰＭＶＣが利用可能ではないことに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出し、前記ＩＤＭＶＣを前記現在ブロックのための候補リスト中に含めることと、ここにおいて、前記ＩＤＭＶＣは、前記参照ブロックを識別するために前記視差ベクトルをシフトするために使用された前記第１のオフセット値とは異なる第２のオフセット値だけシフトされた前記視差ベクトルを備え、前記視差ベクトルは、前記現在ブロックをインター予測するために使用される、
前記候補リストに基づいて、前記参照ビューとは異なる、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測復号することと
を備える方法。
【請求項２】
前記現在ブロックは第１のブロックを備え、前記視差ベクトルは第１の視差ベクトルを備え、前記候補リストは第１の候補リストを備え、前記参照ブロックは第１の参照ブロックを備え、前記参照ビューは第１の参照ビューを備え、前記方法は、
第２のブロックをマージモード又はスキップモードでインター予測するために、第３のオフセット値だけシフトされた第２の視差ベクトルによって第２の参照ビュー中の第２の参照ブロックを識別することと、
前記第３のオフセット値だけシフトされた前記第２の視差ベクトルによって参照される前記第２の参照ビュー中の前記第２の参照ブロックのための動きベクトルに基づいて、前記第２のブロックのためのＩＰＭＶＣが利用可能であると決定することと、前記第２の参照ブロックのための前記動きベクトルは、前記第２のブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント（ＰＯＣ）値に等しいＰＯＣ値をもつ前記第２の参照ビュー中のピクチャを参照する時間動きベクトルである、
前記ＩＰＭＶＣが利用可能であることに基づいて、前記第２のブロックのための前記ＩＰＭＶＣを導出することと、
前記ＩＰＭＶＣが利用可能ではないことに基づいて、前記第２のブロックのためのＩＤＭＶＣの前記導出を回避することと、ここにおいて、前記第２のブロックのためのＩＤＭＶＣは、前記第２の参照ブロックを識別するために前記第２の視差ベクトルをシフトするために使用された前記第３のオフセット値とは異なる第４のオフセット値だけシフトされた前記第２の視差ベクトルを備え、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記第２のブロックのための前記ＩＰＭＶＣを、前記第２のブロックのための第２の候補リスト中に含めることと、
前記第２のブロックのための前記第２の候補リストに基づいて、前記第２のブロックをインター予測復号することと
を更に備える、請求項１に記載の方法。
【請求項３】
前記現在ブロックは第１のブロックを備え、前記視差ベクトルは第１の視差ベクトルを備え、前記候補リストは第１の候補リストを備え、前記参照ブロックは第１の参照ブロックを備え、前記参照ビューは第１の参照ビューを備え、前記方法は、
高度動きベクトル予測（ＡＭＶＰ）モードでインター予測される、第２のブロックのための参照ピクチャインデックスが、時間参照ピクチャ又はビュー間参照ピクチャのうちの１つを識別すると決定することと、
前記参照ピクチャインデックスが、前記時間参照ピクチャを識別することに基づいて、
前記第２のブロックのためのＩＰＭＶＣを導出することと、ここにおいて、前記第２のブロックのための前記ＩＰＭＶＣは、第２の参照ビュー中の第２の参照ブロックのための動き情報を備え、前記第２の参照ブロックは、第３のオフセット値だけシフトされた第２の視差ベクトルによって参照され、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記ＩＰＭＶＣを、前記第２のブロックのための第２の候補リスト中に含めることと、
前記第２の候補リストに基づいて、前記第２のブロックをインター予測復号することと、
前記参照ピクチャインデックスが、前記ビュー間参照ピクチャを識別することに基づいて、
前記第２のブロックのためのＩＤＭＶＣを導出することと、ここにおいて、前記第２のブロックのための前記ＩＤＭＶＣは、前記ＩＰＭＶＣが導出されていた場合に使用されていたであろう前記第３のオフセット値とは異なる第４のオフセット値だけシフトされた前記第２の視差ベクトルを備え、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記ＩＤＭＶＣを、前記第２のブロックのための第３の候補リスト中に含めることと、
前記第３の候補リストに基づいて、前記第２のブロックをインター予測復号することと
を更に備える、請求項１に記載の方法。
【請求項４】
前記参照ブロックは第１の参照ブロックを備え、前記現在ブロックは第１のブロックを備え、前記視差ベクトルは第１の視差ベクトルを備え、前記参照ビューは第１の参照ビューを備え、前記方法は、
マージモードでインター予測される、又はスキップモードでインター予測される第２のブロックのための第１のＩＰＭＶＣを決定することと、ここにおいて、前記第１のＩＰＭＶＣは、第２の参照ビュー中の第２の参照ブロックのための動き情報を備え、前記第２の参照ブロックは、第３のオフセット値だけシフトされた第２の視差ベクトルによって参照され、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記第２のブロックのための第２のＩＰＭＶＣを決定することと、ここにおいて、前記第２のＩＰＭＶＣは、前記第２の参照ビュー中の第３の参照ブロックのための動き情報を備え、前記第３の参照ブロックは、シフトされておらず、前記第２のブロックをインター予測するために使用される前記第２の視差ベクトルによって参照される、
前記第１のＩＰＭＶＣと、前記第２のＩＰＭＶＣとを比較することと、
前記比較が、前記第２のＩＰＭＶＣが前記第１のＩＰＭＶＣとは異なることを示すことに基づいて、前記第１のＩＰＭＶＣを、前記第２のブロックのための候補リスト中に含めることと、
前記第２のブロックのための前記候補リストに基づいて、前記第２のブロックをインター予測復号することと
を更に備える、請求項１に記載の方法。
【請求項５】
比較することは、前記第１のＩＰＭＶＣを、前記第２のＩＰＭＶＣのみと比較することを備える、請求項４に記載の方法。
【請求項６】
隣接ブロックのための視差動きベクトル及び隣接ブロックのための導出された視差ベクトルのうちの１つに基づいて、前記現在ブロックのための前記視差ベクトルを決定することと、
前記第１のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第１のオフセット値を加算すること、又は、前記視差ベクトルから前記第１のオフセット値を減算することと、
前記ＩＰＭＶＣが利用可能ではないことに基づいて、前記第２のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第２のオフセット値を加算すること、又は、前記視差ベクトルから前記第２のオフセット値を減算することと
を更に備える、請求項１に記載の方法。
【請求項７】
前記第２のオフセット値は、前記視差ベクトルを水平にシフトするための固定されたオフセット値を備える、請求項１に記載の方法。
【請求項８】
前記参照ブロックの前記動き情報は、動きベクトル及び参照ピクチャリストのための１つ以上の参照インデックスのうちの、少なくとも１つを備える、請求項１に記載の方法。
【請求項９】
前記方法は、
前記候補リストへのインデックスを受信すること
を更に備え、
前記現在ブロックがマージモードでインター予測されるか、又はスキップモードでインター予測されることを決定することは、前記現在ブロックがマージモードでインター予測されるか、又はスキップモードでインター予測されるかを示すシンタックス要素を復号することを備える、請求項１に記載の方法。
【請求項１０】
ビデオデータを復号するための機器であって、前記機器はビデオデコーダを備え、前記ビデオデコーダは、
現在ブロックがマージモードでインター予測されるか、又はスキップモードでインター予測されるかを決定することと、
前記現在ブロックがマージモードでインター予測される、又はスキップモードでインター予測されることに基づいて、
前記現在ブロックをマージモード又はスキップモードでインター予測するために、第１のオフセット値だけシフトされた視差ベクトルによって、参照ビュー中の参照ブロックを識別することと、
識別された前記参照ブロックのための動き情報が利用可能ではないと決定することと、
識別された前記参照ブロックの前記動き情報が利用可能ではないことに基づいて、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）が前記現在ブロックのために利用可能ではないと決定することと、
前記ＩＰＭＶＣが利用可能ではないことに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出し、前記ＩＤＭＶＣを前記現在ブロックのための候補リスト中に含めることと、ここにおいて、前記ＩＤＭＶＣは、前記参照ブロックを識別するために前記視差ベクトルをシフトするために使用された前記第１のオフセット値とは異なる第２のオフセット値だけシフトされた前記視差ベクトルを備え、前記視差ベクトルは、前記現在ブロックをインター予測するために使用される、
前記候補リストに基づいて、前記参照ビューとは異なる、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測復号することと
を行うように構成される、機器。
【請求項１１】
前記現在ブロックは第１のブロックを備え、前記視差ベクトルは第１の視差ベクトルを備え、前記候補リストは第１の候補リストを備え、前記参照ブロックは第１の参照ブロックを備え、前記参照ビューは第１の参照ビューを備え、前記ビデオデコーダは、
第２のブロックをマージモード又はスキップモードでインター予測するために、第３のオフセット値だけシフトされた第２の視差ベクトルによって第２の参照ビュー中の第２の参照ブロックを識別することと、
前記第３のオフセット値だけシフトされた前記第２の視差ベクトルによって参照される前記第２の参照ビュー中の前記第２の参照ブロックのための動きベクトルに基づいて、前記第２のブロックのためのＩＰＭＶＣが利用可能であると決定することと、前記第２の参照ブロックのための前記動きベクトルは、前記現在ブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント（ＰＯＣ）値に等しいＰＯＣ値をもつ前記第２の参照ビュー中のピクチャを参照する時間動きベクトルである、
前記ＩＰＭＶＣが利用可能であることに基づいて、前記第２のブロックのための前記ＩＰＭＶＣを導出することと、
前記ＩＰＭＶＣが利用可能ではないことに基づいて、前記第２のブロックのためのＩＤＭＶＣの前記導出を回避することと、ここにおいて、前記第２のブロックのためのＩＤＭＶＣは、前記第２の参照ブロックを識別するために前記第２の視差ベクトルをシフトするために使用された前記第３のオフセット値とは異なる第４のオフセット値だけシフトされた前記第２の視差ベクトルを備え、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記第２のブロックのための前記ＩＰＭＶＣを、前記第２のブロックのための第２の候補リスト中に含めることと、
前記第２のブロックのための前記第２の候補リストに基づいて、前記第２のブロックをインター予測復号することと
を行うように構成される、請求項１０に記載の機器。
【請求項１２】
前記現在ブロックは第１のブロックを備え、前記視差ベクトルは第１の視差ベクトルを備え、前記候補リストは第１の候補リストを備え、前記参照ブロックは第１の参照ブロックを備え、前記参照ビューは第１の参照ビューを備え、前記ビデオデコーダは、
高度動きベクトル予測（ＡＭＶＰ）モードでインター予測される、第２のブロックのための参照ピクチャインデックスが、時間参照ピクチャ又はビュー間参照ピクチャのうちの１つを識別すると決定することと、
前記参照ピクチャインデックスが、前記時間参照ピクチャを識別することに基づいて、
前記第２のブロックのためのＩＰＭＶＣを導出することと、ここにおいて、前記第２のブロックのための前記ＩＰＭＶＣは、第２の参照ビュー中の第２の参照ブロックのための動き情報を備え、前記第２の参照ブロックは、第３のオフセット値だけシフトされた第２の視差ベクトルによって参照され、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記ＩＰＭＶＣを、前記第２のブロックのための第２の候補リスト中に含めることと、
前記第２の候補リストに基づいて、前記第２のブロックをインター予測復号することと、
前記参照ピクチャインデックスが、前記ビュー間参照ピクチャを識別することに基づいて、
前記第２のブロックのためのＩＤＭＶＣを導出することと、ここにおいて、前記第２のブロックのための前記ＩＤＭＶＣは、前記ＩＰＭＶＣが導出されていた場合に使用されていたであろう前記第３のオフセット値とは異なる第４のオフセット値だけシフトされた前記第２の視差ベクトルを備え、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記ＩＤＭＶＣを、前記第２のブロックのための第３の候補リスト中に含めることと、
前記第３の候補リストに基づいて、前記第２のブロックをインター予測復号することと
を行うように構成される、請求項１０に記載の機器。
【請求項１３】
前記参照ブロックは第１の参照ブロックを備え、前記現在ブロックは第１のブロックを備え、前記視差ベクトルは第１の視差ベクトルを備え、前記参照ビューは第１の参照ビューを備え、前記ビデオデコーダは、
マージモードでインター予測される、又はスキップモードでインター予測される第２のブロックのための第１のＩＰＭＶＣを決定することと、ここにおいて、前記第１のＩＰＭＶＣは、第２の参照ビュー中の第２の参照ブロックのための動き情報を備え、前記第２の参照ブロックは、第３のオフセット値だけシフトされた第２の視差ベクトルによって参照され、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記第２のブロックのための第２のＩＰＭＶＣを決定することと、ここにおいて、前記第２のＩＰＭＶＣは、前記第２の参照ビュー中の第３の参照ブロックのための動き情報を備え、前記第３の参照ブロックは、シフトされておらず、前記第２のブロックをインター予測するために使用される前記第２の視差ベクトルによって参照される、
前記第１のＩＰＭＶＣと、前記第２のＩＰＭＶＣとを比較することと、
前記比較が、前記第２のＩＰＭＶＣが前記第１のＩＰＭＶＣとは異なることを示すことに基づいて、前記第１のＩＰＭＶＣを、前記第２のブロックのための候補リスト中に含めることと、
前記第２のブロックのための前記候補リストに基づいて、前記第２のブロックをインター予測復号することと
を行うように構成される、請求項１０に記載の機器。
【請求項１４】
比較するために、前記ビデオデコーダは、前記第１のＩＰＭＶＣを、前記第２のＩＰＭＶＣのみと比較するように構成される、請求項１３に記載の機器。
【請求項１５】
前記ビデオデコーダは、
隣接ブロックのための視差動きベクトル及び隣接ブロックのための導出された視差ベクトルのうちの１つに基づいて、前記現在ブロックのための前記視差ベクトルを決定することと、
前記第１のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第１のオフセット値を加算すること、又は、前記視差ベクトルから前記第１のオフセット値を減算することと、
前記ＩＰＭＶＣが利用可能ではないことに基づいて、前記第２のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第２のオフセット値を加算すること、又は、前記視差ベクトルから前記第２のオフセット値を減算することと
を行うように構成される、請求項１０に記載の機器。
【請求項１６】
前記第２のオフセット値は、前記視差ベクトルを水平にシフトするための固定されたオフセット値を備える、請求項１０に記載の機器。
【請求項１７】
前記参照ブロックの前記動き情報は、動きベクトル及び参照ピクチャリストのための１つ以上の参照インデックスのうちの、少なくとも１つを備える、請求項１０に記載の機器。
【請求項１８】
前記ビデオデコーダは、前記候補リストへのインデックスを受信するように構成され、前記現在ブロックがマージモードでインター予測されるか、又はスキップモードでインター予測されるかを決定するために、前記ビデオデコーダは、前記現在ブロックがマージモードでインター予測されるか、又はスキップモードでインター予測されるかを示すシンタックス要素を復号するように構成される、請求項１０に記載の機器。
【請求項１９】
前記機器は、
集積回路（ＩＣ）と、
マイクロプロセッサと、
ワイヤレス通信機器と
のうちの１つを備える、請求項１０に記載の機器。
【請求項２０】
実行されたとき、ビデオデータを復号するための機器の１つ以上のプロセッサに、
現在ブロックがマージモードでインター予測されるか、又はスキップモードでインター予測されるかを決定することと、
前記現在ブロックがマージモードでインター予測される、又はスキップモードでインター予測されることに基づいて、
参照ビュー中の参照ブロックを識別することと、前記参照ブロックは、第１のオフセット値だけシフトされた視差ベクトルによって参照され、前記視差ベクトルは、前記現在ブロックをインター予測するために使用される、
識別された前記参照ブロックのための動き情報が利用可能ではないと決定することと、
識別された前記参照ブロックの前記動き情報が利用可能ではないことに基づいて、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）が前記現在ブロックのために利用可能ではないと決定することと、
前記ＩＰＭＶＣが利用可能ではないことに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出し、前記ＩＤＭＶＣを前記現在ブロックのための候補リスト中に含めることと、ここにおいて、前記ＩＤＭＶＣは、前記参照ブロックを識別するために前記視差ベクトルをシフトするために使用された前記第１のオフセット値とは異なる第２のオフセット値だけシフトされた前記視差ベクトルを備え、前記視差ベクトルは、前記現在ブロックをインター予測するために使用される、
前記候補リストに基づいて、前記参照ビューとは異なる、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項２１】
前記参照ブロックは第１の参照ブロックを備え、前記現在ブロックは第１のブロックを備え、前記視差ベクトルは第１の視差ベクトルを備え、前記参照ビューは第１の参照ビューを備え、前記コンピュータ可読記憶媒体は、前記１つ以上のプロセッサに、
マージモードでインター予測される、又はスキップモードでインター予測される第２のブロックのための第１のＩＰＭＶＣを決定することと、ここにおいて、前記第１のＩＰＭＶＣは、第２の参照ビュー中の第２の参照ブロックのための動き情報を備え、前記第２の参照ブロックは、第３のオフセット値だけシフトされた第２の視差ベクトルによって参照され、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記第２のブロックのための第２のＩＰＭＶＣを決定することと、ここにおいて、前記第２のＩＰＭＶＣは、前記第２の参照ビュー中の第３の参照ブロックのための動き情報を備え、前記第３の参照ブロックは、シフトされておらず、前記第２のブロックをインター予測するために使用される前記第２の視差ベクトルによって参照される、
前記第１のＩＰＭＶＣを、前記第２のＩＰＭＶＣのみと比較することと、
前記比較が、前記第２のＩＰＭＶＣが前記第１のＩＰＭＶＣとは異なることを示すことに基づいて、前記第１のＩＰＭＶＣを、前記第２のブロックのための候補リスト中に含めることと、
前記第２のブロックのための前記候補リストに基づいて、前記第２のブロックをインター予測復号することと
を行わせる命令を更に備える、請求項２０に記載のコンピュータ可読記憶媒体。
【請求項２２】
ビデオデータを復号するための機器であって、
現在ブロックがマージモードでインター予測されるか、又はスキップモードでインター予測されるかを決定するための手段と、
第１のオフセット値だけシフトされた視差ベクトルによって参照される参照ビュー中の参照ブロックを識別するための手段と、前記視差ベクトルは、前記現在ブロックをインター予測するために使用される、
識別された前記参照ブロックのための動き情報が利用可能ではないと決定するための手段と、
ビュー間予測動きベクトル候補（ＩＰＭＶＣ）が前記現在ブロックのために利用可能ではないと決定するための手段と、
前記ＩＰＭＶＣが利用可能ではないことに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出し、前記ＩＤＭＶＣを前記現在ブロックのための候補リスト中に含めるための手段と、ここにおいて、前記ＩＤＭＶＣは、前記参照ブロックを識別するために前記視差ベクトルをシフトするために使用された前記第１のオフセット値とは異なる第２のオフセット値だけシフトされた前記視差ベクトルを備え、前記視差ベクトルは、前記現在ブロックをインター予測するために使用される、
前記候補リストに基づいて、前記参照ビューとは異なる、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測復号するための手段と
を備える機器。
【請求項２３】
前記参照ブロックは第１の参照ブロックを備え、前記現在ブロックは第１のブロックを備え、前記視差ベクトルは第１の視差ベクトルを備え、前記参照ビューは第１の参照ビューを備え、前記機器は、
マージモードでインター予測される、又はスキップモードでインター予測される第２のブロックのための第１のＩＰＭＶＣを決定するための手段と、ここにおいて、前記第１のＩＰＭＶＣは、第２の参照ビュー中の第２の参照ブロックのための動き情報を備え、前記第２の参照ブロックは、第３のオフセット値だけシフトされた第２の視差ベクトルによって参照され、前記第２の視差ベクトルは、前記第２のブロックをインター予測するために使用される、
前記第２のブロックのための第２のＩＰＭＶＣを決定するための手段と、ここにおいて、前記第２のＩＰＭＶＣは、前記第２の参照ビュー中の第３の参照ブロックのための動き情報を備え、前記第３の参照ブロックは、シフトされておらず、前記第２のブロックをインター予測するために使用される前記第２の視差ベクトルによって参照される、
前記第１のＩＰＭＶＣを、前記第２のＩＰＭＶＣのみと比較するための手段と、
前記比較が、前記第２のＩＰＭＶＣが前記第１のＩＰＭＶＣとは異なることを示すことに基づいて、前記第１のＩＰＭＶＣを、前記第２のブロックのための候補リスト中に含めるための手段と、
前記第２のブロックのための前記候補リストに基づいて、前記第２のブロックをインター予測復号するための手段と
を更に備える、請求項２２に記載の機器。
【請求項２４】
ビデオデータを符号化するための機器であって、前記機器はビデオエンコーダを備え、前記ビデオエンコーダは、
現在ブロックがマージモードでインター予測されるか、又はスキップモードでインター予測されるかを決定することと、
前記現在ブロックがマージモードでインター予測される、又はスキップモードでインター予測されることに基づいて、
参照ビュー中の参照ブロックを識別することと、前記参照ブロックは、第１のオフセット値だけシフトされた視差ベクトルによって参照され、前記視差ベクトルは、前記現在ブロックをインター予測するために使用される、
識別された前記参照ブロックのための動き情報が利用可能ではないと決定することと、
識別された前記参照ブロックの前記動き情報が利用可能ではないことに基づいて、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）が前記現在ブロックのために利用可能ではないと決定することと、
前記ＩＰＭＶＣが利用可能ではないことに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出し、前記ＩＤＭＶＣを前記現在ブロックのための候補リスト中に含めることと、ここにおいて、前記ＩＤＭＶＣは、前記参照ブロックを識別するために前記視差ベクトルをシフトするために使用された前記第１のオフセット値とは異なる第２のオフセット値だけシフトされた前記視差ベクトルを備え、前記視差ベクトルは、前記現在ブロックをインター予測するために使用される、
前記候補リストに基づいて、前記参照ビューとは異なる、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測符号化することと
を行うように構成される、機器。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、
２０１２年１２月７日に出願された米国仮出願第６１／７３４，９２９号、及び２０１２年１２月３０日に出願された米国仮出願第６１／７４７，３５０号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコード化に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、携帯電話又は衛星無線電話、所謂「スマートフォン」、ビデオ遠隔会議機器、ビデオストリーミング機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、高度ビデオコード化（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオ機器は、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び／又は記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的（イントラピクチャ）予測及び／又は時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコード化では、ビデオスライス（即ち、ビデオフレーム又はビデオフレームの一部分）がビデオブロックに区分されてよく、これらのビデオブロックは、ツリーブロック、コード化単位（ＣＵ）及び／又はコード化ノードと呼ばれることもある。ピクチャのイントラコード化された（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化された（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測又は時間的予測は、コード化されるべきブロックの予測ブロックを生じる。残差データは、コード化されるべき元のブロックと、予測ブロックとの間の画素差分を表す。インターコード化されたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化されたブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化されたブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコード化が適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示は、マルチビュー及び３Ｄビデオコード化における動き予測のコード化効率を改善するための技法について説明する。例えば、それらの技法は、マージ／スキップモード及び高度動きベクトル予測（ＡＭＶＰ：advanced motion vector prediction）モードのための候補リスト中の候補として、ビュー間予測動きベクトル候補と、ビュー間視差動きベクトル候補とを利用し得る。それらの技法は、ビュー間予測動きベクトル候補を導出するために、参照ビュー中の参照ブロックを識別するために、インター予測されている現在ブロックのための、視差ベクトルを第１のオフセットだけシフトし、シフトされた視差ベクトルをビュー間視差動きベクトル候補に変換するために、視差ベクトルを第２の異なるオフセットだけシフトし得る。
【０００７】
[0007]幾つかの例では、それらの技法は、ビュー間予測動きベクトル候補が利用可能である場合、ビュー間予測動きベクトル候補のみを候補リスト中に含め、ビュー間予測動きベクトル候補が利用可能ではない場合、ビュー間視差動きベクトル候補のみを候補リスト中に含め得る。幾つかの例では、それらの技法は、別のビュー間予測動きベクトル候補（例えば、視差ベクトルをシフトすることなしに導出されたもの）のための動き情報が、既に候補リスト中に含まれている場合、ビュー間予測動きベクトル候補が利用可能である場合でも、ビュー間予測動きベクトル候補を候補リスト中に含めなくてよい。
【０００８】
[0008]一例では、本開示は、ビデオデータをコード化する方法について説明し、その方法は、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測（ＡＭＶＰ）モードでインター予測されるかを決定することと、現在ブロックがＡＭＶＰモードでインター予測される場合、少なくとも１つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ：inter-view disparity motion vector candidate）を導出するか、ビュー間予測動きベクトル候補（ＩＰＭＶＣ：inter-view predicted motion vector candidate）を導出するかを決定することと、現在ブロックがマージモード又はスキップモードでインター予測される場合、ＩＰＭＶＣの利用可能性を決定することとを含む。この例では、ＩＰＭＶＣは、第１のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルを備える。その方法はまた、ＩＰＭＶＣが候補リスト中に含まれるべきであるか、ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定することと、候補リストに基づいて、異なる形式参照ビュー、現在ビュー中の現在ピクチャ中の現在ブロックをインター予測コード化することとを含む。
【０００９】
[0009]一例では、本開示は、ビデオデータをコード化するための機器について説明しており、その機器はビデオコーダを備え、ビデオコーダは、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測（ＡＭＶＰ）モードでインター予測されるかを決定することと、現在ブロックがＡＭＶＰモードでインター予測される場合、少なくとも１つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出するか、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を導出するかを決定することと、現在ブロックがマージモード又はスキップモードでインター予測される場合、ＩＰＭＶＣの利用可能性を決定することとを行うように構成される。この例では、ＩＰＭＶＣは、第１のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルを備える。ビデオコーダはまた、ＩＰＭＶＣが候補リスト中に含まれるべきであるか、ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定することと、候補リストに基づいて、異なる形式参照ビュー、現在ビュー中の現在ピクチャ中の現在ブロックをインター予測コード化することとを行うように構成される。
【００１０】
[0010]一例では、本開示は、実行されたとき、ビデオデータをコード化するための機器の１つ又は複数のプロセッサに、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測（ＡＭＶＰ）モードでインター予測されるかを決定することと、現在ブロックがＡＭＶＰモードでインター予測される場合、少なくとも１つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出するか、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を導出するかを決定することと、現在ブロックがマージモード又はスキップモードでインター予測される場合、ＩＰＭＶＣの利用可能性を決定することとを行わせる命令を記憶した、コンピュータ可読記憶媒体について説明する。この例では、ＩＰＭＶＣは、第１のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルを備える。それらの命令はまた、ＩＰＭＶＣが候補リスト中に含まれるべきであるか、ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定することと、候補リストに基づいて、異なる形式参照ビュー、現在ビュー中の現在ピクチャ中の現在ブロックをインター予測コード化することとを、１つ又は複数のプロセッサに行わせる。
【００１１】
[0011]一例では、本開示は、ビデオデータをコード化するための機器について説明し、その機器は、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測（ＡＭＶＰ）モードでインター予測されるかを決定するための手段と、現在ブロックがＡＭＶＰモードでインター予測される場合、少なくとも１つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出するか、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を導出するかを決定するための手段と、現在ブロックがマージモード又はスキップモードでインター予測される場合、ＩＰＭＶＣの利用可能性を決定するための手段とを備える。この例では、ＩＰＭＶＣは、第１のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルを備える。その機器はまた、ＩＰＭＶＣが候補リスト中に含まれるべきであるか、ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定するための手段と、候補リストに基づいて、異なる形式参照ビュー、現在ビュー中の現在ピクチャ中の現在ブロックをインター予測コード化するための手段とを含む。
【００１２】
[0012]１つ又は複数の例の詳細が、添付の図面及び以下の説明に記載されている。他の特徴、目的、及び利点は、その説明及び図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１３】
【図１】[0013]本開示のインター予測技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２】[0014]マルチビュービデオのための例示的な復号順序を示す概念図。
【図３】[0015]マルチビュービデオのための例示的な予測構造を示す概念図。
【図４】[0016]マージモードとＡＭＶＰモードの両方で使用され得る候補ブロックの例示的なセットを示す図。
【図５】[0017]現在ブロックのための視差ベクトルを決定するための候補ピクチャ中でチェックされるブロックの一例を示す図。
【図６】[0018]ビュー間予測動きベクトル候補の例示的な導出プロセスを示す概念図。
【図７】[0019]本開示のインター予測技法を実装し得る、ビデオエンコーダの一例を示すブロック図。
【図８】[0020]本開示のインター予測技法を実装し得る、ビデオデコーダの一例を示すブロック図。
【図９】[0021]本開示の技法による例示的な符号化プロセスを示すフローチャート。
【図１０】[0022]本開示の技法による例示的な復号プロセスを示すフローチャート。
【発明を実施するための形態】
【００１４】
[0023]本開示は、一般に３Ｄ  ＨＥＶＣと呼ばれる新生の３次元の高効率ビデオコード化規格中を含む、マルチビュービデオコード化中の動きパラメータの信号伝達に関係する技法について説明する。ビデオ圧縮技法は、ビデオデータの既にコード化されたブロックに基づいて、ビデオデータの現在ブロックを予測することを含み得る。本開示では、現在ブロックという用語は、一般に、既にコード化されているビデオブロック、又は、まだコード化されていないビデオブロックの対語として、現在コード化（例えば、符号化又は復号）されているビデオデータのブロックを指す。イントラ予測モードでは、現在ブロックは、現在ブロックと同じピクチャ中の１つ又は複数の前にコード化されたブロックに基づいて予測されるが、インター予測モードでは、現在ブロックは、異なるピクチャ中の既にコード化されたブロックに基づいて予測される。異なるピクチャは、現在ブロックと同じビューからの異なる時間インスタンスのピクチャ（例えば、現在ピクチャを含むアクセス単位とは別のアクセス単位中のピクチャ）であってよく、又は、同じ時間インスタンスからであるが、異なるビューからのピクチャ（例えば、現在ピクチャを含むアクセス単位と同じアクセス単位中のピクチャ）であってよい。
【００１５】
[0024]ビデオデコーダが、所与のビデオブロックのためのインター予測を実行することになるとき、動きパラメータは、符号化されたビデオビットストリーム中で信号伝達される。動きパラメータは、例えば、どのピクチャ中のどのブロックを現在ブロックのための予測ブロックとして使用するべきかを、ビデオデコーダが決定することができるように、動きベクトルと、参照ピクチャインデックスと、予測方向とを定義する。ビデオコーダは、符号化されたビットストリーム中で動きパラメータを信号伝達(signaling)するための、様々なモードを使用し得る。インター予測コード化を実施するために必要とされるビット数を低減するために、それらのモードのうちの幾つかは、動きパラメータの明示的な信号伝達ではなく、動きパラメータの予測を利用し得る。高効率ビデオコード化（ＨＥＶＣ）規格では、動きパラメータの予測のための様々なモードがあり、そのうちの１つは、マージモードと呼ばれる。マージモードでは、ビデオコーダは、空間隣接ブロックと時間隣接ブロックとを含み、また、３Ｄ−ＨＥＶＣの場合にはビュー間隣接ブロックをも含む、隣接ブロックからの候補動きパラメータとして使用して、動きパラメータ（例えば、参照ピクチャ及び動きベクトル）の候補リストを構築する。選ばれた動きパラメータは、候補リストからの選択された候補のインデックスを送信することによって、ビデオエンコーダからビデオデコーダへ信号伝達される。ビデオデコーダにおいて、インデックスが復号されると、選択された候補の対応するブロックの全ての動きパラメータが継承される。ビデオエンコーダ及びビデオデコーダは、既にコード化されたブロックに基づいて同じリストを構築するように構成される。従って、インデックスに基づいて、ビデオデコーダは、ビデオエンコーダによって選択された候補の動きパラメータを識別することができる。
【００１６】
[0025]動きパラメータを予測するための別のモードは、スキップモードである。スキップモードは、一般に、マージモードについて上記で説明された同じ方法で動作するが、スキップモードでは、残差データが予測されたブロックに加算されないのに対して、マージモードでは、残差データが予測されたブロックに加算される。マージモードを参照しながら上記で説明された、リストの構築、及び、リスト中の候補を識別するためのインデックスの送信はまた、一般に、スキップモードでも実行される。幾つかのビデオコーデックは、スキップモードをマージモードとは別個のモードとして扱うことができるが、ＨＥＶＣ及びその拡張を含む他のビデオコード化規格は、スキップモードをマージモードの特殊な場合として扱うことができる。
【００１７】
[0026]動きパラメータを予測するための別のモードは、高度動きベクトル予測（ＡＭＶＰ）モードである。ＡＭＶＰモードでは、各動き仮定のための動きベクトル予測子の候補リストは、コード化された参照インデックスに基づいて導出される。このリストは、同じ参照インデックスと、時間参照ピクチャにおいて同一位置配置されたブロックの隣接ブロックの動きパラメータに基づいて導出される時間動きベクトル予測子とに関連する、隣接ブロックの動きベクトルを含む。選ばれた動きベクトルは、候補リストへのインデックスを送信することによって信号伝達される。加えて、参照インデックス値及び動きベクトル差分も信号伝達される。本開示では、動きベクトル予測子という用語は、一般に、それから１つ又は複数の動きベクトルが予測される、任意の動きベクトルを指すために使用される。幾つかの事例では、動きベクトル予測子及び予測された動きベクトルは同一であり得るが、他の事例では、動きベクトル予測子及び予測された動きベクトルは異なり得る。ＡＭＶＰモードでは、例えば、予測された動きベクトルは、動きベクトル予測子プラス動きベクトル差分値に対応する。本開示はまた、方向動き予測子という用語にも言及し、方向動き予測子は、一般に、動きベクトル予測子が特定の方向に関連付ける（即ち、特定の参照ピクチャリスト）を指す。双予測の場合、動きベクトル予測子は、２つの方向動き予測子を含み得る。
【００１８】
[0027]視差ベクトルは、一般に、現在ビューの現在ブロックに対応するビュー間参照ピクチャ中のブロックの位置（location）を識別するために使用される。現在ブロックのための視差ベクトル（ＤＶ：disparity vector）を導出するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ：Neighboring Blocks based Disparity Vector）導出と呼ばれる技法が、３Ｄ−ＨＥＶＣテストモデル（３Ｄ−ＨＴＭ）の幾つかの現在バージョンにおいて使用される。ＮＢＤＶは、現在ブロックの空間及び時間隣接ブロックからの、視差動きベクトルを利用する。ＮＢＤＶでは、空間又は時間隣接ブロックの視差動きベクトルは、固定された順序でチェックされる。視差動きベクトル（即ち、ビュー間参照ピクチャを指す動きベクトル）が識別されると、チェックプロセスが終了させられ、識別された視差動きベクトルが、現在ブロックのためのＤＶに変換される。ＤＶは、ビュー間動き予測及び／又はビュー間残余予測において使用され得る。全ての予め定義された隣接ブロックをチェックした後、視差動きベクトルが見つからない場合、ゼロＤＶがビュー間動き予測のために使用され得るが、ビュー間残差予測は、対応する予測単位（ＰＵ）に対して使用禁止にされ得る。
【００１９】
[0028]幾つかの例では、現在ブロックのための視差ベクトルは、隣接ブロックの視差ベクトルから導出され得る。例えば、隣接ブロック（例えば、空間又は時間隣接ブロック）は、視差動きベクトルを用いてインター予測されていないことがある。しかしながら、隣接ブロックの符号化又は復号中に、その隣接ブロックのための視差ベクトルが導出されていることがある。この隣接ブロックの導出された視差ベクトルは、現在ブロックのための視差ベクトルとして使用され得る。例えば、評価される隣接ブロックのいずれも、視差動きベクトルを用いてインター予測されないが、導出された視差ベクトルが隣接ブロックのために出る場合、ビデオエンコーダ及びビデオデコーダは、隣接ブロックの導出された視差ベクトルを、現在ブロックのための視差ベクトルとして設定し得る。
【００２０】
[0029]ＤＶに基づいて、ビュー間予測動きベクトルと呼ばれる新しい動きベクトル候補が、利用可能な場合、ＡＭＶＰ及びスキップ／マージモードのための候補リストに追加され得る。ビュー間予測動きベクトルは、利用可能な場合、時間動きベクトルである。概して、本開示は、マルチビュー及び３Ｄビデオコード化における動き予測のコード化効率を改善するための技法について説明する。
【００２１】
[0030]図１は、本開示の技法を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示されるように、システム１０は、宛先機器１４によって後で復号されるべき符号化されたビデオデータを与える発信源機器１２を含む。具体的には、発信源機器１２は、コンピュータ可読媒体１６を介してビデオデータを宛先機器１４に与える。発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器１２及び宛先機器１４は、ワイヤレス通信のために装備され得る。
【００２２】
[0031]宛先機器１４は、コンピュータ可読媒体１６を介して復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体１６は、発信源機器１２から宛先機器１４に符号化されたビデオデータを移動させることができる任意のタイプの媒体又は機器を備え得る。一例では、コンピュータ可読媒体１６は、発信源機器１２が、符号化されたビデオデータをリアルタイムで宛先機器１４に直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトル又は１つもしくは複数の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器１２から宛先機器１４への通信を可能にするために有用であり得る、ルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００２３】
[0032]幾つかの例では、符号化されたデータは、出力インターフェース２２から記憶装置に出力され得る。同様に、符号化されたデータは、入力インターフェース２８によって記憶装置からアクセスされ得る。記憶装置は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性又は不揮発性メモリ、若しくは符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散された又はローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。更なる一例では、記憶装置は、発信源機器１２によって生成された符号化されたビデオを記憶し得る、ファイルサーバ又は別の中間記憶装置に対応し得る。宛先機器１４は、ストリーミング又はダウンロードを介して、記憶装置から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先機器１４に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（例えば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）装置、又はローカルディスクドライブがある。宛先機器１４は、インターネット接続を含む、任意の標準的なデータ接続を通じて、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含み得る。記憶装置からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組合せであり得る。
【００２４】
[0033]本開示の技法は、必ずしもワイヤレスの適用例又は設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００２５】
[0034]図１の例では、発信源機器１２は、ビデオ発信源１８と、深度推定ユニット１９と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、深度画像ベースレンダリング（ＤＩＢＲ：depth image based rendering）ユニット３１と、表示装置３２とを含む。他の例では、発信源機器及び宛先機器は、他の構成要素又は構成を含み得る。例えば、発信源機器１２は、外部カメラなど、外部ビデオ発信源１８からビデオデータを受信し得る。同様に、宛先機器１４は、内蔵表示装置を含むのではなく、外部表示装置とインターフェースし得る。本開示で説明される技法の多数は、ビデオエンコーダ２０とビデオデコーダ３０の両方によって実行され得る。従って、説明を簡単にするために、ビデオエンコーダ２０及びビデオデコーダ３０は、時々、一緒にビデオコーダ２０／３０と呼ばれることがある。ビデオコーダ２０／３０に関して説明される技法は、ビデオエンコーダ２０又はビデオデコーダ３０のいずれかによって実行され得る。
【００２６】
[0035]図１の図示されたシステム１０は一例にすぎない。本開示の技法は、任意のデジタルビデオ符号化及び／又は復号機器によって実行され得る。概して、本開示の技法はビデオ符号化機器によって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。発信源機器１２及び宛先機器１４は、発信源機器１２が宛先機器１４に送信するためのコード化されたビデオデータを生成するような、コード化機器の例にすぎない。幾つかの例では、機器１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、機器１２、１４は、実質的に対称的に動作し得る。従って、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器１２とビデオ機器１４との間の一方向又は双方向のビデオ送信をサポートし得る。
【００２７】
[0036]発信源機器１２のビデオ発信源１８は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び／又はビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。更なる代替として、ビデオ発信源１８は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブされたビデオとコンピュータにより生成されたビデオとの組合せを生成し得る。場合によっては、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラフォン又はビデオフォンを形成し得る。但し、上述のように、本開示で説明される技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤード適用例に適用され得る。各場合において、撮影されたビデオ、プリ撮影されたビデオ、又はコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００２８】
[0037]ビデオ発信源１８は、ビデオエンコーダ２０にビデオデータの複数のビューを与え得る。例えば、ビデオ発信源１８は、各々が、撮影されている特定のシーンに対して一意の水平位置を有するカメラのアレイに対応し得る。代替として、ビデオ発信源１８は、例えば、コンピュータグラフィックスを使用して、異種水平カメラ奥行きからビデオデータを生成し得る。深度推定ユニット１９は、テクスチャ画像中の画素に対応する深度画素のための値を決定するように構成され得る。例えば、深度推定ユニット１９は、音響航法及び測距（ＳＯＮＡＲ：Sound Navigation and Ranging）ユニット、光検出及び測距（ＬＩＤＡＲ：Light Detection and Ranging）ユニット、又は、シーンのビデオデータを記録しながら、実質的に同時に深度値を直接決定することができる他のユニットを表し得る。
【００２９】
[0038]追加又は代替として、深度推定ユニット１９は、異なる水平カメラ奥行き（perspectives）から実質的に同時に撮影された２つ以上の画像を比較することによって、間接的に深度値を計算するように構成され得る。画像中の実質的に同様の画素値の間の水平視差を計算することによって、深度推定ユニット１９は、シーン中の様々なオブジェクトの深度を概算することができる。深度推定ユニット１９は、幾つかの例では、ビデオ発信源１８と機能的に統合され得る。例えば、ビデオ発信源１８がコンピュータグラフィックス画像を生成するとき、深度推定ユニット１９は、例えば、画素のｚ座標と、テクスチャ画像をレンダリングするために使用されたオブジェクトとを使用して、グラフィカルオブジェクトのための実際の深度マップを与え得る。
【００３０】
[0039]コンピュータ可読媒体１６は、ワイヤレスブロードキャスト又はワイヤードネットワーク送信などの一時媒体、若しくは、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク、又は他のコンピュータ可読媒体などの記憶媒体（即ち、非一時的記憶媒体）を含み得る。幾つかの例では、ネットワークサーバ（図示せず）は、例えば、ネットワーク送信を介して、発信源機器１２から符号化されたビデオデータを受信し、宛先機器１４に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピュータ機器は、発信源機器１２から符号化されたビデオデータを受信し、その符号化されたビデオデータを含んでいるディスクを生成し得る。従って、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つ又は複数のコンピュータ可読媒体を含むことが理解されよう。
【００３１】
[0040]宛先機器１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロック及び他のコード化単位、例えば、ピクチャグループ（ＧＯＰ）の特性及び／又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。表示装置３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。幾つかの例では、表示装置３２は、例えば、視聴者に対する３Ｄ視覚効果を生成するために、同時に又は実質的に同時に２つ以上のビューを表示することが可能な機器を備え得る。
【００３２】
[0041]宛先機器１４のＤＩＢＲユニット３１は、ビデオデコーダ３０から受信された復号されたビューのテクスチャ及び深度情報を使用して、合成されたビューをレンダリングし得る。例えば、ＤＩＢＲユニット３１は、対応する深度マップ中の画素の値に応じて、テクスチャ画像の画素データのための水平視差を決定し得る。ＤＩＢＲユニット３１は、次いで、決定された水平視差によって、テクスチャ画像中の画素を左又は右にオフセットすることによって、合成された画像を生成し得る。このようにして、表示装置３２は、１つ又は複数のビューを表示することができ、１つ又は複数のビューは、任意の組合せにおける、復号されたビュー及び／又は合成されたビューに対応し得る。本開示の技法によれば、ビデオデコーダ３０は、深度範囲及びカメラパラメータのための元の精度値と更新された精度値とを、ＤＩＢＲユニット３１に与えることができ、ＤＩＢＲユニット３１は、ビューを適切に合成するために、深度範囲とカメラパラメータとを使用することができる。
【００３３】
[0042]図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３４】
[0043]ビデオエンコーダ２０及びビデオデコーダ３０は、高効率ビデオコード化（ＨＥＶＣ）規格などのビデオコード化規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。今度のＨＥＶＣ規格の最近のドラフトは、文書ＨＣＴＶＣ−Ｊ１００３、Ｂｒｏｓｓら、「High Efficiency Video Coding(HEVC) Text Specification Draft 8」、ITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT-VC)、第１０回会合：ストックホルム、スウェーデン、２０１２年７月１１日から２０１２年７月１２日に記載されており、この文書は、２０１３年１２月４日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zipからダウンロード可能である。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  １０」又は「ＷＤ１０」と呼ばれるＨＥＶＣ規格の別の最近のドラフトは、文書JCTVC-L1003v34、Brossら、「High efficiency video coding(HEVC) text specification draft 10(for FDIS&Last Call)」、ITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT-VC)、第１２回会合：ジュネーブ、スイス、２０１３年１月１４〜２３日に記載されており、この文書は、２０１３年１２月４日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zipからダウンロード可能である。ＨＥＶＣ規格の更に別のドラフトは、本明細書で「ＷＤ１０改訂」と呼ばれ、Brossら、「Editors’ proposed corrections to HEVC version 1」、ITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT-VC)、第１３回会合、仁川、韓国、２０１３年４月に記載されており、この文書は、２０１３年１２月４日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0432-v3.zipから入手可能である。
【００３５】
[0044]例示のために、本開示の技法について、主に、ＨＥＶＣの３ＤＶ拡張に関して説明される。但し、これらの技法が、３次元効果を生成するために使用されるビデオデータをコード化するための他の規格にも適用され得ることを理解されたい。
【００３６】
[0045]VCEG及びMPEGのJoint Collaboration Team on 3D Video Coding(JCT-3C)は、ＨＥＶＣに基づいて３ＤＶ規格を開発中であり、そのための規格化の取組みの一部は、ＨＥＶＣに基づくマルチビュービデオコーデック（ＭＶ−ＨＥＶＣ）と、ＨＥＶＣに基づく３Ｄビデオコード化（３Ｄ−ＨＥＶＣ）のための別の部分との規格化を含む。ＭＶ−ＨＥＶＣでは、一般に、ＨＥＶＣ中のＣＵ／ＰＵレベルにおけるモジュールが再設計される必要がなく、完全にＭＶ−ＨＥＶＣに対して再使用され得るように、ＨＥＶＣに関してハイレベルシンタックス（ＨＬＳ）の変更しかないことが望まれる。３Ｄ−ＨＥＶＣでは、テクスチャビューと深度ビューの両方のための、ユニット／予測ユニットレベルにおけるコード化におけるものを含む、新しいコード化ツールが含まれ、サポートされ得る。３Ｄ−ＨＥＶＣのための最新のソフトウェア３Ｄ−ＨＴＭは、２０１３年１２月４日現在、以下のリンクからダウンロードされ得、即ち、https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/trunk/又はhttps://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-5.0/である。
【００３７】
[0046]代替として、ビデオエンコーダ２０及びビデオデコーダ３０は、代替としてＭＰＥＧ−４、Ｐａｒｔ  １０、高度ビデオコード化（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格又は業界規格、又はＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣのＭＶＣ拡張など、そのような規格の拡張に従って動作し得る。特に、本開示の技法は、高度コーデックに基づいたマルチビュー及び／又は３Ｄビデオコード化に関する。概して、本開示の技法は、多種多様なビデオコード化規格のいずれかに適用され得る。例えば、これらの技法は、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ（高度ビデオコード化）のマルチビュービデオコード化（ＭＶＣ：multi-view video coding）拡張、今度のＨＥＶＣ規格の３Ｄビデオ（３ＤＶ）拡張（例えば、３Ｄ−ＨＥＶＣ）、又は他のコード化規格に適用され得る。
【００３８】
[0047]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果としてISO/IEC Moving Picture Experts Group(MPEG)とともにITU-T Video Coding Experts Group（ＶＣＥＧ）によって策定された。幾つかの態様では、本開示で説明される技法は、概してＨ．２６４規格に準拠する機器に適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付のＩＴＵ−Ｔ勧告H.264、Advanced Video Coding for generic audiovisual servicesに記載されており、本明細書ではＨ．２６４規格もしくはＨ．２６４仕様、又はＨ．２６４／ＡＶＣ規格もしくは仕様と呼ばれることがある。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００３９】
[0048]ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せなどの、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０及び／又はビデオデコーダ３０を含む機器は、集積回路、マイクロプロセッサ、及び／又は携帯電話などのワイヤレス通信機器を備え得る。
【００４０】
[0049]最初に、ＨＥＶＣの例示的なコード化技法について説明される。ＪＣＴ−ＶＣが、ＨＥＶＣ規格を開発した。ＨＥＶＣ規格化の取組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器の発展的モデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は９個のイントラ予測符号化モードを提供するが、ＨＭは３３個もの角度イントラ予測符号化モードプラスＤＣモードと平面モードとを提供することができる。
【００４１】
[0050]概して、ＨＭの作業モデルは、ビデオフレーム又はピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロック又は最大コード化単位（ＬＣＵ：largest coding unit）に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、画素の数に関して最大コード化単位であるＬＣＵのサイズを定義し得る。スライスは、コード化順序で幾つかの連続するツリーブロックを含む。ビデオフレーム又はピクチャは、１つ又は複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコード化単位（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００４２】
[0051]４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。例えば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義されてよく、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがこれ以上分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的な分割が存在しない場合でも、リーフＣＵの４つのサブＣＵもリーフＣＵと呼ばれるようになる。例えば、１６×１６サイズのＣＵが更に分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵもリーフＣＵと呼ばれるようになる。
【００４３】
[0052]ＣＵは、ＣＵがサイズ差異を有しないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。例えば、ツリーブロックは、４つの子ノード（サブＣＵとも呼ばれる）に分割され得、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵとも呼ばれるコード化ノードを備える。コード化されたビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コード化ノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コード化単位（ＳＣＵ：smallest coding unit）をも定義し得る。本開示は、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、又はＴＵ、若しくは他の規格のコンテキストにおける同様のデータ構造（例えば、Ｈ．２６４／ＡＶＣにおけるマクロブロック及びそのサブブロック）のいずれかを指すために「ブロック」という用語を使用する。
【００４４】
[0053]ＣＵは、コード化ノードと、コード化ノードに関連する予測単位（ＰＵ）及び変換単位（ＴＵ）とを含む。ＣＵのサイズは、コード化ノードのサイズに対応し、形状が正方形でなければならない。ＣＵのサイズは、８×８画素から最大６４×６４以上の画素をもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つ又は複数のＰＵと、１つ又は複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、例えば、ＣＵを１つ又は複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化又はマージモード符号化されるか、イントラ予測モード符号化されるか、若しくはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連するシンタックスデータは、例えば、４分木に従って、ＣＵを１つ又は複数のＴＵに区分することも記述し得る。ＴＵは、形状が正方形又は非正方形（例えば、矩形）であり得る。
【００４５】
[0054]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、通常、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らないことがある。ＴＵは、通常、ＰＵと同じサイズであるか、又はＰＵよりも小さい。幾つかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ）として知られる４分木構造を使用してより小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換単位（ＴＵ）と呼ばれることがある。ＴＵに関連する画素差分値は、変換係数を生成するように変換されてよく、その変換係数は量子化され得る。
【００４６】
[0055]リーフＣＵは、１つ又は複数の予測単位（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部又は一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵのデータは、ＰＵに対応するＴＵのイントラ予測モードを記述するデータを含み得る、残差４分木（ＲＱＴ）中に含まれ得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための１つ又は複数の動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての分解能（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照ピクチャ、及び／又は動きベクトル用の参照ピクチャリスト（例えば、リスト０、リスト１、又はリストＣ）を記述することができる。
【００４７】
[0056]１つ又は複数のＰＵを有するリーフＣＵはまた、１つ又は複数の変換単位（ＴＵ）を含み得る。変換単位は、上記で説明されたように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。例えば、分割フラグは、リーフＣＵが４つの変換単位に分割されるかどうかを示し得る。次いで、各変換単位は、更なるサブＴＵに更に分割され得る。ＴＵが更に分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。一般に、イントラコード化の場合、リーフＣＵに属する全てのリーフＴＵは同じイントラ予測モードを共有する。即ち、一般に、リーフＣＵの全てのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコード化の場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。従って、ＴＵはＰＵよりも大きく又は小さくなり得る。イントラコード化の場合、ＰＵは、同じＣＵの対応するリーフＴＵと同一位置に配置され得る。幾つかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００４８】
[0057]その上、リーフＣＵのＴＵはまた、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連付けられ得る。即ち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは一般にリーフＣＵに対応し、ＣＵ４分木のルートノードは一般にツリーブロック（又はＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、特に明記しない限り、リーフＣＵ及びリーフＴＵに言及するためにそれぞれＣＵ及びＴＵという用語を使用する。
【００４９】
[0058]ビデオシーケンスは、通常、一連のビデオフレーム又はピクチャを含む。ピクチャグループ（ＧＯＰ）は、一般に、ビデオピクチャのうちの一連の１つ又は複数を備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つ又は複数のヘッダ中、又は他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコード化ノードに対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定されたコード化規格に従ってサイズが異なり得る。
【００５０】
[0059]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」という表示によって示される。従って、例えば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５ＮのＰＵ及び下部の２Ｎ×１．５ＮのＰＵで水平方向に区分化された２Ｎ×２ＮのＣＵを指す。
【００５１】
[0060]本開示では、「Ｎ×Ｎ（NxN）」及び「Ｎ×Ｎ（N by N）」は、垂直寸法及び水平寸法に関するビデオブロックの画素寸法、例えば、１６×１６（16x16）画素又は１６×１６（16 by 16）画素を指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、但し、Ｎは非負整数値を表す。ブロック中の画素は行と列とに構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要があるとは限らない。例えば、ブロックはＮ×Ｍ画素を備えてよく、この場合に、Ｍは必ずしもＮに等しいとは限らない。
【００５２】
[0061]ＣＵのＰＵを使用したイントラ予測コード化又はインター予測コード化の後、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（画素領域とも呼ばれる）空間領域において予測画素データを生成する方法又はモードを記述するシンタックスデータを備えてよく、ＴＵは、変換、例えば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に同様の変換の適用後の、変換領域における係数を備え得る。残差データは、符号化されていないピクチャの画素と、ＰＵに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００５３】
[0062]変換係数を生成するための任意の変換の後、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中にｎビット値がｍビット値に切り捨てられてよく、但し、ｎはｍよりも大きい。
【００５４】
[0063]量子化の後、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、アレイの前部により高いエネルギー（従って、より低い周波数）係数を配置し、アレイの後部により低いエネルギー（従って、より高い周波数）係数を配置するように設計され得る。幾つかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するために予め定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後、ビデオエンコーダ２０は、例えば、コンテキスト適応型可変長コード化（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コード化、又は別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化されたビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００５５】
[0064]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が０ではないかどうかに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構築され得る。このようにして、ＶＬＣの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられるコンテキストに基づき得る。
【００５６】
[0065]このセクションでは、マルチビューコード化技法、及びマルチビュープラス深度コード化技法について説明される。最初に、ＭＶＣ技法について説明される。上述されたように、ＭＶＣは、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣの拡張である。ＭＶＣでは、複数のビューのためのデータが時間優先順序でコード化され、従って、復号順序構成は、時間優先コード化と呼ばれる。具体的には、共通の時間インスタンスにおける複数のビューの各々のためのビュー構成要素（即ち、ピクチャ）がコード化され得、次いで、異なる時間インスタンスのための別のセットのビュー構成要素がコード化され得、以下同様である。アクセス単位は、１つの出力時間インスタンスのための全てのビューのコード化されたピクチャを含み得る。アクセス単位の復号順序は、必ずしも出力（又は表示）順序と同一であるとは限らないことを理解されたい。
【００５７】
[0066]図２は、典型的なＭＶＣ復号順序（即ち、ビットストリーム順序）を示す。復号順序の構成は、時間優先コード化と呼ばれる。アクセス単位の復号順序は、出力又は表示の順序と同一ではない場合があることに留意されたい。図２では、Ｓ０〜Ｓ７はそれぞれ、マルチビュービデオの異なるビューを指す。Ｔ０〜Ｔ８はそれぞれ、１つの出力時間インスタンスを表す。アクセス単位は、１つの出力時間インスタンスに対する全てのビューのコード化されたピクチャを含み得る。例えば、第１のアクセス単位は時間インスタンスＴ０に対するビューＳ０〜Ｓ７の全てを含むことができ、第２のアクセス単位は時間インスタンスＴ１に対するビューＳ０〜Ｓ７の全てを含むことができ、以下同様である。
【００５８】
[0067]簡潔にするために、本開示は以下の定義を使用し得る。
【００５９】
ビュー構成要素：単一のアクセス単位中のビューのコード化表現。ビューが、コード化テクスチャ表現とコード化深度表現の両方を含むとき、ビュー構成要素は、テクスチャビュー構成要素及び深度ビュー構成要素からなる。
【００６０】
テクスチャビュー構成要素：単一のアクセス単位中のビューのテクスチャのコード化表現。
【００６１】
深度ビュー構成要素：単一のアクセス単位中のビューの深度のコード化表現。
【００６２】
[0068]図２では、ビューの各々はピクチャのセットを含む。例えば、ビューＳ０は、ピクチャ０、８、１６、２４、３２、４０、４８、５６、及び６４のセットを含み、ビューＳ１は、ピクチャ１、９、１７、２５、３３、４１、４９、５７、及び６５のセットを含み、以下同様である。各セットは２つのピクチャを含み、一方のピクチャはテクスチャビュー構成要素と呼ばれ、他方のピクチャは深度ビュー構成要素と呼ばれる。ビューのピクチャのセット内のテクスチャビュー構成要素及び深度ビュー構成要素は、互いに対応すると見なされ得る。例えば、ビューのピクチャのセット内のテクスチャビュー構成要素は、そのビューのピクチャのセット内の深度ビュー構成要素に対応すると見なされ、その逆も同様である（即ち、深度ビュー構成要素はセット中のそのテクスチャビュー構成要素に対応し、その逆も同様である）。本開示で使用される場合、深度ビュー構成要素に対応するテクスチャビュー構成要素は、テクスチャビュー構成要素と見なされ得、深度ビュー構成要素は、単一のアクセス単位の同じビューの一部である。
【００６３】
[0069]テクスチャビュー構成要素は、表示される実際の画像コンテンツを含む。例えば、テクスチャビュー構成要素は、ルーマ（Ｙ）成分と、クロマ（Ｃｂ及びＣｒ）成分とを含み得る。深度ビュー構成要素は、その対応するテクスチャビュー構成要素中の画素の相対深度を示し得る。一例として、深度ビュー構成要素は、ルーマ値のみを含むグレースケール画像である。言い換えれば、深度ビュー構成要素は、任意の画像コンテンツを伝達するのではなく、テクスチャビュー構成要素中の画素の相対深度の測定値を与え得る。
【００６４】
[0070]例えば、深度ビュー構成要素中の純白の画素は、対応するテクスチャビュー構成要素中のその対応する１つ又は複数の画素が閲覧者から見てより近いことを示し、深度ビュー構成要素中の純黒の画素は、対応するテクスチャビュー構成要素中のその対応する１つ又は複数の画素が閲覧者から見てより遠いことを示す。黒と白との中間にあるグレーの様々な陰影は、異なる深度レベルを示す。例えば、深度ビュー構成要素中の濃いグレーの画素は、テクスチャビュー構成要素中のその対応する画素が、深度ビュー構成要素中のより薄いグレーの画素よりも遠いことを示す。画素の深度を識別するためにグレースケールのみが必要とされるので、深度ビュー構成要素用の色値がいかなる目的も果たし得ないことから、深度ビュー構成要素はクロマ成分を含む必要がない。
【００６５】
[0071]深度を識別するためにルーマ値（例えば、強度値）のみを使用する深度ビュー構成要素が説明のために提供され、限定するものと見なされるべきではない。他の例では、テクスチャビュー構成要素中の画素の相対深度を示すために任意の技法が利用され得る。
【００６６】
[0072]図３は、マルチビュービデオコード化のための（各ビュー内のピクチャ間予測とビュー間予測の両方を含む）典型的なＭＶＣ予測構造を示す。図３中の予測方向は矢印によって示され、矢印の終点のオブジェクトは、予測参照として矢印の始点のオブジェクトを使用する。ＭＶＣでは、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする視差動き補償によって、ビュー間予測がサポートされる。
【００６７】
[0073]図３の例では、（ビューＩＤ「Ｓ０」〜「Ｓ５」を有する）６個のビューが示され、各ビューについて１２個の時間位置（「Ｔ０」〜「Ｔ１１」）が示されている。即ち、図３中の各行はビューに対応し、各列は時間位置を示す。
【００６８】
[0074]ＭＶＣがＨ．２６４／ＡＶＣデコーダによって復号可能である、所謂ベースビューを有し、また、ステレオビューペアがＭＶＣによってサポートされ得るが、ＭＶＣの利点は、ＭＶＣが、３Ｄビデオ入力として３つ以上のビューを使用し、複数のビューによって表されるこの３Ｄビデオを復号する例をサポートすることができることである。ＭＶＣデコーダを有するクライアントのレンダラは、複数のビューを用いて３Ｄビデオコンテンツを予想し得る。
【００６９】
[0075]図３中のピクチャは、各行と各列の交点に示されている。Ｈ．２６４／ＡＶＣ規格は、ビデオの一部分を表すためにフレームという用語を使用する場合がある。本開示は、ピクチャという用語とフレームという用語とを互換的に使用する場合がある。
【００７０】
[0076]図３中のピクチャは、対応するピクチャがイントラコード化される（即ち、Ｉピクチャである）のか、又は一方向に（即ち、Ｐピクチャとして）インターコード化されるのか、複数の方向に（即ち、Ｂピクチャとして）インターコード化されるのかを指定する文字を含むブロックを使用して示される。概して、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のピクチャを使用する。例えば、時間位置Ｔ０にあるビューＳ２のＰピクチャは、時間位置Ｔ０にあるビューＳ０のＩピクチャから予測される。
【００７１】
[0077]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコード化ビデオシーケンスのピクチャは、異なる時間位置にあるピクチャに関して予測符号化され得る。例えば、時間位置Ｔ１にあるビューＳ０のｂピクチャは、時間位置Ｔ０にあるビューＳ０のＩピクチャからそのｂピクチャに向けられた矢印を有し、その矢印は、ｂピクチャがＩピクチャから予測されることを示す。しかしながら、加えて、マルチビュービデオ符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。即ち、ビュー構成要素は、参照のために他のビュー中のビュー構成要素を使用することができる。ＭＶＣでは、例えば、別のビュー中のビュー構成要素がインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット（ＳＰＳ）ＭＶＣ拡張において信号伝達され、インター予測又はビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構築プロセスによって変更され得る。ビュー間予測は、３Ｄ−ＨＥＶＣ（マルチビュープラス深度）を含むＨＥＶＣの提案されたマルチビュー拡張の機能でもある。
【００７２】
[0078]図３は、ビュー間予測の様々な例を提供する。図３の例では、ビューＳ１のピクチャは、ビューＳ１の異なる時間位置にあるピクチャから予測されるものとして、及び同じ時間位置にあるビューＳ０並びにＳ２のピクチャからビュー間予測されるものとして示されている。例えば、時間位置Ｔ１にあるビューＳ１のｂピクチャは、時間位置Ｔ０及びＴ２にあるビューＳ１のＢピクチャの各々、並びに時間位置Ｔ１にあるビューＳ０及びＳ２のｂピクチャから予測される。
【００７３】
[0079]幾つかの例では、図３はテクスチャビュー構成要素を示すものとして見なされ得る。例えば、図２に示されたＩピクチャ、Ｐピクチャ、Ｂピクチャ、及びｂピクチャは、ビューの各々のためのテクスチャビュー構成要素と見なされ得る。本開示で説明される技法によれば、図３に示されたテクスチャビュー構成要素の各々について、対応する深度ビュー構成要素がある。幾つかの例では、深度ビュー構成要素は、対応するテクスチャビュー構成要素について図３に示された方式と同様の方式で予測され得る。
【００７４】
[0080]２つのビューのコード化もまたサポートされ得、またＭＶＣである。ＭＶＣの利点のうちの１つは、ＭＶＣエンコーダが３Ｄビデオ入力として３つ以上のビューをとらえることができ、また、ＭＶＣデコーダがそのようなマルチビュー表現を復号することができることである。従って、ＭＶＣデコーダをもつ任意のレンダラは、３つ以上のビューをもつ３Ｄビデオコンテンツを予想し得る。
【００７５】
[0081]ＭＶＣでは、同じアクセス単位中の（即ち、同じ時間インスタンスをもつ）ピクチャ間でビュー間予測が可能にされる。非ベースビューのうちの１つの中のピクチャをコード化するとき、ピクチャが異なるビュー中にあるが同じ時間インスタンス内にある場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。図３に示されたように、ビュー構成要素は、参照用に他のビュー中のビュー構成要素を使用することができる。ＭＶＣでは、別のビュー中のビュー構成要素がインター予測参照であるかのように、ビュー間予測が実現される。
【００７６】
[0082]以下は、マルチビューコード化、及び／又は、深度を用いたマルチビューコード化（ＭＶ−ＨＥＶＣ）（３Ｄ−ＨＥＶＣ）とともに使用され得る、インター予測に関係する幾つかの関連ＨＥＶＣ技法について説明する。説明のための第１の技法は、インター予測のための参照ピクチャリスト構築である。
【００７７】
[0083]インター予測を使用してＰＵをコード化することは、現在ブロック（例えば、ＰＵ）と参照フレーム中のブロックとの間の動きベクトルを計算することを伴う。動きベクトルは、動き推定（又は動き探索）と呼ばれるプロセスを通して計算される。動きベクトルは、例えば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of squared difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレーム又は参照スライス内のどこにでも発生し得る。幾つかの例では、参照サンプルは分数画素位置において発生し得る。現在部分に最も良く一致する参照フレームの部分を見つけると、エンコーダは、現在ブロックのための現在動きベクトルを、現在ブロックから参照フレーム中の一致する部分までの（例えば、現在ブロックの中心から一致する部分の中心までの）位置の差分として決定する。
【００７８】
[0084]幾つかの例では、エンコーダは、符号化されたビデオビットストリーム中で、各ブロックのための動きベクトルを信号伝達し得る。信号伝達された動きベクトルは、ビデオデータを復号するために、デコーダによって動き補償を実行するために使用される。但し、元の動きベクトルを直接信号伝達すると、一般に、情報を搬送するために多数のビットが必要とされるので、コード化があまり効率的でなくなることがある。
【００７９】
[0085]幾つかの事例では、元の動きベクトルを直接信号伝達するのではなく、エンコーダは、各区分について、即ち、各ＰＵについて動きベクトルを予測し得る。この動きベクトル予測を実行する際に、エンコーダは、現在ブロックと同じフレーム中の空間的に隣接するブロックから決定される動きベクトル候補のセット、又は、参照フレーム（即ち、現在フレーム以外のフレーム）中の同一位置配置ブロック（co-located block）から決定される時間動きベクトル候補を選択し得る。ビデオエンコーダ２０は、動きベクトル予測を実行し、必要な場合、信号伝達する際のビットレートを低減するために、元の動きベクトルを信号伝達するのではなく、動きベクトルを予測するために参照ピクチャへのインデックスを信号伝達し得る。空間的に隣接するブロックからの動きベクトル候補は、空間ＭＶＰ候補と呼ばれることがあるが、別の参照フレーム中の同一位置配置ブロックからの動きベクトル候補は、時間ＭＶＰ候補と呼ばれることがある。
【００８０】
[0086]動きベクトル予測の２つの異なるモード又はタイプが、ＨＥＶＣ規格において提案されている。一方のモードは「マージ」モードと呼ばれる。他方のモードは適応動きベクトル予測（ＡＭＶＰ）と呼ばれる。
【００８１】
[0087]マージモードでは、ビデオエンコーダ２０は、フレームの現在ブロックのための選択された動きベクトル候補から、動きベクトルと、（所与の参照ピクチャリストにおいて動きベクトルが指す参照フレームを識別する）参照インデックスと、（即ち、参照フレームが時間的に現在にフレームに先行するか又は後続するかに関して、参照ピクチャリスト（リスト０又はリスト１）を識別する）動き予測方向とをコピーするように、予測シンタックスのビットストリーム信号伝達を通して、ビデオデコーダ３０に命令する。これは、選択された動きベクトル候補（即ち、特定の空間ＭＶＰ候補又は時間ＭＶＰ候補）を識別する動きベクトル候補リストへのインデックスをビットストリーム中で信号伝達することによって達成される。
【００８２】
[0088]従って、マージモードでは、予測シンタックスは、モード（この場合は「マージ」モード）を識別するフラグと、選択された動きベクトル候補を識別するインデックスとを含み得る。幾つかの事例では、動きベクトル候補は、現在ブロックに関する因果的ブロック中にあることになる。即ち、動きベクトル候補は、ビデオデコーダ３０によって既に復号されていることになる。従って、ビデオデコーダ３０は、因果的ブロックのための動きベクトルと参照インデックスと動き予測方向とを、既に受信及び／又は決定している。従って、ビデオデコーダ３０は、単に、メモリから、因果的ブロックに関連する動きベクトルと参照インデックスと動き予測方向とを取り出し、これらの値を現在ブロックのための動き情報としてコピーし得る。マージモードでブロックを再構築するために、ビデオデコーダ３０は、現在ブロックのための導出された動き情報を使用して予測ブロックを取得し、予測ブロックに残差データを加算して、コード化されたブロックを再構築する。スキップモードでは、同じマージ候補リストが生成されるが、残差は信号伝達されない。簡単のために、スキップモードは、マージモードと同じ動きベクトル導出プロセスを有するので、本書で説明される全ての技法は、マージモードとスキップモードの両方に適用される。
【００８３】
[0089]ＡＭＶＰでは、ビデオエンコーダ２０は、候補ブロックから動きベクトルのみをコピーし、コピーされたベクトルを現在ブロックの動きベクトルのための予測子として使用するように、ビットストリーム信号伝達を通してビデオデコーダ３０に命令し、動きベクトル差分（ＭＶＤ：motion vector difference）を信号伝達する。現在ブロックの動きベクトルに関連する参照フレーム及び予測方向は別に信号伝達される。ＭＶＤは、現在ブロックのための現在動きベクトルと、候補ブロックから導出された動きベクトル予測子との間の差分である。この場合、ビデオエンコーダ２０は、動き推定を使用して、コード化されるべきブロックのための実際の動きベクトルを決定し、次いで、実際の動きベクトルと動きベクトル予測子との間の差分をＭＶＤ値として決定する。このようにして、ビデオデコーダ３０は、マージモードの場合のように、現在動きベクトルとして動きベクトル候補の厳密なコピーを使用しないが、そうではなく、動き推定から決定された現在動きベクトルに値が「近接」し得る動きベクトル候補を使用し、現在動きベクトルを再生するためにＭＶＤを加算し得る。ＡＭＶＰモードでブロックを再構築するために、デコーダは、対応する残差データを加算してコード化されたブロックを再構築する。
【００８４】
[0090]たいていの状況では、ＭＶＤは、信号伝達するために現在動きベクトル全体よりも少ないビットを必要とする。従って、ＡＭＶＰは、動きベクトル全体を送ることに勝るコード化効率を維持しながら、現在動きベクトルをより正確に信号伝達することを可能にする。対照的に、マージモードはＭＶＤの指定に対応しておらず、従って、マージモードは、増加された信号伝達効率（即ち、より少ないビット）のために動きベクトル信号伝達の精度を犠牲にする。ＡＭＶＰの予測シンタックスは、モードのフラグ（この場合はＡＭＶＰフラグ）と、候補ブロックのインデックスと、現在動きベクトルと候補ブロックからの予測動きベクトルとの間のＭＶＤと、参照インデックスと、動き予測方向とを含み得る。
【００８５】
[0091]図４は、マージモードとＡＭＶＰモードの両方で使用され得る候補ブロックの例示的なセット１２０を示す。この例では、候補ブロックは、左下（Ａ０）１２１、左（Ａ１）１２２、左上（Ｂ２）１２５、上（Ｂ１）１２４、及び右上（Ｂ０）１２３空間位置、ならびに、時間（Ｔ）１２６位置にある。この例では、左候補ブロック１２２は、現在ブロック１２７の左エッジに隣接する。左ブロック１２２の下エッジは、現在ブロック１２７の下エッジに整合される。上ブロック１２４は、現在ブロック１２７の上エッジに隣接する。上ブロック１２４の右エッジは、現在ブロック１２７の右エッジに整合される。
【００８６】
[0092]ブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2は、共通に、空間的に隣接するブロック又は空間的に隣接するＰＵと呼ばれる。ビデオコーダ２０／３０は、現在ピクチャの左上のサンプルに対する現在ＰＵ（例えば、図４中の現在ブロック１２７）の左上のルーマサンプルの位置を最初に決定することによって、空間的に隣接するブロックの位置を決定し得る。このルーマ位置は、位置（ｘＰ，ｙＰ）と呼ばれることになる。ビデオコーダ２０／３０は、加えて、ルーマＰＵの幅（ｎＰＳＷと略される）と、ルーマＰＵの高さ（ｎＰＳＨと略される）とを決定し得る。現在ＰＵの左上のルーマサンプルの位置と、現在ＰＵの高さ及び幅とに基づいて、空間隣接ブロックのルーマサンプルの位置は、次のように決定され得る。
【００８７】
ブロックＡ０は、位置（ｘＰ−１，ｙＰ＋ｎＰＳＨ）にあるルーマサンプルを含む、
ブロックＡ１は、位置（ｘＰ−１，ｙＰ＋ｎＰＳＨ−１）にあるルーマサンプルを含む、
ブロックＢ０は、位置（ｘＰ＋ｎＰＳＷ，ｙＰ−１）にあるルーマサンプルを含む、
ブロックＢ１は、位置（ｘＰ＋ｎＰＳＷ−１，ｙＰ−１）にあるルーマサンプルを含む、
ブロックＢ２は、位置（ｘＰ−１，ｙＰ−１）にあるルーマサンプルを含む。
【００８８】
空間隣接ブロックは、同じサイズであり得、又は、現在ＰＵとは異なるサイズであり得る。
【００８９】
[0093]マージモードにおいて使用するための候補リストは、上記で説明された空間隣接ブロックを使用して導出され得る。両方の参照リストのための動きベクトル及び参照インデックスは、次の順序付きステップによって指定されるように導出され得、それらのステップは、空間マージング候補のための導出プロセスの一例である。導出プロセスの一部として、ビデオエンコーダ２０及びビデオデコーダ３０は、次の順序、即ち、Ａ1、Ｂ1、Ｂ0、Ａ0、又はＢ2で空間隣接ＰＵの動き情報をチェックする。ビデオエンコーダ２０及びビデオデコーダ３０は、重複候補が候補リストに追加されることを低減又はなくすために、制約付きプルーニング（constrained pruning）を実行し得る。ビデオコーダ２０／３０は、次のように、マージモード候補リスト中に含まれるべきである空間候補を導出し得る。
【００９０】
−  ビデオコーダ２０／３０は、Ａ1が利用可能である場合、Ａ1を候補リストに挿入する。
【００９１】
−  Ｂ1及びＡ1が同じ動きベクトルと同じ参照インデックスとを有する場合、ビデオコーダ２０／３０は、Ｂ1を候補リストに挿入しない。Ｂ1及びＡ1が同じ動きベクトルと同じ参照インデックスとを有していない場合、ビデオコーダ２０／３０は、Ｂ1が利用可能である場合、Ｂ1を候補リストに挿入する。
【００９２】
−  Ｂ0及びＢ1が同じ動きベクトルと同じ参照インデックスとを有する場合、ビデオコーダ２０／３０は、Ｂ0を候補リストに挿入しない。Ｂ0及びＢ1が同じ動きベクトルと同じ参照インデックスとを有していない場合、ビデオコーダ２０／３０は、Ｂ0が利用可能な場合、Ｂ0を候補リストに挿入する。
【００９３】
−  Ａ0及びＡ1が同じ動きベクトルと同じ参照インデックスとを有する場合、ビデオコーダ２０／３０は、Ａ0を候補リストに挿入しない。Ａ0及びＡ1が同じ動きベクトルと同じ参照インデックスとを有していない場合、ビデオコーダ２０／３０は、Ａ0が利用可能である場合、Ａ0を候補リストに挿入する。
【００９４】
−  ビデオコーダ２０／３０は、次の条件の両方が満たされないとき、Ｂ2を候補リストに挿入する。
【００９５】
−  Ｂ2及びＢ1又はＢ2及びＡ1が、同じ動きベクトルと同じ参照インデックスとを有する。
【００９６】
−  Ａ1、Ｂ1、Ｂ0、Ａ0から導出された４個の空間マージング候補の全てが、候補リスト中に含まれる。
【００９７】
[0094]ビデオコーダ２０／３０は、次のように、マージモード候補リスト中に含まれるべきである時間候補を導出し得る。
【００９８】
−  時間マージング候補を得るために、ビデオコーダ２０／３０は、同一位置配置ピクチャを最初に識別する。現在ピクチャがＢスライスである場合、シンタックス要素「ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ」が、同一位置配置ピクチャがＲｅｆＰｉｃＬｉｓｔ０からのものかＲｅｆＰｉｃＬｉｓｔ１からのものかを示すために、スライスヘッダ中で信号伝達される。
【００９９】
−  ビデオコーダ２０／３０が参照ピクチャリストを識別した後、ビデオコーダ２０／３０は、スライスヘッダ中で信号伝達された、シンタックス要素ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘを使用して、リスト中のピクチャ中のピクチャを識別する。
【０１００】
−  ビデオコーダ２０／３０は、次いで、同一位置配置ピクチャをチェックすることによって、同一位置配置ＰＵを識別する。ビデオコーダ２０／３０は、時間候補として、このＰＵを含んでいるＣＵの右下のＰＵの動き、又は、このＰＵを含んでいるＣＵの中心ＰＵ内の右下のＰＵの動きのいずれかを使用する。
【０１０１】
−  上記のプロセスによって識別された動きベクトルが、マージモードのための動き候補を生成するために使用されるとき、ビデオコーダ２０／３０は、（ピクチャ順序カウント、即ち、ＰＯＣに反映される）時間位置に基づいて、動きベクトルをスケーリングする必要があり得る。
【０１０２】
−  ＨＥＶＣでは、ＰＰＳは、フラグｅｎａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｆｌａｇを含む。０に等しいｔｅｍｐｏｒａｌ＿ｉｄをもつ特定のピクチャが、０に等しいｅｎａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｆｌａｇを有するＰＰＳを参照するとき、ビデオコーダ２０／３０は、ＤＰＢ中の全ての参照ピクチャに、「時間動きベクトル予測のために使用されない」としてマークすることができ、復号順序でその特定のピクチャの前のピクチャからの動きベクトルは、特定のピクチャの復号又は復号順序でその特定のピクチャの後のピクチャの復号において、時間動きベクトル予測子として使用されないことになる。
【０１０３】
[0095]現在スライスがＢスライスであり、上記で説明された空間及び時間候補導出プロセスから導出された候補の総数が、候補の最大数よりも小さく、１よりも大きい場合、ビデオコーダ２０／３０は、双予測候補を生成するためのプロセスを呼び出し得る。ビデオコーダ２０／３０は、次のように、マージモード候補リスト中に含まれるべきである双予測候補を導出し得る。
【０１０４】
−  以下の表１に基づいて、インデックスｃｏｍｂＩｄｘをもつ複合双予測候補を生成するために、利用可能な場合、ｌ０ＣａｎｄＩｄｘに等しいエントリをもつ候補リストのＲｅｆＬｉｓｔ０動き情報（ＭｏｔＬｉｓｔ０）と、利用可能であり、ＭｏｔＬｉｓｔ０と同一ではない場合、ｌ１ＣａｎｄＩｄｘに等しいエントリをもつ候補リストのＲｅｆＬｉｓｔ１動き情報（ＭｏｔＬｉｓｔ１）とが、ビデオコーダ２０／３０によって、複合双予測候補のＲｅｆＬｉｓｔ０及びＲｅｆＬｉｓｔ１動き情報として、再使用され得る。
【表１】
0006271575.tif 000002
【０１０５】
[0096]ビデオコーダ２０／３０は、空間、時間、及び双予測候補を決定するための、上記で説明された上記の３つのプロセスから導出された候補の総数が、候補の最大数未満を生じる場合、マージモード候補リスト中に含まれるべきであるゼロ動きベクトル候補を導出し得る。そのような事例では、ビデオコーダ２０／３０は、参照ピクチャごとにゼロ動きベクトルを候補リストに挿入し得る。ＨＥＶＣ  ＷＤ１０では、マージ（ＭＲＧ）リスト中の候補の総数は最大５であり、ｆｉｖｅ＿ｍｉｎｕｓ＿ｍａｘ＿ｎｕｍ＿ｍｅｒｇｅ＿ｃａｎｄが、スライスヘッダ中で５から減算されるＭＲＧ候補の最大数を指定するために信号伝達される。
【０１０６】
[0097]３Ｄビデオをコード化するためのコード化効率を更に改善するために、２つの新しい技術、即ち、「ビュー間動き予測」及び「ビュー間残差予測」が、３Ｄ−ＨＥＶＣに導入されている。これらの２つのコード化ツールを可能にするために、ビデオコーダ２０／３０は、現在ブロックのための視差ベクトルを導出するように構成される。
【０１０７】
[0098]ビデオコーダ２０／３０は、現在ブロックのための視差ベクトルを決定するために、空間及び時間隣接ブロックからの視差動きベクトル、又は隣接ブロックからの導出された視差ベクトルを利用する、隣接ブロックベース視差ベクトル（ＮＢＤＶ）と呼ばれる技法を使用して、視差ベクトルを導出するように構成され得る。ＮＢＤＶでは、ビデオコーダ２０／３０は、固定されたチェック順序で空間又は時間隣接ブロックの動きベクトルをチェックし、視差動きベクトルが識別されると、即ち、動きベクトルがビュー間参照ピクチャを指すと、ビデオコーダ２０／３０は、チェックプロセスを終了する。ビデオコーダ２０／３０は、識別された視差動きベクトルを戻し、それを、ビュー間動き予測及びビュー間残差予測において使用され得る現在ブロックのための視差ベクトルに変換する。全ての予め定義された隣接ブロックをチェックした後、視差動きベクトルが見つからない場合、ビデオコーダ２０／３０は、ビュー間動き予測のためにゼロ視差ベクトルを使用し得るが、ビュー間残差予測は、対応する予測単位（ＰＵ）に対して使用禁止にされ得る。
【０１０８】
[0099]ＮＢＤＶのためにビデオコーダ２０／３０によって使用されるブロックは、空間隣接ブロックと時間隣接ブロックとを含む。ビデオコーダ２０／３０は、視差ベクトルを導出することの一部として、最大５個の空間隣接ブロックを解析する。５個の空間隣接ブロックは、Ａ0、Ａ1、Ｂ0、Ｂ1又はＢ2によって示される、現在ＰＵの左下ブロックと、左ブロックと、右上ブロックと、上ブロックと、左上ブロックとを含む。この点について、ＮＢＤＶの一部として解析された空間隣接ブロックは、図４中のマージモードに関して上記で説明された同じ空間隣接ブロックに対応し得るが、ＮＢＤＶ、及び、ＡＭＶＰ及びマージモードのための候補リスト構築のために使用される空間隣接ブロックは、必ずしも同じである必要があるとは限らない。
【０１０９】
[0100]ビデオコーダ２０／３０はまた、時間隣接ブロックを決定する。ビデオコーダ２０／３０は、現在ビューからの全ての参照ピクチャを候補ピクチャとして扱うことができ、又は、幾つかの実装形態では、候補ピクチャの数は、例えば、４個の候補ピクチャに更に制約され得る。ビデオコーダ２０／３０は、同一位置配置参照ピクチャを最初にチェックし、例えば、参照インデックス（ｒｅｆＩｄｘ）の昇順で、候補ピクチャの残りをチェックする。ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘ］とＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘ］の両方が利用可能であるとき、ＲｅｆＰｉｃＬｉｓｔＸ［ｒｅｆＩｄｘ］は、他のピクチャに先行し、ここにおいて、Ｘは、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇに等しい。
【０１１０】
[0101]候補ピクチャごとに、ビデオコーダ２０／３０は、時間隣接ブロックを導出するための３個の候補領域を決定する。ある領域が２つ以上の１６×１６ブロックをカバーするとき、ビデオコーダ２０／３０は、例えば、ラスタ走査順序で、そのような領域中の全ての１６×１６ブロックをチェックすることができる。３個の候補領域は、次のように定義され、即ち、（１）ＣＰＵ−現在ＰＵ又は現在ＣＵの同一位置配置領域、（２）ＣＬＣＵ−現在ＰＵの同一位置配置領域をカバーする最大コード化単位（ＬＣＵ）、及び（３）ＢＲ−ＣＰＵの右下の４×４ブロックである。
【０１１１】
[0102]参照ピクチャの時間隣接ブロックをチェックするための上記で説明された技法は、一例であることを理解されたい。チェックされる参照ピクチャの他の例があり得る。
【０１１２】
[0103]図５は、現在ブロックのための視差ベクトルを決定するための候補ピクチャ中でチェックされるブロックの一例を示す。例えば、ビデオコーダ２０／３０は、現在ビューからの最大２個の候補ピクチャを考慮し得る。現在ビューからの第１の候補ピクチャは、候補リストの構築の一部として識別された同一位置配置ピクチャ（例えば、時間候補）であり得る。第２の候補ピクチャは、ランダムアクセスピクチャ、又は、最小ＰＯＣ差分と最小ｔｅｍｐｏｒａｌＩｄとをもつ参照ピクチャであり得る。幾つかの例では、ビデオコーダ２０／３０は、ランダムアクセスピクチャを最初にチェックし、視差動きベクトルが見つからない場合、同一位置配置ピクチャをチェックし得る。
【０１１３】
[0104]これらの候補ピクチャごとに、ビデオコーダ２０／３０は、２個のブロックをチェックし得る。第１のブロックは、中心ブロック（ＣＲ）であり得、中心ブロック（ＣＲ）は、図５中のＰｏｓ．Ａによって示されるような、現在ＰＵの同一位置配置領域の中心の４×４ブロックであり得る。第２のブロックは、右下ブロック（ＢＲ）であり得、右下ブロック（ＢＲ）は、図５中のＰｏｓ．Ｂによって示されるような、現在ＰＵの同一位置配置領域の右下の４×４ブロックであり得る。
【０１１４】
[0105]ビデオコーダ２０／３０は、特定の順序、即ち、チェック順序でブロックをチェックするように構成され得る。ビデオコーダ２０／３０は、空間隣接ブロックを最初にチェックし、時間隣接ブロックが後続し得る。５個の空間隣接ブロックのチェック順序は、例えば、Ａ1、Ｂ1、Ｂ0、Ａ0及びＢ2、又は任意の他のそのような順序として定義され得る。候補ピクチャごとに、ビデオコーダ２０／３０は、チェック順序で、候補ピクチャ中の３個の候補領域をチェックすることができる。３個の領域のチェック順序は、例えば、第１の非ベースビューのためのＣＰＵ、ＣＬＣＵ、及びＢＲ、第２の非ベースビューのためのＢＲ、ＣＰＵ、及びＣＬＵ、又は任意の他のそのような順序として定義され得る。別の例では、候補ピクチャごとに（例えば、最大２個の候補ピクチャがある場合）、２個のブロックが、第１の非ベースビューのためのＣＲ及びＢＲ、又は第２の非ベースビューのためのＢＲ、ＣＲの順序でチェックされる。
【０１１５】
[0106]上記で説明されたように、ビデオコーダ２０／３０は、隣接ブロックのための視差動きベクトルをチェックし、隣接ブロックのための視差動きベクトルが見つかる場合、その視差動きベクトルを現在ブロックの視差ベクトルとして変換することによって、現在ブロックのための視差ベクトルを決定し得る。加えて、幾つかの例では、隣接ブロックのための導出された視差ベクトルは、現在ブロックのための視差ベクトルを決定するために使用され得る。例えば、隣接ブロックは、視差動きベクトルを用いてインター予測されないことがあるが、隣接ブロックのための視差ベクトルは、隣接ブロックの予測中に導出されていることがある。この導出された視差ベクトルは、暗示的視差ベクトル（ＩＤＶ：implicit disparity vector）と呼ばれることがあり、チェックされる隣接ブロックのいずれも、視差動きベクトルを用いてインター予測されないときなど、現在ブロックのための視差ベクトルを決定するために使用され得る。
【０１１６】
[0107]例えば、暗示的視差ベクトル（ＩＤＶ）は、ＰＵがビュー間動きベクトル予測を採用するとき、即ち、ＡＭＶＰ又はマージモードのための候補が、視差ベクトルの助けとともに他のビュー中の対応するブロックから導出されるとき、生成される。そのような視差ベクトルが、ＩＤＶと呼ばれる。ＩＤＶは、視差ベクトル導出の目的で、ＰＵに記憶される。
【０１１７】
[0108]より詳細に説明されるように、ビデオコーダ２０／３０は、ビュー間候補導出を実行するように構成され得る。視差ベクトル（ＤＶ）に基づいて、ビデオコーダ２０／３０は、ビュー間候補と呼ばれる新しい動きベクトル候補を決定し、新しい動きベクトル候補を、ＡＭＶＰ及びスキップ／マージモードにおいて使用するための候補リストに追加することができる。
【０１１８】
[0109]例えば、ビュー間候補導出の一例は、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）、及び、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）の別の例である。ＩＰＭＶＣは、現在ブロックの視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報（例えば、動きベクトル、及び、参照ピクチャリストのための１つ又は複数の参照インデックス）を含み、但し、現在ブロックのための視差ベクトルは、上記の例示的な技法に基づいて決定される。ＩＤＭＶＣは、視差動きベクトルに変換された視差ベクトルである。
【０１１９】
[0110]幾つかの例では、ビデオコーダ２０／３０は、（例えば、視差ベクトルからオフセット値を加算又は減算することによって）視差ベクトルをシフトし得る。ビデオコーダ２０／３０は、視差ベクトルをシフトすることがない技法と同様の技法を使用して、シフトされた視差ベクトルに基づいて、追加のＩＰＭＶＣとＩＤＭＶＣとを導出し得る。例えば、ビデオコーダ２０／３０は、（例えば、視差ベクトルのｘ成分から、固定されたオフセット値を加算又は減算することによって）ある方向に水平に視差ベクトルをシフトし得る。
【０１２０】
[0111]ビデオコーダ２０／３０は、オフセット値だけシフトされた視差ベクトルによって識別された参照ビュー中の参照ブロックを識別し得る。オフセット値だけシフトされた視差ベクトルによって識別された参照ブロックのための動き情報は、（即ち、視差ベクトルをシフトすることなしに導出されたＩＰＭＶＣに加えて）追加のＩＰＭＶＣの一例であり得る。別の例として、ビデオコーダ２０／３０は、視差ベクトルをシフトすることができ、シフトされた視差ベクトルを、（即ち、視差ベクトルをシフトすることなしに導出されたＩＤＭＶＣに加えて）追加のＩＤＭＶＣとして変換し得る。
【０１２１】
[0112]幾つかの例では、ビデオコーダ２０／３０がＩＰＭＶＣを導出するために視差ベクトルをシフトし得る量は、ビデオコーダ２０／３０がＩＤＭＶＣを導出するために視差ベクトルをシフトし得る量とは異なり得る。言い換えれば、ビデオコーダ２０／３０は、追加のＩＰＭＶＣを導出するための第１のオフセット値だけ、現在ブロックのための、視差ベクトルをシフトし、追加のＩＤＭＶＣを導出するための第２の異なるオフセット値だけ、現在ブロックのための、視差ベクトルをシフトし得る。
【０１２２】
[0113]第１のオフセット値又は第２のオフセット値は、水平シフト値と垂直シフト値とを含むベクトルと見なされ得る。例えば、ＩＰＭＶＣを導出するための第１のオフセット値だけ視差ベクトルをシフトするために、ビデオコーダ２０／３０は、水平シフト値と垂直シフト値とを含む第１のベクトルを用いて、現在ブロックのための、視差ベクトルを加算又は減算し得る。同様に、ＩＤＭＶＣを導出するための第２のオフセット値だけ視差ベクトルをシフトするために、ビデオコーダ２０／３０は、水平シフト値と垂直シフト値とを含む第２のベクトルを用いて、現在ブロックのための、視差ベクトルを加算又は減算し得る。本開示で説明される技法では、第１のオフセット値だけ視差ベクトルをシフトするために使用される第１のベクトル、及び、第２のオフセット値だけ視差ベクトルをシフトするために使用される第２のベクトルは、異なるベクトルであり得る。幾つかの例では、第１又は第２のオフセット値のための垂直シフト値は、ＩＰＭＶＣとＩＤＭＶＣとを導出するための視差ベクトルにおける水平シフトのみを達成するために、０に等しくなり得る。
【０１２３】
[0114]図６は、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）の導出プロセスの一例を示す。（例えば、上記で説明された技法を使用して決定された）視差ベクトルを用いて、ビデオコーダ２０／３０は、異なるビュー（例えば、同じく参照ビューであるビュー０又はＶ０）中の対応するブロック１４２を、現在コード化されているビュー（ビュー１又はＶ１）中の現在ＰＵ１４０を検索し得る。参照ブロックとも呼ばれる、対応するブロック１４２が、イントラコード化されず、ビュー間予測されず、その参照ピクチャが、現在ＰＵ１４０の参照ピクチャリスト中にあるＰＯＣ値（例えば、図６に示されるような、Ｒｅｆ０，Ｌｉｓｔ ０、Ｒｅｆ０，Ｌｉｓｔ１、Ｒｅｆ１，Ｌｉｓｔ  １）を有する場合、対応するブロック１４２のための動き情報（例えば、動きベクトル及び参照ピクチャインデックスのうちの少なくとも１つ）が、ビュー間予測動きベクトルとして使用される。
【０１２４】
[0115]対応するブロック１４２（例えば、参照ブロック）のための動き情報がＩＰＭＶＣであると見なされ得るかどうかについて、幾つかの要件があり得る。言い換えれば、ＩＰＭＶＣが利用可能であるかどうかを決定するための、幾つかの要件があり得る。１つの要件は、対応するブロック１４２のための動きベクトルが時間動きベクトルであることであり得る。時間動きベクトルは、同じビュー中のピクチャを参照する動きベクトルである。例えば、図６では、対応するブロック１４２（例えば、参照ブロック１４２）がビュー０中にあり、対応するブロック１４２が時間動きベクトルを有するために、対応するブロック１４２のための動きベクトルは、対応するブロック１４２と同じビュー（例えば、ビュー０）中のピクチャを参照する必要があることになる。図６に示されているように、対応するブロック１４２のための動きベクトルは、対応するブロック１４２と同じ参照ビュー（例えば、ビュー０）中のピクチャを参照するので、時間動きベクトルである。
【０１２５】
[0116]別の要件は、参照ブロック（例えば、対応するブロック１４２）の時間動きベクトルが、現在ブロック（例えば、現在ＰＵ１４０）のための参照ピクチャリスト（例えば、ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１）中のピクチャのピクチャ順序カウント（ＰＯＣ）値に等しいＰＯＣ値をもつ参照ビュー中のピクチャを参照することであり得る。理解を支援するための１つの例示的な例として、対応するブロック１４２のための参照ピクチャリストは、対応するブロック１４２をインター予測するために使用される２個のピクチャを、ＲｅｆＰｉｃＬｉｓｔ０中の第１の参照インデックス、及び、ＲｅｆＰｉｃＬｉｓｔ１の第２の参照インデックスにあるものとして識別し得る。対応するブロック１４２をインター予測するために使用される２個のピクチャのためのＰＯＣ値は、ＰＯＣ  Ｘ及びＰＯＣ  Ｙであり得る。ＩＰＭＶＣが利用可能であると見なされるために、少なくとも１つの参照ピクチャリスト（即ち、ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１）は、ＰＯＣ  Ｘ及びＰＯＣ  Ｙに等しいＰＯＣ値をもつピクチャを含むべきである。言い換えれば、ＩＰＭＶＣが利用可能であると見なされるために、参照ブロック（例えば、対応するブロック１４２）のための時間動きベクトルは、現在ブロック（例えば、現在ＰＵ１４０）のための参照ピクチャリスト中のピクチャのＰＯＣ値に等しいＰＯＣ値をもつ参照ビュー（例えば、ビュー０）中のピクチャを参照する必要がある。
【０１２６】
[0117]現在ＰＵ１４０では、ＰＯＣ値Ｘ及びＹをもつピクチャは、ＲｅｆＰｉｃＬｉｓｔ０中の第１の参照インデックス及びＲｅｆＰｉｃＬｉｓｔ１中の第２の参照インデックスに位置しないことがあるが、代わりに、それぞれ、ＲｅｆＰｉｃＬｉｓｔ０中の第３の参照インデックス及びＲｅｆＰｉｃＬｉｓｔ１中の第４の参照インデックスに位置し得る。この例では、対応するブロック１４２の動き情報が、ビュー間予測動きベクトル候補として追加されるとき、ビデオコーダ２０／３０は、参照インデックスとして、ＲｅｆＰｉｃＬｉｓｔ０中の第３の参照インデックスとＲｅｆＰｉｃＬｉｓｔ１中の第４の参照インデックスとを追加し得る。
【０１２７】
[0118]加えて、ビデオコーダ２０／３０は、視差ベクトルをビュー間視差動きベクトルに変換することができ、ビュー間視差動きベクトルは、それが利用可能であるとき、ＩＰＭＶＣからの異なる位置においてマージ候補リストに追加され、又は、ＩＰＭＶＣと同じ位置においてＡＭＶＰ候補リストに追加され得る。ＩＰＭＶＣとビュー間視差動きベクトル候補（ＩＤＭＶＣ）の両方は、このコンテキストにおいて、「ビュー間候補」と呼ばれることがある。
【０１２８】
[0119]ＡＭＶＰモードでは、参照ピクチャインデックスが時間参照ピクチャを参照する（例えば、ターゲット参照インデックスが時間動きベクトルに対応する）場合、ビデオコーダ２０／３０は、ＩＰＭＶＣを導出することができ、ＩＤＭＶＣを導出しなくてよい。例えば、ビデオコーダ２０／３０は、視差ベクトルによって検索された現在ＰＵ（即ち、ブロック１４０）の対応するブロック（即ち、ブロック１４２）の動きベクトルをチェックすることによって、ＩＰＭＶＣを見つけ得る。それが利用不可能である（即ち、動きベクトルがない）場合、ビデオコーダ２０／３０は、ゼロ動きベクトル候補を候補リストに追加し得る。ＡＭＶＰモードでは、参照ピクチャインデックスがビュー間参照ピクチャを参照する（例えば、ターゲット参照インデックスが視差動きベクトルに対応する）場合、ビデオコーダ２０／３０は、導出及びＩＰＭＶＣではないことがあるが、代わりに、視差ベクトルをビュー間視差動きベクトルに変換し、変換された視差ベクトルを候補リストに追加（即ち、ビュー間視差動きベクトルをＩＤＭＶＣとして候補リストに追加）し得る。
【０１２９】
[0120]言い換えれば、現在ブロックがＡＭＶＰモードでインター予測される場合、ビデオコーダ２０／３０は、少なくとも１つの参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、ＩＰＭＶＣを導出するか、ＩＤＭＶＣを導出するかを決定し得る。例えば、ＡＭＶＰモードでは、ビデオエンコーダ２０は、ビデオデコーダ３０がインター予測のために使用されるべきである参照ピクチャを識別するために使用する参照ピクチャインデックスを、信号伝達する。このようにして、ビデオコーダ２０／３０は、参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかを決定し得る。時間参照ピクチャは、同じビュー中の参照ピクチャであり、ビュー間参照ピクチャは、別の異なるビュー中の参照ピクチャである。幾つかの例では、ビデオコーダ２０／３０が、参照ピクチャインデックスが時間参照ピクチャを参照すると決定する場合、ビデオコーダ２０／３０は、ＩＰＭＶＣを導出することができ、ビデオコーダ２０／３０が、参照ピクチャインデックスがビュー間参照ピクチャを参照すると決定する場合、ビデオコーダ２０／３０は、ＩＤＭＶＣを導出することができる。
【０１３０】
[0121]マージ／スキップモードでは、ビデオコーダ２０／３０は常に、利用可能な場合、ＩＰＭＶＣを、マージ候補リストに、全ての空間及び時間マージ候補の前に挿入し得る。ビデオコーダ２０／３０は、例えば、図４に上記で示されたように、Ａ0から導出された空間マージング候補の前に、ＩＰＭＶＣを挿入し得る。３Ｄ−ＨＴＭソフトウェアのある実装形態では、ビュー間予測動きベクトル又はビュー間視差動きベクトルは、常に、ＡＭＶＰ候補リストに、全ての空間及び時間候補の前に挿入される。
【０１３１】
[0122]上記で導入されたように、ビデオコーダ２０／３０は、３Ｄ−ＨＥＶＣにおいてマージ候補リストを構築し得る。ビデオコーダ２０／３０は、最初に、例えば、上記で説明されたＮＢＤＶ技法を使用して、視差ベクトルを導出する。そのような視差ベクトルが見つからない場合、ビデオコーダ２０／３０は、ゼロ視差ベクトルを利用し得る。視差ベクトルを用いて、ビデオコーダ２０／３０は、次のようにマージング候補リストを構築する。ビデオコーダ２０／３０は、上記で説明されたように、ＩＰＭＶＣを導出し、利用可能な場合、ＩＰＭＶＣをマージリストに挿入する。
【０１３２】
[0123]ビデオコーダ２０／３０は、空間マージング候補のための導出プロセスと、ＩＤＭＶＣ挿入とを実施するように構成され得る。ビデオコーダ２０／３０は、例えば、次の順序、即ち、Ａ1、Ｂ1、Ｂ0、Ａ0、又はＢ2で空間隣接ＰＵの動き情報をチェックし得る。ビデオコーダ２０／３０は、次の手順によって、制約付きプルーニングを実行し得る。
【０１３３】
−  利用可能であり、ＩＰＭＶＣとは異なる場合、Ａ1を候補リストに挿入する。
【０１３４】
−  Ｂ1及びＡ1／ＩＰＭＶＣが同じ動きベクトルと同じ参照インデックスとを有する場合、Ｂ1が候補リストに挿入されない。そうでない場合、利用可能な場合、Ｂ1を候補リストに挿入する。
【０１３５】
−  Ｂ0及びＢ1が同じ動きベクトルと同じ参照インデックスとを有する場合、Ｂ0が候補リストに挿入されない。そうでない場合、利用可能な場合、Ｂ0を候補リストに挿入する。
【０１３６】
−  ＩＤＭＶＣが、上記で説明された手順によって導出される。ＩＤＭＶＣが利用可能であり、Ａ1及びＢ1から導出された候補とは異なる場合、ＩＤＭＶＣが候補リストに挿入される。
【０１３７】
−  Ａ0及びＡ1が同じ動きベクトルと同じ参照インデックスとを有する場合、Ａ0が候補リストに挿入されない。そうでない場合、利用可能な場合、Ａ0を候補リストに挿入する。
【０１３８】
−  次の条件の両方が満たされないとき、Ｂ2が候補リストに挿入される。
【０１３９】
−  Ｂ2及びＢ1又はＢ2及びＡ1が、同じ動きベクトルと同じ参照インデックスとを有する。
【０１４０】
−  Ａ1、Ｂ1、Ｂ0、Ａ0から導出された４個の空間マージング候補、及びＩＰＭＶＣの全てが、候補リスト中に含まれる。
【０１４１】
[0124]ビデオコーダ２０／３０はまた、時間マージング候補のための導出プロセスを実施するようにも構成され得る。この導出プロセスは、例えば、上記で簡単に説明される、ＨＥＶＣにおいて定義されているものと同じ手順であり得る。
【０１４２】
[0125]ビデオコーダ２０／３０はまた、複合双予測マージング候補のための導出プロセスを実施するようにも構成され得る。例えば、上記の２つのステップから導出された候補の総数が、候補の最大数未満である場合、ビデオコーダ２０／３０は、ｌ０ＣａｎｄＩｄｘ及びｌ１ＣａｎｄＩｄｘの指定を除いて、ＨＥＶＣにおいて定義されているものと同じプロセスを実行し得る。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘ及びｌ１ＣａｎｄＩｄｘの間の関係は、次の表において定義されている。
【表２】
0006271575.tif 000003
【０１４３】
[0126]ビデオコーダ２０／３０はまた、ゼロ動きベクトルマージング候補のための導出プロセスを実施するようにも構成され得る。ビデオコーダ２０／３０は、例えば、ＨＥＶＣにおいて定義されているものと同じ手順を実施し得る。
【０１４４】
[0127]最新のソフトウェアでは、マージ（ＭＲＧ）リスト中の候補の総数は最大６であり、シンタックス要素「ｆｉｖｅ＿ｍｉｎｕｓ＿ｍａｘ＿ｎｕｍ＿ｍｅｒｇｅ＿ｃａｎｄ」が、スライスヘッダ中で６から減算されるＭＲＧ候補の最大数を指定するために信号伝達される。ｆｉｖｅ＿ｍｉｎｕｓ＿ｍａｘ＿ｎｕｍ＿ｍｅｒｇｅ＿ｃａｎｄは、両端値を含む０〜５の範囲内にあることに留意されたい。上述されたように、ＷＤ１０では、ＭＲＧリスト中の候補の総数は、最大５である。
【０１４５】
[0128]上記で説明された方法に加えて、視差ベクトルからの他の提案マージ候補導出によれば、次の技法もまた、２０１３年１２月４日現在、http://phenix.it-sudparis.eu/jct2/doc_end_user/current_document.php?id=237から入手可能な、「3D-CE5.h:Merge candidates derivation from disparity vector」という名称のＺｈａｎｇらによるＪＣＴ３Ｖ−Ｂ００４８、２０１２年１０月１５日において提案された。参照ビュー中の視差ベクトルによって識別された対応するブロック（即ち、参照ブロック）が、現在の方法として、ＩＰＭＶＣを導出するために使用される。対応するブロックを含んでいるＰＵのその左ＰＵ及び右ＰＵが検索され、２つのシフトされた視差ベクトルが、適用可能な場合、導出される。左シフト視差ベクトル（ＬＤＶ：Left shifted Disparity Vector）：水平成分のための左ＰＵの幅だけ、視差ベクトルを減算する。右シフト視差ベクトル（ＲＤＶ：Right shifted Disparity Vector）：水平成分中の対応するブロックを含んでいるＰＵの幅だけ、視差ベクトルを加算する。ＩＰＭＶＣを導出するためのＬＤＶ／ＲＤＶの使用は、現在の３Ｄ−ＨＥＶＣにおける視差ベクトルと同じである。導出されたＩＰＭＶＣが利用可能である場合、それがマージ候補リストに追加され、そうでない場合、シフトされた視差ベクトルが、マージ候補リストに追加されるために視差動きベクトルに変換される。
【０１４６】
[0129]ＨＥＶＣベースのマルチビュー／３ＤＶコード化における動き関連技術の現在の設計は、導出された視差ベクトルが十分に正確ではないことがあるという事実のために、幾つかの潜在的な問題を有する。一例として、不正確な視差ベクトルは、不正確なビュー間予測動きベクトル候補及びビュー間視差動きベクトル候補につながり得る。別の例として、ＩＰＭＶＣを導出するための参照ビュー中の対応するブロックの左／右ＰＵの利用は、ハードウェア実装にとってフレンドリーではないことがあり、その理由は、左／右ＰＵへのアクセスが、対応するブロックから、可変であるその幅を用いてシフトする必要があるからである。別の例として、重複された候補をプルーニングするために、全ての参照インデックス及び動きベクトルがチェックされる必要があり、過度の複雑さをもたらす。
【０１４７】
[0130]本開示は、視差ベクトル精度と、ビュー間予測動きベクトル及びビュー間視差動きベクトルの精度とを改善し得る、様々な技法をもたらす。本開示の１つの技法によれば、ビデオコーダ２０／３０は、１つのスライス／ピクチャ／シーケンス内の全てのＰＵのための固定されたオフセット値を用いて、シフトされた視差ベクトルから、参照ビューからのより多くのＩＰＭＶＣを導出し得る。一例では、ビデオコーダ２０／３０は、視差ベクトルを、−４＊Ｍ（Ｍは、１、２、４、８などの正の整数である）及び／又は４＊Ｍ（Ｍ個の画素に対応する）だけ水平にシフトし得る。シフトされた視差ベクトルを用いて、ビデオコーダ２０／３０は、対応するブロックから、ＩＰＭＶＣ生成プロセスと同様に、ＩＰＭＶＣを生成するために、対応するブロックを含んでいるＰＵの左側及び／又は右側に位置するＰＵを使用し得る。
【０１４８】
[0131]本開示の別の技法によれば、ビデオコーダ２０／３０は、シフトされた視差ベクトルを用いて、より多くのＩＤＭＶＣを変換し得る。一例では、シフト値（即ち、オフセット値）は、水平に−４＊Ｎ（Ｎは、１、２、４、８などの正の整数である）及び／又は４＊Ｎ（Ｎ個の画素に対応する）である。一例では、更に、ＩＰＭＶＣとＩＤＭＶＣとを導出するためのシフト値（即ち、オフセット値）は、異なることがあり、即ち、ＮはＭとは異なる。
【０１４９】
[0132]本開示の別の技法によれば、視差ベクトルに基づく変異ごと（即ち、視差ベクトルのシフトごと）に、ビデオコーダ２０／３０は、ただ１つの追加の候補を生成することができ、候補は、第１のシフト視差ベクトルに基づいたＩＰＭＶＣ、又は、第２のシフト視差ベクトルに基づいたＩＤＭＶＣからのいずれかである。ＩＰＭＶＣが利用可能である場合、ビデオコーダ２０／３０は、追加の候補としてそれを使用し得る。ＩＰＭＶＣがマージ候補リストに追加される場合、ビデオコーダ２０／３０は、ＩＤＭＶＣを変換しなくてよい。一例では、ＩＤＭＶＣが利用可能である場合、ビデオコーダ２０／３０は、ＩＰＭＶＣを導出しなくてよい。別の例では、それらのうちの２つが、利用可能な場合、追加の候補として導出され得る。
【０１５０】
[0133]言い換えれば、現在ブロックが、マージモード又はスキップモードでインター予測される場合、ビデオコーダ２０／３０は、ＩＰＭＶＣの利用可能性を決定することができ、但し、ＩＰＭＶＣは、オフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報（例えば、動きベクトル、及び、１つ又は複数の参照インデックス）である。例えば、ビデオコーダ２０／３０は、参照ブロックのための動きベクトルが、現在ブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント（ＰＯＣ）値に等しいＰＯＣ値をもつ参照ビュー中のピクチャを参照する、時間動きベクトルである場合、ＩＰＭＶＣが利用可能であると決定し得る。
【０１５１】
[0134]そのような例では、ビデオコーダ２０／３０は、（以下で説明されるプルーニングを受ける）候補リスト中の可能な包含のために、ＩＰＭＶＣを導出することができ、ＩＤＭＶＣの導出を回避することができる（即ち、ＩＤＭＶＣの導出を回避する）。例えば、この例では、ビデオコーダ２０／３０は、現在ブロックがマージ又はスキップモードでインター予測される場合、ＩＤＭＶＣよりもＩＰＭＶＣを優先させることができ、そこで、ＩＰＭＶＣが利用可能である場合、ビデオコーダ２０／３０は、ＩＰＭＶＣを導出することができ、ＩＤＭＶＣを導出しなくてよい（即ち、ＩＤＭＶＣの導出を回避する）。
【０１５２】
[0135]本開示の別の技法によれば、視差ベクトルに基づく変異ごとに、ＩＰＭＶＣの導出のために使用される第１のシフト視差ベクトル、及び、ＩＰＭＶＣの変換のために使用される第２のシフト視差ベクトルは、異なるオフセット値を有することができ、但し、それらのオフセット値は、ビデオコーダ２０／３０が視差ベクトルをシフトする量を示す。例えば、第１のシフト視差ベクトルのためのオフセット値は１６であり、第２のシフト視差ベクトルのためのオフセットは４である。幾つかの例では、両方のシフト視差ベクトルは、水平方向及び同じ方向であるべきであり、それらのオフセットの符号値が同じであることを意味する。一例では、２つの変異のみがあり、左への変異、及び右への変異である。代替として、ただ１つの左への変異がある。代替として、ただ１つの右への変異がある。本開示の別の技法によれば、候補の各々は、候補リストの任意の位置に挿入され得る。
【０１５３】
[0136]一例として、ビデオコーダ２０／３０がＩＰＭＶＣを導出する場合、ＩＰＭＶＣのための動き情報は、第１のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動きベクトル（例えば、時間動きベクトル）を含み得る。また、ＩＰＭＶＣの動きベクトルは、そのＰＯＣ値が、現在ブロックの参照ピクチャリスト中で識別されたピクチャのＰＯＣ値に等しい、同じビュー中のピクチャ（例えば、時間参照ピクチャ）を参照し得る。ビデオコーダ２０／３０がＩＤＭＶＣを導出する場合、ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルであり得る。幾つかの例では、ビデオコーダ２０／３０は、第１のオフセット値だけシフトされた視差ベクトルを決定するために、視差ベクトルに第１のオフセット値を加算するか、又は、視差ベクトルから第１のオフセット値を減算し得る。ある例では、ビデオコーダ２０／３０は、第２のオフセット値だけシフトされた視差ベクトルを決定するために、視差ベクトルに第２のオフセット値を加算するか、又は、視差ベクトルから第２のオフセット値を減算し得る。
【０１５４】
[0137]本開示の別の技法によれば、タイプベースのプルーニングが、第１の視差ベクトルから導出されたものさえも含む、新たに追加された動きベクトル候補の各々に対して適用され得る。ビデオコーダ２０／３０は、参照ピクチャタイプ（ビュー間参照ピクチャ又は時間参照ピクチャ）が同じであるときのみ、２つの候補に対してプルーニングプロセスを適用し得る。この場合、ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１のいずれかに対応する参照ピクチャのタイプが、比較されるべき候補のものとは異なるとき、参照インデックスと動きベクトルとの比較は必要とされない（即ち、ビデオコーダ２０／３０は、第１の候補によって参照される参照ピクチャのタイプが第２の候補とは異なる場合、参照インデックスと動きベクトルとの比較を実行しなくてよい）。ビデオコーダ２０／３０は、２つのビュー間候補が両方ともＩＤＭＶＣ又はＩＰＭＶＣであるときのみ、それらに対してプルーニングプロセスを適用し得る。
【０１５５】
[0138]例えば、シフト視差ベクトルに基づいてＩＰＭＶＣとＩＤＭＶＣとを導出することに加えて、ビデオコーダ２０／３０は、視差ベクトルをシフトすることなしに、現在ブロックのための視差ベクトルに基づいて、ＩＰＭＶＣとＩＤＭＶＣとを導出し得る。一例として、第１のＩＰＭＶＣが、オフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される第１の参照ブロックのための動きベクトルであると仮定されたい。幾つかの例では、ビデオコーダ２０／３０は、候補リスト中に第２のＩＰＭＶＣを含んでよく、但し、第２のＩＰＭＶＣは、視差ベクトルをシフトすることなしに、視差ベクトルによって参照される参照ビュー中の第２の参照ブロックのための動きベクトルである。
【０１５６】
[0139]ビデオコーダ２０／３０は、動きベクトル、参照ピクチャインデックス、及び参照ピクチャリストなど、第１のＩＰＭＶＣの動き情報と第２のＩＰＭＶＣの動き情報とを比較し得る。幾つかの例では、ビデオコーダ２０／３０は、第１のＩＰＭＶＣの動き情報を、第２のＩＰＭＶＣの動き情報のみと比較し、候補リスト中の他の候補とは比較しなくてよい。ビデオコーダ２０／３０が、第１のＩＰＭＶＣの動き情報と第２のＩＰＭＶＣの動き情報とが同じである（例えば、動きベクトルが同じであるか、又は、動きベクトルと参照ピクチャインデックスの両方が同じである）と決定する場合、ビデオコーダ２０／３０は、第１のＩＰＭＶＣが候補リスト中に含まれるべきではないと決定し得る。ビデオコーダ２０／３０が、第１のＩＰＭＶＣの動き情報と第２のＩＰＭＶＣの動き情報とが異なる（例えば、動きベクトルが異なる、動きベクトルが同じであるが参照ピクチャインデックスが異なる、動きベクトルが異なるが参照ピクチャインデックスが異なる、又は、動きベクトルと参照ピクチャインデックスの両方が異なる）と決定する場合、ビデオコーダ２０／３０は、第１のＩＰＭＶＣが候補リスト中に含まれるべきであると決定し得る。
【０１５７】
[0140]幾つかの例では、上記の例の第２のＩＰＭＶＣは、常に候補リスト中に含まれ得る。そのような例では、プルーニング技法（例えば、第１のＩＰＭＶＣと第２のＩＰＭＶＣとを、及び、幾つかの例では第２のＩＰＭＶＣのみと比較すること）は、第１のＩＰＭＶＣを候補リスト中に含めるかどうかを決定し得る。
【０１５８】
[0141]本開示の別の技法によれば、上記の技法は、ＮＢＤＶの後、視差ベクトルが利用可能であるときのみ、適用され得る。ＮＢＤＶの後、視差ベクトルが見つからない場合、ビデオコーダ２０／３０は、追加のＩＰＭＶＣとＩＤＭＶＣとを導出するために視差ベクトルをシフトする上記の技法を適用しなくてよい（上記が適用されるべきではない）。一例では、上記の方法を用いて導出されたＩＰＭＶＣは、常に適用される。但し、新たに導出されたＩＤＭＶＣは、視差ベクトルがＮＢＤＶとともに利用可能であるときのみ、マージ候補リストに挿入される。
【０１５９】
[0142]更に、マージ及びスキップモードでは、ビデオコーダ２０／３０は、ＩＰＭＶＣが利用可能である場合、第１のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルからＩＰＭＶＣを導出し、ＩＰＭＶＣが利用可能ではないと決定される場合、第２の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルからＩＤＭＶＣを導出し得る。また、ＡＭＶＰモードでは、ビデオコーダ２０／３０は、参照ピクチャインデックスに基づいて、ＩＰＭＶＣ又はＩＤＭＶＣのいずれかを導出し得る。従って、幾つかの例では、ＩＰＭＶＣ又はＩＤＭＶＣのうちの１つのみが、候補リスト中に含まれる。
【０１６０】
[0143]上記で導入された様々な技法は、ビデオコーダ２０／３０によって実施され得る。上記で導入された技法の様々な例示的な実装形態について、ここで説明される。視差ベクトルは、ＨＥＶＣ方法に従って導出され得る。但し、より多くの候補が、スキップ／マージモード又はＡＭＶＰモードでは、視差ベクトルに基づいて導出され得る。
【０１６１】
[0144]本開示の一態様によれば、ビデオコーダ２０／３０は、ＩＰＭＶＣ及びＩＤＭＶＣのための視差ベクトルの変異を実行するように構成され得る。視差ベクトルに基づいて、視差ベクトルの２つの変異が、ＩＰＭＶＣとＩＤＭＶＣとを導出するために使用される。ＩＰＭＶＣの導出のための左シフト視差ベクトル及び／又は右シフト視差ベクトル（ＬＤＶ及び／又はＲＤＶ）の変異は、水平成分中で−１６及び／又は１６だけ視差ベクトルを加算することによって達成される。ＩＤＭＶＣの導出のための左シフト視差ベクトル及び／又は右シフト視差ベクトル（ＬＤＶ及び／又はＲＤＶ）の変異は、水平成分中で−４及び／又は４だけ視差ベクトルを加算することによって達成される。
【０１６２】
[0145]ビデオコーダ２０／３０は、変異視差ベクトルからＩＰＭＶＣを導出し得る。シフト視差ベクトルを用いて、２つの追加のＩＰＭＶＣが、現在の方法におけるＩＰＭＶＣと同じ方法で導出され得る。ＬＤＶ及びＲＤＶを用いた、２つの新たに導出されたＩＰＭＶＣは、それぞれ、左ＩＰＭＶＣ及び右ＩＰＭＶＣによって示される。簡単のために、ＬＤＶ及びＲＤＶから導出されたＩＰＭＶＣ（時間動き候補）は、それぞれ、ＬＴＭＶ及びＲＴＭＶと命名される。
【０１６３】
[0146]ビデオコーダ２０／３０は、変異視差ベクトルからＩＤＭＶＣを導出し得る。シフト視差ベクトルを用いて、２つの追加のＩＤＭＶＣが、現在の方法におけるＩＤＭＶＣと同じ方法で導出され得る。ＬＤＶ及びＲＤＶを用いた、２つの新たに導出されたＩＤＭＶＣは、それぞれ、左ＩＤＭＶＣ及び右ＩＤＭＶＣによって示される。簡単のために、ＬＤＶ及びＲＤＶから導出されたＩＤＭＶＣ（視差動きベクトル候補）は、それぞれ、ＬＤＭＶ及びＲＤＭＶと命名される。変異視差ベクトル、ＬＤＶ又はＲＤＶのいずれかに基づいて、ＬＴＭＶ（ＲＴＭＶ）又はＬＤＭＶ（ＲＤＭＶ）のいずれか、唯一の候補が導出される。そのような候補は、ＬＤＶから導出されるとき、ＬＭＶとして示され、又は、ＲＤＶから導出されるとき、ＲＭＶとして示される。ＬＭＶは、次のように導出されてよく、即ち、ＬＴＭＶが利用可能である場合、ＬＭＶがＬＴＭＶに設定され、そうでない場合、ＬＭＶがＬＤＭＶに設定される。ＲＭＶは、次のように導出されてよく、即ち、ＲＴＭＶが利用可能である場合、ＲＭＶがＲＴＭＶに設定され、そうでない場合、ＲＭＶがＲＤＭＶに設定される。
【０１６４】
[0147]ビデオコーダ２０／３０は、ＩＰＭＶＣ及びＩＤＭＶＣが、視差ベクトルをシフトすることによって生成された後、次のチェック及びプルーニングプロセスを適用し得る。新たに導出された左ＩＰＭＶＣは、利用可能な場合、順番に、変異なしの視差ベクトルを用いて導出されたＩＰＭＶＣ、Ａ1又はＢ1からの空間マージング候補と比較される。新たに導出された左ＩＰＭＶＣが、これらの３つの候補のいずれかに等しい場合、マージ候補リストから除去される。そうでない場合、新たに導出された左ＩＰＭＶＣは、全ての空間マージング候補の後、従って、時間マージング候補の前に、マージング候補リストに追加される。
【０１６５】
[0148]左ＩＰＭＶＣがマージング候補リストに追加されない場合、新たに導出された左ＩＤＭＶＣは、利用可能な場合、順番に、Ａ１又はＢ１からの空間マージング候補と比較される。新たに導出された左ＩＤＭＶＣが、これらの２つの候補のいずれかに等しい場合、マージ候補リストから除去される。そうでない場合、新たに導出された左ＩＤＭＶＣは、利用可能な場合、左ＩＰＭＶＣと同じ位置において、即ち、全ての空間マージング候補の後、従って、時間マージング候補の前に、マージング候補リストに追加される。
【０１６６】
[0149]新たに導出された右ＩＰＭＶＣは、利用可能な場合、順番に、変異なしの視差ベクトルを用いて導出されたＩＰＭＶＣ、Ａ１又はＢ１からの空間マージング候補、左ＩＰＭＶＣと比較される。新たに導出された右ＩＰＭＶＣが、これらの４つの候補のいずれかに等しい場合、マージ候補リストから除去される。そうでない場合、新たに導出された右ＩＰＭＶＣは、全ての空間マージング候補及び左ＩＰＭＶＣ又は左ＩＤＭＶＣの後、マージング候補リストに追加される。
【０１６７】
[0150]右ＩＰＭＶＣがマージング候補リストに追加されない場合、新たに導出された右ＩＤＭＶＣは、利用可能な場合、順番に、Ａ１又はＢ１からの空間マージング候補と比較される。新たに導出された右ＩＤＭＶＣが、これらの２つの候補のいずれかに等しい場合、マージ候補リストから除去される。そうでない場合、新たに導出された右ＩＤＭＶＣは、利用可能な場合、右ＩＰＭＶＣと同じ位置において、即ち、全ての空間マージング候補及び左ＩＰＭＶＣ又は左ＩＤＭＶＣの後、マージング候補リストに追加される。
【０１６８】
[0151]１つの代替形態では、２つの候補が同じタイプを有する、即ち、それらが視差動きベクトルであるか、又は、それらが時間動きベクトルであるときのみ、比較される。例えば、Ａ１から導出された候補が時間参照ピクチャを有する場合、それと左／右ＩＤＭＶＣとの間の比較は必要とされない。
【０１６９】
[0152]ビデオコーダ２０／３０は、上記で説明された様々な態様の代替形態を実施するように構成され得る。例えば、ビデオコーダ２０／３０は、新たに導出された候補のための挿入位置を決定するように構成され得る。新たに導出された候補が、全ての空間マージング候補の後、挿入され、ＬＤＶから導出された候補（ＩＰＭＶＣ又はＩＤＭＶＣのいずれか）が、ＲＤＶから導出されたものに先行する、上記で説明された例とは対照的に、次の位置及び順序が適用され得る。
【０１７０】
○  空間マージング候補のサブセットの後。
【０１７１】
○  代替として、全ての空間、時間候補、及び、視差ベクトルによって導出された候補の後、従って、複合候補の前。
【０１７２】
○  代替として、利用可能な場合、−４＊Ｍに等しいシフト値を用いて導出されたＩＰＭＶＣが、−４＊Ｎに等しいシフト値を用いて導出されたＩＤＭＶＣの前に挿入される。利用可能な場合、４＊Ｍに等しいシフト値を用いて導出されたＩＰＭＶＣが、４＊Ｎに等しいシフト値を用いて導出されたＩＤＭＶＣの前に挿入される。
【０１７３】
○  代替として、シフト値を用いて導出された全てのＩＰＭＶＣが、視差ベクトルから導出されたＩＰＭＶＣに後続して、従って、全ての空間マージング候補の前に、リストに挿入される。
【０１７４】
○  代替として、シフト値を用いて導出された全てのＩＤＭＶＣが、視差ベクトルから導出されたＩＤＭＶＣに後続して、従って、Ａ0及びＢ2から導出された空間マージング候補の前に、リストに挿入される。
【０１７５】
○  １つの代替形態では、新たに追加されたＩＰＭＶＣ及び／又はＩＤＭＶＣが、任意の位置に、任意の順序で、候補リストに挿入され得る。
【０１７６】
○  更に、ＲＤＶから導出された候補が、ＬＤＶから導出されたものに先行する。
【０１７７】
○  代替として、ＬＤＶ及びＲＤＶから導出された候補が、連続的に挿入されなくてよい。代わりに、ＬＤＶから導出された候補は、最後の空間マージング候補の直後、及び、時間マージング候補の直前に挿入され得るが、ＲＤＶから導出された候補は、時間マージング候補の直後に挿入され得、その逆も同様であり得る。
【０１７８】
[0153]ビデオコーダ２０／３０は、上記で説明されたプルーニングプロセス以外のプルーニングプロセスを実行するように構成され得る。例えば、ビデオコーダ２０／３０は、次のプルーニングプロセスを適用するように構成され得る。
【０１７９】
○  １つ又は複数の選択的な空間候補（例えば、Ａ１）のみが、新たに導出された候補と比較される。
【０１８０】
ａ．例えば、新たに導出された候補（ＬＭＶ及び／又はＲＭＶ）が、Ａ1からの空間マージ候補のみと比較される。
【０１８１】
ｂ．例えば、新たに導出された候補（ＬＭＶ及び／又はＲＭＶ）が、Ｂ1からの空間マージ候補のみと比較される。
【０１８２】
○  代替として、新たに導出された候補が、いかなる空間又は時間候補とも比較されない。
【０１８３】
○  加えて、視差ベクトルから導出されたものを除く、新たに追加された動きベクトル候補が、重複を回避するために互いに比較される必要があった。
【０１８４】
○  代替として、視差ベクトルから導出されたものを含む、新たに追加された動きベクトル候補が、重複を回避するために互いに比較される必要があった。
【０１８５】
○  代替として、新たに追加された動きベクトル候補が、重複を回避するために、視差ベクトルから導出されたもののみと比較され、互いに比較されない。
【０１８６】
○  １つの代替形態では、新たに追加されたＩＤＭＶＣ及び／又はＩＰＭＶＣが、利用可能なマージング候補の全部又はサブセットと比較される必要がある。
【０１８７】
○  代替として、加えて、ＲＤＶ又はＬＤＶからの導出された候補（ＬＭＶ及び／又はＲＭＶ）が視差動きベクトルである場合、それは決してＩＤＭＶＣと比較されない。
【０１８８】
○  １つの代替形態では、シフト視差ベクトル（−４＊Ｍ／４＊Ｍ）を用いて探索された参照ブロック、及び、視差ベクトルを用いて探索された参照ブロックが、同じＰＵに属するとき、新たに追加されたＩＰＭＶＣと視差ベクトルから導出されたものとの間のプルーニングプロセスが、スキップされてよく、新たに追加されたＩＰＭＶＣが、マージ候補リストから除去される。
【０１８９】
ａ．１つの代替形態では、更に、シフト視差ベクトル（−４＊Ｎ／４＊Ｎ）から導出されたＩＤＭＶＣが、マージ候補リストに追加されない。
【０１９０】
ｂ．別の代替形態では、更に、シフト視差ベクトル（−４＊Ｎ／４＊Ｎ）から導出されたＩＤＭＶＣが、マージ候補リストに追加されない。
【０１９１】
[0154]プルーニングプロセスの一部として、ビデオコーダ２０／３０は、上記で導入されたように、１つ又は複数の比較を実行し得る。一例では、次の（最大５個の）動きベクトル候補ペアが（それらの両方が利用可能である場合）比較される。
【０１９２】
ＬＴＭＶが利用可能であるとき、（ＬＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）、
（ＬＭＶ，Ｂ1からの空間マージング候補）、
ＲＴＭＶが利用可能であるとき、（ＲＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）、
（ＲＭＶ，Ｂ1からの空間マージング候補）、
ＬＴＭＶとＬＴＭＶの両方が利用可能であるとき、（ＲＭＶ，ＬＭＶ）
ある条件が所与の候補ペアにおいて与えられる場合、例えば、「ＬＴＭＶが利用可能であるとき」、それは、その条件が真でない場合、対応するペアが比較されないことを意味する。
【０１９３】
[0155]候補ペア（Ｃ０，Ｃ１）ごとに、それらが異なる場合、Ｃ０がマージ候補リストに挿入され、そうでない場合、Ｃ０が更にマージ候補リストに挿入されない。加えて、Ｃ１がマージ候補リストにない場合、比較が回避される。Ｃ０及びＣ１の参照インデックス及び動きベクトルが、それぞれ、ＲｅｆＩｄｘＬＸＣ０、ｍｖＬＸＣ０及びＲｅｆＩｄｘＬＸＣ１、ｍｖＬＸＣ１であり、Ｘは０及び１に等しいと仮定されたい。Ｃ０及びＣ１は、次の条件のうちの１つ又は複数が真である場合、異なると見なされる。
【０１９４】
０及び１である予測リスト指示Ｘについて、
−  ＲｅｆＩｄｘＬＸＣ０がＲｅｆＩｄｘＬＸＣ１に等しくない、
−  ＲｅｆＩｄｘＬＸＣ０が−１に等しくないとき、ｍｖＬＸＣ０［０］がｍｖＬＸＣ１［０］に等しくない、
−  ＲｅｆＩｄｘＬＸＣ０が−１に等しくないとき、ｍｖＬＸＣ０［１］がｍｖＬＸＣ１［１］に等しくない、
動きベクトルが所与の予測リスト指示Ｘについて利用可能ではない場合、対応する参照インデックスは、−１に等しいと見なされ得ることに留意されたい。
【０１９５】
[0156]第２の例では、次の（最大２個の）動きベクトル候補ペアが（それらの両方が利用可能である場合）比較される。
【０１９６】
ＬＴＭＶが利用可能であるとき、（ＬＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）
ＲＴＭＶが利用可能であるとき、（ＲＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）。
【０１９７】
[0157]第３の例では、次の動きベクトル候補ペアが（それらの両方が利用可能である場合）比較される。
【０１９８】
ＬＴＭＶが利用可能であるとき、（ＬＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）、
（ＬＭＶ，Ｂ1からの空間マージング候補）、
ＲＴＭＶが利用可能であるとき、（ＲＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）
（ＲＭＶ，Ｂ1からの空間マージング候補）。
【０１９９】
[0158]第４の例では、次の動きベクトル候補ペアが（それらの両方が利用可能である場合）比較される。
【０２００】
ＬＴＭＶが利用可能であるとき、（ＬＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）、
（ＬＭＶ，Ａ1からの空間マージング候補）、
ＲＴＭＶが利用可能であるとき、（ＲＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）
（ＲＭＶ，Ａ1からの空間マージング候補）
[0159]第５の例では、次の（最大５個の）動きベクトル候補ペアが（それらの両方が利用可能である場合）比較される。
【０２０１】
ＬＴＭＶが利用可能であるとき、（ＬＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）、
（ＬＭＶ，Ａ1からの空間マージング候補）、
ＲＴＭＶが利用可能であるとき、（ＲＭＶ，視差ベクトルから導出されたＩＰＭＶＣ）、
（ＲＭＶ，Ａ1からの空間マージング候補）、
ＬＴＭＶとＬＴＭＶの両方が利用可能であるとき、（ＲＭＶ，ＬＭＶ）
[0160]図７は、上記で説明されたビュー間予測技法を含む、本開示で説明される技法を実装し得る、例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコード化とインターコード化とを実行することができる。ビデオエンコーダ２０によって実行されるとき、イントラコード化は、イントラ予測符号化と呼ばれることがあり、インターコード化は、インター予測符号化と呼ばれることがある。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間的冗長性を低減又は除去するために、空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの時間的冗長性を低減又は除去するために、時間的予測に依拠する。インターコード化はまた、ビュー間コード化を指すこともあり、そこで、別のビュー中のピクチャが、現在ビュー中の現在ピクチャ中の現在ブロックを符号化するための参照ピクチャとして使用される。イントラモード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースの圧縮モード又はビュー間圧縮モードのいずれかを指すことがある。
【０２０２】
[0161]図７の例では、ビデオエンコーダ２０は、区分ユニット３５と、予測処理ユニット４１と、フィルタユニット６３と、参照ピクチャメモリ６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き及び視差推定ユニット４２と、動き及び視差補償ユニット４４と、イントラ予測処理ユニット４６とを含む。ビデオブロック再構築のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。フィルタユニット６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、及びサンプル適応オフセット（ＳＡＯ）フィルタなど、１つ又は複数のループフィルタを表すように意図されている。フィルタユニット６３は、図７では、ループ内フィルタであるとして示されているが、他の構成では、フィルタユニット６３はループ後フィルタとして実装され得る。
【０２０３】
[0162]図７に示されるように、ビデオエンコーダ２０はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。この区分はまた、例えば、ＬＣＵ及びＣＵの４分木構造に従って、ビデオブロック区分としてのウェルズとして、スライス、タイル、又は他のより大きい単位への区分をも含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（及び、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（例えば、コード化レート及び歪みレベル）に基づいて現在ビデオブロックのために、複数のイントラコード化モードのうちの１つ、又は複数のインターコード化モードのうちの１つなど、複数の可能なコード化モードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコード化されたブロック又はインターコード化されたブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化されたブロックを再構築するために加算器６２に与え得る。
【０２０４】
[0163]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を行うために、コード化されるべき現在ブロックと同じフレーム又はスライス中の１つ又は複数の隣接ブロックに対して、現在ビデオブロックのイントラ予測コード化を実行し得る。予測処理ユニット４１内の動き及び視差推定ユニット４２並びに動き及び視差補償ユニット４４は、時間又はビュー圧縮を行うために、１つ又は複数の参照ピクチャ及び／又は参照ビュー中の１つ又は複数の予測ブロックに対して、現在ビデオブロックのインター予測コード化及び／又はビュー間コード化を実行する。
【０２０５】
[0164]動き及び視差推定ユニット４２は、ビデオシーケンスのための所定のパターンに従って、ビデオスライスのためのインター予測モード及び／又はビュー間予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライス又はＢスライスに指定し得る。動き及び視差推定ユニット４２並びに動き及び視差補償ユニット４４は、高度に統合され得るが、概念的な目的のために別々に示される。動き及び視差推定ユニット４２によって実行される動き及び視差推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在ビデオフレーム又はピクチャ内のビデオブロックのＰＵの変位を示し得る。動き及び視差推定ユニット４２によって実行される視差推定は、異なるビュー中のブロックから現在コード化されているブロックを予測するために使用され得る視差動きベクトルを生成するプロセスである。
【０２０６】
[0165]予測ブロックは、絶対値差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４画素位置、１／８画素位置、又は他の分数画素位置の値を補間し得る。従って、動き及び視差推定ユニット４２は、フル画素位置及び分数画素位置に対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【０２０７】
[0166]動き及び視差推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化されたスライス又はビュー間予測されたスライスにおけるビデオブロックのＰＵのための（動き補償予測のための）動きベクトル及び／又は（視差補償予測のための）視差動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）又は第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）から選択され得、それらの各々は、参照ピクチャメモリ６４に記憶された１つ又は複数の参照ピクチャを識別する。動き及び視差推定ユニット４２は、計算された動きベクトル及び／又は視差ベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０２０８】
[0167]動き及び視差補償ユニット４４によって実行される動き補償及び／又は視差補償は、動き推定及び／又は視差推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成すること、場合によってはサブ画素精度への補間を実行することを伴い得る。現在ビデオブロックのＰＵのための動きベクトル及び／又は視差を受信すると、動き及び視差補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトル及び／又は視差ベクトルが指す予測ブロックを検索し得る。ビデオエンコーダ２０は、コード化されている現在ビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって残差ビデオブロックを形成する。画素差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つ又は複数の構成要素を表す。動き及び視差補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０２０９】
[0168]イントラ予測処理ユニット４６は、上記で説明されたように、動き及び視差推定ユニット４２並びに動き及び視差補償ユニット４４によって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測処理ユニット４６は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化することができ、イントラ予測処理ユニット４６は、テストされたモードから使用するために適切なイントラ予測モードを選択することができる。例えば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（又は誤差）の量、及び符号化されたブロックを生成するために使用されるビットレート（即ち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化されたブロックの歪み及びレートから比を計算し得る。
【０２１０】
[0169]いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピーコード化単位５６に提供し得る。エントロピーコード化単位５６は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブル及び複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、及び変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
【０２１１】
[0170]予測処理ユニット４１が、インター予測又はイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。残差ブロックにおける残差ビデオデータは、１つ又は複数のＴＵに含まれ得、変換ユニット５２に適用され得る。変換ユニット５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換ユニット５２は、残差ビデオデータを画素領域から周波数領域などの変換領域に変換し得る。
【０２１２】
[0171]変換ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替として、エントロピー符号化ユニット５６が走査を実施し得る。
【０２１３】
[0172]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化、又は別のエントロピー符号化方法もしくは技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後、符号化されたビットストリームは、ビデオデコーダ３０に送信されるか、又はビデオデコーダ３０が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コード化されている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０２１４】
[0173]逆量子化ユニット５８及び逆変換処理ユニット６０は、それぞれ逆量子化及び逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、画素領域において残差ブロックを再構築する。動き及び視差補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き及び視差補償ユニット４４はまた、再構築された残差ブロックに１つ又は複数の補間フィルタを適用して、動き推定において使用するためのサブ整数画素値を計算し得る。加算器６２は、再構築された残差ブロックを、動き及び視差補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム又はピクチャ中のブロックをインター予測するために、動き及び視差推定ユニット４２ならびに動き及び視差補償ユニット４４によって参照ブロックとして使用され得る。
【０２１５】
[0174]図８は、上記で説明されたビュー間予測技法を含む、本開示で説明される技法を実装し得る、例示的なビデオデコーダ３０を示すブロック図である。図８の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、フィルタユニット９１と、参照ピクチャメモリ９２とを含む。予測処理ユニット８１は、動き及び視差補償ユニット８２と、イントラ予測処理ユニット８４とを含む。ビデオデコーダ３０は、幾つかの例では、図７からのビデオエンコーダ２０に関して説明された符号化パスとは概して逆の復号パスを実行し得る。
【０２１６】
[0175]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベル及び／又はビデオブロックレベルでシンタックス要素を受信し得る。
【０２１７】
[0176]ビデオスライスが、イントラコード化された（Ｉ）スライスとしてコード化されるとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、信号伝達されたイントラ予測モードと、現在フレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームが、インターコード化された（即ち、Ｂ、Ｐ又はＧＰＢ）スライスとしてコード化されるとき、予測処理ユニット８１の動き及び視差補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトル及び他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、即ち、リスト０とリスト１とを構築し得る。
【０２１８】
[0177]動き及び視差補償ユニット８２は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。例えば、動き及び視差補償ユニット８２は、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラ又はインター予測）と、インター予測又はビュー間予測スライスタイプ（例えば、Ｂスライス又はＰスライス）と、スライスの参照ピクチャリストのうちの１つ又は複数についての構築情報と、スライスの各インター符号化されたビデオブロックのための動きベクトル及び／又は視差ベクトルと、スライスの各インターコード化されたビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
【０２１９】
[0178]幾つかの例では、動き及び視差補償ユニット８２は、動きベクトル予測プロセスを使用して、動きベクトルを示す信号伝達されたシンタックス要素を決定し得る。動きベクトル予測プロセスは、ＡＭＶＰモードとマージモードとを含み得る。動き及び視差補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き及び視差補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き及び視差補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０２２０】
[0179]逆量子化ユニット８６は、ビットストリーム中で提供され、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータを使用して量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定することを含み得る。逆変換処理ユニット８８は、画素領域において残差ブロックを生成するために、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。
【０２２１】
[0180]動き及び視差補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを、動き及び視差補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つ又は複数の構成要素を表す。所望される場合、ループフィルタ（コード化ループで、又はコード化ループの後のいずれか）も、画素移行を平滑化するか、又は他の場合にはビデオ品質を向上させるために使用され得る。フィルタユニット９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、及びサンプル適応オフセット（ＳＡＯ）フィルタなど、１つ又は複数のループフィルタを表すように意図されている。フィルタユニット９１は、図８では、ループ内フィルタであるとして示されているが、他の構成では、フィルタユニット９１はループ後フィルタとして実装され得る。所与のフレーム又はピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１の表示装置３２などの表示装置上での後の提示のために、復号されたビデオを記憶する。
【０２２２】
[0181]図９は、本開示の技法による例示的な符号化プロセスを示すフローチャートである。図９の技法は、ビデオエンコーダ２０に関して説明されるが、他のタイプのビデオエンコーダによって実行され得る。ビデオエンコーダ２０は、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを決定する（１８０）。
【０２２３】
[0182]現在ブロックがＡＭＶＰモードでインター予測される場合、ビデオエンコーダ２０は、参照ピクチャインデックスに基づいて、ＩＤＭＶＣを導出するか、ＩＰＭＶＣを導出するかを決定し得る（１８２）。例えば、参照ピクチャインデックスが時間参照ピクチャを参照する場合、ビデオエンコーダ２０は、ＩＰＭＶＣを決定することができ、参照ピクチャインデックスがビュー間参照ピクチャを参照する場合、ビデオエンコーダ２０は、ＩＤＭＶＣを決定することができる。
【０２２４】
[0183]現在ブロックがマージモード又はスキップモードでインター予測される場合、ビデオエンコーダ２０は、ＩＰＭＶＣの利用可能性を決定し得る（１８４）。ビデオエンコーダ２０は、オフセット値だけシフトされた、現在ブロックの、視差ベクトルによって参照される参照ブロックのための動き情報が、現在ブロックの参照ピクチャリスト中で識別されたピクチャのＰＯＣ値に等しいＰＯＣ値をもつ参照ビュー中のピクチャを参照する、時間動きベクトルである動きベクトルを含む場合、ＩＰＭＶＣが利用可能であると決定し得る。上記で説明されたように、ＩＰＭＶＣは、第１のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックの動き情報であり得、ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルであり得る。
【０２２５】
[0184]幾つかの例では、ＩＰＭＶＣが利用可能である場合、ビデオエンコーダ２０は、ＩＰＭＶＣを導出し、マージ又はスキップモードにおけるＩＤＭＶＣの導出を回避し得る。ＩＰＭＶＣが利用可能ではなく、現在ブロックがマージモード又はスキップモードでインター予測される場合、ビデオエンコーダ２０は、ＩＤＭＶＣを導出し得る。
【０２２６】
[0185]ビデオエンコーダ２０は、ＩＰＭＶＣが候補リスト中に含まれるべきであるか、ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定し得る（１８６）。幾つかの例では、ビデオエンコーダ２０は、ＩＰＭＶＣ及びＩＤＭＶＣのうちの１つのみを含めてよく、両方を含めるのでなくてもよい（即ち、ＩＰＭＶＣ及びＩＤＭＶＣのうちの１つのみが候補リスト中に含まれる）。例えば、マージモードでは、ビデオエンコーダ２０が、ＩＰＭＶＣが利用可能であるので、ＩＰＭＶＣを導出する場合、ビデオエンコーダ２０は、ＩＤＭＶＣの導出を回避し得る。ＡＭＶＰモードでは、ビデオエンコーダ２０は、参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、ＩＰＭＶＣ又はＩＤＭＶＣのうちの１つを候補リスト中に含めることができる。
【０２２７】
[0186]また、ある例では、ビデオエンコーダ２０は、視差ベクトルをシフトすることなしに、視差ベクトルに基づいて、別のＩＰＭＶＣを導出し得る。これらの例では、ビデオエンコーダ２０は、２つのＩＰＭＶＣ（即ち、シフト視差ベクトルに基づくもの、及び、シフトなしの１つのベースの視差ベクトル）のための動き情報を比較し得る。幾つかの例では、ビデオエンコーダ２０は、視差ベクトルをシフトすることから導出されたＩＰＭＶＣのための動き情報を、視差ベクトルをシフトすることなしに導出されたＩＰＭＶＣのための動き情報のみと比較し得る。それらの２つのＩＰＭＶＣの動き情報が同じである場合、ビデオエンコーダ２０は、シフト視差ベクトルに基づくＩＰＭＶＣを候補リスト中に含めなくてよく、それらの２つのＩＰＭＶＣの動き情報が異なる場合、ビデオエンコーダ２０は、シフト視差ベクトルに基づくＩＰＭＶＣを候補リスト中に含め得る。ビデオエンコーダ２０は、常に、シフトなしの視差ベクトルに基づくＩＰＭＶＣを含め得る。
【０２２８】
[0187]ビデオエンコーダ２０は、候補リストに基づいて、現在ブロックをインター予測符号化し得る（１８８）。ビデオエンコーダ２０はまた、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを示すシンタックス要素（例えば、シンタックス要素を信号伝達すること）と、ビデオデコーダ３０が現在ブロックをインター予測符号化するために現在ブロックのための動きベクトルを決定するために使用する候補リストへのインデックスとを、信号伝達し得る（１９０）。
【０２２９】
[0188]図１０は、本開示の技法による例示的な復号プロセスを示すフローチャートである。図１０の技法は、ビデオデコーダ３０に関して説明されるが、他のタイプのビデオデコーダによって実行され得る。ビデオデコーダ３０は、受信し、及び、候補リストへのインデックスである（２００）。ビデオデコーダ３０は、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを示すシンタックス要素を受信して（例えば、シンタックス要素を復号する、又は、シンタックス要素を復号すること）、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを決定し得る（２０２）。
【０２３０】
[0189]ビデオデコーダ３０が、現在ブロックがＡＭＶＰモードでインター予測されると決定する場合、ビデオデコーダ３０は、参照ピクチャインデックスに基づいて、ＩＤＭＶＣを導出するか、ＩＰＭＶＣを導出するかを決定し得る（２０４）。例えば、参照ピクチャインデックスが時間参照ピクチャを参照する場合、ビデオデコーダ３０は、ＩＰＭＶＣを決定することができ、参照ピクチャインデックスがビュー間参照ピクチャを参照する場合、ビデオデコーダ３０は、ＩＤＭＶＣを決定することができる。
【０２３１】
[0190]現在ブロックがマージモード又はスキップモードでインター予測される場合、ビデオデコーダ３０は、ＩＰＭＶＣの利用可能性を決定し得る（２０６）。ビデオデコーダ３０は、オフセット値だけシフトされた、現在ブロックの、視差ベクトルによって参照される参照ブロックのための動き情報が、現在ブロックの参照ピクチャリスト中で識別されたピクチャのＰＯＣ値に等しいＰＯＣ値をもつ参照ビュー中のピクチャを参照する、時間動きベクトルである動きベクトルを含む場合、ＩＰＭＶＣが利用可能であると決定し得る。再び、上記で説明されたように、ＩＰＭＶＣは、第１のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動きベクトルであり得、ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルであり得る。
【０２３２】
[0191]幾つかの例では、ＩＰＭＶＣが利用可能である場合、ビデオデコーダ３０は、ＩＰＭＶＣを導出し、マージ又はスキップモードにおけるＩＤＭＶＣの導出を回避し得る。ＩＰＭＶＣが利用可能ではなく、現在ブロックがマージモード又はスキップモードでインター予測される場合、ビデオデコーダ３０は、ＩＤＭＶＣを導出し得る。
【０２３３】
[0192]ビデオデコーダ３０は、ＩＰＭＶＣが候補リスト中に含まれるべきであるか、ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定し得る（２０８）。幾つかの例では、ビデオデコーダ３０は、ＩＰＭＶＣ及びＩＤＭＶＣのうちの１つのみを含めてよく、両方を含めるのでなくてもよい（即ち、ＩＰＭＶＣ及びＩＤＭＶＣのうちの１つのみが候補リスト中に含まれる）。例えば、マージモードでは、ビデオデコーダ３０が、ＩＰＭＶＣが利用可能であるので、ＩＰＭＶＣを導出する場合、ビデオデコーダ３０は、ＩＤＭＶＣの導出を回避し得る。ＡＭＶＰモードでは、ビデオデコーダ３０は、参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、ＩＰＭＶＣ又はＩＤＭＶＣのうちの１つを候補リスト中に含めることができる。ビデオデコーダ３０は、候補リストに基づいて、現在ブロックをインター予測復号し得る（２１０）。
【０２３４】
[0193]また、幾つかの例では、ビデオデコーダ３０は、視差ベクトルをシフトすることなしに、視差ベクトルに基づいて、別のＩＰＭＶＣを導出し得る。これらの例では、ビデオデコーダ３０は、２つのＩＰＭＶＣ（即ち、シフト視差ベクトルに基づくもの、及び、シフトなしの１つのベースの視差ベクトル）のための動き情報を比較し得る。幾つかの例では、ビデオデコーダ３０は、視差ベクトルをシフトすることから導出されたＩＰＭＶＣのための動き情報を、視差ベクトルをシフトすることなしに導出されたＩＰＭＶＣのための動き情報のみと比較し得る。それらの２つのＩＰＭＶＣの動き情報が同じである場合、ビデオデコーダ３０は、シフト視差ベクトルに基づくＩＰＭＶＣを候補リスト中に含めなくてよく、それらの２つのＩＰＭＶＣの動き情報が異なる場合、ビデオデコーダ３０は、シフト視差ベクトルに基づくＩＰＭＶＣを候補リスト中に含め得る。ビデオデコーダ３０は、常に、シフトなしの視差ベクトルに基づくＩＰＭＶＣを含め得る。
【０２３５】
[0194]その上、上記の例示的な技法は、マルチビュービデオコード化に関して説明されているが、本開示で説明される技法は、そのように限定されない。例えば、本開示で説明される技法は、スケーラブルビデオコード化のためのＨＥＶＣ規格への拡張（ＳＨＥＶＣ）を含む、スケーラブルビデオコード化（ＳＶＣ）に拡張され得る。
【０２３６】
[0195]スケーラブルビデオコード化（ＳＶＣ）では、多重レイヤがあり得る。最下位レベルにあるレイヤはベースレイヤ（ＢＬ：base layer）としてのみ働き得、最上位レベルにあるレイヤは拡張レイヤ（ＥＬ：enhancement layer）としてのみ働き得る。中間にある全てのレイヤは、ＥＬとＢＬの両方として働き得る。例えば、中間にあるレイヤは、それの下のレイヤのためのＥＬであり、同時にそれの上のレイヤのためのＢＬとしてあり得る。説明を簡単にするために、本開示は、現在の技法を例示する際に、２つのレイヤ、ＢＬ及びＥＬがあると仮定する。本開示で説明される技法は、多重レイヤを伴う場合にも適用可能であることに留意されたい。
【０２３７】
[0196]ＳＣＶにおける視差ベクトルの概念は、参照レイヤ中の参照ブロックを参照するベクトルを指すことがあり、但し、参照レイヤは、インター予測されているブロックを含むレイヤとは別のレイヤである。そのようなレイヤ間ベクトルの一例は、ゼロベクトル（例えば、成分（０，０）をもつベクトル）であり得る。ＳＣＶでは、レイヤ間ベクトルは、３Ｄビデオに関して視差ベクトルについて上記で説明されたものと同様の方法で利用され得る。
【０２３８】
[0197]上記で説明されたように、３Ｄビデオでは、ビデオコーダ２０／３０は、視差ベクトルをシフトすることなしに、ＩＰＭＶＣとＩＤＭＶＣとを導出し、視差ベクトルを、及び、幾つかの例では、追加のＩＤＭＶＣと比較して追加のＩＰＭＶＣに対して異なる量（即ち、異なるオフセット値）だけシフトすることによって、一般にビュー間候補と呼ばれる、追加のＩＰＭＶＣとＩＤＭＶＣとを導出し得る。ＳＶＣでは、ビデオコーダ２０／３０は、レイヤ間候補を同様に導出し得る。一例として、ビデオコーダ２０／３０は、レイヤ間ベクトルが参照する参照レイヤ中の参照ブロックから継承された動き情報に基づいて、及び／又は、オフセット値だけシフトされた、レイヤ間ベクトルが参照する参照レイヤ中の参照ブロックから継承された動き情報に基づいて、レイヤ間候補を導出し得る。別の例として、ビデオコーダ２０／３０は、レイヤ間ベクトルをレイヤ間候補に変換することによって、及び／又は、オフセット値だけシフトされた、レイヤ間ベクトルをレイヤ間候補に変換することによって、レイヤ間候補を導出し得る。
【０２３９】
[0198]従って、幾つかの例では、ＩＰＭＶＣとＩＤＭＶＣとを導出するための本開示で説明される技法、及び、ＩＰＭＶＣ並びにＩＤＭＶＣが（例えば、マージモード、スキップモード、又はＡＭＶＰモードで）導出されるときのための技法は、ＳＶＣに拡張され得る。ＳＶＣでは、ビデオコーダ２０／３０は、ＩＰＭＶＣを導出することと同様の方法で（例えば、現在ブロックのためのレイヤ間ベクトル又はシフトされたレイヤ間ベクトルが参照する、参照レイヤ中の参照ブロックのための動き情報に基づいて）、第１のレイヤ間候補を導出することができ、ＩＤＭＶＣを導出することと同様の方法（例えば、現在ブロックのためのレイヤ間ベクトル又はシフトされたレイヤ間ベクトルを、レイヤ間候補に変換すること）で、第２のレイヤ間候補を導出することができる。ＳＶＣでは、ビデオコーダ２０／３０は、第１のレイヤ間候補及び第２のレイヤ間候補のための、３Ｄビデオについて上記で説明されたものと同様の技法を実装し得る。
【０２４０】
[0199]１つ又は複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。各機能は、ソフトウェアで実装される場合、１つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されてよく、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、データ記憶媒体又は通信媒体のような有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形コンピュータ可読記憶媒体、又は、（２）信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コード及び／又はデータ構造を取り出すために、１つもしくは複数のコンピュータ、又は１つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０２４１】
[0200]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気記憶装置、フラッシュメモリ、あるいは、命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０２４２】
[0201]命令は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）などの１つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、又は他の等価な集積回路若しくはディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造、又は本明細書で説明する技法の実装に好適な任意の他の構造のいずれかを指すことがある。更に、幾つかの態様では、本明細書で説明された機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内に与えられてよく、若しくは複合コーデックに組み込まれてよい。また、本技法は、１つ又は複数の回路又は論理要素中で十分に実装され得る。
【０２４３】
[0202]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実装され得る。本開示では、開示されている技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明されているが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明された１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
【０２４４】
[0203]様々な例が説明された。これら及び他の例は、以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをコード化する方法であって、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測（ＡＭＶＰ）モードでインター予測されるかを決定することと、前記現在ブロックがＡＭＶＰモードでインター予測される場合、少なくとも１つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出するか、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を導出するかを決定することと、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記ＩＰＭＶＣの利用可能性を決定することと、ここにおいて、前記ＩＰＭＶＣは、第１のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、前記ＩＰＭＶＣ又は前記ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定することと、前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化することとを備える方法。
［２］  前記ＩＰＭＶＣの利用可能性を決定することは、前記第１のオフセット値だけシフトされた前記視差ベクトルによって参照される前記参照ビュー中の前記参照ブロックのための動きベクトルが、前記現在ブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント（ＰＯＣ）値に等しいＰＯＣ値をもつ前記参照ビュー中のピクチャを参照する、時間動きベクトルである場合、前記ＩＰＭＶＣが利用可能であると決定することを備え、前記方法は、前記ＩＰＭＶＣを導出することと、前記ＩＤＭＶＣの前記導出を回避することとを更に備える、［１］の方法。
［３］  前記ＩＰＭＶＣが利用可能ではなく、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記ＩＤＭＶＣを導出することを更に備える、［１］の方法。
［４］  前記ＩＰＭＶＣは第１のＩＰＭＶＣを備え、前記参照ブロックは第１の参照ブロックを備え、前記方法は、第２のＩＰＭＶＣを決定することと、ここにおいて、前記第２のＩＰＭＶＣは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第２の参照ブロックのための動き情報を備える、前記第１のＩＰＭＶＣの動き情報と、前記第２のＩＰＭＶＣの動き情報とを比較することとを更に備え、前記ＩＰＭＶＣが前記候補リスト中に含まれるべきであるか、前記ＩＤＭＶＣが前記候補リスト中に含まれるべきであるかを決定することは、前記第２のＩＰＭＶＣのための前記動き情報が前記第１のＩＰＭＶＣのための前記動き情報と同じである場合、前記第１のＩＰＭＶＣが前記候補リスト中に含まれないと決定することと、前記第２のＩＰＭＶＣのための前記動き情報が前記第１のＩＰＭＶＣのための前記動き情報とは異なる場合、前記第１のＩＰＭＶＣが前記候補リスト中に含まれるべきであると決定することとを備える、［１］の方法。
［５］  比較することは、前記第１のＩＰＭＶＣの前記動き情報を、前記第２のＩＰＭＶＣの前記動き情報のみと比較することを備える、［４］の方法。
［６］  少なくとも１つの参照ピクチャインデックスに基づいて、前記ＩＰＭＶＣを導出するか、前記ＩＤＭＶＣを導出するかを決定することは、前記少なくとも１つの参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、前記ＩＰＭＶＣを導出するか、前記ＩＤＭＶＣを導出するかを決定することを備える、［１］の方法。
［７］  隣接ブロックのための視差動きベクトル、及び、隣接ブロックのための導出された視差ベクトルのうちの１つに基づいて、前記現在ブロックのための前記視差ベクトルを決定することと、前記第１のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第１のオフセット値を加算すること、又は、前記視差ベクトルから前記第１のオフセット値を減算することと、前記第２のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第２のオフセット値を加算すること、又は、前記視差ベクトルから前記第２のオフセット値を減算することとを更に備える、［１］の方法。
［８］  前記ＩＰＭＶＣ又は前記ＩＤＭＶＣのうちの１つのみが、前記候補リスト中に含まれる、［１］の方法。
［９］  前記第２のオフセット値は、前記視差ベクトルを水平にシフトするための固定されたオフセット値を備える、［１］の方法。
［１０］  前記参照ブロックの前記動き情報は、動きベクトル、及び、参照ピクチャリストのための１つ以上の参照インデックスのうちの、少なくとも１つを備える、［１］の方法。
［１１］  前記方法は、前記候補リストへのインデックスを受信することを更に備え、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを決定することは、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを示すシンタックス要素を復号することを備え、インター予測コード化することは、前記候補リストに基づいて、前記現在ブロックをインター予測復号することを備える、［１］の方法。
［１２］  前記方法は、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを示すシンタックス要素を信号伝達することと、前記候補リストへのインデックスを信号伝達することとを更に備え、インター予測コード化することは、前記候補リストに基づいて、前記現在ブロックをインター予測符号化することを備える、［１］の方法。
［１３］  ビデオデータをコード化するための機器であって、前記機器はビデオコーダを備え、前記ビデオコーダは、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測（ＡＭＶＰ）モードでインター予測されるかを決定することと、前記現在ブロックがＡＭＶＰモードでインター予測される場合、少なくとも１つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出するか、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を導出するかを決定することと、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記ＩＰＭＶＣの利用可能性を決定することと、ここにおいて、前記ＩＰＭＶＣは、第１のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、前記ＩＰＭＶＣが候補リスト中に含まれるべきであるか、前記ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定することと、前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化することとを行うように構成される機器。
［１４］  前記ＩＰＭＶＣの利用可能性を決定するために、前記ビデオコーダは、前記第１のオフセット値だけシフトされた前記視差ベクトルによって参照される前記参照ビュー中の前記参照ブロックのための動きベクトルが、前記現在ブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント（ＰＯＣ）値に等しいＰＯＣ値をもつ前記参照ビュー中のピクチャを参照する、時間動きベクトルである場合、前記ＩＰＭＶＣが利用可能であると決定するように構成され、前記ビデオコーダは、前記ＩＰＭＶＣを導出することと、前記ＩＤＭＶＣの前記導出を回避することとを行うように構成される、［１３］の機器。
［１５］  前記ビデオコーダが、前記ＩＰＭＶＣが利用可能ではなく、前記現在ブロックがマージモードでインター予測されると決定する場合、前記ビデオコーダは、前記ＩＤＭＶＣを導出するように構成される、［１３］の機器。
［１６］  前記ＩＰＭＶＣは第１のＩＰＭＶＣを備え、前記参照ブロックは第１の参照ブロックを備え、前記ビデオコーダは、第２のＩＰＭＶＣを決定することと、ここにおいて、前記第２のＩＰＭＶＣは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第２の参照ブロックのための動き情報を備える、前記第１のＩＰＭＶＣの動き情報と、前記第２のＩＰＭＶＣの動き情報とを比較することとを行うように構成され、前記ＩＰＭＶＣが前記候補リスト中に含まれるべきであるか、前記ＩＤＭＶＣが前記候補リスト中に含まれるべきであるかを決定するために、前記ビデオコーダは、前記第２のＩＰＭＶＣのための前記動き情報が前記第１のＩＰＭＶＣのための前記動き情報と同じである場合、前記第１のＩＰＭＶＣが前記候補リスト中に含まれないと決定することと、前記第２のＩＰＭＶＣのための前記動き情報が前記第１のＩＰＭＶＣのための前記動き情報とは異なる場合、前記第１のＩＰＭＶＣが前記候補リスト中に含まれるべきであると決定することとを行うように構成される、［１３］の機器。
［１７］  比較するために、前記ビデオコーダは、前記第１のＩＰＭＶＣのための前記動き情報を、前記第２のＩＰＭＶＣの前記動き情報のみと比較するように構成される、［１６］の機器。
［１８］  少なくとも１つの参照ピクチャインデックスに基づいて、前記ＩＰＭＶＣを導出するか、前記ＩＤＭＶＣを導出するかを決定するために、前記ビデオコーダは、前記少なくとも１つの参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、前記ＩＰＭＶＣを導出するか、前記ＩＤＭＶＣを導出するかを決定するように構成される、［１３］の機器。
［１９］  前記ビデオコーダは、隣接ブロックのための視差動きベクトル、及び、隣接ブロックのための導出された視差ベクトルのうちの１つに基づいて、前記現在ブロックのための前記視差ベクトルを決定することと、前記第１のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第１のオフセット値を加算するか、又は、前記視差ベクトルから前記第１のオフセット値を減算することと、前記第２のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第２のオフセット値を加算するか、又は、前記視差ベクトルから前記第２のオフセット値を減算することとを行うように構成される、［１３］の機器。
［２０］  前記ＩＰＭＶＣ又は前記ＩＤＭＶＣのうちの１つのみが、前記候補リスト中に含まれる、［１３］の機器。
［２１］  前記第２のオフセット値は、前記視差ベクトルを水平にシフトするための固定されたオフセット値を備える、［１３］の機器。
［２２］  前記参照ブロックの前記動き情報は、動きベクトル、及び、参照ピクチャリストのための１つ以上の参照インデックスのうちの、少なくとも１つを備える、［１３］の機器。
［２３］  前記ビデオコーダは、ビデオデコーダを備え、前記ビデオデコーダは、前記候補リストへのインデックスを受信するように構成され、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを決定するために、前記ビデオコーダは、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを示すシンタックス要素を復号するように構成され、インター予測コード化するために、前記ビデオデコーダは、前記候補リストに基づいて、前記現在ブロックをインター予測復号するように構成される、［１３］の機器。
［２４］  前記ビデオコーダは、ビデオエンコーダを備え、前記ビデオエンコーダは、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、ＡＭＶＰモードでインター予測されるかを示すシンタックス要素を信号伝達することと、前記候補リストへのインデックスを信号伝達することとを行うように構成され、インター予測コード化するために、前記ビデオエンコーダは、前記候補リストに基づいて、前記現在ブロックをインター予測符号化するように構成される、［１３］の機器。
［２５］  前記機器は、集積回路（ＩＣ）と、マイクロプロセッサと、ワイヤレス通信機器とのうちの１つを備える、［１３］の機器。
［２６］  実行されたとき、ビデオデータをコード化するための機器の１つ以上のプロセッサに、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測（ＡＭＶＰ）モードでインター予測されるかを決定することと、前記現在ブロックがＡＭＶＰモードでインター予測される場合、少なくとも１つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出するか、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を導出するかを決定することと、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記ＩＰＭＶＣの利用可能性を決定することと、ここにおいて、前記ＩＰＭＶＣは、第１のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、前記ＩＰＭＶＣが候補リスト中に含まれるべきであるか、前記ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定することと、前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化することとを行わせる命令を記憶したコンピュータ可読記憶媒体。
［２７］  前記ＩＰＭＶＣは第１のＩＰＭＶＣを備え、前記参照ブロックは第１の参照ブロックを備え、前記コンピュータ可読記憶媒体は、前記１つ以上のプロセッサに、第２のＩＰＭＶＣを決定することと、ここにおいて、前記第２のＩＰＭＶＣは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第２の参照ブロックのための動き情報を備える、前記第１のＩＰＭＶＣの動き情報を、前記第２のＩＰＭＶＣの前記動き情報のみと比較することとを行わせる命令を更に備え、前記ＩＰＭＶＣが前記候補リスト中に含まれるべきであるか、前記ＩＤＭＶＣが前記候補リスト中に含まれるべきであるかを決定することを、前記１つ以上のプロセッサに行わせる前記命令は、前記第２のＩＰＭＶＣのための前記動き情報が前記第１のＩＰＭＶＣのための前記動き情報と同じである場合、前記第１のＩＰＭＶＣが前記候補リスト中に含まれないと決定することと、前記第２のＩＰＭＶＣのための前記動き情報が前記第１のＩＰＭＶＣのための前記動き情報とは異なる場合、前記第１のＩＰＭＶＣが前記候補リスト中に含まれるべきであると決定することとを、前記１つ以上のプロセッサに行わせる命令を備える、［２６］のコンピュータ可読記憶媒体。
［２８］  前記ＩＰＭＶＣ又は前記ＩＤＭＶＣのうちの１つのみが、前記候補リスト中に含まれる、［２６］のコンピュータ可読記憶媒体。
［２９］  ビデオデータをコード化するための機器であって、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測（ＡＭＶＰ）モードでインター予測されるかを決定するための手段と、前記現在ブロックがＡＭＶＰモードでインター予測される場合、少なくとも１つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補（ＩＤＭＶＣ）を導出するか、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を導出するかを決定するための手段と、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記ＩＰＭＶＣの利用可能性を決定するための手段と、ここにおいて、前記ＩＰＭＶＣは、第１のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記ＩＤＭＶＣは、第２の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、前記ＩＰＭＶＣが候補リスト中に含まれるべきであるか、前記ＩＤＭＶＣが候補リスト中に含まれるべきであるかを決定するための手段と、前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化するための手段とを備える機器。
［３０］  前記ＩＰＭＶＣは第１のＩＰＭＶＣを備え、前記参照ブロックは第１の参照ブロックを備え、前記機器は、第２のＩＰＭＶＣを決定するための手段と、ここにおいて、前記第２のＩＰＭＶＣは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第２の参照ブロックのための動き情報を備える、前記第１のＩＰＭＶＣの動き情報を、前記第２のＩＰＭＶＣの動き情報のみと比較するための手段とを更に備え、前記ＩＰＭＶＣが前記候補リスト中に含まれるべきであるか、前記ＩＤＭＶＣが前記候補リスト中に含まれるべきであるかを決定するための前記手段は、前記第２のＩＰＭＶＣのための前記動き情報が前記第１のＩＰＭＶＣのための前記動き情報と同じである場合、前記第１のＩＰＭＶＣが前記候補リスト中に含まれないと決定するための手段と、前記第２のＩＰＭＶＣのための前記動き情報が前記第１のＩＰＭＶＣのための前記動き情報とは異なる場合、前記第１のＩＰＭＶＣが前記候補リスト中に含まれるべきであると決定するための手段とを備える、［２９］の機器。
【図１】
0006271575.tif 000004
【図２】
0006271575.tif 000005
【図３】
0006271575.tif 000006
【図４】
0006271575.tif 000007
【図５】
0006271575.tif 000008
【図６】
0006271575.tif 000009
【図７】
0006271575.tif 000010
【図８】
0006271575.tif 000011
【図９】
0006271575.tif 000012
【図１０】
0006271575.tif 000013