(57)【要約】  本願の複数の実施形態は、動き情報を予測するための復号方法及び復号装置に関連する。方法は、ビットストリームを解析して第１の識別子を取得する段階と、第１の識別子に基づいて、第１の候補のセットからターゲット要素を決定する段階であって、第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び複数の第２の候補の動き情報を含み、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む、段階と、ターゲット要素が第１の候補の動き情報であるとき、ターゲット動き情報として第１の候補の動き情報を用いる段階であって、ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられる、段階と、ターゲット要素が複数の第２の候補の動き情報に基づいて取得されるとき、ビットストリームを解析して第２の識別子を取得する段階、並びに、第２の識別子及び複数の第２の候補の動き情報のうちの１つに基づいて、ターゲット動き情報を決定する段階とを備える。
2022500910.tif 000002
【特許請求の範囲】
【請求項１】
動き情報を予測するための復号方法であって、
ビットストリームを解析して第１の識別子を取得する段階と、
前記第１の識別子に基づいて、第１の候補のセットからターゲット要素を決定する段階であって、前記第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び複数の第２の候補の動き情報を含み、前記第１の候補の動き情報は第１の動き情報を含み、前記第２の候補の動き情報は予め設定された動き情報オフセットを含む、段階と、
前記ターゲット要素が前記第１の候補の動き情報であるとき、ターゲット動き情報として前記第１の候補の動き情報を用いる段階であって、前記ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられる、段階、又は
前記ターゲット要素が前記複数の第２の候補の動き情報に基づいて取得されるとき、前記ビットストリームを解析して第２の識別子を取得する段階、並びに、前記第２の識別子及び前記複数の第２の候補の動き情報のうちの１つに基づいて、前記ターゲット動き情報を決定する段階と
を備える、方法。
【請求項２】
前記第１の候補の動き情報は、前記処理されるべき画像ブロックに空間的に隣接する画像ブロックの動き情報を含む、請求項１に記載の方法。
【請求項３】
前記第２の候補の動き情報は、前記第１の動き情報及び前記予め設定された動き情報オフセットに基づいて取得される、請求項１又は２に記載の方法。
【請求項４】
前記第２の識別子及び前記複数の第２の候補の動き情報のうちの１つに基づいて、前記ターゲット動き情報を決定する前記段階は、
前記第２の識別子に基づいて、複数の予め設定された動き情報オフセットからターゲットオフセットを決定する段階と、
前記第１の動き情報及び前記ターゲットオフセットに基づいて、前記ターゲット動き情報を決定する段階と
を有する、請求項１又は２に記載の方法。
【請求項５】
前記少なくとも１つの第１の候補の動き情報において、前記第１の動き情報を識別するために用いられる符号化コードワードは、最短コードワードである、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記ターゲット要素が前記複数の第２の候補の動き情報に基づいて取得されるとき、前記方法は、
前記ビットストリームを解析して第３の識別子を取得する段階であって、前記第３の識別子は、予め設定された係数を含む、段階
をさらに備える、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記第２の識別子及び前記複数の第２の候補の動き情報のうちの１つに基づいて、前記ターゲット動き情報を決定する前記段階の前に、前記方法は、
複数の予め設定された動き情報オフセットに前記予め設定された係数を乗算して、複数の調整された動き情報オフセットを取得する段階
をさらに備える、請求項６に記載の方法。
【請求項８】
前記ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられることは、
前記処理されるべき画像ブロックの前記動き情報として前記ターゲット動き情報を用いる段階、又は
前記処理されるべき画像ブロックの予測動き情報として前記ターゲット動き情報を用いる段階
を含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
固定長の符号化モードが前記第２の識別子に用いられる、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
可変長の符号化モードが前記第２の識別子に用いられる、請求項１から８のいずれか一項に記載の方法。
【請求項１１】
動き情報を予測するための復号装置であって、
ビットストリームを解析して第１の識別子を取得するよう構成される解析モジュールと、
前記第１の識別子に基づいて、第１の候補のセットからターゲット要素を決定するよう構成される決定モジュールであって、前記第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び複数の第２の候補の動き情報を含み、前記第１の候補の動き情報は第１の動き情報を含み、前記第２の候補の動き情報は予め設定された動き情報オフセットを含む、決定モジュールと
前記ターゲット要素が前記第１の候補の動き情報であるとき、ターゲット動き情報として前記第１の候補の動き情報を用いるよう構成される割り当てモジュールであって、前記ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられる、割り当てモジュールと
を備え、
前記解析モジュールは、前記ターゲット要素が前記複数の第２の候補の動き情報に基づいて取得されるとき、前記ビットストリームを解析して第２の識別子を取得し、並びに、前記第２の識別子及び前記複数の第２の候補の動き情報のうちの１つに基づいて、前記ターゲット動き情報を決定するようさらに構成される、
装置。
【請求項１２】
前記第１の候補の動き情報は、前記処理されるべき画像ブロックに空間的に隣接する画像ブロックの動き情報を含む、請求項１１に記載の装置。
【請求項１３】
前記第２の候補の動き情報は、前記第１の動き情報及び前記予め設定された動き情報オフセットに基づいて取得される、請求項１１又は１２に記載の装置。
【請求項１４】
前記解析モジュールは、
前記第２の識別子に基づいて、複数の予め設定された動き情報オフセットからターゲットオフセットを決定し、
前記第１の動き情報及び前記ターゲットオフセットに基づいて、前記ターゲット動き情報を決定する
よう特に構成される、請求項１１又は１２に記載の装置。
【請求項１５】
前記少なくとも１つの第１の候補の動き情報において、前記第１の動き情報を識別するために用いられる符号化コードワードは、最短コードワードである、請求項１１から１４のいずれか一項に記載の装置。
【請求項１６】
前記ターゲット要素が前記複数の第２の候補の動き情報に基づいて取得されるとき、前記解析モジュールは、前記ビットストリームを解析して第３の識別子を取得するようさらに構成され、前記第３の識別子は、予め設定された係数を含む、請求項１１から１５のいずれか一項に記載の装置。
【請求項１７】
前記装置は、
複数の予め設定された動き情報オフセットに前記予め設定された係数を乗算して、複数の調整された動き情報オフセットを取得するよう構成される計算モジュール
をさらに備える、請求項１６に記載の装置。
【請求項１８】
前記決定モジュールは、
前記処理されるべき画像ブロックの前記動き情報として前記ターゲット動き情報を用いる、又は
前記処理されるべき画像ブロックの予測動き情報として前記ターゲット動き情報を用いる
よう特に構成される、請求項１１から１７のいずれか一項に記載の装置。
【請求項１９】
固定長の符号化モードが前記第２の識別子に用いられる、請求項１１から１８のいずれか一項に記載の装置。
【請求項２０】
可変長の符号化モードが前記第２の識別子に用いられる、請求項１１から１８のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年９月１３日に中国国家知識産権局に出願され、「ビデオ符号化及び復号のための方法及び装置」と題された中国特許出願第２０１８１１０６８９５７．４号に対する優先権、及び、２０１８年１０月２６日に中国国家知識産権局に出願され、「動き情報を予測するための復号方法及び復号装置」と題された中国特許出願第２０１８１１２６４６７４．７号に対する優先権を主張し、それらの全体が参照により本明細書に組み込まれる。
【０００２】
本願は、ビデオ符号化及び復号技術の分野に関連し、特に、動き情報を予測するための復号方法及び復号装置に関連する。
【背景技術】
【０００３】
デジタルビデオ技術は、デジタルテレビ、デジタルライブブロードキャストシステム、無線ブロードキャストシステム、パーソナルデジタルアシスタント（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ，  ＰＤＡ）、ノートブックコンピュータ、タブレットコンピュータ、ｅ−ブックリーダ、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤ、ビデオゲーム装置、ビデオゲームコンソール、セルラ又は衛星無線電話、ビデオ会議装置、ビデオストリーミング送信装置及び同類のものを含む様々な装置に広く適用され得る。デジタルビデオ装置は、ビデオ復号技術を実装することによって、デジタルビデオ情報を効率的に送信、受信、符号化、復号、及び／又は格納し得る。
【０００４】
ビデオ復号技術において、ビデオ圧縮技術は、特に重要である。ビデオ圧縮技術において、ビデオシーケンスにおける固有の冗長情報が、空間（イントラ）予測及び／又は時間（インター）予測を実行することによって減少又は除去され得る。ビデオ圧縮の基本原理は、空間領域と、時間領域と、コードワードとの間の相関に基づいて、可能な限り冗長性を除外することである。現在、普及している方法は、予測（イントラ予測及びインター予測を含む）、変換、量子化、及びエントロピー符号化等の段階を実行することによってビデオ圧縮符号化を実装するために、ブロックベースのハイブリッドビデオ符号化フレームワークを用いることである。
【０００５】
インター予測は、ビデオの時間領域の冗長性を効率的に除去するという目的を実現するために、ビデオの時間領域の相関を用いること、及び、隣接する符号化された画像のピクセルを用いることによって、現在の画像のピクセルを予測することである。インター予測の間、各画像ブロックの予測動き情報は、候補の動き情報のリストから決定され、その結果、画像ブロックの予測ブロックが、動き補償処理を用いることによって生成される。動き情報は、基準画像情報及び動きベクトルを含む。基準画像情報は、単方向／双方向予測情報と、基準画像のリストと、基準画像のリストに対応する基準画像のインデックスとを含む。動きベクトルは、水平方向及び垂直方向における位置のシフトを指す。
【０００６】
現在、マージ（Ｍｅｒｇｅ）モード、アフィンマージ（Ａｆｆｉｎｅ  Ｍｅｒｇｅ）モード、高度な動きベクトル予測（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ，ＡＭＶＰ）モード、アフィン高度な動きベクトル予測（Ａｆｆｉｎｅ  ＡＭＶＰ）モード、及び同類のものを含む、多くのインター予測の方法が存在する。
【０００７】
インター予測の精度を改善するために、より多くの候補が導入されるとき、候補の動き情報のリストの長さがより長くなり、これは、検出処理及びハードウェア実装に好ましくない。
【発明の概要】
【０００８】
本願の複数の実施形態は、より多くの候補の動き情報が導入されるときに候補の動き情報のリストの長さを効率的に制御するために、動き情報を予測するための復号方法及び復号装置を提供する。
【０００９】
前述の目的を実現するために、以下の技術的解決手段が本願の複数の実施形態で用いられる。
【００１０】
本願の複数の実施形態の第１の態様において、動き情報を予測するための復号方法が提供され、当該方法は、ビットストリームを解析して第１の識別子を取得する段階と、第１の識別子に基づいて、第１の候補のセットからターゲット要素を決定する段階であって、第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び複数の第２の候補の動き情報を含み、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む、段階と、ターゲット要素が第１の候補の動き情報であるとき、ターゲット動き情報として、ターゲット要素としての機能を果たす第１の候補の動き情報を用いる段階であって、ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられる、段階、又は、ターゲット要素が複数の第２の候補の動き情報に基づいて取得されるとき、ビットストリームを解析して第２の識別子を取得する段階、並びに、第２の識別子及び複数の第２の候補の動き情報のうちの１つに基づいて、ターゲット動き情報を決定する段階とを備える。
【００１１】
本願で提供される動き情報を予測するための復号方法によれば、第１の候補のセット内の要素は、第１の候補の動き情報及び複数の第２の候補の動き情報を含む。このように、マルチレイヤの候補のセットの構造において、より多くの候補が導入されるとき、１つのタイプの候補の動き情報のセットが、１つの要素として用いられ得、第１の候補のセットに追加され得る。候補の動き情報を第１の候補のセットに直接追加する場合と比較して、本願における解決手段は、第１の候補のセット長さを大幅に短くする。第１の候補のセットがインター予測の候補の動き情報のリストであるとき、たとえ、より多くの候補が導入されても、候補の動き情報のリストの長さが十分に制御され得、それによって、検出処理及びハードウェア実装を促進する。
【００１２】
第１の態様の実行可能な実装において、第１の識別子は、ターゲット要素が属するカテゴリを示すために用いられるカテゴリ識別子であり得る。
【００１３】
第１の態様の実行可能な実装において、本願の複数の実施形態で提供される動き情報を予測するための復号方法は、ビットストリームを解析して第４の識別子を取得する段階であって、第４の識別子は、第１の候補のセット内の第１の識別子によって示されるカテゴリにおけるターゲット要素のインデックスである、段階をさらに備え得る。この実装において、ターゲット要素は、第４の識別子及び第１の識別子を用いることによって一意に決定される。
【００１４】
第１の態様の実行可能な実装において、第１の候補の動き情報は、処理されるべき画像ブロックに空間的に隣接する画像ブロックの動き情報を含む。
【００１５】
第１の態様の実行可能な実装において、第１の候補の動き情報は、マージモードで生成された候補の動き情報であり得る。
【００１６】
第１の態様の実行可能な実装において、第２の候補の動き情報は、第１の動き情報及び予め設定された動き情報オフセットに基づいて取得される。
【００１７】
第１の態様の実行可能な実装において、第２の識別子及び複数の第２の候補の動き情報の１つに基づいて、ターゲット動き情報を決定する段階は、第２の識別子に基づいて、複数の予め設定された動き情報オフセットからターゲットオフセットを決定する段階と、第１の動き情報及びターゲットオフセットに基づいて、ターゲット動き情報を決定する段階とを有する。
【００１８】
第１の態様の実行可能な実装において、少なくとも１つの第１の候補の動き情報において、第１の動き情報を識別するために用いられる符号化コードワードは、最短コードワードである。
【００１９】
第１の態様の実行可能な実装において、ターゲット要素が複数の第２の候補の動き情報に基づいて取得されるとき、本願で提供される動き情報を予測するための復号方法は、ビットストリームを解析して第３の識別子を取得する段階であって、第３の識別子は、予め設定された係数を含む、段階をさらに備え得る。
【００２０】
第１の態様の実行可能な実装において、第２の識別子及び複数の第２の候補の動き情報のうちの１つに基づいて、ターゲット動き情報を決定する段階の前に、方法は、複数の予め設定された動き情報オフセットに予め設定された係数を乗算して、複数の調整された動き情報オフセットを取得する段階をさらに備える。
【００２１】
第１の態様の実行可能な実装において、ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられることは、処理されるべき画像ブロックの動き情報としてターゲット動き情報を用いる段階、又は処理されるべき画像ブロックの予測動き情報としてターゲット動き情報を用いる段階を含む。処理されるべき画像ブロックの動き情報又は予測動き情報が取得された後、画像ブロック又は処理されるべき画像ブロックの予測ブロックを生成するために、動き補償が実行される。
【００２２】
第１の態様の実行可能な実装において、固定長の符号化モードが第２の識別子に用いられ得、その結果、識別子によって占有されるバイト数が減少し得る。
【００２３】
第１の態様の実行可能な実装において、可変長の符号化モードが第２の識別子に用いられ得、その結果、より多くの候補の動き情報が識別され得る。
【００２４】
本願の複数の実施形態の第２の態様において、他の動き情報を予測するための復号方法が提供され、当該方法は、ビットストリームを解析して第１の識別子を取得する段階と、第１の識別子に基づいて、第１の候補のセットからターゲット要素を決定する段階であって、第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び少なくとも１つの第２の候補のセットを含み、第２の候補のセット内の要素は複数の第２の候補の動き情報を含む、段階と、ターゲット要素が第１の候補の動き情報であるとき、ターゲット動き情報として、ターゲット要素としての機能を果たす第１の候補の動き情報を用いる段階であって、ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられる、段階、又は、ターゲット要素が第２の候補のセットであるとき、ビットストリームを解析して第２の識別子を取得する段階、並びに、第２の識別子に基づいて、複数の第２の候補の動き情報からターゲット動き情報を決定する段階とを備える。
【００２５】
本願で提供される動き情報を予測するための復号方法によれば、第１の候補のセット内の要素は、第１の候補の動き情報及び少なくとも１つの第２の候補のセットを含む。このように、マルチレイヤの候補のセットの構造において、より多くの候補が導入されるとき、１つのタイプの候補の動き情報のセットが、１つの要素として用いられ得、第１の候補のセットに追加され得る。候補の動き情報を第１の候補のセットに直接追加する場合と比較して、本願における解決手段は、第１の候補のセットの長さを大幅に短くする。第１の候補のセットがインター予測の候補の動き情報のリストであるとき、たとえ、より多くの候補が導入されても、候補の動き情報のリストの長さが十分に制御され得、それによって、検出処理及びハードウェア実装を促進する。
【００２６】
第２の態様の実行可能な実装において、第１の識別子は、ターゲット要素が属するカテゴリを示すために用いられるカテゴリ識別子であり得る。
【００２７】
第２の態様の実行可能な実装において、本願の複数の実施形態で提供される動き情報を予測するための復号方法は、ビットストリームを解析して第４の識別子を取得する段階であって、第４の識別子は、第１の候補のセット内の第１の識別子によって示されるカテゴリにおけるターゲット要素のインデックスである、段階をさらに備え得る。この実装において、ターゲット要素は、第４の識別子及び第１の識別子を用いることによって一意に決定される。
【００２８】
第２の態様の実行可能な実装において、第１の候補の動き情報は、処理されるべき画像ブロックに空間的に隣接する画像ブロックの動き情報を含む。
【００２９】
第２の態様の実行可能な実装において、第１の候補の動き情報は、マージモードで生成された候補の動き情報であり得る。
【００３０】
第２の態様の実行可能な実装において、第２の候補の動き情報は、処理されるべき画像ブロックに空間的に隣接しない画像ブロックの動き情報を含む。
【００３１】
第２の態様の実行可能な実装において、第２の候補の動き情報は、アフィンマージモードで生成された候補の動き情報であり得る。
【００３２】
第２の態様の実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は第２の動き情報を含み、第２の動き情報は、第１の動き情報及び予め設定された動き情報オフセットに基づいて取得される。
【００３３】
第２の態様の実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む。それに対応して、第２の識別子に基づいて、複数の第２の候補の動き情報からターゲット動き情報を決定する段階は、第２の識別子に基づいて、複数の予め設定された動き情報オフセットからターゲットオフセットを決定する段階と、第１の動き情報及びターゲットオフセットに基づいて、ターゲット動き情報を決定する段階とを有する。
【００３４】
第２の態様の実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、第１の候補のセットに含まれる少なくとも１つの第２の候補のセットは複数の第２の候補のセットであり、複数の第２の候補のセットは少なくとも１つの第３の候補のセット及び少なくとも１つの第４の候補のセットを含み、第３の候補のセット内の要素は複数の処理されるべき画像ブロックに空間的に隣接しない画像ブロックの動き情報を含み、第４の候補のセット内の要素は第１の動き情報及び予め設定された動き情報オフセットに基づいて取得される複数の動き情報を含む。
【００３５】
第２の態様の実行可能な実装において、少なくとも１つの第１の候補の動き情報において、第１の動き情報を識別するために用いられる符号化コードワードは、最短コードワードである。
【００３６】
第２の態様の実行可能な実装において、第１の動き情報は、代替の時間の動きベクトル予測（ａｌｔｅｒｎａｔｉｖｅ  ｔｅｍｐｏｒａｌ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｉｏｎ，ＡＴＭＶＰ）モードで取得された動き情報を含まない。
【００３７】
第２の態様の実行可能な実装において、第１の候補のセットに含まれる少なくとも１つの第２の候補のセットは複数の第２の候補のセットであり、複数の第２の候補のセットは少なくとも１つの第５の候補のセット及び少なくとも１つの第６の候補のセットを含み、第５の候補のセット内の要素は複数の処理されるべき画像ブロックに空間的に隣接しない画像ブロックの動き情報を含み、第６の候補のセット内の要素は複数の予め設定された動き情報オフセットを含む。
【００３８】
第２の態様の実行可能な実装において、ターゲット要素が第２の候補のセットであるとき、本願で提供される動き情報を予測するための復号方法は、ビットストリームを解析して第３の識別子を取得する段階であって、第３の識別子は、予め設定された係数を含む、段階をさらに備え得る。
【００３９】
第２の態様の実行可能な実装において、第２の識別子に基づいて、複数の予め設定された動き情報オフセットからターゲットオフセットを決定する段階の前に、方法は、複数の予め設定された動き情報オフセットに、第３の識別子に含まれる予め設定された係数を乗算し、複数の調整された動き情報オフセットを取得する段階をさらに備え、それに対応して、第２の識別子に基づいて、複数の予め設定された動き情報オフセットからターゲットオフセットを決定する段階は、第２の識別子に基づいて、予め設定された係数に基づいて調整された複数の調整された動き情報オフセットからターゲットオフセットを決定する段階を含む。
【００４０】
第２の態様の実行可能な実装において、第２の候補の動き情報は、第１の候補の動き情報とは異なる。特に、第１の候補の動き情報及び第２の候補の動き情報は、異なるインター予測モードに従って選択され得る。
【００４１】
第２の態様の実行可能な実装において、ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられることは、処理されるべき画像ブロックの動き情報としてターゲット動き情報を用いる段階、又は処理されるべき画像ブロックの予測動き情報としてターゲット動き情報を用いる段階を含む。処理されるべき画像ブロックの動き情報又は予測動き情報が取得された後、画像ブロック又は処理されるべき画像ブロックの予測ブロックを生成するために、動き補償が実行される。
【００４２】
第２の態様の実行可能な実装において、固定長の符号化モードが第２の識別子に用いられ得、その結果、識別子によって占有されるバイト数が減少し得る。
【００４３】
第２の態様の実行可能な実装において、可変長の符号化モードが第２の識別子に用いられ得、その結果、より多くの候補の動き情報が識別され得る。
【００４４】
第１の態様及び第２の態様で提供される動き情報を予測するための復号方法の特定の実装について、参照がお互いに行われ得、詳細が本明細書で再び説明されないことが留意されるべきである。
【００４５】
本願の複数の実施形態の第３の態様において、動き情報を予測するための復号装置が提供され、当該復号装置は、ビットストリームを解析して第１の識別子を取得するよう構成される解析モジュールと、第１の識別子に基づいて、第１の候補のセットからターゲット要素を決定するよう構成される決定モジュールであって、第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び複数の第２の候補の動き情報を含み、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む、る決定モジュールと、ターゲット要素が第１の候補の動き情報であるとき、ターゲット動き情報として第１の候補の動き情報を用いるよう構成される割り当てモジュールであって、ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられる、割り当てモジュールとを備え、解析モジュールは、ターゲット要素が複数の第２の候補の動き情報に基づいて取得されるとき、ビットストリームを解析して第２の識別子を取得し、並びに、第２の識別子及び複数の第２の候補の動き情報のうちの１つに基づいて、ターゲット動き情報を決定するようさらに構成される。
【００４６】
本願で提供される動き情報を予測するための復号装置によれば、第１の候補のセット内の要素は、第１の候補の動き情報及び複数の第２の候補の動き情報を含む。このように、マルチレイヤの候補のセットの構造において、より多くの候補が導入されるとき、１つのタイプの候補の動き情報のセットが、１つの要素として用いられ得、第１の候補のセットに追加され得る。候補の動き情報を第１の候補のセットに直接追加する場合と比較して、本願における解決手段は、第１の候補のセットの長さを大幅に短くする。第１の候補のセットがインター予測の候補の動き情報のリストであるとき、たとえ、より多くの候補が導入されても、候補の動き情報のリストの長さが十分に制御され得、それによって、検出処理及びハードウェア実装を促進する。
【００４７】
第３の態様の実行可能な実装において、第１の候補の動き情報は、処理されるべき画像ブロックに空間的に隣接する画像ブロックの動き情報を含み得る。
【００４８】
第３の態様の実行可能な実装において、第２の候補の動き情報は、第１の動き情報及び予め設定された動き情報オフセットに基づいて取得される。
【００４９】
第３の態様の実行可能な実装において、解析モジュールは、第２の識別子に基づいて、複数の予め設定された動き情報オフセットからターゲットオフセットを決定し、第１の動き情報及びターゲットオフセットに基づいて、ターゲット動き情報を決定するよう特に構成される。
【００５０】
第３の態様の実行可能な実装において、少なくとも１つの第１の候補の動き情報において、第１の動き情報を識別するために用いられる符号化コードワードは、最短コードワードである。
【００５１】
第３の態様の実行可能な実装において、ターゲット要素が複数の第２の候補の動き情報に基づいて取得されるとき、解析モジュールは、ビットストリームを解析して第３の識別子を取得するようさらに構成され、第３の識別子は、予め設定された係数を含む。
【００５２】
第３の態様の実行可能な実装において、装置は、複数の予め設定された動き情報オフセットに予め設定された係数を乗算して、複数の調整された動き情報オフセットを取得するよう構成される計算モジュールをさらに備える。
【００５３】
第３の態様の実行可能な実装において、決定モジュールは、第２の識別子に基づいて、計算モジュールによって取得される複数の調整された動き情報オフセットからターゲットオフセットを決定し、第１の動き情報及びターゲットオフセットに基づいて、ターゲット動き情報を決定するよう特に構成される。
【００５４】
第３の態様の実行可能な実装において、決定モジュールは、処理されるべき画像ブロックの動き情報としてターゲット動き情報を用いる、又は処理されるべき画像ブロックの予測動き情報としてターゲット動き情報を用いるよう特に構成される。
【００５５】
第３の態様の実行可能な実装において、固定長の符号化モードが第２の識別子に用いられる。
【００５６】
第３の態様の実行可能な実装において、可変長の符号化モードが第２の識別子に用いられる。
【００５７】
本願の複数の実施形態の第３の態様で提供される動き情報を予測するための復号装置は、第１の態様で提供される動き情報を予測するための復号方法を実行するよう構成されることが留意されるべきである。特定の実装が同一であり、詳細が本明細書で再び説明されない。
【００５８】
本願の複数の実施形態の第４の態様において、動き情報を予測するための復号装置が提供され、当該復号装置は、ビットストリームを解析して第１の識別子を取得するよう構成される解析モジュールと、第１の識別子に基づいて、第１の候補のセットからターゲット要素を決定するよう構成される決定モジュールであって、第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び少なくとも１つの第２の候補のセットを含み、第２の候補のセット内の要素は複数の第２の候補の動き情報を含む、決定モジュールと、ターゲット要素が第１の候補の動き情報であるとき、ターゲット動き情報として第１の候補の動き情報を用いるよう構成される割り当てモジュールであって、ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられる、割り当てモジュールとを備える。解析モジュールは、ターゲット要素が第２の候補のセットであるとき、ビットストリームを解析して第２の識別子を取得するようさらに構成され、決定モジュールは、第２の識別子に基づいて、複数の第２の候補の動き情報からターゲット動き情報を決定するようさらに構成される。
【００５９】
本願で提供される動き情報を予測するための復号装置によれば、第１の候補のセット内の要素は、第１の候補の動き情報及び少なくとも１つの第２の候補のセットを含む。このように、マルチレイヤの候補のセットの構造において、より多くの候補が導入されるとき、１つのタイプの候補の動き情報のセットが、１つの要素として用いられ得、第１の候補のセットに追加され得る。候補の動き情報を第１の候補のセットに直接追加する場合と比較して、本願における解決手段は、第１の候補のセットの長さを大幅に短くする。第１の候補のセットがインター予測の候補の動き情報のリストであるとき、たとえ、より多くの候補が導入されても、候補の動き情報のリストの長さが十分に制御され得、それによって、検出処理及びハードウェア実装を促進する。
【００６０】
第４の態様の実行可能な実装において、第１の候補の動き情報は、処理されるべき画像ブロックに空間的に隣接する画像ブロックの動き情報を含み得る。
【００６１】
第４の態様の実行可能な実装において、第２の候補の動き情報は、処理されるべき画像ブロックに空間的に隣接しない画像ブロックの動き情報を含み得る。
【００６２】
第４の態様の実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は第２の動き情報を含み、第２の動き情報は、第１の動き情報及び予め設定された動き情報オフセットに基づいて取得される。
【００６３】
第４の態様の実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む。それに対応して、解析モジュールは、第２の識別子に基づいて、複数の予め設定された動き情報オフセットからターゲットオフセットを決定し、第１の動き情報及びターゲットオフセットに基づいて、ターゲット動き情報を決定するよう特に構成される。
【００６４】
第４の態様の実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、少なくとも１つの第２の候補のセットは複数の第２の候補のセットであり、複数の第２の候補のセットは少なくとも１つの第３の候補のセット及び少なくとも１つの第４の候補のセットを含み、第３の候補のセット内の要素は複数の処理されるべき画像ブロックに空間的に隣接しない画像ブロックの動き情報を含み、第４の候補のセット内の要素は第１の動き情報及び予め設定された動き情報オフセットに基づいて取得される複数の動き情報を含む。
【００６５】
第４の態様の実行可能な実装において、少なくとも１つの第１の候補の動き情報において、第１の動き情報を識別するために用いられる符号化コードワードは、最短コードワードである。
【００６６】
第４の態様の実行可能な実装において、第１の動き情報は、ＡＴＭＶＰモードで取得された動き情報を含まない。
【００６７】
第４の態様の実行可能な実装において、少なくとも１つの第２の候補のセットは複数の第２の候補のセットであり、複数の第２の候補のセットは少なくとも１つの第５の候補のセット及び少なくとも１つの第６の候補のセットを含み、第５の候補のセット内の要素は複数の処理されるべき画像ブロックに空間的に隣接しない画像ブロックの動き情報を含み、第６の候補のセット内の要素は複数の予め設定された動き情報オフセットを含む。
【００６８】
第４の態様の実行可能な実装において、ターゲット要素が第２の候補のセットであるとき、解析モジュールは、ビットストリームを解析して第３の識別子を取得するようさらに構成され、第３の識別子は、予め設定された係数を含む。
【００６９】
第４の態様の実行可能な実装において、復号装置は、複数の予め設定された動き情報オフセットに予め設定された係数を乗算して、複数の調整された動き情報オフセットを取得するよう構成される計算モジュールをさらに備える。それに対応して、決定モジュールは、第２の識別子に基づいて、計算モジュールによって取得される複数の調整された動き情報オフセットからターゲットオフセットを決定し、その後、第１の動き情報及びターゲットオフセットに基づいて、ターゲット動き情報を決定するよう特に構成される。
【００７０】
第４の態様の実行可能な実装において、第２の候補の動き情報は、第１の候補の動き情報とは異なる。
【００７１】
第４の態様の実行可能な実装において、決定モジュールは、処理されるべき画像ブロックの動き情報としてターゲット動き情報を用いる、又は処理されるべき画像ブロックの予測動き情報としてターゲット動き情報を用いるよう特に構成される。
【００７２】
第４の態様の実行可能な実装において、固定長の符号化モードが第２の識別子に用いられる。
【００７３】
第４の態様の実行可能な実装において、可変長の符号化モードが第２の識別子に用いられる。
【００７４】
本願の複数の実施形態の第５の態様において、動き情報を予測するための復号装置が提供され、当該復号装置は、プロセッサと、プロセッサに連結されたメモリとを備える。プロセッサは、第１の態様又は第２の態様における動き情報を予測するための復号方法を実行するよう構成される。
【００７５】
本願の複数の実施形態の第６の態様において、ビデオ復号器が提供され、ビデオ復号器は、不揮発性記憶媒体と、中央処理装置とを備える。不揮発性記憶媒体は、実行可能プログラムを格納する。中央処理装置が不揮発性記憶媒体に接続され、第１の態様、第２の態様、又は可能な実装のうちのいずれか１つの態様における動き情報を予測するための復号方法を実行する。
【００７６】
本願の複数の実施形態の第７の態様において、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は、命令を格納し、命令がコンピュータ上で動作されるとき、コンピュータは、第１の態様又は第２の態様における動き情報を予測するための復号方法を実行することができる。
【００７７】
本願の複数の実施形態の第８の態様において、命令を含むコンピュータプログラム製品が提供される。命令がコンピュータ上で動作されるとき、コンピュータは、第１の態様又は第２の態様における動き情報を予測するための復号方法を実行することができる。
【００７８】
本願の第３の態様から第８の態様までの技術的解決手段が本願の第１の態様又は第２の態様の技術的解決手段と一致し、全ての態様によって実現される有益な効果及び対応する実装可能な設計方法が同様であることが理解されるべきである。詳細が再び説明されない。
【図面の簡単な説明】
【００７９】
【図１】本願の一実施形態で用いるよう構成され得るビデオ符号化システムの一例のブロック図である。
【００８０】
【図２】本願の一実施形態で用いるよう構成され得るビデオ符号器の一例のシステムブロック図である。
【００８１】
【図３】本願の一実施形態で用いるよう構成され得るビデオ復号器の一例のシステムブロック図である。
【００８２】
【図４】本願の一実施形態で用いるよう構成され得るインター予測モジュールの一例のブロック図である。
【００８３】
【図５】マージ予測モードの例示的な実装のフローチャートである。
【００８４】
【図６】高度な動きベクトル予測モードの例示的な実装のフローチャートである。
【００８５】
【図７】本願の一実施形態で用いるよう構成され得る、ビデオ復号器による動き補償の例示的な実装のフローチャートである。
【００８６】
【図８】符号化ユニット及び符号化ユニットと関連している隣接する画像ブロックの一例の概略図である。
【００８７】
【図９】候補の予測動きベクトルのリストを構成する例示的な実装のフローチャートである。
【００８８】
【図１０】結合された候補の動きベクトルをマージモードの候補の予測動きベクトルのリストに追加する例示的な実装の概略図である。
【００８９】
【図１１】スケーリングされた候補の動きベクトルをマージモードの候補の予測動きベクトルのリストに追加する例示的な実装の概略図である。
【００９０】
【図１２】ゼロ動きベクトルをマージモードの候補の予測動きベクトルのリストに追加する例示的な実装の概略図である。
【００９１】
【図１３】他の符号化ユニット及び符号化ユニットと関連している隣接する画像ブロックの一例の概略図である。
【００９２】
【図１４Ａ】候補の動きベクトルのセットを構成するための方法の一例の概略図である。
【００９３】
【図１４Ｂ】候補の動きベクトルのセットを構成するための方法の一例の概略図である。
【００９４】
【図１５】本願の一実施形態による、動き情報を予測するための復号方法の概略フローチャートである。
【００９５】
【図１６Ａ】候補の動きベクトルのセットを構成するための方法の一例の概略図である。
【００９６】
【図１６Ｂ】候補の動きベクトルのセットを構成するための方法の一例の概略図である。
【００９７】
【図１６Ｃ】候補の動きベクトルのセットを構成するための方法の一例の概略図である。
【００９８】
【図１７】本願の一実施形態による、動き情報を予測するための復号装置の概略ブロック図である。
【００９９】
【図１８】本願の一実施形態による、動き情報を予測するための復号装置の概略ブロック図である。
【発明を実施するための形態】
【０１００】
本願の明細書、特許請求の範囲、及び添付の図面において、「第１の（ｆｉｒｓｔ）」、「第２の（ｓｅｃｏｎｄ）」、「第３の（ｔｈｉｒｄ）」、及び「第４の（ｆｏｕｒｔｈ）」等の用語は、異なるオブジェクトを区別することを意図しているが、特定の順序を示さない。
【０１０１】
本願の複数の実施形態において、「例（ｅｘａｍｐｌｅ）」又は「例えば（ｆｏｒ  ｅｘａｍｐｌｅ）」等の用語は、例、図、又は説明を与えることを表すために用いられる。本願の複数の実施形態における用語「例」又は「例えば」として説明される任意の実施形態又は設計スキームは、他の実施形態又は設計スキームより好ましいもの、又は、他の実施形態又は設計スキームより多くの利点を有するものとして説明されるべきではない。正確には、「例」又は「例えば」等の用語の使用は、特定の方法に関連した概念を示すことを意図している。
【０１０２】
以下では、本願の複数の実施形態における添付の図面を参照して、本願の複数の実施形態における技術的解決手段を明確に説明する。
【０１０３】
図１は、本願の一実施形態による、ビデオ符号化システム１の一例のブロック図である。本明細書で用いられるように、用語「ビデオコーデック（ｖｉｄｅｏ  ｃｏｄｅｃ）」は、通常、ビデオ符号器及びビデオ復号器を指す。本願において、用語「ビデオ符号化（ｖｉｄｅｏ  ｃｏｄｉｎｇ）」又は「符号化（ｃｏｄｉｎｇ）」は、通常、ビデオ符号化又はビデオ復号を指し得る。ビデオ符号化システム１におけるビデオ符号器１００及びビデオ復号器２００は、複数の新しいインター予測モードのうちのいずれか１つに基づいて、現在の符号化された画像ブロック、又は、現在の符号化された画像ブロックのサブブロックの動き情報、例えば、動きベクトルを予測するよう構成され、その結果、予測動きベクトルは、動き推定方法を用いることによって取得される動きベクトルに最大限に近い。このように動きベクトルの差は、符号化の間に送信される必要がなく、それによって、符号化及び復号のパフォーマンスをさらに改善する。
【０１０４】
図１に示されるように、ビデオ符号化システム１は、発信元装置１０及び宛先装置２０を備える。発信元装置１０は、符号化されたビデオデータを生成する。したがって、発信元装置１０は、ビデオ符号化装置と称され得る。宛先装置２０は、発信元装置１０によって生成された、符号化されたビデオデータを復号し得る。したがって、宛先装置２０は、ビデオ復号器と称され得る。発信元装置１０、宛先装置２０、又は発信元装置１０及び宛先装置２０の両方の様々な実装の解決手段は、１又は複数のプロセッサと、１又は複数のプロセッサに連結されるメモリとを備え得る。本明細書で説明されるように、メモリは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又はコンピュータがアクセス可能な命令若しくはデータ構造の形態で所望のプログラムコードを格納するために用いられ得る任意の他の媒体を備え得るがこれに限定されない。
【０１０５】
発信元装置１０及び宛先装置２０は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック（例えば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、「スマート（ｓｍａｒｔ）」フォン等のハンドヘルド電話機、テレビセット、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車両搭載コンピュータ、及び同様の装置を含む様々な装置を備え得る。
【０１０６】
宛先装置２０は、リンク３０を通じて発信元装置１０から符号化されたビデオデータを受信し得る。リンク３０は、発信元装置１０から宛先装置２０に符号化されたビデオデータを転送し得る１若しくは複数の媒体又は装置を備え得る。一例において、リンク３０は、発信元装置１０がリアルタイムで符号化されたビデオデータを宛先装置２０に直接送信することを可能にする１又は複数の通信媒体を備え得る。この例において、発信元装置１０は、通信規格（例えば、無線通信プロトコル）に従って符号化されたビデオデータを変調し得、変調されたビデオデータを宛先装置２０に送信し得る。１又は複数の通信媒体は、無線及び／又は有線通信媒体、例えば、無線周波数（ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ，ＲＦ）スペクトル、又は、１若しくは複数の物理的な伝送線、を備え得る。１又は複数の通信媒体は、パケットベースのネットワークの一部であり得、パケットベースのネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク（例えば、インターネット）である。１又は複数の通信媒体は、ルータ、スイッチ、基地局、又は、発信元装置１０から宛先装置２０への通信を促進する他のデバイスを備え得る。
【０１０７】
他の例において、符号化されたデータは、出力インタフェース１４０を通じて記憶装置４０に出力され得る。同様に、符号化されたデータは、入力インタフェース２４０を通じて記憶装置４０からアクセスされ得る。記憶装置４０は、複数の分配されたデータ記憶媒体又はローカルにアクセスされるデータ記憶媒体のうちのいずれか１つ、例えば、ハードドライブ、ブルーレイ、デジタル多用途ディスク（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ，ＤＶＤ）、コンパクトディスクリードオンリーメモリ（ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ，ＣＤ−ＲＯＭ）、フラッシュメモリ、揮発性若しくは不揮発性メモリ、又は、符号化されたビデオデータを格納するよう構成される任意の他の適切なデジタル記憶媒体、を備え得る。
【０１０８】
他の例において、記憶装置４０は、発信元装置１０によって生成された、符号化されたビデオを維持し得るファイルサーバ又は他の中間記憶装置に対応し得る。宛先装置２０は、ストリーミング送信又はダウンロードを通じて、記憶装置４０から格納されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを格納し、符号化されたビデオデータを宛先装置２０に送信することができる任意のタイプのサーバであり得る。一例において、ファイルサーバは、ネットワークサーバ（例えば、ウェブサイトに用いられる）、ファイル転送プロトコル（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ，ＦＴＰ）サーバ、ネットワークアタッチドストレージ（ｎｅｔｗｏｒｋ  ａｔｔａｃｈｅｄ  ｓｔｏｒａｇｅ，ＮＡＳ）装置、又は、ローカルな磁気ディスクドライブを備える。宛先装置２０は、任意の標準的なデータ接続（インターネット接続を含む）を通じて符号化されたビデオデータにアクセスし得る。標準的なデータ接続は、無線チャネル（例えば、ワイヤレスフィデリティ（ｗｉｒｅｌｅｓｓ−ｆｉｄｅｌｉｔｙ，Ｗｉ−Ｆｉ（登録商標））接続）、有線接続（例えば、デジタル加入者線（ｄｉｇｉｔａｌ  ｓｕｂｓｃｒｉｂｅｒ  ｌｉｎｅ，ＤＳＬ）若しくはケーブルモデム）、又は、ファイルサーバ上に格納された符号化されたビデオデータにアクセスすることに適しているそれらの組み合わせを備え得る。記憶装置４０からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組み合わせであり得る。
【０１０９】
本願の複数の実施形態で提供される動き情報を予測するための復号方法は、複数のマルチメディアアプリケーション、例えば、無線テレビジョン放送、無線テレビ放送、衛星テレビ放送、ストリーミングビデオ送信（例えば、インターネットを通じて）、データ記憶媒体に格納されたビデオデータの符号化、データ記憶媒体に格納されたビデオデータの復号、又は他のアプリケーション、をサポートするためにビデオ符号化に適用され得る。幾つかの例において、ビデオ符号化システム１は、ビデオストリーミング送信、ビデオ再生、ビデオブロードキャスティング、及び／又はテレビ電話等のアプリケーションをサポートするために、単方向又は双方向のビデオ送信をサポートするよう構成され得る。
【０１１０】
図１で説明されるビデオ符号化システム１は、単に一例に過ぎず、本願における技術は、符号化装置と復号装置との間の任意のデータ通信を必ずしも備えないビデオ符号化／復号設定（例えば、ビデオ符号化又はビデオ復号）に適用可能である。他の例において、データは、ローカルメモリから読み出され、ストリーミング方式でネットワーク上で送信され、及び同類のものである。ビデオ符号化装置は、データを符号化してメモリにデータを格納し得、及び／又は、ビデオ復号器は、メモリからデータを読み出してデータを復号し得る。多くの例において、データを符号化してメモリにデータを格納し、及び／又はメモリからデータを読み出してデータを復号するだけで、お互いに通信しない装置は、符号化及び復号を実行する。
【０１１１】
図１における一例において、発信元装置１０は、ビデオ発信元１２０、ビデオ符号器１００、及び出力インタフェース１４０を備える。幾つかの例において、出力インタフェース１４０は、変調器／復調器（モデム）及び／又は送信器を備え得る。ビデオ発信元１２０は、ビデオキャプチャ装置（例えば、カメラ）、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインインタフェース、及び／又はビデオデータを生成するためのコンピュータグラフィックスシステム、又は前述のビデオデータ発信元の組み合わせを備え得る。
【０１１２】
ビデオ符号器１００は、ビデオ発信元１２０からのビデオデータを符号化し得る。幾つかの例において、発信元装置１０は、出力インタフェース１４０を通じて符号化されたビデオデータを宛先装置２０に直接送信する。他の例において、符号化されたビデオデータは、記憶装置４０に代替的に格納され得、その結果、宛先装置２０は、その後、復号及び／又は再生のために符号化されたビデオデータにアクセスする。
【０１１３】
図１における一例において、宛先装置２０は、入力インタフェース２４０、ビデオ復号器２００、及び表示装置２２０を備える。幾つかの例において、入力インタフェース２４０は、受信機及び／又はモデムを備える。入力インタフェース２４０は、リンク３０を通じて及び／又は記憶装置４０から符号化されたビデオデータを受信し得る。表示装置２２０は、宛先装置２０と統合されてもよく、宛先装置２０の外側に配置されてもよい。通常、表示装置２２０は、復号されたビデオデータを表示する。複数のタイプの表示装置２２０が存在し得る。例えば、表示装置２２０は、例えば、液晶ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ，ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ｏｒｇａｎｉｃ  ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ，ＯＬＥＤ）ディスプレイ、又は他のタイプの表示装置であり得る。
【０１１４】
図１に示されていないが、幾つかの態様において、ビデオ符号器１００及びビデオ復号器２００は、オーディオ符号器及びオーディオ復号器にそれぞれ統合され得、結合されたデータストリーム又は別個のデータストリーム内のオーディオ及びビデオを符号化するために、適切なマルチプレクサ−デマルチプレクサユニット、又は他のハードウェア及びソフトウェアを備え得る。幾つかの例において、適用可能である場合、デマルチプレクサ（ＭＵＸ−ＤＥＭＵＸ）ユニットは、国際電気通信連合（ｉｎｔｅｒｎａｔｉｏｎａｌ  ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  ｕｎｉｏｎ，ＩＴＵ）Ｈ．２２３マルチプレクサプロトコル、又は、ユーザデータグラムプロトコル（ｕｓｅｒ  ｄａｔａｇｒａｍ  ｐｒｏｔｏｃｏｌ，ＵＤＰ）等の他プロトコルに従い得る。
【０１１５】
例えば、ビデオ符号器１００及びビデオ復号器２００はそれぞれ、１又は複数のマイクロプロセッサ、デジタル信号処理（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｉｎｇ，ＤＳＰ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ，ＡＳＩＣ）、及びフィールドプログラマブルゲートアレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ，ＦＰＧＡ）、ディスクリートロジック、ハードウェア、又はそれらの任意の組み合わせの複数の回路のうちのいずれか１つとして実装され得る。本願がソフトウェアによって部分的に実装される場合、装置は、適切な不揮発性コンピュータ可読記憶媒体に、ソフトウェアに用いられる命令を格納し得、本願の技術を実装するために、１又は複数のプロセッサを用いてハードウェアで命令を実行し得る。前述の内容（ハードウェア、ソフトウェア、ハードウェア及びソフトウェアの組み合わせ及び同類のものを含む）のうちのいずれか１つが、１又は複数のプロセッサとしてみなされ得る。ビデオ符号器１００及びビデオ復号器２００はそれぞれ、１又は複数の符号器又は復号器に含まれ得、符号器又は復号器は、対応する装置内の結合された符号器／復号器（コーデック）の一部として統合され得る。
【０１１６】
本願において、ビデオ符号器１００は、通常、幾つかの情報を、例えば、ビデオ復号器２００に「シグナリング（ｓｉｇｎａｌｉｎｇ）」又は「送信（ｔｒａｎｓｍｉｔｔｉｎｇ）」する他の装置と称され得る。用語「シグナリング」又は「送信」は、圧縮されたビデオデータを復号するために用いられる構文要素及び／又は他のデータを転送することを大まかに指し得る。送信は、リアルタイムで又はほとんどリアルタイムで発生し得る。代替的に、通信は、一定期間後に発生し得る。例えば、通信は、符号化されたビットストリーム内の構文要素が符号化中にコンピュータ可読記憶媒体に格納されるときに発生し得、復号装置は、その後、構文要素が媒体に格納された後の任意の時間で構文要素を読み出し得る。
【０１１７】
ＪＣＴ−ＶＣは、Ｈ．２６５（高効率ビデオ符号化（ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ，ＨＥＶＣ））規格を策定する。ＨＥＶＣ規格化は、ＨＥＶＣテストモデル（ＨＥＶＣ  ｍｏｄｅｌ，ＨＭ）と呼ばれるビデオ復号器の進化型のモデルに基づいている。最新のＨ．２６５規格文書は、ｈｔｔｐ：／／ｗｗｗ．ｉｔｕ．ｉｎｔ／ｒｅｃ／Ｔ−ＲＥＣ−Ｈ．２６５で利用可能である。規格文書の最新バージョンはＨ．２６５（１２／１６）であり、規格文書はその全体が参照により本明細書に組み込まれる。ＨＭにおいて、ビデオ復号器がＩＴＵ−ＴＨ．２６４／ＡＶＣの既存のアルゴリズムと比較して幾つかの追加の機能を有することが想定される。例えば、Ｈ．２６４は９個のイントラ予測符号化モードを提供し、一方で、ＨＭは最大で３５個までのイントラ予測符号化モードを提供し得る。
【０１１８】
ＪＶＥＴは、Ｈ．２６６規格を策定することに専心している。Ｈ．２６６規格化処理は、ビデオ復号器の進化型のモデルに基づいている。ここで、モデルは、Ｈ．２６６テストモデルと称される。Ｈ．２６６アルゴリズム記述は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｖｅｔで利用可能であり、最新のアルゴリズム記述は、ＪＶＥＴ−Ｆ１００１−ｖ２に含まれる。アルゴリズム記述のドキュメントは、その全体が参照により本明細書に組み込まれる。さらに、ＪＥＭテストモデルに対する基準ソフトウェアは、ｈｔｔｐｓ：／／ｊｖｅｔ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿ＨＭＪＥＭＳｏｆｔｗａｒｅ／で利用可能であり、その全体がまた参照により本明細書に組み込まれる。
【０１１９】
概して、ＨＭの演算モデル記述は、ビデオフレーム又は画像を、輝度及びクロミナンスのサンプルの両方を含む一連のツリーブロック、又は一連の最大符号化ユニット（ｌａｒｇｅｓｔ  ｃｏｄｉｎｇ  ｕｎｉｔ，ＬＣＵ）に分割し得る。ここで、ＬＣＵは、符号化ツリーユニット（ｃｏｄｉｎｇ  ｔｒｅｅ  ｕｎｉｔ，ＣＴＵ）とも称される。ツリーブロックは、Ｈ．２６４規格におけるマクロブロックの機能と同様の機能を有する。スライスは、復号順に幾つかの連続したツリーブロックを含む。ビデオフレーム又は画像は、１又は複数のスライスに分割され得る。各ツリーブロックは、四分木に基づいて符号化ユニットに分割され得る。例えば、四分木のルートノードとしての機能を果たすツリーブロックが４つの子ノードに分割され得、各子ノードは親ノードとしての機能も果たし、４つの他の子ノードに分割され得る。四分木の葉ノードとしての機能を果たす最後の分割できない子ノードは、復号ノード、例えば、復号されたビデオブロックを含む。復号されたビットストリームと関連している構文データにおいて、ツリーブロックが分割され得る最大回数及び復号ノードの最小サイズが定義され得る。
【０１２０】
符号化ユニットは、復号ノード、予測ユニット（ｐｒｅｄｉｃｔｉｏｎ  ｕｎｉｔ，ＰＵ）、及び復号ノードと関連している変換ユニット（ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ，ＴＵ）を備える。ＣＵのサイズは復号ノードのサイズに対応し、ＣＵの形状は正方形である必要がある。ＣＵのサイズは、８×８ピクセルから最大で６４×６４ピクセルの範囲であってもよく、ツリーブロックのサイズより大きくてもよい。各ＣＵは、１又は複数のＰＵ及び１又は複数のＴＵを備え得る。例えば、ＣＵと関連している構文データは、ＣＵを１又は複数のＰＵに分割することを記述し得る。分割パターンは、ＣＵがスキップモード若しくはダイレクトモードで符号化される、イントラ予測モードで符号化される、又はインター予測モードで符号化されるとき、変化し得る。分割によって取得されたＰＵは、非正方形の形状であり得る。例えば、ＣＵと関連している構文データはまた、四分木に基づいて、ＣＵを１又は複数のＴＵに分割することを記述し得る。ＴＵは正方形又は非正方形の形状であり得る。
【０１２１】
ＨＥＶＣ規格は、ＴＵベースの変換を可能にする。異なるＣＵは、異なるＴＵを備え得る。ＴＵのサイズは、通常、分割されたＬＣＵに対して定義された所与のＣＵ内のＰＵのサイズに基づいて設定される。しかしながら、場合によっては必ずしもこのようでなくてよい。ＴＵのサイズは、通常、ＰＵのサイズと同一又はこれより小さい。幾つかの実行可能な実装において、「残差四分木」（ｒｅｓｉｄｕａｌ  ｑｕａｄｔｒｅｅ，  ＲＱＴ）と称される四分木構造は、ＣＵに対応する残差サンプルをより小さいユニットに分割するために用いられ得る。ＲＱＴの葉ノードは、ＴＵと称され得る。ＴＵと関連しているピクセル差が変換されて変換係数を生成し得、変換係数が量子化され得る。
【０１２２】
概して、ＰＵは、予測処理と関連するデータを備える。例えば、ＰＵがイントラモードで符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを備え得る。他の実行可能な実装において、ＰＵがインターモードで符号化されるとき、ＰＵは、ＰＵに対する動きベクトルを定義するデータを備え得る。例えば、ＰＵに対する動きベクトルを定義するデータは、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４ピクセル精度若しくは１／８ピクセル精度）、動きベクトルが指す基準画像、及び／又は、動きベクトルの基準画像のリスト（例えば、リスト０、リスト１、若しくはリストＣ）を記述し得る。
【０１２３】
概して、変換及び量子化処理がＴＵに用いられる。１又は複数のＰＵを含む所与のＣＵはまた、１又は複数のＴＵを備え得る。予測後、ビデオ符号器１００は、ＰＵに対応する残差値を計算し得る。残差値は、ピクセル差を含む。ピクセル差は変換係数に変換され得、変換係数がＴＵを用いることによって量子化及びスキャンされて、エントロピー復号に対するシリアル化された変換係数を生成する。本願において、用語「ビデオブロック（ｖｉｄｅｏ  ｂｌｏｃｋ）」は、通常、ＣＵの復号ノードを示すために用いられる。幾つかの特定の適用において、本願では、用語「ビデオブロック」はまた、復号ノード、ＰＵ、及びＴＵを含むツリーブロックを示すために用いられ得、例えば、ツリーブロックはＬＣＵ又はＣＵである。
【０１２４】
ビデオシーケンスは、通常、一連のビデオフレーム又は画像を含む。例えば、画像グループ（ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅ，ＧＯＰ）は、一連のビデオ画像又は１又は複数のビデオ画像を含む。ＧＯＰは、ＧＯＰのヘッダ情報、１又は複数の画像のヘッダ情報、又は他の箇所に構文データを含み得、構文データは、ＧＯＰに含まれる画像の数を記述する。画像の各スライスは、対応する画像の符号化モードを記述するスライス構文データを含み得る。ビデオ符号器１００は、通常、幾つかのビデオスライス内のビデオブロックに対して演算を実行し、ビデオデータを符号化する。ビデオブロックは、ＣＵ内の復号ノードに対応し得る。ビデオブロックのサイズは、固定又は可変であり得、特定の復号規格と共に変化し得る。
【０１２５】
実行可能な実装において、ＨＭは、様々なＰＵサイズに対する予測をサポートする。所与のＣＵのサイズが２Ｎ×２Ｎであると想定すれば、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズに対するイントラ予測、及び、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称なＰＵサイズに対するインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズに対するインター予測の非対称な分割をサポートする。非対称な分割では、ＣＵはある方向で分割されず、他の方向で２つの部分に分割される。ここで、１つの部分がＣＵの２５％を占め、他の部分がＣＵの７５％を占める。ＣＵの２５％を占める部分は、「ｎ」の後に「Ｕ（Ｕｐ）」、「Ｄ（Ｄｏｗｎ）」、「Ｌ（Ｌｅｆｔ）」又は「Ｒ（Ｒｉｇｈｔ）」が続くインジケータによって示される。したがって、例えば、「２Ｎ×ｎＵ」は、上部で２Ｎ×０．５ＮのＰＵを、下部で２Ｎ×１．５ＮのＰＵを有する、水平に分割された２Ｎ×２ＮのＣＵを指す。
【０１２６】
本願において、「Ｎ×Ｎ」及び「Ｎ掛けるＮ」は、垂直方向の寸法及び水平方向の寸法におけるビデオブロックのピクセルサイズ、例えば、１６×１６ピクセル又は１６掛ける１６ピクセル、を示すために交換可能に用いられ得る。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）を有し、水平方向に１６ピクセル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、通常、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有する。ここで、Ｎは非負整数の値である。ブロック内のピクセルは、行と列とに配置され得る。さらに、ブロックにおいて、水平方向のピクセル数及び垂直方向のピクセル数は必ずしも同一でなくてよい。例えば、ブロックは、Ｎ×Ｍピクセルを含み得る。ここで、Ｍは必ずしもＮに等しくない。
【０１２７】
ＣＵ内のＰＵのイントラ予測又はインター予測の復号後、ビデオ符号器１００は、ＣＵ内のＴＵの残差データを計算し得る。変換（例えば、離散コサイン変換（ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ，ＤＣＴ）、整数変換、ウェーブレット変換、又は他の概念的に同様の変換）が残差ビデオデータに適用された後、ＰＵは空間領域（ピクセル領域とも称される）にピクセルデータを含み得、ＴＵは変換領域に係数を含み得る。残差データは、符号化されていない画像のピクセルとＰＵに対応する予測器との間のピクセル差に対応し得る。ビデオ符号器１００は、ＣＵの残差データを含むＴＵを生成し得、その後、ＴＵを変換してＣＵの変換係数を生成し得る。
【０１２８】
任意の変換を実行して変換係数を生成した後、ビデオ符号器１００は、変換係数を量子化し得る。量子化は、例えば、係数を表すために用いられるデータ量を減少させてさらなる圧縮を実装するために、係数を量子化する処理を指す。量子化処理は、幾つか又は全ての係数と関連しているビット深度を減少させ得る。例えば、量子化の間、ｎビット値は、丸めによってｍビット値に減少し得る。ここで、ｎはｍより大きい。
【０１２９】
ＪＥＭモデルは、ビデオ画像符号化構造をさらに改善する。特に、「四分木プラス二分木（ｑｕａｄｔｒｅｅ  ｐｌｕｓ  ｂｉｎａｒｙ  ｔｒｅｅ）」（ＱＴＢＴ）構造と称されるブロック符号化構造が導入される。ＨＥＶＣにおけるＣＵ、ＰＵ、及びＴＵ等の概念を用いることなく、ＱＴＢＴ構造は、よりフレキシブルなＣＵの分割形状をサポートする。ＣＵは、正方形又は長方形であり得る。四分木分割が最初にＣＴＵに対して実行され、二分木分割が四分木の葉ノードに対してさらに実行される。さらに、以下の２つの二分木分割モードが存在する：対称水平分割及び対称垂直分割。二分木の葉ノードはＣＵと称される。ＪＥＭモデル内のＣＵは、予測及び変換の間、さらに分割されることができない。言い換えれば、ＪＥＭモデル内のＣＵ、ＰＵ、及びＴＵは、同一のブロックサイズを有する。既存のＪＥＭモデルにおいて、最大のＣＴＵサイズは、２５６×２５６ルマピクセルである。
【０１３０】
幾つかの実行可能な実装において、ビデオ符号器１００は、予め定義されたスキャン順序で量子化変換係数をスキャンし、エントロピー符号化され得るシリアル化されたベクトルを生成し得る。他の実現可能な実装において、ビデオ符号器１００は、適合可能なスキャンを実行し得る。量子化変換係数をスキャンして１次元ベクトルを形成した後、ビデオ符号器１００は、コンテキストベースの適応型の可変長符号化（ｃｏｎｔｅｘｔ−ｂａｓｅｄ  ａｄａｐｔｉｖｅ  ｖａｒｉａｂｌｅ−ｌｅｎｇｔｈ  ｃｏｄｅ，ＣＡＶＬＣ）、コンテキストベースの適応型のバイナリ演算符号化（ｃｏｎｔｅｘｔ−ｂａｓｅｄ  ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ，ＣＡＢＡＣ）、構文ベースの適応型のバイナリ演算符号化（ｓｙｎｔａｘ−ｂａｓｅｄ  ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ，ＳＢＡＣ）、確率区間分割エントロピー（ｐｒｏｂａｂｉｌｉｔｙ  ｉｎｔｅｒｖａｌ  ｐａｒｔｉｔｉｏｎｉｎｇ  ｅｎｔｒｏｐｙ，ＰＩＰＥ）復号、又は他のエントロピー復号方法によって、１次元ベクトルをエントロピー復号し得る。ビデオ符号器１００は、符号化されたビデオデータと関連している構文要素に対してエントロピー符号化をさらに実行し、ビデオ復号器２００がビデオデータを復号することを可能にし得る。
【０１３１】
ＣＡＢＡＣを実行するために、ビデオ符号器１００は、コンテキストモデル内のコンテキストを送信されるべきシンボルに割り当て得る。コンテキストは、シンボルの隣接する値が０でないか否かに関連し得る。ＣＡＶＬＣを実行するために、ビデオ符号器１００は、送信されるべきシンボルの可変長コードを選択し得る。可変長コード（ｖａｒｉａｂｌｅ−ｌｅｎｇｔｈ  ｃｏｄｅ，ＶＬＣ）内のコードワードが構成され得、その結果、より短いコードがより可能性の高いシンボルに対応し、より長いコードがより可能性の低いシンボルに対応する。このように、全ての送信されるべきシンボルに対して等しい長さのコードワードを用いる場合と比較して、ＶＬＣを用いることによってビットレートを減少させ得る。ＣＡＢＡＣにおける可能性が、シンボルに割り当てられたコンテキストに基づいて決定され得る。
【０１３２】
本願の本実施形態において、ビデオ符号器は、インター予測を実行し、画像間の時間的な冗長性を減少させ得る。上述のように、ＣＵは、異なるビデオ圧縮符号化規格に依存する１又は複数の予測ユニットＰＵを有し得る。言い換えれば、複数のＰＵが１つＣＵに属してもよく、ＰＵ及びＣＵが同一のサイズを有してもよい。本明細書において、ＣＵ及びＰＵが同一のサイズを有するとき、ＣＵに対応する分割モードが分割されなくてもよく、ＣＵが１つのＰＵに分割されてもよく、ＰＵが説明のために一様に用いられる。ビデオ符号器がインター予測を実行するとき、ビデオ符号器は、ＰＵに対する動き情報をビデオ復号器にシグナリングし得る。例えば、ＰＵに対する動き情報は、基準画像のインデックス、動きベクトル、及び予測方向識別子を含み得る。動きベクトルは、ＰＵの画像ブロック（ビデオブロック、ピクセルブロック、ピクセルセット、又は同様のものとも称される）とＰＵの基準ブロックとの間の変位を示し得る。ＰＵの基準ブロックは、ＰＵの画像ブロックと同様の基準画像の一部であり得る。基準ブロックは、基準画像のインデックス及び予測方向識別子によって示される基準画像に配置され得る。
【０１３３】
ＰＵに対する動き情報を表すために必要とされる符号化ビット数を減少されるために、ビデオ符号器は、マージ予測モード又は高度な動きベクトル予測モードに従って、ＰＵごとに候補の予測動きベクトル（Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ，ＭＶ）のリストを生成し得る。ＰＵに用いられる候補の予測動きベクトルのリスト内の各候補の予測動きベクトルは動き情報を示し得、ＭＶのリストは、候補の動き情報のリストとも称され得る。候補の予測動きベクトルのリスト内の幾つかの候補の予測動きベクトルによって示される動き情報は、他のＰＵに対する動き情報に基づいてよい。候補の予測動きベクトルが、特定の空間の候補の予測動きベクトルの位置又は特定の時間の候補の予測動きベクトルの位置うちの１つの動き情報を示す場合、候補の予測動きベクトルは、本願において「最初（ｏｒｉｇｉｎａｌ）」の候補の予測動きベクトルと称され得る。例えば、本明細書ではマージ予測モードとも称されるマージ（Ｍｅｒｇｅ）モードでは、５つの最初の空間の候補の予測動きベクトルの位置及び１つの最初の時間の候補の予測動きベクトルの位置が存在し得る。幾つかの例において、ビデオ符号器は、異なる最初の候補の予測動きベクトルからの幾つかの動きベクトルを結合する、最初の候補の予測動きベクトルを修正する、又はゼロ動きベクトルのみを候補の予測動きベクトルとして挿入することによって、追加の候補の予測動きベクトルを生成し得る。追加の候補の予測動きベクトルが、最初の候補の予測動きベクトルとしてみなされず、本願において人工的に生成された候補の予測動きベクトルと称され得る。
【０１３４】
本願における技術は、通常、ビデオ符号器で候補の予測動きベクトルのリストを生成するための技術及びビデオ復号器で同一の候補の予測動きベクトルのリストを生成するための技術を含む。ビデオ符号器及びビデオ復号器は、候補の予測動きベクトルのリストを構成するための同一の技術を実装することによって、同一の候補の予測動きベクトルのリストを生成し得る。例えば、ビデオ符号器及びビデオ復号器は、同一の候補の予測動きベクトルの数（例えば、５つの候補の予測動きベクトル）でリストを構成し得る。ビデオ符号器及びビデオ復号器は、最初に、空間の候補の予測動きベクトル（例えば、同一の画像内の隣接するブロック）を検討し得、その後、時間の候補の予測動きベクトル（例えば、異なる画像内の候補の予測動きベクトル）を検討し、最後に、必要な数の候補の予測動きベクトルがリストに追加されるまで、人工的に生成された候補の予測動きベクトルを検討し得る。本願における技術によれば、候補の予測動きベクトルのリストを構成中に、候補の予測動きベクトルのリストの長さを制御すべく、フラグビットが候補の予測動きベクトルのリスト内の１つのタイプ候補の予測動きベクトルを示すために用いられ得る。例えば、空間の候補の予測動きベクトルのセット及び時間の候補の予測動きベクトルが、最初の候補の予測動きベクトルとして用いられ得る。手動で生成された候補の予測動きベクトルが候補の予測動きベクトルのリストに追加されるとき、１つのフラグビットの空間が候補の予測動きベクトルのリストに追加されて、手動で生成された候補の予測動きベクトルのセットを示し得る。符号化及び復号の間、フラグビットが選択されるとき、予測動きベクトルがフラグビットによって示される候補の予測動きベクトルのセットから選択される。
【０１３５】
ＣＵのＰＵに対する候補の予測動きベクトルのリストを生成した後、ビデオ符号器は、候補の予測動きベクトルのリストから候補の予測動きベクトルを選択し得、候補の予測動きベクトルのインデックスをビットストリームに出力し得る。選択された候補の予測動きベクトルは、復号されているターゲットＰＵの予測器と最も厳密に一致する動きベクトルを生成するための候補の予測動きベクトルであり得る。候補の予測動きベクトルのインデックスは、候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を示し得る。ビデオ符号器は、ＰＵに対する動き情報によって示される基準ブロックに基づいて、ＰＵに対する予測画像ブロックをさらに生成し得る。ＰＵに対する動き情報は、選択された候補の予測動きベクトルによって示される動き情報に基づいて決定され得る。例えば、マージモードでは、ＰＵに対する動き情報は、選択された候補の予測動きベクトルによって示される動き情報と同一であり得る。ＡＭＶＰモードでは、ＰＵに対する動き情報は、ＰＵに対する動きベクトルの差及び選択された候補の予測動きベクトルによって示される動き情報に基づいて決定され得る。ビデオ符号器は、ＣＵのＰＵに対する予測画像ブロック及びＣＵに対する最初の画像ブロックに基づいて、ＣＵに対する１又は複数の残差画像ブロックを生成し得る。その後、ビデオ符号器は、１又は複数の残差画像ブロックを符号化し得、１又は複数の残差画像ブロックをビットストリームに出力し得る。
【０１３６】
ビットストリームは、ＰＵに対する候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルを識別するデータを含み得る。本明細書において、データは、識別子又は信号と称される。データは、候補の予測動きベクトルのリスト内のインデックスを含み得、ターゲット動きベクトルはインデックスを用いることによって決定される。代替的に、インデックスを用いることによって、ターゲット動きベクトルが特定のタイプの候補の予測動きベクトルに属することが決定される。この場合、データは、当該タイプの候補の予測動きベクトルにおける選択された候補の予測動きベクトルのデータの特定の位置を示す情報をさらに含む。ビデオ復号器は、ビットストリームを解析してＰＵに対する候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルを識別するデータを取得し得、データに基づいて選択された候補の予測動きベクトルのデータを決定し得、ＰＵに対する候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルによって示される動き情報に基づいてＰＵの動き情報を決定し得る。ビデオ復号器は、ＰＵに対する動き情報に基づいて、ＰＵに対する１又は複数の基準ブロックを識別し得る。ＰＵに対する１又は複数の基準ブロックを識別した後、ビデオ復号器は、ＰＵに対する１又は複数の基準ブロックに基づいて、ＰＵに対する予測画像ブロックを生成し得る。ビデオ復号器は、ＣＵのＰＵに対する予測画像ブロック及びＣＵに対する１又は複数の残差画像ブロックに基づいて、ＣＵに対する画像ブロックを再構成し得る。
【０１３７】
説明を簡単にするために、本願では、位置又は画像ブロックは、ＣＵ又はＰＵと様々な空間的な関係を有するものとして説明され得る。説明は、以下のとおり説明され得る：位置又は画像ブロックは、ＣＵ又はＰＵと関連している画像ブロックと様々な空間的な関係を有する。さらに、本願では、ビデオ復号器によって現在復号されているＰＵは、現在のＰＵと称され得、現在処理されるべき画像ブロックとも称され得る。本願では、ビデオ復号器によって現在復号されているＣＵは、現在のＣＵと称され得る。本願では、ビデオ復号器によって現在復号されている画像は、現在の画像と称され得る。本願はまた、ＰＵ及びＣＵが同一のサイズを有する、又はＰＵがＣＵである場合に適用可能であることが理解されるべきである。ＰＵが説明のために一様に用いられる。
【０１３８】
上記で簡潔に説明されたように、ビデオ符号器１００は、インター予測によって、予測画像ブロック及びＣＵのＰＵに対する動き情報を生成し得る。多くの例において、所与のＰＵに対する動き情報は、１又は複数の隣接するＰＵ（すなわち、画像ブロックが所与のＰＵの画像ブロックに空間的に又は時間的に隣接するＰＵ）に対する動き情報と同一又はそれと同様のものであり得る。隣接するＰＵがしばしば同様の動き情報を有するので、ビデオ符号器１００は、隣接するＰＵに対する動き情報に基づいて、所与のＰＵに対する動き情報を符号化し得る。隣接するＰＵに対する動き情報に基づいて、所与のＰＵに対する動き情報を符号化することによって、所与のＰＵに対する動き情報を示すためのビットストリームに必要とされる符号化ビット数を減少させ得る。
【０１３９】
ビデオ符号器１００は、様々な方法で、隣接するＰＵに対する動き情報に基づいて、所与のＰＵに対する動き情報を符号化し得る。例えば、ビデオ符号器１００は、所与のＰＵに対する動き情報が隣接するＰＵに対する動き情報と同一であることを示し得る。本願では、マージモードは、所与のＰＵに対する動き情報が、隣接するＰＵに対する動き情報と同一である、又は、隣接するＰＵに対する動き情報から導出され得ることを示すために用いられ得る。他の実行可能な実装において、ビデオ符号器１００は、所与のＰＵに対する動きベクトルの差（Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｄｉｆｆｅｒｅｎｃｅ，ＭＶＤ）を計算し得る。ＭＶＤは、所与のＰＵの動きベクトルと隣接するＰＵの動きベクトルとの間の差を示す。ビデオ符号器１００は、所与のＰＵに対する動き情報内の所与のＰＵに対する動きベクトルの代わりにＭＶＤを備え得る。ビットストリームにおいて、ＭＶＤを表すために必要とされる符号化ビット数は、所与のＰＵに対する動きベクトルを表すために必要とされる符号化ビット数より少ない。本願では、高度な動きベクトル予測モードが、所与のＰＵに対する動き情報がＭＶＤ及び候補の動きベクトルを識別するために用いられるインデックス値を用いることによって復号器にシグナリングされることを示すために用いられ得る。
【０１４０】
マージモード又はＡＭＶＰモードにおいて、所与のＰＵに対する動き情報を復号器にシグナリングするために、ビデオ符号器１００は、所与のＰＵに対する候補の予測動きベクトルのリストを生成し得る。候補の予測動きベクトルのリストは、１又は複数の候補の予測動きベクトルを含み得る。所与のＰＵに対する候補の予測動きベクトルのリスト内の候補の予測動きベクトルのそれぞれは、動き情報を規定し得る。各候補の予測動きベクトルによって示される動き情報は、動きベクトル、基準画像のインデックス、及び予測方向識別子を含み得る。候補の予測動きベクトルのリスト内の候補の予測動きベクトルは、「最初」の候補の予測動きベクトルを含み得、それぞれの「最初」の候補の予測動きベクトルは、所与のＰＵとは異なるＰＵ内の特定の候補の予測動きベクトルの位置のうちの１つの動き情報を示す。
【０１４１】
ＰＵに対する候補の予測動きベクトルのリストを生成した後、ビデオ符号器１００は、ＰＵに対する候補の予測動きベクトルのリストから１つの候補の予測動きベクトルを選択し得る。例えば、ビデオ符号器は、各候補の予測動きベクトルを復号されているＰＵと比較し得、所望のレート歪みコストを有する候補の予測動きベクトルを選択し得る。ビデオ符号器１００は、ＰＵに対する候補の予測動きベクトルのインデックスを出力し得る。候補の予測動きベクトルのインデックスは、候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を識別し得る。
【０１４２】
さらに、ビデオ符号器１００は、ＰＵに対する動き情報によって示される基準ブロックに基づいて、ＰＵに対する予測画像ブロックを生成し得る。ＰＵに対する動き情報は、ＰＵに対する候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルによって示される動き情報に基づいて決定され得る。例えば、マージモードでは、ＰＵに対する動き情報は、選択された候補の予測動きベクトルによって示される動き情報と同一であり得る。ＡＭＶＰモードでは、ＰＵに対する動き情報は、ＰＵに対する動きベクトルの差及び選択された候補の予測動きベクトルによって示される動き情報に基づいて決定され得る。上述のように、ビデオ符号器１００は、ＰＵに対する予測画像ブロックを処理し得る。
【０１４３】
上述のように、候補の予測動きベクトルのリストにおいて、フラグビットは、候補の予測動きベクトルのリストの長さを制御すべく、１つのタイプの候補の予測動きベクトルを示すために用いられ得る。詳細が本明細書で再び説明されない。
【０１４４】
ビデオ復号器２００がビットストリームを受信するとき、ビデオ復号器２００は、ＣＵのＰＵごとに候補の予測動きベクトルのリストを生成し得る。ＰＵのためにビデオ復号器２００によって生成された候補の予測動きベクトルのリストは、ＰＵのためにビデオ符号器１００によって生成された候補の予測動きベクトルのリストと同一であり得る。ビットストリームを解析することによってビデオ復号器２００により取得される構文要素は、ＰＵに対する候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を示し得る。ＰＵに対する候補の予測動きベクトルのリストを生成した後、ビデオ復号器２００は、ＰＵに対する動き情報によって示される１又は複数の基準ブロックに基づいて、ＰＵに対する予測画像ブロックを生成し得る。ビデオ復号器２００は、ビットストリームを解析することによって取得された構文要素に基づいて、ＰＵに用いられる候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルによって示される動き情報から、ＰＵに対する動き情報を決定し得る。ビデオ復号器２００は、ＰＵに対する予測画像ブロック及びＣＵに対する残差画像ブロックに基づいて、ＣＵに対する画像ブロックを再構成し得る。
【０１４５】
上述のように、候補の予測動きベクトルのリストにおいて、フラグビットは、１つのタイプの候補の予測動きベクトルを示すために用いられ得る。この場合、ビットストリームを受信した後、ビデオ復号器２００は、最初に、ビットストリームを解析して第１の識別子を取得し、第１の識別子は、ＰＵに対する候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を示す。ＰＵの候補の予測動きベクトルのリストは少なくとも１つの第１の候補の動きベクトル及び少なくとも１つの第２の候補のセットを含み、第２の候補のセットは少なくとも１つの第２の候補の動きベクトルを含む。ビデオ復号器２００は、第１の識別子に基づいてＰＵの候補の予測動きベクトルのリストから第１の識別子に対応するターゲット要素を決定する。ターゲット要素が第１の候補の動きベクトルである場合、ビデオ復号器２００は、ＰＵのターゲット動きベクトルとしてターゲット要素を決定し、ターゲット動き情報を用いることによって処理されるべき画像ブロックの動き情報を予測し（ＰＵ）、後続の復号手順を実行する。ターゲット要素が第２の候補のセットである場合、ビデオ復号器２００は、ビットストリームを解析して第２の識別子を取得する。ここで、第２の識別子は、第１の識別子によって示される第２の候補のセット内の選択された候補の予測動きベクトルの位置を識別するために用いられる。ビデオ復号器２００は、第２の識別子に基づいて、第１の識別子によって示される第２の候補のセット内の複数の第２の候補の動きベクトルからターゲット動き情報を決定し、ターゲット動き情報を用いることによって処理されるべき画像ブロックの動き情報を予測し（ＰＵ）、後続の復号手順を実行する。
【０１４６】
上述のように、候補の予測動きベクトルのリストにおいて、フラグビットは、１つのタイプの候補の予測動きベクトルを示すために用いられ得る。この場合、ビットストリームを受信した後、ビデオ復号器２００は、最初に、ビットストリームを解析して第１の識別子を取得し、第１の識別子は、ＰＵの候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を示す。ＰＵの候補の予測動きベクトルのリストは少なくとも１つの第１の候補の動きベクトル及び複数の第２の候補の動き情報を含み、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む。ビデオ復号器２００は、第１の識別子に基づいてＰＵの候補の予測動きベクトルのリストから第１の識別子に対応するターゲット要素を決定する。ターゲット要素が第１の候補の動きベクトルである場合、ビデオ復号器２００は、ＰＵのターゲット動きベクトルとしてターゲット要素を決定し、ターゲット動き情報を用いることによって処理されるべき画像ブロックの動き情報を予測し（ＰＵ）、後続の復号手順を実行する。ターゲット要素が複数の第２の候補の動き情報に基づいて取得される場合、ビデオ復号器２００は、ビットストリームを解析して第２の識別子を取得し、第２の識別子及び複数の第２の候補の動き情報のうちの１つに基づいてターゲット動き情報を決定し、ターゲット動き情報を用いることによって処理されるべき画像ブロックの動き情報を予測し（ＰＵ）、後続の復号手順を実行する。
【０１４７】
候補の予測動きベクトルのリスト内の候補の動きベクトルが異なるモードに基づいて取得され得ることが留意されるべきである。これは本願では特に限定されない。
【０１４８】
実行可能な実装において、復号器で、候補の予測動きベクトルのリストを構成すること、及びビットストリームを解析して候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を取得することは、お互いから独立しており、任意の順序で又は並列に実行され得ることが理解されるべきである。
【０１４９】
他の実行可能な実装において、復号器で、候補の予測動きベクトルのリスト内の候補の選択された候補の予測動きベクトルの位置は、ビットストリームを解析することによって最初に取得され、その後、候補の予測動きベクトルのリストが解析によって取得された位置に基づいて構成される。この実装において、全ての候補の予測動きベクトルのリストを構成する必要がなく、具体的には、解析によって取得される位置における候補の予測動きベクトルが決定され得るという条件で、当該位置における候補の予測動きベクトルのリストのみが構成される必要がある。例えば、ビットストリームを解析することによって、選択された候補の予測動きベクトルが、インデックスが候補の予測動きベクトルのリストにおいて３である候補の予測動きベクトルであることが取得されるとき、インデックス０からインデックス３までの候補の予測動きベクトルのリストのみが構成される必要があり、インデックスが３である候補の予測動きベクトルが決定され得る。これは、複雑性を減少され得、復号効率を改善し得る。
【０１５０】
図２は、本願の一実施形態による、ビデオ符号器１００の一例のブロック図である。ビデオ符号器１００は、ビデオを後処理エンティティ４１に出力するよう構成される。後処理エンティティ４１は、ビデオ符号器１００からの符号化されたビデオデータを処理することができビデオエンティティの一例を表す。例えば、ビデオエンティティは、メディアアウェアネットワークエレメント（ＭＡＮＥ）又はステッチング装置／編集装置である。場合によっては、後処理エンティティ４１は、ネットワークエンティティの一例であり得る。幾つかのビデオ符号化システムにおいて、後処理エンティティ４１及びビデオ符号器１００は、別個の装置の構成要素であり得る。しかしながら、他の場合において、後処理エンティティ４１に関連して説明される機能は、ビデオ符号器１００を含む同一の装置によって実装され得る。一例において、後処理エンティティ４１は、図１における記憶装置４０の一例である。
【０１５１】
図２における一例において、ビデオ符号器１００は、予測処理ユニット１０８、フィルタユニット１０６、復号された画像バッファ（ｄｅｃｏｄｅｄ  ｐｉｃｔｕｒｅ  ｂｕｆｆｅｒ，ＤＰＢ）１０７、加算器１１２、変換器１０１、量子化器１０２、及びエントロピー符号器１０３を備える。予測処理ユニット１０８は、インター予測器１１０及びイントラ予測器１０９を備える。画像ブロックの再構成のために、ビデオ符号器１００は、逆量子化器１０４、逆変換器１０５、及び加算器１１１をさらに備える。フィルタユニット１０６は、１又は複数のループフィルタ、例えば、デブロッキングフィルタ、アダプティブループフィルタ（ａｄａｐｔｉｖｅ  ｌｏｏｐ  ｆｉｌｔｅｒ，ＡＬＦ）、及びサンプルアダプティブオフセット（ｓａｍｐｌｅ  ａｄａｐｔｉｖｅ  ｏｆｆｓｅｔ，ＳＡＯ）フィルタ、を表することを意図している。フィルタユニット１０６は、図２においてインループフィルタとして示されているが、他の実装において、フィルタユニット１０６は、ポストループフィルタとして実装され得る。一例において、ビデオ符号器１００は、（図に示されていない）ビデオデータメモリ及び分割ユニットをさらに備え得る。
【０１５２】
ビデオデータメモリは、ビデオ符号器１００の構成要素によって符号化されたビデオデータを格納し得る。ビデオデータメモリに格納されているビデオデータは、ビデオ発信元１２０から取得され得る。ＤＰＢ１０７は、イントラ符号化モード又はインター符号化モードでビデオデータを符号化するためにビデオ符号器１００によって用いられる基準ビデオデータを格納する基準画像メモリであり得る。ビデオデータメモリ及びＤＰＢ１０７は、複数のタイプのメモリ装置、例えば、シンクロナスダイナミックランダムアクセスメモリ（ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ，ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ，ＤＲＡＭ）、磁気ＲＡＭ（ｍａｇｎｅｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ，ＭＲＡＭ）、抵抗ＲＡＭ（ｒｅｓｉｓｔｉｖｅ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ，ＲＲＡＭ（登録商標））、又は他のタイプのメモリ装置、のうちのいずれか１つを備え得る。ビデオデータメモリ及びＤＰＢ１０７は、同一のメモリ装置又は別個のメモリ装置によって提供され得る。様々な例において、ビデオデータメモリは、ビデオ符号器１００の他の構成要素と共にチップ上で統合されてもよく、それらの構成要素と比較してチップの外側に配置されてもよい。
【０１５３】
図２に示されるように、ビデオ符号器１００は、ビデオデータを受信し、ビデオデータをビデオデータメモリに格納する。分割ユニットは、ビデオデータを幾つかの画像ブロックに分割し、これらの画像ブロックは、より小さいブロックにさらに分割され得、例えば、四分木構造又は二分木構造に基づいて分割され得る。分割することは、スライス（ｓｌｉｃｅ）、タイル（ｔｉｌｅ）、又は他のより大きなユニットに分割することをさらに含み得る。ビデオ符号器１００は、通常、符号化されるべきビデオスライス内の画像ブロックを符号化するために構成要素である。スライスは、複数の画像ブロックに分割され得る（そして、タイルと称される画像ブロックのセットに分割され得る）。予測処理ユニット１０８は、現在の画像ブロックに用いられる複数の可能な符号化モードのうちの１つ、例えば、複数のイントラ符号化モードのうちの１つ、又は複数のインター符号化モードのうちの１つ、を選択し得る。予測処理ユニット１０８は、残差ブロックを生成するために取得したイントラ符号化／復号されたブロック及びインター符号化／復号されたブロックを加算器１１２に提供し得、基準画像として用いられる符号化されたブロックを再構成するために当該ブロックを加算器１１１に提供し得る。
【０１５４】
予測処理ユニット１０８内のイントラ予測器１０９は、空間的な冗長性を除去するために、現在の画像ブロックと同一フレーム又はスライス内の１又は複数の隣接するブロックと比較して符号化されるべき現在の画像ブロックに対するイントラ予測符号化を実行し得る。予測処理ユニット１０８内のインター予測器１１０は、時間的な冗長性を除去するために、１又は複数の基準画像内の１又は複数の予測ブロックと比較して現在の画像ブロックに対するインター予測符号化を実行し得る。
【０１５５】
特に、インター予測器１１０は、現在の画像ブロックを符号化するために用いられるインター予測モードを決定するよう構成され得る。例えば、インター予測器１１０は、レート歪み解析によって、候補のインター予測モードのセット内の様々なインター予測モードのレート歪み値を計算し得、インター予測モードから最適なレート歪み特性を有するインター予測モードを選択し得る。レート歪み解析は、通常、符号化されたブロックと、符号化させておらず、符号化されたブロックを生成するために符号化されるべきである最初のブロックとの間の歪み（又はエラー）量、及び、符号化されたブロックを生成するために用いられるビットレート（すなわちビット数）を決定するために用いられる。例えば、インター予測器１１０は、候補のインター予測モードのセットの中から、現在の画像ブロックに対するインター予測を実行するために用いられるインター予測モードとして、最小のレート歪みコストを有し、現在の画像ブロックを符号化するために用いられるインター予測モードを決定し得る。
【０１５６】
インター予測器１１０は、決定されたインター予測モードに基づいて、現在の画像ブロック内の１又は複数のサブブロックの動き情報（例えば、動きベクトル）を予測し、現在の画像ブロック内の１又は複数のサブブロックの動き情報（例えば、動きベクトル）を用いることによって、現在の画像ブロックの予測ブロックを取得又は生成するよう構成される。インター予測器１１０は、基準画像のリスト内の１つの基準画像で、動きベクトルが指す予測ブロックを見つけ得る。インター予測器１１０は、画像ブロック及びビデオスライスと関連している構文要素をさらに生成し得、その結果、ビデオ復号器２００は、構文要素を用いてビデオスライスの画像ブロックを復号する。代替的に、一例において、インター予測器１１０は、各サブブロックの動き情報を用いることによって動き補償処理を実行してサブブロックの予測ブロックを生成し、それによって、現在の画像ブロックの予測ブロックを取得する。本明細書では、インター予測器１１０が、動き推定処理及び動き補償処理を実行することが理解されるべきである。
【０１５７】
特に、現在の画像ブロックに対するインター予測モードを選択した後、インター予測器１１０は、エントロピー符号器１０３に、現在の画像ブロックの選択されたインター予測モードを示す情報を提供し得、その結果、エントロピー符号器１０３は、選択されたインター予測モードを示す情報を符号化する。
【０１５８】
イントラ予測器１０９は、現在の画像ブロックに対するイントラ予測を実行し得る。特に、イントラ予測器１０９は、現在のブロックを符号化するために用いられるイントラ予測モードを決定し得る。例えば、イントラ予測器１０９は、ビットレート歪み解析によって、様々なテストされるべきイントラ予測モードに対するビットレート歪み値を計算し得、テストされるべきモードから最適なビットレート歪み特性を有するイントラ予測モードを選択し得る。任意の場合において、画像ブロックに対するイントラ予測モードを選択した後、イントラ予測器１０９は、エントロピー符号器１０３に、現在の画像ブロックの選択されたイントラ予測モードを示す情報を提供し得、その結果、エントロピー符号器１０３は、選択されたイントラ予測モードを示す情報を符号化する。
【０１５９】
予測処理ユニット１０８がインター予測及びイントラ予測によって現在の画像ブロックの予測ブロックを生成した後、ビデオ符号器１００は、現在の符号化されるべき画像ブロックから予測ブロックを減算して、残差画像ブロックを形成する。加算器１１２は、減算演算を実行する１又は複数の構成要素を表す。残差ブロック内の残差ビデオデータは、１又は複数変換ユニット（ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ，ＴＵ）に含まれ得、変換器１０１に適用され得る。変換器１０１は、離散コサイン変換（ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ，ＤＣＴ）又は概念的に同様の変換等の変換によって、残差ビデオデータを残差変換係数に変換する。変換器１０１は、ピクセル値領域から変換領域、例えば、周波数領域、に残差ビデオデータを変換し得る。
【０１６０】
変換器１０１は、取得した変換係数を量子化器１０２に送信し得る。量子化器１０２は、変換係数を量子化してビットレートをさらに減少させる。幾つかの例において、量子化器１０２は、量子化変換係数を含むマトリクスをさらにスキャンし得る。代替的に、エントロピー符号器１０３は、スキャンを実行し得る。
【０１６１】
量子化の後、エントロピー符号器１０３は、量子化変換係数に対するエントロピー符号化を実行する。例えば、エントロピー符号器１０３は、コンテキスト適応型の可変長符号化（ＣＡＶＬＣ）、コンテキスト適応型のバイナリ演算符号化（ＣＡＢＡＣ）、シンタックスベースのコンテキスト適応型のバイナリ演算符号化（ＳＢＡＣ）、確率区間分割エントロピー（ＰＩＰＥ）符号化、又は、他のエントロピー符号化の方法若しくは技術を実行し得る。エントロピー符号器１０３がエントロピー符号化を実行した後、符号化されたビットストリームがビデオ復号器２００に送信されてもよく、後続の送信のためにアーカイブされてもよく、ビデオ復号器２００によって読み出されてもよい。エントロピー符号器１０３は、符号化されるべき現在の画像ブロックの構文要素に対するエントロピー符号化をさらに実行し得る。
【０１６２】
逆量子化器１０４及び逆変換器１０５はそれぞれ、逆量子化及び逆変換を適用し、例えば、その後、基準画像の基準ブロックとして用いられるために、ピクセル領域内の残差ブロックを再構成する。加算器１１１は、再構成された残差ブロックをインター予測器１１０又はイントラ予測器１０９によって生成された予測ブロックに追加し、再構成された画像ブロックを生成する。フィルタユニット１０６は、再構成された画像ブロックに適用可能であり、ブロッキングアーティファクト（ブロックアーティファクト）等の歪みを減少させる。その後、再構成された画像ブロックは、復号された画像バッファ１０７内の基準ブロックとして格納され、後続のビデオフレーム又は画像内のブロックに対するインター予測を実行するために、基準ブロックとしてインター予測器１１０によって用いられ得る。
【０１６３】
ビデオ符号器１００の他の構造変異体がビデオストリームを符号化するために用いられ得ることが理解されるべきである。例えば、幾つかの画像ブロック又は画像フレームに対して、ビデオ符号器１００は残差シグナリングを直接量子化し得、それに対応して、変換器１０１及び逆変換器１０５による処理が必要ない。代替的に、幾つかの画像ブロック又は画像フレームに対して、ビデオ符号器１００は残差データを生成せず、それに対応して、変換器１０１、量子化器１０２、逆量子化器１０４、及び逆変換器１０５による処理が必要ない。代替的に、ビデオ符号器１００は、フィルタユニット１０６による処理なしに、再構成された画像ブロックを基準ブロックとして直接格納し得る。代替的に、ビデオ符号器１００内の量子化器１０２及び逆量子化器１０４が結合され得る。
【０１６４】
図３は、本願の一実施形態による、ビデオ復号器２００の一例のブロック図である。図３における一例において、ビデオ復号器２００は、エントロピー復号器２０３、予測処理ユニット２０８、逆量子化器２０４、逆変換器２０５、加算器２１１、フィルタユニット２０６、及びＤＰＢ２０７を備える。予測処理ユニット２０８は、インター予測器２１０及びイントラ予測器２０９を備え得る。幾つかの例において、ビデオ復号器２００は、図２におけるビデオ符号器１００に関連して説明された符号化処理と実質的に逆である復号処理を実行し得る。
【０１６５】
復号中、ビデオ復号器２００は、ビデオ符号器１００から、符号化されたビデオスライスの画像ブロック及び関連した構文要素を表す符号化されたビデオビットストリームを受信する。ビデオ復号器２００は、ネットワークエンティティ４２からビデオデータを受信し得、オプションで
（図に示されていない）ビデオデータメモリ内にビデオデータをさらに格納し得る。ビデオデータメモリは、ビデオ復号器２００の構成要素によって復号されるべきビデオデータ、例えば、符号化されたビデオビットストリーム、を格納し得る。ビデオデータメモリ内に格納されるビデオデータは、例えば、ビデオデータの有線若しくは無線ネットワーク通信を通じて、又は物理的なデータ記憶媒体にアクセスすることによって、記憶装置４０又はカメラ等のローカルビデオ発信元から取得され得る。ビデオデータメモリは、符号化されたビデオビットストリームからの符号化されたビデオデータを格納するよう構成される復号された画像バッファ（ＤＰＢ）として用いられ得る。したがって、ビデオデータメモリは図３に示されていないが、ビデオデータメモリ及びＤＰＢ２０７は、同一のメモリであってもよく、独立して配置されるメモリであってもよい。ビデオデータメモリ及びＤＰＢ２０７はそれぞれ、複数のメモリ装置、例えば、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、又は他のタイプのメモリ装置、のうちのいずれか１つによって構成され得る。様々な例において、ビデオデータメモリは、ビデオ復号器２００の他の構成要素と共にチップ上で統合されてもよく、それらの構成要素と比較してチップの外側に配置されてもよい。
【０１６６】
ネットワークエンティティ４２は、例えば、サーバ、ＭＡＮＥ、ビデオエディタ／クリッパ、又は上述の技術の１又は複数を実装するよう構成される他の装置であり得る。ネットワークエンティティ４２は、ビデオ符号器、例えば、ビデオ符号器１００を備えてもよく、備えてなくてもよい。ネットワークエンティティ４２が符号化されたビデオビットストリームをビデオ復号器２００に送信する前に、ネットワークエンティティ４２は、本願で説明された技術の一部を実装し得る。幾つかのビデオ復号システムにおいて、ネットワークエンティティ４２及びビデオ復号器２００は、別個の装置の構成要素であり得る。他の場合において、ネットワークエンティティ４２に関連して説明される機能は、ビデオ復号器２００を含む同一の装置によって実装され得る。場合によっては、ネットワークエンティティ４２は、図１における記憶装置４０の一例であり得る。
【０１６７】
ビデオ復号器２００のエントロピー復号器２０３は、ビットストリームに対してエントロピー復号を実行し、量子化係数及び幾つかの構文要素を生成する。エントロピー復号器２０３は、構文要素を予測処理ユニット２０８に転送する。ビデオ復号器２００は、ビデオスライスレベル及び／又は画像ブロックレベルで複数の構文要素／１つの構文要素を受信し得る。
【０１６８】
ビデオスライスがイントラ復号された（Ｉ）スライスに復号されるとき、予測処理ユニット２０８のイントラ予測器２０９は、シグナリングされたイントラ予測モード及び現在フレーム又は画像の以前に復号されたブロックのデータに基づいて、現在のビデオスライスの画像ブロックの予測ブロックを生成し得る。ビデオスライスがインター復号された（言い換えれば、Ｂ又はＰ）スライスに復号されるとき、予測処理ユニット２０８のインター予測器２１０は、エントロピー復号器２０３から受信した構文要素に基づいて、現在のビデオスライスの現在の画像ブロックを復号するために用いられるインター予測モードを決定し得、決定したインター予測モードに基づいて、現在の画像ブロックを復号（例えば、現在の画像ブロックに対してインター予測を実行）し得る。特に、インター予測器２１０は、現在のビデオスライスの現在の画像ブロックを予測するために新しいインター予測モードを用いるか否かを決定し得る。構文要素が現在の画像ブロックを予測するために新しいインター予測モードを用いることを示す場合、インター予測器２１０は、新しいインター予測モード（例えば、構文要素によって示される新しいインター予測モード又はデフォルトの新しいインター予測モード）に基づいて、現在のビデオスライスの現在の画像ブロックの動き情報又は現在の画像ブロックのサブブロックの動き情報を予測し、動き補償処理を用いることによって、現在の画像ブロックの予測動き情報又は現在の画像ブロックのサブブロックの予測動き情報に基づいて、現在の画像ブロックに対する予測ブロック又は現在の画像ブロックのサブブロックを取得又は生成する。本明細書における動き情報は、基準画像情報及び動きベクトルを含み得る。基準画像情報は、単方向／双方向予測情報と、基準画像のリストの数と、基準画像のリストに対応する基準画像のインデックスとを含み得るがこれに限定されない。インター予測のために、予測ブロックが１つの基準画像のリスト内の１つの基準画像から生成され得る。ビデオ復号器２００は、ＤＰＢ２０７に格納されている基準画像に基づいて、基準画像のリスト、すなわち、リスト０及びリスト１を構成し得る。現在の画像の基準フレームインデックスは、基準フレームのリスト０及び基準フレームのリスト１のうちの一方又は両方に含まれ得る。幾つかの例において、ビデオ符号器１００は、新しいインター予測モードを用いることによって特定のブロックの特定の構文要素を復号するか否かを示すためにシグナリングし得、又は、新しいインター予測モードを用いるか否かを示し、どの新しいインター予測モードが特定のブロックの特定の構文要素を復号するために特に用いられるかを示すためにシグナリングし得る。本明細書では、インター予測器２１０が、動き補償処理を実行することが理解されるべきである。
【０１６９】
逆量子化器２０４は、ビットストリームで提供され、且つ、エントロピー復号器２０３によって復号される量子化変換係数に対して逆量子化を実行、言い換えれば、逆量子化する。逆量子化処理は、ビデオスライス内の画像ブロックごとにビデオ符号器１００により計算される量子化パラメータを用いることによって、適用されるべき量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定することを含み得る。逆変換器２０５は、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換処理、を変換係数に適用し、ピクセル領域の残差ブロックを生成する。
【０１７０】
インター予測器２１０が現在の画像ブロック又は現在の画像ブロックのサブブロックに用いられる予測ブロックを生成した後、ビデオ復号器２００は、逆変換器２０５からの残差ブロック及びインター予測器２１０によって生成された対応する予測ブロックの合計を決定し、再構成されたブロック、言い換えれば、復号された画像ブロックを取得する。加算器２１１は、加算演算を実行する構成要素を表す。必要とあれば、（復号ループ内又は復号ループ後の）ループフィルタがピクセルを滑らかにするためにさらに用いられ得、又は、ビデオ画質が他の方法で改善され得る。フィルタユニット２０６は、１又は複数のループフィルタ、例えば、デブロッキングフィルタ、アダプティブループフィルタ（ＡＬＦ）、及びサンプルアダプティブオフセット（ＳＡＯ）フィルタを表し得る。フィルタユニット２０６は図３においてインループフィルタとして示されているが、他の実装において、フィルタユニット２０６は、ポストループフィルタとして実装され得る。一例において、フィルタユニット２０６は、ブロック歪みを減少させるためのブロックの再構成に適用可能であり、この結果が復号されたビデオストリームとして出力される。さらに、所与のフレーム又は画像内の復号された画像ブロックが復号された画像バッファ２０７にさらに格納され得、ＤＰＢ２０７は後続の動き補償に用いられる基準画像を格納する。ＤＰＢ２０７は、メモリの構成要素であり得、表示装置（例えば、図１における表示装置２２０）上での後続の提示のために復号されたビデオをさらに格納し得、そのようなタイプのメモリから分離され得る。
【０１７１】
ビデオ復号器２００の他の構造変異体が符号化されたビデオビットストリームを復号するために用いられ得ることが理解されるべきである。例えば、ビデオ復号器２００は、フィルタユニット２０６による処理なしに、出力ビデオストリームを生成し得る。代替的に、幾つかの画像ブロック又は画像フレームに対して、ビデオ復号器２００のエントロピー復号器２０３は、復号によって量子化係数を取得せず、それに対応して、逆量子化器２０４及び逆変換器２０５による処理が必要ない。
【０１７２】
上述のように、本願における技術は、例えば、インター復号に関連する。本願における技術が本願で説明された任意ビデオ復号器によって実行され得、ビデオ復号器が（例えば）図１から図３で示されて説明されたビデオ符号器１００及びビデオ復号器２００を備えることが理解されるべきである。言い換えれば、実行可能な実装において、図２を参照して説明されたインター予測器１１０は、ビデオデータのブロックに対する符号化の間にインター予測を実行するとき、以下で説明される特定の技術を実行し得る。他の実行可能な実装において、図３を参照して説明されたインター予測器２１０は、ビデオデータのブロックに対する復号の間にインター予測を実行するとき、以下で説明される特定の技術を実行し得る。したがって、一般的な「ビデオ符号器（ｖｉｄｅｏ  ｅｎｃｏｄｅｒ）」又は「ビデオ復号器（ｖｉｄｅｏ  ｄｅｃｏｄｅｒ）」への言及は、ビデオ符号器１００、ビデオ復号器２００、又は他のビデオ符号化ユニット若しくは復号ユニットを含み得る。
【０１７３】
本願におけるビデオ符号器１００及びビデオ復号器２００において、手順に対する処理結果は、さらに処理された後、次の手順に出力され得ることが理解されるべきである。例えば、挿入フィルタリング、動きベクトル導出、又はループフィルタリング等の手順の後、クリッピング又はシフト等の演算が、対応する手順に対する処理結果に対してさらに実行される。
【０１７４】
例えば、現在の画像ブロックの位置を制御し、且つ、隣接するアフィン符号化ブロックの動きベクトルに基づいて導出される動きベクトルが、さらに処理され得る。これは、本願では限定されない。例えば、動きベクトルの値が、特定のビット幅の範囲に制約される。動きベクトルの可能なビット幅がｂｉｔＤｅｐｔｈであると想定すると、動きベクトルの値は、−２＾（ｂｉｔＤｅｐｔｈ−１）から２＾（ｂｉｔＤｅｐｔｈ−１）−１の範囲である。ここで、シンボル「＾」は、べき乗を表す。ｂｉｔＤｅｐｔｈが１６である場合、値は、−３２７６８から３２７６７までの範囲である。ｂｉｔＤｅｐｔｈが１８である場合、値は、−１３１０７２から１３１０７１までの範囲である。動きベクトルの値は、以下の２つ方法のいずれかで制約され得る。
【０１７５】
方法１：動きベクトルのオーバーフロー最上位ビットが除去される。
ｕｘ＝（ｖｘ＋２ｂｉｔＤｅｐｔｈ）％２ｂｉｔＤｅｐｔｈ
ｖｘ＝（ｕｘ＞＝２ｂｉｔＤｅｐｔｈ−１）？（ｕｘ−２ｂｉｔＤｅｐｔｈ）：ｕｘ
ｕｙ＝（ｖｙ＋２ｂｉｔＤｅｐｔｈ）％２ｂｉｔＤｅｐｔｈ
ｖｙ＝（ｕｙ＞＝２ｂｉｔＤｅｐｔｈ−１）？（ｕｙ−２ｂｉｔＤｅｐｔｈ）：ｕｙ
【０１７６】
例えば、ｖｘの値は−３２７６９であり、３２７６７は前述の式に従って導出される。値は２の補数表現でコンピュータ上に格納され、−３２７６９の２の補数表現は１，０１１１，１１１１，１１１１，１１１１（１７ビット）であり、オーバーフローに対するコンピュータによって実行される処理が最上位ビットを破棄している。したがって、ｖｘの値は０１１１，１１１１，１１１１，１１１１であり、すなわち、３２７６７である。この値は、式に従う処理によって導出された結果を一致する。
【０１７７】
方法２：クリッピングが動きベクトルに対して実行され、以下の式が用いられる。
ｖｘ＝Ｃｌｉｐ３（−２ｂｉｔＤｅｐｔｈ−１，２ｂｉｔＤｅｐｔｈ−１−１，ｖｘ）
ｖｙ＝Ｃｌｉｐ３（−２ｂｉｔＤｅｐｔｈ−１，２ｂｉｔＤｅｐｔｈ−１−１，ｖｙ）
【０１７８】
前述の式において、Ｃｌｉｐ３は、ｚの値を［ｘ，ｙ］の範囲にクリッピングするものとして定義される。
【数１】
2022500910.tif 000003
【０１７９】
図４は、本願の一実施形態による、インター予測モジュール１２１の概略ブロック図である。インター予測モジュール１２１は、例えば、動き推定ユニット及び動き補償ユニットを備え得る。ＰＵとＣＵとの間の関係は、ビデオ圧縮符号化規格によって変わる。インター予測モジュール１２１は、複数の分割パターンに従って、現在のＣＵをＰＵに分割し得る。例えば、インター予測モジュール１２１は、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、及びＮ×Ｎの分割パターンに従って、現在のＣＵをＰＵに分割し得る。他の実施形態において、現在のＣＵは現在のＰＵである。これは限定されない。
【０１８０】
インター予測モジュール１２１は、各ＰＵに対して、整数動き推定（Ｉｎｔｅｇｅｒ  Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ，ＩＭＥ）を実行し得、その後、分数動き推定（Ｆｒａｃｔｉｏｎ  Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ，ＦＭＥ）を実行し得る。インター予測モジュール１２１がＰＵに対してＩＭＥを実行するとき、インター予測モジュール１２１は、ＰＵの基準ブロックに対する１又は複数の基準画像をサーチし得る。ＰＵの基準ブロックを発見した後、インター予測モジュール１２１は、整数精度で、ＰＵとＰＵに対する基準ブロックとの間の空間的な変位を示す動きベクトルを生成し得る。インター予測モジュール１２１がＰＵに対してＦＭＥを実行するとき、インター予測モジュール１２１は、ＰＵに対するＩＭＥを実行することによって生成された動きベクトルを改善し得る。ＰＵに対するＦＭＥを実行することによって生成された動きベクトルは、サブ整数精度（例えば、１／２ピクセル精度又は１／４ピクセル精度）を有し得る。ＰＵに対する動きベクトルを生成した後、インター予測モジュール１２１は、ＰＵに対する動きベクトルを用いることによって、ＰＵに対する予測画像ブロックを生成し得る。
【０１８１】
インター予測モジュール１２１がＡＭＶＰモードでＰＵに対する動き情報を復号器にシグナリングする幾つかの実行可能な実装において、インター予測モジュール１２１は、ＰＵに対する候補の予測動きベクトルのリストを生成し得る。候補の予測動きベクトルのリストは、１又は複数の最初の候補の予測動きベクトル、及び１又は複数の最初の候補の予測動きベクトルから導出される１又は複数の追加の候補の予測動きベクトルを含み得る。ＰＵに対する候補の予測動きベクトルのリストを生成した後、インター予測モジュール１２１は、候補の予測動きベクトルのリストから候補の予測動きベクトルを選択し得、ＰＵに対する動きベクトルの差（ＭＶＤ）を生成し得る。ＰＵに対するＭＶＤは、選択された候補の予測動きベクトルによって示される動きベクトルと、ＩＭＥ及びＦＭＥによってＰＵに対して生成された動きベクトルとの間の差を示し得る。これらの実行可能な実装において、インター予測モジュール１２１は、候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を識別する候補の予測動きベクトルのインデックスを出力し得る。インター予測モジュール１２１は、ＰＵに対するＭＶＤをさらに出力し得る。以下では、本願の本実施形態において、図６における高度な動きベクトル予測（ＡＭＶＰ）モードの実行可能な実装を詳細に説明する。
【０１８２】
さらに、ＰＵに対するＩＭＥ及びＦＭＥを実行し、ＰＵに対する動き情報を生成するために、インター予測モジュール１２１は、ＰＵに対するマージ（Ｍｅｒｇｅ）演算をさらに実行し得る。インター予測モジュール１２１がＰＵに対するマージ演算を実行するとき、インター予測モジュール１２１はＰＵに対する候補の予測動きベクトルのリストを生成し得る。ＰＵに対する候補の予測動きベクトルのリストは、１又は複数の最初の候補の予測動きベクトル、及び１又は複数の最初の候補の予測動きベクトルから導出される１又は複数の追加の候補の予測動きベクトルを含み得る。候補の予測動きベクトルのリスト内の最初の候補の予測動きベクトルは、１又は複数空間の候補の予測動きベクトル及び時間の候補の予測動きベクトルを含み得る。空間の候補の予測動きベクトルは、現在の画像内の他のＰＵに対する動き情報を示し得る。時間の候補の予測動きベクトルは、現在の画像とは異なる画像内の対応するＰＵに対する動き情報に基づいてよい。時間の候補の予測動きベクトルは、時間の動きベクトル予測（ＴＭＶＰ）とも称され得る。
【０１８３】
候補の予測動きベクトルのリストを生成した後、インター予測モジュール１２１は、候補の予測動きベクトルのリストから１つの候補の予測動きベクトルを選択し得る。その後、インター予測モジュール１２１は、ＰＵに対する動き情報によって示される基準ブロックに基づいて、ＰＵに対する予測画像ブロックを生成し得る。マージモードでは、ＰＵに対する動き情報は、選択された候補の予測動きベクトルによって示される動き情報と同一であり得る。以下で説明される図５は、マージモードの一例のフローチャートである。
【０１８４】
本願における技術によれば、候補の予測動きベクトルのリストを構成中に、最初の候補の予測動きベクトルが候補の予測動きベクトルのリストに直接含まれ得、候補の予測動きベクトルのリストの長さを制御すべく、フラグビットが１つのタイプの追加の候補の予測動きベクトルを示すために用いられ得る。特に、異なるタイプの追加の候補の予測動きベクトルが、異なるフラグビットを用いることによって示される。符号化及び復号の間、フラグビットが選択されるとき、予測動きベクトルがフラグビットによって示される候補の予測動きベクトルのセットから選択される。フラグビットによって示される候補の予測動きベクトルは、予め設定された動き情報オフセットであり得る。
【０１８５】
ＩＭＥ及びＦＭＥによってＰＵに対する予測画像ブロックを生成し、マージ演算によってＰＵに対する予測画像ブロックを生成した後、インター予測モジュール１２１は、ＦＭＥ演算を実行することによって生成された予測画像ブロック、又は、マージ演算を実行することによって生成された予測画像ブロックを選択し得る。幾つかの実行可能な実装において、インター予測モジュール１２１は、ＦＭＥ演算を実行することにより生成された予測画像ブロック及びマージ演算を実行することにより生成された予測画像ブロックのレート歪みコストを分析することによって、ＰＵに対する予測画像ブロックを選択し得る。
【０１８６】
インター予測モジュール１２１が各分割パターンに従って現在のＣＵを分割することによって生成されたＰＵの予測画像ブロックを選択した後（幾つかの実装において、符号化ツリーユニットＣＴＵがＣＵに分割された後、ＣＵはより小さいＰＵにさらに分割されず、この場合、ＰＵはＣＵに等しい）、インター予測モジュール１２１は、現在のＣＵに対する分割パターンを選択し得る。幾つかの実装において、インター予測モジュール１２１は、各分割パターンに従って現在のＣＵを分割することにより生成されたＰＵの選択された予測画像ブロックのレート歪みコストを分析することによって、現在のＣＵに対する分割パターンを選択し得る。インター予測モジュール１２１は、選択された分割パターンに属するＰＵと関連している予測画像ブロックを、残差生成モジュール１０２に出力し得る。インター予測モジュール１２１は、選択された分割パターンに属するＰＵに対する動き情報の構文要素を、エントロピー符号化モジュールに出力し得る。
【０１８７】
図４に示される概略図において、インター予測モジュール１２１は、ＩＭＥモジュール１８０ＡからＩＭＥモジュール１８０Ｎ（集合的に、「ＩＭＥモジュール１８０」と称される）と、ＦＭＥモジュール１８２ＡからＦＭＥモジュール１８２Ｎ（集合的に、「ＦＭＥモジュール１８２」と称される）と、マージモジュール１８４Ａからマージモジュール１８４Ｎ（集合的に、「マージモジュール１８４」と称される）と、ＰＵパターン決定モジュール１８６ＡからＰＵパターン決定モジュール１８６Ｎ（集合的に、「ＰＵパターン決定モジュール１８６」と称される）と、ＣＵパターン決定モジュール１８８（そして、ＣＴＵ−ＣＵパターン決定処理をさらに実行し得る）とを備える。
【０１８８】
ＩＭＥモジュール１８０、ＦＭＥモジュール１８２、及びマージモジュール１８４はそれぞれ、現在のＣＵのＰＵに対してＩＭＥ演算、ＦＭＥ演算、及びマージ演算を実行し得る。図４に示される概略図において、インター予測モジュール１２１は、ＣＵに対する各分割パターンにおいてＰＵごとに別個のＩＭＥモジュール１８０、別個のＦＭＥモジュール１８２、及び別個のマージモジュール１８４を含むものとして説明される。他の実行可能な実装において、インター予測モジュール１２１は、ＣＵの各分割パターンにおいてＰＵごとに別個のＩＭＥモジュール１８０も、別個のＦＭＥモジュール１８２も、別個のマージモジュール１８４も備えない。
【０１８９】
図４における概略図に示すように、ＩＭＥモジュール１８０Ａ、ＦＭＥモジュール１８２Ａ、及びマージモジュール１８４Ａはそれぞれ、ＣＵを２Ｎ×２Ｎ分割モードで分割することによって生成されたＰＵに対してＩＭＥ演算、ＦＭＥ演算、及びマージ演算を実行し得る。ＰＵモード決定モジュール１８６Ａは、ＩＭＥモジュール１８０Ａ、ＦＭＥモジュール１８２Ａ、及びマージモジュール１８４Ａによって生成された予測画像ブロックのうちの１つを選択し得る。
【０１９０】
ＩＭＥモジュール１８０Ｂ、ＦＭＥモジュール１８２Ｂ、及びマージモジュール１８４Ｂはそれぞれ、ＣＵをＮ×２Ｎ分割モードで分割することによって生成された左のＰＵに対してＩＭＥ演算、ＦＭＥ演算、及びマージ演算を実行し得る。ＰＵモード決定モジュール１８６Ｂは、ＩＭＥモジュール１８０Ｂ、ＦＭＥモジュール１８２Ｂ、及びマージモジュール１８４Ｂによって生成された予測画像ブロックのうちの１つを選択し得る。
【０１９１】
ＩＭＥモジュール１８０Ｃ、ＦＭＥモジュール１８２Ｃ、及びマージモジュール１８４Ｃはそれぞれ、ＣＵをＮ×２Ｎ分割モードで分割することによって生成された右のＰＵに対してＩＭＥ演算、ＦＭＥ演算、及びマージ演算を実行し得る。ＰＵモード決定モジュール１８６Ｃは、ＩＭＥモジュール１８０Ｃ、ＦＭＥモジュール１８２Ｃ、及びマージモジュール１８４Ｃによって生成された予測画像ブロックのうちの１つを選択し得る。
【０１９２】
ＩＭＥモジュール１８０Ｎ、ＦＭＥモジュール１８２Ｎ、及びマージモジュール１８４はそれぞれ、ＣＵをＮ×Ｎ分割モードで分割することによって生成されたより右下のＰＵに対してＩＭＥ演算、ＦＭＥ演算、及びマージ演算を実行し得る。ＰＵモード決定モジュール１８６Ｎは、ＩＭＥモジュール１８０Ｎ、ＦＭＥモジュール１８２Ｎ、及びマージモジュール１８４Ｎによって生成された予測画像ブロックのうちの１つを選択し得る。
【０１９３】
ＰＵパターン決定モジュール１８６は、複数の可能な予測画像ブロックおレート歪みコストを分析することによって予測画像ブロックを選択し得、所与の復号シナリオで最適なレート歪みコストを提供する予測画像ブロックを選択し得る。例えば、帯域幅が限定されているアプリケーションの場合、ＰＵモード決定モジュール１８６は、圧縮比が増加する予測画像ブロックを好み得、他のアプリケーションの場合、ＰＵモード決定モジュール１８６は、再構成されたビデオの質が改善される予測画像ブロックを好み得る。ＰＵパターン決定モジュール１８６が現在のＣＵのＰＵに対する予測画像ブロックを選択した後、ＣＵパターン決定モジュール１８８は、現在のＣＵに対する分割パターンを選択し、予測画像ブロック及び選択された分割パターンに属するＰＵに対する動き情報を出力する。
【０１９４】
図５は、本願の一実施形態による、マージモードの実装のフローチャートである。ビデオ符号器（例えば、ビデオ符号器２０）は、マージ演算２００を実行し得る。マージ演算２００は、２０２：現在の予測ユニットに対する候補のリストを生成すること、を含み得る。２０４：候補のリスト内の候補と関連している予測ビデオブロックを生成する。２０６：候補のリストから候補を選択する。２０８：候補を出力する。候補は、候補の動きベクトル又は候補の動き情報である。
【０１９５】
他の実行可能な実装において、ビデオ符号器は、マージ演算２００とは異なるマージ演算を実行し得る。例えば、他の実行可能な実装において、ビデオ符号器は、マージ演算を実行し得る。ここで、ビデオ符号器は、マージ演算２００の段階より多い又は少ない段階、又はマージ演算２００の段階とは異なる段階を実行する。他の実行可能な実装において、ビデオ符号器は、異なる順番で又は並列に、マージ演算２００の段階を実行し得る。符号器は、スキップ（ｓｋｉｐ）モードで符号化されたＰＵに対してマージ演算２００をさらに実行し得る。
【０１９６】
ビデオ符号器がマージ演算２００を開始した後、ビデオ符号器は、現在のＰＵに対する候補の予測動きベクトルのリストを生成し得る（２０２）。ビデオ符号器は、様々な方法で現在のＰＵに対する候補の予測動きベクトルのリストを生成し得る。例えば、ビデオ符号器は、図８から図１２に関連して以下で説明される例示的な技術のうちの１つに従って、現在のＰＵに対する候補の予測動きベクトルのリストを生成し得る。本願における技術によれば、現在のＰＵに用いられる候補の予測動きベクトルのリストは、少なくとも１つの第１の候補の動きベクトル、及び少なくとも１つの第２の候補の動きベクトルのセットの識別子を含む。
【０１９７】
上述のように現在のＰＵに対する候補の予測動きベクトルのリストは、時間の候補の予測動きベクトルを含み得る。時間の候補の予測動きベクトルは、対応する時間領域の同一場所に配置された（ｃｏ−ｌｏｃａｔｅｄ）ＰＵに対する動き情報を示し得る。同一場所に配置されたＰＵは、画像フレーム内の現在のＰＵと同一位置に空間的に配置され得るが、現在の画像の代わりに基準画像に配置され得る。本願では、対応する時間ＰＵを含む基準画像は、関連基準画像と称され得る。本願では、関連基準画像の基準画像のインデックスは、関連基準画像のインデックスと称され得る。上述のように、現在の画像は、１又は複数の基準画像のリスト（例えば、リスト０及びリスト１）と関連していてよい。基準画像のインデックスは、基準画像のリスト内の基準画像の位置を示すことによって基準画像を示し得る。幾つかの実行可能な実装において、現在の画像は、結合された基準画像のリストと関連していてよい。
【０１９８】
幾つかのビデオ符号器において、関連基準画像のインデックスは、現在のＰＵと関連している基準インデックスの発信元位置をカバーするＰＵに対する基準画像のインデックスである。これらのビデオ符号器において、現在のＰＵと関連している基準インデックスの発信元位置は、現在のＰＵの左に隣接する、又は現在のＰＵの上部に隣接する。本願では、ＰＵと関連している画像ブロックが特定の位置を含む場合、ＰＵは、特定の位置を「カバー（ｃｏｖｅｒ）」し得る。これらのビデオ符号器において、基準インデックスの発信元位置が利用不可能である場合、ビデオ符号器は基準画像のインデックス０を用い得る。
【０１９９】
しかしながら、幾つかの例において、現在のＰＵと関連している基準インデックスの発信元位置は、現在のＣＵ内にある。これらの例において、ＰＵが現在のＣＵの上部又は現在のＣＵの左である場合、現在のＰＵと関連している基準インデックスの発信元位置をカバーするＰＵは、利用可能であるとみなされ得る。この場合、ビデオ符号器は、同一場所に配置されたＰＵを含む基準画像を決定するために、現在のＣＵの他のＰＵに対する動き情報にアクセスする必要があり得る。したがって、これらのビデオ符号器は、現在のＣＵに属するＰＵに対する動き情報（例えば、基準画像のインデックス）を用いて、現在のＰＵに対する時間の候補の予測動きベクトルを生成し得る。言い換えれば、これらのビデオ符号器は、現在のＣＵに属するＰＵに対する動き情報を用いて時間の候補の予測動きベクトルを生成し得る。したがって、ビデオ符号器は、現在のＰＵ及び現在のＰＵと関連している基準インデックスの発信元位置をカバーするＰＵに対する候補の予測動きベクトルのリストを並列に生成することができない場合がある。
【０２００】
ビデオ符号器は、任意の他のＰＵに対する基準画像のインデックスを参照することなく、関連基準画像のインデックスを明示的に設定し得る。このように、ビデオ符号器は、現在のＰＵ及び現在のＣＵの他のＰＵに対する候補の予測動きベクトルのリストを並列に生成し得る。ビデオ符号器が関連基準画像のインデックスを明示的に設定するので、関連基準画像のインデックスは、現在のＣＵの任意の他のＰＵに対する動き情報に基づいていない。ビデオ符号器が関連基準画像のインデックスを明示的に設定する幾つかの実行可能な実装において、ビデオ符号器は、関連基準画像のインデックスを固定されて予め設定された基準画像のインデックス（例えば、０）に常に設定し得る。このように、ビデオ符号器は、予め設定された基準画像のインデックスによって示される基準フレーム内の同一場所に配置されたＰＵに対する動き情報に基づいて、時間の候補の予測動きベクトルを生成し得る。ここで、時間の候補の予測動きベクトルは、現在のＣＵに対する候補の予測動きベクトルのリストに含まれ得る。
【０２０１】
ビデオ符号器が関連基準画像のインデックスを明示的に設定する実行可能な実装において、ビデオ符号器は、構文構造（例えば、画像ヘッダ、スライスヘッダ、ＡＰＳ、又は他の構文構造）で、関連基準画像のインデックスを明示的にシグナリングし得る。この実行可能な実装において、ビデオ符号器は、ＬＣＵ（すなわち、ＣＴＵ）、ＣＵ、ＰＵ、ＴＵ、又は他のタイプのサブブロックごとに関連基準画像のインデックスを、復号器にシグナリングし得る。例えば、ビデオ符号器は、ＣＵのＰＵごとに関連基準画像のインデックスが"１"に等しいことをシグナリングし得る。
【０２０２】
幾つかの実行可能な実装において、関連基準画像のインデックスは、明示的によりはむしろ黙示的に設定し得る。これらの実行可能な実装において、たとえ、これらの位置が現在のＰＵに厳密に隣接していなくても、ビデオ符号器は、現在のＣＵの外側の位置をカバーするＰＵに対する基準画像のインデックスにより示される基準画像内のＰＵに対する動き情報を用いることによって、現在のＣＵのＰＵに対する候補の予測動きベクトルのリスト内の各時間の候補の予測動きベクトルを生成し得る。
【０２０３】
現在のＰＵに対する候補の予測動きベクトルのリストを生成した後、ビデオ符号器は、候補の予測動きベクトルのリスト内の候補の予測動きベクトルと関連している予測画像ブロックを生成し得る（２０４）。ビデオ符号器は、示された候補の予測動きベクトルの動き情報に基づいて現在のＰＵに対する動き情報を決定し得、その後、現在のＰＵに対する動き情報によって示される１又は複数の基準ブロックに基づいて予測画像ブロックを生成し、候補の予測動きベクトルと関連している予測画像ブロックを生成し得る。その後、ビデオ符号器は、候補の予測動きベクトルのリストから１つの候補の予測動きベクトルを選択し得る（２０６）。ビデオ符号器は、様々な方法で候補の予測動きベクトルを選択し得る。例えば、ビデオ符号器は、候補の予測動きベクトルと関連している各予測画像ブロックのレート歪みコストを分析することによって、１つの候補の予測動きベクトルを選択し得る。
【０２０４】
候補の予測動きベクトルを選択した後、ビデオ符号器は、候補の予測動きベクトルのインデックスを出力し得る（２０８）。候補の予測動きベクトルのインデックスは、候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を示し得る。幾つかの実行可能な実装において、候補の予測動きベクトルのインデックスは、「ｍｅｒｇｅ＿ｉｄｘ」として表され得る。
【０２０５】
図６は、本願の一実施形態による、高度な動きベクトル予測（ＡＭＶＰ）モードの実装のフローチャートである。ビデオ符号器（例えば、ビデオ符号器２０）は、ＡＭＶＰ演算２１０を実行し得る。ＡＭＶＰ演算２１０は、２１１：現在の予測ユニットに対する１又は複数の動きベクトルを生成すること、を含み得る。２１２：現在の予測ユニットに対する予測ビデオブロックを生成する。２１３：現在の予測ユニットに用いられる候補のリストを生成する。２１４：動きベクトルの差を生成する。２１５：候補のリストから候補を選択する。２１６：候補を選択するために用いられる基準画像のインデックス、候補のインデックス、及び動きベクトルの差を出力する。候補は、候補の動きベクトル又は候補の動き情報である。
【０２０６】
ビデオ符号器がＡＭＶＰ演算２１０を開始した後、ビデオ符号器は、現在のＰＵに対する１又は複数の動きベクトルを生成し得る（２１１）。ビデオ符号器は、整数動き推定及び分数動き推定を実行し、現在のＰＵに対する動きベクトルを生成し得る。上述のように、現在の画像は、２つの基準画像のリスト（リスト０及びリスト１）と関連していてよい。現在のＰＵが一方向に予測される場合、ビデオ符号器は、現在のＰＵに対するリスト０の動きベクトル又はリスト１の動きベクトルを生成し得る。リスト０の動きベクトルは、現在のＰＵに対応する画像ブロックと、リスト０内の基準画像の基準ブロックとの間の空間的な変位を示し得る。リスト１の動きベクトルは、現在のＰＵに対応する画像ブロックとリスト１内の基準画像の基準ブロックとの間の空間的な変位を示し得る。現在のＰＵが双方向に予測される場合、ビデオ符号器は、現在のＰＵに対するリスト０の動きベクトル及びリスト１の動きベクトルを生成し得る。
【０２０７】
現在のＰＵに対する１又は複数の動きベクトルを生成した後、ビデオ符号器は、現在のＰＵに対する予測画像ブロックを生成し得る（２１２）。ビデオ符号器は、現在のＰＵ対する１又は複数の動きベクトルによって示される１又は複数の基準ブロックに基づいて、現在のＰＵに対する予測画像ブロックを生成し得る。
【０２０８】
さらに、ビデオ符号器は、現在のＰＵに対する候補の予測動きベクトルのリストを生成し得る（２１３）。ビデオ復号器は、様々な方法で現在のＰＵに対する候補の予測動きベクトルのリストを生成し得る。例えば、ビデオ符号器は、図８から図１２に関連して以下で説明される１又は複数の実行可能な実装に従って、現在のＰＵに対する候補の予測動きベクトルのリストを生成し得る。幾つかの実行可能な実装において、ビデオ符号器がＡＭＶＰ演算２１０において候補の予測動きベクトルのリストを生成するとき、候補の予測動きベクトルのリストは、２つの候補の予測動きベクトルに限定され得る。対照的に、ビデオ符号器がマージ演算において候補の予測動きベクトルのリストを生成するとき、候補の予測動きベクトルのリストは、より多くの候補の予測動きベクトル（例えば、５つの候補の予測動きベクトル）を含み得る。
【０２０９】
現在のＰＵに対する候補の予測動きベクトルのリストを生成した後、ビデオ符号器は、候補の予測動きベクトルのリスト内の候補の予測動きベクトルごとに１又は複数の動きベクトルの差（ＭＶＤ）を生成し得る（２１４）。ビデオ符号器は、候補の予測動きベクトルによって示される動きベクトルと現在のＰＵに対する対応する動きベクトルとの間お差を決定し、候補の予測動きベクトルに対する動きベクトルの差を生成し得る。
【０２１０】
現在のＰＵが一方向に予測される場合、ビデオ符号器は、候補の予測動きベクトルごとに単一のＭＶＤを生成し得る。現在のＰＵが双方向に予測される場合、ビデオ符号器は、候補の予測動きベクトルごとに２つのＭＶＤを生成し得る。第１のＭＶＤは、候補の予測動きベクトルによって示される動きベクトルと、現在のＰＵのリスト０の動きベクトルとの間の差を示し得る。第２のＭＶＤは、候補の予測動きベクトルによって示される動きベクトルと、現在のＰＵのリスト１の動きベクトルとの間の差を示し得る。
【０２１１】
ビデオ符号器は、候補の予測動きベクトルのリストから１又は複数の候補の予測動きベクトルを選択し得る（２１５）。ビデオ符号器は、様々な方法で１又は複数の候補の予測動きベクトルを選択し得る。例えば、ビデオ符号器は、最小エラーで、符号化されるべき動きベクトルの関連している動きベクトルに一致させる候補の予測動きベクトルを選択し得る。これは、候補の予測動きベクトルに対する動きベクトルの差を表すために必要とされるビット数を減少させ得る。
【０２１２】
１又は複数の候補の予測動きベクトルを選択した後、ビデオ符号器は、現在のＰＵに対する１又は複数の基準画像のインデックス、現在のＰＵに対する１又は複数の候補の予測動きベクトルのインデックス、及び、１又は複数の選択された候補の予測動きベクトルに対する１又は複数の動きベクトルの差を出力し得る（２１６）。
【０２１３】
現在の画像が２つの基準画像のリスト（リスト０及びリスト１）と関連しており、現在のＰＵが一方向に予測される一例において、ビデオ符号器は、リスト０に対する基準画像のインデックス（「ｒｅｆ＿ｉｄｘ＿１０」）又はリスト１に対する基準画像のインデックス（「ｒｅｆ＿ｉｄｘ＿１１」）を出力し得る。ビデオ符号器は、候補の予測動きベクトルのリスト内の現在のＰＵに対するリスト０の動きベクトルの選択された候補の予測動きベクトルの位置を示す候補の予測動きベクトルのインデックス（「ｍｖｐ＿１０＿ｆｌａｇ」）をさらに出力し得る。代替的に、ビデオ符号器は、候補の予測動きベクトルのリスト内の現在のＰＵに対するリスト１の動きベクトルの選択された候補の予測動きベクトルの位置を示す候補の予測動きベクトルのインデックス（「ｍｖｐ＿１１＿ｆｌａｇ」）を出力し得る。ビデオ符号器は、リスト０の動きベクトルに対するＭＶＤ又は現在のＰＵに対するリスト１の動きベクトルをさらに出力し得る。
【０２１４】
現在の画像が２つの基準画像のリスト（リスト０及びリスト１）と関連しており、現在のＰＵが双方向に予測される一例において、ビデオ符号器は、リスト０に対する基準画像のインデックス（「ｒｅｆ＿ｉｄｘ＿１０」）及びリスト１に対する基準画像のインデックス（「ｒｅｆ＿ｉｄｘ＿１１」）を出力し得る。ビデオ符号器は、候補の予測動きベクトルのリスト内の現在のＰＵに対するリスト０の動きベクトルの選択された候補の予測動きベクトルの位置を示す候補の予測動きベクトルのインデックス（「ｍｖｐ＿１０＿ｆｌａｇ」）をさらに出力し得る。さらに、ビデオ符号器は、候補の予測動きベクトルのリスト内の現在のＰＵに対するリスト１の動きベクトルの選択された候補の予測動きベクトルの位置を示す候補の予測動きベクトルのインデックス（「ｍｖｐ＿１１＿ｆｌａｇ」）を出力し得る。ビデオ符号器は、現在のＰＵに対するリスト０の動きベクトルのＭＶＤ及び現在のＰＵに対するリスト１の動きベクトルのＭＶＤをさらに出力し得る。
【０２１５】
図７は、本願の一実施形態による、ビデオ復号器（例えば、ビデオ復号器３０）によって実行される動き補償の実装のフローチャートである。
【０２１６】
ビデオ復号器が動き補償演算２２０を実行するとき、ビデオ復号器は、現在のＰＵに対する選択された候補の予測動きベクトルのインジケーションを受信し得る（２２２）。例えば、ビデオ復号器は、現在のＰＵに対する候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を示す候補の予測動きベクトルのインデックスを受信し得る。
【０２１７】
現在のＰＵに対する動き情報がＡＭＶＰモードで符号化され、現在のＰＵが双方向に予測される場合、ビデオ復号器は、第１の候補の予測動きベクトルのインデックス及び第２の候補の予測動きベクトルのインデックスを受信し得る。第１の候補の予測動きベクトルのインデックスは、候補の予測動きベクトルのリスト内の現在のＰＵのリスト０の動きベクトルに対する選択された候補の予測動きベクトルの位置を示す。第２の候補の予測動きベクトルのインデックスは、候補の予測動きベクトルのリスト内の現在のＰＵのリスト１の動きベクトルに対する選択された候補の予測動きベクトルの位置を示す。幾つかの実行可能な実装において、単一の構文要素が、２つの候補の予測動きベクトルのインデックスを識別するために用いられ得る。
【０２１８】
幾つかの実行可能な実装において、候補の予測動きベクトルのリストが本願における技術に従って構成される場合、ビデオ復号器は、現在のＰＵの候補の予測動きベクトルのリスト内の選択された候補の予測動きベクトルの位置を示す候補の予測動きベクトルのインデックスを受信してもよく、選択された候補の予測動きベクトルが現在のＰＵ内の候補の予測動きベクトルのリスト内に属するカテゴリの位置を示す識別子、及び選択された候補の予測動きベクトルが属するカテゴリ内の選択された候補の予測動きベクトルの位置を示す候補の予測動きベクトルのインデックスを受信してもよい。
【０２１９】
さらに、ビデオ復号器は、現在のＰＵに対する候補の予測動きベクトルのリストを生成し得る（２２４）。ビデオ復号器は、様々な方法で現在のＰＵに対する候補の予測動きベクトルのリストを生成し得る。例えば、ビデオ復号器は、図８から図１２を参照して以下で説明される技術を用いることによって、現在のＰＵに対する候補の予測動きベクトルのリストを生成し得る。図５に関連して上述のように、ビデオ復号器が候補の予測動きベクトルのリストに対する時間の候補の予測動きベクトルを生成するとき、ビデオ復号器は、同一場所に配置されたＰＵを含む基準画像を識別する基準画像のインデックスを、明示的に又は黙示的に設定し得る。本願における技術によれば、候補の予測動きベクトルのリストを構成中に、候補の予測動きベクトルのリストの長さを制御すべく、フラグビットが候補の予測動きベクトルのリスト内の１つのタイプの候補の予測動きベクトルを示すために用いられ得る。
【０２２０】
現在のＰＵに対する候補の予測動きベクトルのリストを生成した後、ビデオ復号器は、現在のＰＵに対する候補の予測動きベクトルのリスト内の１又は複数の選択された候補の予測動きベクトルによって示される動き情報に基づいて、現在のＰＵに対する動き情報を決定し得る（２２５）。例えば、現在のＰＵに対する動き情報がマージモードで符号化される場合、現在のＰＵに対する動き情報は、選択された候補の予測動きベクトルによって示される動き情報と同一であり得る。現在のＰＵに対する動き情報がＡＭＶＰモードで符号化される場合、ビデオ復号器は、選択された候補の予測動きベクトルによって示される１又は複数の動きベクトル及びビットストリームに示される１又は複数のＭＶＤを用いることによって、現在のＰＵに対する１又は複数の動きベクトルを再構成し得る。基準画像のインデックス及び現在のＰＵの予測方向識別子は、１又は複数の基準画像のインデックス及び１又は複数の選択された候補の予測動きベクトルの予測方向識別子と同一であり得る。現在のＰＵに対する動き情報を決定した後、ビデオ復号器は、現在のＰＵに対する動き情報よって示される１又は複数の基準ブロックに基づいて、現在のＰＵに対する予測画像ブロックを生成し得る（２２６）。
【０２２１】
図８は、本願の一実施形態による、符号化ユニット（ＣＵ）及び符号化ユニットと関連している隣接する画像ブロックの一例の概略図である。図８は、ＣＵ２５０及びＣＵ２５０と関連している概略の候補の予測動きベクトルの位置２５２Ａから候補の予測動きベクトルの位置２５２Ｅを示すための概略図である。本願では、候補の予測動きベクトルの位置２５２Ａから候補の予測動きベクトルの位置２５２Ｅは、集合的に、候補の予測動きベクトルの位置２５２と称され得る。候補の予測動きベクトルの位置２５２は、ＣＵ２５０と同一の画像内にある空間の候補の予測動きベクトルを表す。候補の予測動きベクトルの位置２５２Ａは、ＣＵ２５０の左にある。候補の予測動きベクトルの位置２５２Ｂは、ＣＵ２５０の上にある。候補の予測動きベクトルの位置２５２Ｃは、ＣＵ２５０の右上にある。候補の予測動きベクトルの位置２５２Ｄは、ＣＵ２５０の左下にある。候補の予測動きベクトルの位置２５２Ｅは、ＣＵ２５０の左上にある。図８は、インター予測モジュール１２１及び動き補償モジュールが候補の予測動きベクトルのリストを生成し得る方法の概略的な実装を示す。以下では、インター予測モジュール１２１を参照して実装を説明するが、動き補償モジュールが同一の技術を実装し得、従って同一候補の予測動きベクトルのリストを生成し得ることが理解されるべきである。
【０２２２】
図９は、本願の一実施形態による、候補の予測動きベクトルのリストを構成する実装のフローチャートである。図９における技術は５つの候補の予測動きベクトルを含むリストに基づいて説明されるが、本明細書で説明される技術は他のサイズを有するリストで代替的に用いられ得る。５つの候補の予測動きベクトルはそれぞれ、インデックス（例えば、０から４）を有し得る。図９における技術は、一般的なビデオ復号器に基づいて説明される。一般的なビデオ復号器は、例えば、ビデオ符号器（例えば、ビデオ符号器２０）又は、ビデオ復号器（例えば、ビデオ復号器３０）であり得る。本願における技術に基づいて構成される候補の予測動きベクトルのリストは以下の実施形態で詳細に説明され、詳細は本明細書で説明されない。
【０２２３】
図９の実装に従って候補の予測動きベクトルのリストを再構成するために、ビデオ復号器は、最初に、４つの空間の候補の予測動きベクトルを検討する（９０２）。４つの空間の候補の予測動きベクトルは、候補の予測動きベクトルの位置２５２Ａ、候補の予測動きベクトルの位置２５２Ｂ、候補の予測動きベクトルの位置２５２Ｃ、及び候補の予測動きベクトルの位置２５２Ｄに対応し得る。４つの空間の候補の予測動きベクトルは、現在のＣＵ（例えば、ＣＵ２５０）と同一の画像内に配置される４つのＰＵに対する動き情報に対応し得る。ビデオ復号器は、特定の順序でリスト内の４つの空間の候補の予測動きベクトルを検討し得る。例えば、候補の予測動きベクトルの位置２５２Ａは、最初に検討され得る。候補の予測動きベクトルの位置２５２Ａが利用可能である場合、候補の予測動きベクトルの位置２５２Ａがインデックス０に割り当てられ得る。候補の予測動きベクトルの位置２５２Ａが利用不可能である場合、ビデオ復号器は、候補の予測動きベクトルの位置２５２Ａを候補の予測動きベクトルのリストに追加しない場合がある。候補の予測動きベクトルの位置は、様々な理由で利用不可能であり得る。例えば、候補の予測動きベクトルの位置が現在の画像に含まれない場合、候補の予測動きベクトルの位置が利用不可能であり得る。他の実行可能な実装において、候補の予測動きベクトルの位置がイントラ予測を受ける場合、候補の予測動きベクトルの位置が利用不可能であり得る。他の実行可能な実装において、候補の予測動きベクトルの位置が現在のＣＵに対応するスライスとは異なるスライスである場合、候補の予測動きベクトルの位置が利用不可能であり得る。
【０２２４】
候補の予測動きベクトルの位置２５２Ａを検討した後、ビデオ復号器は候補の予測動きベクトルの位置２５２Ｂを検討し得る。候補の予測動きベクトルの位置２５２Ｂが利用可能であり、且つ、候補の予測動きベクトルの位置２５２Ａとは異なる場合、ビデオ復号器は、候補の予測動きベクトルの位置２５２Ｂを候補の予測動きベクトルのリストに追加し得る。この特定の文脈において、用語「同一（ｓａｍｅ）」又は「異なる（ｄｉｆｆｅｒｅｎｔ）」は、候補の予測動きベクトルの位置と関連している動き情報が同一又は異なることを意味する。したがって、２つの候補の予測動きベクトルの位置が同一の動き情報を有する場合、２つの候補の予測動きベクトルの位置が同一であるとみなされ、又は、２つの候補の予測動きベクトルの位置が異なる動き情報を有する場合、２つの候補の予測動きベクトルの位置が異なるとみなされる。候補の予測動きベクトルの位置２５２Ａが利用不可能である場合、ビデオ復号器は候補の予測動きベクトルの位置２５２Ｂをインデックス０に割り当て得る。候補の予測動きベクトルの位置２５２Ａが利用可能である場合、ビデオ復号器は候補の予測動きベクトルの位置２５２をインデックス１に割り当て得る。候補の予測動きベクトルの位置２５２Ｂが、利用不可能である、又は候補の予測動きベクトルの位置２５２Ａと同一である場合、ビデオ復号器は、候補の予測動きベクトルの位置２５２Ｂを候補の予測動きベクトルのリストに追加することをスキップする。
【０２２５】
同様に、ビデオ復号器は候補の予測動きベクトルの位置２５２Ｃを検討し、候補の予測動きベクトルの位置２５２Ｃをリストに追加するか否かを決定する。候補の予測動きベクトルの位置２５２Ｃが、利用可能であり、且つ、候補の予測動きベクトルの位置２５２Ｂ及び候補の予測動きベクトルの位置２５２Ａとは異なる場合、ビデオ復号器は、候補の予測動きベクトルの位置２５２Ｃを次の利用可能なインデックスに割り当て得る。候補の予測動きベクトルの位置２５２Ｃが、利用不可能である、又は候補の予測動きベクトルの位置２５２Ａ及び候補の予測動きベクトルの位置２５２Ｂのうちの少なくとも１つと同一である場合、ビデオ復号器は、候補の予測動きベクトルの位置２５２Ｃを候補の予測動きベクトルのリストに追加しない。次に、ビデオ復号器は、候補の予測動きベクトルの位置２５２Ｄを検討する。候補の予測動きベクトルの位置２５２Ｄが、利用可能であり、且つ、候補の予測動きベクトル位置２５２Ａ、候補の予測動きベクトル位置２５２Ｂ及び候補の予測動きベクトル位置２５２Ｃとは異なる場合、ビデオ復号器は、候補の予測動きベクトルの位置２５２Ｄを次の利用可能なインデックスに割り当て得る。候補の予測動きベクトルの位置２５２Ｄが、利用不可能である、又は候補の予測動きベクトルの位置２５２Ａ、候補の予測動きベクトルの位置２５２Ｂ、及び候補の予測動きベクトルの位置２５２Ｃのうちの少なくとも１つと同一である場合、ビデオ復号器は、候補の予測動きベクトルの位置２５２Ｄを候補の予測動きベクトルのリストに追加しない。前述の実装において、候補の予測動きベクトル２５２Ａから候補の予測動きベクトル２５２Ｄまでが検討され、候補の予測動きベクトル２５２Ａから候補の予測動きベクトル２５２Ｄまでを候補の予測動きベクトルのリスト内に追加するか否かを決定する一例が、概して説明される。しかしながら、幾つかの実装において、候補の予測動きベクトル２５２Ａから候補の予測動きベクトル２５２Ｄまでの全てが、最初に、候補の予測動きベクトルのリストに追加され得、その後、繰り返される候補の予測動きベクトルの位置が候補の予測動きベクトルのリストから除去される。
【０２２６】
ビデオ復号器が最初の４つの空間の候補の予測動きベクトルを検討した後、候補の予測動きベクトルのリストは４つの空間の候補の予測動きベクトルを含み得、又は、リストは４つより少ない空間の候補の予測動きベクトルを含み得る。リストが４つの空間の候補の予測動きベクトルを含む場合（９０４，ｙｅｓ）、ビデオ復号器は、時間の候補の予測動きベクトルを検討する（９０６）。時間の候補の予測動きベクトルは、現在の画像とは異なる画像お同一場所に配置されたＰＵに対する動き情報に対応し得る。時間の候補の予測動きベクトルが利用可能であり、且つ、最初の４つの空間の候補の予測動きベクトルとは異なる場合、ビデオ復号器は、時間の候補の予測動きベクトルをインデックス４に割り当てる。時間の候補の予測動きベクトルが利用不可能である、又は最初の４つの空間の候補の予測動きベクトルのうちの１つと同一である場合、ビデオ復号器は、時間の候補の予測動きベクトルを候補の予測動きベクトルのリストに追加しない。したがって、ビデオ復号器が時間の候補の予測動きベクトルを検討した後（９０６）、候補の予測動きベクトルのリストは、５つの候補の予測動きベクトル（最初の４つの空間の候補の予測動きベクトルが９０２で検討され、時間の候補の予測動きベクトルが９０４で検討される）を含んでもよく、４つの候補の予測動きベクトル（最初の４つの空間の候補の予測動きベクトルが９０２で検討される）を含んでもよい。候補の予測動きベクトルのリストが５つの候補の予測動きベクトルを含む場合（９０８，ｙｅｓ）、ビデオ復号器は、リストを構成することを完了する。
【０２２７】
候補の予測動きベクトルのリストが４つの候補の予測動きベクトルを含む場合（９０８，ｎｏ）、ビデオ復号器は、第５の空間の候補の予測動きベクトルを検討し得る（９１０）。第５の空間の候補の予測動きベクトルは、（例えば、）候補の予測動きベクトルの位置２５２Ｅに対応し得る。位置２５２Ｅでの候補の予測動きベクトルが利用可能であり、且つ、位置２５２Ａ、位置２５２Ｂ、位置２５２Ｃ及び位置２５２Ｄでの候補の予測動きベクトルとは異なる場合、ビデオ復号器は、第５の空間の候補の予測動きベクトルを候補の予測動きベクトルのリストに追加し得、第５の空間の候補の予測動きベクトルをインデックス４に割り当て得る。位置２５２Ｅでの候補の予測動きベクトルが利用不可能である、又は候補の予測動きベクトルの位置２５２Ａ、候補の予測動きベクトルの位置２５２Ｂ、候補の予測動きベクトルの位置２５２Ｃ及び候補の予測動きベクトルの位置２５２Ｄでの候補の予測動きベクトルと同一である場合、ビデオ復号器は、位置２５２での候補の予測動きベクトルを候補の予測動きベクトルのリストに追加しない場合がある。したがって、第５の空間の候補の予測動きベクトルが検討された後（９１０）、リストは、５つの候補の予測動きベクトル（最初の４つの空間の候補の予測動きベクトルが９０２で検討され、第５の空間の候補の予測動きベクトルが９１０で検討される）を含んでもよく、４つの候補の予測動きベクトル（最初の４つの空間の候補の予測動きベクトルが９０２で検討される）を含んでもよい。
【０２２８】
候補の予測動きベクトルのリストが５つの候補の予測動きベクトルを含む場合（９１２，ｙｅｓ）、ビデオ復号器は、候補の予測動きベクトルのリストを生成することを完了する。候補の予測動きベクトルのリストが４つの候補の予測動きベクトルを含む場合（９１２，ｎｏ）、ビデオ復号器は、リストが５つの候補の予測動きベクトルを含むまで（９１６，ｙｅｓ）、人工的に生成された候補の予測動きベクトルを追加する（９１４）。
【０２２９】
ビデオ復号器が最初の４つの空間の候補の予測動きベクトルを検討した後にリストが４つより少ない空間の候補の予測動きベクトルを含む場合（９０４，ｎｏ）、ビデオ復号器は、第５の空間の候補の予測動きベクトルを検討し得る（９１８）。第５の空間の候補の予測動きベクトルは、（例えば、）候補の予測動きベクトルの位置２５２Ｅに対応し得る。位置２５２Ｅでの候補の予測動きベクトルが利用可能であり、且つ、候補の予測動きベクトルのリスト内の既存の候補の予測動きベクトルとは異なる場合、ビデオ復号器は、第５の空間の候補の予測動きベクトルを候補の予測動きベクトルのリストに追加し得、第５の空間の候補の予測動きベクトルを次の利用可能なインデックスに割り当て得る。位置２５２Ｅでの候補の予測動きベクトルが利用不可能である、又は候補の予測動きベクトルのリスト内の既存の候補の予測動きベクトルのうちの１つと同一である場合、ビデオ復号器は、位置２５２Ｅでの候補の予測動きベクトルを候補の予測動きベクトルのリストに追加しない場合がある。次に、ビデオ復号器は、時間の候補の予測動きベクトルを検討し得る（９２０）。時間の候補の予測動きベクトルが利用可能であり、且つ、候補の予測動きベクトルのリスト内の既存の候補の予測動きベクトルとは異なる場合、ビデオ復号器は、時間の候補の予測動きベクトルを候補の予測動きベクトルのリストに追加し得、時間の候補の予測動きベクトルを次の利用可能なインデックスに割り当て得る。時間の候補の予測動きベクトルが利用不可能である、又は候補の予測動きベクトルのリスト内の既存の候補の予測動きベクトルのうちの１つと同一である場合、ビデオ復号器は、時間の候補の予測動きベクトルを候補の予測動きベクトルのリストに追加しない場合がある。
【０２３０】
第５の空間の候補の予測動きベクトル（９１８）及び時間の候補の予測動きベクトル（９２０）が検討された後に候補の予測動きベクトルのリストが５つの候補の予測動きベクトルを含む場合（９２２，ｙｅｓ）、ビデオ復号器は、候補の予測動きベクトルのリストを生成することを完了する。候補の予測動きベクトルのリストが５より少ない候補の予測動きベクトルを含む場合（９２２，ｎｏ）、ビデオ復号器は、リストが５つの候補の予測動きベクトルを含むまで（９１６，ｙｅｓ）、人工的に生成された候補の予測動きベクトルを追加する（９１４）。
【０２３１】
可能な実装において、追加のマージ候補の予測動きベクトルが、空間の候補の予測動きベクトル及び時間の候補の予測動きベクトルの後に人工的に生成され得、その結果、マージ候補の予測動きベクトルのリストのサイズが固定され、且つ、特定の数（例えば、上述の図９の実行可能な実装において５つ）のマージ候補の予測動きベクトルに等しい。追加のマージ候補の予測動きベクトルは、結合された双予測のマージ候補の予測動きベクトル（候補の予測動きベクトル１）、スケーリングされた双予測のマージ候補の予測動きベクトル（候補の予測動きベクトル２）、及びゼロベクトルのマージ／ＡＭＶＰの候補の予測動きベクトル（候補の予測動きベクトル３）の例を含み得る。本願における技術によれば、候補の予測動きベクトルのリストは、空間の候補の予測動きベクトル及び時間の候補の予測動きベクトルを直接含み得、候補の予測動きベクトルのリスト内のフラグビットは、手動で生成された追加のマージ候補の予測動きベクトルを示すために用いられる。
【０２３２】
図１０は、本願の一実施形態による、結合された候補の動きベクトルをマージモードの候補の予測動きベクトルのリストに追加する一例の概略図である。結合された双予測のマージ候補の予測動きベクトルが、最初のマージ候補の予測動きベクトルを結合することによって生成され得る。特に、（ｍｖＬ０＿Ａ及びｒｅｆ０、又はｍｖＬ１＿Ｂ及びｒｅｆ０を有する）２つの最初の候補の予測動きベクトルが、双予測のマージ候補の予測動きベクトルを生成するために用いられ得る。図１０において、２つの候補の予測動きベクトルが最初のマージ候補の予測動きベクトルのリストに含まれる。１つの候補の予測動きベクトルの予測タイプがリスト０を用いることによって単一予測され、他の候補の予測動きベクトルの予測タイプがリスト１を用いることによって単一予測される。この実行可能な実装において、ｍｖＬ０＿Ａ及びｒｅｆ０がリスト０から取得され、ｍｖＬ１＿Ｂ及びｒｅｆ０がリスト１から取得される。その後、（リスト０内のｍｖＬ０＿Ａ及びｒｅｆ０、並びにリスト１内のｍｖＬ１＿Ｂ及びｒｅｆ０を有する）双予測のマージ候補の予測動きベクトルが生成され得、双予測のマージ候補の予測動きベクトルが候補の予測動きベクトルのリスト内の既存の候補の予測動きベクトルとは異なるか否かがチェックされる。双予測のマージ候補の予測動きベクトルが既存の候補の予測動きベクトルとは異なる場合、ビデオ復号器は、双予測のマージ候補の予測動きベクトルを候補の予測動きベクトルのリストに追加し得る。
【０２３３】
図１１は、本願の一実施形態による、スケーリングされた候補の動きベクトルをマージモードの候補の予測動きベクトルのリストに追加する一例の概略図である。スケーリングされた双予測のマージ候補の予測動きベクトルが、最初のマージ候補の予測動きベクトルをスケーリングすることによって生成され得る。特に、（ｍｖＬ０＿Ａ及びｒｅｆ０、又はｍｖＬ１＿Ａ及びｒｅｆ１を有する）１つの最初の候補の予測動きベクトルが、双予測のマージ候補の予測動きベクトルを生成するために用いられ得る。図１１における実行可能な実装において、２の候補の予測動きベクトルが、最初のマージ候補の予測動きベクトルのリストに含まれる。１つの候補の予測動きベクトルの予測タイプがリスト０を用いることによって単一予測され、他の候補の予測動きベクトルの予測タイプがリスト１を用いることによって単一予測される。この実行可能な実装において、ｍｖＬ０＿Ａ及びｒｅｆ０がリスト０から取得され得、ｒｅｆ０がリスト１にコピーされ得、基準インデックスのｒｅｆ０'として示される。次に、ｍｖＬ０'＿Ａが、ｒｅｆ０及びｒｅｆ０'を用いてｍｖＬ０＿Ａをスケーリングすることによって計算され得る。スケーリングは、ＰＯＣ距離に依存し得る。次に、（リスト０内のｍｖＬ０＿Ａ及びｒｅｆ０、並びにリスト１内のｍｖＬ０'＿Ａ及びｒｅｆ０'を有する）双予測のマージ候補の予測動きベクトルが生成され得、双予測のマージ候補の予測動きベクトルが繰り返されているか否かがチェックされる。双予測のマージ候補の予測動きベクトルが繰り返されていない場合、双予測のマージ候補の予測動きベクトルが、マージ候補の予測動きベクトルのリストに追加され得る。
【０２３４】
図１２は、本願の一実施形態による、ゼロ動きベクトルをマージモードの候補の予測動きベクトルのリストに追加する一例の概略図である。ゼロベクトルのマージ候補の予測動きベクトルが、ゼロベクトル及び参照され得る基準インデックスを結合することによって生成され得る。ゼロベクトルの候補の予測動きベクトルが繰り返されていない場合、ゼロベクトルのマージ候補の予測動きベクトルが、マージ候補の予測動きベクトルのリストに追加され得る。それぞれ生成されたマージ候補の予測動きベクトルの動き情報が、リスト内の以前の候補の予測動きベクトルの動き情報と比較され得る。
【０２３５】
実行可能な実装において、新たに生成された候補の予測動きベクトルが候補の予測動きベクトルのリスト内の既存の候補の予測動きベクトルとは異なる場合、生成された候補の予測動きベクトルがマージ候補の予測動きベクトルのリストに追加される。候補の予測動きベクトルが候補の予測動きベクトルのリスト内の既存の候補の予測動きベクトルとは異なるか否かを決定する処理は、時としてプルーニング（ｐｒｕｎｉｎｇ）と称される。プルーニングによって、それぞれ新たに生成された候補の予測動きベクトルが、リスト内の既存の候補の予測動きベクトルと比較され得る。幾つかの実行可能な実装において、プルーニング演算は、１又は複数の新しい候補の予測動きベクトルを候補の予測動きベクトルのリスト内の既存の候補の予測動きベクトルと比較することと、候補の予測動きベクトルのリスト内の既存の候補の予測動きベクトルと同一である新しい候補の予測動きベクトルを追加することをスキップすることとを備え得る。幾つかの他の実現可能な実装において、プルーニング演算は、１又は複数の新しい候補の予測動きベクトルを候補の予測動きベクトルのリストに追加することと、その後、リストから繰り返される候補の予測動きベクトルを除去することとを備え得る。
【０２３６】
図１０から図１２等の様々な実現可能な実装において、本願における技術に基づいて、新たに生成された候補の予測動きベクトルが、１つのタイプの候補の動きベクトルとして用いられ得、フラグビットが、新たに生成された候補の予測動きベクトルを示すたに、最初の候補の予測動きベクトルのリスト内で用いられる。符号化の間、選択された候補の動きベクトルが新たに生成された候補の予測動きベクトルであるとき、ビットストリームは、新たに生成された候補の予測動きベクトルのカテゴリを示す識別子１、及び、新たに生成された候補の予測動きベクトルのカテゴリ内の選択された候補の予測動きベクトルの位置を示す識別子２を含む。復号の間、選択された候補の動きベクトルが、識別子１及び識別子２に基づいて、候補の予測動きベクトルのリストから決定され、後続の復号手順を実行する。
【０２３７】
図５から図７及び図９から図１２における前述の実行可能な実装において、空間の候補の予測モードの一例が、図８に示される５つの位置２５２Ａから位置２５２Ｅ、すなわち、処理されるべき画像ブロックに隣接する位置までである。図５から図７及び図９から図１２における前述の実行可能な実装に基づいて、幾つかの実行可能な実装において、例えば、空間の候補の予測モードは、処理されるべき画像ブロックから予め設定された距離内であるが、処理されるべき画像ブロックに隣接しない位置をさらに含み得る。例えば、このタイプの位置は、図１３における２５２Ｆから２５２Ｊまでに示され得る。図１３が本願の一実施形態に従う符号化ユニット及び符号化ユニットと関連している隣接する画像ブロックの位置の概略図の一例であることが理解されるべきである。処理されるべき画像ブロックと同一の画像フレームに配置され、処理されるべき画像ブロックが処理されるときに再構成され、且つ、処理されるべき画像ブロックに隣接しない画像ブロックの位置が、このタイプの位置の範囲に含まれる。
【０２３８】
このタイプの位置が空間的に隣接していない画像ブロックと称されることが想定され得、第１の空間的に隣接していない画像ブロック、第２の空間的に隣接していない画像ブロック、及び第３の空間的に隣接していない画像ブロックが利用可能であることが想定され得る。「利用可能である（ａｖａｉｌａｂｌｅ）」の物理的な意味については、前述の説明を参照する。詳細が再び説明されない。さらに、空間の候補の予測モードが図８に示される位置における予測モードから選択されるとき、候補の予測動きモードのリストが、以下の順序でチェックされて構成されることが想定され得る。照合処理が「利用可能性（ａｖａｉｌａｂｉｌｉｔｙ）」についての前述の照合処理及びプルーニング処理を含むことが理解されるべきである。詳細が再び説明されない。候補の予測モードのリストは、位置２５２Ａにおける画像ブロックの動きベクトルと、位置２５２Ｂにおける画像ブロックの動きベクトルと、位置２５２Ｃにおける画像ブロックの動きベクトルと、位置２５２Ｄにおける画像ブロックの動きベクトルと、代替の時間の動きベクトル予測（ＡＴＭＶＰ）技術を用いることによって取得される動きベクトルと、位置２５２Ｅにおける画像ブロックの動きベクトルと、空間−時間の動きベクトル予測（ＳＴＭＶＰ）技術を用いることによって取得される動きベクトルとを含む。ＡＴＭＶＰ技術及びＳＴＭＶＰ技術がＪＶＥＴ−Ｇ１００１−ｖ１のセクション２．３．１．１及びセクション２．３．１．２に詳細に記録され、ＪＶＥＴ−Ｇ１００１−ｖ１が本明細書に導入されている。詳細が説明されない。例えば、候補の予測モードのリストが、前述の７つの予測動きベクトルを含むことが理解されるべきである。異なる特定の実装によれば、候補の予測モードのリストに含まれる予測動きベクトルの数は、７より小さい場合がある。例えば、最初の５つの予測動きベクトルが選択されて候補の予測モードのリストを形成し、上述の図１０から図１２までにおける実行可能な実装で構成される動きベクトルが候補の予測モードのリストにさらに追加され得、その結果、候補の予測モードのリストは、より多くの予測動きベクトルを含む。実行可能な実装において、第１の空間的に不連続な画像ブロック、第２の空間的に不連続な画像ブロック、及び第３の空間的に不連続な画像ブロックが候補の予測モードのリストに追加され得、処理されるべき画像ブロックの予測動きベクトルとして用いられる。さらに、位置２５２Ａにおける画像ブロックの動きベクトル、位置２５２Ｂにおける画像ブロックの動きベクトル、位置２５２Ｃにおける画像ブロックの動きベクトル、位置２５２Ｄにおける画像ブロックの動きベクトル、ＡＴＭＶＰ技術を用いることによって取得される動きベクトル、位置２５２Ｅにおける画像ブロックの動きベクトル、及びＳＴＭＶＰ技術を用いることによって取得される動きベクトルはそれぞれ、ＭＶＬ、ＭＶＵ、ＭＶＵＲ、ＭＶＤＬ、ＭＶＡ、ＭＶＵＬ、及びＭＶであることが想定され得る。第１の空間的に不連続な画像ブロック、第２の空間的に不連続な画像ブロック、及び第３の空間的に不連続な画像ブロックの動きベクトルはそれぞれ、ＭＶ０、ＭＶ１、及びＭＶ２であり、候補の予測動きベクトルのリストが以下の順序でチェック及び構成され得ることが想定される。
例１：ＭＶＬ、ＭＶＵ、ＭＶＵＲ、ＭＶＤＬ、ＭＶ０、ＭＶ１、ＭＶ２、ＭＶＡ、ＭＶＵＬ、及びＭＶ
例２：ＭＶＬ、ＭＶＵ、ＭＶＵＲ、ＭＶＤＬ、ＭＶＡ、ＭＶ０、ＭＶ１、ＭＶ２、ＭＶＵＬ、及びＭＶ
例３：ＭＶＬ、ＭＶＵ、ＭＶＵＲ、ＭＶＤＬ、ＭＶＡ、ＭＶＵＬ、ＭＶ０、ＭＶ１、ＭＶ２、及びＭＶ
例４：ＭＶＬ、ＭＶＵ、ＭＶＵＲ、ＭＶＤＬ、ＭＶＡ、ＭＶＵＬ、ＭＶ、ＭＶ０、ＭＶ１、及びＭＶ２
例５：ＭＶＬ、ＭＶＵ、ＭＶＵＲ、ＭＶＤＬ、ＭＶＡ、ＭＶ０、ＭＶＵＬ、ＭＶ１、ＭＶ、及びＭＶ２
例６：ＭＶＬ、ＭＶＵ、ＭＶＵＲ、ＭＶＤＬ、ＭＶＡ、ＭＶ０、ＭＶＵＬ、ＭＶ１、ＭＶ２、及びＭＶ
例７：ＭＶＬ、ＭＶＵ、ＭＶＵＲ、ＭＶＤＬ、ＭＶＡ、ＭＶＵＬ、ＭＶ０、ＭＶ１、ＭＶ２、及びＭＶ
【０２３９】
候補の予測動きベクトルのリストが、処理されるべき画像ブロックの予測動きベクトルを取得するために上述のマージモード若しくはＡＭＶＰモードで、又は他の予測モードで用いられ得、且つ、符号器側に用いられ得、又は符号器側に対応する復号器側にも用いられ得ることが理解されるべきである。これは限定されない。さらに、候補の予測動きベクトルのリスト内の候補の予測動きベクトルの数はまた、予め設定され、符号器側及び復号器側で一致している。特定の数は、限定されない。
【０２４０】
例１から例７までにおいて、候補の予測動きベクトルのリストの幾つかの実行可能な構成方法が、例として提供されることが理解されるべきである。空間的に不連続な画像ブロックの動きベクトルに基づいて、候補の予測動きベクトルのリストの他の構成方法及びリスト内の候補の予測動きベクトルの他の配置方法が存在し得る。これは限定されない。
【０２４１】
本願の一実施形態は、候補の予測動きベクトルのリストを構成するための他の方法を提供する。例１から例７までにおける候補の予測動きベクトルのリストを構成するための方法と比較して、本実施形態は、他の実施形態において決定された候補の予測動きベクトルを予め設定されたベクトル差と結合して、新しい候補の予測動きベクトルを形成し、それによって、予測動きベクトルの予測精度を改善し、符号化効率を改善する。
【０２４２】
本願の実行可能な実装において、図１４Ａに示されるように、処理されるべき画像ブロックの候補の予測動きベクトルのリストは、２つのサブリストを含む：第１の動きベクトルのセット及びベクトル差のセット。第１の動きベクトルのセットの構成について、本明細書の前述の複数の実施形態における様々な構成方法、例えば、Ｈ．２６５規格で特定されるマージモード又はＡＭＶＰモードにおける候補の動きベクトルのセットの構成方法、を参照する。ベクトル差のセットは、１又は複数の予め設定されたベクトル差を含む。
【０２４３】
幾つかの実行可能な実装において、ベクトル差のセットにおける各ベクトル差が第１の動きベクトルのセットから決定された最初のターゲット動きベクトルに追加され、追加後に取得されたベクトル差及び最初のターゲット動きベクトルは新しい動きベクトルのセットを形成する。
【０２４４】
幾つかの実行可能な実装において、図１４Ａに示される候補の予測動きベクトルのリスト内では、ベクトル差のセットがサブセットとして候補の予測動きベクトルのリストに含まれ得、候補の予測動きベクトルのリスト内のフラグビット（ベクトル差のセットに基づいて計算されたＭＶ）がベクトル差のセットを示すために用いられる。ベクトル差のセット内の各ベクトル差がインデックスを用いることによって示され、構成された候補の予測動きベクトルのリストが図１４Ｂに示される。
【０２４５】
フラグビットを用いることによって予測動きベクトルのリスト内の１つのタイプの候補の動きベクトルを示す方法が、処理されるべき画像ブロックの予測動きベクトルを取得するために上述のマージモード若しくはＡＭＶＰモードで、又は他の予測モードで用いられ得、且つ、符号器側に用いられ得、又は符号器側に対応する復号器側にも用いられ得ることが理解されるべきである。これは限定されない。さらに、候補の予測動きベクトルのリスト内の候補の予測動きベクトルの数はまた、予め設定され、符号器側及び復号器側で一致している。特定の数は、限定されない。
【０２４６】
添付の図面を参照して、以下では、本願の複数の実施形態で提供される動き情報を予測するための復号方法を詳細に説明する。本願の複数の実施形態における技術によれば、候補の動き情報のリストを構成するとき、符号器側又は復号器側は、フラグビットを用いることによって、リスト内の１つのタイプの候補の動き情報を示し、リストの長さを制御する。本願の複数の実施形態で提供される動き情報を予測するための復号方法が、これに基づいて説明される。方法が復号装置によって実行され、復号装置が、図１に示されるビデオ符号化システム１におけるビデオ復号器２００であってもよく、ビデオ復号器２００における機能ユニットであってもよい。これは本願では特に限定されない。
【０２４７】
図１５は、本願の一実施形態の概略フローチャートであり、動き情報を予測するための復号方法に関連する。方法は、以下の段階を特に備え得る。
【０２４８】
Ｓ１５０１：復号装置は、ビットストリームを解析して第１の識別子を取得する。
【０２４９】
上述のように、符号器側が現在の画像ブロックを符号化した後に、ビットストリームが送信され、符号器側が現在の画像ブロックを符号化するときに、第１の識別子は選択された候補の動き情報の位置を示し、処理されるべき画像ブロックの動き情報を予測すべく、第１の識別子が選択された候補の動き情報を決定するために復号装置によって用いられる。
【０２５０】
可能な実装において、第１の識別子は、選択された候補の動き情報の特定のインデックスであり得る。この場合、１つの候補の動き情報は、第１の識別子を用いることによって、一意に決定され得る。
【０２５１】
可能な実装において、第１の識別子は、選択された候補の動き情報が属するカテゴリの識別子であり得る。この場合、ビットストリームは、第４の識別子をさらに含み、選択された候補の動き情報が属するカテゴリ内の選択された候補の動き情報の特定の位置を示す。
【０２５２】
ビットストリームを解析して識別子を取得する特定の実装は本願で特に限定されず、ビットストリームにおける第１の識別子及び第４の識別子の位置及び形態も本願の本実施形態に特に限定されないことが留意されるべきである。
【０２５３】
オプションで、固定長の符号化モードが第１の識別子に用いられ得る。例えば、第１の識別子は１ビットの識別子であり得、第１の識別子によって示されるタイプは限定されない。
【０２５４】
オプションで、可変長の符号化モードが第１の識別子に用いられ得る。
【０２５５】
Ｓ１５０２：復号装置は、第１の識別子に基づいて、第１の候補のセットからターゲット要素を決定する。
【０２５６】
特に、第１の候補のセットの内容は、以下の２つの可能な実装を含み得る。
【０２５７】
可能な実装１：第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び少なくとも１つの第２の候補のセットを含み、第２の候補のセット内の要素は複数の第２の候補の動き情報を含む。
【０２５８】
可能な実装２：第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び複数の第２の候補の動き情報を含み得、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む。新しい動き情報は、第１の動き情報及び予め設定された動き情報オフセットに基づいて生成され得る。
【０２５９】
第１の候補のセットは、構成された候補の動き情報のリストであり得る。第１の候補のセットは少なくとも１つの第１の候補の動き情報を直接含み、複数の第２の候補の動き情報は第２の候補のセットの形態で第１の候補のセットに含まれる。
【０２６０】
実行可能な実装において、第２の候補の動き情報は、第１の候補の動き情報とは異なる。
【０２６１】
例えば、各第２の候補のセットに含まれる第１の候補の動き情報及び第２の候補の動き情報は、異なるＭＶ予測モードを用いることによって決定されてもよく、異なるタイプの候補の動き情報であってもよい。これは、本願の本実施形態に特に限定されない。
【０２６２】
例えば、第１の候補の動き情報がマージモードで取得され得、第２の候補の動き情報がアフィンマージモードで取得され得る。
【０２６３】
例えば、第１の候補の動き情報は最初の候補の動き情報であり得、第２の候補の動き情報は最初の候補の動き情報に基づいて生成された動き情報であり得る。
【０２６４】
例えば、図１６Ａ及び図１６Ｂに示されるように、２つのマージ候補のリストが示される。図１６Ａ又は図１６Ｂに示されるマージ候補のリストにおいて、リスト内のフラグビットが、候補の動き情報のセットを示すために用いられる。フラグビットは、リスト内の任意の位置で配置され得る。これは、本願の本実施形態に特に限定されない。例えば、フラグビットは、図１６Ａに示されるリストの最後に配置され得る。代替的に、フラグビットは、図１６Ｂに示されるリストの中間に配置され得る。ビットストリーム内の第１の識別子がフラグビットを示すとき、ターゲット要素がフラグビットによって示される候補の動き情報のセットであることが決定される。フラグビットによって示される候補の動き情報のセットは、複数の第２の候補の動き情報を含む。その後、フラグビットによって示される候補の動き情報のセット内の１つの候補の動き情報が、さらなる識別子（Ｓ１５０４における第２の識別子）に基づいて、ターゲット動き情報として選択され、処理されるべき画像ブロックの動き情報を予測する。
【０２６５】
例えば、図１６Ａ及び図１６Ｂに示されるように、２つのマージ候補のリストが示される。図１６Ａ又は図１６Ｂに示されるマージ候補のリストにおいて、リスト内のフラグビットが、候補の動き情報のセットを示すために用いられる。フラグビットは、リスト内の任意の位置で配置され得る。これは、本願の本実施形態に特に限定されない。例えば、フラグビットは、図１６Ａに示されるリストの最後に配置され得る。代替的に、フラグビットは、図１６Ｂに示されるリストの中間に配置され得る。ビットストリーム内の第１の識別子がフラグビットを示すとき、ターゲット要素がフラグビットによって示される複数の第２の候補の動き情報であることが決定される。第２の候補の動き情報は予め設定された動き情報オフセットを含む。その後、１つの候補の動き情報が、さらなる識別子（Ｓ１５０４における第２の識別子）に基づいて、フラグビットによって示される複数の第２の候補の動き情報から選択され、ターゲット動き情報が、選択された第２の候補の動き情報に基づいて決定され、処理されるべき画像ブロックの動き情報を予測する。
【０２６６】
他の実行可能な実装において、図１６Ｃに示されるように、１より多くのフラグビットがマージ候補のリストに追加され、各フラグビットは、１つの特定の候補の動き情報のセット又は予め設定された動き情報オフセットを含む複数の動き情報を指す。ビットストリーム内の第１の識別子がフラグビットを示すとき、ターゲット要素が、フラグビットによって示される候補の動き情報のセット内の候補の動き情報、又は、フラグビットによって示される（予め設定された動き情報オフセットを含む）複数の候補の動き情報のうちの１つであることが決定され、その後、ターゲット動き情報が決定される。
【０２６７】
図１６Ａ、図１６Ｂ、及び図１６Ｃにおいて、フラグビット（ポインタ）がマージリストに導入され、サブセット方式で候補の導入を実装する。複数の候補が導入されるとき、候補のリストの長さが大幅に減少し、リストの再構成の複雑さが減少し、ハードウェア実装が簡略化される。
【０２６８】
実行可能な実装において、第１の候補の動き情報は、処理されるべき画像ブロックに空間的に隣接する画像ブロックの動き情報を含み得る。空間的に隣接する画像ブロックの動き情報の定義が前述の内容で説明され、詳細が本明細書で再び説明されないことが留意されるべきである。
【０２６９】
実行可能な実装において、第２の候補の動き情報は、処理されるべき画像ブロックに空間的に隣接しない画像ブロックの動き情報を含み得る。空間的に隣接しない画像ブロックの動き情報の定義が前述の内容で説明され、詳細が本明細書で再び説明されないことが留意されるべきである。
【０２７０】
第１の動き情報を取得する方法は、実際の要件に基づいて選択され得る。これは、本願の本実施形態に特に限定されない。第２の動き情報を取得するために用いられる予め設定された動き情報オフセットは、固定値であってもよく、設定から選択された値であってもよい。予め設定された動き情報オフセットの内容及び形態は、本願の本実施形態に特に限定されない。
【０２７１】
実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、少なくとも１つの第２の候補のセットは複数の第２の候補のセットであり、複数の第２の候補のセットは少なくとも１つの第３の候補のセット及び少なくとも１つの第４の候補のセットを含み、第３の候補のセット内の要素は複数の処理されるべき画像ブロックに空間的に隣接しない画像ブロックの動き情報を含み、第４の候補のセット内の要素は第１の動き情報及び予め設定された動き情報オフセットに基づいて取得される複数の動き情報を含む。
【０２７２】
実行可能な実装において、少なくとも１つの第２の候補のセットは複数の第２の候補のセットであり、複数の第２の候補のセットは少なくとも１つの第５の候補のセット及び少なくとも１つの第６の候補のセットを含み、第５の候補のセット内の要素は複数の処理されるべき画像ブロックに空間的に隣接しない画像ブロックの動き情報を含み、第６の候補のセット内の要素は複数の予め設定された動き情報オフセットを含む。
【０２７３】
実行可能な実装において、第１の動き情報を識別するために用いられる符号化コードワードは、少なくとも１つの第１の候補の動き情報で最短である。
【０２７４】
実行可能な実装において、第１の動き情報は、ＡＴＭＶＰモードで取得された動き情報を含まない。
【０２７５】
Ｓ１５０１で説明されるように、第１の識別子は、第１の候補のセット内のインデックスであってもよく、動き情報のカテゴリの識別子であってもよい。特定の内容に基づいて、Ｓ１５０２は、以下の２つのケースとして実装され得る。
【０２７６】
ケース１：第１の識別子は、第１の候補のセット内のインデックスである。
【０２７７】
可能な実装において、ケース１では、復号装置は、Ｓ１５０２におけるターゲット要素として第１の候補のセット内の第１の識別子によって示される位置で要素を決定し得る。第１の候補のセットは少なくとも１つの第１の候補の動き情報及び少なくとも１つの第２の候補のセットを含むので、第１の識別子に基づいて決定されるターゲット要素は、第１の識別子によって示される位置で配置される内容に依存して、第１の候補の動き情報であってもよく、第２の候補のセットであってもよい。
【０２７８】
他の可能な実装において、ケース１では、復号装置は、Ｓ１５０２におけるターゲット要素として第１の候補のセット内の第１の識別子によって示される位置で要素を決定し得る。第１の候補のセットは少なくとも１つの第１の候補の動き情報及び複数の第２の候補の動き情報を含むので、第１の識別子に基づいて決定されるターゲット要素は、第１の識別子によって示される位置で配置される内容に依存して、第１の候補の動き情報であってもよく、複数の第２の候補の動き情報に基づいて取得されてもよい。
【０２７９】
ケース２：第１の識別子は、候補の動き情報カテゴリの識別子である。
【０２８０】
ケース２において、復号装置は、第１の識別子に基づいて、Ｓ１５０２におけるターゲット要素が属するカテゴリを決定する。復号装置は、ビットストリームをさらに解析して第４の識別子を取得する。ここで、第４の識別子は、カテゴリ内のターゲット要素の特定の位置を示し、第４の識別子に基づくカテゴリ内のターゲット要素を一意に決定する。特に、第１の識別子が、ターゲット要素が第１の候補の動き情報のカテゴリに属することを示す場合、１つの第１の候補の動き情報が、第４の識別子に基づいて、少なくとも１つの第１の候補の動き情報からターゲット要素として決定される。第１の識別子が、ターゲット要素が第２の候補の動き情報のカテゴリに属することを示す場合、１つの第２の候補のセット又は１つの第２の候補の動き情報が、第４の識別子に基づいて、ターゲット要素として決定される。
【０２８１】
例えば、第１の候補の動き情報がマージ動き情報であること、第１の候補のセットが２つの第２の候補のセットを含むこと、１つの第２の候補のセット内の第２の候補の動き情報が第１のタイプのアフィンマージ動き情報であること、及び、他の第２の候補のセット内の第２の候補の動き情報が第２のタイプのアフィンマージ動き情報であることが想定される。構成は以下のとおりである。識別子が０であるときに識別子はマージ動き情報を示し、識別子が１であるときに識別子はアフィンマージ動き情報を示す。Ｓ１５０１においてビットストリームを解析することによって復号装置により取得される第１の識別子が０である場合、復号装置は、第４の識別子を取得するために、Ｓ１５０２においてビットストリームをさらに解析する。復号装置は、第４の識別子に基づいて、ターゲット要素として第１の候補のセット内の少なくとも１つのマージ動き情報から１つのマージ動き情報を決定する。Ｓ１５０１においてビットストリームを解析することによって復号装置により取得される第１の識別子が１である場合、復号装置は、第４の識別子を取得するために、Ｓ１５０２においてビットストリームをさらに解析する。復号装置は、第４の識別子に基づいて、ターゲット要素として２つの第２の候補のセットのうちの１つを決定する。
【０２８２】
例えば、第１の候補の動き情報がマージ動き情報であること、第１の候補のセットが２つの第２の候補のセットを含むこと、１つの第２の候補のセット内の第２の候補の動き情報は第１のタイプのアフィンマージ動き情報に対応する予め設定された動き情報オフセットであること、及び、他の第２の候補のセット内の第２の候補の動き情報は第２のタイプのアフィンマージ動き情報に対応する予め設定された動き情報オフセットであることが想定される。構成は以下のとおりである。識別子が０であるときに識別子はマージ動き情報を示し、識別子が１であるときに識別子はアフィンマージ動き情報を示す。Ｓ１５０１においてビットストリームを解析することによって復号装置により取得される第１の識別子が０である場合、復号装置は、第４の識別子を取得するために、Ｓ１５０２においてビットストリームをさらに解析する。復号装置は、第４の識別子に基づいて、ターゲット要素として第１の候補のセット内の少なくとも１つのマージ動き情報から１つのマージ動き情報を決定する。Ｓ１５０１においてビットストリームを解析することによって復号装置により取得される第１の識別子が１である場合、復号装置は、第４の識別子を取得するために、Ｓ１５０２においてビットストリームをさらに解析する。復号装置は、第４の識別子に基づいて２つの第２の候補のセットから１つの第２の候補のセットを決定し、決定された第２の候補のセット内の第２の候補の動き情報のうちの１つに基づいてターゲット要素を決定する。
【０２８３】
オプションで、Ｓ１５０２において、ターゲット要素が第１の候補の動き情報であることを復号装置が決定する場合、Ｓ１５０３が実行される。Ｓ１５０２において、ターゲット要素が第２の候補のセットである、又はターゲット要素が複数の第２の候補の動き情報に基づいて取得されることを復号装置が決定する場合、Ｓ１５０４が実行される。
【０２８４】
Ｓ１５０３：ターゲット要素が第１の候補の動き情報であるとき、ターゲット動き情報として第１の候補の動き情報を用いる。
【０２８５】
ターゲット動き情報は、処理されるべき画像ブロックの動き情報を予測するために用いられる。
【０２８６】
オプションで、ターゲット動き情報が処理されるべき画像ブロックの動き情報を予測するために用いられることは、処理されるべき画像ブロックの動き情報としてターゲット動き情報を用いる段階、又は処理されるべき画像ブロックの予測動き情報としてターゲット動き情報を用いる段階を備える。実際の適用において、ターゲット動き情報は、処理されるべき画像ブロックの動き情報を予測するために、実際の要件に基づいて選択され得る。特定の実装は、本明細書で特に限定されない。
【０２８７】
さらに、処理されるべき画像ブロックの後続の処理は前述の内容で詳細に説明され、詳細が本明細書で再び説明されない。
【０２８８】
Ｓ１５０４：ビットストリームを解析して第２の識別子を取得し、第２の識別子及び複数の第２の候補の動き情報のうちの１つに基づいて、ターゲット動き情報を決定する。
【０２８９】
ビットストリームを解析して第２の識別子を取得し、第２の識別子及び複数の第２の候補の動き情報のうちの１つに基づいて、ターゲット動き情報を決定するＳ１５０４は、特に以下のとおりに実装され得る。ビットストリームを解析して第２の識別子を取得し、第２の識別子に基づいて複数の第２の候補の動き情報からターゲット動き情報を決定する。
【０２９０】
ビットストリームを解析して識別子を取得する特定の実装は本願で特に限定されず、ビットストリームにおける第２の識別子の位置及び形態も本願の本実施形態に特に限定されないことが留意されるべきである。
【０２９１】
オプションで、固定長の符号化モードが第２の識別子に用いられ得る。例えば、第２の識別子は１ビットの識別子であり得、第１の識別子によって示されるタイプは限定されない。
【０２９２】
オプションで、可変長の符号化モードが第２の識別子に用いられ得る。例えば、第２の識別子はマルチビットの識別子であり得る。
【０２９３】
オプションで、第２の候補の動き情報の異なる内容に基づいて、Ｓ１５０４において第２の識別子及び複数の第２の候補の動き情報のうちの１つに基づいて、ターゲット動き情報を決定することが、以下の実行可能な実装で実装され得るが、それに限定されない。
【０２９４】
実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報が第２の動き情報を含み、第２の動き情報は、第１の動き情報及び予め設定された動き情報オフセットに基づいて取得される。このように、第２の識別子は、第２の候補のセット内のターゲット動き情報の特定の位置を示し得る。Ｓ１５０４において復号装置が第２の識別子に基づいて複数の第２の候補の動き情報からターゲット動き情報を決定することは、以下のとおりに特に実装され得る。ターゲット動き情報として、ターゲット要素として用いられる第２の候補のセット内の第２の識別子によって示される位置の第２の候補の動き情報を決定する。
【０２９５】
実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む。このように、第２の識別子は、第２の候補のセット内のターゲットオフセットの特定の位置を示す。Ｓ１５０４において復号装置が第２の識別子に基づいて複数の第２の候補の動き情報からターゲット動き情報を決定することは、以下のとおりに特に実装され得る。第２の識別子に基づいて複数の予め設定された動き情報オフセットからターゲットオフセットを決定し、第１の動き情報及びターゲットオフセットに基づいて、ターゲット動き情報を決定する。
【０２９６】
実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む。第２の識別子に基づいて複数の予め設定された動き情報オフセットからターゲットオフセットを決定する前に、本願で提供される動き情報を予測するための復号方法は、複数の予め設定された動き情報オフセットに予め設定された係数を乗算して複数の調整された動き情報オフセットを取得することをさらに備え得る。それに対応して、第２の識別子に基づいて複数の予め設定された動き情報オフセットからターゲットオフセットを決定することは、第２の識別子に基づいて複数の調整された動き情報オフセットからターゲットオフセットを決定することを備える。
【０２９７】
実行可能な実装において、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む。このように、Ｓ１５０４において復号装置が第２の識別子及び複数の第２の候補の動き情報のうちのの１つに基づいてターゲット動き情報を決定することは、以下のとおりに特に実装され得る。第２の識別子に基づいて、複数の予め設定された動き情報オフセットから１つの動き情報オフセットを決定し、ターゲットオフセットとして１つの動き情報オフセットに予め設定された係数を乗算することによって取得される値を用いて、第１の動き情報及びターゲットオフセットに基づいて、ターゲット動き情報を決定する。
【０２９８】
予め設定された係数が復号装置で構成される固定係数であってもよく、ビットストリームに保持される係数であってもよいことが留意されるべきである。これは、本願の本実施形態に特に限定されない。
【０２９９】
さらに、オプションで、予め設定された係数がビットストリームに保持されるとき、本願で提供される動き情報を予測するための復号方法は、Ｓ１５０５をさらに備え得る。
【０３００】
Ｓ１５０５：ビットストリームを解析して第３の識別子を取得する。
【０３０１】
第３の識別子は、予め設定された係数を含む。
【０３０２】
本願で提供される動き情報を予測するための復号方法によれば、第１の候補のセット内の要素は第１の候補の動き情報及び少なくとも１つの第２の候補のセットを含み、又は、第１の候補のセット内の要素は第１の候補の動き情報及び複数の第２の候補の動き情報を含む。このように、マルチレイヤの候補のセットの構造において、より多くの候補が導入されるとき、１つのタイプの候補の動き情報のセットが、１つの要素として用いられ得、第１の候補のセットに追加され得る。候補の動き情報を第１の候補のセットに直接追加する場合と比較して、本願における解決手段は、第１の候補のセットの長さを大幅に短くする。第１の候補のセットがインター予測の候補の動き情報のリストであるとき、たとえ、より多くの候補が導入されても、候補の動き情報のリストの長さが十分に制御され得、それによって、検出処理及びハードウェア実装を促進し得る。
【０３０３】
例として、以下は、本願の本実施形態の幾つかの特定の実装である。
［実施形態１］
【０３０４】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス０からインデックス５に対応する候補の動き情報は、動きベクトル及び基準画像を含み、第１のインデックス６は、インデックス０及び予め設定された動きベクトルオフセットに対応する候補の動き情報に基づいて生成される新しい動き情報に対応する。第１のインデックス０に対応する候補の動き情報が転送予測であり、動きベクトルが（２，−３）であり、基準フレームＰＯＣが２であることが想定される。予め設定された動きベクトルオフセットは、（１，０）、（０，−１）、（−１，０）及び（０，１）である。ビットストリームを解析することによって取得される第１のインデックス値が６であるとき、それは、現在の画像ブロックによって用いられる動き情報がインデックス０及び予め設定された動きベクトルオフセットに対応する候補の動き情報に基づいて生成された新しい動き情報であることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が１であるとき、現在の画像ブロックの動き情報は転送予測であり、動きベクトルは（２，−３）＋（０，−１）＝（２，−４）であり、基準フレームＰＯＣは２である。
［実施形態２］
【０３０５】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス０からインデックス５に対応する候補の動き情報は、動きベクトル及び基準画像を含み、第１のインデックス６は、第１のインデックス０及び予め設定された動きベクトルオフセットに対応する候補の動き情報に基づいて生成される新しい動き情報に対応する。第１のインデックス０に対応する候補の動き情報が双方向予測であり、前方動きベクトルが（２，−３）であり、基準フレームＰＯＣが２であり、後方動きベクトルが（−２，−１）であり、基準フレームＰＯＣが４であることが想定される。予め設定された動きベクトルオフセットは、（１，０）、（０，−１）、（−１，０）及び（０，  １）である。ビットストリームを解析することによって取得される第１のインデックス値が６であるとき、それは、現在の画像ブロックによって用いられる動き情報がインデックス０及び予め設定された動きベクトルオフセットに対応する候補の動き情報に基づいて生成される新しい動き情報であることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が０であるとき、現在の画像ブロックの動き情報が双方向予測であり、現在のフレームＰＯＣが３であるとき、前方基準フレームＰＯＣ及び後方基準フレームＰＯＣが現在のフレームＰＯＣと比較して異なる方向にある。この場合、前方動きベクトルが（２，−３）＋（１，０）＝（３，−３）であり、基準フレームＰＯＣが２であり、後方動きベクトルが（−２，−１）−（１，０）＝（−３，−１）であり、基準フレームＰＯＣが４である。現在のフレームＰＯＣが６であるとき、前方基準フレームＰＯＣ及び後方基準フレームＰＯＣが現在のフレームＰＯＣと同一方向にある。この場合、前方動きベクトルが（２，−３）＋（１，０）＝（３，−３)であり、基準フレームＰＯＣが２であり、後方動きベクトルが（−２，−１）＋（１，  ０）＝（−１，−１）であり、基準フレームＰＯＣが４である。
［実施形態３］
【０３０６】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス０からインデックス５に対応する候補の動き情報は、動きベクトル及び基準画像を含む。第１のインデックス０によって示される候補の動き情報がサブブロックの動き情報によって構成され、第１のインデックス１に対応する候補の動き情報がサブブロックの動き情報によって構成されず、動き情報が転送予測であり、動きベクトルが（２，−３）であり、基準フレームＰＯＣが２であることが想定される。第１のインデックス６は、第１のインデックス１及び予め設定された動きベクトルオフセットに対応する候補の動き情報に基づいて生成された新しい動き情報に対応する。予め設定された動きベクトルオフセットは、（１，０）、（０，−１）、（−１，０）及び（０，１）である。ビットストリームを解析することによって取得される第１のインデックス値が６であるとき、それは、現在の画像ブロックによって用いられる動き情報がインデックス１及び予め設定された動きベクトルオフセットに対応する候補の動き情報に基づいて生成された新しい動き情報であることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が１であるとき、現在のブロックの動き情報は転送予測であり、動きベクトルは（２，−３）＋（０，−１）＝（２，−４）であり、基準フレームＰＯＣは２である。
［実施形態４］
【０３０７】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス６は、現在のブロックの空間的に隣接していない候補の動き情報が現在のブロックの基準動き情報として用いられることを示す。空間的に隣接していない候補のセットのサイズが４であることが想定される。空間的に隣接していない候補のセットについて、利用可能な空間的に隣接していない候補が、予め設定された検出順序に従って、セット内に配置される。セット内の空間的に隣接していない候補の動き情報が以下のとおりであることが想定される。
【０３０８】
第２のインデックス０：候補０：転送予測。ここで、動きベクトルは（２，−３）であり、基準フレームＰＯＣは２である。
【０３０９】
第２のインデックス１：候補１：転送予測。ここで、動きベクトルは（１，−３）であり、基準フレームＰＯＣは４である。
【０３１０】
第２のインデックス２：候補２：後方予測。ここで、動きベクトルは（２，−４）であり、基準フレームＰＯＣは２である。
【０３１１】
第２のインデックス２：候補３：双方向予測。ここで、前方動きベクトルは（２，−３）であり、基準フレームＰＯＣは２であり、後方動きベクトルは（２，−２）であり、基準フレームＰＯＣは４である。
【０３１２】
復号によって取得される第１のインデックス値が６であるとき、それは、現在のブロックの空間的に隣接していない候補の動き情報が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が１であるとき、空間的に隣接していない候補のセット内の候補１の動き情報が、現在のブロックの動き情報として用いられる。
［実施形態５］
【０３１３】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス０に対応する候補の動き情報が転送予測であり、動きベクトルが（２，−３）であり、基準フレームＰＯＣが２である。第１のインデックス６は、第１のインデックス０に対応する候補の動き情報に基づいて生成される新しい動き情報又は空間的に隣接していない候補の動き情報が現在のブロックの基準動き情報として用いられることを示す。空間的に隣接していない候補のセットのサイズが４であることが想定される。空間的に隣接していない候補のセットについて、利用可能な空間的に隣接していない候補が、予め設定された検出順序に従って、セット内に配置される。セット内の空間的に隣接していない候補の動き情報が以下のとおりであることが想定される。
【０３１４】
第２のインデックス０：候補０：転送予測。ここで、動きベクトルは（−５，−３）であり、基準フレームＰＯＣは２である。
【０３１５】
第２のインデックス１：候補１：転送予測。ここで、動きベクトルは（１，−３）であり、基準フレームＰＯＣは４である。
【０３１６】
第２のインデックス２：候補２：後方予測。ここで、動きベクトルは（２，−４）であり、基準フレームＰＯＣは２である。
【０３１７】
第２のインデックス２：候補３：双方向予測。ここで、前方動きベクトルは（２，−３）であり、基準フレームＰＯＣは２であり、後方動きベクトルは（２，−２）であり、基準フレームＰＯＣは４である。
【０３１８】
他の４つの候補は、第１のインデックス０及び予め設定された動きベクトルオフセット（１，０）、（０，−１）、（−１，０）及び（０，１）に対応する候補の動き情報に基づいて取得され、以下のとおりである。
【０３１９】
第２のインデックス４：候補４：転送予測。ここで、動きベクトルは（２，−３）＋（１，０）であり、基準フレームＰＯＣは２である。
【０３２０】
第２のインデックス５：候補５：転送予測。ここで、動きベクトルは（２，−３）＋（０，−１）であり、基準フレームＰＯＣは２である。
【０３２１】
第２のインデックス６：候補６：転送予測。ここで、動きベクトルは（２，−３）＋（−１，０）であり、基準フレームＰＯＣは２である。
【０３２２】
第２のインデックス７：候補７：転送予測。ここで、動きベクトルは（２，−３）＋（０，１）であり、基準フレームＰＯＣは２である。
【０３２３】
復号によって取得される第１のインデックス値が６であるとき、それは、第１のインデックス０に対応する候補の動き情報に基づいて生成された新しい動き情報又は空間的に隣接していない候補の動き情報が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が０であるとき、空間的に隣接していない候補のセット内の候補０の動き情報（転送予測。ここで、動きベクトルは（−５，−３）であり、基準フレームＰＯＣは２である）が、現在のブロックの動き情報として用いられる。さらなる復号によって取得される第２のインデックス値が５であるとき、動きベクトルオフセットを受ける候補５の動き情報（転送予測。ここで、動きベクトルは（２，−３）＋（０，−１）であり、基準フレームＰＯＣは２である）が、現在のブロックの動き情報として用いられる。
［実施形態６］
【０３２４】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス０に対応する候補の動き情報が転送予測であり、動きベクトルが（２，−３）であり、基準フレームＰＯＣが２である。第１のインデックス６は、現在のブロックによって用いられる動き情報が第１のインデックス０に対応する候補の動き情報に基づいて生成される新しい動き情報であることを示す。予め設定された動きベクトルオフセットは、以下のとおりである：
（１，０）、（０，−１）、（−１，０）、（０，１）；及び
（２，０）、（０，−２）、（−２，０）、（０，２）。
【０３２５】
第２のインデックス値０は１の間隔を有する候補を表し、第２のインデックス値１は２の間隔を有する候補を表し、第３のインデックス値は動きベクトルオフセットの候補のインデックスを表す。ビットストリームを解析することによって取得される第１のインデックス値が６であるとき、それは、現在のブロックによって用いられる動き情報が第１のインデックス０に対応する候補の動き情報に基づいて生成された新しい動き情報であることを示し、さらなる復号が実行されて第２のインデックス値を取得する。復号によってさらに取得された第２のインデックス値及び第３のインデックス値が、それぞれ１及び３であるとき、２の間隔を有するオフセット動きベクトル（−２，０）及び２のインデックスが選択される。この場合、現在のブロックの動き情報が転送予測であり、動きベクトルが（２，−３）＋（−２，０）＝（０，−３）であり、基準フレームＰＯＣが２である。
［実施形態７］
【０３２６】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス６は、アフィンを用いることによって取得される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示す。アフィン動き情報の候補のセットが４つのアフィン動き情報の候補を含むことが想定される：
第２のインデックス０：アフィン候補０
第２のインデックス１：アフィン候補１
第２のインデックス２：アフィン候補２
第２のインデックス３：アフィン候補３。
【０３２７】
復号によって取得される第１のインデックス値が６であるとき、それは、アフィンを用いることによって取得される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が１であるとき、アフィン候補１の動き情報が、現在のブロックの動き情報として用いられる。
［実施形態８］
【０３２８】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス６は、空間的に隣接する動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示す。空間的に隣接する動き情報の候補のセットが４つの空間的に隣接する動き情報の候補を含むことが想定される：
第２のインデックス０：空間的に隣接する候補０
第２のインデックス１：空間的に隣接する候補１
第２のインデックス２：空間的に隣接する候補２
第２のインデックス３：空間的に隣接する候補３。
【０３２９】
復号によって取得される第１のインデックス値が６であるとき、それは、空間的に隣接する動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が１であるとき、空間的に隣接する候補１の動き情報が、現在のブロックの動き情報として用いられる。
［実施形態９］
【０３３０】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス６は、時間的に隣接する動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示す。時間的に隣接する動き情報の候補のセットが４つの時間的に隣接する動き情報の候補を含むことが想定される：
第２のインデックス０：時間的に隣接する候補０
第２のインデックス１：時間的に隣接する候補１
第２のインデックス２：時間的に隣接する候補２
第２のインデックス３：時間的に隣接する候補３。
【０３３１】
復号によって取得される第１のインデックス値が６であるとき、それは、時間的に隣接する動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が１であるとき、時間的に隣接する候補１の動き情報が、現在のブロックの動き情報として用いられる。
［実施形態１０］
【０３３２】
マージ候補のリストの最大長が７であり、第１のインデックス０からインデックス６がマージリスト内の候補空間を示すことが想定される。第１のインデックス６は、サブブロックの動き情報によって構成される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示す。サブブロックの動き情報によって構成される動き情報の候補のセットがアフィン動き情報の候補、ＡＴＭＶＰ候補、及びＳＴＭＶＰ候補を含むことが想定される：
第２のインデックス０：アフィン候補
第２のインデックス１：ＡＴＭＶＰ候補
第２のインデックス２：ＳＴＭＶＰ候補。
【０３３３】
復号によって取得される第１のインデックス値が６であるとき、それは、サブブロックの動き情報によって構成される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が１であるとき、ＡＴＭＶＰ候補の動き情報が現在のブロックの動き情報として用いられる。
［実施形態１１］
【０３３４】
マージ候補空間において、リスト内の空間０から空間５はマージによって取得される動き情報であり、空間６はアフィンによって取得される動き情報の候補のセットである。第１のインデックス０は、マージによって取得される動き情報が現在のブロックの基準動き情報であることを示し、第１のインデックス１は、アフィンによって取得される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報であることを示すことが想定される。アフィン動き情報の候補のセットが４つのアフィン動き情報の候補を含むことが想定される：
第２のインデックス０：アフィン候補０
第２のインデックス１：アフィン候補１
第２のインデックス２：アフィン候補２
第２のインデックス３：アフィン候補３。
【０３３５】
ある場合において、復号によって取得される第１のインデックス値が１であるとき、それは、アフィンを用いることによって取得される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２の識別子の値を取得する。さらなる復号によって取得される第２の識別子の値が１であるとき、アフィン候補１の動き情報が、現在のブロックの動き情報として用いられる。
【０３３６】
他の場合において、復号によって取得される第１のインデックス値が０であるとき、それは、マージによって取得される動き情報が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第４のインデックスを取得する。さらなる復号によって取得される第４のインデックス値が２であるとき、マージ候補のリスト内の空間２の動き情報が、現在のブロックの動き情報として用いられる。
［実施形態１２］
【０３３７】
マージ候補空間において、リスト内の空間０から空間３はマージによって取得される動き情報あり、空間４は時間的に隣接する動き情報の候補のセットであり、空間５はサブブロックの動き情報によって構成される動き情報の候補のセットであり、空間６はアフィンによって取得される動き情報の候補のセットである。第１のインデックス０は、マージによって取得される動き情報が現在のブロックの基準動き情報として用いられることが想定される：第１のインデックス１は、アフィンによって取得される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示す。第１のインデックス０１は、時間的に隣接する動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示す。第１のインデックス１１は、サブブロックの動き情報によって構成される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示す。
【０３３８】
アフィン動き情報の候補のセットが４つのアフィン動き情報の候補を含むことが想定される：
第２の識別子０：アフィン候補０
第２の識別子１：アフィン候補１
第２の識別子２：アフィン候補２
第２の識別子３：アフィン候補３。
【０３３９】
時間的に隣接する動き情報の候補のセットが４つの時間的に隣接する動き情報の候補を含むことが想定される：
第２のインデックス０：時間的に隣接する候補０
第２のインデックス１：時間的に隣接する候補１
第２のインデックス２：時間的に隣接する候補２
第２のインデックス３：時間的に隣接する候補３。
【０３４０】
サブブロックの動き情報によって構成される動き情報の候補のセットがアフィン動き情報の候補、ＡＴＭＶＰ候補、及びＳＴＭＶＰ候補を含むことが想定される：
第２のインデックス０：アフィン候補
第２のインデックス１：ＡＴＭＶＰ候補
第２のインデックス２：ＳＴＭＶＰ候補。
【０３４１】
ある場合において、復号によって取得される第１のインデックス値が０であるとき、それは、マージによって取得される動き情報が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第４のインデックスを取得する。さらなる復号によって取得される第４のインデックス値が２であるとき、マージ候補のリスト内の空間２の動き情報が、現在のブロックの動き情報として用いられる。
【０３４２】
ある場合において、復号によって取得される第１のインデックス値が１であるとき、それは、アフィンを用いることによって取得される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２の識別子の値を取得する。さらなる復号によって取得される第２の識別子の値が１であるとき、アフィン候補１の動き情報が現在のブロックの動き情報として用いられる。
【０３４３】
ある場合において、復号によって取得される第１のインデックス値が０１であるとき、それは、時間的に隣接する動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２の識別子の値を取得する。さらなる復号によって取得される第２の識別子の値が２であるとき、時間的に隣接する候補２の動き情報が現在のブロックの動き情報として用いられる。
【０３４４】
ある場合において、復号によって取得される第１のインデックス値が１１であるとき、それは、サブブロックの動き情報によって構成される動き情報の候補のセット内の１つの候補が現在のブロックの基準動き情報として用いられることを示し、さらなる復号が実行されて第２のインデックス値を取得する。さらなる復号によって取得される第２のインデックス値が１であるとき、ＡＴＭＶＰ候補の動き情報が現在のブロックの動き情報として用いられる。
【０３４５】
本願の一実施形態は、動き情報を予測するための復号装置を提供する。装置は、ビデオ復号器、ビデオ符号器、又は復号器であり得る。特に、動き情報を予測するための復号装置は、前述の動き情報を予測するための復号方法において、復号装置によって実行される段階を実行するよう構成される。本願の本実施形態で提供される動き情報を予測するための復号装置は、対応する段階に対応するモジュールを備え得る。
【０３４６】
本願の複数の実施形態において、動き情報を予測するための復号装置は、前述の方法の例に基づいて、機能モジュールに分割され得る。例えば、各機能モジュールは、対応する機能に基づいて分割することによって取得されてもよく、２又はそれより多い機能が１つの処理モジュールに統合されてもよい。統合モジュールは、ハードウェアの形態で実装されてもよく、ソフトウェア機能モジュールの形態で実装されてもよい。本願の本実施形態において、モジュールに分割することは一例であり、単に論理的な機能分割に過ぎない。実際の実装において他の分割方法が存在し得る。
【０３４７】
各機能モジュールが対応する機能に基づいて分割することによって取得されるとき、図１７は、前述の複数の実施形態における動き情報を予測するための復号装置の可能な概略的な構造図である。図９に示されるように、動き情報を予測するための復号装置１７００は、解析モジュール１７０１、決定モジュール１７０２、及び割り当てモジュール１７０３を備え得る。特に、モジュールの機能は以下のとおりである。
【０３４８】
解析モジュール１７０１は、ビットストリームを解析して第１の識別子を取得するよう構成される。
【０３４９】
決定モジュール１７０２は、第１の識別子に基づいて、第１の候補のセットからターゲット要素を決定するよう構成される。ここで、第１の候補のセット内の要素は少なくとも１つの第１の候補の動き情報及び少なくとも１つの第２の候補のセットを含み、第２の候補のセット内の要素は複数の第２の候補の動き情報を含み、又は、第１の候補の動き情報は第１の動き情報を含み、第２の候補の動き情報は予め設定された動き情報オフセットを含む。
【０３５０】
割り当てモジュール１７０３は、ターゲット要素が第１の候補の動き情報であるとき、ターゲット動き情報として第１の候補の動き情報を用いるよう構成される。ここで、ターゲット動き情報が、処理されるべき画像ブロックの動き情報を予測するために用いられる。
【０３５１】
解析モジュール１７０１は、ターゲット要素が第２の候補のセットであるとき、ビットストリームを解析して第２の識別子を取得するようさらに構成され、決定モジュール１７０２は、第２の識別子に基づいて、複数の第２の候補の動き情報からターゲット動き情報を決定するようさらに構成される。代替的に、解析モジュール１７０１は、ターゲット要素が複数の第２の候補の動き情報に基づいて取得されるとき、ビットストリームを解析して第２の識別子を取得し、第２の識別子及び複数の第２の候補の動き情報のうちの１つに基づいて、ターゲット動き情報を決定するよう構成される。
【０３５２】
解析モジュール１７０１は、前述の複数の実施形態においてＳ１５０１、Ｓ１５０５、及び同類のものを実行するときに動き情報を予測するための復号装置１７００をサポートするよう構成され、及び／又は、本明細書で説明される技術の他の処理を実行するよう構成される。決定モジュール１７０２は、前述の複数の実施形態においてＳ１５０２、及び同類のものを実行するときに動き情報を予測するための復号装置１７００をサポートするよう構成され、及び／又は、本明細書で説明される技術の他の処理を実行するよう構成される。割り当てモジュール１７０３は、前述の複数の実施形態においてＳ１５０２、及び同類のものを実行するときに動き情報を予測するための復号装置１７００をサポートするよう構成され、及び／又は、本明細書で説明される技術の他の処理を実行するよう構成される。
【０３５３】
実行可能な実装において、決定モジュール１７０２によって決定されるターゲット要素が第２の候補のセットであるとき、又は、ターゲット要素が複数の第２の候補の動き情報に基づいて取得されるとき、解析モジュール１７０１は、ビットストリームを解析して第３の識別子を取得するようさらに構成される。ここで、第３の識別子は、予め設定された係数を含む。
【０３５４】
さらに、図１７に示されるように、動き情報を予測するための復号装置１７００は、複数の予め設定された動き情報オフセットに予め設定された係数を乗算して、複数の調整された動き情報オフセットを取得するよう構成される計算モジュールをさらに備え得る。それに対応して、決定モジュール１７０２は、第２の識別子に基づいて、複数の調整された動き情報オフセットからターゲットオフセットを決定するよう特に構成される。
【０３５５】
前述の方法の複数の実施形態において全ての関連した内容の段階が、対応する機能モジュールの機能説明で引用され得る。詳細が本明細書で再び説明されない。
【０３５６】
本願の特定の態様がビデオ符号器１００及びビデオ復号器２００を参照して説明されてきたが、本願の技術が多くの他のビデオ符号化、及び／又は復号ユニット、プロセッサ、処理ユニット、例えば、符号器／復号器のハードウェアベースの符号化ユニット（コーデック）、及び同類のものを用いることによって適用され得ることが理解されるべきである。さらに、図１７に示されて説明される段階が、単に実行可能な実装として提供されることが理解されるべきである。言い換えれば、図１７の実行可能な実装に示される段階は、必ずしも図１７に示される順序で実行される必要がなく、より少ない、追加の、又は代替的な段階が実行され得る。
【０３５７】
統合ユニットが用いられるとき、図１８は、本願の一実施形態による、動き情報を予測するための復号装置１８００の概略的な構造ブロック図である。特に、動き情報を予測するための復号装置１８００は、プロセッサ１８０１と、プロセッサに連結されているメモリ１８０２を備える。プロセッサ１８０１は、図１７に示される一実施形態及び様々な実現可能な実装を実行するよう構成される。
【０３５８】
処理モジュール１８０１は、プロセッサ又はコントローラであり得、例えば、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ，ＣＰＵ）、汎用プロセッサ、デジタル信号プロセッサ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ，ＤＳＰ）、ＡＳＩＣ、ＦＰＧＡ若しくは他のプログラム可能論理デバイス、トランジスタ論理デバイス、ハードウェア構成要素、又はそれらの任意の組み合わせであり得る。処理ユニット１２０２は、本願で開示される内容を参照して説明される様々な例示的な論理ブロック、モジュール、及び回路を実装又は実行し得る。プロセッサは、代替的に、計算機能を実装するプロセッサの組み合わせ、例えば、１又は複数のマイクロプロセッサの組み合わせ、又はＤＳＰ及びマイクロプロセッサの組み合わせ、であり得る。記憶モジュール１０２は、メモリであり得る。
【０３５９】
前述の方法の複数の実施形態におけるシナリオの全ての関連した内容が、対応する機能モジュールの機能説明で引用され得る。詳細が本明細書で再び説明されない。
【０３６０】
動き情報を予測するための復号装置１７００及び動き情報を予測するための復号装置１８００の両方が、図１５に示される動き情報を予測するための復号方法を実行し得る。動き情報を予測するための復号装置１７００及び動き情報を予測するための復号装置１８００は、特に、ビデオ符号化及び復号機能を有するビデオ復号器又は他のデバイスであり得る。動き情報を予測するための復号装置１７００及び動き情報を予測するための復号装置１８００は、復号処理において画像予測を実行するよう構成され得る。
【０３６１】
本願の一実施形態は、インター予測装置を提供する。インター予測装置は、ビデオ復号器、ビデオ符号器、又は復号器であり得る。特に、インター予測装置は、前述のインター予測方法においてインター予測装置によって実行される段階を実行するよう構成される。本願の本実施形態で提供されるインター予測装置は、対応する段階に対応するモジュールを備え得る。
【０３６２】
本願の複数の実施形態において、インター予測装置は、前述の方法例に基づいて、機能モジュールに分割され得る。例えば、各機能モジュールは、対応する機能に基づいて分割することによって取得されてもよく、２又はそれより多い機能が１つの処理モジュールに統合されてもよい。統合モジュールは、ハードウェアの形態で実装されてもよく、ソフトウェア機能モジュールの形態で実装されてもよい。本願の本実施形態において、モジュールに分割することは一例であり、単に論理的な機能分割に過ぎない。実際の実装において、他の分割方法が存在し得る。
【０３６３】
本願は、端末をさらに提供する。端末は、１又は複数のプロセッサ、メモリ、及び通信インタフェースを備える。メモリ及び通信インタフェースは、１又は複数のプロセッサに連結されている。メモリは、コンピュータプログラムコードを格納するよう構成される。コンピュータプログラムコードは、命令を含む。１又は複数のプロセッサが命令を実行するとき、端末は、本願の複数の実施形態において動き情報を予測するための復号方法を実行する。
【０３６４】
本明細書の端末は、ビデオディスプレイデバイス、スマートフォン、ポータブルコンピュータ、又はビデオを処理又は再生し得る他のデバイスであり得る。
【０３６５】
本願は、不揮発性記憶媒体及び中央処理装置を含むビデオ復号器をさらに提供する。不揮発性記憶媒体は、実行可能プログラムを格納する。中央処理装置が不揮発性記憶媒体に接続され、実行可能プログラムを実行し、本願の複数の実施形態において動き情報を予測するための復号方法を実行する。
【０３６６】
本願は、復号器をさらに提供する。復号器は、本願の複数の実施形態において動き情報を予測するための復号装置を備える。
【０３６７】
本願の他の実施形態は、コンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体は、１又は複数のプログラムコードを備える。１又は複数のプログラムは、命令を含む。端末のプロセッサがプログラムコードを実行するとき、端末は、図１５に示される動き情報を予測するための復号方法を実行する。
【０３６８】
本願の他の実施形態において、コンピュータプログラム製品がさらに提供される。コンピュータプログラム製品は、コンピュータ実行可能命令を備える。コンピュータ実行可能命令が、コンピュータ可読記憶媒体に格納される。端末の少なくとも１つのプロセッサは、コンピュータ可読記憶媒体からコンピュータ実行可能命令を読み取り得る。少なくとも１つのプロセッサは、コンピュータ実行可能命令を実行し、端末が図１５に示される動き情報を予測するための復号方法を実行することを可能にする。
【０３６９】
ソフトウェアを用いることによって実装され得る前述の複数の実施形態の全て又は幾つかは、ハードウェア、ファームウェア、又はそれらの任意の組み合わせであり得る。ソフトウェアプログラムが一実施形態を実装するために用いられるとき、一実施形態の全て又は幾つかは、コンピュータプログラム製品の形態で実装され得る。コンピュータプログラム製品は、１又は複数のコンピュータ命令を備える。コンピュータプログラム命令がコンピュータ上でロードされて実行されるとき、本願の複数の実施形態に従う手順又は機能が、全て又は部分的に生成される。
【０３７０】
コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラム可能な装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてもよく、１つのコンピュータ可読記憶媒体から他のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令が、有線（例えば、同軸ケーブル、光ファイバ、又はデジタル加入者線（ＤＳＬ））方式で又は無線（例えば、赤外線、電波、又はマイクロ波）方式で、１つのウェブサイト、コンピュータ、サーバ、又はデータセンタから他のウェブサイト、コンピュータ、サーバ、又はデータセンタに送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体であってもよく、１又は複数の使用可能な媒体を統合する、サーバ、又はデータセンタ等のデータ記憶デバイスであってもよい。使用可能な媒体は、磁気媒体（例えば、フロッピーディスク、ハードディスク、又は磁気テープ）、光学媒体（例えば、ＤＶＤ）、半導体媒体（例えば、ソリッドステートドライブＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ））、又は同様のものであり得る。
【０３７１】
さらに、実行可能な実装に依存して、本明細書で説明される任意の方法における特定の動作又はイベントが異なる順番で実行されもよく、動作又はイベントが追加されてもよく、動作又はイベントが結合又は省略されてもよい（例えば、全ての説明された動作又はイベントが方法を実装するために必要ではない）ことが理解されるべきである。さらに、特定の実行可能な実装において、動作又はイベントは、（例えば）マルチスレッド処理又は割り込み処理を受けてもよく、連続ではなく同時に複数のプロセッサによって処理され得る。さらに、明確性を目的として、本願の特定の態様は、単一モジュール又はユニットによって実行されているものとして説明されてきたが、本願の技術がビデオ復号器と関連しているユニット又はモジュールの組み合わせによって実行され得ることが理解されるべきである。
【０３７２】
１又は複数の実行可能な実装において、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせを用いることによって実装され得る。機能がソフトウェアを用いることによって実装される場合、機能が、１又は複数命令又はコードとしてコンピュータ可読媒体に格納されてもよく、コンピュータ可読媒体を通じて送信されてもよく、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、コンピュータ可読記憶媒体又は通信媒体を備え得る。コンピュータ可読記憶媒体は、データ記憶媒体等の有形の媒体に対応する。通信媒体は、通信プロトコルに従って、（例えば）１つの位置から他の位置にコンピュータプログラムの送信を促進する任意の媒体を備える。
【０３７３】
このように、コンピュータ可読媒体は、例えば、（１）非一時的な有形のコンピュータ可読記憶媒体、又は（２）信号又はキャリア等の通信媒体に対応し得る。データ記憶媒体は、本願で説明された技術を実装するための命令、コード、及び／又はデータ構造を読み出すために１又は複数のコンピュータ又は１又は複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を備え得る。
【０３７４】
制限ではなく実行可能な実装として、コンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他の光学ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶装置、フラッシュメモリ、又は、命令若しくはデータ構造の形態で必要なコードを格納するために用いられ得、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。同様に、任意の接続が、適切にコンピュータ可読媒体と称され得る。例えば、命令が、同軸ケーブル、光ファイバ、ツイストペア、デジタル加入者線（ＤＳＬ）、又は赤外線、電波、及びマイクロ波等の無線技術を通じて、ウェブサイト、サーバ、他のリモート発信元から送信される場合、同軸ケーブル、光ファイバ、ツイストペア、ＤＳＬ、又は赤外線、電波及びマイクロ波等の無線技術が、媒体の定義に含まれる。
【０３７５】
しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体が接続、キャリア、信号、又は他の一時的な媒体を備えていなくてもよいが、代替的に非一時的な有形の記憶媒体を意味することが理解されるべきである。本明細書で説明された磁気ディスク及び光ディスクは、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピーディスク、及びブルーレイディスクを含む。磁気ディスクは、通常、データを磁気的に再生し、光ディスクは、レーザを通じてデータを光学的に再生する。前述の磁気ディスク及び光ディスクの組み合わせはまた、コンピュータ可読媒体の範囲に含まれるべきである。
【０３７６】
命令は、１又は複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は他の同等の統合回路若しくはディスクリートロジック回路等の１又は複数のプロセッサによって実行され得る。したがって、本明細書で用いられる用語「プロセッサ（ｐｒｏｃｅｓｓｏｒ）」は、前述の構造又は本明細書で説明される技術を実装するために用いられる他の構造のうちのいずれか１つであり得る。さらに、幾つかの態様において、本明細書で説明された機能が、符号化及び復号するために構成された専用ハードウェア及び／又はソフトウェアモジュールで提供されてもよく、結合されたコーデックに組み込まれてもよい。同様に、技術は、１又は複数の回路又は論理要素に全て実装され得る。
【０３７７】
本願における技術は、無線モバイル電話、統合回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む様々な装置又はデバイスに実装され得る。様々な構成要素、モジュール、又はユニットが本願で説明され、開示された技術を実行するよう構成される装置の機能態様を強調するが、異なるハードウェアユニットによって必ずしも実装されない。より具体的には、上述のように、様々なユニットが、コーデックハードウェアユニットに結合されてよく、適切なソフトウェア及び／又はファームウェアと共に（上述のように１又は複数のプロセッサを含む）相互利用可能なハードウェアユニットのセットによって提供されてもよい。
【０３７８】
前述の説明は、単に本願の特定の実装例に過ぎないが、本願の保護範囲を限定することを意図しない。本願で開示される技術的範囲内で当業者によって容易に考え出される任意の変形又は置換は、本願の保護範囲に含まれるべきである。したがって、本願の保護範囲は、特許請求の範囲の保護範囲の対象であるべきである。
【図１】
2022500910.tif 000004
【図２】
2022500910.tif 000005
【図３】
2022500910.tif 000006
【図４】
2022500910.tif 000007
【図５】
2022500910.tif 000008
【図６】
2022500910.tif 000009
【図７】
2022500910.tif 000010
【図８】
2022500910.tif 000011
【図９】
2022500910.tif 000012
【図１０】
2022500910.tif 000013
【図１１】
2022500910.tif 000014
【図１２】
2022500910.tif 000015
【図１３】
2022500910.tif 000016
【図１４Ａ】
2022500910.tif 000017
【図１４Ｂ】
2022500910.tif 000018
【図１５】
2022500910.tif 000019
【図１６Ａ】
2022500910.tif 000020
【図１６Ｂ】
2022500910.tif 000021
【図１６Ｃ】
2022500910.tif 000022
【図１７】
2022500910.tif 000023
【図１８】
2022500910.tif 000024
【国際調査報告】
2022500910.tif 000025
2022500910.tif 000026
2022500910.tif 000027
2022500910.tif 000028