(57)【要約】  一例では、デバイスは、ビデオデータのブロックが高効率ビデオコーディング（ＨＥＶＣ）の３次元拡張に従ってコーディングされるべきであると判断することと、ブロックがＨＥＶＣの３次元拡張に従ってコーディングされるべきであるとの判断に基づいて、ブロックをコーディングするための時間的動きベクトル予測を使用不可にすることとを行うように構成されたビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）を含む。ビデオコーダはブロックが双予測ブロック（Ｂブロック）を備えるとき、Ｂブロックが第１の参照ピクチャリストと第２の参照ピクチャリストとの中のピクチャの所定のペアを参照すると判断することと、Ｂブロックが所定のペアを参照するという判断に基づき、ブロックのための予測ブロックを計算するときにピクチャのペアからの寄与を等しく重み付けすることとを行うようにさらに構成され得る。
2015514342.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を備える、方法。
【請求項２】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを復号することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、請求項１に記載の方法。
【請求項３】
前記現在の動きベクトルのための前記第１のタイプを判断することが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記第１のタイプを判断することを備え、
前記候補動きベクトルのための前記第２のタイプを判断することが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断することを備える
請求項１に記載の方法。
【請求項４】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第１の参照ピクチャが前記現在のレイヤ中に含まれ前記第２の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項２に記載の方法。
【請求項５】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第２の参照ピクチャが前記現在のレイヤ中に含まれ前記第１の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項２に記載の方法。
【請求項６】
前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、請求項１に記載の方法。
【請求項７】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ピクチャ順序カウント（ＰＯＣ）値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項１に記載の方法。
【請求項８】
前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号することをさらに備える、請求項７に記載の方法。
【請求項９】
前記現在の動きベクトルを復号することが、前記現在の動きベクトルによって参照される第１の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第２の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、請求項８に記載の方法。
【請求項１０】
前記現在の動きベクトルを復号することが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを復号することを備え、前記方法が、ＡＭＶＰを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、請求項１に記載の方法。
【請求項１１】
前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号することをさらに備える、請求項１に記載の方法。
【請求項１２】
前記データを復号することが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを復号することを備える、請求項１１に記載の方法。
【請求項１３】
前記データを復号することが、マルチビュービデオ復号（ＭＶＣ）拡張のための拡張ビットと、３次元ビデオ（３ＤＶ）拡張のための拡張ビットと、サブセットシーケンスパラメータセット（ＳＰＳ）と、ビデオパラメータセット（ＶＰＳ）とのうちの少なくとも１つの中の前記データを復号することを備える、請求項１１に記載の方法。
【請求項１４】
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第１のタイプを判断することは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断することを備える、請求項１に記載の方法。
【請求項１５】
ビデオデータを符号化する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することと
を備える、方法。
【請求項１６】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを符号化することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、請求項１５に記載の方法。
【請求項１７】
前記現在の動きベクトルのための前記第１のタイプを判断することが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記第１のタイプを判断することを備え、
前記候補動きベクトルのための前記第２のタイプを判断することが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断することを備える
請求項１５に記載の方法。
【請求項１８】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第１の参照ピクチャが前記現在のレイヤ中に含まれ前記第２の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項１７に記載の方法。
【請求項１９】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第２の参照ピクチャが前記現在のレイヤ中に含まれ前記第１の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項１７に記載の方法。
【請求項２０】
前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、請求項１５に記載の方法。
【請求項２１】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ピクチャ順序カウント（ＰＯＣ）値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項１５に記載の方法。
【請求項２２】
前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化することをさらに備える、請求項２１に記載の方法。
【請求項２３】
前記現在の動きベクトルを符号化することが、前記現在の動きベクトルによって参照される第１の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第２の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、請求項２２に記載の方法。
【請求項２４】
前記現在の動きベクトルを符号化することが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを符号化することを備え、前記方法が、ＡＭＶＰを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、請求項１５に記載の方法。
【請求項２５】
前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化することをさらに備える、請求項１５に記載の方法。
【請求項２６】
前記データを符号化することが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを符号化することを備える、請求項２５に記載の方法。
【請求項２７】
前記データを符号化することが、マルチビュービデオ符号化（ＭＶＣ）拡張のための拡張ビットと、３次元ビデオ（３ＤＶ）拡張のための拡張ビットと、サブセットシーケンスパラメータセット（ＳＰＳ）と、ビデオパラメータセット（ＶＰＳ）とのうちの少なくとも１つの中の前記データを符号化することを備える、請求項２５に記載の方法。
【請求項２８】
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第１のタイプを判断することは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断することを備える、請求項１５に記載の方法。
【請求項２９】
ビデオデータを復号するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することとを行うように構成されたビデオデコーダを備えるデバイス。
【請求項３０】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオデコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号するように構成された、請求項２９に記載のデバイス。
【請求項３１】
前記ビデオデコーダが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第１のタイプを判断するように構成され、前記ビデオデコーダが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断するように構成された、請求項２９に記載のデバイス。
【請求項３２】
前記ビデオデコーダが、前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、請求項２９に記載のデバイス。
【請求項３３】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ＰＯＣ値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項２９に記載のデバイス。
【請求項３４】
前記ビデオデコーダが、前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号するようにさらに構成された、請求項３３に記載のデバイス。
【請求項３５】
前記現在の動きベクトルを復号するために、前記ビデオデコーダが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを復号するように構成され、ＡＭＶＰを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、請求項２９に記載のデバイス。
【請求項３６】
前記ビデオデコーダが、前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号するように構成された、請求項２９に記載のデバイス。
【請求項３７】
前記データが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを備える、請求項３６に記載のデバイス。
【請求項３８】
前記ビデオデコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第１のタイプを判断するために、前記ビデオデコーダは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断するように構成された、請求項２９に記載のデバイス。
【請求項３９】
前記ビデオデコーダが、前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成されたビデオデコーダを備える、請求項２９に記載のデバイス。
【請求項４０】
前記ビデオデコーダが、前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成されたビデオエンコーダを備える、請求項２９に記載のデバイス。
【請求項４１】
前記デバイスが、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、請求項２９に記載のデバイス。
【請求項４２】
ビデオデータを符号化するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することとを行うように構成されたビデオエンコーダを備えるデバイス。
【請求項４３】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオエンコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化するように構成された、請求項４２に記載のデバイス。
【請求項４４】
前記ビデオエンコーダが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第１のタイプを判断するように構成され、前記ビデオエンコーダが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断するように構成された、請求項４２に記載のデバイス。
【請求項４５】
前記ビデオエンコーダが、前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、請求項４２に記載のデバイス。
【請求項４６】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ＰＯＣ値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項４２に記載のデバイス。
【請求項４７】
前記ビデオエンコーダが、前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化するようにさらに構成された、請求項４６に記載のデバイス。
【請求項４８】
前記現在の動きベクトルを符号化するために、前記ビデオエンコーダが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを符号化するように構成され、ＡＭＶＰを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、請求項４２に記載のデバイス。
【請求項４９】
前記ビデオエンコーダが、前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化するように構成された、請求項４２に記載のデバイス。
【請求項５０】
前記データが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを備える、請求項４９に記載のデバイス。
【請求項５１】
前記ビデオエンコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第１のタイプを判断するために、前記ビデオエンコーダは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断するように構成された、請求項４２に記載のデバイス。
【請求項５２】
前記ビデオエンコーダが、前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成されたビデオデコーダを備える、請求項４２に記載のデバイス。
【請求項５３】
前記ビデオエンコーダが、前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成されたビデオエンコーダを備える、請求項４２に記載のデバイス。
【請求項５４】
ビデオデータを符号化するためのデバイスであって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断するための手段と、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断するための手段と、
前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定するための手段と、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化するための手段と
を備える、デバイス。
【請求項５５】
実行されたとき、プロセッサに、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その各々の内容全体が参照により本明細書に組み込まれる、以下の米国仮特許出願の利益を主張する。
【０００２】
２０１２年３月１６日に出願された米国仮特許出願第６１／６１１，９５９号、
２０１２年４月１６日に出願された米国仮特許出願第６１／６２４，９９０号、
２０１２年６月１１日に出願された米国仮出願第６１／６５８，３４４号、および
２０１２年６月２２日に出願された米国仮出願第６１／６６３，４８４号。
【０００３】
[0002]本開示は、ビデオコーディングに関する。
【背景技術】
【０００４】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびＳｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＳＶＣ）およびＭｕｌｔｉｖｉｅｗ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＭＶＣ）など、そのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。ＨＥＶＣのワーキングドラフト（ＷＤ：Working Draft）のバージョン６は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／８＿Ｓａｎ％２０Ｊｏｓｅ／ｗｇ１１／ＪＣＴＶＣ−Ｈ１００３−ｖ２１．ｚｉｐから入手可能である。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００５】
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００６】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００７】
[0006]概して、本開示は、動きベクトルをコーディングするための、および高効率ビデオコーディング（ＨＥＶＣ）と、マルチビューまたは３次元ビデオ（３ＤＶ：three-dimensional video）拡張などのＨＥＶＣの拡張とにおいて双予測を実行するための技法について説明する。本開示の技法は、ベースコーデック設計におけるマルチビュービデオコーデックおよび／または３Ｄビデオコーディングへのより良い前方互換性をサポートし得る。
【０００８】
[0007]一例では、ビデオデータを復号するための方法は、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号することとを含む。
【０００９】
[0008]別の例では、ビデオデータを符号化するための方法は、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを含む。
【００１０】
[0009]別の例では、ビデオデータを復号するためのデバイスは、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号することとを行うように構成されたビデオデコーダを含む。
【００１１】
[0010]別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを行うように構成されたビデオエンコーダを含む。
【００１２】
[0011]別の例では、ビデオデータを復号するためのデバイスは、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断するための手段と、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断するための手段と、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定するための手段と、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号するための手段とを含む。
【００１３】
[0012]別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断するための手段と、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断するための手段と、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定するための手段と、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化するための手段とを含む。
【００１４】
[0013]別の例では、コンピュータ可読記憶媒体（たとえば、非一時的コンピュータ可読記憶媒体）は、実行されたとき、プロセッサに、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号することとを行わせる命令を記憶する。
【００１５】
[0014]別の例では、コンピュータ可読記憶媒体（たとえば、非一時的コンピュータ可読記憶媒体）は、実行されたとき、プロセッサに、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを行わせる命令を記憶する。
【００１６】
[0015]１つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１７】
【図１】[0016]動きベクトルをコーディングするための、および高効率ビデオコーディング（ＨＥＶＣ）と、マルチビューまたは３次元ビデオ（３ＤＶ）拡張などのＨＥＶＣの拡張とにおいて双予測を実行するための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0017]動きベクトルをコーディングするための、およびＨＥＶＣと、マルチビューまたは３ＤＶ拡張などのＨＥＶＣの拡張とにおいて双予測を実行するための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】[0018]動きベクトルをコーディングするための、およびＨＥＶＣと、マルチビューまたは３ＤＶ拡張などのＨＥＶＣの拡張とにおいて双予測を実行するための技法を実装し得るビデオデコーダ３０の一例を示すブロック図。
【図４】[0019]例示的なＭＶＣの予測パターンを示す概念図。
【図５】[0020]本開示の技法による、現在のブロックを符号化するための例示的な方法を示すフローチャート。
【図６】[0021]本開示の技法による、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１８】
[0022]概して、本開示では、マルチビュービデオコーディング（ＭＶＣ）データをコーディングするための技法について説明する。現在、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）は、次回の高効率ビデオコーディング（ＨＥＶＣ）規格に基づいて３次元ビデオ（３ＤＶ）規格を開発している。規格化の取り組みの一部はまた、ＨＥＶＣに基づいたマルチビュービデオコーデックの規格化を含む。２次元ビデオコーディングでは、ビデオデータ（すなわち、ピクチャのシーケンス）は、必ずしも表示順序とは限らずにピクチャごとにコーディングされる。ビデオコーディングデバイスは、各ピクチャをブロックに分割し、各ブロックを個々にコーディングする。ブロックベースの予測モードは、イントラ予測とも呼ばれる空間予測とインター予測とも呼ばれる時間的予測とを含む。
【００１９】
[0023]ＨＥＶＣベースの３ＤＶなどの３次元ビデオデータでは、ブロックはまた、ビュー間予測され得る。すなわち、ブロックは、別のビューのピクチャから予測され得、各ビューは、概して、それぞれのカメラロケーションに対応する。このようにして、ＨＥＶＣベースの３ＤＶでは、異なるビューからの再構成されたビューコンポーネントに基づいたビュー間予測が可能であり得る。本開示では、特定のビューの符号化ピクチャを指すために「ビューコンポーネント」という用語を使用する。すなわち、ビューコンポーネントは、（表示順序または出力順序に関して）特定の時間の特定のビューのための符号化ピクチャを備え得る。ビューコンポーネント（またはビューコンポーネントのスライス）は、ビュー構成要素の表示順序（または出力順序）を概して示すピクチャ順序カウント（ＰＯＣ：picture order count）値を有し得る。
【００２０】
[0024]時間的インター予測またはビュー間予測では、ビデオコーディングデバイスは、１つもしくは複数の動きベクトル（時間的インター予測）および／または１つもしくは複数の変位ベクトル（ビュー間予測）を示すデータをコーディングし得る。いくつかの例では、１つの動きベクトルまたは１つの変位ベクトルでコーディングされたブロックはＰブロックと呼ばれ、一方、２つの動きベクトルまたは２つの変位ベクトルでコーディングされたブロックは双予測ブロックまたはＢブロックと呼ばれる。動きベクトルに適用可能である技法は、概して、変位ベクトルにも適用可能であり、したがって、本開示では、主に、動きベクトルコーディング技法について説明する。ただし、そのような技法は変位ベクトルにも適用可能であり、同様に、別段に規定されていない限り、変位ベクトルに関して説明する技法は動きベクトルにも適用可能であることを理解されたい。
【００２１】
[0025]概して、動きベクトルまたは変位ベクトルが参照し得る参照ピクチャを示すデータは参照ピクチャリストに記憶される。したがって、動きベクトルデータ（または変位ベクトルデータ）は、動きベクトルのｘ成分およびｙ成分についてのデータだけでなく、参照ピクチャインデックスと呼ばれる、参照ピクチャリストのエントリの指示をも含み得る。ビデオコーディングデバイスは、複数の参照ピクチャリストを構成し得る。たとえば、ビデオコーディングデバイスは、現在のピクチャよりも前のＰＯＣ値を有する参照ピクチャについてのデータを記憶するために第１の参照ピクチャリスト（リスト０またはＲｅｆＰｉｃＬｉｓｔ０）を構成し、現在のピクチャよりも後のＰＯＣ値を有する参照ピクチャについてのデータを記憶するために第２の参照ピクチャリスト（リスト１またはＲｅｆＰｉｃＬｉｓｔ１）を構成し得る。さらに、ピクチャのための表示または出力順序は、コーディング順序値（たとえば、フレーム番号または「ｆｒａｍｅ＿ｎｕｍ」値）と必ずしも同じとは限らないことに留意されたい。したがって、ピクチャは、フレームが表示される（またはキャプチャされる）順序とは異なる順序でコーディングされ得る。
【００２２】
[0026]一般に、Ｂピクチャの第１または第２の参照ピクチャリストについての参照ピクチャリスト構成は、２つのステップ、すなわち参照ピクチャリストの初期化と、参照ピクチャリストの並べ替え（修正）とを含む。参照ピクチャリスト初期化は、参照ピクチャメモリ（復号ピクチャバッファとしても知られる）中の参照ピクチャを、ＰＯＣ（ピクチャの表示順で整列されるピクチャオーダーカウント）値の順序に基づいてリストに入れる明示的機構である。参照ピクチャリスト並べ替え機構は、参照ピクチャリスト初期化中にリストに置かれたピクチャの位置を任意の新しい位置に修正すること、または参照ピクチャメモリ中の任意の参照ピクチャが初期化リストに属していない場合でもそのピクチャを任意の位置に置くことができる。参照ピクチャリスト並べ替え（修正）後のいくつかのピクチャは、リスト中の離れた位置に置かれ得る。ただし、ピクチャの位置が、リストのアクティブ参照ピクチャの数を超える場合、ピクチャは、最終参照ピクチャリストのエントリとは見なされない。アクティブ参照ピクチャの数は、各リスト用のスライスヘッダに入れてシグナリングされ得る。参照ピクチャリスト（たとえば、利用可能な場合、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）が構成された後、任意の参照ピクチャリスト中のピクチャを識別するために参照インデックスが使用され得る。
【００２３】
[0027]上記のように、動きベクトルデータはまた、水平成分（またはｘ成分）と垂直成分（またはｙ成分）とを含み得る。したがって、動きベクトルは、＜ｘ，ｙ＞のように定義され得る。動きベクトルのｘ成分とｙ成分とを直接コーディングするのではなく、ビデオコーディングデバイスは、動きベクトル予測子に対して動きベクトルをコーディングし得る。動きベクトル予測子は、様々な例では、現在のブロックのための空間ネイバー、時間的に別個のピクチャのコロケートブロック（すなわち、前にコーディングされたピクチャ中のコロケートブロック）、または同じ時間的インスタンスにおける別のビュー中のピクチャのコロケートブロックから選択され得る。時間的に別個のピクチャの動きベクトル予測子は、時間的動きベクトル予測子（ＴＭＶＰ：temporal motion vector predictor）と呼ばれる。
【００２４】
[0028]現在のブロック（たとえば、ＨＥＶＣにおける現在のコーディングユニット（ＣＵ）の現在の予測ユニット（ＰＵ））のためのＴＭＶＰを判断するために、ビデオコーディングデバイスは、コロケートピクチャを最初に識別し得る。「コロケート」ピクチャという用語は、特定のコロケートブロックを含むピクチャを指す。コロケートブロックはまた、ＨＥＶＣのＷＤ６に示されているように、「コロケートパーティション」中に含まれ得る。現在のピクチャがＢスライスである場合、コロケートピクチャがＲｅｆＰｉｃＬｉｓｔ０からのものであるのか、またはＲｅｆＰｉｃＬｉｓｔ１からのものであるかを示すために、現在のピクチャのスライスのスライスヘッダ中でｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇがシグナリングされ得る。参照ピクチャリストが識別された後、ビデオコーディングデバイスは、参照ピクチャリスト中のコロケートピクチャを識別するために、スライスヘッダ中でシグナリングされるｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘを使用し得る。コロケートＰＵは、次いで、コロケートピクチャを確認することによって識別される。現在のＰＵを含んでいるＣＵの右下のＰＵの動きベクトル、またはこのＰＵを含んでいるＣＵの中心のＰＵ内の右下のＰＵの動きベクトルのいずれかが、現在のＰＵのためのＴＭＶＰとして扱われ得る。ＡＭＶＰまたはマージモードの動き候補を生成するために上記のプロセスによって識別された動きベクトルが使用されるとき、動きベクトルは、（参照ピクチャのＰＯＣ値によって反映される）時間的ロケーションに基づいてスケーリングされ得る。本開示の技法によれば、以下で説明するように、ＴＭＶＰは、同じビューからのものであることも、または異なるビューからのものであることもあり得る。
【００２５】
[0029]ＨＥＶＣでは、ピクチャパラメータセット（ＰＰＳ：picture parameter set）は、フラグｅｎａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｆｌａｇを含む。０に等しいｔｅｍｐｏｒａｌ＿ｉｄをもつ特定のピクチャが、０に等しいｅｎａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｆｌａｇを有するＰＰＳを参照するとき、ＤＰＢ中のすべての参照ピクチャは、「時間的動きベクトル予測のために使用されない」としてマークされ得、復号順序でその特定のピクチャの前のピクチャからの動きベクトルは、特定のピクチャの復号または復号順序でその特定のピクチャの後のピクチャの復号において時間的動きベクトル予測子として使用されないことになる。
【００２６】
[0030]Ｈ．２６４／ＡＶＣまたはＨＥＶＣにおいて、Ｐスライスの場合、重み付け予測が可能であるとき、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇを１に設定することによって、予測重みは明示的にシグナリングされる。シンタックス要素ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇはスライスヘッダ中でシグナリングされ、それのセマンティクスは次の通りである。
【００２７】
[0031]いくつかの例では、０に等しいｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇは、重み付け予測がＰスライスに適用されないことになることを指定し得る。１に等しいｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇは、重み付け予測がＰスライスに適用されることになることを指定する。
【００２８】
[0032]Ｂスライスの場合、重み付け予測が使用可能であるとき、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが非ゼロになるように設定することによって、予測重みが明示的にシグナリングされるか、または暗黙的に導出され得る。シンタックスもスライスヘッダ中でシグナリングされ得、それのセマンティクスは次の通りである。
【００２９】
[0033]いくつかの例では、０に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、デフォルト重み付け予測がＢスライスに適用されることを指定する。いくつかの例では、１に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、明示的重み付け予測がＢスライスに適用されることを指定する。いくつかの例では、２に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、暗黙的重み付け予測がＢスライスに適用されることになることを指定する。ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃの値は、両端値を含む０〜２の範囲内にあり得る。
【００３０】
[0034]ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが１に等しいとき、重みは、ＰＯＣ距離を計算することによって、２つの参照フレームの時間的距離に基づいて導出され得る。
【００３１】
[0035]現在のＨＥＶＣ設計は、特に、マルチビューまたは３ＤＶ拡張などの将来の拡張の開発者が高レベルシンタックスの変更のみを行う能力を提供することを希望する場合、そのような拡張の開発を妨げ得る。たとえば、ＴＭＶＰのために使用されるべき参照ピクチャが異なるビューからのものである場合、参照ピクチャは、現在のピクチャと同じＰＯＣを有し得る。動きベクトルスケーリングのためのＨＥＶＣの現在の設計は、このシナリオでは、ＴＭＶＰのために使用される参照ピクチャを正確に識別することができないことがある。暗黙的重み付け予測がＢスライスに適用され、１つの参照ピクチャが異なるビューからのものであるとき、予測重みを計算するプロセスはＰＯＣ距離のみに基づいて設計されているので、プロセスは問題に遭遇し得る。
【００３２】
[0036]本開示の技法はこれらの問題を解決し得る。概して、本開示は、ＭＶＣまたは３ＤＶをサポートするためにＨＥＶＣ設計の上で高レベルシンタックスのみを変更するための技法を提供する。解決策のいくつかは、ＨＥＶＣベースの仕様のためのものであり、したがって、前方互換性のためのものである。ビデオエンコーダまたはビデオデコーダなどのビデオコーダは、本開示の様々な技法のいずれかまたはすべてを単独でまたは任意の組合せで実装するように構成され得る。様々な技法について、以下でより詳細に説明する。
【００３３】
[0037]一例として、ビデオコーダは、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルをコーディングすることとを行うように構成され得る。異なるタイプの動きベクトルは、たとえば、視差動きベクトルと時間的動きベクトルとを備え得る。
【００３４】
[0038]様々な技法のいずれかが、動きベクトルのためのタイプを判断するために使用され得る。たとえば、ビデオコーダは、現在のピクチャと動きベクトルが参照する参照ピクチャとの間でのＰＯＣ値の比較に基づいて動きベクトルのためのタイプ（たとえば、時間的対視差）を判断し得る。ＰＯＣ値が異なる場合、ビデオコーダは、動きベクトルが時間的動きベクトルであると判断し得る。一方、ＰＯＣ値が同じである場合、ビデオコーダは、動きベクトルが視差動きベクトルであると判断し得る。
【００３５】
[0039]別の例として、ビデオコーダは、現在のピクチャと動きベクトルが参照する参照ピクチャとが生じるレイヤ（たとえば、ビューまたはスケーラビリティレイヤ）を比較し得る。現在のピクチャと参照ピクチャとが同じレイヤ中に生じる場合、ビデオコーダは、動きベクトルが時間的動きベクトルであると判断し得る。一方、現在のピクチャと参照ピクチャとが異なるレイヤ中に生じる場合、ビデオコーダは、動きベクトルが視差動きベクトルであると判断し得る。
【００３６】
[0040]また別の例として、ビデオコーダは、動きベクトルが参照する参照ピクチャが長期参照ピクチャであるか、または短期参照ピクチャであるかを判断し得る。参照ピクチャが短期参照ピクチャである場合、ビデオコーダは、動きベクトルが視差動きベクトルであると判断し得る。ただし、参照ピクチャが長期参照ピクチャである場合、ビデオコーダは、動きベクトルが時間的動きベクトルであると判断し得る。
【００３７】
[0041]さらに、本開示のいくつかの技法によれば、現在の動きベクトルが候補動きベクトル予測子とは異なるタイプのものであるとき、ビデオコーダは、候補動きベクトル予測子が利用可能でないと判断するように構成され得る。たとえば、ビデオコーダは、現在の動きベクトルと候補動きベクトル予測子との間でタイプが異なるとき、候補動きベクトル予測子が現在の動きベクトルのための予測子として使用するために利用可能であるかどうかを示す「利用可能」フラグ（または変数）を、候補動きベクトル予測子が利用可能でないことを示す値に設定し得る。
【００３８】
[0042]図１は、動きベクトルをコーディングするための、およびＨＥＶＣと、マルチビューまたは３ＤＶ拡張などのＨＥＶＣの拡張とにおいて双予測を実行するための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを与えるソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００３９】
[0043]宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化されたビデオデータを移動させることができる任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００４０】
[0044]いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００４１】
[0045]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００４２】
[0046]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、動きベクトルをコーディングするための、およびＨＥＶＣと、マルチビューまたは３ＤＶ拡張などのＨＥＶＣの拡張とにおいて双予測を実行するための本技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなど、外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００４３】
[0047]図１の図示のシステム１０は一例にすぎない。動きベクトルをコーディングするための、およびＨＥＶＣと、マルチビューまたは３ＤＶ拡張などのＨＥＶＣの拡張とにおいて双予測を実行するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。さらに、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００４４】
[0048]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００４５】
[0049]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイス１２から符号化されたビデオデータを受信し、宛先デバイス１４に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００４６】
[0050]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００４７】
[0051]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオコーディング規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。同様に、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣ規格の拡張、たとえば、マルチビュー拡張または３次元ビデオ（３ＤＶ）拡張に従って構成され得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４８】
[0052]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書ではＨ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ぶことがある。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００４９】
[0053]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００５０】
[0054]ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００５１】
[0055]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット（ＬＣＵ：largest coding unit）に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるＬＣＵのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００５２】
[0056]４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、かつＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しない場合でも、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。
【００５３】
[0057]ＣＵは、ＣＵがサイズの差異を有さないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、４つの子ノード（サブＣＵとも呼ばれる）に分割され得、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示では、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、もしくはＴＵ、または他の規格のコンテキストにおける同様のデータ構造（たとえば、Ｈ．２６４／ＡＶＣにおけるマクロブロックおよびそれのサブブロック）のいずれかを指すために「ブロック」という用語を使用する。
【００５４】
[0058]ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ：prediction unit）および変換ユニット（ＴＵ：transform unit）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、かつ形状が方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルを有するツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形（たとえば、矩形）であり得る。
【００５５】
[0059]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差クワッドツリー」（ＲＱＴ：residual quad tree）として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
【００５６】
[0060]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分に対応する空間的エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵについてのデータは、ＰＵに対応するＴＵについてのイントラ予測モードを記述するデータを含み得る残差４分木（ＲＱＴ）中に含まれ得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００５７】
[0061]１つまたは複数のＰＵを有するリーフＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上記で説明したように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブＴＵに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、概して、リーフＣＵのすべてのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダ２０は、イントラ予測モードを使用して各リーフＴＵの残差値をＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵはＰＵよりも大きくまたは小さくなり得る。イントラコーディングの場合、ＰＵは、同じＣＵの対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００５８】
[0062]さらに、リーフＣＵのＴＵはまた、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、特に明記しない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００５９】
[0063]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、かつ指定のコーディング規格に応じてサイズが異なり得る。
【００６０】
[0064]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００６１】
[0065]本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列で構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。
【００６２】
[0066]ビデオエンコーダ２０およびビデオデコーダ３０は、本開示の様々な技法のうちの１つまたは複数を単独でまたは任意の組合せで実行するように構成され得る。たとえば、本開示のいくつかの技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、マルチビュービデオコーディング（ＭＶＣ）または３次元ビデオ（３ＤＶ）コーディング、たとえば、Ｈ．２６４／ＡＶＣまたはＨＥＶＣの拡張に関係する様々な技法を実行するように構成され得る。ビデオコーディング規格のＭＶＣおよび／または３ＤＶ拡張は、いくつかの事例では、高レベルシンタックス（ＨＬＳ：high level syntax）の変更を使用して達成され得る。たとえば、新しいコーディング構造を導入するのではなく、いくつかの既存のコーディング構造が、ＨＬＳ限定拡張を達成するために異なる方法で再定義または使用され得る。
【００６３】
[0067]一例として、ＭＶＣおよび３ＤＶ拡張に従ってビデオデータをコーディングするために、ビデオエンコーダ２０およびビデオデコーダ３０は、レイヤ間またはビュー間予測を実行するように構成され得る。すなわち、ビデオエンコーダ２０およびビデオデコーダ３０は、前にコーディングされたビューの前にコーディングされたピクチャのデータを使用して現在のビュー中の現在のピクチャのブロックを予測するように構成され得る。一般に、前にコーディングされたピクチャ（すなわち、ビュー間参照ピクチャ）と現在のピクチャとは、同じピクチャ順序カウント（ＰＯＣ）値を有し、したがって、ビュー間参照ピクチャと現在のピクチャとは、同じアクセスユニット中に生じ、同様に、実質的に同じ出力順序（または表示順序）を有する。
【００６４】
[0068]ビデオエンコーダ２０およびビデオデコーダ３０は、ビュー間予測を使用して現在のピクチャの現在のブロックをコーディングするために視差動きベクトルを利用するように構成され得る。したがって、いくつかの例では、視差動きベクトルは、動きベクトルを使用して予測される現在のブロックを含む現在のピクチャのための現在のＰＯＣ値が、動きベクトルによって参照される参照ピクチャのＰＯＣ値に等しい動きベクトルを備えると言われ得る。したがって、ビデオエンコーダ２０およびビデオデコーダ３０は、動きベクトルによって予測されるブロックのＰＯＣ値が動きベクトルが参照する参照ピクチャのＰＯＣ値に等しいとき、動きベクトルが視差動きベクトルであると判断するように構成され得る。同様に、ビデオエンコーダ２０およびビデオデコーダ３０は、動きベクトルによって予測されるブロックのＰＯＣが動きベクトルが参照する参照ピクチャのＰＯＣ値に等しくないとき、時間的動きベクトルを備えると判断するように構成され得る。
【００６５】
[0069]追加または代替として、ビデオエンコーダ２０およびビデオデコーダ３０は、動きベクトルを使用して予測される現在のブロックを含む現在のピクチャが、動きベクトルによって参照される参照ピクチャとは異なるレイヤ中にあるとき、動きベクトルが視差動きベクトルを備えると判断するように構成され得る。同様に、ビデオエンコーダ２０およびビデオデコーダ３０は、動きベクトルを使用して予測される現在のブロックを含む現在のピクチャが、動きベクトルによって参照される参照ピクチャと同じレイヤ中にあるとき、動きベクトルが時間的動きベクトルを備えると判断するように構成され得る。
【００６６】
[0070]また別の例として、ＨＥＶＣは、長期参照ピクチャを短期参照ピクチャと区別する。ＨＥＶＣの技法では、長期ピクチャは、短期参照ピクチャよりも比較的長く復号ピクチャバッファ（ＤＰＢ）に記憶される。さらに、参照ピクチャが長期参照ピクチャであるのか、または短期参照ピクチャであるのかを示すためにシンタックス要素が使用される。いくつかの例では、ＭＶＣおよび３ＤＶにおいて、長期参照ピクチャが、代わりに、（すなわち、コーディングされている現在のピクチャと同じレイヤまたはビューの）時間的参照ピクチャに対応し得、一方、短期参照ピクチャが、代わりに、（すなわち、コーディングされている現在のピクチャとは異なるレイヤまたはビューの）ビュー間参照ピクチャに対応し得る。したがって、長期参照ピクチャおよび短期参照ピクチャの使用はまた、参照ピクチャが時間的参照ピクチャであるのか、またはビュー間参照ピクチャであるのかの指示を与えることができる。同様に、長期参照ピクチャを参照する動きベクトルは時間的動きベクトルを備え得、一方、短期参照ピクチャを参照する動きベクトルは視差動きベクトルを備え得る。
【００６７】
[0071]本開示のいくつかの技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、異なるタイプの動きベクトルを互いのための動きベクトル予測子として使用することを不可能にするように構成され得る。たとえば、現在の動きベクトルが時間的動きベクトルである場合、ビデオエンコーダ２０およびビデオデコーダ３０は、時間的動きベクトルを予測するために動きベクトル予測子として視差動きベクトルを使用しないように構成され得る。同様に、現在の動きベクトルが視差動きベクトルである場合、ビデオエンコーダ２０およびビデオデコーダ３０は、視差動きベクトルを予測するために動きベクトル予測子として時間的動きベクトルを使用しないように構成され得る。
【００６８】
[0072]ビデオエンコーダ２０およびビデオデコーダ３０は、動きベクトル予測の様々なモードを実行するように構成され得る。一例では、マージモード、ビデオエンコーダ２０およびビデオデコーダ３０は、たとえば、参照ピクチャを選択すべき参照ピクチャリスト、参照リスト中の参照ピクチャを示す参照インデックス、水平動きベクトル成分、および垂直動きベクトル成分など、複数の隣接ブロックのうちのどれから動きパラメータを継承すべきかを表すマージフラグをコーディングするように構成され得る。
【００６９】
[0073]別の例では、高度動きベクトル予測（ＡＭＶＰ）、ビデオエンコーダ２０およびビデオデコーダ３０は、参照ピクチャを選択すべき参照ピクチャリスト、参照ピクチャリスト中の参照ピクチャを示す参照インデックス、動きベクトル差分値、および動きベクトル予測子を選択すべき隣接ブロックを表すＡＭＶＰインデックスの指示をコーディングするように構成され得る。
【００７０】
[0074]マージモードおよび／もしくはＡＭＶＰモード、または他のそのような動きベクトルコーディングモードでは、ビデオエンコーダ２０およびビデオデコーダ３０は、現在のブロックの動きベクトルとは異なるタイプの動きベクトルを使用する隣接ブロックから動き情報を使用しないように構成され得る。すなわち、ビデオエンコーダ２０およびビデオデコーダ３０は、現在の動きベクトルのための第１のタイプと候補動きベクトル予測子のための第２のタイプとを判断し、第１のタイプが第２のタイプと同じでない場合、現在の動きベクトルのための動きベクトル予測子として候補動きベクトル予測子を使用することを不可能にするように構成され得る。
【００７１】
[0075]候補動きベクトル予測子を使用不可にするために、ビデオエンコーダ２０およびビデオデコーダ３０は、候補動きベクトル予測子が現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であるかどうかを表す変数を設定し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、候補動きベクトル予測子が利用可能であることを示した他の条件に基づいて候補動きベクトル予測子が利用可能であると前に見なされた場合でも、候補動きベクトル予測子が利用可能でないことを示すようにこの変数の値を設定し得る。たとえば、以下でより詳細に説明するように、ビデオエンコーダ２０およびビデオデコーダ３０は、候補動きベクトル予測子に変数を関連付け得、変数の値は、候補動きベクトル予測子が現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であるかどうかを示す。
【００７２】
[0076]特に、ビデオエンコーダ２０は、現在の動きベクトルを予測するために使用するために利用可能である動きベクトル予測子のセットを判断するように構成され得る。ビデオデコーダ３０はまた、そのようなセットを構成するように構成され得、代替的に、ビデオエンコーダ２０は、利用可能である動きベクトル予測子のセットをシグナリングし得る。いずれの場合も、ビデオエンコーダ２０およびビデオデコーダ３０は、利用可能な動きベクトル予測子のセットを判断し、現在の動きベクトルをコーディングするために使用するために実際の動きベクトル予測子として動きベクトル予測子のセットのうちの１つを選択し得る。
【００７３】
[0077]ＡＭＶＰモードでは、ビデオエンコーダ２０は、現在の動きベクトルと動きベクトル予測子との間の動きベクトル差分値を計算し、動きベクトル差分値をコーディングし得る。同様に、ビデオデコーダ３０は、現在の動きベクトル（すなわち、ビデオデータの現在のブロック、たとえば、現在のＰＵのための動きベクトル）を再構成するために、動きベクトル差分値を判断された動きベクトル予測子と組み合わせ得る。マージモードでは、実際の動きベクトル予測子は、現在の動きベクトルとして使用され得る。したがって、マージモードでは、ビデオエンコーダ２０およびビデオデコーダ３０は、動きベクトル差分値を０値であるものとして扱い得る。
【００７４】
[0078]本開示のいくつかの技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、１つまたは複数の候補動きベクトル予測子が現在の動きベクトルとは異なるタイプを有するかどうかに基づいて、候補動きベクトル予測子のリスト中の１つまたは複数の候補動きベクトル予測子（それらの候補動きベクトル予測子のいずれかまたはすべてが他の基準に基づいて利用可能であると前に判断されていることがある）が現在の動きベクトルを予測するために利用不可能であるかどうかを判断するように構成され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、さらに、たとえば、利用不可能な候補動きベクトル予測子のための利用可能なフラグ（または変数）を利用不可能な候補動きベクトル予測子が利用不可能であることを示す値に設定することによって、利用不可能であると判断された候補動きベクトル予測子を使用して動きベクトル予測を使用不可にするように構成され得る。
【００７５】
[0079]追加または代替として、利用可能な候補動きベクトル予測子のセットから動きベクトル予測子を選択した後に、ビデオエンコーダ２０およびビデオデコーダ３０は、選択された動きベクトル予測子が視差動きベクトルであるかどうか（すなわち、選択された動きベクトル予測子がビュー間参照ピクチャを参照するかどうか）を判断するように構成され得る。そうである場合、ビデオエンコーダ２０およびビデオデコーダ３０は、現在の動きベクトルをコーディングするときに動きベクトル予測子のスケーリングを使用不可にし得る。すなわち、現在の動きベクトルと動きベクトル予測子とがどちらも視差動きベクトルである（すなわち、ビュー間参照ピクチャを参照する）と仮定すると、（ビュー間参照ピクチャは、概して、コーディングされている現在のピクチャと同じアクセスユニット内に生じるので）現在のピクチャと（１つまたは複数の）ビュー間参照ピクチャとの間のＰＯＣ値の差分が０になることになり、したがって、スケーリングは必要ない。さらに、動きベクトル予測子をスケーリングしようと試みることは誤りを生じることがあり、その誤りは、本開示の技法によれば、スケーリングを使用不可にすることによって回避され得る。
【００７６】
[0080]いくつかの例では、ＨＥＶＣのＭＶＣまたは３ＤＶ拡張では、ｅｎａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｆｌａｇは、任意のアクティブＰＰＳについて常に０に設定される。すなわち、ビデオエンコーダ２０は、ＨＥＶＣのＭＶＣまたは３ＤＶ拡張においてアクティブＰＰＳのｅｎａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｆｌａｇを０に設定するように構成され得る。同様に、ビデオデコーダ３０は、ｅｎａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｆｌａｇを復号するか、またはＨＥＶＣのＭＶＣまたは３ＤＶ拡張に準拠するビットストリームを復号するときに、ｅｎａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｆｌａｇの０の値を推論するように構成され得る。
【００７７】
[0081]いくつかの例では、ＨＥＶＣのＭＶＣまたは３ＤＶ拡張では、ビデオエンコーダ２０およびビデオデコーダ３０は、高レベルシンタックス（ＨＬＳ）の変更のみを有するプロファイル中に、コロケートピクチャが異なるビューからの参照ピクチャに決して対応しない方法でｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値を設定する。さらに、ビデオエンコーダ２０およびビデオデコーダ３０は、コロケートピクチャのフレキシビリティをより大きくするために低レベルの変更を利用するプロファイルを使用可能にするというＨＥＶＣのＭＶＣまたは３ＤＶ拡張のための指示を表すデータをコーディングするように構成され得る。
【００７８】
[0082]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣに従ってコーディングされるスライスのスライスヘッダ中で、ＴＭＶＰ中に識別されたコロケートピクチャの動きベクトルのスケーリングを明示的に使用不可にするという指示を表すデータをコーディングするように構成され得る。そのようなコロケートピクチャは、「時間的動きベクトル予測のために使用されない」とマークされ得る。
【００７９】
[0083]いくつかの例では、ＨＥＶＣでは、ビデオエンコーダ２０およびビデオデコーダ３０は、隣接ブロックの動きベクトルが現在の参照インデックスとは異なる参照インデックスを有し、さらに現在の参照ピクチャのピクチャ順序カウント（ＰＯＣ）値とは異なるＰＯＣ値を有するとき、高度動きベクトル予測中に動きベクトルスケーリングを使用不可にし得る。ビデオエンコーダ２０およびビデオデコーダ３０は、スライスヘッダ、適応パラメータセット（ＡＰＳ：adaptation parameter set）、ピクチャパラメータセット（ＰＰＳ：picture parameter set）、シーケンスパラメータセット（ＳＰＳ：sequence parameter set）、ビデオパラメータセット（ＶＰＳ：video parameter set）、または他のデータ構造中で、ＡＭＶＰを使用不可にすることがオンであるのかまたはオフであるのかをシグナリングするという指示を表すデータをコーディングするように構成され得る。
【００８０】
[0084]いくつかの例では、ＨＥＶＣでは、ビデオエンコーダ２０およびビデオデコーダ３０は、この動きベクトルと予測されるべき動きベクトルのうちの１つ、およびただ１つが、現在のピクチャと同じＰＯＣ値を有するピクチャからのものであるとき、空間的に隣接するブロックからの動きベクトルを利用不可能なものとして判断し得る。そのような技法は、ＡＭＶＰおよびマージモードのいずれかまたは両方に適用され得る。代替的に、そのような技法は、ＡＭＶＰおよびマージモードの時間的動きベクトル予測（ＴＭＶＰ）態様にのみ適用され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、この技法を使用可能または使用不可にするという指示を表すデータをスライスヘッダ、ＡＰＳ、ＳＰＳ、ＰＰＳ、またはＶＰＳ中でコーディングし得る。
【００８１】
[0085]ＨＥＶＣを用いるいくつかの例では、参照インデックスが異なるビュー／レイヤからのピクチャを指す動きベクトルは、予測されるべき動きベクトルの参照インデックスが（同じビュー／レイヤからの）時間的参照ピクチャを指すとき、動きベクトル予測子として使用するために利用不可能なものと見なされ得る。これは、ＡＭＶＰモードとマージモードの両方に適用され得る。代替的に、これは、ＡＭＶＰおよびマージモードのＴＭＶＰ部分にのみ適用され得る。
【００８２】
[0086]いくつかの例では、ＨＥＶＣでは、ビデオエンコーダ２０およびビデオデコーダ３０は、コロケートピクチャがＴＭＶＰ中にコロケートピクチャとして識別されるときに特定の参照ピクチャセット（ＲＰＳ）サブセットからのコロケートピクチャが動きベクトルスケーリングのために使用されることになるかどうかをシグナリングするという各ＲＰＳサブセットのための指示を表すデータをコーディングし得る。ＲＰＳサブセット中の各ピクチャは、「時間的動きベクトル予測のために使用されない」とマークされ得る。
【００８３】
[0087]いくつかの例では、ＨＥＶＣでは、ビデオエンコーダ２０およびビデオデコーダ３０は、空間的に隣接する動きベクトルと予測されるべき動きベクトルとが同じ指示を有するＲＰＳサブセットに属する場合、特定のＲＰＳサブセット中のピクチャからの空間的に隣接する動きベクトル予測がＡＭＶＰ中に利用不可能なものと見なされることになるかどうかをシグナリングするという各ＲＰＳサブセットのための指示を表すデータをコーディングし得る。
【００８４】
[0088]いくつかの例では、ＨＥＶＣでは、ビデオエンコーダ２０およびビデオデコーダ３０は、ＲｅｆＰｉｃＬｉｓｔ０とＲｅｆＰｉｃＬｉｓｔ１との中のいくつかの参照ピクチャペアについて、ペア中の参照ピクチャのいずれかがＰＵの重み付け双予測のために使用される場合、重みが両方の参照ピクチャに対して同じになり得るように、Ｂスライスの暗黙的重み付け予測の新しいタイプを表すデータをコーディングし得る。ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１からのピクチャの他の組合せについては、ＨＥＶＣまたはＨ．２６４／ＡＶＣにおける現在の暗黙的重み付け予測が適用され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、スライスヘッダ中でどの組合せが使用可能または使用不可にされるかを表すデータをコーディングし得る。
【００８５】
[0089]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、通常の（すなわち、時間的）動きベクトルを予測するために視差動きベクトルを使用せず、かつ視差動きベクトルを予測するために時間的動きベクトルを使用しないように構成され得る。さらに、ビデオエンコーダ２０およびビデオデコーダ３０は、視差動きベクトルをスケーリングしないように構成され得る。いくつかの例では、現在のＰＵの１つまたは２つの参照ピクチャがビュー間参照ピクチャであり、暗黙的重み付け予測モードがオンにされるとき、現在のＰＵのこれらの２つの参照ピクチャのための重みは同じ（たとえば、１／２、１／２）になるように設定され得る。
【００８６】
[0090]いくつかの例では、ＲＰＳサブセットの特性の導出として、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒおよびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌの各ＲＰＳサブセットについて、ビデオコーダは、ＲｅｆＴｙｐｅＩｄｃが０に等しくなると導出し得る。ＲＰＳサブセット中に含まれる各ピクチャは、ＲＰＳサブセットのＲｅｆＴｙｐｅＩｄｃに等しくなるように設定されたＲｅｆＰｉｃＴｙｐｅＩｄｃを有し得る。ＨＥＶＣの潜在的なＭＶＣ拡張におけるこれの例示的な使用として、ＩｎｔｅｒＶｉｅｗＲＰＳサブセットは、１に等しいＲｅｆＴｙｐｅＩｄｃを有するように設定され得る。
【００８７】
[0091]本開示は、引数として関数にパスされる参照ピクチャ「ｐｉｃ」のＲｅｆＰｉｃＴｙｐｅＩｄｃ値を戻す関数ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ｐｉｃ）を定義する。この関数は、たとえば、参照ビデオデータとして使用するために前に符号化されたビデオデータを復号するときにビデオエンコーダ２０によって、またはビデオ復号プロセス中にビデオデコーダ３０によって復号プロセスの一部として実行され得る。
【００８８】
[0092]本開示はまた、動きベクトル予測子候補のための導出プロセスのための技法を提供する。ビデオエンコーダ２０およびビデオデコーダ３０などのビデオコーダは、従来のＨＥＶＣのプロシージャに加えて、またはその代替として、以下のプロシージャを使用して動きベクトルｍｖＬＸＡおよび利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＡを導出し得る。ａｖａｉｌａｂｌｅＦｌａｇＬＸＡが０に等しいとき、（ｘＡ0，ｙＡ0）から（ｘＡ1，ｙＡ1）までの（ｘＡk，ｙＡk）、ただし、ｙＡ1＝ｙＡ0−ＭｉｎＰｕＳｉｚｅについて、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡが１に等しくなるまで、以下が繰り返し適用され得る（この例では、フォーマット＃−＃＃＃の数字は次回のＨＥＶＣ規格の特定のセクションを指す）。
【００８９】
・ルーマロケーション（ｘＡｋ，ｙＡｋ）をカバーする予測ユニットが利用可能である場合、ＰｒｅｄＭｏｄｅはＭＯＤＥ＿ＩＮＴＲＡではなく、ｐｒｅｄＦｌａｇＬＸ［ｘＡｋ］［ｙＡｋ］は１に等しく、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡは１に等しくなるように設定され、動きベクトルｍｖＬＸＡは動きベクトルｍｖＬＸ［ｘＡｋ］［ｙＡｋ］に等しくなるように設定され、ｒｅｆＩｄｘＡはｒｅｆＩｄｘＬＸ［ｘＡｋ］［ｙＡｋ］に等しくなるように設定され、ＬｉｓｔＡはＬＸに等しくなるように設定される。
【００９０】
・そうではなく、ルーマロケーション（ｘＡｋ，ｙＡｋ）をカバーする予測ユニットが利用可能である場合、ＰｒｅｄＭｏｄｅはＭＯＤＥ＿ＩＮＴＲＡではなく、ｐｒｅｄＦｌａｇＬＹ［ｘＡｋ］［ｙＡｋ］（ここで、Ｙ＝！Ｘ）は１に等しく、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡは１に等しくなるように設定され、動きベクトルｍｖＬＸＡは動きベクトルｍｖＬＹ［ｘＡｋ］［ｙＡｋ］に等しくなるように設定され、ｒｅｆＩｄｘＡはｒｅｆＩｄｘＬＹ［ｘＡｋ］［ｙＡｋ］に等しくなるように設定され、ＬｉｓｔＡはＬＹに等しくなるように設定される。
【００９１】
・ａｖａｉｌａｂｌｅＦｌａｇＬＸＡが１に等しく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬｉｓｔＡ（ｒｅｆＩｄｘＡ））がＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））に等しくない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡは０に設定される。
【００９２】
・ａｖａｉｌａｂｌｅＦｌａｇＬＸＡが１に等しく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬｉｓｔＡ（ｒｅｆＩｄｘＡ））およびＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））がどちらも０に等しいとき、ｍｖＬＸＡは以下で指定するように導出され得る。
【数１】
2015514342.tif 000003
【数２】
2015514342.tif 000004
【数３】
2015514342.tif 000005
【００９３】
ただし、ｔｄおよびｔｂは、次のように導出され得る。
【数４】
2015514342.tif 000006
【数５】
2015514342.tif 000007
【００９４】
・ａｖａｉｌａｂｌｅＦｌａｇＬＸＡが１に等しく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬｉｓｔＡ（ｒｅｆＩｄｘＡ））およびＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））がどちらも０でない値に等しいとき、ｍｖＬＡＸはスケーリングなしにｍｖＬＸＡに設定される。
【００９５】
[0093]ビデオエンコーダ２０およびビデオデコーダ３０などのビデオコーダは、従来のＨＥＶＣのプロシージャに加えて、またはその代替として、以下のプロシージャを使用して動きベクトルｍｖＬＸＢおよび利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＢを導出し得る。ｉｓＳｃａｌｅｄＦｌａｇＬＸが０に等しく、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢが０に等しくなるように設定され得るとき、（ｘＢ0，ｙＢ0）から（ｘＢ2，ｙＢ2）までの（ｘＢk，ｙＢk）、ただし、ｘＢ0＝ｘＰ＋ｎＰＳＷ、ｘＢ1＝ｘＢ0−ＭｉｎＰｕＳｉｚｅ、およびｘＢ2＝ｘＰ−ＭｉｎＰｕＳｉｚｅについて、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢが１に等しくなるまで、以下は繰り返し適用され得る。
【００９６】
・ルーマロケーション（ｘＢｋ，ｙＢｋ）をカバーする予測ユニットが利用可能である場合、ＰｒｅｄＭｏｄｅはＭＯＤＥ＿ＩＮＴＲＡではなく、ｐｒｅｄＦｌａｇＬＸ［ｘＢｋ］［ｙＢｋ］は１に等しく、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢは１に等しくなるように設定され、動きベクトルｍｖＬＸＢは動きベクトルｍｖＬＸ［ｘＢｋ］［ｙＢｋ］に等しくなるように設定され、ｒｅｆＩｄｘＢはｒｅｆＩｄｘＬＸ［ｘＢｋ］［ｙＢｋ］に等しくなるように設定され、ＬｉｓｔＢはＬＸに等しくなるように設定される。
【００９７】
・そうではなく、ルーマロケーション（ｘＢｋ，ｙＢｋ）をカバーする予測ユニットが利用可能である場合、ＰｒｅｄＭｏｄｅはＭＯＤＥ＿ＩＮＴＲＡではなく、ｐｒｅｄＦｌａｇＬＹ［ｘＢｋ］［ｙＢｋ］（ここで、Ｙ＝！Ｘ）は１に等しく、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢは１に等しくなるように設定され、動きベクトルｍｖＬＸＢは動きベクトルｍｖＬＹ［ｘＢｋ］［ｙＢｋ］に等しくなるように設定され、ｒｅｆＩｄｘＢはｒｅｆＩｄｘＬＹ［ｘＢｋ］［ｙＢｋ］に等しくなるように設定され、ＬｉｓｔＢはＬＹに等しくなるように設定される。
【００９８】
・ａｖａｉｌａｂｌｅＦｌａｇＬＸＡが１に等しく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬｉｓｔＢ（ｒｅｆＩｄｘＢ））がＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））に等しくない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢは０に設定される。
【００９９】
・ａｖａｉｌａｂｌｅＦｌａｇＬＸＢが１に等しく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬｉｓｔＡ（ｒｅｆＩｄｘＡ））およびＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））がどちらも０に等しく、ＰｉｃＯｒｄｅｒＣｎｔ（ＲｅｆＰｉｃＬｉｓｔＬｉｓｔＢ（ｒｅｆＩｄｘＢ））がＰｉｃＯｒｄｅｒＣｎｔ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））に等しくないとき、ｍｖＬＸＢは以下で指定するように導出される。
【数６】
2015514342.tif 000008
【数７】
2015514342.tif 000009
【数８】
2015514342.tif 000010
【０１００】
ただし、ｔｄおよびｔｂは、次のように導出され得る。
【数９】
2015514342.tif 000011
【数１０】
2015514342.tif 000012
【０１０１】
・ａｖａｉｌａｂｌｅＦｌａｇＬＸＢが１に等しく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬｉｓｔＢ（ｒｅｆＩｄｘＢ））およびＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））がどちらも０でない値に等しいとき、ｍｖＬＡＸはスケーリングなしにｍｖＬＸＡに設定される。
【０１０２】
[0094]ビデオエンコーダ２０およびビデオデコーダ３０などのビデオコーダは、本開示の技法によれば、時間的ルーマ動きベクトル予測子を導出し得る。たとえば、ビデオコーダは、変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌを次のように導出し得る。
【０１０３】
・以下の条件のうちの１つが真である場合、ｍｖＬＸＣｏｌの両方の成分は０に等しくなるように設定され得、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは０に等しくなるように設定され得る。
【０１０４】
○  ｃｏｌＰｕがイントラ予測モードでコーディングされる。
【０１０５】
○  ｃｏｌＰｕが「利用不可能である」とマークされている。
【０１０６】
○  ｃｏｌＰｉｃが「時間的動きベクトル予測のために使用されない」とマークされている。
【０１０７】
○  ｅｎａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｆｌａｇが０に等しい。
【０１０８】
・そうでない場合、動きベクトルｍｖＣｏｌ、参照インデックスｒｅｆＩｄｘＣｏｌ、および参照リスト識別子ｌｉｓｔＣｏｌは次のように導出され得る。
【０１０９】
○  ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ１に等しくなるように設定され得る。
【０１１０】
○  そうでない場合（ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下が適用され得る。
【０１１１】
・ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ０に等しくなるように設定され得る。
【０１１２】
・そうでない場合（ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下の割当てが行われ得る。
【０１１３】
・あらゆる参照ピクチャリスト中のあらゆるピクチャｐｉｃのＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌ以下である場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬＸに等しくなるように設定され得、ただし、Ｘは、このプロセスが呼び出されるＸの値である。
【０１１４】
・そうでない場合（少なくとも１つの参照ピクチャリスト中の少なくとも１つのピクチャｐｉｃのＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌよりも大きい）、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌおよびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］およびＬＮに等しくなるように設定され得、ただし、Ｎは、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値である。
【０１１５】
また、変数ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが１に等しくなるように設定され得、以下が適用され得る。
【０１１６】
・ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））がＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ｌｉｓｔＣｏｌ（ｒｅｆＩｄｘＣｏｌ））に等しくない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは０に等しくなるように設定される。ｌｉｓｔＣｏｌ（ｒｅｆＩｄｘＣｏｌ）が時間的動きベクトルの参照ピクチャを戻すことに留意されたい。
【０１１７】
○  ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが１であり、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））およびＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ｌｉｓｔＣｏｌ（ｒｅｆＩｄｘＣｏｌ））がいずれも０でない値に等しい場合、またはＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ）−ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｏｌＰｉｃ，ｒｅｆＩｄｘＣｏｌ，ｌｉｓｔＣｏｌ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌ−ＰｉｃＯｒｄｅｒＣｎｔ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））に等しい場合、以下のようになる。
【数１１】
2015514342.tif 000013
【０１１８】
○  そうではなく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬＸ（ｒｅｆＩｄｘＬＸ））およびＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ｌｉｓｔＣｏｌ（ｒｅｆＩｄｘＣｏｌ）がいずれも０に等しい場合、ｍｖＬＸＣｏｌは、以下で指定するように動きベクトルｍｖＣｏｌのスケーリングされたバージョンとして導出され得る。
【数１２】
2015514342.tif 000014
【数１３】
2015514342.tif 000015
【数１４】
2015514342.tif 000016
【０１１９】
ただし、ｔｄおよびｔｂは、次のように導出され得る。
【数１５】
2015514342.tif 000017
【数１６】
2015514342.tif 000018
【０１２０】
[0095]本明細書で説明する変数は、暗黙的重み付け予測のために導出され得る。
【０１２１】
[0096]本開示はまた、ビデオエンコーダ２０およびビデオデコーダ３０が実行するように構成された重み付けサンプル予測プロセスのための技法を提供する。プロセスへの入力は以下を含み得る。
【０１２２】
・現在のコーディングユニットの左上サンプルに対する現在の予測ユニットの左上サンプルを指定するロケーション（ｘＢ，ｙＢ）、
・この予測ユニットの幅および高さ、ｎＰＳＷおよびｎＰＳＨ、
・２つの（ｎＰＳＷ）ｘ（ｎＰＳＨ）アレイ、ｐｒｅｄＳａｍｐｌｅｓＬ０およびｐｒｅｄＳａｍｐｌｅｓＬ１、
・予測リスト利用フラグ、ｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１、
・参照インデックス、ｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、
・動きベクトル、ｍｖＬ０およびｍｖＬ１、
・クロマ成分のビット深度、ｂｉｔＤｅｐｔｈ。
【０１２３】
[0097]このプロセスの出力は以下を含み得る。
【０１２４】
・予測サンプル値の（ｎＰＳＷ）ｘ（ｎＰＳＨ）アレイ、ｐｒｅｄＳａｍｐｌｅｓ。
【０１２５】
[0098]一例では、変数ｓｈｉｆｔ１、ｓｈｉｆｔ２、ｏｆｆｓｅｔ１、およびｏｆｆｓｅｔ２は次のように導出される。
【０１２６】
・変数ｓｈｉｆｔ１は１４−ｂｉｔＤｅｐｔｈに等しくなるように設定され、変数ｓｈｉｆｔ２は１５−ｂｉｔＤｅｐｔｈに等しくなるように設定され、
・変数ｏｆｆｓｅｔ１は１＜＜（ｓｈｉｆｔ１−１）に等しくなるように設定され、変数ｏｆｆｓｅｔ２は１＜＜（ｓｈｉｆｔ２−１）に等しくなるように設定される。
【０１２７】
[0099]Ｐスライスでは、ｐｒｅｄＦｌａｇＬ０の値が１に等しい場合、以下が適用され得る。
【０１２８】
・ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇが０に等しい場合、８．５．２．２．３．１項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
【０１２９】
・そうでない場合（ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇが１に等しい）、８．５．２．２．３．２項に記載されている明示的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
【０１３０】
・Ｂスライスでは、ｐｒｅｄＦｌａｇＬ０またはｐｒｅｄＦｌａｇＬ１が１に等しい場合、以下が適用され得る。
【０１３１】
・ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが０に等しい場合、８．５．２．２．３．１項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
【０１３２】
・そうではなく、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが１に等しい場合、およびｐｒｅｄＦｌａｇＬ０またはｐｒｅｄＦｌａｇＬ１が１に等しい場合、８．５．２．２．３．２項に記載されている明示的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
【０１３３】
・そうでない場合（ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが２に等しい）、以下が適用され得る。
【０１３４】
○  ｐｒｅｄＦｌａｇＬ０が１に等しく、ｐｒｅｄＦｌａｇＬ１が１に等しく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬ０（ｒｅｆＩｄｘＬ０））とＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬ１（ｒｅｆＩｄｘＬ１））の両方が０に等しい場合、現在のＨＥＶＣワーキングドラフトの８．５．２．２．３．２項に記載されている暗黙的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
【０１３５】
○  そうでない場合（ｐｒｅｄＦｌａｇＬ０またはｐｒｅｄＦｌａｇＬ１が１に等しいが両方ではない）、８．５．２．２．３．１項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
【０１３６】
[0100]本開示はまた、デフォルト重み付けサンプル予測プロセスのための技法を提供する。このプロセスへの入力およびこのプロセスからの出力は、重み付けされたサンプル予測プロセスについて上記で説明したものと同じであり得る。ｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１の値に応じて、予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ，ｙ］、ただし、ｘ＝０．．（ｎＰＳＷ）−１およびｙ＝０．．（ｎＰＳＨ）−１、は次のように導出され得る。
【０１３７】
・ｐｒｅｄＦｌａｇＬ０が１に等しく、ｐｒｅｄＦｌａｇＬ１が０に等しい場合、次のようになる。
【数１７】
2015514342.tif 000019
【０１３８】
・そうではなく、ｐｒｅｄＦｌａｇＬ０が０に等しく、ｐｒｅｄＦｌａｇＬ１が１に等しい場合、次のようになる。
【数１８】
2015514342.tif 000020
【０１３９】
・そうでない場合（ｐｒｅｄＦｌａｇＬ０とｐｒｅｄＦｌａｇＬ１の両方が１に等しい）、ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ，ｒｅｆＩｄｘＬ０，Ｌ０）がＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ，ｒｅｆＩｄｘＬ１，Ｌ１）に等しく、ｍｖＬ０がｍｖＬ１に等しく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬ０（ｒｅｆＩｄｘＬ０））とＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬ１（ｒｅｆＩｄｘＬ１））の両方が０に等しい場合、次のようになる。
【数１９】
2015514342.tif 000021
【０１４０】
・そうでない場合、次のようになる。
【数２０】
2015514342.tif 000022
【０１４１】
[0101]別の例では、重み付け予測は次のように実行され得る。新しいタイプの暗黙的重み付けが実行され得、それは、修正暗黙的重み付け予測に対応し得る。以下の変更が、ピクチャパラメータセットＲＢＳＰセマンティクスにおいて行われ得る。
【０１４２】
[0102]０に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、デフォルト重み付け予測がＢスライスに適用されることを指定し得る。１に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、明示的重み付け予測がＢスライスに適用されることを指定し得る。２に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、暗黙的重み付け予測がＢスライスに適用されることになることを指定し得る。３に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、制約付き暗黙的重み付け予測がＢスライスに適用されることを指定し得る。ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃの値は、両端値を含む０〜３の範囲内にあり得る。
【０１４３】
[0103]いくつかの例では、本開示の技法は、たとえば、復号プロセス中に実行される以下の重み付きサンプル予測プロセスを含み得る。重み付けサンプル予測プロセスへの入力は以下を含み得る。
【０１４４】
・現在のコーディングユニットの左上サンプルに対する現在の予測ユニットの左上サンプルを指定するロケーション（ｘＢ，ｙＢ）、
・この予測ユニットの幅および高さ、ｎＰＳＷおよびｎＰＳＨ、
・２つの（ｎＰＳＷ）ｘ（ｎＰＳＨ）アレイ、ｐｒｅｄＳａｍｐｌｅｓＬ０およびｐｒｅｄＳａｍｐｌｅｓＬ１、
・予測リスト利用フラグ、ｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１、
・参照インデックス、ｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、
・動きベクトル、ｍｖＬ０およびｍｖＬ１、
・クロマ成分のビット深度、ｂｉｔＤｅｐｔｈ。
【０１４５】
[0104]このプロセスの出力は以下を含み得る。
【０１４６】
・予測サンプル値の（ｎＰＳＷ）ｘ（ｎＰＳＨ）アレイ、ｐｒｅｄＳａｍｐｌｅｓ。
【０１４７】
[0105]変数ｓｈｉｆｔ１、ｓｈｉｆｔ２、ｏｆｆｓｅｔ１およびｏｆｆｓｅｔ２は、次のように導出され得る。
【０１４８】
・変数ｓｈｉｆｔ１は１４−ｂｉｔＤｅｐｔｈに等しくなるように設定され、変数ｓｈｉｆｔ２は１５−ｂｉｔＤｅｐｔｈに等しくなるように設定される、
・変数ｏｆｆｓｅｔ１は１＜＜（ｓｈｉｆｔ１−１）に等しくなるように設定され、変数ｏｆｆｓｅｔ２は１＜＜（ｓｈｉｆｔ２−１）に等しくなるように設定される。
【０１４９】
[0106]Ｐスライスでは、ｐｒｅｄＦｌａｇＬ０の値が１に等しい場合、以下が適用され得る。
【０１５０】
・ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇが０に等しい場合、現在のＨＥＶＣワーキングドラフトの８．５．２．２．３．１項に記載されているデフォルト重み付けサンプル予測プロセスが、この項、たとえば、４．２．２項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
【０１５１】
・そうでない場合（ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇが１に等しい）、現在のＨＥＶＣワーキングドラフトの８．５．２．２．３．２項に記載されている明示的重み付けサンプル予測プロセスが、この項、たとえば、４．２．２項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
【０１５２】
[0107]Ｂスライスでは、ｐｒｅｄＦｌａｇＬ０またはｐｒｅｄＦｌａｇＬ１が１に等しい場合、以下が適用され得る。
【０１５３】
・ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが０に等しい場合、現在のＨＥＶＣワーキングドラフトの８．５．２．２．３．１項に記載されているデフォルト重み付けサンプル予測プロセスが、この項、たとえば、４．２．２項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
【０１５４】
・そうではなく、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが１に等しい場合、およびｐｒｅｄＦｌａｇＬ０またはｐｒｅｄＦｌａｇＬ１が１に等しい場合、現在のＨＥＶＣワーキングドラフトの８．５．２．２．３．２項に記載されている明示的重み付けサンプル予測プロセスが、この項、たとえば、４．２．２項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
【０１５５】
・そうではなく、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが２に等しい場合、以下が適用され得る。
【０１５６】
○  ｐｒｅｄＦｌａｇＬ０が１に等しく、ｐｒｅｄＦｌａｇＬ１が１に等しい場合、現在のＨＥＶＣワーキングドラフトの８．５．２．２．３．２項に記載されている暗黙的重み付けサンプル予測プロセスが、この項、たとえば、４．２．２項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
【０１５７】
○  そうでない場合（ｐｒｅｄＦｌａｇＬ０またはｐｒｅｄＦｌａｇＬ１が１に等しいが両方ではない）、現在のＨＥＶＣワーキングドラフトの８．５．２．２．３．１項に記載されているデフォルト重み付けサンプル予測プロセスが、この項、たとえば、４．２．２項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
【０１５８】
・そうでない場合（ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが３に等しい）、以下が適用され得る。
【０１５９】
○  ｐｒｅｄＦｌａｇＬ０が１に等しく、ｐｒｅｄＦｌａｇＬ１が１に等しく、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬ０（ｒｅｆＩｄｘＬ０））とＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ＲｅｆＰｉｃＬｉｓｔＬ１（ｒｅｆＩｄｘＬ１））の両方が０に等しい場合、現在のＨＥＶＣワーキングドラフトの８．５．２．２．３．２項に記載されている暗黙的重み付けサンプル予測プロセスが、この項、たとえば、４．２．２項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
【０１６０】
○  そうでない場合（ｐｒｅｄＦｌａｇＬ０またはｐｒｅｄＦｌａｇＬ１が１に等しいが両方が１に等しくはない）、現在のＨＥＶＣワーキングドラフトの８．５．２．２．３．１項に記載されているデフォルト重み付けサンプル予測プロセスが、この項、たとえば、４．２．２項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
【０１６１】
[0108]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＡＭＶＰについてスケーリングされている空間的に隣接するブロックのスケーリングを使用不可にするというフラグをコーディングするように構成され得る。以下の表１に、このフラグについての例示的なシーケンスパラメータセットＲＢＳＰシンタックスを与える。
【表１】
2015514342.tif 000023
【０１６２】
[0109]概して、表２のシーケンスパラメータセットのセマンティクスは現在のＨＥＶＣワーキングドラフトについては同じままである。ただし、表２は、使用不可空間ＭＶ  ＰＯＣスケーリングフラグを導入する。この追加についてのセマンティクスの様々な例を以下に与える。
【０１６３】
[0110]この例では、０に等しいｄｉｓａｂｌｅ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｏｃ＿ｓｃａｌｉｎｇ＿ｆｌａｇは、ターゲット動きベクトルが異なる参照インデックスまたは異なるＰＯＣをもつピクチャに対応するとき、空間動きベクトルがＰＯＣに基づいてスケーリングされるべきであることを示す。この例では、１に等しいｄｉｓａｂｌｅ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｏｃ＿ｓｃａｌｉｎｇ＿ｆｌａｇは、空間動きベクトルの参照インデックスがターゲット動きベクトルとは異なるときにこの動きベクトルが利用不可能なものと見なされることを示す。ターゲット動きベクトルがＡＭＶＰの下で予測されるべき動きベクトルであることに留意されたい。
【０１６４】
[0111]代替的に、１に等しいｄｉｓａｂｌｅ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｏｃ＿ｓｃａｌｉｎｇ＿ｆｌａｇは、この動きベクトルの参照インデックスがターゲット動きベクトルの参照インデックスとは異なり、この動きベクトルの参照ピクチャのＰＯＣがターゲット動きベクトルのＰＯＣとは異なるときに空間動きベクトルが利用不可能なものと見なされることを示し得る。
【０１６５】
[0112]代替的に、ｄｉｓａｂｌｅ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｏｃ＿ｓｃａｌｉｎｇ＿ｆｌａｇは、特定のＰＰＳ、ＡＰＳ、またはスライスヘッダが適用可能であり得るピクチャに対して同じ機能を示すために、ＰＰＳ、ＡＰＳ、またはスライスヘッダ中に追加され得る。
【０１６６】
[0113]また別の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、マルチビューまたは３ＤＶコンテキストの下でのＳＰＳ中で、時間的動きベクトル予測（ＴＭＶＰ）のためのビュー間動きベクトル（たとえば、視差動きベクトル）の使用を使用不可にするというフラグをコーディングするように構成され得る。以下の表２に、本開示のいくつかの技法による、例示的なシーケンスパラメータセットローバイトシーケンスペイロード（ＲＢＳＰ）を与える。
【表２】
2015514342.tif 000024
【０１６７】
[0114]概して、表２のシーケンスパラメータセットのセマンティクスは現在のＨＥＶＣワーキングドラフトについては同じままである。ただし、表２は、ｂｉｔ＿ｅｑｕａｌ＿ｏｎｅ、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇ、ｓｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇ、および＿ｓｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｄａｔａ＿ｆｌａｇ２を導入する。これらの追加についての例示的なセマンティクスを以下に与える。
【０１６８】
[0115]この例では、１に等しいｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇは、コード化ビデオシーケンス中のすべてのスライスについて、ビュー間（専用）参照ピクチャがＴＭＶＰモードのコロケートピクチャとして決して選定されないことを示す。これは、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘに対する制約（すなわち、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘはコロケートピクチャが異なるビューからの参照ピクチャに決して対応しない方法で設定され得る）を暗示することに留意されたい。
【０１６９】
[0116]この例では、０に等しいｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇは、ビュー間（専用）参照ピクチャがＴＭＶＰモードのコロケートピクチャとして選定され得ることを示す。
【０１７０】
[0117]いくつかの例では、シーケンスパラメータセットは、現在のＨＥＶＣワーキングドラフトの要素のいずれかに追加してまたはその代替として、上記で説明した表１および表２のいずれかのまたは両方の要素を含み得る。
【０１７１】
[0118]現在のシンタックスは、ＭＶＣ／３ＤＶ拡張のための拡張ビットの一部としてシグナリングされ得る。代替的に、シンタックス要素は、サブセットシーケンスパラメータセット（ＳＰＳ）などのマルチビュー／３ＤＶシーケンスについてのシーケンスレベル情報を含み得る他の場所、さらにはビデオパラメータセットなどの潜在的により高レベルのシンタックステーブル中でシグナリングされ得る。代替的に、上記のシンタックス要素（ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇ）はシグナリングされ得ないが、ビットストリームは、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇが１に等しい場合に常に準拠し得る。これは、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘをビュー間参照ピクチャに決して対応しない方法で選定することによって実現され得る。
【０１７２】
[0119]さらに、ピクチャパラメータセット（ＰＰＳ）シンタックスは、本開示の技法に従って変更され得る。たとえば、シンタックス要素「ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃ」は、ＰＰＳ中でシグナリングされ得る。このシンタックス要素についてのセマンティクスは以下の通りであり得る。  ０に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、デフォルト重み付け予測がＢスライスに適用されることを指定し得る。１に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、明示的重み付け予測がＢスライスに適用されることを指定し得る。２に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、暗黙的重み付け予測がＢスライスに適用されることになることを指定し得る。３に等しいｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃは、制約付き暗黙的重み付け予測がＢスライスに適用されるように適用されることを指定し得る。ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃの値は、両端値を含む０〜３の範囲内にあり得る。
【０１７３】
[0120]以下の表３に、本開示のいくつかの技法に一致するスライスヘッダのための例示的なシンタックステーブルを与える。
【表３】
2015514342.tif 000025
【０１７４】
[0121]概して、表３のスライスヘッダのセマンティクスはＨＥＶＣについては同じままである。ただし、表３は、ｐｏｃ＿ｓｃａｌｉｎｇ＿ｔｍｖｐ＿ｄｉｓａｂｌｅｄ＿ｆｌａｇと制約暗黙的テーブルとを導入する。これらの追加についてのセマンティクスを以下に与える（ただし、制約暗黙的テーブルの例について以下の表４および表５に関して説明する）。
【０１７５】
[0122]１に等しいｐｏｃ＿ｓｃａｌｉｎｇ＿ｔｍｖｐ＿ｄｉｓａｂｌｅｄ＿ｆｌａｇは、ＴＭＶＰから導出された動きベクトルがスケーリングされないことを示し得る。０に等しいこのフラグは、ＴＭＶＰから導出された動きベクトルがＴＭＶＰの現在の設計の場合のようにスケーリングされ得ることを示し得る。
【０１７６】
[0123]上記のように、スライスヘッダは、たとえば、以下の表４または表５に従って、制約暗黙的テーブルを含み得る。
【表４】
2015514342.tif 000026
【０１７７】
[0124]表５に、制約暗黙的テーブルの代替例を与える。
【表５】
2015514342.tif 000027
【０１７８】
[0125]表４および表５におけるシンタックス要素のセマンティクスを以下に与える。
【０１７９】
[0126]１に等しいｉｍｐｌｉｃｉｔ＿ｄｉｓａｂｌｅｄ＿ｐｉｃ＿ｆｌａｇ［ｉ］は、暗黙的重み付け予測において、合成参照ピクチャリスト中の参照インデックスｉに対応する参照ピクチャが使用される場合、暗黙的重み付け予測中のこの参照ピクチャと他の参照ピクチャとのための重みがどちらも０．５に設定されることを示し、重み付き予測が行われないことを意味し得る。
【０１８０】
[0127]１に等しいｉｍｐｌｉｃｉｔ＿ｄｉｓａｂｌｅｄ＿ｐｉｃ＿ｌ０＿ｆｌａｇ［ｉ］は、暗黙的重み付け予測において、ＲｅｆＰｉｃＬｉｓｔ０中の参照インデックスｉに対応する参照ピクチャが使用される場合、暗黙的重み付け予測中のこの参照ピクチャと他の参照ピクチャとのための重みがどちらも０．５に設定されることを示し、重み付き予測が行われないことを意味し得る。
【０１８１】
[0128]１に等しいｉｍｐｌｉｃｉｔ＿ｄｉｓａｂｌｅｄ＿ｐｉｃ＿ｌ１＿ｆｌａｇ［ｉ］は、暗黙的重み付け予測において、ＲｅｆＰｉｃＬｉｓｔ１中の参照インデックスｉに対応する参照ピクチャが使用される場合、重み付け予測中のこの参照ピクチャと他の参照ピクチャピクチャとのための重みがどちらも０．５に設定されることを示し、重み付き予測が行われないことを意味し得る。
【０１８２】
[0129]代替的に、暗黙的重み付け予測から制約されることになるピクチャの参照インデックス値が直接シグナリングされ得る。
【０１８３】
[0130]代替的に、ＲＰＳシグナリングの一部として、暗黙的重み付け予測から制約されることになるピクチャが直接シグナリングされ得る。
【０１８４】
[0131]代替的に、ＭＶＣまたは３ＤＶコーデックにおいて、ビュー間（専用）参照ピクチャを含んでいるＲＰＳサブセットは、常に、制約付き暗黙的重み付け予測ピクチャとして設定され得る。
【０１８５】
[0132]制約付き暗黙的重み付け予測ピクチャは、暗黙的予測のために使用されるとき、このピクチャと双予測ペアの他のピクチャとの重みがどちらも０．５であるようなピクチャである。
【０１８６】
[0133]代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、ＰＰＳまたはＳＰＳ、または各ＲＰＳサブセットのためのスライスヘッダ中で、ＲＰＳサブセット中のすべてのピクチャが制約付き暗黙的重み付け予測ピクチャであるかどうかを示すフラグをコーディングし得る。
【０１８７】
[0134]別の例として、ビデオエンコーダ２０およびビデオデコーダ３０は、ＳＰＳ中でｒｅｆＰｉｃＴｙｐｅをコーディングするように構成され得る。表６に、そのようなＳＰＳについてのシンタックスの例示的なセットを与える。
【表６】
2015514342.tif 000028
【０１８８】
[0135]概して、表６のシーケンスパラメータセットのセマンティクスは現在のＨＥＶＣワーキングドラフトについては同じままである。ただし、表６は、ｎｕｍＡｄｄｉｔｉｏｎａｌＲＰＳＳｕｂＳｅｔｓとｆｏｒ（）ループ内のｒｅｆ＿ｔｙｐｅ＿ｆｌａｇ［ｉ］とを導入する。これらの追加についての例示的なセマンティクスを以下に与える。
【０１８９】
[0136]この例では、ｎｕｍＡｄｄｉｔｉｏｎａｌＲＰＳＳｕｂＳｅｔｓは、短期参照ピクチャのＲＰＳサブセットおよび長期参照ピクチャのＲＰＳサブセットのほかに追加のＲＰＳサブセットを指定する。
【０１９０】
[0137]この例では、ｒｅｆ＿ｔｙｐｅ＿ｆｌａｇ［ｉ］は、追加のＲＰＳサブセットｉの任意のピクチャのためのフラグを指定する。短期参照ピクチャを含んでいるＲＰＳサブセットおよび長期参照ピクチャを含んでいるＲＰＳサブセットの場合、このフラグが０に等しくなると推論され得る。
【０１９１】
[0138]ＲｅｆＴｙｐｅＩｄｃは、ＲＰＳサブセットのためのｒｅｆ＿ｔｙｐｅ＿ｆｌａｇに設定され得る。
【０１９２】
[0139]代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、このフラグをコーディングする必要はなく、ビュー間ＲＰＳサブセットの場合、このフラグのために１の値を推論し得る。
【０１９３】
[0140]代替的に、動きベクトルの参照ピクチャが現在のピクチャと同じＰＯＣを有する場合、ビデオエンコーダ２０およびビデオデコーダ３０は、参照ピクチャのＲｅｆＴｙｐｅＩｄｃの値が１であると導出し、そうでない場合、０であると導出し得る。
【０１９４】
[0141]他の例は、上記の第１の例（または他の例）と同様であり得、ただし、以下の追加がある。以下の例では、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃＭＶ（ｍｖ）は、動きベクトルｍｖの参照インデックスが時間的参照ピクチャを指す場合は０を戻し、かつ動きベクトルｍｖの参照インデックスが異なるビュー／レイヤ中のピクチャを指す場合は１を戻す。代替的に、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ｐｉｃ）は、ｐｉｃが短期参照ピクチャである場合は０を戻し、かつｐｉｃが長期ピクチャである場合は１を戻す。ＲｅｆＰｉｃＴｙｐｅＦｕｎｃＭＶ（ｍｖ）は、動きベクトルｍｖの参照インデックスが短期参照ピクチャを指す場合は０を戻し、かつ動きベクトルｍｖの参照インデックスが長期参照ピクチャを指す場合は１を戻す。さらに、以下のプロセスがＡＭＶＰについて変更される。
【０１９５】
[0142]ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０１９６】
−  現在のピクチャの左上サンプルに対する現在の予測ユニットの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマの予測ユニットの幅および高さを指定する変数、ｎＰＳＷおよびｎＰＳＨ、
−  現在の予測ユニットパーティションの参照インデックスｒｅｆＩｄｘＬＸ（ここで、Ｘは０または１である）。
【０１９７】
このプロセスの出力は以下の通りである。
【０１９８】
−  動きベクトルｍｖＬＸの予測ｍｖｐＬＸ（ここで、Ｘは０または１である）。
【０１９９】
動きベクトル予測子ｍｖｐＬＸは、以下の順序付きステップで導出される。
【０２００】
１．８．５．２．１．６項の隣接予測ユニットパーティションからの動きベクトル予測子候補のための導出プロセスは、入力としてルーマロケーション（ｘＰ，ｙＰ）と、予測ユニットの幅および高さｎＰＳＷおよびｎＰＳＨと、ｒｅｆＩｄｘＬＸ（ただし、Ｘはそれぞれ０または１である）とを用い、ならびに出力として利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＮと動きベクトルｍｖＬＸＮ、ただしＮがＡ、Ｂによって置き換えられる、とを用いて呼び出される。
【０２０１】
２．ＲｅｆＰｉｃＴｙｐｅＦｕｎｃＭＶ（ｍｖＬＸＡ）がＲｅｆＰｉｃＴｙｐｅＦｕｎｃＭＶ（ｍｖｐＬＸ））に等しくない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡは０に等しくなるように設定され、ＲｅｆＰｉｃＴｙｐｅＦｕｎｃＭＶ（ｍｖＬＸＢ）がＲｅｆＰｉｃＴｙｐｅＦｕｎｃＭＶ（ｍｖｐＬＸ））に等しくない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢは０に等しくなるように設定される。
【０２０２】
３．ａｖａｉｌａｂｌｅＦｌａｇＬＸＡとａｖａｉｌａｂｌｅＦｌａｇＬＸＢの両方が１に等しく、ｍｖＬＸＡがｍｖＬＸＢに等しくない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが０に等しくなるように設定され、そうでない場合、５項の時間的ルーマ動きベクトル予測のための導出プロセスが、入力としてルーマロケーション（ｘＰ，ｙＰ）と、予測ユニットの幅および高さｎＰＳＷおよびｎＰＳＨと、ｒｅｆＩｄｘＬＸ（ただし、Ｘはそれぞれ０または１である）とを用い、ならびに利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌと時間的動きベクトル予測子ｍｖＬＸＣｏｌとである出力を用いて呼び出される。
【０２０３】
４．動きベクトル予測子候補リスト、ｍｖｐＬｉｓｔＬＸは、次のように構成される。
【０２０４】
１．ａｖａｉｌａｂｌｅＦｌａｇＬＸＡが１に等しい場合、ｍｖＬＸＡ
２．ａｖａｉｌａｂｌｅＦｌａｇＬＸＢが１に等しい場合、ｍｖＬＸＢ
３．ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが１に等しい場合、ｍｖＬＸＣｏｌ
５．ｍｖＬＸＡとｍｖＬＸＢとが同じ値を有するとき、ｍｖＬＸＢがリストから除去される。変数ｎｕｍＭＶＰＣａｎｄＬＸはｍｖｐＬｉｓｔＬＸ内の要素の数に設定され、ｍａｘＮｕｍＭＶＰＣａｎｄは２に設定される。
【０２０５】
６．動きベクトル予測子リストは、次のように変更される。
【０２０６】
−  ｎｕｍＭＶＰＣａｎｄＬＸが２よりも小さい場合、以下が適用される。
【数２１】
2015514342.tif 000029
【数２２】
2015514342.tif 000030
【数２３】
2015514342.tif 000031
【０２０７】
−  そうでない場合（ｎｕｍＭＶＰＣａｎｄＬＸが２以上である）、ｉｄｘが１よりも大きいすべての動きベクトル予測子候補ｍｖｐＬｉｓｔＬＸ［ｉｄｘ］がリストから除去される。
【０２０８】
７．ｍｖｐＬｉｓｔＬＸ［ｍｖｐ＿ｌＸ＿ｆｌａｇ［ｘＰ、ｙＰ］］の動きベクトルがｍｖｐＬＸに割り当てられる。
【０２０９】
[0143]さらに、以下の変更がＴＭＶＰについて適用され得る。ＴＭＶＰ中に各参照ピクチャのＰＯＣ値を確認するとき、あらゆるピクチャを確認する代わりに、０に等しいＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（）をもつピクチャのみが確認されるように変更される。１つの代替においてＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（）が短期参照ピクチャのための０を戻すとき、これは、短期参照ピクチャのみが確認されたことを意味する。
【０２１０】
[0144]ビデオエンコーダ２０およびビデオデコーダ３０によって実装され得る１つの詳細な実装形態は以下の通りである。
【０２１１】
[0145]時間的ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
【０２１２】
−  現在のピクチャの左上サンプルに対する現在の予測ユニットの左上サンプルを指定するルーマロケーション（ｘＰ，ｙＰ）、
−  ルーマの予測ユニットの幅および高さを指定する変数、ｎＰＳＷおよびｎＰＳＨ、
−  現在の予測ユニットパーティションの参照インデックスｒｅｆＩｄｘＬＸ（ここで、Ｘは０または１である）。
【０２１３】
このプロセスの出力は以下の通りである。
【０２１４】
−  動きベクトル予測ｍｖＬＸＣｏｌ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌ。
【０２１５】
関数ＲｅｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は、ピクチャｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャのピクチャ順序カウントＰｉｃＯｒｄｅｒＣｎｔＶａｌを戻し、次のように指定される。
【数２４】
2015514342.tif 000032
【０２１６】
ｓｌｉｃｅ＿ｔｙｐｅ、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇおよびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数ｃｏｌＰｉｃは次のように導出される。
【０２１７】
−  ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが０に等しい場合、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ１［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０２１８】
−  そうでない場合（ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇが１に等しいか、またはｓｌｉｃｅ＿ｔｙｐｅがＰに等しい）、変数ｃｏｌＰｉｃは、ＲｅｆＰｉｃＬｉｓｔ０［ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ］によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
【０２１９】
変数ｃｏｌＰｕとそれの位置（ｘＰＣｏｌ，ｙＰＣｏｌ）とは、以下の順序付きステップで導出される
１．変数ｃｏｌＰｕは次のように導出される。
【数２５】
2015514342.tif 000033
【０２２０】
−  （ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）に等しい場合、現在の予測ユニットの右下ルーマ位置の水平成分は次のように定義される。
【数２６】
2015514342.tif 000034
【０２２１】
変数ｃｏｌＰｕは、ｃｏｌＰｉｃ内の（（ｘＰＲｂ＞＞４）＜＜４，（ｙＰＲｂ＞＞４）＜＜４）によって与えられる変更された位置をカバーする予測ユニットとして設定される。
【０２２２】
−  そうでない場合（（ｙＰ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）が（ｙＰＲｂ＞＞Ｌｏｇ２ＣｔｂＳｉｚｅ）に等しくない）、ｃｏｌＰｕは「利用不可能である」とマークされる。
【０２２３】
２．ｃｏｌＰｕがイントラ予測モードでコーディングされるか、またはｃｏｌＰｕが「利用不可能である」とマークされるとき、以下が適用される。
【０２２４】
−現在の予測ユニットの中心ルーマ位置は次のように定義される。
【数２７】
2015514342.tif 000035
【数２８】
2015514342.tif 000036
【０２２５】
−  変数ｃｏｌＰｕは、ｃｏｌＰｉｃ内の（（ｘＰＣｔｒ＞＞４）＜＜４，（ｙＰＣｔｒ＞＞４）＜＜４）によって与えられる変更された位置をカバーする予測ユニットとして設定される。
【０２２６】
３．（ｘＰＣｏｌ，ｙＰＣｏｌ）は、ｃｏｌＰｉｃの左上ルーマサンプルに対するｃｏｌＰｕの左上ルーマサンプルに等しくなるように設定される。
【０２２７】
関数ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は次のように定義される。ｐｉｃＸが現在のピクチャであるとき、ピクチャｐｉｃＸの参照ピクチャリストＬＸからのインデックスｒｅｆＩｄｘをもつ参照ピクチャが「長期参照のために使用される」とマークされる場合、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は１を戻し、それ以外の場合、ＬｏｎｇＴｅｒｍＲｅｆＰｉｃ（ｐｉｃＸ，ｒｅｆＩｄｘ，ＬＸ）は０を戻す。
【０２２８】
変数ｍｖＬＸＣｏｌおよびａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは次のように導出される。
【０２２９】
−  以下の条件のうちの１つが真である場合、ｍｖＬＸＣｏｌの両方の成分は０に等しくなるように設定され、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは０に等しくなるように設定される。
【０２３０】
−  ｃｏｌＰｕがイントラ予測モードでコーディングされる。
【０２３１】
−  ｃｏｌＰｕが「利用不可能である」とマークされている。
【０２３２】
−  ｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しい。
【０２３３】
−  そうでない場合、動きベクトルｍｖＣｏｌ、参照インデックスｒｅｆＩｄｘＣｏｌ、および参照リスト識別子ｌｉｓｔＣｏｌは次のように導出される。
【０２３４】
−  ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ１に等しくなるように設定される。
【０２３５】
−  そうでない場合（ＰｒｅｄＦｌａｇＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下が適用される。
【０２３６】
−  ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が０に等しい場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬ０［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬ０に等しくなるように設定される。
【０２３７】
−  そうでない場合（ＰｒｅｄＦｌａｇＬ１［ｘＰＣｏｌ］［ｙＰＣｏｌ］が１に等しい）、以下の割当てが行われる。
【０２３８】
−  あらゆる参照ピクチャリスト中の０に等しいＲｅｆＰｉｃＴｙｐｅＦｕｎｃ（ｐｉｃ）をもつあらゆるピクチャｐｉｃの（または１つの代替において「あらゆる短期ピクチャｐｉｃの」）ＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌ以下である場合、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌ、およびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＸ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、およびＬＸに等しくなるように設定され、ただし、Ｘは、このプロセスが呼び出されるＸの値である。
【０２３９】
−  そうでない場合（少なくとも１つの参照ピクチャリスト中の少なくとも１つのピクチャｐｉｃのＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃ）がＰｉｃＯｒｄｅｒＣｎｔＶａｌよりも大きい）、ｍｖＣｏｌ、ｒｅｆＩｄｘＣｏｌおよびｌｉｓｔＣｏｌは、それぞれ、ＭｖＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］、ＲｅｆＩｄｘＬＮ［ｘＰＣｏｌ］［ｙＰＣｏｌ］およびＬＮに等しくなるように設定され、ただし、Ｎは、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇの値である。
【０２４０】
．．．
[0146]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【０２４１】
[0147]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【０２４２】
[0148]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、より高いエネルギー（したがってより低い周波数）の係数をアレイの前方に配置し、より低いエネルギー（したがってより高い周波数）の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応型走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【０２４３】
[0149]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられたコンテキストに基づき得る。
【０２４４】
[0150]ビデオエンコーダ２０は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ中でビデオデコーダ３０に送り得る。ＧＯＰシンタックスデータは、それぞれのＧＯＰ中のいくつかのフレームを記述し得、かつフレームシンタックスデータは、対応するフレームを符号化するために使用される符号化／予測モードを示し得る。
【０２４５】
[0151]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダまたはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【０２４６】
[0152]このようにして、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを行うように構成されたビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）の例を表す。さらに、第１のタイプが視差動きベクトルを備え、第２のタイプが視差動きベクトルを備え、候補動きベクトル予測子が現在の動きベクトルを予測するために使用されるとき、ビデオコーダは、候補動きベクトル予測子をスケーリングすることなしに現在の動きベクトルをコーディングするように構成され得る。
【０２４７】
[0153]図２は、動きベクトルをコーディングするための、およびＨＥＶＣと、マルチビューまたは３ＤＶ拡張などのＨＥＶＣの拡張とにおいて双予測を実行するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード（登録商標））は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【０２４８】
[0154]図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピーエンコーディングユニット５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、パーティションユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のフィルタ（ループ内またはループ後）が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理し得る。
【０２４９】
[0155]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間的予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ２０は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
【０２５０】
[0156]その上、パーティションユニット４８は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット４８は、初めにフレームまたはスライスをＬＣＵに区分し、レートひずみ分析（たとえば、レートひずみ最適化）に基づいてＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、ＬＣＵをサブＣＵに区分することを示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵおよび１つまたは複数のＴＵを含み得る。
【０２５１】
[0157]モード選択ユニット４０は、たとえば、誤差結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの１つを選択することができ、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器５０に与え、かつ参照フレームとして使用するための符号化されたブロックを復元するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器６２に与える。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット５６に与える。
【０２５２】
[0158]動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム（または他のコード化ユニット）内でコーディングされている現在のブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【０２５３】
[0159]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０２５４】
[0160]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット４２および動き補償ユニット４４は機能的に統合され得る。現在のビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット４２はルーマ成分に対して動き推定を実行し、かつ動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０２５５】
[0161]本開示の技法によれば、モード選択ユニット４０が、動き推定ユニット４２と動き補償ユニット４４とを使用してビデオデータのブロック（たとえば、ＰＵ）をインター予測することを選択するとき、ビデオエンコーダ２０は、たとえば、ＡＭＶＰまたはマージモードを使用して動きベクトルをさらに符号化し得る。たとえば、エントロピー符号化ユニット５６は、モード選択ユニット４０から動きベクトルを受信し、動きベクトルを符号化し得る。エントロピー符号化ユニット５６は、動きベクトル予測子を取り出すべき隣接ブロックを選択し、動きベクトルと動きベクトル予測子との間の差分（たとえば、水平動きベクトル差分および垂直動きベクトル差分）を計算することによって、ＡＭＶＰを使用して動きベクトルをエントロピー符号化し、次いで、（１つまたは複数の）差を表す１つまたは複数のシンタックス要素をエントロピー符号化し得る。
【０２５６】
[0162]本開示の技法によれば、エントロピー符号化ユニット５６は、候補動きベクトル予測子が現在の動きベクトルとは異なるタイプを有するとき、現在の動きベクトルを予測するためにＡＭＶＰ（またはマージモード）において使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。このようにして候補動きベクトル予測子を利用不可能なものとして設定することは、候補動きベクトルが他の基準に基づいて利用可能であると異なるプロセスが判断した後でも実行され得る。たとえば、候補動きベクトル予測子が視差動きベクトルであり、現在の動きベクトルが時間的動きベクトルである場合、エントロピー符号化ユニット５６は、現在の動きベクトルのための予測子として使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。同様に、候補動きベクトル予測子が時間的動きベクトルであり、現在の動きベクトルが視差動きベクトルである場合、エントロピー符号化ユニット５６は、現在の動きベクトルのための予測子として使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。
【０２５７】
[0163]エントロピー符号化ユニット５６は、符号化されている動きベクトルと動きベクトル予測子とが同じタイプの動きベクトルであるのか、または異なるタイプの動きベクトルであるのかを判断するために１つまたは複数の様々な技法を使用し得る。いくつかの例では、エントロピー符号化ユニット５６は、符号化されている動きベクトルと候補動きベクトル予測子とが、符号化されている現在のピクチャとは異なるＰＯＣ値を有する参照ピクチャを参照するかどうかを判断し得る。動きベクトルまたは候補動きベクトル予測子のうちの１つが、符号化されている現在のピクチャとは異なるＰＯＣ値を有する参照ピクチャを参照し、もう一方が、符号化されている現在のピクチャと同じであるＰＯＣ値を有する参照ピクチャを参照する場合、エントロピー符号化ユニット５６は、動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。特に、符号化されている現在のピクチャと同じであるＰＯＣ値を有する参照ピクチャを参照する動きベクトルは、視差動きベクトルと見なされ得、一方、現在のピクチャとは異なるＰＯＣ値を有する参照ピクチャを参照する動きベクトルは時間的動きベクトルと見なされ得る。
【０２５８】
[0164]別の例として、エントロピー符号化ユニット５６は、現在の動きベクトルが、符号化されている現在のピクチャを含む現在のレイヤ中の参照ピクチャを参照するのか、または異なるレイヤ中の参照ピクチャを参照するのかを判断し得る。同様に、エントロピー符号化ユニット５６は、候補動きベクトル予測子が、現在のレイヤ中の参照ピクチャを参照するのか、または異なるレイヤ中の参照ピクチャを参照するのかを判断し得る。現在の動きベクトルと候補動きベクトル予測子の両方が、現在のレイヤ中の参照ピクチャまたは異なるレイヤ中の参照ピクチャを参照する場合、エントロピー符号化ユニット５６は、現在の動きベクトルと候補動きベクトル予測子とが同じタイプの動きベクトルであると判断し得る。特に、現在の動きベクトルと候補動きベクトル予測子とが１つまたは複数の異なるレイヤ中の参照ピクチャを参照する場合、現在の動きベクトルと候補動きベクトル予測子とは視差動きベクトルを備え得る。現在の動きベクトルと候補動きベクトル予測子とが現在のレイヤ中の参照ピクチャを参照する場合、現在の動きベクトルと候補動きベクトル予測子とは時間的動きベクトルを備え得る。現在の動きベクトルと候補動きベクトル予測子とのうちの１つが、現在のレイヤ中の参照ピクチャを参照し、もう一方が、異なるレイヤ中の参照ピクチャを参照する場合、エントロピー符号化ユニット５６は、現在の動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。
【０２５９】
[0165]また別の例として、エントロピー符号化ユニット５６は、現在の動きベクトルが長期参照ピクチャを参照するのかまたは短期参照ピクチャを参照するのかを判断し、同様に、候補動きベクトル予測子が長期参照ピクチャを参照するのかまたは短期参照ピクチャを参照するのかを判断し得る。現在の動きベクトルと候補動きベクトル予測子の両方が同じタイプの参照ピクチャを参照する場合（すなわち、両方が長期参照ピクチャを参照するか、または両方が短期参照ピクチャを参照する）、エントロピー符号化ユニット５６は、現在の動きベクトルと候補動きベクトル予測子とが同じタイプの動きベクトルであると判断し得る。一方、現在の動きベクトルと候補動きベクトル予測子とのうちの１つが、長期参照ピクチャを参照し、もう一方が、短期参照ピクチャを参照する場合、エントロピー符号化ユニット５６は、現在の動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。長期参照ピクチャを参照する動きベクトルは時間的動きベクトルを備え得、一方、短期参照ピクチャを参照する動きベクトルは視差動きベクトルを備え得る。
【０２６０】
[0166]上記で説明したように、エントロピー符号化ユニット５６は、現在の動きベクトルとは異なるタイプの候補動きベクトルが現在の動きベクトルのための動きベクトル予測子として使用するために利用不可能であると判断し得る。したがって、エントロピー符号化ユニット５６は、現在の動きベクトルのための候補動きベクトル予測子のリストからそのような候補動きベクトル予測子を除去するか、または候補動きベクトル予測子のリストにそのような候補動きベクトル予測子を追加することを省略し得る。特に、エントロピー符号化ユニット５６は、候補動きベクトル予測子が現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であるかどうかを示すために候補動きベクトル予測子に関連する変数の値を設定し得る。さらに、エントロピー符号化ユニット５６は、たとえば、候補動きベクトル予測子に関連する変数が、候補動きベクトル予測子が現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であることを示す値を有する現在の動きベクトルを符号化するために現在の動きベクトルと同じタイプである候補動きベクトル予測子を選択するように構成され得る。エントロピー符号化ユニット５６は、高度動きベクトル予測子（ＡＭＶＰ）またはマージモードなどの様々な動きベクトル符号化モードを使用して現在の動きベクトルを符号化し得る。
【０２６１】
[0167]概して、エントロピー符号化ユニット５６は、動きベクトル予測子が（たとえば、参照ピクチャのＰＯＣ値が異なるときに）現在の動きベクトルによって参照される参照ピクチャとは異なる参照ピクチャを参照するとき、現在の動きベクトルを予測するために使用される動きベクトル予測子をスケーリングし得る。より詳細には、エントロピー符号化ユニット５６は、参照ピクチャのＰＯＣ値間の差分に基づいて時間的動きベクトル予測子をスケーリングし得る。しかしながら、やはり視差動きベクトルである動きベクトル予測子を使用して視差動きベクトルである動きベクトルを予測するとき、エントロピー符号化ユニット５６は、動きベクトル予測子のスケーリングを使用不可にし得る。
【０２６２】
[0168]エントロピー符号化ユニット５６は、動きベクトルと動きベクトル予測子、たとえば、コーディングされている動きベクトルと同じタイプの動きベクトル予測子との間の動きベクトル差分値を計算することによって動きベクトルを符号化し得る。概して、動きベクトルは、水平成分（またはｘ成分）および垂直成分（またはｙ成分）によって定義され得る。エントロピー符号化ユニット５６は、符号化されている動きベクトルのｘ成分と動きベクトル予測子のｘ成分との間の差分としてＭＶＤｘ（動きベクトル差分のｘ成分）を計算し得る。同様に、エントロピー符号化ユニット５６は、符号化されている動きベクトルのｙ成分と動きベクトル予測子のｙ成分との間の差分としてＭＶＤｙ（動きベクトル差分のｙ成分）を計算し得る。動きベクトルが時間的動きベクトルである場合、エントロピー符号化ユニット５６は、（符号化されている動きベクトルと動きベクトル予測子とによって参照される参照ピクチャ間のＰＯＣ差分に基づいて）動きベクトル予測子のスケーリングされたバージョンに対する動きベクトル差分値（ＭＶＤｘおよびＭＶＤｙ）を計算し得る。エントロピー符号化ユニット５６は、次いで、たとえば、ＣＡＢＡＣを使用してＭＶＤｘおよびＭＶＤｙをエントロピー符号化し得る。
【０２６３】
[0169]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２および動き補償ユニット４４によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【０２６４】
[0170]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を判断する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
【０２６５】
[0171]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【０２６６】
[0172]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。
【０２６７】
[0173]いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【０２６８】
[0174]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接するブロックに基づき得る。エントロピーコーディングユニット５６によるエントロピーコーディングの後、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、または後で送信するかまたは取り出すためにアーカイブされ得る。
【０２６９】
[0175]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０２７０】
[0176]このようにして、図２のビデオエンコーダ２０は、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、第１のタイプが第２のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを行うように構成されたビデオエンコーダの一例を表す。さらに、第１のタイプが視差動きベクトルを備え、第２のタイプが視差動きベクトルを備え、候補動きベクトル予測子が現在の動きベクトルを予測するために使用されるとき、ビデオエンコーダは、候補動きベクトル予測子をスケーリングすることなしに現在の動きベクトルをコーディングするように構成され得る。
【０２７１】
[0177]図３は、動きベクトルをコーディングするための、およびＨＥＶＣと、マルチビューまたは３ＤＶ拡張などのＨＥＶＣの拡張とにおいて双予測を実行するための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照ピクチャメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【０２７２】
[0178]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０２７３】
[0179]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。
【０２７４】
[0180]動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を判断し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のいくつかを使用する。
【０２７５】
[0181]エントロピー復号ユニット７０は、Ｐコード化ブロックおよびＢコード化ブロックのための動きベクトルをエントロピー復号し得る。たとえば、エントロピー復号ユニット７０は、ＡＭＶＰまたはマージモードを使用して動きベクトルを復号し得る。特に、本開示の技法によれば、エントロピー復号ユニット７０は、現在の動きベクトルを復号するために復号されている現在の動きベクトルとは異なるタイプを有する候補動きベクトル予測子を使用することを回避し得る。たとえば、現在の動きベクトルが視差動きベクトルを備えるとき、エントロピー復号ユニット７０は、やはり視差動きベクトルである動きベクトル予測子を使用して現在の動きベクトルを復号し得る。同様に、エントロピー復号ユニット７０は、視差動きベクトルを備える動きベクトル予測子を使用して現在の動きベクトルを復号するときスケーリングを使用不可にし得る。別の例として、現在の動きベクトルが時間的動きベクトルを備えるとき、エントロピー復号ユニット７０は、やはり時間的動きベクトルである動きベクトル予測子を使用して現在の動きベクトルを復号し得る。
【０２７６】
[0182]本開示の技法によれば、エントロピー復号ユニット７０は、候補動きベクトル予測子が現在の動きベクトルとは異なるタイプを有するとき、現在の動きベクトルを予測するためにＡＭＶＰ（またはマージモード）において使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。たとえば、候補動きベクトル予測子が視差動きベクトルであり、現在の動きベクトルが時間的動きベクトルである場合、エントロピー復号ユニット７０は、現在の動きベクトルのための予測子として使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。同様に、候補動きベクトル予測子が時間的動きベクトルであり、現在の動きベクトルが視差動きベクトルである場合、エントロピー復号ユニット７０は、現在の動きベクトルのための予測子として使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。
【０２７７】
[0183]エントロピー復号ユニット７０は、復号されている動きベクトルと動きベクトル予測子とが同じタイプの動きベクトルであるのか、または異なるタイプの動きベクトルであるのかを判断するために１つまたは複数の様々な技法を使用し得る。いくつかの例では、エントロピー復号ユニット７０は、復号されている動きベクトルと候補動きベクトル予測子とが、復号されている現在のピクチャとは異なるＰＯＣ値を有する参照ピクチャを参照するかどうかを判断し得る。動きベクトルまたは候補動きベクトル予測子のうちの１つが、復号されている現在のピクチャとは異なるＰＯＣ値を有する参照ピクチャを参照し、もう一方が、復号されている現在のピクチャと同じであるＰＯＣ値を有する参照ピクチャを参照する場合、エントロピー復号ユニット７０は、動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。特に、復号されている現在のピクチャと同じであるＰＯＣ値を有する参照ピクチャを参照する動きベクトルは、視差動きベクトルと見なされ得、一方、現在のピクチャとは異なるＰＯＣ値を有する参照ピクチャを参照する動きベクトルは時間的動きベクトルと見なされ得る。
【０２７８】
[0184]別の例として、エントロピー復号ユニット７０は、現在の動きベクトルが、復号されている現在のピクチャを含む現在のレイヤ中の参照ピクチャを参照するのか、または異なるレイヤ中の参照ピクチャを参照するのかを判断し得る。同様に、エントロピー復号ユニット７０は、候補動きベクトル予測子が、現在のレイヤ中の参照ピクチャを参照するのか、または異なるレイヤ中の参照ピクチャを参照するのかを判断し得る。現在の動きベクトルと候補動きベクトル予測子の両方が、現在のレイヤ中の参照ピクチャまたは異なるレイヤ中の参照ピクチャを参照する場合、エントロピー復号ユニット７０は、現在の動きベクトルと候補動きベクトル予測子とが同じタイプの動きベクトルであると判断し得る。特に、現在の動きベクトルと候補動きベクトル予測子とが１つまたは複数の異なるレイヤ中の参照ピクチャを参照する場合、現在の動きベクトルと候補動きベクトル予測子とは視差動きベクトルを備え得る。現在の動きベクトルと候補動きベクトル予測子とが現在のレイヤ中の参照ピクチャを参照する場合、現在の動きベクトルと候補動きベクトル予測子とは時間的動きベクトルを備え得る。現在の動きベクトルと候補動きベクトル予測子とのうちの１つが、現在のレイヤ中の参照ピクチャを参照し、もう一方が、異なるレイヤ中の参照ピクチャを参照する場合、エントロピー復号ユニット７０は、現在の動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。
【０２７９】
[0185]また別の例として、エントロピー復号ユニット７０は、現在の動きベクトルが長期参照ピクチャを参照するのかまたは短期参照ピクチャを参照するのかを判断し、同様に、候補動きベクトル予測子が長期参照ピクチャを参照するのかまたは短期参照ピクチャを参照するのかを判断し得る。現在の動きベクトルと候補動きベクトル予測子の両方が同じタイプの参照ピクチャを参照する場合（すなわち、両方が長期参照ピクチャを参照するか、または両方が短期参照ピクチャを参照する）、エントロピー復号ユニット７０は、現在の動きベクトルと候補動きベクトル予測子とが同じタイプの動きベクトルであると判断し得る。一方、現在の動きベクトルと候補動きベクトル予測子とのうちの１つが、長期参照ピクチャを参照し、もう一方が、短期参照ピクチャを参照する場合、エントロピー復号ユニット７０は、現在の動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。長期参照ピクチャを参照する動きベクトルは時間的動きベクトルを備え得、一方、短期参照ピクチャを参照する動きベクトルは視差動きベクトルを備え得る。
【０２８０】
[0186]上記で説明したように、エントロピー復号ユニット７０は、現在の動きベクトルとは異なるタイプの候補動きベクトルが現在の動きベクトルのための動きベクトル予測子として使用するために利用不可能であると判断し得る。したがって、エントロピー復号ユニット７０は、現在の動きベクトルのための候補動きベクトル予測子のリストからそのような候補動きベクトル予測子を除去するか、または候補動きベクトル予測子のリストにそのような候補動きベクトル予測子を追加することを省略し得る。エントロピー復号ユニット７０はまた、候補動きベクトル予測子が現在の動きベクトルと同じタイプを有するかどうかに基づいて、候補動きベクトルが現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であるかどうかを示す候補動きベクトル予測子に関連する変数を設定し得る。さらに、エントロピー復号ユニット７０は、現在の動きベクトルを復号するために現在の動きベクトルと同じタイプである候補動きベクトル予測子、すなわち、候補動きベクトル予測子が復号されている現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であることを示す関連する変数を候補動きベクトル予測子が有するかどうかを選択するように構成され得る。エントロピー復号ユニット７０は、高度動きベクトル予測子（ＡＭＶＰ）またはマージモードなどの様々な動きベクトル復号モードを使用して現在の動きベクトルを復号し得る。
【０２８１】
[0187]現在の動きベクトルを復号するために、エントロピー復号ユニット７０は、（たとえば、シンタックスデータによって示されるように、または、暗黙的選択プロセスに従って）複数の候補動きベクトル予測子のうちの１つを選択し得る。選択された動きベクトル予測子が時間的動きベクトルであるとき、エントロピー復号ユニット７０は、動きベクトル予測子が参照する参照ピクチャと現在の動きベクトルが参照する参照ピクチャとの間のＰＯＣ差分に基づいて選択された動きベクトル予測子をスケーリングし得る。エントロピー復号ユニット７０はまた、ＭＶＤｘ値（すなわち、動きベクトル差分の水平成分またはｘ成分）とＭＶＤｙ値（すなわち、動きベクトル差分の垂直成分またはｙ成分）とを表すシンタックス要素を復号し得る。エントロピー復号ユニット７０はまた、現在の動きベクトルのｘ成分を再生するために、選択された（および潜在的にスケーリングされた）動きベクトル予測子のｘ成分にＭＶＤｘ値を加算し、かつ現在の動きベクトルのｙ成分を再生するために、選択された（および潜在的にスケーリングされた）動きベクトル予測子のｙ成分にＭＶＤｙ値を加算し得る。エントロピー復号ユニット７０は、動き補償ユニット７２に再生された（すなわち、復号された）動きベクトルを与え得る。
【０２８２】
[0188]動き補償ユニット７２は、前に復号されたピクチャから、たとえば、参照ピクチャメモリ８２からデータを取り出すために復号された動きベクトルを使用し得る。動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【０２８３】
[0189]逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、ビデオスライス中のビデオブロックごとにビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０２８４】
[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]代替的に、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが２に等しいときの暗黙的方法は、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが３に等しい場合に上記で指定したものに直接変更され得る。
【０３０５】
[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]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０３３４】
[0247]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路などの１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび／もしくはソフトウェアモジュール内に与えられ得、または複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素において十分に実装され得る。
【０３３５】
[0248]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０３３６】
[0249]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
【図１】
2015514342.tif 000037
【図２】
2015514342.tif 000038
【図３】
2015514342.tif 000039
【図５】
2015514342.tif 000040
【図６】
2015514342.tif 000041
【図４】
2015514342.tif 000042
【手続補正書】
【提出日】平成26年11月13日(2014.11.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を備える、方法。
【請求項２】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを復号することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、請求項１に記載の方法。
【請求項３】
前記現在の動きベクトルのための前記第１のタイプを判断することが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記第１のタイプを判断することを備え、
前記候補動きベクトルのための前記第２のタイプを判断することが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断することを備える
請求項１に記載の方法。
【請求項４】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第１の参照ピクチャが前記現在のレイヤ中に含まれ前記第２の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項２に記載の方法。
【請求項５】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第２の参照ピクチャが前記現在のレイヤ中に含まれ前記第１の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項２に記載の方法。
【請求項６】
前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、請求項１に記載の方法。
【請求項７】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ピクチャ順序カウント（ＰＯＣ）値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項１に記載の方法。
【請求項８】
前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号することをさらに備える、請求項７に記載の方法。
【請求項９】
前記現在の動きベクトルを復号することが、前記現在の動きベクトルによって参照される第１の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第２の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、請求項８に記載の方法。
【請求項１０】
前記現在の動きベクトルを復号することが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを復号することを備え、前記方法が、ＡＭＶＰを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、請求項１に記載の方法。
【請求項１１】
前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号することをさらに備える、請求項１に記載の方法。
【請求項１２】
前記データを復号することが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを復号することを備える、請求項１１に記載の方法。
【請求項１３】
前記データを復号することが、マルチビュービデオ復号（ＭＶＣ）拡張のための拡張ビットと、３次元ビデオ（３ＤＶ）拡張のための拡張ビットと、サブセットシーケンスパラメータセット（ＳＰＳ）と、ビデオパラメータセット（ＶＰＳ）とのうちの少なくとも１つの中の前記データを復号することを備える、請求項１１に記載の方法。
【請求項１４】
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第１のタイプを判断することは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断することを備える、請求項１に記載の方法。
【請求項１５】
ビデオデータを符号化する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することと
を備える、方法。
【請求項１６】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを符号化することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、請求項１５に記載の方法。
【請求項１７】
前記現在の動きベクトルのための前記第１のタイプを判断することが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記第１のタイプを判断することを備え、
前記候補動きベクトルのための前記第２のタイプを判断することが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断することを備える
請求項１５に記載の方法。
【請求項１８】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第１の参照ピクチャが前記現在のレイヤ中に含まれ前記第２の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項１７に記載の方法。
【請求項１９】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第２の参照ピクチャが前記現在のレイヤ中に含まれ前記第１の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項１７に記載の方法。
【請求項２０】
前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、請求項１５に記載の方法。
【請求項２１】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ピクチャ順序カウント（ＰＯＣ）値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項１５に記載の方法。
【請求項２２】
前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化することをさらに備える、請求項２１に記載の方法。
【請求項２３】
前記現在の動きベクトルを符号化することが、前記現在の動きベクトルによって参照される第１の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第２の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、請求項２２に記載の方法。
【請求項２４】
前記現在の動きベクトルを符号化することが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを符号化することを備え、前記方法が、ＡＭＶＰを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、請求項１５に記載の方法。
【請求項２５】
前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化することをさらに備える、請求項１５に記載の方法。
【請求項２６】
前記データを符号化することが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを符号化することを備える、請求項２５に記載の方法。
【請求項２７】
前記データを符号化することが、マルチビュービデオ符号化（ＭＶＣ）拡張のための拡張ビットと、３次元ビデオ（３ＤＶ）拡張のための拡張ビットと、サブセットシーケンスパラメータセット（ＳＰＳ）と、ビデオパラメータセット（ＶＰＳ）とのうちの少なくとも１つの中の前記データを符号化することを備える、請求項２５に記載の方法。
【請求項２８】
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第１のタイプを判断することは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断することを備える、請求項１５に記載の方法。
【請求項２９】
ビデオデータを復号するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することとを行うように構成されたビデオデコーダを備えるデバイス。
【請求項３０】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオデコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号するように構成された、請求項２９に記載のデバイス。
【請求項３１】
前記ビデオデコーダが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第１のタイプを判断するように構成され、前記ビデオデコーダが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断するように構成された、請求項２９に記載のデバイス。
【請求項３２】
前記ビデオデコーダが、前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、請求項２９に記載のデバイス。
【請求項３３】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ＰＯＣ値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項２９に記載のデバイス。
【請求項３４】
前記ビデオデコーダが、前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号するようにさらに構成された、請求項３３に記載のデバイス。
【請求項３５】
前記現在の動きベクトルを復号するために、前記ビデオデコーダが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを復号するように構成され、ＡＭＶＰを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、請求項２９に記載のデバイス。
【請求項３６】
前記ビデオデコーダが、前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号するように構成された、請求項２９に記載のデバイス。
【請求項３７】
前記データが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを備える、請求項３６に記載のデバイス。
【請求項３８】
前記ビデオデコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第１のタイプを判断するために、前記ビデオデコーダは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断するように構成された、請求項２９に記載のデバイス。
【請求項３９】
前記ビデオデコーダが、前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成されたビデオデコーダを備える、請求項２９に記載のデバイス。
【請求項４０】
前記ビデオデコーダが、前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成されたビデオエンコーダを備える、請求項２９に記載のデバイス。
【請求項４１】
前記デバイスが、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、請求項２９に記載のデバイス。
【請求項４２】
ビデオデータを符号化するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することとを行うように構成されたビデオエンコーダを備えるデバイス。
【請求項４３】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオエンコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化するように構成された、請求項４２に記載のデバイス。
【請求項４４】
前記ビデオエンコーダが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第１のタイプを判断するように構成され、前記ビデオエンコーダが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断するように構成された、請求項４２に記載のデバイス。
【請求項４５】
前記ビデオエンコーダが、前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、請求項４２に記載のデバイス。
【請求項４６】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ＰＯＣ値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項４２に記載のデバイス。
【請求項４７】
前記ビデオエンコーダが、前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化するようにさらに構成された、請求項４６に記載のデバイス。
【請求項４８】
前記現在の動きベクトルを符号化するために、前記ビデオエンコーダが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを符号化するように構成され、ＡＭＶＰを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、請求項４２に記載のデバイス。
【請求項４９】
前記ビデオエンコーダが、前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化するように構成された、請求項４２に記載のデバイス。
【請求項５０】
前記データが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを備える、請求項４９に記載のデバイス。
【請求項５１】
前記ビデオエンコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第１のタイプを判断するために、前記ビデオエンコーダは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断するように構成された、請求項４２に記載のデバイス。
【請求項５２】
前記ビデオエンコーダが、前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成されたビデオデコーダを備える、請求項４２に記載のデバイス。
【請求項５３】
前記ビデオエンコーダが、前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成されたビデオエンコーダを備える、請求項４２に記載のデバイス。
【請求項５４】
ビデオデータを符号化するためのデバイスであって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断するための手段と、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断するための手段と、
前記候補動きベクトル予測子が利用可能であるかどうかを表す変数が前記候補動きベクトル予測子が利用可能であることを示す値に最初に設定された後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定するための手段と、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化するための手段と
を備える、デバイス。
【請求項５５】
実行されたとき、プロセッサに、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０３３６
【補正方法】変更
【補正の内容】
【０３３６】
[0249]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を備える、方法。
［Ｃ２］
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを復号することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、Ｃ１に記載の方法。
［Ｃ３］
前記現在の動きベクトルのための前記第１のタイプを判断することが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記第１のタイプを判断することを備え、
前記候補動きベクトルのための前記第２のタイプを判断することが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断することを備える
Ｃ１に記載の方法。
［Ｃ４］
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第１の参照ピクチャが前記現在のレイヤ中に含まれ前記第２の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、Ｃ２に記載の方法。
［Ｃ５］
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第２の参照ピクチャが前記現在のレイヤ中に含まれ前記第１の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、Ｃ２に記載の方法。
［Ｃ６］
前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ピクチャ順序カウント（ＰＯＣ）値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
Ｃ１に記載の方法。
［Ｃ８］
前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号することをさらに備える、Ｃ７に記載の方法。
［Ｃ９］
前記現在の動きベクトルを復号することが、前記現在の動きベクトルによって参照される第１の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第２の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、Ｃ８に記載の方法。
［Ｃ１０］
前記現在の動きベクトルを復号することが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを復号することを備え、前記方法が、ＡＭＶＰを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号することをさらに備える、Ｃ１に記載の方法。
［Ｃ１２］
前記データを復号することが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを復号することを備える、Ｃ１１に記載の方法。
［Ｃ１３］
前記データを復号することが、マルチビュービデオ復号（ＭＶＣ）拡張のための拡張ビットと、３次元ビデオ（３ＤＶ）拡張のための拡張ビットと、サブセットシーケンスパラメータセット（ＳＰＳ）と、ビデオパラメータセット（ＶＰＳ）とのうちの少なくとも１つの中の前記データを復号することを備える、Ｃ１１に記載の方法。
［Ｃ１４］
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第１のタイプを判断することは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断することを備える、Ｃ１に記載の方法。
［Ｃ１５］
ビデオデータを符号化する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することと
を備える、方法。
［Ｃ１６］
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを符号化することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、Ｃ１５に記載の方法。
［Ｃ１７］
前記現在の動きベクトルのための前記第１のタイプを判断することが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記第１のタイプを判断することを備え、
前記候補動きベクトルのための前記第２のタイプを判断することが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断することを備える
Ｃ１５に記載の方法。
［Ｃ１８］
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第１の参照ピクチャが前記現在のレイヤ中に含まれ前記第２の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、Ｃ１７に記載の方法。
［Ｃ１９］
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第２の参照ピクチャが前記現在のレイヤ中に含まれ前記第１の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、Ｃ１７に記載の方法。
［Ｃ２０］
前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、Ｃ１５に記載の方法。
［Ｃ２１］
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ピクチャ順序カウント（ＰＯＣ）値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
Ｃ１５に記載の方法。
［Ｃ２２］
前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化することをさらに備える、Ｃ２１に記載の方法。
［Ｃ２３］
前記現在の動きベクトルを符号化することが、前記現在の動きベクトルによって参照される第１の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第２の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、Ｃ２２に記載の方法。
［Ｃ２４］
前記現在の動きベクトルを符号化することが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを符号化することを備え、前記方法が、ＡＭＶＰを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、Ｃ１５に記載の方法。
［Ｃ２５］
前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化することをさらに備える、Ｃ１５に記載の方法。
［Ｃ２６］
前記データを符号化することが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを符号化することを備える、Ｃ２５に記載の方法。
［Ｃ２７］
前記データを符号化することが、マルチビュービデオ符号化（ＭＶＣ）拡張のための拡張ビットと、３次元ビデオ（３ＤＶ）拡張のための拡張ビットと、サブセットシーケンスパラメータセット（ＳＰＳ）と、ビデオパラメータセット（ＶＰＳ）とのうちの少なくとも１つの中の前記データを符号化することを備える、Ｃ２５に記載の方法。
［Ｃ２８］
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第１のタイプを判断することは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断することを備える、Ｃ１５に記載の方法。
［Ｃ２９］
ビデオデータを復号するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することとを行うように構成されたビデオデコーダを備えるデバイス。
［Ｃ３０］
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオデコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号するように構成された、Ｃ２９に記載のデバイス。
［Ｃ３１］
前記ビデオデコーダが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第１のタイプを判断するように構成され、前記ビデオデコーダが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断するように構成された、Ｃ２９に記載のデバイス。
［Ｃ３２］
前記ビデオデコーダが、前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、Ｃ２９に記載のデバイス。
［Ｃ３３］
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ＰＯＣ値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
Ｃ２９に記載のデバイス。
［Ｃ３４］
前記ビデオデコーダが、前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号するようにさらに構成された、Ｃ３３に記載のデバイス。
［Ｃ３５］
前記現在の動きベクトルを復号するために、前記ビデオデコーダが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを復号するように構成され、ＡＭＶＰを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、Ｃ２９に記載のデバイス。
［Ｃ３６］
前記ビデオデコーダが、前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号するように構成された、Ｃ２９に記載のデバイス。
［Ｃ３７］
前記データが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを備える、Ｃ３６に記載のデバイス。
［Ｃ３８］
前記ビデオデコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第１のタイプを判断するために、前記ビデオデコーダは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断するように構成された、Ｃ２９に記載のデバイス。
［Ｃ３９］
前記ビデオデコーダが、前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成されたビデオデコーダを備える、Ｃ２９に記載のデバイス。
［Ｃ４０］
前記ビデオデコーダが、前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成されたビデオエンコーダを備える、Ｃ２９に記載のデバイス。
［Ｃ４１］
前記デバイスが、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、Ｃ２９に記載のデバイス。
［Ｃ４２］
ビデオデータを符号化するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することとを行うように構成されたビデオエンコーダを備えるデバイス。
［Ｃ４３］
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオエンコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化するように構成された、Ｃ４２に記載のデバイス。
［Ｃ４４］
前記ビデオエンコーダが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第１のタイプを判断するように構成され、前記ビデオエンコーダが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断するように構成された、Ｃ４２に記載のデバイス。
［Ｃ４５］
前記ビデオエンコーダが、前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、Ｃ４２に記載のデバイス。
［Ｃ４６］
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ＰＯＣ値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
Ｃ４２に記載のデバイス。
［Ｃ４７］
前記ビデオエンコーダが、前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化するようにさらに構成された、Ｃ４６に記載のデバイス。
［Ｃ４８］
前記現在の動きベクトルを符号化するために、前記ビデオエンコーダが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを符号化するように構成され、ＡＭＶＰを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、Ｃ４２に記載のデバイス。
［Ｃ４９］
前記ビデオエンコーダが、前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化するように構成された、Ｃ４２に記載のデバイス。
［Ｃ５０］
前記データが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを備える、Ｃ４９に記載のデバイス。
［Ｃ５１］
前記ビデオエンコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第１のタイプを判断するために、前記ビデオエンコーダは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断するように構成された、Ｃ４２に記載のデバイス。
［Ｃ５２］
前記ビデオエンコーダが、前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成されたビデオデコーダを備える、Ｃ４２に記載のデバイス。
［Ｃ５３］
前記ビデオエンコーダが、前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成されたビデオエンコーダを備える、Ｃ４２に記載のデバイス。
［Ｃ５４］
ビデオデータを符号化するためのデバイスであって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断するための手段と、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断するための手段と、
前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定するための手段と、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化するための手段と
を備える、デバイス。
［Ｃ５５］
実行されたとき、プロセッサに、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【手続補正書】
【提出日】平成26年12月4日(2014.12.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を備える、方法。
【請求項２】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを復号することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、請求項１に記載の方法。
【請求項３】
前記現在の動きベクトルのための前記第１のタイプを判断することが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記第１のタイプを判断することを備え、
前記候補動きベクトルのための前記第２のタイプを判断することが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断することを備える
請求項１に記載の方法。
【請求項４】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第１の参照ピクチャが前記現在のレイヤ中に含まれ前記第２の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項３に記載の方法。
【請求項５】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第２の参照ピクチャが前記現在のレイヤ中に含まれ前記第１の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項３に記載の方法。
【請求項６】
前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、請求項１に記載の方法。
【請求項７】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ピクチャ順序カウント（ＰＯＣ）値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項１に記載の方法。
【請求項８】
前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号することをさらに備える、請求項７に記載の方法。
【請求項９】
前記現在の動きベクトルを復号することが、前記現在の動きベクトルによって参照される第１の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第２の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、請求項８に記載の方法。
【請求項１０】
前記現在の動きベクトルを復号することが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを復号することを備え、前記方法が、ＡＭＶＰを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、請求項１に記載の方法。
【請求項１１】
前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号することをさらに備える、請求項１に記載の方法。
【請求項１２】
前記データを復号することが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを復号することを備える、請求項１１に記載の方法。
【請求項１３】
前記データを復号することが、マルチビュービデオ復号（ＭＶＣ）拡張のための拡張ビットと、３次元ビデオ（３ＤＶ）拡張のための拡張ビットと、サブセットシーケンスパラメータセット（ＳＰＳ）と、ビデオパラメータセット（ＶＰＳ）とのうちの少なくとも１つの中の前記データを復号することを備える、請求項１１に記載の方法。
【請求項１４】
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第１のタイプを判断することは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断することを備える、請求項１に記載の方法。
【請求項１５】
ビデオデータを符号化する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することと
を備える、方法。
【請求項１６】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを符号化することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、請求項１５に記載の方法。
【請求項１７】
前記現在の動きベクトルのための前記第１のタイプを判断することが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記第１のタイプを判断することを備え、
前記候補動きベクトルのための前記第２のタイプを判断することが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断することを備える
請求項１５に記載の方法。
【請求項１８】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第１の参照ピクチャが前記現在のレイヤ中に含まれ前記第２の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項１７に記載の方法。
【請求項１９】
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第２の参照ピクチャが前記現在のレイヤ中に含まれ前記第１の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第２のタイプを判断することは前記第２のタイプが前記第１のタイプとは異なると判断することを備える、請求項１７に記載の方法。
【請求項２０】
前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、請求項１５に記載の方法。
【請求項２１】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ピクチャ順序カウント（ＰＯＣ）値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項１５に記載の方法。
【請求項２２】
前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化することをさらに備える、請求項２１に記載の方法。
【請求項２３】
前記現在の動きベクトルを符号化することが、前記現在の動きベクトルによって参照される第１の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第２の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、請求項２２に記載の方法。
【請求項２４】
前記現在の動きベクトルを符号化することが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを符号化することを備え、前記方法が、ＡＭＶＰを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、請求項１５に記載の方法。
【請求項２５】
前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化することをさらに備える、請求項１５に記載の方法。
【請求項２６】
前記データを符号化することが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを符号化することを備える、請求項２５に記載の方法。
【請求項２７】
前記データを符号化することが、マルチビュービデオ符号化（ＭＶＣ）拡張のための拡張ビットと、３次元ビデオ（３ＤＶ）拡張のための拡張ビットと、サブセットシーケンスパラメータセット（ＳＰＳ）と、ビデオパラメータセット（ＶＰＳ）とのうちの少なくとも１つの中の前記データを符号化することを備える、請求項２５に記載の方法。
【請求項２８】
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第１のタイプを判断することは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断することを備える、請求項１５に記載の方法。
【請求項２９】
ビデオデータを復号するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することとを行うように構成されたビデオデコーダを備えるデバイス。
【請求項３０】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオデコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号するように構成された、請求項２９に記載のデバイス。
【請求項３１】
前記ビデオデコーダが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第１のタイプを判断するように構成され、前記ビデオデコーダが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断するように構成された、請求項２９に記載のデバイス。
【請求項３２】
前記ビデオデコーダが、前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、請求項２９に記載のデバイス。
【請求項３３】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ＰＯＣ値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項２９に記載のデバイス。
【請求項３４】
前記ビデオデコーダが、前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号するようにさらに構成された、請求項３３に記載のデバイス。
【請求項３５】
前記現在の動きベクトルを復号するために、前記ビデオデコーダが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを復号するように構成され、ＡＭＶＰを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、請求項２９に記載のデバイス。
【請求項３６】
前記ビデオデコーダが、前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号するように構成された、請求項２９に記載のデバイス。
【請求項３７】
前記データが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを備える、請求項３６に記載のデバイス。
【請求項３８】
前記ビデオデコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第１のタイプを判断するために、前記ビデオデコーダは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断するように構成された、請求項２９に記載のデバイス。
【請求項３９】
前記ビデオデコーダが、前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成された、請求項２９に記載のデバイス。
【請求項４０】
前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成されたビデオエンコーダをさらに備える、請求項２９に記載のデバイス。
【請求項４１】
前記デバイスが、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、請求項２９に記載のデバイス。
【請求項４２】
ビデオデータを符号化するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することとを行うように構成されたビデオエンコーダを備えるデバイス。
【請求項４３】
前記第１のタイプが視差動きベクトルを備え、前記第２のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオエンコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化するように構成された、請求項４２に記載のデバイス。
【請求項４４】
前記ビデオエンコーダが、前記現在の動きベクトルによって参照される第１の参照ピクチャが属する第１の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第１のタイプを判断するように構成され、前記ビデオエンコーダが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャが属する第２の参照ピクチャサブセットに基づいて前記第２のタイプを判断するように構成された、請求項４２に記載のデバイス。
【請求項４５】
前記ビデオエンコーダが、前記変数を設定するより前に、前記第１のタイプが前記第２のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、請求項４２に記載のデバイス。
【請求項４６】
前記現在の動きベクトルのための前記第１のタイプが、前記現在の動きベクトルによって参照される第１の参照ピクチャの現在の参照ＰＯＣ値が前記現在のブロックを含む現在のピクチャの現在のＰＯＣ値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第２のタイプが、前記候補動きベクトル予測子によって参照される第２の参照ピクチャの候補参照ＰＯＣ値が前記現在のＰＯＣ値と同じであるかどうかを表す
請求項４２に記載のデバイス。
【請求項４７】
前記ビデオエンコーダが、前記現在の参照ＰＯＣ値と前記候補参照ＰＯＣ値とのうちの少なくとも１つが前記現在のＰＯＣ値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化するようにさらに構成された、請求項４６に記載のデバイス。
【請求項４８】
前記現在の動きベクトルを符号化するために、前記ビデオエンコーダが、高度動きベクトル予測（ＡＭＶＰ）モードとマージモードとのうちの少なくとも１つを使用して前記現在の動きベクトルを符号化するように構成され、ＡＭＶＰを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのＡＭＶＰ候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、請求項４２に記載のデバイス。
【請求項４９】
前記ビデオエンコーダが、前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測（ＴＭＶＰ）モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化するように構成された、請求項４２に記載のデバイス。
【請求項５０】
前記データが、ｄｉｓａｂｌｅ＿ｉｎｔｅｒ＿ｖｉｅｗ＿ａｓ＿ｔｍｖｐ＿ｆｌａｇを備える、請求項４９に記載のデバイス。
【請求項５１】
前記ビデオエンコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット（ＲＰＳ）サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第１のタイプを判断するために、前記ビデオエンコーダは、前記第１のタイプが前記ＲＰＳサブセットのための前記タイプに等しいと判断するように構成された、請求項４２に記載のデバイス。
【請求項５２】
前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成されたビデオデコーダをさらに備える、請求項４２に記載のデバイス。
【請求項５３】
前記ビデオエンコーダが、前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成された、請求項４２に記載のデバイス。
【請求項５４】
ビデオデータを符号化するためのデバイスであって、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断するための手段と、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断するための手段と、
前記候補動きベクトル予測子が利用可能であるかどうかを表す変数が前記候補動きベクトル予測子が利用可能であることを示す値に最初に設定された後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定するための手段と、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化するための手段と
を備える、デバイス。
【請求項５５】
実行されたとき、プロセッサに、
ビデオデータの現在のブロックの現在の動きベクトルのための第１のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第２のタイプを判断することと、
前記候補動きベクトル予測子が利用可能であることを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を最初に設定した後、前記第１のタイプが前記第２のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【国際調査報告】
2015514342.tif 000043
2015514342.tif 000044
2015514342.tif 000045