(57)【要約】      （修正有）【課題】予測されるべき現在ブロックに空間的及び時間的に隣接する領域の視差動きベクトルに基づいて、現在ブロックに対する視差ベクトルを決定する方法を提供する。【解決手段】方法は、現在ブロックに空間的及び時間的に隣接する領域に対する動きベクトルが視差動きベクトルである場合に、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定し、前記領域に対する前記視差動きベクトルが、前記現在ブロックに対する視差ベクトルであると決定した場合には、現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する。【選択図】図１６
2018110407.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号するための方法であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測復号することとを備え、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記復号することが、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、方法。
【請求項２】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、請求項１に記載の方法。
【請求項３】
前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、請求項２に記載の方法。
【請求項４】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、請求項１に記載の方法。
【請求項５】
前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、請求項４に記載の方法。
【請求項６】
前記領域に対する前記動きベクトルが、前記領域に隣接するブロックの視差動きベクトルから導出されるとき、前記領域が内在視差予測領域であるものと決定することと、
前記領域が前記内在視差予測領域であるものと決定することに応答して、前記領域に隣接する前記ブロックの前記視差動きベクトルが、前記現在ブロックに対する前記視差ベクトルであるかどうかを決定することとを更に備え、
前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルでない場合、前記復号することが、前記領域に隣接する前記ブロックの前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に隣接する前記ブロックに対する前記視差動きベクトルを使用する、請求項１に記載の方法。
【請求項７】
前記視差ベクトルが指すブロックを決定することと、
前記視差ベクトルが指す前記ブロックに対する動きベクトルを決定することと、
候補動きベクトル予測子のリストに、前記視差ベクトルが指す前記ブロックに対する前記動きベクトルを含めることとを更に備え、
前記現在ブロックをインター予測復号することが、前記視差ベクトルが指す前記ブロックに対する前記動きベクトルがマージモード又は拡張型動きベクトル予測（ＡＭＶＰ）モードの一部分として候補動きベクトル予測子の前記リストから選択されるとき、前記視差ベクトルが指す前記ブロックに対する前記動きベクトルに基づいて前記現在ブロックをインター予測復号することを備える、請求項１に記載の方法。
【請求項８】
前記視差ベクトルが指すブロックを決定することを更に備え、
前記現在ブロックをインター予測復号することが、前記現在ブロックの残差情報をインター予測するために、決定された前記ブロックの残差情報を使用することを備える、請求項１に記載の方法。
【請求項９】
前記視差動きベクトルを変更することと、
前記現在ブロックに対する候補動きベクトル予測子のリストに、変更された前記視差動きベクトルを含めることとを更に備える、請求項１に記載の方法。
【請求項１０】
前記視差動きベクトルを変更することが、前記視差動きベクトルのｙ成分をゼロに等しく設定することを備える、請求項９に記載の方法。
【請求項１１】
前記現在ブロックが、瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャ又はクリーンランダムアクセス（ＣＲＡ）ピクチャのブロックであり得る、請求項１に記載の方法。
【請求項１２】
ビデオデータを符号化するための方法であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測復号することとを備え、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記符号化が、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、方法。
【請求項１３】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、請求項１２に記載の方法。
【請求項１４】
前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、請求項１３に記載の方法。
【請求項１５】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、請求項１２に記載の方法。
【請求項１６】
前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、請求項１５に記載の方法。
【請求項１７】
前記領域に対する前記動きベクトルが、前記領域に隣接するブロックの視差動きベクトルから導出されるとき、前記領域が内在視差予測領域であるものと決定することと、
前記領域が前記内在視差予測領域であるものと決定することに応答して、前記領域に隣接する前記ブロックの前記視差動きベクトルが、前記現在ブロックに対する前記視差ベクトルであるかどうかを決定することとを更に備え、
前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルでない場合、前記符号化することが、前記領域に隣接する前記ブロックの前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に隣接する前記ブロックに対する前記視差動きベクトルを使用する、請求項１２に記載の方法。
【請求項１８】
前記視差ベクトルが指し示すブロックを決定することを更に備え、
前記現在ブロックをインター予測符号化することが、前記現在ブロックの残差情報をインター予測するために、決定された前記ブロックの残差情報を使用することを備える、請求項１２に記載の方法。
【請求項１９】
前記視差動きベクトルを変更することと、
前記現在ブロックに対する候補動きベクトル予測子のリストに、変更された前記視差動きベクトルを含めることとを更に備える、請求項１２に記載の方法。
【請求項２０】
前記視差動きベクトルを変更することが、前記視差動きベクトルのｙ成分をゼロに等しく設定することを備える、請求項１９に記載の方法。
【請求項２１】
前記現在ブロックが、瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャ又はクリーンランダムアクセス（ＣＲＡ）ピクチャの前記現在ブロックである、請求項１２に記載の方法。
【請求項２２】
ビデオデータを復号するための装置であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測復号することとを行うように構成されたビデオデコーダを備え、前記現在ブロックを復号するために、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記ビデオデコーダが、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、装置。
【請求項２３】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するために、前記ビデオデコーダが、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するように構成され、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、請求項２２に記載の装置。
【請求項２４】
前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、請求項２３に記載の装置。
【請求項２５】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するために、前記ビデオデコーダが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するように構成され、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、請求項２２に記載の装置。
【請求項２６】
前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、請求項２５に記載の装置。
【請求項２７】
前記ビデオデコーダが、
前記領域に対する前記動きベクトルが、前記領域に隣接するブロックの視差動きベクトルから導出されるとき、前記領域が内在視差予測領域であるものと決定することと、
前記領域が前記内在視差予測領域であるものと決定することに応答して、前記領域に隣接する前記ブロックの前記視差動きベクトルが、前記現在ブロックに対する前記視差ベクトルであるかどうかを決定することとを行うように構成され、
前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルでない場合、前記現在ブロックを復号するために、前記ビデオエンコーダが、前記領域に隣接する前記ブロックの前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に隣接する前記ブロックに対する前記視差動きベクトルを使用する、請求項２２に記載の装置。
【請求項２８】
前記ビデオデコーダが、
前記視差ベクトルが指し示すブロックを決定することと、
前記視差ベクトルが指し示す前記ブロックに対する動きベクトルを決定することと、
候補動きベクトル予測子のリストに、前記視差ベクトルが指し示す前記ブロックに対する前記動きベクトルを含めることとを行うように構成され、
前記現在ブロックをインター予測復号するために、前記ビデオデコーダが、前記視差ベクトルが指し示す前記ブロックに対する前記動きベクトルがマージモード又は拡張型動きベクトル予測（ＡＭＶＰ）モードの一部分として候補動きベクトル予測子の前記リストから選択されるとき、前記視差ベクトルが指し示す前記ブロックに対する前記動きベクトルに基づいて前記現在ブロックをインター予測復号するように構成される、請求項２２に記載の装置。
【請求項２９】
前記ビデオデコーダが、
前記視差ベクトルが指し示すブロックを決定するように構成され、
前記現在ブロックをインター予測復号するために、前記ビデオデコーダが、前記現在ブロックの残差情報をインター予測するために、決定された前記ブロックの残差情報を使用するように構成される、請求項２２に記載の装置。
【請求項３０】
前記ビデオデコーダが、
前記視差動きベクトルを変更することと、
前記現在ブロックに対する候補動きベクトル予測子のリストに、変更された前記視差動きベクトルを含めることとを行うように構成される、請求項２２に記載の装置。
【請求項３１】
前記視差動きベクトルを変更するために、前記ビデオデコーダが、前記視差動きベクトルのｙ成分をゼロに等しく設定するように構成される、請求項３０に記載の装置。
【請求項３２】
前記現在ブロックが、瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャ又はクリーンランダムアクセス（ＣＲＡ）ピクチャの前記現在ブロックである、請求項２２に記載の装置。
【請求項３３】
前記装置が、
ワイヤレス通信装置と、
マイクロプロセッサと、
集積回路とのうちの１つを備える、請求項２２に記載の装置。
【請求項３４】
ビデオデータを符号化するための装置であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測符号化することとを行うように構成されたビデオエンコーダを備え、前記現在ブロックを符号化するために、前記ビデオエンコーダが、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、装置。
【請求項３５】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するために、前記ビデオエンコーダが、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するように構成され、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、請求項３４に記載の装置。
【請求項３６】
前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、請求項３５に記載の装置。
【請求項３７】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するために、前記ビデオエンコーダが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するように構成され、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、請求項３４に記載の装置。
【請求項３８】
前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、請求項３７に記載の装置。
【請求項３９】
前記ビデオエンコーダが、
前記領域に対する前記動きベクトルが、前記領域に隣接するブロックの視差動きベクトルから導出されるとき、前記領域が内在視差予測領域であるものと決定することと、
前記領域が前記内在視差予測領域であるものと決定することに応答して、前記領域に隣接する前記ブロックの前記視差動きベクトルが、前記現在ブロックに対する前記視差ベクトルであるかどうかを決定することとを行うように構成され、
前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルでない場合、前記現在ブロックを符号化するために、前記ビデオエンコーダが、前記領域に隣接する前記ブロックの前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に隣接する前記ブロックに対する前記視差動きベクトルを使用する、請求項３４に記載の装置。
【請求項４０】
前記ビデオエンコーダが、
前記視差ベクトルが指し示すブロックを決定するように構成され、
前記現在ブロックをインター予測符号化するために、前記ビデオエンコーダが、前記現在ブロックの残差情報をインター予測するために、決定された前記ブロックの残差情報を使用するように構成される、請求項３４に記載の装置。
【請求項４１】
前記ビデオエンコーダが、
前記視差動きベクトルを変更することと、
前記現在ブロックに対する候補動きベクトル予測子のリストに、前記変更された視差動きベクトルを含めることとを行うように構成される、請求項３４に記載の装置。
【請求項４２】
前記視差動きベクトルを変更するために、前記ビデオエンコーダが、前記視差動きベクトルのｙ成分をゼロに等しく設定するように構成される、請求項４１に記載の装置。
【請求項４３】
前記現在ブロックが、瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャ又はクリーンランダムアクセス（ＣＲＡ）ピクチャの前記現在ブロックである、請求項３４に記載の装置。
【請求項４４】
ビデオデータを復号するための装置であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定するための手段と、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定するための手段と、
前記現在ブロックをインター予測復号するための手段とを備え、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記インター予測復号するための前記手段が、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、装置。
【請求項４５】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するための前記手段が、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するための手段を備え、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、請求項４４に記載の装置。
【請求項４６】
前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、請求項４５に記載の装置。
【請求項４７】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するための前記手段が、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するための手段を備え、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、請求項４４に記載の装置。
【請求項４８】
前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、請求項４７に記載の装置。
【請求項４９】
ビデオデータを符号化するための装置であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定するための手段と、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定するための手段と、
前記現在ブロックをインター予測符号化するための手段とを備え、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、インター予測符号化するための前記手段が、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、装置。
【請求項５０】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するための前記手段が、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するための手段を備え、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、請求項４９に記載の装置。
【請求項５１】
前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、請求項５０に記載の装置。
【請求項５２】
前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、請求項４９に記載の装置。
【請求項５３】
前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、請求項５２に記載の装置。
【請求項５４】
命令を記憶されたコンピュータ可読記憶媒体であって、前記命令が、実行されると１つ以上のプロセッサに、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測復号することとを行わせ、前記１つ以上のプロセッサに復号させる前記命令が、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記１つ以上のプロセッサに、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用させる命令を備える、コンピュータ可読記憶媒体。
【請求項５５】
命令を記憶されたコンピュータ可読記憶媒体であって、前記命令が、実行されると１つ以上のプロセッサに、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測符号化することとを行わせ、前記１つ以上のプロセッサに符号化させる前記命令が、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記１つ以上のプロセッサに、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用させる命令を備える、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、
２０１２年３月１４日に出願された米国仮出願第６１／６１０，９６１号、
２０１２年４月９日に出願された米国仮出願第６１／６２１，９２９号、
２０１２年４月１１日に出願された米国仮出願第６１／６２３，０４１号、
２０１２年６月１２日に出願された米国仮出願第６１／６５８，７５４号、
２０１２年８月１１日に出願された米国仮出願第６１／６８２，２２１号、及び
２０１２年８月１１日に出願された米国仮出願第６１／６８２，２２４号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコード化に関し、より詳細には、マルチビュー及び３次元（３Ｄ）のビデオデータをコード化するための技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー又は衛星無線電話、所謂「スマートフォン」、ビデオ遠隔会議機器、ビデオストリーミング機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコード化（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオ機器は、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び／又は記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために、空間的（イントラピクチャ）予測及び／又は時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコード化では、ビデオスライス（即ち、ビデオフレーム又はビデオフレームの一部）はビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コード化単位（ＣＵ：coding unit）及び／又はコード化ノードと呼ばれることがある。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測又は時間的予測は、コード化されるべきブロックの予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、及びコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初に２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査することができ、なお一層の圧縮を達成するためにエントロピーコード化を適用することができる。
【発明の概要】
【０００６】
[0006]本開示で説明する技法は、一般に、空間的及び／又は時間的隣接ブロックの動き情報に基づいて、ビューのピクチャの現在ブロックに対する視差ベクトルを決定することに関する。技法は、隣接ブロックの動き情報が、現在ブロックに対する視差ベクトルを決定するために記憶される方式を構成する。例えば、本開示で説明する技法は、空間的及び／又は時間的に現在ブロックに隣接する隣接領域の動き情報を評価し得、ここで領域は、１つ又は複数の隣接ブロックを含む。技法は、記憶された領域のための動き情報に基づいて、現在ブロックに対する視差ベクトルを決定し得る。技法は、更に、ランダムアクセスポイント（ＲＡＰ）ピクチャのビュー間動き予測を可能にし、及び動きベクトル予測子候補として、決定された視差ベクトルを利用することができる。
【０００７】
[0007]一例では、本開示は、ビデオデータを復号するための方法を説明する。方法は、複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが視差動きベクトルであるかどうか決定することを含む。この例では、領域は予測されるべき現在ブロックに隣接し、領域は１つ又は複数のブロックを含み、領域に対する動きベクトルは、１つの参照ピクチャリストに対する単一の動きベクトルを表し、視差動きベクトルは、第２の異なるビュー内のピクチャを指す。方法はまた、ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうか決定することと、現在ブロックをインター予測復号することとを含み、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、復号することは、現在ブロックに対する視差ベクトルとして領域に対する視差動きベクトルを使用する。
【０００８】
[0008]一例では、本開示は、ビデオデータを符号化するための方法を説明する。方法は、複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが視差動きベクトルであるかどうか決定することを含む。この例では、領域は予測されるべき現在ブロックに隣接し、領域は１つ又は複数のブロックを含み、領域に対する動きベクトルは、１つの参照ピクチャリストに対する１つ又は複数のブロックに対する単一の動きベクトルを表し、視差動きベクトルは、第２の異なるビュー内のピクチャを指す。方法はまた、ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうか決定することと、現在ブロックをインター予測符号化することとを含み、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、符号化することは、現在ブロックに対する視差ベクトルとして領域に対する視差動きベクトルを使用する。
【０００９】
[0009]一例では、本開示は、ビデオデータを復号するための機器を説明する。機器は、複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが視差動きベクトルであるかどうか決定するように構成されたビデオデコーダを含む。この例では、領域は予測されるべき現在ブロックに隣接し、領域は１つ又は複数のブロックを含み、領域に対する動きベクトルは、１つの参照ピクチャリストに対する１つ又は複数のブロックに対する単一の動きベクトルを表し、視差動きベクトルは、第２の異なるビュー内のピクチャを指す。ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、ビデオデコーダは、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかを決定するように構成される。ビデオデコーダはまた、現在ブロックをインター予測復号するように構成され、現在ブロックを復号するために、ビデオデコーダは、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、現在ブロックに対する視差ベクトルとして領域に対する視差動きベクトルを使用する。
【００１０】
[0010]一例では、本開示は、ビデオデータを符号化するための機器を説明する。機器は、複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが視差動きベクトルであるかどうか決定するように構成されたビデオエンコーダを含む。この例では、領域は予測されるべき現在ブロックに隣接し、領域は１つ又は複数のブロックを含み、領域に対する動きベクトルは、１つの参照ピクチャリストに対する１つ又は複数のブロックに対する単一の動きベクトルを表し、視差動きベクトルは、第２の異なるビュー内のピクチャを指す。ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、ビデオエンコーダは、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかを決定するように構成される。ビデオエンコーダはまた、現在ブロックをインター予測符号化するように構成され、現在ブロックを符号化するために、ビデオエンコーダは、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、現在ブロックに対する視差ベクトルとして領域に対する視差動きベクトルを使用する。
【００１１】
[0011]一例では、本開示は、ビデオデータを復号するための機器を説明する。機器は、複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが視差動きベクトルであるかどうか決定するための手段を含む。この例では、領域は予測されるべき現在ブロックに隣接し、領域は１つ又は複数のブロックを含み、領域に対する動きベクトルは、１つの参照ピクチャリストに対する１つ又は複数のブロックに対する単一の動きベクトルを表し、視差動きベクトルは、第２の異なるビュー内のピクチャを指す。機器はまた、ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうか決定するための手段と、現在ブロックをインター予測復号するための手段とを含み、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、インター予測復号するための手段は、現在ブロックに対する視差ベクトルとして領域に対する視差動きベクトルを使用する。
【００１２】
[0012]一例では、本開示は、ビデオデータを符号化するための機器を説明する。機器は、複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが視差動きベクトルであるかどうか決定するための手段を含む。この例では、領域は予測されるべき現在ブロックに隣接し、領域は１つ又は複数のブロックを含み、領域に対する動きベクトルは、１つの参照ピクチャリストに対する１つ又は複数のブロックに対する単一の動きベクトルを表し、視差動きベクトルは、第２の異なるビュー内のピクチャを指す。機器はまた、ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうか決定するための手段と、現在ブロックをインター予測符号化するための手段とを含み、インター予測符号化するための手段は、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、現在ブロックに対する視差ベクトルとして領域に対する視差動きベクトルを使用する。
【００１３】
[0013]一例では、本開示は、実行されると、１つ又は複数のプロセッサに、複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが視差動きベクトルであるかどうかを決定させる命令を記憶するコンピュータ可読記憶媒体を説明する。この例では、領域は予測されるべき現在ブロックに隣接し、領域は１つ又は複数のブロックを含み、領域に対する動きベクトルは、１つの参照ピクチャリストに対する１つ又は複数のブロックに対する単一の動きベクトルを表し、視差動きベクトルは、第２の異なるビュー内のピクチャを指す。ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、命令は、１つ又は複数のプロセッサに、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかを決定させる。命令はまた、１つ又は複数のプロセッサに、現在ブロックをインター予測復号させ、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、１つ又は複数のプロセッサに復号させる命令は、１つ又は複数のプロセッサに、現在ブロックに対する視差ベクトルとして領域に対する視差動きベクトルを使用させる命令を備える。
【００１４】
[0014]一例では、本開示は、実行されると、１つ又は複数のプロセッサに、複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが視差動きベクトルであるかどうかを決定させる命令を記憶するコンピュータ可読記憶媒体を説明する。この例では、領域は予測されるべき現在ブロックに隣接し、領域は１つ又は複数のブロックを含み、領域に対する動きベクトルは、１つの参照ピクチャリストに対する１つ又は複数のブロックに対する単一の動きベクトルを表し、視差動きベクトルは、第２の異なるビュー内のピクチャを指す。ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、命令は、１つ又は複数のプロセッサに、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかを決定させる。命令はまた、１つ又は複数のプロセッサに、現在ブロックをインター予測符号化させ、１つ又は複数のプロセッサに符号化させる命令は、１つ又は複数のプロセッサに、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、現在ブロックに対する視差ベクトルとして領域に対する視差動きベクトルを使用させる命令を備える。
【００１５】
[0015]１つ又は複数の例の詳細は、添付の図面及び以下の説明に記載されている。他の特徴、目的、及び利点は、その説明及び図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１６】
【図１】[0016]本開示で説明する１つ又は複数の例による、例示的なビデオ符号化システムとビデオ復号システムとを示すブロック図。
【図２】[0017]本開示で説明する１つ又は複数の例による、例示的なマルチビュービデオコード化（ＭＶＣ）の符号化又は復号の順序を示すグラフィック図。
【図３】[0018]例示的なＭＶＣ予測パターンを示すグラフィック図。
【図４】[0019]動きベクトルが候補動きベクトル予測子であり得る、空間的隣接ブロックを示す概念図。
【図５】[0020]視差ベクトルに基づいて候補動きベクトル予測子を決定する方式を示す概念図。
【図６】[0021]クリーンランダムアクセス（ＣＲＡ）ピクチャの一例を示す概念図。
【図７】[0022]候補視差ベクトルを決定することの一例を示す概念図。
【図８】[0023]本開示で説明する１つ又は複数の例による、動きベクトル情報が記憶される方式を示す概念図。
【図９】[0024]候補視差ベクトルを決定することの一例を示す概念図。
【図１０】[0025]予測されるべき現在ブロックによって同一位置に配置される同一位置に配置されたブロックの例を示す概念図。
【図１１】[0026]候補視差ベクトルを決定することの一例を示す概念図。
【図１２】[0027]本開示で説明する技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図１３】[0028]本開示で説明する技法を実装し得るビデオデコーダの一例を示すブロック図。
【図１４】[0029]本開示で説明する１つ又は複数の技法によるビデオデコーダの例示的な動作を示すフローチャート。
【図１５】[0030]本開示で説明する１つ又は複数の技法によるビデオエンコーダの例示的な動作を示すフローチャート。
【図１６】[0031]本開示で説明する１つ又は複数の技法によるビデオコーダの例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１７】
[0032]本開示で説明する技法は、一般に、マルチビューテクスチャ（又はテクスチャ及び深度）コード化（ＭＶＣ）を対象とし、より詳細には、ビデオコーダ（例えば、ビデオエンコーダ又はビデオデコーダ）が、ＭＶＣに対する現在ビューの現在ピクチャ内の現在ブロックに対する視差ベクトルを決定する方式を対象とする。ＭＶＣは、各ビューが複数のピクチャを含む、複数のビューがコード化される方式を指す。ＭＶＣは、３次元（３Ｄ）ビデオをサポートするために使用され得る。３Ｄ用途では、表示器が２つ以上のビューからピクチャを提示するとき、ビューアは、表示器の２次元（２Ｄ）エリアに制限された画像ではなく、３Ｄの体積を包含する画像を知覚する。３Ｄの体積を包含する画像のビューアの知覚は、異なるビューのピクチャ内の対象物間の水平視差に起因する。
【００１８】
[0033]視差ベクトルは、現在ピクチャの現在ビューと異なるビュー内にある、対応するピクチャ内のブロックを指すベクトルである。対応するピクチャ内のブロック及び現在ピクチャ内の現在ブロックは、類似するビデオコンテンツを含み得るが、対応するピクチャ内のブロックの位置と現在ピクチャ内の現在ブロックの位置との間に水平視差が存在する。現在ブロックの視差ベクトルは、対応するピクチャ内のブロックと現在ピクチャ内の現在ブロックとの間のこの水平視差の測度を提供する。言い換えれば、対応するピクチャ内のブロックの位置と現在ピクチャ内の現在ブロックの位置との間には垂直視差も存在し得る。現在ブロックの視差ベクトルは、対応するピクチャ内のブロックと現在ピクチャ内の現在ブロックとの間のこの垂直視差の測度を提供し得る。現在ビューの現在ピクチャ及び異なるビューの対応するピクチャが表示される時間は、同じであり得る（即ち、現在ビュー及び異なるビューが同じ時間インスタンスに対するビューであるように）。
【００１９】
[0034]以下でより詳細に説明するように、ビデオコーダは、１つ又は複数の、現在ブロックに空間的及び時間的に隣接するブロックに対する動き情報に基づいて視差ベクトルを決定する。しかしながら、これらの空間的及び時間的隣接ブロックに対する動き情報が記憶される方式のため、幾つかの例では、ビデオコーダは、空間的及び時間的隣接ブロックに対してブロックごとに動き情報を決定する必要はない。そうではなく、ビデオコーダは、領域ごとに動き情報を決定するように構成され得、ここで１つの領域は１つ又は複数の隣接ブロックを含み、現在ブロックのサイズより大きくなり得る。この例では、ブロックごとに動き情報を決定することと比較してより少ない、情報の決定をもたらし得る、領域ごとに動き情報をビデオコーダが決定するように、空間的及び時間的隣接ブロックに対する動き情報が記憶される方式を、ビデオコーダが構成する。
【００２０】
[0035]幾つかの例では、ビデオコーダは、ピクチャ内の画素の相対深度を示す、ピクチャに対する深度マップを導出することを必ずしも必要とすることなく、又はグローバル視差ベクトル（ＧＤＶ）を必ずしもコード化することなく、視差ベクトルを決定する。導出された深度マップから決定される視差ベクトルは、スムーズ時間ビュー予測された（ＳＴＶ）視差ベクトルと呼ばれる。ＧＤＶは、各画素に同じ視差ベクトルを割り当てるベクトルである。幾つかの他の例では、ＳＴＶ視差ベクトルは、予測単位／コード化単位／マクロブロック／マクロブロック区分の各々に適用され得、従って、それらの各々はそれ自体のＳＴＶを有する。
【００２１】
[0036]ピクチャに対する深度マップを導出することに、多大の処理と時間を要することがある。従って、必ずしもピクチャに対する深度マップを導出する必要なくブロックに対する視差ベクトルを決定することは、効率的なビデオコード化を促進する。更に、深度マップが利用可能である場合でも、本開示で説明する技法は利用され得る。技法はまた、深度マップコード化ツールのために使用され得る。その上、ＧＤＶは、異なるビューにおいて対応するブロック間の視差について正確な表現を提供していない。例えば、１つのビュー内のピクチャにおける２つのブロックは、別のビュー内のピクチャにおいて異なる量だけ変位させられることがある。ＧＤＶは、全ての画素に対して同じ視差ベクトルを割り当てるので、ＧＤＶは、２つのブロックの視差の異なる量を正確に規定しない。
【００２２】
[0037]視差ベクトルは、ビュー間動き予測、ビュー間残差予測など、幾つかのコード化ツールにおいて使用され得る。例えば、ビュー間動き予測は、視差ベクトルが２つの方法において使用され得る一例である。第１の方法では、ビュー間動き予測に対して、現在ブロックの視差ベクトルが指すブロックに対する動きベクトルは、現在ブロックの動きベクトルに対する複数の潜在的動きベクトル予測子の動きベクトル予測子であり得る。ビデオコーダがこの動きベクトル予測子（例えば、現在ブロックの視差ベクトルによって指されるブロックの動きベクトル）を選択するとき、ビデオコーダは、マージモード又はスキップモード（単純化するために、以下の説明では、マージモードとスキップモードの両方を示すために、マージモードが使用される）における現在ブロックの動きベクトルとしてこの動きベクトル予測子を使用し得、拡張型動きベクトル予測（ＡＭＶＰ）モードにおいて現在ブロックの動きベクトルを決定するためにこの動きベクトル予測子を使用し得る。この場合、視差ベクトルから変換された動きベクトルは、ＡＭＶＰモード又はマージモードに対する追加の候補として使用される。第２の方法では、ビュー間動き予測に対して、視差ベクトルが、参照ビュー内の１つの対応するブロックの位置を特定するために使用され、対応するブロックの動き情報が、ＡＭＶＰモード又はマージモードに対する候補に変換され得る。
【００２３】
[0038]例えば、マージモードの例では、ビデオコーダは、現在ブロックの動きベクトルとして動きベクトル予測子を設定し、現在ブロックをインター予測するために、動きベクトル予測子によって指される参照ピクチャを使用することができる。ＡＭＶＰモードでは、ビデオコーダは、動きベクトル予測子と現在ブロックの実際の動きベクトルとの間の残差をコード化することができる。この例では、ビデオコーダは、現在ブロックの動きベクトルを決定するために、動きベクトル予測子に残差を加算するか、又は動きベクトル予測子から残差を減算する。また、ＡＭＶＰモードでは、ビデオコーダは、現在ブロックをインター予測するために使用される参照ピクチャを識別するために、第１及び第２の参照ピクチャリストのうちの少なくとも一方の中に参照インデックスをコード化する。
【００２４】
[0039]必ずしも深度マップを導出する必要なく視差ベクトルを決定することによって、ビデオコーダは、視差ベクトルを決定するためにビデオコーダが最初に深度マップを導出する場合の例と比較してより効率的な方式で、視差ベクトルが指すブロックに対する動きベクトルを決定するように構成され得る。更に、ＧＤＶに依存しないことによって、ビデオコーダは、決定された視差ベクトルを用いてより正確な視差の量を提供するように構成され得、ここで決定された視差ベクトルは、動きベクトルがマージモード又はＡＭＶＰモードにおいて使用されるべきであるブロックをより正確に規定する。視差が指すブロックに対する動きベクトルは、マージモード及びＡＭＶＰモードにおける現在ブロックに対する潜在的動きベクトル予測子であるので、本開示で説明する技法では、ビデオコーダは、幾つかの他の技法と比較してより効率的な方式でマージモードとＡＭＶＰモードとを実装するように構成され得る。
【００２５】
[0040]幾つかの例では、ビデオコーダは、視差ベクトルの候補リストに基づいてブロックに対する視差ベクトルを決定するように構成される。例えば、深度マップを導出し、深度マップから視差ベクトルを導出するのではなく、幾つかの例では、ビデオコーダは、候補視差ベクトルのリストを構築し、候補視差ベクトルのうちの１つを選択し、選択された候補視差ベクトルに基づいて現在ブロックに対する視差ベクトルを決定する。ビデオコーダが候補視差ベクトルのうちの１つを選択する様々な方法が存在し得、本開示で説明する説明する技法は、候補視差ベクトルを選択するための特定の方法に限定されない。
【００２６】
[0041]必ずしも深度マップを導出することなく視差ベクトルを決定することは、幾つかのタイプのピクチャに対するビュー間動き予測／ビュー間残差予測など、幾つかのコード化ツールを可能にし得る。例えば、ビュー間動き予測は、本開示で説明する技法を使用する瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャ及びクリーンランダムアクセス（ＣＲＡ）ピクチャなど、ランダムアクセスポイント（ＲＡＰ）ピクチャに適用され得る。幾つかの他の技法（例えば、本開示で説明する技法によらない技法）では、ＲＡＰピクチャは、推定されるＲＡＰピクチャの深度マップを導出するために完全に復号されなければならず、かつ視差ベクトルは推定された深度マップに依存するので、ビュー間動き予測は、幾つかの非ベースビュー（例えば、従属ビュー（dependent view））内のＲＡＰピクチャに適用されないことがある。深度マップを必要とすることなく視差ベクトルを導出することによって、本開示で説明する技法は、非ベースビューのＲＡＰピクチャに対するビュー間動き予測を可能にし得る。
【００２７】
[0042]幾つかの例では、ビデオコーダは、空間的及び時間的隣接ブロックに基づいて候補視差ベクトルのリストを構築する。例えば、現在ブロックに対して空間的又は時間的に隣接するブロックがビュー間予測を使用した場合、そのようなブロックに対する視差動きベクトルは、候補視差ベクトルとして潜在的に含まれ得る。ビュー間予測は、現在ブロックをインター予測するために使用される参照ブロックを含む参照ピクチャが、現在ブロックを含む現在ピクチャが位置するビューと異なるビュー内に位置するインター予測を指す。視差動きベクトルは、第２の異なるビュー内のピクチャにおけるブロックを指す、第１のビュー内のピクチャにおけるブロックに対するベクトルである。
【００２８】
[0043]上記で説明したように、本開示で説明する技法によれば、候補視差ベクトルのリストを構築することにおいて、ビデオコーダは、空間的及び時間的隣接ブロックに対する動きベクトル情報が記憶される方式を構成し得る。例えば、時間的隣接ブロックを含む参照ピクチャに対して、ビデオコーダは、あらゆる例において参照ピクチャ内の４×４ブロックの各々に対する動きベクトルを記憶するとは限らないが、幾つかの例において参照ピクチャ内の４×４ブロックの各々に対する動きベクトルを記憶することがある。幾つかの例では、ビデオデコーダは、１６×１６領域（ここで１６×１６領域は１６の４×４ブロックを含む）に対して１つの参照ピクチャリスト内の１つの動きベクトルを記憶するように構成され得る。１６×１６領域に対するこの１つの動きベクトルは、参照ピクチャリスト内の領域内の１６の４×４ブロックの各々に対する単一の動きベクトルと見なされ得る。
【００２９】
[0044]簡単のために、以下の説明では、領域に対する動きベクトルは、１つの参照ピクチャリストの動きベクトルを表す。同じく、参照ピクチャからであれ、現在ピクチャの中からであれ、領域は１つ又は複数のブロックを含み得る。説明を簡単にするために、技法は、領域が２つ以上のブロックを含む例を用いて説明されるが、領域は１つ又は複数のブロックを含み得ることを理解されたい。
【００３０】
[0045]上記の例では、参照ピクチャ内の１６×１６領域内の４×４ブロックの各々は、異なる動きベクトルによってコード化され得るが、ビデオコーダが動きベクトル情報を記憶するとき、１６×１６領域内の４×４ブロックの各々に対する個別の動きベクトル情報は失われ、４×４ブロックの各々に対して同じである１つの動きベクトルで置き換えられる。１６×１６領域内に動きベクトルを記憶することの別の利点は、メモリ要件が著しく低減される（即ち、１６×１６領域内の４×４ブロックの各々に対して動きベクトルを記憶する必要がない）ことである。ビデオコーダが１６×１６領域に対する単一の動きベクトルを決定する、異なる方法が存在し得、本開示で説明する技法は、ビデオコーダが１６×１６領域に対して単一の動きベクトルを決定する特定の方法に限定されない。
【００３１】
[0046]ビデオコーダが、ブロックごとではなく、領域に対して動きベクトルを記憶する例では、ビデオコーダが、現在ブロックに時間的に隣接するあらゆる単一の４×４ブロックの動きベクトル情報を決定することは、必ずしも必要でない。例えば、候補視差ベクトルを決定するために、ビデオコーダは、参照ピクチャ内の下記の位置、即ち現在ブロックに同一位置に配置された(co-located)領域と、同一位置に配置された領域をカバーするより大きいコード化単位（ＬＣＵ）領域内のブロックと、右下のブロックとを検査することができる。しかしながら、これらの検査されたエリアの全てに対する動きベクトル情報は、ビデオコーダが動きベクトル情報を記憶した方式に起因して、同じであることが起こり得る。従って、ビデオコーダは、現在ブロックに対する候補視差ベクトルを決定するために、これらのブロックの全てに対して動きベクトル情報を決定する必要はないことがある。
【００３２】
[0047]代わりに、ビデオコーダは、１６×１６領域に対する動きベクトル情報を決定し得る。この１６×１６領域に対する動きベクトルが視差動きベクトルである場合、この視差動きベクトルは、現在ブロックに対する視差ベクトルを決定するために使用される候補視差ベクトルであり得る。この例では、１６×１６領域は、４×４の時間的隣接ブロックの各々よりサイズが大きい。同じく、１６×１６領域は、現在ブロックのサイズよりサイズが大きい。ビデオコーダは、ブロックごとに、４×４の時間的隣接ブロックを検査し得ることを理解されたい。
【００３３】
[0048]上記の例では、ビデオコーダは、現在ブロックに時間的に隣接する領域に基づいて候補視差ベクトルを決定する。上記で説明したように、幾つかの例では、ビデオコーダはまた、いずれかの空間的隣接ブロックがビュー間予測されるかどうか評価し、現在ブロックの視差ベクトルに対する候補としてこれらの空間的隣接ブロックに対する視差動きベクトルを使用する。時間的隣接ブロックを有する場合と同様に、幾つかの例では、ビデオコーダは、空間的隣接ブロックに対して全ての動きベクトル情報を記憶するとは限らない。
【００３４】
[0049]例えば、現在ブロックを含むライン上のライン内のブロックをインター予測している間、ビデオコーダは、ラインバッファにおけるこのライン（即ち、現在ブロックを含むラインの上のライン）内のブロックに対する動きベクトル情報を記憶する。ラインバッファにおいて、ビデオコーダは、４×４ブロックの各々に対する動きベクトル情報の全てを記憶するとは限らない。そうではなく、２つのブロックが、同じ動きベクトル情報を共有することがある。しかしながら、同じ動きベクトル情報を共有する２つのブロックは、全ての例において必要であるとは限らず、ビデオコーダは、４×４ブロックの各々に対して動きベクトル情報の全てを記憶することがある。
【００３５】
[0050]例えば、ライン内に配列された４つの４×４ブロックが存在するものと仮定する。ライン内に配列されたこれらの４つの４×４ブロックの各々に対して動きベクトルが存在することがあり、これらの４つの４×４ブロックに対する動きベクトルが異なることがある。
【００３６】
[0051]この例では、第１及び第２の４×４ブロックに対する動きベクトルは異なることがあるが、記憶するときに、第１及び第２の４×４ブロックは同じ動きベクトル情報を共有し、ビデオコーダは、ラインバッファ内のこれらのブロックの両方に対して１つの動きベクトルを記憶する。この１つの動きベクトルは、第１及び第２の４×４ブロックに対する単一の動きベクトルを表す。
【００３７】
[0052]幾つかの例では、ビデオコーダは、第１と第２の両ブロックに対する動きベクトルとして第１のブロックに対する動きベクトル情報を記憶し、それにより、第２の４×４ブロックに対する動きベクトル情報は失われ、第１の４×４ブロックに対する動きベクトル情報が保存される。同じく、この例では、第３及び第４の４×４ブロックに対する動きベクトルは異なることがあるが、記憶するときに、第３及び第４の４×４ブロックは同じ動きベクトル情報を共有し、ビデオコーダは、ラインバッファ内のこれらの両ブロックに対して１つの動きベクトルを記憶できる。この１つの動きベクトルは、第３及び第４の４×４ブロックに対する単一の動きベクトルを表す。幾つかの例では、ビデオコーダは、第３と第４の両ブロックに対する動きベクトルとして第４のブロックに対する動きベクトル情報を記憶し、それにより、第２の４×４ブロックに対する動きベクトル情報は失われ、第４の４×４ブロックに対する動きベクトル情報が保存される。
【００３８】
[0053]幾つかの例では、記憶される動きベクトル情報は、第１及び第２の４×４ブロック、又は第３及び第４の４×４ブロックから導出され得、導出された動きベクトル情報は、２つのブロックのうちのいずれかの一方と同一でないことがある。概して、ビデオコーダは、ラインバッファに記憶される必要がある動きベクトル情報を低減するためにいずれかの技法を使用し得、上記で説明した（例えば、２つのブロックの動きベクトル情報として１つのブロックに対する動きベクトル情報を記憶する、又は２つのブロックに対する動きベクトル情報を導出する）技法が例として提供されているが、限定と見なされるべきではない。
【００３９】
[0054]上記の例では、ビデオコーダは、現在ブロックを含むラインの上のライン内の８×４領域に対する動きベクトル情報を記憶し、ここで８×４領域の各々は、２つの４×４ブロックを含む。この場合、ビデオコーダは、現在ブロックに空間的に隣接するブロックの中のあらゆる単一の４×４ブロックに対する動きベクトル情報を、必ずしも決定する必要があるとは限らない。例えば、空間的隣接ブロックのうちの幾つかに対する動きベクトル情報は同じであることが起こり得る。この例では、ブロックのうちの１つだけに対する動きベクトル情報を決定することが、どの候補が候補視差ベクトルのリストに含まれ得るかを決定するのに十分であることがある。
【００４０】
[0055]言い換えれば、ビデオコーダは、空間的隣接ブロックの中の４×４ブロックに対する動きベクトル情報を決定することはない。そうではなく、ビデオコーダは、（この例では）８×４領域に対する動きベクトル情報を決定し得、ここで８×４領域は、現在ブロックにそれぞれ空間的に隣接している２つの４×４ブロックを含む（例えば、２つの４×４ブロックを表す単一の動きベクトル）。この８×４領域に対する動きベクトルが視差動きベクトルである場合、この視差動きベクトルは、現在ブロックに対する視差ベクトルを決定するために使用される候補視差ベクトルであり得る。この例では、８×４領域は、４×４の空間的隣接ブロックの各々よりサイズが大きい。同じく、８×４領域は、現在ブロックのサイズよりサイズが大きいことがある。
【００４１】
[0056]その上、本開示で説明する技法は、幾つかのビデオコード化技法に存在する他の問題を克服することができる。例えば、空間的及び時間的隣接ブロックに対する視差動きベクトルは、水平成分と垂直成分の両方（例えば、ｘ座標とｙ座標の両方）を含み得る。しかしながら、視差ベクトルの幾つかの例は、水平成分だけを含む。それ故、幾つかの例では、空間的及び時間的隣接ブロックの視差動きベクトルを使用するとき、ビデオコーダは、ｙ座標値を０に設定することがあり、それにより候補視差ベクトルはｘ座標だけを含む。やはり、全ての視差ベクトルが、必ずしも水平成分だけを含む必要があるとは限らず、水平成分と垂直成分の両方を含むこともある。
【００４２】
[0057]逆に、以下でより詳細に説明するように、視差ベクトルが視差動きベクトルとして使用されるとき、視差動きベクトルはｙ成分を含まない。しかしながら、幾つかの例では、その位置が予測されているブロックと正確に同じｙ座標にないブロックから現在ブロックをビュー間予測することが有利であることがある。言い換えれば、ビュー間予測されているブロックから水平にだけ変位されている、参照ビュー内の参照ピクチャにおけるブロックは、必ずしも予測のために最良のブロックであるとは限らない。この場合、参照ビュー内の参照ピクチャにおける水平に変位されたブロックの上又は下のいずれかにあるブロックを識別するために、視差動きベクトルがｙ座標を含むことが望ましい。幾つかの例では、本開示で説明する技法は、視差動きベクトルが視差ベクトルから導出されるとき、視差動きベクトルがｙ座標を含むことを可能にする。
【００４３】
[0058]図１は、本開示で説明する１つ又は複数の例による、例示的なビデオ符号化システムとビデオ復号システムとを示すブロック図である。例えば、システム１０は発信源機器１２と宛先機器１４とを含む。発信源機器１２及び宛先機器１４が、異なるビューのピクチャをそれぞれコード化するマルチビューコード化（ＭＶＣ）を実装するように、発信源機器１２及び宛先機器１４が構成される。異なるビューのピクチャが一緒に見られるとき、ビューアは、表示器の２Ｄエリアに制約される画像の代わりに、３Ｄの体積を包含する画像を知覚する。
【００４４】
[0059]システム１０は、異なるビデオコード化規格、プロプライエタリ規格、又はマルチビューコード化の他の方法に従って動作できる。下記は、ビデオコード化規格の数例を説明しており、限定と見なされるべきではない。ビデオコード化規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２又はＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、スケーラブルビデオコード化（ＳＶＣ）拡張とマルチビュービデオコード化（ＭＶＣ）拡張とを含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。ＭＶＣの最新のジョイントドラフトは、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月に記載されている。ＭＶＣの更に最近の公的に入手可能なジョイントドラフトは、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１２年６月に記載されている。ＭＶＣの現在のジョイントドラフトは、２０１２年１月時点で承認されている。
【００４５】
[0060]更に、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発されている新しいビデオコード化規格、即ち、高効率ビデオコード化（ＨＥＶＣ）がある。ＨＥＶＣ  ＷＤ９と呼ばれる、ＨＥＶＣの最近の作業ドラフトが、２０１３年３月６日時点で、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴＶＣ−Ｋ１００３−ｖ１０．ｚｉｐから入手可能である。
【００４６】
[0061]単に例示のために、本開示で説明する技法が、Ｈ．２６４及びＨＥＶＣの規格による例とともに説明される。幾つかの例では、本開示で説明する技法は、Ｈ．２６４  ３Ｄ−ＡＶＣ規格、Ｈ．２６４  ＭＶＣ＋Ｄｅｐｔｈ（Ｈ．２６４  ＭＶＣ＋Ｄ）規格、及び３Ｄ−ＨＥＶＣ規格に対して適用可能であり得る。しかしながら、本開示で説明する技法は、これらの例示的な規格に限定されると見なされるべきではなく、マルチビューコード化又は３Ｄビデオコード化に対する他のビデオコード化規格、若しくは必ずしも特定のビデオコード化規格に基づくとは限らないマルチビューコード化又は３Ｄビデオコード化に関連する技法に拡張可能であり得る。例えば、本開示で説明する技法は、マルチビューコード化に対するビデオエンコーダ／デコーダ（コーデック）によって実装され、ここでマルチビューコード化は、２つ以上のビューのコード化を含む。
【００４７】
[0062]図１に示すように、システム１０は、宛先機器１４によって後で復号されるべき符号化ビデオデータを生成する発信源機器１２を含む。発信源機器１２及び宛先機器１４は、所謂「スマート」フォン、所謂「スマート」パッドなどのワイヤレスハンドセット、又はワイヤレス通信用に装備される他のそのようなワイヤレス機器を含む、広範な機器のうちのいずれかを備える。発信源機器１２及び宛先機器１４の更なる例には、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム内の機器、ワイヤレスブロードキャストシステム内の機器、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー無線電話、衛星無線電話、ビデオ遠隔会議機器、及びビデオストリーミング機器などが含まれるが、それらに限定されない。
【００４８】
[0063]宛先機器１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信することができる。リンク１６は、発信源機器１２から宛先機器１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体又は機器を備える。一例では、リンク１６は、発信源機器１２が、符号化されたビデオデータをリアルタイムで宛先機器１４に直接送信することを可能にするための、通信媒体を備える。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器１４に送信され得る。通信媒体は、高周波（ＲＦ）スペクトル若しくは１つ又は複数の物理伝送線路など、任意のワイヤレス又は有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットのようなグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器１２から宛先機器１４への通信を可能にするために有用であり得る、ルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００４９】
[0064]幾つかの例では、符号化データは、出力インターフェース２２から記憶装置３３に出力される。同様に、符号化データは、入力インターフェース２８によって記憶装置３３からアクセスされる。記憶装置３３の例は、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性若しくは不揮発性メモリ、又は符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散された又はローカルにアクセスされるデータ記憶媒体のいずれかを含む。更なる一例では、記憶装置３３は、発信源機器１２によって生成された符号化ビデオを保持するファイルサーバ又は別の中間記憶装置に対応する。これらの例では、宛先機器１４は、ストリーミング又はダウンロードを介して記憶装置３３から、記憶されたビデオデータにアクセスする。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先機器１４に送信することが可能な任意のタイプのサーバである。例示的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）機器、又はローカルディスクドライブを含む。宛先機器１４は、インターネット接続を含む任意の標準データ接続を介して、符号化ビデオデータにアクセスする。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含み得る。記憶装置３３からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。
【００５０】
[0065]本開示の技法は、必ずしもワイヤレス適用例又は設定に限定されるとは限らない。本技法は、無線を通じたテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、（例えばインターネットを介した）ストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の用途など、種々のマルチメディア用途のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成される。
【００５１】
[0066]図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）及び／又は送信機を含む。発信源機器１２において、ビデオ発信源１８は、（例えばビデオカメラなどの）撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び／又は発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどの発信源、そのような発信源の組合せ、又は任意の他の発信源のうちの１つ又は複数を含む。一例として、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラフォン又はビデオフォンを形成し得る。但し、本開示で説明する技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤード適用例に適用される。
【００５２】
[0067]ビデオエンコーダ２０は、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成されたビデオを符号化する。発信源機器１２の出力インターフェース２２は、符号化されたビデオデータを宛先機器１４に送信するように構成される。符号化ビデオデータは、更に（又は代替として）、復号及び／又は再生のための宛先機器１４又は他の機器による後のアクセスのために記憶装置３３上に記憶され得る。
【００５３】
[0068]宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、表示装置３２とを含む。幾つかの場合、入力インターフェース２８は、受信機及び／又はモデムを含む。宛先機器１４の入力インターフェース２８は、リンク１６を介して、又は記憶装置３３から符号化ビデオデータを受信する。リンク１６を介して通信され、又は記憶装置３３上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含む。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、又はファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
【００５４】
[0069]表示装置３２は、宛先機器１４と一体化されるか又はその外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含み、また、外部表示装置とインターフェースするように構成される。他の例では、宛先機器１４は表示装置である。概して、表示装置３２は、復号されたビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備える。
【００５５】
[0070]ビデオエンコーダ２０及びビデオデコーダ３０は、上記に記載した例など、様々なビデオコード化規格に従って動作し得る。しかしながら、本開示で説明する技法は、そのように限定さるものと見なされるべきではない。説明のために、ビデオエンコーダ２０及びビデオデコーダ３０は、ＨＥＶＣ又はＨ．２６４の規格及びそのような規格の拡張のコンテキストの中で説明され、Ｈ．２６４  ３Ｄ−ＡＶＣ規格、Ｈ．２６４  ＭＶＣ＋Ｄ規格、及び３Ｄ−ＨＥＶＣ規格などの規格に適用され得る。但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオ圧縮規格の他の例には、ＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。Ｏｎ２  ＶＰ６／ＶＰ７／ＶＰ８と呼ばれるものなど、プロプライエタリなコード化技法もまた、本明細書で説明する技法のうちの１つ又は複数を実施し得る。
【００５６】
[0071]図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びデコーダと統合され、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理する。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠する。
【００５７】
[0072]ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。本開示で説明する技法によって、ビデオエンコーダ２０はビデオデータを符号化するように構成され、ビデオデコーダ３０はビデオデータを復号するように構成される。
【００５８】
[0073]図２は、本開示で説明する１つ又は複数の例による、例示的なマルチビュービデオコード化（ＭＶＣ）の符号化又は復号の順序を示すグラフィック図である。例えば、図２に示された復号順序配置は、時間第１コード化と呼ばれる。図２では、Ｓ０〜Ｓ７は、各々マルチビュービデオの異なるビューを指す。Ｔ０〜Ｔ８は、それぞれ１つの出力時間インスタンスを表す。アクセス単位は、１つの出力時間インスタンスについての全てのビューのコード化ピクチャを含み得る。例えば、第１のアクセス単位は、時間インスタンスＴ０（即ち、ピクチャ０〜７）についてのビューＳ０〜Ｓ７の全てを含み、第２のアクセス単位は、時間インスタンスＴ１（即ち、ピクチャ８〜１５）についてのビューＳ０〜Ｓ７の全てを含み、以下同様である。この例では、ピクチャ０〜７は、同じ時間インスタンス（即ち、時間インスタンスＴ０）におけるものであり、ピクチャ８〜１５は、同じ時間インスタンス（即ち、時間インスタンスＴ１）におけるものである。同じ時間インスタンスを有するピクチャは概して同時に表示され、３Ｄ体積を包含する画像をビューアに知覚させるものは、同じ時間インスタンスの複数のピクチャ内の対象物間の水平視差と、場合によっては何らかの垂直視差である。
【００５９】
[0074]図２では、ビューの各々はピクチャのセットを含む。例えば、ビューＳ０は、ピクチャ０、８、１６、２４、３２、４０、４８、５６、及び６４のセットを含み、ビューＳ１は、１、９、１７、２５、３３、４１、４９、５７、及び６５のセットを含み、以下同様である。各セットは２つのピクチャを含み、一方のピクチャはテクスチャビューコンポーネントと呼ばれ、他方のピクチャは深度ビューコンポーネントと呼ばれる。ビューのピクチャのセット内のテクスチャビューコンポーネントと深度ビューコンポーネントは、互いに対応すると考えることができる。例えば、ビューのピクチャのセット内のテクスチャビューコンポーネントは、ビューのピクチャのセット内の深度ビューコンポーネントに対応すると考えられ、その逆も真である（即ち、深度ビューコンポーネントはセット内のそのテクスチャビューコンポーネントに対応し、その逆も真である）。本開示で使用されるように、深度ビューコンポーネントに対応するテクスチャビューコンポーネントは、単一のアクセス単位の同じビューの一部であるテクスチャビューコンポーネントと深度ビューコンポーネントと考えることができる。
【００６０】
[0075]テクスチャビューコンポーネントは、表示される実際の画像コンテンツを含む。例えば、テクスチャビューコンポーネントは、ルーマ（Ｙ）成分と、クロマ（Ｃｂ及びＣｒ）成分とを含むことができる。深度ビューコンポーネントは、その対応するテクスチャビューコンポーネント内の画素の相対深度を示すことができる。一例として、深度ビューコンポーネントは、ルーマ値のみを含むグレースケール画像と見なされ得る。言い換えれば、深度ビューコンポーネントは、いかなる画像コンテンツも伝達することができないが、むしろテクスチャビューコンポーネント内の画素の相対深度の測度を提供することができる。
【００６１】
[0076]例えば、深度ビューコンポーネント内の純白の画素は、対応するテクスチャビューコンポーネント内のその対応する１つ又は複数の画素が見る人の視点からより近いことを示し、深度ビューコンポーネント内の純黒の画素は、対応するテクスチャビューコンポーネント内のその対応する１つ又は複数の画素が見る人の視点から更に離れていることを示す。黒と白の中間にあるグレーの様々な陰影は、異なる深度レベルを示す。例えば、深度ビューコンポーネント内の非常にグレーな画素は、テクスチャビューコンポーネント内のその対応する画素が、深度ビューコンポーネント内のわずかにグレーな画素よりも更に離れていることを示す。画素の深度を識別するためにグレースケールだけが必要とされるために、深度ビューコンポーネントは、深度ビューコンポーネント用の色値がいかなる目的にも働くことができないので、クロマ成分を含む必要がない。
【００６２】
[0077]ルーマ値（例えば、強度値）のみを使用して深度を識別する深度ビューコンポーネントは、例示のために提供され、限定的であると考えられるべきでない。一般に、テクスチャビューコンポーネント内の画素の相対深度を示すために、いずれかの技法が使用される場合がある。
【００６３】
[0078]ＭＶＣによれば、テクスチャビューコンポーネントは、同じビューであるが異なるアクセス単位内のテクスチャビューコンポーネントから、又は、同じアクセス単位内だが１つ又は複数の異なるビュー内のテクスチャビューコンポーネントからインター予測される。テクスチャビューコンポーネントは「ビデオブロック」と呼ばれ、Ｈ．２６４のコンテキストでは通常「マクロブロック」と呼ばれるビデオデータのブロック内でコード化される場合がある。ＨＥＶＣ規格など、他のビデオコード化規格は、ビデオブロックをツリーブロック又はコード化単位（ＣＵ）と呼ぶ場合がある。
【００６４】
[0079]同じ時間インスタンス内のピクチャにおけるビデオコンテンツは同様であり得る。しかしながら、ビデオコンテンツは、水平方向に、場合によっては垂直方向にも、わずかに変位され得る。例えば、ブロックがビューＳ０のピクチャ０における（ｘ、ｙ）に位置する場合、ビューＳ１のピクチャ１における（ｘ＋ｘ’、ｙ）に位置するブロックは、ビューＳ０のピクチャ０における（ｘ、ｙ）に位置するブロックと同様のビデオコンテンツを含む。この例では、ビューＳ０のピクチャ０における（ｘ、ｙ）に位置するブロック及びビューＳ１のピクチャ１における（ｘ＋ｘ’、ｙ）に位置するブロックは、対応するブロックと見なされる。幾つかの例では、ビューＳ１のピクチャ１において（ｘ＋ｘ’、ｙ）に位置するブロックに対する視差ベクトルは、それの対応するブロックの位置を指す。例えば、（ｘ＋ｘ’、ｙ）に位置するブロックに対する視差ベクトルは、（−ｘ’、０）である。
【００６５】
[0080]幾つかの例では、ビデオエンコーダ２０又はビデオデコーダ３０は、第２のビューのピクチャ内の対応するブロックを識別するために、第１のビューのピクチャ内のブロックの視差ベクトルを使用する。ビデオエンコーダ２０又はビデオデコーダ３０は、第１のビュー内のピクチャにおけるブロックの候補動き予測子のリスト内の候補動きベクトル予測子として、第２のビューのピクチャ内の識別された対応するブロックに対する動き情報を使用できる。幾つかの例では、ビデオエンコーダ２０又はビデオデコーダ３０は、第１のビュー内のピクチャにおけるブロックに対する動きベクトル予測子として、この候補動き予測子（例えば、第２のビューのピクチャ内のブロックに対する動き情報）を選択する。この例では、ビデオエンコーダ２０又はビデオデコーダ３０は、所謂マージモード又は拡張型動きベクトル予測（ＡＭＶＰ）モードによる動きベクトル予測子に基づいて、第１のビュー内のピクチャにおけるブロックに対する動きベクトルを決定し、両モードは下記でより詳細に説明される。幾つかの例では、視差ベクトルは、第１のビューの現在の残差情報を予測するために、第２のビュー内の残差ブロックの位置を特定するために使用され得る。
【００６６】
[0081]ビデオエンコーダ２０又はビデオデコーダ３０は、ブロックの視差ベクトルを決定するように構成される。幾つかの他の技法（即ち、本開示で説明する技法によるもの以外の技法）では、ビデオエンコーダ２０又はビデオデコーダ３０は、最初にテクスチャビューコンポーネントに対する深度ビューコンポーネントを導出し、次に、導出された深度ビューコンポーネントに基づいてテクスチャビューコンポーネント内のブロックに対する視差ベクトルを決定する。得られた視差ベクトルは、スムーズ時間ビュー予測された（ＳＴＶ）視差ベクトルと呼ばれる。同じく、幾つかの他の技法では、ビデオエンコーダ２０及びビデオデコーダ３０は、各画素に同じ視差ベクトルを割り当てるグローバル視差ベクトル（ＧＤＶ）をコード化する。
【００６７】
[0082]しかしながら、深度ビューコンポーネントを導出することは複雑である（即ち、多大の処理と時間を要する）ことがある。本開示で説明する技法は、ビデオエンコーダ２０及びビデオデコーダ３０が、必ずしも最初に深度ビューコンポーネントを決定することなく、テクスチャビューコンポーネント内のブロックに対する視差ベクトルを決定することを可能にする。しかしながら、ビデオエンコーダ２０及びビデオデコーダ３０が最初に深度ビューコンポーネントを導出する場合でも、ビデオエンコーダ２０及びビデオデコーダ３０は、やはり、本開示で説明する技法を使用できる。幾つかの場合には、本開示で説明する技法は、深度マップコード化ツールとして有用であり得る。
【００６８】
[0083]同じく、ＧＤＶは、実際の視差ベクトルの正確な測度でないことがあり、従って動きベクトルが動きベクトル予測子として使用されるブロックを正確に指さないことがある。言い換えれば、ＧＤＶが指すブロックの動きベクトルは、実際の視差ベクトルが指すブロックの動きベクトルよりも正確でない動きベクトル予測子である。
【００６９】
[0084]図３は、例示的なＭＶＣ予測パターンを示すグラフィック図である。図３の例では、（ビューＩＤ「Ｓ０」〜「Ｓ７」を有する）８つのビューが示され、１２個の時間位置（「Ｔ０」〜「Ｔ１１」）がビューごとに示されている。即ち、図３中の各行はビューに対応し、各列は時間位置を示す。
【００７０】
[0085]ＭＶＣがＨ．２６４／ＡＶＣデコーダ又はＨＥＶＣデコーダによって復号可能である、所謂ベースビューを有し、また、ステレオビューペアがＭＶＣによってもサポートされ得るが、ＭＶＣの利点は、ＭＶＣが、３Ｄビデオ入力として３つ以上のビューを使用し、複数のビューによって表されるこの３Ｄビデオを復号する例をサポートできることである。ＭＶＣデコーダ（例えば、Ｈ．２６４／ＭＶＣデコーダ又はＨＥＶＣデコーダ）を有するクライアントのレンダラは、複数のビューを用いて３Ｄビデオコンテンツを予想できる。
【００７１】
[0086]図３では、ビューＳ０はベースビューと見なされ、ビューＳ１〜Ｓ７は従属ビューと見なされる。ベースビューは、ビュー間予測されないピクチャを含む。ベースビュー内のピクチャは、同じビュー内の他のピクチャに関してインター予測され得る。例えば、ビューＳ０内のピクチャはいずれも、ビューＳ１〜Ｓ７のいずれかの中のピクチャに関してインター予測されないが、ビューＳ０内のピクチャの幾つかは、ビューＳ０内の他のピクチャに関してインター予測される。
【００７２】
[0087]従属ビューは、ビュー間予測されるピクチャを含む。例えば、ビューＳ１〜Ｓ７の各々は、別のビュー内のピクチャに関してインター予測される少なくとも１つのピクチャを含む。従属ビュー内のピクチャは、ベースビュー内のピクチャに関してインター予測され得るか、又は他の従属ビュー内のピクチャに関してインター予測され得る。
【００７３】
[0088]ベースビューと従属ビューの両方を含むことは、異なるタイプのビデオデコーダがピクチャを復号できることを確実にする。例えば、１つのタイプのビデオデコーダは、マルチビューコード化を処理するように構成されていない。ビデオデコーダのタイプは、依然としてベースビューを復号できる一方で、マルチビューコード化を処理するように構成されるビデオコーダは、ビューＳ０〜Ｓ７の各々を復号できる。
【００７４】
[0089]文書ｍ２２５７０及びｍ２２５７１は、ＨＥＶＣベース３Ｄコード化（３Ｄ−ＨＥＶＣ）に対する幾つかの技法を規定し、２０１３年３月６日時点で、パスワードを用いて、ｈｔｔｐ：／／ｗｇ１１．ｓｃ２９．ｏｒｇ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／９８＿Ｇｅｎｅｖａ／ｗｇ１１／ｍ２２５７０−ｖ２−ｍ２２５７０−ｖ２．ｚｉｐ；ｈｔｔｐ：／／ｗｇ１１．ｓｃ２９．ｏｒｇ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／９８＿Ｇｅｎｅｖａ／ｗｇ１１／ｍ２２５７１−ｖ２−ｍ２２５７１−ｖ２．ｚｉｐから利用可能である。これらの文書で説明されるツールのうちの１つは、同じアクセス単位の他のビュー内のすでにコード化された動きパラメータに基づいて、従属ビュー内のブロックの動きパラメータ（即ち、動きベクトル及び参照インデックス）が、（例えば、ＡＭＶＰモード又はマージモードで）予測又は推測される、ビュー間動き予測である。より詳細に説明するように、ｍ２２５７０及びｍ２２５７１の文書で説明される技法には、幾つかの制限及び問題が存在することがある。本開示で説明する技法は、ｍ２２５７０及びｍ２２５７１の文書で説明される技法における制限及び問題のうちの幾つかを潜在的に克服する。３Ｄ−ＨＥＶＣに対する最新の参照ソフトウェア説明書は、Ｇｅｒｈａｒｄ  Ｔｅｃｈ、Ｋｒｚｙｓｚｔｏｆ  Ｗｅｎｇｅｒ、Ｙｉｎｇ  Ｃｈｅｎ、Ｓｅｈｏｏｎ  Ｙｅａの「３Ｄ−ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ  １」、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴ３Ｖ−Ａ１００５−ｖ１．ｚｉｐ．  Ｓｔｏｃｋｈｏｌｍ、Ｓｗｅｄｅｎ、２０１２年４月として利用可能である。３Ｄ−ＨＥＶＣに対する最新の参照ソフトウェア、即ちＨＴＭは、ｈｔｔｐ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔｒｕｎｋから利用可能である。
【００７５】
[0090]図３内のピクチャは、図３内の各行及び各列の交点で示される。ＭＶＣ拡張を有するＨ．２６４／ＡＶＣ規格は、ビデオの一部分を表すために期間フレーム（term frame）を使用し得る一方で、ＨＥＶＣ規格は、ビデオの一部分を表すために期間ピクチャ（term picture）を使用し得る。本開示は、ピクチャという用語とフレームという用語とを互換的に使用する。
【００７６】
[0091]図３のピクチャは、対応するピクチャがイントラコード化される（即ち、Ｉフレームである）か、又は一方向に（即ち、Ｐフレームとして）、若しくは複数の方向に（即ち、Ｂフレームとして）インターコード化されるかを指定する、文字を含む影付きブロックを使用して示される。概して、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照用に矢印の始点のピクチャを使用する。例えば、時間位置Ｔ０にあるビューＳ２のＰピクチャは、時間位置Ｔ０にあるビューＳ０のＩピクチャから予測される。
【００７７】
[0092]シングルビュービデオ符号化の場合と同様に、マルチビューコード化ビデオシーケンスのピクチャは、異なる時間位置にあるピクチャに対して予測符号化することができる。例えば、時間位置Ｔ１にあるビューＳ０のｂピクチャは、時間位置Ｔ０にあるビューＳ０のＩピクチャからそのｂピクチャに向けられた矢印を有し、その矢印は、ｂピクチャがＩピクチャから予測されることを示す。しかしながら、更に、マルチビュービデオ符号化のコンテキストにおいて、ピクチャはビュー間予測することができる。即ち、ビューコンポーネント（例えば、テクスチャビューコンポーネント）は、参照用の他のビュー内のビューコンポーネントを使用することができる。ＭＶＣでは、例えば、別のビュー内のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット（ＳＰＳ）ＭＶＣ拡張においてシグナリングされ、インター予測又はビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。
【００７８】
[0093]図３は、ビュー間予測の様々な例を提供する。図３の例では、ビューＳ１のピクチャは、ビューＳ１の異なる時間位置にあるピクチャから予測されるものとして、及び同じ時間位置にあるビューＳ０及びビューＳ２のピクチャからビュー間予測されるものとして示されている。例えば、時間位置Ｔ１にあるビューＳ１のｂピクチャは、時間位置Ｔ０及びＴ２にあるビューＳ１のＢピクチャの各々、並びに時間位置Ｔ１にあるビューＳ０及びビューＳ２のｂピクチャから予測される。
【００７９】
[0094]図３の例では、大文字「Ｂ」及び小文字「ｂ」は、異なるコード化方法ではなく、ピクチャ間の異なる階層関係を示すために使用される。概して、大文字の「Ｂ」ピクチャは、小文字の「ｂ」フレームよりも予測階層が比較的高い。図３はまた、異なるレベルの陰影を使用して予測階層の変形形態を示し、より大きい量の陰影の（即ち、比較的より暗い）フレームは、より少ない陰影を有する（即ち、比較的より明るい）それらのフレームよりも予測階層が高い。例えば、図３の全てのＩピクチャは完全陰影を用いて示されるが、Ｐピクチャはいくぶん明るい陰影を有し、Ｂピクチャ（及び小文字のｂピクチャ）は、互いに対して様々なレベルの陰影を有するが、Ｐピクチャ及びＩピクチャの陰影よりも常に明るい。
【００８０】
[0095]概して、階層が比較的高いそれらのピクチャが、階層が比較的低いピクチャの復号中に参照ピクチャとして使用され得るように、予測階層が比較的高いピクチャは、階層が比較的低いピクチャを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセス単位中のビューコンポーネントの復号順序を示すインデックスである。Ｈ．２６４／ＡＶＣ（ＭＶＣ追補）の付属書類Ｈにおいて規定されているように、ビュー順序インデックスは、シーケンスパラメータセット（ＳＰＳ）のＭＶＣ拡張において暗示されている。ＳＰＳでは、インデックスｉごとに、対応するｖｉｅｗ＿ｉｄが通知される。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。全てのビューが提示された場合、ビュー順序インデックスは、０からｎｕｍ＿ｖｉｅｗｓ＿ｍｉｎｕｓ＿１までの連続する順序になっている。
【００８１】
[0096]このようにして、参照ピクチャとして使用されるピクチャは、その参照ピクチャを参照して符号化されたピクチャを復号する前に復号される。ビュー順序インデックスは、アクセス単位中のビューコンポーネントの復号順序を示すインデックスである。ビュー順序インデックスｉごとに、対応するｖｉｅｗ＿ｉｄが通知される。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。全てのビューが提示された場合、ビュー順序インデックスのセットは、０からビューの全数よりも１少ない数までの連続的な順序付きセットを備え得る。
【００８２】
[0097]階層の等しいレベルにある幾つかのピクチャの場合、復号順序は、互いに重要でない場合がある。例えば、時間位置Ｔ０にあるビューＳ０のＩピクチャは、時間位置Ｔ０にあるビューＳ２のＰピクチャ用の参照ピクチャとして使用され、そのＰピクチャは、今度は、時間位置Ｔ０にあるビューＳ４のＰピクチャ用の参照ピクチャとして使用される。従って、時間位置Ｔ０にあるビューＳ０のＩピクチャは、時間位置Ｔ０にあるビューＳ２のＰピクチャの前に復号されるべきであり、そのＰピクチャは、時間位置Ｔ０にあるビューＳ４のＰピクチャの前に復号されるべきである。しかしながら、ビューＳ１及びＳ３は、予測のために互いに依拠しないが、代わりに、予測階層がより高いビューからのみ予測されるので、ビューＳ１とＳ３との間で復号順序は重要でない。その上、ビューＳ１がビューＳ０及びＳ２の後に復号される限り、ビューＳ１はビューＳ４の前に復号され得る。
【００８３】
[0098]このようにして、ビューＳ０〜Ｓ７を記述するために階層順序を使用することができる。表記法ＳＡ＞ＳＢは、ビューＳＡがビューＳＢの前に復号されるべきであることを意味する。この表記法を使用すると、図２の例では、Ｓ０＞Ｓ２＞Ｓ４＞Ｓ６＞Ｓ７である。また、図２の例に関して、Ｓ０＞Ｓ１、Ｓ２＞Ｓ１、Ｓ２＞Ｓ３、Ｓ４＞Ｓ３、Ｓ４＞Ｓ５、及びＳ６＞Ｓ５である。これらの要件に違反しないビューのための任意の復号順序が可能である。従って、幾つかの制限のみを有する、多くの異なる復号順序が可能である。
【００８４】
[0099]幾つかの例では、図３は、テクスチャビューコンポーネントを示すものとして見ることができる。所謂マージモード又はＡＭＶＰモードでビュー間動き予測を実装するためのこれらの例では、幾つかの場合、ビデオエンコーダ２０又はビデオデコーダ３０は、動きベクトル予測子として、インター予測されるべきである現在ブロックの視差ベクトルによって指されるブロックに対する動きベクトルを使用する。本開示で説明する技法は、必ずしも深度ビューコンポーネントを導出する必要なく、かつ必ずしもグローバル視差ベクトルに依存することなく、現在ブロックの視差ベクトルを決定する。
【００８５】
[0100]一般に、ビデオシーケンスは、ビュー（例えば、図２及び図３に示すビュー）からの一連のビデオピクチャを含む。ピクチャのグループ（ＧＯＰ）は、概して、一連の１つ又は複数のビデオピクチャを備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つ又は複数のピクチャのヘッダ中、又は他の場所に含み得る。各ピクチャは、それぞれのピクチャのための符号化モードを記述するピクチャシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオピクチャ内のビデオブロックに対して動作する。ビデオブロックは、Ｈ．２６４規格で規定されるマクロブロック、マクロブロックの区分、及び場合によっては区分のサブブロック、又はＨＥＶＣ規格で規定される最大コード化単位（ＬＣＵ：largest coding unit）、コード化単位（ＣＵ）、予測単位（ＰＵ）、若しくは変換単位（ＴＵ）に対応できる。ビデオブロックは、サイズを固定することも変更することもでき、指定のコード化規格に応じてサイズが異なることがある。各ビデオピクチャは複数のスライスを含み得る。各スライスは複数のブロックを含み得る。
【００８６】
[0101]一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、又は４×４、及びクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、並びにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８及び４×４、及びクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法及び水平寸法に関するブロックの画素寸法（例えば、１６×（x）１６画素又は１６×（by）１６画素）を指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、但し、Ｎは非負整数値を表す。ブロック中の画素は行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要があるとは限らない。例えば、ブロックはＮ×Ｍ画素を備えてよく、但し、Ｍは必ずしもＮに等しいとは限らない。
【００８７】
[0102]ブロックがイントラモード符号化される（例えば、イントラ予測される）とき、ブロックは、ブロック用のイントラ予測モードを記述するデータを含む場合がある。別の例として、ブロックがインターモード符号化される（例えば、インター予測される）とき、ブロックは、ブロックについての動きベクトルを定義する情報を含む場合がある。この動きベクトルは、同じビュー内の参照ピクチャを指すか、又は別のビュー内の参照ピクチャを指す。ブロックについての動きベクトルを定義するデータは、例えば、動きベクトルの水平成分と、動きベクトルの垂直成分と、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）とを記述する。加えて、インター予測されるとき、ブロックは、動きベクトルが指す参照ピクチャなどの参照インデックス情報、及び／又は動きベクトル用の参照ピクチャリスト（例えば、ＲｅｆＰｉｃＬｉｓｔ０若しくはＲｅｆＰｉｃＬｉｓｔ１）を含む場合がある。
【００８８】
[0103]ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器の発展的モデルに基づく。ＨＭは、（例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ）に従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個もの方向性／角度イントラ予測符号化モードプラスＤＣモード及び平面モードを提供することができる。
【００８９】
[0104]ＨＭの作業モデルは、ビデオピクチャが、ルーマとクロマの両方のサンプルを含む一連のツリーブロック又は最大コード化単位（ＬＣＵ）に分割され得ることを記載する。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コード化順序で幾つかの連続するツリーブロックを含む。ビデオピクチャは、１つ又は複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコード化単位（ＣＵ）に分割され得る。例えば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コード化ノード（即ち、コード化ビデオブロック）を備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コード化ノードの最小サイズをも定義し得る。ツリーブロックは、幾つかの例では、ＬＣＵと呼ばれる。
【００９０】
[0105]ＣＵは、コード化ノードと、コード化ノードに関連する予測単位（ＰＵ）及び変換単位（ＴＵ）とを含む。ＣＵのサイズは、コード化ノードのサイズに対応し、形状が方形であり得る。幾つかの例では、ＣＵのサイズは、８×８画素から、最大で６４×６４画素以上のツリーブロックのサイズにまで及ぶ。幾つかの例では、各ＣＵは、１つ又は複数のＰＵと１つ又は複数のＴＵとを含む。ＣＵに関連するシンタックスデータは、例えば、ＣＵを１つ又は複数のＰＵに区分することを記述する。区分モードは、ＣＵが、スキップモード符号化又はダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なる。ＰＵは、幾つかの例では、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、例えば、４分木に従って、ＣＵを１つ又は複数のＴＵに区分することも記述する。ＴＵは、形状が方形又は非方形であり得る。
【００９１】
[0106]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分化されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるか又はＰＵよりも小さい。幾つかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用してより小さい単位に再分割される。ＲＱＴのリーフノードは変換単位（ＴＵ）と呼ばれることがある。幾つかの例では、ＴＵに関連する画素差分値は、変換されて変換係数が生成され、その変換係数は量子化される。
【００９２】
[0107]一般に、ＰＵは、予測プロセスに関連したデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含む。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための動きベクトルを定義するデータを含む。ＰＵについての動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照ピクチャ、及び／又は動きベクトル用の参照ピクチャリスト（例えば、ＲｅｆＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１）を記述する。
【００９３】
[0108]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つ又は複数のＰＵを有する所与のＣＵは、１つ又は複数の変換単位（ＴＵ）も含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は、エントロピーコード化のためのシリアル化変換係数（serialized transform coefficient）を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得る画素差分値を備える。本開示では、一般に、ＣＵのコード化ノードを指すために「ビデオブロック」という用語を使用する。幾つかの特定の場合において、本開示では、コード化ノードならびにＰＵ及びＴＵを含む、ツリーブロック、即ち、ＬＣＵ又はＣＵを指す「ビデオブロック」という用語も使用し得る。
【００９４】
[0109]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」という表示によって示される。従って、例えば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分化された２Ｎ×２Ｎ  ＣＵを指す。
【００９５】
[0110]Ｈ．２６４規格又はＨＥＶＣ規格のいずれでも、イントラ予測又はインター予測のコード化に続いて、ビデオエンコーダ２０は、ＨＥＶＣではＣＵのＴＵ用の、又はＨ．２６４ではマクロブロック用の残差データを計算する。ＰＵは、（画素領域とも呼ばれる）空間領域において画素データを備え、ＴＵは、残差ビデオデータへのある変換（例えば、離散コサイン変換（ＤＣＴ））、整数変換、ウェーブレット変換、又は概念的に同様の変換の適用後に、変換領域において係数を備える。残差データは、符号化されていないピクチャの画素と、ＨＥＶＣでのＰＵに対応する予測値、又はＨ．２６４でのマクロブロックに関する予測値との間の画素差分に対応する場合がある。
【００９６】
[0111]幾つかの例では、変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行する。量子化は、概して、更なる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減する。例えば、量子化中にｎビット値がｍビット値に切り捨てられ、ｎはｍよりも大きい。
【００９７】
[0112]幾つかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するために予め定義された走査順序を利用する。他の例では、ビデオエンコーダ２０は適応走査を実行する。量子化変換係数を走査して１次元ベクトルを形成した後に、幾つかの例では、ビデオエンコーダ２０は、数例をあげると、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化、又は別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化する。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化する。
【００９８】
[0113]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボル用の可変長コードを選択することができる。ＶＬＣにおけるコードワードは、比較的短いコードが有望なシンボル(probable symbols)に対応し、より長いコードが有望でないシンボル(less probable symbols)に対応するように構成され得る。このようにして、ＶＬＣの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられるコンテキストに基づく場合がある。
【００９９】
[0114]上記で説明したように、ＭＶＣでは、ビデオエンコーダ２０及びビデオデコーダ３０は、第２のビューの参照ピクチャ内の参照ブロックに関する第１のビューの現在ピクチャ内の現在ブロックをインター予測する。そのようなインター予測は、ビュー間予測と呼ばれる。現在ピクチャ及び参照ピクチャの時間インスタンスは、それぞれのビューにおいて同じであり得る。この例では、ビデオエンコーダ２０又はビデオデコーダ３０は、同じアクセス単位内のピクチャにわたってビュー間予測を実行し、ここで同じアクセス単位内のピクチャは、同じ時間インスタンスにおけるものである。
【０１００】
[0115]現在ブロックについてビュー間予測を実行するために、ビデオエンコーダ２０又はビデオデコーダ３０は、インター予測に対して使用され得る参照ピクチャを識別する参照ピクチャリストを、ビュー間予測に対して使用され得るピクチャを含めて構築する。インター予測は、参照ピクチャ内の参照ブロックに関して現在ピクチャ内の現在ブロックを予測することを指す。ビュー間予測は、ビュー間予測において、参照ピクチャが現在ピクチャのビューと異なるビュー内にある、インター予測のサブセットである。従って、ビュー間予測に対して、ビデオエンコーダ２０及びビデオデコーダ３０は、構築された参照ピクチャリストの一方又は両方に他のビュー内の参照ピクチャを追加する。他のビュー内の参照ピクチャは、構築された参照ピクチャリスト内の任意の位置において識別され得る。本開示で使用されるように、ビデオデコーダ２０がブロックについてインター予測を実行している（例えば、インター予測している）とき、ビデオエンコーダ２０は、ブロックをインター予測符号化していると見なされ得る。ビデオデコーダ３０がブロックについてインター予測を実行している（例えば、インター予測している）とき、ビデオエンコーダ３０は、ブロックをインター予測復号していると見なされ得る。
【０１０１】
[0116]インター予測において、現在ブロックに対する動きベクトルは、現在ブロックをインター予測するための参照ブロックとして使用されるべきであるブロックの位置を識別し、構築された参照ピクチャリストの一方又は両方への参照インデックスは、現在ブロックをインター予測するための参照ブロックとして使用されるべきであるブロックを含む参照ピクチャを識別する。ＭＶＣでは、少なくとも２つのタイプの動きベクトルが存在する。時間動きベクトル（temporal motion vector）は時間参照ピクチャを指し、ここで時間参照ピクチャは、予測されるべきブロックを含むピクチャと同じビュー内のピクチャであり、時間参照ピクチャは、予測されるべきブロックを含むピクチャより早く又は遅く表示される。視差動きベクトルは、予測されるべきブロックを含むピクチャ内のビュー以外のビュー内の参照ピクチャを指す。本開示では、「動きベクトル」という用語は、時間動きベクトル又は視差動きベクトルのいずれか、若しくは時間動きベクトルのみ又は視差動きベクトルのみを指すことがあり、そのことは、記載のコンテキストの中で明確となる。
【０１０２】
[0117]ビデオエンコーダ２０又はビデオデコーダ３０が時間動きベクトルを使用するとき、ビデオエンコーダ２０及びビデオデコーダ３０は、動き補償予測（ＭＣＰ）を実装しているものと見なされる。ビデオエンコーダ２０又はビデオデコーダ３０が視差動きベクトルを使用するとき、ビデオエンコーダ２０及びビデオデコーダ３０は、視差補償予測（ＤＣＰ）又はビュー間予測を実装しているものと見なされる。
【０１０３】
[0118]通知される必要があるビデオデータの量を低減するために、必ずしも、ビデオエンコーダ２０が、あらゆる例において予測されるべき現在ブロックに対する動きベクトルを通知する必要があるとは限らない。そうではなく、ビデオデコーダ３０は、動きベクトル予測子に基づいて現在ブロックに対する動きベクトルを決定する。動きベクトル予測子は、現在ブロック以外のブロックに対する動きベクトルである。現在ブロック以外のブロックは、現在ブロックに空間的に隣接するブロック、現在ブロックに時間的に隣接するブロック、又は現在ブロックのビュー以外のビュー内の対応するブロックであり得る。
【０１０４】
[0119]ビデオデコーダ３０は、マージモード又は拡張型動きベクトル予測（ＡＭＶＰ）モードに従って現在ブロックの動きベクトルを決定するために、動きベクトル予測子を使用する。マージモードとＡＭＶＰモードの両方において、幾つかの例では、ビデオデコーダ３０は、動きベクトル予測子の候補リストを構築するために内在的技法を実装する。内在的技法は、ビデオデコーダ３０が、必ずしも、動きベクトル予測子の候補リストを構築する方式でビデオデコーダ３０に教える教示をビデオエンコーダ２０から受信することを必要とするとは限らないことを意味する。他の例では、ビデオエンコーダ２０が、動きベクトル予測子の候補リストを構築する方式でビデオデコーダ３０に教えることが可能である。例示のために、技法は、ビデオデコーダ３０が、候補動きベクトル予測子のリストを構築するために内在的技法を実装する例を用いて説明される。
【０１０５】
[0120]例えば、ビデオデコーダ３０は、１つ又は複数の、現在ブロックに空間的に隣接するブロックの動きベクトルを決定し、これらの動きベクトルを候補動きベクトル予測子として動きベクトル予測子の候補リストに含める。幾つかの例では、ビデオデコーダ３０は、１つ又は複数の、現在ブロックに時間的に隣接するブロックの動きベクトルを決定し、これらの動きベクトルを候補動きベクトル予測子として動きベクトル予測子の候補リストに含める。時間的隣接ブロックは、現在ブロックがそれのピクチャ内に包含するピクチャにおいてほぼ同じエリアを包含する現在ブロックを含むピクチャと同じビュー内のピクチャにおけるブロックを指す。時間的隣接ブロックは、同一位置に配置されたブロックと呼ばれることがある。
【０１０６】
[0121]幾つかの例では、ビデオデコーダ３０は、時間的隣接ブロックのピクチャ順序カウント（ＰＯＣ）値及び現在ブロックのＰＯＣ値に基づいて、時間的隣接ブロックに対する動きベクトルを拡大縮小する（scale）。ＰＯＣ値は、ピクチャの表示順序又は出力順序を示す。
【０１０７】
[0122]更に、幾つかの例では、ビデオデコーダ３０は、現在ブロックの視差ベクトルによって指されるブロックの動きベクトルを決定する。現在ブロックの視差ベクトルによって指されるブロックは、現在ブロックと異なるビュー内にある。視差ベクトルによって指されるブロックは、現在ブロックに対応するブロックと呼ばれる。というのは、対応するブロック及び現在ブロックは、同様であるが異なるビューの観点からのビデオコンテンツを含むからである。これらの例では、ビデオデコーダ３０は、対応するブロックに対する動きベクトルを候補動きベクトル予測子として候補動きベクトル予測子のリストに含める。
【０１０８】
[0123]幾つかの例では、ビデオエンコーダ２０は、動きベクトル予測子の候補リストにインデックス値を通知し、ビデオデコーダ３０は、動きベクトル予測子のリストへのインデックス値に基づいて、動きベクトル予測子の候補リスト内で識別された動きベクトル予測子を選択する。マージモードにおいて、ビデオデコーダ３０は、現在ブロックに対する動きベクトルとして、選択された動きベクトル予測子を設定する。同じく、マージモードにおいて、ビデオデコーダ３０は、選択された動きベクトル予測子が指した参照ピクチャを継承する。例えば、動きベクトル予測子は、現在ブロック以外のブロックに対する動きベクトルである。現在ブロック以外のブロックに対する動きベクトルは、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）又は第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）のうちの一方へのインデックス値によって識別される参照ピクチャを指す。マージモードにおいて、ビデオデコーダ３０は、現在ブロックに対する参照ピクチャリストへの参照インデックスとして、参照ピクチャリストへの参照インデックスを継承する。幾つかの例では、参照インデックスは、それが継承され得るより前に、ピクチャ順序カウント（ＰＯＣ）値に基づいて変換される必要がある。このようにして、ビデオデコーダ３０は、現在ブロックに対する動きベクトルと、マージモードにおいて現在ブロックをインター予測するために使用される参照ピクチャとを決定する。
【０１０９】
[0124]ＡＭＶＰモードにおいて、候補動きベクトル予測子のリストにインデックス値を通知することに加えて、ビデオエンコーダ２０は、インデックス値によって識別される動きベクトル予測子と現在ブロックの実際の動きベクトルとの間の残差を通知する。ビデオデコーダ３０は、動きベクトル予測子の候補リストへのインデックス値に基づいて動きベクトル予測子を選択し、現在ブロックに対する動きベクトルを決定するために、通知された、インデックス値によって識別された動きベクトル予測子と現在ブロックの実際の動きベクトルとの間の残差を加算又は減算する。
【０１１０】
[0125]幾つかの例では、ＡＭＶＰモードにおいて、ビデオエンコーダ２０はまた、ビデオデコーダ３０が現在ブロックをインター予測するために使用すべきである参照ピクチャを識別するＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１に参照インデックスを通知する。言い換えれば、マージモードとは違って、ＡＭＶＰモードにおいて、ビデオデコーダ３０は、参照インデックスを継承しないで、参照インデックスを受信する。
【０１１１】
[0126]図４は、動きベクトルが候補動きベクトル予測子であり得る、空間的隣接ブロックを示す概念図である。図４では、インター予測されるべきである現在ブロックは、予測単位（ＰＵ）３４である。図４は、ＰＵ３４（即ち、ＰＵ３４と同じピクチャ内のブロック）に空間的に隣接するブロックＡ０、Ａ１、Ｂ０、Ｂ１及びＢ２を示す。幾つかの例では、ビデオデコーダ３０は、Ａ０、Ａ１、Ｂ０、Ｂ１及びＢ２に対する動きベクトルを決定し、これらの動きベクトルのうちの１つ又は複数を、利用可能であれば場合によっては拡大縮小した後、ＰＵ３４に対する候補動きベクトル予測子のリストに候補動きベクトル予測子として含める。
【０１１２】
[0127]ブロックＡ０、Ａ１、Ｂ０、Ｂ１及びＢ２は、ＰＵ３４に空間的に隣接するブロックの例であり、ＰＵ３４に空間的に隣接するブロックの例のみと見なされるべきではない。例えば、ＰＵ３４に空間的に隣接するブロックは、ブロックＡ０、Ａ１、Ｂ０、Ｂ１及びＢ２以外の位置に位置することができる。ブロックＡ０、Ａ１、Ｂ０、Ｂ１及びＢ２の位置は、次のように定義される。
【０１１３】
[0128]図４では、ルーマ位置（ｘＰ、ｙＰ）は、ＰＵ３４を含む現在ピクチャの左上のサンプルに関連するＰＵ３４の左上のルーマサンプルを指定する。従って、現在ピクチャの左上のサンプルに関連する現在のＰＵ「Ｎ」の左上のルーマサンプルは（ｘＮ、ｙＮ）である。変数ｎＰＳＷ及びｎＰＳＨは、ルーマに対するＰＵ３４の幅と高さとを示す。この例では、（ｘＮ、ｙＮ）（ＮはＡ０、Ａ１、Ｂ０、Ｂ１又はＢ２で置き換えられる）は、それぞれ（ｘＰ−１、ｙＰ＋ｎＰＳＨ）、（ｘＰ−１、ｙＰ＋ｎＰＳＨ−１）、（ｘＰ＋ｎＰＳＷ、ｙＰ−１）、（ｘＰ＋ｎＰＳＷ−１、ｙＰ−１）、又は（ｘＰ−１、ｙＰ−１）として定義される。このようにして、ビデオデコーダ３０は、空間的隣接ブロックの位置を決定する。ビデオデコーダ３０がＰＵ３４の動きベクトルを決定するために動きベクトル予測子の候補リスト内に含めるものは、これらのブロックのうちの１つ又は複数の可能な基準化(possible scaling)後の動きベクトルである。
【０１１４】
[0129]ビデオデコーダ３０が、時間的隣接ブロックに対する動きベクトルを決定する方式を、以下で説明する。上記で説明したように、幾つかの例では、時間的隣接ブロックは、インター予測されるべき現在ブロックを含むピクチャと同じビュー内のピクチャ内に存在する。しかしながら、時間的隣接ブロックは、必ずしも、インター予測されるべき現在ブロックを含むピクチャと同じビュー内のピクチャ内に存在する必要があるとは限らない。幾つかの例では、時間的隣接ブロックは、インター予測されるべき現在ブロックを含むピクチャのビューと異なるビュー内のピクチャ内に存在することがある。例えば、時間的隣接ブロックを含むピクチャは、インター予測されるべき現在ブロックを含むピクチャに対する参照ピクチャリストのうちの１つへのｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘインデックス値によって識別され得る。ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘインデックス値は、インター予測されるべきブロックを含むピクチャと同じビュー内のピクチャ、又はインター予測されるべきブロックを含むピクチャと異なるビュー内のピクチャを識別することができる。これらの例のいずれにおいても、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘインデックス値によって識別されたピクチャは、「時間的隣接ブロック」を、この用語が本開示内で使用されるように、含み得る。候補動きベクトル予測子である時間的隣接ブロックに対する動きベクトルは、時間的動きベクトル予測子（ＴＭＶＰ）と呼ばれる。
【０１１５】
[0130]時間的隣接ブロックに対する動きベクトルを決定するために、ビデオデコーダ３０は、どのピクチャが時間的隣接ブロックを含んでいるかを決定し得る。時間的隣接ブロックを含むピクチャは、同一位置に配置されたピクチャ(co-located picture)と呼ばれる。インター予測されるべきブロック（例えば、現在ブロック）が現在ピクチャのスライス内にあり、スライスがＢスライスである（例えば、ＲｅｆＰｉｃＬｉｓｔ０、ＲｅｆＰｉｃＬｉｓｔ１内の参照ピクチャに関して、又は一方がＲｅｆＰｉｃＬｉｓｔ０内で識別され、他方がＲｅｆＰｉｃＬｉｓｔ１内で識別される２つの参照ピクチャに関して予測される）場合、ビデオエンコーダ２０は、同一位置に配置されたピクチャがＲｅｆＰｉｃＬｉｓｔ０内で識別されるか又はＲｅｆＰｉｃＬｉｓｔ１内で識別されるかを示すフラグ（例えば、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ）を通知する。例えば、フラグ値が１の場合、ビデオデコーダ３０は、同一位置に配置されたピクチャはＲｅｆＰｉｃＬｉｓｔ０内で識別されるものと決定し、フラグ値が０の場合、ビデオデコーダ３０は、同一位置に配置されたピクチャはＲｅｆＰｉｃＬｉｓｔ１内で識別されるものと決定する。
【０１１６】
[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]ピクチャの例示的なタイプを以下で説明する。ＨＥＶＣにおけるネットワーク抽象化レイヤ（ＮＡＬ：network abstract layer）ユニットタイプによって識別され得る４つのピクチャタイプが存在する。ピクチャのタイプの例には、限定はしないが、瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャと、クリーンランダムアクセス（ＣＲＡ）ピクチャと、時間レイヤアクセス（ＴＬＡ：temporal layer access）ピクチャと、ＩＤＲ、ＣＲＡ又はＴＬＡピクチャでないコード化ピクチャとがある。
【０１５６】
[0171]Ｈ．２６４／ＡＶＣ規格はＩＤＲピクチャを定義し、ＨＥＶＣ規格はＨ．２６４／ＡＶＣ規格からＩＤＲピクチャの定義を継承した。ＨＥＶＣ規格はまた、クリーンランダムアクセス（ＣＲＡ）ピクチャと、ブロークンリンクアクセス（ＢＬＡ：broken link access）ピクチャと、時間レイヤアクセス（ＴＬＡ）ピクチャとを定義した。これらのピクチャタイプはＨＥＶＣにおいて新しく、Ｈ．２６４／ＡＶＣ規格において利用できない。
【０１５７】
[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]図７及び図８の例では、ビデオデコーダ３０は、現在ブロックに対する候補視差ベクトルを決定するために、空間的隣接ブロックを使用した。幾つかの例では、空間的隣接ブロックを使用することに代えて又は加えて、ビデオデコーダ３０は、現在ブロックに対する別の候補視差ベクトルを決定するために時間的隣接ブロックを使用する。
【０１８８】
[0203]図９は、候補視差ベクトルを決定することの一例を示す概念図である。図９は、インター予測されるべきであるブロック８８を含むビュー１内のピクチャ８６を示す。ピクチャ８６に対する３つの可能な参照ピクチャが存在し、ピクチャ９６及びピクチャ１０６は、これらのピクチャがピクチャ８６と同じビュー内に属するからであり、ピクチャ９０は、ピクチャ９０が異なるビュー（ビュー０）内にあるがピクチャ８６と同じアクセス単位内にある（例えば、ピクチャ８６及びピクチャ９０の時間インスタンスが同じである）からである。
【０１８９】
[0204]この例では、ビデオデコーダ３０は、参照ピクチャ９０、９６及び１０６内の３つの同一位置に配置されたブロック（即ち、ブロック９２、ブロック９８及びブロック１０８）に対する動きベクトル情報を決定する。例えば、ビデオデコーダ３０は、同一位置に配置されたブロック９２、９８及び１０８のうちのいずれかに対する動きベクトルが視差動きベクトルであるかどうかを決定する。
【０１９０】
[0205]図９では、ブロック１０８はイントラ予測され、従って、視差動きベクトルを用いて予測されない。ブロック９２は動きベクトル９４を用いてインター予測される。しかしながら、動きベクトル９４はピクチャ１１０におけるブロック１１２を指し、ピクチャ１１０はピクチャ９０と同じビュー（即ち、ビュー０）内にあるので、動きベクトル９４は時間動きベクトルである。
【０１９１】
[0206]ピクチャ９６のブロック９８は、動きベクトル１００によって示されるように、ピクチャ１０２のブロック１０４に関してインター予測される。この例では、ピクチャ９６はビュー１内にあり、ピクチャ１０２は異なるビュー（即ち、ビュー０）内にある。それ故、動きベクトル１００は、視差動きベクトルである。この例では、ビデオデコーダ３０は、視差動きベクトル１００を候補視差ベクトルとして候補視差ベクトルのリストに含む。視差動きベクトル１００は同一位置に配置されたブロックに対する動きベクトルであるので、視差動きベクトル１００は、時間視差ベクトル（ＴＤＶ）と呼ばれる。
【０１９２】
[0207]図９は、ブロック８８と同一位置に配置される、同一位置に配置されたブロックの幾つかの例を示す。同一位置に配置されたブロックの他の複数の例が存在し得る。例えば、現在ブロックに対する同一位置に配置されたブロックの一例は、それの現在ピクチャ内に位置する現在ブロックと同じ領域内に位置する同一位置に配置されたピクチャ内のブロックである。この領域は、同一位置に配置された領域（ＣＲ）と呼ばれる。言い換えれば、同一位置に配置されたブロックの一例は、同一位置に配置されたピクチャのＣＲ内のブロックである。
【０１９３】
[0208]同一位置に配置されたブロックの別の例は、同一位置に配置された領域をカバーする最大コード化単位（ＬＣＵ）である。例えば、ＬＣＵは、現在ブロックよりサイズが大きく、それ故現在ピクチャ内の現在ブロックによって包含されるエリアと比較して、同一位置に配置されたピクチャ内のより大きいエリアを包含することができる。そのようなＬＣＵがカバーする領域は、同一位置に配置されたＬＣＵ（ＣＬＣＵ）と呼ばれる。
【０１９４】
[0209]同一位置に配置されたブロックの更に別の例として、ビデオデコーダ３０は、同一位置に配置されたピクチャ内の同一位置に配置された領域の右下に位置するブロックを識別する。同一位置に配置されたブロックのこの例はＢＲと呼ばれ、ＢＲは右下のブロックに対する頭字語である。同一位置に配置されたブロックの例を更に、図１０に示す。同一位置に配置されたブロックの更に別の例として、同一位置に配置されたピクチャ内に位置する任意のブロックが、候補視差ベクトルを導出するために使用され得る。
【０１９５】
[0210]図１０は、予測されるべき現在ブロックと同一位置に配置される同一位置配置ブロックの例を示す概念図である。図１０は、ピクチャ１１４とピクチャ１１８とを示す。幾つかの例では、ピクチャ１１４及びピクチャ１１８は、同じビューに属し、異なるアクセス単位に属する。幾つかの例では、ピクチャ１１４及びピクチャ１１８は、異なるビューに属し、同じアクセス単位に属する。いずれの例においても、ピクチャ１１８は、ピクチャ１１４と同一位置に配置されていると見なされる。代替的に、ピクチャ１１８は、第１の例に対してだけ、ピクチャ１１４と同一位置に配置されている（即ち、同じビューに属し、異なるアクセス単位に属する）と見なされる。
【０１９６】
[0211]ピクチャ１１４は、例えば、マージモード又はＡＭＶＰモード若しくは残差予測を使用してインター予測されるべきであるブロック１１６を含む。マージモード又はＡＭＶＰモードを実装するために、ビデオデコーダ３０は、ブロック１１６に対する候補視差ベクトルを決定し、ここで候補視差ベクトルのうちの１つ又は複数は、ビュー間予測される同一位置に配置されたブロックからの視差動きベクトルである。
【０１９７】
[0212]図１０では、ブロック１２０は、ブロック１１６と同一位置に配置される同一位置配置ブロックの一例である。例えば、ブロック１２０は、ブロック１１６がピクチャ１１４内でカバーするのと同じ領域をピクチャ１１８内でカバーする。ブロック１２０は、同一位置に配置された領域（ＣＲ）ブロック（例えば、同一位置に配置されたピクチャ内の同一位置に配置された領域をカバーするブロック）と呼ばれる。
【０１９８】
[0213]ブロック１２２は、ブロック１１６と同一位置に配置される同一位置配置ブロックの別の例である。例えば、ブロック１２２は、サイズがブロック１１６のサイズより大きいか又は等しい最大コード化単位（ＬＣＵ）である。図１０の例では、ブロック１２２は、ブロック１１６がピクチャ１１４内でカバーするエリアより大きいエリアをピクチャ１１８内でカバーする。しかしながら、ブロック１２２は、ブロック１１６がピクチャ１１４内でカバーするのと少なくとも同じエリアをピクチャ１１８内でカバーする。この場合には、ブロック１２２は、ブロック１１６の同一位置に配置された領域をカバーするＬＣＵであり、ＣＬＣＵブロックと呼ばれる。
【０１９９】
[0214]ブロック１２４は、ブロック１１６と同一位置に配置される同一位置配置ブロックの更に別の例である。例えば、ブロック１２４は、ブロック１１６が存在するピクチャ１１４内の領域と同一位置に配置される、ピクチャ１１８内の同一位置配置領域の右下に位置する。ブロック１２４は、ＢＲブロックと呼ばれる。
【０２００】
[0215]幾つかの例では、ブロック１１６に対する候補視差ベクトルを決定するために、ビデオデコーダ３０は、ＣＲブロック１２０、ＣＬＣＵブロック１２２及びＢＲブロック１２４のうちの１つ又は複数に対する動きベクトル情報を決定する。例えば、ビデオデコーダ３０は、ＣＲブロック１２０、ＣＬＣＵブロック１２２及びＢＲブロック１２４内の４×４ブロックの各々がビュー間予測されるかどうかを決定する。ビデオデコーダ３０は、ブロック１１６に対する候補視差ベクトルのリストに、ＣＲブロック１２０、ＣＬＣＵブロック１２２及びＢＲブロック１２４内のビュー間予測された４×４ブロックに対する視差動きベクトルを含め得る。
【０２０１】
[0216]しかしながら、ＣＲブロック１２０、ＣＬＣＵブロック１２２及びＢＲブロック１２４内の４×４ブロックの各々に対して動きベクトル情報を決定することは、ビデオデコーダ３０に、必要以上に多くの同一位置に配置されたブロックに対する動きベクトル情報を不必要に決定することを要求することがある。例えば、空間的隣接ブロックを有する例と同様に、ビデオデコーダ３０は、同一位置に配置されたピクチャ内の４×４ブロックの各々に対する動きベクトル情報を記憶しなくてよい。しかしながら、幾つかの例では、ビデオデコーダ３０が、同一位置に配置されたピクチャ内の４×４ブロックに対する動きベクトル情報を記憶することが起こり得る。
【０２０２】
[0217]例えば、ビデオデコーダ３０が、同一位置に配置されたピクチャ内のブロックをインター予測又はイントラ予測した後、ビデオデコーダ３０は、同一位置に配置されたピクチャ内のインター予測された４×４ブロックの動きベクトルに１６倍圧縮（16x compression）を適用し得る。一例として、１６倍圧縮を適用するために、ビデオデコーダ３０は、１６の４×４ブロック（水平方向に４つの４×４ブロック及び垂直方向に４つの４×４ブロック）に基づいて１つの動きベクトル情報を生成し、１６×１６領域に対する動きベクトルを得る。例えば、ビデオデコーダ３０は、１６の４×４ブロックの全てを表すために、１つの１６×１６領域の左上の４×４ブロックの動き情報を選択し得る。ビデオデコーダ３０は、ビデオデコーダ３０のバッファ内に１６×１６領域に対する動きベクトルを記憶する。このバッファは、ラインバッファ８２と同じでよく、又はビデオデコーダ３０の異なるバッファでもよい。
【０２０３】
[0218]言い換えれば、同一位置に配置されたピクチャ内の１６×１６領域は、１６の４×４ブロックを含む。これらの１６の４×４ブロックに対する動きベクトル情報は、異なってもよい。しかしながら、メモリ帯域幅低減のための動きベクトル圧縮のために、これらの１６の４×４ブロックの各々に対する個別の動きベクトル情報は失われ、１６の４×４ブロックを包含する１６×１６領域に対する１つの動きベクトルで置き換えられることがある。１６×１６領域に対するこの動きベクトルは、１６×１６領域内の複数の４×４ブロックに対する単一の動きベクトルを表す。この単一の動きベクトルは、２つの参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１）のうちの一方を指すことがある。幾つかの例では、１６×１６領域に対する２つの動きベクトルが存在し得、１つはＲｅｆＰｉｃＬｉｓｔ０を指し、もう１つはＲｅｆＰｉｃＬｉｓｔ１を指す。これらの例では、ＲｅｆＰｉｃＬｉｓｔ０を指す１６×１６領域内の全てのブロックに対する１つの単一の動きベクトルと、ＲｅｆＰｉｃＬｉｓｔ１を指す１６×１６領域内の全てのブロックに対する１つの単一の動きベクトルとが存在する。圧縮が使用されない例では、領域は１つの４×４ブロックを含み得る。
【０２０４】
[0219]その上、１６の４×４ブロックを含む１つの１６×１６領域である領域は、例示のために提供されており、限定と見なされるべきではない。領域は１６×１６と異なるサイズであってよく、ビデオデコーダ３０は、１６倍圧縮に対して水平方向と垂直方向の両方に、動きベクトルフィールドを４分の１にダウンサンプリングすることができる。同様に、時間的隣接ブロックの４×４ブロックサイズはまた、例示のために提供され、限定と見なされるべきではない。
【０２０５】
[0220]本開示で説明する技法によれば、ビデオデコーダ３０は、同一位置に配置されたブロック内の４×４ブロックの各々に対する動きベクトル情報を決定する必要はない。そうではなく、ビデオデコーダ３０は、同一位置に配置されたブロック内の４×４ブロックを含む１６×１６領域に対する動きベクトル情報を決定することができる。例えば、図１０に戻って参照すると、ビデオデコーダ３０は、４×４ブロックのうちのどれが視差動きベクトルを用いてビュー間予測されたかを決定するために、ＣＲブロック１２０、ＣＬＣＵブロック１２２又はＢＲブロック１２４内の４×４ブロックの各々に対する動きベクトル情報を決定する必要はない。
【０２０６】
[0221]この例では、ビデオデコーダ３０は、１６×１６領域又はＣＲブロック１２０と、ＣＬＣＵブロック１２２と、ＢＲブロック１２４とをカバーする領域に対する動きベクトルが視差動きベクトルであるかどうかを決定する。１６×１６領域又はＣＲブロック１２０と、ＣＬＣＵブロック１２２と、ＢＲブロック１２４とをカバーする領域に対する動きベクトルが視差動きベクトルである場合、ビデオデコーダ３０は、ブロック１１６の候補視差ベクトルのリストに、視差動きベクトルを候補視差ベクトルとして含める。同じく、ＣＲブロック１２０と、ＣＬＣＵブロック１２２と、ＢＲブロック１２４とをカバーする１つ又は複数の領域（例えば、時間的隣接領域）に対する視差動きベクトルが、ブロック８８に対する視差ベクトルであるものと決定される（例えば、それは、候補視差ベクトルのリストから選択されるため）場合、ビデオデコーダ３０は、ブロック８８をインター予測するためにブロック８８に対する視差ベクトルとしてこの視差動きベクトルを使用し得る。例えば、ビデオデコーダ３０は、ブロック８８の視差ベクトルとして視差動きベクトルを使用して、ブロック８８にＡＭＶＰモード又はマージモードを実装し得る。
【０２０７】
[0222]図７〜図１０に示す例は、ビデオデコーダ３０が、候補視差ベクトルのリストに追加される候補視差ベクトルを決定する。例えば、図７及び図８は、空間視差ベクトル（ＳＤＶ）を候補視差ベクトルのリストに含めることを説明する。図９及び図１０は、時間視差ベクトル（ＴＤＶ）を候補視差ベクトルのリストに含めることを説明する。ビデオデコーダ３０が、現在ブロックに対する視差ベクトルとしてＳＤＶ又はＴＤＶを選択する場合、ビデオデコーダ３０は、動きベクトル情報が現在ブロックに対する動きベクトル情報を決定するために使用されるブロックを識別するために、選択されたＳＤＶ又はＴＤＶの視差ベクトルを使用して、現在ブロックにマージモード又はＡＭＶＰモードを実装する。
【０２０８】
[0223]しかしながら、本開示で説明する技法は、そのように限定されない。幾つかの例では、ビデオデコーダ３０はまた内在視差ベクトル（ＩＤＶ）を決定し、候補視差ベクトルのリストにＩＤＶを含める。ＩＤＶは、ビュー間動き予測を用いてコード化される隣接ブロックの視差ベクトルである。例えば、予測されるべき現在ブロックが第１のブロックと呼ばれると仮定すると、第１のブロックに隣接するブロックは第２のブロックと呼ばれ、第２のブロックに隣接するブロックは第３のブロックと呼ばれる。
【０２０９】
[0224]この例では、第２のブロックは、第２のブロックと同じビュー内のピクチャに関してインター予測される。しかしながら、第２のブロックに対する動きベクトルは、第３のブロックから決定される。例えば、第２のブロックに対する動きベクトルを決定するために、ビデオデコーダ３０は、上記で説明した同様の技法を使用して第２のブロックに対する視差ベクトルを決定する。ビデオデコーダ３０は、第２のブロックの視差ベクトルが指す第３のブロックに対する動きベクトルを、第２のブロックに対する動きベクトルとして使用する。この場合には、第２のブロックの視差ベクトルは内在視差ベクトルと呼ばれ、ビデオデコーダ３０は、第１のブロックに対する候補視差ベクトルとしてこのＩＤＶを含む。
【０２１０】
[0225]言い換えれば、ビデオデコーダ３０は、現在ブロックに空間的及び時間的に隣接するブロックに基づいて、図７〜図１０に関して上記で説明したＳＤＶとＴＤＶとを決定する。ビデオデコーダ３０は、現在ブロックに空間的及び／又は時間的に隣接する１つのブロックに、空間的及び／又は時間的に隣接する複数のブロックに基づいてＩＤＶを決定するという点で、ＩＤＶはＳＤＶ及びＴＤＶと異なる。例えば、ビデオデコーダ３０が、第２のブロックの視差ベクトルによって位置指定される第３のブロックの動きベクトルに基づいて、空間的及び／又は時間的隣接ブロック（第２のブロックと呼ばれる）に対する動きベクトルを決定する場合、ビデオデコーダ３０は、現在ブロック（第１のブロックと呼ばれる）に対する視差ベクトルの候補リストに視差ベクトル（ＩＤＶと呼ばれる）を含める。ＩＤＶベクトルを、図１１で更に説明する。
【０２１１】
[0226]図１１は、候補視差ベクトルを決定することの一例を示す概念図である。図１１は、ブロック１２８を含む現在ピクチャ１２６を示し、ここでブロック１２８は予測されるべきブロックである。図１１では、ブロック１３０はブロック１２８に隣接し、動きベクトル１３８で示すように、ピクチャ１３４のブロック１３６を用いてインター予測される。この例では、ビデオデコーダ３０は、ＡＭＶＰモード又はマージモードを使用して動きベクトル１３８を決定し、ここでビデオデコーダ３０は、ブロック１３０に対する候補動きベクトル予測子のリストを構築した。図１１では、ビデオデコーダ３０は、ブロック１３０に対する候補動きベクトル予測子を含んでおり、ここでビデオデコーダ３０は、ブロック１３０に空間的に隣接する、空間的隣接ブロックの視差ベクトルに基づいて、ブロック１３０に対する候補動きベクトル予測子を決定した。言い換えれば、幾つかの例では、ビデオデコーダ３０は、ブロック１３０に対する候補動きベクトル予測子を決定するために、本開示で説明する技法を実装した。
【０２１２】
[0227]例えば、ビデオデコーダ３０は、ブロック１３０に空間的に隣接するブロックが、ブロック１３０を含むピクチャと同じアクセス単位内で、異なるビュー内のブロックを指す視差動きベクトルに関してビュー間予測されるものと決定し得た。次に、ビデオデコーダ３０は、異なるビュー内のブロックに対する動きベクトルを決定し得た。異なるビュー内のブロックに対する動きベクトルが、ブロック１３０をインター予測するために使用されるべきである参照ピクチャと同じアクセス単位（例えば、同じ時間インスタンス）内にあるピクチャを指す場合、ビデオデコーダ３０は、ブロック１３０をインター予測するために異なるビュー内のブロックに対する動きベクトル情報を使用できた。
【０２１３】
[0228]例えば、図１１では、ブロック１３２は、ブロック１３０に空間的に隣接する。同じく、図１１では、ブロック１３２は、視差動きベクトル１４４で示されるように、ピクチャ１４０のブロック１４２によってビュー間予測される。この例では、ピクチャ１４０及びピクチャ１２６は同じアクセス単位（例えば、同じ時間インスタンス）内にあるが、異なるビュー内にあり、それ故動きベクトル１４４は、視差動きベクトルである。この例では、ビデオデコーダ３０は、視差動きベクトル１４４が、ブロック１３０に対する候補視差ベクトルであるものと決定した。
【０２１４】
[0229]ブロック１３０に対する動きベクトルを決定するために、ビデオデコーダ３０は、ブロック１４２（即ち、ブロック１３０に対する決定された視差ベクトルによって指されるブロック、ここでブロック１３０に対する決定された視差ベクトルは視差動きベクトル１４４である）の動きベクトルを決定する。図示のように、ブロック１４２は、動きベクトル１５０によって示されるように、ピクチャ１４６のブロック１４８に関してインター予測される。この例では、ビデオデコーダ３０は、ブロック１３０に対する候補動きベクトル予測子として動きベクトル１５０を含む。例えば、ビデオエンコーダ２０は、ブロック１３０がピクチャ１３４を用いてインター予測されるべきであるものと決定できた。この例では、ピクチャ１４６は、ピクチャ１３４と同じ時間インスタンス（例えば、同じアクセス単位）内にある。それ故、動きベクトル１５０は、ブロック１３０に対する有効な動きベクトル予測子であり得る。
【０２１５】
[0230]図１１では、ビデオデコーダ３０は、動きベクトル１５０はブロック１３０に対する動きベクトル予測子であるものと決定し、ブロック１３０の動きベクトルを動きベクトル１５０に等しく設定した。例えば、図１１は、ブロック１３０の動きベクトルである動きベクトル１３８を示す。この例では、ビデオデコーダ３０は、動きベクトル１５０から動きベクトル１３８に延びる破線によって示されるように、動きベクトル１５０に基づいて動きベクトル１３８を決定する。例えば、動きベクトル１３８は、動きベクトル１５０の動きベクトル情報を継承した。
【０２１６】
[0231]この例では、ビデオデコーダ３０は、決定された視差ベクトル１４４（即ち、ブロック１３０の決定された視差ベクトルである、ブロック１３２の視差動きベクトル）に基づいてブロック１３０に対する動きベクトルを決定し、ブロック１３０はブロック１２８に空間的に隣接するので、ビデオデコーダ３０は、ブロック１２８に対する候補視差ベクトルとして視差動きベクトル１４４を含む。この例では、視差動きベクトル１４４は、内在視差ベクトル（ＩＤＶ）と呼ばれる。その上、この例では、ビデオデコーダ３０は、内在視差ベクトル（即ち、視差動きベクトル１４４）に基づいてブロック１３０に対する動きベクトルを決定するので、ブロック１３０は、内在視差予測された（ＩＤＰ）ブロックと呼ばれる。
【０２１７】
[0232]図１１は、空間的隣接ブロックに基づいてＩＤＶの例を示すが、本開示で説明する技法は、そのように限定されないことに留意されたい。幾つかの例では、ブロック１３０とブロック１３２の両方が図１１に示す空間的隣接ブロックであるのとは違って、ブロック１３０は時間的隣接ブロックであってよく、ブロック１３２は、ブロック１３０に隣接する空間的又は時間的隣接ブロックであってよい。従って、ＩＤＶの一例は、空間的隣接ブロックに基づいて決定されたＩＤＶである。ＩＤＶの別の例は、時間的隣接ブロックに基づいて決定されたＩＤＶである。
【０２１８】
[0233]その上、本開示で説明する技法によれば、ビデオデコーダ３０は、ブロックに対する動き情報が現在ブロックに対するＩＤＶを決定するときに記憶される方式を構成し得る。例えば、ＩＤＶが空間的隣接ブロックに基づくとき、ビデオデコーダ３０は、ブロックの領域（例えば、ブロックの８×４領域）に対する動きベクトルが視差動きベクトルであるかどうかを決定し得、ここで領域はインター予測されるべきブロックを含むピクチャと同じピクチャ内の複数のブロックを含み、ブロックのうちの少なくとも１つに対する動きベクトルは他のブロックに対する動きベクトルとは異なる。同じく、ＩＤＶが時間的隣接ブロックに基づくとき、ビデオデコーダ３０は、ブロックの領域（例えば、ブロックの１６×１６領域）に対する動きベクトルが視差動きベクトルであるかどうかを決定し得、ここで領域はインター予測されるべきブロックを含むピクチャと異なるピクチャ内の複数のブロックを含む。
【０２１９】
[0234]従って、ビデオデコーダ３０は、ブロックの領域（即ち、現在ブロックに隣接する領域）は、領域に対する動きベクトルが領域に隣接するブロックの視差動きベクトルから導出される（即ち、図１１のブロック１３２は図１１のブロック１３０を含むブロックの領域に隣接する）とき、内在視差予測領域であるものと決定できる。領域が内在視差予測領域であるものと決定することに応答して、ビデオデコーダ３０は、領域に隣接するブロックの視差動きベクトルが、現在ブロック（例えば、図１１のブロック１２８）に対する視差ベクトルであるかどうかを決定できる。例えば、ビデオデコーダ３０は、候補視差ベクトルのリスト内の領域に隣接するブロックの視差動きベクトルを含み得、視差動きベクトルを選択できる。この例では、視差動きベクトル（即ち、視差動きベクトル１４４）がブロック１２８に対する視差ベクトルであるものと決定する場合、ビデオデコーダ３０は、視差動きベクトル１４４をブロック１２８に対する視差ベクトルとして使用して、ブロック１２８をインター予測復号することができる。幾つかの例では、隣接する領域に対する視差動きベクトルがブロック１２８に対する視差ベクトルであるものと決定されなかった（例えば、空間的又は時間的隣接領域に対する視差動きベクトルが、ブロック１２８に対する視差ベクトルであるものと決定しなかったか、又は空間的又は時間的隣接領域が、視差動きベクトルを用いてインター予測されなかった）場合、ビデオデコーダ３０は、視差動きベクトル１４４をブロック１２８に対する視差ベクトルとして使用して、ブロック１２８をインター予測復号することができる。
【０２２０】
[0235]このようにして、ビデオデコーダ３０が、現在ブロックに空間的及び／又は時間的に隣接するブロックに対する動きベクトル情報を記憶した方式に基づいて、ビデオデコーダ３０は、予測されるべきである現在ブロックに対する候補視差ベクトルのリストを構築し得る。候補視差ベクトルのこのリストは、１つ又は複数の空間視差ベクトル（ＳＤＶ）、１つ又は複数の時間視差ベクトル（ＴＤＶ）、及び／又は１つ又は複数の内在視差ベクトル（ＩＤＶ）を含み得る。
【０２２１】
[0236]ビデオデコーダ３０は、候補視差ベクトルのリストから候補視差ベクトルのうちの１つを選択できる。本開示で説明するように、現在ブロックに対する候補視差ベクトルのリストを決定すること、及びリストから候補視差ベクトルを選択することは、ＳＴＶ及びＧＤＶに関して上記で説明した問題を克服することができ、それにより、ビデオデコーダ３０は、最小の複雑さで、時間的に効率よく、現在ブロックに対する視差ベクトルを決定できる。
【０２２２】
[0237]どの候補視差ベクトルを選択するかを決定するためにビデオデコーダ３０が使用する、様々な可能な基準が存在し得る。一例として、ビデオデコーダ３０は、最も頻繁に発生する候補視差ベクトルを選択する。別の例として、ビデオデコーダ３０は、第１の候補視差ベクトルを選択する（例えば、１つの候補視差ベクトルが発見されるとすぐに、ビデオデコーダ３０は候補視差ベクトルを探すことを停止する）。この例では、ビデオデコーダ３０は、最初にＳＤＶを、次にＴＤＶを、続いてＩＤＶを発見できるが、ＳＤＶ、ＴＤＶ及びＩＤＶの順序は例示のために提供されており、限定と見なされるべきではない。例えば、ビデオデコーダ３０がＳＤＶを発見する場合、ＳＤＶは視差ベクトルであり得る。しかしながら、ＳＤＶは存在しないが、ビデオデコーダ３０がＴＤＶを発見する場合、ＴＤＶは視差ベクトルであり得、以下同様である。
【０２２３】
[0238]別の例として、ビデオデコーダ３０が候補視差ベクトルのｘ成分とｙ成分との平方和、及びその和の結果の平方根を得ることによって決定された最短候補視差ベクトルを、ビデオデコーダ３０が選択する。一般に、ビデオデコーダ３０は、ビデオエンコーダ２０から候補視差ベクトル内のインデックス値を受信することを含めて、候補視差ベクトルのリストから候補視差ベクトルを選択するための任意の技法を使用できる。
【０２２４】
[0239]ビデオデコーダ３０は、選択された候補視差ベクトルに基づいて現在ブロックの視差ベクトルを決定できる。例えば、ビデオデコーダ３０は、選択された候補視差ベクトルを現在ブロックの視差ベクトルとして設定する。この例では、選択された候補視差ベクトルもまたｘ成分とｙ成分の両方を含んでいた場合、現在ブロックの決定された視差ベクトルは、ｘ成分とｙ成分の両方を含み得る。幾つかの例では、ビデオデコーダ３０は、現在ブロックの決定された視差ベクトル内に垂直成分が存在しないように、選択された候補視差ベクトルのｙ成分を０に等しく設定できる。
【０２２５】
[0240]幾つかの例では、ビデオデコーダ３０は、現在ブロックのビューと異なるビュー内にあるピクチャ内のブロックを識別するために、決定された視差ベクトルを使用する。ビデオデコーダ３０は、現在ブロックのビューと異なるビュー内にあるピクチャ内のブロックに対する動きベクトルを決定する。この例では、ビデオデコーダ３０は、現在ブロックに対する候補動きベクトル予測子のリストに候補動きベクトル予測子として決定された動きベクトルを含める。幾つかの例では、決定された動きベクトルが現在ピクチャをインター予測するために使用されるピクチャと同じ時間インスタンス内のピクチャを指す場合、ビデオデコーダ３０は、現在ピクチャに対する候補動きベクトル予測子のリストに候補動きベクトル予測子として決定された動きベクトルを含める。
【０２２６】
[0241]ビデオデコーダ３０は、現在ブロックに対する動きベクトル予測子の候補リストに基づいて、現在ブロックにマージモード又はＡＭＶＰモードを実装できる。例えば、ビデオデコーダ３０は、一例として、ビデオエンコーダ２０から動きベクトル予測子のリスト内のインデックス値を受信することなどによって、動きベクトル予測子のうちの１つを選択できる。次に、ビデオデコーダ３０は、上記で説明した方式で、選択された候補動きベクトル予測子に対する動きベクトル情報を使用する。
【０２２７】
[0242]同じく、幾つかの例では、ビデオデコーダ３０はまた、候補動きベクトル予測子として、決定された視差ベクトルを含む。例えば、上記で説明したように、候補動きベクトル予測子のリストは、必ずしも、動きベクトルを規定するシンタックス要素を受信することなく、ビデオデコーダ３０が現在ブロックに対する動きベクトルを決定する方法を提供する。幾つかの場合には、決定された視差ベクトル（例えば、視差ベクトルの候補リストから選択された視差ベクトル）はまた、現在ブロックに対する適切な候補動きベクトル予測子であり得、候補動きベクトル予測子であり得る。
【０２２８】
[0243]決定された視差ベクトルが候補動きベクトルである場合の例では、決定された視差ベクトルは、視差動きベクトルと見なされる。これは、これらの例では、視差ベクトルが指すブロックが、現在ブロックをインター予測するために直接使用される（例えば、ビデオエンコーダ２０は視差ベクトルが指すブロックと現在ブロックとの間の残差を通知する）からである。
【０２２９】
[0244]幾つかの例では、ビデオデコーダ３０は、決定された視差ベクトルを変更する。例えば、上記で説明したように、現在ブロックに対する決定された視差ベクトルは、ｘ成分とｙ成分の両方を含み得る。幾つかの例では、ビデオデコーダ３０は、決定された視差ベクトルのｙ成分を０に等しく設定する。ビデオデコーダ３０は、現在ブロックに対する候補動きベクトル予測子として、変更された視差ベクトルを含む。
【０２３０】
[0245]幾つかの例では、ビデオデコーダ３０は、マージモード又はＡＭＶＰモードの並列処理を実装する。例えば、ＨＥＶＣにおいて、ビデオデコーダ３０は、最大コード化単位（ＬＣＵ）を並列動き推定領域（ＭＥＲ）に分割し得、異なるＭＥＲに属する、現在ブロックへのそれらの隣接ブロックだけが、動きベクトル予測子のリストのための構築プロセスに含まれることを可能にする。
【０２３１】
[0246]ビデオエンコーダ２０は、ピクチャパラメータセット（ＰＰＳ）内のＭＥＲのサイズを規定できる。例えば、ＰＰＳ内のｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２シンタックス要素は、ＭＥＲのサイズを規定する。更に、２Ｎ×２Ｎがコード化単位（ＣＵ）の最小サイズであるように、ＭＥＲサイズがＮ×Ｎより大きいとき、空間的隣接ブロックは、それが現在ブロックと同じＭＥＲの中にある場合に利用不可と見なされる方式で、ＭＥＲが実施されることを、ＨＥＶＣ規格が規定できる。
【０２３２】
[0247]同じく、上記の技法は、ビュー間動き予測に関して説明されているが、これらの技法は、ビュー間残差予測に拡張可能である。例えば、ビュー間残差予測は、ＨＥＶＣベースの３ＤＶにおいて有効である。ＨＥＶＣベースの３ＤＶにおいて、深度マップから決定される視差ベクトルは、残差参照ビュー内の残差参照ブロックを位置指定するために使用される。残差予測が残差ブロックに対して有効であるとき、残差ブロックが、動き補償予測子及びこのブロックに対する通知された残差の他に加えられる。
【０２３３】
[0248]幾つかの例では、ビュー間残差予測に対して、ビデオデコーダ３０は、上記で説明した方式で（例えば、ＳＤＶ、ＴＤＶ及び／又はＩＤＶに基づいて）視差ベクトルを決定できる。ビデオデコーダ３０は、視差ベクトルが指すブロックを決定できる。この例では、ビュー間残差予測に対して、ビデオデコーダ３０は、現在ブロックの残差情報をインター予測するために決定されたブロック（即ち、視差ベクトルが指すブロック）の残差情報を使用できる。ビデオエンコーダ２０は、同様の技法を実装できる。
【０２３４】
[0249]上記で説明したように、深度マップから決定される視差ベクトルに依存することは、計算が複雑であり、時間がかかる。従って、ビデオデコーダ３０は、視差ベクトルを決定するために上記で説明した技法を使用でき、次に、上記で説明した技法と同様に、残差ブロックに対するビュー間残差予測を実装できる。
【０２３５】
[0250]上記の例は、ビデオデコーダ３０が、空間的隣接ブロック及び時間的隣接ブロックに基づいて、現在ブロックに対する視差ベクトルを決定する方式を説明した。以下の例は、どの隣接ブロックが視差ベクトルを用いてビュー間予測されるかを決定するために、空間的隣接ブロック及び時間的隣接ブロックのどちらが評価されるべきであるかを、ビデオデコーダ３０が決定する方式を説明する。
【０２３６】
[0251]例えば、所与の現在ビュー及び参照ビュー（例えば、ターゲット参照ビュー又は任意の他の従属ビュー）に対して、ビデオデコーダ３０は、空間的隣接ブロック、時間的隣接ブロック、又は（内在視差ベクトルに対するような）隣接ブロックの隣接ブロックから候補視差ベクトルが発見されるときはいつでも、候補視差ベクトルを含み得る。幾つかの例では、ビデオデコーダ３０は、最初に、空間的隣接ブロックから決定された視差ベクトルを含み、次に、候補視差ベクトルのリスト内の時間的隣接ブロックから決定された視差ベクトルを含み、続いて、隣接ブロックの隣接ブロックから決定された視差ベクトルを含む。幾つかの例では、ビデオデコーダ３０は、最初に、時間的隣接ブロックから決定された視差ベクトルを含み、次に、候補視差ベクトルのリスト内の空間的隣接ブロックから決定された視差ベクトルを含み、続いて、隣接ブロックの隣接ブロックから決定された視差ベクトルを含む。
【０２３７】
[0252]幾つかの例では、ビデオデコーダ３０は、最初に、空間的隣接ブロックのうちのいずれかが視差動きベクトルを用いてビュー間予測されるかどうかを決定し、視差動きベクトルが発見される場合、ビデオデコーダ３０は、視差ベクトルの候補のリストにその視差動きベクトルを含めることができ、時間的隣接ブロックのうちのいずれかが視差動きベクトルを用いてビュー間予測されるかどうかを決定することに進まなくてよい。幾つかの例では、ビデオデコーダ３０は、最初に、時間的隣接ブロックのうちのいずれかが視差動きベクトルを用いてビュー間予測されるかどうかを決定し、視差動きベクトルが発見される場合、ビデオデコーダ３０は、視差ベクトルの候補のリストにその視差動きベクトルを含めることができ、空間的隣接ブロックのうちのいずれかが視差動きベクトルを用いてビュー間予測されるかどうかを決定することに進まなくてよい。空間的／時間的隣接ブロック及び隣接ブロックの隣接ブロックの検査順序は、任意の順列で可能である。
【０２３８】
[0253]空間的隣接ブロック又は時間的隣接ブロックに対して、ビデオデコーダ３０は、空間的隣接ブロック又は時間的隣接ブロックに対する動きベクトルがＲｅｆＰｉｃＬｉｓｔ０内のピクチャを指すかどうかを決定し、動きベクトルが視差動きベクトルである場合、ビデオデコーダ３０は、候補視差ベクトルのリストにこの視差動きベクトルを含めることができる。場合によっては、空間的隣接ブロック又は時間的隣接ブロックに対する動きベクトルが、ＲｅｆＰｉｃＬｉｓｔ１／ＲｅｆＰｉｃＬｉｓｔＣ内のピクチャを指す場合、ビデオデコーダ３０は、候補視差ベクトルのリストにこの視差動きベクトルを含めることができる。前の例では、ビデオデコーダ３０は、最初にＲｅｆＰｉｃＬｉｓｔ０を、次にＲｅｆＰｉｃＬｉｓｔ１／ＲｅｆＰｉｃＬｉｓｔＣを検査した。幾つかの例では、ビデオデコーダ３０は、最初にＲｅｆＰｉｃＬｉｓｔ１／ＲｅｆＰｉｃＬｉｓｔＣを、次にＲｅｆＰｉｃＬｉｓｔ０を検査する。幾つかの例では、１つだけの参照ピクチャリスト、例えばＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１だけが検査され得る。
【０２３９】
[0254]空間的隣接ブロックに対して、ビデオデコーダ３０は、隣接領域に対する動きベクトルが任意の順序の（例えば、左上から始まって右上に達するか、又は右上から始まって左上に達する）視差動きベクトルであるかどうかを決定できる。ビデオデコーダ３０が、必ずしも領域内の動きベクトルを決定するとは限らない、幾つかの例では、ビデオデコーダ３０は、任意の順序で、空間的に隣接する４×４ブロックのうちのいずれかの動きベクトルが、ＡＭＶＰモード又はマージモードに対する視差動きベクトルであるかどうかを決定できる。例えば、ビデオデコーダ３０が４×４の空間的隣接ブロックを検査する順序は、例えば、ビュー間動き予測を使用しないＨＥＶＣ規格によって規定された順序であり得る。例えば、ビュー間動き予測を使用しないマージモードに対して、ＨＥＶＣは、ビデオデコーダ３０が、図４に示すように、Ａ１、Ｂ１、Ｂ０、Ａ０及びＢ２の順序で動きベクトルを検査することを規定する。この例では、ビデオデコーダ３０は、Ａ１、Ｂ１、Ｂ０、Ａ０及びＢ２のうちのいずれかに対する動きベクトルが視差動きベクトルであるかどうかを、その順序で決定できる。
【０２４０】
[0255]代替として、ビデオデコーダ３０は、上記の５つのブロック（即ち、Ａ１、Ｂ１、Ｂ０、Ａ０及びＢ２）の順序における任意の順列、又は空間的隣接領域の任意の順列を使用できる。幾つかの例では、ビデオデコーダ３０は、隣接ブロック又は隣接領域のサブセットに対する動きベクトルが、視差動きベクトルであるかどうかを、幾つかの例では、任意の順列において、決定できる。
【０２４１】
[0256]同じく、空間的隣接ブロックが、予測されるべき現在ブロックと同じＭＥＲ内にある場合、ビデオデコーダ３０は、空間的隣接ブロックが視差動きベクトルを用いてビュー間予測されるかどうかを決定しない。しかしながら、本開示で説明する技法は、そのように限定されない。幾つかの他の例では、空間的隣接ブロックが、予測されるべき現在ブロックと同じＭＥＲ内にある場合、ビデオデコーダ３０は、そのブロックが視差動きベクトルを用いてビュー間予測されるかどうかを決定する。
【０２４２】
[0257]上記で説明したように、幾つかの例では、ビデオデコーダ３０が、空間的隣接ブロックがブロックごとにビュー間予測されるかどうかを決定することは、必ずしも必要であるとは限らないが、空間的隣接ブロックが領域ごとにビュー間予測されるかどうかを決定できる。例えば、領域は、複数のブロックを含み得る。一例として、ブロックは４×４であってよく、領域は、８×４領域を包含する２つのブロックであってよい。ブロック及び領域の他のサイズが可能であり、本開示で説明する技法は、４×４ブロック及び８×４領域の例に限定されると見なされるべきではない。
【０２４３】
[0258]時間的隣接ブロックに対して、ビデオデコーダ３０は、時間的隣接ブロックが視差動きベクトルを用いてビュー間予測されるかどうか決定するために、どの同一位置に配置されたピクチャを評価するか、及び同一位置に配置されたピクチャ内のどのブロックを評価するかを決定できる。例えば、幾つかの例では、同一位置に配置されたピクチャを選択するために、ビデオデコーダ３０は、現在ブロックを含む現在ピクチャの参照ピクチャリスト（複数可）内で識別されるピクチャを評価する。これらの例では、ビデオデコーダ３０は、参照ピクチャリスト（複数可）内で識別されるピクチャを、昇順（例えば、リスト内の最初のピクチャから始まって最後のピクチャで終了する）で評価する。幾つかの例では、ビデオデコーダ３０は、参照ピクチャリスト（複数可）内で識別されるピクチャを、降順（例えば、リスト内の最後のピクチャから始まってリスト内の最初のピクチャで終了する）で評価する。
【０２４４】
[0259]一例として、ビデオエンコーダ２０によって通知されるｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素はＲｅｆＰｉｃＬｉｓｔ０内のエントリーの数を識別し、ビデオエンコーダ２０によって通知されるｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素又はｎｕｍ＿ｒｅｆ＿ｉｄｘ＿１Ｃ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、それぞれＲｅｆＰｉｃＬｉｓｔ１又はＲｅｆＰｉｃＬｉｓｔＣ内のエントリーの数を識別する。ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＣ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素は、現在のＨＥＶＣ規格の一部分ではないが、追加の例として本明細書に含まれる。例示のために、参照ピクチャリストがＲｅｆＰｉｃＬｉｓｔ０及びＲｅｆＰｉｃＬｉｓｔ１である技法について説明する。この例では、Ｎを、参照ピクチャリスト（複数可）内のエントリーの数を規定する、これらの２つの通知された値のうちの大きい方に等しくさせる。同じく、ｒｅｆ＿ｉｄｘが、ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１内の参照インデックスを指すようにする。
【０２４５】
[0260]一例では、ビデオデコーダ３０は、上記で説明したｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値に基づいて、ＲｅｆＰｉｃＬｉｓｔ０及びＲｅｆＰｉｃＬｉｓｔ１内で識別されるピクチャを検査する。例えば、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０である場合、ビデオデコーダ３０は、最初に、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆ＿ｉｄｘ］、ここでｒｅｆ＿ｉｄｘは０〜Ｎに及ぶ、の中で識別されたピクチャが、視差動きベクトルに関してビュー間予測される同一位置に配置されたブロックを含むかどうかを決定する。ＲｅｆＰｉｃＬｉｓｔ０内のピクチャ内の同一位置に配置されたブロックのうちのいずれもが、視差動きベクトルを用いてビュー間予測されない場合、ビデオデコーダ３０は、ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆ＿ｉｄｘ］、ここでｒｅｆ＿ｉｄｘは０〜Ｎに及ぶ、の中で識別されたピクチャが、視差動きベクトルに関してビュー間予測される同一位置に配置されたブロックを含むかどうかを決定する。
【０２４６】
[0261]ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１である場合、ビデオデコーダ３０は、最初に、ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆ＿ｉｄｘ］、ここでｒｅｆ＿ｉｄｘは０〜Ｎに及ぶ、の中で識別されたピクチャが、視差動きベクトルに関してビュー間予測される同一位置に配置されたブロックを含むかどうかを決定する。ＲｅｆＰｉｃＬｉｓｔ１内のピクチャ内の同一位置に配置されたブロックのうちのいずれもが、視差動きベクトルを用いてビュー間予測されない場合、ビデオデコーダ３０は、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆ＿ｉｄｘ］、ここでｒｅｆ＿ｉｄｘは０〜Ｎに及ぶ、の中で識別されたピクチャが、視差動きベクトルに関してビュー間予測される同一位置に配置されたブロックを含むかどうかを決定する。
【０２４７】
[0262]幾つかの例では、ビデオデコーダ３０は、最初に、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆ＿ｉｄｘ］によって識別される、ＲｅｆＰｉｃＬｉｓｔ０内のいずれかのピクチャが、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値にかかわらず視差ベクトルを用いてビュー間予測される同一位置に配置されたブロックを含むかどうかを検査し、次に、ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆ＿ｉｄｘ］によって識別される、ＲｅｆＰｉｃＬｉｓｔ１内のいずれかのピクチャが、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値にかかわらず視差ベクトルを用いてビュー間予測される同一位置に配置されたブロックを含むかどうかを検査する。幾つかの例では、ビデオデコーダ３０は、最初に、ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆ＿ｉｄｘ］によって識別される、ＲｅｆＰｉｃＬｉｓｔ１内のいずれかのピクチャが、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値にかかわらず視差ベクトルを用いてビュー間予測される同一位置に配置されたブロックを含むかどうかを検査し、次に、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆ＿ｉｄｘ］によって識別される、ＲｅｆＰｉｃＬｉｓｔ０内のいずれかのピクチャが、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値にかかわらず視差ベクトルを用いてビュー間予測される同一位置に配置されたブロックを含むかどうかを検査する。
【０２４８】
[0263]ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１内のピクチャを検査するとき、ピクチャのうちの１つが現在ブロックのビューと異なるビュー内のピクチャに対するものである場合、ビデオデコーダ３０は、視差ベクトルを用いてビュー間予測されるようなピクチャ内に同一位置に配置されたブロックが存在するかどうかは決定しなくてよい（例えば、参照ピクチャリスト内の異なるビューからのピクチャはスキップされ得る）。代替として、ビデオデコーダ３０は、現在ピクチャのビューと異なるビュー内のピクチャが、視差動きベクトルを用いてビュー間予測される同一位置に配置されたブロックを含むかどうかを決定できる。例えば、現在ブロックのビューと異なるビュー内のピクチャは、現在ビューを含むピクチャと同じアクセス単位内の、前に復号されたピクチャであり得る。
【０２４９】
[0264]幾つかの例では、ビデオデコーダ３０は、ピクチャがＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１内に含まれない場合でも、現在ピクチャのビューと異なるビュー内のピクチャが、視差動きベクトルを用いてビュー間予測される同一位置に配置されたブロックを含むかどうかを決定できる。これらの例では、幾つかの例で、現在ブロックを含むピクチャと同じアクセス単位内のピクチャを有するマルチビューが存在することが起こり得る。これらの場合には、ビデオデコーダ３０は、ビュー順序インデックスの降順でピクチャを検査できる。例えば、ビデオデコーダ３０は、最高のビュー順序インデックスを有するビュー内のピクチャが、視差動きベクトルを用いてビュー間予測される同一位置に配置されたブロックを含むかどうかを決定し得、続いて、２番目に最高のビュー順序インデックスを有するビューによって同様に決定し得、以下同様である。
【０２５０】
[0265]別の例では、ビデオデコーダ３０は、異なるビュー内にあるピクチャの各々に対するビュー識別子と現在ブロックに対するビュー識別子との間の差を決定する。ビデオデコーダ３０は、差に基づいて昇順でピクチャを検査する。例えば、現在ブロックを含む現在ピクチャと同じアクセス単位内にそれぞれ存在する第１のビュー内のピクチャと第２のビュー内のピクチャとが存在し、第１のビューに対するビュー識別子と現在ビューに対するビュー識別子との間の差は、第２のビューに対するビュー識別子と現在ビューに対するビュー識別子との間の差より小さいものと仮定する。この場合には、ビデオデコーダ３０は、最初に、第１のビュー内のピクチャ内の同一位置に配置されたブロックのうちのいずれかが視差ベクトルを用いてビュー間予測されるかどうかを決定し得、ビュー間予測されない場合、第２のビュー内のピクチャ内の同一位置に配置されたブロックのうちのいずれかが視差ベクトルを用いてビュー間予測されるかどうかを決定する。
【０２５１】
[0266]幾つかの例では、ビデオデコーダ３０は、ピクチャのうちのいずれかが視差動きベクトルを用いてビュー間予測される同一位置に配置されたブロックを含むかどうかを決定するために、参照ピクチャリスト内で識別されたピクチャのサブセットだけを検査する。幾つかの例では、ピクチャのこのサブセットは、比較的小さい参照インデックスを用いて識別されたピクチャ（例えば、ＲｅｆＰｉｃＬｉｓｔ０及びＲｅｆＰｉｃＬｉｓｔ１内の参照インデックス０及び参照インデックス１を用いて識別されるピクチャ）を含み得る。言い換えれば、ビデオデコーダ３０は、ＲｅｆＰｉｃＬｉｓｔ０及びＲｅｆＰｉｃＬｉｓｔ１の切り捨てバージョン（truncated version）で識別されたピクチャを検査できる。
【０２５２】
[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]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット１８０は、量子化係数、動きベクトル、及び他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット１８０は、予測処理ユニット１８１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベル及び／又はビデオブロックレベルでシンタックス要素を受信し得る。
【０２８６】
[0301]ビデオスライスがイントラコード化（Ｉ）スライスとしてコード化されたとき、予測処理ユニット１８１のイントラ予測単位１８４は、シグナリングされたイントラ予測モードと、現在フレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（即ち、Ｂ、又はＰ）スライスとしてコード化されるとき、予測処理ユニット１８１の動き補償ユニット１８２は、エントロピー復号ユニット１８０から受信された動きベクトル及び他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ１９２に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０及びＲｅｆＰｉｃＬｉｓｔ１）を構成し得る。
【０２８７】
[0302]動き補償ユニット１８２は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット１８２は、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラ又はインター予測）と、インター予測スライスタイプ（例えば、Ｂスライス又はＰスライス）と、スライスの参照ピクチャリストのうちの１つ又は複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
【０２８８】
[0303]動き補償ユニット１８２はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット１８２は、ビデオブロックの符号化中にビデオ符号器２０によって使用される補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き補償ユニット１８２は、受信されたシンタックス要素からビデオ符号器２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０２８９】
[0304]逆量子化処理ユニット１８６は、ビットストリーム中で与えられ、エントロピー復号ユニット１８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、（即ち、逆量子化（de-quantize））する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータを使用して量子化の程度を決定し、同様に、適用すべき逆量子化の程度を決定することを含み得る。逆変換処理ユニット１８８は、画素領域において残差ブロックを生成するために、逆変換（例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセス）を変換係数に適用する。
【０２９０】
[0305]動き補償ユニット１８２が、動きベクトル及び他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット１８８からの残差ブロックを動き補償ユニット１８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器１９０は、この加算演算を実行する１つ又は複数のコンポーネントを表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。画素遷移を平滑化するか、又はさもなければビデオ品質を改善するために、（コード化ループ内又はコード化ループ後の）他のループフィルタも使用され得る。次いで、所与のピクチャ内の復号されたビデオブロックは、その後の動き補償に使用される参照ピクチャを記憶する参照ピクチャメモリ１９２に記憶される。参照ピクチャメモリ１９２はまた、図１の表示装置３２などの表示装置上に後で提示するための、復号されたビデオを記憶する。
【０２９１】
[0306]このようにして、ビデオデコーダ３０は、本開示で説明する１つ又は複数の技法を実装するように構成されたビデオデコーダの一例である。例えば、予測処理ユニット１８１は、空間的及び時間的隣接領域の視差動きベクトルに基づいて現在ブロックに対する視差ベクトルを決定するように構成され得る。予測処理ユニット１８１はまた、候補動きベクトル予測子のリストのための候補動きベクトル予測子を決定するために決定された視差ベクトルを使用するように構成され得る。幾つかの例では、予測処理ユニット１８１は決定された視差ベクトルを変更し、候補動きベクトル予測子のリストに変更された決定された視差ベクトルを含むことができる。予測処理ユニット１８１はまた、ビュー間動き予測及びビュー間残差予測を実行するように構成され得る。
【０２９２】
[0307]幾つかの例では、予測処理ユニット１８１以外のユニットが、上記で説明した例を実装することができる。幾つかの例では、予測処理ユニット１８１は、ビデオデコーダ３０の１つ又は複数の他のユニットとともに、上記で説明した例を実装することができる。更に幾つかの他の例では、ビデオデコーダ３０のプロセッサ又はユニット（図１３には図示せず）は、単独で、又はビデオデコーダ３０の他のユニットとともに、上記で説明した例を実装することができる。
【０２９３】
[0308]図１４は、本開示で説明する１つ又は複数の技法によるビデオデコーダの例示的な動作を示すフローチャートである。ビデオデコーダの一例は、ビデオデコーダ３０である。図１４に示すように、ビデオデコーダ３０は、領域に対する動きベクトルが視差動きベクトルであるかどうかを決定できる（１９４）。例えば、領域は１つ又は複数のブロックを含み、複数のビューのうちの第１のビュー内のピクチャ内に存在することができる。領域に対する動きベクトルは、１つの参照ピクチャリスト（即ち、ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１）に対する領域内の１つ又は複数のブロックに対する単一の動きベクトルを表し得る。簡単のために、技法は、参照ピクチャリストのうちの１つに対するものである領域に対する動きベクトルを用いて説明される。幾つかの場合には、領域に対する２つの動きベクトルが存在し得る。これらの例では、１つの参照ピクチャリストに対する領域内のブロックの全てに対する単一の動きベクトルと、他の参照ピクチャリストに対する領域内のブロックの全てに対する単一の動きベクトルとが存在し得る。
【０２９４】
[0309]領域は、現在ブロックに隣接する（例えば、空間的に隣接する、時間的に隣接する）ことができる。領域はまた、現在ブロックに空間的又は時間的に隣接するブロックに、空間的又は時間的に隣接することができる。同じく、動きベクトルが、第２の異なるビュー内（例えば、領域を有するピクチャを含むビューと異なるビュー内）のピクチャを指す場合、動きベクトルは、視差動きベクトルであり得る。
【０２９５】
[0310]ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、ビデオデコーダ３０は、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかを決定できる（１９６）。領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかを、ビデオデコーダ３０が決定できる、様々な方法が存在し得る。一例として、ビデオデコーダ３０は、空間視差ベクトル（ＳＤＶ）を決定するために空間的隣接領域を検査し、時間視差ベクトル（ＴＤＶ）を決定するために時間的隣接領域を検査し、内在視差ベクトル（ＩＤＶ）を決定するために空間的／時間的隣接ブロックの空間的／時間的隣接領域を検査することができる。ビデオデコーダ３０は、ＳＤＶ、ＴＤＶ及びＩＤＶを含む候補視差ベクトルのリストを構築し、現在ブロックに対する視差ベクトルとして候補視差ベクトルのうちの１つを選択することができる。別の例として、ビデオデコーダ３０は、現在ブロックに対する視差ベクトルとして第１の視差動きベクトルを選択できる。領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかを、ビデオデコーダ３０が決定する、他の例示的な方法が存在し得る。
【０２９６】
[0311]ビデオデコーダ３０は、現在ブロックをインター予測復号する（１９８）。例えば、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、ビデオデコーダ３０は、現在ブロックに対する視差ベクトルとして視差動きベクトルを使用して現在ブロックをインター予測復号する。インター予測復号は、ビデオデコーダ３０によって実行されるインター予測を指す。例えば、ビデオデコーダ３０は、視差ベクトルが指すブロックを決定できる。ビデオデコーダ３０は、視差ベクトルが指すブロックに対する動きベクトルを決定し、候補動きベクトル予測子のリストに、視差ベクトルが指すブロックに対する動きベクトルを含める。この例では、視差ベクトルが指すブロックに対する動きベクトルが、マージモード又は拡張型動きベクトル予測（ＡＭＶＰ）モードの一部分として候補動きベクトル予測子のリストから選択されるとき、ビデオデコーダ３０は、視差ベクトルが指すブロックに対する動きベクトルに基づいて現在ブロックをインター予測復号することができる。
【０２９７】
[0312]図１５は、本開示で説明する１つ又は複数の技法によるビデオエンコーダの例示的な動作を示すフローチャートである。ビデオエンコーダの一例は、ビデオエンコーダ２０である。概して、ビデオエンコーダ２０は、現在ブロックに対する視差ベクトルを決定することに関して、ビデオデコーダ３０に対して図１４において上記で説明した技法と同様の技法を実行できる。
【０２９８】
[0313]例えば、ビデオエンコーダ２０は、領域に対する動きベクトルが視差動きベクトルであるかどうかを決定できる（２００）。ビデオエンコーダ２０は、図１４におけるビデオデコーダ３０に関して上記で説明した方式と同様の方式で、領域に対する動きベクトルが視差動きベクトルであるかどうかを決定できる。ピクチャ内の領域に対する動きベクトルが視差動きベクトルであるものと決定することに応答して、ビデオデコーダ２０は、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかを決定する（２０２）。領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかをビデオエンコーダ２０が決定できる様々な方法が存在し得、方法は、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるかどうかをビデオデコーダ３０が決定する方式と同様であり得る。ビデオデコーダ２０は、現在ブロックをインター予測符号化する（２０４）。例えば、領域に対する視差動きベクトルが現在ブロックに対する視差ベクトルであるものと決定される場合、ビデオエンコーダ２０は、現在ブロックに対する視差ベクトルとして視差動きベクトルを使用してインター予測符号化する（２０４）。インター予測符号化は、ビデオエンコーダ２０によって実行されるインター予測を指し、ビデオエンコーダ２０は、ビデオデコーダ３０と同様であるがビデオデータを符号化するための方式で、現在ブロックをインター予測符号化することができる。上記で説明したように、ビデオデコーダ３０は、ビデオデータを復号するためにインター予測復号を実行できる。
【０２９９】
[0314]図１６は、本開示で説明する１つ又は複数の技法による、ビデオコーダの例示的な動作を示すフローチャートである。ビデオエンコーダ２０及び／又はビデオデコーダ３０は、図１６に示す例示的な技法を実装するように構成され得る。
【０３００】
[0315]例えば、ビデオコーダは、空間的又は時間的隣接領域に対する動きベクトルが視差動きベクトルであるかどうかを決定する（２０６）。空間的隣接領域（例えば、２つの４×４ブロックを含む１つの８×４領域）は、予測されるべきブロックと同じピクチャ内にある。時間的隣接領域（例えば、１６の４×４ブロックを含む１つの１６×１６領域）は、予測されるべきブロックを含むピクチャ以外のピクチャ内にある。幾つかの例では、ビデオコーダは、空間的又は時間的隣接ブロックに空間的又は時間的に隣接する領域に対する動きベクトルが視差動きベクトルであるかどうかを決定できる。領域に対する動きベクトルは、領域内にある複数のブロックに対する単一の動きベクトルを表す。
【０３０１】
[0316]更に、時間的隣接領域に対して、ビデオコーダは、現在ブロックに対する一方又は両方の参照ピクチャリスト（即ち、現在ブロックを含むピクチャに対して構築された参照ピクチャリスト）内の各ピクチャを評価できる。各ピクチャに対して、ピクチャが、視差動きベクトルを用いてインター予測される時間的隣接領域を含むかどうかを、ビデオコーダが決定できる。幾つかの例では、ビデオコーダは、参照ピクチャリスト内の各ピクチャを昇順で評価する。同じく、ビデオコーダは、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値に基づいてＲｅｆＰｉｃＬｉｓｔ０内のピクチャを最初に、又はＲｅｆＰｉｃＬｉｓｔ１内のピクチャを最初に評価する。他の例では、ビデオコーダは、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値にかかわらず、ＲｅｆＰｉｃＬｉｓｔ０内のピクチャを最初に、ＲｅｆＰｉｃＬｉｓｔ１内のピクチャを次に評価し、又はその逆も成り立つ。
【０３０２】
[0317]図１６の例では、ビデオコーダは、候補視差ベクトルのリストに視差動きベクトルを含める（２０８）。ビデオコーダが、候補視差ベクトルのリストからこの視差動きベクトルを選択する場合、ビデオコーダは、視差動きベクトルによって指されるブロックの動きベクトルを決定する（２１０）。この例では、ビデオコーダは、現在ブロックに対する候補動きベクトル予測子のリストに決定された動きベクトルを含める（２１２）。幾つかの例では、ビデオコーダはまた、候補動きベクトル予測子のリストに視差動きベクトルの変更されたバージョン（例えば、それのｙ成分がゼロに等しく設定された視差動きベクトル）を含む（２１４）。
【０３０３】
[0318]幾つかの場合には、ビデオコーダは、候補動きベクトル予測子のリストへのインデックスを示すコード化シンタックス要素に基づいて候補動きベクトル予測子を選択する（２１６）。次に、ビデオコーダは、拡張型動きベクトル予測（ＡＭＶＰ）モード又はマージモードを使用して現在ブロックをインター予測する（２１８）。
【０３０４】
[0319]１つ又は複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアに実装される場合、機能は、１つ若しくは複数の命令若しくはコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行することができる。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コード及び／又はデータ構造を取り出すために１つ又は複数のコンピュータあるいは１つ又は複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０３０５】
[0320]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気記憶装置、フラッシュメモリ、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０３０６】
[0321]命令は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）などの１つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つ又は複数の回路又は論理要素中に十分に実装され得る。
【０３０７】
[0322]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実装され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明した１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
【０３０８】
[0323]幾つかの例では、技法は、ビデオデコーダを備える機器又はビデオエンコーダを備える機器を用いて説明される。機器は、ワイヤレス通信機器など、スタンドアロン機器であり得る。幾つかの例では、機器は、マイクロプロセッサ又は集積回路であり得る。これらの例では、マイクロプロセッサ又は集積回路は、適用可能な場合、ビデオデコーダ又はビデオエンコーダを含み得る。幾つかの例では、ビデオデコーダ及びビデオエンコーダは、スタンドアロンのマイクロプロセッサ又は集積回路であり得る。
【０３０９】
[0324]様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
【図１】
2018110407.tif 000003
【図２】
2018110407.tif 000004
【図３】
2018110407.tif 000005
【図４】
2018110407.tif 000006
【図５】
2018110407.tif 000007
【図６】
2018110407.tif 000008
【図７】
2018110407.tif 000009
【図８】
2018110407.tif 000010
【図９】
2018110407.tif 000011
【図１０】
2018110407.tif 000012
【図１１】
2018110407.tif 000013
【図１２】
2018110407.tif 000014
【図１３】
2018110407.tif 000015
【図１４】
2018110407.tif 000016
【図１５】
2018110407.tif 000017
【図１６】
2018110407.tif 000018
【手続補正書】
【提出日】平成30年2月19日(2018.2.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号するための方法であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測復号することとを備え、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記復号することが、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０３０９
【補正方法】変更
【補正の内容】
【０３０９】
[0324]様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータを復号するための方法であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測復号することとを備え、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記復号することが、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、方法。
［２］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、［１］に記載の方法。
［３］  前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、［２］に記載の方法。
［４］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、［１］に記載の方法。
［５］  前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、［４］に記載の方法。
［６］  前記領域に対する前記動きベクトルが、前記領域に隣接するブロックの視差動きベクトルから導出されるとき、前記領域が内在視差予測領域であるものと決定することと、
前記領域が前記内在視差予測領域であるものと決定することに応答して、前記領域に隣接する前記ブロックの前記視差動きベクトルが、前記現在ブロックに対する前記視差ベクトルであるかどうかを決定することとを更に備え、
前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルでない場合、前記復号することが、前記領域に隣接する前記ブロックの前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に隣接する前記ブロックに対する前記視差動きベクトルを使用する、［１］に記載の方法。
［７］  前記視差ベクトルが指すブロックを決定することと、
前記視差ベクトルが指す前記ブロックに対する動きベクトルを決定することと、
候補動きベクトル予測子のリストに、前記視差ベクトルが指す前記ブロックに対する前記動きベクトルを含めることとを更に備え、
前記現在ブロックをインター予測復号することが、前記視差ベクトルが指す前記ブロックに対する前記動きベクトルがマージモード又は拡張型動きベクトル予測（ＡＭＶＰ）モードの一部分として候補動きベクトル予測子の前記リストから選択されるとき、前記視差ベクトルが指す前記ブロックに対する前記動きベクトルに基づいて前記現在ブロックをインター予測復号することを備える、［１］に記載の方法。
［８］  前記視差ベクトルが指すブロックを決定することを更に備え、
前記現在ブロックをインター予測復号することが、前記現在ブロックの残差情報をインター予測するために、決定された前記ブロックの残差情報を使用することを備える、［１］に記載の方法。
［９］  前記視差動きベクトルを変更することと、
前記現在ブロックに対する候補動きベクトル予測子のリストに、変更された前記視差動きベクトルを含めることとを更に備える、［１］に記載の方法。
［１０］  前記視差動きベクトルを変更することが、前記視差動きベクトルのｙ成分をゼロに等しく設定することを備える、［９］に記載の方法。
［１１］  前記現在ブロックが、瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャ又はクリーンランダムアクセス（ＣＲＡ）ピクチャのブロックであり得る、［１］に記載の方法。
［１２］  ビデオデータを符号化するための方法であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測復号することとを備え、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記符号化が、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、方法。
［１３］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、［１２］に記載の方法。
［１４］  前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、［１３］に記載の方法。
［１５］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、［１２］に記載の方法。
［１６］  前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、［１５］に記載の方法。
［１７］  前記領域に対する前記動きベクトルが、前記領域に隣接するブロックの視差動きベクトルから導出されるとき、前記領域が内在視差予測領域であるものと決定することと、
前記領域が前記内在視差予測領域であるものと決定することに応答して、前記領域に隣接する前記ブロックの前記視差動きベクトルが、前記現在ブロックに対する前記視差ベクトルであるかどうかを決定することとを更に備え、
前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルでない場合、前記符号化することが、前記領域に隣接する前記ブロックの前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に隣接する前記ブロックに対する前記視差動きベクトルを使用する、［１２］に記載の方法。
［１８］  前記視差ベクトルが指し示すブロックを決定することを更に備え、
前記現在ブロックをインター予測符号化することが、前記現在ブロックの残差情報をインター予測するために、決定された前記ブロックの残差情報を使用することを備える、［１２］に記載の方法。
［１９］  前記視差動きベクトルを変更することと、
前記現在ブロックに対する候補動きベクトル予測子のリストに、変更された前記視差動きベクトルを含めることとを更に備える、［１２］に記載の方法。
［２０］  前記視差動きベクトルを変更することが、前記視差動きベクトルのｙ成分をゼロに等しく設定することを備える、［１９］に記載の方法。
［２１］  前記現在ブロックが、瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャ又はクリーンランダムアクセス（ＣＲＡ）ピクチャの前記現在ブロックである、［１２］に記載の方法。
［２２］  ビデオデータを復号するための装置であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測復号することとを行うように構成されたビデオデコーダを備え、前記現在ブロックを復号するために、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記ビデオデコーダが、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、装置。
［２３］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するために、前記ビデオデコーダが、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するように構成され、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、［２２］に記載の装置。
［２４］  前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、［２３］に記載の装置。
［２５］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するために、前記ビデオデコーダが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するように構成され、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、［２２］に記載の装置。
［２６］  前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、［２５］に記載の装置。
［２７］  前記ビデオデコーダが、
前記領域に対する前記動きベクトルが、前記領域に隣接するブロックの視差動きベクトルから導出されるとき、前記領域が内在視差予測領域であるものと決定することと、
前記領域が前記内在視差予測領域であるものと決定することに応答して、前記領域に隣接する前記ブロックの前記視差動きベクトルが、前記現在ブロックに対する前記視差ベクトルであるかどうかを決定することとを行うように構成され、
前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルでない場合、前記現在ブロックを復号するために、前記ビデオエンコーダが、前記領域に隣接する前記ブロックの前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に隣接する前記ブロックに対する前記視差動きベクトルを使用する、［２２］に記載の装置。
［２８］  前記ビデオデコーダが、
前記視差ベクトルが指し示すブロックを決定することと、
前記視差ベクトルが指し示す前記ブロックに対する動きベクトルを決定することと、
候補動きベクトル予測子のリストに、前記視差ベクトルが指し示す前記ブロックに対する前記動きベクトルを含めることとを行うように構成され、
前記現在ブロックをインター予測復号するために、前記ビデオデコーダが、前記視差ベクトルが指し示す前記ブロックに対する前記動きベクトルがマージモード又は拡張型動きベクトル予測（ＡＭＶＰ）モードの一部分として候補動きベクトル予測子の前記リストから選択されるとき、前記視差ベクトルが指し示す前記ブロックに対する前記動きベクトルに基づいて前記現在ブロックをインター予測復号するように構成される、［２２］に記載の装置。
［２９］  前記ビデオデコーダが、
前記視差ベクトルが指し示すブロックを決定するように構成され、
前記現在ブロックをインター予測復号するために、前記ビデオデコーダが、前記現在ブロックの残差情報をインター予測するために、決定された前記ブロックの残差情報を使用するように構成される、［２２］に記載の装置。
［３０］  前記ビデオデコーダが、
前記視差動きベクトルを変更することと、
前記現在ブロックに対する候補動きベクトル予測子のリストに、変更された前記視差動きベクトルを含めることとを行うように構成される、［２２］に記載の装置。
［３１］  前記視差動きベクトルを変更するために、前記ビデオデコーダが、前記視差動きベクトルのｙ成分をゼロに等しく設定するように構成される、［３０］に記載の装置。
［３２］  前記現在ブロックが、瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャ又はクリーンランダムアクセス（ＣＲＡ）ピクチャの前記現在ブロックである、［２２］に記載の装置。
［３３］  前記装置が、
ワイヤレス通信装置と、
マイクロプロセッサと、
集積回路とのうちの１つを備える、［２２］に記載の装置。
［３４］  ビデオデータを符号化するための装置であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測符号化することとを行うように構成されたビデオエンコーダを備え、前記現在ブロックを符号化するために、前記ビデオエンコーダが、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、装置。
［３５］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するために、前記ビデオエンコーダが、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するように構成され、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、［３４］に記載の装置。
［３６］  前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、［３５］に記載の装置。
［３７］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するために、前記ビデオエンコーダが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するように構成され、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、［３４］に記載の装置。
［３８］  前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、［３７］に記載の装置。
［３９］  前記ビデオエンコーダが、
前記領域に対する前記動きベクトルが、前記領域に隣接するブロックの視差動きベクトルから導出されるとき、前記領域が内在視差予測領域であるものと決定することと、
前記領域が前記内在視差予測領域であるものと決定することに応答して、前記領域に隣接する前記ブロックの前記視差動きベクトルが、前記現在ブロックに対する前記視差ベクトルであるかどうかを決定することとを行うように構成され、
前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルでない場合、前記現在ブロックを符号化するために、前記ビデオエンコーダが、前記領域に隣接する前記ブロックの前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記現在ブロックに対する前記視差ベクトルとして前記領域に隣接する前記ブロックに対する前記視差動きベクトルを使用する、［３４］に記載の装置。
［４０］  前記ビデオエンコーダが、
前記視差ベクトルが指し示すブロックを決定するように構成され、
前記現在ブロックをインター予測符号化するために、前記ビデオエンコーダが、前記現在ブロックの残差情報をインター予測するために、決定された前記ブロックの残差情報を使用するように構成される、［３４］に記載の装置。
［４１］  前記ビデオエンコーダが、
前記視差動きベクトルを変更することと、
前記現在ブロックに対する候補動きベクトル予測子のリストに、前記変更された視差動きベクトルを含めることとを行うように構成される、［３４］に記載の装置。
［４２］  前記視差動きベクトルを変更するために、前記ビデオエンコーダが、前記視差動きベクトルのｙ成分をゼロに等しく設定するように構成される、［４１］に記載の装置。
［４３］  前記現在ブロックが、瞬時デコーダリフレッシュ（ＩＤＲ）ピクチャ又はクリーンランダムアクセス（ＣＲＡ）ピクチャの前記現在ブロックである、［３４］に記載の装置。
［４４］  ビデオデータを復号するための装置であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定するための手段と、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定するための手段と、
前記現在ブロックをインター予測復号するための手段とを備え、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記インター予測復号するための前記手段が、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、装置。
［４５］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するための前記手段が、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するための手段を備え、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、［４４］に記載の装置。
［４６］  前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、［４５］に記載の装置。
［４７］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するための前記手段が、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するための手段を備え、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、［４４］に記載の装置。
［４８］  前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、［４７］に記載の装置。
［４９］  ビデオデータを符号化するための装置であって、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定するための手段と、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定するための手段と、
前記現在ブロックをインター予測符号化するための手段とを備え、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、インター予測符号化するための前記手段が、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用する、装置。
［５０］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定するための前記手段が、前記現在ブロックに空間的に隣接する、空間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定するための手段を備え、前記ピクチャが、前記空間的隣接領域を含み、前記現在ブロックを含む、［４９］に記載の装置。
［５１］  前記空間的隣接領域が、２つの４×４ブロックを含む１つの８×４領域を備える、［５０］に記載の装置。
［５２］  前記第１のビュー内の前記ピクチャ内の前記領域に対する前記動きベクトルが視差動きベクトルであるかどうかを決定することが、前記現在ブロックに時間的に隣接する、時間的隣接領域に対する前記動きベクトルが前記視差動きベクトルであるかどうかを決定することを備え、前記ピクチャが、前記時間的隣接領域を含み、前記現在ブロックを含まない、［４９］に記載の装置。
［５３］  前記時間的隣接領域が、１６の４×４ブロックを含む１つの１６×１６領域を備える、［５２］に記載の装置。
［５４］  命令を記憶されたコンピュータ可読記憶媒体であって、前記命令が、実行されると１つ以上のプロセッサに、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測復号することとを行わせ、前記１つ以上のプロセッサに復号させる前記命令が、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記１つ以上のプロセッサに、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用させる命令を備える、コンピュータ可読記憶媒体。
［５５］  命令を記憶されたコンピュータ可読記憶媒体であって、前記命令が、実行されると１つ以上のプロセッサに、
複数のビューのうちの第１のビュー内のピクチャ内の領域に対する動きベクトルが、視差動きベクトルであるかどうかを決定することと、前記領域が予測されるべき現在ブロックに隣接し、前記領域が１つ以上のブロックを含み、前記領域に対する前記動きベクトルが１つの参照ピクチャリストに対する前記１つ以上のブロックに対する単一の動きベクトルを表し、前記視差動きベクトルが第２の異なるビュー内のピクチャを指し示す、
前記ピクチャ内の前記領域に対する前記動きベクトルが前記視差動きベクトルであるものと決定することに応答して、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する視差ベクトルであるかどうかを決定することと、
前記現在ブロックをインター予測符号化することとを行わせ、前記１つ以上のプロセッサに符号化させる前記命令が、前記領域に対する前記視差動きベクトルが前記現在ブロックに対する前記視差ベクトルであるものと決定される場合、前記１つ以上のプロセッサに、前記現在ブロックに対する前記視差ベクトルとして前記領域に対する前記視差動きベクトルを使用させる命令を備える、コンピュータ可読記憶媒体。
【外国語明細書】
2018110407000001.pdf